diff --git a/Bugzilla.pm b/Bugzilla.pm
index 7e7d50004f88a99b13481ad85cb449f4a2486a02..5cee520c7f2987d083207babb1bdbb8020a3703e 100644
--- a/Bugzilla.pm
+++ b/Bugzilla.pm
@@ -83,33 +83,53 @@ sub login {
         # so it needs to be set.
         $::COOKIE{'Bugzilla_login'} = $_user->login;
     } else {
-        # Old compat stuff
-
-        undef $_user;
-        $::userid = 0;
-        delete $::COOKIE{'Bugzilla_login'};
-        delete $::COOKIE{'Bugzilla_logincookie'};
-        # NB - Can't delete from $cgi->cookie, so the cookie data will
-        # remain there
-        # People shouldn't rely on the cookie param for the username
-        # - use Bugzilla->user instead!
+        logout_request();
     }
 
     return $_user;
 }
 
 sub logout {
+    my ($class, $option) = @_;
+    if (! $_user) {
+        # If we're not logged in, go away
+        return;
+    }
+    $option = LOGOUT_CURRENT unless defined $option;
+
+    use Bugzilla::Auth::CGI;
+    Bugzilla::Auth::CGI->logout($_user, $option);
+    if ($option != LOGOUT_KEEP_CURRENT) {
+        Bugzilla::Auth::CGI->clear_browser_cookies();
+        logout_request();
+    }
+}
+
+sub logout_user {
+    my ($class, $user) = @_;
+    # When we're logging out another user we leave cookies alone, and
+    # therefore avoid calling logout() directly.
     use Bugzilla::Auth::CGI;
-    # remove cookies and clean up database state
-    Bugzilla::Auth::CGI->logout();
-    logout_request();
+    Bugzilla::Auth::CGI->logout($user, LOGOUT_ALL);
 }
 
+# just a compatibility front-end to logout_user that gets a user by id
+sub logout_user_by_id {
+    my ($class, $id) = @_;
+    my $user = new Bugzilla::User($id);
+    $class->logout_user($user);
+}
+
+# hack that invalidates credentials for a single request
 sub logout_request {
     undef $_user;
     $::userid = 0;
+    # XXX clean these up eventually
     delete $::COOKIE{"Bugzilla_login"};
-    delete $::COOKIE{"Bugzilla_logincookie"};
+    # NB - Can't delete from $cgi->cookie, so the logincookie data will
+    # remain there; it's only used in Bugzilla::Auth::CGI->logout anyway
+    # People shouldn't rely on the cookie param for the username
+    # - use Bugzilla->user instead!
 }
 
 my $_dbh;
@@ -264,7 +284,7 @@ method for those scripts/templates which are only use via CGI, though.
 
 =item C<user>
 
-The current L<Bugzilla::User>. C<undef> if there is no currently logged in user
+The current C<Bugzilla::User>. C<undef> if there is no currently logged in user
 or if the login code has not yet been run.
 
 =item C<login>
@@ -273,15 +293,29 @@ Logs in a user, returning a C<Bugzilla::User> object, or C<undef> if there is
 no logged in user. See L<Bugzilla::Auth|Bugzilla::Auth> and
 L<Bugzilla::User|Bugzilla::User>.
 
-=item C<logout>
+=item C<logout($option)>
+
+Logs out the current user, which involves invalidating user sessions and
+cookies. Three options are available from
+L<Bugzilla::Constants|Bugzilla::Constants>: LOGOUT_CURRENT (the
+default), LOGOUT_ALL or LOGOUT_KEEP_CURRENT.
+
+=item C<logout_user($user)>
+
+Logs out the specified user (invalidating all his sessions), taking a
+Bugzilla::User instance.
+
+=item C<logout_by_id($id)>
 
-Logs out the current user.
+Logs out the user with the id specified. This is a compatibility
+function to be used in callsites where there is only a userid and no
+Bugzilla::User instance.
 
 =item C<logout_request>
 
-Essentially, causes calls to C<user> to return C<undef>. This has the
+Essentially, causes calls to C<Bugzilla->user> to return C<undef>. This has the
 effect of logging out a user for the current request only; cookies and
-database state are left intact. 
+database sessions are left intact. 
 
 =item C<dbh>
 
diff --git a/Attachment.pm b/Bugzilla/Attachment.pm
similarity index 97%
rename from Attachment.pm
rename to Bugzilla/Attachment.pm
index 84979d3eaf82470770a4ff566820ec72455bd0aa..e7b3ffe86e52885f84d758aaf28f00944e133c14 100644
--- a/Attachment.pm
+++ b/Bugzilla/Attachment.pm
@@ -26,7 +26,7 @@
 
 use strict;
 
-package Attachment;
+package Bugzilla::Attachment;
 
 # This module requires that its caller have said "require CGI.pl" to import
 # relevant functions from that script and its companion globals.pl.
@@ -90,7 +90,8 @@ sub query
      $a{'datasize'}) = &::FetchSQLData();
 
     # Retrieve a list of flags for this attachment.
-    $a{'flags'} = Bugzilla::Flag::match({ 'attach_id' => $a{'attachid'} });
+    $a{'flags'} = Bugzilla::Flag::match({ 'attach_id' => $a{'attachid'},
+                                          'is_active' => 1 });
     
     # We will display the edit link if the user can edit the attachment;
     # ie the are the submitter, or they have canedit.
diff --git a/Bugzilla/Auth.pm b/Bugzilla/Auth.pm
index 21d4409604a64bada0c03171d4db824fe52fa809..dcea8189a087ad4c47b7fe52f274e4ce21b37a8d 100644
--- a/Bugzilla/Auth.pm
+++ b/Bugzilla/Auth.pm
@@ -73,15 +73,18 @@ Bugzilla::Auth - Authentication handling for Bugzilla users
 
 Handles authentication for Bugzilla users.
 
-Authentication from Bugzilla involves two sets of modules. One set is used to
-obtain the data (from CGI, email, etc), and the other set uses this data to
-authenticate against the datasource (the Bugzilla DB, LDAP, cookies, etc).
+Authentication from Bugzilla involves two sets of modules. One set is
+used to obtain the data (from CGI, email, etc), and the other set uses
+this data to authenticate against the datasource (the Bugzilla DB, LDAP,
+cookies, etc).
 
-The handlers for the various types of authentication (DB/LDAP/cookies/etc)
-provide the actual code for each specific method of authentication.
+The handlers for the various types of authentication
+(DB/LDAP/cookies/etc) provide the actual code for each specific method
+of authentication.
 
-The source modules (currently, only L<Bugzilla::Auth::CGI|Bugzilla::Auth::CGI>
-then use those methods to do the authentication.
+The source modules (currently, only
+L<Bugzilla::Auth::CGI|Bugzilla::Auth::CGI>) then use those methods to do
+the authentication.
 
 I<Bugzilla::Auth> itself inherits from the default authentication handler,
 identified by the I<loginmethod> param.
@@ -96,16 +99,16 @@ authentication or login modules.
 =item C<Bugzilla::Auth::get_netaddr($ipaddr)>
 
 Given an ip address, this returns the associated network address, using
-C<Param('loginnetmask')> at the netmask. This can be used to obtain data in
-order to restrict weak authentication methods (such as cookies) to only some
-addresses.
+C<Param('loginnetmask')> as the netmask. This can be used to obtain data
+in order to restrict weak authentication methods (such as cookies) to
+only some addresses.
 
 =back
 
 =head1 AUTHENTICATION
 
-Authentication modules check a users's credentials (username, password, etc) to
-verify who the user is.
+Authentication modules check a user's credentials (username, password,
+etc) to verify who the user is.
 
 =head2 METHODS
 
@@ -113,19 +116,21 @@ verify who the user is.
 
 =item C<authenticate($username, $pass)>
 
-This method is passed a username and a password, and returns a list containing
-up to four return values, depending on the results of the authentication.
+This method is passed a username and a password, and returns a list
+containing up to four return values, depending on the results of the
+authentication.
 
 The first return value is one of the status codes defined in
-L<Bugzilla::Constants|Bugzilla::Constants> and described below.  The rest of
-the return values are status code-specific and are explained in the status
-code descriptions.
+L<Bugzilla::Constants|Bugzilla::Constants> and described below.  The
+rest of the return values are status code-specific and are explained in
+the status code descriptions.
 
 =over 4
 
 =item C<AUTH_OK>
 
-Authentication succeeded. The second variable is the userid of the new user.
+Authentication succeeded. The second variable is the userid of the new
+user.
 
 =item C<AUTH_NODATA>
 
@@ -162,41 +167,52 @@ information.
 
 =item C<AUTH_DISABLED>
 
-The user successfully logged in, but their account has been disabled. The
-second argument in the returned array is the userid, and the third is some
-text explaining why the account was disabled. This text would typically come
-from the C<disabledtext> field in the C<profiles> table. Note that this 
-argument is a string, not a tag.
+The user successfully logged in, but their account has been disabled.
+The second argument in the returned array is the userid, and the third
+is some text explaining why the account was disabled. This text would
+typically come from the C<disabledtext> field in the C<profiles> table.
+Note that this argument is a string, not a tag.
 
 =back
 
 =item C<can_edit>
 
 This determines if the user's account details can be modified. If this
-method returns a C<true> value, then accounts can be created and modified
-through the Bugzilla user interface. Forgotten passwords can also be
-retrieved through the L<Token interface|Token>.
+method returns a C<true> value, then accounts can be created and
+modified through the Bugzilla user interface. Forgotten passwords can
+also be retrieved through the L<Token interface|Bugzilla::Token>.
 
 =back
 
 =head1 LOGINS
 
-A login module can be used to try to log in a Bugzilla user in a particular
-way. For example, L<Bugzilla::Auth::CGI|Bugzilla::Auth::CGI> logs in users
-from CGI scripts, first by trying database authentication against the
-Bugzilla C<profiles> table, and then by trying cookies as a fallback.
+A login module can be used to try to log in a Bugzilla user in a
+particular way. For example, L<Bugzilla::Auth::CGI|Bugzilla::Auth::CGI>
+logs in users from CGI scripts, first by using form variables, and then
+by trying cookies as a fallback.
 
-A login module consists of a single method, C<login>, which takes a C<$type>
-argument, using constants found in C<Bugzilla::Constants>.
+The login interface consists of the following methods:
+
+=item C<login>, which takes a C<$type> argument, using constants found in
+C<Bugzilla::Constants>.
+
+The login method may use various authentication modules (described
+above) to try to authenticate a user, and should return the userid on
+success, or C<undef> on failure.
+
+When a login is required, but data is not present, it is the job of the
+login method to prompt the user for this data.
+
+The constants accepted by C<login> include the following:
 
 =over 4
 
 =item C<LOGIN_OPTIONAL>
 
-A login is never required to access this data. Attempting to login is still 
-useful, because this allows the page to be personalised. Note that an 
-incorrect login will still trigger an error, even though the lack of a login 
-will be OK.
+A login is never required to access this data. Attempting to login is
+still useful, because this allows the page to be personalised. Note that
+an incorrect login will still trigger an error, even though the lack of
+a login will be OK.
 
 =item C<LOGIN_NORMAL>
 
@@ -209,12 +225,30 @@ A login is always required to access this data.
 
 =back
 
-The login module uses various authentication modules to try to authenticate
-a user, and returns the userid on success, or C<undef> on failure.
+=item C<logout>, which takes a C<Bugzilla::User> argument for the user
+being logged out, and an C<$option> argument. Possible values for
+C<$option> include:
+
+=over 4
+
+=item C<LOGOUT_CURRENT>
 
-When a login is required, but data is not present, it is the job of the login
-module to prompt the user for this data.
+Log out the user and invalidate his currently registered session.
+
+=item C<LOGOUT_ALL>
+
+Log out the user, and invalidate all sessions the user has registered in
+Bugzilla.
+
+=item C<LOGOUT_KEEP_CURRENT>
+
+Invalidate all sessions the user has registered excluding his current
+session; this option should leave the user logged in. This is useful for
+user-performed password changes.
+
+=back
 
 =head1 SEE ALSO
 
 L<Bugzilla::Auth::CGI>, L<Bugzilla::Auth::Cookie>, L<Bugzilla::Auth::DB>
+
diff --git a/Bugzilla/Auth/CGI.pm b/Bugzilla/Auth/CGI.pm
index c453f2dcd3b3d5e0d7bd0c1acb9ec496ff3b559d..0a1a331f1942a83ea6bb8795ffae99aa907315d2 100644
--- a/Bugzilla/Auth/CGI.pm
+++ b/Bugzilla/Auth/CGI.pm
@@ -92,10 +92,6 @@ sub login {
                               -value => $logincookie);
 
         }
-
-        # compat code. The cookie value is used for logouts, and that
-        # isn't generic yet.
-        $::COOKIE{'Bugzilla_logincookie'} = $logincookie;
     }
     elsif ($authres == AUTH_NODATA) {
         # No data from the form, so try to login via cookies
@@ -171,46 +167,59 @@ sub login {
 
     # The account may be disabled
     if ($authres == AUTH_DISABLED) {
-        # Clear the cookie
-
-        $cgi->send_cookie(-name => 'Bugzilla_login',
-                          -expires => "Tue, 15-Sep-1998 21:49:00 GMT");
-        $cgi->send_cookie(-name => 'Bugzilla_logincookie',
-                          -expires => "Tue, 15-Sep-1998 21:49:00 GMT");
-
+        clear_browser_cookies();
         # and throw a user error
         ThrowUserError("account_disabled",
                        {'disabled_reason' => $extra});
     }
 
     # If we get here, then we've run out of options, which shouldn't happen
-    ThrowCodeError("authres_unhandled",
-                   { authres => $authres,
-                     type => $type,
-                   }
-                  );
-
+    ThrowCodeError("authres_unhandled", { authres => $authres, 
+                                          type => $type, });
 }
 
+# Logs user out, according to the option provided; this consists of
+# removing entries from logincookies for the specified $user.
 sub logout {
-    my ($class, $user) = @_;
-
-    if ($user) {
-        # Even though we know the userid must match, we still check it in the
-        # SQL as a sanity check, since there is no locking here, and if
-        # the user logged out from two machines simulataniously, while someone
-        # else logged in and got the same cookie, we could be logging the
-        # other user out here. Yes, this is very very very unlikely, but why
-        # take chances? - bbaetz
-        my $dbh = Bugzilla->dbh;
-        $dbh->do("DELETE FROM logincookies WHERE cookie = ? AND userid = ?",
-                 undef, $::COOKIE{"Bugzilla_logincookie"}, $user->id);
+    my ($class, $user, $option) = @_;
+    my $dbh = Bugzilla->dbh;
+    $option = LOGOUT_ALL unless defined $option;
+
+    if ($option == LOGOUT_ALL) {
+            $dbh->do("DELETE FROM logincookies WHERE userid = ?",
+                     undef, $user->id);
+            return;
     }
 
+    # The LOGOUT_*_CURRENT options require a cookie 
+    my $cookie = Bugzilla->cgi->cookie("Bugzilla_logincookie");
+    detaint_natural($cookie);
+
+    # These queries use both the cookie ID and the user ID as keys. Even
+    # though we know the userid must match, we still check it in the SQL
+    # as a sanity check, since there is no locking here, and if the user
+    # logged out from two machines simultaneously, while someone else
+    # logged in and got the same cookie, we could be logging the other
+    # user out here. Yes, this is very very very unlikely, but why take
+    # chances? - bbaetz
+    if ($option == LOGOUT_KEEP_CURRENT) {
+        $dbh->do("DELETE FROM logincookies WHERE cookie != ? AND userid = ?",
+                 undef, $cookie, $user->id);
+    } elsif ($option == LOGOUT_CURRENT) {
+        $dbh->do("DELETE FROM logincookies WHERE cookie = ? AND userid = ?",
+                 undef, $cookie, $user->id);
+    } else {
+        die("Invalid option $option supplied to logout()");
+  }
+}
+
+sub clear_browser_cookies {
     my $cgi = Bugzilla->cgi;
     $cgi->send_cookie(-name => "Bugzilla_login",
+                      -value => "",
                       -expires => "Tue, 15-Sep-1998 21:49:00 GMT");
     $cgi->send_cookie(-name => "Bugzilla_logincookie",
+                      -value => "",
                       -expires => "Tue, 15-Sep-1998 21:49:00 GMT");
 }
 
@@ -235,9 +244,6 @@ using the CGI parameters I<Bugzilla_login> and I<Bugzilla_password>.
 If no data is present for that, then cookies are tried, using
 L<Bugzilla::Auth::Cookie>.
 
-When a logout is performed, we take care of removing the relevant
-logincookie database entry and effectively deleting the client cookie.
-
 =head1 SEE ALSO
 
 L<Bugzilla::Auth>
diff --git a/Bugzilla/Auth/CVS/Entries b/Bugzilla/Auth/CVS/Entries
index a75e8a752119cf570890f33f0c5b4c765dd8d0d3..4c93856b78052832eaa0672d2f658b2176359683 100644
--- a/Bugzilla/Auth/CVS/Entries
+++ b/Bugzilla/Auth/CVS/Entries
@@ -1,5 +1,5 @@
-/CGI.pm/1.6/Fri Jan 16 22:46:31 2004//TBUGZILLA-2_17_7
-/Cookie.pm/1.1/Sat Mar 22 04:47:18 2003//TBUGZILLA-2_17_7
-/DB.pm/1.4/Sun Dec  7 02:11:00 2003//TBUGZILLA-2_17_7
-/LDAP.pm/1.4/Mon Jul 14 13:35:12 2003//TBUGZILLA-2_17_7
+/CGI.pm/1.7.2.1/Wed Oct 20 20:58:59 2004//TBUGZILLA-2_18
+/Cookie.pm/1.2/Sat Mar 27 01:31:00 2004//TBUGZILLA-2_18
+/DB.pm/1.5/Thu Mar 18 09:01:35 2004//TBUGZILLA-2_18
+/LDAP.pm/1.4/Mon Jul 14 13:35:12 2003//TBUGZILLA-2_18
 D
diff --git a/Bugzilla/Auth/CVS/Tag b/Bugzilla/Auth/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/Bugzilla/Auth/CVS/Tag
+++ b/Bugzilla/Auth/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/Bugzilla/Auth/Cookie.pm b/Bugzilla/Auth/Cookie.pm
index 7dd2967fb7a95bea3d841f343edfff03f04c79a9..b50acbe242f68668d8b9d16246b90ba8e93655e4 100644
--- a/Bugzilla/Auth/Cookie.pm
+++ b/Bugzilla/Auth/Cookie.pm
@@ -80,10 +80,6 @@ sub authenticate {
                  undef,
                  $login_cookie);
 
-        # compat code. The cookie value is used for logouts, and that
-        # isn't generic yet. Detaint it so that its usable
-        detaint_natural($::COOKIE{'Bugzilla_logincookie'});
-
         return (AUTH_OK, $userid);
     }
 
diff --git a/Bugzilla/Auth/DB.pm b/Bugzilla/Auth/DB.pm
index 34ec9983c65aab7eb2de4ec77ea251fd0b526646..dee3b5db9b173316b2f806d0756b3cfdbe052027 100644
--- a/Bugzilla/Auth/DB.pm
+++ b/Bugzilla/Auth/DB.pm
@@ -50,8 +50,8 @@ sub authenticate {
 
     # The user's credentials are okay, so delete any outstanding
     # password tokens they may have generated.
-    require Token;
-    Token::DeletePasswordTokens($userid, "user_logged_in");
+    require Bugzilla::Token;
+    Bugzilla::Token::DeletePasswordTokens($userid, "user_logged_in");
 
     # Account may have been disabled
     my $disabledtext = $class->get_disabled($userid);
diff --git a/Bug.pm b/Bugzilla/Bug.pm
similarity index 92%
rename from Bug.pm
rename to Bugzilla/Bug.pm
index 94bd628e2498d4f8b124724e594fc6c43925742b..919c726de4c1d8c5290356a0bd2af44b7b7b3e0a 100755
--- a/Bug.pm
+++ b/Bugzilla/Bug.pm
@@ -20,12 +20,14 @@
 # Contributor(s): Dawn Endico    <endico@mozilla.org>
 #                 Terry Weissman <terry@mozilla.org>
 #                 Chris Yeh      <cyeh@bluemartini.com>
+#                 Bradley Baetz  <bbaetz@acm.org>
+#                 Dave Miller    <justdave@bugzilla.org>
 
-package Bug;
+package Bugzilla::Bug;
 
 use strict;
 
-use RelationSet;
+use Bugzilla::RelationSet;
 use vars qw($unconfirmedstate $legal_keywords @legal_platform
             @legal_priority @legal_severity @legal_opsys @legal_bugs_status
             @settable_resolution %components %versions %target_milestone
@@ -33,7 +35,7 @@ use vars qw($unconfirmedstate $legal_keywords @legal_platform
 
 use CGI::Carp qw(fatalsToBrowser);
 
-use Attachment;
+use Bugzilla::Attachment;
 use Bugzilla::Config;
 use Bugzilla::Constants;
 use Bugzilla::Flag;
@@ -111,7 +113,7 @@ sub initBug  {
   my $old_bug_id = $bug_id;
 
   # If the bug ID isn't numeric, it might be an alias, so try to convert it.
-  $bug_id = &::BugAliasToID($bug_id) if $bug_id !~ /^[1-9][0-9]*$/;
+  $bug_id = &::BugAliasToID($bug_id) if $bug_id !~ /^0*[1-9][0-9]*$/;
 
   if ((! defined $bug_id) || (!$bug_id) || (!detaint_natural($bug_id))) {
       # no bug number given or the alias didn't match a bug
@@ -190,7 +192,7 @@ sub initBug  {
       $self->{'qa_contact'} = undef;
   }
 
-  my $ccSet = new RelationSet;
+  my $ccSet = new Bugzilla::RelationSet;
   $ccSet->mergeFromDB("select who from cc where bug_id=$bug_id");
   my @cc = $ccSet->toArrayOfStrings();
   if (@cc) {
@@ -212,7 +214,7 @@ sub initBug  {
     }
   }
 
-  $self->{'attachments'} = Attachment::query($self->{bug_id});
+  $self->{'attachments'} = Bugzilla::Attachment::query($self->{bug_id});
 
   # The types of flags that can be set on this bug.
   # If none, no UI for setting flags will be displayed.
@@ -224,7 +226,8 @@ sub initBug  {
       $flag_type->{'flags'} = 
         Bugzilla::Flag::match({ 'bug_id'      => $self->{bug_id},
                                 'type_id'     => $flag_type->{'id'},
-                                'target_type' => 'bug' });
+                                'target_type' => 'bug',
+                                'is_active'   => 1 });
   }
   $self->{'flag_types'} = $flag_types;
   $self->{'any_flags_requesteeble'} = grep($_->{'is_requesteeble'}, @$flag_types);
@@ -236,11 +239,11 @@ sub initBug  {
   my $num_attachment_flag_types =
     Bugzilla::FlagType::count({ 'target_type'  => 'attachment',
                                 'product_id'   => $self->{'product_id'},
-                                'component_id' => $self->{'component_id'},
-                                'is_active'    => 1 });
+                                'component_id' => $self->{'component_id'} });
   my $num_attachment_flags =
     Bugzilla::Flag::count({ 'target_type'  => 'attachment',
-                            'bug_id'       => $self->{bug_id} });
+                            'bug_id'       => $self->{bug_id},
+                            'is_active'    => 1 });
 
   $self->{'show_attachment_flags'}
     = $num_attachment_flag_types || $num_attachment_flags;
@@ -285,12 +288,14 @@ sub actual_time {
 
     return $self->{'actual_time'} if exists $self->{'actual_time'};
 
-    if (&::UserInGroup(Param("timetrackinggroup"))) {
-        &::SendSQL("SELECT SUM(work_time)
-               FROM longdescs WHERE longdescs.bug_id=$self->{bug_id}");
-        $self->{'actual_time'} = &::FetchSQLData();
-    }
+    return undef unless (Bugzilla->user && 
+                         Bugzilla->user->in_group(Param("timetrackinggroup")));
 
+    my $sth = Bugzilla->dbh->prepare("SELECT SUM(work_time)
+                                      FROM longdescs 
+                                      WHERE longdescs.bug_id=?");
+    $sth->execute($self->{bug_id});
+    $self->{'actual_time'} = $sth->fetchrow_array();
     return $self->{'actual_time'};
 }
 
@@ -340,11 +345,11 @@ sub groups {
              " LEFT JOIN user_group_map" .
              " ON user_group_map.group_id = groups.id" .
              " AND user_id = $::userid" .
-             " AND NOT isbless" .
+             " AND isbless = 0" .
              " LEFT JOIN group_control_map" .
              " ON group_control_map.group_id = groups.id" .
              " AND group_control_map.product_id = " . $self->{'product_id'} .
-             " WHERE isbuggroup");
+             " WHERE isbuggroup = 1");
 
     while (&::MoreSQLData()) {
         my ($groupid, $name, $description, $ison, $ingroup, $isactive,
@@ -486,6 +491,13 @@ sub EmitDependList {
   return @list;
 }
 
+sub ValidateTime {
+  my ($time, $field) = @_;
+  if ($time > 99999.99 || $time < 0 || !($time =~ /^(?:\d+(?:\.\d*)?|\.\d+)$/)) {
+    &::ThrowUserError("need_positive_number", {field => "$field"}, "abort");
+  }
+}
+
 sub AUTOLOAD {
   use vars qw($AUTOLOAD);
   my $attr = $AUTOLOAD;
diff --git a/Bugzilla/BugMail.pm b/Bugzilla/BugMail.pm
index 059667a08b0d4f13a28e15fe160b95c766c7fe5b..0ac3728bd879a57016360c2615cb187b2ee0a005 100644
--- a/Bugzilla/BugMail.pm
+++ b/Bugzilla/BugMail.pm
@@ -30,7 +30,7 @@ use strict;
 
 package Bugzilla::BugMail;
 
-use RelationSet;
+use Bugzilla::RelationSet;
 
 use Bugzilla::Config qw(:DEFAULT $datadir);
 use Bugzilla::Util;
@@ -166,7 +166,7 @@ sub ProcessOneBug($) {
     trick_taint($start);
     trick_taint($end);
 
-    my $ccSet = new RelationSet();
+    my $ccSet = new Bugzilla::RelationSet();
     $ccSet->mergeFromDB("SELECT who FROM cc WHERE bug_id = $id");
     $values{'cc'} = $ccSet->toString();
     
@@ -221,12 +221,11 @@ sub ProcessOneBug($) {
 
     my $difftext = "";
     my $diffheader = "";
-    my $diffpart = {};
     my @diffparts;
     my $lastwho = "";
     foreach my $ref (@diffs) {
         my ($who, $what, $when, $old, $new, $attachid, $fieldname) = (@$ref);
-        $diffpart = {};
+        my $diffpart = {};
         if ($who ne $lastwho) {
             $lastwho = $who;
             $diffheader = "\n$who" . Param('emailsuffix') . " changed:\n\n";
@@ -239,6 +238,11 @@ sub ProcessOneBug($) {
             $old = FormatTimeUnit($old);
             $new = FormatTimeUnit($new);
         }
+        if ($attachid) {
+            SendSQL("SELECT isprivate FROM attachments 
+                     WHERE attach_id = $attachid");
+            $diffpart->{'isprivate'} = FetchOneColumn();
+        }
         $difftext = FormatTriple($what, $old, $new);
         $diffpart->{'header'} = $diffheader;
         $diffpart->{'fieldname'} = $fieldname;
@@ -249,8 +253,6 @@ sub ProcessOneBug($) {
 
     my $deptext = "";
 
-    my $resid = 
-
     SendSQL("SELECT bugs_activity.bug_id, bugs.short_desc, fielddefs.name, " .
             "       removed, added " .
             "FROM bugs_activity, bugs, dependencies, fielddefs ".
@@ -301,8 +303,8 @@ sub ProcessOneBug($) {
     $deptext = trim($deptext);
 
     if ($deptext) {
-        #$difftext = trim($difftext . "\n\n" . $deptext);
-        $diffpart->{'text'} = trim("\n\n" . $deptext);
+        my $diffpart = {};
+        $diffpart->{'text'} = "\n" . trim("\n\n" . $deptext);
         push(@diffparts, $diffpart);
     }
 
@@ -613,15 +615,6 @@ sub filterEmailGroup ($$$) {
         SendSQL("SELECT emailflags FROM profiles WHERE userid = $userid");
         my $prefs = FetchOneColumn();
         
-        # If the user's preferences are empty, it means the user has not set
-        # their mail preferences after the installation upgraded from a
-        # version of Bugzilla without email preferences to one with them. In
-        # this case, assume they want to receive all mail.
-        if (!defined($prefs) || $prefs !~ /email/) {
-            push(@recipients, $user);
-            next;
-        }
-        
         # Write the user's preferences into a Perl record indexed by 
         # preference name.  We pass the value "255" to the split function 
         # because otherwise split will trim trailing null fields, causing 
@@ -663,10 +656,7 @@ sub filterEmailGroup ($$$) {
         }
         
         # If the user prefers to be included in mail about this change,
-        # or they haven't specified a preference for it (because they
-        # haven't visited the email preferences page since the preference
-        # was added, in which case we include them by default), add them
-        # to the list of recipients.
+        # add them to the list of recipients.
         foreach my $reason (@$reasons) {
             my $pref = "email$role$reason";
             if (!exists($prefs{$pref}) || $prefs{$pref} eq 'on') {
@@ -708,6 +698,9 @@ sub NewProcessOnePerson ($$$$$$$$$$$$$) {
     # This routine should really get passed a userid
     # This rederives groups as a side effect
     my $user = Bugzilla::User->new_from_login($person);
+    if (!$user) { # person doesn't exist, probably changed email
+      return;
+    }
     my $userid = $user->id;
 
     $seen{$person} = 1;
@@ -772,6 +765,11 @@ sub NewProcessOnePerson ($$$$$$$$$$$$$) {
             if ($user->groups->{Param("timetrackinggroup")}) {
                 $add_diff = 1;
             }
+        } elsif (($diff->{'isprivate'}) 
+                 && Param('insidergroup')
+                 && !($user->groups->{Param('insidergroup')})
+                ) {
+            $add_diff = 0;
         } else {
             $add_diff = 1;
         }
@@ -852,20 +850,29 @@ sub NewProcessOnePerson ($$$$$$$$$$$$$) {
     
     my $msg = PerformSubsts($template, \%substs);
 
-    my $sendmailparam = "-ODeliveryMode=deferred";
-    if (Param("sendmailnow")) {
-       $sendmailparam = "";
+    MessageToMTA($msg);
+
+    push(@sentlist, $person);
+    return 1;
+}
+
+# XXX: Should eventually add $mail_from and $mail_to options to 
+# control the SMTP Envelope. -mkanat
+sub MessageToMTA ($) {
+   my ($msg) = (@_);
+
+    my $sendmailparam = "";
+    unless (Param("sendmailnow")) {
+       $sendmailparam = "-ODeliveryMode=deferred";
     }
 
     if ($enableSendMail == 1) {
         open(SENDMAIL, "|/usr/lib/sendmail $sendmailparam -t -i") ||
           die "Can't open sendmail";
-    
+
         print SENDMAIL trim($msg) . "\n";
         close SENDMAIL;
     }
-    push(@sentlist, $person);
-    return 1;
 }
 
 1;
diff --git a/Bugzilla/CGI.pm b/Bugzilla/CGI.pm
index 40c160b83638656cfcb51d464bc05e72e14ad62b..e81cf5da8ce29007558f9cfdc71fbeeafb6d1c6e 100644
--- a/Bugzilla/CGI.pm
+++ b/Bugzilla/CGI.pm
@@ -18,13 +18,13 @@
 # Rights Reserved.
 #
 # Contributor(s): Bradley Baetz <bbaetz@student.usyd.edu.au>
+#                 Byron Jones <bugzilla@glob.com.au>
 
 use strict;
 
 package Bugzilla::CGI;
 
 use CGI qw(-no_xhtml -oldstyle_urls :private_tempfiles :unique_headers SERVER_PUSH);
-use CGI::Util qw(rearrange);
 
 use base qw(CGI);
 
@@ -111,20 +111,34 @@ sub canonicalise_query {
     return join("&", @parameters);
 }
 
-# Overwrite to handle nph parameter. This should stay here until perl 5.8.1 CGI
-# has been fixed to support -nph as a parameter
-#
+# Overwrite to ensure nph doesn't get set, and unset HEADERS_ONCE
 sub multipart_init {
-    my($self,@p) = @_;
-    my($boundary,$nph,@other) = rearrange(['BOUNDARY','NPH'],@p);
-    $boundary = $boundary || '------- =_aaaaaaaaaa0';
-    $self->{'separator'} = "\r\n--$boundary$\r\n";
+    my $self = shift;
+
+    # Keys are case-insensitive, map to lowercase
+    my %args = @_;
+    my %param;
+    foreach my $key (keys %args) {
+        $param{lc $key} = $args{$key};
+    }
+
+    # Set the MIME boundary and content-type
+    my $boundary = $param{'-boundary'} || '------- =_aaaaaaaaaa0';
+    delete $param{'-boundary'};
+    $self->{'separator'} = "\r\n--$boundary\r\n";
     $self->{'final_separator'} = "\r\n--$boundary--\r\n";
-    my $type = SERVER_PUSH($boundary);
+    $param{'-type'} = SERVER_PUSH($boundary);
+
+    # Note: CGI.pm::multipart_init up to v3.04 explicitly set nph to 0
+    # CGI.pm::multipart_init v3.05 explicitly sets nph to 1
+    # CGI.pm's header() sets nph according to a param or $CGI::NPH, which
+    # is the desired behavour.
+
+    # Allow multiple calls to $cgi->header()
+    $CGI::HEADERS_ONCE = 0;
+
     return $self->header(
-        -nph => 0,
-        -type => $type,
-        (map { split "=", $_, 2 } @other),
+        %param,
     ) . "WARNING: YOUR BROWSER DOESN'T SUPPORT THIS SERVER-PUSH TECHNOLOGY." . $self->multipart_end;
 }
 
@@ -142,29 +156,14 @@ sub header {
         unshift(@_, '-cookie' => $self->{Bugzilla_cookie_list});
     }
 
-    return $self->SUPER::header(@_);
+    return $self->SUPER::header(@_) || "";
 }
 
-# We override the entirety of multipart_start instead of falling through to
-# SUPER because the built-in one can't deal with cookies in any kind of sane
-# way.  This sub is gratuitously swiped from the real CGI.pm, but fixed so
-# it actually works (but only as much as we need it to).
+# Override multipart_start to ensure our cookies are added and avoid bad quoting of
+# CGI's multipart_start (bug 275108)
 sub multipart_start {
-    my(@header);
-    my($self,@p) = @_;
-    my($type,@other) = rearrange([['TYPE','CONTENT_TYPE','CONTENT-TYPE']],@p);
-    $type = $type || 'text/html';
-    push(@header,"Content-Type: $type");
-
-    # Add the cookies in if we have any
-    if (scalar(@{$self->{Bugzilla_cookie_list}})) {
-        foreach my $cookie (@{$self->{Bugzilla_cookie_list}}) {
-            push @header, "Set-Cookie: $cookie";
-        }
-    }
-
-    my $header = join($CGI::CRLF,@header)."${CGI::CRLF}${CGI::CRLF}";
-    return $header;
+    my $self = shift;
+    return $self->header(@_);
 }
 
 # The various parts of Bugzilla which create cookies don't want to have to
diff --git a/Bugzilla/CVS/Entries b/Bugzilla/CVS/Entries
index 854daf7ddb1c9a9e611a1e6d3545312e24b06afd..f807f5b887bee89e2726e3ec99b5551e8dce8a4c 100644
--- a/Bugzilla/CVS/Entries
+++ b/Bugzilla/CVS/Entries
@@ -1,18 +1,22 @@
-/.cvsignore/1.1/Mon Aug 26 22:24:55 2002//TBUGZILLA-2_17_7
-/Auth.pm/1.2/Sat Oct 18 22:46:22 2003//TBUGZILLA-2_17_7
-/BugMail.pm/1.9/Mon Jan 26 07:04:22 2004//TBUGZILLA-2_17_7
-/CGI.pm/1.9/Wed Feb 25 14:06:33 2004//TBUGZILLA-2_17_7
-/Chart.pm/1.3/Thu Jan 22 00:02:27 2004//TBUGZILLA-2_17_7
-/Config.pm/1.20/Wed Mar  3 07:35:43 2004//TBUGZILLA-2_17_7
-/Constants.pm/1.7/Sun Feb 29 16:18:58 2004//TBUGZILLA-2_17_7
-/DB.pm/1.9/Sat Nov 22 03:50:40 2003//TBUGZILLA-2_17_7
-/Error.pm/1.4/Sun Sep 14 06:05:10 2003//TBUGZILLA-2_17_7
-/Flag.pm/1.15/Sat Jan 31 00:49:56 2004//TBUGZILLA-2_17_7
-/FlagType.pm/1.6/Sat Jan 31 00:49:56 2004//TBUGZILLA-2_17_7
-/Search.pm/1.52/Fri Feb 13 01:45:21 2004//TBUGZILLA-2_17_7
-/Series.pm/1.4/Thu Feb 12 22:33:06 2004//TBUGZILLA-2_17_7
-/Template.pm/1.15/Thu Feb  5 18:14:03 2004//TBUGZILLA-2_17_7
-/User.pm/1.17/Sat Nov 22 03:32:51 2003//TBUGZILLA-2_17_7
-/Util.pm/1.12/Sat Nov 22 03:50:40 2003//TBUGZILLA-2_17_7
+/.cvsignore/1.1/Mon Aug 26 22:24:55 2002//TBUGZILLA-2_18
+/Attachment.pm/1.17/Tue Jul  6 07:08:02 2004//TBUGZILLA-2_18
+/Auth.pm/1.4/Sat Mar 27 01:28:29 2004//TBUGZILLA-2_18
+/Bug.pm/1.37.2.2/Thu Aug  5 22:19:21 2004//TBUGZILLA-2_18
+/BugMail.pm/1.13.2.3/Fri Jan  7 20:54:32 2005//TBUGZILLA-2_18
+/CGI.pm/1.10.2.3/Wed Jan 12 17:03:58 2005//TBUGZILLA-2_18
+/Chart.pm/1.3.2.1/Sun Aug 29 23:14:13 2004//TBUGZILLA-2_18
+/Config.pm/1.21.2.3/Sat Jan 15 04:43:12 2005//TBUGZILLA-2_18
+/Constants.pm/1.10.2.2/Fri Jan  7 20:54:32 2005//TBUGZILLA-2_18
+/DB.pm/1.12.2.2/Mon Dec  6 17:16:05 2004//TBUGZILLA-2_18
+/Error.pm/1.4.2.1/Mon Jan  3 20:55:54 2005//TBUGZILLA-2_18
+/Flag.pm/1.18.2.6/Sat Jan  8 18:35:23 2005//TBUGZILLA-2_18
+/FlagType.pm/1.7/Tue Jul  6 07:08:02 2004//TBUGZILLA-2_18
+/RelationSet.pm/1.10/Thu Mar 18 03:57:05 2004//TBUGZILLA-2_18
+/Search.pm/1.57.2.7/Sat Jan  1 01:25:56 2005//TBUGZILLA-2_18
+/Series.pm/1.5.2.1/Sun Aug 29 23:14:13 2004//TBUGZILLA-2_18
+/Template.pm/1.18/Sat Jul 10 14:51:23 2004//TBUGZILLA-2_18
+/Token.pm/1.22.2.2/Sat Jan  1 13:47:56 2005//TBUGZILLA-2_18
+/User.pm/1.20.2.2/Fri Jan  7 20:54:32 2005//TBUGZILLA-2_18
+/Util.pm/1.12.2.2/Tue Jan 11 17:17:01 2005//TBUGZILLA-2_18
 D/Auth////
 D/Template////
diff --git a/Bugzilla/CVS/Tag b/Bugzilla/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/Bugzilla/CVS/Tag
+++ b/Bugzilla/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/Bugzilla/Chart.pm b/Bugzilla/Chart.pm
index 42827750fbcb32b46bd1658f646afd95549c2530..90c1ad16ffacecf585b1d374654c518eea2f4ee7 100644
--- a/Bugzilla/Chart.pm
+++ b/Bugzilla/Chart.pm
@@ -71,8 +71,8 @@ sub init {
             foreach my $series_id ($cgi->param($param)) {
                 detaint_natural($series_id) 
                                      || &::ThrowCodeError("invalid_series_id");
-                push(@{$self->{'lines'}[$1]}, 
-                     new Bugzilla::Series($series_id));
+                my $series = new Bugzilla::Series($series_id);
+                push(@{$self->{'lines'}[$1]}, $series) if $series;
             }
         }
 
@@ -130,8 +130,10 @@ sub add {
     # for inventing something sensible.
     foreach my $series_id (@series_ids) {
         my $series = new Bugzilla::Series($series_id);
-        push(@{$self->{'lines'}}, [$series]);
-        push(@{$self->{'labels'}}, "");
+        if ($series) {
+            push(@{$self->{'lines'}}, [$series]);
+            push(@{$self->{'labels'}}, "");
+        }
     }
 }
 
@@ -199,6 +201,8 @@ sub readData {
     my $self = shift;
     my @data;
 
+    # Note: you get a bad image if getSeriesIDs returns nothing
+    # We need to handle errors better.
     my $series_ids = join(",", $self->getSeriesIDs());
 
     # Work out the date boundaries for our data.
@@ -206,7 +210,8 @@ sub readData {
     
     # The date used is the one given if it's in a sensible range; otherwise,
     # it's the earliest or latest date in the database as appropriate.
-    my $datefrom = $dbh->selectrow_array("SELECT MIN(date) FROM series_data " .
+    my $datefrom = $dbh->selectrow_array("SELECT MIN(series_date) " . 
+                                         "FROM series_data " .
                                          "WHERE series_id IN ($series_ids)");
     $datefrom = &::str2time($datefrom);
 
@@ -214,7 +219,8 @@ sub readData {
         $datefrom = $self->{'datefrom'};
     }
 
-    my $dateto = $dbh->selectrow_array("SELECT MAX(date) FROM series_data " .
+    my $dateto = $dbh->selectrow_array("SELECT MAX(series_date) " . 
+                                       "FROM series_data " .
                                        "WHERE series_id IN ($series_ids)");
     $dateto = &::str2time($dateto); 
 
@@ -223,12 +229,13 @@ sub readData {
     }
 
     # Prepare the query which retrieves the data for each series
-    my $query = "SELECT TO_DAYS(date) - TO_DAYS(FROM_UNIXTIME($datefrom)), " . 
-                "value FROM series_data " .
+    my $query = "SELECT TO_DAYS(series_date) - " . 
+                "  TO_DAYS(FROM_UNIXTIME($datefrom)), " . 
+                "series_value FROM series_data " .
                 "WHERE series_id = ? " .
-                "AND date >= FROM_UNIXTIME($datefrom)";
+                "AND series_date >= FROM_UNIXTIME($datefrom)";
     if ($dateto) {
-        $query .= " AND date <= FROM_UNIXTIME($dateto)";
+        $query .= " AND series_date <= FROM_UNIXTIME($dateto)";
     }
     
     my $sth = $dbh->prepare($query);
@@ -296,19 +303,24 @@ sub getSeriesIDs {
 sub getVisibleSeries {
     my %cats;
 
+    # List of groups the user is in; use -1 to make sure it's not empty.
+    my $grouplist = join(", ", (-1, values(%{Bugzilla->user->groups})));
+    
     # Get all visible series
     my $dbh = Bugzilla->dbh;
     my $serieses = $dbh->selectall_arrayref("SELECT cc1.name, cc2.name, " .
                         "series.name, series.series_id " .
                         "FROM series " .
-                        "LEFT JOIN series_categories AS cc1 " .
-                        "    ON series.category = cc1.category_id " .
-                        "LEFT JOIN series_categories AS cc2 " .
-                        "    ON series.subcategory = cc2.category_id " .
-                        "LEFT JOIN user_series_map AS ucm " .
-                        "    ON series.series_id = ucm.series_id " .
-                        "WHERE ucm.user_id = 0 OR ucm.user_id = $::userid");
-
+                        "INNER JOIN series_categories AS cc1 " .
+                        "    ON series.category = cc1.id " .
+                        "INNER JOIN series_categories AS cc2 " .
+                        "    ON series.subcategory = cc2.id " .
+                        "LEFT JOIN category_group_map AS cgm " .
+                        "    ON series.category = cgm.category_id " .
+                        "    AND cgm.group_id NOT IN($grouplist) " .
+                        "WHERE creator = " . Bugzilla->user->id . " OR " .
+                        "      cgm.category_id IS NULL " . 
+                        "GROUP BY series_id");
     foreach my $series (@$serieses) {
         my ($cat, $subcat, $name, $series_id) = @$series;
         $cats{$cat}{$subcat}{$name} = $series_id;
diff --git a/Bugzilla/Config.pm b/Bugzilla/Config.pm
index 75e833bed6bcbc6f29272ff40c3e20da57c5dac9..82ec3cf7a928bee31489ae9891bf2cdc98f04461 100644
--- a/Bugzilla/Config.pm
+++ b/Bugzilla/Config.pm
@@ -76,7 +76,7 @@ our $webdotdir = "$datadir/webdot";
 Exporter::export_ok_tags('admin', 'db', 'locations');
 
 # Bugzilla version
-$Bugzilla::Config::VERSION = "2.17.7";
+$Bugzilla::Config::VERSION = "2.18";
 
 use Safe;
 
diff --git a/Bugzilla/Constants.pm b/Bugzilla/Constants.pm
index a1bf74ba07272d8c0d1a30e54fc528516a15f321..ea8d246da5fc93496a29fc0744a5207c887d75f2 100644
--- a/Bugzilla/Constants.pm
+++ b/Bugzilla/Constants.pm
@@ -25,7 +25,7 @@
 #                 J. Paul Reed <preed@sigkill.com>
 #                 Bradley Baetz <bbaetz@student.usyd.edu.au>
 #                 Christopher Aillon <christopher@aillon.com>
-
+#                 Shane H. W. Travis <travis@sedsystems.ca>
 
 package Bugzilla::Constants;
 use strict;
@@ -46,6 +46,17 @@ use base qw(Exporter);
     LOGIN_OPTIONAL
     LOGIN_NORMAL
     LOGIN_REQUIRED
+
+    LOGOUT_ALL
+    LOGOUT_CURRENT
+    LOGOUT_KEEP_CURRENT
+
+    DEFAULT_FLAG_EMAIL_SETTINGS
+    DEFAULT_EMAIL_SETTINGS
+
+    GRANT_DIRECT
+    GRANT_DERIVED
+    GRANT_REGEXP
 );
 
 @Bugzilla::Constants::EXPORT_OK = qw(contenttypes);
@@ -83,7 +94,7 @@ use constant CONTROLMAPSHOWN => 1;
 use constant CONTROLMAPDEFAULT => 2;
 use constant CONTROLMAPMANDATORY => 3;
 
-# See Bugzilla::Auth for docs for these
+# See Bugzilla::Auth for docs on AUTH_*, LOGIN_* and LOGOUT_*
 
 use constant AUTH_OK => 0;
 use constant AUTH_NODATA => 1;
@@ -95,14 +106,89 @@ use constant LOGIN_OPTIONAL => 0;
 use constant LOGIN_NORMAL => 1;
 use constant LOGIN_REQUIRED => 2;
 
+use constant LOGOUT_ALL => 0;
+use constant LOGOUT_CURRENT => 1;
+use constant LOGOUT_KEEP_CURRENT => 2;
+
 use constant contenttypes =>
   {
    "html" => "text/html" , 
-   "rdf" => "application/xml" , 
+   "rdf" => "application/rdf+xml" , 
    "xml" => "text/xml" , 
    "js" => "application/x-javascript" , 
    "csv" => "text/plain" ,
    "png" => "image/png" ,
+   "ics" => "text/calendar" ,
   };
 
+use constant DEFAULT_FLAG_EMAIL_SETTINGS =>
+      "~FlagRequestee~on" .
+      "~FlagRequester~on";
+
+# By default, almost all bugmail is turned on, with the exception
+# of CC list additions for anyone except the Assignee/Owner.
+# If you want to customize the default settings for new users at
+# your own site, ensure that each of the lines ends with either
+# "~on" or just "~" (for off).
+
+use constant DEFAULT_EMAIL_SETTINGS => 
+      "ExcludeSelf~on" .
+
+      "~FlagRequestee~on" .
+      "~FlagRequester~on" .
+
+      "~emailOwnerRemoveme~on" .
+      "~emailOwnerComments~on" .
+      "~emailOwnerAttachments~on" .
+      "~emailOwnerStatus~on" .
+      "~emailOwnerResolved~on" .
+      "~emailOwnerKeywords~on" .
+      "~emailOwnerCC~on" .
+      "~emailOwnerOther~on" .
+      "~emailOwnerUnconfirmed~on" .
+  
+      "~emailReporterRemoveme~on" .
+      "~emailReporterComments~on" .
+      "~emailReporterAttachments~on" .
+      "~emailReporterStatus~on" .
+      "~emailReporterResolved~on" .
+      "~emailReporterKeywords~on" .
+      "~emailReporterCC~" .
+      "~emailReporterOther~on" .
+      "~emailReporterUnconfirmed~on" .
+  
+      "~emailQAcontactRemoveme~on" .
+      "~emailQAcontactComments~on" .
+      "~emailQAcontactAttachments~on" .
+      "~emailQAcontactStatus~on" .
+      "~emailQAcontactResolved~on" .
+      "~emailQAcontactKeywords~on" .
+      "~emailQAcontactCC~" .
+      "~emailQAcontactOther~on" .
+      "~emailQAcontactUnconfirmed~on" .
+  
+      "~emailCClistRemoveme~on" .
+      "~emailCClistComments~on" .
+      "~emailCClistAttachments~on" .
+      "~emailCClistStatus~on" .
+      "~emailCClistResolved~on" .
+      "~emailCClistKeywords~on" .
+      "~emailCClistCC~" .
+      "~emailCClistOther~on" .
+      "~emailCClistUnconfirmed~on" .
+  
+      "~emailVoterRemoveme~on" .
+      "~emailVoterComments~on" .
+      "~emailVoterAttachments~on" .
+      "~emailVoterStatus~on" .
+      "~emailVoterResolved~on" .
+      "~emailVoterKeywords~on" .
+      "~emailVoterCC~" .
+      "~emailVoterOther~on" .
+      "~emailVoterUnconfirmed~on";
+
+use constant GRANT_DIRECT => 0;
+use constant GRANT_DERIVED => 1;
+use constant GRANT_REGEXP => 2;
+
 1;
diff --git a/Bugzilla/DB.pm b/Bugzilla/DB.pm
index a747aebd6ce6c9c037106e277587030f66d6c5e1..1fad0079b7ba7a841d2dc4aa62580bf2386161ec 100644
--- a/Bugzilla/DB.pm
+++ b/Bugzilla/DB.pm
@@ -33,7 +33,7 @@ use base qw(Exporter);
 
 %Bugzilla::DB::EXPORT_TAGS =
   (
-   deprecated => [qw(ConnectToDatabase SendSQL SqlQuote
+   deprecated => [qw(SendSQL SqlQuote
                      MoreSQLData FetchSQLData FetchOneColumn
                      PushGlobalSQLState PopGlobalSQLState)
                  ],
@@ -49,10 +49,6 @@ use Bugzilla::Util;
 # having a separate package for it, or otherwise trying to avoid the circular
 # dependancy
 
-sub ConnectToDatabase {
-    # We've already been connected in Bugzilla.pm
-}
-
 # XXX - mod_perl
 # These use |our| instead of |my| because they need to be cleared from
 # Bugzilla.pm. See bug 192531 for details.
@@ -148,14 +144,18 @@ sub _connect {
     # connect using our known info to the specified db
     # Apache::DBI will cache this when using mod_perl
     my $dbh = DBI->connect($dsn,
-                           $db_user,
-                           $db_pass,
+                           '',
+                           '',
                            { RaiseError => 1,
                              PrintError => 0,
+                             Username => $db_user,
+                             Password => $db_pass,
                              ShowErrorStatement => 1,
                              HandleError => \&_handle_error,
-                             FetchHashKeyName => 'NAME_lc',
                              TaintIn => 1,
+                             FetchHashKeyName => 'NAME',  
+                             # Note: NAME_lc causes crash on ActiveState Perl
+                             # 5.8.4 (see Bug 253696)
                            });
 
     return $dbh;
@@ -164,10 +164,23 @@ sub _connect {
 sub _handle_error {
     require Carp;
 
+    # Cut down the error string to a reasonable size
+    $_[0] = substr($_[0], 0, 2000) . ' ... ' . substr($_[0], -2000)
+        if length($_[0]) > 4000;
     $_[0] = Carp::longmess($_[0]);
     return 0; # Now let DBI handle raising the error
 }
 
+my $cached_server_version;
+sub server_version {
+    return $cached_server_version if defined($cached_server_version);
+    my $dbh = Bugzilla->dbh;
+    my $sth = $dbh->prepare('SELECT VERSION()');
+    $sth->execute();
+    ($cached_server_version) = $sth->fetchrow_array();
+    return $cached_server_version;
+}
+
 1;
 
 __END__
@@ -222,10 +235,6 @@ and so are not documented.
 
 =item *
 
-ConnectToDatabase
-
-=item *
-
 SendSQL
 
 =item *
diff --git a/Bugzilla/Error.pm b/Bugzilla/Error.pm
index e511a575c6214f47b12029185a981a132129afb5..23e7deee9a4d3e93fe4e670423734cb53fcdd741 100644
--- a/Bugzilla/Error.pm
+++ b/Bugzilla/Error.pm
@@ -79,7 +79,10 @@ sub ThrowTemplateError {
             time this message appeared.
           </p>
           <script type="text/javascript"> <!--
-            document.write("<p>URL: " + document.location + "</p>");
+          document.write("<p>URL: " + 
+                          document.location.href.replace(/&/g,"&amp;")
+                                                .replace(/</g,"&lt;")
+                                                .replace(/>/g,"&gt;") + "</p>");
           // -->
           </script>
           <p>Template->process() failed twice.<br>
diff --git a/Bugzilla/Flag.pm b/Bugzilla/Flag.pm
index 2052f950772d75c945724ad095958aa7c065f40e..37de4a72025530070039903689adb0771ac973a6 100644
--- a/Bugzilla/Flag.pm
+++ b/Bugzilla/Flag.pm
@@ -18,6 +18,7 @@
 # Rights Reserved.
 #
 # Contributor(s): Myk Melez <myk@mozilla.org>
+#                 Jouni Heikniemi <jouni@heikniemi.net>
 
 ################################################################################
 # Module Initialization
@@ -34,8 +35,8 @@ use Bugzilla::User;
 use Bugzilla::Config;
 use Bugzilla::Util;
 use Bugzilla::Error;
-
-use Attachment;
+use Bugzilla::Attachment;
+use Bugzilla::BugMail;
 
 use constant TABLES_ALREADY_LOCKED => 1;
 
@@ -53,8 +54,8 @@ use vars qw($template $vars);
 # basic sets of columns and tables for getting flags from the database
 
 my @base_columns = 
-  ("1", "id", "type_id", "bug_id", "attach_id", "requestee_id", "setter_id",
-   "status");
+  ("is_active", "id", "type_id", "bug_id", "attach_id", "requestee_id", 
+   "setter_id", "status");
 
 # Note: when adding tables to @base_tables, make sure to include the separator 
 # (i.e. a comma or words like "LEFT OUTER JOIN") before the table name, 
@@ -155,13 +156,20 @@ sub validate {
         my $flag = get($id);
         $flag || ThrowCodeError("flag_nonexistent", { id => $id });
 
+        # Note that the deletedness of the flag (is_active or not) is not 
+        # checked here; we do want to allow changes to deleted flags in
+        # certain cases. Flag::modify() will revive the modified flags.
+        # See bug 223878 for details.
+
         # Make sure the user chose a valid status.
         grep($status eq $_, qw(X + - ?))
           || ThrowCodeError("flag_status_invalid", 
                             { id => $id, status => $status });
                 
         # Make sure the user didn't request the flag unless it's requestable.
-        if ($status eq '?' && !$flag->{type}->{is_requestable}) {
+        # If the flag was requested before it became unrequestable, leave it as is.
+        if ($status eq '?' && $flag->{status} ne '?' && 
+            !$flag->{type}->{is_requestable}) {
             ThrowCodeError("flag_status_invalid", 
                            { id => $id, status => $status });
         }
@@ -227,7 +235,8 @@ sub process {
     
     # Take a snapshot of flags before any changes.
     my $flags = match({ 'bug_id'    => $target->{'bug'}->{'id'} , 
-                        'attach_id' => $target->{'attachment'}->{'id'} });
+                        'attach_id' => $target->{'attachment'}->{'id'} ,
+                        'is_active' => 1 });
     my @old_summaries;
     foreach my $flag (@$flags) {
         my $summary = $flag->{'type'}->{'name'} . $flag->{'status'};
@@ -249,16 +258,18 @@ sub process {
             ON (flags.type_id = i.type_id 
             AND (bugs.product_id = i.product_id OR i.product_id IS NULL)
             AND (bugs.component_id = i.component_id OR i.component_id IS NULL))
-        WHERE flags.type_id = $target->{'bug'}->{'id'} 
+        WHERE bugs.bug_id = $target->{'bug'}->{'id'} 
+        AND flags.is_active = 1
         AND i.type_id IS NULL
     ");
     clear(&::FetchOneColumn()) while &::MoreSQLData();
     &::SendSQL("
         SELECT flags.id 
         FROM flags, bugs, flagexclusions e
-        WHERE flags.type_id = $target->{'bug'}->{'id'}
+        WHERE bugs.bug_id = $target->{'bug'}->{'id'}
         AND flags.bug_id = bugs.bug_id
-        AND flags.type_id = e.type_id 
+        AND flags.type_id = e.type_id
+        AND flags.is_active = 1 
         AND (bugs.product_id = e.product_id OR e.product_id IS NULL)
         AND (bugs.component_id = e.component_id OR e.component_id IS NULL)
     ");
@@ -266,7 +277,8 @@ sub process {
     
     # Take a snapshot of flags after changes.
     $flags = match({ 'bug_id'    => $target->{'bug'}->{'id'} , 
-                     'attach_id' => $target->{'attachment'}->{'id'} });
+                     'attach_id' => $target->{'attachment'}->{'id'} ,
+                     'is_active' => 1 });
     my @new_summaries;
     foreach my $flag (@$flags) {
         my $summary = $flag->{'type'}->{'name'} . $flag->{'status'};
@@ -330,17 +342,24 @@ sub migrate {
     # Moves a flag from one attachment to another.  Useful for migrating
     # a flag from an obsolete attachment to the attachment that obsoleted it.
 
-    my ($old_attach_id, $new_attach_id) = @_;
+    my ($old_attach_id, $new_attach_id, $timestamp) = @_;
+
+    # Use the date/time we were given if possible (allowing calling code
+    # to synchronize the comment's timestamp with those of other records).
+    $timestamp = ($timestamp ? &::SqlQuote($timestamp) : "NOW()");
 
     # Update the record in the flags table to point to the new attachment.
     &::SendSQL("UPDATE flags " . 
                "SET    attach_id = $new_attach_id , " . 
-               "       modification_date = NOW() " . 
+               "       modification_date = $timestamp " . 
                "WHERE  attach_id = $old_attach_id");
 }
 
 sub modify {
     # Modifies flags in the database when a user changes them.
+    # Note that modified flags are always set active (is_active = 1) -
+    # this will revive deleted flags that get changed through 
+    # attachment.cgi midairs. See bug 223878 for details.
 
     my ($data, $timestamp) = @_;
 
@@ -361,21 +380,30 @@ sub modify {
 
         my $status = $data->{"flag-$id"};
         my $requestee_email = trim($data->{"requestee-$id"});
+
+        
+        # Ignore flags the user didn't change. There are two components here:
+        # either the status changes (trivial) or the requestee changes.
+        # Change of either field will cause full update of the flag.
+
+        my $status_changed = ($status ne $flag->{'status'});
         
-        # Ignore flags the user didn't change.  A flag hasn't changed
-        # if its status and requestee remain the same.  Status is easy;
-        # we just compare the existing status with the submitted one.
-        # For requestee, however, we have to be careful not to compare
-        # the two if the flag isn't specifically requestable or isn't 
-        # being requested, otherwise we'll get false positives and think 
-        # the user changed the flag when they didn't.
-        next if 
-          $status eq $flag->{'status'}  # the flag's status hasn't changed, and:
-          && (!$flag->{'type'}->{'is_requesteeble'} 
-                                        # the flag isn't specifically requestable
-              || $status ne "?"         # or the flag isn't being requested
-              || ($flag->{'requestee'}  # or the requestee hasn't changed
-                  && ($requestee_email eq $flag->{'requestee'}->login)));
+        # Requestee is considered changed, if all of the following apply:
+        # 1. Flag status is '?' (requested)
+        # 2. Flag can have a requestee
+        # 3. The requestee specified on the form is different from the 
+        #    requestee specified in the db.
+        
+        my $old_requestee = 
+          $flag->{'requestee'} ? $flag->{'requestee'}->login : '';
+
+        my $requestee_changed = 
+          ($status eq "?" && 
+           $flag->{'type'}->{'is_requesteeble'} &&
+           $old_requestee ne $requestee_email);
+           
+        next unless ($status_changed || $requestee_changed);
+
         
         # Since the status is validated, we know it's safe, but it's still
         # tainted, so we have to detaint it before using it in a query.
@@ -386,7 +414,8 @@ sub modify {
                         SET    setter_id = $::userid , 
                                requestee_id = NULL , 
                                status = '$status' , 
-                               modification_date = $timestamp
+                               modification_date = $timestamp ,
+                               is_active = 1
                         WHERE  id = $flag->{'id'}");
             
             # Send an email notifying the relevant parties about the fulfillment.
@@ -410,7 +439,8 @@ sub modify {
                         SET    setter_id = $::userid , 
                                requestee_id = $requestee_id , 
                                status = '$status' , 
-                               modification_date = $timestamp
+                               modification_date = $timestamp ,
+                               is_active = 1
                         WHERE  id = $flag->{'id'}");
             
             # Send an email notifying the relevant parties about the request.
@@ -421,7 +451,7 @@ sub modify {
                 notify($flag, "request/email.txt.tmpl");
             }
         }
-        # The user unset the flag, so delete it from the database.
+        # The user unset the flag; set is_active = 0
         elsif ($status eq 'X') {
             clear($flag->{'id'});
         }
@@ -438,9 +468,10 @@ sub clear {
     my $flag = get($id);
     
     &::PushGlobalSQLState();
-    &::SendSQL("DELETE FROM flags WHERE id = $id");
+    &::SendSQL("UPDATE flags SET is_active = 0 WHERE id = $id");
     &::PopGlobalSQLState();
-    
+
+    $flag->{'exists'} = 0;    
     # Set the flag's status to "cleared" so the email template
     # knows why email is being sent about the request.
     $flag->{'status'} = "X";
@@ -529,7 +560,7 @@ sub GetTarget {
     my $target = { 'exists' => 0 };
 
     if ($attach_id) {
-        $target->{'attachment'} = new Attachment($attach_id);
+        $target->{'attachment'} = new Bugzilla::Attachment($attach_id);
         if ($bug_id) {
             # Make sure the bug and attachment IDs correspond to each other
             # (i.e. this is the bug to which this attachment is attached).
@@ -577,6 +608,8 @@ sub notify {
         $flag->{'type'}->{'cc_list'} = join(", ", @new_cc_list);
     }
 
+    $flag->{'requestee'}->{'email'} .= Param('emailsuffix');
+    $flag->{'setter'}->{'email'} .= Param('emailsuffix');
     $::vars->{'flag'} = $flag;
     
     my $message;
@@ -586,12 +619,8 @@ sub notify {
         Bugzilla->cgi->header();
         ThrowTemplateError($::template->error());
     }
-    
-    my $delivery_mode = Param("sendmailnow") ? "" : "-ODeliveryMode=deferred";
-    open(SENDMAIL, "|/usr/lib/sendmail $delivery_mode -t -i") 
-      || die "Can't open sendmail";
-    print SENDMAIL $message;
-    close(SENDMAIL);
+
+    Bugzilla::BugMail::MessageToMTA($message);
 }
 
 ################################################################################
@@ -626,6 +655,7 @@ sub sqlify_criteria {
         elsif ($field eq 'requestee_id') { push(@criteria, "requestee_id = $value") }
         elsif ($field eq 'setter_id')    { push(@criteria, "setter_id    = $value") }
         elsif ($field eq 'status')       { push(@criteria, "status       = '$value'") }
+        elsif ($field eq 'is_active')    { push(@criteria, "is_active    = $value") }
     }
     
     return @criteria;
@@ -636,6 +666,8 @@ sub perlify_record {
     my ($exists, $id, $type_id, $bug_id, $attach_id, 
         $requestee_id, $setter_id, $status) = @_;
     
+    return undef unless defined($exists);
+    
     my $flag =
       {
         exists    => $exists , 
diff --git a/Bugzilla/FlagType.pm b/Bugzilla/FlagType.pm
index e6bfaf7ef02a33b5e71917ee1a24129b8f213930..a428d5389acc45c284603355cc8d23079fffc76e 100644
--- a/Bugzilla/FlagType.pm
+++ b/Bugzilla/FlagType.pm
@@ -270,6 +270,7 @@ sub normalize {
             AND (bugs.product_id = i.product_id OR i.product_id IS NULL)
             AND (bugs.component_id = i.component_id OR i.component_id IS NULL))
         WHERE flags.type_id IN ($ids)
+        AND flags.is_active = 1
         AND i.type_id IS NULL
     ");
     Bugzilla::Flag::clear(&::FetchOneColumn()) while &::MoreSQLData();
@@ -280,6 +281,7 @@ sub normalize {
         WHERE flags.type_id IN ($ids)
         AND flags.bug_id = bugs.bug_id
         AND flags.type_id = e.type_id 
+        AND flags.is_active = 1
         AND (bugs.product_id = e.product_id OR e.product_id IS NULL)
         AND (bugs.component_id = e.component_id OR e.component_id IS NULL)
     ");
diff --git a/RelationSet.pm b/Bugzilla/RelationSet.pm
similarity index 93%
rename from RelationSet.pm
rename to Bugzilla/RelationSet.pm
index f2f822fc4a20759125518d1b76b02c5229939f96..62874635229cab1ae8aa425754a7f8e27b4df2f9 100644
--- a/RelationSet.pm
+++ b/Bugzilla/RelationSet.pm
@@ -31,15 +31,16 @@
 
 use strict;
 
-# Everything that uses RelationSet should already have globals.pl loaded
-# so we don't want to load it here.  Doing so causes a loop in Perl because
-# globals.pl turns around and does a 'use RelationSet'
+# XXX - mod_perl
+# Everything that uses Bugzilla::RelationSet should already have globals.pl
+# loaded so we don't want to load it here.  Doing so causes a loop in Perl
+# because globals.pl turns around and does a 'use Bugzilla::RelationSet'
 # See http://bugzilla.mozilla.org/show_bug.cgi?id=72862
-#require "globals.pl";
+#require "../globals.pl";
 
-package RelationSet;
+package Bugzilla::RelationSet;
 
-# create a new empty RelationSet
+# create a new empty Bugzilla::RelationSet
 #
 sub new {
   my $type = shift();
@@ -60,7 +61,7 @@ sub new {
     confess("invalid number of arguments");
   }
 
-  # bless as a RelationSet
+  # bless as a Bugzilla::RelationSet
   #
   return $self;
 }
@@ -81,7 +82,7 @@ sub generateSqlDeltas {
   my ( $self, # instance ptr to set representing the existing state
        $endState, # instance ptr to set representing the desired state
        $table, # table where these relations are kept
-       $invariantName, # column held const for a RelationSet (often "bug_id")
+       $invariantName, # column held const for a Bugzilla::RelationSet (often "bug_id")
        $invariantValue, # what to hold the above column constant at
        $columnName # the column which varies (often a userid)
      ) = @_;
diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm
index 3db341c7f030be29d626b6b389db08251128c8a7..374501d86ff0e9a3fe84b19ae4288dba2e8d4314 100644
--- a/Bugzilla/Search.pm
+++ b/Bugzilla/Search.pm
@@ -32,6 +32,8 @@ use strict;
 use vars qw($userid);
 
 package Bugzilla::Search;
+use base qw(Exporter);
+@Bugzilla::Search::EXPORT = qw(IsValidQueryType);
 
 use Bugzilla::Config;
 use Bugzilla::Error;
@@ -200,22 +202,7 @@ sub init {
             }
         }
         if ($params->param("emaillongdesc$id")) {
-            if (my $list = $self->ListIDsForEmail($type, $email)) {
-                my $table = "longdescs_email_$id";
-                push(@supptables, "LEFT JOIN longdescs $table ON bugs.bug_id = $table.bug_id AND $table.who IN($list)");
-                push(@wherepart, "$table.who IS NOT NULL");
-                # push something into @clist so that we don't trigger
-                # the missing_email_type error below
-                push(@clist, 'noop');
-            } else {
-                my $table = "longdescs_email_$id";
-                push(@supptables, "longdescs $table");
-                push(@wherepart, "$table.bug_id = bugs.bug_id");
-                my $ptable = "longdescnames_email_$id";
-                push(@supptables, "profiles $ptable");
-                push(@wherepart, "$table.who = $ptable.userid");
-                push(@clist, "$ptable.login_name", $type, $email);
-            }
+                push(@clist, "commenter", $type, $email);
         }
         if (@clist) {
             push(@specialchart, \@clist);
@@ -273,8 +260,8 @@ sub init {
                     # Treat [Bug creation] differently because we need to look
                     # at bugs.creation_ts rather than the bugs_activity table.
                     my @l;
-                    push(@l, "creation_ts >= $sql_chfrom") if($sql_chfrom);
-                    push(@l, "creation_ts <= $sql_chto") if($sql_chto);
+                    push(@l, "bugs.creation_ts >= $sql_chfrom") if($sql_chfrom);
+                    push(@l, "bugs.creation_ts <= $sql_chto") if($sql_chto);
                     $bug_creation_clause = "(" . join(' AND ', @l) . ")";
                 } else {
                     push(@list, "\nactcheck.fieldid = " . &::GetFieldID($f));
@@ -321,7 +308,15 @@ sub init {
     }
 
     if (defined $params->param('content')) {
-        push(@specialchart, ['content', 'matches', $params->param('content')]);
+        # Append a new chart implementing content quicksearch
+        my $chart;
+        for ($chart = 0 ; $params->param("field$chart-0-0") ; $chart++) {};
+        $params->param("field$chart-0-0", 'content');
+        $params->param("type$chart-0-0", 'matches');
+        $params->param("value$chart-0-0", $params->param('content'));
+        $params->param("field$chart-0-1", 'short_desc');
+        $params->param("type$chart-0-1", 'allwords');
+        $params->param("value$chart-0-1", $params->param('content'));
     }
 
     my $chartid;
@@ -429,12 +424,9 @@ sub init {
              # The term to use in the WHERE clause.
              $term = $term1;
 
-             # In order to sort by relevance, we SELECT the relevance value
-             # and give it an alias so we can add it to the SORT BY clause
-             # when we build that clause in buglist.cgi.  We also flag the
-             # query in Bugzilla with the "sorted_by_relevance" flag
-             # so buglist.cgi knows to sort by relevance instead of anything
-             # else the user selected.
+             # In order to sort by relevance (in case the user requests it),
+             # we SELECT the relevance value and give it an alias so we can
+             # add it to the SORT BY clause when we build it in buglist.cgi.
              #
              # Note: MySQL calculates relevance for each comment separately,
              # so we need to do some additional calculations to get an overall
@@ -446,8 +438,47 @@ sub init {
              # Note: We should be calculating the average relevance of all
              # comments for a bug, not just matching comments, but that's hard
              # (see http://bugzilla.mozilla.org/show_bug.cgi?id=145588#c35).
-             push(@fields, "(SUM($term1)/COUNT($term1) + $term2) AS relevance");
-             $self->{'sorted_by_relevance'} = 1;
+             my $select_term =
+               "(SUM($term1)/COUNT($term1) + $term2) AS relevance";
+
+             # Users can specify to display the relevance field, in which case
+             # it'll show up in the list of fields being selected, and we need
+             # to replace that occurrence with our select term.  Otherwise
+             # we can just add the term to the list of fields being selected.
+             if (grep($_ eq "relevance", @fields)) {
+                 @fields = map($_ eq "relevance" ? $select_term : $_ , @fields);
+             }
+             else {
+                 push(@fields, $select_term);
+             }
+         },
+         "^content," => sub {
+             ThrowUserError("search_content_without_matches");
+         },
+         "^commenter," => sub {    
+             my $chartseq;
+             my $list;
+             $list = $self->ListIDsForEmail($t, $v);
+             $chartseq = $chartid;
+             if ($chartid eq "") {
+                 $chartseq = "LD$sequence";
+                 $sequence++;
+             }
+             my $table = "longdescs_$chartseq";
+             my $extra = "";
+             if (Param("insidergroup") && !&::UserInGroup(Param("insidergroup"))) {
+                 $extra = "AND $table.isprivate < 1";
+             }
+             if ($list) {
+                 push(@supptables, "LEFT JOIN longdescs $table ON $table.bug_id = bugs.bug_id $extra AND $table.who IN ($list)");
+                 $term = "$table.who IS NOT NULL";
+             } else {
+                 push(@supptables, "LEFT JOIN longdescs $table ON $table.bug_id = bugs.bug_id $extra");
+                 push(@supptables, "LEFT JOIN profiles map_$table ON $table.who = map_$table.userid");
+                 $ff = $f = "map_$table.login_name";
+                 my $ref = $funcsbykey{",$t"};
+                 &$ref;
+             }
          },
          "^long_?desc," => sub {
              my $table = "longdescs_$chartid";
@@ -568,7 +599,8 @@ sub init {
              # negative conditions (f.e. "flag isn't review+").
              my $flags = "flags_$chartid";
              push(@supptables, "LEFT JOIN flags $flags " . 
-                               "ON bugs.bug_id = $flags.bug_id");
+                               "ON bugs.bug_id = $flags.bug_id " .
+                               "AND $flags.is_active = 1");
              my $flagtypes = "flagtypes_$chartid";
              push(@supptables, "LEFT JOIN flagtypes $flagtypes " . 
                                "ON $flags.type_id = $flagtypes.id");
@@ -593,18 +625,22 @@ sub init {
                 $term = "0=0";
              }
          },
-         "^requesters.login_name," => sub {
-             push(@supptables, "flags flags_$chartid");
-             push(@wherepart, "bugs.bug_id = flags_$chartid.bug_id");
-             push(@supptables, "profiles requesters_$chartid");
-             push(@wherepart, "flags_$chartid.requester_id = requesters_$chartid.userid");
-             $f = "requesters_$chartid.login_name";
+         "^requestees.login_name," => sub {
+             my $flags = "flags_$chartid";
+             push(@supptables, "LEFT JOIN flags $flags " .
+                               "ON bugs.bug_id = $flags.bug_id " .
+                               "AND $flags.is_active = 1");
+             push(@supptables, "LEFT JOIN profiles requestees_$chartid " .
+                               "ON $flags.requestee_id = requestees_$chartid.userid");
+             $f = "requestees_$chartid.login_name";
          },
          "^setters.login_name," => sub {
-             push(@supptables, "flags flags_$chartid");
-             push(@wherepart, "bugs.bug_id = flags_$chartid.bug_id");
-             push(@supptables, "profiles setters_$chartid");
-             push(@wherepart, "flags_$chartid.setter_id = setters_$chartid.userid");
+             my $flags = "flags_$chartid";
+             push(@supptables, "LEFT JOIN flags $flags " .
+                               "ON bugs.bug_id = $flags.bug_id " .
+                               "AND $flags.is_active = 1");
+             push(@supptables, "LEFT JOIN profiles setters_$chartid " .
+                               "ON $flags.setter_id = setters_$chartid.userid");
              $f = "setters_$chartid.login_name";
          },
          
@@ -685,6 +721,42 @@ sub init {
                 push(@wherepart, "$table.dependson = bugs.bug_id");
          },
 
+         "^owner_idle_time,(greaterthan|lessthan)" => sub {
+                my $table = "idle_" . $chartid;
+                $v =~ /^(\d+)\s*([hHdDwWmMyY])?$/;
+                my $quantity = $1;
+                my $unit = lc $2;
+                my $unitinterval = 'DAY';
+                if ($unit eq 'h') {
+                    $unitinterval = 'HOUR';
+                } elsif ($unit eq 'w') {
+                    $unitinterval = ' * 7 DAY';
+                } elsif ($unit eq 'm') {
+                    $unitinterval = 'MONTH';
+                } elsif ($unit eq 'y') {
+                    $unitinterval = 'YEAR';
+                }
+                my $cutoff = "DATE_SUB(NOW(), 
+                              INTERVAL $quantity $unitinterval)";
+                my $assigned_fieldid = &::GetFieldID('assigned_to');
+                push(@supptables, "LEFT JOIN longdescs comment_$table " .
+                                  "ON comment_$table.who = bugs.assigned_to " .
+                                  "AND comment_$table.bug_id = bugs.bug_id " .
+                                  "AND comment_$table.bug_when > $cutoff");
+                push(@supptables, "LEFT JOIN bugs_activity activity_$table " .
+                                  "ON (activity_$table.who = bugs.assigned_to " .
+                                  "OR activity_$table.fieldid = $assigned_fieldid) " .
+                                  "AND activity_$table.bug_id = bugs.bug_id " .
+                                  "AND activity_$table.bug_when > $cutoff");
+                if ($t =~ /greater/) {
+                    push(@wherepart, "(comment_$table.who IS NULL " .
+                                     "AND activity_$table.who IS NULL)");
+                } else {
+                    push(@wherepart, "(comment_$table.who IS NOT NULL " .
+                                     "OR activity_$table.who IS NOT NULL)");
+                }
+                $term = "0=0";
+         },
 
          ",equals" => sub {
              $term = "$ff = $q";
@@ -693,7 +765,15 @@ sub init {
              $term = "$ff != $q";
          },
          ",casesubstring" => sub {
-             $term = "INSTR(CAST($ff AS BINARY), CAST($q AS BINARY))";
+             # mysql 4.0.1 and lower do not support CAST
+             # mysql 3.*.* had a case-sensitive INSTR
+             # (checksetup has a check for unsupported versions)
+             my $server_version = Bugzilla::DB->server_version;
+             if ($server_version =~ /^3\./) {
+                 $term = "INSTR($ff ,$q)";
+             } else {
+                 $term = "INSTR(CAST($ff AS BINARY), CAST($q AS BINARY))";
+             }
          },
          ",substring" => sub {
              $term = "INSTR(LOWER($ff), " . lc($q) . ")";
@@ -713,6 +793,9 @@ sub init {
          ",lessthan" => sub {
              $term = "$ff < $q";
          },
+         ",matches" => sub {
+             ThrowUserError("search_content_without_matches");
+         },
          ",greaterthan" => sub {
              $term = "$ff > $q";
          },
@@ -917,6 +1000,8 @@ sub init {
 # @supptables = Tables and/or table aliases used in query
 # %suppseen   = A hash used to store all the tables in supptables to weed
 #               out duplicates.
+# @supplist   = A list used to accumulate all the JOIN clauses for each
+#               chart to merge the ON sections of each.
 # $suppstring = String which is pasted into query containing all table names
 
     # get a list of field names to verify the user-submitted chart fields against
@@ -998,15 +1083,25 @@ sub init {
     }
     my %suppseen = ("bugs" => 1);
     my $suppstring = "bugs";
+    my @supplist = (" ");
     foreach my $str (@supptables) {
         if (!$suppseen{$str}) {
-            if ($str !~ /^(LEFT|INNER) JOIN/i) {
-                $suppstring .= ",";
+            if ($str =~ /^(LEFT|INNER) JOIN/i) {
+                $str =~ /^(.*?)\s+ON\s+(.*)$/i;
+                my ($leftside, $rightside) = ($1, $2);
+                if ($suppseen{$leftside}) {
+                    $supplist[$suppseen{$leftside}] .= " AND ($rightside)";
+                } else {
+                    $suppseen{$leftside} = scalar @supplist;
+                    push @supplist, " $leftside ON ($rightside)";
+                }
+            } else {
+                $suppstring .= ", $str";
+                $suppseen{$str} = 1;
             }
-            $suppstring .= " $str";
-            $suppseen{$str} = 1;
         }
     }
+    $suppstring .= join('', @supplist);
     
     # Make sure we create a legal SQL query.
     @andlist = ("1 = 1") if !@andlist;
@@ -1092,7 +1187,7 @@ sub SqlifyDate {
 # ListIDsForEmail returns a string with a comma-joined list
 # of userids matching email addresses
 # according to the type specified.
-# Currently, this only supports anyexact and substring matches.
+# Currently, this only supports exact, anyexact, and substring matches.
 # Substring matches will return up to 50 matching userids
 # If a match type is unsupported or returns too many matches,
 # ListIDsForEmail returns an undef.
@@ -1179,4 +1274,14 @@ sub getSQL {
     return $self->{'sql'};
 }
 
+# Define if the Query Type passed in is a valid query type that we can deal with
+sub IsValidQueryType
+{
+    my ($queryType) = @_;
+    if (grep { $_ eq $queryType } qw(specific advanced)) {
+        return 1;
+    }
+    return 0;
+}
+
 1;
diff --git a/Bugzilla/Series.pm b/Bugzilla/Series.pm
index f009a0ad9801c3c7a1382c85e382de7e2037ef5e..a4bd6654fece9baa5f22314b8801ad012d15b4c1 100644
--- a/Bugzilla/Series.pm
+++ b/Bugzilla/Series.pm
@@ -47,6 +47,11 @@ sub new {
 
     my $arg_count = scalar(@_);
     
+    # new() can return undef if you pass in a series_id and the user doesn't 
+    # have sufficient permissions. If you create a new series in this way,
+    # you need to check for an undef return, and act appropriately.
+    my $retval = $self;
+
     # There are three ways of creating Series objects. Two (CGI and Parameters)
     # are for use when creating a new series. One (Database) is for retrieving
     # information on existing series.
@@ -60,7 +65,7 @@ sub new {
         else {
             # We've been given a series_id, which should represent an existing
             # Series.
-            $self->initFromDatabase($_[0]);
+            $retval = $self->initFromDatabase($_[0]);
         }
     }
     elsif ($arg_count >= 6 && $arg_count <= 8) {
@@ -73,7 +78,7 @@ sub new {
         die("Bad parameters passed in - invalid number of args: $arg_count");
     }
 
-    return $self;
+    return $retval;
 }
 
 sub initFromDatabase {
@@ -86,23 +91,29 @@ sub initFromDatabase {
     my $dbh = Bugzilla->dbh;
     my @series = $dbh->selectrow_array("SELECT series.series_id, cc1.name, " .
         "cc2.name, series.name, series.creator, series.frequency, " .
-        "series.query " .
+        "series.query, series.public " .
         "FROM series " .
         "LEFT JOIN series_categories AS cc1 " .
-        "    ON series.category = cc1.category_id " .
+        "    ON series.category = cc1.id " .
         "LEFT JOIN series_categories AS cc2 " .
-        "    ON series.subcategory = cc2.category_id " .
-        "WHERE series.series_id = $series_id");
+        "    ON series.subcategory = cc2.id " .
+        "LEFT JOIN category_group_map AS cgm " .
+        "    ON series.category = cgm.category_id " .
+        "LEFT JOIN user_group_map AS ugm " .
+        "    ON cgm.group_id = ugm.group_id " .
+        "    AND ugm.user_id = " . Bugzilla->user->id .
+        "    AND isbless = 0 " .
+        "WHERE series.series_id = $series_id AND " .
+        "(public = 1 OR creator = " . Bugzilla->user->id . " OR " .
+        "(ugm.group_id IS NOT NULL)) " . 
+        "GROUP BY series_id");
     
     if (@series) {
-        # Note that we calculate $self->{'public'} ourselves instead of passing
-        # it as the last parameter in @series; this is because isSubscribed()
-        # requires the rest of the object to be set up correctly.
         $self->initFromParameters(@series);
-        $self->{'public'} = $self->isSubscribed(PUBLIC_USER_ID);
+        return $self;
     }
     else {
-        &::ThrowCodeError("invalid_series_id", { 'series_id' => $series_id });
+        return undef;
     }
 }
 
@@ -146,16 +157,20 @@ sub initFromCGI {
     $self->{'query'} = $cgi->canonicalise_query("format", "ctype", "action",
                                         "category", "subcategory", "name",
                                         "frequency", "public", "query_format");
+    trick_taint($self->{'query'});
                                         
-    $self->{'public'} = $cgi->param('public') ? 1 : 0;    
+    $self->{'public'} = $cgi->param('public') ? 1 : 0;
+    
+    # Change 'admin' here and in series.html.tmpl, or remove the check
+    # completely, if you want to change who can make series public.
+    $self->{'public'} = 0 unless &::UserInGroup('admin');
 }
 
 sub writeToDatabase {
     my $self = shift;
 
     my $dbh = Bugzilla->dbh;
-    $dbh->do("LOCK TABLES series_categories WRITE, series WRITE, " .
-             "user_series_map WRITE");
+    $dbh->do("LOCK TABLES series_categories WRITE, series WRITE");
 
     my $category_id = getCategoryID($self->{'category'});
     my $subcategory_id = getCategoryID($self->{'subcategory'});
@@ -173,38 +188,28 @@ sub writeToDatabase {
         my $dbh = Bugzilla->dbh;
         $dbh->do("UPDATE series SET " .
                  "category = ?, subcategory = ?," .
-                 "name = ?, frequency = ? " .
+                 "name = ?, frequency = ?, public = ?  " .
                  "WHERE series_id = ?", undef,
                  $category_id, $subcategory_id, $self->{'name'},
-                 $self->{'frequency'}, $self->{'series_id'});
+                 $self->{'frequency'}, $self->{'public'}, 
+                 $self->{'series_id'});
     }
     else {
         # Insert the new series into the series table
-        trick_taint($self->{'query'});
         $dbh->do("INSERT INTO series (creator, category, subcategory, " .
-                 "name, frequency, query) VALUES ($self->{'creator'}, " .
+                 "name, frequency, query, public) VALUES " . 
+                 "($self->{'creator'}, " . 
                  "$category_id, $subcategory_id, " .
                  $dbh->quote($self->{'name'}) . ", $self->{'frequency'}," .
-                 $dbh->quote($self->{'query'}) . ")");
+                 $dbh->quote($self->{'query'}) . ", $self->{'public'})");
 
         # Retrieve series_id
         $self->{'series_id'} = $dbh->selectrow_array("SELECT MAX(series_id) " .
                                                      "FROM series");
         $self->{'series_id'}
           || &::ThrowCodeError("missing_series_id", { 'series' => $self });
-
-        # Subscribe creator to the newly-created series.
-        $self->subscribe($self->{'creator'});
     }
     
-    # Update publicness by changing subscription
-    if ($self->{'public'}) {
-        $self->subscribe(PUBLIC_USER_ID);
-    }
-    else {
-        $self->unsubscribe(PUBLIC_USER_ID);
-    }             
-
     $dbh->do("UNLOCK TABLES");
 }
 
@@ -237,51 +242,17 @@ sub getCategoryID {
         # We are quoting this to put it in the DB, so we can remove taint
         trick_taint($category);
 
-        $category_id = $dbh->selectrow_array("SELECT category_id " .
+        $category_id = $dbh->selectrow_array("SELECT id " .
                                       "from series_categories " .
                                       "WHERE name =" . $dbh->quote($category));
-        last if $category_id;
+
+        last if defined($category_id);
 
         $dbh->do("INSERT INTO series_categories (name) " .
                  "VALUES (" . $dbh->quote($category) . ")");
     }
 
     return $category_id;
-}        
-
-sub subscribe {
-    my $self = shift;
-    my $userid = shift;
-    
-    if (!$self->isSubscribed($userid)) {
-        # Subscribe current user to series_id
-        my $dbh = Bugzilla->dbh;
-        $dbh->do("INSERT INTO user_series_map " .
-                 "VALUES($userid, $self->{'series_id'})");
-    }    
-}
-
-sub unsubscribe {
-    my $self = shift;
-    my $userid = shift;
-    
-    if ($self->isSubscribed($userid)) {
-        # Remove current user's subscription to series_id
-        my $dbh = Bugzilla->dbh;
-        $dbh->do("DELETE FROM user_series_map " .
-                "WHERE user_id = $userid AND series_id = $self->{'series_id'}");
-    }        
-}
-
-sub isSubscribed {
-    my $self = shift;
-    my $userid = shift;
-    
-    my $dbh = Bugzilla->dbh;
-    my $issubscribed = $dbh->selectrow_array("SELECT 1 FROM user_series_map " .
-                                       "WHERE user_id = $userid " .
-                                       "AND series_id = $self->{'series_id'}");
-    return $issubscribed;
 }
 
 1;
diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm
index c123154bbebdd05855c19dbb4c20958734f25259..cddd33ba47ffd6d5dac71dbc6cf76ef3ded9d150 100644
--- a/Bugzilla/Template.pm
+++ b/Bugzilla/Template.pm
@@ -195,14 +195,41 @@ sub create {
         # built-in filter, please also add a stub filter to checksetup.pl
         # and t/004template.t.
         FILTERS => {
-            # Render text in strike-through style.
-            strike => sub { return "<strike>" . $_[0] . "</strike>" },
+
+            # Render text in required style.
+
+            inactive => [
+                sub {
+                    my($context, $isinactive) = @_;
+                    return sub {
+                        return $isinactive ? '<span class="bz_inactive">'.$_[0].'</span>' : $_[0];
+                    }
+                }, 1
+            ],
+
+            closed => [
+                sub {
+                    my($context, $isclosed) = @_;
+                    return sub {
+                        return $isclosed ? '<span class="bz_closed">'.$_[0].'</span>' : $_[0];
+                    }
+                }, 1
+            ],
+
+            obsolete => [
+                sub {
+                    my($context, $isobsolete) = @_;
+                    return sub {
+                        return $isobsolete ? '<span class="bz_obsolete">'.$_[0].'</span>' : $_[0];
+                    }
+                }, 1
+            ],
 
             # Returns the text with backslashes, single/double quotes,
             # and newlines/carriage returns escaped for use in JS strings.
             js => sub {
                 my ($var) = @_;
-                $var =~ s/([\\\'\"])/\\$1/g;
+                $var =~ s/([\\\'\"\/])/\\$1/g;
                 $var =~ s/\n/\\n/g;
                 $var =~ s/\r/\\r/g;
                 $var =~ s/\@/\\x40/g; # anti-spam for email addresses
@@ -293,6 +320,31 @@ sub create {
                 return $var;
             },
             
+            # iCalendar contentline filter
+            ics => [ sub {
+                         my ($context, @args) = @_;
+                         return sub {
+                             my ($var) = shift;
+                             my ($par) = shift @args;
+                             my ($output) = "";
+
+                             $var =~ s/[\r\n]/ /g;
+                             $var =~ s/([;\\\"])/\\$1/g;
+
+                             if ($par) {
+                                 $output = sprintf("%s:%s", $par, $var);
+                             } else {
+                                 $output = $var;
+                             }
+                             
+                             $output =~ s/(.{75,75})/$1\n /g;
+
+                             return $output;
+                         };
+                     },
+                     1
+                     ],
+
             # We force filtering of every variable in key security-critical
             # places; we have a none filter for people to use when they 
             # really, really don't want a variable to be changed.
diff --git a/Bugzilla/Template/CVS/Tag b/Bugzilla/Template/CVS/Tag
index 5bffe0985ded5ca8a231e44af76e791a2456f4ec..f097cd0f145df13ad5d2db8b232194c8ac74d8fd 100644
--- a/Bugzilla/Template/CVS/Tag
+++ b/Bugzilla/Template/CVS/Tag
@@ -1 +1 @@
-TBUGZILLA-2_17_7
+TBUGZILLA-2_18
diff --git a/Bugzilla/Template/Plugin/CVS/Entries b/Bugzilla/Template/Plugin/CVS/Entries
index bdae0f96db3934f77605551caebff601fcac418d..cb28b80343760241ddd23191754bddead07107cd 100644
--- a/Bugzilla/Template/Plugin/CVS/Entries
+++ b/Bugzilla/Template/Plugin/CVS/Entries
@@ -1,3 +1,3 @@
-/Bugzilla.pm/1.2/Fri Feb  7 07:19:15 2003//TBUGZILLA-2_17_7
-/Hook.pm/1.1/Sun Jan 11 17:12:15 2004//TBUGZILLA-2_17_7
+/Bugzilla.pm/1.2/Fri Feb  7 07:19:15 2003//TBUGZILLA-2_18
+/Hook.pm/1.1/Sun Jan 11 17:12:15 2004//TBUGZILLA-2_18
 D
diff --git a/Bugzilla/Template/Plugin/CVS/Tag b/Bugzilla/Template/Plugin/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/Bugzilla/Template/Plugin/CVS/Tag
+++ b/Bugzilla/Template/Plugin/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/Token.pm b/Bugzilla/Token.pm
similarity index 89%
rename from Token.pm
rename to Bugzilla/Token.pm
index f7be40ab355b3d5e0b295a7f1f0aceb457842224..90efe99bda499769b9c8625d0c3141e0ea828946 100644
--- a/Token.pm
+++ b/Bugzilla/Token.pm
@@ -26,11 +26,12 @@
 # Make it harder for us to do dangerous things in Perl.
 use strict;
 
-# Bundle the functions in this file together into the "Token" package.
-package Token;
+# Bundle the functions in this file together into the "Bugzilla::Token" package.
+package Bugzilla::Token;
 
 use Bugzilla::Config;
 use Bugzilla::Error;
+use Bugzilla::BugMail;
 
 use Date::Format;
 
@@ -91,9 +92,7 @@ sub IssueEmailChangeToken {
     $template->process("account/email/change-old.txt.tmpl", $vars, \$message)
       || ThrowTemplateError($template->error());
 
-    open SENDMAIL, "|/usr/lib/sendmail -t -i";
-    print SENDMAIL $message;
-    close SENDMAIL;
+    Bugzilla::BugMail::MessageToMTA($message);
 
     $vars->{'token'} = $newtoken;
     $vars->{'emailaddress'} = $new_email . Param('emailsuffix');
@@ -102,10 +101,7 @@ sub IssueEmailChangeToken {
     $template->process("account/email/change-new.txt.tmpl", $vars, \$message)
       || ThrowTemplateError($template->error());
 
-    open SENDMAIL, "|/usr/lib/sendmail -t -i";
-    print SENDMAIL $message;
-    close SENDMAIL;
-
+    Bugzilla::BugMail::MessageToMTA($message);
 }
 
 sub IssuePasswordToken {
@@ -116,11 +112,19 @@ sub IssuePasswordToken {
 
     # Retrieve the user's ID from the database.
     my $quotedloginname = &::SqlQuote($loginname);
-    &::SendSQL("SELECT userid FROM profiles WHERE login_name = $quotedloginname");
-    my ($userid) = &::FetchSQLData();
+    &::SendSQL("SELECT profiles.userid, tokens.issuedate FROM profiles 
+                    LEFT JOIN tokens
+                    ON tokens.userid = profiles.userid
+                    AND tokens.tokentype = 'password'
+                    AND tokens.issuedate > DATE_SUB(NOW(), INTERVAL 10 MINUTE)
+                    WHERE login_name = $quotedloginname");
+    my ($userid, $toosoon) = &::FetchSQLData();
+
+    if ($toosoon) {
+        ThrowUserError('too_soon_for_new_token');
+    };
 
     my $token_ts = time();
-    my $issuedate = time2str("%Y-%m-%d %H:%M", $token_ts);
 
     # Generate a unique token and insert it into the tokens table.
     # We have to lock the tokens table before generating the token, 
@@ -130,7 +134,7 @@ sub IssuePasswordToken {
     my $quotedtoken = &::SqlQuote($token);
     my $quotedipaddr = &::SqlQuote($::ENV{'REMOTE_ADDR'});
     &::SendSQL("INSERT INTO tokens ( userid , issuedate , token , tokentype , eventdata )
-                VALUES      ( $userid , '$issuedate' , $quotedtoken , 'password' , $quotedipaddr )");
+                VALUES      ( $userid , NOW() , $quotedtoken , 'password' , $quotedipaddr )");
     &::SendSQL("UNLOCK TABLES");
 
     # Mail the user the token along with instructions for using it.
@@ -149,10 +153,7 @@ sub IssuePasswordToken {
                                                                $vars, \$message)
       || ThrowTemplateError($template->error());
 
-    open SENDMAIL, "|/usr/lib/sendmail -t -i";
-    print SENDMAIL $message;
-    close SENDMAIL;
-
+    Bugzilla::BugMail::MessageToMTA($message);
 }
 
 
@@ -228,9 +229,7 @@ sub Cancel {
     $template->process("account/cancel-token.txt.tmpl", $vars, \$message)
       || ThrowTemplateError($template->error());
 
-    open SENDMAIL, "|/usr/lib/sendmail -t -i";
-    print SENDMAIL $message;
-    close SENDMAIL;
+    Bugzilla::BugMail::MessageToMTA($message);
 
     # Delete the token from the database.
     &::SendSQL("LOCK TABLES tokens WRITE");
@@ -247,7 +246,7 @@ sub DeletePasswordTokens {
                             "WHERE userid=? AND tokentype='password'");
     $sth->execute($userid);
     while (my $token = $sth->fetchrow_array) {
-        Token::Cancel($token, $reason);
+        Bugzilla::Token::Cancel($token, $reason);
     }
 }
 
diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm
index e75976e598c62b244338bc7a5a6822011043b173..101305a81f44561a1d7a38ca6d0c4616cfc710a7 100644
--- a/Bugzilla/User.pm
+++ b/Bugzilla/User.pm
@@ -35,6 +35,7 @@ package Bugzilla::User;
 use Bugzilla::Config;
 use Bugzilla::Error;
 use Bugzilla::Util;
+use Bugzilla::Constants;
 
 ################################################################################
 # Functions
@@ -107,7 +108,14 @@ sub _create {
                                        $id);
 
     if ($result) {
+        my $is_main_db;
+        unless ($is_main_db = Bugzilla->dbwritesallowed()) {
+            Bugzilla->switch_to_main_db();
+        }
         $self->derive_groups($tables_locked_for_derive_groups);
+        unless ($is_main_db) {
+            Bugzilla->switch_to_shadow_db();
+        }
     }
 
     return $self;
@@ -116,12 +124,12 @@ sub _create {
 # Accessors for user attributes
 sub id { $_[0]->{id}; }
 sub login { $_[0]->{login}; }
-sub email { $_[0]->{login}; }
+sub email { $_[0]->{login} . Param('emailsuffix'); }
 sub name { $_[0]->{name}; }
 sub showmybugslink { $_[0]->{showmybugslink}; }
 
-# Generate a string to identify the user by name + email if the user
-# has a name or by email only if she doesn't.
+# Generate a string to identify the user by name + login if the user
+# has a name or by login only if she doesn't.
 sub identity {
     my $self = shift;
 
@@ -206,7 +214,7 @@ sub in_group {
 
     my $dbh = Bugzilla->dbh;
 
-    my $res = $dbh->selectrow(q{SELECT 1
+    my ($res) = $dbh->selectrow_array(q{SELECT 1
                                   FROM groups, user_group_map
                                  WHERE groups.id=user_group_map.group_id
                                    AND user_group_map.user_id=?
@@ -239,9 +247,10 @@ sub derive_groups {
     # first remove any old derived stuff for this user
     $dbh->do(q{DELETE FROM user_group_map
                       WHERE user_id = ?
-                        AND isderived = 1},
+                        AND grant_type != ?},
              undef,
-             $id);
+             $id,
+             GRANT_DIRECT);
 
     my %groupidsadded = ();
     # add derived records for any matching regexps
@@ -253,10 +262,10 @@ sub derive_groups {
     while (my $row = $sth->fetch) {
         if ($self->{login} =~ m/$row->[1]/i) {
             $group_insert ||= $dbh->prepare(q{INSERT INTO user_group_map
-                                              (user_id, group_id, isbless, isderived)
-                                              VALUES (?, ?, 0, 1)});
+                                              (user_id, group_id, isbless, grant_type)
+                                              VALUES (?, ?, 0, ?)});
             $groupidsadded{$row->[0]} = 1;
-            $group_insert->execute($id, $row->[0]);
+            $group_insert->execute($id, $row->[0], GRANT_REGEXP);
         }
     }
 
@@ -287,9 +296,9 @@ sub derive_groups {
                 if (!$groupidsadded{$groupid}) {
                     $groupidsadded{$groupid} = 1;
                     $group_insert ||= $dbh->prepare(q{INSERT INTO user_group_map
-                                                      (user_id, group_id, isbless, isderived)
-                                                      VALUES (?, ?, 0, 1)});
-                    $group_insert->execute($id, $groupid);
+                                                      (user_id, group_id, isbless, grant_type)
+                                                      VALUES (?, ?, 0, ?)});
+                    $group_insert->execute($id, $groupid, GRANT_DERIVED);
                 }
             }
         }
@@ -657,20 +666,6 @@ sub email_prefs {
     my @reasons = qw(Removeme Comments Attachments Status Resolved Keywords 
                      CC Other Unconfirmed);
 
-    # If the prefs are empty, this user hasn't visited the email pane
-    # of userprefs.cgi since before the change to use the "emailflags" 
-    # column, so initialize that field with the default prefs.
-    if (!$flags) {
-        # Create a default prefs string that causes the user to get all email.
-        $flags = "ExcludeSelf~on~FlagRequestee~on~FlagRequester~on~";
-        foreach my $role (@roles) {
-            foreach my $reason (@reasons) {
-                $flags .= "email$role$reason~on~";
-            }
-        }
-        chop $flags;
-    }
-
     # Convert the prefs from the flags string from the database into
     # a Perl record.  The 255 param is here because split will trim 
     # any trailing null fields without a third param, which causes Perl 
diff --git a/Bugzilla/Util.pm b/Bugzilla/Util.pm
index 4660b374da9010e449567ba15f34c0684f34e92e..0328c4f8686800b8ef85999df4cf7dfd76161094 100644
--- a/Bugzilla/Util.pm
+++ b/Bugzilla/Util.pm
@@ -149,7 +149,7 @@ sub trim {
 sub format_time {
     my ($time) = @_;
 
-    my ($year, $month, $day, $hour, $min);
+    my ($year, $month, $day, $hour, $min, $sec);
     if ($time =~ m/^\d{14}$/) {
         # We appear to have a timestamp direct from MySQL
         $year  = substr($time,0,4);
@@ -158,12 +158,13 @@ sub format_time {
         $hour  = substr($time,8,2);
         $min   = substr($time,10,2);
     }
-    elsif ($time =~ m/^(\d{4})\.(\d{2})\.(\d{2}) (\d{2}):(\d{2})(:\d{2})?$/) {
+    elsif ($time =~ m/^(\d{4})[-\.](\d{2})[-\.](\d{2}) (\d{2}):(\d{2})(:(\d{2}))?$/) {
         $year  = $1;
         $month = $2;
         $day   = $3;
         $hour  = $4;
         $min   = $5;
+        $sec   = $7;
     }
     else {
         warn "Date/Time format ($time) unrecogonzied";
@@ -171,6 +172,9 @@ sub format_time {
 
     if (defined $year) {
         $time = "$year-$month-$day $hour:$min";
+        if (defined $sec) {
+            $time .= ":$sec";
+        }
         $time .= " " . &::Param('timezone') if &::Param('timezone');
     }
     return $time;
diff --git a/CGI.pl b/CGI.pl
index 982b067b224d1f1e1ce2cac3b031dea94acb4aad..e648bd64ca95ebd24cdc197534be9335f6e4d2b1 100644
--- a/CGI.pl
+++ b/CGI.pl
@@ -32,10 +32,19 @@ use lib ".";
 
 # use Carp;                       # for confess
 
+BEGIN {
+    if ($^O =~ /MSWin32/i) {
+        # Help CGI find the correct temp directory as the default list
+        # isn't Windows friendly (Bug 248988)
+        $ENV{'TMPDIR'} = $ENV{'TEMP'} || $ENV{'TMP'} || "$ENV{'WINDIR'}\\TEMP";
+    }
+}
+
 use Bugzilla::Util;
 use Bugzilla::Config;
 use Bugzilla::Constants;
 use Bugzilla::Error;
+use Bugzilla::BugMail;
 
 # Shut up misguided -w warnings about "used only once".  For some reason,
 # "use vars" chokes on me when I try it here.
@@ -140,7 +149,7 @@ sub ValidateBugID {
     # database, and that the user is authorized to access that bug.
     # We detaint the number here, too
 
-    my ($id, $skip_authorization) = @_;
+    my ($id, $field) = @_;
     
     # Get rid of white-space around the ID.
     $id = trim($id);
@@ -149,7 +158,9 @@ sub ValidateBugID {
     my $alias = $id;
     if (!detaint_natural($id)) {
         $id = BugAliasToID($alias);
-        $id || ThrowUserError("invalid_bug_id_or_alias", {'bug_id' => $id});
+        $id || ThrowUserError("invalid_bug_id_or_alias",
+                              {'bug_id' => $alias,
+                               'field'  => $field });
     }
     
     # Modify the calling code's original variable to contain the trimmed,
@@ -162,7 +173,7 @@ sub ValidateBugID {
     FetchOneColumn()
       || ThrowUserError("invalid_bug_id_non_existent", {'bug_id' => $id});
 
-    return if $skip_authorization;
+    return if (defined $field && ($field eq "dependson" || $field eq "blocked"));
     
     return if CanSeeBug($id, $::userid);
 
@@ -198,10 +209,6 @@ sub PasswordForLogin {
     return $result;
 }
 
-sub quietly_check_login {
-    return Bugzilla->login($_[0] ? LOGIN_OPTIONAL : LOGIN_NORMAL);
-}
-
 sub CheckEmailSyntax {
     my ($addr) = (@_);
     my $match = Param('emailregexp');
@@ -219,13 +226,7 @@ sub MailPassword {
                              "login" => $login,
                              "password" => $password});
 
-    open SENDMAIL, "|/usr/lib/sendmail -t -i";
-    print SENDMAIL $msg;
-    close SENDMAIL;
-}
-
-sub confirm_login {
-    return Bugzilla->login(LOGIN_REQUIRED);
+    Bugzilla::BugMail::MessageToMTA($msg);
 }
 
 sub PutHeader {
@@ -243,11 +244,13 @@ sub PutFooter {
 
 sub CheckIfVotedConfirmed {
     my ($id, $who) = (@_);
+    PushGlobalSQLState();
     SendSQL("SELECT bugs.votes, bugs.bug_status, products.votestoconfirm, " .
             "       bugs.everconfirmed " .
             "FROM bugs, products " .
             "WHERE bugs.bug_id = $id AND products.id = bugs.product_id");
     my ($votes, $status, $votestoconfirm, $everconfirmed) = (FetchSQLData());
+    my $ret = 0;
     if ($votes >= $votestoconfirm && $status eq $::unconfirmedstate) {
         SendSQL("UPDATE bugs SET bug_status = 'NEW', everconfirmed = 1 " .
                 "WHERE bug_id = $id");
@@ -271,12 +274,15 @@ sub CheckIfVotedConfirmed {
         
         $template->process("bug/process/results.html.tmpl", $vars)
           || ThrowTemplateError($template->error());
+        $ret = 1;
     }
-
+    PopGlobalSQLState();
+    return $ret;
 }
 sub LogActivityEntry {
     my ($i,$col,$removed,$added,$whoid,$timestamp) = @_;
-    # in the case of CCs, deps, and keywords, there's a possibility that someone    # might try to add or remove a lot of them at once, which might take more
+    # in the case of CCs, deps, and keywords, there's a possibility that someone
+    # might try to add or remove a lot of them at once, which might take more
     # space than the activity table allows.  We'll solve this by splitting it
     # into multiple entries if it's too long.
     while ($removed || $added) {
@@ -315,19 +321,25 @@ sub GetBugActivity {
     if (defined $starttime) {
         $datepart = "and bugs_activity.bug_when > " . SqlQuote($starttime);
     }
-    
+    my $suppjoins = "";
+    my $suppwhere = "";
+    if (Param("insidergroup") && !UserInGroup(Param('insidergroup'))) {
+        $suppjoins = "LEFT JOIN attachments 
+                   ON attachments.attach_id = bugs_activity.attach_id";
+        $suppwhere = "AND NOT(COALESCE(attachments.isprivate,0))"; 
+    }
     my $query = "
         SELECT IFNULL(fielddefs.description, bugs_activity.fieldid),
                 fielddefs.name,
                 bugs_activity.attach_id,
-                DATE_FORMAT(bugs_activity.bug_when,'%Y.%m.%d %H:%i'),
+                DATE_FORMAT(bugs_activity.bug_when,'%Y.%m.%d %H:%i:%s'),
                 bugs_activity.removed, bugs_activity.added,
                 profiles.login_name
-        FROM bugs_activity LEFT JOIN fielddefs ON 
+        FROM bugs_activity $suppjoins LEFT JOIN fielddefs ON 
                                      bugs_activity.fieldid = fielddefs.fieldid,
              profiles
         WHERE bugs_activity.bug_id = $id $datepart
-              AND profiles.userid = bugs_activity.who
+              AND profiles.userid = bugs_activity.who $suppwhere
         ORDER BY bugs_activity.bug_when";
 
     SendSQL($query);
diff --git a/CVS/Entries b/CVS/Entries
index beca216c883f9c10cf19b8c3c87a2d2ec2a2a947..1f21195d9d30ce8c5cc9e13c2b125e040f47d9dd 100644
--- a/CVS/Entries
+++ b/CVS/Entries
@@ -1,83 +1,79 @@
-/.cvsignore/1.6/Mon May 13 22:28:26 2002//TBUGZILLA-2_17_7
-/1x1.gif/1.1/Wed Aug 26 06:14:15 1998/-kb/TBUGZILLA-2_17_7
-/Attachment.pm/1.15/Thu Feb  5 18:14:01 2004//TBUGZILLA-2_17_7
-/Bug.pm/1.33/Tue Sep  2 06:54:58 2003//TBUGZILLA-2_17_7
-/Bugzilla.pm/1.9/Thu Nov 27 01:00:59 2003//TBUGZILLA-2_17_7
-/CGI.pl/1.209/Thu Oct 30 01:31:57 2003//TBUGZILLA-2_17_7
-/QUICKSTART/1.3/Thu Jan 15 15:02:45 2004//TBUGZILLA-2_17_7
-/README/1.52/Fri Oct 10 02:22:39 2003//TBUGZILLA-2_17_7
-/RelationSet.pm/1.9/Sun Dec  7 01:47:18 2003//TBUGZILLA-2_17_7
-/Token.pm/1.20/Sun Sep 14 06:04:40 2003//TBUGZILLA-2_17_7
-/UPGRADING/1.1/Fri Aug 10 22:35:21 2001//TBUGZILLA-2_17_7
-/UPGRADING-pre-2.8/1.3/Thu Mar 27 00:06:37 2003//TBUGZILLA-2_17_7
-/ant.jpg/1.2/Wed Aug 26 22:36:05 1998/-kb/TBUGZILLA-2_17_7
-/attachment.cgi/1.51/Thu Feb  5 18:14:01 2004//TBUGZILLA-2_17_7
-/bug_status.html/1.16/Thu Oct 30 17:12:30 2003//TBUGZILLA-2_17_7
-/buglist.cgi/1.245/Fri Feb 27 11:18:45 2004//TBUGZILLA-2_17_7
-/bugwritinghelp.html/1.3/Mon Apr 15 02:47:53 2002//TBUGZILLA-2_17_7
-/bugzilla.dtd/1.8/Sun Dec 15 09:23:55 2002//TBUGZILLA-2_17_7
-/chart.cgi/1.4/Thu Feb 12 22:32:58 2004//TBUGZILLA-2_17_7
-/checksetup.pl/1.264/Thu Feb 26 00:07:23 2004//TBUGZILLA-2_17_7
-/colchange.cgi/1.38/Wed Nov 19 06:29:20 2003//TBUGZILLA-2_17_7
-/collectstats.pl/1.35/Wed Feb 11 23:41:36 2004//TBUGZILLA-2_17_7
-/config.cgi/1.3/Mon Jun 23 18:01:36 2003//TBUGZILLA-2_17_7
-/createaccount.cgi/1.32/Tue Feb 24 12:25:11 2004//TBUGZILLA-2_17_7
-/defparams.pl/1.125/Thu Feb 26 00:07:23 2004//TBUGZILLA-2_17_7
-/describecomponents.cgi/1.23/Mon Nov  3 03:25:51 2003//TBUGZILLA-2_17_7
-/describekeywords.cgi/1.11/Mon May  5 01:15:21 2003//TBUGZILLA-2_17_7
-/doeditparams.cgi/1.29/Sat Nov 22 03:50:38 2003//TBUGZILLA-2_17_7
-/duplicates.cgi/1.41/Sat Nov 22 03:50:38 2003//TBUGZILLA-2_17_7
-/duplicates.xul/1.1/Tue Nov  5 01:54:01 2002//TBUGZILLA-2_17_7
-/editcomponents.cgi/1.37/Mon Dec  8 23:13:35 2003//TBUGZILLA-2_17_7
-/editflagtypes.cgi/1.5/Mon May  5 01:15:22 2003//TBUGZILLA-2_17_7
-/editgroups.cgi/1.31/Wed Nov 19 06:42:04 2003//TBUGZILLA-2_17_7
-/editkeywords.cgi/1.19/Tue Dec  9 23:12:32 2003//TBUGZILLA-2_17_7
-/editmilestones.cgi/1.18/Sat Nov 22 03:50:38 2003//TBUGZILLA-2_17_7
-/editparams.cgi/1.20/Mon May  5 01:15:24 2003//TBUGZILLA-2_17_7
-/editproducts.cgi/1.44/Mon Dec  8 23:13:35 2003//TBUGZILLA-2_17_7
-/editusers.cgi/1.48/Mon Nov 10 17:56:03 2003//TBUGZILLA-2_17_7
-/editversions.cgi/1.18/Sat Nov 22 03:50:38 2003//TBUGZILLA-2_17_7
-/enter_bug.cgi/1.88/Wed Feb  4 15:23:39 2004//TBUGZILLA-2_17_7
-/globals.pl/1.255/Wed Mar  3 05:19:28 2004//TBUGZILLA-2_17_7
-/importxml.pl/1.35/Sat Nov 22 03:50:39 2003//TBUGZILLA-2_17_7
-/index.cgi/1.12/Sat Feb 14 10:54:51 2004//TBUGZILLA-2_17_7
-/localconfig.js/1.2/Thu Jul 17 22:49:47 2003//TBUGZILLA-2_17_7
-/long_list.cgi/1.36/Tue Aug  5 00:31:19 2003//TBUGZILLA-2_17_7
-/move.pl/1.23/Sat Nov 22 03:50:39 2003//TBUGZILLA-2_17_7
-/page.cgi/1.11/Sat Nov 22 03:50:39 2003//TBUGZILLA-2_17_7
-/post_bug.cgi/1.86/Sat Jan 31 00:12:09 2004//TBUGZILLA-2_17_7
-/process_bug.cgi/1.199/Fri Feb 13 20:24:51 2004//TBUGZILLA-2_17_7
-/productmenu.js/1.1/Sat Sep 28 18:42:29 2002//TBUGZILLA-2_17_7
-/query.cgi/1.123/Thu Feb 12 04:45:17 2004//TBUGZILLA-2_17_7
-/queryhelp.cgi/1.22/Sun Feb 29 14:29:38 2004//TBUGZILLA-2_17_7
-/quicksearch.html/1.3/Mon Apr 15 02:47:55 2002//TBUGZILLA-2_17_7
-/quicksearch.js/1.11/Sun Feb 29 15:22:26 2004//TBUGZILLA-2_17_7
-/quicksearchhack.html/1.4/Mon Apr 15 02:47:55 2002//TBUGZILLA-2_17_7
-/quips.cgi/1.21/Mon May  5 01:15:28 2003//TBUGZILLA-2_17_7
-/relogin.cgi/1.24/Thu Nov 27 01:00:59 2003//TBUGZILLA-2_17_7
-/report.cgi/1.20/Sun Sep 14 23:00:09 2003//TBUGZILLA-2_17_7
-/reports.cgi/1.69/Sat Nov 22 03:50:40 2003//TBUGZILLA-2_17_7
-/request.cgi/1.10/Sun Sep 14 06:04:53 2003//TBUGZILLA-2_17_7
-/robots.txt/1.2/Wed Apr 24 18:11:00 2002//TBUGZILLA-2_17_7
-/runtests.pl/1.3/Thu Mar 27 00:06:47 2003//TBUGZILLA-2_17_7
-/runtests.sh/1.7/Thu Mar 27 00:06:47 2003//TBUGZILLA-2_17_7
-/sanitycheck.cgi/1.69/Sun Feb 29 14:24:06 2004//TBUGZILLA-2_17_7
-/show_activity.cgi/1.14/Fri Feb 27 11:13:55 2004//TBUGZILLA-2_17_7
-/show_bug.cgi/1.25/Wed Aug 20 00:45:40 2003//TBUGZILLA-2_17_7
-/showattachment.cgi/1.14/Mon May  5 01:15:29 2003//TBUGZILLA-2_17_7
-/showdependencygraph.cgi/1.32/Wed Dec  3 18:31:52 2003//TBUGZILLA-2_17_7
-/showdependencytree.cgi/1.27/Mon May  5 01:15:30 2003//TBUGZILLA-2_17_7
-/sidebar.cgi/1.13/Tue Jun  3 09:47:44 2003//TBUGZILLA-2_17_7
-/token.cgi/1.21/Sun Feb 29 14:19:27 2004//TBUGZILLA-2_17_7
-/userprefs.cgi/1.52/Wed Mar  3 05:19:28 2004//TBUGZILLA-2_17_7
-/votehelp.html/1.10/Mon Apr 15 02:47:56 2002//TBUGZILLA-2_17_7
-/votes.cgi/1.15/Mon Nov  3 03:20:49 2003//TBUGZILLA-2_17_7
-/whineatnews.pl/1.13/Fri Feb 27 11:10:01 2004//TBUGZILLA-2_17_7
-/xml.cgi/1.12/Thu Mar 27 00:06:50 2003//TBUGZILLA-2_17_7
+/.cvsignore/1.6/Mon May 13 22:28:26 2002//TBUGZILLA-2_18
+/1x1.gif/1.1/Wed Aug 26 06:14:15 1998/-kb/TBUGZILLA-2_18
+/Bugzilla.pm/1.10/Sat Mar 27 01:28:29 2004//TBUGZILLA-2_18
+/CGI.pl/1.211.2.8/Tue Jan 11 17:17:00 2005//TBUGZILLA-2_18
+/QUICKSTART/1.4/Thu Jul  8 19:59:25 2004//TBUGZILLA-2_18
+/README/1.52/Fri Oct 10 02:22:39 2003//TBUGZILLA-2_18
+/UPGRADING/1.1/Fri Aug 10 22:35:21 2001//TBUGZILLA-2_18
+/UPGRADING-pre-2.8/1.3/Thu Mar 27 00:06:37 2003//TBUGZILLA-2_18
+/ant.jpg/1.2/Wed Aug 26 22:36:05 1998/-kb/TBUGZILLA-2_18
+/attachment.cgi/1.58.2.3/Tue Dec 28 23:39:05 2004//TBUGZILLA-2_18
+/buglist.cgi/1.255.2.7/Wed Jan 12 17:03:56 2005//TBUGZILLA-2_18
+/bugzilla.dtd/1.8/Sun Dec 15 09:23:55 2002//TBUGZILLA-2_18
+/chart.cgi/1.7.2.1/Wed Sep 15 19:46:13 2004//TBUGZILLA-2_18
+/checksetup.pl/1.289.2.24/Fri Jan 14 09:51:36 2005//TBUGZILLA-2_18
+/colchange.cgi/1.41.2.2/Sun Dec  5 14:24:27 2004//TBUGZILLA-2_18
+/collectstats.pl/1.38.2.2/Wed Oct 20 23:00:45 2004//TBUGZILLA-2_18
+/config.cgi/1.5/Sat Mar 27 03:51:44 2004//TBUGZILLA-2_18
+/createaccount.cgi/1.33/Sat Mar 27 03:51:44 2004//TBUGZILLA-2_18
+/defparams.pl/1.128.2.3/Thu Dec  9 10:55:05 2004//TBUGZILLA-2_18
+/describecomponents.cgi/1.26.2.1/Fri Jan  7 21:33:30 2005//TBUGZILLA-2_18
+/describekeywords.cgi/1.12/Sat Mar 27 03:51:44 2004//TBUGZILLA-2_18
+/doeditparams.cgi/1.31/Sat Mar 27 03:51:44 2004//TBUGZILLA-2_18
+/duplicates.cgi/1.44/Sat Jul 10 07:17:02 2004//TBUGZILLA-2_18
+/duplicates.xul/1.1/Tue Nov  5 01:54:01 2002//TBUGZILLA-2_18
+/editcomponents.cgi/1.41.2.2/Sun Aug 29 23:14:13 2004//TBUGZILLA-2_18
+/editflagtypes.cgi/1.7.2.4/Tue Dec 14 01:59:58 2004//TBUGZILLA-2_18
+/editgroups.cgi/1.38.2.1/Tue Jul 27 15:14:51 2004//TBUGZILLA-2_18
+/editkeywords.cgi/1.22/Mon Apr  5 01:32:43 2004//TBUGZILLA-2_18
+/editmilestones.cgi/1.23.2.1/Tue Jul 27 15:14:51 2004//TBUGZILLA-2_18
+/editparams.cgi/1.22/Sun May 23 07:22:32 2004//TBUGZILLA-2_18
+/editproducts.cgi/1.53.2.5/Sat Jan  8 18:14:36 2005//TBUGZILLA-2_18
+/editusers.cgi/1.61.2.5/Fri Jan  7 20:54:31 2005//TBUGZILLA-2_18
+/editversions.cgi/1.22.2.1/Tue Jul 27 15:14:51 2004//TBUGZILLA-2_18
+/enter_bug.cgi/1.94.2.2/Fri Jan  7 20:31:42 2005//TBUGZILLA-2_18
+/globals.pl/1.270.2.5/Fri Jan  7 20:54:31 2005//TBUGZILLA-2_18
+/importxml.pl/1.36.2.1/Sat Jan  1 13:47:54 2005//TBUGZILLA-2_18
+/index.cgi/1.13/Sat Mar 27 03:51:44 2004//TBUGZILLA-2_18
+/localconfig.js/1.2/Thu Jul 17 22:49:47 2003//TBUGZILLA-2_18
+/long_list.cgi/1.38/Sat Mar 27 03:51:44 2004//TBUGZILLA-2_18
+/move.pl/1.26.2.2/Sat Jan  1 13:47:54 2005//TBUGZILLA-2_18
+/padlock.png/1.1.2.2/Thu Sep 23 18:10:06 2004/-kb/TBUGZILLA-2_18
+/page.cgi/1.15/Sat Apr 17 04:41:14 2004//TBUGZILLA-2_18
+/post_bug.cgi/1.88.2.3/Fri Jan  7 20:31:42 2005//TBUGZILLA-2_18
+/process_bug.cgi/1.205.2.12/Fri Jan 14 16:30:00 2005//TBUGZILLA-2_18
+/productmenu.js/1.1.4.1/Tue Dec 14 02:29:57 2004//TBUGZILLA-2_18
+/query.cgi/1.126.2.4/Fri Dec 31 08:01:17 2004//TBUGZILLA-2_18
+/quicksearch.html/1.3/Mon Apr 15 02:47:55 2002//TBUGZILLA-2_18
+/quicksearch.js/1.11/Sun Feb 29 15:22:26 2004//TBUGZILLA-2_18
+/quicksearchhack.html/1.5/Sun Mar  7 23:27:32 2004//TBUGZILLA-2_18
+/quips.cgi/1.24/Sat Mar 27 20:20:47 2004//TBUGZILLA-2_18
+/relogin.cgi/1.25/Sat Mar 27 03:51:44 2004//TBUGZILLA-2_18
+/report.cgi/1.24.2.2/Fri Nov  5 09:22:37 2004//TBUGZILLA-2_18
+/reports.cgi/1.72/Sat Jul 10 08:03:15 2004//TBUGZILLA-2_18
+/request.cgi/1.14.2.2/Tue Dec 14 02:29:57 2004//TBUGZILLA-2_18
+/robots.txt/1.2/Wed Apr 24 18:11:00 2002//TBUGZILLA-2_18
+/runtests.pl/1.3.2.1/Fri Sep  3 06:59:31 2004//TBUGZILLA-2_18
+/runtests.sh/1.7/Thu Mar 27 00:06:47 2003//TBUGZILLA-2_18
+/sanitycheck.cgi/1.72.2.1/Thu Dec  9 09:36:34 2004//TBUGZILLA-2_18
+/show_activity.cgi/1.15/Sat Mar 27 03:51:44 2004//TBUGZILLA-2_18
+/show_bug.cgi/1.29.2.1/Mon Oct 25 07:26:56 2004//TBUGZILLA-2_18
+/showattachment.cgi/1.14/Mon May  5 01:15:29 2003//TBUGZILLA-2_18
+/showdependencygraph.cgi/1.35/Tue Jun 22 08:05:49 2004//TBUGZILLA-2_18
+/showdependencytree.cgi/1.29/Sat Mar 27 03:51:44 2004//TBUGZILLA-2_18
+/sidebar.cgi/1.14/Sat Mar 27 03:51:44 2004//TBUGZILLA-2_18
+/testagent.cgi/1.1.2.1/Thu Jul 22 07:02:48 2004//TBUGZILLA-2_18
+/testserver.pl/1.1.2.2/Sat Aug 28 09:06:16 2004//TBUGZILLA-2_18
+/token.cgi/1.26/Sat Mar 27 03:51:44 2004//TBUGZILLA-2_18
+/userprefs.cgi/1.58.2.4/Fri Jan  7 20:54:31 2005//TBUGZILLA-2_18
+/votes.cgi/1.17.2.2/Wed Jan 12 22:06:02 2005//TBUGZILLA-2_18
+/whineatnews.pl/1.14.2.1/Sat Jan  1 13:47:54 2005//TBUGZILLA-2_18
+/xml.cgi/1.12/Thu Mar 27 00:06:50 2003//TBUGZILLA-2_18
 D/Bugzilla////
 D/contrib////
 D/css////
 D/docs////
 D/js////
+D/skins////
 D/t////
 D/template////
diff --git a/CVS/Entries.Log b/CVS/Entries.Log
index 9e28d4fb7d7b57f85fc0c89758c320f5567f3cda..68914d487da708b45a355493df5c467fe198eac2 100644
--- a/CVS/Entries.Log
+++ b/CVS/Entries.Log
@@ -1,4 +1,6 @@
 A D/Conf////
+A D/images////
 A D/oracle////
 R D/oracle////
+R D/images////
 R D/Conf////
diff --git a/CVS/Tag b/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/CVS/Tag
+++ b/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/QUICKSTART b/QUICKSTART
index 9618efa08fcc923170373b9a364ec8f10b0c73ce..3f26f06d1aab60129f40cac6394a9cbf0c8ce498 100644
--- a/QUICKSTART
+++ b/QUICKSTART
@@ -11,7 +11,7 @@ of the Bugzilla Guide in the docs/ directory.
 1. Decide from which URL and directory under your webserver root you
    will be serving the Bugzilla webpages from.
    
-2. Unpack distribution into the chosen directory (there is no copy or
+2. Unpack distribution into the chosen directory (there is no copying or
    installation involved). 
 
 3. Run ./checksetup.pl, look for unsolved requirements, install them.
diff --git a/attachment.cgi b/attachment.cgi
index 8df562120023d7397c676daf8bde6d9ff2c2d281..9847dc2898d04edff1a99754bb6ff01f8899a53e 100755
--- a/attachment.cgi
+++ b/attachment.cgi
@@ -42,16 +42,14 @@ use vars qw(
 require "CGI.pl";
 
 # Use these modules to handle flags.
+use Bugzilla::Constants;
 use Bugzilla::Flag; 
 use Bugzilla::FlagType; 
 use Bugzilla::User;
 use Bugzilla::Util;
 
-# Establish a connection to the database backend.
-ConnectToDatabase();
-
 # Check whether or not the user is logged in and, if so, set the $::userid 
-quietly_check_login();
+Bugzilla->login();
 
 # The ID of the bug to which the attachment is attached.  Gets set
 # by validateID() (which validates the attachment ID, not the bug ID, but has
@@ -70,17 +68,18 @@ my $cgi = Bugzilla->cgi;
 # Main Body Execution
 ################################################################################
 
-# All calls to this script should contain an "action" variable whose value
-# determines what the user wants to do.  The code below checks the value of
-# that variable and runs the appropriate code.
+# All calls to this script should contain an "action" variable whose
+# value determines what the user wants to do.  The code below checks
+# the value of that variable and runs the appropriate code. If none is
+# supplied, we default to 'view'.
 
 # Determine whether to use the action specified by the user or the default.
 my $action = $::FORM{'action'} || 'view';
 
 if ($action eq "view")  
-{ 
+{
   validateID();
-  view(); 
+  view();
 }
 elsif ($action eq "interdiff")
 {
@@ -104,14 +103,14 @@ elsif ($action eq "viewall")
 }
 elsif ($action eq "enter") 
 { 
-  confirm_login();
+  Bugzilla->login(LOGIN_REQUIRED);
   ValidateBugID($::FORM{'bugid'});
   validateCanChangeBug($::FORM{'bugid'});
   enter(); 
 }
 elsif ($action eq "insert")
 {
-  confirm_login();
+  Bugzilla->login(LOGIN_REQUIRED);
   ValidateBugID($::FORM{'bugid'});
   validateCanChangeBug($::FORM{'bugid'});
   ValidateComment($::FORM{'comment'});
@@ -125,14 +124,13 @@ elsif ($action eq "insert")
 }
 elsif ($action eq "edit") 
 { 
-  quietly_check_login();
   validateID();
   validateCanEdit($::FORM{'id'});
   edit(); 
 }
 elsif ($action eq "update") 
 { 
-  confirm_login();
+  Bugzilla->login(LOGIN_REQUIRED);
   ValidateComment($::FORM{'comment'});
   validateID();
   validateCanEdit($::FORM{'id'});
@@ -168,47 +166,64 @@ sub validateID
 {
     my $param = @_ ? $_[0] : 'id';
 
-    # Validate the value of the "id" form field, which must contain an
-    # integer that is the ID of an existing attachment.
+    # If we're not doing interdiffs, check if id wasn't specified and
+    # prompt them with a page that allows them to choose an attachment.
+    # Happens when calling plain attachment.cgi from the urlbar directly
+    if ($param eq 'id' && !$cgi->param('id')) {
 
-    $vars->{'attach_id'} = $::FORM{$param};
+        print Bugzilla->cgi->header();
+        $template->process("attachment/choose.html.tmpl", $vars) ||
+            ThrowTemplateError($template->error());
+        exit;
+    }
     
-    detaint_natural($::FORM{$param}) 
-     || ThrowUserError("invalid_attach_id");
+    my $attach_id = $cgi->param($param);
+
+    # Validate the specified attachment id. detaint kills $attach_id if
+    # non-natural, so use the original value from $cgi in our exception
+    # message here.
+    detaint_natural($attach_id)
+     || ThrowUserError("invalid_attach_id", { attach_id => $cgi->param($param) });
   
     # Make sure the attachment exists in the database.
-    SendSQL("SELECT bug_id, isprivate FROM attachments WHERE attach_id = $::FORM{$param}");
+    SendSQL("SELECT bug_id, isprivate FROM attachments WHERE attach_id = $attach_id");
     MoreSQLData()
-      || ThrowUserError("invalid_attach_id");
+      || ThrowUserError("invalid_attach_id", { attach_id => $attach_id });
 
     # Make sure the user is authorized to access this attachment's bug.
     ($bugid, my $isprivate) = FetchSQLData();
     ValidateBugID($bugid);
-    if (($isprivate > 0 ) && Param("insidergroup") && !(UserInGroup(Param("insidergroup")))) {
+    if (($isprivate > 0 ) && Param("insidergroup") && 
+        !(UserInGroup(Param("insidergroup")))) {
         ThrowUserError("attachment_access_denied");
     }
+
+    # XXX shim code, kill $::FORM
+    $::FORM{$param} = $attach_id;
 }
 
 sub validateFormat
 {
-  $::FORM{'format'} ||= $_[0];
-  if (! grep { $_ eq $::FORM{'format'} } @_)
+  # receives a list of legal formats; first item is a default
+  my $format = $cgi->param('format') || $_[0];
+  if ( lsearch(\@_, $format) == -1)
   {
-     $vars->{'format'} = $::FORM{'format'};
-     $vars->{'formats'} = \@_;
-     ThrowUserError("invalid_format");
+     ThrowUserError("invalid_format", { format  => $format, formats => \@_ });
   }
+
+  # XXX shim code, kill $::FORM
+  $::FORM{'format'} = $format;
 }
 
 sub validateContext
 {
-  $::FORM{'context'} ||= "patch";
-  if ($::FORM{'context'} ne "file" && $::FORM{'context'} ne "patch") {
-    $vars->{'context'} = $::FORM{'context'};
-    detaint_natural($::FORM{'context'})
-      || ThrowUserError("invalid_context");
-    delete $vars->{'context'};
+  my $context = $cgi->param('context') || "patch";
+  if ($context ne "file" && $context ne "patch") {
+    detaint_natural($context)
+      || ThrowUserError("invalid_context", { context => $cgi->param('context') });
   }
+  # XXX shim code, kill $::FORM
+  $::FORM{'context'} = $context;
 }
 
 sub validateCanEdit
@@ -216,9 +231,10 @@ sub validateCanEdit
     my ($attach_id) = (@_);
 
     # If the user is not logged in, claim that they can edit. This allows
-    # the edit scrren to be displayed to people who aren't logged in.
+    # the edit screen to be displayed to people who aren't logged in.
     # People not logged in can't actually commit changes, because that code
-    # calls confirm_login, not quietly_check_login, before calling this sub
+    # calls Bugzilla->login with LOGIN_REQUIRED, not with LOGIN_NORMAL,
+    # before calling this sub
     return if $::userid == 0;
 
     # People in editbugs can edit all attachments
@@ -758,6 +774,8 @@ sub viewall
      $a{'description'}, $a{'ispatch'}, $a{'isobsolete'}, $a{'isprivate'},
      $a{'datasize'}) = FetchSQLData();
     $a{'isviewable'} = isViewable($a{'contenttype'});
+    $a{'flags'} = Bugzilla::Flag::match({ 'attach_id' => $a{'attachid'},
+                                          'is_active' => 1 });
 
     # Add the hash representing the attachment to the array of attachments.
     push @attachments, \%a;
@@ -840,9 +858,13 @@ sub insert
   my $thedata = SqlQuote($data);
   my $isprivate = $::FORM{'isprivate'} ? 1 : 0;
 
+  # Figure out when the changes were made.
+  my ($timestamp) = Bugzilla->dbh->selectrow_array("SELECT NOW()"); 
+  my $sql_timestamp = SqlQuote($timestamp); 
+
   # Insert the attachment into the database.
   SendSQL("INSERT INTO attachments (bug_id, creation_ts, filename, description, mimetype, ispatch, isprivate, submitter_id, thedata) 
-           VALUES ($::FORM{'bugid'}, now(), $filename, $description, $contenttype, $::FORM{'ispatch'}, $isprivate, $::userid, $thedata)");
+           VALUES ($::FORM{'bugid'}, $sql_timestamp, $filename, $description, $contenttype, $::FORM{'ispatch'}, $isprivate, $::userid, $thedata)");
 
   # Retrieve the ID of the newly created attachment record.
   SendSQL("SELECT LAST_INSERT_ID()");
@@ -860,26 +882,27 @@ sub insert
   AppendComment($::FORM{'bugid'}, 
                 $::COOKIE{"Bugzilla_login"},
                 $comment,
-                $isprivate);
+                $isprivate,
+                $timestamp);
 
   # Make existing attachments obsolete.
   my $fieldid = GetFieldID('attachments.isobsolete');
   foreach my $obsolete_id (@{$::MFORM{'obsolete'}}) {
       SendSQL("UPDATE attachments SET isobsolete = 1 WHERE attach_id = $obsolete_id");
       SendSQL("INSERT INTO bugs_activity (bug_id, attach_id, who, bug_when, fieldid, removed, added) 
-               VALUES ($::FORM{'bugid'}, $obsolete_id, $::userid, NOW(), $fieldid, '0', '1')");
+               VALUES ($::FORM{'bugid'}, $obsolete_id, $::userid, $sql_timestamp, $fieldid, '0', '1')");
       # If the obsolete attachment has pending flags, migrate them to the new attachment.
-      if (Bugzilla::Flag::count({ 'attach_id' => $obsolete_id , 'status' => 'pending' })) {
-        Bugzilla::Flag::migrate($obsolete_id, $attachid);
+      if (Bugzilla::Flag::count({ 'attach_id' => $obsolete_id , 
+                                  'status' => 'pending',
+                                  'is_active' => 1 })) {
+        Bugzilla::Flag::migrate($obsolete_id, $attachid, $timestamp);
       }
   }
 
   # Assign the bug to the user, if they are allowed to take it
-  my $forcecc = "";
+  my $owner = "";
   
   if ($::FORM{'takebug'} && UserInGroup("editbugs")) {
-      SendSQL("select NOW()");
-      my $timestamp = FetchOneColumn();
       
       my @fields = ("assigned_to", "bug_status", "resolution", "login_name");
       
@@ -892,7 +915,7 @@ sub insert
       my @newvalues = ($::userid, "ASSIGNED", "", DBID_to_name($::userid));
       
       # Make sure the person we are taking the bug from gets mail.
-      $forcecc = $oldvalues[3];  
+      $owner = $oldvalues[3];  
                   
       @oldvalues = map(SqlQuote($_), @oldvalues);
       @newvalues = map(SqlQuote($_), @newvalues);
@@ -913,15 +936,22 @@ sub insert
               SendSQL("INSERT INTO bugs_activity " .
                       "(bug_id, who, bug_when, fieldid, removed, added) " .
                       " VALUES ($::FORM{'bugid'}, $::userid, " . 
-                      SqlQuote($timestamp) . 
+                      "$sql_timestamp " . 
                       ", $fieldid, $oldvalues[$i], $newvalues[$i])");
           }
       }      
   }   
   
   # Define the variables and functions that will be passed to the UI template.
-  $vars->{'mailrecipients'} =  { 'changer' => $::COOKIE{'Bugzilla_login'} };
-  $vars->{'bugid'} = $::FORM{'bugid'};
+  $vars->{'mailrecipients'} =  { 'changer' => $::COOKIE{'Bugzilla_login'},
+                                 'owner'   => $owner };
+  my $bugid = $::FORM{'bugid'};
+  detaint_natural($bugid); # don't bother with error condition, we know it'll work
+                           # because of ValidateBugID above.  This is only needed
+                           # for Perl 5.6.0.  If we ever require Perl 5.6.1 or
+                           # newer, or detaint something other than $::FORM{'bugid'}
+                           # in ValidateBugID above, then this can go away.
+  $vars->{'bugid'} = $bugid;
   $vars->{'attachid'} = $attachid;
   $vars->{'description'} = $description;
   $vars->{'contenttypemethod'} = $::FORM{'contenttypemethod'};
@@ -966,7 +996,8 @@ sub edit
                                                'component_id' => $component_id });
   foreach my $flag_type (@$flag_types) {
     $flag_type->{'flags'} = Bugzilla::Flag::match({ 'type_id'   => $flag_type->{'id'}, 
-                                                    'attach_id' => $::FORM{'id'} });
+                                                    'attach_id' => $::FORM{'id'},
+                                                    'is_active' => 1 });
   }
   $vars->{'flag_types'} = $flag_types;
   $vars->{'any_flags_requesteeble'} = grep($_->{'is_requesteeble'}, @$flag_types);
@@ -1006,11 +1037,6 @@ sub update
   # Get the bug ID for the bug to which this attachment is attached.
   SendSQL("SELECT bug_id FROM attachments WHERE attach_id = $::FORM{'id'}");
   my $bugid = FetchSQLData();
-  unless ($bugid) 
-  {
-    ThrowUserError("invalid_bug_id",
-                   { bug_id => $bugid });
-  }
   
   # Lock database tables in preparation for updating the attachment.
   SendSQL("LOCK TABLES attachments WRITE , flags WRITE , " . 
@@ -1052,11 +1078,10 @@ sub update
          ");
 
   # Figure out when the changes were made.
-  SendSQL("SELECT NOW()");
-  my $timestamp = FetchOneColumn();
+  my ($timestamp) = Bugzilla->dbh->selectrow_array("SELECT NOW()"); 
+  my $sql_timestamp = SqlQuote($timestamp); 
     
   # Record changes in the activity table.
-  my $sql_timestamp = SqlQuote($timestamp);
   if ($olddescription ne $::FORM{'description'}) {
     my $quotedolddescription = SqlQuote($olddescription);
     my $fieldid = GetFieldID('attachments.description');
@@ -1073,7 +1098,7 @@ sub update
     my $quotedoldfilename = SqlQuote($oldfilename);
     my $fieldid = GetFieldID('attachments.filename');
     SendSQL("INSERT INTO bugs_activity (bug_id, attach_id, who, bug_when, fieldid, removed, added) 
-             VALUES ($bugid, $::FORM{'id'}, $::userid, NOW(), $fieldid, $quotedoldfilename, $quotedfilename)");
+             VALUES ($bugid, $::FORM{'id'}, $::userid, $sql_timestamp, $fieldid, $quotedoldfilename, $quotedfilename)");
   }
   if ($oldispatch ne $::FORM{'ispatch'}) {
     my $fieldid = GetFieldID('attachments.ispatch');
@@ -1088,7 +1113,7 @@ sub update
   if ($oldisprivate ne $::FORM{'isprivate'}) {
     my $fieldid = GetFieldID('attachments.isprivate');
     SendSQL("INSERT INTO bugs_activity (bug_id, attach_id, who, bug_when, fieldid, removed, added) 
-             VALUES ($bugid, $::FORM{'id'}, $::userid, NOW(), $fieldid, $oldisprivate, $::FORM{'isprivate'})");
+             VALUES ($bugid, $::FORM{'id'}, $::userid, $sql_timestamp, $fieldid, $oldisprivate, $::FORM{'isprivate'})");
   }
   
   # Update flags.
diff --git a/bug_status.html b/bug_status.html
deleted file mode 100755
index 3ac554509ad2976937210f99eedf94e9efed1408..0000000000000000000000000000000000000000
--- a/bug_status.html
+++ /dev/null
@@ -1,208 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<HTML>
-
-<!--
-     The contents of this file are subject to the Mozilla Public
-     License Version 1.1 (the "License"); you may not use this file
-     except in compliance with the License. You may obtain a copy of
-     the License at http://www.mozilla.org/MPL/
-    
-     Software distributed under the License is distributed on an "AS
-     IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-     implied. See the License for the specific language governing
-     rights and limitations under the License.
-    
-     The Original Code is the Bugzilla Bug Tracking System.
-    
-     The Initial Developer of the Original Code is Netscape Communications
-     Corporation. Portions created by Netscape are
-     Copyright (C) 1998 Netscape Communications Corporation. All
-     Rights Reserved.
-    
-     Contributor(s): 
-
-     Contributor(s): Terry Weissman <terry@mozilla.org>
--->
-
-<head>
-<TITLE>A Bug's Life Cycle</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</head>
-<body>
-
-<h1 ALIGN=CENTER>A Bug's Life Cycle</h1>
-
-The <B>status</B> and <B>resolution</B> field define and track the
-life cycle of a bug.
-
-<a name="status"></a>
-<p>
-<TABLE BORDER=1 CELLPADDING=4>
-
-<TR ALIGN=CENTER VALIGN=TOP>
-<TD WIDTH="50%"><H1>STATUS</H1> <TD><H1>RESOLUTION</H1>
-
-<TR VALIGN=TOP>
-<TD>The <B>status</B> field indicates the general health of a bug. Only
-certain status transitions are allowed.
-<TD>The <b>resolution</b> field indicates what happened to this bug.
-
-<TR VALIGN=TOP><TD>
-<DL><DT><B>UNCONFIRMED</B> 
-<DD> This bug has recently been added to the database.  Nobody has
-     validated that this bug is true.  Users who have the "canconfirm"
-     permission set may confirm this bug, changing its state to NEW.
-     Or, it may be directly resolved and marked RESOLVED.
-<DT><B>NEW</B> 
-<DD> This bug has recently been added to the assignee's list of bugs
-     and must be processed. Bugs in this state may be accepted, and
-     become <B>ASSIGNED</B>, passed on to someone else, and remain
-     <B>NEW</B>, or resolved and marked <B>RESOLVED</B>.
-<DT><B>ASSIGNED</B> 
-<DD> This bug is not yet resolved, but is assigned to the proper
-     person. From here bugs can be given to another person and become
-     <B>NEW</B>, or resolved and become <B>RESOLVED</B>.
-<DT><B>REOPENED</B>
-<DD>This bug was once resolved, but the resolution was deemed
-     incorrect.  For example, a <B>WORKSFORME</B> bug is
-     <B>REOPENED</B> when more information shows up and the bug is now
-     reproducible.  From here bugs are either marked <B>ASSIGNED</B>
-     or <B>RESOLVED</B>.
-</DL>
-<TD>
-<DL>
-<DD> No resolution yet. All bugs which are in one of these "open" states
-     have the resolution set to blank. All other bugs
-     will be marked with one of the following resolutions.
-</DL>
-
-<TR VALIGN=TOP><TD>
-<DL>
-<DT><B>RESOLVED</B> 
-<DD> A resolution has been taken, and it is awaiting verification by
-     QA. From here bugs are either re-opened and become
-     <B>REOPENED</B>, are marked <B>VERIFIED</B>, or are closed for good
-     and marked <B>CLOSED</B>.
-<DT><B>VERIFIED</B>
-<DD> QA has looked at the bug and the resolution and agrees that the
-     appropriate resolution has been taken.  Bugs remain in this state
-     until the product they were reported against actually ships, at
-     which point they become <B>CLOSED</B>.
-<DT><B>CLOSED</B> 
-<DD> The bug is considered dead, the resolution is correct. Any zombie
-     bugs who choose to walk the earth again must do so by becoming
-     <B>REOPENED</B>.
-</DL>
-
-<TD>
-<DL>
-<DT><B>FIXED</B>
-<DD> A fix for this bug is checked into the tree and tested.
-<DT><B>INVALID</B>
-<DD> The problem described is not a bug 
-<DT><B>WONTFIX</B>
-<DD> The problem described is a bug which will never be fixed.
-<DT><B>LATER</B>
-<DD> The problem described is a bug which will not be fixed in this
-     version of the product.
-<DT><B>REMIND</B>
-<DD> The problem described is a bug which will probably not be fixed in this
-     version of the product, but might still be.
-<DT><B>DUPLICATE</B>
-<DD> The problem is a duplicate of an existing bug. Marking a bug
-     duplicate requires the bug# of the duplicating bug and will at
-     least put that bug number in the description field.
-<DT><B>WORKSFORME</B>
-<DD> All attempts at reproducing this bug were futile, reading the
-     code produces no clues as to why this behavior would occur. If
-     more information appears later, please re-assign the bug, for
-     now, file it.
-<DT><B>MOVED</B>
-<DD> The problem was specific to a related product whose bugs are tracked in
-     another bug database. The bug has been moved to that database.
-</DL>
-</TABLE>
-
-<H1>Other Fields</H1>
-
-<table border=1 cellpadding=4><tr><td>
-<h2><a name="severity">Severity</a></h2>
-
-This field describes the impact of a bug.
-
-<p>
-<p>
- 
-<table>
-<tr><th>Blocker</th><td>Blocks development and/or testing work
-<tr><th>Critical</th><td>crashes, loss of data, severe memory leak 
-<tr><th>Major</th><td>major loss of function 
-<tr><th>Minor</th><td>minor loss of function, or other problem where easy workaround is present 
-<tr><th>Trivial</th><td>cosmetic problem like misspelled words or misaligned text 
-<tr><th>Enhancement</th><td>Request for enhancement
-</table> 
-
-</td><td>
-
-<h2><a name="priority">Priority</a></h2>
-
-This field describes the importance and order in which a bug should be
-fixed.  This field is utilized by the programmers/engineers to
-prioritize their work to be done.  The available priorities are:
-
-<p>
-<p>
-
-<table>
-<tr><th>P1</th><td>Most important
-<tr><th>P2</th><td>
-<tr><th>P3</th><td>
-<tr><th>P4</th><td>
-<tr><th>P5</th><td>Least important
-</table>
-</tr></table>
-
-<h2><a name="rep_platform">Platform</a></h2>
-This is the hardware platform against which the bug was reported.  Legal
-platforms include:
-
-<UL>
-<LI> All (happens on all platforms; cross-platform bug)
-<LI> Macintosh
-<LI> PC
-<LI> Sun
-<LI> HP
-</UL>
-
-<b>Note:</b> Selecting the option "All" does not select bugs assigned against all platforms.  It
-merely selects bugs that <b>occur</b> on all platforms.
-
-<h2><a name="op_sys">Operating System</a></h2>
-This is the operating system against which the bug was reported.  Legal
-operating systems include:
-
-<UL>
-<LI> All (happens on all operating systems; cross-platform bug)
-<LI> Windows 95
-<LI> Mac System 8.0
-<LI> Linux
-</UL>
-
-Note that the operating system implies the platform, but not always.
-For example, Linux can run on PC and Macintosh and others.
-
-<h2><a name="assigned_to">Assigned To</a></h2>
-
-This is the person in charge of resolving the bug.  Every time this
-field changes, the status changes to <B>NEW</B> to make it easy to see
-which new bugs have appeared on a person's list.
-
-The default status for queries is set to NEW, ASSIGNED and REOPENED. When
-searching for bugs that have been resolved or verified, remember to set the
-status field appropriately. 
-
-<hr>
-<!-- hhmts start -->
-Last modified: Sun Apr 14 12:51:23 EST 2002
-<!-- hhmts end -->
-</body> </html>
diff --git a/buglist.cgi b/buglist.cgi
index d1a3c665bada9729752f6fc5db485e15f1e4a706..4d104bb9983f735598739ad007ecd80362de0065 100755
--- a/buglist.cgi
+++ b/buglist.cgi
@@ -37,6 +37,7 @@ use vars qw($template $vars);
 
 use Bugzilla;
 use Bugzilla::Search;
+use Bugzilla::Constants;
 
 # Include the Bugzilla CGI and general utility library.
 require "CGI.pl";
@@ -63,8 +64,6 @@ if (length($::buffer) == 0) {
     ThrowUserError("buglist_parameters_required");
 }
 
-ConnectToDatabase();
-
 ################################################################################
 # Data and Security Validation
 ################################################################################
@@ -74,12 +73,12 @@ my $dotweak = $::FORM{'tweak'} ? 1 : 0;
 
 # Log the user in
 if ($dotweak) {
-    confirm_login();
+    Bugzilla->login(LOGIN_REQUIRED);
     UserInGroup("editbugs") || ThrowUserError("insufficient_privs_for_multi");
     GetVersionTable();
 }
 else {
-    quietly_check_login();
+    Bugzilla->login();
 }
 
 # Hack to support legacy applications that think the RDF ctype is at format=rdf.
@@ -133,10 +132,11 @@ if ($::FORM{'regetlastlist'}) {
     $::COOKIE{'BUGLIST'} || ThrowUserError("missing_cookie");
 
     $order = "reuse last sort" unless $order;
-
+    my $bug_id = $::COOKIE{'BUGLIST'};
+    $bug_id =~ s/:/,/g;
     # set up the params for this new query
     $params = new Bugzilla::CGI({
-                                 bug_id => [split(/:/, $::COOKIE{'BUGLIST'})],
+                                 bug_id => $bug_id,
                                  order => $order,
                                 });
 }
@@ -152,6 +152,19 @@ if ($::buffer =~ /&cmd-/) {
     exit;
 }
 
+# Figure out whether or not the user is doing a fulltext search.  If not,
+# we'll remove the relevance column from the lists of columns to display
+# and order by, since relevance only exists when doing a fulltext search.
+my $fulltext = 0;
+if ($::FORM{'content'}) { $fulltext = 1 }
+my @charts = map(/^field(\d-\d-\d)$/ ? $1 : (), keys %::FORM);
+foreach my $chart (@charts) {
+    if ($::FORM{"field$chart"} eq 'content' && $::FORM{"value$chart"}) {
+        $fulltext = 1;
+        last;
+    }
+}
+
 ################################################################################
 # Utilities
 ################################################################################
@@ -172,14 +185,26 @@ sub DiffDate {
     return $date;
 }
 
+sub iCalendarDateTime {
+    my ($datestr) = @_;
+    my $date = str2time($datestr);
+    my ($s,$m,$h,$d,$mo,$y,$wd)= gmtime $date;
+    $date = sprintf "%04d%02d%02dT%02d%02d%02dZ", 1900+$y,$mo+1,$d,$h,$m,$s;
+    return $date;
+}
+
 sub LookupNamedQuery {
     my ($name) = @_;
-    confirm_login();
+    Bugzilla->login(LOGIN_REQUIRED);
     my $userid = DBNameToIdAndCheck($::COOKIE{"Bugzilla_login"});
     my $qname = SqlQuote($name);
     SendSQL("SELECT query FROM namedqueries WHERE userid = $userid AND name = $qname");
     my $result = FetchOneColumn();
-    $result || ThrowUserError("missing_query", {'queryname' => $name});
+    
+    defined($result) || ThrowUserError("missing_query", {'queryname' => $name});
+    $result
+       || ThrowUserError("buglist_parameters_required", {'queryname' => $name});
+
     return $result;
 }
 
@@ -222,9 +247,9 @@ sub GetGroupsByUserId {
     SendSQL("
         SELECT DISTINCT  groups.id, name, description, isactive
                    FROM  groups, user_group_map
-                  WHERE  user_id = $userid AND NOT isbless
+                  WHERE  user_id = $userid AND isbless = 0
                     AND  user_group_map.group_id = groups.id
-                    AND  isbuggroup
+                    AND  isbuggroup = 1
                ORDER BY  description ");
 
     my @groups;
@@ -284,6 +309,7 @@ if ($::FORM{'cmdtype'} eq "dorem") {
         $vars->{'searchtype'} = "saved";
         $params = new Bugzilla::CGI($::buffer);
         $order = $params->param('order') || $order;
+
     }
     elsif ($::FORM{'remaction'} eq "runseries") {
         $::buffer = LookupSeries($::FORM{"series_id"});
@@ -293,7 +319,7 @@ if ($::FORM{'cmdtype'} eq "dorem") {
         $order = $params->param('order') || $order;
     }
     elsif ($::FORM{'remaction'} eq "forget") {
-        confirm_login();
+        Bugzilla->login(LOGIN_REQUIRED);
         my $userid = DBNameToIdAndCheck($::COOKIE{"Bugzilla_login"});
         my $qname = SqlQuote($::FORM{'namedcmd'});
         SendSQL("DELETE FROM namedqueries WHERE userid = $userid AND name = $qname");
@@ -313,17 +339,30 @@ if ($::FORM{'cmdtype'} eq "dorem") {
 }
 elsif (($::FORM{'cmdtype'} eq "doit") && $::FORM{'remtype'}) {
     if ($::FORM{'remtype'} eq "asdefault") {
-        confirm_login();
+        Bugzilla->login(LOGIN_REQUIRED);
         my $userid = DBNameToIdAndCheck($::COOKIE{"Bugzilla_login"});
         my $qname = SqlQuote($::defaultqueryname);
         my $qbuffer = SqlQuote($::buffer);
-        SendSQL("REPLACE INTO namedqueries (userid, name, query)
-                 VALUES ($userid, $qname, $qbuffer)");
-                 
+
+        SendSQL("LOCK TABLES namedqueries WRITE");
+
+        SendSQL("SELECT userid FROM namedqueries WHERE userid = $userid " .
+        "AND name = $qname");
+        my $result = FetchOneColumn();
+        if ($result) {
+            SendSQL("UPDATE namedqueries SET query = $qbuffer " .
+                    "WHERE userid = $userid AND name = $qname");
+        } else {
+            SendSQL("INSERT INTO namedqueries (userid, name, query, linkinfooter) VALUES " .
+                    "($userid, $qname, $qbuffer, 0)");
+        }
+
+        SendSQL("UNLOCK TABLES");
+
         $vars->{'message'} = "buglist_new_default_query";
     }
     elsif ($::FORM{'remtype'} eq "asnamed") {
-        confirm_login();
+        Bugzilla->login(LOGIN_REQUIRED);
         my $userid = DBNameToIdAndCheck($::COOKIE{"Bugzilla_login"});
 
         my $name = trim($::FORM{'newqueryname'});
@@ -331,8 +370,10 @@ elsif (($::FORM{'cmdtype'} eq "doit") && $::FORM{'remtype'}) {
         $name !~ /[<>&]/ || ThrowUserError("illegal_query_name");
         my $qname = SqlQuote($name);
 
+        $::FORM{'newquery'} || ThrowUserError("buglist_parameters_required", 
+                                              {'queryname' => $name});
         my $qbuffer = SqlQuote($::FORM{'newquery'});
-
+        
         my $tofooter = 1;
 
         $vars->{'message'} = "buglist_new_named_query";
@@ -343,6 +384,8 @@ elsif (($::FORM{'cmdtype'} eq "doit") && $::FORM{'remtype'}) {
             $vars->{'message'} = "buglist_updated_named_query";
         }
 
+        SendSQL("LOCK TABLES namedqueries WRITE");
+
         SendSQL("SELECT query FROM namedqueries WHERE userid = $userid AND name = $qname");
         if (FetchOneColumn()) {
             SendSQL("UPDATE  namedqueries
@@ -350,23 +393,32 @@ elsif (($::FORM{'cmdtype'} eq "doit") && $::FORM{'remtype'}) {
                       WHERE  userid = $userid AND name = $qname");
         }
         else {
-            SendSQL("REPLACE INTO namedqueries (userid, name, query, linkinfooter)
+            SendSQL("INSERT INTO namedqueries (userid, name, query, linkinfooter)
                      VALUES ($userid, $qname, $qbuffer, $tofooter)");
         }
 
+        SendSQL("UNLOCK TABLES");
+
         # Make sure to invalidate any cached query data, so that the footer is
         # correctly displayed
         Bugzilla->user->flush_queries_cache();
 
         $vars->{'queryname'} = $name;
         
-        print "Content-Type: text/html\n\n";
+        print $cgi->header();
         $template->process("global/message.html.tmpl", $vars)
           || ThrowTemplateError($template->error());
         exit;
     }
 }
 
+# backward compatibility hack: if the saved query doesn't say which
+# form was used to create it, assume it was on the advanced query
+# form - see bug 252295
+if (!$params->param('query_format')) {
+    $params->param('query_format', 'advanced');
+    $::buffer = $params->query_string;
+}
 
 ################################################################################
 # Column Definition
@@ -424,6 +476,9 @@ DefineColumn("estimated_time"    , "bugs.estimated_time"        , "Estimated Hou
 DefineColumn("remaining_time"    , "bugs.remaining_time"        , "Remaining Hours"  );
 DefineColumn("actual_time"       , "(SUM(ldtime.work_time)*COUNT(DISTINCT ldtime.bug_when)/COUNT(bugs.bug_id)) AS actual_time", "Actual Hours");
 DefineColumn("percentage_complete","(100*((SUM(ldtime.work_time)*COUNT(DISTINCT ldtime.bug_when)/COUNT(bugs.bug_id))/((SUM(ldtime.work_time)*COUNT(DISTINCT ldtime.bug_when)/COUNT(bugs.bug_id))+bugs.remaining_time))) AS percentage_complete", "% Complete"); 
+DefineColumn("relevance"         , "relevance"                  , "Relevance"        );
+
+
 ################################################################################
 # Display Column Determination
 ################################################################################
@@ -490,6 +545,12 @@ if (!UserInGroup(Param("timetrackinggroup"))) {
    @displaycolumns = grep($_ ne 'percentage_complete', @displaycolumns);
 }
 
+# Remove the relevance column if the user is not doing a fulltext search.
+if (grep('relevance', @displaycolumns) && !$fulltext) {
+    @displaycolumns = grep($_ ne 'relevance', @displaycolumns);
+}
+
+
 ################################################################################
 # Select Column Determination
 ################################################################################
@@ -519,6 +580,9 @@ if ($dotweak) {
     push(@selectcolumns, "bug_status") if !grep($_ eq 'bug_status', @selectcolumns);
 }
 
+if ($format->{'extension'} eq 'ics') {
+    push(@selectcolumns, "opendate") if !grep($_ eq 'opendate', @selectcolumns);
+}
 
 ################################################################################
 # Query Generation
@@ -536,25 +600,58 @@ my @selectnames = map($columns->{$_}->{'name'}, @selectcolumns);
 ################################################################################
 
 # Add to the query some instructions for sorting the bug list.
-if ($::COOKIE{'LASTORDER'} && (!$order || $order =~ /^reuse/i)) {
-    $order = $::COOKIE{'LASTORDER'};
-    $order_from_cookie = 1;
+
+# First check if we'll want to reuse the last sorting order; that happens if
+# the order is not defined or its value is "reuse last sort"
+if (!$order || $order =~ /^reuse/i) {
+    if ($::COOKIE{'LASTORDER'}) {
+      $order = $::COOKIE{'LASTORDER'};
+           
+      # Cookies from early versions of Specific Search included this text,
+      # which is now invalid.
+      $order =~ s/ LIMIT 200//;  
+      
+      $order_from_cookie = 1;
+    }
+    else {
+      $order = '';  # Remove possible "reuse" identifier as unnecessary
+    }
 }
 
 my $db_order = "";  # Modified version of $order for use with SQL query
 if ($order) {
-
     # Convert the value of the "order" form field into a list of columns
     # by which to sort the results.
     ORDER: for ($order) {
-        /\./ && do {
+        /^Bug Number$/ && do {
+            $order = "bugs.bug_id";
+            last ORDER;
+        };
+        /^Importance$/ && do {
+            $order = "bugs.priority, bugs.bug_severity";
+            last ORDER;
+        };
+        /^Assignee$/ && do {
+            $order = "map_assigned_to.login_name, bugs.bug_status, bugs.priority, bugs.bug_id";
+            last ORDER;
+        };
+        /^Last Changed$/ && do {
+            $order = "bugs.delta_ts, bugs.bug_status, bugs.priority, map_assigned_to.login_name, bugs.bug_id";
+            last ORDER;
+        };
+        do {
+            my @order;
             my @columnnames = map($columns->{lc($_)}->{'name'}, keys(%$columns));
             # A custom list of columns.  Make sure each column is valid.
             foreach my $fragment (split(/,/, $order)) {
                 $fragment = trim($fragment);
                 # Accept an order fragment matching a column name, with
                 # asc|desc optionally following (to specify the direction)
-                if (!grep($fragment =~ /^\Q$_\E(\s+(asc|desc))?$/, @columnnames)) {
+                if (grep($fragment =~ /^\Q$_\E(\s+(asc|desc))?$/, @columnnames)) {
+                    next if $fragment =~ /\brelevance\b/ && !$fulltext;
+                    push(@order, $fragment);
+                }
+                else {
                     my $vars = { fragment => $fragment };
                     if ($order_from_cookie) {
                         $cgi->send_cookie(-name => 'LASTORDER',
@@ -566,57 +663,43 @@ if ($order) {
                     }
                 }
             }
+            $order = join(",", @order);
             # Now that we have checked that all columns in the order are valid,
             # detaint the order string.
             trick_taint($order);
-            last ORDER;
-        };
-        /Number/ && do {
-            $order = "bugs.bug_id";
-            last ORDER;
-        };
-        /Import/ && do {
-            $order = "bugs.priority, bugs.bug_severity";
-            last ORDER;
-        };
-        /Assign/ && do {
-            $order = "map_assigned_to.login_name, bugs.bug_status, bugs.priority, bugs.bug_id";
-            last ORDER;
-        };
-        /Changed/ && do {
-            $order = "bugs.delta_ts, bugs.bug_status, bugs.priority, map_assigned_to.login_name, bugs.bug_id";
-            last ORDER;
         };
-        # DEFAULT
-        $order = "bugs.bug_status, bugs.priority, map_assigned_to.login_name, bugs.bug_id";
     }
-    foreach my $fragment (split(/,/, $order)) {
-        $fragment = trim($fragment);
-        if (!grep($fragment =~ /^\Q$_\E(\s+(asc|desc))?$/, @selectnames)) {
-            # Add order columns to selectnames
-            # The fragment has already been validated
-            $fragment =~ s/\s+(asc|desc)$//;
-            $fragment =~ tr/a-zA-Z\.0-9\-_//cd;
-            push @selectnames, $fragment;
-        }
+}
+else {
+    # DEFAULT
+    $order = "bugs.bug_status, bugs.priority, map_assigned_to.login_name, bugs.bug_id";
+}
+
+foreach my $fragment (split(/,/, $order)) {
+    $fragment = trim($fragment);
+    if (!grep($fragment =~ /^\Q$_\E(\s+(asc|desc))?$/, @selectnames)) {
+        # Add order columns to selectnames
+        # The fragment has already been validated
+        $fragment =~ s/\s+(asc|desc)$//;
+        $fragment =~ tr/a-zA-Z\.0-9\-_//cd;
+        push @selectnames, $fragment;
     }
+}
 
-    $db_order = $order;  # Copy $order into $db_order for use with SQL query
-
-    # If we are sorting by votes, sort in descending order if no explicit
-    # sort order was given
-    $db_order =~ s/bugs.votes\s*(,|$)/bugs.votes desc$1/i;
-
-    # the 'actual_time' field is defined as an aggregate function, but 
-    # for order we just need the column name 'actual_time'
-    my $aggregate_search = quotemeta($columns->{'actual_time'}->{'name'});
-    $db_order =~ s/$aggregate_search/actual_time/g;
+$db_order = $order;  # Copy $order into $db_order for use with SQL query
 
-    # the 'percentage_complete' field is defined as an aggregate too
-    $aggregate_search = quotemeta($columns->{'percentage_complete'}->{'name'});
-    $db_order =~ s/$aggregate_search/percentage_complete/g;
+# If we are sorting by votes, sort in descending order if no explicit
+# sort order was given
+$db_order =~ s/bugs.votes\s*(,|$)/bugs.votes desc$1/i;
+                             
+# the 'actual_time' field is defined as an aggregate function, but 
+# for order we just need the column name 'actual_time'
+my $aggregate_search = quotemeta($columns->{'actual_time'}->{'name'});
+$db_order =~ s/$aggregate_search/actual_time/g;
 
-}
+# the 'percentage_complete' field is defined as an aggregate too
+$aggregate_search = quotemeta($columns->{'percentage_complete'}->{'name'});
+$db_order =~ s/$aggregate_search/percentage_complete/g;
 
 # Generate the basic SQL query that will be used to generate the bug list.
 my $search = new Bugzilla::Search('fields' => \@selectnames, 
@@ -630,17 +713,15 @@ if ($db_order =~ /bugs.target_milestone/) {
     $query =~ s/\sWHERE\s/ LEFT JOIN milestones ms_order ON ms_order.value = bugs.target_milestone AND ms_order.product_id = bugs.product_id WHERE /;
 }
 
-# Even more disgusting hack: if we are doing a full text search,
-# order by relevance instead of anything else, and limit to 200 results.
-if ($search->{'sorted_by_relevance'}) {
-    $db_order = $order = "relevance DESC LIMIT 200";
-    $vars->{'sorted_by_relevance'} = 1;
-}
-
-
-
 $query .= " ORDER BY $db_order " if ($order);
 
+if ($::FORM{'limit'} && detaint_natural($::FORM{'limit'})) {
+    $query .= " LIMIT $::FORM{'limit'}";
+}
+elsif ($fulltext) {
+    $query .= " LIMIT 200";
+}
+
 
 ################################################################################
 # Query Execution
@@ -653,16 +734,22 @@ if ($::FORM{'debug'}) {
 
 # Time to use server push to display an interim message to the user until
 # the query completes and we can display the bug list.
+my $disposition = '';
 if ($serverpush) {
-    print $cgi->multipart_init(-content_disposition => "inline; filename=$filename");
+    $filename =~ s/\\/\\\\/g; # escape backslashes
+    $filename =~ s/"/\\"/g; # escape quotes
+    $disposition = qq#inline; filename="$filename"#;
 
+    print $cgi->multipart_init(-content_disposition => $disposition);
     print $cgi->multipart_start();
 
     # Generate and return the UI (HTML page) from the appropriate template.
     $template->process("list/server-push.html.tmpl", $vars)
       || ThrowTemplateError($template->error());
 
-    print $cgi->multipart_end();
+    # Don't do multipart_end() until we're ready to display the replacement
+    # page, otherwise any errors that happen before then (like SQL errors)
+    # will result in a blank page being shown to the user instead of the error.
 }
 
 # Connect to the shadow database if this installation is using one to improve
@@ -706,10 +793,23 @@ while (my @row = FetchSQLData()) {
     # Process certain values further (i.e. date format conversion).
     if ($bug->{'changeddate'}) {
         $bug->{'changeddate'} =~ 
-          s/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/$1-$2-$3 $4:$5:$6/;
-        $bug->{'changeddate'} = DiffDate($bug->{'changeddate'});
+            s/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/$1-$2-$3 $4:$5:$6/;
+        if ($format->{'extension'} eq 'ics') {
+            $bug->{'changeddate'} = iCalendarDateTime($bug->{'changeddate'});
+        }
+        else {
+            $bug->{'changeddate'} = DiffDate($bug->{'changeddate'});
+        }
+    }
+
+    if ($bug->{'opendate'}) {
+        if ($format->{'extension'} eq 'ics') {
+            $bug->{'opendate'} = iCalendarDateTime($bug->{'opendate'});
+        }
+        else {
+            $bug->{'opendate'} = DiffDate($bug->{'opendate'});
+        }
     }
-    ($bug->{'opendate'} = DiffDate($bug->{'opendate'})) if $bug->{'opendate'};
 
     # Record the owner, product, and status in the big hashes of those things.
     $bugowners->{$bug->{'assigned_to'}} = 1 if $bug->{'assigned_to'};
@@ -794,13 +894,17 @@ $vars->{'splitheader'} = $::COOKIE{'SPLITHEADER'} ? 1 : 0;
 
 $vars->{'quip'} = GetQuip();
 $vars->{'currenttime'} = time();
+if ($format->{'extension'} eq 'ics') {
+    $vars->{'currenttime'} = iCalendarDateTime(scalar gmtime $vars->{'currenttime'});
+}
 
 # The following variables are used when the user is making changes to multiple bugs.
 if ($dotweak) {
     $vars->{'dotweak'} = 1;
     $vars->{'use_keywords'} = 1 if @::legal_keywords;
 
-    $vars->{'products'} = \@::legal_product;
+    my @enterable_products = GetEnterableProducts();
+    $vars->{'products'} = \@enterable_products;
     $vars->{'platforms'} = \@::legal_platform;
     $vars->{'priorities'} = \@::legal_priority;
     $vars->{'severities'} = \@::legal_severity;
@@ -826,6 +930,10 @@ if ($dotweak) {
     }
 }
 
+# If we're editing a stored query, use the existing query name as default for
+# the "Remember search as" field.
+$vars->{'defaultsavename'} = $cgi->param('query_based_on');
+
 
 ################################################################################
 # HTTP Header Generation
@@ -834,6 +942,7 @@ if ($dotweak) {
 # Generate HTTP headers
 
 my $contenttype;
+my $disp = "inline";
 
 if ($format->{'extension'} eq "html") {
     my $cookiepath = Param("cookiepath");
@@ -862,14 +971,22 @@ else {
     $contenttype = $format->{'ctype'};
 }
 
+if ($format->{'extension'} eq "csv") {
+    # We set CSV files to be downloaded, as they are designed for importing
+    # into other programs.
+    $disp = "attachment";
+}
+
 if ($serverpush) {
-    print $cgi->multipart_start(-type=>$contenttype);
+    # close the "please wait" page, then open the buglist page
+    print $cgi->multipart_end();
+    print $cgi->multipart_start(-type => $contenttype, -content_disposition => $disposition);
 } else {
     # Suggest a name for the bug list if the user wants to save it as a file.
     # If we are doing server push, then we did this already in the HTTP headers
     # that started the server push, so we don't have to do it again here.
     print $cgi->header(-type => $contenttype,
-                       -content_disposition => "inline; filename=$filename");
+                       -content_disposition => "$disp; filename=$filename");
 }
 
 
diff --git a/bugwritinghelp.html b/bugwritinghelp.html
deleted file mode 100644
index 46bddcb24dd258f08793921540cf2b0058a9f5c7..0000000000000000000000000000000000000000
--- a/bugwritinghelp.html
+++ /dev/null
@@ -1,392 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
-<title>Bug Writing Guidelines</title>
-</head>
-<body>
-<center>
-<h1>Bug Writing Guidelines</h1>
-</center>
-
-<h3>Why You Should Read This</h3>
-
-<blockquote>
-<p>Simply put, the more effectively you report a bug, the more
-likely an engineer will actually fix it.</p>
-
-<p>These guidelines are a general
-tutorial to teach novice and intermediate bug reporters how to compose effective bug reports. Not every sentence may precisely apply to
-your software project.</p>
-</blockquote>
-
-<h3>How to Write a Useful Bug Report</h3>
-
-<blockquote>
-<p>Useful bug reports are ones that get bugs fixed. A useful bug
-report normally has two qualities:</p>
-
-<ol>
-<li><b>Reproducible.</b> If an engineer can't see the bug herself to prove that it exists, she'll probably stamp your bug report "WORKSFORME" or "INVALID" and move on to the next bug. Every detail you can provide helps.<br>
-<br>
-</li>
-
-<li><b>Specific.</b> The quicker the engineer can isolate the bug
-to a specific area, the more likely she'll expediently fix it. 
-(If a programmer or tester has to decypher a bug, they may spend
-more time cursing the submitter than solving the problem.)
-<br>
-<br>
-[ <a href="#tips" name="Anchor">Tell Me More</a> ]
-</li>
-</ol>
-
-<p>Let's say the application you're testing is a web browser. You
-crash at foo.com, and want to write up a bug report:</p>
-
-<blockquote>
-<p><b>BAD:</b> "My browser crashed. I think I was on www.foo.com. I play golf with Bill Gates, so you better fix this problem, or I'll report you to him. By the way, your Back icon looks like a squashed rodent. UGGGLY. And my grandmother's home page is all messed up in your browser. Thx 4 UR help."
-</p>
-
-<p>
- <b>GOOD:</b> "I crashed each time I went to www.foo.com, using
-the 2002-02-25 build on a Windows 2000 system. I also
-rebooted into Linux, and reproduced this problem using the 2002-02-24
-Linux build.
-</p>
-
-<p>
- It again crashed each time upon drawing the Foo banner at the top
-of the page. I broke apart the page, and discovered that the
-following image link will crash the application reproducibly,
-unless you remove the "border=0" attribute:
-</p>
-
-<p>
- <tt>&lt;IMG SRC="http://www.foo.com/images/topics/topicfoos.gif"
-width="34" height="44" border="0" alt="News"&gt;</tt>
-</p>
-</blockquote>
-</blockquote>
-
-<h3>How to Enter your Useful Bug Report into Bugzilla:</h3>
-
-<blockquote>
-<p>Before you enter your bug, use Bugzilla's 
-<a href="query.cgi">search page</a> to determine whether the defect you've discovered is a known, already-reported bug. If your bug is the 37th duplicate of a known issue, you're more likely to annoy the engineer. (Annoyed
-engineers fix fewer bugs.)
-</p>
-
-<p>
-Next, be sure to reproduce your bug using a recent
-build. Engineers tend to be most interested in problems affecting
-the code base that they're actively working on. After all, the bug you're reporting
-may already be fixed.
-
-</p>
-
-<p>
- If you've discovered a new bug using a current build, report it in
-Bugzilla:
-</p>
-
-<ol>
-<li>From your Bugzilla main page, choose 
-"<a href="enter_bug.cgi">Enter a new bug</a>".</li>
-
-<li>Select the product that you've found a bug in.</li>
-
-<li>Enter your e-mail address, password, and press the "Login"
-button. (If you don't yet have a password, leave the password field empty, 
-and press the "E-mail me a password" button instead.
-You'll quickly receive an e-mail message with your password.)</li>
-</ol>
-
-<p>Now, fill out the form. Here's what it all means:</p>
-
-<p><b>Where did you find the bug?</b></p>
-
-<blockquote>
-<p><b>Product: In which product did you find the bug?</b><br>
- You just specified this on the last page, so you can't edit it here.</p>
-
-<p><b>Version: In which product version did you find the
-bug?</b><br>
- (If applicable)</p>
-
-<p><b>Component: In which component does the bug exist?</b><br>
-Bugzilla requires that you select a component to enter a bug. (Not sure which to choose? 
-Click on the Component link. You'll see a description of each component, to help you make the best choice.)</p>
-
-<p><b>OS: On which Operating System (OS) did you find this bug?</b>
-(e.g. Linux, Windows 2000, Mac OS 9.)<br>
- If you know the bug happens on all OSs, choose 'All'. Otherwise,
-select the OS that you found the bug on, or "Other" if your OS
-isn't listed.</p>
-</blockquote>
-
-<p><b>How important is the bug?</b></p>
-
-<blockquote>
-<p><b>Severity: How damaging is the bug?</b><br>
- This item defaults to 'normal'. If you're not sure what severity your bug deserves, click on the Severity link.
- You'll see a description of each severity rating. <br>
-</p>
-</blockquote>
-
-<p><b>Who will be following up on the bug?</b></p>
-
-<blockquote>
-<p><b>Assigned To: Which engineer should be responsible for fixing
-this bug?</b><br>
- Bugzilla will automatically assign the bug to a default engineer
-upon submitting a bug report. If you'd prefer to directly assign the bug to
-someone else, enter their e-mail address into this field. (To see the list of
-default engineers for each component, click on the Component
-link.)</p>
-
-<p><b>Cc: Who else should receive e-mail updates on changes to this
-bug?</b><br>
- List the full e-mail addresses of other individuals who should
-receive an e-mail update upon every change to the bug report. You
-can enter as many e-mail addresses as you'd like, separated by spaces or commas, as long as those
-people have Bugzilla accounts.</p>
-</blockquote>
-
-<p><b>What else can you tell the engineer about the bug?</b></p>
-
-<blockquote>
-
-<p><b>Summary:</b> <b>How would you describe the bug, in
-approximately 60 or fewer characters?</b><br>
- A good summary should <b>quickly and uniquely identify a bug
-report</b>. Otherwise, an engineer cannot meaningfully identify
-your bug by its summary, and will often fail to pay attention to
-your bug report when skimming through a 10 page bug list.<br>
-<br>
- A useful summary might be 
- "<tt>PCMCIA install fails on Tosh Tecra 780DVD w/ 3c589C</tt>". 
- "<tt>Software fails</tt>" or "<tt>install problem</tt>" would be
-examples of a bad summary.<br>
-<br>
- [ <a href="#summary">Tell Me More</a> ]<br>
-<br>
- <b>Description: </b><br>
- Please provide a detailed problem report in this field.
-Your bug's recipients will most likely expect the following information:</p>
-
-<blockquote>
-<p><b>Overview Description:</b> More detailed expansion of
-summary.</p>
-
-<blockquote>
-<pre>
-Drag-selecting any page crashes Mac builds in NSGetFactory
-</pre>
-</blockquote>
-
-<p><b>Steps to Reproduce:</b> Minimized, easy-to-follow steps that will
-trigger the bug. Include any special setup steps.</p>
-
-<blockquote>
-<pre>
-1) View any web page. (I used the default sample page,
-resource:/res/samples/test0.html)
-                          
-2) Drag-select the page. (Specifically, while holding down 
-the mouse button, drag the mouse pointer downwards from any 
-point in the browser's content region to the bottom of the 
-browser's content region.)                   
-</pre>
-</blockquote>
-
-<p>
- <b>Actual Results:</b> What the application did after performing
-the above steps. 
-</p>
-
-<blockquote>
-<pre>
-The application crashed. Stack crawl appended below from MacsBug.
-</pre>
-</blockquote>
-
-<p><b>Expected Results:</b> What the application should have done,
-were the bug not present.</p>
-
-<blockquote>
-<pre>
-The window should scroll downwards. Scrolled content should be selected. 
-(Or, at least, the application should not crash.)
-</pre>
-</blockquote>
-
-<p><b>Build Date &amp; Platform:</b> Date and platform of the build
-that you first encountered the bug in.</p>
-
-<blockquote>
-<pre>
-Build 2002-03-15 on Mac OS 9.0
-</pre>
-</blockquote>
-
-<p><b>Additional Builds and Platforms:</b> Whether or not the bug
-takes place on other platforms (or browsers, if applicable).</p>
-
-<blockquote>
-<pre>
-- Also Occurs On        
-    Mozilla (2002-03-15 build on Windows NT 4.0) 
-                                    
-- Doesn't Occur On        
-    Mozilla (2002-03-15 build on Red Hat Linux; feature not supported)        
-    Internet Explorer 5.0 (shipping build on Windows NT 4.0)        
-    Netscape Communicator 4.5 (shipping build on Mac OS 9.0)
-</pre>
-</blockquote>
-
-<p><b>Additional Information:</b> Any other debugging information.
-For crashing bugs:</p>
-
-<ul>
-<li><b>Win32:</b> if you receive a Dr. Watson error, please note
-the type of the crash, and the module that the application crashed
-in. (e.g. access violation in apprunner.exe)</li>
-
-<li><b>Mac OS:</b> if you're running MacsBug, please provide the
-results of a <b>how</b> and an <b>sc</b>:</li>
-</ul>
-
-<blockquote>
-<pre>
-*** MACSBUG STACK CRAWL OF CRASH (Mac OS)
-Calling chain using A6/R1 links 
-    Back chain  ISA  Caller 
-    00000000    PPC  0BA85E74   
-    03AEFD80    PPC  0B742248   
-    03AEFD30    PPC  0B50FDDC  NSGetFactory+027FC
-PowerPC unmapped memory exception at 0B512BD0 NSGetFactory+055F0
-</pre>
-</blockquote>
-</blockquote>
-</blockquote>
-
-<p>You're done!<br>
-<br>
- After double-checking your entries for any possible errors, press
-the "Commit" button, and your bug report will now be in the
-Bugzilla database.<br>
-</p>
-</blockquote>
-
-<hr>
-<h3>More Information on Writing Good Bugs</h3>
-
-<blockquote>
-<p><b><a name="tips"></a> 1. General Tips for a Useful Bug
-Report</b>
-</p>
-
-<blockquote>
-<p>
- <b>Use an explicit structure, so your bug reports are easy to
-skim.</b> Bug report users often need immediate access to specific
-sections of your bug. If your Bugzilla installation supports the
-Bugzilla Helper, use it.
-</p>
-
-<p>
- <b>Avoid cuteness if it costs clarity.</b> Nobody will be laughing
-at your funny bug title at 3:00 AM when they can't remember how to
-find your bug.
-</p>
-
-<p>
- <b>One bug per report.</b> Completely different people typically
-fix, verify, and prioritize different bugs. If you mix a handful of
-bugs into a single report, the right people probably won't discover
-your bugs in a timely fashion, or at all. Certain bugs are also
-more important than others. It's impossible to prioritize a bug
-report when it contains four different issues, all of differing
-importance.
-</p>
-
-<p>
- <b>No bug is too trivial to report.</b> Unless you're reading the
-source code, you can't see actual software bugs, like a dangling
-pointer -- you'll see their visible manifestations, such as the
-segfault when the application finally crashes. Severe software
-problems can manifest themselves in superficially trivial ways.
-File them anyway.<br>
-</p>
-</blockquote>
-
-<p><b><a name="summary"></a>2. How and Why to Write Good Bug Summaries</b>
-</p>
-
-<blockquote>
-<p><b>You want to make a good first impression on the bug
-recipient.</b> Just like a New York Times headline guides readers
-towards a relevant article from dozens of choices, will your bug summary
-suggest that your bug report is worth reading from dozens or hundreds of
-choices?
-</p>
-
-<p>
- Conversely, a vague bug summary like <tt>install problem</tt> forces anyone
-reviewing installation bugs to waste time opening up your bug to
-determine whether it matters.
-</p>
-
-<p>
- <b>Your bug will often be searched by its summary.</b> Just as
-you'd find web pages with Google by searching by keywords through
-intuition, so will other people locate your bugs. Descriptive bug
-summaries are naturally keyword-rich, and easier to find.
-</p>
-
-<p>
- For example, you'll find a bug titled "<tt>Dragging icons from List View to
-gnome-terminal doesn't paste path</tt>" if you search on "List",
-"terminal", or "path". Those search keywords wouldn't have found a
-bug titled "<tt>Dragging icons
-doesn't paste</tt>".
-</p>
-
-<p>
- Ask yourself, "Would someone understand my bug from just this
-summary?" If so, you've written a fine summary.
-</p>
-
-<p><b>Don't write titles like these:</b></p>
-
-<ol>
- <li>"Can't install" - Why can't you install? What happens when you
-try to install?</li>
-<li>"Severe Performance Problems" - ...and they occur when you do
-what?</li>
-<li>"back button does not work" - Ever? At all?</li>
-</ol>
-
-<p><b>Good bug titles:</b></p>
-<ol>
-<li>"1.0 upgrade installation fails if Mozilla M18 package present"
-- Explains problem and the context.</li>
-<li>"RPM 4 installer crashes if launched on Red Hat 6.2 (RPM 3)
-system" - Explains what happens, and the context.</li>
-</ol>
-
-
-
-</blockquote>
-</blockquote>
-
-<p>(Written and maintained by 
-<a href="http://www.prometheus-music.com/eli">Eli Goldberg</a>. Claudius
-Gayle, Gervase Markham, Peter Mock, Chris Pratt, Tom Schutter and Chris Yeh also
-contributed significant changes. Constructive 
-<a href="mailto:eli@prometheus-music.com">suggestions</a> welcome.)</p>
-
-</body>
-</html>
-
diff --git a/chart.cgi b/chart.cgi
index dbdd818bc0e4fa64998d8f37119b98cfef3a25c8..4bab17701a2b8842297a05e4add683b6f7969a54 100755
--- a/chart.cgi
+++ b/chart.cgi
@@ -45,6 +45,7 @@ use strict;
 use lib qw(.);
 
 require "CGI.pl";
+use Bugzilla::Constants;
 use Bugzilla::Chart;
 use Bugzilla::Series;
 
@@ -81,9 +82,11 @@ if ($action eq "search") {
     exit;
 }
 
-ConnectToDatabase();
+Bugzilla->login(LOGIN_REQUIRED);
 
-confirm_login();
+UserInGroup(Param("chartgroup")) 
+    || ThrowUserError("authorization_failure", 
+                     {action => "use this feature"});
 
 # Only admins may create public queries
 UserInGroup('admin') || $cgi->delete('public');
@@ -137,7 +140,7 @@ elsif ($action eq "create") {
 
     $vars->{'series'} = $series;
 
-    print "Content-Type: text/html\n\n";
+    print $cgi->header();
     $template->process("global/message.html.tmpl", $vars)
       || ThrowTemplateError($template->error());
 }
@@ -248,7 +251,7 @@ sub edit {
     $vars->{'creator'} = new Bugzilla::User($series->{'creator'});
     $vars->{'default'} = $series;
 
-    print "Content-Type: text/html\n\n";
+    print $cgi->header();
     $template->process("reports/edit-series.html.tmpl", $vars)
       || ThrowTemplateError($template->error());
 }
@@ -263,11 +266,11 @@ sub plot {
 
     # Debugging PNGs is a pain; we need to be able to see the error messages
     if ($cgi->param('debug')) {
-        print "Content-Type: text/html\n\n";
+        print $cgi->header();
         $vars->{'chart'}->dump();
     }
 
-    print "Content-Type: $format->{'ctype'}\n\n";
+    print $cgi->header($format->{'ctype'});
     $template->process($format->{'template'}, $vars)
       || ThrowTemplateError($template->error());
 }
@@ -281,9 +284,10 @@ sub wrap {
     $vars->{'time'} = time();
 
     $vars->{'imagebase'} = $cgi->canonicalise_query(
-                "action", "action-wrap", "ctype", "format", "width", "height");
+                "action", "action-wrap", "ctype", "format", "width", "height",
+                "Bugzilla_login", "Bugzilla_password");
 
-    print "Content-Type:text/html\n\n";
+    print $cgi->header();
     $template->process("reports/chart.html.tmpl", $vars)
       || ThrowTemplateError($template->error());
 }
@@ -300,7 +304,7 @@ sub view {
     $vars->{'chart'} = $chart;
     $vars->{'category'} = Bugzilla::Chart::getVisibleSeries();
 
-    print "Content-Type: text/html\n\n";
+    print $cgi->header();
 
     # If we have having problems with bad data, we can set debug=1 to dump
     # the data structure.
diff --git a/checksetup.pl b/checksetup.pl
index a6b673a6088e139f643cec481cc8c460e76adcb3..5201d1dc40eedf227b8969b2f2423f70ae772ec5 100755
--- a/checksetup.pl
+++ b/checksetup.pl
@@ -26,6 +26,7 @@
 #                 Jacob Steenhagen <jake@bugzilla.org>
 #                 Bradley Baetz <bbaetz@student.usyd.edu.au>
 #                 Tobias Burnus <burnus@net-b.de>
+#                 Shane H. W. Travis <travis@sedsystems.ca>
 #                 Gervase Markham <gerv@gerv.net>
 #
 #
@@ -127,6 +128,33 @@ BEGIN {
     # However, don't run under -c (because of tests)
     if (!$^C) {
 
+###########################################################################
+# Check for help request. Display help page if --help/-h/-? was passed.
+###########################################################################
+my $help = grep(/^--help$/, @ARGV) || grep (/^-h$/, @ARGV) || grep (/^-\?$/, @ARGV) || 0;
+help_page() if $help;
+
+sub help_page {
+    my $programname = $0;
+    $programname =~ s#^\./##;
+    print "$programname - checks your setup and updates your Bugzilla installation\n";
+    print "\nUsage: $programname [SCRIPT [--verbose]] [--check-modules|--help]\n";
+    print "\n";
+    print "   --help           Display this help text.\n";
+    print "   --check-modules  Only check for correct module dependencies and quit thereafter;\n";
+    print "                    does not perform any changes.\n";
+    print "    SCRIPT          Name of script to drive non-interactive mode.\n";
+    print "                    This script should define an \%answer hash whose\n"; 
+    print "                    keys are variable names and the values answers to\n";
+    print "                    all the questions checksetup.pl asks.\n";
+    print "                    (See comments at top of $programname for more info.)\n";
+    print "   --verbose        Output results of SCRIPT being processed.\n";
+
+        
+print "\n";
+    exit 1;
+}
+
 ###########################################################################
 # Non-interactive override. Pass a filename on the command line which is
 # a Perl script. This script defines a %answer hash whose names are tags
@@ -138,7 +166,7 @@ if ($ARGV[0] && ($ARGV[0] !~ /^--/)) {
     do $ARGV[0] 
         or ($@ && die("Error $@ processing $ARGV[0]"))
         or die("Error $! processing $ARGV[0]");
-    $silent = 1;
+    $silent = !grep(/^--no-silent$/, @ARGV) && !grep(/^--verbose$/, @ARGV);
 }
 
 ###########################################################################
@@ -150,6 +178,12 @@ if ($ARGV[0] && ($ARGV[0] !~ /^--/)) {
 #
 
 print "\nChecking perl modules ...\n" unless $silent;
+if ($^O =~ /MSWin32/i) {
+    unless ($] >= 5.008001) {
+        die "Sorry, you need at least ActiveState Perl build 5.8.1\n";
+        # for CGI 2.93 or higher
+    }
+}
 unless ($] >= 5.006) {
     die "Sorry, you need at least Perl 5.6\n";
 }
@@ -246,7 +280,7 @@ my $modules = [
     }, 
     { 
         name => 'DBI', 
-        version => '1.32' 
+        version => '1.36' 
     }, 
     { 
         name => 'DBD::mysql', 
@@ -270,6 +304,33 @@ my $modules = [
     } 
 ];
 
+my %ppm_modules = (
+    'AppConfig'         => 'AppConfig',
+    'Chart::Base'       => 'Chart',
+    'CGI'               => 'CGI',
+    'Data::Dumper'      => 'Data-Dumper',
+    'Date::Format'      => 'TimeDate',
+    'DBI'               => 'DBI',
+    'DBD::mysql'        => 'DBD-mysql',
+    'Template'          => 'Template-Toolkit',
+    'PatchReader'       => 'PatchReader',
+    'GD'                => 'GD',
+    'GD::Graph'         => 'GDGraph',
+    'GD::Text::Align'   => 'GDTextUtil',
+);
+
+sub install_command {
+    my $module = shift;
+    if ($^O =~ /MSWin32/i) {
+        return "ppm install " . $ppm_modules{$module} if exists $ppm_modules{$module};
+        return "ppm install " . $module;
+    } else {
+        return "$^X -MCPAN -e 'install \"$module\"'";
+    }    
+}
+
+$::root = ($^O =~ /MSWin32/i ? 'Administrator' : 'root');
+
 my %missing = ();
 
 foreach my $module (@{$modules}) {
@@ -280,56 +341,58 @@ foreach my $module (@{$modules}) {
 
 print "\nThe following Perl modules are optional:\n" unless $silent;
 my $gd          = have_vers("GD","1.20");
-my $chartbase   = have_vers("Chart::Base","0.99");
+my $chartbase   = have_vers("Chart::Base","1.0");
 my $xmlparser   = have_vers("XML::Parser",0);
 my $gdgraph     = have_vers("GD::Graph",0);
 my $gdtextalign = have_vers("GD::Text::Align",0);
-my $patchreader = have_vers("PatchReader",0);
+my $patchreader = have_vers("PatchReader","0.9.4");
 
 print "\n" unless $silent;
+
+if ($^O =~ /MSWin32/i && !$silent) {
+    print "All the required modules are available at:\n";
+    print "    http://landfill.bugzilla.org/ppm/\n";
+    print "You can add the repository with the following command:\n";
+    print "    ppm rep add bugzilla http://landfill.bugzilla.org/ppm/\n\n";
+}
+
 if ((!$gd || !$chartbase) && !$silent) {
     print "If you you want to see graphical bug charts (plotting historical ";
     print "data over \ntime), you should install libgd and the following Perl ";     print "modules:\n\n";
-    print "GD:          perl -MCPAN -e'install \"GD\"'\n" if !$gd;
-    print "Chart 0.99b: perl -MCPAN " . 
-          "-e'install \"N/NI/NINJAZ/Chart-0.99b.tar.gz\"'\n" if !$chartbase;
+    print "GD:          " . install_command("GD") ."\n" if !$gd;
+    print "Chart:       " . install_command("Chart::Base") . "\n" if !$chartbase;
     print "\n";
 }
 if (!$xmlparser && !$silent) {
     print "If you want to use the bug import/export feature to move bugs to or from\n",
     "other bugzilla installations, you will need to install the XML::Parser module by\n",
-    "running (as root):\n\n",
-    "   perl -MCPAN -e'install \"XML::Parser\"'\n\n";
+    "running (as $::root):\n\n",
+    "   " . install_command("XML::Parser") . "\n\n";
 }
 if ((!$gd || !$gdgraph || !$gdtextalign) && !$silent) {
     print "If you you want to see graphical bug reports (bar, pie and line ";
     print "charts of \ncurrent data), you should install libgd and the ";
     print "following Perl modules:\n\n";
-    print "GD:              perl -MCPAN -e'install \"GD\"'\n" if !$gd;
-    print "GD::Graph:       perl -MCPAN " .
-           "-e'install \"GD::Graph\"'\n" if !$gdgraph;
-    print "GD::Text::Align: perl -MCPAN " . 
-           "-e'install \"GD::Text::Align\"'\n" if !$gdtextalign;
+    print "GD:              " . install_command("GD") . "\n" if !$gd;
+    print "GD::Graph:       " . install_command("GD::Graph") . "\n" 
+        if !$gdgraph;
+    print "GD::Text::Align: " . install_command("GD::Text::Align") . "\n"
+        if !$gdtextalign;
     print "\n";
 }
 if (!$patchreader && !$silent) {
     print "If you want to see pretty HTML views of patches, you should ";
-    print "install the \nPatchReader module, which can be downloaded at:\n";
-    print "http://search.cpan.org/CPAN/authors/id/J/JK/JKEISER/PatchReader-0.9.2.tar.gz\n";
-    print "When you get it, do the following to install:\n";
-    print "tar xzvf PatchReader-0.9.2.tar.gz\n";
-    print "cd PatchReader-0.9.2\n";
-    print "perl Makefile.PL\n";
-    print "make install\n\n";
+    print "install the \nPatchReader module:\n";
+    print "PatchReader: " . install_command("PatchReader") . "\n";
 }
 
 if (%missing) {
     print "\n\n";
     print "Bugzilla requires some Perl modules which are either missing from your\n",
     "system, or the version on your system is too old.\n",
-    "They can be installed by running (as root) the following:\n";
+    "They can be installed by running (as $::root) the following:\n";
     foreach my $module (keys %missing) {
-        print "   perl -MCPAN -e 'install \"$module\"'\n";
+        print "   " . install_command("$module") . "\n";
         if ($missing{$module} > 0) {
             print "   Minimum version required: $missing{$module}\n";
         }
@@ -383,11 +446,11 @@ use Bugzilla::Config qw(:DEFAULT :admin :locations);
 # know, we never want to overwrite your own version of 'localconfig', so
 # we can't put it into the CVS/tarfile, can we?
 #
-# Now, we need a new variable. We simply add the necessary stuff to checksetup.
-# The user get's the new version of Bugzilla from the CVS, runs checksetup
-# and checksetup finds out "Oh, there is something new". Then it adds some
-# default value to the user's local setup and informs the user to check that
-# to see if that is what the user wants.
+# Now, when we need a new variable, we simply add the necessary stuff to
+# checksetup. When the user gets the new version of Bugzilla from CVS and
+# runs checksetup, it finds out "Oh, there is something new". Then it adds
+# some default value to the user's local setup and informs the user to
+# check that to see if it is what the user wants.
 #
 # Cute, ey?
 #
@@ -451,34 +514,19 @@ LocalVar('index_html', <<'END');
 $index_html = 0;
 END
 
-if (!LocalVarExists('mysqlpath')) {
-    my $mysql_binaries = `which mysql`;
-    if ($mysql_binaries =~ /no mysql/ || $mysql_binaries eq '') {
-        # If which didn't find it, just provide a reasonable default
-        $mysql_binaries = "/usr/bin";
-    } else {
-        $mysql_binaries =~ s:/mysql\n$::;
-    }
-
-    LocalVar('mysqlpath', <<"END");
-#
-# In order to do certain functions in Bugzilla (such as sync the shadow
-# database), we require the MySQL Binaries (mysql, mysqldump, and mysqladmin).
-# Because it's possible that these files aren't in your path, you can specify
-# their location here.
-# Please specify only the directory name, with no trailing slash.
-\$mysqlpath = "$mysql_binaries";
-END
-}
-
 
 if (!LocalVarExists('cvsbin')) {
-    my $cvs_executable = `which cvs`;
-    if ($cvs_executable =~ /no cvs/ || $cvs_executable eq '') {
-        # If which didn't find it, just set to blank
-        $cvs_executable = "";
+    my $cvs_executable;
+    if ($^O !~ /MSWin32/i) {
+        $cvs_executable = `which cvs`;
+        if ($cvs_executable =~ /no cvs/ || $cvs_executable eq '') {
+            # If which didn't find it, just set to blank
+            $cvs_executable = "";
+        } else {
+            chomp $cvs_executable;
+        }
     } else {
-        chomp $cvs_executable;
+        $cvs_executable = "";
     }
 
     LocalVar('cvsbin', <<"END");
@@ -493,20 +541,25 @@ END
 
 
 if (!LocalVarExists('interdiffbin')) {
-    my $interdiff_executable = `which interdiff`;
-    if ($interdiff_executable =~ /no interdiff/ || $interdiff_executable eq '') {
-        if (!$silent) {
-            print "\nOPTIONAL NOTE: If you want to ";
-            print "be able to use the\n 'difference between two patches' ";
-            print "feature of Bugzilla (requires\n the PatchReader Perl module ";
-            print "as well), you should install\n patchutils from ";
-            print "http://cyberelk.net/tim/patchutils/\n\n";
-        }
+    my $interdiff_executable;
+    if ($^O !~ /MSWin32/i) {
+        $interdiff_executable = `which interdiff`;
+        if ($interdiff_executable =~ /no interdiff/ || $interdiff_executable eq '') {
+            if (!$silent) {
+                print "\nOPTIONAL NOTE: If you want to ";
+                print "be able to use the\n 'difference between two patches' ";
+                print "feature of Bugzilla (requires\n the PatchReader Perl module ";
+                print "as well), you should install\n patchutils from ";
+                print "http://cyberelk.net/tim/patchutils/\n\n";
+            }
 
-        # If which didn't find it, set to blank
-        $interdiff_executable = "";
+            # If which didn't find it, set to blank
+            $interdiff_executable = "";
+        } else {
+            chomp $interdiff_executable;
+        }
     } else {
-        chomp $interdiff_executable;
+        $interdiff_executable = "";
     }
 
     LocalVar('interdiffbin', <<"END");
@@ -522,12 +575,17 @@ END
 
 
 if (!LocalVarExists('diffpath')) {
-    my $diff_binaries = `which diff`;
-    if ($diff_binaries =~ /no diff/ || $diff_binaries eq '') {
-        # If which didn't find it, set to blank
-        $diff_binaries = "";
+    my $diff_binaries;
+    if ($^O !~ /MSWin32/i) {
+        $diff_binaries = `which diff`;
+        if ($diff_binaries =~ /no diff/ || $diff_binaries eq '') {
+            # If which didn't find it, set to blank
+            $diff_binaries = "";
+        } else {
+            $diff_binaries =~ s:/diff\n$::;
+        }
     } else {
-        $diff_binaries =~ s:/diff\n$::;
+        $diff_binaries = "";
     }
 
     LocalVar('diffpath', <<"END");
@@ -556,8 +614,14 @@ LocalVar('create_htaccess', <<'END');
 $create_htaccess = 1;
 END
 
-    
-LocalVar('webservergroup', '
+my $webservergroup_default;
+if ($^O !~ /MSWin32/i) {
+    $webservergroup_default = 'apache';
+} else {
+    $webservergroup_default = '';
+}
+
+LocalVar('webservergroup', <<"END");
 #
 # This is the group your web server runs on.
 # If you have a windows box, ignore this setting.
@@ -568,9 +632,9 @@ LocalVar('webservergroup', '
 # want. You should only have this set to "" if this is a testing installation
 # and you cannot set this up any other way. YOU HAVE BEEN WARNED.
 # If you set this to anything besides "", you will need to run checksetup.pl
-# as root, or as a user who is a member of the specified group.
-$webservergroup = "nobody";
-');
+# as $::root, or as a user who is a member of the specified group.
+\$webservergroup = "$webservergroup_default";
+END
 
 
 
@@ -664,6 +728,7 @@ LocalVar('opsys', '
         "Mac OS X 10.0",
         "Mac OS X 10.1",
         "Mac OS X 10.2",
+        "Mac OS X 10.3",
         "Linux",
         "BSD/OS",
         "FreeBSD",
@@ -701,6 +766,11 @@ LocalVar('platforms', '
 );
 ');
 
+if (LocalVarExists('mysqlpath')) {
+    print "\nThe \$mysqlpath setting in your localconfig file ",
+          "is no longer required.\nWe recommend you remove it.\n";
+}
+
 if ($newstuff ne "") {
     print "\nThis version of Bugzilla contains some variables that you may want\n",
           "to change and adapt to your local settings. Please edit the file\n",
@@ -732,19 +802,39 @@ my @my_platforms = @{*{$main::{'platforms'}}{ARRAY}};
 my @my_opsys = @{*{$main::{'opsys'}}{ARRAY}};
 
 if ($my_webservergroup && !$silent) {
-    if ($< != 0) { # zach: if not root, yell at them, bug 87398 
-        print <<EOF;
+    if ($^O !~ /MSWin32/i) {
+        # if on unix, see if we need to print a warning about a webservergroup
+        # that we can't chgrp to
+        my $webservergid = (getgrnam($my_webservergroup))[2]
+                           or die("no such group: $my_webservergroup");
+        if ($< != 0 && !grep(/^$webservergid$/, split(" ", $)))) {
+            print <<EOF;
+
+Warning: you have entered a value for the "webservergroup" parameter in 
+localconfig, but you are not either a) running this script as $::root; or b) a 
+member of this group. This can cause permissions problems and decreased 
+security.  If you experience problems running Bugzilla scripts, log in as 
+$::root and re-run this script, become a member of the group, or remove the 
+value of the "webservergroup" parameter. Note that any warnings about 
+"uninitialized values" that you may see below are caused by this.
 
-Warning: you have entered a value for the "webservergroup" parameter
-in localconfig, but you are not running this script as root.
-This can cause permissions problems and decreased security.  If you
-experience problems running Bugzilla scripts, log in as root and re-run
-this script, or remove the value of the "webservergroup" parameter.
-Note that any warnings about "uninitialized values" that you may
-see below are caused by this.
+EOF
+        }
+    }
+    else {
+        # if on Win32, print a reminder that setting this value adds no security
+        print <<EOF;
+      
+Warning: You have set webservergroup in your localconfig.
+Please understand that this does not bring you any security when
+running under Windows.
+Verify that the file permissions in your Bugzilla directory are
+suitable for your system.
+Avoid unnecessary write access.
 
 EOF
     }
+
 } else {
     # Theres no webservergroup, this is very very very very bad.
     # However, if we're being run on windows, then this option doesn't
@@ -1103,7 +1193,9 @@ END
                # These don't actually need to do anything here, just exist
                FILTERS =>
                {
-                strike => sub { return $_; } ,
+                inactive => sub { return $_; } ,
+                closed => sub { return $_; },
+                obsolete => sub { return $_; },
                 js => sub { return $_; },
                 html_linebreak => sub { return $_; },
                 url_quote => sub { return $_; },
@@ -1162,8 +1254,8 @@ WriteParams();
 #
 # Here we use --CHMOD-- and friends to set the file permissions
 #
-# The rationale is that the web server generally runs as nobody and so the cgi
-# scripts should not be writable for nobody, otherwise someone may be possible
+# The rationale is that the web server generally runs as apache and so the cgi
+# scripts should not be writable for apache, otherwise someone may be possible
 # to change the cgi's when exploiting some security flaw somewhere (not
 # necessarily in Bugzilla!)
 #
@@ -1195,7 +1287,7 @@ WriteParams();
 
 # These are the files which need to be marked executable
 my @executable_files = ('whineatnews.pl', 'collectstats.pl',
-   'checksetup.pl', 'importxml.pl', 'runtests.sh');
+   'checksetup.pl', 'importxml.pl', 'runtests.sh', 'testserver.pl');
 
 # tell me if a file is executable.  All CGI files and those in @executable_files
 # are executable
@@ -1249,59 +1341,60 @@ sub fixPerms {
     }
 }
 
-if ($my_webservergroup) {
-    # Funny! getgrname returns the GID if fed with NAME ...
-    my $webservergid = getgrnam($my_webservergroup) 
+if ($^O !~ /MSWin32/i) {
+    if ($my_webservergroup) {
+        # Funny! getgrname returns the GID if fed with NAME ...
+        my $webservergid = getgrnam($my_webservergroup) 
         or die("no such group: $my_webservergroup");
-    # chown needs to be called with a valid uid, not 0.  $< returns the
-    # caller's uid.  Maybe there should be a $bugzillauid, and call with that
-    # userid.
-    fixPerms('.htaccess', $<, $webservergid, 027); # glob('*') doesn't catch dotfiles
-    fixPerms("$datadir/.htaccess", $<, $webservergid, 027);
-    fixPerms("$datadir/duplicates", $<, $webservergid, 027, 1);
-    fixPerms("$datadir/mining", $<, $webservergid, 027, 1);
-    fixPerms("$datadir/template", $<, $webservergid, 007, 1); # webserver will write to these
-    fixPerms($webdotdir, $<, $webservergid, 007, 1);
-    fixPerms("$webdotdir/.htaccess", $<, $webservergid, 027);
-    fixPerms("$datadir/params", $<, $webservergid, 017);
-    fixPerms('*', $<, $webservergid, 027);
-    fixPerms('Bugzilla', $<, $webservergid, 027, 1);
-    fixPerms($templatedir, $<, $webservergid, 027, 1);
-    fixPerms('css', $<, $webservergid, 027, 1);
-    fixPerms('js', $<, $webservergid, 027, 1);
-    chmod 0644, 'globals.pl';
-    chmod 0644, 'RelationSet.pm';
-
-    # Don't use fixPerms here, because it won't change perms on the directory
-    # unless its using recursion
-    chown $<, $webservergid, $datadir;
-    chmod 0771, $datadir;
-    chown $<, $webservergid, 'graphs';
-    chmod 0770, 'graphs';
-} else {
-    # get current gid from $( list
-    my $gid = (split " ", $()[0];
-    fixPerms('.htaccess', $<, $gid, 022); # glob('*') doesn't catch dotfiles
-    fixPerms("$datadir/.htaccess", $<, $gid, 022);
-    fixPerms("$datadir/duplicates", $<, $gid, 022, 1);
-    fixPerms("$datadir/mining", $<, $gid, 022, 1);
-    fixPerms("$datadir/template", $<, $gid, 000, 1); # webserver will write to these
-    fixPerms($webdotdir, $<, $gid, 000, 1);
-    chmod 01777, $webdotdir;
-    fixPerms("$webdotdir/.htaccess", $<, $gid, 022);
-    fixPerms("$datadir/params", $<, $gid, 011);
-    fixPerms('*', $<, $gid, 022);
-    fixPerms('Bugzilla', $<, $gid, 022, 1);
-    fixPerms($templatedir, $<, $gid, 022, 1);
-    fixPerms('css', $<, $gid, 022, 1);
-    fixPerms('js', $<, $gid, 022, 1);
-
-    # Don't use fixPerms here, because it won't change perms on the directory
-    # unless its using recursion
-    chown $<, $gid, $datadir;
-    chmod 0777, $datadir;
-    chown $<, $gid, 'graphs';
-    chmod 01777, 'graphs';
+        # chown needs to be called with a valid uid, not 0.  $< returns the
+        # caller's uid.  Maybe there should be a $bugzillauid, and call with that
+        # userid.
+        fixPerms('.htaccess', $<, $webservergid, 027); # glob('*') doesn't catch dotfiles
+        fixPerms("$datadir/.htaccess", $<, $webservergid, 027);
+        fixPerms("$datadir/duplicates", $<, $webservergid, 027, 1);
+        fixPerms("$datadir/mining", $<, $webservergid, 027, 1);
+        fixPerms("$datadir/template", $<, $webservergid, 007, 1); # webserver will write to these
+        fixPerms($webdotdir, $<, $webservergid, 007, 1);
+        fixPerms("$webdotdir/.htaccess", $<, $webservergid, 027);
+        fixPerms("$datadir/params", $<, $webservergid, 017);
+        fixPerms('*', $<, $webservergid, 027);
+        fixPerms('Bugzilla', $<, $webservergid, 027, 1);
+        fixPerms($templatedir, $<, $webservergid, 027, 1);
+        fixPerms('css', $<, $webservergid, 027, 1);
+        fixPerms('js', $<, $webservergid, 027, 1);
+        chmod 0644, 'globals.pl';
+        
+        # Don't use fixPerms here, because it won't change perms on the directory
+        # unless its using recursion
+        chown $<, $webservergid, $datadir;
+        chmod 0771, $datadir;
+        chown $<, $webservergid, 'graphs';
+        chmod 0770, 'graphs';
+    } else {
+        # get current gid from $( list
+        my $gid = (split " ", $()[0];
+        fixPerms('.htaccess', $<, $gid, 022); # glob('*') doesn't catch dotfiles
+        fixPerms("$datadir/.htaccess", $<, $gid, 022);
+        fixPerms("$datadir/duplicates", $<, $gid, 022, 1);
+        fixPerms("$datadir/mining", $<, $gid, 022, 1);
+        fixPerms("$datadir/template", $<, $gid, 000, 1); # webserver will write to these
+        fixPerms($webdotdir, $<, $gid, 000, 1);
+        chmod 01777, $webdotdir;
+        fixPerms("$webdotdir/.htaccess", $<, $gid, 022);
+        fixPerms("$datadir/params", $<, $gid, 011);
+        fixPerms('*', $<, $gid, 022);
+        fixPerms('Bugzilla', $<, $gid, 022, 1);
+        fixPerms($templatedir, $<, $gid, 022, 1);
+        fixPerms('css', $<, $gid, 022, 1);
+        fixPerms('js', $<, $gid, 022, 1);
+        
+        # Don't use fixPerms here, because it won't change perms on the directory
+        # unless its using recursion
+        chown $<, $gid, $datadir;
+        chmod 0777, $datadir;
+        chown $<, $gid, 'graphs';
+        chmod 01777, 'graphs';
+    }
 }
 
 ###########################################################################
@@ -1379,18 +1472,28 @@ if ($my_db_check) {
     if ( vers_cmp($sql_vers,$sql_want) > -1 ) {
         print "ok: found v$sql_vers\n" unless $silent;
     } else {
-        die "Your MySQL server v$sql_vers is too old./n" . 
+        die "\nYour MySQL server v$sql_vers is too old.\n" . 
             "   Bugzilla requires version $sql_want or later of MySQL.\n" . 
             "   Please visit http://www.mysql.com/ and download a newer version.\n";
     }
+    if (( $sql_vers =~ /^4\.0\.(\d+)/ ) && ($1 < 2)) {
+        die "\nYour MySQL server is incompatible with Bugzilla.\n" .
+            "   Bugzilla does not support versions 4.x.x below 4.0.2.\n" .
+            "   Please visit http://www.mysql.com/ and download a newer version.\n";
+    }
 
     my @databases = $dbh->func('_ListDBs');
     unless (grep /^$my_db_name$/, @databases) {
        print "Creating database $my_db_name ...\n";
-       $dbh->func('createdb', $my_db_name, 'admin')
-            or die <<"EOF"
+       if (!$dbh->func('createdb', $my_db_name, 'admin')) {
+            my $error = $dbh->errstr;
+            die <<"EOF"
+
+The '$my_db_name' database could not be created.  The error returned was:
+
+$error
 
-The '$my_db_name' database is not accessible. This might have several reasons:
+This might have several reasons:
 
 * MySQL is not running.
 * MySQL is running, but the rights are not set correct. Go and read the
@@ -1400,6 +1503,7 @@ The '$my_db_name' database is not accessible. This might have several reasons:
   sure all settings in '$localconfig' are correct. If all else fails, set
   '\$db_check' to zero.\n
 EOF
+        }
     }
     $dbh->disconnect if $dbh;
 }
@@ -1537,6 +1641,8 @@ $table{flags} =
      
      setter_id          MEDIUMINT     NULL , 
      requestee_id       MEDIUMINT     NULL , 
+     
+     is_active          TINYINT       NOT NULL  DEFAULT 1, 
    
      INDEX(bug_id, attach_id) , 
      INDEX(setter_id) , 
@@ -1823,16 +1929,17 @@ $table{tokens} =
 # directly or due to regexp and which groups can be blessed
 # by a user. 
 #
-# isderived: 
-# if 0 - record was explicitly granted
-# if 1 - record was created by evaluating a regexp or group hierarchy
+# grant_type: 
+# if GRANT_DIRECT - record was explicitly granted
+# if GRANT_DERIVED - record was derived from expanding a group hierarchy
+# if GRANT_REGEXP - record was created by evaluating a regexp
 $table{user_group_map} =
     'user_id mediumint not null,
      group_id mediumint not null,
      isbless tinyint not null default 0,
-     isderived tinyint not null default 0,
+     grant_type tinyint not null default 0,
 
-     unique(user_id, group_id, isderived, isbless)';
+     unique(user_id, group_id, grant_type, isbless)';
 
 $table{group_group_map} =
     'member_id mediumint not null,
@@ -1880,27 +1987,27 @@ $table{series} =
      frequency    smallint    not null,
      last_viewed  datetime    default null,
      query        mediumtext  not null,
+     public       tinyint(1)  not null default 0,
      
      index(creator),
      unique(creator, category, subcategory, name)';
 
 $table{series_data} = 
-    'series_id mediumint not null,
-     date      datetime  not null,
-     value     mediumint not null,
+    'series_id    mediumint not null,
+     series_date  datetime  not null,
+     series_value mediumint not null,
      
-     unique(series_id, date)';
+     unique(series_id, series_date)';
 
-$table{user_series_map} =
-    'user_id   mediumint not null,
-     series_id mediumint not null, 
+$table{category_group_map} =
+    'category_id smallint not null,
+     group_id    mediumint not null,
      
-     index(series_id),
-     unique(user_id, series_id)';
+     unique(category_id, group_id)';
      
 $table{series_categories} =
-    'category_id smallint    auto_increment primary key,
-     name        varchar(64) not null,
+    'id   smallint    auto_increment primary key,
+     name varchar(64) not null,
      
      unique(name)';
      
@@ -1912,7 +2019,7 @@ $table{series_categories} =
 # to type MyISAM if so.  ISAM tables are deprecated in MySQL 3.23,
 # which Bugzilla now requires, and they don't support more than 16 
 # indexes per table, which Bugzilla needs.
-my $sth = $dbh->prepare("SHOW TABLE STATUS FROM $::db_name");
+my $sth = $dbh->prepare("SHOW TABLE STATUS FROM `$::db_name`");
 $sth->execute;
 my @isam_tables = ();
 while (my ($name, $type) = $sth->fetchrow_array) {
@@ -1957,7 +2064,7 @@ while (my ($tabname, $fielddef) = each %table) {
     $fielddef =~ s/\$my_opsys/$my_opsys/;
     $fielddef =~ s/\$my_platforms/$my_platforms/;
 
-    $dbh->do("CREATE TABLE $tabname (\n$fielddef\n)")
+    $dbh->do("CREATE TABLE $tabname (\n$fielddef\n) TYPE = MYISAM")
         or die "Could not create table '$tabname'. Please check your '$db_base' access.\n";
 }
 
@@ -2019,11 +2126,13 @@ sub AddFDef ($$$) {
     my ($fieldid) = ($sth->fetchrow_array());
     if (!$fieldid) {
         $fieldid = 'NULL';
-    }
-
-    $dbh->do("REPLACE INTO fielddefs " .
+        $dbh->do("INSERT INTO fielddefs " .
              "(fieldid, name, description, mailhead, sortkey) VALUES " .
              "($fieldid, $name, $description, $mailhead, $headernum)");
+    } else {
+        $dbh->do("UPDATE fielddefs SET name = $name, description = $description, " .
+                 "mailhead = $mailhead, sortkey = $headernum WHERE fieldid = $fieldid");
+    }
     $headernum++;
 }
 
@@ -2076,8 +2185,11 @@ AddFDef("remaining_time", "Remaining Hours", 0);
 # Oops. Bug 163299
 $dbh->do("DELETE FROM fielddefs WHERE name='cc_accessible'");
 
+# Oops. Bug 215319
+$dbh->do("DELETE FROM fielddefs WHERE name='requesters.login_name'");
+
 AddFDef("flagtypes.name", "Flag", 0);
-AddFDef("requesters.login_name", "Flag Requester", 0);
+AddFDef("requestees.login_name", "Flag Requestee", 0);
 AddFDef("setters.login_name", "Flag Setter", 0);
 AddFDef("work_time", "Hours Worked", 0);
 AddFDef("percentage_complete", "Percentage Complete", 0);
@@ -2147,9 +2259,14 @@ sub DropIndexes ($)
       # 
       next if exists $SEEN{$$ref[2]};
 
-      my $dropSth = $dbh->prepare("ALTER TABLE $table DROP INDEX $$ref[2]");
-      $dropSth->execute;
-      $dropSth->finish;
+      if ($$ref[2] eq 'PRIMARY') {
+          # The syntax for dropping a PRIMARY KEY is different
+          # from the normal DROP INDEX syntax.
+          $dbh->do("ALTER TABLE $table DROP PRIMARY KEY"); 
+      }
+      else {
+          $dbh->do("ALTER TABLE $table DROP INDEX $$ref[2]");
+      }
       $SEEN{$$ref[2]} = 1;
 
     }
@@ -2275,6 +2392,7 @@ sub RenameField ($$$)
         print "Updating field $field in table $table ...\n";
         my $type = $$ref[1];
         $type .= " NOT NULL" if !$$ref[2];
+        $type .= " auto_increment" if $$ref[5] =~ /auto_increment/;
         $dbh->do("ALTER TABLE $table
                   CHANGE $field
                   $newname $type");
@@ -3199,7 +3317,13 @@ if (GetFieldDef("products", "product")) {
     AddField("versions", "product_id", "smallint not null");
     AddField("milestones", "product_id", "smallint not null");
     AddField("bugs", "product_id", "smallint not null");
-    AddField("attachstatusdefs", "product_id", "smallint not null");
+    # The attachstatusdefs table was added in version 2.15, but removed again
+    # in early 2.17.  If it exists now, we still need to perform this change
+    # with product_id because the code further down which converts the
+    # attachment statuses to flags depends on it.  But we need to avoid this
+    # if the user is upgrading from 2.14 or earlier (because it won't be
+    # there to convert).
+    AddField("attachstatusdefs", "product_id", "smallint not null") if TableExists("attachstatusdefs");
     my %products;
     my $sth = $dbh->prepare("SELECT id, product FROM products");
     $sth->execute;
@@ -3219,7 +3343,7 @@ if (GetFieldDef("products", "product")) {
         $dbh->do("UPDATE bugs SET product_id = $product_id, delta_ts=delta_ts " .
                  "WHERE product = " . $dbh->quote($product));
         $dbh->do("UPDATE attachstatusdefs SET product_id = $product_id " .
-                 "WHERE product = " . $dbh->quote($product));
+                 "WHERE product = " . $dbh->quote($product)) if TableExists("attachstatusdefs");
     }
 
     print "Updating the database to use component IDs.\n";
@@ -3244,7 +3368,9 @@ if (GetFieldDef("products", "product")) {
                  " AND product_id = $product_id");
     }
     print "Fixing Indexes and Uniqueness.\n";
-    $dbh->do("ALTER TABLE milestones DROP INDEX product");
+    # Drop any indexes that may exist on the milestones table.
+    DropIndexes('milestones');
+
     $dbh->do("ALTER TABLE milestones ADD UNIQUE (product_id, value)");
     $dbh->do("ALTER TABLE bugs DROP INDEX product");
     $dbh->do("ALTER TABLE bugs ADD INDEX (product_id)");
@@ -3257,7 +3383,7 @@ if (GetFieldDef("products", "product")) {
     DropField("milestones", "product");
     DropField("bugs", "product");
     DropField("bugs", "component");
-    DropField("attachstatusdefs", "product");
+    DropField("attachstatusdefs", "product") if TableExists("attachstatusdefs");
     RenameField("products", "product", "name");
     ChangeFieldType("products", "name", "varchar(64) not null");
     RenameField("components", "value", "name");
@@ -3384,8 +3510,8 @@ if (GetFieldDef("profiles", "groupset")) {
             $sth3->execute();
             if ( !$sth3->fetchrow_array() ) {
                 $dbh->do("INSERT INTO user_group_map
-                       (user_id, group_id, isbless, isderived)
-                       VALUES($uid, $gid, 0, 0)");
+                       (user_id, group_id, isbless, grant_type)
+                       VALUES($uid, $gid, 0, " . GRANT_DIRECT . ")");
             }
         }
         # Create user can bless group grants for old groupsets.
@@ -3395,8 +3521,8 @@ if (GetFieldDef("profiles", "groupset")) {
         $sth2->execute();
         while (my ($uid) = $sth2->fetchrow_array) {
             $dbh->do("INSERT INTO user_group_map
-                   (user_id, group_id, isbless, isderived)
-                   VALUES($uid, $gid, 1, 0)");
+                   (user_id, group_id, isbless, grant_type)
+                   VALUES($uid, $gid, 1, " . GRANT_DIRECT . ")");
         }
         # Create bug_group_map records for old groupsets.
         # Get each bug with the old group bit set.
@@ -3421,90 +3547,91 @@ if (GetFieldDef("profiles", "groupset")) {
     $sth->execute();
     my ($gsid) = $sth->fetchrow_array;
     # Get all bugs_activity records from groupset changes
-    $sth = $dbh->prepare("SELECT bug_id, bug_when, who, added, removed
-                          FROM bugs_activity WHERE fieldid = $gsid");
-    $sth->execute();
-    while (my ($bug_id, $bug_when, $who, $added, $removed) = $sth->fetchrow_array) {
-        $added ||= 0;
-        $removed ||= 0;
-        # Get names of groups added.
-        my $sth2 = $dbh->prepare("SELECT name FROM groups WHERE (bit & $added) != 0 AND (bit & $removed) = 0");
-        $sth2->execute();
-        my @logadd = ();
-        while (my ($n) = $sth2->fetchrow_array) {
-            push @logadd, $n;
-        }
-        # Get names of groups removed.
-        $sth2 = $dbh->prepare("SELECT name FROM groups WHERE (bit & $removed) != 0 AND (bit & $added) = 0");
-        $sth2->execute();
-        my @logrem = ();
-        while (my ($n) = $sth2->fetchrow_array) {
-            push @logrem, $n;
-        }
-        # Get list of group bits added that correspond to missing groups.
-        $sth2 = $dbh->prepare("SELECT ($added & ~BIT_OR(bit)) FROM groups");
-        $sth2->execute();
-        my ($miss) = $sth2->fetchrow_array;
-        if ($miss) {
-            push @logadd, ListBits($miss);
-            print "\nWARNING - GROUPSET ACTIVITY ON BUG $bug_id CONTAINS DELETED GROUPS\n";
-        }
-        # Get list of group bits deleted that correspond to missing groups.
-        $sth2 = $dbh->prepare("SELECT ($removed & ~BIT_OR(bit)) FROM groups");
-        $sth2->execute();
-        ($miss) = $sth2->fetchrow_array;
-        if ($miss) {
-            push @logrem, ListBits($miss);
-            print "\nWARNING - GROUPSET ACTIVITY ON BUG $bug_id CONTAINS DELETED GROUPS\n";
-        }
-        my $logr = "";
-        my $loga = "";
-        $logr = join(", ", @logrem) . '?' if @logrem;
-        $loga = join(", ", @logadd) . '?' if @logadd;
-        # Replace to old activity record with the converted data.
-        $dbh->do("UPDATE bugs_activity SET fieldid = $bgfid, added = " .
-                  $dbh->quote($loga) . ", removed = " . 
-                  $dbh->quote($logr) .
-                  " WHERE bug_id = $bug_id AND bug_when = " . $dbh->quote($bug_when) .
-                  " AND who = $who AND fieldid = $gsid");
-
-    }
-    # Replace groupset changes with group name changes in profiles_activity.
-    # Get profiles_activity records for groupset.
-    $sth = $dbh->prepare("SELECT userid, profiles_when, who, newvalue, oldvalue
-                          FROM profiles_activity WHERE fieldid = $gsid");
-    $sth->execute();
-    while (my ($uid, $uwhen, $uwho, $added, $removed) = $sth->fetchrow_array) {
-        $added ||= 0;
-        $removed ||= 0;
-        # Get names of groups added.
-        my $sth2 = $dbh->prepare("SELECT name FROM groups WHERE (bit & $added) != 0 AND (bit & $removed) = 0");
-        $sth2->execute();
-        my @logadd = ();
-        while (my ($n) = $sth2->fetchrow_array) {
-            push @logadd, $n;
+    if ($gsid) {
+        $sth = $dbh->prepare("SELECT bug_id, bug_when, who, added, removed
+                              FROM bugs_activity WHERE fieldid = $gsid");
+        $sth->execute();
+        while (my ($bug_id, $bug_when, $who, $added, $removed) = $sth->fetchrow_array) {
+            $added ||= 0;
+            $removed ||= 0;
+            # Get names of groups added.
+            my $sth2 = $dbh->prepare("SELECT name FROM groups WHERE (bit & $added) != 0 AND (bit & $removed) = 0");
+            $sth2->execute();
+            my @logadd = ();
+            while (my ($n) = $sth2->fetchrow_array) {
+                push @logadd, $n;
+            }
+            # Get names of groups removed.
+            $sth2 = $dbh->prepare("SELECT name FROM groups WHERE (bit & $removed) != 0 AND (bit & $added) = 0");
+            $sth2->execute();
+            my @logrem = ();
+            while (my ($n) = $sth2->fetchrow_array) {
+                push @logrem, $n;
+            }
+            # Get list of group bits added that correspond to missing groups.
+            $sth2 = $dbh->prepare("SELECT ($added & ~BIT_OR(bit)) FROM groups");
+            $sth2->execute();
+            my ($miss) = $sth2->fetchrow_array;
+            if ($miss) {
+                push @logadd, ListBits($miss);
+                print "\nWARNING - GROUPSET ACTIVITY ON BUG $bug_id CONTAINS DELETED GROUPS\n";
+            }
+            # Get list of group bits deleted that correspond to missing groups.
+            $sth2 = $dbh->prepare("SELECT ($removed & ~BIT_OR(bit)) FROM groups");
+            $sth2->execute();
+            ($miss) = $sth2->fetchrow_array;
+            if ($miss) {
+                push @logrem, ListBits($miss);
+                print "\nWARNING - GROUPSET ACTIVITY ON BUG $bug_id CONTAINS DELETED GROUPS\n";
+            }
+            my $logr = "";
+            my $loga = "";
+            $logr = join(", ", @logrem) . '?' if @logrem;
+            $loga = join(", ", @logadd) . '?' if @logadd;
+            # Replace to old activity record with the converted data.
+            $dbh->do("UPDATE bugs_activity SET fieldid = $bgfid, added = " .
+                      $dbh->quote($loga) . ", removed = " . 
+                      $dbh->quote($logr) .
+                      " WHERE bug_id = $bug_id AND bug_when = " . $dbh->quote($bug_when) .
+                      " AND who = $who AND fieldid = $gsid");
+    
         }
-        # Get names of groups removed.
-        $sth2 = $dbh->prepare("SELECT name FROM groups WHERE (bit & $removed) != 0 AND (bit & $added) = 0");
-        $sth2->execute();
-        my @logrem = ();
-        while (my ($n) = $sth2->fetchrow_array) {
-            push @logrem, $n;
+        # Replace groupset changes with group name changes in profiles_activity.
+        # Get profiles_activity records for groupset.
+        $sth = $dbh->prepare("SELECT userid, profiles_when, who, newvalue, oldvalue
+                              FROM profiles_activity WHERE fieldid = $gsid");
+        $sth->execute();
+        while (my ($uid, $uwhen, $uwho, $added, $removed) = $sth->fetchrow_array) {
+            $added ||= 0;
+            $removed ||= 0;
+            # Get names of groups added.
+            my $sth2 = $dbh->prepare("SELECT name FROM groups WHERE (bit & $added) != 0 AND (bit & $removed) = 0");
+            $sth2->execute();
+            my @logadd = ();
+            while (my ($n) = $sth2->fetchrow_array) {
+                push @logadd, $n;
+            }
+            # Get names of groups removed.
+            $sth2 = $dbh->prepare("SELECT name FROM groups WHERE (bit & $removed) != 0 AND (bit & $added) = 0");
+            $sth2->execute();
+            my @logrem = ();
+            while (my ($n) = $sth2->fetchrow_array) {
+                push @logrem, $n;
+            }
+            my $ladd = "";
+            my $lrem = "";
+            $ladd = join(", ", @logadd) . '?' if @logadd;
+            $lrem = join(", ", @logrem) . '?' if @logrem;
+            # Replace profiles_activity record for groupset change with group list.
+            $dbh->do("UPDATE profiles_activity SET fieldid = $bgfid, newvalue = " .
+                      $dbh->quote($ladd) . ", oldvalue = " . 
+                      $dbh->quote($lrem) .
+                      " WHERE userid = $uid AND profiles_when = " . 
+                      $dbh->quote($uwhen) .
+                      " AND who = $uwho AND fieldid = $gsid");
+    
         }
-        my $ladd = "";
-        my $lrem = "";
-        $ladd = join(", ", @logadd) . '?' if @logadd;
-        $lrem = join(", ", @logrem) . '?' if @logrem;
-        # Replace profiles_activity record for groupset change with group list.
-        $dbh->do("UPDATE profiles_activity SET fieldid = $bgfid, newvalue = " .
-                  $dbh->quote($ladd) . ", oldvalue = " . 
-                  $dbh->quote($lrem) .
-                  " WHERE userid = $uid AND profiles_when = " . 
-                  $dbh->quote($uwhen) .
-                  " AND who = $uwho AND fieldid = $gsid");
-
     }
-
     # Identify admin group.
     my $sth = $dbh->prepare("SELECT id FROM groups 
                 WHERE name = 'admin'");
@@ -3655,6 +3782,51 @@ if (TableExists("attachstatuses") && TableExists("attachstatusdefs")) {
     print "done.\n";
 }
 
+# 2004-12-13 Nick.Barnes@pobox.com bug 262268
+# Check flag type names for spaces and commas, and rename them.
+if (TableExists("flagtypes")) {
+    # Get names and IDs which are broken.
+    $sth = $dbh->prepare("SELECT name, id FROM flagtypes");
+    $sth->execute();
+
+    my %flagtypes;
+    my @badflagnames;
+    
+    while (my ($name, $id) = $sth->fetchrow_array()) {
+        $flagtypes{$name} = $id;
+        if ($name =~ /[ ,]/) {
+            push(@badflagnames, $name);
+        }
+    }
+    if (@badflagnames) {
+        print "Removing spaces and commas from flag names...\n";
+        my ($flagname, $tryflagname);
+        my $sth = $dbh->prepare("UPDATE flagtypes SET name = ? WHERE id = ?");
+        foreach $flagname (@badflagnames) {
+            print "  Bad flag type name \"$flagname\" ...\n";
+            ($tryflagname = $flagname) =~ tr/ ,/__/;
+            while (defined($flagtypes{$tryflagname})) {
+                print "  ... can't rename as \"$tryflagname\" ...\n";
+                $tryflagname .= "'";
+                if (length($tryflagname) > 50) {
+                    my $lastchanceflagname = (substr $tryflagname, 0, 47) . '...';
+                    if (defined($flagtypes{$lastchanceflagname})) {
+                        print "  ... last attempt as \"$lastchanceflagname\" still failed.'\n",
+                              "Rename the flag by hand and run checksetup.pl again.\n";
+                        die("Bad flag type name $flagname");
+                    }
+                    $tryflagname = $lastchanceflagname;
+                }
+            }
+            $sth->execute($tryflagname, $flagtypes{$flagname});
+            print "  renamed flag type \"$flagname\" as \"$tryflagname\"\n";
+            $flagtypes{$tryflagname} = $flagtypes{$flagname};
+            delete $flagtypes{$flagname};
+        }
+        print "... done.\n";
+    }
+}
+
 # 2002-11-24 - bugreport@peshkin.net - bug 147275 
 #
 # If group_control_map is empty, backward-compatbility 
@@ -3700,6 +3872,33 @@ if ($mapcnt == 0) {
     }
 }
 
+# 2004-07-17 GRM - Remove "subscriptions" concept from charting, and add
+# group-based security instead. 
+if (TableExists("user_series_map")) {
+    # Oracle doesn't like "date" as a column name, and apparently some DBs
+    # don't like 'value' either. We use the changes to subscriptions as 
+    # something to hang these renamings off.
+    RenameField('series_data', 'date', 'series_date');
+    RenameField('series_data', 'value', 'series_value');
+    
+    # series_categories.category_id produces a too-long column name for the
+    # auto-incrementing sequence (Oracle again).
+    RenameField('series_categories', 'category_id', 'id');
+    
+    AddField("series", "public", "tinyint(1) not null default 0");
+
+    # Migrate public-ness across from user_series_map to new field
+    $sth = $dbh->prepare("SELECT series_id from user_series_map " .
+                         "WHERE user_id = 0");
+    $sth->execute();
+    while (my ($public_series_id) = $sth->fetchrow_array()) {
+        $dbh->do("UPDATE series SET public = 1 " .
+                 "WHERE series_id = $public_series_id");
+    }
+
+    $dbh->do("DROP TABLE user_series_map");
+}    
+
 # 2003-06-26 Copy the old charting data into the database, and create the
 # queries that will keep it all running. When the old charting system goes
 # away, if this code ever runs, it'll just find no files and do nothing.
@@ -3711,12 +3910,16 @@ if (!$series_exists) {
     require Bugzilla::Series;
       
     # We prepare the handle to insert the series data    
-    my$seriesdatasth = $dbh->prepare("INSERT INTO series_data " . 
-                                     "(series_id, date, value) " . 
+    my $seriesdatasth = $dbh->prepare("INSERT INTO series_data " . 
+                                     "(series_id, series_date, series_value) " .
                                      "VALUES (?, ?, ?)");
-    
+
     my $deletesth = $dbh->prepare("DELETE FROM series_data 
-                                   WHERE series_id = ? AND date = ?");
+                                   WHERE series_id = ? AND series_date = ?");
+    
+    my $groupmapsth = $dbh->prepare("INSERT INTO category_group_map " . 
+                                    "(category_id, group_id) " . 
+                                    "VALUES (?, ?)");
                                      
     # Fields in the data file (matches the current collectstats.pl)
     my @statuses = 
@@ -3814,17 +4017,78 @@ if (!$series_exists) {
                 # We need to delete in case the text file had duplicate entries
                 # in it.
                 $deletesth->execute($seriesids{$field},
-                                    $dbh->quote($date));
+                                    $date);
                          
                 # We prepared this above
                 $seriesdatasth->execute($seriesids{$field},
-                                        $dbh->quote($date), 
+                                        $date, 
                                         $fielddata{$date} || 0);
             }
-        }        
+        }
+        
+        # Create the groupsets for the category
+        my $category_id = 
+            $dbh->selectrow_array("SELECT id " . 
+                                  "FROM series_categories " . 
+                                  "WHERE name = " . $dbh->quote($product));
+        my $product_id =
+            $dbh->selectrow_array("SELECT id FROM products " . 
+                                  "WHERE name = " . $dbh->quote($product));
+                                  
+        if (defined($category_id) && defined($product_id)) {
+          
+            # Get all the mandatory groups for this product
+            my $group_ids = 
+                $dbh->selectcol_arrayref("SELECT group_id " . 
+                     "FROM group_control_map " . 
+                     "WHERE product_id = $product_id " . 
+                     "AND (membercontrol = " . CONTROLMAPMANDATORY . 
+                       " OR othercontrol = " . CONTROLMAPMANDATORY . ")");
+                                            
+            foreach my $group_id (@$group_ids) {
+                $groupmapsth->execute($category_id, $group_id);
+            }
+        }
     }
 }
 
+AddFDef("owner_idle_time", "Time Since Owner Touched", 0);
+
+# 2004-04-12 - Keep regexp-based group permissions up-to-date - Bug 240325
+if (GetFieldDef("user_group_map", "isderived")) {
+    AddField('user_group_map', 'grant_type', 'tinyint not null default 0');
+    $dbh->do("UPDATE user_group_map SET grant_type = " .
+                             "IF(isderived, " . GRANT_DERIVED . ", " .
+                             GRANT_DIRECT . ")");
+    $dbh->do("DELETE FROM user_group_map 
+              WHERE isbless = 0 AND grant_type != " . GRANT_DIRECT);
+    DropField("user_group_map", "isderived");
+    DropIndexes("user_group_map");
+    $dbh->do("ALTER TABLE user_group_map 
+              ADD UNIQUE (user_id, group_id, grant_type, isbless)");
+    # Evaluate regexp-based group memberships
+    my $sth = $dbh->prepare("SELECT profiles.userid, profiles.login_name,
+                             groups.id, groups.userregexp 
+                             FROM profiles, groups
+                             WHERE userregexp != ''");
+    $sth->execute();
+    my $sth2 = $dbh->prepare("INSERT IGNORE INTO user_group_map 
+                           (user_id, group_id, isbless, grant_type) 
+                           VALUES(?, ?, 0, " . GRANT_REGEXP . ")");
+    while (my ($uid, $login, $gid, $rexp) = $sth->fetchrow_array()) {
+        if ($login =~ m/$rexp/i) {
+            $sth2->execute($uid, $gid);
+        }
+    }
+}
+
+# 2004-07-03 - Make it possible to disable flags without deleting them
+# from the database. Bug 223878, jouni@heikniemi.net
+
+AddField('flags', 'is_active', 'tinyint not null default 1');
+
+    
+
 # If you had to change the --TABLE-- definition in any way, then add your
 # differential change code *** A B O V E *** this comment.
 #
@@ -3853,8 +4117,8 @@ if (!GroupDoesExist("editbugs")) {
     $sth->execute();
     while (my ($userid) = $sth->fetchrow_array()) {
         $dbh->do("INSERT INTO user_group_map 
-            (user_id, group_id, isbless, isderived) 
-            VALUES ($userid, $id, 0, 0)");
+            (user_id, group_id, isbless, grant_type) 
+            VALUES ($userid, $id, 0, " . GRANT_DIRECT . ")");
     }
 }
 
@@ -3864,8 +4128,8 @@ if (!GroupDoesExist("canconfirm")) {
     $sth->execute();
     while (my ($userid) = $sth->fetchrow_array()) {
         $dbh->do("INSERT INTO user_group_map 
-            (user_id, group_id, isbless, isderived) 
-            VALUES ($userid, $id, 0, 0)");
+            (user_id, group_id, isbless, grant_type) 
+            VALUES ($userid, $id, 0, " . GRANT_DIRECT . ")");
     }
 
 }
@@ -3877,7 +4141,9 @@ if (!GroupDoesExist("canconfirm")) {
 
 
 sub bailout {   # this is just in case we get interrupted while getting passwd
-    system("stty","echo"); # re-enable input echoing
+    if ($^O !~ /MSWin32/i) {
+        system("stty","echo"); # re-enable input echoing
+    }
     exit 1;
 }
 
@@ -3889,15 +4155,15 @@ if (@admins) {
     my ($adminid) = $sth->fetchrow_array();
     foreach my $userid (@admins) {
         $dbh->do("INSERT INTO user_group_map 
-            (user_id, group_id, isbless, isderived) 
-            VALUES ($userid, $adminid, 0, 0)");
+            (user_id, group_id, isbless, grant_type) 
+            VALUES ($userid, $adminid, 0, " . GRANT_DIRECT . ")");
         # Existing administrators are made blessers of group "admin"
         # but only explitly defined blessers can bless group admin.
         # Other groups can be blessed by any admin (by default) or additional
         # defined blessers.
         $dbh->do("INSERT INTO user_group_map 
-            (user_id, group_id, isbless, isderived) 
-            VALUES ($userid, $adminid, 1, 0)");
+            (user_id, group_id, isbless, grant_type) 
+            VALUES ($userid, $adminid, 1, " . GRANT_DIRECT . ")");
     }
     $sth = $dbh->prepare("SELECT id FROM groups");
     $sth->execute();
@@ -4028,7 +4294,9 @@ if ($sth->rows == 0) {
     $SIG{QUIT} = \&bailout;
     $SIG{TERM} = \&bailout;
 
-    system("stty","-echo");  # disable input echoing
+    if ($^O !~ /MSWin32/i) {
+        system("stty","-echo");  # disable input echoing
+    }
 
     while( $pass1 ne $pass2 ) {
       while( $pass1 eq "" || $pass1 !~ /^[[:print:]]{3,16}$/ ) {
@@ -4060,7 +4328,10 @@ if ($sth->rows == 0) {
     # Crypt the administrator's password
     my $cryptedpassword = Crypt($pass1);
 
-    system("stty","echo"); # re-enable input echoing
+    if ($^O !~ /MSWin32/i) {
+        system("stty","echo"); # re-enable input echoing
+    }
+
     $SIG{HUP}  = 'DEFAULT'; # and remove our interrupt hooks
     $SIG{INT}  = 'DEFAULT';
     $SIG{QUIT} = 'DEFAULT';
@@ -4069,8 +4340,11 @@ if ($sth->rows == 0) {
     $realname = $dbh->quote($realname);
     $cryptedpassword = $dbh->quote($cryptedpassword);
 
-    $dbh->do("INSERT INTO profiles (login_name, realname, cryptpassword)" .
-            " VALUES ($login, $realname, $cryptedpassword)");
+    # Set default email flags for the Admin, same as for users
+    my $defaultflagstring = $dbh->quote(Bugzilla::Constants::DEFAULT_EMAIL_SETTINGS);
+
+    $dbh->do("INSERT INTO profiles (login_name, realname, cryptpassword, emailflags) " .
+             "VALUES ($login, $realname, $cryptedpassword, $defaultflagstring)");
   }
     # Put the admin in each group if not already    
     my $query = "select userid from profiles where login_name = $login";    
@@ -4078,30 +4352,24 @@ if ($sth->rows == 0) {
     $sth->execute();
     my ($userid) = $sth->fetchrow_array();
    
-    foreach my $group (@groups) {
-        my $query = "SELECT user_id FROM user_group_map 
-            WHERE group_id = $group AND user_id = $userid 
-            AND isbless = 0";
-        $sth = $dbh->prepare($query);
-        $sth->execute();
-        if ( !$sth->fetchrow_array() ) {
-            $dbh->do("INSERT INTO user_group_map 
-                (user_id, group_id, isbless, isderived) 
-                VALUES ($userid, $group, 0, 0)");
-        }
-    }
-    # the admin also gets an explicit bless capability for the admin group
-    my $sth = $dbh->prepare("SELECT id FROM groups 
-                WHERE name = 'admin'");
-    $sth->execute();
-    my ($id) = $sth->fetchrow_array();
+    # Admins get explicit membership and bless capability for the admin group
+    my ($admingroupid) = $dbh->selectrow_array("SELECT id FROM groups
+                                                WHERE name = 'admin'");
+    $dbh->do("INSERT INTO user_group_map
+        (user_id, group_id, isbless, grant_type)
+        VALUES ($userid, $admingroupid, 0, " . GRANT_DIRECT . ")");
     $dbh->do("INSERT INTO user_group_map 
-        (user_id, group_id, isbless, isderived) 
-        VALUES ($userid, $id, 1, 0)");
+        (user_id, group_id, isbless, grant_type) 
+        VALUES ($userid, $admingroupid, 1, " . GRANT_DIRECT . ")");
+
+    # Admins get inherited membership and bless capability for all groups
     foreach my $group ( @groups ) {
         $dbh->do("INSERT INTO group_group_map
             (member_id, grantor_id, isbless)
-            VALUES ($id, $group, 1)");
+            VALUES ($admingroupid, $group, 0)");
+        $dbh->do("INSERT INTO group_group_map
+            (member_id, grantor_id, isbless)
+            VALUES ($admingroupid, $group, 1)");
     }
 
   print "\n$login is now set up as an administrator account.\n";
@@ -4181,6 +4449,52 @@ if (GetFieldDef('bugs', 'short_desc')->[2]) { # if it allows nulls
     ChangeFieldType('bugs', 'short_desc', 'mediumtext not null');
 }
 
+# 2004-04-12 - Keep regexp-based group permissions up-to-date - Bug 240325
+# Make sure groups get rederived
+$dbh->do("UPDATE groups SET last_changed = NOW() WHERE name = 'admin'");
+
+# 2004-12-29 - Flag email code is broke somewhere, and doesn't treat a lack
+# of FlagRequestee/er emailflags as 'on' like it's supposed to. Easiest way
+# to fix this is to make sure that everyone has these set. (bug 275599).
+# While we're at it, let's make sure everyone has some emailprefs set,
+# whether or not they've ever visited userprefs.cgi (bug 108870). In fact,
+# do this first so that the second check gets fewer hits.
+# 
+my $emailflags_count = 0;
+$sth = $dbh->prepare("SELECT userid FROM profiles " .
+                     "WHERE emailflags LIKE '' " .
+                     "OR emailflags IS NULL");
+$sth->execute();
+while (my ($userid) = $sth->fetchrow_array()) {
+    $dbh->do("UPDATE profiles SET emailflags = " .
+             $dbh->quote(Bugzilla::Constants::DEFAULT_EMAIL_SETTINGS) .
+             "WHERE userid = $userid");
+    $emailflags_count++;
+}
+
+if ($emailflags_count) {
+  print "Added default email prefs to $emailflags_count users who had none.\n" unless $silent;
+  $emailflags_count = 0;
+}
+
+
+$sth = $dbh->prepare("SELECT userid, emailflags FROM profiles " .
+                     "WHERE emailflags NOT LIKE '%Flagrequeste%' ");
+$sth->execute();
+while (my ($userid, $emailflags) = $sth->fetchrow_array()) {
+    $emailflags .= Bugzilla::Constants::DEFAULT_FLAG_EMAIL_SETTINGS;
+    $emailflags = $dbh->quote($emailflags);
+    $dbh->do("UPDATE profiles SET emailflags = $emailflags " .
+             "WHERE userid = $userid");
+    $emailflags_count++;
+}
+
+if ($emailflags_count) {
+  print "Added default Flagrequester/ee email prefs to $emailflags_count users who had none.\n" unless $silent;
+  $emailflags_count = 0;
+}
+
+
 #
 # Final checks...
 
@@ -4195,5 +4509,3 @@ $dbh->do("UPDATE components SET initialowner = $adminuid WHERE initialowner = 0"
 
 unlink "$datadir/versioncache";
 
-print "Reminder: Bugzilla now requires version 8.7 or later of sendmail.\n" unless $silent;
-
diff --git a/colchange.cgi b/colchange.cgi
index 726e60d510a5cc692ba559b10e952664fe7dd5f7..261f30a7212d644f142f7315b4eeac1af19462cf 100755
--- a/colchange.cgi
+++ b/colchange.cgi
@@ -36,8 +36,7 @@ use Bugzilla;
 
 require "CGI.pl";
 
-ConnectToDatabase();
-quietly_check_login();
+Bugzilla->login();
 
 GetVersionTable();
 
@@ -48,12 +47,15 @@ my $cgi = Bugzilla->cgi;
 my @masterlist = ("opendate", "changeddate", "bug_severity", "priority",
                   "rep_platform", "assigned_to", "assigned_to_realname",
                   "reporter", "reporter_realname", "bug_status",
-                  "resolution", "product", "component", "version", "op_sys",
-                  "votes");
+                  "resolution", "product", "component", "version", 
+                  "op_sys");
 
 if (Param("usebugaliases")) {
     unshift(@masterlist, "alias");
 }
+if (Param("usevotes")) {
+    push (@masterlist, "votes");
+}
 if (Param("usetargetmilestone")) {
     push(@masterlist, "target_milestone");
 }
@@ -78,18 +80,18 @@ push(@masterlist, ("short_desc", "short_short_desc"));
 $vars->{'masterlist'} = \@masterlist;
 
 my @collist;
-if (defined $::FORM{'rememberedquery'}) {
+if (defined $cgi->param('rememberedquery')) {
     my $splitheader = 0;
-    if (defined $::FORM{'resetit'}) {
+    if (defined $cgi->param('resetit')) {
         @collist = @::default_column_list;
     } else {
         foreach my $i (@masterlist) {
-            if (defined $::FORM{"column_$i"}) {
+            if (defined $cgi->param("column_$i")) {
                 push @collist, $i;
             }
         }
-        if (exists $::FORM{'splitheader'}) {
-            $splitheader = $::FORM{'splitheader'};
+        if (defined $cgi->param('splitheader')) {
+            $splitheader = $cgi->param('splitheader');
         }
     }
     my $list = join(" ", @collist);
@@ -99,19 +101,22 @@ if (defined $::FORM{'rememberedquery'}) {
                       -value => $list,
                       -expires => 'Fri, 01-Jan-2038 00:00:00 GMT');
     $cgi->send_cookie(-name => 'SPLITHEADER',
-                      -value => $::FORM{'splitheader'},
+                      -value => $cgi->param('splitheader'),
                       -expires => 'Fri, 01-Jan-2038 00:00:00 GMT');
 
     $vars->{'message'} = "change_columns";
-    $vars->{'redirect_url'} = "buglist.cgi?$::FORM{'rememberedquery'}";
+    $vars->{'redirect_url'} = "buglist.cgi?".$cgi->param('rememberedquery');
 
     # If we're running on Microsoft IIS, using cgi->redirect discards
     # the Set-Cookie lines -- workaround is to use the old-fashioned 
     # redirection mechanism. See bug 214466 for details.
-    if ($ENV{'SERVER_SOFTWARE'} =~ /Microsoft-IIS/) {
+    if ($ENV{'SERVER_SOFTWARE'} =~ /Microsoft-IIS/
+        || $ENV{'SERVER_SOFTWARE'} =~ /Sun ONE Web/)
+    {
       print $cgi->header(-type => "text/html",
                          -refresh => "0; URL=$vars->{'redirect_url'}");
-    } else {
+    }
+    else {
       print $cgi->redirect($vars->{'redirect_url'});
     }
     
@@ -120,14 +125,14 @@ if (defined $::FORM{'rememberedquery'}) {
     exit;
 }
 
-if (defined $::COOKIE{'COLUMNLIST'}) {
-    @collist = split(/ /, $::COOKIE{'COLUMNLIST'});
+if (defined $cgi->cookie('COLUMNLIST')) {
+    @collist = split(/ /, $cgi->cookie('COLUMNLIST'));
 } else {
     @collist = @::default_column_list;
 }
 
 $vars->{'collist'} = \@collist;
-$vars->{'splitheader'} = $::COOKIE{'SPLITHEADER'} ? 1 : 0;
+$vars->{'splitheader'} = $cgi->cookie('SPLITHEADER') ? 1 : 0;
 
 $vars->{'buffer'} = $::buffer;
 
diff --git a/collectstats.pl b/collectstats.pl
index e0416945314726f50e49bf876fa05026fca9a698..23d01bbc42677b8c1f386fc9ea762b0006f41638 100755
--- a/collectstats.pl
+++ b/collectstats.pl
@@ -25,7 +25,9 @@
 #                 Jean-Sebastien Guay <jean_seb@hybride.com>
 
 # Run me out of cron at midnight to collect Bugzilla statistics.
-
+#
+# To run new charts for a specific date, pass it in on the command line in
+# ISO (2004-08-14) format.
 
 use AnyDBM_File;
 use strict;
@@ -51,7 +53,6 @@ if (chdir("graphs")) {
     chdir("..");
 }
 
-ConnectToDatabase();
 GetVersionTable();
 
 Bugzilla->switch_to_shadow_db();
@@ -59,6 +60,7 @@ Bugzilla->switch_to_shadow_db();
 # To recreate the daily statistics,  run "collectstats.pl --regenerate" .
 my $regenerate = 0;
 if ($#ARGV >= 0 && $ARGV[0] eq "--regenerate") {
+    shift(@ARGV);
     $regenerate = 1;
 }
 
@@ -85,18 +87,27 @@ my $tend = time;
 
 CollectSeriesData();
 
-# Generate a static RDF file containing the default view of the duplicates data.
-open(CGI, "GATEWAY_INTERFACE=cmdline REQUEST_METHOD=GET QUERY_STRING=ctype=rdf ./duplicates.cgi |")
-  || die "can't fork duplicates.cgi: $!";
-open(RDF, ">$datadir/duplicates.tmp")
-  || die "can't write to $datadir/duplicates.tmp: $!";
-my $headers_done = 0;
-while (<CGI>) {
-  print RDF if $headers_done;
-  $headers_done = 1 if $_ eq "\n";
+{
+    local $ENV{'GATEWAY_INTERFACE'} = 'cmdline';
+    local $ENV{'REQUEST_METHOD'} = 'GET';
+    local $ENV{'QUERY_STRING'} = 'ctype=rdf';
+
+    my $perl = $^X;
+    trick_taint($perl);
+
+    # Generate a static RDF file containing the default view of the duplicates data.
+    open(CGI, "$perl -T duplicates.cgi |")
+        || die "can't fork duplicates.cgi: $!";
+    open(RDF, ">$datadir/duplicates.tmp")
+        || die "can't write to $datadir/duplicates.tmp: $!";
+    my $headers_done = 0;
+    while (<CGI>) {
+        print RDF if $headers_done;
+        $headers_done = 1 if $_ eq "\r\n";
+    }
+    close CGI;
+    close RDF;
 }
-close CGI;
-close RDF;
 if (-s "$datadir/duplicates.tmp") {
     rename("$datadir/duplicates.rdf", "$datadir/duplicates-old.rdf");
     rename("$datadir/duplicates.tmp", "$datadir/duplicates.rdf");
@@ -131,9 +142,9 @@ sub collect_stats {
 
         foreach my $status ('NEW', 'ASSIGNED', 'REOPENED', 'UNCONFIRMED', 'RESOLVED', 'VERIFIED', 'CLOSED') {
             if( $product eq "-All-" ) {
-                SendSQL("select count(bug_status) from bugs where bug_status='$status'");
+                SendSQL("SELECT COUNT(bug_status) FROM bugs WHERE bug_status='$status'");
             } else {
-                SendSQL("select count(bug_status) from bugs where bug_status='$status' and product_id=$product_id");
+                SendSQL("SELECT COUNT(bug_status) FROM bugs WHERE bug_status='$status' AND product_id=$product_id");
             }
 
             push @row, FetchOneColumn();
@@ -141,9 +152,9 @@ sub collect_stats {
 
         foreach my $resolution ('FIXED', 'INVALID', 'WONTFIX', 'LATER', 'REMIND', 'DUPLICATE', 'WORKSFORME', 'MOVED') {
             if( $product eq "-All-" ) {
-                SendSQL("select count(resolution) from bugs where resolution='$resolution'");
+                SendSQL("SELECT COUNT(resolution) FROM bugs WHERE resolution='$resolution'");
             } else {
-                SendSQL("select count(resolution) from bugs where resolution='$resolution' and product_id=$product_id");
+                SendSQL("SELECT COUNT(resolution) FROM bugs WHERE resolution='$resolution' AND product_id=$product_id");
             }
 
             push @row, FetchOneColumn();
@@ -184,6 +195,7 @@ sub calculate_dupes {
     # so we can read it back in to do changed counters
     # First, delete it if it exists, so we don't add to the contents of an old file
     if (my @files = <$datadir/duplicates/dupes$today*>) {
+        map { trick_taint($_) } @files;
         unlink @files;
     }
    
@@ -437,9 +449,7 @@ sub CollectSeriesData {
     # (days_since_epoch + series_id) % frequency = 0. So they'll run every
     # <frequency> days, but the start date depends on the series_id.
     my $days_since_epoch = int(time() / (60 * 60 * 24));
-    my $today = today_dash();
-
-    CleanupChartTables() if ($days_since_epoch % 7 == 0);
+    my $today = $ARGV[0] || today_dash();
 
     # We save a copy of the main $dbh and then switch to the shadow and get
     # that one too. Remember, these may be the same.
@@ -456,13 +466,13 @@ sub CollectSeriesData {
 
     # We prepare the insertion into the data table, for efficiency.
     my $sth = $dbh->prepare("INSERT INTO series_data " .
-                            "(series_id, date, value) " .
+                            "(series_id, series_date, series_value) " .
                             "VALUES (?, " . $dbh->quote($today) . ", ?)");
 
     # We delete from the table beforehand, to avoid SQL errors if people run
     # collectstats.pl twice on the same day.
     my $deletesth = $dbh->prepare("DELETE FROM series_data 
-                                   WHERE series_id = ? AND date = " .
+                                   WHERE series_id = ? AND series_date = " .
                                    $dbh->quote($today));
                                      
     foreach my $series_id (keys %$serieses) {
@@ -476,37 +486,23 @@ sub CollectSeriesData {
                                           'user'   => $user);
         my $sql = $search->getSQL();
         
-        # We need to count the returned rows. Without subselects, we can't
-        # do this directly in the SQL for all queries. So we do it by hand.
-        my $data = $shadow_dbh->selectall_arrayref($sql);
+        my $data;
         
-        my $count = scalar(@$data) || 0;
+        # We can't die if we get dodgy SQL back for whatever reason, so we
+        # eval() this and, if it fails, just ignore it and carry on.
+        # One day we might even log an error.
+        eval { 
+            $data = $shadow_dbh->selectall_arrayref($sql);
+        };
+        
+        if (!$@) {
+            # We need to count the returned rows. Without subselects, we can't
+            # do this directly in the SQL for all queries. So we do it by hand.
+            my $count = scalar(@$data) || 0;
 
-        $deletesth->execute($series_id);
-        $sth->execute($series_id, $count);
+            $deletesth->execute($series_id);
+            $sth->execute($series_id, $count);
+        }
     }
 }
 
-sub CleanupChartTables {
-    Bugzilla->switch_to_main_db();
-    my $dbh = Bugzilla->dbh;
-
-    $dbh->do("LOCK TABLES series WRITE, user_series_map AS usm READ");
-
-    # Find all those that no-one subscribes to
-    my $series_data = $dbh->selectall_arrayref("SELECT series.series_id " .
-                              "FROM series LEFT JOIN user_series_map AS usm " .
-                              "ON series.series_id = usm.series_id " .
-                              "WHERE usm.series_id IS NULL");
-
-    my $series_ids = join(",", map({ $_->[0] } @$series_data));
-
-    # Stop collecting data on all series which no-one is subscribed to.
-    if ($series_ids) {
-        $dbh->do("UPDATE series SET frequency = 0 " . 
-                 "WHERE series_id IN($series_ids)");
-    }
-   
-    $dbh->do("UNLOCK TABLES");
-    Bugzilla->switch_to_shadow_db();
-}
diff --git a/config.cgi b/config.cgi
index a02ff8c7bc514618097833e8c8efa615f5061944..a2c22d0019b6ec236e03d7002b0c67f40816f7b2 100755
--- a/config.cgi
+++ b/config.cgi
@@ -33,10 +33,6 @@ use strict;
 use lib qw(.);
 require "CGI.pl";
 
-# Connect to the database so we can check whether the user is a member
-# of each product group.
-ConnectToDatabase();
-
 # Retrieve this installation's configuration.
 GetVersionTable();
 
@@ -53,8 +49,6 @@ use vars
     @legal_target_milestone 
     @legal_versions 
     @legal_keywords 
-
-    %FORM 
   );
 
 # Use the global template variables defined in globals.pl 
@@ -92,7 +86,9 @@ $vars->{'field'} = [GetFieldDefs()];
 
 # Determine how the user would like to receive the output; 
 # default is JavaScript.
-my $format = GetFormat("config", $::FORM{'format'}, $::FORM{'ctype'} || "js");
+my $cgi = Bugzilla->cgi;
+my $format = GetFormat("config", scalar($cgi->param('format')),
+                       scalar($cgi->param('ctype')) || "js");
 
 # Return HTTP headers.
 print "Content-Type: $format->{'ctype'}\n\n";
diff --git a/contrib/CVS/Entries b/contrib/CVS/Entries
index 55d31acf4f8409602e9188d9262713285d715f28..790528b2e053f9859727cae91368c9ad9348bdf2 100644
--- a/contrib/CVS/Entries
+++ b/contrib/CVS/Entries
@@ -1,16 +1,19 @@
-/BugzillaEmail.pm/1.2/Mon Aug 26 06:17:21 2002//TBUGZILLA-2_17_7
-/README/1.8/Wed Dec 10 23:36:20 2003//TBUGZILLA-2_17_7
-/README.Mailif/1.3/Wed Mar 15 23:39:03 2000//TBUGZILLA-2_17_7
-/bug_email.pl/1.18/Tue Jan 20 06:03:38 2004//TBUGZILLA-2_17_7
-/bugmail_help.html/1.1/Tue Mar  7 17:36:48 2000//TBUGZILLA-2_17_7
-/bugzilla.procmailrc/1.1/Wed Mar 15 23:39:09 2000//TBUGZILLA-2_17_7
-/bugzilla_email_append.pl/1.6/Sat Nov 22 03:50:42 2003//TBUGZILLA-2_17_7
-/bugzilla_ldapsync.rb/1.2/Sat Apr 26 16:35:04 2003//TBUGZILLA-2_17_7
-/cvs-update.pl/1.1/Tue Nov 11 05:58:52 2003//TBUGZILLA-2_17_7
-/gnats2bz.pl/1.6/Thu Jan 31 14:29:21 2002//TBUGZILLA-2_17_7
-/jb2bz.py/1.1/Wed Feb 13 14:59:30 2002//TBUGZILLA-2_17_7
-/mysqld-watcher.pl/1.5/Thu Mar 27 00:06:53 2003//TBUGZILLA-2_17_7
-/syncLDAP.pl/1.1/Sat Nov 22 06:10:24 2003//TBUGZILLA-2_17_7
-/yp_nomail.sh/1.1/Tue Sep 12 23:50:31 2000//TBUGZILLA-2_17_7
+/BugzillaEmail.pm/1.2/Mon Aug 26 06:17:21 2002//TBUGZILLA-2_18
+/README/1.10/Mon Jul  5 21:54:00 2004//TBUGZILLA-2_18
+/README.Mailif/1.3/Wed Mar 15 23:39:03 2000//TBUGZILLA-2_18
+/bug_email.pl/1.20/Fri Apr  9 02:23:09 2004//TBUGZILLA-2_18
+/bugmail_help.html/1.1/Tue Mar  7 17:36:48 2000//TBUGZILLA-2_18
+/bugzilla.procmailrc/1.1/Wed Mar 15 23:39:09 2000//TBUGZILLA-2_18
+/bugzilla_email_append.pl/1.8/Thu Apr 15 04:24:39 2004//TBUGZILLA-2_18
+/bugzilla_ldapsync.rb/1.2/Sat Apr 26 16:35:04 2003//TBUGZILLA-2_18
+/cvs-update.pl/1.1/Tue Nov 11 05:58:52 2003//TBUGZILLA-2_18
+/gnats2bz.pl/1.6/Thu Jan 31 14:29:21 2002//TBUGZILLA-2_18
+/jb2bz.py/1.1/Wed Feb 13 14:59:30 2002//TBUGZILLA-2_18
+/mysqld-watcher.pl/1.5/Thu Mar 27 00:06:53 2003//TBUGZILLA-2_18
+/sendbugmail.pl/1.1.2.1/Sat Nov 20 12:35:43 2004//TBUGZILLA-2_18
+/sendunsentbugmail.pl/1.1.2.1/Tue Sep 21 00:59:40 2004//TBUGZILLA-2_18
+/syncLDAP.pl/1.2/Sat Mar 27 03:51:44 2004//TBUGZILLA-2_18
+/yp_nomail.sh/1.1/Tue Sep 12 23:50:31 2000//TBUGZILLA-2_18
 D/bugzilla-submit////
 D/cmdline////
+D/gnatsparse////
diff --git a/contrib/CVS/Tag b/contrib/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/contrib/CVS/Tag
+++ b/contrib/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/contrib/README b/contrib/README
index a34a43ef65aff6c731da1f6786e0dbd9802dac84..1c1c3e0f2f56b3401dd223c569939a605a9cf4d4 100644
--- a/contrib/README
+++ b/contrib/README
@@ -12,6 +12,19 @@ This directory includes:
    mysqld-watcher.pl --  This script can be installed as a frequent cron 
                          job to clean up stalled/dead queries.
 
+       sendbugmail.pl -- This script is a drop-in replacement for the
+                         'processmail' script which used to be shipped
+                         with Bugzilla, but was replaced by the
+                         Bugzilla/BugMail.pm Perl module.  You can use
+                         this script if you were previously calling
+                         processmail from other scripts external to
+                         Bugzilla.  See the comments at the top of
+                         the file for usage information.  Contributed
+                         by Nick Barnes of Ravenbrook Limited.
+
+         gnatsparse/ --  A Python script used to import a GNATS database
+                         into Bugzilla.
+
          gnats2bz.pl --  A perl script to help import bugs from a GNATS 
                          database into a Bugzilla database.  Contributed by
                          Tom Schutter <tom@platte.com>
diff --git a/contrib/bug_email.pl b/contrib/bug_email.pl
index a8b89714de296c549fa51f9665a70ca5acf6856d..f777d446f3f4c52d51ba77012a383bbf87ecc5e7 100755
--- a/contrib/bug_email.pl
+++ b/contrib/bug_email.pl
@@ -38,7 +38,7 @@
 #
 # You need to work with bug_email.pl the MIME::Parser installed.
 # 
-# $Id: bug_email.pl,v 1.18 2004/01/20 06:03:38 justdave%syndicomm.com Exp $
+# $Id: bug_email.pl,v 1.20 2004/04/09 02:23:09 jocuri%softhome.net Exp $
 ###############################################################
 
 # 02/12/2000 (SML)
@@ -746,8 +746,6 @@ die (" *** Cant find Sender-adress in sent mail ! ***\n" ) unless defined( $Send
 chomp( $Sender );
 chomp( $Message_ID );
 
-ConnectToDatabase();
-
 $SenderShort = $Sender;
 $SenderShort =~ s/^.*?([a-zA-Z0-9_.-]+?\@[a-zA-Z0-9_.-]+\.[a-zA-Z0-9_.-]+).*$/$1/;
 
@@ -831,7 +829,7 @@ if (Param("useqacontact")) {
     SendSQL("select initialqacontact from components, products where components.product_id = products.id AND products.name=" .
             SqlQuote($Control{'product'}) .
             " and components.name=" . SqlQuote($Control{'component'}));
-    $Control{'qacontact'} = FetchOneColumn();
+    $Control{'qa_contact'} = FetchOneColumn();
 }
 
 # Set Assigned - assigned_to depends on the product, cause initialowner 
diff --git a/contrib/bugzilla-submit/CVS/Entries b/contrib/bugzilla-submit/CVS/Entries
index b7ddb3c767470229b840f4d9452bc4593ed1cdab..af611ed1c2442e414237a1955309135cb3840642 100644
--- a/contrib/bugzilla-submit/CVS/Entries
+++ b/contrib/bugzilla-submit/CVS/Entries
@@ -1,5 +1,5 @@
-/README/1.2/Wed Dec 10 23:36:21 2003//TBUGZILLA-2_17_7
-/bugdata.txt/1.2/Fri Jan 16 22:26:49 2004//TBUGZILLA-2_17_7
-/bugzilla-submit/1.3/Fri Jan 16 22:26:49 2004//TBUGZILLA-2_17_7
-/bugzilla-submit.xml/1.3/Fri Jan 16 22:26:49 2004//TBUGZILLA-2_17_7
+/README/1.2/Wed Dec 10 23:36:21 2003//TBUGZILLA-2_18
+/bugdata.txt/1.2/Fri Jan 16 22:26:49 2004//TBUGZILLA-2_18
+/bugzilla-submit/1.5/Tue Apr 13 18:52:50 2004//TBUGZILLA-2_18
+/bugzilla-submit.xml/1.3/Fri Jan 16 22:26:49 2004//TBUGZILLA-2_18
 D
diff --git a/contrib/bugzilla-submit/CVS/Tag b/contrib/bugzilla-submit/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/contrib/bugzilla-submit/CVS/Tag
+++ b/contrib/bugzilla-submit/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/contrib/bugzilla-submit/bugzilla-submit b/contrib/bugzilla-submit/bugzilla-submit
index 8d40be04b3abe24fe2e1843a6b51fd38a0724811..d24fc384338f7c8e89e00bb9da486e8223160a4c 100755
--- a/contrib/bugzilla-submit/bugzilla-submit
+++ b/contrib/bugzilla-submit/bugzilla-submit
@@ -12,14 +12,15 @@
 # TODO: use RDF output to pick up valid options, as in
 #   http://www.async.com.br/~kiko/mybugzilla/config.cgi?ctype=rdf
 
-import sys
+import sys, string
 
 def error(m):
     sys.stderr.write("bugzilla-submit: %s\n" % m)
     sys.stderr.flush()
     sys.exit(1)
 
-if sys.version[:6] < '2.3.0':
+version = string.split(string.split(sys.version)[0], ".")[:2]
+if map(int, version) < [2, 3]:
     error("you must upgrade to Python 2.3 or higher to use this script.")
 
 import urllib, re, os, netrc, email.Parser, optparse
@@ -106,6 +107,16 @@ def get_credentials(bugzilla):
     except IOError, e:
         error("missing .netrc file %s" % str(e).split()[-1])
     ret = credentials.authenticators(authenticate_on)
+    if not ret:
+        # Okay, the literal string passed in failed. Just to make sure,
+        # try adding/removing a slash after the address and looking
+        # again. We don't know what format was used in .netrc, which is
+        # why this rather hackish approach is necessary.
+        if bugzilla[-1] == "/":
+            authenticate_on = '"' + bugzilla[:-1] + '"'
+        else:
+            authenticate_on = '"' + bugzilla + '/"'
+        ret = credentials.authenticators(authenticate_on)
     if not ret:
         # Apparently, an invalid machine URL will cause credentials == None
         error("no credentials for Bugzilla instance at %s" % bugzilla)
diff --git a/contrib/bugzilla_email_append.pl b/contrib/bugzilla_email_append.pl
index da098e66c5aa1ffa7f32a89bce64d741142ced17..fee9b62ac8b67da3602e753f03217c01135fecb6 100755
--- a/contrib/bugzilla_email_append.pl
+++ b/contrib/bugzilla_email_append.pl
@@ -40,6 +40,7 @@ BEGIN {
 require "globals.pl";
 use BugzillaEmail;
 use Bugzilla::Config qw(:DEFAULT $datadir);
+use Bugzilla::BugMail;
 
 # Create a new MIME parser:
 my $parser = new MIME::Parser;
@@ -68,8 +69,6 @@ chomp( $Message_ID );
 
 print "Dealing with the sender $Sender\n";
 
-ConnectToDatabase();
-
 my $SenderShort = $Sender;
 $SenderShort =~ s/^.*?([a-zA-Z0-9_.-]+?\@[a-zA-Z0-9_.-]+\.[a-zA-Z0-9_.-]+).*$/$1/;
 
@@ -120,7 +119,7 @@ my $Body = "Subject: " . $Subject . "\n" . $Comment;
 my $long_desc_query = "INSERT INTO longdescs SET bug_id=$found_id, who=$userid, bug_when=NOW(), thetext=" . SqlQuote($Body) . ";";
 SendSQL($long_desc_query);
 
-system("./processmail", $found_id, $SenderShort);
+Bugzilla::BugMail::Send( $found_id, { changer => $SenderShort } );
 
 sub DealWithError {
   my ($reason) = @_;
diff --git a/contrib/cmdline/CVS/Entries b/contrib/cmdline/CVS/Entries
index 5a14fc7b2d593e4c0faa701f2083b2009004ae09..9268bc11d333746f9fe92011bb0f25b02ce432e8 100644
--- a/contrib/cmdline/CVS/Entries
+++ b/contrib/cmdline/CVS/Entries
@@ -1,4 +1,4 @@
-/buglist/1.1/Thu Nov 15 17:04:58 2001//TBUGZILLA-2_17_7
-/bugs/1.1/Thu Nov 15 17:04:58 2001//TBUGZILLA-2_17_7
-/query.conf/1.1/Thu Nov 15 17:04:58 2001//TBUGZILLA-2_17_7
+/buglist/1.1/Thu Nov 15 17:04:58 2001//TBUGZILLA-2_18
+/bugs/1.1/Thu Nov 15 17:04:58 2001//TBUGZILLA-2_18
+/query.conf/1.1/Thu Nov 15 17:04:58 2001//TBUGZILLA-2_18
 D
diff --git a/contrib/cmdline/CVS/Tag b/contrib/cmdline/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/contrib/cmdline/CVS/Tag
+++ b/contrib/cmdline/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/contrib/gnatsparse/CVS/Entries b/contrib/gnatsparse/CVS/Entries
new file mode 100644
index 0000000000000000000000000000000000000000..bec6636d5bea6c22bd8020c10845cf0de0cc0688
--- /dev/null
+++ b/contrib/gnatsparse/CVS/Entries
@@ -0,0 +1,5 @@
+/README/1.2/Tue Mar 23 17:59:11 2004//TBUGZILLA-2_18
+/gnatsparse.py/1.1/Sun Mar 21 21:32:16 2004//TBUGZILLA-2_18
+/magic.py/1.1/Sun Mar 21 21:32:16 2004//TBUGZILLA-2_18
+/specialuu.py/1.1/Sun Mar 21 21:32:16 2004//TBUGZILLA-2_18
+D
diff --git a/contrib/gnatsparse/CVS/Repository b/contrib/gnatsparse/CVS/Repository
new file mode 100644
index 0000000000000000000000000000000000000000..ae06fe2b68a43031c303b6f7d789ccc160cfacb7
--- /dev/null
+++ b/contrib/gnatsparse/CVS/Repository
@@ -0,0 +1 @@
+mozilla/webtools/bugzilla/contrib/gnatsparse
diff --git a/contrib/gnatsparse/CVS/Root b/contrib/gnatsparse/CVS/Root
new file mode 100644
index 0000000000000000000000000000000000000000..cdb6f4a0739a0dc53e628026726036377dec3637
--- /dev/null
+++ b/contrib/gnatsparse/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
diff --git a/contrib/gnatsparse/CVS/Tag b/contrib/gnatsparse/CVS/Tag
new file mode 100644
index 0000000000000000000000000000000000000000..576360fe0d440cfa86d33b930fe800e509d5e317
--- /dev/null
+++ b/contrib/gnatsparse/CVS/Tag
@@ -0,0 +1 @@
+NBUGZILLA-2_18
diff --git a/contrib/gnatsparse/README b/contrib/gnatsparse/README
new file mode 100755
index 0000000000000000000000000000000000000000..f7cf01c68cd24f98b684bc6438103c384a6dba07
--- /dev/null
+++ b/contrib/gnatsparse/README
@@ -0,0 +1,62 @@
+gnatsparse
+==========
+
+Author: Daniel Berlin <dan@dberlin.org>
+
+gnatsparse is a simple Python program that imports a GNATS database
+into a Bugzilla system. It is based on the gnats2bz.pl Perl script
+but it's a rewrite at the same time. Its parser is based on gnatsweb,
+which gives a 10 times speed improvement compared to the previous code.
+
+Features
+--------
+
+* Chunks audit trail into separate comments, with the right From's, times, etc.
+
+* Handles followup emails that are in the report, with the right From's, times,
+etc.
+
+* Properly handles duplicates, adding the standard bugzilla duplicate message.
+
+* Extracts and handles gnatsweb attachments, as well as uuencoded attachments
+appearing in either followup emails, the how-to-repeat field, etc.  Replaces
+them with a message to look at the attachments list, and adds the standard
+"Created an attachment" message that bugzilla uses.  Handling them includes
+giving them the right name and mime-type. "attachments" means multiple
+uuencoded things/gnatsweb attachments are handled properly.
+
+* Handles reopened bug reports.
+
+* Builds the cc list from the people who have commented on the report,
+and the reporter.
+
+Requirements
+------------
+
+It requires python 2.2+, it won't work with 1.5.2 (Linux distributions
+ship with 2.2+ these days, so that shouldn't be an issue).
+
+Documentation
+-------------
+
+Documentation can be found inside the scripts. The source code is self
+documenting.
+
+Issues for someone trying to use it to convert a gnats install
+-----------------------------------
+
+1. We have three custom fields bugzilla doesn't ship with, 
+gcchost, gcctarget, and gccbuild. 
+We removed two bugzilla fields, rep_platform and op_sys.
+If you use the latter instead of the former, you'll need to
+update the script to account for this.
+2. Because gcc attachments consist of preprocessed source, all attachments
+inserted into the attachment database are compressed with zlib.compress.
+This requires associated bugzilla changes to decompress before sending to
+the browser.
+Unless you want to make those changes (it's roughly 3 lines), you'll
+need to remove the zlib.compress call.
+3. You will need to come up with your own release to version mapping and
+install it.
+4. Obviously, any extra gnats fields you have added will have to
+be handled in some manner.
diff --git a/contrib/gnatsparse/gnatsparse.py b/contrib/gnatsparse/gnatsparse.py
new file mode 100755
index 0000000000000000000000000000000000000000..5f7cde713f54b3924c1b789ab3b03d71e413c882
--- /dev/null
+++ b/contrib/gnatsparse/gnatsparse.py
@@ -0,0 +1,804 @@
+try:
+# Using Psyco makes it about 25% faster, but there's a bug in psyco in
+# handling of eval causing it to use unlimited memory with the magic
+# file enabled.
+#    import psyco
+#    psyco.full()
+#    from psyco.classes import *
+    pass
+except:
+    pass
+import re
+import base64
+import cStringIO
+import specialuu
+import array
+import email.Utils
+import zlib
+import magic
+
+# Comment out if you don't want magic detection
+magicf = magic.MagicFile()
+
+# Open our output file
+outfile = open("gnats2bz_data.sql", "w")
+
+# List of GNATS fields
+fieldnames = ("Number", "Category", "Synopsis", "Confidential", "Severity",
+              "Priority", "Responsible", "State", "Quarter", "Keywords",
+              "Date-Required", "Class", "Submitter-Id", "Arrival-Date",
+              "Closed-Date", "Last-Modified", "Originator", "Release",
+              "Organization", "Environment", "Description", "How-To-Repeat",
+              "Fix", "Release-Note", "Audit-Trail", "Unformatted")
+
+# Dictionary telling us which GNATS fields are multiline
+multilinefields = {"Organization":1, "Environment":1, "Description":1,
+                   "How-To-Repeat":1, "Fix":1, "Release-Note":1,
+                   "Audit-Trail":1, "Unformatted":1}
+
+# Mapping of GCC release to version. Our version string is updated every
+# so we need to funnel all release's with 3.4 in the string to be version
+# 3.4 for bug tracking purposes
+# The key is a regex to match, the value is the version it corresponds
+# with
+releasetovermap = {r"3\.4":"3.4", r"3\.3":"3.3", r"3\.2\.2":"3.2.2",
+                   r"3\.2\.1":"3.2.1", r"3\.2":"3.2", r"3\.1\.2":"3.1.2",
+                   r"3\.1\.1":"3.1.1", r"3\.1":"3.1", r"3\.0\.4":"3.0.4",
+                   r"3\.0\.3":"3.0.3", r"3\.0\.2":"3.0.2", r"3\.0\.1":"3.0.1",
+                   r"3\.0":"3.0", r"2\.95\.4":"2.95.4", r"2\.95\.3":"2.95.3",
+                   r"2\.95\.2":"2.95.2", r"2\.95\.1":"2.95.1",
+                   r"2\.95":"2.95", r"2\.97":"2.97",
+                   r"2\.96.*[rR][eE][dD].*[hH][aA][tT]":"2.96 (redhat)",
+                   r"2\.96":"2.96"}
+
+# These map the field name to the field id bugzilla assigns. We need
+# the id when doing bug activity.
+fieldids = {"State":8, "Responsible":15}
+
+# These are the keywords we use in gcc bug tracking. They are transformed
+# into bugzilla keywords.  The format here is <keyword>-><bugzilla keyword id>
+keywordids = {"wrong-code":1, "ice-on-legal-code":2, "ice-on-illegal-code":3,
+              "rejects-legal":4, "accepts-illegal":5, "pessimizes-code":6}
+
+# Map from GNATS states to Bugzilla states.  Duplicates and reopened bugs
+# are handled when parsing the audit trail, so no need for them here.
+state_lookup = {"":"NEW", "open":"ASSIGNED", "analyzed":"ASSIGNED",
+                "feedback":"WAITING", "closed":"CLOSED",
+                "suspended":"SUSPENDED"}
+
+# Table of versions that exist in the bugs, built up as we go along
+versions_table = {}
+
+# Delimiter gnatsweb uses for attachments
+attachment_delimiter = "----gnatsweb-attachment----\n"
+
+# Here starts the various regular expressions we use
+# Matches an entire GNATS single line field
+gnatfieldre = re.compile(r"""^([>\w\-]+)\s*:\s*(.*)\s*$""")
+
+# Matches the name of a GNATS field
+fieldnamere = re.compile(r"""^>(.*)$""")
+
+# Matches the useless part of an envelope
+uselessre = re.compile(r"""^(\S*?):\s*""", re.MULTILINE)
+
+# Matches the filename in a content disposition
+dispositionre = re.compile("(\\S+);\\s*filename=\"([^\"]+)\"")
+
+# Matches the last changed date in the entire text of a bug
+# If you have other editable fields that get audit trail entries, modify this
+# The field names are explicitly listed in order to speed up matching
+lastdatere = re.compile(r"""^(?:(?:State|Responsible|Priority|Severity)-Changed-When: )(.+?)$""", re.MULTILINE)
+
+# Matches the From line of an email or the first line of an audit trail entry
+# We use this re to find the begin lines of all the audit trail entries
+# The field names are explicitly listed in order to speed up matching
+fromtore=re.compile(r"""^(?:(?:State|Responsible|Priority|Severity)-Changed-From-To: |From: )""", re.MULTILINE)
+
+# These re's match the various parts of an audit trail entry
+changedfromtore=re.compile(r"""^(\w+?)-Changed-From-To: (.+?)$""", re.MULTILINE)
+changedbyre=re.compile(r"""^\w+?-Changed-By: (.+?)$""", re.MULTILINE)
+changedwhenre=re.compile(r"""^\w+?-Changed-When: (.+?)$""", re.MULTILINE)
+changedwhyre=re.compile(r"""^\w+?-Changed-Why:\s*(.*?)$""", re.MULTILINE)
+
+# This re matches audit trail text saying that the current bug is a duplicate of another
+duplicatere=re.compile(r"""(?:")?Dup(?:licate)?(?:d)?(?:")? of .*?(\d+)""", re.IGNORECASE | re.MULTILINE)
+
+# Get the text of a From: line
+fromre=re.compile(r"""^From: (.*?)$""", re.MULTILINE)
+
+# Get the text of a Date: Line
+datere=re.compile(r"""^Date: (.*?)$""", re.MULTILINE)
+
+#  Map of the responsible file to email addresses
+responsible_map = {}
+#  List of records in the responsible file
+responsible_list = []
+#  List of records in the categories file
+categories_list = []
+# List of pr's in the index
+pr_list = []
+# Map usernames to user ids
+usermapping = {}
+# Start with this user id
+userid_base = 2
+
+# Name of gnats user
+gnats_username = "gnats@gcc.gnu.org"
+# Name of unassigned user
+unassigned_username = "unassigned@gcc.gnu.org"
+
+gnats_db_dir = "."
+product = "gcc"
+productdesc = "GNU Compiler Connection"
+milestoneurl = "http://gcc/gnu.org"
+defaultmilestone = "3.4"
+
+def write_non_bug_tables():
+    """ Write out the non-bug related tables, such as products, profiles, etc."""
+    # Set all non-unconfirmed bugs's everconfirmed flag
+    print >>outfile, "update bugs set everconfirmed=1 where bug_status != 'UNCONFIRMED';"
+
+    # Set all bugs assigned to the unassigned user to NEW
+    print >>outfile, "update bugs set bug_status='NEW',assigned_to='NULL' where bug_status='ASSIGNED' AND assigned_to=3;"
+    
+    # Insert the products
+    print >>outfile, "\ninsert into products ("
+    print >>outfile, "  product, description, milestoneurl, disallownew,"
+    print >>outfile, "  defaultmilestone, votestoconfirm) values ("
+    print >>outfile, "  '%s', '%s', '%s', 0, '%s', 1);" % (product,
+                                                           productdesc,
+                                                           milestoneurl,
+                                                           defaultmilestone)
+
+    # Insert the components    
+    for category in categories_list:
+        component = SqlQuote(category[0])
+        productstr = SqlQuote(product)
+        description = SqlQuote(category[1])
+        initialowner = SqlQuote("3")
+        print >>outfile, "\ninsert into components (";
+        print >>outfile, "  value, program, initialowner, initialqacontact,"
+        print >>outfile, "  description) values ("
+        print >>outfile, "  %s, %s, %s, '', %s);" % (component, productstr,
+                                                     initialowner, description)
+        
+    # Insert the versions
+    for productstr, version_list in versions_table.items():
+        productstr = SqlQuote(productstr)
+        for version in version_list:
+            version = SqlQuote(version)
+            print >>outfile, "\ninsert into versions (value, program) "
+            print >>outfile, "  values (%s, %s);" % (version, productstr)
+            
+    # Insert the users
+    for username, userid in usermapping.items():
+        realname = map_username_to_realname(username)
+        username = SqlQuote(username)
+        realname = SqlQuote(realname)
+        print >>outfile, "\ninsert into profiles ("
+        print >>outfile, "  userid, login_name, password, cryptpassword, realname, groupset"
+        print >>outfile, ") values ("
+        print >>outfile, "%s,%s,'password',encrypt('password'), %s, 0);" % (userid, username, realname)
+    print >>outfile, "update profiles set groupset=1 << 32 where login_name like '%\@gcc.gnu.org';"
+    
+def unixdate2datetime(unixdate):
+    """ Convert a unix date to a datetime value """
+    year, month, day, hour, min, sec, x, x, x, x = email.Utils.parsedate_tz(unixdate)
+    return "%d-%02d-%02d %02d:%02d:%02d" % (year,month,day,hour,min,sec)
+
+def unixdate2timestamp(unixdate):
+    """ Convert a unix date to a timestamp value """
+    year, month, day, hour, min, sec, x, x, x, x = email.Utils.parsedate_tz(unixdate)
+    return "%d%02d%02d%02d%02d%02d" % (year,month,day,hour,min,sec)
+
+def SqlQuote(str):
+    """ Perform SQL quoting on a string """
+    return "'%s'" % str.replace("'", """''""").replace("\\", "\\\\").replace("\0","\\0")
+
+def convert_gccver_to_ver(gccver):
+    """ Given a gcc version, convert it to a Bugzilla version. """
+    for k in releasetovermap.keys():
+        if re.search(".*%s.*" % k, gccver) is not None:
+            return releasetovermap[k]
+    result = re.search(r""".*(\d\.\d) \d+ \(experimental\).*""", gccver)
+    if result is not None:
+        return result.group(1)
+    return "unknown"
+
+def load_index(fname):
+    """ Load in the GNATS index file """
+    global pr_list
+    ifp = open(fname)
+    for record in ifp.xreadlines():
+        fields = record.split("|")
+        pr_list.append(fields[0])
+    ifp.close()
+    
+def load_categories(fname):
+    """ Load in the GNATS categories file """
+    global categories_list
+    cfp = open(fname)
+    for record in cfp.xreadlines():
+        if re.search("^#", record) is not None:
+            continue
+        categories_list.append(record.split(":"))
+    cfp.close()
+    
+def map_username_to_realname(username): 
+    """ Given a username, find the real name """
+    name = username
+    name = re.sub("@.*", "", name)
+    for responsible_record in responsible_list:
+	if responsible_record[0] == name:
+	    return responsible_record[1]
+    if len(responsible_record) > 2:
+        if responsible_record[2] == username:
+	    return responsible_record[1]
+    return ""
+
+
+def get_userid(responsible):
+    """ Given an email address, get the user id """
+    global responsible_map
+    global usermapping
+    global userid_base
+    if responsible is None:
+        return -1
+    responsible = responsible.lower()
+    responsible = re.sub("sources.redhat.com", "gcc.gnu.org", responsible)
+    if responsible_map.has_key(responsible):
+        responsible = responsible_map[responsible]
+    if usermapping.has_key(responsible):
+        return usermapping[responsible]
+    else:
+        usermapping[responsible] = userid_base
+        userid_base += 1
+    return usermapping[responsible]
+
+def load_responsible(fname):
+    """ Load in the GNATS responsible file """
+    global responsible_map
+    global responsible_list
+    rfp = open(fname)
+    for record in rfp.xreadlines():
+        if re.search("^#", record) is not None:
+            continue
+        split_record = record.split(":")
+        responsible_map[split_record[0]] = split_record[2].rstrip()
+        responsible_list.append(record.split(":"))
+    rfp.close()
+
+def split_csl(list):
+    """ Split a comma seperated list """
+    newlist = re.split(r"""\s*,\s*""", list)
+    return newlist
+
+def fix_email_addrs(addrs):
+    """ Perform various fixups and cleaning on an e-mail address """
+    addrs = split_csl(addrs)
+    trimmed_addrs = []
+    for addr in addrs:
+        addr = re.sub(r"""\(.*\)""","",addr)
+        addr = re.sub(r""".*<(.*)>.*""","\\1",addr)
+        addr = addr.rstrip()
+        addr = addr.lstrip()
+        trimmed_addrs.append(addr)
+    addrs = ", ".join(trimmed_addrs)
+    return addrs
+
+class Bugzillabug(object):
+    """ Class representing a bugzilla bug """
+    def __init__(self, gbug):
+        """ Initialize a bugzilla bug from a GNATS bug.  """
+        self.bug_id = gbug.bug_id
+        self.long_descs = []
+        self.bug_ccs = [get_userid("gcc-bugs@gcc.gnu.org")]
+        self.bug_activity = []
+        self.attachments = gbug.attachments
+        self.gnatsfields = gbug.fields
+        self.need_unformatted = gbug.has_unformatted_attach == 0
+        self.need_unformatted &= gbug.fields.has_key("Unformatted")
+        self.translate_pr()
+        self.update_versions()
+        if self.fields.has_key("Audit-Trail"):
+            self.parse_audit_trail()
+            self.write_bug()
+            
+    def parse_fromto(type, string):
+        """ Parses the from and to parts of a changed-from-to line """
+        fromstr = ""
+        tostr = ""
+
+        # Some slightly messed up changed lines have unassigned-new,
+        # instead of unassigned->new. So we make the > optional.        
+        result = re.search(r"""(.*)-(?:>?)(.*)""", string)
+        
+        # Only know how to handle parsing of State and Responsible
+        # changed-from-to right now
+        if type == "State":
+            fromstr = state_lookup[result.group(1)]
+            tostr = state_lookup[result.group(2)]
+        elif type == "Responsible":
+            if result.group(1) != "":
+                fromstr = result.group(1)
+            if result.group(2) != "":
+                tostr = result.group(2)
+            if responsible_map.has_key(fromstr):
+                fromstr = responsible_map[fromstr]
+            if responsible_map.has_key(tostr):
+                tostr = responsible_map[tostr]  
+        return (fromstr, tostr)
+    parse_fromto = staticmethod(parse_fromto)
+    
+    def parse_audit_trail(self):
+        """ Parse a GNATS audit trail """
+        trail = self.fields["Audit-Trail"]
+        # Begin to split the audit trail into pieces
+        result = fromtore.finditer(trail)
+        starts = []
+        ends = []
+        pieces = []
+        # Make a list of the pieces
+        for x in result:
+            pieces.append (x)
+        # Find the start and end of each piece
+        if len(pieces) > 0:
+            for x in xrange(len(pieces)-1):
+                starts.append(pieces[x].start())
+                ends.append(pieces[x+1].start())
+            starts.append(pieces[-1].start())
+            ends.append(len(trail))
+        pieces = []
+        # Now make the list of actual text of the pieces
+        for x in xrange(len(starts)):
+            pieces.append(trail[starts[x]:ends[x]])
+        # And parse the actual pieces
+        for piece in pieces:
+            result = changedfromtore.search(piece)
+            # See what things we actually have inside this entry, and
+            # handle them approriately
+            if result is not None:
+                type = result.group(1)
+                changedfromto = result.group(2)
+                # If the bug was reopened, mark it as such
+                if changedfromto.find("closed->analyzed") != -1:
+                    if self.fields["bug_status"] == "'NEW'":
+                        self.fields["bug_status"] = "'REOPENED'"
+                if type == "State" or type == "Responsible":
+                    oldstate, newstate = self.parse_fromto (type, changedfromto)
+                result = changedbyre.search(piece)
+                if result is not None:
+                    changedby = result.group(1)
+                result = changedwhenre.search(piece)
+                if result is not None:
+                    changedwhen = result.group(1)
+                    changedwhen = unixdate2datetime(changedwhen)
+                    changedwhen = SqlQuote(changedwhen)
+                result = changedwhyre.search(piece)
+                changedwhy = piece[result.start(1):]
+                #changedwhy = changedwhy.lstrip()
+                changedwhy = changedwhy.rstrip()
+                changedby = get_userid(changedby)
+		# Put us on the cc list if we aren't there already
+                if changedby != self.fields["userid"] \
+                       and changedby not in self.bug_ccs:
+                    self.bug_ccs.append(changedby)
+                # If it's a duplicate, mark it as such
+                result = duplicatere.search(changedwhy)
+                if result is not None:
+                    newtext = "*** This bug has been marked as a duplicate of %s ***" % result.group(1)
+                    newtext = SqlQuote(newtext)
+                    self.long_descs.append((self.bug_id, changedby,
+                                            changedwhen, newtext))
+                    self.fields["bug_status"] = "'RESOLVED'"
+                    self.fields["resolution"] = "'DUPLICATE'"
+                    self.fields["userid"] = changedby
+                else:
+                    newtext = "%s-Changed-From-To: %s\n%s-Changed-Why: %s\n" % (type, changedfromto, type, changedwhy)
+                    newtext = SqlQuote(newtext)
+                    self.long_descs.append((self.bug_id, changedby,
+                                            changedwhen, newtext))
+                if type == "State" or type == "Responsible":
+                    newstate = SqlQuote("%s" % newstate)
+                    oldstate = SqlQuote("%s" % oldstate)
+                    fieldid = fieldids[type]
+                    self.bug_activity.append((newstate, oldstate, fieldid, changedby, changedwhen))
+                    
+            else:
+		# It's an email
+                result = fromre.search(piece)
+                if result is None:
+                    continue
+                fromstr = result.group(1)
+                fromstr = fix_email_addrs(fromstr)
+                fromstr = get_userid(fromstr)
+                result = datere.search(piece)
+                if result is None:
+                    continue
+                datestr = result.group(1)
+                datestr = SqlQuote(unixdate2timestamp(datestr))
+                if fromstr != self.fields["userid"] \
+                       and fromstr not in self.bug_ccs:
+                    self.bug_ccs.append(fromstr)
+                self.long_descs.append((self.bug_id, fromstr, datestr,
+                                        SqlQuote(piece)))
+                
+                    
+
+    def write_bug(self):
+	""" Output a bug to the data file """
+        fields = self.fields
+        print >>outfile, "\ninsert into bugs("
+        print >>outfile, "  bug_id, assigned_to, bug_severity, priority, bug_status, creation_ts, delta_ts,"
+        print >>outfile, "  short_desc,"
+        print >>outfile, "  reporter, version,"
+        print >>outfile, "  product, component, resolution, target_milestone, qa_contact,"
+        print >>outfile, "  gccbuild, gcctarget, gcchost, keywords"
+        print >>outfile, "  ) values ("
+        print >>outfile, "%s, %s, %s, %s, %s, %s, %s," % (self.bug_id, fields["userid"], fields["bug_severity"], fields["priority"], fields["bug_status"], fields["creation_ts"], fields["delta_ts"])
+        print >>outfile, "%s," % (fields["short_desc"])
+        print >>outfile, "%s, %s," % (fields["reporter"], fields["version"])
+        print >>outfile, "%s, %s, %s, %s, 0," %(fields["product"], fields["component"], fields["resolution"], fields["target_milestone"])
+        print >>outfile, "%s, %s, %s, %s" % (fields["gccbuild"], fields["gcctarget"], fields["gcchost"], fields["keywords"])
+        print >>outfile, ");"
+        if self.fields["keywords"] != 0:
+            print >>outfile, "\ninsert into keywords (bug_id, keywordid) values ("
+            print >>outfile, " %s, %s);" % (self.bug_id, fields["keywordid"])
+        for id, who, when, text in self.long_descs:
+            print >>outfile, "\ninsert into longdescs ("
+            print >>outfile, "  bug_id, who, bug_when, thetext) values("
+            print >>outfile, "  %s, %s, %s, %s);" % (id, who, when, text)
+        for name, data, who in self.attachments:
+            print >>outfile, "\ninsert into attachments ("
+            print >>outfile, "  bug_id, filename, description, mimetype, ispatch, submitter_id, thedata) values ("
+	    ftype = None
+	    # It's *magic*!
+	    if name.endswith(".ii") == 1:
+		ftype = "text/x-c++"
+ 	    elif name.endswith(".i") == 1:
+		ftype = "text/x-c"
+	    else:
+		ftype = magicf.detect(cStringIO.StringIO(data))
+            if ftype is None:
+                ftype = "application/octet-stream"
+            
+            print >>outfile, "%s,%s,%s, %s,0, %s,%s);" %(self.bug_id, SqlQuote(name), SqlQuote(name), SqlQuote (ftype), who, SqlQuote(zlib.compress(data)))
+        for newstate, oldstate, fieldid, changedby, changedwhen in self.bug_activity:
+            print >>outfile, "\ninsert into bugs_activity ("
+            print >>outfile, "  bug_id, who, bug_when, fieldid, added, removed) values ("
+            print >>outfile, "  %s, %s, %s, %s, %s, %s);" % (self.bug_id,
+                                                             changedby,
+                                                             changedwhen,
+                                                             fieldid,
+                                                             newstate,
+                                                             oldstate)
+        for cc in self.bug_ccs:
+            print >>outfile, "\ninsert into cc(bug_id, who) values (%s, %s);" %(self.bug_id, cc)
+    def update_versions(self):
+	""" Update the versions table to account for the version on this bug """
+        global versions_table
+        if self.fields.has_key("Release") == 0 \
+               or self.fields.has_key("Category") == 0:
+            return
+        curr_product = "gcc"
+        curr_version = self.fields["Release"]
+        if curr_version == "":
+            return
+        curr_version = convert_gccver_to_ver (curr_version)
+        if versions_table.has_key(curr_product) == 0:
+            versions_table[curr_product] = []
+        for version in versions_table[curr_product]:
+            if version == curr_version:
+                return
+        versions_table[curr_product].append(curr_version)
+    def translate_pr(self):
+	""" Transform a GNATS PR into a Bugzilla bug """
+        self.fields = self.gnatsfields
+        if (self.fields.has_key("Organization") == 0) \
+           or self.fields["Organization"].find("GCC"):
+            self.fields["Originator"] = ""
+            self.fields["Organization"] = ""
+        self.fields["Organization"].lstrip()
+        if (self.fields.has_key("Release") == 0) \
+               or self.fields["Release"] == "" \
+               or self.fields["Release"].find("unknown-1.0") != -1:
+            self.fields["Release"]="unknown"
+        if self.fields.has_key("Responsible"):
+            result = re.search(r"""\w+""", self.fields["Responsible"])
+            self.fields["Responsible"] = "%s%s" % (result.group(0), "@gcc.gnu.org")
+        self.fields["gcchost"] = ""
+        self.fields["gcctarget"] = ""
+        self.fields["gccbuild"] = ""
+        if self.fields.has_key("Environment"):
+            result = re.search("^host: (.+?)$", self.fields["Environment"],
+                               re.MULTILINE)
+            if result is not None:
+                self.fields["gcchost"] = result.group(1)
+            result = re.search("^target: (.+?)$", self.fields["Environment"],
+                               re.MULTILINE)
+            if result is not None:
+                self.fields["gcctarget"] = result.group(1)
+            result = re.search("^build: (.+?)$", self.fields["Environment"],
+                               re.MULTILINE)
+            if result is not None:
+                self.fields["gccbuild"] = result.group(1)
+        self.fields["userid"] = get_userid(self.fields["Responsible"])
+        self.fields["bug_severity"] = "normal"
+        if self.fields["Class"] == "change-request":
+            self.fields["bug_severity"] = "enhancement"
+        elif self.fields.has_key("Severity"):
+            if self.fields["Severity"] == "critical":
+                self.fields["bug_severity"] = "critical"
+            elif self.fields["Severity"] == "serious":
+                self.fields["bug_severity"] = "major"
+        elif self.fields.has_key("Synopsis"):
+            if re.search("crash|assert", self.fields["Synopsis"]):
+                self.fields["bug_severity"] = "critical"
+            elif re.search("wrong|error", self.fields["Synopsis"]):
+                self.fields["bug_severity"] = "major"
+        self.fields["bug_severity"] = SqlQuote(self.fields["bug_severity"])
+        self.fields["keywords"] = 0
+        if keywordids.has_key(self.fields["Class"]):
+            self.fields["keywords"] = self.fields["Class"]
+            self.fields["keywordid"] = keywordids[self.fields["Class"]]
+            self.fields["keywords"] = SqlQuote(self.fields["keywords"])
+        self.fields["priority"] = "P1"
+        if self.fields.has_key("Severity") and self.fields.has_key("Priority"):
+            severity = self.fields["Severity"]
+            priority = self.fields["Priority"]
+            if severity == "critical":
+                if priority == "high":
+                    self.fields["priority"] = "P1"
+                else:
+                    self.fields["priority"] = "P2"
+            elif severity == "serious":
+                if priority == "low":
+                    self.fields["priority"] = "P4"
+                else:
+                    self.fields["priority"] = "P3"
+            else:
+                if priority == "high":
+                    self.fields["priority"] = "P4"
+                else:
+                    self.fields["priority"] = "P5"
+        self.fields["priority"] = SqlQuote(self.fields["priority"])
+        state = self.fields["State"]
+        if (state == "open" or state == "analyzed") and self.fields["userid"] != 3:
+            self.fields["bug_status"] = "ASSIGNED"
+            self.fields["resolution"] = ""
+        elif state == "feedback":
+            self.fields["bug_status"] = "WAITING"
+            self.fields["resolution"] = ""
+        elif state == "closed":
+            self.fields["bug_status"] = "CLOSED"
+            if self.fields.has_key("Class"):
+                theclass = self.fields["Class"]
+                if theclass.find("duplicate") != -1:
+                    self.fields["resolution"]="DUPLICATE"
+                elif theclass.find("mistaken") != -1:
+                    self.fields["resolution"]="INVALID"                    
+                else:
+                    self.fields["resolution"]="FIXED"
+            else:
+                self.fields["resolution"]="FIXED"
+        elif state == "suspended":
+            self.fields["bug_status"] = "SUSPENDED"
+            self.fields["resolution"] = ""
+        elif state == "analyzed" and self.fields["userid"] == 3:
+            self.fields["bug_status"] = "NEW"
+            self.fields["resolution"] = ""
+        else:
+            self.fields["bug_status"] = "UNCONFIRMED"
+            self.fields["resolution"] = ""
+        self.fields["bug_status"] = SqlQuote(self.fields["bug_status"])
+        self.fields["resolution"] = SqlQuote(self.fields["resolution"])
+        self.fields["creation_ts"] = ""
+        if self.fields.has_key("Arrival-Date") and self.fields["Arrival-Date"] != "":
+            self.fields["creation_ts"] = unixdate2datetime(self.fields["Arrival-Date"])
+        self.fields["creation_ts"] = SqlQuote(self.fields["creation_ts"])
+        self.fields["delta_ts"] = ""
+        if self.fields.has_key("Audit-Trail"):
+            result = lastdatere.findall(self.fields["Audit-Trail"])
+            result.reverse()
+            if len(result) > 0:
+                self.fields["delta_ts"] = unixdate2timestamp(result[0])
+        if self.fields["delta_ts"] == "":
+            if self.fields.has_key("Arrival-Date") and self.fields["Arrival-Date"] != "":
+                self.fields["delta_ts"] = unixdate2timestamp(self.fields["Arrival-Date"])
+        self.fields["delta_ts"] = SqlQuote(self.fields["delta_ts"])
+        self.fields["short_desc"] = SqlQuote(self.fields["Synopsis"])
+        if self.fields.has_key("Reply-To") and self.fields["Reply-To"] != "":
+            self.fields["reporter"] = get_userid(self.fields["Reply-To"])
+        elif self.fields.has_key("Mail-Header"):
+            result = re.search(r"""From .*?([\w.]+@[\w.]+)""", self.fields["Mail-Header"])
+            if result:
+                self.fields["reporter"] = get_userid(result.group(1))
+            else:
+                self.fields["reporter"] = get_userid(gnats_username)
+        else:
+            self.fields["reporter"] = get_userid(gnats_username)
+        long_desc = self.fields["Description"]
+        long_desc2 = ""
+        for field in ["Release", "Environment", "How-To-Repeat"]:
+            if self.fields.has_key(field) and self.fields[field] != "":
+                long_desc += ("\n\n%s:\n" % field) + self.fields[field]
+        if self.fields.has_key("Fix") and self.fields["Fix"] != "":
+            long_desc2 = "Fix:\n" + self.fields["Fix"]
+        if self.need_unformatted  == 1 and self.fields["Unformatted"] != "":
+            long_desc += "\n\nUnformatted:\n" + self.fields["Unformatted"]
+        if long_desc != "":
+            self.long_descs.append((self.bug_id, self.fields["reporter"],
+                                    self.fields["creation_ts"],
+                                    SqlQuote(long_desc)))
+        if long_desc2 != "":
+            self.long_descs.append((self.bug_id, self.fields["reporter"],
+                                    self.fields["creation_ts"],
+                                    SqlQuote(long_desc2)))
+        for field in ["gcchost", "gccbuild", "gcctarget"]:
+            self.fields[field] = SqlQuote(self.fields[field])
+        self.fields["version"] = ""
+        if self.fields["Release"] != "":
+            self.fields["version"] = convert_gccver_to_ver (self.fields["Release"])
+        self.fields["version"] = SqlQuote(self.fields["version"])
+        self.fields["product"] = SqlQuote("gcc")
+        self.fields["component"] = "invalid"
+        if self.fields.has_key("Category"):
+            self.fields["component"] = self.fields["Category"]
+        self.fields["component"] = SqlQuote(self.fields["component"])
+        self.fields["target_milestone"] = "---"
+        if self.fields["version"].find("3.4") != -1:
+            self.fields["target_milestone"] = "3.4"
+        self.fields["target_milestone"] = SqlQuote(self.fields["target_milestone"])
+        if self.fields["userid"] == 2:
+            self.fields["userid"] = "\'NULL\'"
+
+class GNATSbug(object):
+    """ Represents a single GNATS PR """
+    def __init__(self, filename):
+        self.attachments = []
+        self.has_unformatted_attach = 0
+        fp = open (filename)
+        self.fields = self.parse_pr(fp.xreadlines())
+        self.bug_id = int(self.fields["Number"])
+        if self.fields.has_key("Unformatted"):
+            self.find_gnatsweb_attachments()
+        if self.fields.has_key("How-To-Repeat"):
+            self.find_regular_attachments("How-To-Repeat")
+        if self.fields.has_key("Fix"):
+            self.find_regular_attachments("Fix")
+
+    def get_attacher(fields):
+        if fields.has_key("Reply-To") and fields["Reply-To"] != "":
+            return get_userid(fields["Reply-To"])
+        else:
+            result = None
+            if fields.has_key("Mail-Header"):
+                result = re.search(r"""From .*?([\w.]+\@[\w.]+)""",
+                                   fields["Mail-Header"])
+            if result is not None:
+                reporter = get_userid(result.group(1))
+            else:
+                reporter = get_userid(gnats_username)
+    get_attacher = staticmethod(get_attacher)
+    def find_regular_attachments(self, which):
+        fields = self.fields
+        while re.search("^begin [0-7]{3}", fields[which],
+                        re.DOTALL | re.MULTILINE):
+            outfp = cStringIO.StringIO()
+            infp = cStringIO.StringIO(fields[which])
+            filename, start, end = specialuu.decode(infp, outfp, quiet=0)
+            fields[which]=fields[which].replace(fields[which][start:end],
+                                                "See attachments for %s\n" % filename)
+            self.attachments.append((filename, outfp.getvalue(),
+                                     self.get_attacher(fields)))
+
+    def decode_gnatsweb_attachment(self, attachment):
+        result = re.split(r"""\n\n""", attachment, 1)
+        if len(result) == 1:
+            return -1
+        envelope, body = result
+        envelope = uselessre.split(envelope)
+        envelope.pop(0)
+        # Turn the list of key, value into a dict of key => value
+        attachinfo = dict([(envelope[i], envelope[i+1]) for i in xrange(0,len(envelope),2)])
+        for x in attachinfo.keys():
+            attachinfo[x] = attachinfo[x].rstrip()
+        if (attachinfo.has_key("Content-Type") == 0) or \
+           (attachinfo.has_key("Content-Disposition") == 0):
+            raise ValueError, "Unable to parse file attachment"
+        result = dispositionre.search(attachinfo["Content-Disposition"])
+        filename = result.group(2)
+        filename = re.sub(".*/","", filename)
+        filename = re.sub(".*\\\\","", filename)
+        attachinfo["filename"]=filename
+        result = re.search("""(\S+);.*""", attachinfo["Content-Type"])
+        if result is not None:
+            attachinfo["Content-Type"] = result.group(1)
+        if attachinfo.has_key("Content-Transfer-Encoding"):
+            if attachinfo["Content-Transfer-Encoding"] == "base64":
+                attachinfo["data"] = base64.decodestring(body)
+        else:
+            attachinfo["data"]=body
+
+        return (attachinfo["filename"], attachinfo["data"],
+                self.get_attacher(self.fields))
+
+    def find_gnatsweb_attachments(self):
+        fields = self.fields
+        attachments = re.split(attachment_delimiter, fields["Unformatted"])
+        fields["Unformatted"] = attachments.pop(0)
+        for attachment in attachments:
+            result = self.decode_gnatsweb_attachment (attachment)
+            if result != -1:
+                self.attachments.append(result)
+            self.has_unformatted_attach = 1
+    def parse_pr(lines):
+        #fields = {"envelope":[]}
+        fields = {"envelope":array.array("c")}
+        hdrmulti = "envelope"
+        for line in lines:
+            line = line.rstrip('\n')
+            line += '\n'
+            result = gnatfieldre.search(line)
+            if result is None:
+                if hdrmulti != "":
+                    if fields.has_key(hdrmulti):
+                        #fields[hdrmulti].append(line)
+                        fields[hdrmulti].fromstring(line)
+                    else:
+                        #fields[hdrmulti] = [line]
+                        fields[hdrmulti] = array.array("c", line)
+                continue
+            hdr, arg = result.groups()
+            ghdr = "*not valid*"
+            result = fieldnamere.search(hdr)
+            if result != None:
+                ghdr = result.groups()[0]
+            if ghdr in fieldnames:
+                if multilinefields.has_key(ghdr):
+                    hdrmulti = ghdr
+                    #fields[ghdr] = [""]
+                    fields[ghdr] = array.array("c")
+                else:
+                    hdrmulti = ""
+                    #fields[ghdr] = [arg]
+                    fields[ghdr] = array.array("c", arg)
+            elif hdrmulti != "":
+                #fields[hdrmulti].append(line)
+                fields[hdrmulti].fromstring(line)
+            if hdrmulti == "envelope" and \
+               (hdr == "Reply-To" or hdr == "From" \
+                or hdr == "X-GNATS-Notify"):
+                arg = fix_email_addrs(arg)
+                #fields[hdr] = [arg]
+                fields[hdr] = array.array("c", arg)
+	if fields.has_key("Reply-To") and len(fields["Reply-To"]) > 0:
+            fields["Reply-To"] = fields["Reply-To"]
+        else:
+            fields["Reply-To"] = fields["From"]
+        if fields.has_key("From"):
+            del fields["From"]
+        if fields.has_key("X-GNATS-Notify") == 0:
+            fields["X-GNATS-Notify"] = array.array("c")
+            #fields["X-GNATS-Notify"] = ""
+        for x in fields.keys():
+            fields[x] = fields[x].tostring()
+            #fields[x] = "".join(fields[x])            
+        for x in fields.keys():
+            if multilinefields.has_key(x):
+                fields[x] = fields[x].rstrip()
+
+        return fields
+    parse_pr = staticmethod(parse_pr)
+load_index("%s/gnats-adm/index" % gnats_db_dir)
+load_categories("%s/gnats-adm/categories" % gnats_db_dir)
+load_responsible("%s/gnats-adm/responsible" % gnats_db_dir)
+get_userid(gnats_username)
+get_userid(unassigned_username)
+for x in pr_list:
+    print "Processing %s..." % x
+    a = GNATSbug ("%s/%s" % (gnats_db_dir, x))
+    b = Bugzillabug(a)
+write_non_bug_tables()
+outfile.close()
diff --git a/contrib/gnatsparse/magic.py b/contrib/gnatsparse/magic.py
new file mode 100755
index 0000000000000000000000000000000000000000..049a7e19bb54dcc2468cd6235c44c333d60bf0dc
--- /dev/null
+++ b/contrib/gnatsparse/magic.py
@@ -0,0 +1,712 @@
+# Found on a russian zope mailing list, and modified to fix bugs in parsing
+# the magic file and string making
+# -- Daniel Berlin <dberlin@dberlin.org>
+import sys, struct, time, re, exceptions, pprint, stat, os, pwd, grp
+
+_mew = 0
+
+# _magic='/tmp/magic'
+# _magic='/usr/share/magic.mime'
+_magic='/usr/share/magic.mime'
+mime = 1
+
+_ldate_adjust = lambda x: time.mktime( time.gmtime(x) )
+
+BUFFER_SIZE = 1024 * 128 # 128K should be enough...
+
+class MagicError(exceptions.Exception): pass
+
+def _handle(fmt='@x',adj=None): return fmt, struct.calcsize(fmt), adj
+
+KnownTypes = {
+        # 'byte':_handle('@b'),
+        'byte':_handle('@B'),
+        'ubyte':_handle('@B'),
+
+        'string':('s',0,None),
+        'pstring':_handle('p'),
+
+#       'short':_handle('@h'),
+#       'beshort':_handle('>h'),
+#       'leshort':_handle('<h'),
+        'short':_handle('@H'),
+        'beshort':_handle('>H'),
+        'leshort':_handle('<H'),
+        'ushort':_handle('@H'),
+        'ubeshort':_handle('>H'),
+        'uleshort':_handle('<H'),
+
+        'long':_handle('@l'),
+        'belong':_handle('>l'),
+        'lelong':_handle('<l'),
+        'ulong':_handle('@L'),
+        'ubelong':_handle('>L'),
+        'ulelong':_handle('<L'),
+
+        'date':_handle('=l'),
+        'bedate':_handle('>l'),
+        'ledate':_handle('<l'),
+        'ldate':_handle('=l',_ldate_adjust),
+        'beldate':_handle('>l',_ldate_adjust),
+        'leldate':_handle('<l',_ldate_adjust),
+}
+
+_mew_cnt = 0
+def mew(x):
+    global _mew_cnt
+    if _mew :
+        if x=='.' :
+            _mew_cnt += 1
+            if _mew_cnt % 64 == 0 : sys.stderr.write( '\n' )
+            sys.stderr.write( '.' )
+        else:
+            sys.stderr.write( '\b'+x )
+
+def has_format(s):
+    n = 0
+    l = None
+    for c in s :
+        if c == '%' :
+            if l == '%' : n -= 1
+            else        : n += 1
+        l = c
+    return n
+
+def read_asciiz(file,size=None,pos=None):
+    s = []
+    if pos :
+        mew('s')
+        file.seek( pos, 0 )
+    mew('z')
+    if size is not None :
+        s = [file.read( size ).split('\0')[0]]
+    else:
+        while 1 :
+            c = file.read(1)
+            if (not c) or (ord(c)==0) or (c=='\n') : break
+            s.append (c)
+    mew('Z')
+    return ''.join(s)
+
+def a2i(v,base=0):
+    if v[-1:] in 'lL' : v = v[:-1]
+    return int( v, base )
+
+_cmap = {
+        '\\' : '\\',
+        '0' : '\0',
+}
+for c in range(ord('a'),ord('z')+1) :
+    try               : e = eval('"\\%c"' % chr(c))
+    except ValueError : pass
+    else              : _cmap[chr(c)] = e
+else:
+    del c
+    del e
+
+def make_string(s):
+    return eval( '"'+s.replace('"','\\"')+'"')
+
+class MagicTestError(MagicError): pass
+
+class MagicTest:
+    def __init__(self,offset,mtype,test,message,line=None,level=None):
+        self.line, self.level = line, level
+        self.mtype = mtype
+        self.mtest = test
+        self.subtests = []
+        self.mask = None
+        self.smod = None
+        self.nmod = None
+        self.offset, self.type, self.test, self.message = \
+                        offset,mtype,test,message
+        if self.mtype == 'true' : return # XXX hack to enable level skips
+        if test[-1:]=='\\' and test[-2:]!='\\\\' :
+            self.test += 'n' # looks like someone wanted EOL to match?
+        if mtype[:6]=='string' :
+            if '/' in mtype : # for strings
+                self.type, self.smod = \
+                                        mtype[:mtype.find('/')], mtype[mtype.find('/')+1:]
+        else:
+            for nm in '&+-' :
+                if nm in mtype : # for integer-based
+                    self.nmod, self.type, self.mask = (
+                            nm,
+                            mtype[:mtype.find(nm)],
+                            # convert mask to int, autodetect base
+                            int( mtype[mtype.find(nm)+1:], 0 )
+                    )
+                    break
+        self.struct, self.size, self.cast = KnownTypes[ self.type ]
+    def __str__(self):
+        return '%s %s %s %s' % (
+                self.offset, self.mtype, self.mtest, self.message
+        )
+    def __repr__(self):
+        return 'MagicTest(%s,%s,%s,%s,line=%s,level=%s,subtests=\n%s%s)' % (
+                `self.offset`, `self.mtype`, `self.mtest`, `self.message`,
+                `self.line`, `self.level`,
+                '\t'*self.level, pprint.pformat(self.subtests)
+        )
+    def run(self,file):
+        result = ''
+        do_close = 0
+        try:
+            if type(file) == type('x') :
+                file = open( file, 'r', BUFFER_SIZE )
+                do_close = 1
+#                       else:
+#                               saved_pos = file.tell()
+            if self.mtype != 'true' :
+                data = self.read(file)
+                last = file.tell()
+            else:
+                data = last = None
+            if self.check( data ) :
+                result = self.message+' '
+                if has_format( result ) : result %= data
+                for test in self.subtests :
+                    m = test.run(file)
+                    if m is not None : result += m
+                return make_string( result )
+        finally:
+            if do_close :
+                file.close()
+#                       else:
+#                               file.seek( saved_pos, 0 )
+    def get_mod_and_value(self):
+        if self.type[-6:] == 'string' :
+            # "something like\tthis\n"
+            if self.test[0] in '=<>' :
+                mod, value = self.test[0], make_string( self.test[1:] )
+            else:
+                mod, value = '=', make_string( self.test )
+        else:
+            if self.test[0] in '=<>&^' :
+                mod, value = self.test[0], a2i(self.test[1:])
+            elif self.test[0] == 'x':
+                mod = self.test[0]
+                value = 0
+            else:
+                mod, value = '=', a2i(self.test)
+        return mod, value
+    def read(self,file):
+        mew( 's' )
+        file.seek( self.offset(file), 0 ) # SEEK_SET
+        mew( 'r' )
+        try:
+            data = rdata = None
+            # XXX self.size might be 0 here...
+            if self.size == 0 :
+                # this is an ASCIIZ string...
+                size = None
+                if self.test != '>\\0' : # magic's hack for string read...
+                    value = self.get_mod_and_value()[1]
+                    size = (value=='\0') and None or len(value)
+                rdata = data = read_asciiz( file, size=size )
+            else:
+                rdata = file.read( self.size )
+                if not rdata or (len(rdata)!=self.size) : return None
+                data = struct.unpack( self.struct, rdata )[0] # XXX hack??
+        except:
+            print >>sys.stderr, self
+            print >>sys.stderr, '@%s struct=%s size=%d rdata=%s' % (
+                    self.offset, `self.struct`, self.size,`rdata`)
+            raise
+        mew( 'R' )
+        if self.cast : data = self.cast( data )
+        if self.mask :
+            try:
+                if   self.nmod == '&' : data &= self.mask
+                elif self.nmod == '+' : data += self.mask
+                elif self.nmod == '-' : data -= self.mask
+                else: raise MagicTestError(self.nmod)
+            except:
+                print >>sys.stderr,'data=%s nmod=%s mask=%s' % (
+                        `data`, `self.nmod`, `self.mask`
+                )
+                raise
+        return data
+    def check(self,data):
+        mew('.')
+        if self.mtype == 'true' :
+            return '' # not None !
+        mod, value = self.get_mod_and_value()
+        if self.type[-6:] == 'string' :
+            # "something like\tthis\n"
+            if self.smod :
+                xdata = data
+                if 'b' in self.smod : # all blanks are optional
+                    xdata = ''.join( data.split() )
+                    value = ''.join( value.split() )
+                if 'c' in self.smod : # all blanks are optional
+                    xdata = xdata.upper()
+                    value = value.upper()
+            # if 'B' in self.smod : # compact blanks
+            ### XXX sorry, i don't understand this :-(
+            #       data = ' '.join( data.split() )
+            #       if ' ' not in data : return None
+            else:
+                xdata = data
+        try:
+            if   mod == '=' : result = data == value
+            elif mod == '<' : result = data < value
+            elif mod == '>' : result = data > value
+            elif mod == '&' : result = data & value
+            elif mod == '^' : result = (data & (~value)) == 0
+            elif mod == 'x' : result = 1
+            else            : raise MagicTestError(self.test)
+            if result :
+                zdata, zval = `data`, `value`
+                if self.mtype[-6:]!='string' :
+                    try: zdata, zval = hex(data), hex(value)
+                    except: zdata, zval = `data`, `value`
+                if 0 : print >>sys.stderr, '%s @%s %s:%s %s %s => %s (%s)' % (
+                        '>'*self.level, self.offset,
+                        zdata, self.mtype, `mod`, zval, `result`,
+                        self.message
+                )
+            return result
+        except:
+            print >>sys.stderr,'mtype=%s data=%s mod=%s value=%s' % (
+                    `self.mtype`, `data`, `mod`, `value`
+            )
+            raise
+    def add(self,mt):
+        if not isinstance(mt,MagicTest) :
+            raise MagicTestError((mt,'incorrect subtest type %s'%(type(mt),)))
+        if mt.level == self.level+1 :
+            self.subtests.append( mt )
+        elif self.subtests :
+            self.subtests[-1].add( mt )
+        elif mt.level > self.level+1 :
+            # it's possible to get level 3 just after level 1 !!! :-(
+            level = self.level + 1
+            while level < mt.level :
+                xmt = MagicTest(None,'true','x','',line=self.line,level=level)
+                self.add( xmt )
+                level += 1
+            else:
+                self.add( mt ) # retry...
+        else:
+            raise MagicTestError((mt,'incorrect subtest level %s'%(`mt.level`,)))
+    def last_test(self):
+        return self.subtests[-1]
+#end class MagicTest
+
+class OffsetError(MagicError): pass
+
+class Offset:
+    pos_format = {'b':'<B','B':'>B','s':'<H','S':'>H','l':'<I','L':'>I',}
+    pattern0 = re.compile(r'''    # mere offset
+                ^
+                &?                                          # possible ampersand
+                (       0                                       # just zero
+                |       [1-9]{1,1}[0-9]*        # decimal
+                |       0[0-7]+                         # octal
+                |       0x[0-9a-f]+                     # hex
+                )
+                $
+                ''', re.X|re.I
+    )
+    pattern1 = re.compile(r'''    # indirect offset
+                ^\(
+                (?P<base>&?0                  # just zero
+                        |&?[1-9]{1,1}[0-9]* # decimal
+                        |&?0[0-7]*          # octal
+                        |&?0x[0-9A-F]+      # hex
+                )
+                (?P<type>
+                        \.         # this dot might be alone
+                        [BSL]? # one of this chars in either case
+                )?
+                (?P<sign>
+                        [-+]{0,1}
+                )?
+                (?P<off>0              # just zero
+                        |[1-9]{1,1}[0-9]*  # decimal
+                        |0[0-7]*           # octal
+                        |0x[0-9a-f]+       # hex
+                )?
+                \)$''', re.X|re.I
+    )
+    def __init__(self,s):
+        self.source = s
+        self.value  = None
+        self.relative = 0
+        self.base = self.type = self.sign = self.offs = None
+        m = Offset.pattern0.match( s )
+        if m : # just a number
+            if s[0] == '&' :
+                self.relative, self.value = 1, int( s[1:], 0 )
+            else:
+                self.value = int( s, 0 )
+            return
+        m = Offset.pattern1.match( s )
+        if m : # real indirect offset
+            try:
+                self.base = m.group('base')
+                if self.base[0] == '&' :
+                    self.relative, self.base = 1, int( self.base[1:], 0 )
+                else:
+                    self.base = int( self.base, 0 )
+                if m.group('type') : self.type = m.group('type')[1:]
+                self.sign = m.group('sign')
+                if m.group('off') : self.offs = int( m.group('off'), 0 )
+                if self.sign == '-' : self.offs = 0 - self.offs
+            except:
+                print >>sys.stderr, '$$', m.groupdict()
+                raise
+            return
+        raise OffsetError(`s`)
+    def __call__(self,file=None):
+        if self.value is not None : return self.value
+        pos = file.tell()
+        try:
+            if not self.relative : file.seek( self.offset, 0 )
+            frmt = Offset.pos_format.get( self.type, 'I' )
+            size = struct.calcsize( frmt )
+            data = struct.unpack( frmt, file.read( size ) )
+            if self.offs : data += self.offs
+            return data
+        finally:
+            file.seek( pos, 0 )
+    def __str__(self): return self.source
+    def __repr__(self): return 'Offset(%s)' % `self.source`
+#end class Offset
+
+class MagicFileError(MagicError): pass
+
+class MagicFile:
+    def __init__(self,filename=_magic):
+        self.file = None
+        self.tests = []
+        self.total_tests = 0
+        self.load( filename )
+        self.ack_tests = None
+        self.nak_tests = None
+    def __del__(self):
+        self.close()
+    def load(self,filename=None):
+        self.open( filename )
+        self.parse()
+        self.close()
+    def open(self,filename=None):
+        self.close()
+        if filename is not None :
+            self.filename = filename
+        self.file = open( self.filename, 'r', BUFFER_SIZE )
+    def close(self):
+        if self.file :
+            self.file.close()
+            self.file = None
+    def parse(self):
+        line_no = 0
+        for line in self.file.xreadlines() :
+            line_no += 1
+            if not line or line[0]=='#' : continue
+            line = line.lstrip().rstrip('\r\n')
+            if not line or line[0]=='#' : continue
+            try:
+                x = self.parse_line( line )
+                if x is None :
+                    print >>sys.stderr, '#[%04d]#'%line_no, line
+                    continue
+            except:
+                print >>sys.stderr, '###[%04d]###'%line_no, line
+                raise
+            self.total_tests += 1
+            level, offset, mtype, test, message = x
+            new_test = MagicTest(offset,mtype,test,message,
+                    line=line_no,level=level)
+            try:
+                if level == 0 :
+                    self.tests.append( new_test )
+                else:
+                    self.tests[-1].add( new_test )
+            except:
+                if 1 :
+                    print >>sys.stderr, 'total tests=%s' % (
+                            `self.total_tests`,
+                    )
+                    print >>sys.stderr, 'level=%s' % (
+                            `level`,
+                    )
+                    print >>sys.stderr, 'tests=%s' % (
+                            pprint.pformat(self.tests),
+                    )
+                raise
+        else:
+            while self.tests[-1].level > 0 :
+                self.tests.pop()
+    def parse_line(self,line):
+        # print >>sys.stderr, 'line=[%s]' % line
+        if (not line) or line[0]=='#' : return None
+        level = 0
+        offset = mtype = test = message = ''
+        mask = None
+        # get optional level (count leading '>')
+        while line and line[0]=='>' :
+            line, level = line[1:], level+1
+        # get offset
+        while line and not line[0].isspace() :
+            offset, line = offset+line[0], line[1:]
+        try:
+            offset = Offset(offset)
+        except:
+            print >>sys.stderr, 'line=[%s]' % line
+            raise
+        # skip spaces
+        line = line.lstrip()
+        # get type
+        c = None
+        while line :
+            last_c, c, line = c, line[0], line[1:]
+            if last_c!='\\' and c.isspace() :
+                break # unescaped space - end of field
+            else:
+                mtype += c
+                if last_c == '\\' :
+                    c = None # don't fuck my brain with sequential backslashes
+        # skip spaces
+        line = line.lstrip()
+        # get test
+        c = None
+        while line :
+            last_c, c, line = c, line[0], line[1:]
+            if last_c!='\\' and c.isspace() :
+                break # unescaped space - end of field
+            else:
+                test += c
+                if last_c == '\\' :
+                    c = None # don't fuck my brain with sequential backslashes
+        # skip spaces
+        line = line.lstrip()
+        # get message
+        message = line
+        if mime and line.find("\t") != -1:
+            message=line[0:line.find("\t")]
+        #
+        # print '>>', level, offset, mtype, test, message
+        return level, offset, mtype, test, message
+    def detect(self,file):
+        self.ack_tests = 0
+        self.nak_tests = 0
+        answers = []
+        for test in self.tests :
+            message = test.run( file )
+            if message :
+                self.ack_tests += 1
+                answers.append( message )
+            else:
+                self.nak_tests += 1
+        if answers :
+            return '; '.join( answers )
+#end class MagicFile
+
+def username(uid):
+    try:
+        return pwd.getpwuid( uid )[0]
+    except:
+        return '#%s'%uid
+
+def groupname(gid):
+    try:
+        return grp.getgrgid( gid )[0]
+    except:
+        return '#%s'%gid
+
+def get_file_type(fname,follow):
+    t = None
+    if not follow :
+        try:
+            st = os.lstat( fname ) # stat that entry, don't follow links!
+        except os.error, why :
+            pass
+        else:
+            if stat.S_ISLNK(st[stat.ST_MODE]) :
+                t = 'symbolic link'
+                try:
+                    lnk = os.readlink( fname )
+                except:
+                    t += ' (unreadable)'
+                else:
+                    t += ' to '+lnk
+    if t is None :
+        try:
+            st = os.stat( fname )
+        except os.error, why :
+            return "can't stat `%s' (%s)." % (why.filename,why.strerror)
+
+    dmaj, dmin = (st.st_rdev>>8)&0x0FF, st.st_rdev&0x0FF
+
+    if 0 : pass
+    elif stat.S_ISSOCK(st.st_mode) : t = 'socket'
+    elif stat.S_ISLNK (st.st_mode) : t = follow and 'symbolic link' or t
+    elif stat.S_ISREG (st.st_mode) : t = 'file'
+    elif stat.S_ISBLK (st.st_mode) : t = 'block special (%d/%d)'%(dmaj,dmin)
+    elif stat.S_ISDIR (st.st_mode) : t = 'directory'
+    elif stat.S_ISCHR (st.st_mode) : t = 'character special (%d/%d)'%(dmaj,dmin)
+    elif stat.S_ISFIFO(st.st_mode) : t = 'pipe'
+    else: t = '<unknown>'
+
+    if st.st_mode & stat.S_ISUID :
+        t = 'setuid(%d=%s) %s'%(st.st_uid,username(st.st_uid),t)
+    if st.st_mode & stat.S_ISGID :
+        t = 'setgid(%d=%s) %s'%(st.st_gid,groupname(st.st_gid),t)
+    if st.st_mode & stat.S_ISVTX :
+        t = 'sticky '+t
+
+    return t
+
+HELP = '''%s [options] [files...]
+
+Options:
+
+        -?, --help -- this help
+        -m, --magic=<file> -- use this magic <file> instead of %s
+        -f, --files=<namefile> -- read filenames for <namefile>
+*       -C, --compile -- write "compiled" magic file
+        -b, --brief -- don't prepend filenames to output lines
++       -c, --check -- check the magic file
+        -i, --mime -- output MIME types
+*       -k, --keep-going -- don't stop st the first match
+        -n, --flush -- flush stdout after each line
+        -v, --verson -- print version and exit
+*       -z, --compressed -- try to look inside compressed files
+        -L, --follow -- follow symlinks
+        -s, --special -- don't skip special files
+
+*       -- not implemented so far ;-)
++       -- implemented, but in another way...
+'''
+
+def main():
+    import getopt
+    global _magic
+    try:
+        brief = 0
+        flush = 0
+        follow= 0
+        mime  = 0
+        check = 0
+        special=0
+        try:
+            opts, args = getopt.getopt(
+                    sys.argv[1:],
+                    '?m:f:CbciknvzLs',
+                    (       'help',
+                            'magic=',
+                            'names=',
+                            'compile',
+                            'brief',
+                            'check',
+                            'mime',
+                            'keep-going',
+                            'flush',
+                            'version',
+                            'compressed',
+                            'follow',
+                            'special',
+                    )
+            )
+        except getopt.error, why:
+            print >>sys.stderr, sys.argv[0], why
+            return 1
+        else:
+            files = None
+            for o,v in opts :
+                if o in ('-?','--help'):
+                    print HELP % (
+                            sys.argv[0],
+                            _magic,
+                    )
+                    return 0
+                elif o in ('-f','--files='):
+                    files = v
+                elif o in ('-m','--magic='):
+                    _magic = v[:]
+                elif o in ('-C','--compile'):
+                    pass
+                elif o in ('-b','--brief'):
+                    brief = 1
+                elif o in ('-c','--check'):
+                    check = 1
+                elif o in ('-i','--mime'):
+                    mime = 1
+                    if os.path.exists( _magic+'.mime' ) :
+                        _magic += '.mime'
+                        print >>sys.stderr,sys.argv[0]+':',\
+                                                        "Using regular magic file `%s'" % _magic
+                elif o in ('-k','--keep-going'):
+                    pass
+                elif o in ('-n','--flush'):
+                    flush = 1
+                elif o in ('-v','--version'):
+                    print 'VERSION'
+                    return 0
+                elif o in ('-z','--compressed'):
+                    pass
+                elif o in ('-L','--follow'):
+                    follow = 1
+                elif o in ('-s','--special'):
+                    special = 1
+            else:
+                if files :
+                    files = map(lambda x: x.strip(), v.split(','))
+                    if '-' in files and '-' in args :
+                        error( 1, 'cannot use STDIN simultaneously for file list and data' )
+                    for file in files :
+                        for name in (
+                                        (file=='-')
+                                                and sys.stdin
+                                                or open(file,'r',BUFFER_SIZE)
+                        ).xreadlines():
+                            name = name.strip()
+                            if name not in args :
+                                args.append( name )
+        try:
+            if check : print >>sys.stderr, 'Loading magic database...'
+            t0 = time.time()
+            m = MagicFile(_magic)
+            t1 = time.time()
+            if check :
+                print >>sys.stderr, \
+                                        m.total_tests, 'tests loaded', \
+                                        'for', '%.2f' % (t1-t0), 'seconds'
+                print >>sys.stderr, len(m.tests), 'tests at top level'
+                return 0 # XXX "shortened" form ;-)
+
+            mlen = max( map(len, args) )+1
+            for arg in args :
+                if not brief : print (arg + ':').ljust(mlen),
+                ftype = get_file_type( arg, follow )
+                if (special and ftype.find('special')>=0) \
+                                or ftype[-4:] == 'file' :
+                    t0 = time.time()
+                    try:
+                        t = m.detect( arg )
+                    except (IOError,os.error), why:
+                        t = "can't read `%s' (%s)" % (why.filename,why.strerror)
+                    if ftype[-4:] == 'file' : t = ftype[:-4] + t
+                    t1 = time.time()
+                    print t and t or 'data'
+                    if 0 : print \
+                                                        '#\t%d tests ok, %d tests failed for %.2f seconds'%\
+                                                        (m.ack_tests, m.nak_tests, t1-t0)
+                else:
+                    print mime and 'application/x-not-regular-file' or ftype
+                if flush : sys.stdout.flush()
+        # print >>sys.stderr, 'DONE'
+        except:
+            if check : return 1
+            raise
+        else:
+            return 0
+    finally:
+        pass
+
+if __name__ == '__main__' :
+    sys.exit( main() )
+# vim:ai
+# EOF #
diff --git a/contrib/gnatsparse/specialuu.py b/contrib/gnatsparse/specialuu.py
new file mode 100755
index 0000000000000000000000000000000000000000..b729d9c5944f320fa1bba000dd8f63fd028a44ba
--- /dev/null
+++ b/contrib/gnatsparse/specialuu.py
@@ -0,0 +1,104 @@
+#! /usr/bin/env python2.2
+
+# Copyright 1994 by Lance Ellinghouse
+# Cathedral City, California Republic, United States of America.
+#                        All Rights Reserved
+# Permission to use, copy, modify, and distribute this software and its
+# documentation for any purpose and without fee is hereby granted,
+# provided that the above copyright notice appear in all copies and that
+# both that copyright notice and this permission notice appear in
+# supporting documentation, and that the name of Lance Ellinghouse
+# not be used in advertising or publicity pertaining to distribution
+# of the software without specific, written prior permission.
+# LANCE ELLINGHOUSE DISCLAIMS ALL WARRANTIES WITH REGARD TO
+# THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+# FITNESS, IN NO EVENT SHALL LANCE ELLINGHOUSE CENTRUM BE LIABLE
+# FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+# Modified by Jack Jansen, CWI, July 1995:
+# - Use binascii module to do the actual line-by-line conversion
+#   between ascii and binary. This results in a 1000-fold speedup. The C
+#   version is still 5 times faster, though.
+# - Arguments more compliant with python standard
+
+"""Implementation of the UUencode and UUdecode functions.
+
+encode(in_file, out_file [,name, mode])
+decode(in_file [, out_file, mode])
+"""
+
+import binascii
+import os
+import sys
+from types import StringType
+
+__all__ = ["Error", "decode"]
+
+class Error(Exception):
+    pass
+
+def decode(in_file, out_file=None, mode=None, quiet=0):
+    """Decode uuencoded file"""
+    #
+    # Open the input file, if needed.
+    #
+    if in_file == '-':
+        in_file = sys.stdin
+    elif isinstance(in_file, StringType):
+        in_file = open(in_file)
+    #
+    # Read until a begin is encountered or we've exhausted the file
+    #
+    while 1:
+        hdr = in_file.readline()
+        if not hdr:
+            raise Error, 'No valid begin line found in input file'
+        if hdr[:5] != 'begin':
+            continue
+        hdrfields = hdr.split(" ", 2)
+        if len(hdrfields) == 3 and hdrfields[0] == 'begin':
+            try:
+                int(hdrfields[1], 8)
+                start_pos = in_file.tell() - len (hdr)
+                break
+            except ValueError:
+                pass
+    if out_file is None:
+        out_file = hdrfields[2].rstrip()
+        if os.path.exists(out_file):
+            raise Error, 'Cannot overwrite existing file: %s' % out_file
+    if mode is None:
+        mode = int(hdrfields[1], 8)
+    #
+    # Open the output file
+    #
+    if out_file == '-':
+        out_file = sys.stdout
+    elif isinstance(out_file, StringType):
+        fp = open(out_file, 'wb')
+        try:
+            os.path.chmod(out_file, mode)
+        except AttributeError:
+            pass
+        out_file = fp
+    #
+    # Main decoding loop
+    #
+    s = in_file.readline()
+    while s and s.strip() != 'end':
+        try:
+            data = binascii.a2b_uu(s)
+        except binascii.Error, v:
+            # Workaround for broken uuencoders by /Fredrik Lundh
+            nbytes = (((ord(s[0])-32) & 63) * 4 + 5) / 3
+            data = binascii.a2b_uu(s[:nbytes])
+            if not quiet:
+                sys.stderr.write("Warning: %s\n" % str(v))
+        out_file.write(data)
+        s = in_file.readline()
+#    if not s:
+ #       raise Error, 'Truncated input file'
+    return (hdrfields[2].rstrip(), start_pos, in_file.tell())
diff --git a/contrib/sendbugmail.pl b/contrib/sendbugmail.pl
new file mode 100644
index 0000000000000000000000000000000000000000..7380523242361a303a5b6c58fefef329d4a0bbb2
--- /dev/null
+++ b/contrib/sendbugmail.pl
@@ -0,0 +1,106 @@
+#!/usr/bin/perl -w
+#
+#                    sendbugmail.pl
+#
+# Nick Barnes, Ravenbrook Limited, 2004-04-01.
+#
+# $Id: sendbugmail.pl,v 1.1.2.1 2004/11/20 12:35:43 jocuri%softhome.net Exp $
+# 
+# Bugzilla email script for Bugzilla 2.17.4 and later.  Invoke this to send
+# bugmail for a bug which has been changed directly in the database.
+# This uses Bugzilla's own BugMail facility, and will email the
+# users associated with the bug.  Replaces the old "processmail"
+# script.
+# 
+# Usage: perl -T contrib/sendbugmail.pl bug_id user_email
+
+use lib qw(.);
+
+require "globals.pl";
+use Bugzilla::BugMail;
+
+sub usage {
+    print STDERR "Usage: $0 bug_id user_email\n";
+    exit;
+}
+
+if (($#ARGV < 1) || ($#ARGV > 2)) {
+    usage();
+}
+
+# Get the arguments.
+my $bugnum = $ARGV[0];
+my $changer = $ARGV[1];
+
+# Validate the bug number.
+if (!($bugnum =~ /^(\d+)$/)) {
+  print STDERR "Bug number \"$bugnum\" not numeric.\n";
+  usage();
+}
+
+detaint_natural($bugnum);
+
+SendSQL("SELECT bug_id FROM bugs WHERE bug_id = $bugnum");
+
+if (!FetchOneColumn()) {
+  print STDERR "Bug number $bugnum does not exist.\n";
+  usage();
+}
+
+# Validate the changer address.
+my $match = Param('emailregexp');
+if ($changer !~ /$match/) {
+    print STDERR "Changer \"$changer\" doesn't match email regular expression.\n";
+    usage();
+}
+if(!DBname_to_id($changer)) {
+    print STDERR "\"$changer\" is not a login ID.\n";
+    usage();
+}
+
+# Send the email.
+my $outputref = Bugzilla::BugMail::Send($bugnum, {'changer' => $changer });
+
+# Report the results.
+my $sent = scalar(@{$outputref->{sent}});
+my $excluded = scalar(@{$outputref->{excluded}});
+
+if ($sent) {
+    print "email sent to $sent recipients:\n";
+} else {
+    print "No email sent.\n";
+}
+
+foreach my $sent (@{$outputref->{sent}}) {
+  print "  $sent\n";
+}
+
+if ($excluded) {
+    print "$excluded recipients excluded:\n";
+} else {
+    print "No recipients excluded.\n";
+}
+
+foreach my $excluded (@{$outputref->{excluded}}) {
+  print "  $excluded\n";
+}
+
+# This document is copyright (C) 2004 Perforce Software, Inc.  All rights
+# reserved.
+# 
+# Redistribution and use of this document in any form, with or without
+# modification, is permitted provided that redistributions of this
+# document retain the above copyright notice, this condition and the
+# following disclaimer.
+# 
+# THIS DOCUMENT IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# DOCUMENT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/contrib/sendunsentbugmail.pl b/contrib/sendunsentbugmail.pl
new file mode 100644
index 0000000000000000000000000000000000000000..ffe892e08ec9dae0cd10b2b4070feaac0467add7
--- /dev/null
+++ b/contrib/sendunsentbugmail.pl
@@ -0,0 +1,51 @@
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# The Initial Developer of the Original Code is Netscape Communications
+# Corporation. Portions created by Netscape are
+# Copyright (C) 1998 Netscape Communications Corporation. All
+# Rights Reserved.
+#
+# Contributor(s): Dave Miller <justdave@bugzilla.org>
+#                 Myk Melez <myk@mozilla.org>
+
+use strict;
+
+use lib qw(.);
+
+require "CGI.pl";
+use Bugzilla::Constants;
+use Bugzilla::BugMail;
+
+SendSQL("SELECT bug_id FROM bugs WHERE lastdiffed < delta_ts AND 
+         delta_ts < date_sub(now(), INTERVAL 30 minute) ORDER BY bug_id");
+my @list;
+while (MoreSQLData()) {
+    push (@list, FetchOneColumn());
+}
+
+if (scalar(@list) > 0) {
+    print "OK, now attempting to send unsent mail\n";
+    print scalar(@list) . " bugs found with possibly unsent mail.\n\n";
+    foreach my $bugid (@list) {
+        my $start_time = time;
+        print "Sending mail for bug $bugid...\n";
+        my $outputref = Bugzilla::BugMail::Send($bugid);
+        my ($sent, $excluded) = (scalar(@{$outputref->{sent}}),scalar(@{$outputref->{excluded}}));
+        print "$sent mails sent, $excluded people excluded.\n";
+        print "Took " . (time - $start_time) . " seconds.\n\n";
+    }
+    print "Unsent mail has been sent.\n";
+}
diff --git a/contrib/syncLDAP.pl b/contrib/syncLDAP.pl
index 701695aea4bd95ae9d506ac879603af28d7f7dad..b9d3e8a5fa2da1b7db0b671ae34bcb2b764fdd59 100755
--- a/contrib/syncLDAP.pl
+++ b/contrib/syncLDAP.pl
@@ -74,8 +74,6 @@ foreach my $arg (@ARGV)
    }
 }
 
-ConnectToDatabase();
-
 my %bugzilla_users;
 my %ldap_users;
 
diff --git a/createaccount.cgi b/createaccount.cgi
index 6c624b0ba4c5b7b93858236d815aa2c438050cb7..6364e20bcb1d85c41362674099c16260e657227a 100755
--- a/createaccount.cgi
+++ b/createaccount.cgi
@@ -36,13 +36,11 @@ use vars qw(
   $vars
 );
 
-ConnectToDatabase();
-
 # If we're using LDAP for login, then we can't create a new account here.
 unless (Bugzilla::Auth->can_edit) {
   # Just in case someone already has an account, let them get the correct
   # footer on the error message
-  quietly_check_login();
+  Bugzilla->login();
   ThrowUserError("auth_cant_create_account");
 }
 
diff --git a/css/CVS/Entries b/css/CVS/Entries
index bd2ba968338f5bebdf10c5780d5bb6b58934d474..2f924b871c82d96d2f451091c157c59274884fe8 100644
--- a/css/CVS/Entries
+++ b/css/CVS/Entries
@@ -1,6 +1,6 @@
-/buglist.css/1.2/Fri Jan 10 08:59:05 2003//TBUGZILLA-2_17_7
-/duplicates.css/1.2/Fri Nov 15 22:04:04 2002//TBUGZILLA-2_17_7
-/edit_bug.css/1.4/Sun Jul 27 01:16:43 2003//TBUGZILLA-2_17_7
-/panel.css/1.1/Wed Dec 12 22:41:11 2001//TBUGZILLA-2_17_7
-/show_multiple.css/1.1/Sat Aug 24 14:43:49 2002//TBUGZILLA-2_17_7
+/buglist.css/1.2.4.5/Fri Dec 31 10:56:20 2004//TBUGZILLA-2_18
+/duplicates.css/1.2/Fri Nov 15 22:04:04 2002//TBUGZILLA-2_18
+/global.css/1.4.2.1/Sat Aug 28 08:46:14 2004//TBUGZILLA-2_18
+/panel.css/1.1/Wed Dec 12 22:41:11 2001//TBUGZILLA-2_18
+/show_multiple.css/1.1/Sat Aug 24 14:43:49 2002//TBUGZILLA-2_18
 D
diff --git a/css/CVS/Tag b/css/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/css/CVS/Tag
+++ b/css/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/css/buglist.css b/css/buglist.css
index ab595d85e3fa1be5470fbaac049c83aabb749808..d583612f89a2a4aff34fb22515fa05d3517fad86 100644
--- a/css/buglist.css
+++ b/css/buglist.css
@@ -18,21 +18,37 @@
   * Contributor(s): Myk Melez <myk@mozilla.org>
   */
 
-/* Right align bug IDs. */
-.bz_id_column { text-align: right; }
+.bz_id_column {
+}
 
 /* Style bug rows according to severity. */
 .bz_blocker { color: red; font-weight: bold; }
 .bz_critical { color: red; }
 .bz_enhancement { color: #888; background-color: white; }
 
-/* Style secure bugs if the installation is not using bug groups.
- * Installations that *are* using bug groups are likely to be using
- * them for almost all bugs, in which case special styling is not
- * informative and generally a nuisance.
- */
-.bz_secure { color: black; background-color: lightgrey; }
-
 /* Align columns in the "change multiple bugs" form to the right. */
 table#form tr th { text-align: right; }
 
+table.bz_buglist td, table.bz_buglist th { 
+}
+
+/* For styling rows; by default striped white and gray */
+tr.bz_odd {
+    background-color: #F7F7F7;}
+
+tr.bz_even {
+}
+
+/* we use a first-child class and not the pseudo-class because IE
+ * doesn't support it :-( */
+tr.bz_secure td.first-child { 
+  background-image: url("../padlock.png");
+  background-position: center left;
+  background-repeat: no-repeat;
+  background-color: inherit;
+}
+
+th.first-child, td.first-child {
+  padding-left: 20px;
+}
+
diff --git a/css/edit_bug.css b/css/edit_bug.css
deleted file mode 100644
index d5576f39130d0f3718cd84b37c152aabcd810ecf..0000000000000000000000000000000000000000
--- a/css/edit_bug.css
+++ /dev/null
@@ -1,7 +0,0 @@
-
-.bz_private { color: darkred ; background : #f3eeee ; }
-.bz_disabled { color: #a0a0a0 ; }
-
-.bz_obsolete { text-decoration: line-through underline; }
-
-table#flags th, table#flags td { vertical-align: baseline; text-align: left; }
diff --git a/css/global.css b/css/global.css
new file mode 100644
index 0000000000000000000000000000000000000000..47a1558d653d158053607925aad6512f26b9033e
--- /dev/null
+++ b/css/global.css
@@ -0,0 +1,175 @@
+/* The contents of this file are subject to the Mozilla Public
+  * License Version 1.1 (the "License"); you may not use this file
+  * except in compliance with the License. You may obtain a copy of
+  * the License at http://www.mozilla.org/MPL/
+  *
+  * Software distributed under the License is distributed on an "AS
+  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+  * implied. See the License for the specific language governing
+  * rights and limitations under the License.
+  *
+  * The Original Code is the Bugzilla Bug Tracking System.
+  *
+  * The Initial Developer of the Original Code is Netscape Communications
+  * Corporation. Portions created by Netscape are
+  * Copyright (C) 1998 Netscape Communications Corporation. All
+  * Rights Reserved.
+  *
+  * Contributor(s): Byron Jones <bugzilla@glob.com.au>
+  *                 Christian Reis <kiko@async.com.br>
+  *                 Vitaly Harisov <vitaly@rathedg.com>
+  *                 Svetlana Harisova <light@rathedg.com>
+  */
+
+/* banner (begin) */
+    #banner
+    {
+        text-align: center;        
+
+        width: 100%;
+        background: #000;
+
+        /* for Netscape 4 only */
+        border: 1px solid #fff;
+        border-bottom-width: 0.65em;
+    }
+
+    /* hide from NN4 */
+    div#banner
+    {
+        border-bottom-width: 0.2em;
+    }
+
+    #banner p
+    {
+        margin: 0;
+        padding: 0;
+    }
+
+    #banner-name
+    {
+        font-family: serif;
+        font-size: 255%;
+
+        color: #fff;
+    }
+
+    /* hide from NN4 */
+    p#banner-name
+    {
+        font-size: 300%;
+    }
+
+    #banner-version
+    {
+        font-size: 75%;
+        background: #fff;
+    }
+
+    /* hide from NN4 */
+    p#banner-version
+    {
+        font-size: 85%;
+    }
+/* banner (end) */
+
+/* footer (begin) */
+    #footer
+    {
+        float: left;
+    }
+
+    #footer form
+    {
+        background: #FFFFE0;
+        border: 1px solid #000;
+    }
+
+    #footer span
+    {
+        display: block;
+    }
+
+    #footer .btn, #footer .txt
+    {
+        font-size: 0.8em;
+    }
+
+    #footer #useful-links
+    {
+        padding: 0.3em;
+    }
+
+    /* hide from MSIE and NN4 */
+    [id]#footer #useful-links
+    {
+        margin: 0.3em;
+        display: table;
+    }
+
+    #footer #links-actions,
+    #footer #links-edit,
+    #footer #links-saved
+    {
+        display: table-row;
+    }
+
+    #footer .label
+    {
+        width: 7.2em;
+        display: block;
+        float: left;
+
+        vertical-align: baseline;
+
+        padding: 0.1em 0.2em;
+    }
+
+    #footer #links-actions .label
+    {
+        padding-top: 0.45em;
+    }
+
+    /* hide from MSIE and NN4 */
+    [id]#footer .label
+    {
+        display: table-cell;
+        float: none;
+        width: auto;
+
+        padding-top: 0;
+    }
+
+    #footer .links
+    {
+        display: block;
+
+        padding: 0.1em 0.2em;
+    }
+
+    /* hide from MSIE and NN4 */
+    [id]#footer .links
+    {
+        display: table-cell;
+
+        padding-top: 0;
+        
+        vertical-align: baseline;
+    }
+
+    /* hide from MSIE and NN4 */
+    #footer+*
+    {
+        clear: both;
+    }
+/* footer (end) */
+
+.bz_obsolete { text-decoration: line-through; }
+.bz_inactive { text-decoration: line-through; }
+.bz_closed { text-decoration: line-through; }
+.bz_private { color: darkred ; background : #f3eeee ; }
+.bz_disabled { color: #a0a0a0 ; }
+
+.bz_comment { background-color: #e0e0e0; }
+
+table#flags th, table#flags td { vertical-align: baseline; text-align: left; }
diff --git a/defparams.pl b/defparams.pl
index 1d492de20b5806ec629877da210bd97f7d9e9396..323b91edbb73aba54816af62a544990a3d3db72a 100644
--- a/defparams.pl
+++ b/defparams.pl
@@ -503,13 +503,15 @@ sub find_languages {
 
   {
    name => 'sendmailnow',
-   desc => 'If this is on, Bugzilla will tell sendmail to send any e-mail ' .
-           'immediately. If you have a large number of users with a large ' .
-           'amount of e-mail traffic, enabling this option may dramatically ' .
-           'slow down Bugzilla. Best used for smaller installations of ' .
-           'Bugzilla.',
+   desc => 'Sites using anything older than version 8.12 of \'sendmail\' ' .
+           'can achieve a significant performance increase in the ' .
+           'UI -- at the cost of delaying the sending of mail -- by ' .
+           'disabling this parameter. Sites using \'sendmail\' 8.12 or ' .
+           'higher should leave this on, as they will see no benefit from ' .
+           'turning it off. Sites using an MTA other than \'sendmail\' ' .
+           '*must* leave it on, or no bug mail will be sent.',
    type => 'b',
-   default => 0
+   default => 1
   },
 
   {
@@ -631,8 +633,8 @@ You will get this message once a day until you\'ve dealt with these bugs!
   {
    name => 'defaultquery',
    desc => 'This is the default query that initially comes up when you ' .
-           'submit a bug.  It\'s in URL parameter format, which makes it ' .
-           'hard to read.  Sorry!',
+           'access the advanced query page.  It\'s in URL parameter ' .
+           'format, which makes it hard to read.  Sorry!',
    type => 't',
    default => 'bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailqa_contact2=1&order=Importance&long_desc_type=substring'
   },
@@ -1034,6 +1036,17 @@ Reason: %reason%
    checker => \&check_numeric
   },
 
+  {
+   name => 'chartgroup',
+   desc => 'The name of the group of users who can use the "New Charts" ' .
+           'feature. Administrators should ensure that the public categories ' .
+           'and series definitions do not divulge confidential information ' .
+           'before enabling this for an untrusted population. If left blank, ' .
+           'no users will be able to use New Charts.',
+   type => 't',
+   default => 'editbugs'
+  },
+  
   {
    name => 'insidergroup',
    desc => 'The name of the group of users who can see/change private ' .
@@ -1169,7 +1182,14 @@ Reason: %reason%
    type    => 't',
    default => '',
   },
-);
 
+  {
+   name    => 'noresolveonopenblockers',
+   desc    => 'Don\'t allow bugs to be resolved as fixed if they have unresolved dependencies.',
+   type    => 'b',
+   default => 0,
+  },
+  
+);
 1;
 
diff --git a/describecomponents.cgi b/describecomponents.cgi
index 05af919491e3b132933cf4f3c041a977cfce6147..85915b5ded409416ed11bdb1d962648d5cc698f1 100755
--- a/describecomponents.cgi
+++ b/describecomponents.cgi
@@ -21,34 +21,31 @@
 # Contributor(s): Terry Weissman <terry@mozilla.org>
 #                 Bradley Baetz <bbaetz@student.usyd.edu.au>
 
-use vars qw(
-  %FORM
-  %legal_product
-  $userid
-);
-
 use strict;
-
 use lib qw(.);
 
 use Bugzilla;
-
+use Bugzilla::Constants;
 require "CGI.pl";
 
-ConnectToDatabase();
-quietly_check_login();
+use vars qw($vars @legal_product);
+
+Bugzilla->login();
 
 GetVersionTable();
 
 my $cgi = Bugzilla->cgi;
+my $template = Bugzilla->template;
+my $product = trim($cgi->param('product') || '');
+my $product_id = get_product_id($product);
 
-if (!defined $::FORM{'product'}) {
+if (!$product_id || !CanEnterProduct($product)) {
     # Reference to a subset of %::proddesc, which the user is allowed to see
     my %products;
 
     if (AnyEntryGroups()) {
         # OK, now only add products the user can see
-        confirm_login() unless $::userid;
+        Bugzilla->login(LOGIN_REQUIRED) unless Bugzilla->user;
         foreach my $p (@::legal_product) {
             if (CanEnterProduct($p)) {
                 $products{$p} = $::proddesc{$p};
@@ -56,7 +53,7 @@ if (!defined $::FORM{'product'}) {
         }
     }
     else {
-          %products = %::proddesc;
+        %products = %::proddesc;
     }
 
     my $prodsize = scalar(keys %products);
@@ -64,45 +61,32 @@ if (!defined $::FORM{'product'}) {
         ThrowUserError("no_products");
     }
     elsif ($prodsize > 1) {
-        $::vars->{'proddesc'} = \%products;
-        $::vars->{'target'} = "describecomponents.cgi";
+        $vars->{'proddesc'} = \%products;
+        $vars->{'target'} = "describecomponents.cgi";
+        # If an invalid product name is given, or the user is not
+        # allowed to access that product, a message is displayed
+        # with a list of the products the user can choose from.
+        if ($product) {
+            $vars->{'message'} = "product_invalid";
+            $vars->{'product'} = $product;
+        }
 
         print $cgi->header();
-        $::template->process("global/choose-product.html.tmpl", $::vars)
-          || ThrowTemplateError($::template->error());
+        $template->process("global/choose-product.html.tmpl", $vars)
+          || ThrowTemplateError($template->error());
         exit;
     }
 
-    $::FORM{'product'} = (keys %products)[0];
+    $product = (keys %products)[0];
 }
 
-my $product = $::FORM{'product'};
-
-# Make sure the user specified a valid product name.  Note that
-# if the user specifies a valid product name but is not authorized
-# to access that product, they will receive a different error message
-# which could enable people guessing product names to determine
-# whether or not certain products exist in Bugzilla, even if they
-# cannot get any other information about that product.
-my $product_id = get_product_id($product);
-
-if (!$product_id) {
-    ThrowUserError("invalid_product_name",
-                   { product => $product });
-}
-
-# Make sure the user is authorized to access this product.
-CanEnterProduct($product)
-      || ThrowUserError("product_access_denied");
-
 ######################################################################
 # End Data/Security Validation
 ######################################################################
 
 my @components;
 SendSQL("SELECT name, initialowner, initialqacontact, description FROM " .
-        "components WHERE product_id = $product_id ORDER BY " .
-        "name");
+        "components WHERE product_id = $product_id ORDER BY name");
 while (MoreSQLData()) {
     my ($name, $initialowner, $initialqacontact, $description) =
       FetchSQLData();
@@ -119,10 +103,9 @@ while (MoreSQLData()) {
     push @components, \%component;
 }
 
-$::vars->{'product'} = $product;
-$::vars->{'components'} = \@components;
+$vars->{'product'} = $product;
+$vars->{'components'} = \@components;
 
 print $cgi->header();
-$::template->process("reports/components.html.tmpl", $::vars)
-  || ThrowTemplateError($::template->error());
-
+$template->process("reports/components.html.tmpl", $vars)
+  || ThrowTemplateError($template->error());
diff --git a/describekeywords.cgi b/describekeywords.cgi
index 60c5a9fd8eb44a357b3598e7495da80afb12802b..8597e67910d79aeb510622530e9f074a9134e49a 100755
--- a/describekeywords.cgi
+++ b/describekeywords.cgi
@@ -31,9 +31,7 @@ require "CGI.pl";
 # Use the global template variables. 
 use vars qw($vars $template);
 
-ConnectToDatabase();
-
-quietly_check_login();
+Bugzilla->login();
 
 my $cgi = Bugzilla->cgi;
 
diff --git a/docs/.cvsignore b/docs/.cvsignore
new file mode 100644
index 0000000000000000000000000000000000000000..e5004814b7392e451e9e8692b292631fd3ef008c
--- /dev/null
+++ b/docs/.cvsignore
@@ -0,0 +1,3 @@
+txt
+html
+pdf
diff --git a/docs/CVS/Entries b/docs/CVS/Entries
index a7c2fbac79c422be748ee5ec70618dfab83c91db..b94051eee3d505b64d77ea83cf6d9042a332f2ff 100644
--- a/docs/CVS/Entries
+++ b/docs/CVS/Entries
@@ -1,5 +1,6 @@
-/README.docs/1.9/Wed Apr 23 03:23:04 2003//TBUGZILLA-2_17_7
-/makedocs.pl/1.7/Thu Feb  5 04:49:08 2004//TBUGZILLA-2_17_7
-/rel_notes.txt/1.23/Fri Apr 25 00:22:41 2003//TBUGZILLA-2_17_7
+/.cvsignore/1.2/Wed Mar 17 05:15:41 2004//TBUGZILLA-2_18
+/README.docs/1.10/Sun May 30 21:46:07 2004//TBUGZILLA-2_18
+/makedocs.pl/1.7/Thu Feb  5 04:49:08 2004//TBUGZILLA-2_18
+/rel_notes.txt/1.24.2.7/Sat Jan 15 04:38:22 2005//TBUGZILLA-2_18
 D/images////
 D/xml////
diff --git a/docs/CVS/Tag b/docs/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/docs/CVS/Tag
+++ b/docs/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/docs/README.docs b/docs/README.docs
index 8a172ecda1177e8832b70074e6321823a1b7749d..5fdeb85707d3691d4a68133764222d16c5ed47d7 100644
--- a/docs/README.docs
+++ b/docs/README.docs
@@ -8,7 +8,7 @@ xml/		# The original XML doc sources (edit these)
 
 A note about the XML:
   The documentation is written in DocBook 4.1.2, and attempts to adhere
-to the LinuxDoc standards everywhere applicable (http://www.tldp.org).
+to the LinuxDoc standards where applicable (http://www.tldp.org).
 Please consult "The LDP Author Guide" at tldp.org for details on how
 to set up your personal environment for compiling XML files.
   If you need to make corrections to typographical errors, or other minor
diff --git a/docs/html/Bugzilla-Guide.html b/docs/html/Bugzilla-Guide.html
index f08148aaad3fdc45c3602ea6dddfc566fca6bd13..7434314bd8232e286f289286a66e8d2f7493c32e 100644
--- a/docs/html/Bugzilla-Guide.html
+++ b/docs/html/Bugzilla-Guide.html
@@ -2,8 +2,7 @@
 <HTML
 ><HEAD
 ><TITLE
->The Bugzilla Guide - 2.17.7 
-    Development Release</TITLE
+>The Bugzilla Guide - 2.18 Release</TITLE
 ><META
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><META
@@ -43,15 +42,14 @@ CLASS="TITLEPAGE"
 CLASS="title"
 ><A
 NAME="AEN2"
->The Bugzilla Guide - 2.17.7 
-    Development Release</A
+>The Bugzilla Guide - 2.18 Release</A
 ></H1
 ><H3
 CLASS="corpauthor"
 >The Bugzilla Team</H3
 ><P
 CLASS="pubdate"
->2004-02-05<BR></P
+>2005-01-14<BR></P
 ><DIV
 ><DIV
 CLASS="abstract"
@@ -151,8 +149,8 @@ HREF="#os-specific"
 ></DT
 ><DT
 >2.5. <A
-HREF="#troubleshooting"
->Troubleshooting</A
+HREF="#nonroot"
+>UNIX (non-root) Installation Notes</A
 ></DT
 ></DL
 ></DD
@@ -195,16 +193,26 @@ HREF="#milestones"
 ></DT
 ><DT
 >3.7. <A
+HREF="#flags-overview"
+>Flags</A
+></DT
+><DT
+>3.8. <A
 HREF="#voting"
 >Voting</A
 ></DT
 ><DT
->3.8. <A
+>3.9. <A
+HREF="#quips"
+>Quips</A
+></DT
+><DT
+>3.10. <A
 HREF="#groups"
 >Groups and Group Security</A
 ></DT
 ><DT
->3.9. <A
+>3.11. <A
 HREF="#upgrading"
 >Upgrading to New Releases</A
 ></DT
@@ -212,99 +220,138 @@ HREF="#upgrading"
 ></DD
 ><DT
 >4. <A
+HREF="#security"
+>Bugzilla Security</A
+></DT
+><DD
+><DL
+><DT
+>4.1. <A
+HREF="#security-os"
+>Operating System</A
+></DT
+><DT
+>4.2. <A
+HREF="#security-mysql"
+>MySQL</A
+></DT
+><DT
+>4.3. <A
+HREF="#security-webserver"
+>Webserver</A
+></DT
+><DT
+>4.4. <A
+HREF="#security-bugzilla"
+>Bugzilla</A
+></DT
+></DL
+></DD
+><DT
+>5. <A
 HREF="#customization"
 >Customising Bugzilla</A
 ></DT
 ><DD
 ><DL
 ><DT
->4.1. <A
+>5.1. <A
 HREF="#cust-templates"
 >Template Customization</A
 ></DT
 ><DT
->4.2. <A
+>5.2. <A
 HREF="#cust-hooks"
 >Template Hooks</A
 ></DT
 ><DT
->4.3. <A
+>5.3. <A
 HREF="#cust-change-permissions"
 >Customizing Who Can Change What</A
 ></DT
 ><DT
->4.4. <A
+>5.4. <A
 HREF="#dbmodify"
 >Modifying Your Running System</A
 ></DT
 ><DT
->4.5. <A
+>5.5. <A
 HREF="#dbdoc"
 >MySQL Bugzilla Database Introduction</A
 ></DT
 ><DT
->4.6. <A
+>5.6. <A
 HREF="#integration"
 >Integrating Bugzilla with Third-Party Tools</A
 ></DT
 ></DL
 ></DD
 ><DT
->5. <A
+>6. <A
 HREF="#using"
 >Using Bugzilla</A
 ></DT
 ><DD
 ><DL
 ><DT
->5.1. <A
+>6.1. <A
 HREF="#using-intro"
 >Introduction</A
 ></DT
 ><DT
->5.2. <A
+>6.2. <A
 HREF="#myaccount"
 >Create a Bugzilla Account</A
 ></DT
 ><DT
->5.3. <A
+>6.3. <A
 HREF="#bug_page"
 >Anatomy of a Bug</A
 ></DT
 ><DT
->5.4. <A
+>6.4. <A
+HREF="#lifecycle"
+>Life Cycle of a Bug</A
+></DT
+><DT
+>6.5. <A
 HREF="#query"
 >Searching for Bugs</A
 ></DT
 ><DT
->5.5. <A
+>6.6. <A
 HREF="#list"
 >Bug Lists</A
 ></DT
 ><DT
->5.6. <A
+>6.7. <A
 HREF="#bugreports"
 >Filing Bugs</A
 ></DT
 ><DT
->5.7. <A
+>6.8. <A
 HREF="#patchviewer"
 >Patch Viewer</A
 ></DT
 ><DT
->5.8. <A
+>6.9. <A
 HREF="#hintsandtips"
 >Hints and Tips</A
 ></DT
 ><DT
->5.9. <A
+>6.10. <A
 HREF="#userpreferences"
 >User Preferences</A
 ></DT
 ><DT
->5.10. <A
+>6.11. <A
 HREF="#reporting"
->Reports</A
+>Reports and Charts</A
+></DT
+><DT
+>6.12. <A
+HREF="#flags"
+>Flags</A
 ></DT
 ></DL
 ></DD
@@ -315,39 +362,115 @@ HREF="#faq"
 ></DT
 ><DT
 >B. <A
+HREF="#troubleshooting"
+>Troubleshooting</A
+></DT
+><DD
+><DL
+><DT
+>B.1. <A
+HREF="#general-advice"
+>General Advice</A
+></DT
+><DT
+>B.2. <A
+HREF="#AEN2868"
+>The Apache webserver is not serving Bugzilla pages</A
+></DT
+><DT
+>B.3. <A
+HREF="#AEN2875"
+>I installed a Perl module, but 
+      <TT
+CLASS="filename"
+>checksetup.pl</TT
+> claims it's not installed!</A
+></DT
+><DT
+>B.4. <A
+HREF="#AEN2885"
+>Bundle::Bugzilla makes me upgrade to Perl 5.6.1</A
+></DT
+><DT
+>B.5. <A
+HREF="#AEN2890"
+>DBD::Sponge::db prepare failed</A
+></DT
+><DT
+>B.6. <A
+HREF="#paranoid-security"
+>cannot chdir(/var/spool/mqueue)</A
+></DT
+><DT
+>B.7. <A
+HREF="#trouble-filetemp"
+>Your vendor has not defined Fcntl macro O_NOINHERIT</A
+></DT
+><DT
+>B.8. <A
+HREF="#trbl-relogin-everyone"
+>Everybody is constantly being forced to relogin</A
+></DT
+><DT
+>B.9. <A
+HREF="#AEN2944"
+>Some users are constantly being forced to relogin</A
+></DT
+><DT
+>B.10. <A
+HREF="#trbl-index"
+><TT
+CLASS="filename"
+>index.cgi</TT
+> doesn't show up unless specified in the URL</A
+></DT
+></DL
+></DD
+><DT
+>C. <A
 HREF="#patches"
 >Contrib</A
 ></DT
 ><DD
 ><DL
 ><DT
->B.1. <A
+>C.1. <A
 HREF="#cmdline"
 >Command-line Search Interface</A
 ></DT
+><DT
+>C.2. <A
+HREF="#cmdline-bugmail"
+>Command-line 'Send Unsent Bug-mail' tool</A
+></DT
 ></DL
 ></DD
 ><DT
->C. <A
+>D. <A
 HREF="#install-perlmodules-manual"
 >Manual Installation of Perl Modules</A
 ></DT
 ><DD
 ><DL
 ><DT
->C.1. <A
+>D.1. <A
 HREF="#modules-manual-instructions"
 >Instructions</A
 ></DT
 ><DT
->C.2. <A
+>D.2. <A
 HREF="#modules-manual-download"
 >Download Locations</A
 ></DT
+><DT
+>D.3. <A
+HREF="#modules-manual-optional"
+>Optional Modules</A
+></DT
 ></DL
 ></DD
 ><DT
->D. <A
+>E. <A
 HREF="#gfdl"
 >GNU Free Documentation License</A
 ></DT
@@ -428,6 +551,21 @@ CLASS="LOT"
 CLASS="LOT"
 ><DT
 ><B
+>List of Figures</B
+></DT
+><DT
+>6-1. <A
+HREF="#lifecycle-image"
+>Lifecycle of a Bugzilla Bug</A
+></DT
+></DL
+></DIV
+><DIV
+CLASS="LOT"
+><DL
+CLASS="LOT"
+><DT
+><B
 >List of Examples</B
 ></DT
 ><DT
@@ -445,6 +583,42 @@ HREF="#upgrade-tarball"
 HREF="#upgrade-patches"
 >Upgrading using patches</A
 ></DT
+><DT
+>4-1. <A
+HREF="#security-mysql-account-root"
+>Assigning the MySQL <SPAN
+CLASS="QUOTE"
+>"root"</SPAN
+> User a Password</A
+></DT
+><DT
+>4-2. <A
+HREF="#security-mysql-account-anonymous"
+>Disabling the MySQL <SPAN
+CLASS="QUOTE"
+>"anonymous"</SPAN
+> User</A
+></DT
+><DT
+>4-3. <A
+HREF="#security-mysql-network-ex"
+>Disabling Networking in MySQL</A
+></DT
+><DT
+>4-4. <A
+HREF="#security-bugzilla-charset-ex"
+>Forcing Bugzilla to output a charset</A
+></DT
+><DT
+>B-1. <A
+HREF="#trbl-relogin-everyone-share"
+>Examples of urlbase/cookiepath pairs for sharing login cookies</A
+></DT
+><DT
+>B-2. <A
+HREF="#trbl-relogin-everyone-restrict"
+>Examples of urlbase/cookiepath pairs to restrict the login cookie</A
+></DT
 ></DL
 ></DIV
 ><DIV
@@ -463,7 +637,7 @@ NAME="copyright"
 >1.1. Copyright Information</A
 ></H2
 ><P
->This document is copyright (c) 2000-2004 by the various
+>This document is copyright (c) 2000-2005 by the various
     Bugzilla contributors who wrote it.</P
 ><A
 NAME="AEN26"
@@ -478,7 +652,7 @@ CLASS="BLOCKQUOTE"
 	Front-Cover Texts, and with no Back-Cover Texts. A copy of
 	the license is included in <A
 HREF="#gfdl"
->Appendix D</A
+>Appendix E</A
 >.
       </P
 ></BLOCKQUOTE
@@ -532,12 +706,8 @@ NAME="newversions"
 >1.3. New Versions</A
 ></H2
 ><P
->&#13;      This is the 2.17.7 version of The Bugzilla Guide. It is so named 
+>&#13;      This is the 2.18 version of The Bugzilla Guide. It is so named 
       to match the current version of Bugzilla. 
-      
-        This version of the guide, like its associated Bugzilla version, is a
-        development version. 
-      
     </P
 ><P
 >&#13;      The latest version of this guide can always be found at <A
@@ -639,7 +809,114 @@ NAME="credits"
       contribution to the Bugzilla community:
     </P
 ><P
->&#13;      Matthew P. Barnson, Kevin Brannen, Dawn Endico, Ben FrantzDale, Eric Hanson, Tara Hernandez, Dave Lawrence, Zach Lipton, Gervase Markham, Andrew Pearson, Joe Robins, Spencer Smith, Jacob Steenhagen, Ron Teitelbaum, Terry Weissman, Martin Wulffeld.
+></P
+><DIV
+CLASS="variablelist"
+><DL
+><DT
+>Matthew P. Barnson <CODE
+CLASS="email"
+>&#60;<A
+HREF="mailto:mbarnson@sisna.com"
+>mbarnson@sisna.com</A
+>&#62;</CODE
+></DT
+><DD
+><P
+>for the Herculaean task of pulling together the Bugzilla Guide
+          and shepherding it to 2.14.
+          </P
+></DD
+><DT
+>Terry Weissman <CODE
+CLASS="email"
+>&#60;<A
+HREF="mailto:terry@mozilla.org"
+>terry@mozilla.org</A
+>&#62;</CODE
+></DT
+><DD
+><P
+>for initially writing Bugzilla and creating the README upon
+          which the UNIX installation documentation is largely based.
+          </P
+></DD
+><DT
+>Tara Hernandez <CODE
+CLASS="email"
+>&#60;<A
+HREF="mailto:tara@tequilarists.org"
+>tara@tequilarists.org</A
+>&#62;</CODE
+></DT
+><DD
+><P
+>for keeping Bugzilla development going strong after Terry left
+          mozilla.org and for running landfill.
+          </P
+></DD
+><DT
+>Dave Lawrence <CODE
+CLASS="email"
+>&#60;<A
+HREF="mailto:dkl@redhat.com"
+>dkl@redhat.com</A
+>&#62;</CODE
+></DT
+><DD
+><P
+>for providing insight into the key differences between Red
+          Hat's customized Bugzilla.
+          </P
+></DD
+><DT
+>Dawn Endico <CODE
+CLASS="email"
+>&#60;<A
+HREF="mailto:endico@mozilla.org"
+>endico@mozilla.org</A
+>&#62;</CODE
+></DT
+><DD
+><P
+>for being a hacker extraordinaire and putting up with Matthew's
+          incessant questions and arguments on irc.mozilla.org in #mozwebtools
+          </P
+></DD
+><DT
+>Jacob Steenhagen <CODE
+CLASS="email"
+>&#60;<A
+HREF="mailto:jake@bugzilla.org"
+>jake@bugzilla.org</A
+>&#62;</CODE
+></DT
+><DD
+><P
+>for taking over documentation during the 2.17 development
+          period.
+          </P
+></DD
+><DT
+>Dave Miller <CODE
+CLASS="email"
+>&#60;<A
+HREF="mailto:justdave@bugzilla.org"
+>justdave@bugzilla.org</A
+>&#62;</CODE
+></DT
+><DD
+><P
+>for taking over as project lead when Tara stepped down and
+	  continually pushing for the documentation to be the best it can be.
+          </P
+></DD
+></DL
+></DIV
+><P
+>&#13;      Thanks also go to the following people for significant contributions 
+      to this documentation:
+      Kevin Brannen, Vlad Dascalu, Ben FrantzDale, Eric Hanson, Zach Lipton, Gervase Markham, Andrew Pearson, Joe Robins, Spencer Smith, Ron Teitelbaum, Shane Travis, Martin Wulffeld.
     </P
 ><P
 >&#13;      Also, thanks are due to the members of the 
@@ -667,7 +944,7 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN83"
+NAME="AEN115"
 ></A
 ><TABLE
 BORDER="0"
@@ -1053,7 +1330,8 @@ TYPE="1"
 HREF="#install-perl"
 >Install Perl</A
 >
-        (5.6.0 or above)
+        (5.6.0 or above for non-Windows platforms; 5.8.1
+        for Windows)
         </P
 ></LI
 ><LI
@@ -1091,6 +1369,15 @@ HREF="#install-perlmodules"
 ></LI
 ><LI
 ><P
+>&#13;          <A
+HREF="#install-MTA"
+>Install a Mail Transfer Agent</A
+>
+          (Sendmail 8.7 or above, or an MTA that is Sendmail-compatible with at least this version)
+        </P
+></LI
+><LI
+><P
 >Configure all of the above.
         </P
 ></LI
@@ -1119,7 +1406,7 @@ TARGET="_top"
 >.
       Although Bugzilla runs with Perl 5.6.0,
       it's a good idea to be using the latest stable version. 
-      As of this writing, that is Perl 5.8.2.</P
+      As of this writing, that is Perl 5.8.3.</P
 ></DIV
 ><DIV
 CLASS="section"
@@ -1237,10 +1524,13 @@ NAME="install-bzfiles"
 ></H3
 ><P
 >&#13;        Download a Bugzilla tarball (or check it out from CVS) and place
-        it in a suitable directory, writable by the default web server user 
+        it in a suitable directory, accessible by the default web server user 
         (probably <SPAN
 CLASS="QUOTE"
->"nobody"</SPAN
+>"apache"</SPAN
+> or <SPAN
+CLASS="QUOTE"
+>"www"</SPAN
 >). 
         Good locations are either directly in the main web space for your
         web server or perhaps in 
@@ -1271,7 +1561,7 @@ ALT="Caution"></TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->The default Bugzilla distribution is not designed to be placed
+>The default Bugzilla distribution is NOT designed to be placed
         in a <TT
 CLASS="filename"
 >cgi-bin</TT
@@ -1366,14 +1656,14 @@ CLASS="filename"
 ><P
 >&#13;        The preferred way of installing Perl modules is via CPAN on Unix, 
         or PPM on Windows (see <A
-HREF="#win32-perlmodules"
+HREF="#win32-perl-modules"
 >Section 2.4.1.2</A
 >). These
         instructions assume you are using CPAN; if for some reason you need 
         to install the Perl modules manually, see 
         <A
 HREF="#install-perlmodules-manual"
->Appendix C</A
+>Appendix D</A
 >.
       </P
 ><TABLE
@@ -1477,7 +1767,7 @@ TYPE="1"
 ></LI
 ><LI
 ><P
->&#13;            DBI (1.32)
+>&#13;            DBI (1.36)
           </P
 ></LI
 ><LI
@@ -1536,7 +1826,7 @@ HREF="#install-modules-gd"
 HREF="#install-modules-chart-base"
 >Chart::Base</A
 >
-            (0.99c) for bug charting
+            (1.0) for bug charting
           </P
 ></LI
 ><LI
@@ -1572,7 +1862,7 @@ HREF="#install-modules-xml-parser"
 HREF="#install-modules-patchreader"
 >PatchReader</A
 >
-            (0.9.1) for pretty HTML view of patches
+            (0.9.4) for pretty HTML view of patches
           </P
 ></LI
 ><LI
@@ -1717,7 +2007,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="install-modules-chart-base"
->2.1.5.4. Chart::Base (0.99c)</A
+>2.1.5.4. Chart::Base (1.0)</A
 ></H4
 ><P
 >The Chart::Base module is only required if you want graphical 
@@ -1797,7 +2087,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="install-modules-patchreader"
->2.1.5.9. PatchReader (0.9.1)</A
+>2.1.5.9. PatchReader (0.9.4)</A
 ></H4
 ><P
 >The PatchReader module is only required if you want to use 
@@ -1807,6 +2097,37 @@ NAME="install-modules-patchreader"
         </P
 ></DIV
 ></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="install-MTA"
+>2.1.6. Mail Transfer Agent (MTA)</A
+></H3
+><P
+>Bugzilla is dependent on the availability of an e-mail system for its user
+      authentication and for other tasks. </P
+><P
+>On Linux, any Sendmail-compatible MTA (Mail Transfer Agent) will suffice.
+      Sendmail, Postfix, qmail and Exim are examples of common MTAs. Sendmail is the 
+      original Unix MTA, but the others are easier to configure, and therefore many people
+      replace Sendmail with Postfix or Exim. They are drop-in replacements, so that Bugzilla
+      will not distinguish between them.</P
+><P
+>&#13;        If you are using Sendmail, version 8.7 or higher is required.
+        If you are using a Sendmail-compatible MTA, it must be congruent with at least version 8.7 of Sendmail.
+      </P
+><P
+>Consult the manual for the specific MTA you choose for detailed installation
+      instructions. Each of these programs will have their own configuration files where you must
+      configure certain parameters to ensure that the mail is delivered properly. They
+      are implemented as services, and you should ensure that the MTA is in the
+      auto-start list of services for the machine.</P
+><P
+>If a simple mail sent with the command-line 'mail' program succeeds, then
+      Bugzilla should also be fine.</P
+></DIV
 ></DIV
 ><DIV
 CLASS="section"
@@ -1837,10 +2158,15 @@ ALT="Warning"></TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->Poorly-configured MySQL and Bugzilla installations have
-      given attackers full access to systems in the past. Please take the
-      security parts of these guidelines seriously, even for Bugzilla 
-      machines hidden away behind your firewall.</P
+>&#13;        Poorly-configured MySQL and Bugzilla installations have
+        given attackers full access to systems in the past. Please take the
+        security parts of these guidelines seriously, even for Bugzilla 
+        machines hidden away behind your firewall. Be certain to read
+        <A
+HREF="#security"
+>Chapter 4</A
+> for some important security tips.
+      </P
 ></TD
 ></TR
 ></TABLE
@@ -1859,21 +2185,20 @@ CLASS="filename"
 >checksetup.pl</TT
 > with all the correct 
         modules installed, it displays a message about, and write out a 
-        file called, 
-        <TT
+        file called, <TT
 CLASS="filename"
 >localconfig</TT
->. This file contains the default
-        settings for a number of Bugzilla parameters.
+>. This file contains
+        the default settings for a number of Bugzilla parameters.
       </P
 ><P
->Load this file in your editor. The only value you 
-      <EM
+>&#13;        Load this file in your editor. The only value you 
+        <EM
 >need</EM
 > to change is $db_pass, the password for
-      the user you will create for your database.
-      Pick a strong password (for simplicity, it should not contain
-      single quote characters) and put it here.
+        the user you will create for your database. Pick a strong
+        password (for simplicity, it should not contain single quote
+        characters) and put it here.
       </P
 ><P
 >&#13;        The other options in the <TT
@@ -1888,11 +2213,11 @@ CLASS="filename"
 >&#13;        You may also wish to change the names of 
         the priorities, severities, operating systems and platforms for your
         installation. However, you can always change these after installation
-        has finished; if you then re-run 
-        <TT
+        has finished; if you then re-run <TT
 CLASS="filename"
 >checksetup.pl</TT
->, the changes will get picked up.
+>,
+        the changes will get picked up.
       </P
 ></DIV
 ><DIV
@@ -1904,103 +2229,124 @@ NAME="mysql"
 >2.2.2. MySQL</A
 ></H3
 ><DIV
-CLASS="section"
-><H4
-CLASS="section"
-><A
-NAME="security-mysql"
->2.2.2.1. Security</A
-></H4
-><P
->MySQL ships as insecure by default.
-        It allows anybody to on the local machine full administrative 
-        capabilities without requiring a password; the special
-        MySQL root account (note: this is <EM
->not</EM
-> the same as
-        the system root) also has no password.
-        Also, many installations default to running
-        <SPAN
-CLASS="application"
->mysqld</SPAN
-> as the system root.
-        </P
+CLASS="caution"
 ><P
 ></P
-><OL
-TYPE="1"
-><LI
-><P
->To disable the anonymous user account
-            and set a password for the root user, execute the following. The
-            root user password should be different to the bugs user password
-            you set in 
-            <TT
-CLASS="filename"
->localconfig</TT
-> in the previous section, 
-            and also different to
-            the password for the system root account on your machine.
-            </P
 ><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
+CLASS="caution"
 WIDTH="100%"
+BORDER="0"
 ><TR
 ><TD
-><FONT
-COLOR="#000000"
-><PRE
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/caution.gif"
+HSPACE="5"
+ALT="Caution"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          MySQL's default configuration is very insecure.
+          <A
+HREF="#security-mysql"
+>Section 4.2</A
+> has some good information for
+          improving your installation's security.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="section"
+><HR><H4
+CLASS="section"
+><A
+NAME="install-setupdatabase"
+>2.2.2.1. Allow large attachments</A
+></H4
+><P
+>&#13;          By default, MySQL will only accept packets up to 64Kb in size.
+          If you want to have attachments larger than this, you will need
+          to modify your <TT
+CLASS="filename"
+>/etc/my.cnf</TT
+> as below.
+        </P
+><P
+>&#13;          If you are using MySQL 4.0 or newer, enter:
+        </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
 CLASS="screen"
->  <SAMP
-CLASS="prompt"
->bash$</SAMP
-> mysql mysql
-  <SAMP
-CLASS="prompt"
->mysql&#62;</SAMP
-> DELETE FROM user WHERE user = '';
-  <SAMP
-CLASS="prompt"
->mysql&#62;</SAMP
-> UPDATE user SET password = password('<VAR
-CLASS="replaceable"
->new_password</VAR
->') WHERE user = 'root';
-  <SAMP
-CLASS="prompt"
->mysql&#62;</SAMP
-> FLUSH PRIVILEGES;</PRE
+>  [mysqld]
+  # Allow packets up to 1M
+  max_allowed_packet=1M</PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
 ><P
->From this point forward, to run the 
-            <TT
-CLASS="filename"
->mysql</TT
-> command-line client, 
-            you will need to type
-            <B
-CLASS="command"
->mysql -u root -p</B
-> and enter
-            <VAR
-CLASS="replaceable"
->new_password</VAR
-> when prompted.
-            </P
-></LI
-><LI
+>&#13;          If you are using an older version of MySQL, enter:
+        </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>  [mysqld]
+  # Allow packets up to 1M
+  set-variable = max_allowed_packet=1M</PRE
+></FONT
+></TD
+></TR
+></TABLE
+><P
+>&#13;          There is also a parameter in Bugzilla called 'maxattachmentsize'
+          (default = 1000 Kb) that controls the maximum allowable attachment
+          size. Attachments larger than <EM
+>either</EM
+> the 
+          'max_allowed_packet' or 'maxattachmentsize' value will not be
+          accepted by Bugzilla.
+        </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H4
+CLASS="section"
+><A
+NAME="AEN401"
+>2.2.2.2. Allow small words in full-text indexes</A
+></H4
 ><P
->If you run MySQL on the same machine as your web server, you
-            should disable remote access to MySQL by adding
-            the following to your <TT
+>By default, words must be at least four characters in length
+        in order to be indexed by MySQL's full-text indexes. This causes
+        a lot of Bugzilla specific words to be missed, including "cc",
+        "ftp" and "uri".</P
+><P
+>MySQL can be configured to index those words by setting the
+        ft_min_word_len param to the minimum size of the words to index.
+        This can be done by modifying the <TT
 CLASS="filename"
->/etc/my.conf</TT
->:
-            </P
+>/etc/my.cnf</TT
+>
+        according to the example below:</P
 ><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -2010,55 +2356,70 @@ WIDTH="100%"
 ><FONT
 COLOR="#000000"
 ><PRE
-CLASS="programlisting"
->  [myslqd]
-  # Prevent network access to MySQL.
-  skip-networking</PRE
+CLASS="screen"
+>  [mysqld]
+  # Allow small words in full-text indexes
+  ft_min_word_len=2</PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
-></LI
-><LI
 ><P
->Consult the documentation that came with your system for
-            information on making <SPAN
-CLASS="application"
->mysqld</SPAN
-> run as an
-            unprivileged user.
-            </P
-></LI
-><LI
+>Rebuilding the indexes can be done based on documentation found at
+        <A
+HREF="http://www.mysql.com/doc/en/Fulltext_Fine-tuning.html"
+TARGET="_top"
+>http://www.mysql.com/doc/en/Fulltext_Fine-tuning.html</A
+>.
+        </P
+><DIV
+CLASS="note"
 ><P
->For added security, you could also run MySQL, or even all 
-            of Bugzilla
-            in a chroot jail; however, instructions for doing that are beyond
-            the scope of this document.
-            </P
-></LI
-></OL
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;            The ft_min_word_len parameter is only suported in MySQL v4 or higher.
+          </P
+></TD
+></TR
+></TABLE
+></DIV
 ></DIV
 ><DIV
 CLASS="section"
 ><HR><H4
 CLASS="section"
 ><A
-NAME="install-setupdatabase"
->2.2.2.2. Allow large attachments</A
+NAME="AEN411"
+>2.2.2.3. Permit attachments table to grow beyond 4GB</A
 ></H4
 ><P
->You need to configure MySQL to accept large packets, if you
-        want to have attachments larger than 64K. Add the text
-        below to your
-        <TT
+>&#13;          By default, MySQL will limit the size of a table to 4GB.
+          This limit is present even if the underlying filesystem
+          has no such limit.  To set a higher limit, follow these
+          instructions.
+        </P
+><P
+>&#13;          Run the <TT
 CLASS="filename"
->/etc/my.conf</TT
->. 
-        There is also a parameter in Bugzilla
-        for setting the maximum allowable attachment size, (default 1MB).
-        Bugzilla will only accept attachments up to the lower of these two
-        sizes.
+>MySQL</TT
+> command-line client and
+          enter:
         </P
 ><TABLE
 BORDER="0"
@@ -2070,13 +2431,21 @@ WIDTH="100%"
 COLOR="#000000"
 ><PRE
 CLASS="screen"
->  [mysqld]
-  # Allow packets up to 1M
-  set-variable = max_allowed_packet=1M</PRE
+>  <SAMP
+CLASS="prompt"
+>mysql&#62;</SAMP
+> ALTER TABLE attachments 
+          AVG_ROW_LENGTH=1000000, MAX_ROWS=20000;
+        </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
+><P
+>&#13;          The above command will change the limit to 20GB. Mysql will have 
+          to make a temporary copy of your entire table to do this. Ideally, 
+          you should do this when your attachments table is still small.
+        </P
 ></DIV
 ><DIV
 CLASS="section"
@@ -2084,62 +2453,63 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="install-setupdatabase-adduser"
->2.2.2.3. Add a user to MySQL</A
+>2.2.2.4. Add a user to MySQL</A
 ></H4
 ><P
->You need to add a new MySQL user for
-        Bugzilla to use. (It's not safe to have Bugzilla use the MySQL root
-        account.) The following instructions assume the defaults in 
-        <TT
+>&#13;          You need to add a new MySQL user for Bugzilla to use.
+          (It's not safe to have Bugzilla use the MySQL root account.)
+          The following instructions assume the defaults in
+          <TT
 CLASS="filename"
 >localconfig</TT
->; 
-        if you changed those, you need to modify the 
-        SQL command appropriately. You will need the 
-        <VAR
+>; if you changed those,
+          you need to modify the SQL command appropriately. You will
+          need the <VAR
 CLASS="replaceable"
 >$db_pass</VAR
-> password you set in
-        <TT
+> password you
+          set in <TT
 CLASS="filename"
 >localconfig</TT
 > in 
-        <A
+          <A
 HREF="#localconfig"
 >Section 2.2.1</A
 >.
         </P
 ><P
->We use an SQL <B
+>&#13;          We use an SQL <B
 CLASS="command"
 >GRANT</B
-> command to create a 
-        <SPAN
+> command to create
+          a <SPAN
 CLASS="QUOTE"
 >"bugs"</SPAN
->
-        user. This also restricts the 
-        <SPAN
+> user. This also restricts the 
+          <SPAN
 CLASS="QUOTE"
 >"bugs"</SPAN
->
-        user to operations within a database called 
-        <SPAN
+>user to operations within a database
+          called <SPAN
 CLASS="QUOTE"
 >"bugs"</SPAN
->, and only allows the account to connect from 
-        <SPAN
+>, and only allows the account
+          to connect from <SPAN
 CLASS="QUOTE"
 >"localhost"</SPAN
->. 
-        Modify it to reflect your setup if you will be connecting from
-        another machine or as a different user.</P
+>. Modify it to
+          reflect your setup if you will be connecting from another
+          machine or as a different user.
+        </P
 ><P
->Run the <TT
+>&#13;          Run the <TT
 CLASS="filename"
 >mysql</TT
-> command-line client and
-        enter:</P
+> command-line client.
+        </P
+><P
+>&#13;          If you are using MySQL 4.0 or newer, enter:
+        </P
 ><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -2153,9 +2523,10 @@ CLASS="screen"
 >  <SAMP
 CLASS="prompt"
 >mysql&#62;</SAMP
-> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,
-         DROP,REFERENCES ON bugs.* TO bugs@localhost
-         IDENTIFIED BY '<VAR
+> GRANT SELECT, INSERT,
+         UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,
+         CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.*
+         TO bugs@localhost IDENTIFIED BY '<VAR
 CLASS="replaceable"
 >$db_pass</VAR
 >';
@@ -2167,50 +2538,56 @@ CLASS="prompt"
 ></TD
 ></TR
 ></TABLE
-><DIV
-CLASS="note"
-><P
-></P
-><TABLE
-CLASS="note"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="../images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
 ><P
->If you are using MySQL 4, you need to add
-          the <SAMP
+>&#13;          If you are using an older version of MySQL,the
+          <SAMP
 CLASS="computeroutput"
 >LOCK TABLES</SAMP
 > and 
           <SAMP
 CLASS="computeroutput"
 >CREATE TEMPORARY TABLES</SAMP
-> permissions
-          to the list.
-          </P
+>
+          permissions will be unavailable and should be removed from
+          the permissions list. In this case, the following command
+          line can be used:
+        </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>  <SAMP
+CLASS="prompt"
+>mysql&#62;</SAMP
+> GRANT SELECT, INSERT,
+         UPDATE, DELETE, INDEX, ALTER, CREATE, DROP,
+         REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY
+         '<VAR
+CLASS="replaceable"
+>$db_pass</VAR
+>';
+  <SAMP
+CLASS="prompt"
+>mysql&#62;</SAMP
+> FLUSH PRIVILEGES;</PRE
+></FONT
 ></TD
 ></TR
 ></TABLE
 ></DIV
 ></DIV
-></DIV
 ><DIV
 CLASS="section"
 ><HR><H3
 CLASS="section"
 ><A
-NAME="AEN400"
+NAME="AEN446"
 >2.2.3. checksetup.pl</A
 ></H3
 ><P
@@ -2253,7 +2630,13 @@ NAME="http"
 ></H3
 ><P
 >Configure your web server according to the instructions in the
-      appropriate section. The Bugzilla Team recommends Apache.
+      appropriate section. The Bugzilla Team recommends Apache. No matter
+      what webserver you choose, make sure that sensitive information is
+      not remotely available by ensuring that the access controls in
+      <A
+HREF="#security-webserver-access"
+>Section 4.3.1</A
+> are properly applied.
       </P
 ><DIV
 CLASS="section"
@@ -2349,10 +2732,10 @@ CLASS="computeroutput"
 CLASS="filename"
 >checksetup.pl</TT
 > can set tighter permissions
-          on Bugzilla's files and directories if it knows what user the
+          on Bugzilla's files and directories if it knows what group the
           webserver runs as. Look for the <SAMP
 CLASS="computeroutput"
->User</SAMP
+>Group</SAMP
 >
           line in <TT
 CLASS="filename"
@@ -2384,53 +2767,178 @@ CLASS="productname"
 ></A
 ></H4
 ><P
->If you need, or for some reason even want, to use Microsoft's
-        <SPAN
+>&#13;          If you are running Bugzilla on Windows and choose to use
+          Microsoft's <SPAN
 CLASS="productname"
 >Internet Information Services</SPAN
-> or
-        <SPAN
+>
+          or <SPAN
 CLASS="productname"
 >Personal Web Server</SPAN
-> you should be able
-        to. You will need to configure them to know how to run CGI scripts.
-        This is described in Microsoft Knowledge Base article
-        <A
-HREF="http://support.microsoft.com/support/kb/articles/Q245/2/25.asp"
+> you will need
+          to perform a number of other configuration steps as explained below.
+          You may also want to refer to the following Microsoft Knowledge
+          Base articles: 
+          <A
+HREF="http://support.microsoft.com/default.aspx?scid=kb;en-us;245225"
 TARGET="_top"
->Q245225</A
->
-        for <SPAN
+>245225</A
+> 
+          <SPAN
+CLASS="QUOTE"
+>"HOW TO: Configure and Test a PERL Script with IIS 4.0,
+          5.0, and 5.1"</SPAN
+> (for <SPAN
 CLASS="productname"
->Internet Information Services</SPAN
-> and
-        <A
-HREF="http://support.microsoft.com/support/kb/articles/Q231/9/98.asp"
+>Internet Information
+          Services</SPAN
+>) and 
+          <A
+HREF="http://support.microsoft.com/default.aspx?scid=kb;en-us;231998"
 TARGET="_top"
->Q231998</A
+>231998</A
 >          
-        for <SPAN
+          <SPAN
+CLASS="QUOTE"
+>"HOW TO: FP2000: How to Use Perl with Microsoft Personal Web
+          Server on Windows 95/98"</SPAN
+> (for <SPAN
 CLASS="productname"
->Personal Web Server</SPAN
->.
+>Personal Web
+          Server</SPAN
+>).
         </P
 ><P
->Also, and this can't be stressed enough, make sure that files such as
-        <TT
-CLASS="filename"
->localconfig</TT
-> and your <TT
-CLASS="filename"
->data</TT
->
-        directory are secured as described in <A
-HREF="#security-access"
->Section 2.2.4.4</A
->.
+>&#13;          You will need to create a virtual directory for the Bugzilla
+          install.  Put the Bugzilla files in a directory that is named
+          something <EM
+>other</EM
+> than what you want your
+          end-users accessing.  That is, if you want your users to access
+          your Bugzilla installation through 
+          <SPAN
+CLASS="QUOTE"
+>"http://&#60;yourdomainname&#62;/Bugzilla"</SPAN
+>, then do
+          <EM
+>not</EM
+> put your Bugzilla files in a directory
+          named <SPAN
+CLASS="QUOTE"
+>"Bugzilla"</SPAN
+>.  Instead, place them in a different
+          location, and then use the IIS Administration tool to create a
+          Virtual Directory named "Bugzilla" that acts as an alias for the
+          actual location of the files.  When creating that virtual directory,
+          make sure you add the <SPAN
+CLASS="QUOTE"
+>"Execute (such as ISAPI applications or
+          CGI)"</SPAN
+> access permission.
         </P
-></DIV
-><DIV
-CLASS="section"
+><P
+>&#13;          You will also need to tell IIS how to handle Bugzilla's
+          .cgi files. Using the IIS Administration tool again, open up
+          the properties for the new virtual directory and select the
+          Configuration option to access the Script Mappings. Create an
+          entry mapping .cgi to:
+        </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#13;&#60;full path to perl.exe &#62;\perl.exe -x&#60;full path to Bugzilla&#62; -wT "%s" %s
+        </PRE
+></FONT
+></TD
+></TR
+></TABLE
+><P
+>&#13;          For example:
+        </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#13;c:\perl\bin\perl.exe -xc:\bugzilla -wT "%s" %s
+        </PRE
+></FONT
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;            The ActiveState install may have already created an entry for
+            .pl files that is limited to <SPAN
+CLASS="QUOTE"
+>"GET,HEAD,POST"</SPAN
+>. If
+            so, this mapping should be <EM
+>removed</EM
+> as
+            Bugzilla's .pl files are not designed to be run via a webserver.
+          </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;          IIS will also need to know that the index.cgi should be treated
+          as a default document.  On the Documents tab page of the virtual
+          directory properties, you need to add index.cgi as a default
+          document type.  If you  wish, you may remove the other default
+          document types for this particular virtual directory, since Bugzilla 
+          doesn't use any of them.
+        </P
+><P
+>&#13;          Also, and this can't be stressed enough, make sure that files
+          such as <TT
+CLASS="filename"
+>localconfig</TT
+> and your
+          <TT
+CLASS="filename"
+>data</TT
+> directory are
+          secured as described in <A
+HREF="#security-webserver-access"
+>Section 4.3.1</A
+>.
+        </P
+></DIV
+><DIV
+CLASS="section"
 ><HR><H4
 CLASS="section"
 ><A
@@ -2608,328 +3116,135 @@ CLASS="filename"
 ></TABLE
 ></DIV
 ></DIV
+></DIV
 ><DIV
 CLASS="section"
-><HR><H4
+><HR><H3
 CLASS="section"
 ><A
-NAME="security-access"
->2.2.4.4. Web Server Access Controls</A
-></H4
+NAME="install-config-bugzilla"
+>2.2.5. Bugzilla</A
+></H3
 ><P
->Users of Apache can skip this section because
-        Bugzilla ships with <TT
+>&#13;        Your Bugzilla should now be working. Access 
+        <TT
 CLASS="filename"
->.htaccess</TT
-> files which 
-        restrict access in the manner required. 
-        Users of other webservers, read on.
-        </P
-><P
->There are several files in the Bugzilla directory
-        that should not be accessible from the web. You need to configure
-        your webserver so they they aren't. Not doing this may reveal
-        sensitive information such as database passwords.
-        </P
-><P
-></P
-><UL
-COMPACT="COMPACT"
-><LI
-><P
->In the main Bugzilla directory, you should:</P
-><P
-></P
-><UL
-COMPACT="COMPACT"
-><LI
+>http://&#60;your-bugzilla-server&#62;/</TT
+> - 
+        you should see the Bugzilla
+        front page. If not, consult the Troubleshooting section,
+        <A
+HREF="#troubleshooting"
+>Appendix B</A
+>.
+      </P
 ><P
->Block:
-                <TT
-CLASS="filename"
->*.pl</TT
->, <TT
-CLASS="filename"
->*localconfig*</TT
->, <TT
+>&#13;        Log in with the administrator account you defined in the last 
+        <TT
 CLASS="filename"
->runtests.sh</TT
->
-                </P
-></LI
-><LI
+>checksetup.pl</TT
+> run. You should go through 
+        the parameters on the Edit Parameters page
+        (see link in the footer) and see if there are any you wish to
+        change. 
+        They key parameters are documented in <A
+HREF="#parameters"
+>Section 3.1</A
+>;
+        you should certainly alter 
+        <B
+CLASS="command"
+>maintainer</B
+> and <B
+CLASS="command"
+>urlbase</B
+>; 
+        you may also want to alter 
+        <B
+CLASS="command"
+>cookiepath</B
+> or <B
+CLASS="command"
+>requirelogin</B
+>.
+      </P
 ><P
->But allow:
-                <TT
-CLASS="filename"
->localconfig.js</TT
->, <TT
+>&#13;        This would also be a good time to revisit the
+        <TT
 CLASS="filename"
->localconfig.rdf</TT
->
-                </P
-></LI
-></UL
-></LI
-><LI
-><P
->In <TT
+>localconfig</TT
+> file and make sure that the 
+        names of the priorities, severities, platforms and operating systems
+        are those you wish to use when you start creating bugs. Remember
+        to rerun <TT
 CLASS="filename"
->data</TT
->:</P
+>checksetup.pl</TT
+> if you change it.
+      </P
 ><P
-></P
-><UL
-COMPACT="COMPACT"
-><LI
+>&#13;        Bugzilla has several optional features which require extra 
+        configuration. You can read about those in
+        <A
+HREF="#extraconfig"
+>Section 2.3</A
+>.
+      </P
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="extraconfig"
+>2.3. Optional Additional Configuration</A
+></H2
 ><P
->Block everything</P
-></LI
-><LI
+>&#13;      Bugzilla has a number of optional features. This section describes how
+      to configure or enable them.
+    </P
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="AEN560"
+>2.3.1. Bug Graphs</A
+></H3
 ><P
->But allow:
-                <TT
-CLASS="filename"
->duplicates.rdf</TT
->
-                </P
-></LI
-></UL
-></LI
-><LI
+>If you have installed the necessary Perl modules you
+      can start collecting statistics for the nifty Bugzilla 
+      graphs.</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+><SAMP
+CLASS="prompt"
+>bash#</SAMP
+> <B
+CLASS="command"
+>crontab -e</B
+></PRE
+></FONT
+></TD
+></TR
+></TABLE
 ><P
->In <TT
+>&#13;        This should bring up the crontab file in your editor. 
+        Add a cron entry like this to run 
+        <TT
 CLASS="filename"
->data/webdot</TT
->:</P
-><P
-></P
-><UL
-COMPACT="COMPACT"
-><LI
-><P
->If you use a remote webdot server:</P
-><P
-></P
-><UL
-COMPACT="COMPACT"
-><LI
-><P
->Block everything</P
-></LI
-><LI
-><P
->But allow
-                    <TT
-CLASS="filename"
->*.dot</TT
->
-                    only for the remote webdot server</P
-></LI
-></UL
-></LI
-><LI
-><P
->Otherwise, if you use a local GraphViz:</P
-><P
-></P
-><UL
-COMPACT="COMPACT"
-><LI
-><P
->Block everything</P
-></LI
-><LI
-><P
->But allow:
-                    <TT
-CLASS="filename"
->*.png</TT
->, <TT
-CLASS="filename"
->*.gif</TT
->, <TT
-CLASS="filename"
->*.jpg</TT
->, <TT
-CLASS="filename"
->*.map</TT
->
-                    </P
-></LI
-></UL
-></LI
-><LI
-><P
->And if you don't use any dot:</P
-><P
-></P
-><UL
-COMPACT="COMPACT"
-><LI
-><P
->Block everything</P
-></LI
-></UL
-></LI
-></UL
-></LI
-><LI
-><P
->In <TT
-CLASS="filename"
->Bugzilla</TT
->:</P
-><P
-></P
-><UL
-COMPACT="COMPACT"
-><LI
-><P
->Block everything</P
-></LI
-></UL
-></LI
-><LI
-><P
->In <TT
-CLASS="filename"
->template</TT
->:</P
-><P
-></P
-><UL
-COMPACT="COMPACT"
-><LI
-><P
->Block everything</P
-></LI
-></UL
-></LI
-></UL
-><P
->You should test to make sure that the files mentioned above are
-        not accessible from the Internet, especially your
-        <TT
-CLASS="filename"
->localconfig</TT
-> file which contains your database
-        password. To test, simply point your web browser at the file; for
-        example, to test mozilla.org's installation, we'd try to access
-        <A
-HREF="http://bugzilla.mozilla.org/localconfig"
-TARGET="_top"
->http://bugzilla.mozilla.org/localconfig</A
->. You should
-        get a <SPAN
-CLASS="errorcode"
->403</SPAN
-> <SPAN
-CLASS="errorname"
->Forbidden</SPAN
->
-        error.
-        </P
-></DIV
-></DIV
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="install-config-bugzilla"
->2.2.5. Bugzilla</A
-></H3
-><P
->&#13;        Your Bugzilla should now be working. Access 
-        <TT
-CLASS="filename"
->http://&#60;your-bugzilla-server&#62;/</TT
-> - 
-        you should see the Bugzilla
-        front page. If not, consult the Troubleshooting section,
-        <A
-HREF="#troubleshooting"
->Section 2.5</A
->.
-      </P
-><P
->&#13;        Log in with the administrator account you defined in the last 
-        <TT
-CLASS="filename"
->checksetup.pl</TT
-> run. You should go through 
-        the parameters on the Edit Parameters page
-        (see link in the footer) and see if there are any you wish to
-        change. 
-        They key parameters are documented in <A
-HREF="#parameters"
->Section 3.1</A
->;
-        you should certainly alter 
-        <B
-CLASS="command"
->maintainer</B
-> and <B
-CLASS="command"
->urlbase</B
->; 
-        you may also want to alter 
-        <B
-CLASS="command"
->cookiepath</B
-> or <B
-CLASS="command"
->requirelogin</B
->.
-      </P
-><P
->&#13;        This would also be a good time to revisit the
-        <TT
-CLASS="filename"
->localconfig</TT
-> file and make sure that the 
-        names of the priorities, severities, platforms and operating systems
-        are those you wish to use when you start creating bugs. Remember
-        to rerun <TT
-CLASS="filename"
->checksetup.pl</TT
-> if you change it.
-      </P
-><P
->&#13;        Bugzilla has several optional features which require extra 
-        configuration. You can read about those in
-        <A
-HREF="#extraconfig"
->Section 2.3</A
->.
+>collectstats.pl</TT
+> 
+        daily at 5 after midnight:
       </P
-></DIV
-></DIV
-><DIV
-CLASS="section"
-><HR><H2
-CLASS="section"
-><A
-NAME="extraconfig"
->2.3. Optional Additional Configuration</A
-></H2
-><P
->&#13;      Bugzilla has a number of optional features. This section describes how
-      to configure or enable them.
-    </P
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="AEN584"
->2.3.1. Bug Graphs</A
-></H3
-><P
->If you have installed the necessary Perl modules you
-      can start collecting statistics for the nifty Bugzilla 
-      graphs.</P
 ><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -2939,52 +3254,57 @@ WIDTH="100%"
 ><FONT
 COLOR="#000000"
 ><PRE
-CLASS="screen"
-><SAMP
-CLASS="prompt"
->bash#</SAMP
-> <B
-CLASS="command"
->crontab -e</B
-></PRE
+CLASS="programlisting"
+>5 0 * * * cd &#60;your-bugzilla-directory&#62; ; ./collectstats.pl</PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
 ><P
->&#13;        This should bring up the crontab file in your editor. 
-        Add a cron entry like this to run 
-        <TT
-CLASS="filename"
->collectstats.pl</TT
-> 
-        daily at 5 after midnight:
+>&#13;        After two days have passed you'll be able to view bug graphs from
+        the Reports page.
       </P
+><DIV
+CLASS="note"
+><P
+></P
 ><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
+CLASS="note"
 WIDTH="100%"
+BORDER="0"
 ><TR
 ><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->5 0 * * * cd &#60;your-bugzilla-directory&#62; ; ./collectstats.pl</PRE
-></FONT
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          Windows does not have 'cron', but it does have the Task
+          Scheduler, which performs the same duties. There are also
+          third-party tools that can be used to implement cron, such as
+          <A
+HREF="http://www.nncron.ru/"
+TARGET="_top"
+>nncron</A
+>.
+        </P
 ></TD
 ></TR
 ></TABLE
-><P
->After two days have passed you'll be able to view bug graphs from
-      the Reports page.</P
+></DIV
 ></DIV
 ><DIV
 CLASS="section"
 ><HR><H3
 CLASS="section"
 ><A
-NAME="AEN594"
+NAME="AEN573"
 >2.3.2. Dependency Charts</A
 ></H3
 ><P
@@ -3054,7 +3374,7 @@ CLASS="section"
 ><HR><H3
 CLASS="section"
 ><A
-NAME="AEN610"
+NAME="AEN589"
 >2.3.3. The Whining Cron</A
 ></H3
 ><P
@@ -3064,10 +3384,9 @@ NAME="AEN610"
       which leave their bugs in the NEW or REOPENED state without triaging them.
       </P
 ><P
->&#13;      
-      This can be done by
-      adding the following command as a daily crontab entry, in the same manner
-      as explained above for bug graphs. This example runs it at 12.55am. 
+>&#13;        This can be done by adding the following command as a daily
+        crontab entry, in the same manner as explained above for bug
+        graphs. This example runs it at 12.55am. 
       </P
 ><TABLE
 BORDER="0"
@@ -3084,10 +3403,44 @@ CLASS="programlisting"
 ></TD
 ></TR
 ></TABLE
-></DIV
 ><DIV
-CLASS="section"
-><HR><H3
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          Windows does not have 'cron', but it does have the Task
+          Scheduler, which performs the same duties. There are also
+          third-party tools that can be used to implement cron, such as
+          <A
+HREF="http://www.nncron.ru/"
+TARGET="_top"
+>nncron</A
+>.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
 CLASS="section"
 ><A
 NAME="patch-viewer"
@@ -3359,48 +3712,51 @@ CLASS="section"
 ><HR><H3
 CLASS="section"
 ><A
-NAME="content-type"
->2.3.6. Prevent users injecting malicious
-      Javascript</A
+NAME="apache-addtype"
+>2.3.6. Serving Alternate Formats with the right MIME type</A
 ></H3
 ><P
->It is possible for a Bugzilla user to take advantage of character
-      set encoding ambiguities to inject HTML into Bugzilla comments. This
-      could include malicious scripts. 
-      Due to internationalization concerns, we are unable to
-      incorporate by default the code changes suggested by 
-      <A
-HREF="http://www.cert.org/tech_tips/malicious_code_mitigation.html#3"
-TARGET="_top"
->&#13;      the CERT advisory</A
-> on this issue.
-      If your installation is for an English speaking audience only, making the
-      change below will prevent this problem. 
+>&#13;        Some Bugzilla pages have alternate formats, other than just plain
+        <ACRONYM
+CLASS="acronym"
+>HTML</ACRONYM
+>. In particular, a few Bugzilla pages can 
+        output their contents as either <ACRONYM
+CLASS="acronym"
+>XUL</ACRONYM
+> (a special 
+        Mozilla format, that looks like a program <ACRONYM
+CLASS="acronym"
+>GUI</ACRONYM
+>) 
+        or <ACRONYM
+CLASS="acronym"
+>RDF</ACRONYM
+> (a type of structured <ACRONYM
+CLASS="acronym"
+>XML</ACRONYM
+> 
+        that can be read by various programs).
       </P
 ><P
->Simply locate the following line in
-      <TT
-CLASS="filename"
->Bugzilla/CGI.pm</TT
->:
-      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->$self-&#62;charset('');</PRE
-></FONT
-></TD
-></TR
-></TABLE
+>&#13;        In order for your users to see these pages correctly, Apache must 
+        send them with the right <ACRONYM
+CLASS="acronym"
+>MIME</ACRONYM
+> type. To do this, 
+        add the following lines to your Apache configuration, either in the 
+        <SAMP
+CLASS="computeroutput"
+>&#60;VirtualHost&#62;</SAMP
+> section for your
+        Bugzilla, or in the <SAMP
+CLASS="computeroutput"
+>&#60;Directory&#62;</SAMP
 >
-      and change it to:
-      <TABLE
+        section for your Bugzilla:
+      </P
+><P
+>&#13;        <TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -3409,8 +3765,9 @@ WIDTH="100%"
 ><FONT
 COLOR="#000000"
 ><PRE
-CLASS="programlisting"
->$self-&#62;charset('ISO-8859-1');</PRE
+CLASS="screen"
+>AddType application/vnd.mozilla.xul+xml .xul
+AddType text/xml .rdf</PRE
 ></FONT
 ></TD
 ></TR
@@ -3418,98 +3775,6 @@ CLASS="programlisting"
 >
       </P
 ></DIV
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="mod-throttle"
->2.3.7. <TT
-CLASS="filename"
->mod_throttle</TT
-></A
-></H3
-><P
->It is possible for a user, by mistake or on purpose, to access
-      the database many times in a row which can result in very slow access
-      speeds for other users. If your Bugzilla installation is experiencing
-      this problem, you may install the Apache module 
-      <TT
-CLASS="filename"
->mod_throttle</TT
->
-      which can limit connections by IP address. You may download this module
-      at 
-      <A
-HREF="http://www.snert.com/Software/mod_throttle/"
-TARGET="_top"
->http://www.snert.com/Software/mod_throttle/</A
->.
-      Follow the instructions to install into your Apache install. 
-      <EM
->This module only functions with the Apache web
-      server!</EM
->
-      The command you need is 
-      <B
-CLASS="command"
->ThrottleClientIP</B
->. See the 
-      <A
-HREF="http://www.snert.com/Software/mod_throttle/"
-TARGET="_top"
->documentation</A
->
-      for more information.</P
-></DIV
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="security-networking"
->2.3.8. TCP/IP Ports</A
-></H3
-><P
->A single-box Bugzilla only requires port 80, plus port 25 if
-      you are using the optional email interface. You should firewall all 
-      other ports and/or disable services listening on them.
-      </P
-></DIV
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="security-daemon"
->2.3.9. Daemon Accounts</A
-></H3
-><P
->Many daemons, such as Apache's httpd and MySQL's mysqld default to
-      running as either <SPAN
-CLASS="QUOTE"
->"root"</SPAN
-> or <SPAN
-CLASS="QUOTE"
->"nobody"</SPAN
->. Running
-      as <SPAN
-CLASS="QUOTE"
->"root"</SPAN
-> introduces obvious security problems, but the
-      problems introduced by running everything as <SPAN
-CLASS="QUOTE"
->"nobody"</SPAN
-> may
-      not be so obvious. Basically, if you're running every daemon as
-      <SPAN
-CLASS="QUOTE"
->"nobody"</SPAN
-> and one of them gets compromised, they all get
-      compromised. For this reason it is recommended that you create a user
-      account for each daemon.
-      </P
-></DIV
 ></DIV
 ><DIV
 CLASS="section"
@@ -3543,22 +3808,11 @@ NAME="os-win32"
 >2.4.1. Microsoft Windows</A
 ></H3
 ><P
->Making Bugzilla work on Windows is still a painful processes.
-      The Bugzilla Team is working to make it easier, but that goal is not
-      considered a top priority. If you wish to run Bugzilla, we still
-      recommend doing so on a Unix based system such as GNU/Linux. As of this
-      writing, all members of the Bugzilla team and all known large installations
-      run on Unix based systems.
-      </P
-><P
->If after hearing all that, you have enough pain tolerance to attempt
-     installing Bugzilla on Win32, here are some pointers.
-     
-       Because this is a development version of the guide, these instructions
-       are subject to change without notice. In fact, the Bugzilla Team hopes
-       to have Bugzilla reasonably close to "out of
-       the box" compatibility with Windows by the 2.18 release.
-      
+>&#13;        Making Bugzilla work on Windows is more difficult than making it
+        work on Unix.  For that reason, we still recommend doing so on a Unix 
+        based system such as GNU/Linux.  That said, if you do want to get
+        Bugzilla running on Windows, you will need to make the following
+        adjustments.
       </P
 ><DIV
 CLASS="section"
@@ -3569,16 +3823,19 @@ NAME="win32-perl"
 >2.4.1.1. Win32 Perl</A
 ></H4
 ><P
->Perl for Windows can be obtained from <A
+>&#13;          Perl for Windows can be obtained from 
+          <A
 HREF="http://www.activestate.com/"
 TARGET="_top"
 >ActiveState</A
->. You should be
-        able to find a compiled binary at <A
+>.
+           You should be able to find a compiled binary at <A
 HREF="http://aspn.activestate.com/ASPN/Downloads/ActivePerl/"
 TARGET="_top"
 >http://aspn.activestate.com/ASPN/Downloads/ActivePerl/</A
 >.
+           The following instructions assume that you are using version
+           5.8.1 of ActiveState.
         </P
 ></DIV
 ><DIV
@@ -3586,23 +3843,23 @@ CLASS="section"
 ><HR><H4
 CLASS="section"
 ><A
-NAME="win32-perlmodules"
+NAME="win32-perl-modules"
 >2.4.1.2. Perl Modules on Win32</A
 ></H4
 ><P
->Bugzilla on Windows requires the same perl modules found in
-        <A
+>&#13;          Bugzilla on Windows requires the same perl modules found in
+          <A
 HREF="#install-perlmodules"
 >Section 2.1.5</A
 >. The main difference is that
-        windows uses <A
+          windows uses <A
 HREF="#gloss-ppm"
 ><I
 CLASS="glossterm"
 >PPM</I
 ></A
-> instead of
-        CPAN.
+> instead
+          of CPAN.
         </P
 ><TABLE
 BORDER="0"
@@ -3616,7 +3873,31 @@ COLOR="#000000"
 CLASS="programlisting"
 >&#13;C:\perl&#62; <B
 CLASS="command"
->ppm &#60;module name&#62;</B
+>ppm install &#60;module name&#62;</B
+>
+        </PRE
+></FONT
+></TD
+></TR
+></TABLE
+><P
+>&#13;          The best source for the Windows PPM modules needed for Bugzilla
+          is probably the the Bugzilla Test Server (aka 'Landfill'), so 
+          you should add the Landfill package repository as follows:
+        </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#13;<B
+CLASS="command"
+>ppm repository add landfill http://www.landfill.bugzilla.org/ppm/</B
 >
         </PRE
 ></FONT
@@ -3644,17 +3925,45 @@ ALT="Note"></TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->The above syntax should work for all modules with the exception
-          of Template Toolkit. The <A
-HREF="http://tt2.org/download.html#win32"
-TARGET="_top"
->Template Toolkit website</A
->
-          suggests using the instructions on <A
-HREF="http://openinteract.sourceforge.net/"
-TARGET="_top"
->OpenInteract's website</A
->.
+>&#13;            The PPM repository stores modules in 'packages' that may have
+            a slightly different name than the module.  If retrieving these
+            modules from there, you will need to pay attention to the information
+            provided when you run <B
+CLASS="command"
+>checksetup.pl</B
+> as it will
+            tell you what package you'll need to install.
+          </P
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="tip"
+><P
+></P
+><TABLE
+CLASS="tip"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/tip.gif"
+HSPACE="5"
+ALT="Tip"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;            If you are behind a corporate firewall, you will need to let the
+            ActiveState PPM utility know how to get through it to acccess
+            the repositories by setting the HTTP_proxy system environmental
+            variable. For more information on setting that variable, see
+            the ActiveState documentation.
           </P
 ></TD
 ></TR
@@ -3670,26 +3979,18 @@ NAME="win32-code-changes"
 >2.4.1.3. Code changes required to run on win32</A
 ></H4
 ><P
->As Bugzilla still doesn't run "out of the box" on
-        Windows, code has to be modified. This section lists the required 
-        changes.
+>&#13;          Bugzilla on win32 is mostly supported out of the box; one
+          remaining issue is related to bug email. To make bug email
+          work on Win32 (until
+          <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=49893"
+TARGET="_top"
+>bug
+          49893</A
+> lands), the
+          simplest way is to have the Net::SMTP Perl module installed and 
+          change this line in the file Bugzilla/Bugmail.pm:
         </P
-><DIV
-CLASS="section"
-><HR><H5
-CLASS="section"
-><A
-NAME="win32-code-checksetup"
->2.4.1.3.1. Changes to <TT
-CLASS="filename"
->checksetup.pl</TT
-></A
-></H5
-><P
->In <TT
-CLASS="filename"
->checksetup.pl</TT
->, the line reading:</P
 ><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -3700,14 +4001,19 @@ WIDTH="100%"
 COLOR="#000000"
 ><PRE
 CLASS="programlisting"
->&#13;my $mysql_binaries = `which mysql`;
-          </PRE
+>&#13;open(SENDMAIL, "|/usr/lib/sendmail $sendmailparam -t -i") ||
+  die "Can't open sendmail";
+
+print SENDMAIL trim($msg) . "\n";
+close SENDMAIL;
+        </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
 ><P
->to</P
+>&#13;          to
+        </P
 ><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -3718,126 +4024,30 @@ WIDTH="100%"
 COLOR="#000000"
 ><PRE
 CLASS="programlisting"
->&#13;my $mysql_binaries = "D:\\mysql\\bin\\mysql";
-          </PRE
+>&#13;use Net::SMTP;
+my $smtp_server = 'smtp.mycompany.com';  # change this
+
+# Use die on error, so that the mail will be in the 'unsent mails' and
+# can be sent from the sanity check page.
+my $smtp = Net::SMTP-&#62;new($smtp_server) ||
+  die 'Cannot connect to server \'$smtp_server\'';
+
+$smtp-&#62;mail('bugzilla-daemon@mycompany.com');  # change this
+$smtp-&#62;to($person);
+$smtp-&#62;data();
+$smtp-&#62;datasend($msg);
+$smtp-&#62;dataend();
+$smtp-&#62;quit;
+        </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
 ><P
->And you'll also need to change:</P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->&#13;my $webservergid = getgrnam($my_webservergroup)
-          </PRE
-></FONT
-></TD
-></TR
-></TABLE
-><P
->to</P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->&#13;my $webservergid = '8'
-          </PRE
-></FONT
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="section"
-><HR><H5
-CLASS="section"
-><A
-NAME="win32-code-bugmail"
->2.4.1.3.2. Changes to <TT
-CLASS="filename"
->BugMail.pm</TT
-></A
-></H5
-><P
->To make bug email work on Win32 (until
-          <A
-HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=84876"
-TARGET="_top"
->bug
-          84876</A
-> lands), the
-          simplest way is to have the Net::SMTP Perl module installed and 
-          change this:</P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->&#13;open(SENDMAIL, "|/usr/lib/sendmail $sendmailparam -t -i") ||
-  die "Can't open sendmail";
-
-print SENDMAIL trim($msg) . "\n";
-close SENDMAIL;
-          </PRE
-></FONT
-></TD
-></TR
-></TABLE
-><P
->to</P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->&#13;use Net::SMTP;
-my $smtp_server = 'smtp.mycompany.com';  # change this
-
-# Use die on error, so that the mail will be in the 'unsent mails' and
-# can be sent from the sanity check page.
-my $smtp = Net::SMTP-&#62;new($smtp_server) ||
-  die 'Cannot connect to server \'$smtp_server\'';
-
-$smtp-&#62;mail('bugzilla-daemon@mycompany.com');  # change this
-$smtp-&#62;to($person);
-$smtp-&#62;data();
-$smtp-&#62;datasend($msg);
-$smtp-&#62;dataend();
-$smtp-&#62;quit;
-          </PRE
-></FONT
-></TD
-></TR
-></TABLE
-><P
->Don't forget to change the name of your SMTP server and the
-          domain of the sending email address (after the '@') in the above
-          lines of code.</P
-></DIV
+>&#13;          Don't forget to change the name of your SMTP server and the
+          domain of the sending email address (after the '@') in the
+          above lines of code.
+        </P
 ></DIV
 ><DIV
 CLASS="section"
@@ -3848,15 +4058,16 @@ NAME="win32-http"
 >2.4.1.4. Serving the web pages</A
 ></H4
 ><P
->As is the case on Unix based systems, any web server should be
-        able to handle Bugzilla; however, the Bugzilla Team still recommends
-        Apache whenever asked. No matter what web server you choose, be sure
-        to pay attention to the security notes in <A
-HREF="#security-access"
->Section 2.2.4.4</A
->.
-        More information on configuring specific web servers can be found in
-        <A
+>&#13;          As is the case on Unix based systems, any web server should
+          be able to handle Bugzilla; however, the Bugzilla Team still
+          recommends Apache whenever asked. No matter what web server
+          you choose, be sure to pay attention to the security notes
+          in <A
+HREF="#security-webserver-access"
+>Section 4.3.1</A
+>. More
+          information on configuring specific web servers can be found
+          in <A
 HREF="#http"
 >Section 2.2.4</A
 >.
@@ -3882,14 +4093,14 @@ ALT="Note"></TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->If using Apache on windows, you can set the <A
+>&#13;            If using Apache on windows, you can set the <A
 HREF="http://httpd.apache.org/docs-2.0/mod/core.html#scriptinterpretersource"
 TARGET="_top"
 >ScriptInterpreterSource</A
 >
-          directive in your Apache config to avoid having
-          to modify the first line of every script to contain your path to
-          perl instead of <TT
+            directive in your Apache config to avoid having to modify
+            the first line of every script to contain your path to perl 
+            perl instead of <TT
 CLASS="filename"
 >/usr/bin/perl</TT
 >.
@@ -3988,7 +4199,7 @@ CLASS="filename"
 >. When the
         Perl module config script asks where your <TT
 CLASS="filename"
->libgdi</TT
+>libgd</TT
 >
         is, be sure to tell it
         <TT
@@ -4207,119 +4418,105 @@ CLASS="section"
 ><HR><H2
 CLASS="section"
 ><A
-NAME="troubleshooting"
->2.5. Troubleshooting</A
+NAME="nonroot"
+>2.5. UNIX (non-root) Installation Notes</A
 ></H2
-><P
->This section gives solutions to common Bugzilla installation
-    problems. If none of the section headings seems to match your
-    problem, read the general advice.
-    </P
 ><DIV
 CLASS="section"
-><HR><H3
+><H3
 CLASS="section"
 ><A
-NAME="general-advice"
->2.5.1. General Advice</A
+NAME="AEN774"
+>2.5.1. Introduction</A
 ></H3
 ><P
->&#13;        If you can't get <TT
-CLASS="filename"
->checksetup.pl</TT
-> to run to 
-        completion, it normally explains what's wrong and how to fix it.
-        If you can't work it out, or if it's being uncommunicative, post 
-        the errors in the 
-        <A
-HREF="news://news.mozilla.org/netscape.public.mozilla.webtools"
-TARGET="_top"
->netscape.public.mozilla.webtools</A
->
-        newsgroup.
-      </P
-><P
->&#13;        If you have made it all the way through 
-        <A
+>If you are running a *NIX OS as non-root, either due
+      to lack of access (web hosts, for example) or for security
+      reasons, this will detail how to install Bugzilla on such
+      a setup. It is recommended that you read through the
+      <A
 HREF="#installation"
 >Section 2.1</A
-> (Installation) and
-        <A
-HREF="#configuration"
->Section 2.2</A
-> (Configuration) but 
-        accessing the Bugzilla URL doesn't work,
-        the first thing to do is to check your webserver error log. For
-        Apache, this is often located at
-        <TT
-CLASS="filename"
->/etc/logs/httpd/error_log</TT
->. The error messages
-        you see may be self-explanatory enough to enable you to diagnose and
-        fix the problem. If not, see below for some commonly-encountered 
-        errors. If that doesn't help, post the errors to the newsgroup.
-      </P
+>
+      first to get an idea on the installation steps required.
+      (These notes will reference to steps in that guide.)</P
 ></DIV
 ><DIV
 CLASS="section"
 ><HR><H3
 CLASS="section"
 ><A
-NAME="AEN829"
->2.5.2. I installed a Perl module, but 
-      <TT
-CLASS="filename"
->checksetup.pl</TT
-> claims it's not installed!</A
+NAME="AEN778"
+>2.5.2. MySQL</A
 ></H3
 ><P
->&#13;        You have two versions of Perl on your machine. You are installing
-        modules into one, and Bugzilla is using the other. Rerun the CPAN
-        commands (or manual compile) using the full path to Perl from the 
-        top of <TT
-CLASS="filename"
->checksetup.pl</TT
->. This will make sure you 
-        are installing the modules in the right place.
-      </P
-></DIV
+>You may have MySQL installed as root. If you're
+      setting up an account with a web host, a MySQL account
+      needs to be set up for you. From there, you can create
+      the bugs account, or use the account given to you.</P
 ><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="AEN834"
->2.5.3. Bundle::Bugzilla makes me upgrade to Perl 5.6.1</A
-></H3
+CLASS="warning"
+><P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
 ><P
->&#13;      Try executing <B
+>You may have problems trying to set up
+        <B
 CLASS="command"
->perl -MCPAN -e 'install CPAN'</B
+>GRANT</B
+> permissions to the database.
+        If you're using a web host, chances are that you have a
+        separate database which is already locked down (or one big
+        database with limited/no access to the other areas), but you
+        may want to ask your system adminstrator what the security
+        settings are set to, and/or run the <B
+CLASS="command"
+>GRANT</B
 >
-      and then continuing.
-      </P
+        command for you.</P
 ><P
->&#13;      Certain older versions of the CPAN toolset were somewhat naive about how
-      to upgrade Perl modules. When a couple of modules got rolled into the core
-      Perl distribution for 5.6.1, CPAN thought that the best way to get those
-      modules up to date was to haul down the Perl distribution itself and
-      build it. Needless to say, this has caused headaches for just about
-      everybody. Upgrading to a newer version of CPAN with the
-      commandline above should fix things.
-      </P
+>Also, you will probably not be able to change the MySQL
+        root user password (for obvious reasons), so skip that
+        step.</P
+></TD
+></TR
+></TABLE
 ></DIV
 ><DIV
 CLASS="section"
-><HR><H3
+><HR><H4
 CLASS="section"
 ><A
-NAME="AEN839"
->2.5.4. DBD::Sponge::db prepare failed</A
-></H3
+NAME="AEN786"
+>2.5.2.1. Running MySQL as Non-Root</A
+></H4
+><DIV
+CLASS="section"
+><H5
+CLASS="section"
+><A
+NAME="AEN788"
+>2.5.2.1.1. The Custom Configuration Method</A
+></H5
 ><P
->&#13;        The following error message may appear due to a bug in DBD::mysql
-        (over which the Bugzilla team have no control):
-      </P
+>Create a file .my.cnf in your 
+              home directory (using /home/foo in this example)
+              as follows....</P
 ><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -4330,23 +4527,62 @@ WIDTH="100%"
 COLOR="#000000"
 ><PRE
 CLASS="programlisting"
-> DBD::Sponge::db prepare failed: Cannot determine NUM_OF_FIELDS at D:/Perl/site/lib/DBD/mysql.pm line 248.
-  SV = NULL(0x0) at 0x20fc444
-  REFCNT = 1
-  FLAGS = (PADBUSY,PADMY)
-</PRE
+>&#13;[mysqld]
+datadir=/home/foo/mymysql
+socket=/home/foo/mymysql/thesock
+port=8081
+
+[mysql]
+socket=/home/foo/mymysql/thesock
+port=8081
+
+[mysql.server]
+user=mysql
+basedir=/var/lib
+
+[safe_mysqld]
+err-log=/home/foo/mymysql/the.log
+pid-file=/home/foo/mymysql/the.pid
+              </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
+></DIV
+><DIV
+CLASS="section"
+><HR><H5
+CLASS="section"
+><A
+NAME="AEN792"
+>2.5.2.1.2. The Custom Built Method</A
+></H5
 ><P
->&#13;        To fix this, go to 
-        <TT
+>You can install MySQL as a not-root, if you really need to.
+            Build it with PREFIX set to <TT
 CLASS="filename"
->&#60;path-to-perl&#62;/lib/DBD/sponge.pm</TT
-> 
-        in your Perl installation and replace
-      </P
+>/home/foo/mysql</TT
+>,
+            or use pre-installed executables, specifying that you want
+            to put all of the data files in <TT
+CLASS="filename"
+>/home/foo/mysql/data</TT
+>.
+            If there is another MySQL server running on the system that you
+            do not own, use the -P option to specify a TCP port that is not
+            in use.</P
+></DIV
+><DIV
+CLASS="section"
+><HR><H5
+CLASS="section"
+><A
+NAME="AEN797"
+>2.5.2.1.3. Starting the Server</A
+></H5
+><P
+>After your mysqld program is built and any .my.cnf file is 
+            in place, you must initialize the databases (ONCE).</P
 ><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -4356,20 +4592,22 @@ WIDTH="100%"
 ><FONT
 COLOR="#000000"
 ><PRE
-CLASS="programlisting"
-> my $numFields;
- if ($attribs-&#62;{'NUM_OF_FIELDS'}) {
-     $numFields = $attribs-&#62;{'NUM_OF_FIELDS'};
- } elsif ($attribs-&#62;{'NAME'}) {
-     $numFields = @{$attribs-&#62;{NAME}};
-</PRE
+CLASS="screen"
+>&#13;              <SAMP
+CLASS="prompt"
+>bash$</SAMP
+>
+              <B
+CLASS="command"
+>mysql_install_db</B
+>
+            </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
 ><P
->&#13;        by
-      </P
+>Then start the daemon with</P
 ><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -4379,39 +4617,103 @@ WIDTH="100%"
 ><FONT
 COLOR="#000000"
 ><PRE
-CLASS="programlisting"
-> my $numFields;
- if ($attribs-&#62;{'NUM_OF_FIELDS'}) {
-     $numFields = $attribs-&#62;{'NUM_OF_FIELDS'};
- } elsif ($attribs-&#62;{'NAMES'}) {
-     $numFields = @{$attribs-&#62;{NAMES}};
-</PRE
+CLASS="screen"
+>&#13;              <SAMP
+CLASS="prompt"
+>bash$</SAMP
+>
+              <B
+CLASS="command"
+>safe_mysql &#38;</B
+>
+            </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
 ><P
->&#13;        (note the S added to NAME.)      
-      </P
-></DIV
+>After you start mysqld the first time, you then connect to
+            it as "root" and <B
+CLASS="command"
+>GRANT</B
+> permissions to other
+            users. (Again, the MySQL root account has nothing to do with
+            the *NIX root account.)</P
 ><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="paranoid-security"
->2.5.5. cannot chdir(/var/spool/mqueue)</A
-></H3
+CLASS="note"
 ><P
->If you are installing Bugzilla on SuSE Linux, or some other
-      distributions with 
-      <SPAN
-CLASS="QUOTE"
->"paranoid"</SPAN
->
-      security options, it is possible that the checksetup.pl script may fail
-      with the error: 
-<TABLE
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>You will need to start the daemons yourself. You can either
+              ask your system administrator to add them to system startup files, or
+              add a crontab entry that runs a script to check on these daemons
+              and restart them if needed.</P
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="warning"
+><P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>Do NOT run daemons or other services on a server without first
+              consulting your system administrator! Daemons use up system resources
+              and running one may be in violation of your terms of service for any
+              machine on which you are a user!</P
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="AEN813"
+>2.5.3. Perl</A
+></H3
+><P
+>On the extremely rare chance that you don't have Perl on
+      the machine, you will have to build the sources
+      yourself. The following commands should get your system
+      installed with your own personal version of Perl:</P
+><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -4420,55 +4722,92 @@ WIDTH="100%"
 ><FONT
 COLOR="#000000"
 ><PRE
-CLASS="programlisting"
->cannot chdir(/var/spool/mqueue): Permission denied
-</PRE
+CLASS="screen"
+>&#13;        <SAMP
+CLASS="prompt"
+>bash$</SAMP
+>
+        <B
+CLASS="command"
+>wget http://perl.com/CPAN/src/stable.tar.gz</B
+>
+        <SAMP
+CLASS="prompt"
+>bash$</SAMP
+>
+        <B
+CLASS="command"
+>tar zvxf stable.tar.gz</B
+>
+        <SAMP
+CLASS="prompt"
+>bash$</SAMP
+>
+        <B
+CLASS="command"
+>cd perl-5.8.1</B
+> (or whatever the version of Perl is called)
+        <SAMP
+CLASS="prompt"
+>bash$</SAMP
+>
+        <B
+CLASS="command"
+>sh Configure -de -Dprefix=/home/foo/perl</B
+>
+        <SAMP
+CLASS="prompt"
+>bash$</SAMP
+>
+        <B
+CLASS="command"
+>make &#38;&#38; make test &#38;&#38; make install</B
+>
+      </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
->
-      </P
 ><P
->&#13;      This is because your 
-      <TT
-CLASS="filename"
->/var/spool/mqueue</TT
->
-      directory has a mode of 
-      <SPAN
-CLASS="QUOTE"
->"drwx------"</SPAN
->. Type 
-      <B
-CLASS="command"
->chmod 755 
-      <TT
+>Once you have Perl installed into a directory (probably
+      in <TT
 CLASS="filename"
->/var/spool/mqueue</TT
->
-      </B
->
-      as root to fix this problem.
-      </P
+>~/perl/bin</TT
+>), you'll have to
+      change the locations on the scripts, which is detailed later on
+      this page.</P
 ></DIV
 ><DIV
 CLASS="section"
 ><HR><H3
 CLASS="section"
 ><A
-NAME="trouble-filetemp"
->2.5.6. Your vendor has not defined Fcntl macro O_NOINHERIT</A
+NAME="install-perlmodules-nonroot"
+>2.5.4. Perl Modules</A
 ></H3
 ><P
->This is caused by a bug in the version of
-      <SPAN
-CLASS="productname"
->File::Temp</SPAN
-> that is distributed with perl
-      5.6.0. Many minor variations of this error have been reported:
-      </P
-><TABLE
+>Installing the Perl modules as a non-root user is probably the
+      hardest part of the process. There are two different methods: a
+      completely independant Perl with its own modules, or personal
+      modules using the current (root installed) version of Perl. The
+      independant method takes up quite a bit of disk space, but is
+      less complex, while the mixed method only uses as much space as the
+      modules themselves, but takes more work to setup.</P
+><DIV
+CLASS="section"
+><HR><H4
+CLASS="section"
+><A
+NAME="AEN832"
+>2.5.4.1. The Independant Method</A
+></H4
+><P
+>The independant method requires that you install your own
+        personal version of Perl, as detailed in the previous section. Once
+        installed, you can start the CPAN shell with the following
+        command:</P
+><P
+>&#13;          <TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -4477,30 +4816,26 @@ WIDTH="100%"
 ><FONT
 COLOR="#000000"
 ><PRE
-CLASS="programlisting"
->Your vendor has not defined Fcntl macro O_NOINHERIT, used 
-at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 208.
-
-Your vendor has not defined Fcntl macro O_EXLOCK, used 
-at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 210.
-
-Your vendor has not defined Fcntl macro O_TEMPORARY, used 
-at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233.</PRE
+CLASS="screen"
+>&#13;            <SAMP
+CLASS="prompt"
+>bash$</SAMP
+>
+            <B
+CLASS="command"
+>/home/foo/perl/bin/perl -MCPAN -e 'shell'</B
+>
+          </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
+>
+        </P
 ><P
->Numerous people have reported that upgrading to version 5.6.1
-      or higher solved the problem for them. A less involved fix is to apply
-      the following patch, which is also
-      available as a <A
-HREF="../xml/filetemp.patch"
-TARGET="_top"
->patch file</A
->.
-      </P
-><TABLE
+>And then:</P
+><P
+>&#13;          <TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -4509,264 +4844,269 @@ WIDTH="100%"
 ><FONT
 COLOR="#000000"
 ><PRE
-CLASS="programlisting"
->--- File/Temp.pm.orig   Thu Feb  6 16:26:00 2003
-+++ File/Temp.pm        Thu Feb  6 16:26:23 2003
-@@ -205,6 +205,7 @@
-     # eg CGI::Carp
-     local $SIG{__DIE__} = sub {};
-     local $SIG{__WARN__} = sub {};
-+    local *CORE::GLOBAL::die = sub {};
-     $bit = &#38;$func();
-     1;
-   };
-@@ -226,6 +227,7 @@
-     # eg CGI::Carp
-     local $SIG{__DIE__} = sub {};
-     local $SIG{__WARN__} = sub {};
-+    local *CORE::GLOBAL::die = sub {};
-     $bit = &#38;$func();
-     1;
-   };</PRE
+CLASS="screen"
+>&#13;            <SAMP
+CLASS="prompt"
+>cpan&#62;</SAMP
+>
+            <B
+CLASS="command"
+>install Bundle::Bugzilla</B
+>
+          </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
+>
+        </P
+><P
+>With this method, module installation will usually go a lot
+        smoother, but if you have any hang-ups, you can consult the next
+        section.</P
 ></DIV
-></DIV
-></DIV
-><DIV
-CLASS="chapter"
-><HR><H1
-><A
-NAME="administration"
-></A
->Chapter 3. Administering Bugzilla</H1
 ><DIV
 CLASS="section"
-><H2
+><HR><H4
 CLASS="section"
 ><A
-NAME="parameters"
->3.1. Bugzilla Configuration</A
-></H2
-><P
->Bugzilla is configured by changing various parameters, accessed
-    from the "Edit parameters" link in the page footer. Here are
-    some of the key parameters on that page. You should run down this
-    list and set them appropriately after installing Bugzilla.</P
-><DIV
-CLASS="procedure"
-><OL
-TYPE="1"
-><LI
+NAME="AEN845"
+>2.5.4.2. The Mixed Method</A
+></H4
 ><P
-> 
-        <B
-CLASS="command"
->maintainer</B
->:
-        The maintainer parameter is the email address of the person 
-        responsible for maintaining this
-        Bugzilla installation. The address need not be that of a valid Bugzilla
-        account.</P
-></LI
-><LI
+>First, you'll need to configure CPAN to
+        install modules in your home directory. The CPAN FAQ says the
+        following on this issue:</P
 ><P
->&#13;        <B
-CLASS="command"
->urlbase</B
->:
-        This parameter defines the fully qualified domain name and web 
-        server path to your Bugzilla installation.</P
+>&#13;          <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#13;5)  I am not root, how can I install a module in a personal directory?
+
+    You will most probably like something like this:
+
+      o conf makepl_arg "LIB=~/myperl/lib \
+                         INSTALLMAN1DIR=~/myperl/man/man1 \
+                         INSTALLMAN3DIR=~/myperl/man/man3"
+    install Sybase::Sybperl
+
+    You can make this setting permanent like all "o conf" settings with "o conf commit".
+
+    You will have to add ~/myperl/man to the MANPATH environment variable and also tell your Perl programs to
+    look into ~/myperl/lib, e.g. by including
+
+      use lib "$ENV{HOME}/myperl/lib";
+
+    or setting the PERL5LIB environment variable.
+
+    Another thing you should bear in mind is that the UNINST parameter should never be set if you are not root.</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+        </P
 ><P
->For example, if your Bugzilla query page is
+>So, you will need to create a Perl directory in your home
+        directory, as well as the <TT
+CLASS="filename"
+>lib</TT
+>,
         <TT
 CLASS="filename"
->http://www.foo.com/bugzilla/query.cgi</TT
->, 
-        set your <SPAN
-CLASS="QUOTE"
->"urlbase"</SPAN
->
-        to <TT
+>man</TT
+>,
+        <TT
 CLASS="filename"
->http://www.foo.com/bugzilla/</TT
->.</P
-></LI
-><LI
-><P
->&#13;        <B
+>man/man1</TT
+>, and
+        <TT
+CLASS="filename"
+>man/man3</TT
+> directories in that
+        Perl directory. Set the MANPATH variable and PERL5LIB variable, so
+        that the installation of the modules goes smoother. (Setting
+        UNINST=0 in your "make install" options, on the CPAN first-time
+        configuration, is also a good idea.)</P
+><P
+>After that, go into the CPAN shell:</P
+><P
+>&#13;          <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;            <SAMP
+CLASS="prompt"
+>bash$</SAMP
+>
+            <B
 CLASS="command"
->makeproductgroups</B
->:
-        This dictates whether or not to automatically create groups
-        when new products are created.
+>perl -MCPAN -e 'shell'</B
+>
+          </PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
         </P
-></LI
-><LI
 ><P
->&#13;        <B
-CLASS="command"
->useentrygroupdefault</B
->:
-        Bugzilla products can have a group associated with them, so that
-        certain users can only see bugs in certain products. When this 
-        parameter is set to <SPAN
-CLASS="QUOTE"
->"on"</SPAN
->, this 
-        causes the initial group controls on newly created products 
-        to place all newly-created bugs in the group 
-        having the same name as the product immediately.
-        After a product is initially created, the group controls
-        can be further adjusted without interference by 
-        this mechanism.</P
-></LI
-><LI
+>From there, you will need to type in the above "o conf" command
+        and commit the changes. Then you can run through the installation:</P
 ><P
->&#13;        <B
+>&#13;          <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;            <SAMP
+CLASS="prompt"
+>cpan&#62;</SAMP
+>
+            <B
 CLASS="command"
->shadowdb</B
->:
-        You run into an interesting problem when Bugzilla reaches a
-        high level of continuous activity. MySQL supports only table-level
-        write locking. What this means is that if someone needs to make a
-        change to a bug, they will lock the entire table until the operation
-        is complete. Locking for write also blocks reads until the write is
-        complete. Note that more recent versions of mysql support row level
-        locking using different table types. These types are slower than the
-        standard type, and Bugzilla does not yet take advantage of features
-        such as transactions which would justify this speed decrease. The
-        Bugzilla team are, however, happy to hear about any experiences with
-        row level locking and Bugzilla.</P
-><P
->The <SPAN
-CLASS="QUOTE"
->"shadowdb"</SPAN
+>install Bundle::Bugzilla</B
 >
-        parameter was designed to get around this limitation. While only a
-        single user is allowed to write to a table at a time, reads can
-        continue unimpeded on a read-only shadow copy of the database.
-        Although your database size will double, a shadow database can cause
-        an enormous performance improvement when implemented on extremely
-        high-traffic Bugzilla databases.</P
-><P
->&#13;        As a guide, on reasonably old hardware, mozilla.org began needing 
-        <SPAN
-CLASS="QUOTE"
->"shadowdb"</SPAN
+          </PRE
+></FONT
+></TD
+></TR
+></TABLE
 >
-        when they reached around 40,000 Bugzilla users with several hundred
-        Bugzilla bug changes and comments per day.</P
+        </P
 ><P
->The value of the parameter defines the name of the 
-        shadow bug database. You will need to set the host and port settings
-        from the params page, and set up replication in your database server
-        so that updates reach this readonly mirror. Consult your database
-        documentation for more detail.</P
-></LI
-><LI
+>Most of the module installation process should go smoothly. However,
+        you may have some problems with Template. When you first start, you will
+        want to try to install Template with the XS Stash options on. If this
+        doesn't work, it may spit out C compiler error messages and croak back
+        to the CPAN shell prompt. So, redo the install, and turn it off. (In fact,
+        say no to all of the Template questions.) It may also start failing on a
+        few of the tests. If the total tests passed is a reasonable figure (90+%),
+        force the install with the following command:</P
 ><P
->&#13;        <B
+>&#13;          <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;            <SAMP
+CLASS="prompt"
+>cpan&#62;</SAMP
+>
+            <B
 CLASS="command"
->shutdownhtml</B
->:
-
-        If you need to shut down Bugzilla to perform administration, enter
-        some descriptive HTML here and anyone who tries to use Bugzilla will
-        receive a page to that effect. Obviously, editparams.cgi will
-        still be accessible so you can remove the HTML and re-enable Bugzilla.
-        :-)
+>force install Template</B
+>
+          </PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
         </P
-></LI
-><LI
 ><P
->&#13;        <B
+>You may also want to install the other optional modules:</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;          <SAMP
+CLASS="prompt"
+>cpan&#62;</SAMP
+>
+          <B
 CLASS="command"
->passwordmail</B
->:
-
-        Every time a user creates an account, the text of
-        this parameter (with substitutions) is sent to the new user along with
-        their password message.</P
-><P
->Add any text you wish to the "passwordmail" parameter box. For
-        instance, many people choose to use this box to give a quick training
-        blurb about how to use Bugzilla at your site.</P
-></LI
-><LI
-><P
->&#13;	<B
+>install GD</B
+>
+          <SAMP
+CLASS="prompt"
+>cpan&#62;</SAMP
+>
+          <B
 CLASS="command"
->movebugs</B
->:
-
-	This option is an undocumented feature to allow moving bugs
-	between separate Bugzilla installations.  You will need to understand
-	the source code in order to use this feature.  Please consult
-	<TT
-CLASS="filename"
->movebugs.pl</TT
-> in your Bugzilla source tree for
-	further documentation, such as it is.
-	</P
-></LI
-><LI
-><P
->&#13;        <B
+>install Chart::Base</B
+>
+          <SAMP
+CLASS="prompt"
+>cpan&#62;</SAMP
+>
+          <B
 CLASS="command"
->useqacontact</B
->:
-
-        This allows you to define an email address for each component, in
-        addition
-        to that of the default owner, who will be sent carbon copies of
-        incoming bugs.</P
-></LI
-><LI
+>install MIME::Parser</B
+>
+        </PRE
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="AEN878"
+>2.5.5. HTTP Server</A
+></H3
 ><P
->&#13;        <B
-CLASS="command"
->usestatuswhiteboard</B
->:
-        This defines whether you wish to have a free-form, overwritable field
-        associated with each bug. The advantage of the Status Whiteboard is
-        that it can be deleted or modified with ease, and provides an
-        easily-searchable field for indexing some bugs that have some trait
-        in common.         
-        </P
-></LI
-><LI
+>Ideally, this also needs to be installed as root and
+      run under a special webserver account. As long as
+      the web server will allow the running of *.cgi files outside of a
+      cgi-bin, and a way of denying web access to certain files (such as a
+      .htaccess file), you should be good in this department.</P
+><DIV
+CLASS="section"
+><HR><H4
+CLASS="section"
+><A
+NAME="AEN881"
+>2.5.5.1. Running Apache as Non-Root</A
+></H4
 ><P
->&#13;        <B
+>You can run Apache as a non-root user, but the port will need
+        to be set to one above 1024. If you type <B
 CLASS="command"
->whinedays</B
->:
-        Set this to the number of days you want to let bugs go
-        in the NEW or REOPENED state before notifying people they have
-        untouched new bugs. If you do not plan to use this feature, simply do
-        not set up the whining cron job described in the installation
-        instructions, or set this value to "0" (never whine).</P
-></LI
-><LI
+>httpd -V</B
+>,
+        you will get a list of the variables that your system copy of httpd
+        uses. One of those, namely HTTPD_ROOT, tells you where that
+        installation looks for its config information.</P
 ><P
->&#13;        <B
-CLASS="command"
->commenton*</B
->:
-        All these
-        fields allow you to dictate what changes can pass without comment,
-        and which must have a comment from the person who changed them.
-        Often, administrators will allow users to add themselves to the CC
-        list, accept bugs, or change the Status Whiteboard without adding a
-        comment as to their reasons for the change, yet require that most
-        other changes come with an explanation.</P
-><P
->Set the "commenton" options according to your site policy. It
-        is a wise idea to require comments when users resolve, reassign, or
-        reopen bugs at the very least. 
-        <DIV
+>From there, you can copy the config files to your own home
+        directory to start editing. When you edit those and then use the -d
+        option to override the HTTPD_ROOT compiled into the web server, you
+        get control of your own customized web server.</P
+><DIV
 CLASS="note"
 ><P
 ></P
@@ -4787,68 +5127,20 @@ ALT="Note"></TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->It is generally far better to require a developer comment
-          when resolving bugs than not. Few things are more annoying to bug
-          database users than having a developer mark a bug "fixed" without
-          any comment as to what the fix was (or even that it was truly
-          fixed!)</P
+>You will need to start the daemons yourself. You can either
+          ask your system administrator to add them to system startup files, or
+          add a crontab entry that runs a script to check on these daemons
+          and restart them if needed.</P
 ></TD
 ></TR
 ></TABLE
 ></DIV
->
-        </P
-></LI
-><LI
-><P
->&#13;        <B
-CLASS="command"
->supportwatchers</B
->:
-
-        Turning on this option allows users to ask to receive copies of 
-        all a particular other user's bug email. This is, of
-        course, subject to the groupset restrictions on the bug; if the 
-        <SPAN
-CLASS="QUOTE"
->"watcher"</SPAN
->
-        would not normally be allowed to view a bug, the watcher cannot get
-        around the system by setting herself up to watch the bugs of someone
-        with bugs outside her privileges. They would still only receive email
-        updates for those bugs she could normally view.</P
-></LI
-></OL
-></DIV
-></DIV
-><DIV
-CLASS="section"
-><HR><H2
-CLASS="section"
-><A
-NAME="useradmin"
->3.2. User Administration</A
-></H2
-><DIV
-CLASS="section"
-><H3
-CLASS="section"
-><A
-NAME="defaultuser"
->3.2.1. Creating the Default User</A
-></H3
-><P
->When you first run checksetup.pl after installing Bugzilla, it
-      will prompt you for the administrative username (email address) and
-      password for this "super user". If for some reason you delete
-      the "super user" account, re-running checksetup.pl will again prompt
-      you for this username and password.</P
 ><DIV
-CLASS="tip"
+CLASS="warning"
 ><P
 ></P
 ><TABLE
-CLASS="tip"
+CLASS="warning"
 WIDTH="100%"
 BORDER="0"
 ><TR
@@ -4857,64 +5149,88 @@ WIDTH="25"
 ALIGN="CENTER"
 VALIGN="TOP"
 ><IMG
-SRC="../images/tip.gif"
+SRC="../images/warning.gif"
 HSPACE="5"
-ALT="Tip"></TD
+ALT="Warning"></TD
 ><TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->If you wish to add more administrative users, add them to 
-        the "admin" group and, optionally, add edit the tweakparams, editusers,
-        creategroups, editcomponents, and editkeywords groups to add the
-        entire admin group to those groups.
-        </P
+>Do NOT run daemons or other services on a server without first
+          consulting your system administrator! Daemons use up system resources
+          and running one may be in violation of your terms of service for any
+          machine on which you are a user!</P
 ></TD
 ></TR
 ></TABLE
 ></DIV
 ></DIV
+></DIV
 ><DIV
 CLASS="section"
 ><HR><H3
 CLASS="section"
 ><A
-NAME="manageusers"
->3.2.2. Managing Other Users</A
+NAME="AEN890"
+>2.5.6. Bugzilla</A
 ></H3
-><DIV
-CLASS="section"
-><H4
-CLASS="section"
-><A
-NAME="createnewusers"
->3.2.2.1. Creating new users</A
-></H4
-><P
->Your users can create their own user accounts by clicking the
-        "New Account" link at the bottom of each page (assuming they
-        aren't logged in as someone else already.) However, should you
-        desire to create user accounts ahead of time, here is how you do
-        it.</P
 ><P
-></P
-><OL
-TYPE="1"
-><LI
+>If you had to install Perl modules as a non-root user
+      (<A
+HREF="#install-perlmodules-nonroot"
+>Section 2.5.4</A
+>) or to non-standard
+      directories, you will need to change the scripts, setting the correct
+      location of the Perl modules:</P
 ><P
->After logging in, click the "Users" link at the footer of
-            the query page, and then click "Add a new user".</P
-></LI
-><LI
+>&#13;        <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>perl -pi -e
+        's@use strict\;@use strict\; use lib \"/home/foo/perl/lib\"\;@'
+        *cgi *pl Bug.pm processmail syncshadowdb</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+
+        Change <TT
+CLASS="filename"
+>/home/foo/perl/lib</TT
+> to
+        your personal Perl library directory. You can probably skip this
+        step if you are using the independant method of Perl module
+        installation.
+      </P
 ><P
->Fill out the form presented. This page is self-explanatory.
-            When done, click "Submit".</P
+>When you run <B
+CLASS="command"
+>./checksetup.pl</B
+> to create
+      the <TT
+CLASS="filename"
+>localconfig</TT
+> file, it will list the Perl
+      modules it finds. If one is missing, go back and double-check the
+      module installation from the CPAN shell, then delete the
+      <TT
+CLASS="filename"
+>localconfig</TT
+> file and try again.</P
 ><DIV
-CLASS="note"
+CLASS="warning"
 ><P
 ></P
 ><TABLE
-CLASS="note"
+CLASS="warning"
 WIDTH="100%"
 BORDER="0"
 ><TR
@@ -4923,117 +5239,196 @@ WIDTH="25"
 ALIGN="CENTER"
 VALIGN="TOP"
 ><IMG
-SRC="../images/note.gif"
+SRC="../images/warning.gif"
 HSPACE="5"
-ALT="Note"></TD
+ALT="Warning"></TD
 ><TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->Adding a user this way will 
-              <EM
->not</EM
->
-
-              send an email informing them of their username and password.
-              While useful for creating dummy accounts (watchers which
-              shuttle mail to another system, for instance, or email
-              addresses which are a mailing list), in general it is
-              preferable to log out and use the 
-              <SPAN
-CLASS="QUOTE"
->"New Account"</SPAN
->
-
-              button to create users, as it will pre-populate all the
-              required fields and also notify the user of her account name
-              and password.</P
+>The one option in <TT
+CLASS="filename"
+>localconfig</TT
+> you
+        might have problems with is the web server group. If you can't
+        successfully browse to the <TT
+CLASS="filename"
+>index.cgi</TT
+> (like
+        a Forbidden error), you may have to relax your permissions,
+        and blank out the web server group. Of course, this may pose
+        as a security risk. Having a properly jailed shell and/or
+        limited access to shell accounts may lessen the security risk,
+        but use at your own risk.</P
 ></TD
 ></TR
 ></TABLE
 ></DIV
-></LI
-></OL
 ></DIV
+></DIV
+></DIV
+><DIV
+CLASS="chapter"
+><HR><H1
+><A
+NAME="administration"
+></A
+>Chapter 3. Administering Bugzilla</H1
 ><DIV
 CLASS="section"
-><HR><H4
+><H2
 CLASS="section"
 ><A
-NAME="modifyusers"
->3.2.2.2. Modifying Users</A
-></H4
+NAME="parameters"
+>3.1. Bugzilla Configuration</A
+></H2
 ><P
->To see a specific user, search for their login name
-        in the box provided on the "Edit Users" page. To see all users, 
-        leave the box blank.</P
+>&#13;      Bugzilla is configured by changing various parameters, accessed
+      from the "Edit parameters" link in the page footer. Here are
+      some of the key parameters on that page. You should run down this
+      list and set them appropriately after installing Bugzilla.
+    </P
+><DIV
+CLASS="procedure"
+><OL
+TYPE="1"
+><LI
 ><P
->You can search in different ways the listbox to the right
-        of the text entry box. You can match by 
-        case-insensitive substring (the default),
-        regular expression, or a 
-        <EM
->reverse</EM
->
-        regular expression match, which finds every user name which does NOT
-        match the regular expression. (Please see
-        the <B
+> 
+          <B
 CLASS="command"
->man regexp</B
->
-        manual page for details on regular expression syntax.)
+>maintainer</B
+>:
+
+          The maintainer parameter is the email address of the person 
+          responsible for maintaining this Bugzilla installation.
+          The address need not be that of a valid Bugzilla account.
         </P
+></LI
+><LI
 ><P
->Once you have found your user, you can change the following
-        fields:</P
+>&#13;          <B
+CLASS="command"
+>urlbase</B
+>:
+
+          This parameter defines the fully qualified domain name and web 
+          server path to your Bugzilla installation.
+        </P
 ><P
-></P
-><UL
+>&#13;          For example, if your Bugzilla query page is
+          <TT
+CLASS="filename"
+>http://www.foo.com/bugzilla/query.cgi</TT
+>, 
+          set your <SPAN
+CLASS="QUOTE"
+>"urlbase"</SPAN
+>
+          to <TT
+CLASS="filename"
+>http://www.foo.com/bugzilla/</TT
+>.
+        </P
+></LI
 ><LI
 ><P
->&#13;            <EM
->Login Name</EM
->: 
-            This is generally the user's full email address. However, if you
-            have are using the emailsuffix Param, this may just be the user's
-            login name. Note that users can now change their login names
-            themselves (to any valid email address.)
-            </P
+>&#13;          <B
+CLASS="command"
+>makeproductgroups</B
+>:
+
+          This dictates whether or not to automatically create groups
+          when new products are created.
+        </P
 ></LI
 ><LI
 ><P
->&#13;            <EM
->Real Name</EM
->: The user's real name. Note that
-            Bugzilla does not require this to create an account.</P
+>&#13;          <B
+CLASS="command"
+>useentrygroupdefault</B
+>:
+
+          Bugzilla products can have a group associated with them, so that
+          certain users can only see bugs in certain products. When this 
+          parameter is set to <SPAN
+CLASS="QUOTE"
+>"on"</SPAN
+>, this 
+          causes the initial group controls on newly created products 
+          to place all newly-created bugs in the group 
+          having the same name as the product immediately.
+          After a product is initially created, the group controls
+          can be further adjusted without interference by 
+          this mechanism.
+        </P
 ></LI
 ><LI
 ><P
->&#13;            <EM
->Password</EM
->: 
-            You can change the user's password here. Users can automatically
-            request a new password, so you shouldn't need to do this often.
-            If you want to disable an account, see Disable Text below.
-            </P
+>&#13;          <B
+CLASS="command"
+>shadowdb</B
+>:
+
+          You run into an interesting problem when Bugzilla reaches a
+          high level of continuous activity. MySQL supports only table-level
+          write locking. What this means is that if someone needs to make a
+          change to a bug, they will lock the entire table until the operation
+          is complete. Locking for write also blocks reads until the write is
+          complete. Note that more recent versions of mysql support row level
+          locking using different table types. These types are slower than the
+          standard type, and Bugzilla does not yet take advantage of features
+          such as transactions which would justify this speed decrease. The
+          Bugzilla team are, however, happy to hear about any experiences with
+          row level locking and Bugzilla.
+        </P
+><P
+>&#13;          The <SPAN
+CLASS="QUOTE"
+>"shadowdb"</SPAN
+> parameter was designed to get around
+          this limitation. While only a single user is allowed to write to
+          a table at a time, reads can continue unimpeded on a read-only
+          shadow copy of the database. Although your database size will
+          double, a shadow database can cause an enormous performance
+          improvement when implemented on extremely high-traffic Bugzilla
+          databases.
+        </P
+><P
+>&#13;          As a guide, on reasonably old hardware, mozilla.org began needing 
+          <SPAN
+CLASS="QUOTE"
+>"shadowdb"</SPAN
+> when they reached around 40,000 Bugzilla
+          users with several hundred Bugzilla bug changes and comments per day.
+        </P
+><P
+>&#13;          The value of the parameter defines the name of the shadow bug
+          database. You will need to set the host and port settings from
+          the params page, and set up replication in your database server
+          so that updates reach this readonly mirror. Consult your database
+          documentation for more detail.
+        </P
 ></LI
 ><LI
 ><P
->&#13;            <EM
->Disable Text</EM
->: 
-            If you type anything in this box, including just a space, the
-            user is prevented from logging in, or making any changes to 
-            bugs via the web interface. 
-            The HTML you type in this box is presented to the user when
-            they attempt to perform these actions, and should explain
-            why the account was disabled.
-            <DIV
-CLASS="warning"
+>&#13;          <B
+CLASS="command"
+>shutdownhtml</B
+>:
+
+          If you need to shut down Bugzilla to perform administration, enter
+          some descriptive text (with embedded HTML codes, if you'd like)
+          into this box. Anyone who tries to use Bugzilla (including admins)
+          will receive a page displaying this text. Users can neither log in
+          nor log out while shutdownhtml is enabled.
+        </P
+><DIV
+CLASS="note"
 ><P
 ></P
 ><TABLE
-CLASS="warning"
+CLASS="note"
 WIDTH="100%"
 BORDER="0"
 ><TR
@@ -5042,21 +5437,124 @@ WIDTH="25"
 ALIGN="CENTER"
 VALIGN="TOP"
 ><IMG
-SRC="../images/warning.gif"
+SRC="../images/note.gif"
 HSPACE="5"
-ALT="Warning"></TD
+ALT="Note"></TD
 ><TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->Don't disable all the administrator accounts!</P
+>&#13;            Although regular log-in capability is disabled while 'shutdownhtml'
+            is enabled, safeguards are in place to protect the unfortunate 
+            admin who loses connection to Bugzilla. Should this happen to you,
+            go directly to the <TT
+CLASS="filename"
+>editparams.cgi</TT
+> (by typing
+            the URL in manually, if necessary). Doing this will prompt you to
+            log in, and your name/password will be accepted here (but nowhere
+            else). 
+          </P
 ></TD
 ></TR
 ></TABLE
 ></DIV
->
+></LI
+><LI
+><P
+>&#13;          <B
+CLASS="command"
+>passwordmail</B
+>:
 
-            <DIV
+          Every time a user creates an account, the text of this parameter
+          (with substitutions) is sent to the new user along with their
+          password message.
+        </P
+><P
+>&#13;          Add any text you wish to the "passwordmail" parameter box. For
+          instance, many people choose to use this box to give a quick 
+          training blurb about how to use Bugzilla at your site.
+        </P
+></LI
+><LI
+><P
+>&#13;          <B
+CLASS="command"
+>movebugs</B
+>:
+
+          This option is an undocumented feature to allow moving bugs
+          between separate Bugzilla installations.  You will need to understand
+          the source code in order to use this feature.  Please consult
+          <TT
+CLASS="filename"
+>movebugs.pl</TT
+> in your Bugzilla source tree for
+          further documentation, such as it is.
+        </P
+></LI
+><LI
+><P
+>&#13;          <B
+CLASS="command"
+>useqacontact</B
+>:
+
+          This allows you to define an email address for each component, 
+          in addition to that of the default owner, who will be sent
+          carbon copies of incoming bugs.
+        </P
+></LI
+><LI
+><P
+>&#13;          <B
+CLASS="command"
+>usestatuswhiteboard</B
+>:
+
+          This defines whether you wish to have a free-form, overwritable field
+          associated with each bug. The advantage of the Status Whiteboard is
+          that it can be deleted or modified with ease, and provides an
+          easily-searchable field for indexing some bugs that have some trait
+          in common.         
+        </P
+></LI
+><LI
+><P
+>&#13;          <B
+CLASS="command"
+>whinedays</B
+>:
+
+          Set this to the number of days you want to let bugs go
+          in the NEW or REOPENED state before notifying people they have
+          untouched new bugs. If you do not plan to use this feature, simply 
+          do not set up the whining cron job described in the installation
+          instructions, or set this value to "0" (never whine).
+        </P
+></LI
+><LI
+><P
+>&#13;          <B
+CLASS="command"
+>commenton*</B
+>:
+
+          All these fields allow you to dictate what changes can pass
+          without comment, and which must have a comment from the
+          person who changed them.  Often, administrators will allow
+          users to add themselves to the CC list, accept bugs, or
+          change the Status Whiteboard without adding a comment as to
+          their reasons for the change, yet require that most other
+          changes come with an explanation.
+        </P
+><P
+>&#13;          Set the "commenton" options according to your site policy. It
+          is a wise idea to require comments when users resolve, reassign, or
+          reopen bugs at the very least. 
+        </P
+><DIV
 CLASS="note"
 ><P
 ></P
@@ -5077,113 +5575,50 @@ ALT="Note"></TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->The user can still submit bugs via
-              the e-mail gateway, if you set it up, even if the disabled text
-              field is filled in. The e-mail gateway should 
-              <EM
->not</EM
->
-              be enabled for secure installations of Bugzilla.</P
+>&#13;            It is generally far better to require a developer comment
+            when resolving bugs than not. Few things are more annoying to bug
+            database users than having a developer mark a bug "fixed" without
+            any comment as to what the fix was (or even that it was truly
+            fixed!)
+          </P
 ></TD
 ></TR
 ></TABLE
 ></DIV
->
-            </P
-></LI
-><LI
-><P
->&#13;            <EM
->&#60;groupname&#62;</EM
->: 
-            If you have created some groups, e.g. "securitysensitive", then
-            checkboxes will appear here to allow you to add users to, or
-            remove them from, these groups.
-            </P
-></LI
-><LI
-><P
->&#13;            <EM
->canconfirm</EM
->: 
-            This field is only used if you have enabled the "unconfirmed"
-            status. If you enable this for a user,
-            that user can then move bugs from "Unconfirmed" to a "Confirmed"
-            status (e.g.: "New" status).</P
-></LI
-><LI
-><P
->&#13;            <EM
->creategroups</EM
->: 
-            This option will allow a user to create and destroy groups in
-            Bugzilla.</P
-></LI
-><LI
-><P
->&#13;            <EM
->editbugs</EM
->: 
-            Unless a user has this bit set, they can only edit those bugs
-            for which they are the assignee or the reporter. Even if this
-            option is unchecked, users can still add comments to bugs.
-            </P
-></LI
-><LI
-><P
->&#13;            <EM
->editcomponents</EM
->: 
-            This flag allows a user to create new products and components,
-            as well as modify and destroy those that have no bugs associated
-            with them. If a product or component has bugs associated with it,
-            those bugs must be moved to a different product or component
-            before Bugzilla will allow them to be destroyed.
-            </P
-></LI
-><LI
-><P
->&#13;            <EM
->editkeywords</EM
->: 
-            If you use Bugzilla's keyword functionality, enabling this
-            feature allows a user to create and destroy keywords. As always,
-            the keywords for existing bugs containing the keyword the user
-            wishes to destroy must be changed before Bugzilla will allow it
-            to die.</P
-></LI
-><LI
-><P
->&#13;            <EM
->editusers</EM
->: 
-            This flag allows a user to do what you're doing right now: edit
-            other users. This will allow those with the right to do so to
-            remove administrator privileges from other users or grant them to
-            themselves. Enable with care.</P
 ></LI
 ><LI
 ><P
->&#13;            <EM
->tweakparams</EM
->: 
-            This flag allows a user to change Bugzilla's Params 
-            (using <TT
-CLASS="filename"
->editparams.cgi</TT
->.)</P
+>&#13;          <B
+CLASS="command"
+>supportwatchers</B
+>:
+
+          Turning on this option allows users to ask to receive copies 
+          of bug mail sent to another user.  Watching a user with
+          different group permissions is not a way to 'get around' the
+          system; copied emails are still subject to the normal groupset
+          permissions of a bug, and <SPAN
+CLASS="QUOTE"
+>"watchers"</SPAN
+> will only be 
+          copied on emails from bugs they would normally be allowed to view. 
+        </P
 ></LI
 ><LI
 ><P
->&#13;            <EM
->&#60;productname&#62;</EM
->: 
-            This allows an administrator to specify the products in which 
-            a user can see bugs. The user must still have the 
-            "editbugs" privilege to edit bugs in these products.</P
+>&#13;          <B
+CLASS="command"
+>noresolveonopenblockers</B
+>:
+
+          This option will prevent users from resolving bugs as FIXED if
+          they have unresolved dependencies. Only the FIXED resolution
+          is affected. Users will be still able to resolve bugs to
+          resolutions other than FIXED if they have unresolved dependent
+          bugs.
+        </P
 ></LI
-></UL
-></DIV
+></OL
 ></DIV
 ></DIV
 ><DIV
@@ -5191,160 +5626,220 @@ CLASS="section"
 ><HR><H2
 CLASS="section"
 ><A
-NAME="products"
->3.3. Products</A
+NAME="useradmin"
+>3.2. User Administration</A
 ></H2
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="defaultuser"
+>3.2.1. Creating the Default User</A
+></H3
 ><P
->&#13;    <A
-HREF="#gloss-product"
-><I
-CLASS="glossterm"
->&#13;    Products</I
-></A
->
-
-    are the broadest category in Bugzilla, and tend to represent real-world
-    shipping products. E.g. if your company makes computer games, 
-    you should have one product per game, perhaps a "Common" product for 
-    units of technology used in multiple games, and maybe a few special
-     products (Website, Administration...)</P
+>When you first run checksetup.pl after installing Bugzilla, it
+      will prompt you for the administrative username (email address) and
+      password for this "super user". If for some reason you delete
+      the "super user" account, re-running checksetup.pl will again prompt
+      you for this username and password.</P
+><DIV
+CLASS="tip"
 ><P
->Many of Bugzilla's settings are configurable on a per-product
-    basis. The number of "votes" available to users is set per-product, 
-    as is the number of votes
-    required to move a bug automatically from the UNCONFIRMED status to the
-    NEW status.</P
+></P
+><TABLE
+CLASS="tip"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/tip.gif"
+HSPACE="5"
+ALT="Tip"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
 ><P
->To create a new product:</P
+>If you wish to add more administrative users, add them to 
+        the "admin" group and, optionally, add edit the tweakparams, editusers,
+        creategroups, editcomponents, and editkeywords groups to add the
+        entire admin group to those groups.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="manageusers"
+>3.2.2. Managing Other Users</A
+></H3
+><DIV
+CLASS="section"
+><H4
+CLASS="section"
+><A
+NAME="createnewusers"
+>3.2.2.1. Creating new users</A
+></H4
+><P
+>Your users can create their own user accounts by clicking the
+        "New Account" link at the bottom of each page (assuming they
+        aren't logged in as someone else already.) However, should you
+        desire to create user accounts ahead of time, here is how you do
+        it.</P
 ><P
 ></P
 ><OL
 TYPE="1"
 ><LI
 ><P
->Select "products" from the footer</P
+>After logging in, click the "Users" link at the footer of
+            the query page, and then click "Add a new user".</P
 ></LI
 ><LI
 ><P
->Select the "Add" link in the bottom right</P
-></LI
-><LI
+>Fill out the form presented. This page is self-explanatory.
+            When done, click "Submit".</P
+><DIV
+CLASS="note"
 ><P
->Enter the name of the product and a description. The
-        Description field may contain HTML.</P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>Adding a user this way will 
+              <EM
+>not</EM
+>
+
+              send an email informing them of their username and password.
+              While useful for creating dummy accounts (watchers which
+              shuttle mail to another system, for instance, or email
+              addresses which are a mailing list), in general it is
+              preferable to log out and use the 
+              <SPAN
+CLASS="QUOTE"
+>"New Account"</SPAN
+>
+
+              button to create users, as it will pre-populate all the
+              required fields and also notify the user of her account name
+              and password.</P
+></TD
+></TR
+></TABLE
+></DIV
 ></LI
 ></OL
-><P
->Don't worry about the "Closed for bug entry", "Maximum Votes
-    per person", "Maximum votes a person can put on a single bug",
-    "Number of votes a bug in this Product needs to automatically get out
-    of the UNCOMFIRMED state", and "Version" options yet. We'll cover
-    those in a few moments.
-    </P
 ></DIV
 ><DIV
 CLASS="section"
-><HR><H2
+><HR><H4
 CLASS="section"
 ><A
-NAME="components"
->3.4. Components</A
-></H2
+NAME="modifyusers"
+>3.2.2.2. Modifying Users</A
+></H4
 ><P
->Components are subsections of a Product. E.g. the computer game 
-    you are designing may have a "UI"
-    component, an "API" component, a "Sound System" component, and a
-    "Plugins" component, each overseen by a different programmer. It
-    often makes sense to divide Components in Bugzilla according to the
-    natural divisions of responsibility within your Product or
-    company.</P
+>To see a specific user, search for their login name
+        in the box provided on the "Edit Users" page. To see all users, 
+        leave the box blank.</P
 ><P
->&#13;    Each component has a owner and (if you turned it on in the parameters),
-    a QA Contact. The owner should be the primary person who fixes bugs in
-    that component. The QA Contact should be the person who will ensure
-    these bugs are completely fixed. The Owner, QA Contact, and Reporter
-    will get email when new bugs are created in this Component and when
-    these bugs change. Default Owner and Default QA Contact fields only
-    dictate the 
-    <EM
->default assignments</EM
->; 
-    these can be changed on bug submission, or at any later point in
-    a bug's life.</P
+>You can search in different ways the listbox to the right
+        of the text entry box. You can match by 
+        case-insensitive substring (the default),
+        regular expression, or a 
+        <EM
+>reverse</EM
+>
+        regular expression match, which finds every user name which does NOT
+        match the regular expression. (Please see
+        the <B
+CLASS="command"
+>man regexp</B
+>
+        manual page for details on regular expression syntax.)
+        </P
 ><P
->To create a new Component:</P
+>Once you have found your user, you can change the following
+        fields:</P
 ><P
 ></P
-><OL
-TYPE="1"
-><LI
-><P
->Select the "Edit components" link from the "Edit product"
-        page</P
-></LI
-><LI
-><P
->Select the "Add" link in the bottom right.</P
-></LI
+><UL
 ><LI
 ><P
->Fill out the "Component" field, a short "Description", 
-        the "Initial Owner" and "Initial QA Contact" (if enabled.) 
-        The Component and Description fields may contain HTML; 
-        the "Initial Owner" field must be a login name
-        already existing in the database. 
-        </P
+>&#13;            <EM
+>Login Name</EM
+>: 
+            This is generally the user's full email address. However, if you
+            have are using the emailsuffix Param, this may just be the user's
+            login name. Note that users can now change their login names
+            themselves (to any valid email address.)
+            </P
 ></LI
-></OL
-></DIV
-><DIV
-CLASS="section"
-><HR><H2
-CLASS="section"
-><A
-NAME="versions"
->3.5. Versions</A
-></H2
-><P
->Versions are the revisions of the product, such as "Flinders
-    3.1", "Flinders 95", and "Flinders 2000". Version is not a multi-select
-    field; the usual practice is to select the earliest version known to have
-    the bug.
-    </P
-><P
->To create and edit Versions:</P
-><P
-></P
-><OL
-TYPE="1"
 ><LI
 ><P
->From the "Edit product" screen, select "Edit Versions"</P
+>&#13;            <EM
+>Real Name</EM
+>: The user's real name. Note that
+            Bugzilla does not require this to create an account.</P
 ></LI
 ><LI
 ><P
->You will notice that the product already has the default
-        version "undefined". Click the "Add" link in the bottom right.</P
+>&#13;            <EM
+>Password</EM
+>: 
+            You can change the user's password here. Users can automatically
+            request a new password, so you shouldn't need to do this often.
+            If you want to disable an account, see Disable Text below.
+            </P
 ></LI
 ><LI
 ><P
->Enter the name of the Version. This field takes text only. 
-        Then click the "Add" button.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="section"
-><HR><H2
-CLASS="section"
-><A
-NAME="milestones"
->3.6. Milestones</A
-></H2
+>&#13;              <EM
+>Disable Text</EM
+>: 
+              If you type anything in this box, including just a space, the
+              user is prevented from logging in, or making any changes to 
+              bugs via the web interface. 
+              The HTML you type in this box is presented to the user when
+              they attempt to perform these actions, and should explain
+              why the account was disabled.
+            </P
 ><P
->Milestones are "targets" that you plan to get a bug fixed by. For
-    example, you have a bug that you plan to fix for your 3.0 release, it
-    would be assigned the milestone of 3.0.</P
+>&#13;              Users with disabled accounts will continue to receive
+              mail from Bugzilla; furthermore, they will not be able
+              to log in themselves to change their own preferences and
+              stop it. If you want an account (disabled or active) to
+              stop receiving mail, add the account name (one account
+              per line) to the file <TT
+CLASS="filename"
+>data/nomail</TT
+>.
+            </P
 ><DIV
 CLASS="note"
 ><P
@@ -5366,305 +5861,305 @@ ALT="Note"></TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->Milestone options will only appear for a Product if you turned
-      on the "usetargetmilestone" Param in the "Edit Parameters" screen.
-      </P
+>&#13;                Even users whose accounts have been disabled can still
+                submit bugs via the e-mail gateway, if one exists.
+                The e-mail gateway should <EM
+>not</EM
+> be
+                enabled for secure installations of Bugzilla.
+              </P
 ></TD
 ></TR
 ></TABLE
 ></DIV
-><P
->To create new Milestones, set Default Milestones, and set
-    Milestone URL:</P
+><DIV
+CLASS="warning"
 ><P
 ></P
-><OL
-TYPE="1"
-><LI
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
 ><P
->Select "Edit milestones" from the "Edit product" page.</P
+>&#13;                Don't disable all the administrator accounts!
+              </P
+></TD
+></TR
+></TABLE
+></DIV
 ></LI
 ><LI
 ><P
->Select "Add" in the bottom right corner.
-        text</P
+>&#13;            <EM
+>&#60;groupname&#62;</EM
+>: 
+            If you have created some groups, e.g. "securitysensitive", then
+            checkboxes will appear here to allow you to add users to, or
+            remove them from, these groups.
+            </P
 ></LI
 ><LI
 ><P
->Enter the name of the Milestone in the "Milestone" field. You
-        can optionally set the "sortkey", which is a positive or negative
-        number (-255 to 255) that defines where in the list this particular
-        milestone appears. This is because milestones often do not 
-        occur in alphanumeric order For example, "Future" might be
-        after "Release 1.2". Select "Add".</P
+>&#13;            <EM
+>canconfirm</EM
+>: 
+            This field is only used if you have enabled the "unconfirmed"
+            status. If you enable this for a user,
+            that user can then move bugs from "Unconfirmed" to a "Confirmed"
+            status (e.g.: "New" status).</P
 ></LI
 ><LI
 ><P
->From the Edit product screen, you can enter the URL of a 
-        page which gives information about your milestones and what
-        they mean. </P
+>&#13;            <EM
+>creategroups</EM
+>: 
+            This option will allow a user to create and destroy groups in
+            Bugzilla.</P
 ></LI
-></OL
-></DIV
-><DIV
-CLASS="section"
-><HR><H2
-CLASS="section"
-><A
-NAME="voting"
->3.7. Voting</A
-></H2
-><P
->Voting allows users to be given a pot of votes which they can allocate
-    to bugs, to indicate that they'd like them fixed. 
-    This allows developers to gauge
-    user need for a particular enhancement or bugfix. By allowing bugs with
-    a certain number of votes to automatically move from "UNCONFIRMED" to
-    "NEW", users of the bug system can help high-priority bugs garner
-    attention so they don't sit for a long time awaiting triage.</P
-><P
->To modify Voting settings:</P
-><P
-></P
-><OL
-TYPE="1"
 ><LI
 ><P
->Navigate to the "Edit product" screen for the Product you
-        wish to modify</P
+>&#13;            <EM
+>editbugs</EM
+>: 
+            Unless a user has this bit set, they can only edit those bugs
+            for which they are the assignee or the reporter. Even if this
+            option is unchecked, users can still add comments to bugs.
+            </P
 ></LI
 ><LI
 ><P
-><EM
->Maximum Votes per person</EM
->:
-        Setting this field to "0" disables voting.</P
+>&#13;            <EM
+>editcomponents</EM
+>: 
+            This flag allows a user to create new products and components,
+            as well as modify and destroy those that have no bugs associated
+            with them. If a product or component has bugs associated with it,
+            those bugs must be moved to a different product or component
+            before Bugzilla will allow them to be destroyed.
+            </P
 ></LI
 ><LI
 ><P
-><EM
->Maximum Votes a person can put on a single
-         bug</EM
+>&#13;            <EM
+>editkeywords</EM
 >: 
-         It should probably be some number lower than the
-        "Maximum votes per person". Don't set this field to "0" if
-        "Maximum votes per person" is non-zero; that doesn't make
-        any sense.</P
+            If you use Bugzilla's keyword functionality, enabling this
+            feature allows a user to create and destroy keywords. As always,
+            the keywords for existing bugs containing the keyword the user
+            wishes to destroy must be changed before Bugzilla will allow it
+            to die.</P
 ></LI
 ><LI
 ><P
-><EM
->Number of votes a bug in this product needs to
-        automatically get out of the UNCONFIRMED state</EM
+>&#13;            <EM
+>editusers</EM
 >: 
-        Setting this field to "0" disables the automatic move of
-        bugs from UNCONFIRMED to NEW. 
-        </P
+            This flag allows a user to do what you're doing right now: edit
+            other users. This will allow those with the right to do so to
+            remove administrator privileges from other users or grant them to
+            themselves. Enable with care.</P
 ></LI
 ><LI
 ><P
->Once you have adjusted the values to your preference, click
-        "Update".</P
+>&#13;            <EM
+>tweakparams</EM
+>: 
+            This flag allows a user to change Bugzilla's Params 
+            (using <TT
+CLASS="filename"
+>editparams.cgi</TT
+>.)</P
 ></LI
-></OL
+><LI
+><P
+>&#13;            <EM
+>&#60;productname&#62;</EM
+>: 
+            This allows an administrator to specify the products in which 
+            a user can see bugs. The user must still have the 
+            "editbugs" privilege to edit bugs in these products.</P
+></LI
+></UL
+></DIV
+></DIV
 ></DIV
 ><DIV
 CLASS="section"
 ><HR><H2
 CLASS="section"
 ><A
-NAME="groups"
->3.8. Groups and Group Security</A
+NAME="products"
+>3.3. Products</A
 ></H2
 ><P
->Groups allow the administrator
-    to isolate bugs or products that should only be seen by certain people.
-    The association between products and groups is controlled from
-    the product edit page under <SPAN
-CLASS="QUOTE"
->"Edit Group Controls."</SPAN
+>&#13;    <A
+HREF="#gloss-product"
+><I
+CLASS="glossterm"
+>&#13;    Products</I
+></A
 >
-    </P
-><P
->&#13;    If the makeproductgroups param is on, a new group will be automatically
-    created for every new product.
-    </P
+
+    are the broadest category in Bugzilla, and tend to represent real-world
+    shipping products. E.g. if your company makes computer games, 
+    you should have one product per game, perhaps a "Common" product for 
+    units of technology used in multiple games, and maybe a few special
+     products (Website, Administration...)</P
 ><P
->&#13;    On the product edit page, there is a page to edit the 
-    <SPAN
-CLASS="QUOTE"
->"Group Controls"</SPAN
-> 
-    for a product and determine which groups are applicable, default, 
-    and mandatory for each product as well as controlling entry 
-    for each product and being able to set bugs in a product to be 
-    totally read-only unless some group restrictions are met. 
-    </P
+>Many of Bugzilla's settings are configurable on a per-product
+    basis. The number of "votes" available to users is set per-product, 
+    as is the number of votes
+    required to move a bug automatically from the UNCONFIRMED status to the
+    NEW status.</P
 ><P
->&#13;    For each group, it is possible to specify if membership in that
-    group is...
-    </P
+>To create a new product:</P
 ><P
 ></P
 ><OL
 TYPE="1"
 ><LI
 ><P
->&#13;        required for bug entry, 
-        </P
-></LI
-><LI
-><P
->&#13;        Not applicable to this product(NA),
-        a possible restriction for a member of the 
-        group to place on a bug in this product(Shown),
-        a default restriction for a member of the 
-        group to place on a bug in this product(Default),
-        or a mandatory restriction to be placed on bugs 
-        in this product(Mandatory).
-        </P
+>Select "products" from the footer</P
 ></LI
 ><LI
 ><P
->&#13;        Not applicable by non-members to this product(NA),
-        a possible restriction for a non-member of the 
-        group to place on a bug in this product(Shown),
-        a default restriction for a non-member of the 
-        group to place on a bug in this product(Default),
-        or a mandatory restriction to be placed on bugs 
-        in this product when entered by a non-member(Mandatory).
-        </P
+>Select the "Add" link in the bottom right</P
 ></LI
 ><LI
 ><P
->&#13;        required in order to make <EM
->any</EM
-> change
-        to bugs in this product <EM
->including comments.</EM
->
-        </P
+>Enter the name of the product and a description. The
+        Description field may contain HTML.</P
 ></LI
 ></OL
 ><P
->To create Groups:</P
+>Don't worry about the "Closed for bug entry", "Maximum Votes
+    per person", "Maximum votes a person can put on a single bug",
+    "Number of votes a bug in this Product needs to automatically get out
+    of the UNCOMFIRMED state", and "Version" options yet. We'll cover
+    those in a few moments.
+    </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="components"
+>3.4. Components</A
+></H2
+><P
+>Components are subsections of a Product. E.g. the computer game 
+    you are designing may have a "UI"
+    component, an "API" component, a "Sound System" component, and a
+    "Plugins" component, each overseen by a different programmer. It
+    often makes sense to divide Components in Bugzilla according to the
+    natural divisions of responsibility within your Product or
+    company.</P
+><P
+>&#13;    Each component has a owner and (if you turned it on in the parameters),
+    a QA Contact. The owner should be the primary person who fixes bugs in
+    that component. The QA Contact should be the person who will ensure
+    these bugs are completely fixed. The Owner, QA Contact, and Reporter
+    will get email when new bugs are created in this Component and when
+    these bugs change. Default Owner and Default QA Contact fields only
+    dictate the 
+    <EM
+>default assignments</EM
+>; 
+    these can be changed on bug submission, or at any later point in
+    a bug's life.</P
+><P
+>To create a new Component:</P
 ><P
 ></P
 ><OL
 TYPE="1"
 ><LI
 ><P
->Select the <SPAN
-CLASS="QUOTE"
->"groups"</SPAN
->
-        link in the footer.</P
+>Select the "Edit components" link from the "Edit product"
+        page</P
 ></LI
 ><LI
 ><P
->Take a moment to understand the instructions on the <SPAN
-CLASS="QUOTE"
->"Edit
-        Groups"</SPAN
-> screen, then select the <SPAN
-CLASS="QUOTE"
->"Add Group"</SPAN
-> link.</P
+>Select the "Add" link in the bottom right.</P
 ></LI
 ><LI
 ><P
->Fill out the <SPAN
-CLASS="QUOTE"
->"Group"</SPAN
->, <SPAN
-CLASS="QUOTE"
->"Description"</SPAN
->, 
-         and <SPAN
-CLASS="QUOTE"
->"User RegExp"</SPAN
-> fields. 
-         <SPAN
-CLASS="QUOTE"
->"User RegExp"</SPAN
-> allows you to automatically
-         place all users who fulfill the Regular Expression into the new group. 
-         When you have finished, click <SPAN
-CLASS="QUOTE"
->"Add"</SPAN
->.</P
+>Fill out the "Component" field, a short "Description", 
+        the "Initial Owner" and "Initial QA Contact" (if enabled.) 
+        The Component and Description fields may contain HTML; 
+        the "Initial Owner" field must be a login name
+        already existing in the database. 
+        </P
+></LI
+></OL
+></DIV
 ><DIV
-CLASS="warning"
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="versions"
+>3.5. Versions</A
+></H2
+><P
+>Versions are the revisions of the product, such as "Flinders
+    3.1", "Flinders 95", and "Flinders 2000". Version is not a multi-select
+    field; the usual practice is to select the earliest version known to have
+    the bug.
+    </P
+><P
+>To create and edit Versions:</P
 ><P
 ></P
-><TABLE
-CLASS="warning"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="../images/warning.gif"
-HSPACE="5"
-ALT="Warning"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
+><OL
+TYPE="1"
+><LI
 ><P
->If specifying a domain in the regexp, make sure you end
-           the regexp with a $. Otherwise, when granting access to 
-           "@mycompany\.com", you will allow access to 
-           'badperson@mycompany.com.cracker.net'. You need to use 
-           '@mycompany\.com$' as the regexp.</P
-></TD
-></TR
-></TABLE
-></DIV
+>From the "Edit product" screen, select "Edit Versions"</P
 ></LI
 ><LI
 ><P
->After you add your new group, edit the new group.  On the
-        edit page, you can specify other groups that should be included
-        in this group and which groups should be permitted to add and delete
-        users from this group.</P
+>You will notice that the product already has the default
+        version "undefined". Click the "Add" link in the bottom right.</P
 ></LI
-></OL
+><LI
 ><P
->&#13;      Note that group permissions are such that you need to be a member
-      of <EM
->all</EM
-> the groups a bug is in, for whatever
-      reason, to see that bug. Similarly, you must be a member 
-      of <EM
->all</EM
-> of the entry groups for a product 
-      to add bugs to a product and you must be a member 
-      of <EM
->all</EM
-> of the canedit groups for a product
-      in order to make <EM
->any</EM
-> change to bugs in that
-      product.
-    </P
+>Enter the name of the Version. This field takes text only. 
+        Then click the "Add" button.</P
+></LI
+></OL
 ></DIV
 ><DIV
 CLASS="section"
 ><HR><H2
 CLASS="section"
 ><A
-NAME="upgrading"
->3.9. Upgrading to New Releases</A
+NAME="milestones"
+>3.6. Milestones</A
 ></H2
+><P
+>Milestones are "targets" that you plan to get a bug fixed by. For
+    example, you have a bug that you plan to fix for your 3.0 release, it
+    would be assigned the milestone of 3.0.</P
 ><DIV
-CLASS="warning"
+CLASS="note"
 ><P
 ></P
 ><TABLE
-CLASS="warning"
+CLASS="note"
 WIDTH="100%"
 BORDER="0"
 ><TR
@@ -5673,231 +6168,779 @@ WIDTH="25"
 ALIGN="CENTER"
 VALIGN="TOP"
 ><IMG
-SRC="../images/warning.gif"
+SRC="../images/note.gif"
 HSPACE="5"
-ALT="Warning"></TD
+ALT="Note"></TD
 ><TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->Upgrading is a one-way process. You should backup your database
-      and current Bugzilla directory before attempting the upgrade. If you wish
-      to revert to the old Bugzilla version for any reason, you will have to
-      restore from these backups.
+>Milestone options will only appear for a Product if you turned
+      on the "usetargetmilestone" Param in the "Edit Parameters" screen.
       </P
 ></TD
 ></TR
 ></TABLE
 ></DIV
 ><P
->Upgrading Bugzilla is something we all want to do from time to time,
-    be it to get new features or pick up the latest security fix. How easy
-    it is to update depends on a few factors.
-    </P
+>To create new Milestones, set Default Milestones, and set
+    Milestone URL:</P
 ><P
 ></P
-><UL
+><OL
+TYPE="1"
 ><LI
 ><P
->If the new version is a revision or a new point release</P
+>Select "Edit milestones" from the "Edit product" page.</P
 ></LI
 ><LI
 ><P
->How many, if any, local changes have been made</P
+>Select "Add" in the bottom right corner.
+        text</P
 ></LI
-></UL
+><LI
 ><P
->There are also three different methods to upgrade your installation.
-    </P
+>Enter the name of the Milestone in the "Milestone" field. You
+        can optionally set the "sortkey", which is a positive or negative
+        number (-255 to 255) that defines where in the list this particular
+        milestone appears. This is because milestones often do not 
+        occur in alphanumeric order For example, "Future" might be
+        after "Release 1.2". Select "Add".</P
+></LI
+><LI
+><P
+>From the Edit product screen, you can enter the URL of a 
+        page which gives information about your milestones and what
+        they mean. </P
+></LI
+></OL
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="flags-overview"
+>3.7. Flags</A
+></H2
+><P
+>&#13;     Flags are a way to attach a specific status to a bug or attachment, 
+     either <SPAN
+CLASS="QUOTE"
+>"+"</SPAN
+> or <SPAN
+CLASS="QUOTE"
+>"-"</SPAN
+>. The meaning of these symbols depends on the text
+     the flag itself, but contextually they could mean pass/fail, 
+     accept/reject, approved/denied, or even a simple yes/no. If your site
+     allows requestable flags, then users may set a flag to <SPAN
+CLASS="QUOTE"
+>"?"</SPAN
+> as a 
+     request to another user that they look at the bug/attachment, and set
+     the flag to its correct status.
+   </P
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="flags-simpleexample"
+>3.7.1. A Simple Example</A
+></H3
 ><P
+>&#13;       A developer might want to ask their manager, 
+       <SPAN
+CLASS="QUOTE"
+>"Should we fix this bug before we release version 2.0?"</SPAN
+> 
+       They might want to do this for a <EM
+>lot</EM
+> of bugs,
+       so it would be nice to streamline the process...
+     </P
+><P
+>&#13;       In Bugzilla, it would work this way:
+       <P
 ></P
 ><OL
 TYPE="1"
 ><LI
 ><P
->Using CVS (<A
-HREF="#upgrade-cvs"
->Example 3-1</A
->)</P
+>&#13;             The Bugzilla administrator creates a flag type called 
+             <SPAN
+CLASS="QUOTE"
+>"blocking2.0"</SPAN
+> that shows up on all bugs in 
+             your product.
+           </P
+><P
+>&#13;             It shows up on the <SPAN
+CLASS="QUOTE"
+>"Show Bug"</SPAN
+> screen
+             as the text <SPAN
+CLASS="QUOTE"
+>"blocking2.0"</SPAN
+> with a drop-down box next
+             to it. The drop-down box contains four values: an empty space,
+             <SPAN
+CLASS="QUOTE"
+>"?"</SPAN
+>, <SPAN
+CLASS="QUOTE"
+>"-"</SPAN
+>, and <SPAN
+CLASS="QUOTE"
+>"+"</SPAN
+>.
+           </P
 ></LI
 ><LI
 ><P
->Downloading a new tarball (<A
-HREF="#upgrade-tarball"
->Example 3-2</A
->)</P
+>The developer sets the flag to <SPAN
+CLASS="QUOTE"
+>"?"</SPAN
+>.</P
 ></LI
 ><LI
 ><P
->Applying the relevant patches (<A
-HREF="#upgrade-patches"
->Example 3-3</A
->)</P
+>&#13;             The manager sees the <SAMP
+CLASS="computeroutput"
+>blocking2.0</SAMP
+>
+             flag with a <SPAN
+CLASS="QUOTE"
+>"?"</SPAN
+> value.
+           </P
+></LI
+><LI
+><P
+>&#13;             If the manager thinks the feature should go into the product
+             before version 2.0 can be released, he sets the flag to 
+             <SPAN
+CLASS="QUOTE"
+>"+"</SPAN
+>. Otherwise, he sets it to <SPAN
+CLASS="QUOTE"
+>"-"</SPAN
+>.
+           </P
+></LI
+><LI
+><P
+>&#13;             Now, every Bugzilla user who looks at the bug knows whether or 
+             not the bug needs to be fixed before release of version 2.0.
+           </P
 ></LI
 ></OL
+>
+     </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="flags-about"
+>3.7.2. About Flags</A
+></H3
+><DIV
+CLASS="section"
+><H4
+CLASS="section"
+><A
+NAME="flag-values"
+>3.7.2.1. Values</A
+></H4
 ><P
->Which options are available to you may depend on how large a jump
-    you are making and/or your network configuration.
-    </P
+>&#13;         Flags can have three values:
+         <P
+></P
+><DIV
+CLASS="variablelist"
+><DL
+><DT
+><SAMP
+CLASS="computeroutput"
+>?</SAMP
+></DT
+><DD
 ><P
->Revisions are normally released to fix security vulnerabilities
-    and are distinguished by an increase in the third number. For example,
-    when 2.16.2 was released, it was a revision to 2.16.1.
-    </P
+>&#13;               A user is requesting that a status be set. (Think of it as 'A question is being asked'.)
+             </P
+></DD
+><DT
+><SAMP
+CLASS="computeroutput"
+>-</SAMP
+></DT
+><DD
 ><P
->Point releases are normally released when the Bugzilla team feels
-    that there has been a significant amount of progress made between the
-    last point release and the current time. These are often proceeded by a
-    stabilization period and release candidates, however the use of 
-    development versions or release candidates is beyond the scope of this
-    document. Point releases can be distinguished by an increase in the
-    second number, or minor version. For example, 2.16.2 is a newer point
-    release than 2.14.5.
-    </P
+>&#13;               The status has been set negatively. (The question has been answered <SPAN
+CLASS="QUOTE"
+>"no"</SPAN
+>.)
+             </P
+></DD
+><DT
+><SAMP
+CLASS="computeroutput"
+>+</SAMP
+></DT
+><DD
 ><P
->The examples in this section are written as if you were updating
-    to version 2.16.2.  The procedures are the same regardless if you are
-    updating to a new point release or a new revision.  However, the chance
-    of running into trouble increases when upgrading to a new point release,
-    escpecially if you've made local changes.
-    </P
+>&#13;               The status has been set positively.
+               (The question has been answered <SPAN
+CLASS="QUOTE"
+>"yes"</SPAN
+>.)
+             </P
+></DD
+></DL
+></DIV
+>
+       </P
 ><P
->These examples also assume that your Bugzilla installation is at
-    <TT
-CLASS="filename"
->/var/www/html/bugzilla</TT
->. If that is not the case,
-    simply substitute the proper paths where appropriate.
-    </P
+>&#13;         Actually, there's a fourth value a flag can have -- 
+         <SPAN
+CLASS="QUOTE"
+>"unset"</SPAN
+> -- which shows up as a blank space. This 
+         just means that nobody has expressed an opinion (or asked
+         someone else to express an opinion) about this bug or attachment.
+       </P
+></DIV
+></DIV
 ><DIV
-CLASS="example"
+CLASS="section"
+><HR><H3
+CLASS="section"
 ><A
-NAME="upgrade-cvs"
-></A
+NAME="flag-askto"
+>3.7.3. Using flag requests</A
+></H3
 ><P
-><B
->Example 3-1. Upgrading using CVS</B
-></P
+>&#13;       If a flag has been defined as 'requestable', 
+       users are allowed to set the flag's status to <SPAN
+CLASS="QUOTE"
+>"?"</SPAN
+>.
+       This status indicates that someone (aka <SPAN
+CLASS="QUOTE"
+>"the requester"</SPAN
+> is asking
+       for someone else to set the flag to either <SPAN
+CLASS="QUOTE"
+>"+"</SPAN
+> or <SPAN
+CLASS="QUOTE"
+>"-"</SPAN
+>.
+     </P
 ><P
->Every release of Bugzilla, whether it is a revision or a point
-      release, is tagged in CVS.  Also, every tarball we have distributed
-      since version 2.12 has been primed for using CVS. This does, however,
-      require that you are able to access cvs-mirror.mozilla.org on port
-      2401.
-
-        <DIV
-CLASS="tip"
+>&#13;       If a flag has been defined as 'specifically requestable', 
+       a text box will appear next to the flag into which the requester may
+       enter a Bugzilla username. That named person (aka <SPAN
+CLASS="QUOTE"
+>"the requestee"</SPAN
+>)
+       will receive an email notifying them of the request, and pointing them
+       to the bug/attachment in question.
+     </P
+><P
+>&#13;       If a flag has <EM
+>not</EM
+> been defined as 'specifically requestable',
+       then no such text-box will appear. A request to set this flag cannot be made of
+       any specific individual, but must be asked <SPAN
+CLASS="QUOTE"
+>"to the wind"</SPAN
+>.
+       A requester may <SPAN
+CLASS="QUOTE"
+>"ask the wind"</SPAN
+> on any flag simply by leaving the text-box blank.
+     </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="flag-types"
+>3.7.4. Two Types of Flags</A
+></H3
+><P
+>&#13;       Flags can go in two places: on an attachment, or on a bug.
+     </P
+><DIV
+CLASS="section"
+><HR><H4
+CLASS="section"
+><A
+NAME="flag-type-attachment"
+>3.7.4.1. Attachment Flags</A
+></H4
+><P
+>&#13;         Attachment flags are used to ask a question about a specific 
+         attachment on a bug.
+       </P
+><P
+>&#13;         Many Bugzilla installations use this to 
+         request that one developer <SPAN
+CLASS="QUOTE"
+>"review"</SPAN
+> another 
+         developer's code before they check it in. They attach the code to
+         a bug report, and then set a flag on that attachment called
+         <SPAN
+CLASS="QUOTE"
+>"review"</SPAN
+> to 
+         <SAMP
+CLASS="computeroutput"
+>review?boss@domain.com</SAMP
+>.
+         boss@domain.com is then notified by email that
+         he has to check out that attachment and approve it or deny it.
+       </P
 ><P
+>&#13;         For a Bugzilla user, attachment flags show up in two 
+         places:
+         <P
 ></P
-><TABLE
-CLASS="tip"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="../images/tip.gif"
-HSPACE="5"
-ALT="Tip"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
+><OL
+TYPE="1"
+><LI
 ><P
->If you can do this, updating using CVS is probably the most
-          painless method, especially if you have a lot of local changes.
-          </P
-></TD
-></TR
-></TABLE
-></DIV
+>&#13;               On the list of attachments in the <SPAN
+CLASS="QUOTE"
+>"Show Bug"</SPAN
 >
-      </P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->&#13;bash$ <B
-CLASS="command"
->cd /var/www/html/bugzilla</B
+               screen, you can see the current state of any flags that
+               have been set to ?, +, or -. You can see who asked about 
+               the flag (the requester), and who is being asked (the 
+               requestee).
+             </P
+></LI
+><LI
+><P
+>&#13;              When you <SPAN
+CLASS="QUOTE"
+>"Edit"</SPAN
+> an attachment, you can 
+              see any settable flag, along with any flags that have 
+              already been set. This <SPAN
+CLASS="QUOTE"
+>"Edit Attachment"</SPAN
+> 
+              screen is where you set flags to ?, -, +, or unset them.
+             </P
+></LI
+></OL
 >
-bash$ <B
-CLASS="command"
->cvs login</B
->
-Logging in to :pserver:anonymous@cvs-mirror.mozilla.org:2401/cvsroot
-CVS password: <B
-CLASS="command"
->anonymous</B
+       </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H4
+CLASS="section"
+><A
+NAME="flag-type-bug"
+>3.7.4.2. Bug Flags</A
+></H4
+><P
+>&#13;         Bug flags are used to set a status on the bug itself. You can 
+         see Bug Flags in the <SPAN
+CLASS="QUOTE"
+>"Show Bug"</SPAN
+> screen 
+         (<TT
+CLASS="filename"
+>editbug.cgi</TT
+>).
+       </P
+><P
+>&#13;         Only users with the ability to edit the bug may 
+         set flags on bugs. This includes the owner, reporter, and 
+         any user with the <SAMP
+CLASS="computeroutput"
+>editbugs</SAMP
+> 
+         permission.
+       </P
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="flags-admin"
+>3.7.5. Administering Flags</A
+></H3
+><P
+>&#13;       If you have the <SPAN
+CLASS="QUOTE"
+>"editcomponents"</SPAN
+> permission, you will
+       have <SPAN
+CLASS="QUOTE"
+>"Edit: ... | Flags | ..."</SPAN
+> in your page footer.
+       Clicking on that link will bring you to the <SPAN
+CLASS="QUOTE"
+>"Administer 
+       Flag Types"</SPAN
+> page. Here, you can select whether you want 
+       to create (or edit) a Bug flag, or an Attachment flag.
+     </P
+><P
+>&#13;       No matter which you choose, the interface is the same, so we'll 
+       just go over it once.
+     </P
+><DIV
+CLASS="section"
+><HR><H4
+CLASS="section"
+><A
+NAME="flags-create"
+>3.7.5.1. Creating a Flag</A
+></H4
+><P
+>&#13;          When you click on the <SPAN
+CLASS="QUOTE"
+>"Create a Flag Type for..."</SPAN
 >
-bash$ <B
-CLASS="command"
->cvs -q update -r BUGZILLA-2_16_2 -dP</B
+          link, you will be presented with a form. Here is what the felds in 
+          the form mean:
+        </P
+><DIV
+CLASS="section"
+><HR><H5
+CLASS="section"
+><A
+NAME="flags-create-field-name"
+>3.7.5.1.1. Name</A
+></H5
+><P
+>&#13;            This is the name of the flag. This will be displayed 
+            to Bugzilla users who are looking at or setting the flag. 
+            The name may consist of any valid Unicode character. 
+          </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H5
+CLASS="section"
+><A
+NAME="flags-create-field-description"
+>3.7.5.1.2. Description</A
+></H5
+><P
+>&#13;            This describes the flag in more detail. At present, this doesn't
+            whos up anywhere helpful; ideally, it would be nice to have
+            it show up as a tooltip. This field 
+            can be as long as you like, and can contain any character you want.
+          </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H5
+CLASS="section"
+><A
+NAME="flags-create-field-category"
+>3.7.5.1.3. Category</A
+></H5
+><P
+>&#13;            Default behaviour for a newly-created flag is to appear on
+            products and all components, which is why <SPAN
+CLASS="QUOTE"
+>"__Any__:__Any__"</SPAN
 >
-P checksetup.pl
-P collectstats.pl
-P globals.pl
-P docs/rel_notes.txt
-P template/en/default/list/quips.html.tmpl
-      </PRE
-></FONT
-></TD
-></TR
-></TABLE
+            is already entered in the <SPAN
+CLASS="QUOTE"
+>"Inclusions"</SPAN
+> box.
+            If this is not your desired behaviour, you must either set some
+            exclusions (for products on which you don't want the flag to appear),
+            or you must remove <SPAN
+CLASS="QUOTE"
+>"__Any__:__Any__"</SPAN
+> from the Inclusions box
+            and define products/components specifically for this flag.
+          </P
 ><P
->&#13;        <DIV
-CLASS="caution"
+>&#13;            To create an Inclusion, select a Product from the top drop-down box.
+            You may also select a specific component from the bottom drop-down box.
+            (Setting <SPAN
+CLASS="QUOTE"
+>"__Any__"</SPAN
+> for Product translates to, 
+            <SPAN
+CLASS="QUOTE"
+>"all the products in this Bugzilla"</SPAN
+>.
+            Selecting  <SPAN
+CLASS="QUOTE"
+>"__Any__"</SPAN
+> in the Component field means
+            <SPAN
+CLASS="QUOTE"
+>"all components in the selected product."</SPAN
+>) 
+            Selections made, press <SPAN
+CLASS="QUOTE"
+>"Include"</SPAN
+>, and your
+            Product/Component pairing will show up in the <SPAN
+CLASS="QUOTE"
+>"Inclusions"</SPAN
+> box on the right.
+          </P
 ><P
-></P
-><TABLE
-CLASS="caution"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="../images/caution.gif"
-HSPACE="5"
-ALT="Caution"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
+>&#13;            To create an Exclusion, the process is the same; select a Product from the
+            top drop-down box, select a specific component if you want one, and press
+            <SPAN
+CLASS="QUOTE"
+>"Exclude"</SPAN
+>. The Product/Component pairing will show up in the 
+            <SPAN
+CLASS="QUOTE"
+>"Exclusions"</SPAN
+> box on the right.
+          </P
 ><P
->If a line in the output from <B
-CLASS="command"
->cvs update</B
+>&#13;            This flag <EM
+>will</EM
+> and <EM
+>can</EM
+> be set for any
+            products/components that appearing in the <SPAN
+CLASS="QUOTE"
+>"Inclusions"</SPAN
+> box 
+            (or which fall under the appropriate <SPAN
+CLASS="QUOTE"
+>"__Any__"</SPAN
+>). 
+            This flag <EM
+>will not</EM
+> appear (and therefore cannot be set) on
+            any products appearing in the <SPAN
+CLASS="QUOTE"
+>"Exclusions"</SPAN
+> box.
+            <EM
+> IMPORTANT: Exclusions override inclusions.</EM
 >
-          begins with a <SAMP
-CLASS="computeroutput"
->C</SAMP
-> that represents a
-          file with local changes that CVS was unable to properly merge. You
-          need to resolve these conflicts manually before Bugzilla (or at
-          least the portion using that file) will be usable.
           </P
-></TD
-></TR
-></TABLE
+><P
+>&#13;            You may select a Product without selecting a specific Component,
+            but it is illegal to select a Component without a Product, or to select a
+            Component that does not belong to the named Product. Doing so as of
+            this writing (2.18rc3) will raise an error... even if all your products
+            have a component by that name.
+          </P
+><P
+><EM
+>Example:</EM
+> Let's say you have a product called 
+            <SPAN
+CLASS="QUOTE"
+>"Jet Plane"</SPAN
+> that has thousands of components. You want
+            to be able to ask if a problem should be fixed in the next model of 
+            plane you release. We'll call the flag <SPAN
+CLASS="QUOTE"
+>"fixInNext"</SPAN
+>.
+            But, there's one component in <SPAN
+CLASS="QUOTE"
+>"Jet Plane,"</SPAN
+> 
+            called <SPAN
+CLASS="QUOTE"
+>"Pilot."</SPAN
+> It doesn't make sense to release a 
+            new pilot, so you don't want to have the flag show up in that component.
+            So, you include <SPAN
+CLASS="QUOTE"
+>"Jet Plane:__Any__"</SPAN
+> and you exclude 
+            <SPAN
+CLASS="QUOTE"
+>"Jet Plane:Pilot"</SPAN
+>.
+          </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H5
+CLASS="section"
+><A
+NAME="flags-create-field-sortkey"
+>3.7.5.1.4. Sort Key</A
+></H5
+><P
+>&#13;            Flags normally show up in alphabetical order. If you want them to 
+            show up in a different order, you can use this key set the order on each flag. 
+            Flags with a lower sort key will appear before flags with a higher
+            sort key. Flags that have the same sort key will be sorted alphabetically,
+            but they will still be after flags with a lower sort key, and before flags
+            with a higher sort key.
+          </P
+><P
+>&#13;            <EM
+>Example:</EM
+> I have AFlag (Sort Key 100), BFlag (Sort Key 10), 
+            CFlag (Sort Key 10), and DFlag (Sort Key 1). These show up in
+            the order: DFlag, BFlag, CFlag, AFlag.
+          </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H5
+CLASS="section"
+><A
+NAME="flags-create-field-active"
+>3.7.5.1.5. Active</A
+></H5
+><P
+>&#13;            Sometimes, you might want to keep old flag information in the 
+            Bugzilla database, but stop users from setting any new flags of this type.
+            To do this, uncheck <SPAN
+CLASS="QUOTE"
+>"active"</SPAN
+>. Deactivated
+            flags will still show up in the UI if they are ?, +, or -, but they
+            may only be cleared (unset), and cannot be changed to a new value.
+            Once a deactivated flag is cleared, it will completely disappear from a 
+            bug/attachment, and cannot be set again.
+          </P
 ></DIV
+><DIV
+CLASS="section"
+><HR><H5
+CLASS="section"
+><A
+NAME="flags-create-field-requestable"
+>3.7.5.1.6. Requestable</A
+></H5
+><P
+>&#13;            New flags are, by default, <SPAN
+CLASS="QUOTE"
+>"requestable"</SPAN
+>, meaning that they
+            offer users the <SPAN
+CLASS="QUOTE"
+>"?"</SPAN
+> option, as well as <SPAN
+CLASS="QUOTE"
+>"+"</SPAN
 >
-
-        <DIV
-CLASS="note"
+            and <SPAN
+CLASS="QUOTE"
+>"-"</SPAN
+>.
+            To remove the ? option, uncheck <SPAN
+CLASS="QUOTE"
+>"requestable"</SPAN
+>.
+          </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H5
+CLASS="section"
+><A
+NAME="flags-create-field-cclist"
+>3.7.5.1.7. CC List</A
+></H5
+><P
+>&#13;            If you want certain users to be notified every time this flag is 
+            set to ?, -, +, or unset, add them here. This is a comma-separated 
+            list of email addresses that need not be restricted to Bugzilla usernames..
+          </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H5
+CLASS="section"
+><A
+NAME="flags-create-field-specific"
+>3.7.5.1.8. Specifically Requestable</A
+></H5
+><P
+>&#13;            By default this box is checked for new flags, meaning that users may make
+            flag requests of specific individuals. Unchecking this box will remove the
+            text box next to a flag; if it is still requestable, then requests may
+            only be made <SPAN
+CLASS="QUOTE"
+>"to the wind."</SPAN
+> Removing this after specific
+            requests have been made will not remove those requests; that data will
+            stay in the database (though it will no longer appear to the user).
+          </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H5
+CLASS="section"
+><A
+NAME="flags-create-field-multiplicable"
+>3.7.5.1.9. Multiplicable</A
+></H5
+><P
+>&#13;            Any flag with <SPAN
+CLASS="QUOTE"
+>"Multiplicable"</SPAN
+> set (default for new flags is 'on')
+            may be set more than once. After being set once, an unset flag
+            of the same type will appear below it with <SPAN
+CLASS="QUOTE"
+>"addl."</SPAN
+> (short for 
+            <SPAN
+CLASS="QUOTE"
+>"additional"</SPAN
+>) before the name. There is no limit to the number of
+            times a Multiplicable flags may be set on the same bug/attachment.
+          </P
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H4
+CLASS="section"
+><A
+NAME="flags-delete"
+>3.7.5.2. Deleting a Flag</A
+></H4
+><P
+>&#13;          When you are at the <SPAN
+CLASS="QUOTE"
+>"Administer Flag Types"</SPAN
+> screen,
+          you will be presented with a list of Bug flags and a list of Attachment
+          Flags.
+        </P
+><P
+>&#13;          To delete a flag, click on the <SPAN
+CLASS="QUOTE"
+>"Delete"</SPAN
+> link next to
+          the flag description.
+        </P
+><DIV
+CLASS="warning"
 ><P
 ></P
 ><TABLE
-CLASS="note"
+CLASS="warning"
 WIDTH="100%"
 BORDER="0"
 ><TR
@@ -5906,152 +6949,202 @@ WIDTH="25"
 ALIGN="CENTER"
 VALIGN="TOP"
 ><IMG
-SRC="../images/note.gif"
+SRC="../images/warning.gif"
 HSPACE="5"
-ALT="Note"></TD
+ALT="Warning"></TD
 ><TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->You also need to run <B
-CLASS="command"
->./checksetup.pl</B
->
-          before your Bugzilla upgrade will be complete.
+>&#13;            Once you delete a flag, it is <EM
+>gone</EM
+> from
+            your Bugzilla. All the data for that flag will be deleted.
+            Everywhere that flag was set, it will disappear,
+            and you cannot get that data back. If you want to keep flag data,
+            but don't want anybody to set any new flags or change current flags,
+            unset <SPAN
+CLASS="QUOTE"
+>"active"</SPAN
+> in the flag Edit form.
           </P
 ></TD
 ></TR
 ></TABLE
 ></DIV
->
-      </P
 ></DIV
 ><DIV
-CLASS="example"
-><A
-NAME="upgrade-tarball"
-></A
-><P
-><B
->Example 3-2. Upgrading using the tarball</B
-></P
+CLASS="section"
+><HR><H4
+CLASS="section"
+><A
+NAME="flags-edit"
+>3.7.5.3. Editing a Flag</A
+></H4
 ><P
->If you are unable or unwilling to use CVS, another option that's
-      always available is to download the latest tarball. This is the most
-      difficult option to use, especially if you have local changes.
-      </P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->&#13;bash$ <B
-CLASS="command"
->cd /var/www/html</B
->
-bash$ <B
-CLASS="command"
->wget ftp://ftp.mozilla.org/pub/webtools/bugzilla-2.16.2.tar.gz</B
->
-<EM
->Output omitted</EM
->
-bash$ <B
-CLASS="command"
->tar xzvf bugzilla-2.16.2.tar.gz</B
->
-bugzilla-2.16.2/
-bugzilla-2.16.2/.cvsignore
-bugzilla-2.16.2/1x1.gif
-<EM
->Output truncated</EM
->
-bash$ <B
-CLASS="command"
->cd bugzilla-2.16.2</B
->
-bash$ <B
-CLASS="command"
->cp ../bugzilla/localconfig* .</B
->
-bash$ <B
-CLASS="command"
->cp -r ../bugzilla/data .</B
->
-bash$ <B
-CLASS="command"
->cd ..</B
->
-bash$ <B
-CLASS="command"
->mv bugzilla bugzilla.old</B
->
-bash$ <B
-CLASS="command"
->mv bugzilla-2.16.2 bugzilla</B
->
-bash$ <B
-CLASS="command"
->cd bugzilla</B
->
-bash$ <B
-CLASS="command"
->./checksetup.pl</B
->
-<EM
->Output omitted</EM
+>&#13;          To edit a flag's properties, just click on the <SPAN
+CLASS="QUOTE"
+>"Edit"</SPAN
 >
-      </PRE
-></FONT
-></TD
-></TR
-></TABLE
+          link next to the flag's description. That will take you to the same
+          form described in the <SPAN
+CLASS="QUOTE"
+>"Creating a Flag"</SPAN
+> section.
+        </P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="voting"
+>3.8. Voting</A
+></H2
 ><P
->&#13;        <DIV
-CLASS="warning"
+>Voting allows users to be given a pot of votes which they can allocate
+    to bugs, to indicate that they'd like them fixed. 
+    This allows developers to gauge
+    user need for a particular enhancement or bugfix. By allowing bugs with
+    a certain number of votes to automatically move from "UNCONFIRMED" to
+    "NEW", users of the bug system can help high-priority bugs garner
+    attention so they don't sit for a long time awaiting triage.</P
+><P
+>To modify Voting settings:</P
 ><P
 ></P
-><TABLE
-CLASS="warning"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="../images/warning.gif"
-HSPACE="5"
-ALT="Warning"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
+><OL
+TYPE="1"
+><LI
 ><P
->The <B
-CLASS="command"
->cp</B
-> commands both end with periods which
-          is a very important detail, it tells the shell that the destination
-          directory is the current working directory. Also, the period at the
-          beginning of the <B
-CLASS="command"
->./checksetup.pl</B
-> is important and
-          can not be omitted.
-          </P
-></TD
-></TR
-></TABLE
+>Navigate to the "Edit product" screen for the Product you
+        wish to modify</P
+></LI
+><LI
+><P
+><EM
+>Maximum Votes per person</EM
+>:
+        Setting this field to "0" disables voting.</P
+></LI
+><LI
+><P
+><EM
+>Maximum Votes a person can put on a single
+         bug</EM
+>: 
+         It should probably be some number lower than the
+        "Maximum votes per person". Don't set this field to "0" if
+        "Maximum votes per person" is non-zero; that doesn't make
+        any sense.</P
+></LI
+><LI
+><P
+><EM
+>Number of votes a bug in this product needs to
+        automatically get out of the UNCONFIRMED state</EM
+>: 
+        Setting this field to "0" disables the automatic move of
+        bugs from UNCONFIRMED to NEW. 
+        </P
+></LI
+><LI
+><P
+>Once you have adjusted the values to your preference, click
+        "Update".</P
+></LI
+></OL
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="quips"
+>3.9. Quips</A
+></H2
+><P
+>&#13;      Quips are small text messages that can be configured to appear
+      next to search results. A Bugzilla installation can have its own specific
+      quips. Whenever a quip needs to be displayed, a random selection
+      is made from the pool of already existing quips.
+    </P
+><P
+>&#13;      Quips are controlled by the <EM
+>enablequips</EM
+> parameter.
+      It has several possible values: on, approved, frozen or off.
+      In order to enable quips approval you need to set this parameter
+      to "approved". In this way, users are free to submit quips for
+      addition but an administrator must explicitly approve them before
+      they are actually used.
+    </P
+><P
+>&#13;      In order to see the user interface for the quips, it is enough to click
+      on a quip when it is displayed together with the search results. Or
+      it can be seen directly in the browser by visiting the quips.cgi URL
+      (prefixed with the usual web location of the Bugzilla installation).
+      Once the quip interface is displayed, it is enough to click the
+      "view and edit the whole quip list" in order to see the administration
+      page. A page with all the quips available in the database will
+      be displayed.
+    </P
+><P
+>&#13;      Next to each tip there is a checkbox, under the
+      "Approved" column. Quips who have this checkbox checked are
+      already approved and will appear next to the search results.
+      The ones that have it unchecked are still preserved in the
+      database but they will not appear on search results pages.
+      User submitted quips have initially the checkbox unchecked.
+    </P
+><P
+>&#13;      Also, there is a delete link next to each quip,
+      which can be used in order to permanently delete a quip.
+    </P
 ></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="groups"
+>3.10. Groups and Group Security</A
+></H2
+><P
+>Groups allow the administrator
+    to isolate bugs or products that should only be seen by certain people.
+    The association between products and groups is controlled from
+    the product edit page under <SPAN
+CLASS="QUOTE"
+>"Edit Group Controls."</SPAN
 >
-
-        <DIV
+    </P
+><P
+>&#13;    If the makeproductgroups param is on, a new group will be automatically
+    created for every new product. It is primarily available for backward
+    compatibility with older sites. 
+    </P
+><P
+>&#13;      Note that group permissions are such that you need to be a member
+      of <EM
+>all</EM
+> the groups a bug is in, for whatever
+      reason, to see that bug. Similarly, you must be a member 
+      of <EM
+>all</EM
+> of the entry groups for a product 
+      to add bugs to a product and you must be a member 
+      of <EM
+>all</EM
+> of the canedit groups for a product
+      in order to make <EM
+>any</EM
+> change to bugs in that
+      product.
+    </P
+><DIV
 CLASS="note"
 ><P
 ></P
@@ -6072,229 +7165,79 @@ ALT="Note"></TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->You will now have to reapply any changes you have made to your
-          local installation manually.
-          </P
+>&#13;        By default, bugs can also be seen by the Assignee, the Reporter, and 
+        by everyone on the CC List, regardless of whether or not the bug would 
+        typically be viewable by them. Visibility to the Reporter and CC List can 
+        be overridden (on a per-bug basis) by bringing up the bug, finding the 
+        section that starts with <SPAN
+CLASS="QUOTE"
+>"Users in the roles selected below..."</SPAN
+>
+        and un-checking the box next to either 'Reporter' or 'CC List' (or both).
+      </P
 ></TD
 ></TR
 ></TABLE
 ></DIV
->
-      </P
-></DIV
 ><DIV
-CLASS="example"
+CLASS="section"
+><HR><H3
+CLASS="section"
 ><A
-NAME="upgrade-patches"
-></A
+NAME="AEN1336"
+>3.10.1. Creating Groups</A
+></H3
+><P
+>To create Groups:</P
 ><P
-><B
->Example 3-3. Upgrading using patches</B
 ></P
+><OL
+TYPE="1"
+><LI
 ><P
->The Bugzilla team will normally make a patch file available for
-      revisions to go from the most recent revision to the new one. You could
-      also read the release notes and grab the patches attached to the
-      mentioned bug, but it is safer to use the released patch file as
-      sometimes patches get changed before they get checked in. 
-      It is also theoretically possible to
-      scour the fixed bug list and pick and choose which patches to apply
-      from a point release, but this is not recommended either as what you'll
-      end up with is a hodge podge Bugzilla that isn't really any version.
-      This would also make it more difficult to upgrade in the future.
-      </P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->&#13;bash$ <B
-CLASS="command"
->cd /var/www/html/bugzilla</B
->
-bash$ <B
-CLASS="command"
->wget ftp://ftp.mozilla.org/pub/webtools/bugzilla-2.16.1-to-2.16.2.diff.gz</B
->
-<EM
->Output omitted</EM
->
-bash$ <B
-CLASS="command"
->gunzip bugzilla-2.16.1-to-2.16.2.diff.gz</B
->
-bash$ <B
-CLASS="command"
->patch -p1 &#60; bugzilla-2.16.1-to-2.16.2.diff</B
->
-patching file checksetup.pl
-patching file collectstats.pl
-patching file globals.pl
-      </PRE
-></FONT
-></TD
-></TR
-></TABLE
-><P
->&#13;        <DIV
-CLASS="caution"
-><P
-></P
-><TABLE
-CLASS="caution"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="../images/caution.gif"
-HSPACE="5"
-ALT="Caution"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->If you do this, beware that this doesn't change the entires in
-          your <TT
-CLASS="filename"
->CVS</TT
-> directory so it may make
-          updates using CVS (<A
-HREF="#upgrade-cvs"
->Example 3-1</A
->) more difficult in the
-          future.
-          </P
-></TD
-></TR
-></TABLE
-></DIV
->
-      </P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="chapter"
-><HR><H1
-><A
-NAME="customization"
-></A
->Chapter 4. Customising Bugzilla</H1
-><DIV
-CLASS="section"
-><H2
-CLASS="section"
-><A
-NAME="cust-templates"
->4.1. Template Customization</A
-></H2
-><P
->&#13;      Administrators can configure the look and feel of Bugzilla without
-      having to edit Perl files or face the nightmare of massive merge
-      conflicts when they upgrade to a newer version in the future.
-    </P
-><P
->&#13;      Templatization also makes localized versions of Bugzilla possible, 
-      for the first time. It's possible to have Bugzilla's UI language 
-      determined by the user's browser. More information is available in
-      <A
-HREF="#template-http-accept"
->Section 4.1.5</A
->.
-    </P
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="AEN1210"
->4.1.1. What to Edit</A
-></H3
-><P
->&#13;        The template directory structure is that there's a top level directory,
-        <TT
-CLASS="filename"
->template</TT
->, which contains a directory for
-        each installed localization. The default English templates are
-        therefore in <TT
-CLASS="filename"
->en</TT
->. Underneath that, there
-        is the <TT
-CLASS="filename"
->default</TT
-> directory and optionally the 
-        <TT
-CLASS="filename"
->custom</TT
-> directory. The <TT
-CLASS="filename"
->default</TT
+>Select the <SPAN
+CLASS="QUOTE"
+>"groups"</SPAN
 >
-        directory contains all the templates shipped with Bugzilla, whereas
-        the <TT
-CLASS="filename"
->custom</TT
-> directory does not exist at first and
-        must be created if you want to use it.
-      </P
-><P
->&#13;        There are two different ways of editing Bugzilla's templates,
-        and which you use depends mainly on the method you plan to use to
-        upgrade Bugzilla. 
-        The first method of making customizations is to directly edit the
-        templates in <TT
-CLASS="filename"
->template/en/default</TT
->. This is
-        probably the best method for small changes if you are going to use
-        the CVS method of upgrading, because if you then execute a
-        <B
-CLASS="command"
->cvs update</B
->, any template fixes will get
-        automagically merged into your modified versions.
-      </P
+          link in the footer.</P
+></LI
+><LI
 ><P
->&#13;        If you use this method, your installation will break if CVS conflicts
-        occur.
-      </P
+>Take a moment to understand the instructions on the <SPAN
+CLASS="QUOTE"
+>"Edit
+          Groups"</SPAN
+> screen, then select the <SPAN
+CLASS="QUOTE"
+>"Add Group"</SPAN
+> link.</P
+></LI
+><LI
 ><P
->&#13;        The other method is to copy the templates to be modified into a 
-        mirrored directory
-        structure under <TT
-CLASS="filename"
->template/en/custom</TT
->.  The templates
-        in this directory automatically override those in default.  
-        This is the technique you
-        need to use if you use the overwriting method of upgrade, because
-        otherwise your changes will be lost.  This method is also better if
-        you are using the CVS method of upgrading and are going to make major
-        changes, because it is guaranteed that the contents of this directory
-        will not be touched during an upgrade, and you can then decide whether
-        to continue using your own templates, or make the effort to merge your
-        changes into the new versions by hand.
-      </P
+>Fill out the <SPAN
+CLASS="QUOTE"
+>"Group"</SPAN
+>, <SPAN
+CLASS="QUOTE"
+>"Description"</SPAN
+>, 
+           and <SPAN
+CLASS="QUOTE"
+>"User RegExp"</SPAN
+> fields. 
+           <SPAN
+CLASS="QUOTE"
+>"User RegExp"</SPAN
+> allows you to automatically
+           place all users who fulfill the Regular Expression into the new group. 
+           When you have finished, click <SPAN
+CLASS="QUOTE"
+>"Add"</SPAN
+>.</P
 ><P
->&#13;        If you use this method, your installation may break if incompatible
-        changes are made to the template interface.  If such changes are made
-        they will be documented in the release notes, provided you are using a
-        stable release of Bugzilla.  If you use using unstable code, you will
-        need to deal with this one yourself, although if possible the changes
-        will be mentioned before they occur in the deprecations section of the
-        previous stable release's release notes.
-      </P
+>Users whose email addresses match the regular expression
+           will automatically be members of the group as long as their 
+           email addresses continue to match the regular expression.</P
 ><DIV
 CLASS="note"
 ><P
@@ -6316,23 +7259,21 @@ ALT="Note"></TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->&#13;          Don't directly edit the compiled templates in 
-          <TT
-CLASS="filename"
->data/template/*</TT
-> - your
-          changes will be lost when Template Toolkit recompiles them.
-        </P
+>This is a change from 2.16 where the regular expression
+             resulted in a user acquiring permanent membership in a group.
+             To remove a user from a group the user was in due to a regular
+             expression in version 2.16 or earlier, the user must be explicitly
+             removed from the group.</P
 ></TD
 ></TR
 ></TABLE
 ></DIV
 ><DIV
-CLASS="note"
+CLASS="warning"
 ><P
 ></P
 ><TABLE
-CLASS="note"
+CLASS="warning"
 WIDTH="100%"
 BORDER="0"
 ><TR
@@ -6341,292 +7282,220 @@ WIDTH="25"
 ALIGN="CENTER"
 VALIGN="TOP"
 ><IMG
-SRC="../images/note.gif"
+SRC="../images/warning.gif"
 HSPACE="5"
-ALT="Note"></TD
+ALT="Warning"></TD
 ><TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->It is recommended that you run <B
-CLASS="command"
->./checksetup.pl</B
->
-        after any template edits, especially if you've created a new file in
-        the <TT
-CLASS="filename"
->custom</TT
-> directory.
-        </P
+>If specifying a domain in the regexp, make sure you end
+             the regexp with a $. Otherwise, when granting access to 
+             "@mycompany\.com", you will allow access to 
+             'badperson@mycompany.com.cracker.net'. You need to use 
+             '@mycompany\.com$' as the regexp.</P
 ></TD
 ></TR
 ></TABLE
 ></DIV
+></LI
+><LI
+><P
+>If you plan to use this group to directly control
+          access to bugs, check the "use for bugs" box. Groups
+          not used for bugs are still useful because other groups
+          can include the group as a whole.</P
+></LI
+><LI
+><P
+>After you add your new group, edit the new group.  On the
+          edit page, you can specify other groups that should be included
+          in this group and which groups should be permitted to add and delete
+          users from this group.</P
+></LI
+></OL
 ></DIV
 ><DIV
 CLASS="section"
 ><HR><H3
 CLASS="section"
 ><A
-NAME="AEN1233"
->4.1.2. How To Edit Templates</A
+NAME="AEN1363"
+>3.10.2. Assigning Users to Groups</A
 ></H3
-><DIV
-CLASS="note"
+><P
+>Users can become a member of a group in several ways.</P
 ><P
 ></P
-><TABLE
-CLASS="note"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="../images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
+><OL
+TYPE="1"
+><LI
 ><P
->&#13;          If you are making template changes that you intend on submitting back
-          for inclusion in standard Bugzilla, you should read the relevant
-          sections of the 
-          <A
-HREF="http://www.bugzilla.org/developerguide.html"
-TARGET="_top"
->Developers'
-          Guide</A
->.
-        </P
-></TD
-></TR
-></TABLE
-></DIV
+>The user can be explicitly placed in the group by editing
+          the user's own profile</P
+></LI
+><LI
 ><P
->&#13;        The syntax of the Template Toolkit language is beyond the scope of
-        this guide. It's reasonably easy to pick up by looking at the current 
-        templates; or, you can read the manual, available on the
-        <A
-HREF="http://www.template-toolkit.org"
-TARGET="_top"
->Template Toolkit home
-        page</A
->.
-      </P
-><P
->&#13;        One thing you should take particular care about is the need
-        to properly HTML filter data that has been passed into the template.
-        This means that if the data can possibly contain special HTML characters
-        such as &#60;, and the data was not intended to be HTML, they need to be
-        converted to entity form, ie &#38;lt;.  You use the 'html' filter in the
-        Template Toolkit to do this.  If you forget, you may open up
-        your installation to cross-site scripting attacks.
-      </P
-><P
->&#13;        Also note that Bugzilla adds a few filters of its own, that are not
-        in standard Template Toolkit.  In particular, the 'url_quote' filter
-        can convert characters that are illegal or have special meaning in URLs,
-        such as &#38;, to the encoded form, ie %26.  This actually encodes most
-        characters (but not the common ones such as letters and numbers and so
-        on), including the HTML-special characters, so there's never a need to
-        HTML filter afterwards.
-      </P
+>The group can include another group of which the user is
+          a member.</P
+></LI
+><LI
 ><P
->&#13;        Editing templates is a good way of doing a "poor man's custom fields".
-        For example, if you don't use the Status Whiteboard, but want to have
-        a free-form text entry box for "Build Identifier", then you can just
-        edit the templates to change the field labels. It's still be called
-        status_whiteboard internally, but your users don't need to know that.
-      </P
+>The user's email address can match a regular expression
+          that the group specifies to automatically grant membership to
+          the group.</P
+></LI
+></OL
 ></DIV
 ><DIV
 CLASS="section"
 ><HR><H3
 CLASS="section"
 ><A
-NAME="AEN1243"
->4.1.3. Template Formats</A
+NAME="AEN1373"
+>3.10.3. Assigning Group Controls to Products</A
 ></H3
 ><P
->&#13;        Some CGIs have the ability to use more than one template. For
-        example, buglist.cgi can output bug lists as RDF or two
-        different forms of HTML (complex and simple). (Try this out
-        by appending <TT
-CLASS="filename"
->&#38;format=simple</TT
-> to a buglist.cgi
-        URL on your Bugzilla installation.) This
-        mechanism, called template 'formats', is extensible.
+>&#13;      On the product edit page, there is a page to edit the 
+      <SPAN
+CLASS="QUOTE"
+>"Group Controls"</SPAN
+> 
+      for a product. This  allows you to 
+      configure how a group relates to the product. 
+      Groups may be applicable, default, 
+      and mandatory as well as used to control entry 
+      or used to make bugs in the product
+      totally read-only unless the group restrictions are met. 
       </P
 ><P
->&#13;        To see if a CGI supports multiple output formats, grep the
-        CGI for "GetFormat". If it's not present, adding
-        multiple format support isn't too hard - see how it's done in
-        other CGIs, e.g. config.cgi.
+>&#13;      For each group, it is possible to specify if membership in that
+      group is...
       </P
 ><P
->&#13;        To make a new format template for a CGI which supports this, 
-        open a current template for
-        that CGI and take note of the INTERFACE comment (if present.) This 
-        comment defines what variables are passed into this template. If 
-        there isn't one, I'm afraid you'll have to read the template and
-        the code to find out what information you get. 
-      </P
+></P
+><OL
+TYPE="1"
+><LI
 ><P
->&#13;        Write your template in whatever markup or text style is appropriate.
-      </P
+>&#13;          required for bug entry, 
+          </P
+></LI
+><LI
 ><P
->&#13;        You now need to decide what content type you want your template
-        served as. Open up the <TT
-CLASS="filename"
->localconfig</TT
-> file and find the 
-        <TT
-CLASS="filename"
->$contenttypes</TT
+>&#13;          Not applicable to this product(NA),
+          a possible restriction for a member of the 
+          group to place on a bug in this product(Shown),
+          a default restriction for a member of the 
+          group to place on a bug in this product(Default),
+          or a mandatory restriction to be placed on bugs 
+          in this product(Mandatory).
+          </P
+></LI
+><LI
+><P
+>&#13;          Not applicable by non-members to this product(NA),
+          a possible restriction for a non-member of the 
+          group to place on a bug in this product(Shown),
+          a default restriction for a non-member of the 
+          group to place on a bug in this product(Default),
+          or a mandatory restriction to be placed on bugs 
+          in this product when entered by a non-member(Mandatory).
+          </P
+></LI
+><LI
+><P
+>&#13;          required in order to make <EM
+>any</EM
+> change
+          to bugs in this product <EM
+>including comments.</EM
 >
-        variable. If your content type is not there, add it. Remember
-        the three- or four-letter tag assigned to you content type. 
-        This tag will be part of the template filename.
-      </P
+          </P
+></LI
+></OL
 ><P
->&#13;        Save the template as <TT
-CLASS="filename"
->&#60;stubname&#62;-&#60;formatname&#62;.&#60;contenttypetag&#62;.tmpl</TT
->. 
-        Try out the template by calling the CGI as 
-        <TT
-CLASS="filename"
->&#60;cginame&#62;.cgi?format=&#60;formatname&#62;</TT
-> .
-      </P
+>These controls are often described in this order, so a 
+      product that requires a user to be a member of group "foo" 
+      to enter a bug and then requires that the bug stay resticted
+      to group "foo" at all times and that only members of group "foo"
+      can edit the bug even if they otherwise could see the bug would 
+      have its controls summarized by...</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+> 
+foo: ENTRY, MANDATORY/MANDATORY, CANEDIT
+      </PRE
+></FONT
+></TD
+></TR
+></TABLE
 ></DIV
 ><DIV
 CLASS="section"
 ><HR><H3
 CLASS="section"
 ><A
-NAME="AEN1256"
->4.1.4. Particular Templates</A
+NAME="AEN1391"
+>3.10.4. Common Applications of Group Controls</A
 ></H3
+><DIV
+CLASS="section"
+><H4
+CLASS="section"
+><A
+NAME="AEN1393"
+>3.10.4.1. General User Access With Security Group</A
+></H4
 ><P
->&#13;        There are a few templates you may be particularly interested in
-        customizing for your installation.
-      </P
-><P
->&#13;        <B
-CLASS="command"
->index.html.tmpl</B
->:
-        This is the Bugzilla front page.
-      </P
-><P
->&#13;        <B
-CLASS="command"
->global/header.html.tmpl</B
->:
-        This defines the header that goes on all Bugzilla pages.
-        The header includes the banner, which is what appears to users
-        and is probably what you want to edit instead.  However the
-        header also includes the HTML HEAD section, so you could for
-        example add a stylesheet or META tag by editing the header.
-      </P
-><P
->&#13;        <B
-CLASS="command"
->global/banner.html.tmpl</B
->:
-        This contains the "banner", the part of the header that appears
-        at the top of all Bugzilla pages.  The default banner is reasonably
-        barren, so you'll probably want to customize this to give your
-        installation a distinctive look and feel.  It is recommended you
-        preserve the Bugzilla version number in some form so the version 
-        you are running can be determined, and users know what docs to read.
-      </P
-><P
->&#13;        <B
-CLASS="command"
->global/footer.html.tmpl</B
->:
-        This defines the footer that goes on all Bugzilla pages.  Editing
-        this is another way to quickly get a distinctive look and feel for
-        your Bugzilla installation.
-      </P
-><P
->&#13;        <B
-CLASS="command"
->bug/create/user-message.html.tmpl</B
->:
-        This is a message that appears near the top of the bug reporting page.
-        By modifying this, you can tell your users how they should report
-        bugs.
-      </P
-><P
->&#13;        <B
-CLASS="command"
->bug/create/create.html.tmpl</B
-> and
-        <B
-CLASS="command"
->bug/create/comment.txt.tmpl</B
->:
-        You may wish to get bug submitters to give certain bits of structured
-        information, each in a separate input widget, for which there is not a
-        field in the database. The bug entry system has been designed in an
-        extensible fashion to enable you to define arbitrary fields and widgets,
-        and have their values appear formatted in the initial
-        Description, rather than in database fields. An example of this
-        is the mozilla.org 
-        <A
-HREF="http://bugzilla.mozilla.org/enter_bug.cgi?format=guided"
-TARGET="_top"
->guided 
-        bug submission form</A
->.
-      </P
-><P
->&#13;        To make this work, create a custom template for 
-        <TT
-CLASS="filename"
->enter_bug.cgi</TT
-> (the default template, on which you
-        could base it, is <TT
-CLASS="filename"
->create.html.tmpl</TT
->),
-        and either call it <TT
-CLASS="filename"
->create.html.tmpl</TT
-> or use a format and
-        call it <TT
-CLASS="filename"
->create-&#60;formatname&#62;.html.tmpl</TT
->.
-        Put it in the <TT
-CLASS="filename"
->custom/bug/create</TT
->
-        directory. In it, add widgets for each piece of information you'd like
-        collected - such as a build number, or set of steps to reproduce.
-      </P
-><P
->&#13;        Then, create a template like 
-        <TT
-CLASS="filename"
->custom/bug/create/comment.txt.tmpl</TT
->, also named
-        after your format if you are using one, which
-        references the form fields you have created. When a bug report is
-        submitted, the initial comment attached to the bug report will be
-        formatted according to the layout of this template.
-      </P
+>To permit any user to file bugs in each product (A, B, C...) 
+      and to permit any user to submit those bugs into a security
+      group....</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+> 
+Product A...
+security: SHOWN/SHOWN
+Product B...
+security: SHOWN/SHOWN
+Product C...
+security: SHOWN/SHOWN
+      </PRE
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="section"
+><HR><H4
+CLASS="section"
+><A
+NAME="AEN1397"
+>3.10.4.2. General User Access With A Security Product</A
+></H4
 ><P
->&#13;        For example, if your enter_bug template had a field
-        <TABLE
+>To permit any user to file bugs in a Security product
+      while keeping those bugs from becoming visible to anyone
+      outside the securityworkers group unless a member of the
+      securityworkers group removes that restriction....</P
+><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -6636,14 +7505,48 @@ WIDTH="100%"
 COLOR="#000000"
 ><PRE
 CLASS="programlisting"
->&#60;input type="text" name="buildid" size="30"&#62;</PRE
+> 
+Product Security...
+securityworkers: DEFAULT/MANDATORY
+      </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
->
-        and then your comment.txt.tmpl had
-        <TABLE
+></DIV
+><DIV
+CLASS="section"
+><HR><H4
+CLASS="section"
+><A
+NAME="AEN1401"
+>3.10.4.3. Product Isolation With Common Group</A
+></H4
+><P
+>To permit users of product A to access the bugs for
+      product A, users of product B to access product B, and support
+      staff to access both, 3 groups are needed</P
+><P
+></P
+><OL
+TYPE="1"
+><LI
+><P
+>Support: Contains members of the support staff.</P
+></LI
+><LI
+><P
+>AccessA: Contains users of product A and the Support group.</P
+></LI
+><LI
+><P
+>AccessB: Contains users of product B and the Support group.</P
+></LI
+></OL
+><P
+>Once these 3 groups are defined, the products group controls
+      can be set to..</P
+><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -6653,14 +7556,22 @@ WIDTH="100%"
 COLOR="#000000"
 ><PRE
 CLASS="programlisting"
->BuildID: [% form.buildid %]</PRE
+>&#13;Product A...
+AccessA: ENTRY, MANDATORY/MANDATORY
+Product B...
+AccessB: ENTRY, MANDATORY/MANDATORY
+      </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
->
-        then
-        <TABLE
+><P
+>Optionally, the support group could be permitted to make
+      bugs inaccessible to the users and could be permitted to publish
+      bugs relevant to all users in a common product that is read-only
+      to anyone outside the support group. That configuration could
+      be...</P
+><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -6670,259 +7581,186 @@ WIDTH="100%"
 COLOR="#000000"
 ><PRE
 CLASS="programlisting"
->BuildID: 20020303</PRE
+>&#13;Product A...
+AccessA: ENTRY, MANDATORY/MANDATORY
+Support: SHOWN/NA
+Product B...
+AccessB: ENTRY, MANDATORY/MANDATORY
+Support: SHOWN/NA
+Product Common...
+Support: ENTRY, DEFAULT/MANDATORY, CANEDIT
+      </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
->
-        would appear in the initial checkin comment.
-      </P
+></DIV
+></DIV
 ></DIV
 ><DIV
 CLASS="section"
-><HR><H3
+><HR><H2
 CLASS="section"
 ><A
-NAME="template-http-accept"
->4.1.5. Configuring Bugzilla to Detect the User's Language</A
-></H3
+NAME="upgrading"
+>3.11. Upgrading to New Releases</A
+></H2
+><DIV
+CLASS="warning"
 ><P
->Bugzilla honours the user's Accept: HTTP header. You can install
-      templates in other languages, and Bugzilla will pick the most appropriate
-      according to a priority order defined by you. Many
-      language templates can be obtained from <A
-HREF="http://www.bugzilla.org/download.html#localizations"
-TARGET="_top"
->http://www.bugzilla.org/download.html#localizations</A
->. Instructions
-      for submitting new languages are also available from that location.
-      </P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
 ><P
->After untarring the localizations (or creating your own) in the 
-      <TT
-CLASS="filename"
->BUGZILLA_ROOT/template</TT
-> directory,
-      you must update the <VAR
-CLASS="option"
->languages</VAR
-> parameter to contain any
-      localizations you'd like to permit. You may also wish to set the
-      <VAR
-CLASS="option"
->defaultlanguage</VAR
-> parameter to something other than
-      <SPAN
-CLASS="QUOTE"
->"en"</SPAN
-> if you don't want Engish to be the default language.
+>Upgrading is a one-way process. You should backup your database
+      and current Bugzilla directory before attempting the upgrade. If you wish
+      to revert to the old Bugzilla version for any reason, you will have to
+      restore from these backups.
       </P
+></TD
+></TR
+></TABLE
 ></DIV
-></DIV
-><DIV
-CLASS="section"
-><HR><H2
-CLASS="section"
-><A
-NAME="cust-hooks"
->4.2. Template Hooks</A
-></H2
-><P
->&#13;      Template hooks are a way for extensions to Bugzilla to insert code
-      into the standard Bugzilla templates without modifying the template files
-      themselves.  The hooks mechanism defines a consistent API for extending
-      the standard templates in a way that cleanly separates standard code
-      from extension code.  Hooks reduce merge conflicts and make it easier
-      to write extensions that work across multiple versions of Bugzilla,
-      making upgrading a Bugzilla installation with installed extensions easier.
-    </P
 ><P
->&#13;      A template hook is just a named place in a standard template file
-      where extension template files for that hook get processed.  Each hook
-      has a corresponding directory in the Bugzilla directory tree.  Hooking an
-      extension template to a hook is as simple as putting the extension file
-      into the hook's directory.  When Bugzilla processes the standard template
-      and reaches the hook, it will process all extension templates in the
-      hook's directory. The hooks themselves can be added into any standard
-      template upon request by extension authors.
+>Upgrading Bugzilla is something we all want to do from time to time,
+    be it to get new features or pick up the latest security fix. How easy
+    it is to update depends on a few factors.
     </P
 ><P
->&#13;      To use hooks to extend a Bugzilla template, first make sure there is
-      a hook at the appropriate place within the template you want to extend. 
-      Hooks appear in the standard Bugzilla templates as a single directive
-      in the format
-      <VAR
-CLASS="literal"
->[% Hook.process("<VAR
-CLASS="varname"
->name</VAR
->") %]</VAR
->,
-      where <VAR
-CLASS="varname"
->name</VAR
-> is the unique (within that template)
-      name of the hook.
-    </P
+></P
+><UL
+><LI
 ><P
->&#13;      If you aren't sure which template you want to extend or just want
-      to browse the available hooks, either use your favorite multi-file search
-      tool (e.g. <B
-CLASS="command"
->grep</B
->) to search the standard templates
-      for occurrences of <CODE
-CLASS="methodname"
->Hook.process</CODE
-> or browse
-      the directory tree in
-      <TT
-CLASS="filename"
->BUGZILLA_ROOT/template/en/extension/hook/</TT
->,
-      which contains a directory for each hook in the following location:
-    </P
+>If the new version is a revision or a new point release</P
+></LI
+><LI
 ><P
->&#13;      <TT
-CLASS="filename"
->BUGZILLA_ROOT/template/en/extension/hook/PATH_TO_STANDARD_TEMPLATE/STANDARD_TEMPLATE_NAME/HOOK_NAME/</TT
->
-    </P
+>How many, if any, local changes have been made</P
+></LI
+></UL
 ><P
->&#13;      If there is no hook at the appropriate place within the Bugzilla template
-      you want to extend,
-      <A
-HREF="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla&#38;component=User%20Interface"
-TARGET="_top"
->file
-      a bug requesting one</A
->, specifying:
+>There are also three different methods to upgrade your installation.
     </P
 ><P
 ></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->the template for which you are requesting a hook;</TD
-></TR
-><TR
-><TD
->&#13;        where in the template you would like the hook to be placed
-        (line number/position for latest version of template in CVS
-        or description of location);
-      </TD
-></TR
-><TR
-><TD
->the purpose of the hook;</TD
-></TR
-><TR
-><TD
->a link to information about your extension, if any.</TD
-></TR
-></TBODY
-></TABLE
+><OL
+TYPE="1"
+><LI
 ><P
-></P
+>Using CVS (<A
+HREF="#upgrade-cvs"
+>Example 3-1</A
+>)</P
+></LI
+><LI
 ><P
->&#13;      The Bugzilla reviewers will promptly review each hook request,
-      name the hook, add it to the template, check the new version
-      of the template into CVS, and create the corresponding directory in
-      <TT
-CLASS="filename"
->BUGZILLA_ROOT/template/en/extension/hook/</TT
->.
+>Downloading a new tarball (<A
+HREF="#upgrade-tarball"
+>Example 3-2</A
+>)</P
+></LI
+><LI
+><P
+>Applying the relevant patches (<A
+HREF="#upgrade-patches"
+>Example 3-3</A
+>)</P
+></LI
+></OL
+><P
+>Which options are available to you may depend on how large a jump
+    you are making and/or your network configuration.
     </P
 ><P
->&#13;      You may optionally attach a patch to the bug which implements the hook
-      and check it in yourself after receiving approval from a Bugzilla
-      reviewer.  The developers may suggest changes to the location of the
-      hook based on their analysis of your needs or so the hook can satisfy
-      the needs of multiple extensions, but the process of getting hooks
-      approved and checked in is not as stringent as the process for general
-      changes to Bugzilla, and any extension, whether released or still in
-      development, can have hooks added to meet their needs.
+>Revisions are normally released to fix security vulnerabilities
+    and are distinguished by an increase in the third number. For example,
+    when 2.16.6 was released, it was a revision to 2.16.5.
     </P
 ><P
->&#13;      After making sure the hook you need exists (or getting it added if not),
-      add your extension template to the directory within the Bugzilla
-      directory tree corresponding to the hook. 
+>Point releases are normally released when the Bugzilla team feels
+    that there has been a significant amount of progress made between the
+    last point release and the current time. These are often proceeded by a
+    stabilization period and release candidates, however the use of 
+    development versions or release candidates is beyond the scope of this
+    document. Point releases can be distinguished by an increase in the
+    second number, or minor version. For example, 2.18.0 is a newer point
+    release than 2.16.5.
     </P
 ><P
->&#13;      That's it!  Now, when the standard template containing the hook
-      is processed, your extension template will be processed at the point 
-      where the hook appears.
+>The examples in this section are written as if you were updating
+    to version 2.18.1.  The procedures are the same regardless if you are
+    updating to a new point release or a new revision.  However, the chance
+    of running into trouble increases when upgrading to a new point release,
+    escpecially if you've made local changes.
     </P
 ><P
->&#13;      For example, let's say you have an extension named Projman that adds
-      project management capabilities to Bugzilla.  Projman has an
-      administration interface <TT
+>These examples also assume that your Bugzilla installation is at
+    <TT
 CLASS="filename"
->edit-projects.cgi</TT
->, 
-      and you want to add a link to it into the navigation bar at the bottom
-      of every Bugzilla page for those users who are authorized
-      to administer projects.
+>/var/www/html/bugzilla</TT
+>. If that is not the case,
+    simply substitute the proper paths where appropriate.
     </P
+><DIV
+CLASS="example"
+><A
+NAME="upgrade-cvs"
+></A
 ><P
->&#13;      The navigation bar is generated by the template file
-      <TT
-CLASS="filename"
->useful-links.html.tmpl</TT
->, which is located in
-      the <TT
-CLASS="filename"
->global/</TT
-> subdirectory on the standard Bugzilla 
-      template path
-      <TT
-CLASS="filename"
->BUGZILLA_ROOT/template/en/default/</TT
->.
-      Looking in <TT
-CLASS="filename"
->useful-links.html.tmpl</TT
->, you find
-      the following hook at the end of the list of standard Bugzilla
-      administration links:
-    </P
+><B
+>Example 3-1. Upgrading using CVS</B
+></P
+><P
+>Every release of Bugzilla, whether it is a revision or a point
+      release, is tagged in CVS.  Also, every tarball we have distributed
+      since version 2.12 has been primed for using CVS. This does, however,
+      require that you are able to access cvs-mirror.mozilla.org on port
+      2401.
+
+        <DIV
+CLASS="tip"
+><P
+></P
 ><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
+CLASS="tip"
 WIDTH="100%"
+BORDER="0"
 ><TR
 ><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->...
-    [% ', &#60;a href="editkeywords.cgi"&#62;keywords&#60;/a&#62;' 
-                                              IF user.groups.editkeywords %]
-    [% Hook.process("edit") %]
-...</PRE
-></FONT
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/tip.gif"
+HSPACE="5"
+ALT="Tip"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>If you can do this, updating using CVS is probably the most
+          painless method, especially if you have a lot of local changes.
+          </P
 ></TD
 ></TR
 ></TABLE
-><P
->&#13;      The corresponding directory for this hook is
-      <TT
-CLASS="filename"
->BUGZILLA_ROOT/template/en/extension/hook/global/useful-links.html.tmpl/edit/</TT
->.
-    </P
-><P
->&#13;      You put a template named
-      <TT
-CLASS="filename"
->projman-edit-projects.html.tmpl</TT
+></DIV
 >
-      into that directory with the following content:
-    </P
+      </P
 ><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -6933,124 +7771,79 @@ WIDTH="100%"
 COLOR="#000000"
 ><PRE
 CLASS="programlisting"
->...[% ', &#60;a href="edit-projects.cgi"&#62;projects&#60;/a&#62;' IF user.groups.projman_admins %]</PRE
+>&#13;bash$ <B
+CLASS="command"
+>cd /var/www/html/bugzilla</B
+>
+bash$ <B
+CLASS="command"
+>cvs login</B
+>
+Logging in to :pserver:anonymous@cvs-mirror.mozilla.org:2401/cvsroot
+CVS password: <B
+CLASS="command"
+>anonymous</B
+>
+bash$ <B
+CLASS="command"
+>cvs -q update -r BUGZILLA-2_18_1 -dP</B
+>
+P checksetup.pl
+P collectstats.pl
+P globals.pl
+P docs/rel_notes.txt
+P template/en/default/list/quips.html.tmpl
+      </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
 ><P
->&#13;      Voila!  The link now appears after the other administration links in the
-      navigation bar for users in the <VAR
-CLASS="literal"
->projman_admins</VAR
-> group.
-    </P
-><P
->&#13;      Notes:
-    </P
+>&#13;        <DIV
+CLASS="caution"
 ><P
 ></P
-><UL
-><LI
-><P
->&#13;          You may want to prefix your extension template names
-          with the name of your extension, e.g. 
-          <TT
-CLASS="filename"
->projman-foo.html.tmpl</TT
->, 
-          so they do not conflict with the names of templates installed by
-          other extensions.
-        </P
-></LI
-><LI
-><P
->&#13;          If your extension includes entirely new templates in addition to
-          extensions of standard templates, it should install those new
-          templates into an extension-specific subdirectory of the
-          <TT
-CLASS="filename"
->BUGZILLA_ROOT/template/en/extension/</TT
-> 
-          directory.  The <TT
-CLASS="filename"
->extension/</TT
-> directory, like the 
-          <TT
-CLASS="filename"
->default/</TT
-> and <TT
-CLASS="filename"
->custom/</TT
->
-          directories, is part of the template search path, so putting templates
-          there enables them to be found by the template processor.
-        </P
-><P
->&#13;          The template processor looks for templates first in the
-          <TT
-CLASS="filename"
->custom/</TT
-> directory (i.e. templates added by the 
-          specific installation), then in the <TT
-CLASS="filename"
->extension/</TT
-> 
-          directory (i.e. templates added by extensions), and finally in the
-          <TT
-CLASS="filename"
->default/</TT
-> directory (i.e. the standard Bugzilla 
-          templates).  Thus extension templates can override standard templates,
-          but installation-specific templates override both.
-        </P
-><P
->&#13;          Note that overriding standard templates with extension templates
-          gives you great power but also makes upgrading an installation harder.
-          As with custom templates,  we recommend using this functionality
-          sparingly and only when absolutely necessary.
-        </P
-></LI
-><LI
+><TABLE
+CLASS="caution"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/caution.gif"
+HSPACE="5"
+ALT="Caution"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
 ><P
->&#13;          Installation customizers can also take advantage of hooks when adding
-          code to a Bugzilla template.  To do so, create directories in
-          <TT
-CLASS="filename"
->BUGZILLA_ROOT/template/en/custom/hook/</TT
+>If a line in the output from <B
+CLASS="command"
+>cvs update</B
 >
-          equivalent to the directories in
-          <TT
-CLASS="filename"
->BUGZILLA_ROOT/template/en/extension/hook/</TT
->          
-          for the hooks you want to use, then place your customization templates
-          into those directories.
-        </P
-><P
->&#13;          Obviously this method of customizing Bugzilla only lets you add code
-          to the standard templates; you cannot change the existing code.
-          Nevertheless, for those customizations that only add code, this method
-          can reduce conflicts when merging changes, making upgrading
-          your customized Bugzilla installation easier.
-        </P
-></LI
-></UL
+          begins with a <SAMP
+CLASS="computeroutput"
+>C</SAMP
+> that represents a
+          file with local changes that CVS was unable to properly merge. You
+          need to resolve these conflicts manually before Bugzilla (or at
+          least the portion using that file) will be usable.
+          </P
+></TD
+></TR
+></TABLE
 ></DIV
-><DIV
-CLASS="section"
-><HR><H2
-CLASS="section"
-><A
-NAME="cust-change-permissions"
->4.3. Customizing Who Can Change What</A
-></H2
-><DIV
-CLASS="warning"
+>
+
+        <DIV
+CLASS="note"
 ><P
 ></P
 ><TABLE
-CLASS="warning"
+CLASS="note"
 WIDTH="100%"
 BORDER="0"
 ><TR
@@ -7059,54 +7852,41 @@ WIDTH="25"
 ALIGN="CENTER"
 VALIGN="TOP"
 ><IMG
-SRC="../images/warning.gif"
+SRC="../images/note.gif"
 HSPACE="5"
-ALT="Warning"></TD
+ALT="Note"></TD
 ><TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->&#13;        This feature should be considered experimental; the Bugzilla code you
-        will be changing is not stable, and could change or move between 
-        versions. Be aware that if you make modifications as outlined here, 
-        you may have
-        to re-make them or port them if Bugzilla changes internally between
-        versions, and you upgrade.
-      </P
+>You also need to run <B
+CLASS="command"
+>./checksetup.pl</B
+>
+          before your Bugzilla upgrade will be complete.
+          </P
 ></TD
 ></TR
 ></TABLE
 ></DIV
+>
+      </P
+></DIV
+><DIV
+CLASS="example"
+><A
+NAME="upgrade-tarball"
+></A
 ><P
->&#13;      Companies often have rules about which employees, or classes of employees,
-      are allowed to change certain things in the bug system. For example, 
-      only the bug's designated QA Contact may be allowed to VERIFY the bug.
-      Bugzilla has been
-      designed to make it easy for you to write your own custom rules to define
-      who is allowed to make what sorts of value transition.
-    </P
-><P
->&#13;      For maximum flexibility, customizing this means editing Bugzilla's Perl 
-      code. This gives the administrator complete control over exactly who is
-      allowed to do what. The relevant function is called 
-      <TT
-CLASS="filename"
->CheckCanChangeField()</TT
->,
-      and is found in <TT
-CLASS="filename"
->process_bug.cgi</TT
-> in your 
-      Bugzilla directory. If you open that file and search for 
-      "sub CheckCanChangeField", you'll find it.
-    </P
+><B
+>Example 3-2. Upgrading using the tarball</B
+></P
 ><P
->&#13;      This function has been carefully commented to allow you to see exactly
-      how it works, and give you an idea of how to make changes to it. Certain
-      marked sections should not be changed - these are the "plumbing" which
-      makes the rest of the function work. In between those sections, you'll
-      find snippets of code like:
-      <TABLE
+>If you are unable or unwilling to use CVS, another option that's
+      always available is to download the latest tarball. This is the most
+      difficult option to use, especially if you have local changes.
+      </P
+><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -7116,58 +7896,160 @@ WIDTH="100%"
 COLOR="#000000"
 ><PRE
 CLASS="programlisting"
->    # Allow the owner to change anything.
-    if ($ownerid eq $whoid) {
-        return 1;
-    }</PRE
+>&#13;bash$ <B
+CLASS="command"
+>cd /var/www/html</B
+>
+bash$ <B
+CLASS="command"
+>wget ftp://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-2.18.1.tar.gz</B
+>
+<EM
+>Output omitted</EM
+>
+bash$ <B
+CLASS="command"
+>tar xzvf bugzilla-2.18.1.tar.gz</B
+>
+bugzilla-2.18.1/
+bugzilla-2.18.1/.cvsignore
+bugzilla-2.18.1/1x1.gif
+<EM
+>Output truncated</EM
+>
+bash$ <B
+CLASS="command"
+>cd bugzilla-2.18.1</B
+>
+bash$ <B
+CLASS="command"
+>cp ../bugzilla/localconfig* .</B
+>
+bash$ <B
+CLASS="command"
+>cp -r ../bugzilla/data .</B
+>
+bash$ <B
+CLASS="command"
+>cd ..</B
+>
+bash$ <B
+CLASS="command"
+>mv bugzilla bugzilla.old</B
+>
+bash$ <B
+CLASS="command"
+>mv bugzilla-2.18.1 bugzilla</B
+>
+bash$ <B
+CLASS="command"
+>cd bugzilla</B
+>
+bash$ <B
+CLASS="command"
+>./checksetup.pl</B
+>
+<EM
+>Output omitted</EM
+>
+      </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
->
-      It's fairly obvious what this piece of code does.
-    </P
 ><P
->&#13;      So, how does one go about changing this function? Well, simple changes
-      can be made just be removing pieces - for example, if you wanted to 
-      prevent any user adding a comment to a bug, just remove the lines marked
-      "Allow anyone to change comments." And if you want the reporter to have
-      no special rights on bugs they have filed, just remove the entire section
-      which refers to him.
-    </P
+>&#13;        <DIV
+CLASS="warning"
 ><P
->&#13;      More complex customizations are not much harder. Basically, you add
-      a check in the right place in the function, i.e. after all the variables
-      you are using have been set up. So, don't look at $ownerid before 
-      $ownerid has been obtained from the database. You can either add a
-      positive check, which returns 1 (allow) if certain conditions are true,
-      or a negative check, which returns 0 (deny.) E.g.:
-      <TABLE
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
 BORDER="0"
-BGCOLOR="#E0E0E0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>The <B
+CLASS="command"
+>cp</B
+> commands both end with periods which
+          is a very important detail, it tells the shell that the destination
+          directory is the current working directory. Also, the period at the
+          beginning of the <B
+CLASS="command"
+>./checksetup.pl</B
+> is important and
+          can not be omitted.
+          </P
+></TD
+></TR
+></TABLE
+></DIV
+>
+
+        <DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
 WIDTH="100%"
+BORDER="0"
 ><TR
 ><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->    if ($field eq "qacontact") {
-        if (Bugzilla-&#62;user-&#62;groups("quality_assurance")) {
-            return 1;
-        } 
-        else {
-            return 0;
-        }
-    }</PRE
-></FONT
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>You will now have to reapply any changes you have made to your
+          local installation manually.
+          </P
 ></TD
 ></TR
 ></TABLE
+></DIV
 >
-      This says that only users in the group "quality_assurance" can change
-      the QA Contact field of a bug. Getting more weird:
-      <TABLE
+      </P
+></DIV
+><DIV
+CLASS="example"
+><A
+NAME="upgrade-patches"
+></A
+><P
+><B
+>Example 3-3. Upgrading using patches</B
+></P
+><P
+>The Bugzilla team will normally make a patch file available for
+      revisions to go from the most recent revision to the new one. You could
+      also read the release notes and grab the patches attached to the
+      mentioned bug, but it is safer to use the released patch file as
+      sometimes patches get changed before they get checked in. 
+      It is also theoretically possible to
+      scour the fixed bug list and pick and choose which patches to apply
+      from a point release, but this is not recommended either as what you'll
+      end up with is a hodge podge Bugzilla that isn't really any version.
+      This would also make it more difficult to upgrade in the future.
+      </P
+><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -7177,293 +8059,464 @@ WIDTH="100%"
 COLOR="#000000"
 ><PRE
 CLASS="programlisting"
->    if (($field eq "priority") &#38;&#38;
-        (Bugzilla-&#62;user-&#62;email =~ /.*\@example\.com$/))
-    {
-        if ($oldvalue eq "P1") {
-            return 1;
-        } 
-        else {
-            return 0;
-        }
-    }</PRE
+>&#13;bash$ <B
+CLASS="command"
+>cd /var/www/html/bugzilla</B
+>
+bash$ <B
+CLASS="command"
+>wget ftp://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-2.18.0-to-2.18.1.diff.gz</B
+>
+<EM
+>Output omitted</EM
+>
+bash$ <B
+CLASS="command"
+>gunzip bugzilla-2.18.0-to-2.18.1.diff.gz</B
+>
+bash$ <B
+CLASS="command"
+>patch -p1 &#60; bugzilla-2.18.0-to-2.18.1.diff</B
+>
+patching file checksetup.pl
+patching file collectstats.pl
+patching file globals.pl
+      </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
->
-      This says that if the user is trying to change the priority field,
-      and their email address is @example.com, they can only do so if the
-      old value of the field was "P1". Not very useful, but illustrative.
-    </P
 ><P
->&#13;      For a list of possible field names, look in 
-      <TT
-CLASS="filename"
->data/versioncache</TT
-> for the list called 
-      <TT
-CLASS="filename"
->@::log_columns</TT
->. If you need help writing custom
-      rules for your organization, ask in the newsgroup.
-    </P
-></DIV
-><DIV
-CLASS="section"
-><HR><H2
-CLASS="section"
-><A
-NAME="dbmodify"
->4.4. Modifying Your Running System</A
-></H2
+>&#13;        <DIV
+CLASS="caution"
 ><P
->Bugzilla optimizes database lookups by storing all relatively
-      static information in the 
-      <TT
-CLASS="filename"
->versioncache</TT
-> file, located in the 
-      <TT
+></P
+><TABLE
+CLASS="caution"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/caution.gif"
+HSPACE="5"
+ALT="Caution"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>If you do this, beware that this doesn't change the entires in
+          your <TT
 CLASS="filename"
->data/</TT
+>CVS</TT
+> directory so it may make
+          updates using CVS (<A
+HREF="#upgrade-cvs"
+>Example 3-1</A
+>) more difficult in the
+          future.
+          </P
+></TD
+></TR
+></TABLE
+></DIV
 >
-      subdirectory under your installation directory.</P
+      </P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="chapter"
+><HR><H1
+><A
+NAME="security"
+></A
+>Chapter 4. Bugzilla Security</H1
+><P
+>While some of the items in this chapter are related to the operating
+  system Bugzilla is running on or some of the support software required to
+  run Bugzilla, it is all related to protecting your data. This is not
+  intended to be a comprehensive guide to securing Linux, Apache, MySQL, or
+  any other piece of software mentioned. There is no substitute for active
+  administration and monitoring of a machine. The key to good security is
+  actually right in the middle of the word: <EM
+>U R It</EM
+>.
+  </P
+><P
+>While programmers in general always strive to write secure code,
+  accidents can and do happen. The best approach to security is to always
+  assume that the program you are working with isn't 100% secure and restrict
+  its access to other parts of your machine as much as possible.
+  </P
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="security-os"
+>4.1. Operating System</A
+></H2
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="security-os-ports"
+>4.1.1. TCP/IP Ports</A
+></H3
+><P
+>The TCP/IP standard defines more than 65,000 ports for sending
+      and receiving traffic. Of those, Bugzilla needs exactly one to operate
+      (different configurations and options may require up to 3). You should
+      audit your server and make sure that you aren't listening on any ports
+      you don't need to be. It's also highly recommended that the server
+      Bugzilla resides on, along with any other machines you administer, be
+      placed behind some kind of firewall.
+      </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="security-os-accounts"
+>4.1.2. System User Accounts</A
+></H3
 ><P
->If you make a change to the structural data in your database (the
-      versions table for example), or to the 
+>Many <A
+HREF="#gloss-daemon"
+><I
+CLASS="glossterm"
+>daemons</I
+></A
+>, such
+      as Apache's <TT
+CLASS="filename"
+>httpd</TT
+> or MySQL's
+      <TT
+CLASS="filename"
+>mysqld</TT
+>, run as either <SPAN
+CLASS="QUOTE"
+>"root"</SPAN
+> or
       <SPAN
 CLASS="QUOTE"
->"constants"</SPAN
+>"nobody"</SPAN
+>. This is even worse on Windows machines where the
+      majority of <A
+HREF="#gloss-service"
+><I
+CLASS="glossterm"
+>services</I
+></A
 >
-
-      encoded in <TT
-CLASS="filename"
->defparams.pl</TT
->, you will need to remove 
-      the cached content from the data directory (by doing a 
+      run as <SPAN
+CLASS="QUOTE"
+>"SYSTEM"</SPAN
+>. While running as <SPAN
+CLASS="QUOTE"
+>"root"</SPAN
+> or
       <SPAN
 CLASS="QUOTE"
->"rm data/versioncache"</SPAN
->
-
-      ), or your changes won't show up.</P
+>"SYSTEM"</SPAN
+> introduces obvious security concerns, the
+      problems introduced by running everything as <SPAN
+CLASS="QUOTE"
+>"nobody"</SPAN
+> may
+      not be so obvious. Basically, if you run every daemon as
+      <SPAN
+CLASS="QUOTE"
+>"nobody"</SPAN
+> and one of them gets comprimised it can
+      comprimise every other daemon running as <SPAN
+CLASS="QUOTE"
+>"nobody"</SPAN
+> on your
+      machine. For this reason, it is recommended that you create a user
+      account for each daemon.
+      </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
 ><P
-> <TT
+>You will need to set the <VAR
+CLASS="option"
+>webservergroup</VAR
+> option
+        in <TT
 CLASS="filename"
->versioncache</TT
-> 
-      gets automatically regenerated whenever it's more than
-      an hour old, so Bugzilla will eventually notice your changes by itself,
-      but generally you want it to notice right away, so that you can test
-      things.</P
+>localconfig</TT
+> to the group your webserver runs
+        as. This will allow <TT
+CLASS="filename"
+>./checksetup.pl</TT
+> to set file
+        permissions on Unix systems so that nothing is world-writable.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="security-os-chroot"
+>4.1.3. The <TT
+CLASS="filename"
+>chroot</TT
+> Jail</A
+></H3
+><P
+>If your system supports it, you may wish to consider running
+      Bugzilla inside of a <TT
+CLASS="filename"
+>chroot</TT
+> jail. This option
+      provides unpresidented security by restricting anything running
+      inside the jail from accessing any information outside of it. If you
+      wish to use this option, please consult the documentation that came
+      with your system.
+      </P
+></DIV
 ></DIV
 ><DIV
 CLASS="section"
 ><HR><H2
 CLASS="section"
 ><A
-NAME="dbdoc"
->4.5. MySQL Bugzilla Database Introduction</A
+NAME="security-mysql"
+>4.2. MySQL</A
 ></H2
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="security-mysql-account"
+>4.2.1. The MySQL System Account</A
+></H3
 ><P
->This information comes straight from my life. I was forced to learn
-    how Bugzilla organizes database because of nitpicky requests from users
-    for tiny changes in wording, rather than having people re-educate
-    themselves or figure out how to work our procedures around the tool. It
-    sucks, but it can and will happen to you, so learn how the schema works
-    and deal with it when it comes.</P
-><P
->So, here you are with your brand-new installation of Bugzilla.
-    You've got MySQL set up, Apache working right, Perl DBI and DBD talking
-    to the database flawlessly. Maybe you've even entered a few test bugs to
-    make sure email's working; people seem to be notified of new bugs and
-    changes, and you can enter and edit bugs to your heart's content. Perhaps
-    you've gone through the trouble of setting up a gateway for people to
-    submit bugs to your database via email, have had a few people test it,
-    and received rave reviews from your beta testers.</P
-><P
->What's the next thing you do? Outline a training strategy for your
-    development team, of course, and bring them up to speed on the new tool
-    you've labored over for hours.</P
-><P
->Your first training session starts off very well! You have a
-    captive audience which seems enraptured by the efficiency embodied in
-    this thing called "Bugzilla". You are caught up describing the nifty
-    features, how people can save favorite queries in the database, set them
-    up as headers and footers on their pages, customize their layouts,
-    generate reports, track status with greater efficiency than ever before,
-    leap tall buildings with a single bound and rescue Jane from the clutches
-    of Certain Death!</P
-><P
->But Certain Death speaks up -- a tiny voice, from the dark corners
-    of the conference room. "I have a concern," the voice hisses from the
-    darkness, "about the use of the word 'verified'."</P
-><P
->The room, previously filled with happy chatter, lapses into
-    reverential silence as Certain Death (better known as the Vice President
-    of Software Engineering) continues. "You see, for two years we've used
-    the word 'verified' to indicate that a developer or quality assurance
-    engineer has confirmed that, in fact, a bug is valid. I don't want to
-    lose two years of training to a new software product. You need to change
-    the bug status of 'verified' to 'approved' as soon as possible. To avoid
-    confusion, of course."</P
-><P
->Oh no! Terror strikes your heart, as you find yourself mumbling
-    "yes, yes, I don't think that would be a problem," You review the changes
-    with Certain Death, and continue to jabber on, "no, it's not too big a
-    change. I mean, we have the source code, right? You know, 'Use the
-    Source, Luke' and all that... no problem," All the while you quiver
-    inside like a beached jellyfish bubbling, burbling, and boiling on a hot
-    Jamaican sand dune...</P
-><P
->Thus begins your adventure into the heart of Bugzilla. You've been
-    forced to learn about non-portable enum() fields, varchar columns, and
-    tinyint definitions. The Adventure Awaits You!</P
+>As mentioned in <A
+HREF="#security-os-accounts"
+>Section 4.1.2</A
+>, the MySQL
+      daemon should run as a non-privleged, unique user. Be sure to consult
+      the MySQL documentation or the documentation that came with your system
+      for instructions.
+      </P
+></DIV
 ><DIV
 CLASS="section"
 ><HR><H3
 CLASS="section"
 ><A
-NAME="AEN1394"
->4.5.1. Bugzilla Database Basics</A
+NAME="security-mysql-root"
+>4.2.2. The MySQL <SPAN
+CLASS="QUOTE"
+>"root"</SPAN
+> and <SPAN
+CLASS="QUOTE"
+>"anonymous"</SPAN
+> Users</A
 ></H3
 ><P
->If you were like me, at this point you're totally clueless about
-      the internals of MySQL, and if it weren't for this executive order from
-      the Vice President you couldn't care less about the difference between
-      a 
-      <SPAN
+>By default, MySQL comes with a <SPAN
 CLASS="QUOTE"
->"bigint"</SPAN
->
-
-      and a 
-      <SPAN
+>"root"</SPAN
+> user with a
+      blank password and an <SPAN
 CLASS="QUOTE"
->"tinyint"</SPAN
->
-
-      entry in MySQL. I recommend you refer to the
-      <A
-HREF="http://www.mysql.com/documentation/"
-TARGET="_top"
->MySQL documentation</A
->
-      . Below are the basics you need to know about the Bugzilla database.
-      Check the chart above for more details.</P
+>"anonymous"</SPAN
+> user, also with a blank
+      password. In order to protect your data, the <SPAN
+CLASS="QUOTE"
+>"root"</SPAN
+> user
+      should be given a password and the anonymous user should be disabled.
+      </P
+><DIV
+CLASS="example"
+><A
+NAME="security-mysql-account-root"
+></A
 ><P
->&#13;        <P
+><B
+>Example 4-1. Assigning the MySQL <SPAN
+CLASS="QUOTE"
+>"root"</SPAN
+> User a Password</B
 ></P
-><OL
-TYPE="1"
-><LI
-><P
->To connect to your database:</P
-><P
->&#13;              <SAMP
-CLASS="prompt"
->bash#</SAMP
->
-
-              <B
-CLASS="command"
->mysql</B
->
-
-              <VAR
-CLASS="parameter"
->-u root</VAR
->
-            </P
-><P
->If this works without asking you for a password, 
-            <EM
->shame on you</EM
->
-
-            ! You should have locked your security down like the installation
-            instructions told you to. You can find details on locking down
-            your database in the Bugzilla FAQ in this directory (under
-            "Security"), or more robust security generalities in the 
-            <A
-HREF="http://www.mysql.com/php/manual.php3?section=Privilege_system"
-TARGET="_top"
->MySQL
-            searchable documentation</A
->.
-            </P
-></LI
-><LI
-><P
->You should now be at a prompt that looks like this:</P
-><P
->&#13;              <SAMP
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;<SAMP
+CLASS="prompt"
+>bash$</SAMP
+> mysql mysql
+<SAMP
 CLASS="prompt"
 >mysql&#62;</SAMP
->
-            </P
+> UPDATE user SET password = password('<VAR
+CLASS="replaceable"
+>new_password</VAR
+>') WHERE user = 'root';
+<SAMP
+CLASS="prompt"
+>mysql&#62;</SAMP
+> FLUSH PRIVILEGES;
+        </PRE
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="example"
+><A
+NAME="security-mysql-account-anonymous"
+></A
 ><P
->At the prompt, if 
-            <SPAN
+><B
+>Example 4-2. Disabling the MySQL <SPAN
 CLASS="QUOTE"
->"bugs"</SPAN
->
-
-            is the name you chose in the
-            <TT
-CLASS="filename"
->localconfig</TT
->
-
-            file for your Bugzilla database, type:</P
-><P
->&#13;              <SAMP
+>"anonymous"</SPAN
+> User</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;<SAMP
 CLASS="prompt"
->mysql</SAMP
->
-
-              <B
-CLASS="command"
->use bugs;</B
+>bash$</SAMP
+> mysql -u root -p mysql           <A
+NAME="security-mysql-account-anonymous-mysql"
+><IMG
+SRC="../images/callouts/1.gif"
+HSPACE="0"
+VSPACE="0"
+BORDER="0"
+ALT="(1)"></A
 >
-            </P
-></LI
-></OL
+<SAMP
+CLASS="prompt"
+>Enter Password:</SAMP
+> <VAR
+CLASS="replaceable"
+>new_password</VAR
 >
-      </P
+<SAMP
+CLASS="prompt"
+>mysql&#62;</SAMP
+> DELETE FROM user WHERE user = '';
+<SAMP
+CLASS="prompt"
+>mysql&#62;</SAMP
+> FLUSH PRIVILEGES;
+        </PRE
+></FONT
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="calloutlist"
+><DL
+COMPACT="COMPACT"
+><DT
+><A
+HREF="#security-mysql-account-anonymous-mysql"
+><IMG
+SRC="../images/callouts/1.gif"
+HSPACE="0"
+VSPACE="0"
+BORDER="0"
+ALT="(1)"></A
+></DT
+><DD
+>This command assumes that you have already completed
+            <A
+HREF="#security-mysql-account-root"
+>Example 4-1</A
+>.
+            </DD
+></DL
+></DIV
+></DIV
+></DIV
 ><DIV
 CLASS="section"
-><HR><H4
+><HR><H3
 CLASS="section"
 ><A
-NAME="AEN1421"
->4.5.1.1. Bugzilla Database Tables</A
-></H4
-><P
->Imagine your MySQL database as a series of spreadsheets, and
-        you won't be too far off. If you use this command:</P
+NAME="security-mysql-network"
+>4.2.3. Network Access</A
+></H3
 ><P
->&#13;          <SAMP
-CLASS="prompt"
->mysql&#62;</SAMP
->
-          <B
-CLASS="command"
->show tables from bugs;</B
->
-        </P
+>If MySQL and your webserver both run on the same machine and you
+      have no other reason to access MySQL remotely, then you should disable
+      the network access. This, along with the suggestion in
+      <A
+HREF="#security-os-ports"
+>Section 4.1.1</A
+>, will help protect your system from
+      any remote vulnerabilites in MySQL.
+      </P
+><DIV
+CLASS="example"
+><A
+NAME="security-mysql-network-ex"
+></A
 ><P
->you'll be able to see the names of all the 
-        <SPAN
-CLASS="QUOTE"
->"spreadsheets"</SPAN
->
-        (tables) in your database.</P
+><B
+>Example 4-3. Disabling Networking in MySQL</B
+></P
 ><P
->From the command issued above, ou should have some
-	  output that looks like this:
-<TABLE
+>Simply enter the following in <TT
+CLASS="filename"
+>/etc/my.conf</TT
+>:
+        <TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -7472,1804 +8525,4500 @@ WIDTH="100%"
 ><FONT
 COLOR="#000000"
 ><PRE
-CLASS="programlisting"
->&#13;+-------------------+
-| Tables in bugs    |
-+-------------------+
-| attachments       |
-| bugs              |
-| bugs_activity     |
-| cc                |
-| components        |
-| dependencies      |
-| fielddefs         |
-| groups            |
-| keyworddefs       |
-| keywords          |
-| logincookies      |
-| longdescs         |
-| milestones        |
-| namedqueries      |
-| products          |
-| profiles          |
-| profiles_activity |
-| tokens            |
-| versions          |
-| votes             |
-| watch             |
-+-------------------+
-</PRE
+CLASS="screen"
+>&#13;[myslqd]
+# Prevent network access to MySQL.
+skip-networking
+        </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
 >
-</P
+        </P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="security-webserver"
+>4.3. Webserver</A
+></H2
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="security-webserver-access"
+>4.3.1. Disabling Remote Access to Bugzilla Configuration Files</A
+></H3
 ><P
-CLASS="literallayout"
-><br>
-&nbsp;&nbsp;Here's&nbsp;an&nbsp;overview&nbsp;of&nbsp;what&nbsp;each&nbsp;table&nbsp;does.&nbsp;Most&nbsp;columns&nbsp;in&nbsp;each&nbsp;table&nbsp;have<br>
-descriptive&nbsp;names&nbsp;that&nbsp;make&nbsp;it&nbsp;fairly&nbsp;trivial&nbsp;to&nbsp;figure&nbsp;out&nbsp;their&nbsp;jobs.<br>
-<br>
-attachments:&nbsp;This&nbsp;table&nbsp;stores&nbsp;all&nbsp;attachments&nbsp;to&nbsp;bugs.&nbsp;It&nbsp;tends&nbsp;to&nbsp;be&nbsp;your<br>
-largest&nbsp;table,&nbsp;yet&nbsp;also&nbsp;generally&nbsp;has&nbsp;the&nbsp;fewest&nbsp;entries&nbsp;because&nbsp;file<br>
-attachments&nbsp;are&nbsp;so&nbsp;(relatively)&nbsp;large.<br>
-<br>
-bugs:&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;core&nbsp;of&nbsp;your&nbsp;system.&nbsp;The&nbsp;bugs&nbsp;table&nbsp;stores&nbsp;most&nbsp;of&nbsp;the<br>
-current&nbsp;information&nbsp;about&nbsp;a&nbsp;bug,&nbsp;with&nbsp;the&nbsp;exception&nbsp;of&nbsp;the&nbsp;info&nbsp;stored&nbsp;in&nbsp;the<br>
-other&nbsp;tables.<br>
-<br>
-bugs_activity:&nbsp;&nbsp;This&nbsp;stores&nbsp;information&nbsp;regarding&nbsp;what&nbsp;changes&nbsp;are&nbsp;made&nbsp;to&nbsp;bugs<br>
-when&nbsp;--&nbsp;a&nbsp;history&nbsp;file.<br>
-<br>
-cc:&nbsp;&nbsp;This&nbsp;tiny&nbsp;table&nbsp;simply&nbsp;stores&nbsp;all&nbsp;the&nbsp;CC&nbsp;information&nbsp;for&nbsp;any&nbsp;bug&nbsp;which&nbsp;has<br>
-any&nbsp;entries&nbsp;in&nbsp;the&nbsp;CC&nbsp;field&nbsp;of&nbsp;the&nbsp;bug.&nbsp;Note&nbsp;that,&nbsp;like&nbsp;most&nbsp;other&nbsp;tables&nbsp;in<br>
-Bugzilla,&nbsp;it&nbsp;does&nbsp;not&nbsp;refer&nbsp;to&nbsp;users&nbsp;by&nbsp;their&nbsp;user&nbsp;names,&nbsp;but&nbsp;by&nbsp;their&nbsp;unique<br>
-userid,&nbsp;stored&nbsp;as&nbsp;a&nbsp;primary&nbsp;key&nbsp;in&nbsp;the&nbsp;profiles&nbsp;table.<br>
-<br>
-components:&nbsp;This&nbsp;stores&nbsp;the&nbsp;programs&nbsp;and&nbsp;components&nbsp;(or&nbsp;products&nbsp;and<br>
-components,&nbsp;in&nbsp;newer&nbsp;Bugzilla&nbsp;parlance)&nbsp;for&nbsp;Bugzilla.&nbsp;Curiously,&nbsp;the&nbsp;"program"<br>
-(product)&nbsp;field&nbsp;is&nbsp;the&nbsp;full&nbsp;name&nbsp;of&nbsp;the&nbsp;product,&nbsp;rather&nbsp;than&nbsp;some&nbsp;other&nbsp;unique<br>
-identifier,&nbsp;like&nbsp;bug_id&nbsp;and&nbsp;user_id&nbsp;are&nbsp;elsewhere&nbsp;in&nbsp;the&nbsp;database.<br>
-<br>
-dependencies:&nbsp;Stores&nbsp;data&nbsp;about&nbsp;those&nbsp;cool&nbsp;dependency&nbsp;trees.<br>
-<br>
-fielddefs:&nbsp;&nbsp;A&nbsp;nifty&nbsp;table&nbsp;that&nbsp;defines&nbsp;other&nbsp;tables.&nbsp;For&nbsp;instance,&nbsp;when&nbsp;you<br>
-submit&nbsp;a&nbsp;form&nbsp;that&nbsp;changes&nbsp;the&nbsp;value&nbsp;of&nbsp;"AssignedTo"&nbsp;this&nbsp;table&nbsp;allows<br>
-translation&nbsp;to&nbsp;the&nbsp;actual&nbsp;field&nbsp;name&nbsp;"assigned_to"&nbsp;for&nbsp;entry&nbsp;into&nbsp;MySQL.<br>
-<br>
-groups:&nbsp;&nbsp;defines&nbsp;bitmasks&nbsp;for&nbsp;groups.&nbsp;A&nbsp;bitmask&nbsp;is&nbsp;a&nbsp;number&nbsp;that&nbsp;can&nbsp;uniquely<br>
-identify&nbsp;group&nbsp;memberships.&nbsp;For&nbsp;instance,&nbsp;say&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to<br>
-tweak&nbsp;parameters&nbsp;is&nbsp;assigned&nbsp;a&nbsp;value&nbsp;of&nbsp;"1",&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to&nbsp;edit<br>
-users&nbsp;is&nbsp;assigned&nbsp;a&nbsp;"2",&nbsp;and&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to&nbsp;create&nbsp;new&nbsp;groups&nbsp;is<br>
-assigned&nbsp;the&nbsp;bitmask&nbsp;of&nbsp;"4".&nbsp;By&nbsp;uniquely&nbsp;combining&nbsp;the&nbsp;group&nbsp;bitmasks&nbsp;(much<br>
-like&nbsp;the&nbsp;chmod&nbsp;command&nbsp;in&nbsp;UNIX,)&nbsp;you&nbsp;can&nbsp;identify&nbsp;a&nbsp;user&nbsp;is&nbsp;allowed&nbsp;to&nbsp;tweak<br>
-parameters&nbsp;and&nbsp;create&nbsp;groups,&nbsp;but&nbsp;not&nbsp;edit&nbsp;users,&nbsp;by&nbsp;giving&nbsp;him&nbsp;a&nbsp;bitmask&nbsp;of<br>
-"5",&nbsp;or&nbsp;a&nbsp;user&nbsp;allowed&nbsp;to&nbsp;edit&nbsp;users&nbsp;and&nbsp;create&nbsp;groups,&nbsp;but&nbsp;not&nbsp;tweak<br>
-parameters,&nbsp;by&nbsp;giving&nbsp;him&nbsp;a&nbsp;bitmask&nbsp;of&nbsp;"6"&nbsp;Simple,&nbsp;huh?<br>
-&nbsp;&nbsp;If&nbsp;this&nbsp;makes&nbsp;no&nbsp;sense&nbsp;to&nbsp;you,&nbsp;try&nbsp;this&nbsp;at&nbsp;the&nbsp;mysql&nbsp;prompt:<br>
-mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;groups;<br>
-&nbsp;&nbsp;You'll&nbsp;see&nbsp;the&nbsp;list,&nbsp;it&nbsp;makes&nbsp;much&nbsp;more&nbsp;sense&nbsp;that&nbsp;way.<br>
-<br>
-keyworddefs:&nbsp;&nbsp;Definitions&nbsp;of&nbsp;keywords&nbsp;to&nbsp;be&nbsp;used<br>
-<br>
-keywords:&nbsp;Unlike&nbsp;what&nbsp;you'd&nbsp;think,&nbsp;this&nbsp;table&nbsp;holds&nbsp;which&nbsp;keywords&nbsp;are<br>
-associated&nbsp;with&nbsp;which&nbsp;bug&nbsp;id's.<br>
-<br>
-logincookies:&nbsp;This&nbsp;stores&nbsp;every&nbsp;login&nbsp;cookie&nbsp;ever&nbsp;assigned&nbsp;to&nbsp;you&nbsp;for&nbsp;every<br>
-machine&nbsp;you've&nbsp;ever&nbsp;logged&nbsp;into&nbsp;Bugzilla&nbsp;from.&nbsp;Curiously,&nbsp;it&nbsp;never&nbsp;does&nbsp;any<br>
-housecleaning&nbsp;--&nbsp;I&nbsp;see&nbsp;cookies&nbsp;in&nbsp;this&nbsp;file&nbsp;I've&nbsp;not&nbsp;used&nbsp;for&nbsp;months.&nbsp;However,<br>
-since&nbsp;Bugzilla&nbsp;never&nbsp;expires&nbsp;your&nbsp;cookie&nbsp;(for&nbsp;convenience'&nbsp;sake),&nbsp;it&nbsp;makes<br>
-sense.<br>
-<br>
-longdescs:&nbsp;&nbsp;The&nbsp;meat&nbsp;of&nbsp;bugzilla&nbsp;--&nbsp;here&nbsp;is&nbsp;where&nbsp;all&nbsp;user&nbsp;comments&nbsp;are&nbsp;stored!<br>
-You've&nbsp;only&nbsp;got&nbsp;2^24&nbsp;bytes&nbsp;per&nbsp;comment&nbsp;(it's&nbsp;a&nbsp;mediumtext&nbsp;field),&nbsp;so&nbsp;speak<br>
-sparingly&nbsp;--&nbsp;that's&nbsp;only&nbsp;the&nbsp;amount&nbsp;of&nbsp;space&nbsp;the&nbsp;Old&nbsp;Testament&nbsp;from&nbsp;the&nbsp;Bible<br>
-would&nbsp;take&nbsp;(uncompressed,&nbsp;16&nbsp;megabytes).&nbsp;Each&nbsp;comment&nbsp;is&nbsp;keyed&nbsp;to&nbsp;the<br>
-bug_id&nbsp;to&nbsp;which&nbsp;it's&nbsp;attached,&nbsp;so&nbsp;the&nbsp;order&nbsp;is&nbsp;necessarily&nbsp;chronological,&nbsp;for<br>
-comments&nbsp;are&nbsp;played&nbsp;back&nbsp;in&nbsp;the&nbsp;order&nbsp;in&nbsp;which&nbsp;they&nbsp;are&nbsp;received.<br>
-<br>
-milestones:&nbsp;&nbsp;Interesting&nbsp;that&nbsp;milestones&nbsp;are&nbsp;associated&nbsp;with&nbsp;a&nbsp;specific&nbsp;product<br>
-in&nbsp;this&nbsp;table,&nbsp;but&nbsp;Bugzilla&nbsp;does&nbsp;not&nbsp;yet&nbsp;support&nbsp;differing&nbsp;milestones&nbsp;by<br>
-product&nbsp;through&nbsp;the&nbsp;standard&nbsp;configuration&nbsp;interfaces.<br>
-<br>
-namedqueries:&nbsp;&nbsp;This&nbsp;is&nbsp;where&nbsp;everybody&nbsp;stores&nbsp;their&nbsp;"custom&nbsp;queries".&nbsp;Very<br>
-cool&nbsp;feature;&nbsp;it&nbsp;beats&nbsp;the&nbsp;tar&nbsp;out&nbsp;of&nbsp;having&nbsp;to&nbsp;bookmark&nbsp;each&nbsp;cool&nbsp;query&nbsp;you<br>
-construct.<br>
-<br>
-products:&nbsp;&nbsp;What&nbsp;products&nbsp;you&nbsp;have,&nbsp;whether&nbsp;new&nbsp;bug&nbsp;entries&nbsp;are&nbsp;allowed&nbsp;for&nbsp;the<br>
-product,&nbsp;what&nbsp;milestone&nbsp;you're&nbsp;working&nbsp;toward&nbsp;on&nbsp;that&nbsp;product,&nbsp;votes,&nbsp;etc.&nbsp;It<br>
-will&nbsp;be&nbsp;nice&nbsp;when&nbsp;the&nbsp;components&nbsp;table&nbsp;supports&nbsp;these&nbsp;same&nbsp;features,&nbsp;so&nbsp;you<br>
-could&nbsp;close&nbsp;a&nbsp;particular&nbsp;component&nbsp;for&nbsp;bug&nbsp;entry&nbsp;without&nbsp;having&nbsp;to&nbsp;close&nbsp;an<br>
-entire&nbsp;product...<br>
-<br>
-profiles:&nbsp;&nbsp;Ahh,&nbsp;so&nbsp;you&nbsp;were&nbsp;wondering&nbsp;where&nbsp;your&nbsp;precious&nbsp;user&nbsp;information&nbsp;was<br>
-stored?&nbsp;&nbsp;Here&nbsp;it&nbsp;is!&nbsp;&nbsp;With&nbsp;the&nbsp;passwords&nbsp;in&nbsp;plain&nbsp;text&nbsp;for&nbsp;all&nbsp;to&nbsp;see!&nbsp;(but<br>
-sshh...&nbsp;don't&nbsp;tell&nbsp;your&nbsp;users!)<br>
-<br>
-profiles_activity:&nbsp;&nbsp;Need&nbsp;to&nbsp;know&nbsp;who&nbsp;did&nbsp;what&nbsp;when&nbsp;to&nbsp;who's&nbsp;profile?&nbsp;&nbsp;This'll<br>
-tell&nbsp;you,&nbsp;it's&nbsp;a&nbsp;pretty&nbsp;complete&nbsp;history.<br>
-<br>
-versions:&nbsp;&nbsp;Version&nbsp;information&nbsp;for&nbsp;every&nbsp;product<br>
-<br>
-votes:&nbsp;&nbsp;Who&nbsp;voted&nbsp;for&nbsp;what&nbsp;when<br>
-<br>
-watch:&nbsp;&nbsp;Who&nbsp;(according&nbsp;to&nbsp;userid)&nbsp;is&nbsp;watching&nbsp;who's&nbsp;bugs&nbsp;(according&nbsp;to&nbsp;their<br>
-userid).<br>
-<br>
-<br>
-===<br>
-THE&nbsp;DETAILS<br>
-===<br>
-<br>
-&nbsp;&nbsp;Ahh,&nbsp;so&nbsp;you're&nbsp;wondering&nbsp;just&nbsp;what&nbsp;to&nbsp;do&nbsp;with&nbsp;the&nbsp;information&nbsp;above?&nbsp;&nbsp;At&nbsp;the<br>
-mysql&nbsp;prompt,&nbsp;you&nbsp;can&nbsp;view&nbsp;any&nbsp;information&nbsp;about&nbsp;the&nbsp;columns&nbsp;in&nbsp;a&nbsp;table&nbsp;with<br>
-this&nbsp;command&nbsp;(where&nbsp;"table"&nbsp;is&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;table&nbsp;you&nbsp;wish&nbsp;to&nbsp;view):<br>
-<br>
-mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;table;<br>
-<br>
-&nbsp;&nbsp;You&nbsp;can&nbsp;also&nbsp;view&nbsp;all&nbsp;the&nbsp;data&nbsp;in&nbsp;a&nbsp;table&nbsp;with&nbsp;this&nbsp;command:<br>
-<br>
-mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table;<br>
-<br>
-&nbsp;&nbsp;--&nbsp;note:&nbsp;this&nbsp;is&nbsp;a&nbsp;very&nbsp;bad&nbsp;idea&nbsp;to&nbsp;do&nbsp;on,&nbsp;for&nbsp;instance,&nbsp;the&nbsp;"bugs"&nbsp;table&nbsp;if<br>
-you&nbsp;have&nbsp;50,000&nbsp;bugs.&nbsp;You'll&nbsp;be&nbsp;sitting&nbsp;there&nbsp;a&nbsp;while&nbsp;until&nbsp;you&nbsp;ctrl-c&nbsp;or<br>
-50,000&nbsp;bugs&nbsp;play&nbsp;across&nbsp;your&nbsp;screen.<br>
-<br>
-&nbsp;&nbsp;You&nbsp;can&nbsp;limit&nbsp;the&nbsp;display&nbsp;from&nbsp;above&nbsp;a&nbsp;little&nbsp;with&nbsp;the&nbsp;command,&nbsp;where<br>
-"column"&nbsp;is&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;column&nbsp;for&nbsp;which&nbsp;you&nbsp;wish&nbsp;to&nbsp;restrict&nbsp;information:<br>
-<br>
-mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table&nbsp;where&nbsp;(column&nbsp;=&nbsp;"some&nbsp;info");<br>
-<br>
-&nbsp;&nbsp;--&nbsp;or&nbsp;the&nbsp;reverse&nbsp;of&nbsp;this<br>
-<br>
-mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table&nbsp;where&nbsp;(column&nbsp;!=&nbsp;"some&nbsp;info");<br>
-<br>
-&nbsp;&nbsp;Let's&nbsp;take&nbsp;our&nbsp;example&nbsp;from&nbsp;the&nbsp;introduction,&nbsp;and&nbsp;assume&nbsp;you&nbsp;need&nbsp;to&nbsp;change<br>
-the&nbsp;word&nbsp;"verified"&nbsp;to&nbsp;"approved"&nbsp;in&nbsp;the&nbsp;resolution&nbsp;field.&nbsp;We&nbsp;know&nbsp;from&nbsp;the<br>
-above&nbsp;information&nbsp;that&nbsp;the&nbsp;resolution&nbsp;is&nbsp;likely&nbsp;to&nbsp;be&nbsp;stored&nbsp;in&nbsp;the&nbsp;"bugs"<br>
-table.&nbsp;Note&nbsp;we'll&nbsp;need&nbsp;to&nbsp;change&nbsp;a&nbsp;little&nbsp;perl&nbsp;code&nbsp;as&nbsp;well&nbsp;as&nbsp;this&nbsp;database<br>
-change,&nbsp;but&nbsp;I&nbsp;won't&nbsp;plunge&nbsp;into&nbsp;that&nbsp;in&nbsp;this&nbsp;document.&nbsp;Let's&nbsp;verify&nbsp;the<br>
-information&nbsp;is&nbsp;stored&nbsp;in&nbsp;the&nbsp;"bugs"&nbsp;table:<br>
-<br>
-mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;bugs<br>
-<br>
-&nbsp;&nbsp;(exceedingly&nbsp;long&nbsp;output&nbsp;truncated&nbsp;here)<br>
-|&nbsp;bug_status|&nbsp;enum('UNCONFIRMED','NEW','ASSIGNED','REOPENED','RESOLVED','VERIFIED','CLOSED')||MUL&nbsp;|&nbsp;UNCONFIRMED||<br>
-<br>
-&nbsp;&nbsp;Sorry&nbsp;about&nbsp;that&nbsp;long&nbsp;line.&nbsp;We&nbsp;see&nbsp;from&nbsp;this&nbsp;that&nbsp;the&nbsp;"bug&nbsp;status"&nbsp;column&nbsp;is<br>
-an&nbsp;"enum&nbsp;field",&nbsp;which&nbsp;is&nbsp;a&nbsp;MySQL&nbsp;peculiarity&nbsp;where&nbsp;a&nbsp;string&nbsp;type&nbsp;field&nbsp;can<br>
-only&nbsp;have&nbsp;certain&nbsp;types&nbsp;of&nbsp;entries.&nbsp;While&nbsp;I&nbsp;think&nbsp;this&nbsp;is&nbsp;very&nbsp;cool,&nbsp;it's&nbsp;not<br>
-standard&nbsp;SQL.&nbsp;Anyway,&nbsp;we&nbsp;need&nbsp;to&nbsp;add&nbsp;the&nbsp;possible&nbsp;enum&nbsp;field&nbsp;entry<br>
-'APPROVED'&nbsp;by&nbsp;altering&nbsp;the&nbsp;"bugs"&nbsp;table.<br>
-<br>
-mysql&#62;&nbsp;ALTER&nbsp;table&nbsp;bugs&nbsp;CHANGE&nbsp;bug_status&nbsp;bug_status<br>
-&nbsp;&nbsp;&nbsp;&nbsp;-&#62;&nbsp;enum("UNCONFIRMED",&nbsp;"NEW",&nbsp;"ASSIGNED",&nbsp;"REOPENED",&nbsp;"RESOLVED",<br>
-&nbsp;&nbsp;&nbsp;&nbsp;-&#62;&nbsp;"VERIFIED",&nbsp;"APPROVED",&nbsp;"CLOSED")&nbsp;not&nbsp;null;<br>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;(note&nbsp;we&nbsp;can&nbsp;take&nbsp;three&nbsp;lines&nbsp;or&nbsp;more&nbsp;--&nbsp;whatever&nbsp;you&nbsp;put&nbsp;in&nbsp;before&nbsp;the<br>
-semicolon&nbsp;is&nbsp;evaluated&nbsp;as&nbsp;a&nbsp;single&nbsp;expression)<br>
-<br>
-Now&nbsp;if&nbsp;you&nbsp;do&nbsp;this:<br>
-<br>
-mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;bugs;<br>
-<br>
-&nbsp;&nbsp;you'll&nbsp;see&nbsp;that&nbsp;the&nbsp;bug_status&nbsp;field&nbsp;has&nbsp;an&nbsp;extra&nbsp;"APPROVED"&nbsp;enum&nbsp;that's<br>
-available!&nbsp;&nbsp;Cool&nbsp;thing,&nbsp;too,&nbsp;is&nbsp;that&nbsp;this&nbsp;is&nbsp;reflected&nbsp;on&nbsp;your&nbsp;query&nbsp;page&nbsp;as<br>
-well&nbsp;--&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;new&nbsp;status.&nbsp;But&nbsp;how's&nbsp;it&nbsp;fit&nbsp;into&nbsp;the&nbsp;existing<br>
-scheme&nbsp;of&nbsp;things?<br>
-&nbsp;&nbsp;Looks&nbsp;like&nbsp;you&nbsp;need&nbsp;to&nbsp;go&nbsp;back&nbsp;and&nbsp;look&nbsp;for&nbsp;instances&nbsp;of&nbsp;the&nbsp;word&nbsp;"verified"<br>
-in&nbsp;the&nbsp;perl&nbsp;code&nbsp;for&nbsp;Bugzilla&nbsp;--&nbsp;wherever&nbsp;you&nbsp;find&nbsp;"verified",&nbsp;change&nbsp;it&nbsp;to<br>
-"approved"&nbsp;and&nbsp;you're&nbsp;in&nbsp;business&nbsp;(make&nbsp;sure&nbsp;that's&nbsp;a&nbsp;case-insensitive&nbsp;search).<br>
-Although&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;enum&nbsp;field,&nbsp;you&nbsp;can't&nbsp;give&nbsp;something&nbsp;a&nbsp;status<br>
-of&nbsp;"APPROVED"&nbsp;until&nbsp;you&nbsp;make&nbsp;the&nbsp;perl&nbsp;changes.&nbsp;Note&nbsp;that&nbsp;this&nbsp;change&nbsp;I<br>
-mentioned&nbsp;can&nbsp;also&nbsp;be&nbsp;done&nbsp;by&nbsp;editing&nbsp;checksetup.pl,&nbsp;which&nbsp;automates&nbsp;a&nbsp;lot&nbsp;of<br>
-this.&nbsp;But&nbsp;you&nbsp;need&nbsp;to&nbsp;know&nbsp;this&nbsp;stuff&nbsp;anyway,&nbsp;right?<br>
-	</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="section"
-><HR><H2
-CLASS="section"
-><A
-NAME="integration"
->4.6. Integrating Bugzilla with Third-Party Tools</A
-></H2
+>There are many files that are placed in the Bugzilla directory
+      area that should not be accessable from the web. Because of the way
+      Bugzilla is currently layed out, the list of what should and should not
+      be accessible is rather complicated. A new installation method is
+      currently in the works which should solve this by allowing files that
+      shouldn't be accessible from the web to be placed in a directory outside
+      the webroot. See 
+      <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=44659"
+TARGET="_top"
+>bug 44659</A
+>
+      for more information.
+      </P
 ><DIV
-CLASS="section"
-><H3
-CLASS="section"
-><A
-NAME="bonsai"
->4.6.1. Bonsai</A
-></H3
+CLASS="tip"
 ><P
->Bonsai is a web-based tool for managing 
-    <A
-HREF="#cvs"
->CVS, the Concurrent Versioning System</A
+></P
+><TABLE
+CLASS="tip"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/tip.gif"
+HSPACE="5"
+ALT="Tip"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>Bugzilla ships with the ability to create
+        <A
+HREF="#gloss-htaccess"
+><I
+CLASS="glossterm"
+><TT
+CLASS="filename"
+>.htaccess</TT
+></I
+></A
 >
-
-    . Using Bonsai, administrators can control open/closed status of trees,
-    query a fast relational database back-end for change, branch, and comment
-    information, and view changes made since the last time the tree was
-    closed. Bonsai
-    also integrates with  
-    <A
-HREF="#tinderbox"
->Tinderbox, the Mozilla automated build management system</A
->.
-    </P
+        files that enforce these rules. Instructions for enabling these
+        directives in Apache can be found in <A
+HREF="#http-apache"
+>Section 2.2.4.1</A
+>
+        </P
+></TD
+></TR
+></TABLE
 ></DIV
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="cvs"
->4.6.2. CVS</A
-></H3
 ><P
->CVS integration is best accomplished, at this point, using the
-    Bugzilla Email Gateway.</P
+></P
+><UL
+COMPACT="COMPACT"
+><LI
 ><P
->Follow the instructions in this Guide for enabling Bugzilla e-mail
-    integration. Ensure that your check-in script sends an email to your
-    Bugzilla e-mail gateway with the subject of 
-    <SPAN
-CLASS="QUOTE"
->"[Bug XXXX]"</SPAN
->, 
-    and you can have CVS check-in comments append to your Bugzilla bug. If
-    you  want to have the bug be closed automatically, you'll have to modify
-    the <TT
-CLASS="filename"
->contrib/bugzilla_email_append.pl</TT
-> script.
-    </P
+>In the main Bugzilla directory, you should:</P
 ><P
->There is also a CVSZilla project, based upon somewhat dated 
-    Bugzilla code, to integrate CVS and Bugzilla through CVS' ability to 
-    email. Check it out at: <A
-HREF="http://homepages.kcbbs.gen.nz/~tonyg/"
-TARGET="_top"
->http://homepages.kcbbs.gen.nz/~tonyg/</A
->.
-    </P
-></DIV
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="scm"
->4.6.3. Perforce SCM</A
-></H3
+></P
+><UL
+COMPACT="COMPACT"
+><LI
 ><P
->You can find the project page for Bugzilla and Teamtrack Perforce
-    integration (p4dti) at: 
-    <A
-HREF="http://www.ravenbrook.com/project/p4dti/"
-TARGET="_top"
->http://www.ravenbrook.com/project/p4dti/</A
->
-
-    . 
-    <SPAN
-CLASS="QUOTE"
->"p4dti"</SPAN
+>Block:
+              <TT
+CLASS="filename"
+>*.pl</TT
+>, <TT
+CLASS="filename"
+>*localconfig*</TT
+>, <TT
+CLASS="filename"
+>runtests.sh</TT
 >
-
-    is now an officially supported product from Perforce, and you can find
-    the "Perforce Public Depot" p4dti page at 
-    <A
-HREF="http://public.perforce.com/public/perforce/p4dti/index.html"
-TARGET="_top"
->http://public.perforce.com/public/perforce/p4dti/index.html</A
+              </P
+></LI
+><LI
+><P
+>But allow:
+              <TT
+CLASS="filename"
+>localconfig.js</TT
+>, <TT
+CLASS="filename"
+>localconfig.rdf</TT
 >
-
-    .</P
+              </P
+></LI
+></UL
+></LI
+><LI
 ><P
->Integration of Perforce with Bugzilla, once patches are applied, is
-    seamless. Perforce replication information will appear below the comments
-    of each bug. Be certain you have a matching set of patches for the
-    Bugzilla version you are installing. p4dti is designed to support
-    multiple defect trackers, and maintains its own documentation for it.
-    Please consult the pages linked above for further information.</P
-></DIV
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="tinderbox"
->4.6.4. Tinderbox/Tinderbox2</A
-></H3
+>In <TT
+CLASS="filename"
+>data</TT
+>:</P
 ><P
->Tinderbox is a continuous-build system which can integrate with
-    Bugzilla - see
-    <A
-HREF="http://www.mozilla.org/projects/tinderbox"
-TARGET="_top"
->http://www.mozilla.org/projects/tinderbox</A
-> for details
-    of Tinderbox, and 
-    <A
-HREF="http://tinderbox.mozilla.org/showbuilds.cgi"
-TARGET="_top"
->http://tinderbox.mozilla.org/showbuilds.cgi</A
-> to see it
-    in action.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="chapter"
-><HR><H1
-><A
-NAME="using"
-></A
->Chapter 5. Using Bugzilla</H1
-><DIV
-CLASS="section"
-><H2
-CLASS="section"
-><A
-NAME="using-intro"
->5.1. Introduction</A
-></H2
+></P
+><UL
+COMPACT="COMPACT"
+><LI
 ><P
->This section contains information for end-users of Bugzilla. 
-    There is a Bugzilla test installation, called 
-    <A
-HREF="http://landfill.bugzilla.org/bugzilla-tip/"
-TARGET="_top"
->Landfill</A
->, 
-    which you are welcome to play with (if it's up.) 
-    However, it does not necessarily
-    have all Bugzilla features enabled, and runs an up-to-the-minute version, 
-    so some things may not quite work as this document describes.</P
-></DIV
-><DIV
-CLASS="section"
-><HR><H2
-CLASS="section"
-><A
-NAME="myaccount"
->5.2. Create a Bugzilla Account</A
-></H2
+>Block everything</P
+></LI
+><LI
 ><P
->If you want to use Bugzilla, first you need to create an account.
-    Consult with the administrator responsible for your installation of
-    Bugzilla for the URL you should use to access it. If you're
-    test-driving Bugzilla, use this URL: 
-    <A
-HREF="http://landfill.bugzilla.org/bugzilla-tip/"
-TARGET="_top"
->http://landfill.bugzilla.org/bugzilla-tip/</A
->.
-    </P
+>But allow:
+              <TT
+CLASS="filename"
+>duplicates.rdf</TT
+>
+              </P
+></LI
+></UL
+></LI
+><LI
+><P
+>In <TT
+CLASS="filename"
+>data/webdot</TT
+>:</P
 ><P
 ></P
-><OL
-TYPE="1"
+><UL
+COMPACT="COMPACT"
 ><LI
 ><P
->Click the 
-        <SPAN
-CLASS="QUOTE"
->"Open a new Bugzilla account"</SPAN
->
-
-        link, enter your email address and, optionally, your name in the
-        spaces provided, then click 
-        <SPAN
-CLASS="QUOTE"
->"Create Account"</SPAN
->
-
-        .</P
-></LI
+>If you use a remote webdot server:</P
+><P
+></P
+><UL
+COMPACT="COMPACT"
 ><LI
 ><P
->Within moments, you should receive an email to the address
-        you provided, which contains your login name (generally the
-        same as the email address), and a password. 
-        This password is randomly generated, but can be
-        changed to something more memorable.</P
+>Block everything</P
 ></LI
 ><LI
 ><P
->Click the 
-        <SPAN
-CLASS="QUOTE"
->"Log In"</SPAN
+>But allow
+                  <TT
+CLASS="filename"
+>*.dot</TT
 >
-        link in the footer at the bottom of the page in your browser,
-        enter your email address and password into the spaces provided, and
-        click 
-        <SPAN
-CLASS="QUOTE"
->"Login"</SPAN
->.
-        </P
+                  only for the remote webdot server</P
 ></LI
-></OL
+></UL
+></LI
+><LI
 ><P
->You are now logged in. Bugzilla uses cookies to remember you are
-    logged in so, unless you have cookies disabled or your IP address changes, 
-    you should not have to log in again.</P
-></DIV
-><DIV
-CLASS="section"
-><HR><H2
-CLASS="section"
-><A
-NAME="bug_page"
->5.3. Anatomy of a Bug</A
-></H2
+>Otherwise, if you use a local GraphViz:</P
 ><P
->The core of Bugzilla is the screen which displays a particular
-    bug. It's a good place to explain some Bugzilla concepts. 
-    <A
-HREF="http://landfill.bugzilla.org/bugzilla-tip/show_bug.cgi?id=1"
-TARGET="_top"
->&#13;    Bug 1 on Landfill</A
+></P
+><UL
+COMPACT="COMPACT"
+><LI
+><P
+>Block everything</P
+></LI
+><LI
+><P
+>But allow:
+                  <TT
+CLASS="filename"
+>*.png</TT
+>, <TT
+CLASS="filename"
+>*.gif</TT
+>, <TT
+CLASS="filename"
+>*.jpg</TT
+>, <TT
+CLASS="filename"
+>*.map</TT
 >
-
-    is a good example. Note that the labels for most fields are hyperlinks;
-    clicking them will take you to context-sensitive help on that
-    particular field. Fields marked * may not be present on every
-    installation of Bugzilla.</P
+                  </P
+></LI
+></UL
+></LI
+><LI
+><P
+>And if you don't use any dot:</P
 ><P
 ></P
-><OL
-TYPE="1"
+><UL
+COMPACT="COMPACT"
 ><LI
 ><P
->&#13;        <EM
->Product and Component</EM
->: 
-        Bugs are divided up by Product and Component, with a Product
-        having one or more Components in it. For example,
-        bugzilla.mozilla.org's "Bugzilla" Product is composed of several
-        Components: 
-        <P
+>Block everything</P
+></LI
+></UL
+></LI
+></UL
+></LI
+><LI
+><P
+>In <TT
+CLASS="filename"
+>Bugzilla</TT
+>:</P
+><P
 ></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->&#13;        <EM
->Administration:</EM
+><UL
+COMPACT="COMPACT"
+><LI
+><P
+>Block everything</P
+></LI
+></UL
+></LI
+><LI
+><P
+>In <TT
+CLASS="filename"
+>template</TT
+>:</P
+><P
+></P
+><UL
+COMPACT="COMPACT"
+><LI
+><P
+>Block everything</P
+></LI
+></UL
+></LI
+></UL
+><P
+>Be sure to test that data that should not be accessed remotely is
+      properly blocked. Of particular intrest is the localconfig file which
+      contains your database password. Also, be aware that many editors
+      create temporary and backup files in the working directory and that
+      those should also not be accessable. For more information, see 
+      <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=186383"
+TARGET="_top"
+>bug 186383</A
 >
-        Administration of a Bugzilla installation.</TD
-></TR
-><TR
-><TD
->&#13;        <EM
->Bugzilla-General:</EM
+      or
+      <A
+HREF="http://online.securityfocus.com/bid/6501"
+TARGET="_top"
+>Bugtraq ID 6501</A
+>.
+      To test, simply point your web browser at the file; for example, to
+      test mozilla.org's installation, we'd try to access
+      <A
+HREF="http://bugzilla.mozilla.org/localconfig"
+TARGET="_top"
+>http://bugzilla.mozilla.org/localconfig</A
+>. You should get
+      a <SPAN
+CLASS="QUOTE"
+>"<SPAN
+CLASS="errorcode"
+>403</SPAN
+> <SPAN
+CLASS="errorname"
+>Forbidden</SPAN
+>"</SPAN
 >
-        Anything that doesn't fit in the other components, or spans
-        multiple components.</TD
-></TR
+      error.
+      </P
+><DIV
+CLASS="tip"
+><P
+></P
+><TABLE
+CLASS="tip"
+WIDTH="100%"
+BORDER="0"
 ><TR
 ><TD
->&#13;        <EM
->Creating/Changing Bugs:</EM
->
-        Creating, changing, and viewing bugs.</TD
-></TR
-><TR
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/tip.gif"
+HSPACE="5"
+ALT="Tip"></TD
 ><TD
->&#13;        <EM
->Documentation:</EM
->
-        The Bugzilla documentation, including The Bugzilla Guide.</TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>Be sure to check <A
+HREF="#http"
+>Section 2.2.4</A
+> for instructions
+        specific to the webserver you use.
+        </P
+></TD
 ></TR
+></TABLE
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="security-webserver-mod-throttle"
+>4.3.2. Using <TT
+CLASS="filename"
+>mod_throttle</TT
+> to Prevent a DOS</A
+></H3
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
 ><TR
 ><TD
->&#13;        <EM
->Email:</EM
->
-        Anything to do with email sent by Bugzilla.</TD
-></TR
-><TR
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
 ><TD
->&#13;        <EM
->Installation:</EM
->
-        The installation process of Bugzilla.</TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>This section only applies to people who have chosen the Apache
+        webserver. It may be possible to do similar things with other
+        webservers. Consult the documentation that came with your webserver
+        to find out.
+        </P
+></TD
 ></TR
-><TR
-><TD
->&#13;        <EM
->Query/Buglist:</EM
+></TABLE
+></DIV
+><P
+>It is possible for a user, by mistake or on purpose, to access
+      the database many times in a row which can result in very slow access
+      speeds for other users (effectively, a
+      <A
+HREF="#gloss-dos"
+><I
+CLASS="glossterm"
+>DOS</I
+></A
+> attack). If your
+      Bugzilla installation is experiencing this problem, you may install
+      the Apache module <TT
+CLASS="filename"
+>mod_throttle</TT
+> which can limit
+      connections by IP address. You may download this module at 
+      <A
+HREF="http://www.snert.com/Software/mod_throttle/"
+TARGET="_top"
+>http://www.snert.com/Software/mod_throttle/</A
+>.
+      Follow the instructions to install into your Apache install. 
+      The command you need is 
+      <B
+CLASS="command"
+>ThrottleClientIP</B
+>. See the 
+      <A
+HREF="http://www.snert.com/Software/mod_throttle/"
+TARGET="_top"
+>documentation</A
 >
-        Anything to do with searching for bugs and viewing the
-        buglists.</TD
-></TR
+      for more information.</P
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="security-bugzilla"
+>4.4. Bugzilla</A
+></H2
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="security-bugzilla-charset"
+>4.4.1. Prevent users injecting malicious Javascript</A
+></H3
+><P
+>It is possible for a Bugzilla user to take advantage of character
+      set encoding ambiguities to inject HTML into Bugzilla comments. This
+      could include malicious scripts. 
+      Due to internationalization concerns, we are unable to
+      incorporate by default the code changes suggested by 
+      <A
+HREF="http://www.cert.org/tech_tips/malicious_code_mitigation.html#3"
+TARGET="_top"
+>the
+      CERT advisory</A
+> on this issue.
+      If your installation is for an English speaking audience only, making the
+      change in <A
+HREF="#security-bugzilla-charset-ex"
+>Example 4-4</A
+> will prevent
+      this problem. 
+      </P
+><DIV
+CLASS="example"
+><A
+NAME="security-bugzilla-charset-ex"
+></A
+><P
+><B
+>Example 4-4. Forcing Bugzilla to output a charset</B
+></P
+><P
+>Locate the following line in
+        <TT
+CLASS="filename"
+>Bugzilla/CGI.pm</TT
+>:
+        <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
 ><TR
 ><TD
->&#13;        <EM
->Reporting/Charting:</EM
->
-        Getting reports from Bugzilla.</TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>$self-&#62;charset('');</PRE
+></FONT
+></TD
 ></TR
-><TR
-><TD
->&#13;        <EM
->User Accounts:</EM
+></TABLE
 >
-        Anything about managing a user account from the user's perspective.
-        Saved queries, creating accounts, changing passwords, logging in,
-        etc.</TD
-></TR
+        and change it to:
+        <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
 ><TR
 ><TD
->&#13;        <EM
->User Interface:</EM
->
-        General issues having to do with the user interface cosmetics (not
-        functionality) including cosmetic issues, HTML templates,
-        etc.</TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>$self-&#62;charset('ISO-8859-1');</PRE
+></FONT
+></TD
 ></TR
-></TBODY
 ></TABLE
-><P
-></P
 >
         </P
-></LI
-><LI
-><P
->&#13;        <EM
->Status and Resolution:</EM
->
-
-        These define exactly what state the bug is in - from not even
-        being confirmed as a bug, through to being fixed and the fix
-        confirmed by Quality Assurance. The different possible values for
-        Status and Resolution on your installation should be documented in the
-        context-sensitive help for those items.</P
-></LI
-><LI
-><P
->&#13;        <EM
->Assigned To:</EM
->
-        The person responsible for fixing the bug.</P
-></LI
-><LI
-><P
->&#13;        <EM
->*URL:</EM
->
-        A URL associated with the bug, if any.</P
-></LI
-><LI
-><P
->&#13;        <EM
->Summary:</EM
->
-        A one-sentence summary of the problem.</P
-></LI
-><LI
-><P
->&#13;        <EM
->*Status Whiteboard:</EM
->
-        (a.k.a. Whiteboard) A free-form text area for adding short notes
-        and tags to a bug.</P
-></LI
-><LI
-><P
->&#13;        <EM
->*Keywords:</EM
->
-        The administrator can define keywords which you can use to tag and
-        categorise bugs - e.g. The Mozilla Project has keywords like crash
-        and regression.</P
-></LI
-><LI
-><P
->&#13;        <EM
->Platform and OS:</EM
->
-        These indicate the computing environment where the bug was
-        found.</P
-></LI
-><LI
-><P
->&#13;        <EM
->Version:</EM
->
-        The "Version" field is usually used for versions of a product which
-        have been released, and is set to indicate which versions of a
-        Component have the particular problem the bug report is
-        about.</P
-></LI
-><LI
-><P
->&#13;        <EM
->Priority:</EM
->
-        The bug assignee uses this field to prioritise his or her bugs.
-        It's a good idea not to change this on other people's bugs.</P
-></LI
-><LI
-><P
->&#13;        <EM
->Severity:</EM
->
-        This indicates how severe the problem is - from blocker
-        ("application unusable") to trivial ("minor cosmetic issue"). You
-        can also use this field to indicate whether a bug is an enhancement
-        request.</P
-></LI
-><LI
-><P
->&#13;        <EM
->*Target:</EM
->
-        (a.k.a. Target Milestone) A future version by which the bug is to
-        be fixed. e.g. The Bugzilla Project's milestones for future
-        Bugzilla versions are 2.18, 2.20, 3.0, etc. Milestones are not
-        restricted to numbers, thought - you can use any text strings, such
-        as dates.</P
-></LI
-><LI
-><P
->&#13;        <EM
->Reporter:</EM
->
-        The person who filed the bug.</P
-></LI
-><LI
-><P
->&#13;        <EM
->CC list:</EM
->
-        A list of people who get mail when the bug changes.</P
-></LI
-><LI
-><P
->&#13;        <EM
->Attachments:</EM
->
-        You can attach files (e.g. testcases or patches) to bugs. If there
-        are any attachments, they are listed in this section.</P
-></LI
-><LI
-><P
->&#13;        <EM
->*Dependencies:</EM
->
-        If this bug cannot be fixed unless other bugs are fixed (depends
-        on), or this bug stops other bugs being fixed (blocks), their
-        numbers are recorded here.</P
-></LI
-><LI
-><P
->&#13;        <EM
->*Votes:</EM
->
-        Whether this bug has any votes.</P
-></LI
-><LI
-><P
->&#13;        <EM
->Additional Comments:</EM
->
-        You can add your two cents to the bug discussion here, if you have
-        something worthwhile to say.</P
-></LI
-></OL
 ></DIV
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="chapter"
+><HR><H1
+><A
+NAME="customization"
+></A
+>Chapter 5. Customising Bugzilla</H1
 ><DIV
 CLASS="section"
-><HR><H2
+><H2
 CLASS="section"
 ><A
-NAME="query"
->5.4. Searching for Bugs</A
+NAME="cust-templates"
+>5.1. Template Customization</A
 ></H2
 ><P
->The Bugzilla Search page is is the interface where you can find
-    any bug report, comment, or patch currently in the Bugzilla system. You
-    can play with it here: 
-    <A
-HREF="http://landfill.bugzilla.org/bugzilla-tip/query.cgi"
-TARGET="_top"
->http://landfill.bugzilla.org/bugzilla-tip/query.cgi</A
->.</P
-><P
->The Search page has controls for selecting different possible
-    values for all of the fields in a bug, as described above. For some
-    fields, multiple values can be selected. In those cases, Bugzilla
-    returns bugs where the content of the field matches any one of the selected
-    values. If none is selected, then the field can take any value.</P
-><P
->Once you've run a search, you can save it as a Saved Search, which 
-    appears in the page footer.</P
+>&#13;      Administrators can configure the look and feel of Bugzilla without
+      having to edit Perl files or face the nightmare of massive merge
+      conflicts when they upgrade to a newer version in the future.
+    </P
 ><P
->Highly advanced querying is done using Boolean Charts. See the
-    Boolean Charts help link on the Search page for more information.</P
-></DIV
+>&#13;      Templatization also makes localized versions of Bugzilla possible, 
+      for the first time. It's possible to have Bugzilla's UI language 
+      determined by the user's browser. More information is available in
+      <A
+HREF="#template-http-accept"
+>Section 5.1.6</A
+>.
+    </P
 ><DIV
 CLASS="section"
-><HR><H2
+><HR><H3
 CLASS="section"
 ><A
-NAME="list"
->5.5. Bug Lists</A
-></H2
+NAME="template-directory"
+>5.1.1. Template Directory Structure</A
+></H3
 ><P
->If you run a search, a list of matching bugs will be returned.
-    </P
+>&#13;        The template directory structure starts with top level directory 
+        named <TT
+CLASS="filename"
+>template</TT
+>, which contains a directory
+        for each installed localization. The next level defines the
+        language used in the templates. Bugzilla comes with English
+        templates, so the directory name is <TT
+CLASS="filename"
+>en</TT
+>,
+        and we will discuss <TT
+CLASS="filename"
+>template/en</TT
+> throughout
+        the documentation. Below <TT
+CLASS="filename"
+>template/en</TT
+> is the
+        <TT
+CLASS="filename"
+>default</TT
+> directory, which contains all the
+        standard templates shipped with Bugzilla.
+      </P
+><DIV
+CLASS="warning"
 ><P
->The format of the list is configurable. For example, it can be
-    sorted by clicking the column headings. Other useful features can be
-    accessed using the links at the bottom of the list: 
-    <P
 ></P
 ><TABLE
+CLASS="warning"
+WIDTH="100%"
 BORDER="0"
-><TBODY
 ><TR
 ><TD
->&#13;      <EM
->Long Format:</EM
->
-
-      this gives you a large page with a non-editable summary of the fields
-      of each bug.</TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          A directory <TT
+CLASS="filename"
+>data/templates</TT
+> also exists;
+          this is where Template Toolkit puts the compiled versions of
+          the templates from either the default or custom directories.
+          <EM
+>Do not</EM
+> directly edit the files in this
+          directory, or all your changes will be lost the next time
+          Template Toolkit recompiles the templates.
+        </P
+></TD
 ></TR
+></TABLE
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="template-method"
+>5.1.2. Choosing a Customization Method</A
+></H3
+><P
+>&#13;        If you want to edit Bugzilla's templates, the first decision
+        you must make is how you want to go about doing so. There are two
+        choices, and which you use depends mainly on the scope of your 
+        modifications, and the method you plan to use to upgrade Bugzilla.
+      </P
+><P
+>&#13;        The first method of making customizations is to directly edit the
+        templates found in <TT
+CLASS="filename"
+>template/en/default</TT
+>.
+        This is probably the best way to go about it if you are going to
+        be upgrading Bugzilla through CVS, because if you then execute
+        a <B
+CLASS="command"
+>cvs update</B
+>, any changes you have made will
+        be merged automagically with the updated versions.
+      </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
 ><TR
 ><TD
->&#13;      <EM
->CSV:</EM
->
-
-      get the buglist as comma-separated values, for import into e.g.
-      a spreadsheet.</TD
-></TR
-><TR
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
 ><TD
->&#13;      <EM
->Change Columns:</EM
->
-
-      change the bug attributes which appear in the list.</TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          If you use this method, and CVS conflicts occur during an
+          update, the conflicted templates (and possibly other parts
+          of your installation) will not work until they are resolved.
+        </P
+></TD
 ></TR
+></TABLE
+></DIV
+><P
+>&#13;        The second method is to copy the templates to be modified
+        into a mirrored directory structure under 
+        <TT
+CLASS="filename"
+>template/en/custom</TT
+>. Templates in this
+        directory structure automatically override any identically-named
+        and identically-located templates in the 
+        <TT
+CLASS="filename"
+>default</TT
+> directory. 
+      </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
 ><TR
 ><TD
->&#13;      <EM
->Change several bugs at once:</EM
->
-
-      If your account is sufficiently empowered, you can make the same
-      change to all the bugs in the list - for example, changing their
-      owner.</TD
-></TR
-><TR
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
 ><TD
->&#13;      <EM
->Send mail to bug owners:</EM
->
-
-      Sends mail to the owners of all bugs on the list.</TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          The <TT
+CLASS="filename"
+>custom</TT
+> directory does not exist
+          at first and must be created if you want to use it.
+        </P
+></TD
 ></TR
+></TABLE
+></DIV
+><P
+>&#13;        The second method of customization should be used if you 
+        use the overwriting method of upgrade, because otherwise 
+        your changes will be lost.  This method may also be better if
+        you are using the CVS method of upgrading and are going to make major
+        changes, because it is guaranteed that the contents of this directory
+        will not be touched during an upgrade, and you can then decide whether
+        to continue using your own templates, or make the effort to merge your
+        changes into the new versions by hand.
+      </P
+><P
+>&#13;        Using this method, your installation may break if incompatible
+        changes are made to the template interface.  Such changes should
+        be documented in the release notes, provided you are using a
+        stable release of Bugzilla.  If you use using unstable code, you will
+        need to deal with this one yourself, although if possible the changes
+        will be mentioned before they occur in the deprecations section of the
+        previous stable release's release notes.
+      </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
 ><TR
 ><TD
->&#13;      <EM
->Edit Search:</EM
->
-
-      If you didn't get exactly the results you were looking for, you can
-      return to the Query page through this link and make small revisions
-      to the query you just made so you get more accurate results.</TD
-></TR
-><TR
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
 ><TD
->&#13;      <EM
->Remember Search As:</EM
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          Regardless of which method you choose, it is recommended that
+          you run <B
+CLASS="command"
+>./checksetup.pl</B
+> after creating or
+          editing any templates in the <TT
+CLASS="filename"
+>template/en/default</TT
 >
-
-      You can give a search a name and remember it; a link will appear
-      in your page footer giving you quick access to run it again later.
-      </TD
+          directory, and after editing any templates in the 
+          <TT
+CLASS="filename"
+>custom</TT
+> directory.
+        </P
+></TD
 ></TR
-></TBODY
 ></TABLE
-><P
-></P
->
-    </P
 ></DIV
 ><DIV
-CLASS="section"
-><HR><H2
-CLASS="section"
-><A
-NAME="bugreports"
->5.6. Filing Bugs</A
-></H2
-><P
->Years of bug writing experience has been distilled for your
-    reading pleasure into the 
-    <A
-HREF="http://landfill.bugzilla.org/bugzilla-tip/bugwritinghelp.html"
-TARGET="_top"
->&#13;    Bug Writing Guidelines</A
->. 
-    While some of the advice is Mozilla-specific, the basic principles of
-    reporting Reproducible, Specific bugs, isolating the Product you are
-    using, the Version of the Product, the Component which failed, the
-    Hardware Platform, and Operating System you were using at the time of
-    the failure go a long way toward ensuring accurate, responsible fixes
-    for the bug that bit you.</P
-><P
->The procedure for filing a test bug is as follows:</P
+CLASS="warning"
 ><P
 ></P
-><OL
-TYPE="1"
-><LI
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
 ><P
->Go to 
-        <A
-HREF="http://landfill.bugzilla.org/bugzilla-tip/"
-TARGET="_top"
->&#13;        Landfill</A
->
-        in your browser and click 
-        <A
-HREF="http://landfill.bugzilla.org/bugzilla-tip/enter_bug.cgi"
-TARGET="_top"
->&#13;        Enter a new bug report</A
->.
+>&#13;          It is <EM
+>required</EM
+> that you run 
+          <B
+CLASS="command"
+>./checksetup.pl</B
+> after creating a new
+          template in the <TT
+CLASS="filename"
+>custom</TT
+> directory. Failure
+          to do so will raise an incomprehensible error message.
         </P
-></LI
-><LI
-><P
->Select a product - any one will do.</P
-></LI
-><LI
-><P
->Fill in the fields. Bugzilla should have made reasonable
-        guesses, based upon your browser, for the "Platform" and "OS"
-        drop-down boxes. If they are wrong, change them.</P
-></LI
-><LI
-><P
->Select "Commit" and send in your bug report.</P
-></LI
-></OL
-><P
->Try to make sure that everything said in the summary is also 
-      said in the first comment. Summaries are often updated and this will
-      ensure your original information is easily accessible.
-      </P
-><P
->&#13;      You do not need to put "any" or similar strings in the URL field.
-      If there is no specific URL associated with the bug, leave this 
-      field blank.
-      </P
-><P
->If you feel a bug you filed was incorrectly marked as a
-      DUPLICATE of another, please question it in your bug, not      
-      the bug it was duped to. Feel free to CC the person who duped it 
-      if they are not already CCed.
-      </P
+></TD
+></TR
+></TABLE
+></DIV
 ></DIV
 ><DIV
 CLASS="section"
-><HR><H2
+><HR><H3
 CLASS="section"
 ><A
-NAME="patchviewer"
->5.7. Patch Viewer</A
-></H2
-><P
->Viewing and reviewing patches in Bugzilla is often difficult due to
-    lack of context, improper format and the inherent readability issues that
-    raw patches present.  Patch Viewer is an enhancement to Bugzilla designed
-    to fix that by offering increased context, linking to sections, and
-    integrating with Bonsai, LXR and CVS.</P
-><P
->Patch viewer allows you to:</P
+NAME="template-edit"
+>5.1.3. How To Edit Templates</A
+></H3
+><DIV
+CLASS="note"
 ><P
 ></P
 ><TABLE
+CLASS="note"
+WIDTH="100%"
 BORDER="0"
-><TBODY
 ><TR
 ><TD
->View patches in color, with side-by-side view rather than trying
-      to interpret the contents of the patch.</TD
-></TR
-><TR
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
 ><TD
->See the difference between two patches.</TD
-></TR
-><TR
-><TD
->Get more context in a patch.</TD
-></TR
-><TR
-><TD
->Collapse and expand sections of a patch for easy
-      reading.</TD
-></TR
-><TR
-><TD
->Link to a particular section of a patch for discussion or
-      review</TD
-></TR
-><TR
-><TD
->Go to Bonsai or LXR to see more context, blame, and
-      cross-references for the part of the patch you are looking at</TD
-></TR
-><TR
-><TD
->Create a rawtext unified format diff out of any patch, no
-      matter what format it came from</TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          If you are making template changes that you intend on submitting back
+          for inclusion in standard Bugzilla, you should read the relevant
+          sections of the 
+          <A
+HREF="http://www.bugzilla.org/docs/developer.html"
+TARGET="_top"
+>Developers'
+          Guide</A
+>.
+        </P
+></TD
 ></TR
-></TBODY
 ></TABLE
+></DIV
 ><P
-></P
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="patchviewer_view"
->5.7.1. Viewing Patches in Patch Viewer</A
-></H3
+>&#13;        The syntax of the Template Toolkit language is beyond the scope of
+        this guide. It's reasonably easy to pick up by looking at the current 
+        templates; or, you can read the manual, available on the
+        <A
+HREF="http://www.template-toolkit.org"
+TARGET="_top"
+>Template Toolkit home
+        page</A
+>.
+      </P
 ><P
->The main way to view a patch in patch viewer is to click on the
-      "Diff" link next to a patch in the Attachments list on a bug. You may
-      also do this within the edit window by clicking the "View Attachment As
-      Diff" button in the Edit Attachment screen.</P
-></DIV
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="patchviewer_diff"
->5.7.2. Seeing the Difference Between Two Patches</A
-></H3
+>&#13;        One thing you should take particular care about is the need
+        to properly HTML filter data that has been passed into the template.
+        This means that if the data can possibly contain special HTML characters
+        such as &#60;, and the data was not intended to be HTML, they need to be
+        converted to entity form, ie &#38;lt;.  You use the 'html' filter in the
+        Template Toolkit to do this.  If you forget, you may open up
+        your installation to cross-site scripting attacks.
+      </P
 ><P
->To see the difference between two patches, you must first view the
-      newer patch in Patch Viewer.  Then select the older patch from the
-      dropdown at the top of the page ("Differences between [dropdown] and
-      this patch") and click the "Diff" button. This will show you what
-      is new or changed in the newer patch.</P
-></DIV
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="patchviewer_context"
->5.7.3. Getting More Context in a Patch</A
-></H3
+>&#13;        Also note that Bugzilla adds a few filters of its own, that are not
+        in standard Template Toolkit.  In particular, the 'url_quote' filter
+        can convert characters that are illegal or have special meaning in URLs,
+        such as &#38;, to the encoded form, ie %26.  This actually encodes most
+        characters (but not the common ones such as letters and numbers and so
+        on), including the HTML-special characters, so there's never a need to
+        HTML filter afterwards.
+      </P
 ><P
->To get more context in a patch, you put a number in the textbox at
-      the top of Patch Viewer ("Patch / File / [textbox]") and hit enter.
-      This will give you that many lines of context before and after each
-      change. Alternatively, you can click on the "File" link there and it
-      will show each change in the full context of the file. This feature only
-      works against files that were diffed using "cvs diff".</P
+>&#13;        Editing templates is a good way of doing a <SPAN
+CLASS="QUOTE"
+>"poor man's custom
+        fields"</SPAN
+>.
+        For example, if you don't use the Status Whiteboard, but want to have
+        a free-form text entry box for <SPAN
+CLASS="QUOTE"
+>"Build Identifier"</SPAN
+>,
+        then you can just
+        edit the templates to change the field labels. It's still be called
+        status_whiteboard internally, but your users don't need to know that.
+      </P
 ></DIV
 ><DIV
 CLASS="section"
 ><HR><H3
 CLASS="section"
 ><A
-NAME="patchviewer_collapse"
->5.7.4. Collapsing and Expanding Sections of a Patch</A
+NAME="template-formats"
+>5.1.4. Template Formats and Types</A
 ></H3
 ><P
->To view only a certain set of files in a patch (for example, if a
-      patch is absolutely huge and you want to only review part of it at a
-      time), you can click the "(+)" and "(-)" links next to each file (to
-      expand it or collapse it). If you want to collapse all files or expand
-      all files, you can click the "Collapse All" and "Expand All" links at the
-      top of the page.</P
-></DIV
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="patchviewer_link"
->5.7.5. Linking to a Section of a Patch</A
-></H3
+>&#13;        Some CGI's have the ability to use more than one template. For example,
+        <TT
+CLASS="filename"
+>buglist.cgi</TT
+> can output itself as RDF, or as two 
+        formats of HTML (complex and simple). The mechanism that provides this 
+        feature is extensible.
+      </P
 ><P
->To link to a section of a patch (for example, if you want to be
-      able to give someone a URL to show them which part you are talking
-      about) you simply click the "Link Here" link on the section header. The
-      resulting URL can be copied and used in discussion. (Copy Link
-      Location in Mozilla works as well.)</P
-></DIV
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="patchviewer_bonsai_lxr"
->5.7.6. Going to Bonsai and LXR</A
-></H3
+>&#13;        Bugzilla can support different types of output, which again can have 
+        multiple formats. In order to request a certain type, you can append 
+        the &#38;ctype=&#60;contenttype&#62; (such as rdf or html) to the 
+        <TT
+CLASS="filename"
+>&#60;cginame&#62;.cgi</TT
+> URL. If you would like to 
+        retrieve a certain format, you can use the &#38;format=&#60;format&#62; 
+        (such as simple or complex) in the URL.
+      </P
 ><P
->To go to Bonsai to get blame for the lines you are interested in,
-      you can click the "Lines XX-YY" link on the section header you are
-      interested in. This works even if the patch is against an old
-      version of the file, since Bonsai stores all versions of the file.</P
+>&#13;        To see if a CGI supports multiple output formats and types, grep the
+        CGI for <SPAN
+CLASS="QUOTE"
+>"GetFormat"</SPAN
+>. If it's not present, adding
+        multiple format/type support isn't too hard - see how it's done in
+        other CGIs, e.g. config.cgi.
+      </P
 ><P
->To go to LXR, you click on the filename on the file header
-      (unfortunately, since LXR only does the most recent version, line
-      numbers are likely to rot).</P
-></DIV
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="patchviewer_unified_diff"
->5.7.7. Creating a Unified Diff</A
-></H3
+>&#13;        To make a new format template for a CGI which supports this, 
+        open a current template for
+        that CGI and take note of the INTERFACE comment (if present.) This 
+        comment defines what variables are passed into this template. If 
+        there isn't one, I'm afraid you'll have to read the template and
+        the code to find out what information you get. 
+      </P
 ><P
->If the patch is not in a format that you like, you can turn it
-      into a unified diff format by clicking the "Raw Unified" link at the top
-      of the page.</P
-></DIV
-></DIV
-><DIV
-CLASS="section"
-><HR><H2
-CLASS="section"
-><A
-NAME="hintsandtips"
->5.8. Hints and Tips</A
-></H2
+>&#13;        Write your template in whatever markup or text style is appropriate.
+      </P
 ><P
->This section distills some Bugzilla tips and best practices
-    that have been developed.</P
+>&#13;        You now need to decide what content type you want your template
+        served as. The content types are defined in the
+        <TT
+CLASS="filename"
+>Bugzilla/Constants.pm</TT
+> file in the 
+        <TT
+CLASS="filename"
+>contenttypes</TT
+>
+        constant. If your content type is not there, add it. Remember
+        the three- or four-letter tag assigned to your content type. 
+        This tag will be part of the template filename.
+      </P
 ><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="AEN1643"
->5.8.1. Autolinkification</A
-></H3
+CLASS="note"
 ><P
->Bugzilla comments are plain text - so typing &#60;U&#62; will
-      produce less-than, U, greater-than rather than underlined text.
-      However, Bugzilla will automatically make hyperlinks out of certain
-      sorts of text in comments. For example, the text 
-      "http://www.bugzilla.org" will be turned into a link:
-      <A
-HREF="http://www.bugzilla.org"
-TARGET="_top"
->http://www.bugzilla.org</A
->.
-      Other strings which get linkified in the obvious manner are:
-      <P
 ></P
 ><TABLE
+CLASS="note"
+WIDTH="100%"
 BORDER="0"
-><TBODY
-><TR
-><TD
->bug 12345</TD
-></TR
-><TR
-><TD
->comment 7</TD
-></TR
 ><TR
 ><TD
->bug 23456, comment 53</TD
-></TR
-><TR
-><TD
->attachment 4321</TD
-></TR
-><TR
-><TD
->mailto:george@example.com</TD
-></TR
-><TR
-><TD
->george@example.com</TD
-></TR
-><TR
-><TD
->ftp://ftp.mozilla.org</TD
-></TR
-><TR
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
 ><TD
->Most other sorts of URL</TD
-></TR
-></TBODY
-></TABLE
+ALIGN="LEFT"
+VALIGN="TOP"
 ><P
-></P
->
-      </P
-><P
->A corollary here is that if you type a bug number in a comment,
-      you should put the word "bug" before it, so it gets autolinkified
-      for the convenience of others.
-      </P
+>&#13;          After adding or changing a content type, it's suitable to edit
+          <TT
+CLASS="filename"
+>Bugzilla/Constants.pm</TT
+> in order to reflect
+          the changes. Also, the file should be kept up to date after an
+          upgrade if content types have been customized in the past. 
+        </P
+></TD
+></TR
+></TABLE
 ></DIV
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="quicksearch"
->5.8.2. Quicksearch</A
-></H3
 ><P
->Quicksearch is a single-text-box query tool which uses
-      metacharacters to indicate what is to be searched. For example, typing
-      "<TT
+>&#13;        Save the template as <TT
 CLASS="filename"
->foo|bar</TT
->" 
-      into Quicksearch would search for "foo" or "bar" in the 
-      summary and status whiteboard of a bug; adding 
-      "<TT
+>&#60;stubname&#62;-&#60;formatname&#62;.&#60;contenttypetag&#62;.tmpl</TT
+>. 
+        Try out the template by calling the CGI as 
+        <TT
 CLASS="filename"
->:BazProduct</TT
->" would
-      search only in that product.
+>&#60;cginame&#62;.cgi?format=&#60;formatname&#62;&#38;ctype=&#60;type&#62;</TT
+> .
       </P
-><P
->You'll find the Quicksearch box on Bugzilla's
-      front page, along with a 
-      <A
-HREF="../../quicksearch.html"
-TARGET="_top"
->Help</A
-> 
-      link which details how to use it.</P
 ></DIV
 ><DIV
 CLASS="section"
 ><HR><H3
 CLASS="section"
 ><A
-NAME="commenting"
->5.8.3. Comments</A
+NAME="template-specific"
+>5.1.5. Particular Templates</A
 ></H3
 ><P
->If you are changing the fields on a bug, only comment if
-      either you have something pertinent to say, or Bugzilla requires it.
-      Otherwise, you may spam people unnecessarily with bug mail.
-      To take an example: a user can set up their account to filter out messages
-      where someone just adds themselves to the CC field of a bug
-      (which happens a lot.) If you come along, add yourself to the CC field,
-      and add a comment saying "Adding self to CC", then that person
-      gets a pointless piece of mail they would otherwise have avoided.
-      </P
-><P
->&#13;      Don't use sigs in comments. Signing your name ("Bill") is acceptable,
-      if you do it out of habit, but full mail/news-style
-      four line ASCII art creations are not.
+>&#13;        There are a few templates you may be particularly interested in
+        customizing for your installation.
       </P
-></DIV
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="attachments"
->5.8.4. Attachments</A
-></H3
 ><P
->&#13;      Use attachments, rather than comments, for large chunks of ASCII data,
-      such as trace, debugging output files, or log files. That way, it doesn't
-      bloat the bug for everyone who wants to read it, and cause people to
-      receive fat, useless mails.
+>&#13;        <B
+CLASS="command"
+>index.html.tmpl</B
+>:
+        This is the Bugzilla front page.
       </P
 ><P
->Trim screenshots. There's no need to show the whole screen if
-      you are pointing out a single-pixel problem.
+>&#13;        <B
+CLASS="command"
+>global/header.html.tmpl</B
+>:
+        This defines the header that goes on all Bugzilla pages.
+        The header includes the banner, which is what appears to users
+        and is probably what you want to edit instead.  However the
+        header also includes the HTML HEAD section, so you could for
+        example add a stylesheet or META tag by editing the header.
       </P
 ><P
->Don't attach simple test cases (e.g. one HTML file, one 
-      CSS file and an image) as a ZIP file. Instead, upload them in 
-      reverse order and edit the referring file so that they point to the
-      attached files. This way, the test case works immediately 
-      out of the bug.
+>&#13;        <B
+CLASS="command"
+>global/banner.html.tmpl</B
+>:
+        This contains the <SPAN
+CLASS="QUOTE"
+>"banner"</SPAN
+>, the part of the header
+        that appears
+        at the top of all Bugzilla pages.  The default banner is reasonably
+        barren, so you'll probably want to customize this to give your
+        installation a distinctive look and feel.  It is recommended you
+        preserve the Bugzilla version number in some form so the version 
+        you are running can be determined, and users know what docs to read.
       </P
 ><P
->Bugzilla stores and uses a Content-Type for each attachment 
-      (e.g. text/html). To download an attachment as a different 
-      Content-Type (e.g. application/xhtml+xml), you can override this 
-      using a 'content-type' parameter on the URL, e.g.
-      <TT
-CLASS="filename"
->&#38;content-type=text/plain</TT
->.
+>&#13;        <B
+CLASS="command"
+>global/footer.html.tmpl</B
+>:
+        This defines the footer that goes on all Bugzilla pages.  Editing
+        this is another way to quickly get a distinctive look and feel for
+        your Bugzilla installation.
       </P
-></DIV
-></DIV
-><DIV
-CLASS="section"
-><HR><H2
-CLASS="section"
-><A
-NAME="userpreferences"
->5.9. User Preferences</A
-></H2
-><P
->Once you have logged in, you can customise various aspects of 
-    Bugzilla via the "Edit prefs" link in the page footer.
-    The preferences are split into three tabs:</P
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="accountsettings"
->5.9.1. Account Settings</A
-></H3
 ><P
->On this tab, you can change your basic account information,
-      including your password, email address and real name. For security
-      reasons, in order to change anything on this page you must type your 
-      <EM
->current</EM
->
-      password into the 
-      <SPAN
+>&#13;        <B
+CLASS="command"
+>global/variables.none.tmpl</B
+>:
+        This defines a list of terms that may be changed in order to
+        <SPAN
 CLASS="QUOTE"
->"Password"</SPAN
+>"brand"</SPAN
+> the Bugzilla instance In this way, terms
+        like <SPAN
+CLASS="QUOTE"
+>"bugs"</SPAN
+> can be replaced with <SPAN
+CLASS="QUOTE"
+>"issues"</SPAN
 >
-      field at the top of the page. 
-      If you attempt to change your email address, a confirmation
-      email is sent to both the old and new addresses, with a link to use to
-      confirm the change. This helps to prevent account hijacking.</P
-></DIV
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="emailsettings"
->5.9.2. Email Settings</A
-></H3
-><P
->On this tab you can reduce or increase the amount of email sent
-      you from Bugzilla, opting in our out depending on your relationship to
-      the bug and the change that was made to it. 
+        across the whole Bugzilla installation. The name
+        <SPAN
+CLASS="QUOTE"
+>"Bugzilla"</SPAN
+> and other words can be customized as well.
       </P
 ><P
->&#13;      You can also do further filtering on the client side by 
-      using the X-Bugzilla-Reason mail header which Bugzilla
-      adds to all bugmail. This tells you what relationship you have to the
-      bug in question,
-      and can be any of Owner, Reporter, QAcontact, CClist, Voter and
-      WatchingComponent.</P
+>&#13;        <B
+CLASS="command"
+>list/table.html.tmpl</B
+>:
+        This template controls the appearance of the bug lists created
+        by Bugzilla. Editing this template allows per-column control of 
+        the width and title of a column, the maximum display length of
+        each entry, and the wrap behaviour of long entries.
+        For long bug lists, Bugzilla inserts a 'break' every 100 bugs by
+        default; this behaviour is also controlled by this template, and
+        that value can be modified here.
+       </P
 ><P
->By entering user email names, delineated by commas, into the
-      "Users to watch" text entry box you can receive a copy of all the
-      bugmail of other users (security settings permitting.) This powerful
-      functionality enables seamless transitions as developers change
-      projects or users go on holiday.</P
-><DIV
-CLASS="note"
+>&#13;        <B
+CLASS="command"
+>bug/create/user-message.html.tmpl</B
+>:
+        This is a message that appears near the top of the bug reporting page.
+        By modifying this, you can tell your users how they should report
+        bugs.
+      </P
 ><P
-></P
-><TABLE
-CLASS="note"
-WIDTH="100%"
+>&#13;        <B
+CLASS="command"
+>bug/process/midair.html.tmpl</B
+>:
+        This is the page used if two people submit simultaneous changes to the
+        same bug.  The second person to submit their changes will get this page
+        to tell them what the first person did, and ask if they wish to
+        overwrite those changes or go back and revisit the bug.  The default
+        title and header on this page read "Mid-air collision detected!"  If
+        you work in the aviation industry, or other environment where this
+        might be found offensive (yes, we have true stories of this happening)
+        you'll want to change this to something more appropriate for your
+        environment.
+      </P
+><P
+>&#13;        <B
+CLASS="command"
+>bug/create/create.html.tmpl</B
+> and
+        <B
+CLASS="command"
+>bug/create/comment.txt.tmpl</B
+>:
+        You may not wish to go to the effort of creating custom fields in
+        Bugzilla, yet you want to make sure that each bug report contains
+        a number of pieces of important information for which there is not
+        a special field. The bug entry system has been designed in an
+        extensible fashion to enable you to add arbitrary HTML widgets,
+        such as drop-down lists or textboxes, to the bug entry page
+        and have their values appear formatted in the initial comment.
+        A hidden field that indicates the format should be added inside
+        the form in order to make the template functional. Its value should
+        be the suffix of the template filename. For example, if the file
+        is called <TT
+CLASS="filename"
+>create-cust.html.tmpl</TT
+>, then
+        <TABLE
 BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
 ><TR
 ><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="../images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->The ability to watch other users may not be available in all
-        Bugzilla installations. If you can't see it, ask your 
-        administrator.</P
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#60;input type="hidden" name="format" value="cust"&#62;</PRE
+></FONT
 ></TD
 ></TR
 ></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="section"
-><HR><H3
-CLASS="section"
-><A
-NAME="permissionsettings"
->5.9.3. Permissions</A
-></H3
-><P
->This is a purely informative page which outlines your current
-      permissions on this installation of Bugzilla - what product groups you
-      are in, and whether you can edit bugs or perform various administration
-      functions.</P
-></DIV
-></DIV
-><DIV
-CLASS="section"
-><HR><H2
-CLASS="section"
-><A
-NAME="reporting"
->5.10. Reports</A
-></H2
+>
+        should be used inside the form.
+      </P
 ><P
-><EM
->To be written</EM
-></P
-></DIV
-></DIV
-><DIV
-CLASS="appendix"
-><HR><H1
-><A
-NAME="faq"
-></A
->Appendix A. The Bugzilla FAQ</H1
+>  
+        An example of this is the mozilla.org 
+        <A
+HREF="http://landfill.bugzilla.org/bugzilla-tip/enter_bug.cgi?product=WorldControl&#38;format=guided"
+TARGET="_top"
+>guided 
+        bug submission form</A
+>. The code for this comes with the Bugzilla
+        distribution as an example for you to copy. It can be found in the
+        files 
+        <TT
+CLASS="filename"
+>create-guided.html.tmpl</TT
+> and
+        <TT
+CLASS="filename"
+>comment-guided.html.tmpl</TT
+>.
+      </P
 ><P
->&#13;    This FAQ includes questions not covered elsewhere in the Guide.
-  </P
-><DIV
-CLASS="qandaset"
-><DL
-><DT
->1. <A
-HREF="#faq-general"
->General Questions</A
-></DT
-><DD
-><DL
-><DT
->A.1.1. <A
-HREF="#faq-general-license"
->&#13;	    What license is Bugzilla distributed under?
-	  </A
-></DT
-><DT
->A.1.2. <A
-HREF="#faq-general-support"
->&#13;	    How do I get commercial support for Bugzilla?
-	  </A
-></DT
-><DT
->A.1.3. <A
-HREF="#faq-general-companies"
->&#13;	    What major companies or projects are currently using Bugzilla
-	    for bug-tracking?
-	  </A
-></DT
-><DT
->A.1.4. <A
-HREF="#faq-general-maintainers"
->&#13;	    Who maintains Bugzilla?
-	  </A
-></DT
-><DT
->A.1.5. <A
-HREF="#faq-general-compare"
->&#13;	    How does Bugzilla stack up against other bug-tracking databases?
-	  </A
-></DT
-><DT
->A.1.6. <A
-HREF="#faq-general-bzmissing"
->&#13;	    Why doesn't Bugzilla offer this or that feature or compatibility
-	    with this other tracking software?
-	  </A
-></DT
-><DT
->A.1.7. <A
-HREF="#faq-general-mysql"
->&#13;	    Why MySQL?  I'm interested in seeing Bugzilla run on
-	    Oracle/Sybase/Msql/PostgreSQL/MSSQL.
-	  </A
-></DT
-><DT
->A.1.8. <A
-HREF="#faq-general-bonsaitools"
->&#13;	    What is <TT
+>&#13;        So to use this feature, create a custom template for 
+        <TT
 CLASS="filename"
->/usr/bonsaitools/bin/perl</TT
->?
-	  </A
-></DT
-><DT
->A.1.9. <A
-HREF="#faq-general-perlpath"
->&#13;            My perl is not located at <TT
+>enter_bug.cgi</TT
+>. The default template, on which you
+        could base it, is 
+        <TT
 CLASS="filename"
->/usr/bin/perl</TT
->, is
-            there an easy way to change it everywhere it needs to be changed?
-          </A
-></DT
-><DT
->A.1.10. <A
-HREF="#faq-general-cookie"
->&#13;	    Is there an easy way to change the Bugzilla cookie name?
-	  </A
-></DT
-><DT
->A.1.11. <A
-HREF="#faq-mod-perl"
->&#13;	    Does bugzilla run under <TT
+>custom/bug/create/create.html.tmpl</TT
+>.
+        Call it <TT
 CLASS="filename"
->mod_perl</TT
->?
-	  </A
-></DT
-></DL
-></DD
-><DT
->2. <A
-HREF="#faq-phb"
->Managerial Questions</A
-></DT
-><DD
-><DL
-><DT
->A.2.1. <A
-HREF="#faq-phb-client"
->&#13;	    Is Bugzilla web-based, or do you have to have specific software or
-	    a specific operating system on your machine?
-	  </A
-></DT
-><DT
->A.2.2. <A
-HREF="#faq-phb-priorities"
->&#13;	    Does Bugzilla allow us to define our own priorities and levels? Do we
-	    have complete freedom to change the labels of fields and format of them, and
-	    the choice of acceptable values?
-	  </A
-></DT
-><DT
->A.2.3. <A
-HREF="#faq-phb-reporting"
->&#13;	    Does Bugzilla provide any reporting features, metrics, graphs, etc? You
-	    know, the type of stuff that management likes to see. :)
-	  </A
-></DT
-><DT
->A.2.4. <A
-HREF="#faq-phb-email"
->&#13;	    Is there email notification and if so, what do you see when you get an
-	    email?
-	  </A
-></DT
-><DT
->A.2.5. <A
-HREF="#faq-phb-emailapp"
->&#13;	    Do users have to have any particular
-	    type of email application?
-	  </A
-></DT
-><DT
->A.2.6. <A
-HREF="#faq-phb-data"
->&#13;	    Does Bugzilla allow data to be imported and exported? If I had outsiders
-	    write up a bug report using a MS Word bug template, could that template be
-	    imported into "matching" fields? If I wanted to take the results of a query
-	    and export that data to MS Excel, could I do that?
-	  </A
-></DT
-><DT
->A.2.7. <A
-HREF="#faq-phb-l10n"
->&#13;	    Has anyone converted Bugzilla to another language to be used in other
-	    countries? Is it localizable?
-	  </A
-></DT
-><DT
->A.2.8. <A
-HREF="#faq-phb-reports"
->&#13;	    Can a user create and save reports? Can they do this in Word format?
-	    Excel format?
-	  </A
-></DT
-><DT
->A.2.9. <A
-HREF="#faq-phb-midair"
->&#13;	     Does Bugzilla provide record locking when there is simultaneous access
-	    to the same bug? Does the second person get a notice that the bug is in use
-	    or how are they notified?
-	  </A
-></DT
-><DT
->A.2.10. <A
-HREF="#faq-phb-backup"
->&#13;	    Are there any backup features provided?
-	  </A
-></DT
-><DT
->A.2.11. <A
-HREF="#faq-phb-livebackup"
->&#13;	    Can users be on the system while a backup is in progress?
-	  </A
-></DT
-><DT
->A.2.12. <A
-HREF="#faq-phb-maintenance"
->&#13;	    What type of human resources are needed to be on staff to install and
-	    maintain Bugzilla? Specifically, what type of skills does the person need to
-	    have? I need to find out if we were to go with Bugzilla, what types of
-	    individuals would we need to hire and how much would that cost vs buying an
-	    "out-of-the-box" solution?
-	  </A
-></DT
-><DT
->A.2.13. <A
-HREF="#faq-phb-installtime"
->&#13;	    What time frame are we looking at if we decide to hire people to install
-	    and maintain the Bugzilla? Is this something that takes hours or weeks to
-	    install and a couple of hours per week to maintain and customize or is this
-	    a multi-week install process, plus a full time job for 1 person, 2 people,
-	    etc?
-	  </A
-></DT
-><DT
->A.2.14. <A
-HREF="#faq-phb-cost"
->&#13;	    Is there any licensing fee or other fees for using Bugzilla? Any
-	    out-of-pocket cost other than the bodies needed as identified above?
-	  </A
-></DT
-></DL
-></DD
-><DT
->3. <A
-HREF="#faq-security"
->Bugzilla Security</A
-></DT
-><DD
-><DL
-><DT
->A.3.1. <A
-HREF="#faq-security-mysql"
->&#13;	    How do I completely disable MySQL security if it's giving me problems
-	    (I've followed the instructions in the installation section of this guide)?
-	  </A
-></DT
-><DT
->A.3.2. <A
-HREF="#faq-security-knownproblems"
->&#13;	    Are there any security problems with Bugzilla?
-	  </A
-></DT
-></DL
-></DD
-><DT
->4. <A
-HREF="#faq-email"
->Bugzilla Email</A
-></DT
-><DD
-><DL
-><DT
->A.4.1. <A
-HREF="#faq-email-nomail"
->&#13;	    I have a user who doesn't want to receive any more email from Bugzilla.
-	    How do I stop it entirely for this user?
-	  </A
-></DT
-><DT
->A.4.2. <A
-HREF="#faq-email-testing"
->&#13;	    I'm evaluating/testing Bugzilla, and don't want it to send email to
-	    anyone but me. How do I do it?
-	  </A
-></DT
-><DT
->A.4.3. <A
-HREF="#faq-email-whine"
->&#13;	    I want whineatnews.pl to whine at something other than new and
-	    reopened bugs. How do I do it?
-	  </A
-></DT
-><DT
->A.4.4. <A
-HREF="#faq-email-mailif"
->&#13;	    How do I set up the email interface to submit/change bugs via email?
-	  </A
-></DT
-><DT
->A.4.5. <A
-HREF="#faq-email-sendmailnow"
->&#13;	    Email takes FOREVER to reach me from Bugzilla -- it's extremely slow.
-	    What gives?
-	  </A
-></DT
-><DT
->A.4.6. <A
-HREF="#faq-email-nonreceived"
->&#13;	     How come email from Bugzilla changes never reaches me?
-	  </A
-></DT
-></DL
-></DD
-><DT
->5. <A
-HREF="#faq-db"
->Bugzilla Database</A
-></DT
-><DD
-><DL
-><DT
->A.5.1. <A
-HREF="#faq-db-oracle"
->&#13;	    I've heard Bugzilla can be used with Oracle?
-	  </A
-></DT
-><DT
->A.5.2. <A
-HREF="#faq-db-corrupted"
->&#13;	    I think my database might be corrupted, or contain invalid entries. What
-	    do I do?
-	  </A
-></DT
-><DT
->A.5.3. <A
-HREF="#faq-db-manualedit"
->&#13;	    I want to manually edit some entries in my database. How?
-	  </A
-></DT
-><DT
->A.5.4. <A
-HREF="#faq-db-permissions"
->&#13;	    I think I've set up MySQL permissions correctly, but Bugzilla still can't
-	    connect.
-	  </A
-></DT
-><DT
->A.5.5. <A
-HREF="#faq-db-synchronize"
->&#13;	    How do I synchronize bug information among multiple different Bugzilla
-	    databases?
-	  </A
-></DT
-></DL
-></DD
-><DT
->6. <A
-HREF="#faq-nt"
->Bugzilla and Win32</A
-></DT
-><DD
-><DL
-><DT
->A.6.1. <A
-HREF="#faq-nt-easiest"
->&#13;	    What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)?
-	  </A
-></DT
-><DT
->A.6.2. <A
-HREF="#faq-nt-bundle"
->&#13;	    Is there a "Bundle::Bugzilla" equivalent for Win32?
-	  </A
-></DT
-><DT
->A.6.3. <A
-HREF="#faq-nt-mappings"
->&#13;	    CGI's are failing with a "something.cgi is not a valid Windows NT
-	    application" error. Why?
-	  </A
-></DT
-><DT
->A.6.4. <A
-HREF="#faq-nt-dbi"
->&#13;	    I'm having trouble with the perl modules for NT not being able to talk to
-	    to the database.
-	  </A
-></DT
-></DL
-></DD
-><DT
->7. <A
-HREF="#faq-use"
->Bugzilla Usage</A
-></DT
-><DD
-><DL
-><DT
->A.7.1. <A
-HREF="#faq-use-changeaddress"
->&#13;	    How do I change my user name (email address) in Bugzilla?
-	  </A
-></DT
-><DT
+>create-&#60;formatname&#62;.html.tmpl</TT
+>, and
+        in it, add widgets for each piece of information you'd like
+        collected - such as a build number, or set of steps to reproduce.
+      </P
+><P
+>&#13;        Then, create a template like 
+        <TT
+CLASS="filename"
+>custom/bug/create/comment.txt.tmpl</TT
+>, and call it 
+        <TT
+CLASS="filename"
+>comment-&#60;formatname&#62;.txt.tmpl</TT
+>. This 
+        template should reference the form fields you have created using
+        the syntax <TT
+CLASS="filename"
+>[% form.&#60;fieldname&#62; %]</TT
+>. When a 
+        bug report is
+        submitted, the initial comment attached to the bug report will be
+        formatted according to the layout of this template.
+      </P
+><P
+>&#13;        For example, if your custom enter_bug template had a field
+        <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#60;input type="text" name="buildid" size="30"&#62;</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+        and then your comment.txt.tmpl had
+        <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>BuildID: [% form.buildid %]</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+        then something like
+        <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>BuildID: 20020303</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+        would appear in the initial comment.
+      </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="template-http-accept"
+>5.1.6. Configuring Bugzilla to Detect the User's Language</A
+></H3
+><P
+>Bugzilla honours the user's Accept: HTTP header. You can install
+      templates in other languages, and Bugzilla will pick the most appropriate
+      according to a priority order defined by you. Many
+      language templates can be obtained from <A
+HREF="http://www.bugzilla.org/download.html#localizations"
+TARGET="_top"
+>http://www.bugzilla.org/download.html#localizations</A
+>. Instructions
+      for submitting new languages are also available from that location.
+      </P
+><P
+>After untarring the localizations (or creating your own) in the 
+      <TT
+CLASS="filename"
+>BUGZILLA_ROOT/template</TT
+> directory,
+      you must update the <VAR
+CLASS="option"
+>languages</VAR
+> parameter to contain any
+      localizations you'd like to permit. You may also wish to set the
+      <VAR
+CLASS="option"
+>defaultlanguage</VAR
+> parameter to something other than
+      <SPAN
+CLASS="QUOTE"
+>"en"</SPAN
+> if you don't want Engish to be the default language.
+      </P
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="cust-hooks"
+>5.2. Template Hooks</A
+></H2
+><DIV
+CLASS="warning"
+><P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;        Template Hooks require Template Toolkit version 2.12 or
+        above, or the application of a patch.  See <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=239112"
+TARGET="_top"
+>bug
+        239112</A
+> for details.
+      </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;      Template hooks are a way for extensions to Bugzilla to insert code
+      into the standard Bugzilla templates without modifying the template files
+      themselves.  The hooks mechanism defines a consistent API for extending
+      the standard templates in a way that cleanly separates standard code
+      from extension code.  Hooks reduce merge conflicts and make it easier
+      to write extensions that work across multiple versions of Bugzilla,
+      making upgrading a Bugzilla installation with installed extensions easier.
+    </P
+><P
+>&#13;      A template hook is just a named place in a standard template file
+      where extension template files for that hook get processed.  Each hook
+      has a corresponding directory in the Bugzilla directory tree.  Hooking an
+      extension template to a hook is as simple as putting the extension file
+      into the hook's directory.  When Bugzilla processes the standard template
+      and reaches the hook, it will process all extension templates in the
+      hook's directory. The hooks themselves can be added into any standard
+      template upon request by extension authors.
+    </P
+><P
+>&#13;      To use hooks to extend a Bugzilla template, first make sure there is
+      a hook at the appropriate place within the template you want to extend. 
+      Hooks appear in the standard Bugzilla templates as a single directive
+      in the format
+      <VAR
+CLASS="literal"
+>[% Hook.process("<VAR
+CLASS="varname"
+>name</VAR
+>") %]</VAR
+>,
+      where <VAR
+CLASS="varname"
+>name</VAR
+> is the unique (within that template)
+      name of the hook.
+    </P
+><P
+>&#13;      If you aren't sure which template you want to extend or just want
+      to browse the available hooks, either use your favorite multi-file search
+      tool (e.g. <B
+CLASS="command"
+>grep</B
+>) to search the standard templates
+      for occurrences of <CODE
+CLASS="methodname"
+>Hook.process</CODE
+> or browse
+      the directory tree in
+      <TT
+CLASS="filename"
+>BUGZILLA_ROOT/template/en/extension/hook/</TT
+>,
+      which contains a directory for each hook in the following location:
+    </P
+><P
+>&#13;      <TT
+CLASS="filename"
+>BUGZILLA_ROOT/template/en/extension/hook/PATH_TO_STANDARD_TEMPLATE/STANDARD_TEMPLATE_NAME/HOOK_NAME/</TT
+>
+    </P
+><P
+>&#13;      If there is no hook at the appropriate place within the Bugzilla template
+      you want to extend,
+      <A
+HREF="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla&#38;component=User%20Interface"
+TARGET="_top"
+>file
+      a bug requesting one</A
+>, specifying:
+    </P
+><P
+></P
+><TABLE
+BORDER="0"
+><TBODY
+><TR
+><TD
+>the template for which you are requesting a hook;</TD
+></TR
+><TR
+><TD
+>&#13;        where in the template you would like the hook to be placed
+        (line number/position for latest version of template in CVS
+        or description of location);
+      </TD
+></TR
+><TR
+><TD
+>the purpose of the hook;</TD
+></TR
+><TR
+><TD
+>a link to information about your extension, if any.</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+><P
+>&#13;      The Bugzilla reviewers will promptly review each hook request,
+      name the hook, add it to the template, check the new version
+      of the template into CVS, and create the corresponding directory in
+      <TT
+CLASS="filename"
+>BUGZILLA_ROOT/template/en/extension/hook/</TT
+>.
+    </P
+><P
+>&#13;      You may optionally attach a patch to the bug which implements the hook
+      and check it in yourself after receiving approval from a Bugzilla
+      reviewer.  The developers may suggest changes to the location of the
+      hook based on their analysis of your needs or so the hook can satisfy
+      the needs of multiple extensions, but the process of getting hooks
+      approved and checked in is not as stringent as the process for general
+      changes to Bugzilla, and any extension, whether released or still in
+      development, can have hooks added to meet their needs.
+    </P
+><P
+>&#13;      After making sure the hook you need exists (or getting it added if not),
+      add your extension template to the directory within the Bugzilla
+      directory tree corresponding to the hook. 
+    </P
+><P
+>&#13;      That's it!  Now, when the standard template containing the hook
+      is processed, your extension template will be processed at the point 
+      where the hook appears.
+    </P
+><P
+>&#13;      For example, let's say you have an extension named Projman that adds
+      project management capabilities to Bugzilla.  Projman has an
+      administration interface <TT
+CLASS="filename"
+>edit-projects.cgi</TT
+>, 
+      and you want to add a link to it into the navigation bar at the bottom
+      of every Bugzilla page for those users who are authorized
+      to administer projects.
+    </P
+><P
+>&#13;      The navigation bar is generated by the template file
+      <TT
+CLASS="filename"
+>useful-links.html.tmpl</TT
+>, which is located in
+      the <TT
+CLASS="filename"
+>global/</TT
+> subdirectory on the standard Bugzilla 
+      template path
+      <TT
+CLASS="filename"
+>BUGZILLA_ROOT/template/en/default/</TT
+>.
+      Looking in <TT
+CLASS="filename"
+>useful-links.html.tmpl</TT
+>, you find
+      the following hook at the end of the list of standard Bugzilla
+      administration links:
+    </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>...
+    [% ', &#60;a href="editkeywords.cgi"&#62;keywords&#60;/a&#62;' 
+                                              IF user.groups.editkeywords %]
+    [% Hook.process("edit") %]
+...</PRE
+></FONT
+></TD
+></TR
+></TABLE
+><P
+>&#13;      The corresponding directory for this hook is
+      <TT
+CLASS="filename"
+>BUGZILLA_ROOT/template/en/extension/hook/global/useful-links.html.tmpl/edit/</TT
+>.
+    </P
+><P
+>&#13;      You put a template named
+      <TT
+CLASS="filename"
+>projman-edit-projects.html.tmpl</TT
+>
+      into that directory with the following content:
+    </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>...[% ', &#60;a href="edit-projects.cgi"&#62;projects&#60;/a&#62;' IF user.groups.projman_admins %]</PRE
+></FONT
+></TD
+></TR
+></TABLE
+><P
+>&#13;      Voila!  The link now appears after the other administration links in the
+      navigation bar for users in the <VAR
+CLASS="literal"
+>projman_admins</VAR
+> group.
+    </P
+><P
+>&#13;      Notes:
+    </P
+><P
+></P
+><UL
+><LI
+><P
+>&#13;          You may want to prefix your extension template names
+          with the name of your extension, e.g. 
+          <TT
+CLASS="filename"
+>projman-foo.html.tmpl</TT
+>, 
+          so they do not conflict with the names of templates installed by
+          other extensions.
+        </P
+></LI
+><LI
+><P
+>&#13;          If your extension includes entirely new templates in addition to
+          extensions of standard templates, it should install those new
+          templates into an extension-specific subdirectory of the
+          <TT
+CLASS="filename"
+>BUGZILLA_ROOT/template/en/extension/</TT
+> 
+          directory.  The <TT
+CLASS="filename"
+>extension/</TT
+> directory, like the 
+          <TT
+CLASS="filename"
+>default/</TT
+> and <TT
+CLASS="filename"
+>custom/</TT
+>
+          directories, is part of the template search path, so putting templates
+          there enables them to be found by the template processor.
+        </P
+><P
+>&#13;          The template processor looks for templates first in the
+          <TT
+CLASS="filename"
+>custom/</TT
+> directory (i.e. templates added by the 
+          specific installation), then in the <TT
+CLASS="filename"
+>extension/</TT
+> 
+          directory (i.e. templates added by extensions), and finally in the
+          <TT
+CLASS="filename"
+>default/</TT
+> directory (i.e. the standard Bugzilla 
+          templates).  Thus extension templates can override standard templates,
+          but installation-specific templates override both.
+        </P
+><P
+>&#13;          Note that overriding standard templates with extension templates
+          gives you great power but also makes upgrading an installation harder.
+          As with custom templates,  we recommend using this functionality
+          sparingly and only when absolutely necessary.
+        </P
+></LI
+><LI
+><P
+>&#13;          Installation customizers can also take advantage of hooks when adding
+          code to a Bugzilla template.  To do so, create directories in
+          <TT
+CLASS="filename"
+>BUGZILLA_ROOT/template/en/custom/hook/</TT
+>
+          equivalent to the directories in
+          <TT
+CLASS="filename"
+>BUGZILLA_ROOT/template/en/extension/hook/</TT
+>          
+          for the hooks you want to use, then place your customization templates
+          into those directories.
+        </P
+><P
+>&#13;          Obviously this method of customizing Bugzilla only lets you add code
+          to the standard templates; you cannot change the existing code.
+          Nevertheless, for those customizations that only add code, this method
+          can reduce conflicts when merging changes, making upgrading
+          your customized Bugzilla installation easier.
+        </P
+></LI
+></UL
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="cust-change-permissions"
+>5.3. Customizing Who Can Change What</A
+></H2
+><DIV
+CLASS="warning"
+><P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;        This feature should be considered experimental; the Bugzilla code you
+        will be changing is not stable, and could change or move between 
+        versions. Be aware that if you make modifications as outlined here, 
+        you may have
+        to re-make them or port them if Bugzilla changes internally between
+        versions, and you upgrade.
+      </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;      Companies often have rules about which employees, or classes of employees,
+      are allowed to change certain things in the bug system. For example, 
+      only the bug's designated QA Contact may be allowed to VERIFY the bug.
+      Bugzilla has been
+      designed to make it easy for you to write your own custom rules to define
+      who is allowed to make what sorts of value transition.
+    </P
+><P
+>&#13;      For maximum flexibility, customizing this means editing Bugzilla's Perl 
+      code. This gives the administrator complete control over exactly who is
+      allowed to do what. The relevant function is called 
+      <TT
+CLASS="filename"
+>CheckCanChangeField()</TT
+>,
+      and is found in <TT
+CLASS="filename"
+>process_bug.cgi</TT
+> in your 
+      Bugzilla directory. If you open that file and search for 
+      <SPAN
+CLASS="QUOTE"
+>"sub CheckCanChangeField"</SPAN
+>, you'll find it.
+    </P
+><P
+>&#13;      This function has been carefully commented to allow you to see exactly
+      how it works, and give you an idea of how to make changes to it.
+      Certain marked sections should not be changed - these are
+      the <SPAN
+CLASS="QUOTE"
+>"plumbing"</SPAN
+> which makes the rest of the function work.
+      In between those sections, you'll find snippets of code like:
+      <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>    # Allow the owner to change anything.
+    if ($ownerid eq $whoid) {
+        return 1;
+    }</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+      It's fairly obvious what this piece of code does.
+    </P
+><P
+>&#13;      So, how does one go about changing this function? Well, simple changes
+      can be made just by removing pieces - for example, if you wanted to 
+      prevent any user adding a comment to a bug, just remove the lines marked
+      <SPAN
+CLASS="QUOTE"
+>"Allow anyone to change comments."</SPAN
+> If you don't want the
+      Reporter to have any special rights on bugs they have filed, just
+      remove the entire section that deals with the Reporter.
+    </P
+><P
+>&#13;      More complex customizations are not much harder. Basically, you add
+      a check in the right place in the function, i.e. after all the variables
+      you are using have been set up. So, don't look at $ownerid before 
+      $ownerid has been obtained from the database. You can either add a
+      positive check, which returns 1 (allow) if certain conditions are true,
+      or a negative check, which returns 0 (deny.) E.g.:
+      <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>    if ($field eq "qacontact") {
+        if (Bugzilla-&#62;user-&#62;groups("quality_assurance")) {
+            return 1;
+        } 
+        else {
+            return 0;
+        }
+    }</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+      This says that only users in the group "quality_assurance" can change
+      the QA Contact field of a bug.
+    </P
+><P
+>&#13;      Getting more weird:
+      <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>    if (($field eq "priority") &#38;&#38;
+        (Bugzilla-&#62;user-&#62;email =~ /.*\@example\.com$/))
+    {
+        if ($oldvalue eq "P1") {
+            return 1;
+        } 
+        else {
+            return 0;
+        }
+    }</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+      This says that if the user is trying to change the priority field,
+      and their email address is @example.com, they can only do so if the
+      old value of the field was "P1". Not very useful, but illustrative.
+    </P
+><DIV
+CLASS="warning"
+><P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;        If you are modifying <TT
+CLASS="filename"
+>process_bug.cgi</TT
+> in any
+        way, do not change the code that is bounded by DO_NOT_CHANGE blocks.
+        Doing so could compromise security, or cause your installation to
+        stop working entirely.
+      </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;      For a list of possible field names, look in 
+      <TT
+CLASS="filename"
+>data/versioncache</TT
+> for the list called 
+      <TT
+CLASS="filename"
+>@::log_columns</TT
+>. If you need help writing custom
+      rules for your organization, ask in the newsgroup.
+    </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="dbmodify"
+>5.4. Modifying Your Running System</A
+></H2
+><P
+>&#13;        Bugzilla optimizes database lookups by storing all relatively
+        static information in the <TT
+CLASS="filename"
+>versioncache</TT
+>
+        file, located in the <TT
+CLASS="filename"
+>data/</TT
+>
+        subdirectory under your installation directory.
+      </P
+><P
+>&#13;        If you make a change to the structural data in your database (the
+        versions table for example), or to the <SPAN
+CLASS="QUOTE"
+>"constants"</SPAN
+>
+        encoded in <TT
+CLASS="filename"
+>defparams.pl</TT
+>, you will need to remove 
+        the cached content from the data directory (by doing a 
+        <B
+CLASS="command"
+>rm data/versioncache</B
+>), or your changes won't show up.
+      </P
+><P
+>&#13;        <TT
+CLASS="filename"
+>versioncache</TT
+> gets regenerated automatically
+        whenever it's more than an hour old, so Bugzilla will eventually
+        notice your changes by itself, but generally you want it to notice
+        right away, so that you can test things.
+      </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="dbdoc"
+>5.5. MySQL Bugzilla Database Introduction</A
+></H2
+><P
+>This information comes straight from my life. I was forced to learn
+    how Bugzilla organizes database because of nitpicky requests from users
+    for tiny changes in wording, rather than having people re-educate
+    themselves or figure out how to work our procedures around the tool. It
+    sucks, but it can and will happen to you, so learn how the schema works
+    and deal with it when it comes.</P
+><P
+>So, here you are with your brand-new installation of Bugzilla.
+    You've got MySQL set up, Apache working right, Perl DBI and DBD talking
+    to the database flawlessly. Maybe you've even entered a few test bugs to
+    make sure email's working; people seem to be notified of new bugs and
+    changes, and you can enter and edit bugs to your heart's content. Perhaps
+    you've gone through the trouble of setting up a gateway for people to
+    submit bugs to your database via email, have had a few people test it,
+    and received rave reviews from your beta testers.</P
+><P
+>What's the next thing you do? Outline a training strategy for your
+    development team, of course, and bring them up to speed on the new tool
+    you've labored over for hours.</P
+><P
+>Your first training session starts off very well! You have a
+    captive audience which seems enraptured by the efficiency embodied in
+    this thing called "Bugzilla". You are caught up describing the nifty
+    features, how people can save favorite queries in the database, set them
+    up as headers and footers on their pages, customize their layouts,
+    generate reports, track status with greater efficiency than ever before,
+    leap tall buildings with a single bound and rescue Jane from the clutches
+    of Certain Death!</P
+><P
+>But Certain Death speaks up -- a tiny voice, from the dark corners
+    of the conference room. "I have a concern," the voice hisses from the
+    darkness, "about the use of the word 'verified'."</P
+><P
+>The room, previously filled with happy chatter, lapses into
+    reverential silence as Certain Death (better known as the Vice President
+    of Software Engineering) continues. "You see, for two years we've used
+    the word 'verified' to indicate that a developer or quality assurance
+    engineer has confirmed that, in fact, a bug is valid. I don't want to
+    lose two years of training to a new software product. You need to change
+    the bug status of 'verified' to 'approved' as soon as possible. To avoid
+    confusion, of course."</P
+><P
+>Oh no! Terror strikes your heart, as you find yourself mumbling
+    "yes, yes, I don't think that would be a problem," You review the changes
+    with Certain Death, and continue to jabber on, "no, it's not too big a
+    change. I mean, we have the source code, right? You know, 'Use the
+    Source, Luke' and all that... no problem," All the while you quiver
+    inside like a beached jellyfish bubbling, burbling, and boiling on a hot
+    Jamaican sand dune...</P
+><P
+>Thus begins your adventure into the heart of Bugzilla. You've been
+    forced to learn about non-portable enum() fields, varchar columns, and
+    tinyint definitions. The Adventure Awaits You!</P
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="AEN1942"
+>5.5.1. Bugzilla Database Basics</A
+></H3
+><P
+>If you were like me, at this point you're totally clueless about
+      the internals of MySQL, and if it weren't for this executive order from
+      the Vice President you couldn't care less about the difference between
+      a 
+      <SPAN
+CLASS="QUOTE"
+>"bigint"</SPAN
+>
+
+      and a 
+      <SPAN
+CLASS="QUOTE"
+>"tinyint"</SPAN
+>
+
+      entry in MySQL. I recommend you refer to the
+      <A
+HREF="http://www.mysql.com/documentation/"
+TARGET="_top"
+>MySQL documentation</A
+>
+      . Below are the basics you need to know about the Bugzilla database.
+      Check the chart above for more details.</P
+><P
+>&#13;        <P
+></P
+><OL
+TYPE="1"
+><LI
+><P
+>To connect to your database:</P
+><P
+>&#13;              <SAMP
+CLASS="prompt"
+>bash#</SAMP
+>
+
+              <B
+CLASS="command"
+>mysql</B
+>
+
+              <VAR
+CLASS="parameter"
+>-u root</VAR
+>
+            </P
+><P
+>If this works without asking you for a password, 
+            <EM
+>shame on you</EM
+>
+
+            ! You should have locked your security down like the installation
+            instructions told you to. You can find details on locking down
+            your database in the Bugzilla FAQ in this directory (under
+            "Security"), or more robust security generalities in the 
+            <A
+HREF="http://www.mysql.com/php/manual.php3?section=Privilege_system"
+TARGET="_top"
+>MySQL
+            searchable documentation</A
+>.
+            </P
+></LI
+><LI
+><P
+>You should now be at a prompt that looks like this:</P
+><P
+>&#13;              <SAMP
+CLASS="prompt"
+>mysql&#62;</SAMP
+>
+            </P
+><P
+>At the prompt, if 
+            <SPAN
+CLASS="QUOTE"
+>"bugs"</SPAN
+>
+
+            is the name you chose in the
+            <TT
+CLASS="filename"
+>localconfig</TT
+>
+
+            file for your Bugzilla database, type:</P
+><P
+>&#13;              <SAMP
+CLASS="prompt"
+>mysql</SAMP
+>
+
+              <B
+CLASS="command"
+>use bugs;</B
+>
+            </P
+></LI
+></OL
+>
+      </P
+><DIV
+CLASS="section"
+><HR><H4
+CLASS="section"
+><A
+NAME="AEN1969"
+>5.5.1.1. Bugzilla Database Tables</A
+></H4
+><P
+>Imagine your MySQL database as a series of spreadsheets, and
+        you won't be too far off. If you use this command:</P
+><P
+>&#13;          <SAMP
+CLASS="prompt"
+>mysql&#62;</SAMP
+>
+          <B
+CLASS="command"
+>show tables from bugs;</B
+>
+        </P
+><P
+>you'll be able to see the names of all the 
+        <SPAN
+CLASS="QUOTE"
+>"spreadsheets"</SPAN
+>
+        (tables) in your database.</P
+><P
+>From the command issued above, ou should have some
+	  output that looks like this:
+<TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#13;+-------------------+
+| Tables in bugs    |
++-------------------+
+| attachments       |
+| bugs              |
+| bugs_activity     |
+| cc                |
+| components        |
+| dependencies      |
+| fielddefs         |
+| groups            |
+| keyworddefs       |
+| keywords          |
+| logincookies      |
+| longdescs         |
+| milestones        |
+| namedqueries      |
+| products          |
+| profiles          |
+| profiles_activity |
+| tokens            |
+| versions          |
+| votes             |
+| watch             |
++-------------------+
+</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+</P
+><P
+CLASS="literallayout"
+><br>
+&nbsp;&nbsp;Here's&nbsp;an&nbsp;overview&nbsp;of&nbsp;what&nbsp;each&nbsp;table&nbsp;does.&nbsp;Most&nbsp;columns&nbsp;in&nbsp;each&nbsp;table&nbsp;have<br>
+descriptive&nbsp;names&nbsp;that&nbsp;make&nbsp;it&nbsp;fairly&nbsp;trivial&nbsp;to&nbsp;figure&nbsp;out&nbsp;their&nbsp;jobs.<br>
+<br>
+attachments:&nbsp;This&nbsp;table&nbsp;stores&nbsp;all&nbsp;attachments&nbsp;to&nbsp;bugs.&nbsp;It&nbsp;tends&nbsp;to&nbsp;be&nbsp;your<br>
+largest&nbsp;table,&nbsp;yet&nbsp;also&nbsp;generally&nbsp;has&nbsp;the&nbsp;fewest&nbsp;entries&nbsp;because&nbsp;file<br>
+attachments&nbsp;are&nbsp;so&nbsp;(relatively)&nbsp;large.<br>
+<br>
+bugs:&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;core&nbsp;of&nbsp;your&nbsp;system.&nbsp;The&nbsp;bugs&nbsp;table&nbsp;stores&nbsp;most&nbsp;of&nbsp;the<br>
+current&nbsp;information&nbsp;about&nbsp;a&nbsp;bug,&nbsp;with&nbsp;the&nbsp;exception&nbsp;of&nbsp;the&nbsp;info&nbsp;stored&nbsp;in&nbsp;the<br>
+other&nbsp;tables.<br>
+<br>
+bugs_activity:&nbsp;&nbsp;This&nbsp;stores&nbsp;information&nbsp;regarding&nbsp;what&nbsp;changes&nbsp;are&nbsp;made&nbsp;to&nbsp;bugs<br>
+when&nbsp;--&nbsp;a&nbsp;history&nbsp;file.<br>
+<br>
+cc:&nbsp;&nbsp;This&nbsp;tiny&nbsp;table&nbsp;simply&nbsp;stores&nbsp;all&nbsp;the&nbsp;CC&nbsp;information&nbsp;for&nbsp;any&nbsp;bug&nbsp;which&nbsp;has<br>
+any&nbsp;entries&nbsp;in&nbsp;the&nbsp;CC&nbsp;field&nbsp;of&nbsp;the&nbsp;bug.&nbsp;Note&nbsp;that,&nbsp;like&nbsp;most&nbsp;other&nbsp;tables&nbsp;in<br>
+Bugzilla,&nbsp;it&nbsp;does&nbsp;not&nbsp;refer&nbsp;to&nbsp;users&nbsp;by&nbsp;their&nbsp;user&nbsp;names,&nbsp;but&nbsp;by&nbsp;their&nbsp;unique<br>
+userid,&nbsp;stored&nbsp;as&nbsp;a&nbsp;primary&nbsp;key&nbsp;in&nbsp;the&nbsp;profiles&nbsp;table.<br>
+<br>
+components:&nbsp;This&nbsp;stores&nbsp;the&nbsp;programs&nbsp;and&nbsp;components&nbsp;(or&nbsp;products&nbsp;and<br>
+components,&nbsp;in&nbsp;newer&nbsp;Bugzilla&nbsp;parlance)&nbsp;for&nbsp;Bugzilla.&nbsp;Curiously,&nbsp;the&nbsp;"program"<br>
+(product)&nbsp;field&nbsp;is&nbsp;the&nbsp;full&nbsp;name&nbsp;of&nbsp;the&nbsp;product,&nbsp;rather&nbsp;than&nbsp;some&nbsp;other&nbsp;unique<br>
+identifier,&nbsp;like&nbsp;bug_id&nbsp;and&nbsp;user_id&nbsp;are&nbsp;elsewhere&nbsp;in&nbsp;the&nbsp;database.<br>
+<br>
+dependencies:&nbsp;Stores&nbsp;data&nbsp;about&nbsp;those&nbsp;cool&nbsp;dependency&nbsp;trees.<br>
+<br>
+fielddefs:&nbsp;&nbsp;A&nbsp;nifty&nbsp;table&nbsp;that&nbsp;defines&nbsp;other&nbsp;tables.&nbsp;For&nbsp;instance,&nbsp;when&nbsp;you<br>
+submit&nbsp;a&nbsp;form&nbsp;that&nbsp;changes&nbsp;the&nbsp;value&nbsp;of&nbsp;"AssignedTo"&nbsp;this&nbsp;table&nbsp;allows<br>
+translation&nbsp;to&nbsp;the&nbsp;actual&nbsp;field&nbsp;name&nbsp;"assigned_to"&nbsp;for&nbsp;entry&nbsp;into&nbsp;MySQL.<br>
+<br>
+groups:&nbsp;&nbsp;defines&nbsp;bitmasks&nbsp;for&nbsp;groups.&nbsp;A&nbsp;bitmask&nbsp;is&nbsp;a&nbsp;number&nbsp;that&nbsp;can&nbsp;uniquely<br>
+identify&nbsp;group&nbsp;memberships.&nbsp;For&nbsp;instance,&nbsp;say&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to<br>
+tweak&nbsp;parameters&nbsp;is&nbsp;assigned&nbsp;a&nbsp;value&nbsp;of&nbsp;"1",&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to&nbsp;edit<br>
+users&nbsp;is&nbsp;assigned&nbsp;a&nbsp;"2",&nbsp;and&nbsp;the&nbsp;group&nbsp;that&nbsp;is&nbsp;allowed&nbsp;to&nbsp;create&nbsp;new&nbsp;groups&nbsp;is<br>
+assigned&nbsp;the&nbsp;bitmask&nbsp;of&nbsp;"4".&nbsp;By&nbsp;uniquely&nbsp;combining&nbsp;the&nbsp;group&nbsp;bitmasks&nbsp;(much<br>
+like&nbsp;the&nbsp;chmod&nbsp;command&nbsp;in&nbsp;UNIX,)&nbsp;you&nbsp;can&nbsp;identify&nbsp;a&nbsp;user&nbsp;is&nbsp;allowed&nbsp;to&nbsp;tweak<br>
+parameters&nbsp;and&nbsp;create&nbsp;groups,&nbsp;but&nbsp;not&nbsp;edit&nbsp;users,&nbsp;by&nbsp;giving&nbsp;him&nbsp;a&nbsp;bitmask&nbsp;of<br>
+"5",&nbsp;or&nbsp;a&nbsp;user&nbsp;allowed&nbsp;to&nbsp;edit&nbsp;users&nbsp;and&nbsp;create&nbsp;groups,&nbsp;but&nbsp;not&nbsp;tweak<br>
+parameters,&nbsp;by&nbsp;giving&nbsp;him&nbsp;a&nbsp;bitmask&nbsp;of&nbsp;"6"&nbsp;Simple,&nbsp;huh?<br>
+&nbsp;&nbsp;If&nbsp;this&nbsp;makes&nbsp;no&nbsp;sense&nbsp;to&nbsp;you,&nbsp;try&nbsp;this&nbsp;at&nbsp;the&nbsp;mysql&nbsp;prompt:<br>
+mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;groups;<br>
+&nbsp;&nbsp;You'll&nbsp;see&nbsp;the&nbsp;list,&nbsp;it&nbsp;makes&nbsp;much&nbsp;more&nbsp;sense&nbsp;that&nbsp;way.<br>
+<br>
+keyworddefs:&nbsp;&nbsp;Definitions&nbsp;of&nbsp;keywords&nbsp;to&nbsp;be&nbsp;used<br>
+<br>
+keywords:&nbsp;Unlike&nbsp;what&nbsp;you'd&nbsp;think,&nbsp;this&nbsp;table&nbsp;holds&nbsp;which&nbsp;keywords&nbsp;are<br>
+associated&nbsp;with&nbsp;which&nbsp;bug&nbsp;id's.<br>
+<br>
+logincookies:&nbsp;This&nbsp;stores&nbsp;every&nbsp;login&nbsp;cookie&nbsp;ever&nbsp;assigned&nbsp;to&nbsp;you&nbsp;for&nbsp;every<br>
+machine&nbsp;you've&nbsp;ever&nbsp;logged&nbsp;into&nbsp;Bugzilla&nbsp;from.&nbsp;Curiously,&nbsp;it&nbsp;never&nbsp;does&nbsp;any<br>
+housecleaning&nbsp;--&nbsp;I&nbsp;see&nbsp;cookies&nbsp;in&nbsp;this&nbsp;file&nbsp;I've&nbsp;not&nbsp;used&nbsp;for&nbsp;months.&nbsp;However,<br>
+since&nbsp;Bugzilla&nbsp;never&nbsp;expires&nbsp;your&nbsp;cookie&nbsp;(for&nbsp;convenience'&nbsp;sake),&nbsp;it&nbsp;makes<br>
+sense.<br>
+<br>
+longdescs:&nbsp;&nbsp;The&nbsp;meat&nbsp;of&nbsp;bugzilla&nbsp;--&nbsp;here&nbsp;is&nbsp;where&nbsp;all&nbsp;user&nbsp;comments&nbsp;are&nbsp;stored!<br>
+You've&nbsp;only&nbsp;got&nbsp;2^24&nbsp;bytes&nbsp;per&nbsp;comment&nbsp;(it's&nbsp;a&nbsp;mediumtext&nbsp;field),&nbsp;so&nbsp;speak<br>
+sparingly&nbsp;--&nbsp;that's&nbsp;only&nbsp;the&nbsp;amount&nbsp;of&nbsp;space&nbsp;the&nbsp;Old&nbsp;Testament&nbsp;from&nbsp;the&nbsp;Bible<br>
+would&nbsp;take&nbsp;(uncompressed,&nbsp;16&nbsp;megabytes).&nbsp;Each&nbsp;comment&nbsp;is&nbsp;keyed&nbsp;to&nbsp;the<br>
+bug_id&nbsp;to&nbsp;which&nbsp;it's&nbsp;attached,&nbsp;so&nbsp;the&nbsp;order&nbsp;is&nbsp;necessarily&nbsp;chronological,&nbsp;for<br>
+comments&nbsp;are&nbsp;played&nbsp;back&nbsp;in&nbsp;the&nbsp;order&nbsp;in&nbsp;which&nbsp;they&nbsp;are&nbsp;received.<br>
+<br>
+milestones:&nbsp;&nbsp;Interesting&nbsp;that&nbsp;milestones&nbsp;are&nbsp;associated&nbsp;with&nbsp;a&nbsp;specific&nbsp;product<br>
+in&nbsp;this&nbsp;table,&nbsp;but&nbsp;Bugzilla&nbsp;does&nbsp;not&nbsp;yet&nbsp;support&nbsp;differing&nbsp;milestones&nbsp;by<br>
+product&nbsp;through&nbsp;the&nbsp;standard&nbsp;configuration&nbsp;interfaces.<br>
+<br>
+namedqueries:&nbsp;&nbsp;This&nbsp;is&nbsp;where&nbsp;everybody&nbsp;stores&nbsp;their&nbsp;"custom&nbsp;queries".&nbsp;Very<br>
+cool&nbsp;feature;&nbsp;it&nbsp;beats&nbsp;the&nbsp;tar&nbsp;out&nbsp;of&nbsp;having&nbsp;to&nbsp;bookmark&nbsp;each&nbsp;cool&nbsp;query&nbsp;you<br>
+construct.<br>
+<br>
+products:&nbsp;&nbsp;What&nbsp;products&nbsp;you&nbsp;have,&nbsp;whether&nbsp;new&nbsp;bug&nbsp;entries&nbsp;are&nbsp;allowed&nbsp;for&nbsp;the<br>
+product,&nbsp;what&nbsp;milestone&nbsp;you're&nbsp;working&nbsp;toward&nbsp;on&nbsp;that&nbsp;product,&nbsp;votes,&nbsp;etc.&nbsp;It<br>
+will&nbsp;be&nbsp;nice&nbsp;when&nbsp;the&nbsp;components&nbsp;table&nbsp;supports&nbsp;these&nbsp;same&nbsp;features,&nbsp;so&nbsp;you<br>
+could&nbsp;close&nbsp;a&nbsp;particular&nbsp;component&nbsp;for&nbsp;bug&nbsp;entry&nbsp;without&nbsp;having&nbsp;to&nbsp;close&nbsp;an<br>
+entire&nbsp;product...<br>
+<br>
+profiles:&nbsp;&nbsp;Ahh,&nbsp;so&nbsp;you&nbsp;were&nbsp;wondering&nbsp;where&nbsp;your&nbsp;precious&nbsp;user&nbsp;information&nbsp;was<br>
+stored?&nbsp;&nbsp;Here&nbsp;it&nbsp;is!&nbsp;&nbsp;With&nbsp;the&nbsp;passwords&nbsp;in&nbsp;plain&nbsp;text&nbsp;for&nbsp;all&nbsp;to&nbsp;see!&nbsp;(but<br>
+sshh...&nbsp;don't&nbsp;tell&nbsp;your&nbsp;users!)<br>
+<br>
+profiles_activity:&nbsp;&nbsp;Need&nbsp;to&nbsp;know&nbsp;who&nbsp;did&nbsp;what&nbsp;when&nbsp;to&nbsp;who's&nbsp;profile?&nbsp;&nbsp;This'll<br>
+tell&nbsp;you,&nbsp;it's&nbsp;a&nbsp;pretty&nbsp;complete&nbsp;history.<br>
+<br>
+versions:&nbsp;&nbsp;Version&nbsp;information&nbsp;for&nbsp;every&nbsp;product<br>
+<br>
+votes:&nbsp;&nbsp;Who&nbsp;voted&nbsp;for&nbsp;what&nbsp;when<br>
+<br>
+watch:&nbsp;&nbsp;Who&nbsp;(according&nbsp;to&nbsp;userid)&nbsp;is&nbsp;watching&nbsp;who's&nbsp;bugs&nbsp;(according&nbsp;to&nbsp;their<br>
+userid).<br>
+<br>
+<br>
+===<br>
+THE&nbsp;DETAILS<br>
+===<br>
+<br>
+&nbsp;&nbsp;Ahh,&nbsp;so&nbsp;you're&nbsp;wondering&nbsp;just&nbsp;what&nbsp;to&nbsp;do&nbsp;with&nbsp;the&nbsp;information&nbsp;above?&nbsp;&nbsp;At&nbsp;the<br>
+mysql&nbsp;prompt,&nbsp;you&nbsp;can&nbsp;view&nbsp;any&nbsp;information&nbsp;about&nbsp;the&nbsp;columns&nbsp;in&nbsp;a&nbsp;table&nbsp;with<br>
+this&nbsp;command&nbsp;(where&nbsp;"table"&nbsp;is&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;table&nbsp;you&nbsp;wish&nbsp;to&nbsp;view):<br>
+<br>
+mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;table;<br>
+<br>
+&nbsp;&nbsp;You&nbsp;can&nbsp;also&nbsp;view&nbsp;all&nbsp;the&nbsp;data&nbsp;in&nbsp;a&nbsp;table&nbsp;with&nbsp;this&nbsp;command:<br>
+<br>
+mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table;<br>
+<br>
+&nbsp;&nbsp;--&nbsp;note:&nbsp;this&nbsp;is&nbsp;a&nbsp;very&nbsp;bad&nbsp;idea&nbsp;to&nbsp;do&nbsp;on,&nbsp;for&nbsp;instance,&nbsp;the&nbsp;"bugs"&nbsp;table&nbsp;if<br>
+you&nbsp;have&nbsp;50,000&nbsp;bugs.&nbsp;You'll&nbsp;be&nbsp;sitting&nbsp;there&nbsp;a&nbsp;while&nbsp;until&nbsp;you&nbsp;ctrl-c&nbsp;or<br>
+50,000&nbsp;bugs&nbsp;play&nbsp;across&nbsp;your&nbsp;screen.<br>
+<br>
+&nbsp;&nbsp;You&nbsp;can&nbsp;limit&nbsp;the&nbsp;display&nbsp;from&nbsp;above&nbsp;a&nbsp;little&nbsp;with&nbsp;the&nbsp;command,&nbsp;where<br>
+"column"&nbsp;is&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;column&nbsp;for&nbsp;which&nbsp;you&nbsp;wish&nbsp;to&nbsp;restrict&nbsp;information:<br>
+<br>
+mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table&nbsp;where&nbsp;(column&nbsp;=&nbsp;"some&nbsp;info");<br>
+<br>
+&nbsp;&nbsp;--&nbsp;or&nbsp;the&nbsp;reverse&nbsp;of&nbsp;this<br>
+<br>
+mysql&#62;&nbsp;select&nbsp;*&nbsp;from&nbsp;table&nbsp;where&nbsp;(column&nbsp;!=&nbsp;"some&nbsp;info");<br>
+<br>
+&nbsp;&nbsp;Let's&nbsp;take&nbsp;our&nbsp;example&nbsp;from&nbsp;the&nbsp;introduction,&nbsp;and&nbsp;assume&nbsp;you&nbsp;need&nbsp;to&nbsp;change<br>
+the&nbsp;word&nbsp;"verified"&nbsp;to&nbsp;"approved"&nbsp;in&nbsp;the&nbsp;resolution&nbsp;field.&nbsp;We&nbsp;know&nbsp;from&nbsp;the<br>
+above&nbsp;information&nbsp;that&nbsp;the&nbsp;resolution&nbsp;is&nbsp;likely&nbsp;to&nbsp;be&nbsp;stored&nbsp;in&nbsp;the&nbsp;"bugs"<br>
+table.&nbsp;Note&nbsp;we'll&nbsp;need&nbsp;to&nbsp;change&nbsp;a&nbsp;little&nbsp;perl&nbsp;code&nbsp;as&nbsp;well&nbsp;as&nbsp;this&nbsp;database<br>
+change,&nbsp;but&nbsp;I&nbsp;won't&nbsp;plunge&nbsp;into&nbsp;that&nbsp;in&nbsp;this&nbsp;document.&nbsp;Let's&nbsp;verify&nbsp;the<br>
+information&nbsp;is&nbsp;stored&nbsp;in&nbsp;the&nbsp;"bugs"&nbsp;table:<br>
+<br>
+mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;bugs<br>
+<br>
+&nbsp;&nbsp;(exceedingly&nbsp;long&nbsp;output&nbsp;truncated&nbsp;here)<br>
+|&nbsp;bug_status|&nbsp;enum('UNCONFIRMED','NEW','ASSIGNED','REOPENED','RESOLVED','VERIFIED','CLOSED')||MUL&nbsp;|&nbsp;UNCONFIRMED||<br>
+<br>
+&nbsp;&nbsp;Sorry&nbsp;about&nbsp;that&nbsp;long&nbsp;line.&nbsp;We&nbsp;see&nbsp;from&nbsp;this&nbsp;that&nbsp;the&nbsp;"bug&nbsp;status"&nbsp;column&nbsp;is<br>
+an&nbsp;"enum&nbsp;field",&nbsp;which&nbsp;is&nbsp;a&nbsp;MySQL&nbsp;peculiarity&nbsp;where&nbsp;a&nbsp;string&nbsp;type&nbsp;field&nbsp;can<br>
+only&nbsp;have&nbsp;certain&nbsp;types&nbsp;of&nbsp;entries.&nbsp;While&nbsp;I&nbsp;think&nbsp;this&nbsp;is&nbsp;very&nbsp;cool,&nbsp;it's&nbsp;not<br>
+standard&nbsp;SQL.&nbsp;Anyway,&nbsp;we&nbsp;need&nbsp;to&nbsp;add&nbsp;the&nbsp;possible&nbsp;enum&nbsp;field&nbsp;entry<br>
+'APPROVED'&nbsp;by&nbsp;altering&nbsp;the&nbsp;"bugs"&nbsp;table.<br>
+<br>
+mysql&#62;&nbsp;ALTER&nbsp;table&nbsp;bugs&nbsp;CHANGE&nbsp;bug_status&nbsp;bug_status<br>
+&nbsp;&nbsp;&nbsp;&nbsp;-&#62;&nbsp;enum("UNCONFIRMED",&nbsp;"NEW",&nbsp;"ASSIGNED",&nbsp;"REOPENED",&nbsp;"RESOLVED",<br>
+&nbsp;&nbsp;&nbsp;&nbsp;-&#62;&nbsp;"VERIFIED",&nbsp;"APPROVED",&nbsp;"CLOSED")&nbsp;not&nbsp;null;<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;(note&nbsp;we&nbsp;can&nbsp;take&nbsp;three&nbsp;lines&nbsp;or&nbsp;more&nbsp;--&nbsp;whatever&nbsp;you&nbsp;put&nbsp;in&nbsp;before&nbsp;the<br>
+semicolon&nbsp;is&nbsp;evaluated&nbsp;as&nbsp;a&nbsp;single&nbsp;expression)<br>
+<br>
+Now&nbsp;if&nbsp;you&nbsp;do&nbsp;this:<br>
+<br>
+mysql&#62;&nbsp;show&nbsp;columns&nbsp;from&nbsp;bugs;<br>
+<br>
+&nbsp;&nbsp;you'll&nbsp;see&nbsp;that&nbsp;the&nbsp;bug_status&nbsp;field&nbsp;has&nbsp;an&nbsp;extra&nbsp;"APPROVED"&nbsp;enum&nbsp;that's<br>
+available!&nbsp;&nbsp;Cool&nbsp;thing,&nbsp;too,&nbsp;is&nbsp;that&nbsp;this&nbsp;is&nbsp;reflected&nbsp;on&nbsp;your&nbsp;query&nbsp;page&nbsp;as<br>
+well&nbsp;--&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;new&nbsp;status.&nbsp;But&nbsp;how's&nbsp;it&nbsp;fit&nbsp;into&nbsp;the&nbsp;existing<br>
+scheme&nbsp;of&nbsp;things?<br>
+&nbsp;&nbsp;Looks&nbsp;like&nbsp;you&nbsp;need&nbsp;to&nbsp;go&nbsp;back&nbsp;and&nbsp;look&nbsp;for&nbsp;instances&nbsp;of&nbsp;the&nbsp;word&nbsp;"verified"<br>
+in&nbsp;the&nbsp;perl&nbsp;code&nbsp;for&nbsp;Bugzilla&nbsp;--&nbsp;wherever&nbsp;you&nbsp;find&nbsp;"verified",&nbsp;change&nbsp;it&nbsp;to<br>
+"approved"&nbsp;and&nbsp;you're&nbsp;in&nbsp;business&nbsp;(make&nbsp;sure&nbsp;that's&nbsp;a&nbsp;case-insensitive&nbsp;search).<br>
+Although&nbsp;you&nbsp;can&nbsp;query&nbsp;by&nbsp;the&nbsp;enum&nbsp;field,&nbsp;you&nbsp;can't&nbsp;give&nbsp;something&nbsp;a&nbsp;status<br>
+of&nbsp;"APPROVED"&nbsp;until&nbsp;you&nbsp;make&nbsp;the&nbsp;perl&nbsp;changes.&nbsp;Note&nbsp;that&nbsp;this&nbsp;change&nbsp;I<br>
+mentioned&nbsp;can&nbsp;also&nbsp;be&nbsp;done&nbsp;by&nbsp;editing&nbsp;checksetup.pl,&nbsp;which&nbsp;automates&nbsp;a&nbsp;lot&nbsp;of<br>
+this.&nbsp;But&nbsp;you&nbsp;need&nbsp;to&nbsp;know&nbsp;this&nbsp;stuff&nbsp;anyway,&nbsp;right?<br>
+	</P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="integration"
+>5.6. Integrating Bugzilla with Third-Party Tools</A
+></H2
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="bonsai"
+>5.6.1. Bonsai</A
+></H3
+><P
+>Bonsai is a web-based tool for managing 
+    <A
+HREF="#cvs"
+>CVS, the Concurrent Versioning System</A
+>
+
+    . Using Bonsai, administrators can control open/closed status of trees,
+    query a fast relational database back-end for change, branch, and comment
+    information, and view changes made since the last time the tree was
+    closed. Bonsai
+    also integrates with  
+    <A
+HREF="#tinderbox"
+>Tinderbox, the Mozilla automated build management system</A
+>.
+    </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="cvs"
+>5.6.2. CVS</A
+></H3
+><P
+>CVS integration is best accomplished, at this point, using the
+    Bugzilla Email Gateway.</P
+><P
+>Follow the instructions in this Guide for enabling Bugzilla e-mail
+    integration. Ensure that your check-in script sends an email to your
+    Bugzilla e-mail gateway with the subject of 
+    <SPAN
+CLASS="QUOTE"
+>"[Bug XXXX]"</SPAN
+>, 
+    and you can have CVS check-in comments append to your Bugzilla bug. If
+    you  want to have the bug be closed automatically, you'll have to modify
+    the <TT
+CLASS="filename"
+>contrib/bugzilla_email_append.pl</TT
+> script.
+    </P
+><P
+>There is also a CVSZilla project, based upon somewhat dated 
+    Bugzilla code, to integrate CVS and Bugzilla through CVS' ability to 
+    email. Check it out at: <A
+HREF="http://homepages.kcbbs.gen.nz/~tonyg/"
+TARGET="_top"
+>http://homepages.kcbbs.gen.nz/~tonyg/</A
+>.
+    </P
+><P
+>Another system capable of CVS integration with Bugzilla is
+    Scmbug. This system provides generic integration of Source code
+    Configuration Management with Bugtracking. Check it out at: <A
+HREF="http://freshmeat.net/projects/scmbug/"
+TARGET="_top"
+>http://freshmeat.net/projects/scmbug/</A
+>.
+    </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="scm"
+>5.6.3. Perforce SCM</A
+></H3
+><P
+>You can find the project page for Bugzilla and Teamtrack Perforce
+    integration (p4dti) at: 
+    <A
+HREF="http://www.ravenbrook.com/project/p4dti/"
+TARGET="_top"
+>http://www.ravenbrook.com/project/p4dti/</A
+>
+
+    . 
+    <SPAN
+CLASS="QUOTE"
+>"p4dti"</SPAN
+>
+
+    is now an officially supported product from Perforce, and you can find
+    the "Perforce Public Depot" p4dti page at 
+    <A
+HREF="http://public.perforce.com/public/perforce/p4dti/index.html"
+TARGET="_top"
+>http://public.perforce.com/public/perforce/p4dti/index.html</A
+>
+
+    .</P
+><P
+>Integration of Perforce with Bugzilla, once patches are applied, is
+    seamless. Perforce replication information will appear below the comments
+    of each bug. Be certain you have a matching set of patches for the
+    Bugzilla version you are installing. p4dti is designed to support
+    multiple defect trackers, and maintains its own documentation for it.
+    Please consult the pages linked above for further information.</P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="svn"
+>5.6.4. Subversion</A
+></H3
+><P
+>Subversion is a free/open-source version control system,
+     designed to overcome various limitations of CVS. Integration of
+     Subversion with Bugzilla is possible using Scmbug, a system
+     providing generic integration of Source Code Configuration
+     Management with Bugtracking. Scmbug is available at <A
+HREF="http://freshmeat.net/projects/scmbug/"
+TARGET="_top"
+>http://freshmeat.net/projects/scmbug/</A
+>.</P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="tinderbox"
+>5.6.5. Tinderbox/Tinderbox2</A
+></H3
+><P
+>Tinderbox is a continuous-build system which can integrate with
+    Bugzilla - see
+    <A
+HREF="http://www.mozilla.org/projects/tinderbox"
+TARGET="_top"
+>http://www.mozilla.org/projects/tinderbox</A
+> for details
+    of Tinderbox, and 
+    <A
+HREF="http://tinderbox.mozilla.org/showbuilds.cgi"
+TARGET="_top"
+>http://tinderbox.mozilla.org/showbuilds.cgi</A
+> to see it
+    in action.</P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="chapter"
+><HR><H1
+><A
+NAME="using"
+></A
+>Chapter 6. Using Bugzilla</H1
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="using-intro"
+>6.1. Introduction</A
+></H2
+><P
+>This section contains information for end-users of Bugzilla.  There
+    is a Bugzilla test installation, called
+    <A
+HREF="http://landfill.bugzilla.org/"
+TARGET="_top"
+>Landfill</A
+>, which you are
+    welcome to play with (if it's up). However, not all of the Bugzilla
+    installations there will necessarily have all Bugzilla features enabled,
+    and different installations run different versions, so some things may not
+    quite work as this document describes.</P
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="myaccount"
+>6.2. Create a Bugzilla Account</A
+></H2
+><P
+>If you want to use Bugzilla, first you need to create an account.
+    Consult with the administrator responsible for your installation of
+    Bugzilla for the URL you should use to access it. If you're
+    test-driving Bugzilla, use this URL: 
+    <A
+HREF="http://landfill.bugzilla.org/bugzilla-2.18-branch/"
+TARGET="_top"
+>http://landfill.bugzilla.org/bugzilla-2.18-branch/</A
+>.
+    </P
+><P
+></P
+><OL
+TYPE="1"
+><LI
+><P
+>Click the 
+        <SPAN
+CLASS="QUOTE"
+>"Open a new Bugzilla account"</SPAN
+>
+
+        link, enter your email address and, optionally, your name in the
+        spaces provided, then click 
+        <SPAN
+CLASS="QUOTE"
+>"Create Account"</SPAN
+>
+
+        .</P
+></LI
+><LI
+><P
+>Within moments, you should receive an email to the address
+        you provided, which contains your login name (generally the
+        same as the email address), and a password. 
+        This password is randomly generated, but can be
+        changed to something more memorable.</P
+></LI
+><LI
+><P
+>Click the 
+        <SPAN
+CLASS="QUOTE"
+>"Log In"</SPAN
+>
+        link in the footer at the bottom of the page in your browser,
+        enter your email address and password into the spaces provided, and
+        click 
+        <SPAN
+CLASS="QUOTE"
+>"Login"</SPAN
+>.
+        </P
+></LI
+></OL
+><P
+>You are now logged in. Bugzilla uses cookies to remember you are
+    logged in so, unless you have cookies disabled or your IP address changes, 
+    you should not have to log in again.</P
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="bug_page"
+>6.3. Anatomy of a Bug</A
+></H2
+><P
+>The core of Bugzilla is the screen which displays a particular
+    bug. It's a good place to explain some Bugzilla concepts. 
+    <A
+HREF="http://landfill.bugzilla.org/bugzilla-2.18-branch/show_bug.cgi?id=1"
+TARGET="_top"
+>&#13;    Bug 1 on Landfill</A
+>
+
+    is a good example. Note that the labels for most fields are hyperlinks;
+    clicking them will take you to context-sensitive help on that
+    particular field. Fields marked * may not be present on every
+    installation of Bugzilla.</P
+><P
+></P
+><OL
+TYPE="1"
+><LI
+><P
+>&#13;        <EM
+>Product and Component</EM
+>: 
+        Bugs are divided up by Product and Component, with a Product
+        having one or more Components in it. For example,
+        bugzilla.mozilla.org's "Bugzilla" Product is composed of several
+        Components: 
+        <P
+></P
+><TABLE
+BORDER="0"
+><TBODY
+><TR
+><TD
+>&#13;        <EM
+>Administration:</EM
+>
+        Administration of a Bugzilla installation.</TD
+></TR
+><TR
+><TD
+>&#13;        <EM
+>Bugzilla-General:</EM
+>
+        Anything that doesn't fit in the other components, or spans
+        multiple components.</TD
+></TR
+><TR
+><TD
+>&#13;        <EM
+>Creating/Changing Bugs:</EM
+>
+        Creating, changing, and viewing bugs.</TD
+></TR
+><TR
+><TD
+>&#13;        <EM
+>Documentation:</EM
+>
+        The Bugzilla documentation, including The Bugzilla Guide.</TD
+></TR
+><TR
+><TD
+>&#13;        <EM
+>Email:</EM
+>
+        Anything to do with email sent by Bugzilla.</TD
+></TR
+><TR
+><TD
+>&#13;        <EM
+>Installation:</EM
+>
+        The installation process of Bugzilla.</TD
+></TR
+><TR
+><TD
+>&#13;        <EM
+>Query/Buglist:</EM
+>
+        Anything to do with searching for bugs and viewing the
+        buglists.</TD
+></TR
+><TR
+><TD
+>&#13;        <EM
+>Reporting/Charting:</EM
+>
+        Getting reports from Bugzilla.</TD
+></TR
+><TR
+><TD
+>&#13;        <EM
+>User Accounts:</EM
+>
+        Anything about managing a user account from the user's perspective.
+        Saved queries, creating accounts, changing passwords, logging in,
+        etc.</TD
+></TR
+><TR
+><TD
+>&#13;        <EM
+>User Interface:</EM
+>
+        General issues having to do with the user interface cosmetics (not
+        functionality) including cosmetic issues, HTML templates,
+        etc.</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+>
+        </P
+></LI
+><LI
+><P
+>&#13;        <EM
+>Status and Resolution:</EM
+>
+
+        These define exactly what state the bug is in - from not even
+        being confirmed as a bug, through to being fixed and the fix
+        confirmed by Quality Assurance. The different possible values for
+        Status and Resolution on your installation should be documented in the
+        context-sensitive help for those items.</P
+></LI
+><LI
+><P
+>&#13;        <EM
+>Assigned To:</EM
+>
+        The person responsible for fixing the bug.</P
+></LI
+><LI
+><P
+>&#13;        <EM
+>*URL:</EM
+>
+        A URL associated with the bug, if any.</P
+></LI
+><LI
+><P
+>&#13;        <EM
+>Summary:</EM
+>
+        A one-sentence summary of the problem.</P
+></LI
+><LI
+><P
+>&#13;        <EM
+>*Status Whiteboard:</EM
+>
+        (a.k.a. Whiteboard) A free-form text area for adding short notes
+        and tags to a bug.</P
+></LI
+><LI
+><P
+>&#13;        <EM
+>*Keywords:</EM
+>
+        The administrator can define keywords which you can use to tag and
+        categorise bugs - e.g. The Mozilla Project has keywords like crash
+        and regression.</P
+></LI
+><LI
+><P
+>&#13;        <EM
+>Platform and OS:</EM
+>
+        These indicate the computing environment where the bug was
+        found.</P
+></LI
+><LI
+><P
+>&#13;        <EM
+>Version:</EM
+>
+        The "Version" field is usually used for versions of a product which
+        have been released, and is set to indicate which versions of a
+        Component have the particular problem the bug report is
+        about.</P
+></LI
+><LI
+><P
+>&#13;        <EM
+>Priority:</EM
+>
+        The bug assignee uses this field to prioritise his or her bugs.
+        It's a good idea not to change this on other people's bugs.</P
+></LI
+><LI
+><P
+>&#13;        <EM
+>Severity:</EM
+>
+        This indicates how severe the problem is - from blocker
+        ("application unusable") to trivial ("minor cosmetic issue"). You
+        can also use this field to indicate whether a bug is an enhancement
+        request.</P
+></LI
+><LI
+><P
+>&#13;        <EM
+>*Target:</EM
+>
+        (a.k.a. Target Milestone) A future version by which the bug is to
+        be fixed. e.g. The Bugzilla Project's milestones for future
+        Bugzilla versions are 2.18, 2.20, 3.0, etc. Milestones are not
+        restricted to numbers, thought - you can use any text strings, such
+        as dates.</P
+></LI
+><LI
+><P
+>&#13;        <EM
+>Reporter:</EM
+>
+        The person who filed the bug.</P
+></LI
+><LI
+><P
+>&#13;        <EM
+>CC list:</EM
+>
+        A list of people who get mail when the bug changes.</P
+></LI
+><LI
+><P
+>&#13;        <EM
+>Attachments:</EM
+>
+        You can attach files (e.g. testcases or patches) to bugs. If there
+        are any attachments, they are listed in this section.</P
+></LI
+><LI
+><P
+>&#13;        <EM
+>*Dependencies:</EM
+>
+        If this bug cannot be fixed unless other bugs are fixed (depends
+        on), or this bug stops other bugs being fixed (blocks), their
+        numbers are recorded here.</P
+></LI
+><LI
+><P
+>&#13;        <EM
+>*Votes:</EM
+>
+        Whether this bug has any votes.</P
+></LI
+><LI
+><P
+>&#13;        <EM
+>Additional Comments:</EM
+>
+        You can add your two cents to the bug discussion here, if you have
+        something worthwhile to say.</P
+></LI
+></OL
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="lifecycle"
+>6.4. Life Cycle of a Bug</A
+></H2
+><P
+>&#13;      The life cycle, also known as work flow, of a bug is currently hardcoded
+      into Bugzilla. <A
+HREF="#lifecycle-image"
+>Figure 6-1</A
+> contains a graphical
+      repsentation of this life cycle. If you wish to customize this image for
+      your site, the <A
+HREF="../images/bzLifecycle.xml"
+TARGET="_top"
+>diagram file</A
+>
+      is available in <A
+HREF="http://www.gnome.org/projects/dia"
+TARGET="_top"
+>Dia's</A
+>
+      native XML format.
+    </P
+><DIV
+CLASS="figure"
+><A
+NAME="lifecycle-image"
+></A
+><P
+><B
+>Figure 6-1. Lifecycle of a Bugzilla Bug</B
+></P
+><DIV
+CLASS="mediaobject"
+><P
+><IMG
+SRC="../images/bzLifecycle.png"></P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="query"
+>6.5. Searching for Bugs</A
+></H2
+><P
+>The Bugzilla Search page is is the interface where you can find
+    any bug report, comment, or patch currently in the Bugzilla system. You
+    can play with it here: 
+    <A
+HREF="http://landfill.bugzilla.org/bugzilla-2.18-branch/query.cgi"
+TARGET="_top"
+>http://landfill.bugzilla.org/bugzilla-2.18-branch/query.cgi</A
+>.</P
+><P
+>The Search page has controls for selecting different possible
+    values for all of the fields in a bug, as described above. For some
+    fields, multiple values can be selected. In those cases, Bugzilla
+    returns bugs where the content of the field matches any one of the selected
+    values. If none is selected, then the field can take any value.</P
+><P
+>Once you've run a search, you can save it as a Saved Search, which 
+    appears in the page footer.</P
+><P
+>Highly advanced querying is done using Boolean Charts. See the
+    Boolean Charts help link on the Search page for more information.</P
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="list"
+>6.6. Bug Lists</A
+></H2
+><P
+>If you run a search, a list of matching bugs will be returned.
+    </P
+><P
+>The format of the list is configurable. For example, it can be
+    sorted by clicking the column headings. Other useful features can be
+    accessed using the links at the bottom of the list: 
+    <P
+></P
+><TABLE
+BORDER="0"
+><TBODY
+><TR
+><TD
+>&#13;      <EM
+>Long Format:</EM
+>
+
+      this gives you a large page with a non-editable summary of the fields
+      of each bug.</TD
+></TR
+><TR
+><TD
+>&#13;      <EM
+>CSV:</EM
+>
+
+      get the buglist as comma-separated values, for import into e.g.
+      a spreadsheet.</TD
+></TR
+><TR
+><TD
+>&#13;      <EM
+>Change Columns:</EM
+>
+
+      change the bug attributes which appear in the list.</TD
+></TR
+><TR
+><TD
+>&#13;      <EM
+>Change several bugs at once:</EM
+>
+
+      If your account is sufficiently empowered, you can make the same
+      change to all the bugs in the list - for example, changing their
+      owner.</TD
+></TR
+><TR
+><TD
+>&#13;      <EM
+>Send mail to bug owners:</EM
+>
+
+      Sends mail to the owners of all bugs on the list.</TD
+></TR
+><TR
+><TD
+>&#13;      <EM
+>Edit Search:</EM
+>
+
+      If you didn't get exactly the results you were looking for, you can
+      return to the Query page through this link and make small revisions
+      to the query you just made so you get more accurate results.</TD
+></TR
+><TR
+><TD
+>&#13;      <EM
+>Remember Search As:</EM
+>
+
+      You can give a search a name and remember it; a link will appear
+      in your page footer giving you quick access to run it again later.
+      </TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+>
+    </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="bugreports"
+>6.7. Filing Bugs</A
+></H2
+><P
+>Years of bug writing experience has been distilled for your
+    reading pleasure into the 
+    <A
+HREF="http://landfill.bugzilla.org/bugzilla-2.18-branch/page.cgi?id=bug-writing.html"
+TARGET="_top"
+>&#13;    Bug Writing Guidelines</A
+>. 
+    While some of the advice is Mozilla-specific, the basic principles of
+    reporting Reproducible, Specific bugs, isolating the Product you are
+    using, the Version of the Product, the Component which failed, the
+    Hardware Platform, and Operating System you were using at the time of
+    the failure go a long way toward ensuring accurate, responsible fixes
+    for the bug that bit you.</P
+><P
+>The procedure for filing a test bug is as follows:</P
+><P
+></P
+><OL
+TYPE="1"
+><LI
+><P
+>Go to 
+        <A
+HREF="http://landfill.bugzilla.org/bugzilla-2.18-branch/"
+TARGET="_top"
+>&#13;        Landfill</A
+>
+        in your browser and click 
+        <A
+HREF="http://landfill.bugzilla.org/bugzilla-2.18-branch/enter_bug.cgi"
+TARGET="_top"
+>&#13;        Enter a new bug report</A
+>.
+        </P
+></LI
+><LI
+><P
+>Select a product - any one will do.</P
+></LI
+><LI
+><P
+>Fill in the fields. Bugzilla should have made reasonable
+        guesses, based upon your browser, for the "Platform" and "OS"
+        drop-down boxes. If they are wrong, change them.</P
+></LI
+><LI
+><P
+>Select "Commit" and send in your bug report.</P
+></LI
+></OL
+><P
+>Try to make sure that everything said in the summary is also 
+      said in the first comment. Summaries are often updated and this will
+      ensure your original information is easily accessible.
+      </P
+><P
+>&#13;      You do not need to put "any" or similar strings in the URL field.
+      If there is no specific URL associated with the bug, leave this 
+      field blank.
+      </P
+><P
+>If you feel a bug you filed was incorrectly marked as a
+      DUPLICATE of another, please question it in your bug, not      
+      the bug it was duped to. Feel free to CC the person who duped it 
+      if they are not already CCed.
+      </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="patchviewer"
+>6.8. Patch Viewer</A
+></H2
+><P
+>Viewing and reviewing patches in Bugzilla is often difficult due to
+    lack of context, improper format and the inherent readability issues that
+    raw patches present.  Patch Viewer is an enhancement to Bugzilla designed
+    to fix that by offering increased context, linking to sections, and
+    integrating with Bonsai, LXR and CVS.</P
+><P
+>Patch viewer allows you to:</P
+><P
+></P
+><TABLE
+BORDER="0"
+><TBODY
+><TR
+><TD
+>View patches in color, with side-by-side view rather than trying
+      to interpret the contents of the patch.</TD
+></TR
+><TR
+><TD
+>See the difference between two patches.</TD
+></TR
+><TR
+><TD
+>Get more context in a patch.</TD
+></TR
+><TR
+><TD
+>Collapse and expand sections of a patch for easy
+      reading.</TD
+></TR
+><TR
+><TD
+>Link to a particular section of a patch for discussion or
+      review</TD
+></TR
+><TR
+><TD
+>Go to Bonsai or LXR to see more context, blame, and
+      cross-references for the part of the patch you are looking at</TD
+></TR
+><TR
+><TD
+>Create a rawtext unified format diff out of any patch, no
+      matter what format it came from</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="patchviewer_view"
+>6.8.1. Viewing Patches in Patch Viewer</A
+></H3
+><P
+>The main way to view a patch in patch viewer is to click on the
+      "Diff" link next to a patch in the Attachments list on a bug. You may
+      also do this within the edit window by clicking the "View Attachment As
+      Diff" button in the Edit Attachment screen.</P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="patchviewer_diff"
+>6.8.2. Seeing the Difference Between Two Patches</A
+></H3
+><P
+>To see the difference between two patches, you must first view the
+      newer patch in Patch Viewer.  Then select the older patch from the
+      dropdown at the top of the page ("Differences between [dropdown] and
+      this patch") and click the "Diff" button. This will show you what
+      is new or changed in the newer patch.</P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="patchviewer_context"
+>6.8.3. Getting More Context in a Patch</A
+></H3
+><P
+>To get more context in a patch, you put a number in the textbox at
+      the top of Patch Viewer ("Patch / File / [textbox]") and hit enter.
+      This will give you that many lines of context before and after each
+      change. Alternatively, you can click on the "File" link there and it
+      will show each change in the full context of the file. This feature only
+      works against files that were diffed using "cvs diff".</P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="patchviewer_collapse"
+>6.8.4. Collapsing and Expanding Sections of a Patch</A
+></H3
+><P
+>To view only a certain set of files in a patch (for example, if a
+      patch is absolutely huge and you want to only review part of it at a
+      time), you can click the "(+)" and "(-)" links next to each file (to
+      expand it or collapse it). If you want to collapse all files or expand
+      all files, you can click the "Collapse All" and "Expand All" links at the
+      top of the page.</P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="patchviewer_link"
+>6.8.5. Linking to a Section of a Patch</A
+></H3
+><P
+>To link to a section of a patch (for example, if you want to be
+      able to give someone a URL to show them which part you are talking
+      about) you simply click the "Link Here" link on the section header. The
+      resulting URL can be copied and used in discussion. (Copy Link
+      Location in Mozilla works as well.)</P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="patchviewer_bonsai_lxr"
+>6.8.6. Going to Bonsai and LXR</A
+></H3
+><P
+>To go to Bonsai to get blame for the lines you are interested in,
+      you can click the "Lines XX-YY" link on the section header you are
+      interested in. This works even if the patch is against an old
+      version of the file, since Bonsai stores all versions of the file.</P
+><P
+>To go to LXR, you click on the filename on the file header
+      (unfortunately, since LXR only does the most recent version, line
+      numbers are likely to rot).</P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="patchviewer_unified_diff"
+>6.8.7. Creating a Unified Diff</A
+></H3
+><P
+>If the patch is not in a format that you like, you can turn it
+      into a unified diff format by clicking the "Raw Unified" link at the top
+      of the page.</P
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="hintsandtips"
+>6.9. Hints and Tips</A
+></H2
+><P
+>This section distills some Bugzilla tips and best practices
+    that have been developed.</P
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="AEN2208"
+>6.9.1. Autolinkification</A
+></H3
+><P
+>Bugzilla comments are plain text - so typing &#60;U&#62; will
+      produce less-than, U, greater-than rather than underlined text.
+      However, Bugzilla will automatically make hyperlinks out of certain
+      sorts of text in comments. For example, the text 
+      "http://www.bugzilla.org" will be turned into a link:
+      <A
+HREF="http://www.bugzilla.org"
+TARGET="_top"
+>http://www.bugzilla.org</A
+>.
+      Other strings which get linkified in the obvious manner are:
+      <P
+></P
+><TABLE
+BORDER="0"
+><TBODY
+><TR
+><TD
+>bug 12345</TD
+></TR
+><TR
+><TD
+>comment 7</TD
+></TR
+><TR
+><TD
+>bug 23456, comment 53</TD
+></TR
+><TR
+><TD
+>attachment 4321</TD
+></TR
+><TR
+><TD
+>mailto:george@example.com</TD
+></TR
+><TR
+><TD
+>george@example.com</TD
+></TR
+><TR
+><TD
+>ftp://ftp.mozilla.org</TD
+></TR
+><TR
+><TD
+>Most other sorts of URL</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+>
+      </P
+><P
+>A corollary here is that if you type a bug number in a comment,
+      you should put the word "bug" before it, so it gets autolinkified
+      for the convenience of others.
+      </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="quicksearch"
+>6.9.2. Quicksearch</A
+></H3
+><P
+>Quicksearch is a single-text-box query tool which uses
+      metacharacters to indicate what is to be searched. For example, typing
+      "<TT
+CLASS="filename"
+>foo|bar</TT
+>" 
+      into Quicksearch would search for "foo" or "bar" in the 
+      summary and status whiteboard of a bug; adding 
+      "<TT
+CLASS="filename"
+>:BazProduct</TT
+>" would
+      search only in that product.
+      </P
+><P
+>You'll find the Quicksearch box on Bugzilla's
+      front page, along with a 
+      <A
+HREF="../../quicksearch.html"
+TARGET="_top"
+>Help</A
+> 
+      link which details how to use it.</P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="commenting"
+>6.9.3. Comments</A
+></H3
+><P
+>If you are changing the fields on a bug, only comment if
+      either you have something pertinent to say, or Bugzilla requires it.
+      Otherwise, you may spam people unnecessarily with bug mail.
+      To take an example: a user can set up their account to filter out messages
+      where someone just adds themselves to the CC field of a bug
+      (which happens a lot.) If you come along, add yourself to the CC field,
+      and add a comment saying "Adding self to CC", then that person
+      gets a pointless piece of mail they would otherwise have avoided.
+      </P
+><P
+>&#13;      Don't use sigs in comments. Signing your name ("Bill") is acceptable,
+      if you do it out of habit, but full mail/news-style
+      four line ASCII art creations are not.
+      </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="attachments"
+>6.9.4. Attachments</A
+></H3
+><P
+>&#13;      Use attachments, rather than comments, for large chunks of ASCII data,
+      such as trace, debugging output files, or log files. That way, it doesn't
+      bloat the bug for everyone who wants to read it, and cause people to
+      receive fat, useless mails.
+      </P
+><P
+>Trim screenshots. There's no need to show the whole screen if
+      you are pointing out a single-pixel problem.
+      </P
+><P
+>Don't attach simple test cases (e.g. one HTML file, one 
+      CSS file and an image) as a ZIP file. Instead, upload them in 
+      reverse order and edit the referring file so that they point to the
+      attached files. This way, the test case works immediately 
+      out of the bug.
+      </P
+><P
+>Bugzilla stores and uses a Content-Type for each attachment 
+      (e.g. text/html). To download an attachment as a different 
+      Content-Type (e.g. application/xhtml+xml), you can override this 
+      using a 'content-type' parameter on the URL, e.g.
+      <TT
+CLASS="filename"
+>&#38;content-type=text/plain</TT
+>.
+      </P
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="userpreferences"
+>6.10. User Preferences</A
+></H2
+><P
+>Once you have logged in, you can customise various aspects of 
+    Bugzilla via the "Edit prefs" link in the page footer.
+    The preferences are split into three tabs:</P
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="accountsettings"
+>6.10.1. Account Settings</A
+></H3
+><P
+>On this tab, you can change your basic account information,
+      including your password, email address and real name. For security
+      reasons, in order to change anything on this page you must type your 
+      <EM
+>current</EM
+>
+      password into the 
+      <SPAN
+CLASS="QUOTE"
+>"Password"</SPAN
+>
+      field at the top of the page. 
+      If you attempt to change your email address, a confirmation
+      email is sent to both the old and new addresses, with a link to use to
+      confirm the change. This helps to prevent account hijacking.</P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="emailsettings"
+>6.10.2. Email Settings</A
+></H3
+><P
+>&#13;        This tab controls the amount of email Bugzilla sends you.
+      </P
+><P
+>&#13;        The first item on this page is marked <SPAN
+CLASS="QUOTE"
+>"Users to watch"</SPAN
+>.
+        When you enter one or more comma-delineated user accounts (usually email
+        addresses) into the text entry box, you will receive a copy of all the
+        bugmail those users are sent (security settings permitting).
+        This powerful functionality enables seamless transitions as developers
+        change projects or users go on holiday.
+      </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          The ability to watch other users may not be available in all
+          Bugzilla installations. If you don't see this feature, and feel
+          that you need it, speak to your administrator.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;        In general, users have almost complete control over how much (or
+        how little) email Bugzilla sends them. If you want to receive the
+        maximum amount of email possible, click the <SPAN
+CLASS="QUOTE"
+>"Enable All 
+        Mail"</SPAN
+> button. If you don't want to receive any email from
+        Bugzilla at all, click the <SPAN
+CLASS="QUOTE"
+>"Disable All Mail"</SPAN
+> button.
+      </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          Your Bugzilla administrator can stop a user from receiving
+          bugmail by adding the user's name to the 
+          <TT
+CLASS="filename"
+>data/nomail</TT
+> file. This is a drastic step
+          best taken only for disabled accounts, as it overrides the 
+          the user's individual mail preferences.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;        If you'd like to set your bugmail to something besides
+        'Completely ON' and 'Completely OFF', the
+        <SPAN
+CLASS="QUOTE"
+>"Field/recipient specific options"</SPAN
+> table
+        allows you to do just that. The rows of the table
+        define events that can happen to a bug -- things like
+        attachments being added, new comments being made, the
+        priority changing, etc. The columns in the table define
+        your relationship with the bug:
+      </P
+><P
+></P
+><UL
+COMPACT="COMPACT"
+><LI
+><P
+>&#13;            Reporter - Where you are the person who initially
+            reported the bug. Your name/account appears in the
+            <SPAN
+CLASS="QUOTE"
+>"Reporter:"</SPAN
+> field.
+          </P
+></LI
+><LI
+><P
+>&#13;            Assignee - Where you are the person who has been
+            designated as the one responsible for the bug. Your
+            name/account appears in the <SPAN
+CLASS="QUOTE"
+>"Assigned To:"</SPAN
+>
+            field of the bug.
+          </P
+></LI
+><LI
+><P
+>&#13;            QA Contact - You are one of the designated
+            QA Contacts for the bug. Your account appears in the 
+            <SPAN
+CLASS="QUOTE"
+>"QA Contact:"</SPAN
+> text-box of the bug.
+          </P
+></LI
+><LI
+><P
+>&#13;            CC - You are on the list CC List for the bug.
+            Your account appears in the <SPAN
+CLASS="QUOTE"
+>"CC:"</SPAN
+> text box
+            of the bug.
+          </P
+></LI
+><LI
+><P
+>&#13;            Voter - You have placed one or more votes for the bug.
+            Your account appears only if someone clicks on the 
+            <SPAN
+CLASS="QUOTE"
+>"Show votes for this bug"</SPAN
+> link on the bug.
+          </P
+></LI
+></UL
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          Some columns may not be visible for your installation, depending
+          on your site's configuration.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;        To fine-tune your bugmail, decide the events for which you want
+        to receive bugmail; then decide if you want to receive it all
+        the time (enable the checkbox for every column), or only when
+        you have a certain relationship with a bug (enable the checkbox
+        only for those columns). For example: if you didn't want to
+        receive mail when someone added themselves to the CC list, you
+        could uncheck all the boxes in the <SPAN
+CLASS="QUOTE"
+>"CC Field Changes"</SPAN
+>
+        line. As another example, if you never wanted to receive email
+        on bugs you reported unless the bug was resolved, you would
+        un-check all boxes in the <SPAN
+CLASS="QUOTE"
+>"Reporter"</SPAN
+> column
+        except for the one on the <SPAN
+CLASS="QUOTE"
+>"The bug is resolved or
+        verified"</SPAN
+> row.
+      </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          Bugzilla adds the <SPAN
+CLASS="QUOTE"
+>"X-Bugzilla-Reason"</SPAN
+> header to
+          all bugmail it sends, describing the recipient's relationship
+          (AssignedTo, Reporter, QAContact, CC, or Voter) to the bug.
+          This header can be used to do further client-side filtering.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;        Two items not in the table (<SPAN
+CLASS="QUOTE"
+>"Email me when someone
+        asks me to set a flag"</SPAN
+> and <SPAN
+CLASS="QUOTE"
+>"Email me when someone
+        sets a flag I asked for"</SPAN
+>) define how you want to
+        receive bugmail with regards to flags. Their use is quite
+        straightforward; enable the checkboxes if you want Bugzilla to
+        send you mail under either of the above conditions.
+      </P
+><P
+>&#13;        By default, Bugzilla sends out email regardless of who made the
+        change... even if you were the one responsible for generating
+        the email in the first place. If you don't care to receive bugmail
+        from your own changes, check the box marked <SPAN
+CLASS="QUOTE"
+>"Only email me
+        reports of changes made by other people"</SPAN
+>.
+      </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="permissionsettings"
+>6.10.3. Permissions</A
+></H3
+><P
+>This is a purely informative page which outlines your current
+      permissions on this installation of Bugzilla - what product groups you
+      are in, and whether you can edit bugs or perform various administration
+      functions.</P
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="reporting"
+>6.11. Reports and Charts</A
+></H2
+><P
+>As well as the standard buglist, Bugzilla has two more ways of
+    viewing sets of bugs. These are the reports (which give different
+    views of the current state of the database) and charts (which plot
+    the changes in particular sets of bugs over time.)</P
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="reports"
+>6.11.1. Reports</A
+></H3
+><P
+>&#13;        A report is a view of the current state of the bug database.
+      </P
+><P
+>&#13;        You can run either an HTML-table-based report, or a graphical
+        line/pie/bar-chart-based one. The two have different pages to
+        define them, but are close cousins - once you've defined and
+        viewed a report, you can switch between any of the different
+        views of the data at will.
+      </P
+><P
+>&#13;        Both report types are based on the idea of defining a set of bugs
+        using the standard search interface, and then choosing some
+        aspect of that set to plot on the horizontal and/or vertical axes.
+        You can also get a form of 3-dimensional report by choosing to have
+        multiple images or tables.
+      </P
+><P
+>&#13;        So, for example, you could use the search form to choose "all
+        bugs in the WorldControl product", and then plot their severity
+        against their component to see which component had had the largest
+        number of bad bugs reported against it. 
+      </P
+><P
+>&#13;        Once you've defined your parameters and hit "Generate Report",
+        you can switch between HTML, CSV, Bar, Line and Pie. (Note: Pie
+        is only available if you didn't define a vertical axis, as pie
+        charts don't have one.) The other controls are fairly self-explanatory;
+        you can change the size of the image if you find text is overwriting
+        other text, or the bars are too thin to see.
+      </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H3
+CLASS="section"
+><A
+NAME="charts"
+>6.11.2. Charts</A
+></H3
+><P
+>&#13;        A chart is a view of the state of the bug database over time.
+      </P
+><P
+>&#13;        Bugzilla currently has two charting systems - Old Charts and New 
+        Charts. Old Charts have been part of Bugzilla for a long time; they
+        chart each status and resolution for each product, and that's all.
+        They are deprecated, and going away soon - we won't say any more 
+        about them.
+        New Charts are the future - they allow you to chart anything you
+        can define as a search.
+      </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          Both charting forms require the administrator to set up the
+          data-gathering script. If you can't see any charts, ask them whether
+          they have done so.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;        An individual line on a chart is called a data set.
+        All data sets are organised into categories and subcategories. The 
+        data sets that Bugzilla defines automatically use the Product name 
+        as a Category and Component names as Subcategories, but there is no 
+        need for you to follow that naming scheme with your own charts if 
+        you don't want to.
+      </P
+><P
+>&#13;        Data sets may be public or private. Everyone sees public data sets in
+        the list, but only their creator sees private data sets. Only 
+        administrators can make data sets public.
+        No two data sets, even two private ones, can have the same set of 
+        category, subcategory and name. So if you are creating private data 
+        sets, one idea is to have the Category be your username.
+      </P
+><DIV
+CLASS="section"
+><HR><H4
+CLASS="section"
+><A
+NAME="AEN2314"
+>6.11.2.1. Creating Charts</A
+></H4
+><P
+>&#13;          You create a chart by selecting a number of data sets from the
+          list, and pressing Add To List for each. In the List Of Data Sets
+          To Plot, you can define the label that data set will have in the
+          chart's legend, and also ask Bugzilla to Sum a number of data sets 
+          (e.g. you could Sum data sets representing RESOLVED, VERIFIED and 
+          CLOSED in a particular product to get a data set representing all 
+          the resolved bugs in that product.)
+        </P
+><P
+>&#13;          If you've erroneously added a data set to the list, select it
+          using the checkbox and click Remove. Once you add more than one 
+          data set, a "Grand Total" line
+          automatically appears at the bottom of the list. If you don't want
+          this, simply remove it as you would remove any other line.
+        </P
+><P
+>&#13;          You may also choose to plot only over a certain date range, and
+          to cumulate the results - that is, to plot each one using the 
+          previous one as a baseline, so the top line gives a sum of all 
+          the data sets. It's easier to try than to explain :-)
+        </P
+><P
+>&#13;          Once a data set is in the list, one can also perform certain 
+          actions on it. For example, one can edit the
+          data set's parameters (name, frequency etc.) if it's one you
+          created or if you are an administrator.
+        </P
+><P
+>&#13;           Once you are happy, click Chart This List to see the chart.
+        </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H4
+CLASS="section"
+><A
+NAME="AEN2321"
+>6.11.2.2. Creating New Data Sets</A
+></H4
+><P
+>&#13;          You may also create new data sets of your own. To do this,
+          click the "create a new data set" link on the Create Chart page.
+          This takes you to a search-like interface where you can define
+          the search that Bugzilla will plot. At the bottom of the page,
+          you choose the category, sub-category and name of your new
+          data set. 
+        </P
+><P
+>&#13;          If you have sufficient permissions, you can make the data set public,
+          and reduce the frequency of data collection to less than the default
+          seven days.
+        </P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="flags"
+>6.12. Flags</A
+></H2
+><P
+>&#13;      A flag is a kind of status that can be set on bugs or attachments
+      to indicate that the bugs/attachments are in a certain state.
+      Each installation can define its own set of flags that can be set
+      on bugs or attachments.
+    </P
+><P
+>&#13;      If your installation has defined a flag, you can set or unset that flag,
+      and if your administrator has enabled requesting of flags, you can submit
+      a request for another user to set the flag.
+    </P
+><P
+>&#13;      To set a flag, select either "+" or "-" from the drop-down menu next to
+      the name of the flag in the "Flags" list.  The meaning of these values are
+      flag-specific and thus cannot be described in this documentation,
+      but by way of example, setting a flag named "review" to "+" may indicate
+      that the bug/attachment has passed review, while setting it to "-"
+      may indicate that the bug/attachment has failed review.
+    </P
+><P
+>&#13;      To unset a flag, click its drop-down menu and select the blank value.
+    </P
+><P
+>&#13;      If your administrator has enabled requests for a flag, request a flag
+      by selecting "?" from the drop-down menu and then entering the username
+      of the user you want to set the flag in the text field next to the menu.
+    </P
+><P
+>&#13;      A set flag appears in bug reports and on "edit attachment" pages with the
+      abbreviated username of the user who set the flag prepended to the
+      flag name. For example, if Jack sets a "review" flag to "+", it appears
+      as Jack: review [ + ]
+    </P
+><P
+>&#13;      A requested flag appears with the user who requested the flag prepended
+      to the flag name and the user who has been requested to set the flag
+      appended to the flag name within parentheses.  For example, if Jack
+      asks Jill for review, it appears as Jack: review [ ? ] (Jill).
+    </P
+></DIV
+></DIV
+><DIV
+CLASS="appendix"
+><HR><H1
+><A
+NAME="faq"
+></A
+>Appendix A. The Bugzilla FAQ</H1
+><P
+>&#13;    This FAQ includes questions not covered elsewhere in the Guide.
+  </P
+><DIV
+CLASS="qandaset"
+><DL
+><DT
+>1. <A
+HREF="#faq-general"
+>General Questions</A
+></DT
+><DD
+><DL
+><DT
+>A.1.1. <A
+HREF="#faq-general-license"
+>&#13;            What license is Bugzilla distributed under?
+          </A
+></DT
+><DT
+>A.1.2. <A
+HREF="#faq-general-support"
+>&#13;            How do I get commercial support for Bugzilla?
+          </A
+></DT
+><DT
+>A.1.3. <A
+HREF="#faq-general-companies"
+>&#13;            What major companies or projects are currently using Bugzilla
+            for bug-tracking?
+          </A
+></DT
+><DT
+>A.1.4. <A
+HREF="#faq-general-maintainers"
+>&#13;            Who maintains Bugzilla?
+          </A
+></DT
+><DT
+>A.1.5. <A
+HREF="#faq-general-compare"
+>&#13;            How does Bugzilla stack up against other bug-tracking databases?
+          </A
+></DT
+><DT
+>A.1.6. <A
+HREF="#faq-general-bzmissing"
+>&#13;            Why doesn't Bugzilla offer this or that feature or compatibility
+            with this other tracking software?
+          </A
+></DT
+><DT
+>A.1.7. <A
+HREF="#faq-general-mysql"
+>&#13;            Why MySQL?  I'm interested in seeing Bugzilla run on
+            PostgreSQL/Sybase/Oracle/Msql/MSSQL.
+          </A
+></DT
+><DT
+>A.1.8. <A
+HREF="#faq-general-bonsaitools"
+>&#13;            What is <TT
+CLASS="filename"
+>/usr/bonsaitools/bin/perl</TT
+>?
+          </A
+></DT
+><DT
+>A.1.9. <A
+HREF="#faq-general-perlpath"
+>&#13;            My perl is located at <TT
+CLASS="filename"
+>/usr/local/bin/perl</TT
+>
+            and not <TT
+CLASS="filename"
+>/usr/bin/perl</TT
+>. Is there an easy
+            to change that in all the files that have this hard-coded?
+          </A
+></DT
+><DT
+>A.1.10. <A
+HREF="#faq-general-cookie"
+>&#13;            Is there an easy way to change the Bugzilla cookie name?
+          </A
+></DT
+><DT
+>A.1.11. <A
+HREF="#faq-mod-perl"
+>&#13;            Does bugzilla run under <TT
+CLASS="filename"
+>mod_perl</TT
+>?
+          </A
+></DT
+></DL
+></DD
+><DT
+>2. <A
+HREF="#faq-phb"
+>Managerial Questions</A
+></DT
+><DD
+><DL
+><DT
+>A.2.1. <A
+HREF="#faq-phb-client"
+>&#13;            Is Bugzilla web-based, or do you have to have specific software or
+            a specific operating system on your machine?
+          </A
+></DT
+><DT
+>A.2.2. <A
+HREF="#faq-phb-priorities"
+>&#13;            Does Bugzilla allow us to define our own priorities and levels?
+            Do we have complete freedom to change the labels of fields and
+            format of them, and the choice of acceptable values?
+          </A
+></DT
+><DT
+>A.2.3. <A
+HREF="#faq-phb-reporting"
+>&#13;            Does Bugzilla provide any reporting features, metrics, graphs,
+            etc? You know, the type of stuff that management likes to see. :)
+          </A
+></DT
+><DT
+>A.2.4. <A
+HREF="#faq-phb-email"
+>&#13;            Is there email notification? If so, what do you see
+            when you get an email?
+          </A
+></DT
+><DT
+>A.2.5. <A
+HREF="#faq-phb-emailapp"
+>&#13;            Do users have to have any particular
+            type of email application?
+          </A
+></DT
+><DT
+>A.2.6. <A
+HREF="#faq-phb-data"
+>&#13;            Does Bugzilla allow data to be imported and exported? If I had
+            outsiders write up a bug report using a MS Word bug template,
+            could that template be imported into <SPAN
+CLASS="QUOTE"
+>"matching"</SPAN
+>
+            fields? If I wanted to take the results of a query and export
+            that data to MS Excel, could I do that?
+          </A
+></DT
+><DT
+>A.2.7. <A
+HREF="#faq-phb-l10n"
+>&#13;            Has anyone converted Bugzilla to another language to be
+            used in other countries? Is it localizable?
+          </A
+></DT
+><DT
+>A.2.8. <A
+HREF="#faq-phb-reports"
+>&#13;            Can a user create and save reports?
+            Can they do this in Word format? Excel format?
+          </A
+></DT
+><DT
+>A.2.9. <A
+HREF="#faq-phb-backup"
+>&#13;            Are there any backup features provided?
+          </A
+></DT
+><DT
+>A.2.10. <A
+HREF="#faq-phb-maintenance"
+>&#13;            What type of human resources are needed to be on staff to install
+            and maintain Bugzilla? Specifically, what type of skills does the
+            person need to have? I need to find out what types of individuals
+            would we need to hire and how much would that cost if we were to
+            go with Bugzilla vs. buying an <SPAN
+CLASS="QUOTE"
+>"out-of-the-box"</SPAN
+>
+            solution.
+          </A
+></DT
+><DT
+>A.2.11. <A
+HREF="#faq-phb-installtime"
+>&#13;            What time frame are we looking at if we decide to hire people
+            to install and maintain the Bugzilla? Is this something that
+            takes hours or days to install and a couple of hours per week
+            to maintain and customize, or is this a multi-week install process,
+            plus a full time job for 1 person, 2 people, etc?
+          </A
+></DT
+><DT
+>A.2.12. <A
+HREF="#faq-phb-cost"
+>&#13;            Is there any licensing fee or other fees for using Bugzilla? Any
+            out-of-pocket cost other than the bodies needed as identified above?
+          </A
+></DT
+><DT
+>A.2.13. <A
+HREF="#faq-phb-renameBugs"
+>&#13;            We don't like referring to problems as 'bugs'. Can we change that?
+          </A
+></DT
+></DL
+></DD
+><DT
+>3. <A
+HREF="#faq-admin"
+>Administrative Questions</A
+></DT
+><DD
+><DL
+><DT
+>A.3.1. <A
+HREF="#faq-admin-midair"
+>&#13;            Does Bugzilla provide record locking when there is simultaneous
+            access to the same bug? Does the second person get a notice
+            that the bug is in use or how are they notified?
+          </A
+></DT
+><DT
+>A.3.2. <A
+HREF="#faq-admin-livebackup"
+>&#13;            Can users be on the system while a backup is in progress?
+          </A
+></DT
+><DT
+>A.3.3. <A
+HREF="#faq-admin-cvsupdate"
+>&#13;            How can I update the code and the database using CVS?
+          </A
+></DT
+><DT
+>A.3.4. <A
+HREF="#faq-admin-enable-unconfirmed"
+>&#13;            How do I make it so that bugs can have an UNCONFIRMED status?
+          </A
+></DT
+></DL
+></DD
+><DT
+>4. <A
+HREF="#faq-security"
+>Bugzilla Security</A
+></DT
+><DD
+><DL
+><DT
+>A.4.1. <A
+HREF="#faq-security-mysql"
+>&#13;            How do I completely disable MySQL security if it's giving
+            me problems? (I've followed the instructions in the installation
+            section of this guide...)
+          </A
+></DT
+><DT
+>A.4.2. <A
+HREF="#faq-security-knownproblems"
+>&#13;            Are there any security problems with Bugzilla?
+          </A
+></DT
+></DL
+></DD
+><DT
+>5. <A
+HREF="#faq-email"
+>Bugzilla Email</A
+></DT
+><DD
+><DL
+><DT
+>A.5.1. <A
+HREF="#faq-email-nomail"
+>&#13;            I have a user who doesn't want to receive any more email
+            from Bugzilla. How do I stop it entirely for this user?
+          </A
+></DT
+><DT
+>A.5.2. <A
+HREF="#faq-email-testing"
+>&#13;            I'm evaluating/testing Bugzilla, and don't want it to send email
+            to anyone but me. How do I do it?
+          </A
+></DT
+><DT
+>A.5.3. <A
+HREF="#faq-email-whine"
+>&#13;            I want whineatnews.pl to whine at something other than new and
+            reopened bugs. How do I do it?
+          </A
+></DT
+><DT
+>A.5.4. <A
+HREF="#faq-email-mailif"
+>&#13;            How do I set up the email interface to submit/change bugs via email?
+          </A
+></DT
+><DT
+>A.5.5. <A
+HREF="#faq-email-sendmailnow"
+>&#13;            Email takes FOREVER to reach me from Bugzilla -- it's
+            extremely slow. What gives?
+          </A
+></DT
+><DT
+>A.5.6. <A
+HREF="#faq-email-nonreceived"
+>&#13;             How come email from Bugzilla changes never reaches me?
+          </A
+></DT
+></DL
+></DD
+><DT
+>6. <A
+HREF="#faq-db"
+>Bugzilla Database</A
+></DT
+><DD
+><DL
+><DT
+>A.6.1. <A
+HREF="#faq-db-corrupted"
+>&#13;            I think my database might be corrupted, or contain
+            invalid entries. What do I do?
+          </A
+></DT
+><DT
+>A.6.2. <A
+HREF="#faq-db-manualedit"
+>&#13;            I want to manually edit some entries in my database. How?
+          </A
+></DT
+><DT
+>A.6.3. <A
+HREF="#faq-db-permissions"
+>&#13;            I think I've set up MySQL permissions correctly, but Bugzilla still
+            can't connect.
+          </A
+></DT
+><DT
+>A.6.4. <A
+HREF="#faq-db-synchronize"
+>&#13;            How do I synchronize bug information among multiple
+            different Bugzilla databases?
+          </A
+></DT
+></DL
+></DD
+><DT
+>7. <A
+HREF="#faq-nt"
+>Bugzilla and Win32</A
+></DT
+><DD
+><DL
+><DT
+>A.7.1. <A
+HREF="#faq-nt-easiest"
+>&#13;            What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)?
+          </A
+></DT
+><DT
 >A.7.2. <A
-HREF="#faq-use-query"
->&#13;	    The query page is very confusing. Isn't there a simpler way to query?
-	  </A
+HREF="#faq-nt-bundle"
+>&#13;            Is there a "Bundle::Bugzilla" equivalent for Win32?
+          </A
 ></DT
 ><DT
 >A.7.3. <A
-HREF="#faq-use-accept"
->&#13;	    I'm confused by the behavior of the "accept" button in the Show Bug form.
-	    Why doesn't it assign the bug to me when I accept it?
-	  </A
+HREF="#faq-nt-mappings"
+>&#13;            CGI's are failing with a <SPAN
+CLASS="QUOTE"
+>"something.cgi is not a valid
+            Windows NT application"</SPAN
+> error. Why?
+          </A
 ></DT
 ><DT
 >A.7.4. <A
+HREF="#faq-nt-dbi"
+>&#13;            I'm having trouble with the perl modules for NT not being
+            able to talk to the database.
+          </A
+></DT
+></DL
+></DD
+><DT
+>8. <A
+HREF="#faq-use"
+>Bugzilla Usage</A
+></DT
+><DD
+><DL
+><DT
+>A.8.1. <A
+HREF="#faq-use-changeaddress"
+>&#13;            How do I change my user name (email address) in Bugzilla?
+          </A
+></DT
+><DT
+>A.8.2. <A
+HREF="#faq-use-query"
+>&#13;            The query page is very confusing.
+            Isn't there a simpler way to query?
+          </A
+></DT
+><DT
+>A.8.3. <A
+HREF="#faq-use-accept"
+>&#13;            I'm confused by the behavior of the <SPAN
+CLASS="QUOTE"
+>"Accept"</SPAN
+>
+            button in the Show Bug form. Why doesn't it assign the bug
+            to me when I accept it?
+          </A
+></DT
+><DT
+>A.8.4. <A
 HREF="#faq-use-attachment"
->&#13;	    I can't upload anything into the database via the "Create Attachment"
-	    link. What am I doing wrong?
-	  </A
+>&#13;            I can't upload anything into the database via the
+            <SPAN
+CLASS="QUOTE"
+>"Create Attachment"</SPAN
+> link. What am I doing wrong?
+          </A
 ></DT
 ><DT
->A.7.5. <A
+>A.8.5. <A
 HREF="#faq-use-keyword"
->&#13;	    How do I change a keyword in Bugzilla, once some bugs are using it?
-	  </A
+>&#13;            How do I change a keyword in Bugzilla, once some bugs are using it?
+          </A
 ></DT
 ><DT
->A.7.6. <A
+>A.8.6. <A
 HREF="#faq-use-close"
->&#13;        Why can't I close bugs from the "Change Several Bugs at Once" page?
-      </A
+>&#13;            Why can't I close bugs from the <SPAN
+CLASS="QUOTE"
+>"Change Several Bugs
+            at Once"</SPAN
+> page?
+          </A
 ></DT
 ></DL
 ></DD
 ><DT
->8. <A
+>9. <A
 HREF="#faq-hacking"
 >Bugzilla Hacking</A
 ></DT
 ><DD
 ><DL
 ><DT
->A.8.1. <A
+>A.9.1. <A
 HREF="#faq-hacking-templatestyle"
->&#13;	    What kind of style should I use for templatization?
-	  </A
+>&#13;            What kind of style should I use for templatization?
+          </A
 ></DT
 ><DT
->A.8.2. <A
+>A.9.2. <A
 HREF="#faq-hacking-bugzillabugs"
->&#13;	    What bugs are in Bugzilla right now?
-	  </A
+>&#13;            What bugs are in Bugzilla right now?
+          </A
 ></DT
 ><DT
->A.8.3. <A
+>A.9.3. <A
 HREF="#faq-hacking-priority"
->&#13;	    How can I change the default priority to a null value?  For instance, have the default
-	    priority be "---" instead of "P2"?
-	  </A
+>&#13;            How can I change the default priority to a null value?
+            For instance, have the default priority be <SPAN
+CLASS="QUOTE"
+>"---"</SPAN
+>
+            instead of <SPAN
+CLASS="QUOTE"
+>"P2"</SPAN
+>?
+          </A
 ></DT
 ><DT
->A.8.4. <A
+>A.9.4. <A
 HREF="#faq-hacking-patches"
->&#13;	    What's the best way to submit patches?  What guidelines should I follow?
-	  </A
+>&#13;            What's the best way to submit patches?  What guidelines
+            should I follow?
+          </A
 ></DT
 ></DL
 ></DD
@@ -9278,22 +13027,588 @@ HREF="#faq-hacking-patches"
 CLASS="qandadiv"
 ><H3
 ><A
-NAME="faq-general"
+NAME="faq-general"
+></A
+>1. General Questions</H3
+><DIV
+CLASS="qandaentry"
+><DIV
+CLASS="question"
+><P
+><A
+NAME="faq-general-license"
+></A
+><B
+>A.1.1. </B
+>
+            What license is Bugzilla distributed under?
+          </P
+></DIV
+><DIV
+CLASS="answer"
+><P
+><B
+> </B
+>
+            Bugzilla is covered by the Mozilla Public License.
+            See details at <A
+HREF="http://www.mozilla.org/MPL/"
+TARGET="_top"
+>http://www.mozilla.org/MPL/</A
+>.
+          </P
+></DIV
+></DIV
+><DIV
+CLASS="qandaentry"
+><DIV
+CLASS="question"
+><P
+><A
+NAME="faq-general-support"
+></A
+><B
+>A.1.2. </B
+>
+            How do I get commercial support for Bugzilla?
+          </P
+></DIV
+><DIV
+CLASS="answer"
+><P
+><B
+> </B
+>
+            <A
+HREF="http:/www.bugzilla.org/support/consulting.html"
+TARGET="_top"
+>http:/www.bugzilla.org/support/consulting.html</A
+>
+            is a list of companies and individuals who have asked us to
+            list them as consultants for Bugzilla.
+          </P
+><P
+>&#13;            There are several experienced
+            Bugzilla hackers on the mailing list/newsgroup who are willing
+            to make themselves available for generous compensation.
+            Try sending a message to the mailing list asking for a volunteer.
+          </P
+></DIV
+></DIV
+><DIV
+CLASS="qandaentry"
+><DIV
+CLASS="question"
+><P
+><A
+NAME="faq-general-companies"
+></A
+><B
+>A.1.3. </B
+>
+            What major companies or projects are currently using Bugzilla
+            for bug-tracking?
+          </P
+></DIV
+><DIV
+CLASS="answer"
+><P
+><B
+> </B
+>
+            There are <EM
+>dozens</EM
+> of major companies with public
+            Bugzilla sites to track bugs in their products. We have a fairly
+            complete list available on our website at
+            <A
+HREF="http://bugzilla.org/installation-list/"
+TARGET="_top"
+>http://bugzilla.org/installation-list/</A
+>. If you
+            have an installation of Bugzilla and would like to be added to the
+            list, whether it's a public install or not, simply e-mail
+            Gerv <CODE
+CLASS="email"
+>&#60;<A
+HREF="mailto:gerv@mozilla.org"
+>gerv@mozilla.org</A
+>&#62;</CODE
+>.
+          </P
+></DIV
+></DIV
+><DIV
+CLASS="qandaentry"
+><DIV
+CLASS="question"
+><P
+><A
+NAME="faq-general-maintainers"
+></A
+><B
+>A.1.4. </B
+>
+            Who maintains Bugzilla?
+          </P
+></DIV
+><DIV
+CLASS="answer"
+><P
+><B
+> </B
+>
+            A <A
+HREF="http://www.bugzilla.org/developers/profiles.html"
+TARGET="_top"
+>core
+            team</A
+>, led by Dave Miller (justdave@bugzilla.org).
+          </P
+></DIV
+></DIV
+><DIV
+CLASS="qandaentry"
+><DIV
+CLASS="question"
+><P
+><A
+NAME="faq-general-compare"
+></A
+><B
+>A.1.5. </B
+>
+            How does Bugzilla stack up against other bug-tracking databases?
+          </P
+></DIV
+><DIV
+CLASS="answer"
+><P
+><B
+> </B
+>
+            We can't find any head-to-head comparisons of Bugzilla against
+            other defect-tracking software. If you know of one, please get
+            in touch. In the experience of Matthew Barnson (the original
+            author of this FAQ), though, Bugzilla offers superior
+            performance on commodity hardware, better price (free!), more
+            developer-friendly features (such as stored queries, email
+            integration, and platform independence), improved scalability,
+            greater flexibility, and superior ease-of-use when compared
+            to commercial bug-tracking software.
+          </P
+><P
+>&#13;            If you happen to be a vendor for commercial bug-tracking
+            software, and would like to submit a list of advantages your
+            product has over Bugzilla, simply send it to 
+            <CODE
+CLASS="email"
+>&#60;<A
+HREF="mailto:documentation@bugzilla.org"
+>documentation@bugzilla.org</A
+>&#62;</CODE
+> and we'd be happy to
+            include the comparison in our documentation.
+          </P
+></DIV
+></DIV
+><DIV
+CLASS="qandaentry"
+><DIV
+CLASS="question"
+><P
+><A
+NAME="faq-general-bzmissing"
+></A
+><B
+>A.1.6. </B
+>
+            Why doesn't Bugzilla offer this or that feature or compatibility
+            with this other tracking software?
+          </P
+></DIV
+><DIV
+CLASS="answer"
+><P
+><B
+> </B
+>
+            It may be that the support has not been built yet, or that you
+            have not yet found it. While Bugzilla makes strides in usability,
+            customizability, scalability, and user interface with each release,
+            that doesn't mean it can't still use improvement!
+          </P
+><P
+>&#13;            The best way to make an enhancement request is to <A
+HREF="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla"
+TARGET="_top"
+>file
+            a bug at bugzilla.mozilla.org</A
+> and set the Severity
+            to 'enhancement'. Your 'request for enhancement' (RFE) will
+            start out in the UNCONFIRMED state, and will stay there until
+            someone with the ability to COMFIRM the bug reviews it.
+            If that person feels it to be a good request that fits in with
+            Bugzilla's overall direction, the status will be changed to
+            NEW; if not, they will probably explain why and set the bug
+            to RESOLVED/WONTFIX. If someone else has made the same (or
+            almost the same) request before, your request will be marked
+            RESOLVED/DUPLICATE, and a pointer to the previous RFE will be
+            added.
+          </P
+><P
+>&#13;            Even if your RFE gets approved, that doesn't mean it's going
+            to make it right into the next release; there are a limited
+            number of developers, and a whole lot of RFEs... some of
+            which are <EM
+>quite</EM
+> complex. If you're a
+            code-hacking sort of person, you can help the project along
+            by making a patch yourself that supports the functionality
+            you require. If you have never contributed anything to
+            Bugzilla before, please be sure to read the 
+            <A
+HREF="http://www.bugzilla.org/docs/developer.html"
+TARGET="_top"
+>Developers' Guide</A
+>
+            and
+            <A
+HREF="http://www.bugzilla.org/docs/contributor.html"
+TARGET="_top"
+>Contributors' Guide</A
+>
+            before going ahead.
+          </P
+></DIV
+></DIV
+><DIV
+CLASS="qandaentry"
+><DIV
+CLASS="question"
+><P
+><A
+NAME="faq-general-mysql"
+></A
+><B
+>A.1.7. </B
+>
+            Why MySQL?  I'm interested in seeing Bugzilla run on
+            PostgreSQL/Sybase/Oracle/Msql/MSSQL.
+          </P
+></DIV
+><DIV
+CLASS="answer"
+><P
+><B
+> </B
+>
+            MySQL was originally chosen because it is free, easy to install,
+            and was available for the hardware Netscape intended to run it on.
+          </P
+><P
+>&#13;            There is currently work in progress to make Bugzilla work on
+            PostgreSQL; track the progress of this initiative in <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=98304"
+TARGET="_top"
+>bug 98304</A
+>.
+          </P
+><P
+>&#13;            Sybase support is no longer being worked on.  Even if it eventually
+            happens, it's VERY unlikely to work without the end-user-company
+            having to stick a few developers on making several manual changes.
+            Sybase is just NOT very standards-compliant (despite all the hype),
+            and it turned out that way too much had to be changed to make it
+            work -- like moving half of the application logic into stored
+            procedures to get any kind of decent performance out of it.
+            <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=173130"
+TARGET="_top"
+>Bug
+            173130</A
+> is the relevant bug.
+          </P
+><P
+>&#13;            Red Hat once ran a version of Bugzilla that worked on Oracle, 
+            but that was long, long ago; that version (Bugzilla 2.8) is
+            now obsolete, insecure, and totally unsupported. Red Hat's
+            current Bugzilla (based on Bugzilla 2.17.1) uses PostgreSQL,
+            and work is being done to merge those changes into the main
+            distribution. (See above.) At this time we know of no recent
+            ports of Bugzilla to Oracle. (In our honest opinion, Bugzilla
+            doesn't need what Oracle offers.)
+          </P
+><P
+>&#13;            <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=237862"
+TARGET="_top"
+>Bug
+            237862</A
+> is a good bug to read through if you'd like to see
+            what progress is being made on general database compatibility.
+          </P
+></DIV
+></DIV
+><DIV
+CLASS="qandaentry"
+><DIV
+CLASS="question"
+><P
+><A
+NAME="faq-general-bonsaitools"
+></A
+><B
+>A.1.8. </B
+>
+            What is <TT
+CLASS="filename"
+>/usr/bonsaitools/bin/perl</TT
+>?
+          </P
+></DIV
+><DIV
+CLASS="answer"
+><P
+><B
+> </B
+>
+            Bugzilla used to have the path to perl on the shebang line set
+            to <TT
+CLASS="filename"
+>/usr/bonsaitools/bin/perl</TT
+> because when
+            Terry first started writing the code for mozilla.org he needed a
+            version of Perl and other tools that were completely under his
+            control. This location was abandoned for the 2.18 release in favor
+            of the more sensible <TT
+CLASS="filename"
+>/usr/bin/perl</TT
+>. If you
+            installed an older verion of Bugzilla and created the symlink we
+            suggested, you can remove it now (provided that you don't have
+            anything else, such as Bonsai, using it and you don't intend to
+            reinstall an older version of Bugzilla).
+          </P
+></DIV
+></DIV
+><DIV
+CLASS="qandaentry"
+><DIV
+CLASS="question"
+><P
+><A
+NAME="faq-general-perlpath"
+></A
+><B
+>A.1.9. </B
+>
+            My perl is located at <TT
+CLASS="filename"
+>/usr/local/bin/perl</TT
+>
+            and not <TT
+CLASS="filename"
+>/usr/bin/perl</TT
+>. Is there an easy
+            to change that in all the files that have this hard-coded?
+          </P
+></DIV
+><DIV
+CLASS="answer"
+><P
+><B
+> </B
+>
+            The easiest way to get around this is to create a link from
+            one to the other:
+            <B
+CLASS="command"
+>ln -s /usr/local/bin/perl /usr/bin/perl</B
+>.
+            If that's not an option for you, the following bit of perl
+            magic will change all the shebang lines (that is to say,
+            the line at the top of each file that starts with '#!' 
+            and contains the path) to something else:
+          </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#13;perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
+          </PRE
+></FONT
+></TD
+></TR
+></TABLE
+><P
+>&#13;            Sadly, this command-line won't work on Windows unless you
+            also have Cygwin. However, MySQL comes with a binary called
+            <B
+CLASS="command"
+>replace</B
+> which can do the job:
+          </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#13;C:\mysql\bin\replace "#!/usr/bin/perl" "#!C:\perl\bin\perl" -- *.cgi *.pl
+          </PRE
+></FONT
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;              If your perl path is something else again, just follow the
+              above examples and replace
+              <TT
+CLASS="filename"
+>/usr/local/bin/perl</TT
+> with your own perl path.
+            </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;            If using Apache on Windows, you can avoid the whole problem
+            by setting the <A
+HREF="http://httpd.apache.org/docs-2.0/mod/core.html#scriptinterpretersource"
+TARGET="_top"
+>&#13;            ScriptInterpreterSource</A
+> directive to 'Registry'.
+            (If using Apache 2 or higher, set it to 'Registry-Strict'.)
+            ScriptInterperterSource requires a registry entry
+            <SPAN
+CLASS="QUOTE"
+>"HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command"</SPAN
+> to
+            associate .cgi files with your perl executable. If one does
+            not already exist, create it with a default value of
+           <SPAN
+CLASS="QUOTE"
+>"&#60;full path to perl&#62; -T"</SPAN
+>, e.g.
+           <SPAN
+CLASS="QUOTE"
+>"C:\Perl\bin\perl.exe -T"</SPAN
+>.
+          </P
+></DIV
+></DIV
+><DIV
+CLASS="qandaentry"
+><DIV
+CLASS="question"
+><P
+><A
+NAME="faq-general-cookie"
+></A
+><B
+>A.1.10. </B
+>
+            Is there an easy way to change the Bugzilla cookie name?
+          </P
+></DIV
+><DIV
+CLASS="answer"
+><P
+><B
+> </B
+>
+            At present, no.
+          </P
+></DIV
+></DIV
+><DIV
+CLASS="qandaentry"
+><DIV
+CLASS="question"
+><P
+><A
+NAME="faq-mod-perl"
+></A
+><B
+>A.1.11. </B
+>
+            Does bugzilla run under <TT
+CLASS="filename"
+>mod_perl</TT
+>?
+          </P
+></DIV
+><DIV
+CLASS="answer"
+><P
+><B
+> </B
+>
+            At present, no. Work is slowly taking place to remove global
+            variables, use $cgi, and use DBI. These are all necessary for
+            mod_perl (as well as being good for other reasons). Visit 
+            <A
+HREF="https://bugzilla.mozilla.org/show_bug.cgi?id=87406"
+TARGET="_top"
+>&#13;            bug 87406</A
+> to view the discussion and progress.
+          </P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="qandadiv"
+><H3
+><A
+NAME="faq-phb"
 ></A
->1. General Questions</H3
+>2. Managerial Questions</H3
 ><DIV
 CLASS="qandaentry"
 ><DIV
 CLASS="question"
 ><P
 ><A
-NAME="faq-general-license"
+NAME="faq-phb-client"
 ></A
 ><B
->A.1.1. </B
+>A.2.1. </B
 >
-	    What license is Bugzilla distributed under?
-	  </P
+            Is Bugzilla web-based, or do you have to have specific software or
+            a specific operating system on your machine?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -9301,13 +13616,8 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Bugzilla is covered by the Mozilla Public License.
-	    See details at <A
-HREF="http://www.mozilla.org/MPL/"
-TARGET="_top"
->http://www.mozilla.org/MPL/</A
->.
-	  </P
+            It is web and e-mail based.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -9316,13 +13626,15 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-general-support"
+NAME="faq-phb-priorities"
 ></A
 ><B
->A.1.2. </B
+>A.2.2. </B
 >
-	    How do I get commercial support for Bugzilla?
-	  </P
+            Does Bugzilla allow us to define our own priorities and levels?
+            Do we have complete freedom to change the labels of fields and
+            format of them, and the choice of acceptable values?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -9330,20 +13642,19 @@ CLASS="answer"
 ><B
 > </B
 >
+            Yes. However, modifying some fields, notably those related to bug
+            progression states, also require adjusting the program logic to
+            compensate for the change.
+          </P
+><P
+>&#13;            There is no GUI for adding fields to Bugzilla at this
+            time. You can follow development of this feature in 
             <A
-HREF="http://bugzilla.org/consulting.html"
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=91037"
 TARGET="_top"
->http://bugzilla.org/consulting.html</A
+>bug 91037</A
 >
-            is a list of people and companies who have asked us to list them
-            as consultants for Bugzilla.
           </P
-><P
->&#13;	    There are several experienced
-	    Bugzilla hackers on the mailing list/newsgroup who are willing
-	    to make themselves available for generous compensation.
-	    Try sending a message to the mailing list asking for a volunteer.
-	  </P
 ></DIV
 ></DIV
 ><DIV
@@ -9352,14 +13663,14 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-general-companies"
+NAME="faq-phb-reporting"
 ></A
 ><B
->A.1.3. </B
+>A.2.3. </B
 >
-	    What major companies or projects are currently using Bugzilla
-	    for bug-tracking?
-	  </P
+            Does Bugzilla provide any reporting features, metrics, graphs,
+            etc? You know, the type of stuff that management likes to see. :)
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -9367,26 +13678,25 @@ CLASS="answer"
 ><B
 > </B
 >
-	    There are <EM
->dozens</EM
-> of major companies with public
-	    Bugzilla sites to track bugs in their products. We have a fairly
-            complete list available on our website at
-            <A
-HREF="http://bugzilla.org/installation-list/"
+            Yes. Look at <A
+HREF="http://bugzilla.mozilla.org/report.cgi"
 TARGET="_top"
->http://bugzilla.org/installation-list/</A
->. If you
-            have an installation of Bugzilla and would like to be added to the
-            list, whether it's a public install or not, simply e-mail
-            Gerv <CODE
-CLASS="email"
->&#60;<A
-HREF="mailto:gerv@mozilla.org"
->gerv@mozilla.org</A
->&#62;</CODE
+>http://bugzilla.mozilla.org/report.cgi</A
+>
+            for samples of what Bugzilla can do in reporting and graphing.
+            Fuller documentation is provided in <A
+HREF="#reporting"
+>Section 6.11</A
 >.
-	  </P
+          </P
+><P
+>&#13;            If you can not get the reports you want from the included reporting
+            scripts, it is possible to hook up a professional reporting package
+            such as Crystal Reports using ODBC. If you choose to do this,
+            beware that giving direct access to the database does contain some
+            security implications. Even if you give read-only access to the
+            bugs database it will bypass the secure bugs features of Bugzilla.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -9395,13 +13705,14 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-general-maintainers"
+NAME="faq-phb-email"
 ></A
 ><B
->A.1.4. </B
+>A.2.4. </B
 >
-	    Who maintains Bugzilla?
-	  </P
+            Is there email notification? If so, what do you see
+            when you get an email?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -9409,14 +13720,10 @@ CLASS="answer"
 ><B
 > </B
 >
-	    A 
-      <A
-HREF="http://www.bugzilla.org/who_we_are.html"
-TARGET="_top"
->core team</A
->,
-      led by Dave Miller (justdave@bugzilla.org).
-	  </P
+            Email notification is user-configurable. By default, the bug id
+            and summary of the bug report accompany each email notification,
+            along with a list of the changes made.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -9425,13 +13732,83 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-general-compare"
+NAME="faq-phb-emailapp"
 ></A
 ><B
->A.1.5. </B
+>A.2.5. </B
+>
+            Do users have to have any particular
+            type of email application?
+          </P
+></DIV
+><DIV
+CLASS="answer"
+><P
+><B
+> </B
 >
-	    How does Bugzilla stack up against other bug-tracking databases?
-	  </P
+            Bugzilla email is sent in plain text, the most compatible
+            mail format on the planet.
+            <DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;                If you decide to use the bugzilla_email integration features
+                to allow Bugzilla to record responses to mail with the
+                associated bug, you may need to caution your users to set
+                their mailer to <SPAN
+CLASS="QUOTE"
+>"respond to messages in the format in
+                which they were sent"</SPAN
+>. For security reasons Bugzilla
+                ignores HTML tags in comments, and if a user sends HTML-based
+                email into Bugzilla the resulting comment looks downright awful.
+              </P
+></TD
+></TR
+></TABLE
+></DIV
+>
+          </P
+></DIV
+></DIV
+><DIV
+CLASS="qandaentry"
+><DIV
+CLASS="question"
+><P
+><A
+NAME="faq-phb-data"
+></A
+><B
+>A.2.6. </B
+>
+            Does Bugzilla allow data to be imported and exported? If I had
+            outsiders write up a bug report using a MS Word bug template,
+            could that template be imported into <SPAN
+CLASS="QUOTE"
+>"matching"</SPAN
+>
+            fields? If I wanted to take the results of a query and export
+            that data to MS Excel, could I do that?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -9439,22 +13816,43 @@ CLASS="answer"
 ><B
 > </B
 >
-	    We can't find any head-to-head comparisons of Bugzilla against
-	    other defect-tracking software. If you know of one, please
-      get in touch. However, from the author's personal
-	    experience with other bug-trackers, Bugzilla offers
-	    superior performance on commodity hardware, better price
-	    (free!), more developer- friendly features (such as stored
-	    queries, email integration, and platform independence),
-	    improved scalability, open source code, greater
-	    flexibility, and superior ease-of-use.
-	  </P
+            Bugzilla can output buglists as HTML (the default), CSV or RDF.
+            The link for CSV can be found at the bottom of the buglist in HTML
+            format. This CSV format can easily be imported into MS Excel or
+            other spreadsheet applications.
+          </P
+><P
+>&#13;            To use the RDF format of the buglist it is necessary to append a
+            <SAMP
+CLASS="computeroutput"
+>&#38;ctype=rdf</SAMP
+> to the URL. RDF
+            is meant to be machine readable and thus it is assumed that the
+            URL would be generated programatically so there is no user visible
+            link to this format.
+          </P
+><P
+>&#13;            Currently the only script included with Bugzilla that can import
+            data is <TT
+CLASS="filename"
+>importxml.pl</TT
+> which is intended to be
+            used for importing the data generated by the XML ctype of
+            <TT
+CLASS="filename"
+>show_bug.cgi</TT
+> in association with bug moving.
+            Any other use is left as an exercise for the user.
+          </P
 ><P
->&#13;	    If you happen to be a commercial bug-tracker vendor, please
-	    step forward with a list of advantages your product has over
-      Bugzilla. We'd be happy to include it in the "Competitors"
-      section.
-	  </P
+>&#13;            There are also scripts included in the <TT
+CLASS="filename"
+>contrib/</TT
+>
+            directory for using e-mail to import information into Bugzilla,
+            but these scripts are not currently supported and included for
+            educational purposes.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -9463,14 +13861,14 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-general-bzmissing"
+NAME="faq-phb-l10n"
 ></A
 ><B
->A.1.6. </B
+>A.2.7. </B
 >
-	    Why doesn't Bugzilla offer this or that feature or compatibility
-	    with this other tracking software?
-	  </P
+            Has anyone converted Bugzilla to another language to be
+            used in other countries? Is it localizable?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -9478,23 +13876,21 @@ CLASS="answer"
 ><B
 > </B
 >
-	    It may be that the support has not been built yet, or that you
-	    have not yet found it. Bugzilla is making tremendous strides in
-	    usability, customizability, scalability, and user interface. It
-	    is widely considered the most complete and popular open-source
-	    bug-tracking software in existence.
-	  </P
-><P
->&#13;	    That doesn't mean it can't use improvement!
-	    You can help the project along by either hacking a patch yourself
-	    that supports the functionality you require, or else submitting a
-	    "Request for Enhancement" (RFE) using the bug submission interface
-	    at <A
-HREF="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla"
+            Yes. For more information including available translated templates,
+            see <A
+HREF="http://www.bugzilla.org/download.html#localizations"
 TARGET="_top"
->bugzilla.mozilla.org</A
+>http://www.bugzilla.org/download.html#localizations</A
 >.
-	  </P
+            Some admin interfaces have been templatized (for easy localization)
+            but many of them are still available in English only. Also, there
+            may be issues with the charset not being declared. See <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=126266"
+TARGET="_top"
+>bug 126226</A
+>
+            for more information.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -9503,14 +13899,14 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-general-mysql"
+NAME="faq-phb-reports"
 ></A
 ><B
->A.1.7. </B
+>A.2.8. </B
 >
-	    Why MySQL?  I'm interested in seeing Bugzilla run on
-	    Oracle/Sybase/Msql/PostgreSQL/MSSQL.
-	  </P
+            Can a user create and save reports?
+            Can they do this in Word format? Excel format?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -9518,27 +13914,37 @@ CLASS="answer"
 ><B
 > </B
 >
-            MySQL was originally chosen because it is free, easy to install,
-            and was available for the hardware Netscape intended to run it on.
-	  </P
+            Yes. No. Yes (using the CSV format).
+          </P
+></DIV
+></DIV
+><DIV
+CLASS="qandaentry"
+><DIV
+CLASS="question"
 ><P
->&#13;            There is currently work in progress to make Bugzilla work on
-            PostgreSQL and Sybase in the default distribution. You can track
-            the progress of these initiatives in <A
-HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=98304"
-TARGET="_top"
->bug 98304</A
+><A
+NAME="faq-phb-backup"
+></A
+><B
+>A.2.9. </B
+>
+            Are there any backup features provided?
+          </P
+></DIV
+><DIV
+CLASS="answer"
+><P
+><B
+> </B
 >
-            and <A
-HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=173130"
+            MySQL, the database back-end for Bugzilla, allows hot-backup
+            of data. You can find strategies for dealing with backup
+            considerations at <A
+HREF="http://www.mysql.com/doc/B/a/Backup.html"
 TARGET="_top"
->bug 173130</A
->
-            respectively.
-          </P
-><P
->&#13;            Once both of these are done, adding support for additional
-            database servers should be trivial.
+>http://www.mysql.com/doc/B/a/Backup.html</A
+>.
           </P
 ></DIV
 ></DIV
@@ -9548,16 +13954,21 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-general-bonsaitools"
+NAME="faq-phb-maintenance"
 ></A
 ><B
->A.1.8. </B
+>A.2.10. </B
 >
-	    What is <TT
-CLASS="filename"
->/usr/bonsaitools/bin/perl</TT
->?
-	  </P
+            What type of human resources are needed to be on staff to install
+            and maintain Bugzilla? Specifically, what type of skills does the
+            person need to have? I need to find out what types of individuals
+            would we need to hire and how much would that cost if we were to
+            go with Bugzilla vs. buying an <SPAN
+CLASS="QUOTE"
+>"out-of-the-box"</SPAN
+>
+            solution.
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -9565,22 +13976,15 @@ CLASS="answer"
 ><B
 > </B
 >
-            Bugzilla used to have the path to perl on the shebang line set to
-            <TT
-CLASS="filename"
->/usr/bonsaitools/bin/perl</TT
-> because when
-            Terry first started writing the code for mozilla.org he needed a
-            version of Perl and other tools that were completely under his
-            control. This location was abandoned for the 2.18 release in favor
-            of the more sensible <TT
-CLASS="filename"
->/usr/bin/perl</TT
->. If you
-            installed an older verion of Bugzilla and created the symlink we
-            suggested, you can remove it now (provided that you don't have
-            anything else, such as Bonsai, using it and you don't intend to
-            reinstall an older version of Bugzilla).
+            If Bugzilla is set up correctly from the start, continuing
+            maintenance needs are minimal and can be done easily using
+            the web interface.
+          </P
+><P
+>&#13;            Commercial Bug-tracking software typically costs somewhere
+            upwards of $20,000 or more for 5-10 floating licenses. Bugzilla
+            consultation is available from skilled members of the newsgroup.
+            Simple questions are answered there and then.
           </P
 ></DIV
 ></DIV
@@ -9590,16 +13994,16 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-general-perlpath"
+NAME="faq-phb-installtime"
 ></A
 ><B
->A.1.9. </B
+>A.2.11. </B
 >
-            My perl is not located at <TT
-CLASS="filename"
->/usr/bin/perl</TT
->, is
-            there an easy way to change it everywhere it needs to be changed?
+            What time frame are we looking at if we decide to hire people
+            to install and maintain the Bugzilla? Is this something that
+            takes hours or days to install and a couple of hours per week
+            to maintain and customize, or is this a multi-week install process,
+            plus a full time job for 1 person, 2 people, etc?
           </P
 ></DIV
 ><DIV
@@ -9608,29 +14012,15 @@ CLASS="answer"
 ><B
 > </B
 >
-            Yes, the following bit of perl magic will change all the shebang
-            lines. Be sure to change <TT
-CLASS="filename"
->/usr/local/bin/perl</TT
->
-            to your path to the perl binary.
+            It all depends on your level of commitment. Someone with much
+            Bugzilla experience can get you up and running in less than a day,
+            and your Bugzilla install can run untended for years. If your
+            Bugzilla strategy is critical to your business workflow, hire
+            somebody to who has reasonable Perl skills, and a familiarity
+            with the operating system on which Bugzilla will be running,
+            and have them handle your process management, bug-tracking
+            maintenance, and local customization.
           </P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->&#13;perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
-          </PRE
-></FONT
-></TD
-></TR
-></TABLE
 ></DIV
 ></DIV
 ><DIV
@@ -9639,13 +14029,14 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-general-cookie"
+NAME="faq-phb-cost"
 ></A
 ><B
->A.1.10. </B
+>A.2.12. </B
 >
-	    Is there an easy way to change the Bugzilla cookie name?
-	  </P
+            Is there any licensing fee or other fees for using Bugzilla? Any
+            out-of-pocket cost other than the bodies needed as identified above?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -9653,8 +14044,12 @@ CLASS="answer"
 ><B
 > </B
 >
-	    At present, no.
-	  </P
+            No. Bugzilla, Perl, the Template Toolkit, and all other support
+            software needed to make Bugzilla work can be downloaded for free.
+            MySQL -- the database used by Bugzilla -- is also open-source, but
+            they ask that if you find their product valuable, you purchase a
+            support contract from them that suits your needs.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -9663,16 +14058,13 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-mod-perl"
+NAME="faq-phb-renameBugs"
 ></A
 ><B
->A.1.11. </B
+>A.2.13. </B
 >
-	    Does bugzilla run under <TT
-CLASS="filename"
->mod_perl</TT
->?
-	  </P
+            We don't like referring to problems as 'bugs'. Can we change that?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -9680,8 +14072,14 @@ CLASS="answer"
 ><B
 > </B
 >
-	    At present, no. This is being worked on.
-	  </P
+            Yes! As of Bugzilla 2.18, it is a simple matter to change the
+            word 'bug' into whatever word/phrase is used by your organization.
+            See the documentation on Customization for more details,
+            specifically <A
+HREF="#template-specific"
+>Section 5.1.5</A
+>.
+          </P
 ></DIV
 ></DIV
 ></DIV
@@ -9689,23 +14087,24 @@ CLASS="answer"
 CLASS="qandadiv"
 ><H3
 ><A
-NAME="faq-phb"
+NAME="faq-admin"
 ></A
->2. Managerial Questions</H3
+>3. Administrative Questions</H3
 ><DIV
 CLASS="qandaentry"
 ><DIV
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-client"
+NAME="faq-admin-midair"
 ></A
 ><B
->A.2.1. </B
+>A.3.1. </B
 >
-	    Is Bugzilla web-based, or do you have to have specific software or
-	    a specific operating system on your machine?
-	  </P
+            Does Bugzilla provide record locking when there is simultaneous
+            access to the same bug? Does the second person get a notice
+            that the bug is in use or how are they notified?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -9713,8 +14112,12 @@ CLASS="answer"
 ><B
 > </B
 >
-	    It is web and e-mail based.
-	  </P
+            Bugzilla does not lock records. It provides mid-air collision
+            detection -- which means that it warns a user when a commit is
+            about to conflict with commits recently made by another user,
+            and offers the second user a choice of options to deal with
+            the conflict.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -9723,15 +14126,13 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-priorities"
+NAME="faq-admin-livebackup"
 ></A
 ><B
->A.2.2. </B
+>A.3.2. </B
 >
-	    Does Bugzilla allow us to define our own priorities and levels? Do we
-	    have complete freedom to change the labels of fields and format of them, and
-	    the choice of acceptable values?
-	  </P
+            Can users be on the system while a backup is in progress?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -9739,19 +14140,14 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Yes. However, modifying some fields, notably those related to bug
-	    progression states, also require adjusting the program logic to
-	    compensate for the change.
-	  </P
-><P
->&#13;	    There is no GUI for adding fields to Bugzilla at this
-	    time. You can follow development of this feature in 
-	    <A
-HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=91037"
-TARGET="_top"
->bug 91037</A
->
-	  </P
+            Yes, but commits to the database must wait until the tables
+            are unlocked. Bugzilla databases are typically very small,
+            and backups routinely take less than a minute. If your database
+            is larger, you may want to look into alternate backup
+            techniques, such as database replication, or backing up from
+            a read-only mirror. (Read up on these in the MySQL docs
+            on the MySQL site.)
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -9760,14 +14156,13 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-reporting"
+NAME="faq-admin-cvsupdate"
 ></A
 ><B
->A.2.3. </B
+>A.3.3. </B
 >
-	    Does Bugzilla provide any reporting features, metrics, graphs, etc? You
-	    know, the type of stuff that management likes to see. :)
-	  </P
+            How can I update the code and the database using CVS?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -9775,21 +14170,106 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Yes. Look at <A
-HREF="http://bugzilla.mozilla.org/report.cgi"
-TARGET="_top"
->http://bugzilla.mozilla.org/report.cgi</A
+            <P
+></P
+><OL
+TYPE="1"
+><LI
+><P
+>&#13;                  Make a backup of both your Bugzilla directory and the
+                  database. For the Bugzilla directory this is as easy as
+                  doing <B
+CLASS="command"
+>cp -rp bugzilla bugzilla.bak</B
+>.
+                  For the database, there's a number of options - see the
+                  MySQL docs and pick the one that fits you best (the easiest
+                  is to just make a physical copy of the database on the disk,
+                  but you have to have the database server shut down to do
+                  that without risking dataloss).
+                </P
+></LI
+><LI
+><P
+>&#13;                  Make the Bugzilla directory your current directory.
+                </P
+></LI
+><LI
+><P
+>&#13;                  Use <B
+CLASS="command"
+>cvs -q update -AdP</B
+> if you want to
+                  update to the tip or
+                  <B
+CLASS="command"
+>cvs -q update -dP -rTAGNAME</B
 >
-            for samples of what Bugzilla can do in reporting and graphing.
-	  </P
+                  if you want a specific version (in that case you'll have to
+                  replace TAGNAME with a CVS tag name such as BUGZILLA-2_16_5).
+                </P
 ><P
->&#13;            If you can not get the reports you want from the included reporting
-            scripts, it is possible to hook up a professional reporting package
-            such as Crystal Reports using ODBC. If you choose to do this,
-            beware that giving direct access to the database does contain some
-            security implications. Even if you give read-only access to the
-            bugs database it will bypass the secure bugs features of Bugzilla.
-	  </P
+>&#13;                  If you've made no local changes, this should be very clean.
+                  If you have made local changes, then watch the cvs output
+                  for C results. If you get any lines that start with a C
+                  it means there  were conflicts between your local changes
+                  and what's in CVS. You'll need to fix those manually before
+                  continuing.
+                </P
+></LI
+><LI
+><P
+>&#13;                  After resolving any conflicts that the cvs update operation
+                  generated, running <B
+CLASS="command"
+>./checksetup.pl</B
+> will
+                  take care of updating the database for you as well as any
+                  other changes required for the new version to operate.
+                </P
+><DIV
+CLASS="warning"
+><P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;                    Once you run checksetup.pl, the only way to go back is
+                    to restore the database backups. You can't
+                    <SPAN
+CLASS="QUOTE"
+>"downgrade"</SPAN
+> the system cleanly under most
+                    circumstances.
+                  </P
+></TD
+></TR
+></TABLE
+></DIV
+></LI
+></OL
+>
+          </P
+><P
+>&#13;            See also the instructions in <A
+HREF="#upgrade-cvs"
+>Example 3-1</A
+>.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -9798,14 +14278,13 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-email"
+NAME="faq-admin-enable-unconfirmed"
 ></A
 ><B
->A.2.4. </B
+>A.3.4. </B
 >
-	    Is there email notification and if so, what do you see when you get an
-	    email?
-	  </P
+            How do I make it so that bugs can have an UNCONFIRMED status?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -9813,26 +14292,63 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Email notification is user-configurable. By default, the bug id and 
-      summary of the bug report accompany each email notification, along with
-	    a list of the changes made.
-	  </P
+            To use the UNCONFIRMED status, you must have the 'usevotes'
+            parameter set to <SPAN
+CLASS="QUOTE"
+>"On"</SPAN
+>. You must then visit the
+            <TT
+CLASS="filename"
+>editproducts.cgi</TT
+> page and set the <SPAN
+CLASS="QUOTE"
+>"
+            Number of votes a bug in this product needs to automatically
+            get out of the UNCONFIRMED state"</SPAN
+> to be a non-zero number.
+            (You will have to do this for each product that wants to use
+            the UNCONFIRMED state.) If you do not actually want users to be
+            able to vote for bugs entered against this product, leave the
+            <SPAN
+CLASS="QUOTE"
+>"Maximum votes per person"</SPAN
+> value at '0'.
+          </P
+><P
+>&#13;            There is work being done to decouple the UNCONFIRMED state from
+            the 'usevotes' parameter for future versions of Bugzilla.
+            Follow the discussion and progress at <A
+HREF="https://bugzilla.mozilla.org/show_bug.cgi?id=162060"
+TARGET="_top"
+>bug
+            162060</A
+>.
+          </P
 ></DIV
 ></DIV
+></DIV
+><DIV
+CLASS="qandadiv"
+><H3
+><A
+NAME="faq-security"
+></A
+>4. Bugzilla Security</H3
 ><DIV
 CLASS="qandaentry"
 ><DIV
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-emailapp"
+NAME="faq-security-mysql"
 ></A
 ><B
->A.2.5. </B
+>A.4.1. </B
 >
-	    Do users have to have any particular
-	    type of email application?
-	  </P
+            How do I completely disable MySQL security if it's giving
+            me problems? (I've followed the instructions in the installation
+            section of this guide...)
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -9840,14 +14356,22 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Bugzilla email is sent in plain text, the most compatible mail format
-	    on the planet.
-	    <DIV
-CLASS="note"
+            Run MySQL like this: <B
+CLASS="command"
+>mysqld --skip-grant-tables</B
+>.
+            Please remember that <EM
+>this makes MySQL as secure as
+            taping a $100 to the floor of a football stadium bathroom for
+            safekeeping.</EM
+> 
+          </P
+><DIV
+CLASS="warning"
 ><P
 ></P
 ><TABLE
-CLASS="note"
+CLASS="warning"
 WIDTH="100%"
 BORDER="0"
 ><TR
@@ -9856,26 +14380,24 @@ WIDTH="25"
 ALIGN="CENTER"
 VALIGN="TOP"
 ><IMG
-SRC="../images/note.gif"
+SRC="../images/warning.gif"
 HSPACE="5"
-ALT="Note"></TD
+ALT="Warning"></TD
 ><TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->&#13;		If you decide to use the bugzilla_email integration features
-		to allow Bugzilla to record responses to mail with the associated bug,
-		you may need to caution your users to set their mailer to "respond
-		to messages in the format in which they were sent". For security reasons
-		Bugzilla ignores HTML tags in comments, and if a user sends HTML-based
-		email into Bugzilla the resulting comment looks downright awful.
-	      </P
+>&#13;              This can't be stressed enough. Doing this is a bad idea.
+              Please consult <A
+HREF="#security-mysql"
+>Section 4.2</A
+> of this guide
+              and the MySQL documentation for better solutions.
+            </P
 ></TD
 ></TR
 ></TABLE
 ></DIV
->
-	  </P
 ></DIV
 ></DIV
 ><DIV
@@ -9884,16 +14406,13 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-data"
+NAME="faq-security-knownproblems"
 ></A
 ><B
->A.2.6. </B
+>A.4.2. </B
 >
-	    Does Bugzilla allow data to be imported and exported? If I had outsiders
-	    write up a bug report using a MS Word bug template, could that template be
-	    imported into "matching" fields? If I wanted to take the results of a query
-	    and export that data to MS Excel, could I do that?
-	  </P
+            Are there any security problems with Bugzilla?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -9901,59 +14420,36 @@ CLASS="answer"
 ><B
 > </B
 >
-            Bugzilla can output buglists as HTML (the default), CSV or RDF.
-            The link for CSV can be found at the bottom of the buglist in HTML
-            format. This CSV format can easily be imported into MS Excel or
-            other spreadsheet applications.
-          </P
-><P
->&#13;            To use the RDF format of the buglist it is necessary to append a
-            <SAMP
-CLASS="computeroutput"
->&#38;ctype=rdf</SAMP
-> to the URL. RDF
-            is meant to be machine readable and thus it is assumed that the
-            URL would be generated programatically so there is no user visible
-            link to this format.
-          </P
-><P
->&#13;            Currently the only script included with Bugzilla that can import
-            data is <TT
-CLASS="filename"
->importxml.pl</TT
-> which is intended to be
-            used for importing the data generated by the XML ctype of
-            <TT
-CLASS="filename"
->show_bug.cgi</TT
-> in association with bug moving.
-            Any other use is left as an exercise for the user.
-          </P
-><P
->&#13;            There are also scripts included in the <TT
-CLASS="filename"
->contrib/</TT
->
-            directory for using e-mail to import information into Bugzilla,
-            but these scripts are not currently supported and included for
-            educational purposes.
+            The Bugzilla code has undergone a reasonably complete security
+            audit, and user-facing CGIs run under Perl's taint mode. However, 
+            it is recommended that you closely examine permissions on your
+            Bugzilla installation, and follow the recommended security
+            guidelines found in The Bugzilla Guide.
           </P
 ></DIV
 ></DIV
+></DIV
+><DIV
+CLASS="qandadiv"
+><H3
+><A
+NAME="faq-email"
+></A
+>5. Bugzilla Email</H3
 ><DIV
 CLASS="qandaentry"
 ><DIV
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-l10n"
+NAME="faq-email-nomail"
 ></A
 ><B
->A.2.7. </B
+>A.5.1. </B
 >
-	    Has anyone converted Bugzilla to another language to be used in other
-	    countries? Is it localizable?
-	  </P
+            I have a user who doesn't want to receive any more email
+            from Bugzilla. How do I stop it entirely for this user?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -9961,21 +14457,17 @@ CLASS="answer"
 ><B
 > </B
 >
-            Yes. For more information including available translated templates,
-            see <A
-HREF="http://www.bugzilla.org/download.html#localizations"
-TARGET="_top"
->http://www.bugzilla.org/download.html#localizations</A
->.
-            The admin interfaces are still not included in these translated
-            templates and is therefore still English only. Also, there may be
-            issues with the charset not being declared. See <A
-HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=126266"
-TARGET="_top"
->bug 126226</A
->
-            for more information.
-	  </P
+            The user can stop Bugzilla from sending any mail by unchecking
+            all boxes on the 'Edit prefs' -&#62; 'Email settings' page.
+            (As of 2.18,this is made easier by the addition of a 'Disable
+            All Mail' button.) Alternately, you can add their email address
+            to the <TT
+CLASS="filename"
+>data/nomail</TT
+> file (one email address
+            per line). This will override their personal preferences, and
+            they will never be sent mail again.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -9984,14 +14476,14 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-reports"
+NAME="faq-email-testing"
 ></A
 ><B
->A.2.8. </B
+>A.5.2. </B
 >
-	    Can a user create and save reports? Can they do this in Word format?
-	    Excel format?
-	  </P
+            I'm evaluating/testing Bugzilla, and don't want it to send email
+            to anyone but me. How do I do it?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -9999,8 +14491,141 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Yes. No. Yes (using the CSV format).
-	  </P
+            To disable email, set the
+            <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>$enableSendMail</PRE
+></FONT
+></TD
+></TR
+></TABLE
+> parameter to '0'
+            in either <TT
+CLASS="filename"
+>BugMail.pm</TT
+> (2.18 and later) or 
+            <TT
+CLASS="filename"
+>processmail</TT
+> (up to 2.16.x).
+          </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;              Up to 2.16.x, changing
+              <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>$enableSendMail</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+              will only affect bugmail; email related to password changes,
+              email address changes, bug imports, flag changes, etc. will
+              still be sent out. As of the final release of 2.18, however,
+              the above step will disable <EM
+>all</EM
+> mail
+              sent from Bugzilla for any purpose.
+            </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;            To have bugmail (and only bugmail) redirected to you instead of
+            its intended recipients, leave
+            <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>$enableSendMail</PRE
+></FONT
+></TD
+></TR
+></TABLE
+> alone;
+            instead, edit the <SPAN
+CLASS="QUOTE"
+>"newchangedmail"</SPAN
+> parameter
+            as follows:
+          </P
+><P
+></P
+><UL
+><LI
+><P
+>&#13;                Replace <SPAN
+CLASS="QUOTE"
+>"To:"</SPAN
+> with <SPAN
+CLASS="QUOTE"
+>"X-Real-To:"</SPAN
+>
+              </P
+></LI
+><LI
+><P
+>&#13;                Replace <SPAN
+CLASS="QUOTE"
+>"Cc:"</SPAN
+> with <SPAN
+CLASS="QUOTE"
+>"X-Real-CC:"</SPAN
+>
+              </P
+></LI
+><LI
+><P
+>&#13;                Add a <SPAN
+CLASS="QUOTE"
+>"To: %lt;your_email_address&#62;"</SPAN
+>
+              </P
+></LI
+></UL
 ></DIV
 ></DIV
 ><DIV
@@ -10009,15 +14634,14 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-midair"
+NAME="faq-email-whine"
 ></A
 ><B
->A.2.9. </B
+>A.5.3. </B
 >
-	     Does Bugzilla provide record locking when there is simultaneous access
-	    to the same bug? Does the second person get a notice that the bug is in use
-	    or how are they notified?
-	  </P
+            I want whineatnews.pl to whine at something other than new and
+            reopened bugs. How do I do it?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10025,9 +14649,32 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Bugzilla does not lock records. It provides mid-air collision detection,
-	    and offers the offending user a choice of options to deal with the conflict.
-	  </P
+            For older versions of Bugzilla, you may be able to apply 
+            Klaas Freitag's patch for <SPAN
+CLASS="QUOTE"
+>"whineatassigned"</SPAN
+>,
+            which can be found in
+            <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=6679"
+TARGET="_top"
+>bug
+            6679</A
+>. Note that this patch was made in 2000, so it may take
+            some work to apply cleanly to any releases of Bugzilla newer than
+            that, but you can use it as a starting point.
+          </P
+><P
+>&#13;            An updated (and much-expanded) version of this functionality is
+            due to be released as part of Bugzilla 2.20; see 
+            <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=185090"
+TARGET="_top"
+>bug
+            185090</A
+> for the discussion, and for more up-to-date patches
+            if you just can't wait.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -10036,13 +14683,13 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-backup"
+NAME="faq-email-mailif"
 ></A
 ><B
->A.2.10. </B
+>A.5.4. </B
 >
-	    Are there any backup features provided?
-	  </P
+            How do I set up the email interface to submit/change bugs via email?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10050,14 +14697,9 @@ CLASS="answer"
 ><B
 > </B
 >
-	    MySQL, the database back-end for Bugzilla, allows hot-backup of data.
-	    You can find strategies for dealing with backup considerations
-	    at <A
-HREF="http://www.mysql.com/doc/B/a/Backup.html"
-TARGET="_top"
->http://www.mysql.com/doc/B/a/Backup.html</A
->.
-	  </P
+            You can find an updated README.mailif file in the contrib/ directory
+            of your Bugzilla distribution that walks you through the setup.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -10066,13 +14708,14 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-livebackup"
+NAME="faq-email-sendmailnow"
 ></A
 ><B
->A.2.11. </B
+>A.5.5. </B
 >
-	    Can users be on the system while a backup is in progress?
-	  </P
+            Email takes FOREVER to reach me from Bugzilla -- it's
+            extremely slow. What gives?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10080,10 +14723,57 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Yes. However, commits to the database must wait
-	    until the tables are unlocked. Bugzilla databases are typically
-	    very small, and backups routinely take less than a minute.
-	  </P
+            If you are using <SPAN
+CLASS="application"
+>sendmail</SPAN
+>, try
+            enabling <VAR
+CLASS="option"
+>sendmailnow</VAR
+> in
+            <TT
+CLASS="filename"
+>editparams.cgi</TT
+>. For earlier versions of
+            <SPAN
+CLASS="application"
+>sendmail</SPAN
+>, one could achieve
+            significant performance improvement in the UI (at the cost of
+            delaying the sending of mail) by setting this parameter to
+            <VAR
+CLASS="literal"
+>off</VAR
+>. Sites with
+            <SPAN
+CLASS="application"
+>sendmail</SPAN
+> version 8.12 (or higher)
+            should leave this <VAR
+CLASS="literal"
+>on</VAR
+>, as they will not see
+            any performance benefit.
+          </P
+><P
+>&#13;            If you are using an alternate
+            <A
+HREF="#gloss-mta"
+><I
+CLASS="glossterm"
+>MTA</I
+></A
+>, make sure the
+            options given in <TT
+CLASS="filename"
+>Bugzilla/BugMail.pm</TT
+>
+            and any other place where <SPAN
+CLASS="application"
+>sendmail</SPAN
+>
+            is called are correct for your MTA.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -10092,17 +14782,13 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-maintenance"
+NAME="faq-email-nonreceived"
 ></A
 ><B
->A.2.12. </B
+>A.5.6. </B
 >
-	    What type of human resources are needed to be on staff to install and
-	    maintain Bugzilla? Specifically, what type of skills does the person need to
-	    have? I need to find out if we were to go with Bugzilla, what types of
-	    individuals would we need to hire and how much would that cost vs buying an
-	    "out-of-the-box" solution?
-	  </P
+             How come email from Bugzilla changes never reaches me?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10110,34 +14796,62 @@ CLASS="answer"
 ><B
 > </B
 >
-	    If Bugzilla is set up correctly from the start, continuing maintenance
-      needs are minimal and can be done easily using the web interface.
-	  </P
+            Double-check that you have not turned off email in your user
+            preferences. Confirm that Bugzilla is able to send email by
+            visiting the <SPAN
+CLASS="QUOTE"
+>"Log In"</SPAN
+> link of your Bugzilla
+            installation and clicking the <SPAN
+CLASS="QUOTE"
+>"Email me a password"</SPAN
+>
+            button after entering your email address.
+          </P
+><P
+>&#13;            If you never receive mail from Bugzilla, chances are you do
+            not have sendmail in "/usr/lib/sendmail". Ensure sendmail
+            lives in, or is symlinked to, "/usr/lib/sendmail".
+          </P
 ><P
->&#13;	    Commercial Bug-tracking software typically costs somewhere upwards
-	    of $20,000 or more for 5-10 floating licenses. Bugzilla consultation
-	    is available from skilled members of the newsgroup. Simple questions
-      are answered there and then.
-	  </P
+>&#13;            If you are using an MTA other than
+            <SPAN
+CLASS="application"
+>sendmail</SPAN
+> the
+            <VAR
+CLASS="option"
+>sendmailnow</VAR
+> param must be set to
+            <VAR
+CLASS="literal"
+>on</VAR
+> or no mail will be sent.
+          </P
+></DIV
 ></DIV
 ></DIV
 ><DIV
+CLASS="qandadiv"
+><H3
+><A
+NAME="faq-db"
+></A
+>6. Bugzilla Database</H3
+><DIV
 CLASS="qandaentry"
 ><DIV
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-installtime"
+NAME="faq-db-corrupted"
 ></A
 ><B
->A.2.13. </B
+>A.6.1. </B
 >
-	    What time frame are we looking at if we decide to hire people to install
-	    and maintain the Bugzilla? Is this something that takes hours or weeks to
-	    install and a couple of hours per week to maintain and customize or is this
-	    a multi-week install process, plus a full time job for 1 person, 2 people,
-	    etc?
-	  </P
+            I think my database might be corrupted, or contain
+            invalid entries. What do I do?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10145,13 +14859,29 @@ CLASS="answer"
 ><B
 > </B
 >
-	    It all depends on your level of commitment. Someone with much Bugzilla
-	    experience can get you up and running in less than a day, and
-	    your Bugzilla install can run untended for years. If your
-	    Bugzilla strategy is critical to your business workflow, hire somebody
-	    with reasonable UNIX or Perl skills to handle your process management and
-	    bug-tracking maintenance &#38; customization.
-	  </P
+            Run the <SPAN
+CLASS="QUOTE"
+>"sanity check"</SPAN
+> utility
+            (<TT
+CLASS="filename"
+>sanitycheck.cgi</TT
+>) from your web browser
+            to see! If it finishes without errors, you're
+            <EM
+>probably</EM
+> OK. If it doesn't come back
+            OK (i.e. any red letters), there are certain things
+            Bugzilla can recover from and certain things it can't. If
+            it can't auto-recover, I hope you're familiar with
+            mysqladmin commands or have installed another way to
+            manage your database. Sanity Check, although it is a good
+            basic check on your database integrity, by no means is a
+            substitute for competent database administration and
+            avoiding deletion of data. It is not exhaustive, and was
+            created to do a basic check for the most common problems
+            in Bugzilla databases.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -10160,14 +14890,13 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-cost"
+NAME="faq-db-manualedit"
 ></A
 ><B
->A.2.14. </B
+>A.6.2. </B
 >
-	    Is there any licensing fee or other fees for using Bugzilla? Any
-	    out-of-pocket cost other than the bodies needed as identified above?
-	  </P
+            I want to manually edit some entries in my database. How?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10175,33 +14904,52 @@ CLASS="answer"
 ><B
 > </B
 >
-	    No. MySQL asks, if you find their product valuable, that you purchase
-	    a support contract from them that suits your needs.
-	  </P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="qandadiv"
-><H3
-><A
-NAME="faq-security"
-></A
->3. Bugzilla Security</H3
+            There is no facility in Bugzilla itself to do this. It's also
+            generally not a smart thing to do if you don't know exactly what
+            you're doing. If you understand SQL, though, you can use the
+            <B
+CLASS="command"
+>mysql</B
+> command line utility to manually insert,
+            delete and modify table information. There are also more intuitive
+            GUI clients available. Personal favorites of the Bugzilla team
+            are <A
+HREF="http://www.phpmyadmin.net/"
+TARGET="_top"
+>phpMyAdmin</A
+>
+            and <A
+HREF="http://www.mysql.com/products/mysqlcc/"
+TARGET="_top"
+>MySQL
+            Control Center</A
+>.
+          </P
+><P
+>&#13;            Remember, backups are your friend. Everyone makes mistakes, and
+            it's nice to have a safety net in case you mess something up.
+            Consider using <B
+CLASS="command"
+>mysqldump</B
+> to make a duplicate
+            of your database before altering it manually.
+          </P
+></DIV
+></DIV
 ><DIV
 CLASS="qandaentry"
 ><DIV
 CLASS="question"
 ><P
 ><A
-NAME="faq-security-mysql"
+NAME="faq-db-permissions"
 ></A
 ><B
->A.3.1. </B
+>A.6.3. </B
 >
-	    How do I completely disable MySQL security if it's giving me problems
-	    (I've followed the instructions in the installation section of this guide)?
-	  </P
+            I think I've set up MySQL permissions correctly, but Bugzilla still
+            can't connect.
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10209,12 +14957,49 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Run MySQL like this: "mysqld --skip-grant-tables". Please remember <EM
->this
-	    makes MySQL as secure as taping a $100 to the floor of a football stadium
-	    bathroom for safekeeping.</EM
-> 
-	  </P
+            Try running MySQL from its binary:
+            <B
+CLASS="command"
+>mysqld --skip-grant-tables</B
+>.
+            This will allow you to completely rule out grant tables as the
+            cause of your frustration. If this Bugzilla is able to connect
+            at this point then you need to check that you have granted proper
+            permission to the user password combo defined in
+            <TT
+CLASS="filename"
+>localconfig</TT
+>.
+          </P
+><DIV
+CLASS="warning"
+><P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;              Running MySQL with this command line option is very insecure and
+              should only be done when not connected to the external network
+              as a troubleshooting step.
+            </P
+></TD
+></TR
+></TABLE
+></DIV
 ></DIV
 ></DIV
 ><DIV
@@ -10223,13 +15008,14 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-security-knownproblems"
+NAME="faq-db-synchronize"
 ></A
 ><B
->A.3.2. </B
+>A.6.4. </B
 >
-	    Are there any security problems with Bugzilla?
-	  </P
+            How do I synchronize bug information among multiple
+            different Bugzilla databases?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10237,12 +15023,26 @@ CLASS="answer"
 ><B
 > </B
 >
-	    The Bugzilla code has undergone a reasonably complete security audit,
-      and user-facing CGIs run under Perl's taint mode. However, 
-	    it is recommended that you closely examine permissions on your Bugzilla
-	    installation, and follow the recommended security guidelines found
-	    in The Bugzilla Guide.
-	  </P
+            Well, you can synchronize or you can move bugs.
+            Synchronization will only work one way -- you can create
+            a read-only copy of the database at one site, and have it
+            regularly updated at intervals from the main database.
+          </P
+><P
+>&#13;            MySQL has some synchronization features builtin to the
+            latest releases. It would be great if someone looked into
+            the possibilities there and provided a report to the
+            newsgroup on how to effectively synchronize two Bugzilla
+            installations.
+          </P
+><P
+>&#13;            If you simply need to transfer bugs from one Bugzilla to another,
+            checkout the <SPAN
+CLASS="QUOTE"
+>"move.pl"</SPAN
+> script in the Bugzilla
+            distribution.
+          </P
 ></DIV
 ></DIV
 ></DIV
@@ -10250,23 +15050,22 @@ CLASS="answer"
 CLASS="qandadiv"
 ><H3
 ><A
-NAME="faq-email"
+NAME="faq-nt"
 ></A
->4. Bugzilla Email</H3
+>7. Bugzilla and Win32</H3
 ><DIV
 CLASS="qandaentry"
 ><DIV
 CLASS="question"
 ><P
 ><A
-NAME="faq-email-nomail"
+NAME="faq-nt-easiest"
 ></A
 ><B
->A.4.1. </B
+>A.7.1. </B
 >
-	    I have a user who doesn't want to receive any more email from Bugzilla.
-	    How do I stop it entirely for this user?
-	  </P
+            What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10274,13 +15073,30 @@ CLASS="answer"
 ><B
 > </B
 >
-	    The user should be able to set
-	    this in user email preferences (uncheck all boxes) or you can add
-            their email address to the <TT
-CLASS="filename"
->data/nomail</TT
-> file.
-	  </P
+            Remove Windows. Install Linux. Install Bugzilla.
+            The boss will never know the difference. B^)
+          </P
+><P
+>&#13;            Seriously though, making Bugzilla work easily with Windows
+            was one of the major goals of the 2.18 milestone. If the
+            necessary components are in place (perl, a webserver, an MTA, etc.)
+            then installation of Bugzilla on a Windows box should be no more
+            difficult than on any other platform. As with any installation,
+            we recommend that you carefully and completely follow the
+            installation instructions in <A
+HREF="#os-win32"
+>Section 2.4.1</A
+>.
+          </P
+><P
+>&#13;            While doing so, don't forget to check out the very excellent guide
+            to <A
+HREF="http://www.bugzilla.org/docs/win32install.html"
+TARGET="_top"
+>&#13;            Installing Bugzilla on Microsoft Windows</A
+> written by
+            Byron Jones. Thanks, Byron!
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -10289,14 +15105,13 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-email-testing"
+NAME="faq-nt-bundle"
 ></A
 ><B
->A.4.2. </B
+>A.7.2. </B
 >
-	    I'm evaluating/testing Bugzilla, and don't want it to send email to
-	    anyone but me. How do I do it?
-	  </P
+            Is there a "Bundle::Bugzilla" equivalent for Win32?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10304,9 +15119,10 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Edit the "newchangedmail" Param. Replace "To:" with "X-Real-To:",
-	    replace "Cc:" with "X-Real-CC:", and add a "To: &#60;youremailaddress&#62;".
-	  </P
+            Not currently. Bundle::Bugzilla enormously simplifies Bugzilla
+            installation on UNIX systems. If someone can volunteer to
+            create a suitable PPM bundle for Win32, it would be appreciated.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -10315,14 +15131,17 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-email-whine"
+NAME="faq-nt-mappings"
 ></A
 ><B
->A.4.3. </B
+>A.7.3. </B
 >
-	    I want whineatnews.pl to whine at something other than new and
-	    reopened bugs. How do I do it?
-	  </P
+            CGI's are failing with a <SPAN
+CLASS="QUOTE"
+>"something.cgi is not a valid
+            Windows NT application"</SPAN
+> error. Why?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10330,16 +15149,40 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Try Klaas Freitag's excellent patch for "whineatassigned"
-            functionality. You can find it in <A
-HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=6679"
-TARGET="_top"
->bug 6679</A
->. This
-	    patch is against an older version of Bugzilla, so you must apply
-	    the diffs manually.
-            
-	  </P
+            Depending on what Web server you are using, you will have to
+            configure the Web server to treat *.cgi files as CGI scripts.
+            In IIS, you do this by adding *.cgi to the App Mappings with
+            the &#60;path&#62;\perl.exe %s %s as the executable.
+          </P
+><P
+>&#13;            Microsoft has some advice on this matter, as well:
+            <A
+NAME="AEN2727"
+></A
+><BLOCKQUOTE
+CLASS="BLOCKQUOTE"
+><P
+>&#13;                <SPAN
+CLASS="QUOTE"
+>"Set application mappings. In the ISM, map the extension
+                for the script file(s) to the executable for the script
+                interpreter. For example, you might map the extension .py to
+                Python.exe, the executable for the Python script interpreter.
+                Note For the ActiveState Perl script interpreter, the extension
+                '.pl' is associated with PerlIS.dll by default. If you want
+                to change the association of .pl to perl.exe, you need to
+                change the application mapping. In the mapping, you must add
+                two percent (%) characters to the end of the pathname for
+                perl.exe, as shown in this example: 
+                <B
+CLASS="command"
+>c:\perl\bin\perl.exe %s %s</B
+>"</SPAN
+>
+              </P
+></BLOCKQUOTE
+>
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -10348,13 +15191,14 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-email-mailif"
+NAME="faq-nt-dbi"
 ></A
 ><B
->A.4.4. </B
+>A.7.4. </B
 >
-	    How do I set up the email interface to submit/change bugs via email?
-	  </P
+            I'm having trouble with the perl modules for NT not being
+            able to talk to the database.
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10362,25 +15206,75 @@ CLASS="answer"
 ><B
 > </B
 >
-	    You can find an updated README.mailif file in the contrib/ directory
-	    of your Bugzilla distribution that walks you through the setup.
-	  </P
+            Your modules may be outdated or inaccurate. Try:
+            <P
+></P
+><OL
+TYPE="1"
+><LI
+><P
+>&#13;                  Hitting http://www.activestate.com/ActivePerl
+                </P
+></LI
+><LI
+><P
+>&#13;                  Download ActivePerl
+                </P
+></LI
+><LI
+><P
+>&#13;                  Go to your prompt
+                </P
+></LI
+><LI
+><P
+>&#13;                  Type 'ppm'
+                </P
+></LI
+><LI
+><P
+>&#13;                  <SAMP
+CLASS="prompt"
+>PPM&#62;</SAMP
+> <B
+CLASS="command"
+>install DBI DBD-mysql GD</B
+>
+                </P
+></LI
+></OL
+>
+            I reckon TimeDate and Data::Dumper come with the activeperl.
+            You can check the ActiveState site for packages for installation
+            through PPM. <A
+HREF="http://www.activestate.com/Packages/"
+TARGET="_top"
+>http://www.activestate.com/Packages/</A
+>.
+          </P
 ></DIV
 ></DIV
+></DIV
+><DIV
+CLASS="qandadiv"
+><H3
+><A
+NAME="faq-use"
+></A
+>8. Bugzilla Usage</H3
 ><DIV
 CLASS="qandaentry"
 ><DIV
 CLASS="question"
 ><P
 ><A
-NAME="faq-email-sendmailnow"
+NAME="faq-use-changeaddress"
 ></A
 ><B
->A.4.5. </B
+>A.8.1. </B
 >
-	    Email takes FOREVER to reach me from Bugzilla -- it's extremely slow.
-	    What gives?
-	  </P
+            How do I change my user name (email address) in Bugzilla?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10388,44 +15282,9 @@ CLASS="answer"
 ><B
 > </B
 >
-	    If you are using <SPAN
-CLASS="application"
->sendmail</SPAN
->, try enabling
-            <VAR
-CLASS="option"
->sendmailnow</VAR
-> in <TT
-CLASS="filename"
->editparams.cgi</TT
->.
-            
-	  </P
-><P
->&#13;	    If you are using an alternate <A
-HREF="#gloss-mta"
-><I
-CLASS="glossterm"
->MTA</I
-></A
->,
-            make sure the options given in <TT
-CLASS="filename"
->Bugzilla/BugMail.pm</TT
->
-            and any other place where <SPAN
-CLASS="application"
->sendmail</SPAN
-> is called from
-	    are correct for your MTA. You should also ensure that the
-            <VAR
-CLASS="option"
->sendmailnow</VAR
-> param is set to <VAR
-CLASS="literal"
->on</VAR
->.
-	  </P
+            New in 2.16 - go to the Account section of the Preferences. You
+            will be emailed at both addresses for confirmation.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -10434,13 +15293,14 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-email-nonreceived"
+NAME="faq-use-query"
 ></A
 ><B
->A.4.6. </B
+>A.8.2. </B
 >
-	     How come email from Bugzilla changes never reaches me?
-	  </P
+            The query page is very confusing.
+            Isn't there a simpler way to query?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10448,39 +15308,83 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Double-check that you have not turned off email in your user preferences.
-	    Confirm that Bugzilla is able to send email by visiting the "Log In"
-	    link of your Bugzilla installation and clicking the "Email me a password"
-	    button after entering your email address.
-	  </P
+            The interface was simplified by a UI designer for 2.16. Further
+            suggestions for improvement are welcome, but we won't sacrifice
+            power for simplicity.
+          </P
+><P
+>&#13;            As of 2.18, there is also a 'simpler' search available. At the top
+            of the search page are two links; <SPAN
+CLASS="QUOTE"
+>"Advanced Search"</SPAN
+>
+            will take you to the familiar full-power/full-complexity search
+            page. The <SPAN
+CLASS="QUOTE"
+>"Find a Specific Bug"</SPAN
+> link will take you
+            to a much-simplified page where you can pick a product and
+            status (open,closed, or both), then enter words that appear in
+            the bug you want to find. This search will scour the 'Summary'
+            and 'Comment' fields, and return a list of bugs sorted so that
+            the bugs with the most hits/matches are nearer to the top.
+          </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
 ><P
->&#13;	    If you never receive mail from Bugzilla, chances are you do not have
-	    sendmail in "/usr/lib/sendmail". Ensure sendmail lives in, or is symlinked
-	    to, "/usr/lib/sendmail".
-	  </P
+>&#13;              Matches in the Summary will 'trump' matches in comments,
+              and bugs with summary-matches will be placed higher in
+              the buglist --  even if a lower-ranked bug has more matches
+              in the comments section.
+            </P
+></TD
+></TR
+></TABLE
 ></DIV
+><P
+>&#13;            Bugzilla uses a cookie to remember which version of the page
+            you visited last, and brings that page up when you next do a
+            search. The default page for new users (or after an upgrade)
+            is the 'simple' search.
+          </P
 ></DIV
 ></DIV
 ><DIV
-CLASS="qandadiv"
-><H3
-><A
-NAME="faq-db"
-></A
->5. Bugzilla Database</H3
-><DIV
 CLASS="qandaentry"
 ><DIV
 CLASS="question"
 ><P
 ><A
-NAME="faq-db-oracle"
+NAME="faq-use-accept"
 ></A
 ><B
->A.5.1. </B
+>A.8.3. </B
 >
-	    I've heard Bugzilla can be used with Oracle?
-	  </P
+            I'm confused by the behavior of the <SPAN
+CLASS="QUOTE"
+>"Accept"</SPAN
+>
+            button in the Show Bug form. Why doesn't it assign the bug
+            to me when I accept it?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10488,13 +15392,61 @@ CLASS="answer"
 ><B
 > </B
 >
-            Red Hat's old version of Bugzilla (based on 2.8) worked on Oracle,
-            but it is now so old as to be obsolete, and is totally unsupported.
-            Red Hat's newer version (based on 2.17.1 and soon to be merged into
-            the main distribution) runs on PostgreSQL. At this time we know of
-            no recent ports of Bugzilla to Oracle; to be honest, Bugzilla
-            doesn't need what Oracle offers.
-	  </P
+            The current behavior is acceptable to bugzilla.mozilla.org and
+            most users. If you want to change this behavior, though, you
+            have your choice of patches: 
+            <P
+></P
+><TABLE
+BORDER="0"
+><TBODY
+><TR
+><TD
+>&#13;                <A
+HREF="http://bugzilla.mozilla.org/show_bug?id=35195"
+TARGET="_top"
+>Bug 35195</A
+>
+                seeks to add an <SPAN
+CLASS="QUOTE"
+>"...and accept the bug"</SPAN
+> checkbox
+                to the UI. It has two patches attached to it: 
+                <A
+HREF="http://bugzilla.mozilla.org/showattachment.cgi?attach_id=8029"
+TARGET="_top"
+>attachment 8029</A
+>
+                was originally created for Bugzilla 2.12, while 
+                <A
+HREF="http://bugzilla.mozilla.org/showattachment.cgi?attach_id=91372"
+TARGET="_top"
+>attachment 91372</A
+>
+                is an updated version for Bugzilla 2.16
+              </TD
+></TR
+><TR
+><TD
+>&#13;                <A
+HREF="http://bugzilla.mozilla.org/show_bug?id=37613"
+TARGET="_top"
+>Bug
+                37613</A
+> also provides two patches (against Bugzilla
+                2.12): one to add a 'Take Bug' option, and the other to
+                automatically reassign the bug on 'Accept'. 
+              </TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+>
+            These patches are all somewhat dated now, and cannot be applied
+            directly, but they are simple enough to provide a guide on how
+            Bugzilla can be customized and updated to suit your needs.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -10503,14 +15455,17 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-db-corrupted"
+NAME="faq-use-attachment"
 ></A
 ><B
->A.5.2. </B
+>A.8.4. </B
 >
-	    I think my database might be corrupted, or contain invalid entries. What
-	    do I do?
-	  </P
+            I can't upload anything into the database via the
+            <SPAN
+CLASS="QUOTE"
+>"Create Attachment"</SPAN
+> link. What am I doing wrong?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10518,29 +15473,10 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Run the <SPAN
-CLASS="QUOTE"
->"sanity check"</SPAN
-> utility
-	    (<TT
-CLASS="filename"
->sanitycheck.cgi</TT
->) from your web browser to see! 
-      If it finishes without errors, you're
-	    <EM
->probably</EM
-> OK. If it doesn't come back
-	    OK (i.e. any red letters), there are certain things
-	    Bugzilla can recover from and certain things it can't. If
-	    it can't auto-recover, I hope you're familiar with
-	    mysqladmin commands or have installed another way to
-	    manage your database. Sanity Check, although it is a good
-	    basic check on your database integrity, by no means is a
-	    substitute for competent database administration and
-	    avoiding deletion of data. It is not exhaustive, and was
-	    created to do a basic check for the most common problems
-	    in Bugzilla databases.
-	  </P
+            The most likely cause is a very old browser or a browser that is
+            incompatible with file upload via POST. Download the latest version
+            of your favourite browser to handle uploads correctly.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -10549,13 +15485,13 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-db-manualedit"
+NAME="faq-use-keyword"
 ></A
 ><B
->A.5.3. </B
+>A.8.5. </B
 >
-	    I want to manually edit some entries in my database. How?
-	  </P
+            How do I change a keyword in Bugzilla, once some bugs are using it?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10563,25 +15499,14 @@ CLASS="answer"
 ><B
 > </B
 >
-	     There is no facility in Bugzilla itself to do this. It's also generally
-	    not a smart thing to do if you don't know exactly what you're doing.
-	    However, if you understand SQL you can use the <B
+            In the Bugzilla administrator UI, edit the keyword and
+            it will let you replace the old keyword name with a new one.
+            This will cause a problem with the keyword cache; run
+            <B
 CLASS="command"
->mysql</B
->
-            command line utility to manually insert, delete and modify table
-            information. There are also more intuitive GUI clients available.
-            Personal favorites of the Bugzilla team are <A
-HREF="http://www.phpmyadmin.net/"
-TARGET="_top"
->phpMyAdmin</A
-> and <A
-HREF="http://www.mysql.com/downloads/gui-mycc.html"
-TARGET="_top"
->MySQL Control
-            Center</A
->.
-	  </P
+>sanitycheck.cgi</B
+> to fix it.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -10590,14 +15515,17 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-db-permissions"
+NAME="faq-use-close"
 ></A
 ><B
->A.5.4. </B
+>A.8.6. </B
 >
-	    I think I've set up MySQL permissions correctly, but Bugzilla still can't
-	    connect.
-	  </P
+            Why can't I close bugs from the <SPAN
+CLASS="QUOTE"
+>"Change Several Bugs
+            at Once"</SPAN
+> page?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10605,60 +15533,58 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Try running MySQL from its binary: "mysqld --skip-grant-tables". This
-	    will allow you to completely rule out grant tables as the cause of your
-            frustration. If this Bugzilla is able to connect at this point then
-            you need to check that you have granted proper permission to the user
-            password combo defined in <TT
-CLASS="filename"
->localconfig</TT
->.
+            Simple answer; you can.
           </P
-><DIV
-CLASS="warning"
 ><P
-></P
-><TABLE
-CLASS="warning"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="../images/warning.gif"
-HSPACE="5"
-ALT="Warning"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
+>&#13;            The logic behind the page checks every bug in the list to
+            determine legal state changes, and then only shows you controls
+            to do things that could apply to <EM
+>every</EM
+> bug
+            on the list. The reason for this is that if you try to do something
+            illegal to a bug, the whole process will grind to a halt, and all
+            changes after the failed one will <EM
+>also</EM
+> fail.
+            Since that isn't a good outcome, the page doesn't even present
+            you with the option.
+          </P
 ><P
->&#13;              Running MySQL with this command line option is very insecure and
-              should only be done when not connected to the external network
-              as a troubleshooting step.
-            </P
-></TD
-></TR
-></TABLE
+>&#13;            In practical terms, that means that in order to mark
+            multiple bugs as CLOSED, then every bug on the page has to be
+            either RESOLVED or VERIFIED already; if this is not the case,
+            then the option to close the bugs will not appear on the page.
+          </P
+><P
+>&#13;            The rationale is that if you pick one of the bugs that's not
+            VERIFIED and try to CLOSE it, the bug change will fail
+            miserably (thus killing any changes in the list after it
+            while doing the bulk change) so it doesn't even give you the
+            choice.
+          </P
 ></DIV
 ></DIV
 ></DIV
 ><DIV
+CLASS="qandadiv"
+><H3
+><A
+NAME="faq-hacking"
+></A
+>9. Bugzilla Hacking</H3
+><DIV
 CLASS="qandaentry"
 ><DIV
 CLASS="question"
 ><P
 ><A
-NAME="faq-db-synchronize"
+NAME="faq-hacking-templatestyle"
 ></A
 ><B
->A.5.5. </B
+>A.9.1. </B
 >
-	    How do I synchronize bug information among multiple different Bugzilla
-	    databases?
-	  </P
+            What kind of style should I use for templatization?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10666,44 +15592,58 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Well, you can synchronize or you can move bugs. Synchronization will
-	    only work one way -- you can create a read-only copy of the database
-	    at one site, and have it regularly updated at intervals from the main
-	    database.
-	  </P
+            Gerv and Myk suggest a 2-space indent, with embedded code sections on
+            their own line, in line with outer tags. Like this:</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#13;&#60;fred&#62;
+[% IF foo %]
+  &#60;bar&#62;
+  [% FOREACH x = barney %]
+    &#60;tr&#62;
+      &#60;td&#62;
+        [% x %]
+      &#60;/td&#62;
+    &#60;tr&#62;
+  [% END %]
+[% END %]
+&#60;/fred&#62;
+</PRE
+></FONT
+></TD
+></TR
+></TABLE
 ><P
->&#13;	    MySQL has some synchronization features builtin to the latest releases.
-	    It would be great if someone looked into the possibilities there
-	    and provided a report to the newsgroup on how to effectively
-	    synchronize two Bugzilla installations.
-	  </P
+> Myk also recommends you turn on PRE_CHOMP in the template
+        initialization to prevent bloating of HTML with unnecessary whitespace.
+        </P
 ><P
->&#13;	    If you simply need to transfer bugs from one Bugzilla to another,
-	    checkout the "move.pl" script in the Bugzilla distribution.
-	  </P
-></DIV
+>Please note that many have differing opinions on this subject,
+        and the existing templates in Bugzilla espouse both this and a 4-space
+        style. Either is acceptable; the above is preferred.</P
 ></DIV
 ></DIV
 ><DIV
-CLASS="qandadiv"
-><H3
-><A
-NAME="faq-nt"
-></A
->6. Bugzilla and Win32</H3
-><DIV
 CLASS="qandaentry"
 ><DIV
 CLASS="question"
 ><P
 ><A
-NAME="faq-nt-easiest"
+NAME="faq-hacking-bugzillabugs"
 ></A
 ><B
->A.6.1. </B
+>A.9.2. </B
 >
-	    What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)?
-	  </P
+            What bugs are in Bugzilla right now?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10711,9 +15651,30 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Remove Windows. Install Linux. Install Bugzilla.
-	    The boss will never know the difference.
-	  </P
+            Try <A
+HREF="http://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&#38;bug_status=ASSIGNED&#38;bug_status=REOPENED&#38;product=Bugzilla"
+TARGET="_top"
+>&#13;            this link</A
+> to view current bugs or requests for
+            enhancement for Bugzilla.
+          </P
+><P
+>&#13;            You can view bugs marked for 2.18.1 release
+            <A
+HREF="http://bugzilla.mozilla.org/buglist.cgi?product=Bugzilla&#38;target_milestone=Bugzilla+&#38;bz-nextver;"
+TARGET="_top"
+>here</A
+>.
+            This list includes bugs for the 2.18.1 release that have already
+            been fixed and checked into CVS. Please consult the
+            <A
+HREF="http://www.bugzilla.org/"
+TARGET="_top"
+>&#13;            Bugzilla Project Page</A
+> for details on how to
+            check current sources out of CVS so you can have these
+            bug fixes early!
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -10722,13 +15683,21 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-nt-bundle"
+NAME="faq-hacking-priority"
 ></A
 ><B
->A.6.2. </B
+>A.9.3. </B
+>
+            How can I change the default priority to a null value?
+            For instance, have the default priority be <SPAN
+CLASS="QUOTE"
+>"---"</SPAN
 >
-	    Is there a "Bundle::Bugzilla" equivalent for Win32?
-	  </P
+            instead of <SPAN
+CLASS="QUOTE"
+>"P2"</SPAN
+>?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -10736,10 +15705,23 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Not currently. Bundle::Bugzilla enormously simplifies Bugzilla
-	    installation on UNIX systems. If someone can volunteer to
-	    create a suitable PPM bundle for Win32, it would be appreciated.
-	  </P
+            This is well-documented in <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=49862"
+TARGET="_top"
+>bug
+            49862</A
+>. Ultimately, it's as easy as adding the
+            <SPAN
+CLASS="QUOTE"
+>"---"</SPAN
+> priority field to your localconfig file
+            in the appropriate area, re-running checksetup.pl, and then
+            changing the default priority in your browser using
+            <B
+CLASS="command"
+>editparams.cgi</B
+>. 
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -10748,350 +15730,415 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-nt-mappings"
+NAME="faq-hacking-patches"
 ></A
 ><B
->A.6.3. </B
+>A.9.4. </B
 >
-	    CGI's are failing with a "something.cgi is not a valid Windows NT
-	    application" error. Why?
-	  </P
+            What's the best way to submit patches?  What guidelines
+            should I follow?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
 ><P
 ><B
 > </B
->
-	    Depending on what Web server you are using, you will have to configure
-	    the Web server to treat *.cgi files as CGI scripts. In IIS, you do this by
-	    adding *.cgi to the App Mappings with the &#60;path&#62;\perl.exe %s %s as the
-	    executable.
-	  </P
 ><P
->&#13;	    Microsoft has some advice on this matter, as well:
-	    <A
-NAME="AEN1981"
-></A
-><BLOCKQUOTE
-CLASS="BLOCKQUOTE"
+></P
+><OL
+TYPE="1"
+><LI
 ><P
->&#13;		"Set application mappings. In the ISM, map the extension for the script
-		file(s) to the executable for the script interpreter. For example, you might
-		map the extension .py to Python.exe, the executable for the Python script
-		interpreter. Note For the ActiveState Perl script interpreter, the extension
-		.pl is associated with PerlIS.dll by default. If you want to change the
-		association of .pl to perl.exe, you need to change the application mapping.
-		In the mapping, you must add two percent (%) characters to the end of the
-		pathname for perl.exe, as shown in this example: c:\perl\bin\perl.exe %s %s"
-	      </P
-></BLOCKQUOTE
+>&#13;                  Enter a bug into bugzilla.mozilla.org for the <SPAN
+CLASS="QUOTE"
+>"<A
+HREF="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla"
+TARGET="_top"
+>Bugzilla</A
+>"</SPAN
+>
+                  product.
+                </P
+></LI
+><LI
+><P
+>&#13;                  Upload your patch as a unified diff (having used <SPAN
+CLASS="QUOTE"
+>"diff
+                  -u"</SPAN
+> against the <EM
+>current sources</EM
 >
-	  </P
+                  checked out of CVS), or new source file by clicking
+                  <SPAN
+CLASS="QUOTE"
+>"Create a new attachment"</SPAN
+> link on the bug
+                  page you've just created, and include any descriptions of
+                  database changes you may make, into the bug ID you submitted
+                  in step #1. Be sure and click the <SPAN
+CLASS="QUOTE"
+>"Patch"</SPAN
+> checkbox
+                  to indicate the text you are sending is a patch!
+                </P
+></LI
+><LI
+><P
+>&#13;                  Announce your patch and the associated URL
+                  (http://bugzilla.mozilla.org/show_bug.cgi?id=XXXXXX)
+                  for discussion in the newsgroup
+                  (netscape.public.mozilla.webtools). You'll get a
+                  really good, fairly immediate reaction to the
+                  implications of your patch, which will also give us
+                  an idea how well-received the change would be.
+                </P
+></LI
+><LI
+><P
+>&#13;                  If it passes muster with minimal modification, the
+                  person to whom the bug is assigned in Bugzilla is
+                  responsible for seeing the patch is checked into CVS.
+                </P
+></LI
+><LI
+><P
+>&#13;                  Bask in the glory of the fact that you helped write
+                  the most successful open-source bug-tracking software
+                  on the planet :)
+                </P
+></LI
+></OL
+></P
+></DIV
+></DIV
+></DIV
 ></DIV
 ></DIV
 ><DIV
-CLASS="qandaentry"
+CLASS="appendix"
+><HR><H1
+><A
+NAME="troubleshooting"
+></A
+>Appendix B. Troubleshooting</H1
+><P
+>This section gives solutions to common Bugzilla installation
+  problems. If none of the section headings seems to match your
+  problem, read the general advice.
+  </P
 ><DIV
-CLASS="question"
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="general-advice"
+>B.1. General Advice</A
+></H2
 ><P
+>If you can't get <TT
+CLASS="filename"
+>checksetup.pl</TT
+> to run to 
+    completion, it normally explains what's wrong and how to fix it.
+    If you can't work it out, or if it's being uncommunicative, post 
+    the errors in the 
+    <A
+HREF="news://news.mozilla.org/netscape.public.mozilla.webtools"
+TARGET="_top"
+>netscape.public.mozilla.webtools</A
+>
+    newsgroup.
+    </P
+><P
+>If you have made it all the way through
+    <A
+HREF="#installation"
+>Section 2.1</A
+> (Installation) and
+    <A
+HREF="#configuration"
+>Section 2.2</A
+> (Configuration) but accessing the Bugzilla
+    URL doesn't work, the first thing to do is to check your webserver error
+    log. For Apache, this is often located at
+    <TT
+CLASS="filename"
+>/etc/logs/httpd/error_log</TT
+>. The error messages
+    you see may be self-explanatory enough to enable you to diagnose and
+    fix the problem. If not, see below for some commonly-encountered 
+    errors. If that doesn't help, post the errors to the newsgroup.
+    </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
 ><A
-NAME="faq-nt-dbi"
-></A
-><B
->A.6.4. </B
+NAME="AEN2868"
+>B.2. The Apache webserver is not serving Bugzilla pages</A
+></H2
+><P
+>After you have run <B
+CLASS="command"
+>checksetup.pl</B
+> twice,
+    run <B
+CLASS="command"
+>testserver.pl http://yoursite.yourdomain/yoururl</B
 >
-	    I'm having trouble with the perl modules for NT not being able to talk to
-	    to the database.
-	  </P
+    to confirm that your webserver is configured properly for
+    Bugzilla.
+    </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#13;<SAMP
+CLASS="prompt"
+>bash$</SAMP
+> ./testserver.pl http://landfill.bugzilla.org/bugzilla-tip
+TEST-OK Webserver is running under group id in $webservergroup.
+TEST-OK Got ant picture.
+TEST-OK Webserver is executing CGIs.
+TEST-OK Webserver is preventing fetch of http://landfill.bugzilla.org/bugzilla-tip/localconfig.
+</PRE
+></FONT
+></TD
+></TR
+></TABLE
 ></DIV
 ><DIV
-CLASS="answer"
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="AEN2875"
+>B.3. I installed a Perl module, but 
+      <TT
+CLASS="filename"
+>checksetup.pl</TT
+> claims it's not installed!</A
+></H2
+><P
+>This could be caused by one of two things:</P
 ><P
-><B
-> </B
->
-	    Your modules may be outdated or inaccurate. Try:
-	    <P
 ></P
 ><OL
 TYPE="1"
 ><LI
 ><P
->&#13;		  Hitting http://www.activestate.com/ActivePerl
-		</P
-></LI
-><LI
-><P
->&#13;		  Download ActivePerl
-		</P
-></LI
-><LI
-><P
->&#13;		  Go to your prompt
-		</P
-></LI
-><LI
-><P
->&#13;		  Type 'ppm'
-		</P
+>You have two versions of Perl on your machine. You are installing
+        modules into one, and Bugzilla is using the other. Rerun the CPAN
+        commands (or manual compile) using the full path to Perl from the 
+        top of <TT
+CLASS="filename"
+>checksetup.pl</TT
+>. This will make sure you 
+        are installing the modules in the right place.
+        </P
 ></LI
 ><LI
 ><P
->&#13;		  <SAMP
-CLASS="prompt"
->PPM&#62;</SAMP
-> <B
-CLASS="command"
->install DBI DBD-mysql GD</B
->
-		</P
+>The permissions on your library directories are set incorrectly.
+	They must, at the very least, be readable by the webserver user or
+	group. It is recommended that they be world readable.
+        </P
 ></LI
 ></OL
->
-	    I reckon TimeDate and Data::Dumper come with the activeperl. You can check
-	    the ActiveState site for packages for installation through PPM.
-	    <A
-HREF="http://www.activestate.com/Packages/"
-TARGET="_top"
->http://www.activestate.com/Packages/</A
->.
-	  </P
-></DIV
 ></DIV
-></DIV
-><DIV
-CLASS="qandadiv"
-><H3
-><A
-NAME="faq-use"
-></A
->7. Bugzilla Usage</H3
-><DIV
-CLASS="qandaentry"
 ><DIV
-CLASS="question"
-><P
+CLASS="section"
+><HR><H2
+CLASS="section"
 ><A
-NAME="faq-use-changeaddress"
-></A
-><B
->A.7.1. </B
->
-	    How do I change my user name (email address) in Bugzilla?
-	  </P
-></DIV
-><DIV
-CLASS="answer"
-><P
-><B
-> </B
->
-	    New in 2.16 - go to the Account section of the Preferences. You will
-      be emailed at both addresses for confirmation.
-	  </P
-></DIV
-></DIV
-><DIV
-CLASS="qandaentry"
-><DIV
-CLASS="question"
+NAME="AEN2885"
+>B.4. Bundle::Bugzilla makes me upgrade to Perl 5.6.1</A
+></H2
 ><P
-><A
-NAME="faq-use-query"
-></A
-><B
->A.7.2. </B
+>Try executing <B
+CLASS="command"
+>perl -MCPAN -e 'install CPAN'</B
 >
-	    The query page is very confusing. Isn't there a simpler way to query?
-	  </P
-></DIV
-><DIV
-CLASS="answer"
+    and then continuing.
+    </P
 ><P
-><B
-> </B
->
-	    The interface was simplified by a UI designer for 2.16. Further
-      suggestions for improvement are welcome, but we won't sacrifice power for
-      simplicity.
-	  </P
-></DIV
+>Certain older versions of the CPAN toolset were somewhat naive about
+    how to upgrade Perl modules. When a couple of modules got rolled into the
+    core Perl distribution for 5.6.1, CPAN thought that the best way to get
+    those modules up to date was to haul down the Perl distribution itself and
+    build it. Needless to say, this has caused headaches for just about
+    everybody. Upgrading to a newer version of CPAN with the
+    commandline above should fix things.
+    </P
 ></DIV
 ><DIV
-CLASS="qandaentry"
-><DIV
-CLASS="question"
-><P
+CLASS="section"
+><HR><H2
+CLASS="section"
 ><A
-NAME="faq-use-accept"
-></A
-><B
->A.7.3. </B
->
-	    I'm confused by the behavior of the "accept" button in the Show Bug form.
-	    Why doesn't it assign the bug to me when I accept it?
-	  </P
-></DIV
-><DIV
-CLASS="answer"
+NAME="AEN2890"
+>B.5. DBD::Sponge::db prepare failed</A
+></H2
 ><P
-><B
-> </B
->
-	    The current behavior is acceptable to bugzilla.mozilla.org and most
-	    users. You have your choice of patches to change this behavior, however.
-	    <P
-></P
+>The following error message may appear due to a bug in DBD::mysql
+    (over which the Bugzilla team have no control):
+    </P
 ><TABLE
 BORDER="0"
-><TBODY
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
 ><TR
 ><TD
-><A
-HREF="http://bugzilla.mozilla.org/showattachment.cgi?attach_id=8029"
-TARGET="_top"
->&#13;		Add a "and accept bug" radio button</A
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+> DBD::Sponge::db prepare failed: Cannot determine NUM_OF_FIELDS at D:/Perl/site/lib/DBD/mysql.pm line 248.
+  SV = NULL(0x0) at 0x20fc444
+  REFCNT = 1
+  FLAGS = (PADBUSY,PADMY)
+</PRE
+></FONT
 ></TD
 ></TR
+></TABLE
+><P
+>To fix this, go to 
+    <TT
+CLASS="filename"
+>&#60;path-to-perl&#62;/lib/DBD/sponge.pm</TT
+> 
+    in your Perl installation and replace
+    </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
 ><TR
 ><TD
-><A
-HREF="http://bugzilla.mozilla.org/showattachment.cgi?attach_id=8153"
-TARGET="_top"
->&#13;		"Accept" button automatically assigns to you</A
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+> my $numFields;
+ if ($attribs-&#62;{'NUM_OF_FIELDS'}) {
+     $numFields = $attribs-&#62;{'NUM_OF_FIELDS'};
+ } elsif ($attribs-&#62;{'NAME'}) {
+     $numFields = @{$attribs-&#62;{NAME}};
+</PRE
+></FONT
 ></TD
 ></TR
-></TBODY
 ></TABLE
 ><P
-></P
->
-	    Note that these patches are somewhat dated. You will need to apply
-      them manually.
-	  </P
-></DIV
-></DIV
-><DIV
-CLASS="qandaentry"
-><DIV
-CLASS="question"
-><P
-><A
-NAME="faq-use-attachment"
-></A
-><B
->A.7.4. </B
->
-	    I can't upload anything into the database via the "Create Attachment"
-	    link. What am I doing wrong?
-	  </P
-></DIV
-><DIV
-CLASS="answer"
-><P
-><B
-> </B
->
-	    The most likely cause is a very old browser or a browser that is
-	    incompatible with file upload via POST. Download the latest Netscape,
-	    Microsoft, or Mozilla browser to handle uploads correctly.
-	  </P
-></DIV
-></DIV
-><DIV
-CLASS="qandaentry"
-><DIV
-CLASS="question"
-><P
-><A
-NAME="faq-use-keyword"
-></A
-><B
->A.7.5. </B
->
-	    How do I change a keyword in Bugzilla, once some bugs are using it?
-	  </P
-></DIV
-><DIV
-CLASS="answer"
+>with</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+> my $numFields;
+ if ($attribs-&#62;{'NUM_OF_FIELDS'}) {
+     $numFields = $attribs-&#62;{'NUM_OF_FIELDS'};
+ } elsif ($attribs-&#62;{'NAMES'}) {
+     $numFields = @{$attribs-&#62;{NAMES}};
+</PRE
+></FONT
+></TD
+></TR
+></TABLE
 ><P
-><B
-> </B
->
-	    In the Bugzilla administrator UI, edit the keyword and it will let you
-	    replace the old keyword name with a new one. This will cause a problem
-	    with the keyword cache. Run sanitycheck.cgi to fix it.
-	  </P
-></DIV
+>(note the S added to NAME.)</P
 ></DIV
 ><DIV
-CLASS="qandaentry"
-><DIV
-CLASS="question"
-><P
+CLASS="section"
+><HR><H2
+CLASS="section"
 ><A
-NAME="faq-use-close"
-></A
-><B
->A.7.6. </B
->
-        Why can't I close bugs from the "Change Several Bugs at Once" page?
-      </P
-></DIV
-><DIV
-CLASS="answer"
+NAME="paranoid-security"
+>B.6. cannot chdir(/var/spool/mqueue)</A
+></H2
 ><P
-><B
-> </B
+>If you are installing Bugzilla on SuSE Linux, or some other
+    distributions with <SPAN
+CLASS="QUOTE"
+>"paranoid"</SPAN
+> security options, it is
+    possible that the checksetup.pl script may fail with the error: 
+<TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>cannot chdir(/var/spool/mqueue): Permission denied
+</PRE
+></FONT
+></TD
+></TR
+></TABLE
 >
-        The logic flow currently used is RESOLVED, then VERIFIED, then CLOSED.
-        You <EM
->can</EM
-> mass-CLOSE bugs from the change several
-        bugs at once page. <EM
->but</EM
->, every bug listed on the
-        page has to be in VERIFIED state before the control to do it will show
-        up on the form. You can also mass-VERIFY, but every bug listed has to be
-        RESOLVED in order for the control to show up on the form. The logic
-        behind this is that if you pick one of the bugs that's not VERIFIED and
-        try to CLOSE it, the bug change will fail miserably (thus killing any
-        changes in the list after it while doing the bulk change) so it doesn't
-        even give you the choice.
-      </P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="qandadiv"
-><H3
-><A
-NAME="faq-hacking"
-></A
->8. Bugzilla Hacking</H3
-><DIV
-CLASS="qandaentry"
-><DIV
-CLASS="question"
+    </P
 ><P
-><A
-NAME="faq-hacking-templatestyle"
-></A
-><B
->A.8.1. </B
+>This is because your <TT
+CLASS="filename"
+>/var/spool/mqueue</TT
+>
+    directory has a mode of <SAMP
+CLASS="computeroutput"
+>drwx------</SAMP
+>.
+    Type <B
+CLASS="command"
+>chmod 755 <TT
+CLASS="filename"
+>/var/spool/mqueue</TT
+></B
 >
-	    What kind of style should I use for templatization?
-	  </P
+    as root to fix this problem. This will allow any process running on your
+    machine the ability to <EM
+>read</EM
+> the
+    <TT
+CLASS="filename"
+>/var/spool/mqueue</TT
+> directory.
+    </P
 ></DIV
 ><DIV
-CLASS="answer"
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="trouble-filetemp"
+>B.7. Your vendor has not defined Fcntl macro O_NOINHERIT</A
+></H2
 ><P
-><B
-> </B
->
-	    Gerv and Myk suggest a 2-space indent, with embedded code sections on
-	    their own line, in line with outer tags. Like this:</P
+>This is caused by a bug in the version of
+    <SPAN
+CLASS="productname"
+>File::Temp</SPAN
+> that is distributed with perl
+    5.6.0. Many minor variations of this error have been reported:
+    </P
 ><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -11102,187 +16149,259 @@ WIDTH="100%"
 COLOR="#000000"
 ><PRE
 CLASS="programlisting"
->&#13;&#60;fred&#62;
-[% IF foo %]
-  &#60;bar&#62;
-  [% FOREACH x = barney %]
-    &#60;tr&#62;
-      &#60;td&#62;
-        [% x %]
-      &#60;/td&#62;
-    &#60;tr&#62;
-  [% END %]
-[% END %]
-&#60;/fred&#62;
-</PRE
+>Your vendor has not defined Fcntl macro O_NOINHERIT, used 
+at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 208.
+
+Your vendor has not defined Fcntl macro O_EXLOCK, used 
+at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 210.
+
+Your vendor has not defined Fcntl macro O_TEMPORARY, used 
+at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233.</PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
 ><P
-> Myk also recommends you turn on PRE_CHOMP in the template
-	initialization to prevent bloating of HTML with unnecessary whitespace.
-	</P
-><P
->Please note that many have differing opinions on this subject,
-	and the existing templates in Bugzilla espouse both this and a 4-space
-	style. Either is acceptable; the above is preferred.</P
-></DIV
+>Numerous people have reported that upgrading to version 5.6.1
+    or higher solved the problem for them. A less involved fix is to apply
+    the following patch, which is also
+    available as a <A
+HREF="../xml/filetemp.patch"
+TARGET="_top"
+>patch file</A
+>.
+    </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>--- File/Temp.pm.orig   Thu Feb  6 16:26:00 2003
++++ File/Temp.pm        Thu Feb  6 16:26:23 2003
+@@ -205,6 +205,7 @@
+     # eg CGI::Carp
+     local $SIG{__DIE__} = sub {};
+     local $SIG{__WARN__} = sub {};
++    local *CORE::GLOBAL::die = sub {};
+     $bit = &#38;$func();
+     1;
+   };
+@@ -226,6 +227,7 @@
+     # eg CGI::Carp
+     local $SIG{__DIE__} = sub {};
+     local $SIG{__WARN__} = sub {};
++    local *CORE::GLOBAL::die = sub {};
+     $bit = &#38;$func();
+     1;
+   };</PRE
+></FONT
+></TD
+></TR
+></TABLE
 ></DIV
 ><DIV
-CLASS="qandaentry"
-><DIV
-CLASS="question"
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="trbl-relogin-everyone"
+>B.8. Everybody is constantly being forced to relogin</A
+></H2
+><P
+>The most-likely cause is that the <SPAN
+CLASS="QUOTE"
+>"cookiepath"</SPAN
+> parameter
+  is not set correctly in the Bugzilla configuration.  You can change this (if
+  you're a Bugzilla administrator) from the editparams.cgi page via the web.
+  </P
+><P
+>The value of the cookiepath parameter should be the actual directory
+  containing your Bugzilla installation, <EM
+>as seen by the end-user's
+  web browser</EM
+>. Leading and trailing slashes are mandatory. You can
+  also set the cookiepath to any directory which is a parent of the Bugzilla
+  directory (such as '/', the root directory). But you can't put something
+  that isn't at least a partial match or it won't work. What you're actually
+  doing is restricting the end-user's browser to sending the cookies back only
+  to that directory.
+  </P
 ><P
+>How do you know if you want your specific Bugzilla directory or the
+  whole site?
+  </P
+><P
+>If you have only one Bugzilla running on the server, and you don't
+  mind having other applications on the same server with it being able to see
+  the cookies (you might be doing this on purpose if you have other things on
+  your site that share authentication with Bugzilla), then you'll want to have
+  the cookiepath set to "/", or to a sufficiently-high enough directory that
+  all of the involved apps can see the cookies.
+  </P
+><DIV
+CLASS="example"
 ><A
-NAME="faq-hacking-bugzillabugs"
+NAME="trbl-relogin-everyone-share"
 ></A
-><B
->A.8.2. </B
->
-	    What bugs are in Bugzilla right now?
-	  </P
-></DIV
-><DIV
-CLASS="answer"
 ><P
 ><B
-> </B
->
-	    Try <A
-HREF="http://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&#38;bug_status=ASSIGNED&#38;bug_status=REOPENED&#38;product=Bugzilla"
-TARGET="_top"
->&#13;	    this link</A
-> to view current bugs or requests for
-	    enhancement for Bugzilla.
-	  </P
+>Example B-1. Examples of urlbase/cookiepath pairs for sharing login cookies</B
+></P
+><A
+NAME="AEN2930"
+></A
+><BLOCKQUOTE
+CLASS="BLOCKQUOTE"
 ><P
->&#13;	    You can view bugs marked for 2.18 release
-	    <A
-HREF="http://bugzilla.mozilla.org/buglist.cgi?product=Bugzilla&#38;target_milestone=Bugzilla+2.18"
+CLASS="literallayout"
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;urlbase&nbsp;is&nbsp;<A
+HREF="http://bugzilla.mozilla.org/"
 TARGET="_top"
->here</A
->.
-	    This list includes bugs for the 2.18 release that have already
-	    been fixed and checked into CVS. Please consult the
-	    <A
-HREF="http://www.bugzilla.org/"
+>http://bugzilla.mozilla.org/</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cookiepath&nbsp;is&nbsp;/<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;urlbase&nbsp;is&nbsp;<A
+HREF="http://tools.mysite.tld/bugzilla/"
 TARGET="_top"
->&#13;	      Bugzilla Project Page</A
-> for details on how to
-	    check current sources out of CVS so you can have these
-	    bug fixes early!
-	  </P
-></DIV
+>http://tools.mysite.tld/bugzilla/</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;but&nbsp;you&nbsp;have&nbsp;http://tools.mysite.tld/someotherapp/&nbsp;which&nbsp;shares<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;authentication&nbsp;with&nbsp;your&nbsp;Bugzilla<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cookiepath&nbsp;is&nbsp;/<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
+></BLOCKQUOTE
 ></DIV
-><DIV
-CLASS="qandaentry"
-><DIV
-CLASS="question"
 ><P
+>On the other hand, if you have more than one Bugzilla running on the
+   server (some people do - we do on landfill) then you need to have the
+   cookiepath restricted enough so that the different Bugzillas don't
+   confuse their cookies with one another.
+   </P
+><DIV
+CLASS="example"
 ><A
-NAME="faq-hacking-priority"
+NAME="trbl-relogin-everyone-restrict"
 ></A
-><B
->A.8.3. </B
->
-	    How can I change the default priority to a null value?  For instance, have the default
-	    priority be "---" instead of "P2"?
-	  </P
-></DIV
-><DIV
-CLASS="answer"
 ><P
 ><B
-> </B
->
-	    This is well-documented in <A
-HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=49862"
+>Example B-2. Examples of urlbase/cookiepath pairs to restrict the login cookie</B
+></P
+><A
+NAME="AEN2937"
+></A
+><BLOCKQUOTE
+CLASS="BLOCKQUOTE"
+><P
+CLASS="literallayout"
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;urlbase&nbsp;is&nbsp;<A
+HREF="http://landfill.bugzilla.org/bugzilla-tip/"
 TARGET="_top"
->&#13;	    bug 49862</A
->. Ultimately, it's as easy as adding the "---" priority field to your
-            localconfig file in the appropriate area, re-running checksetup.pl, and then changing the
-            default priority in your browser using "editparams.cgi". 
-	  </P
-></DIV
+>http://landfill.bugzilla.org/bugzilla-tip/</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cookiepath&nbsp;is&nbsp;/bugzilla-tip/<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;urlbase&nbsp;is&nbsp;<A
+HREF="http://landfill.bugzilla.org/bugzilla-2.16-branch/"
+TARGET="_top"
+>http://landfill.bugzilla.org/bugzilla-2.16-branch/</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cookiepath&nbsp;is&nbsp;/bugzilla-2.16-branch/<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
+></BLOCKQUOTE
 ></DIV
-><DIV
-CLASS="qandaentry"
-><DIV
-CLASS="question"
 ><P
-><A
-NAME="faq-hacking-patches"
-></A
-><B
->A.8.4. </B
->
-	    What's the best way to submit patches?  What guidelines should I follow?
-	  </P
+>If you had cookiepath set to <SPAN
+CLASS="QUOTE"
+>"/"</SPAN
+> at any point in the
+    past and need to set it to something more restrictive
+    (i.e. <SPAN
+CLASS="QUOTE"
+>"/bugzilla/"</SPAN
+>), you can safely do this without
+    requiring users to delete their Bugzilla-related cookies in their
+    browser (this is true starting with 
+    Bugzilla 2.18 and Bugzilla 2.16.5).
+    </P
 ></DIV
 ><DIV
-CLASS="answer"
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="AEN2944"
+>B.9. Some users are constantly being forced to relogin</A
+></H2
 ><P
-><B
-> </B
+>First, make sure cookies are enabled in the user's browser.
+    </P
 ><P
-></P
-><OL
-TYPE="1"
-><LI
+>If that doesn't fix the problem, it may be that the user's ISP
+     implements a rotating proxy server. This causes the user's effective IP
+     address (the address which the Bugzilla server perceives him coming from)
+     to change periodically. Since Bugzilla cookies are tied to a specific IP
+     address, each time the effective address changes, the user will have to
+     log in again.
+     </P
 ><P
->&#13;		  Enter a bug into bugzilla.mozilla.org for the <SPAN
+>If you are using 2.18, there is a
+     parameter called <SPAN
 CLASS="QUOTE"
->"<A
-HREF="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla"
-TARGET="_top"
->Bugzilla</A
->"</SPAN
->
-                  product.
-		</P
-></LI
-><LI
-><P
->&#13;		  Upload your patch as a unified diff (having used "diff -u" against
-		  the <EM
->current sources</EM
-> checked out of CVS),
-		  or new source file by clicking
-		  "Create a new attachment" link on the bug page you've just created, and
-		  include any descriptions of database changes you may make, into the bug
-		  ID you submitted in step #1. Be sure and click the "Patch" checkbox
-		  to indicate the text you are sending is a patch!
-		</P
-></LI
-><LI
-><P
->&#13;		  Announce your patch and the associated URL
-		  (http://bugzilla.mozilla.org/show_bug.cgi?id=XXXXXX) for discussion in
-		  the newsgroup (netscape.public.mozilla.webtools). You'll get a really
-		  good, fairly immediate reaction to the implications of your patch,
-		  which will also give us an idea how well-received the change would
-		  be.
-		</P
-></LI
-><LI
-><P
->&#13;		  If it passes muster with minimal modification, the person to whom
-		  the bug is assigned in Bugzilla is responsible for seeing the patch
-		  is checked into CVS.
-		</P
-></LI
-><LI
-><P
->&#13;		  Bask in the glory of the fact that you helped write the most successful
-		  open-source bug-tracking software on the planet :)
-		</P
-></LI
-></OL
-></P
-></DIV
-></DIV
+>"loginnetmask"</SPAN
+>, which you can use to set
+     the number of bits of the user's IP address to require to be matched when
+     authenticating the cookies. If you set this to something less than 32,
+     then the user will be given a checkbox for <SPAN
+CLASS="QUOTE"
+>"Restrict this login to
+     my IP address"</SPAN
+> on the login screen, which defaults to checked. If
+     they leave the box checked, Bugzilla will behave the same as it did
+     before, requiring an exact match on their IP address to remain logged in.
+     If they uncheck the box, then only the left side of their IP address (up
+     to the number of bits you specified in the parameter) has to match to
+     remain logged in.
+     </P
 ></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="trbl-index"
+>B.10. <TT
+CLASS="filename"
+>index.cgi</TT
+> doesn't show up unless specified in the URL</A
+></H2
+><P
+>&#13;      You probably need to set up your web server in such a way that it
+      will serve the index.cgi page as an index page.
+    </P
+><P
+>&#13;      If you are using Apache, you can do this by adding 
+      <TT
+CLASS="filename"
+>index.cgi</TT
+> to the end of the 
+      <SAMP
+CLASS="computeroutput"
+>DirectoryIndex</SAMP
+> line
+      as mentioned in <A
+HREF="#http-apache"
+>Section 2.2.4.1</A
+>.
+    </P
 ></DIV
 ></DIV
 ><DIV
@@ -11291,96 +16410,210 @@ CLASS="appendix"
 ><A
 NAME="patches"
 ></A
->Appendix B. Contrib</H1
+>Appendix C. Contrib</H1
 ><P
->There are a number of unofficial Bugzilla add-ons in the 
-  <TT
+>&#13;    There are a number of unofficial Bugzilla add-ons in the 
+    <TT
 CLASS="filename"
 >$BUGZILLA_ROOT/contrib/</TT
 >
-  directory. This section documents them.</P
+    directory. This section documents them.
+  </P
 ><DIV
 CLASS="section"
 ><HR><H2
 CLASS="section"
 ><A
 NAME="cmdline"
->B.1. Command-line Search Interface</A
+>C.1. Command-line Search Interface</A
 ></H2
 ><P
->There are a suite of Unix utilities for searching Bugzilla from the 
-    command line. They live in the 
-    <TT
+>&#13;      There are a suite of Unix utilities for searching Bugzilla from the 
+      command line. They live in the 
+      <TT
 CLASS="filename"
 >contrib/cmdline</TT
-> 
-    directory. However, they
-    have not yet been updated to work with 2.16 (post-templatisation.).
-    There are three files - <TT
+> directory.
+      There are three files - <TT
 CLASS="filename"
 >query.conf</TT
->, 
-    <TT
+>,
+      <TT
 CLASS="filename"
 >buglist</TT
 > and <TT
 CLASS="filename"
 >bugs</TT
->.</P
+>.
+    </P
+><DIV
+CLASS="warning"
 ><P
-><TT
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;        These files pre-date the templatisation work done as part of the
+        2.16 release, and have not been updated.
+      </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;      <TT
 CLASS="filename"
 >query.conf</TT
-> 
-    contains the mapping from options to field
-    names and comparison types. Quoted option names are "grepped" for, so it
-    should be easy to edit this file. Comments (#) have no effect; you must
-    make sure these lines do not contain any quoted "option".</P
+> contains the mapping from
+      options to field names and comparison types. Quoted option names
+      are <SPAN
+CLASS="QUOTE"
+>"grepped"</SPAN
+> for, so it should be easy to edit this
+      file. Comments (#) have no effect; you must make sure these lines
+      do not contain any quoted <SPAN
+CLASS="QUOTE"
+>"option"</SPAN
+>.
+    </P
 ><P
-><TT
+>&#13;      <TT
 CLASS="filename"
 >buglist</TT
+> is a shell script that submits a
+      Bugzilla query and writes the resulting HTML page to stdout.
+      It supports both short options, (such as <SPAN
+CLASS="QUOTE"
+>"-Afoo"</SPAN
 >
-    is a shell script which submits a Bugzilla query and writes
-    the resulting HTML page to stdout. It supports both short options, (such
-    as "-Afoo" or "-Rbar") and long options (such as "--assignedto=foo" or
-    "--reporter=bar"). If the first character of an option is not "-", it is
-    treated as if it were prefixed with "--default=".</P
+      or <SPAN
+CLASS="QUOTE"
+>"-Rbar"</SPAN
+>) and long options (such
+      as <SPAN
+CLASS="QUOTE"
+>"--assignedto=foo"</SPAN
+> or <SPAN
+CLASS="QUOTE"
+>"--reporter=bar"</SPAN
+>).
+      If the first character of an option is not <SPAN
+CLASS="QUOTE"
+>"-"</SPAN
+>, it is
+      treated as if it were prefixed with <SPAN
+CLASS="QUOTE"
+>"--default="</SPAN
+>.
+    </P
 ><P
->The column list is taken from the COLUMNLIST environment variable.
-    This is equivalent to the "Change Columns" option when you list bugs in
-    buglist.cgi. If you have already used Bugzilla, grep for COLUMNLIST
-    in your cookies file to see your current COLUMNLIST setting.</P
+>&#13;      The column list is taken from the COLUMNLIST environment variable.
+      This is equivalent to the <SPAN
+CLASS="QUOTE"
+>"Change Columns"</SPAN
+> option
+      that is available when you list bugs in buglist.cgi. If you have
+      already used Bugzilla, grep for COLUMNLIST in your cookies file
+      to see your current COLUMNLIST setting.
+    </P
 ><P
-><TT
+>&#13;      <TT
 CLASS="filename"
 >bugs</TT
 > is a simple shell script which calls
-    <TT
+      <TT
 CLASS="filename"
 >buglist</TT
 > and extracts the
-    bug numbers from the output. Adding the prefix
-    "http://bugzilla.mozilla.org/buglist.cgi?bug_id=" turns the bug list into
-    a working link if any bugs are found. Counting bugs is easy. Pipe the
-    results through 
-    <B
+      bug numbers from the output. Adding the prefix
+      <SPAN
+CLASS="QUOTE"
+>"http://bugzilla.mozilla.org/buglist.cgi?bug_id="</SPAN
+>
+      turns the bug list into a working link if any bugs are found.
+      Counting bugs is easy. Pipe the results through 
+      <B
 CLASS="command"
 >sed -e 's/,/ /g' | wc | awk '{printf $2 "\n"}'</B
 >
     </P
 ><P
->Akkana Peck says she has good results piping 
-    <TT
+>&#13;      Akkana Peck says she has good results piping 
+      <TT
 CLASS="filename"
 >buglist</TT
 > output through 
-    <B
+      <B
 CLASS="command"
 >w3m -T text/html -dump</B
 >
     </P
 ></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="cmdline-bugmail"
+>C.2. Command-line 'Send Unsent Bug-mail' tool</A
+></H2
+><P
+>&#13;      Within the <TT
+CLASS="filename"
+>contrib</TT
+> directory
+      exists a utility with the descriptive (if compact) name
+      of <TT
+CLASS="filename"
+>sendunsentbugmail.pl</TT
+>. The purpose of this
+      script is, simply, to send out any bug-related mail that should
+      have been sent by now, but for one reason or another has not.
+    </P
+><P
+>&#13;      To accomplish this task, <TT
+CLASS="filename"
+>sendunsentbugmail.pl</TT
+> uses
+      the same mechanism as the <TT
+CLASS="filename"
+>sanitycheck.cgi</TT
+> script; it
+      it scans through the entire database looking for bugs with changes that
+      were made more than 30 minutes ago, but where there is no record of
+      anyone related to that bug having been sent mail. Having compiled a list,
+      it then uses the standard rules to determine who gets mail, and sends it
+      out.
+    </P
+><P
+>&#13;      As the script runs, it indicates the bug for which it is currently
+      sending mail; when it has finished, it gives a numerical count of how
+      many mails were sent and how many people were excluded. (Individual
+      user names are not recorded or displayed.) If the script produces
+      no output, that means no unsent mail was detected.
+    </P
+><P
+>&#13;      <EM
+>Usage</EM
+>: move the sendunsentbugmail.pl script
+      up into the main directory, ensure it has execute permission, and run it
+      from the command line (or from a cron job) with no parameters.
+    </P
+></DIV
 ></DIV
 ><DIV
 CLASS="appendix"
@@ -11388,19 +16621,19 @@ CLASS="appendix"
 ><A
 NAME="install-perlmodules-manual"
 ></A
->Appendix C. Manual Installation of Perl Modules</H1
+>Appendix D. Manual Installation of Perl Modules</H1
 ><DIV
 CLASS="section"
 ><H2
 CLASS="section"
 ><A
 NAME="modules-manual-instructions"
->C.1. Instructions</A
+>D.1. Instructions</A
 ></H2
 ><P
->If you need to install Perl modules manually, here's how it's done.
-    Download the module using the link given in the next section, and then
-    apply this magic incantation, as root:
+>&#13;      If you need to install Perl modules manually, here's how it's done.
+      Download the module using the link given in the next section, and then
+      apply this magic incantation, as root:
     </P
 ><P
 >  
@@ -11444,6 +16677,68 @@ CLASS="prompt"
 ></TABLE
 >
     </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;        In order to compile source code under Windows you will need to obtain
+        a 'make' utility.  The <B
+CLASS="command"
+>nmake</B
+> utility provided with
+        Microsoft Visual C++ may be used.  As an alternative, there is a
+        utility called <B
+CLASS="command"
+>dmake</B
+> available from CPAN which is
+        written entirely in Perl. The majority of the links given below, however,
+        are to pre-compiled versions of the modules, which can be installed
+        on Windows simply by issuing the following command once you have
+        downloaded the PPD file (which may be packaged within a ZIP file):
+      </P
+><P
+>&#13;        <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;          <SAMP
+CLASS="prompt"
+>&#62;</SAMP
+> ppm install &#60;filename.ppd&#62;
+        </PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+      </P
+></TD
+></TR
+></TABLE
+></DIV
 ></DIV
 ><DIV
 CLASS="section"
@@ -11451,28 +16746,72 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="modules-manual-download"
->C.2. Download Locations</A
+>D.2. Download Locations</A
 ></H2
+><DIV
+CLASS="note"
 ><P
->Note: some modules are in the core distribution of
-    ActiveState Perl for Windows. Others are not available.
-    No PPM links have been provided in either of these two cases.
-    </P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;        Running Bugzilla on Windows requires the use of ActiveState
+        Perl 5.8.1 or higher. Some modules already exist in the core
+        distribution of ActiveState Perl so no PPM link is given.
+        (This is noted where it occurs.)
+      </P
+></TD
+></TR
+></TABLE
+></DIV
 ><P
->CGI:
+>&#13;      AppConfig:
       <P
 CLASS="literallayout"
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
-HREF="http://search.cpan.org/dist/CGI.pm/"
+HREF="http://search.cpan.org/src/ABW/AppConfig-1.56/lib/AppConfig.pm"
 TARGET="_top"
->http://search.cpan.org/dist/CGI.pm/</A
+>http://search.cpan.org/src/ABW/AppConfig-1.56/lib/AppConfig.pm</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
-HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/CGI.zip"
+HREF="http://landfill.bugzilla.org/ppm/AppConfig.ppd"
+TARGET="_top"
+>http://landfill.bugzilla.org/ppm/AppConfig.ppd</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
+HREF="http://search.cpan.org/~abw/AppConfig-1.56/lib/AppConfig.pm"
+TARGET="_top"
+>http://search.cpan.org/~abw/AppConfig-1.56/lib/AppConfig.pm</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
+>
+    </P
+><P
+>&#13;      CGI:
+      <P
+CLASS="literallayout"
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
+HREF="http://search.cpan.org/dist/CGI.pm/"
 TARGET="_top"
->http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/CGI.zip</A
+>http://search.cpan.org/dist/CGI.pm/</A
 ><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;Part&nbsp;of&nbsp;core&nbsp;distribution.<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://www.perldoc.com/perl5.8.0/lib/CGI.html"
 TARGET="_top"
@@ -11482,7 +16821,26 @@ TARGET="_top"
 >
     </P
 ><P
->TimeDate:
+>&#13;      Data-Dumper:
+      <P
+CLASS="literallayout"
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
+HREF="http://search.cpan.org/src/ILYAM/Data-Dumper-2.121/Dumper.pm"
+TARGET="_top"
+>http://search.cpan.org/src/ILYAM/Data-Dumper-2.121/Dumper.pm</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;Part&nbsp;of&nbsp;core&nbsp;distribution.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
+HREF="http://search.cpan.org/~ilyam/Data-Dumper-2.121/Dumper.pm"
+TARGET="_top"
+>http://search.cpan.org/~ilyam/Data-Dumper-2.121/Dumper.pm</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
+>
+    </P
+><P
+>&#13;      Date::Format (part of TimeDate):
       <P
 CLASS="literallayout"
 ><br>
@@ -11492,9 +16850,9 @@ TARGET="_top"
 >http://search.cpan.org/dist/TimeDate/</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
-HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/TimeDate.zip"
+HREF="http://landfill.bugzilla.org/ppm/TimeDate.ppd"
 TARGET="_top"
->http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/TimeDate.zip</A
+>http://landfill.bugzilla.org/ppm/TimeDate.ppd</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://search.cpan.org/dist/TimeDate/lib/Date/Format.pm"
@@ -11505,7 +16863,7 @@ TARGET="_top"
 >
     </P
 ><P
->DBI:
+>&#13;      DBI:
       <P
 CLASS="literallayout"
 ><br>
@@ -11515,9 +16873,9 @@ TARGET="_top"
 >http://search.cpan.org/dist/DBI/</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
-HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBI.zip"
+HREF="http://landfill.bugzilla.org/ppm/DBI.ppd"
 TARGET="_top"
->http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBI.zip</A
+>http://landfill.bugzilla.org/ppm/DBI.ppd</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://dbi.perl.org/docs/"
@@ -11528,7 +16886,7 @@ TARGET="_top"
 >
     </P
 ><P
->DBD::mysql:
+>&#13;      DBD::mysql:
       <P
 CLASS="literallayout"
 ><br>
@@ -11538,9 +16896,9 @@ TARGET="_top"
 >http://search.cpan.org/dist/DBD-mysql/</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
-HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBD-Mysql.zip"
+HREF="http://landfill.bugzilla.org/ppm/DBD-mysql.ppd"
 TARGET="_top"
->http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBD-Mysql.zip</A
+>http://landfill.bugzilla.org/ppm/DBD-mysql.ppd</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pm"
@@ -11551,7 +16909,7 @@ TARGET="_top"
 >
     </P
 ><P
->File::Spec:
+>&#13;      File::Spec:
       <P
 CLASS="literallayout"
 ><br>
@@ -11560,11 +16918,7 @@ HREF="http://search.cpan.org/dist/File-Spec/"
 TARGET="_top"
 >http://search.cpan.org/dist/File-Spec/</A
 ><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;<A
-HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/File-Spec.zip"
-TARGET="_top"
->http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/File-Spec.zip</A
-><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;Part&nbsp;of&nbsp;core&nbsp;distribution.<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://www.perldoc.com/perl5.8.0/lib/File/Spec.html"
 TARGET="_top"
@@ -11574,7 +16928,7 @@ TARGET="_top"
 >
     </P
 ><P
->File::Temp:
+>&#13;      File::Temp:
       <P
 CLASS="literallayout"
 ><br>
@@ -11583,6 +16937,7 @@ HREF="http://search.cpan.org/dist/File-Temp/"
 TARGET="_top"
 >http://search.cpan.org/dist/File-Temp/</A
 ><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;Part&nbsp;of&nbsp;core&nbsp;distribution.<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://www.perldoc.com/perl5.8.0/lib/File/Temp.html"
 TARGET="_top"
@@ -11592,7 +16947,7 @@ TARGET="_top"
 >
     </P
 ><P
->Template Toolkit:
+>&#13;      Template-Toolkit:
       <P
 CLASS="literallayout"
 ><br>
@@ -11602,9 +16957,9 @@ TARGET="_top"
 >http://search.cpan.org/dist/Template-Toolkit/</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
-HREF="http://openinteract.sourceforge.net/ppmpackages/5.6/Template-Toolkit.tar.gz"
+HREF="http://landfill.bugzilla.org/ppm/Template-Toolkit.ppd"
 TARGET="_top"
->http://openinteract.sourceforge.net/ppmpackages/5.6/Template-Toolkit.tar.gz</A
+>http://landfill.bugzilla.org/ppm/Template-Toolkit.ppd</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://www.template-toolkit.org/docs.html"
@@ -11615,7 +16970,7 @@ TARGET="_top"
 >
     </P
 ><P
->Text::Wrap:
+>&#13;       Text::Wrap:
       <P
 CLASS="literallayout"
 ><br>
@@ -11624,6 +16979,7 @@ HREF="http://search.cpan.org/dist/Text-Tabs+Wrap/"
 TARGET="_top"
 >http://search.cpan.org/dist/Text-Tabs+Wrap/</A
 ><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;Part&nbsp;of&nbsp;core&nbsp;distribution.<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://www.perldoc.com/perl5.8.0/lib/Text/Wrap.html"
 TARGET="_top"
@@ -11633,7 +16989,7 @@ TARGET="_top"
 >
     </P
 ><P
->GD:
+>&#13;      GD:
       <P
 CLASS="literallayout"
 ><br>
@@ -11643,9 +16999,9 @@ TARGET="_top"
 >http://search.cpan.org/dist/GD/</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
-HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GD.zip"
+HREF="http://landfill.bugzilla.org/ppm/GD.ppd"
 TARGET="_top"
->http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GD.zip</A
+>http://landfill.bugzilla.org/ppm/GD.ppd</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://stein.cshl.org/WWW/software/GD/"
@@ -11655,9 +17011,17 @@ TARGET="_top"
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
 >
     </P
+></DIV
+><DIV
+CLASS="section"
+><HR><H2
+CLASS="section"
+><A
+NAME="modules-manual-optional"
+>D.3. Optional Modules</A
+></H2
 ><P
->Chart::Base:
-      
+>&#13;      Chart::Base:
       <P
 CLASS="literallayout"
 ><br>
@@ -11666,11 +17030,21 @@ HREF="http://search.cpan.org/dist/Chart/"
 TARGET="_top"
 >http://search.cpan.org/dist/Chart/</A
 ><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;<A
+HREF="http://landfill.bugzilla.org/ppm/Chart.ppd"
+TARGET="_top"
+>http://landfill.bugzilla.org/ppm/Chart.ppd</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
+HREF="http://search.cpan.org/src/CHARTGRP/Chart-2.3/doc/Documentation.pdf"
+TARGET="_top"
+>http://search.cpan.org/src/CHARTGRP/Chart-2.3/doc/Documentation.pdf</A
+><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
 >
     </P
 ><P
->GD::Graph:
+>&#13;      GD::Graph:
       <P
 CLASS="literallayout"
 ><br>
@@ -11680,9 +17054,9 @@ TARGET="_top"
 >http://search.cpan.org/dist/GDGraph/</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
-HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDGraph.zip"
+HREF="http://landfill.bugzilla.org/ppm/GDGraph.ppd"
 TARGET="_top"
->http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDGraph.zip</A
+>http://landfill.bugzilla.org/ppm/GDGraph.ppd</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://search.cpan.org/dist/GDGraph/Graph.pm"
@@ -11693,7 +17067,7 @@ TARGET="_top"
 >
     </P
 ><P
->GD::Text::Align:
+>&#13;      GD::Text::Align (part of GD::Text::Util):
       <P
 CLASS="literallayout"
 ><br>
@@ -11703,9 +17077,9 @@ TARGET="_top"
 >http://search.cpan.org/dist/GDTextUtil/</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;<A
-HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDTextUtil.zip"
+HREF="http://landfill.bugzilla.org/ppm/GDTextUtil.ppd"
 TARGET="_top"
->http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDTextUtil.zip</A
+>http://landfill.bugzilla.org/ppm/GDTextUtil.ppd</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://search.cpan.org/dist/GDTextUtil/Text/Align.pm"
@@ -11716,7 +17090,7 @@ TARGET="_top"
 >
     </P
 ><P
->MIME::Parser:
+>&#13;      MIME::Parser (part of MIME-tools):
       <P
 CLASS="literallayout"
 ><br>
@@ -11726,9 +17100,9 @@ TARGET="_top"
 >http://search.cpan.org/dist/MIME-tools/</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
-HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/MIME-tools.zip"
+HREF="http://ppm.activestate.com/PPMPackages/zips/8xx-builds-only/Windows/MIME-tools-5.411a.zip"
 TARGET="_top"
->http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/MIME-tools.zip</A
+>http://ppm.activestate.com/PPMPackages/zips/8xx-builds-only/Windows/MIME-tools-5.411a.zip</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm"
@@ -11739,7 +17113,7 @@ TARGET="_top"
 >
     </P
 ><P
->XML::Parser:
+>&#13;      XML::Parser:
       <P
 CLASS="literallayout"
 ><br>
@@ -11748,6 +17122,7 @@ HREF="http://search.cpan.org/dist/XML-Parser/"
 TARGET="_top"
 >http://search.cpan.org/dist/XML-Parser/</A
 ><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;Part&nbsp;of&nbsp;core&nbsp;distribution.<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://www.perldoc.com/perl5.6.1/lib/XML/Parser.html"
 TARGET="_top"
@@ -11757,7 +17132,7 @@ TARGET="_top"
 >
     </P
 ><P
->PatchReader:
+>&#13;      PatchReader:
       <P
 CLASS="literallayout"
 ><br>
@@ -11766,6 +17141,11 @@ HREF="http://search.cpan.org/author/JKEISER/PatchReader/"
 TARGET="_top"
 >http://search.cpan.org/author/JKEISER/PatchReader/</A
 ><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
+HREF="http://landfill.bugzilla.org/ppm/PatchReader.ppd"
+TARGET="_top"
+>http://landfill.bugzilla.org/ppm/PatchReader.ppd</A
+><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://www.johnkeiser.com/mozilla/Patch_Viewer.html"
 TARGET="_top"
@@ -11782,11 +17162,11 @@ CLASS="appendix"
 ><A
 NAME="gfdl"
 ></A
->Appendix D. GNU Free Documentation License</H1
+>Appendix E. GNU Free Documentation License</H1
 ><P
 >Version 1.1, March 2000</P
 ><A
-NAME="AEN2196"
+NAME="AEN3113"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
@@ -12249,7 +17629,7 @@ NAME="gfdl-howto"
     of the License in the document and put the following copyright and
     license notices just after the title page:</P
 ><A
-NAME="AEN2286"
+NAME="AEN3203"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
@@ -12286,11 +17666,14 @@ CLASS="glossdiv"
 ><H1
 CLASS="glossdiv"
 ><A
-NAME="AEN2291"
+NAME="AEN3208"
 >0-9, high ascii</A
 ></H1
 ><DL
 ><DT
+><A
+NAME="gloss-htaccess"
+></A
 ><B
 >.htaccess</B
 ></DT
@@ -12659,6 +18042,9 @@ NAME="gloss-d"
 ></H1
 ><DL
 ><DT
+><A
+NAME="gloss-daemon"
+></A
 ><B
 >daemon</B
 ></DT
@@ -12678,6 +18064,31 @@ CLASS="glossterm"
 >, 
         a web server, are generally run as daemons.</P
 ></DD
+><DT
+><A
+NAME="gloss-dos"
+></A
+><B
+>DOS Attack</B
+></DT
+><DD
+><P
+>A DOS, or Denial of Service attack, is when a user attempts to
+        deny access to a web server by repeatadly accessing a page or sending
+        malformed requests to a webserver. This can be effectively prevented
+        by using <TT
+CLASS="filename"
+>mod_throttle</TT
+> as described in
+        <A
+HREF="#security-webserver-mod-throttle"
+>Section 4.3.2</A
+>. A D-DOS, or
+        Distributed Denial of Service attack, is when these requests come
+        from multiple sources at the same time. Unfortunately, these are much
+        more difficult to defend against.
+        </P
+></DD
 ></DL
 ></DIV
 ><DIV
@@ -12849,7 +18260,7 @@ TARGET="_top"
 >Much more detailed information about the suggestions in
               <A
 HREF="#security-mysql"
->Section 2.2.2.1</A
+>Section 4.2</A
 >.
               </P
 ></DD
@@ -13010,6 +18421,25 @@ NAME="gloss-s"
 ></H1
 ><DL
 ><DT
+><A
+NAME="gloss-service"
+></A
+><B
+>Service</B
+></DT
+><DD
+><P
+>In Windows NT environment, a boot-time background application
+        is refered to as a service. These are generally managed through the
+        control pannel while logged in as an account with
+        <SPAN
+CLASS="QUOTE"
+>"Administrator"</SPAN
+> level capabilities. For more
+        information, consult your Windows manual or the MSKB.
+        </P
+></DD
+><DT
 ><B
 >&#13;        <ACRONYM
 CLASS="acronym"
@@ -13150,7 +18580,7 @@ NAME="gloss-zarro"
         Terry had the following to say:
         </P
 ><A
-NAME="AEN2526"
+NAME="AEN3454"
 ></A
 ><TABLE
 BORDER="0"
diff --git a/docs/html/about.html b/docs/html/about.html
index 8409bc72059b08b0e7c77ce57197fa8cc7dae816..57020d18945d97c95285ae5eb9bd83b033d68769 100644
--- a/docs/html/about.html
+++ b/docs/html/about.html
@@ -7,12 +7,10 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="PREVIOUS"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="NEXT"
 TITLE="Copyright Information"
@@ -36,8 +34,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -154,8 +151,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TD
+>The Bugzilla Guide - 2.18 Release</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
diff --git a/docs/html/administration.html b/docs/html/administration.html
index 1d0ee8a96801df5f32e42c4d9ddd52916ac7aeda..3c81b0ecd5bc140f30e0af41bf150602e593c5bf 100644
--- a/docs/html/administration.html
+++ b/docs/html/administration.html
@@ -7,12 +7,11 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="PREVIOUS"
-TITLE="Troubleshooting"
-HREF="troubleshooting.html"><LINK
+TITLE="UNIX (non-root) Installation Notes"
+HREF="nonroot.html"><LINK
 REL="NEXT"
 TITLE="Bugzilla Configuration"
 HREF="parameters.html"></HEAD
@@ -35,8 +34,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -44,7 +42,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="troubleshooting.html"
+HREF="nonroot.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -127,16 +125,79 @@ HREF="milestones.html"
 ></DT
 ><DT
 >3.7. <A
+HREF="flags-overview.html"
+>Flags</A
+></DT
+><DD
+><DL
+><DT
+>3.7.1. <A
+HREF="flags-overview.html#flags-simpleexample"
+>A Simple Example</A
+></DT
+><DT
+>3.7.2. <A
+HREF="flags-overview.html#flags-about"
+>About Flags</A
+></DT
+><DT
+>3.7.3. <A
+HREF="flags-overview.html#flag-askto"
+>Using flag requests</A
+></DT
+><DT
+>3.7.4. <A
+HREF="flags-overview.html#flag-types"
+>Two Types of Flags</A
+></DT
+><DT
+>3.7.5. <A
+HREF="flags-overview.html#flags-admin"
+>Administering Flags</A
+></DT
+></DL
+></DD
+><DT
+>3.8. <A
 HREF="voting.html"
 >Voting</A
 ></DT
 ><DT
->3.8. <A
+>3.9. <A
+HREF="quips.html"
+>Quips</A
+></DT
+><DT
+>3.10. <A
 HREF="groups.html"
 >Groups and Group Security</A
 ></DT
+><DD
+><DL
 ><DT
->3.9. <A
+>3.10.1. <A
+HREF="groups.html#AEN1336"
+>Creating Groups</A
+></DT
+><DT
+>3.10.2. <A
+HREF="groups.html#AEN1363"
+>Assigning Users to Groups</A
+></DT
+><DT
+>3.10.3. <A
+HREF="groups.html#AEN1373"
+>Assigning Group Controls to Products</A
+></DT
+><DT
+>3.10.4. <A
+HREF="groups.html#AEN1391"
+>Common Applications of Group Controls</A
+></DT
+></DL
+></DD
+><DT
+>3.11. <A
 HREF="upgrading.html"
 >Upgrading to New Releases</A
 ></DT
@@ -159,7 +220,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="troubleshooting.html"
+HREF="nonroot.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -187,7 +248,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Troubleshooting</TD
+>UNIX (non-root) Installation Notes</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
diff --git a/docs/html/bug_page.html b/docs/html/bug_page.html
index 8ea3943b96fb602e5b2327ddcb6ea8e28cf9c544..640d4dc37d02acc17b89d625c0d597e698b73520 100644
--- a/docs/html/bug_page.html
+++ b/docs/html/bug_page.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Using Bugzilla"
@@ -17,8 +16,8 @@ REL="PREVIOUS"
 TITLE="Create a Bugzilla Account"
 HREF="myaccount.html"><LINK
 REL="NEXT"
-TITLE="Searching for Bugs"
-HREF="query.html"></HEAD
+TITLE="Life Cycle of a Bug"
+HREF="lifecycle.html"></HEAD
 ><BODY
 CLASS="section"
 BGCOLOR="#FFFFFF"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,13 +53,13 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Chapter 5. Using Bugzilla</TD
+>Chapter 6. Using Bugzilla</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="query.html"
+HREF="lifecycle.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -76,13 +74,13 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="bug_page"
->5.3. Anatomy of a Bug</A
+>6.3. Anatomy of a Bug</A
 ></H1
 ><P
 >The core of Bugzilla is the screen which displays a particular
     bug. It's a good place to explain some Bugzilla concepts. 
     <A
-HREF="http://landfill.bugzilla.org/bugzilla-tip/show_bug.cgi?id=1"
+HREF="http://landfill.bugzilla.org/bugzilla-2.18-branch/show_bug.cgi?id=1"
 TARGET="_top"
 >&#13;    Bug 1 on Landfill</A
 >
@@ -371,7 +369,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="query.html"
+HREF="lifecycle.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -395,7 +393,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Searching for Bugs</TD
+>Life Cycle of a Bug</TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/docs/html/bugreports.html b/docs/html/bugreports.html
index e5632abc8425a3c31680272749b579030fdbfb3b..c1e02dcdb912a6cef24d73828863236880d7b0ef 100644
--- a/docs/html/bugreports.html
+++ b/docs/html/bugreports.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Using Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Chapter 5. Using Bugzilla</TD
+>Chapter 6. Using Bugzilla</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
@@ -76,13 +74,13 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="bugreports"
->5.6. Filing Bugs</A
+>6.7. Filing Bugs</A
 ></H1
 ><P
 >Years of bug writing experience has been distilled for your
     reading pleasure into the 
     <A
-HREF="http://landfill.bugzilla.org/bugzilla-tip/bugwritinghelp.html"
+HREF="http://landfill.bugzilla.org/bugzilla-2.18-branch/page.cgi?id=bug-writing.html"
 TARGET="_top"
 >&#13;    Bug Writing Guidelines</A
 >. 
@@ -102,13 +100,13 @@ TYPE="1"
 ><P
 >Go to 
         <A
-HREF="http://landfill.bugzilla.org/bugzilla-tip/"
+HREF="http://landfill.bugzilla.org/bugzilla-2.18-branch/"
 TARGET="_top"
 >&#13;        Landfill</A
 >
         in your browser and click 
         <A
-HREF="http://landfill.bugzilla.org/bugzilla-tip/enter_bug.cgi"
+HREF="http://landfill.bugzilla.org/bugzilla-2.18-branch/enter_bug.cgi"
 TARGET="_top"
 >&#13;        Enter a new bug report</A
 >.
diff --git a/docs/html/cmdline-bugmail.html b/docs/html/cmdline-bugmail.html
new file mode 100644
index 0000000000000000000000000000000000000000..774fb1a776eb28bdd4d1d638846cb4bda85959bb
--- /dev/null
+++ b/docs/html/cmdline-bugmail.html
@@ -0,0 +1,186 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Command-line 'Send Unsent Bug-mail' tool</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Contrib"
+HREF="patches.html"><LINK
+REL="PREVIOUS"
+TITLE="Command-line Search Interface"
+HREF="cmdline.html"><LINK
+REL="NEXT"
+TITLE="Manual Installation of Perl Modules"
+HREF="install-perlmodules-manual.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="cmdline.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Appendix C. Contrib</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="install-perlmodules-manual.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="cmdline-bugmail"
+>C.2. Command-line 'Send Unsent Bug-mail' tool</A
+></H1
+><P
+>&#13;      Within the <TT
+CLASS="filename"
+>contrib</TT
+> directory
+      exists a utility with the descriptive (if compact) name
+      of <TT
+CLASS="filename"
+>sendunsentbugmail.pl</TT
+>. The purpose of this
+      script is, simply, to send out any bug-related mail that should
+      have been sent by now, but for one reason or another has not.
+    </P
+><P
+>&#13;      To accomplish this task, <TT
+CLASS="filename"
+>sendunsentbugmail.pl</TT
+> uses
+      the same mechanism as the <TT
+CLASS="filename"
+>sanitycheck.cgi</TT
+> script; it
+      it scans through the entire database looking for bugs with changes that
+      were made more than 30 minutes ago, but where there is no record of
+      anyone related to that bug having been sent mail. Having compiled a list,
+      it then uses the standard rules to determine who gets mail, and sends it
+      out.
+    </P
+><P
+>&#13;      As the script runs, it indicates the bug for which it is currently
+      sending mail; when it has finished, it gives a numerical count of how
+      many mails were sent and how many people were excluded. (Individual
+      user names are not recorded or displayed.) If the script produces
+      no output, that means no unsent mail was detected.
+    </P
+><P
+>&#13;      <EM
+>Usage</EM
+>: move the sendunsentbugmail.pl script
+      up into the main directory, ensure it has execute permission, and run it
+      from the command line (or from a cron job) with no parameters.
+    </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="cmdline.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="install-perlmodules-manual.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Command-line Search Interface</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="patches.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Manual Installation of Perl Modules</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/cmdline.html b/docs/html/cmdline.html
index aa6ae62b3175b8bae9f4f0a6e8d5f7d2abac4196..f0ae57bf9d99bf455c0195f571307db569ea3601 100644
--- a/docs/html/cmdline.html
+++ b/docs/html/cmdline.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Contrib"
@@ -17,8 +16,8 @@ REL="PREVIOUS"
 TITLE="Contrib"
 HREF="patches.html"><LINK
 REL="NEXT"
-TITLE="Manual Installation of Perl Modules"
-HREF="install-perlmodules-manual.html"></HEAD
+TITLE="Command-line 'Send Unsent Bug-mail' tool"
+HREF="cmdline-bugmail.html"></HEAD
 ><BODY
 CLASS="section"
 BGCOLOR="#FFFFFF"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,13 +53,13 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Appendix B. Contrib</TD
+>Appendix C. Contrib</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="install-perlmodules-manual.html"
+HREF="cmdline-bugmail.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -76,77 +74,139 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="cmdline"
->B.1. Command-line Search Interface</A
+>C.1. Command-line Search Interface</A
 ></H1
 ><P
->There are a suite of Unix utilities for searching Bugzilla from the 
-    command line. They live in the 
-    <TT
+>&#13;      There are a suite of Unix utilities for searching Bugzilla from the 
+      command line. They live in the 
+      <TT
 CLASS="filename"
 >contrib/cmdline</TT
-> 
-    directory. However, they
-    have not yet been updated to work with 2.16 (post-templatisation.).
-    There are three files - <TT
+> directory.
+      There are three files - <TT
 CLASS="filename"
 >query.conf</TT
->, 
-    <TT
+>,
+      <TT
 CLASS="filename"
 >buglist</TT
 > and <TT
 CLASS="filename"
 >bugs</TT
->.</P
+>.
+    </P
+><DIV
+CLASS="warning"
+><P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
 ><P
-><TT
+>&#13;        These files pre-date the templatisation work done as part of the
+        2.16 release, and have not been updated.
+      </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;      <TT
 CLASS="filename"
 >query.conf</TT
-> 
-    contains the mapping from options to field
-    names and comparison types. Quoted option names are "grepped" for, so it
-    should be easy to edit this file. Comments (#) have no effect; you must
-    make sure these lines do not contain any quoted "option".</P
+> contains the mapping from
+      options to field names and comparison types. Quoted option names
+      are <SPAN
+CLASS="QUOTE"
+>"grepped"</SPAN
+> for, so it should be easy to edit this
+      file. Comments (#) have no effect; you must make sure these lines
+      do not contain any quoted <SPAN
+CLASS="QUOTE"
+>"option"</SPAN
+>.
+    </P
 ><P
-><TT
+>&#13;      <TT
 CLASS="filename"
 >buglist</TT
+> is a shell script that submits a
+      Bugzilla query and writes the resulting HTML page to stdout.
+      It supports both short options, (such as <SPAN
+CLASS="QUOTE"
+>"-Afoo"</SPAN
 >
-    is a shell script which submits a Bugzilla query and writes
-    the resulting HTML page to stdout. It supports both short options, (such
-    as "-Afoo" or "-Rbar") and long options (such as "--assignedto=foo" or
-    "--reporter=bar"). If the first character of an option is not "-", it is
-    treated as if it were prefixed with "--default=".</P
+      or <SPAN
+CLASS="QUOTE"
+>"-Rbar"</SPAN
+>) and long options (such
+      as <SPAN
+CLASS="QUOTE"
+>"--assignedto=foo"</SPAN
+> or <SPAN
+CLASS="QUOTE"
+>"--reporter=bar"</SPAN
+>).
+      If the first character of an option is not <SPAN
+CLASS="QUOTE"
+>"-"</SPAN
+>, it is
+      treated as if it were prefixed with <SPAN
+CLASS="QUOTE"
+>"--default="</SPAN
+>.
+    </P
 ><P
->The column list is taken from the COLUMNLIST environment variable.
-    This is equivalent to the "Change Columns" option when you list bugs in
-    buglist.cgi. If you have already used Bugzilla, grep for COLUMNLIST
-    in your cookies file to see your current COLUMNLIST setting.</P
+>&#13;      The column list is taken from the COLUMNLIST environment variable.
+      This is equivalent to the <SPAN
+CLASS="QUOTE"
+>"Change Columns"</SPAN
+> option
+      that is available when you list bugs in buglist.cgi. If you have
+      already used Bugzilla, grep for COLUMNLIST in your cookies file
+      to see your current COLUMNLIST setting.
+    </P
 ><P
-><TT
+>&#13;      <TT
 CLASS="filename"
 >bugs</TT
 > is a simple shell script which calls
-    <TT
+      <TT
 CLASS="filename"
 >buglist</TT
 > and extracts the
-    bug numbers from the output. Adding the prefix
-    "http://bugzilla.mozilla.org/buglist.cgi?bug_id=" turns the bug list into
-    a working link if any bugs are found. Counting bugs is easy. Pipe the
-    results through 
-    <B
+      bug numbers from the output. Adding the prefix
+      <SPAN
+CLASS="QUOTE"
+>"http://bugzilla.mozilla.org/buglist.cgi?bug_id="</SPAN
+>
+      turns the bug list into a working link if any bugs are found.
+      Counting bugs is easy. Pipe the results through 
+      <B
 CLASS="command"
 >sed -e 's/,/ /g' | wc | awk '{printf $2 "\n"}'</B
 >
     </P
 ><P
->Akkana Peck says she has good results piping 
-    <TT
+>&#13;      Akkana Peck says she has good results piping 
+      <TT
 CLASS="filename"
 >buglist</TT
 > output through 
-    <B
+      <B
 CLASS="command"
 >w3m -T text/html -dump</B
 >
@@ -186,7 +246,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="install-perlmodules-manual.html"
+HREF="cmdline-bugmail.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -210,7 +270,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Manual Installation of Perl Modules</TD
+>Command-line 'Send Unsent Bug-mail' tool</TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/docs/html/components.html b/docs/html/components.html
index c6a5e2f660fd632cf8bb3d1f243d17323658f233..38a3011d7d56820cc89d4d6c1a093f34940ae58d 100644
--- a/docs/html/components.html
+++ b/docs/html/components.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Administering Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
diff --git a/docs/html/configuration.html b/docs/html/configuration.html
index 9aa9ffe99456359d201ebcfc291a782cb25104ec..2329d8a942fea98600d9486dcd8020312d6829fe 100644
--- a/docs/html/configuration.html
+++ b/docs/html/configuration.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Installing Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -99,10 +97,15 @@ ALT="Warning"></TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->Poorly-configured MySQL and Bugzilla installations have
-      given attackers full access to systems in the past. Please take the
-      security parts of these guidelines seriously, even for Bugzilla 
-      machines hidden away behind your firewall.</P
+>&#13;        Poorly-configured MySQL and Bugzilla installations have
+        given attackers full access to systems in the past. Please take the
+        security parts of these guidelines seriously, even for Bugzilla 
+        machines hidden away behind your firewall. Be certain to read
+        <A
+HREF="security.html"
+>Chapter 4</A
+> for some important security tips.
+      </P
 ></TD
 ></TR
 ></TABLE
@@ -121,21 +124,20 @@ CLASS="filename"
 >checksetup.pl</TT
 > with all the correct 
         modules installed, it displays a message about, and write out a 
-        file called, 
-        <TT
+        file called, <TT
 CLASS="filename"
 >localconfig</TT
->. This file contains the default
-        settings for a number of Bugzilla parameters.
+>. This file contains
+        the default settings for a number of Bugzilla parameters.
       </P
 ><P
->Load this file in your editor. The only value you 
-      <EM
+>&#13;        Load this file in your editor. The only value you 
+        <EM
 >need</EM
 > to change is $db_pass, the password for
-      the user you will create for your database.
-      Pick a strong password (for simplicity, it should not contain
-      single quote characters) and put it here.
+        the user you will create for your database. Pick a strong
+        password (for simplicity, it should not contain single quote
+        characters) and put it here.
       </P
 ><P
 >&#13;        The other options in the <TT
@@ -150,11 +152,11 @@ CLASS="filename"
 >&#13;        You may also wish to change the names of 
         the priorities, severities, operating systems and platforms for your
         installation. However, you can always change these after installation
-        has finished; if you then re-run 
-        <TT
+        has finished; if you then re-run <TT
 CLASS="filename"
 >checksetup.pl</TT
->, the changes will get picked up.
+>,
+        the changes will get picked up.
       </P
 ></DIV
 ><DIV
@@ -166,44 +168,76 @@ NAME="mysql"
 >2.2.2. MySQL</A
 ></H2
 ><DIV
+CLASS="caution"
+><P
+></P
+><TABLE
+CLASS="caution"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/caution.gif"
+HSPACE="5"
+ALT="Caution"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          MySQL's default configuration is very insecure.
+          <A
+HREF="security-mysql.html"
+>Section 4.2</A
+> has some good information for
+          improving your installation's security.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
 CLASS="section"
 ><H3
 CLASS="section"
 ><A
-NAME="security-mysql"
->2.2.2.1. Security</A
+NAME="install-setupdatabase"
+>2.2.2.1. Allow large attachments</A
 ></H3
 ><P
->MySQL ships as insecure by default.
-        It allows anybody to on the local machine full administrative 
-        capabilities without requiring a password; the special
-        MySQL root account (note: this is <EM
->not</EM
-> the same as
-        the system root) also has no password.
-        Also, many installations default to running
-        <SPAN
-CLASS="application"
->mysqld</SPAN
-> as the system root.
+>&#13;          By default, MySQL will only accept packets up to 64Kb in size.
+          If you want to have attachments larger than this, you will need
+          to modify your <TT
+CLASS="filename"
+>/etc/my.cnf</TT
+> as below.
         </P
 ><P
-></P
-><OL
-TYPE="1"
-><LI
+>&#13;          If you are using MySQL 4.0 or newer, enter:
+        </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>  [mysqld]
+  # Allow packets up to 1M
+  max_allowed_packet=1M</PRE
+></FONT
+></TD
+></TR
+></TABLE
 ><P
->To disable the anonymous user account
-            and set a password for the root user, execute the following. The
-            root user password should be different to the bugs user password
-            you set in 
-            <TT
-CLASS="filename"
->localconfig</TT
-> in the previous section, 
-            and also different to
-            the password for the system root account on your machine.
-            </P
+>&#13;          If you are using an older version of MySQL, enter:
+        </P
 ><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -214,55 +248,44 @@ WIDTH="100%"
 COLOR="#000000"
 ><PRE
 CLASS="screen"
->  <SAMP
-CLASS="prompt"
->bash$</SAMP
-> mysql mysql
-  <SAMP
-CLASS="prompt"
->mysql&#62;</SAMP
-> DELETE FROM user WHERE user = '';
-  <SAMP
-CLASS="prompt"
->mysql&#62;</SAMP
-> UPDATE user SET password = password('<VAR
-CLASS="replaceable"
->new_password</VAR
->') WHERE user = 'root';
-  <SAMP
-CLASS="prompt"
->mysql&#62;</SAMP
-> FLUSH PRIVILEGES;</PRE
+>  [mysqld]
+  # Allow packets up to 1M
+  set-variable = max_allowed_packet=1M</PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
 ><P
->From this point forward, to run the 
-            <TT
-CLASS="filename"
->mysql</TT
-> command-line client, 
-            you will need to type
-            <B
-CLASS="command"
->mysql -u root -p</B
-> and enter
-            <VAR
-CLASS="replaceable"
->new_password</VAR
-> when prompted.
-            </P
-></LI
-><LI
+>&#13;          There is also a parameter in Bugzilla called 'maxattachmentsize'
+          (default = 1000 Kb) that controls the maximum allowable attachment
+          size. Attachments larger than <EM
+>either</EM
+> the 
+          'max_allowed_packet' or 'maxattachmentsize' value will not be
+          accepted by Bugzilla.
+        </P
+></DIV
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="AEN401"
+>2.2.2.2. Allow small words in full-text indexes</A
+></H3
 ><P
->If you run MySQL on the same machine as your web server, you
-            should disable remote access to MySQL by adding
-            the following to your <TT
+>By default, words must be at least four characters in length
+        in order to be indexed by MySQL's full-text indexes. This causes
+        a lot of Bugzilla specific words to be missed, including "cc",
+        "ftp" and "uri".</P
+><P
+>MySQL can be configured to index those words by setting the
+        ft_min_word_len param to the minimum size of the words to index.
+        This can be done by modifying the <TT
 CLASS="filename"
->/etc/my.conf</TT
->:
-            </P
+>/etc/my.cnf</TT
+>
+        according to the example below:</P
 ><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -272,55 +295,70 @@ WIDTH="100%"
 ><FONT
 COLOR="#000000"
 ><PRE
-CLASS="programlisting"
->  [myslqd]
-  # Prevent network access to MySQL.
-  skip-networking</PRE
+CLASS="screen"
+>  [mysqld]
+  # Allow small words in full-text indexes
+  ft_min_word_len=2</PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
-></LI
-><LI
 ><P
->Consult the documentation that came with your system for
-            information on making <SPAN
-CLASS="application"
->mysqld</SPAN
-> run as an
-            unprivileged user.
-            </P
-></LI
-><LI
+>Rebuilding the indexes can be done based on documentation found at
+        <A
+HREF="http://www.mysql.com/doc/en/Fulltext_Fine-tuning.html"
+TARGET="_top"
+>http://www.mysql.com/doc/en/Fulltext_Fine-tuning.html</A
+>.
+        </P
+><DIV
+CLASS="note"
 ><P
->For added security, you could also run MySQL, or even all 
-            of Bugzilla
-            in a chroot jail; however, instructions for doing that are beyond
-            the scope of this document.
-            </P
-></LI
-></OL
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;            The ft_min_word_len parameter is only suported in MySQL v4 or higher.
+          </P
+></TD
+></TR
+></TABLE
+></DIV
 ></DIV
 ><DIV
 CLASS="section"
 ><H3
 CLASS="section"
 ><A
-NAME="install-setupdatabase"
->2.2.2.2. Allow large attachments</A
+NAME="AEN411"
+>2.2.2.3. Permit attachments table to grow beyond 4GB</A
 ></H3
 ><P
->You need to configure MySQL to accept large packets, if you
-        want to have attachments larger than 64K. Add the text
-        below to your
-        <TT
+>&#13;          By default, MySQL will limit the size of a table to 4GB.
+          This limit is present even if the underlying filesystem
+          has no such limit.  To set a higher limit, follow these
+          instructions.
+        </P
+><P
+>&#13;          Run the <TT
 CLASS="filename"
->/etc/my.conf</TT
->. 
-        There is also a parameter in Bugzilla
-        for setting the maximum allowable attachment size, (default 1MB).
-        Bugzilla will only accept attachments up to the lower of these two
-        sizes.
+>MySQL</TT
+> command-line client and
+          enter:
         </P
 ><TABLE
 BORDER="0"
@@ -332,13 +370,21 @@ WIDTH="100%"
 COLOR="#000000"
 ><PRE
 CLASS="screen"
->  [mysqld]
-  # Allow packets up to 1M
-  set-variable = max_allowed_packet=1M</PRE
+>  <SAMP
+CLASS="prompt"
+>mysql&#62;</SAMP
+> ALTER TABLE attachments 
+          AVG_ROW_LENGTH=1000000, MAX_ROWS=20000;
+        </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
+><P
+>&#13;          The above command will change the limit to 20GB. Mysql will have 
+          to make a temporary copy of your entire table to do this. Ideally, 
+          you should do this when your attachments table is still small.
+        </P
 ></DIV
 ><DIV
 CLASS="section"
@@ -346,62 +392,63 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="install-setupdatabase-adduser"
->2.2.2.3. Add a user to MySQL</A
+>2.2.2.4. Add a user to MySQL</A
 ></H3
 ><P
->You need to add a new MySQL user for
-        Bugzilla to use. (It's not safe to have Bugzilla use the MySQL root
-        account.) The following instructions assume the defaults in 
-        <TT
+>&#13;          You need to add a new MySQL user for Bugzilla to use.
+          (It's not safe to have Bugzilla use the MySQL root account.)
+          The following instructions assume the defaults in
+          <TT
 CLASS="filename"
 >localconfig</TT
->; 
-        if you changed those, you need to modify the 
-        SQL command appropriately. You will need the 
-        <VAR
+>; if you changed those,
+          you need to modify the SQL command appropriately. You will
+          need the <VAR
 CLASS="replaceable"
 >$db_pass</VAR
-> password you set in
-        <TT
+> password you
+          set in <TT
 CLASS="filename"
 >localconfig</TT
 > in 
-        <A
+          <A
 HREF="configuration.html#localconfig"
 >Section 2.2.1</A
 >.
         </P
 ><P
->We use an SQL <B
+>&#13;          We use an SQL <B
 CLASS="command"
 >GRANT</B
-> command to create a 
-        <SPAN
+> command to create
+          a <SPAN
 CLASS="QUOTE"
 >"bugs"</SPAN
->
-        user. This also restricts the 
-        <SPAN
+> user. This also restricts the 
+          <SPAN
 CLASS="QUOTE"
 >"bugs"</SPAN
->
-        user to operations within a database called 
-        <SPAN
+>user to operations within a database
+          called <SPAN
 CLASS="QUOTE"
 >"bugs"</SPAN
->, and only allows the account to connect from 
-        <SPAN
+>, and only allows the account
+          to connect from <SPAN
 CLASS="QUOTE"
 >"localhost"</SPAN
->. 
-        Modify it to reflect your setup if you will be connecting from
-        another machine or as a different user.</P
+>. Modify it to
+          reflect your setup if you will be connecting from another
+          machine or as a different user.
+        </P
 ><P
->Run the <TT
+>&#13;          Run the <TT
 CLASS="filename"
 >mysql</TT
-> command-line client and
-        enter:</P
+> command-line client.
+        </P
+><P
+>&#13;          If you are using MySQL 4.0 or newer, enter:
+        </P
 ><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -415,9 +462,10 @@ CLASS="screen"
 >  <SAMP
 CLASS="prompt"
 >mysql&#62;</SAMP
-> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,
-         DROP,REFERENCES ON bugs.* TO bugs@localhost
-         IDENTIFIED BY '<VAR
+> GRANT SELECT, INSERT,
+         UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,
+         CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.*
+         TO bugs@localhost IDENTIFIED BY '<VAR
 CLASS="replaceable"
 >$db_pass</VAR
 >';
@@ -429,50 +477,56 @@ CLASS="prompt"
 ></TD
 ></TR
 ></TABLE
-><DIV
-CLASS="note"
 ><P
-></P
-><TABLE
-CLASS="note"
-WIDTH="100%"
-BORDER="0"
-><TR
-><TD
-WIDTH="25"
-ALIGN="CENTER"
-VALIGN="TOP"
-><IMG
-SRC="../images/note.gif"
-HSPACE="5"
-ALT="Note"></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->If you are using MySQL 4, you need to add
-          the <SAMP
+>&#13;          If you are using an older version of MySQL,the
+          <SAMP
 CLASS="computeroutput"
 >LOCK TABLES</SAMP
 > and 
           <SAMP
 CLASS="computeroutput"
 >CREATE TEMPORARY TABLES</SAMP
-> permissions
-          to the list.
-          </P
+>
+          permissions will be unavailable and should be removed from
+          the permissions list. In this case, the following command
+          line can be used:
+        </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>  <SAMP
+CLASS="prompt"
+>mysql&#62;</SAMP
+> GRANT SELECT, INSERT,
+         UPDATE, DELETE, INDEX, ALTER, CREATE, DROP,
+         REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY
+         '<VAR
+CLASS="replaceable"
+>$db_pass</VAR
+>';
+  <SAMP
+CLASS="prompt"
+>mysql&#62;</SAMP
+> FLUSH PRIVILEGES;</PRE
+></FONT
 ></TD
 ></TR
 ></TABLE
 ></DIV
 ></DIV
-></DIV
 ><DIV
 CLASS="section"
 ><H2
 CLASS="section"
 ><A
-NAME="AEN400"
+NAME="AEN446"
 >2.2.3. checksetup.pl</A
 ></H2
 ><P
@@ -515,7 +569,13 @@ NAME="http"
 ></H2
 ><P
 >Configure your web server according to the instructions in the
-      appropriate section. The Bugzilla Team recommends Apache.
+      appropriate section. The Bugzilla Team recommends Apache. No matter
+      what webserver you choose, make sure that sensitive information is
+      not remotely available by ensuring that the access controls in
+      <A
+HREF="security-webserver.html#security-webserver-access"
+>Section 4.3.1</A
+> are properly applied.
       </P
 ><DIV
 CLASS="section"
@@ -611,10 +671,10 @@ CLASS="computeroutput"
 CLASS="filename"
 >checksetup.pl</TT
 > can set tighter permissions
-          on Bugzilla's files and directories if it knows what user the
+          on Bugzilla's files and directories if it knows what group the
           webserver runs as. Look for the <SAMP
 CLASS="computeroutput"
->User</SAMP
+>Group</SAMP
 >
           line in <TT
 CLASS="filename"
@@ -646,48 +706,173 @@ CLASS="productname"
 ></A
 ></H3
 ><P
->If you need, or for some reason even want, to use Microsoft's
-        <SPAN
+>&#13;          If you are running Bugzilla on Windows and choose to use
+          Microsoft's <SPAN
 CLASS="productname"
 >Internet Information Services</SPAN
-> or
-        <SPAN
+>
+          or <SPAN
 CLASS="productname"
 >Personal Web Server</SPAN
-> you should be able
-        to. You will need to configure them to know how to run CGI scripts.
-        This is described in Microsoft Knowledge Base article
-        <A
-HREF="http://support.microsoft.com/support/kb/articles/Q245/2/25.asp"
+> you will need
+          to perform a number of other configuration steps as explained below.
+          You may also want to refer to the following Microsoft Knowledge
+          Base articles: 
+          <A
+HREF="http://support.microsoft.com/default.aspx?scid=kb;en-us;245225"
 TARGET="_top"
->Q245225</A
->
-        for <SPAN
+>245225</A
+> 
+          <SPAN
+CLASS="QUOTE"
+>"HOW TO: Configure and Test a PERL Script with IIS 4.0,
+          5.0, and 5.1"</SPAN
+> (for <SPAN
 CLASS="productname"
->Internet Information Services</SPAN
-> and
-        <A
-HREF="http://support.microsoft.com/support/kb/articles/Q231/9/98.asp"
+>Internet Information
+          Services</SPAN
+>) and 
+          <A
+HREF="http://support.microsoft.com/default.aspx?scid=kb;en-us;231998"
 TARGET="_top"
->Q231998</A
+>231998</A
 >          
-        for <SPAN
+          <SPAN
+CLASS="QUOTE"
+>"HOW TO: FP2000: How to Use Perl with Microsoft Personal Web
+          Server on Windows 95/98"</SPAN
+> (for <SPAN
 CLASS="productname"
->Personal Web Server</SPAN
->.
+>Personal Web
+          Server</SPAN
+>).
         </P
 ><P
->Also, and this can't be stressed enough, make sure that files such as
-        <TT
+>&#13;          You will need to create a virtual directory for the Bugzilla
+          install.  Put the Bugzilla files in a directory that is named
+          something <EM
+>other</EM
+> than what you want your
+          end-users accessing.  That is, if you want your users to access
+          your Bugzilla installation through 
+          <SPAN
+CLASS="QUOTE"
+>"http://&#60;yourdomainname&#62;/Bugzilla"</SPAN
+>, then do
+          <EM
+>not</EM
+> put your Bugzilla files in a directory
+          named <SPAN
+CLASS="QUOTE"
+>"Bugzilla"</SPAN
+>.  Instead, place them in a different
+          location, and then use the IIS Administration tool to create a
+          Virtual Directory named "Bugzilla" that acts as an alias for the
+          actual location of the files.  When creating that virtual directory,
+          make sure you add the <SPAN
+CLASS="QUOTE"
+>"Execute (such as ISAPI applications or
+          CGI)"</SPAN
+> access permission.
+        </P
+><P
+>&#13;          You will also need to tell IIS how to handle Bugzilla's
+          .cgi files. Using the IIS Administration tool again, open up
+          the properties for the new virtual directory and select the
+          Configuration option to access the Script Mappings. Create an
+          entry mapping .cgi to:
+        </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#13;&#60;full path to perl.exe &#62;\perl.exe -x&#60;full path to Bugzilla&#62; -wT "%s" %s
+        </PRE
+></FONT
+></TD
+></TR
+></TABLE
+><P
+>&#13;          For example:
+        </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#13;c:\perl\bin\perl.exe -xc:\bugzilla -wT "%s" %s
+        </PRE
+></FONT
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;            The ActiveState install may have already created an entry for
+            .pl files that is limited to <SPAN
+CLASS="QUOTE"
+>"GET,HEAD,POST"</SPAN
+>. If
+            so, this mapping should be <EM
+>removed</EM
+> as
+            Bugzilla's .pl files are not designed to be run via a webserver.
+          </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;          IIS will also need to know that the index.cgi should be treated
+          as a default document.  On the Documents tab page of the virtual
+          directory properties, you need to add index.cgi as a default
+          document type.  If you  wish, you may remove the other default
+          document types for this particular virtual directory, since Bugzilla 
+          doesn't use any of them.
+        </P
+><P
+>&#13;          Also, and this can't be stressed enough, make sure that files
+          such as <TT
 CLASS="filename"
 >localconfig</TT
-> and your <TT
+> and your
+          <TT
 CLASS="filename"
 >data</TT
->
-        directory are secured as described in <A
-HREF="configuration.html#security-access"
->Section 2.2.4.4</A
+> directory are
+          secured as described in <A
+HREF="security-webserver.html#security-webserver-access"
+>Section 4.3.1</A
 >.
         </P
 ></DIV
@@ -870,229 +1055,6 @@ CLASS="filename"
 ></TABLE
 ></DIV
 ></DIV
-><DIV
-CLASS="section"
-><H3
-CLASS="section"
-><A
-NAME="security-access"
->2.2.4.4. Web Server Access Controls</A
-></H3
-><P
->Users of Apache can skip this section because
-        Bugzilla ships with <TT
-CLASS="filename"
->.htaccess</TT
-> files which 
-        restrict access in the manner required. 
-        Users of other webservers, read on.
-        </P
-><P
->There are several files in the Bugzilla directory
-        that should not be accessible from the web. You need to configure
-        your webserver so they they aren't. Not doing this may reveal
-        sensitive information such as database passwords.
-        </P
-><P
-></P
-><UL
-COMPACT="COMPACT"
-><LI
-><P
->In the main Bugzilla directory, you should:</P
-><P
-></P
-><UL
-COMPACT="COMPACT"
-><LI
-><P
->Block:
-                <TT
-CLASS="filename"
->*.pl</TT
->, <TT
-CLASS="filename"
->*localconfig*</TT
->, <TT
-CLASS="filename"
->runtests.sh</TT
->
-                </P
-></LI
-><LI
-><P
->But allow:
-                <TT
-CLASS="filename"
->localconfig.js</TT
->, <TT
-CLASS="filename"
->localconfig.rdf</TT
->
-                </P
-></LI
-></UL
-></LI
-><LI
-><P
->In <TT
-CLASS="filename"
->data</TT
->:</P
-><P
-></P
-><UL
-COMPACT="COMPACT"
-><LI
-><P
->Block everything</P
-></LI
-><LI
-><P
->But allow:
-                <TT
-CLASS="filename"
->duplicates.rdf</TT
->
-                </P
-></LI
-></UL
-></LI
-><LI
-><P
->In <TT
-CLASS="filename"
->data/webdot</TT
->:</P
-><P
-></P
-><UL
-COMPACT="COMPACT"
-><LI
-><P
->If you use a remote webdot server:</P
-><P
-></P
-><UL
-COMPACT="COMPACT"
-><LI
-><P
->Block everything</P
-></LI
-><LI
-><P
->But allow
-                    <TT
-CLASS="filename"
->*.dot</TT
->
-                    only for the remote webdot server</P
-></LI
-></UL
-></LI
-><LI
-><P
->Otherwise, if you use a local GraphViz:</P
-><P
-></P
-><UL
-COMPACT="COMPACT"
-><LI
-><P
->Block everything</P
-></LI
-><LI
-><P
->But allow:
-                    <TT
-CLASS="filename"
->*.png</TT
->, <TT
-CLASS="filename"
->*.gif</TT
->, <TT
-CLASS="filename"
->*.jpg</TT
->, <TT
-CLASS="filename"
->*.map</TT
->
-                    </P
-></LI
-></UL
-></LI
-><LI
-><P
->And if you don't use any dot:</P
-><P
-></P
-><UL
-COMPACT="COMPACT"
-><LI
-><P
->Block everything</P
-></LI
-></UL
-></LI
-></UL
-></LI
-><LI
-><P
->In <TT
-CLASS="filename"
->Bugzilla</TT
->:</P
-><P
-></P
-><UL
-COMPACT="COMPACT"
-><LI
-><P
->Block everything</P
-></LI
-></UL
-></LI
-><LI
-><P
->In <TT
-CLASS="filename"
->template</TT
->:</P
-><P
-></P
-><UL
-COMPACT="COMPACT"
-><LI
-><P
->Block everything</P
-></LI
-></UL
-></LI
-></UL
-><P
->You should test to make sure that the files mentioned above are
-        not accessible from the Internet, especially your
-        <TT
-CLASS="filename"
->localconfig</TT
-> file which contains your database
-        password. To test, simply point your web browser at the file; for
-        example, to test mozilla.org's installation, we'd try to access
-        <A
-HREF="http://bugzilla.mozilla.org/localconfig"
-TARGET="_top"
->http://bugzilla.mozilla.org/localconfig</A
->. You should
-        get a <SPAN
-CLASS="errorcode"
->403</SPAN
-> <SPAN
-CLASS="errorname"
->Forbidden</SPAN
->
-        error.
-        </P
-></DIV
 ></DIV
 ><DIV
 CLASS="section"
@@ -1112,7 +1074,7 @@ CLASS="filename"
         front page. If not, consult the Troubleshooting section,
         <A
 HREF="troubleshooting.html"
->Section 2.5</A
+>Appendix B</A
 >.
       </P
 ><P
diff --git a/docs/html/conventions.html b/docs/html/conventions.html
index 469791aab6b093def1d3d918647924295578d2ee..fd02fbce81448fa5a391ab25bf906595ab90588a 100644
--- a/docs/html/conventions.html
+++ b/docs/html/conventions.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="About This Guide"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -85,7 +83,7 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN83"
+NAME="AEN115"
 ></A
 ><TABLE
 BORDER="0"
diff --git a/docs/html/copyright.html b/docs/html/copyright.html
index b52b4e45a3423715f0b6aa885310a898b808fe48..59425e6535dd82be683e4ec5530b8114105e6b17 100644
--- a/docs/html/copyright.html
+++ b/docs/html/copyright.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="About This Guide"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -79,7 +77,7 @@ NAME="copyright"
 >1.1. Copyright Information</A
 ></H1
 ><P
->This document is copyright (c) 2000-2004 by the various
+>This document is copyright (c) 2000-2005 by the various
     Bugzilla contributors who wrote it.</P
 ><A
 NAME="AEN26"
@@ -94,7 +92,7 @@ CLASS="BLOCKQUOTE"
 	Front-Cover Texts, and with no Back-Cover Texts. A copy of
 	the license is included in <A
 HREF="gfdl.html"
->Appendix D</A
+>Appendix E</A
 >.
       </P
 ></BLOCKQUOTE
diff --git a/docs/html/credits.html b/docs/html/credits.html
index 48a53f97e9c060eb24ce30e54ad6c41b73a92954..28ce492bc206eaef733742b3ed472b3c839ba8d9 100644
--- a/docs/html/credits.html
+++ b/docs/html/credits.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="About This Guide"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -85,7 +83,114 @@ NAME="credits"
       contribution to the Bugzilla community:
     </P
 ><P
->&#13;      Matthew P. Barnson, Kevin Brannen, Dawn Endico, Ben FrantzDale, Eric Hanson, Tara Hernandez, Dave Lawrence, Zach Lipton, Gervase Markham, Andrew Pearson, Joe Robins, Spencer Smith, Jacob Steenhagen, Ron Teitelbaum, Terry Weissman, Martin Wulffeld.
+></P
+><DIV
+CLASS="variablelist"
+><DL
+><DT
+>Matthew P. Barnson <CODE
+CLASS="email"
+>&#60;<A
+HREF="mailto:mbarnson@sisna.com"
+>mbarnson@sisna.com</A
+>&#62;</CODE
+></DT
+><DD
+><P
+>for the Herculaean task of pulling together the Bugzilla Guide
+          and shepherding it to 2.14.
+          </P
+></DD
+><DT
+>Terry Weissman <CODE
+CLASS="email"
+>&#60;<A
+HREF="mailto:terry@mozilla.org"
+>terry@mozilla.org</A
+>&#62;</CODE
+></DT
+><DD
+><P
+>for initially writing Bugzilla and creating the README upon
+          which the UNIX installation documentation is largely based.
+          </P
+></DD
+><DT
+>Tara Hernandez <CODE
+CLASS="email"
+>&#60;<A
+HREF="mailto:tara@tequilarists.org"
+>tara@tequilarists.org</A
+>&#62;</CODE
+></DT
+><DD
+><P
+>for keeping Bugzilla development going strong after Terry left
+          mozilla.org and for running landfill.
+          </P
+></DD
+><DT
+>Dave Lawrence <CODE
+CLASS="email"
+>&#60;<A
+HREF="mailto:dkl@redhat.com"
+>dkl@redhat.com</A
+>&#62;</CODE
+></DT
+><DD
+><P
+>for providing insight into the key differences between Red
+          Hat's customized Bugzilla.
+          </P
+></DD
+><DT
+>Dawn Endico <CODE
+CLASS="email"
+>&#60;<A
+HREF="mailto:endico@mozilla.org"
+>endico@mozilla.org</A
+>&#62;</CODE
+></DT
+><DD
+><P
+>for being a hacker extraordinaire and putting up with Matthew's
+          incessant questions and arguments on irc.mozilla.org in #mozwebtools
+          </P
+></DD
+><DT
+>Jacob Steenhagen <CODE
+CLASS="email"
+>&#60;<A
+HREF="mailto:jake@bugzilla.org"
+>jake@bugzilla.org</A
+>&#62;</CODE
+></DT
+><DD
+><P
+>for taking over documentation during the 2.17 development
+          period.
+          </P
+></DD
+><DT
+>Dave Miller <CODE
+CLASS="email"
+>&#60;<A
+HREF="mailto:justdave@bugzilla.org"
+>justdave@bugzilla.org</A
+>&#62;</CODE
+></DT
+><DD
+><P
+>for taking over as project lead when Tara stepped down and
+	  continually pushing for the documentation to be the best it can be.
+          </P
+></DD
+></DL
+></DIV
+><P
+>&#13;      Thanks also go to the following people for significant contributions 
+      to this documentation:
+      Kevin Brannen, Vlad Dascalu, Ben FrantzDale, Eric Hanson, Zach Lipton, Gervase Markham, Andrew Pearson, Joe Robins, Spencer Smith, Ron Teitelbaum, Shane Travis, Martin Wulffeld.
     </P
 ><P
 >&#13;      Also, thanks are due to the members of the 
diff --git a/docs/html/cust-change-permissions.html b/docs/html/cust-change-permissions.html
index 4469d0d406fc2a20d813065038b02db7639a043c..79cafc301bfbb1edb11e60a7b440b137f44bc12a 100644
--- a/docs/html/cust-change-permissions.html
+++ b/docs/html/cust-change-permissions.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Customising Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Chapter 4. Customising Bugzilla</TD
+>Chapter 5. Customising Bugzilla</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
@@ -76,7 +74,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="cust-change-permissions"
->4.3. Customizing Who Can Change What</A
+>5.3. Customizing Who Can Change What</A
 ></H1
 ><DIV
 CLASS="warning"
@@ -131,14 +129,20 @@ CLASS="filename"
 >process_bug.cgi</TT
 > in your 
       Bugzilla directory. If you open that file and search for 
-      "sub CheckCanChangeField", you'll find it.
+      <SPAN
+CLASS="QUOTE"
+>"sub CheckCanChangeField"</SPAN
+>, you'll find it.
     </P
 ><P
 >&#13;      This function has been carefully commented to allow you to see exactly
-      how it works, and give you an idea of how to make changes to it. Certain
-      marked sections should not be changed - these are the "plumbing" which
-      makes the rest of the function work. In between those sections, you'll
-      find snippets of code like:
+      how it works, and give you an idea of how to make changes to it.
+      Certain marked sections should not be changed - these are
+      the <SPAN
+CLASS="QUOTE"
+>"plumbing"</SPAN
+> which makes the rest of the function work.
+      In between those sections, you'll find snippets of code like:
       <TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -162,11 +166,14 @@ CLASS="programlisting"
     </P
 ><P
 >&#13;      So, how does one go about changing this function? Well, simple changes
-      can be made just be removing pieces - for example, if you wanted to 
+      can be made just by removing pieces - for example, if you wanted to 
       prevent any user adding a comment to a bug, just remove the lines marked
-      "Allow anyone to change comments." And if you want the reporter to have
-      no special rights on bugs they have filed, just remove the entire section
-      which refers to him.
+      <SPAN
+CLASS="QUOTE"
+>"Allow anyone to change comments."</SPAN
+> If you don't want the
+      Reporter to have any special rights on bugs they have filed, just
+      remove the entire section that deals with the Reporter.
     </P
 ><P
 >&#13;      More complex customizations are not much harder. Basically, you add
@@ -199,7 +206,10 @@ CLASS="programlisting"
 ></TABLE
 >
       This says that only users in the group "quality_assurance" can change
-      the QA Contact field of a bug. Getting more weird:
+      the QA Contact field of a bug.
+    </P
+><P
+>&#13;      Getting more weird:
       <TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -229,6 +239,39 @@ CLASS="programlisting"
       and their email address is @example.com, they can only do so if the
       old value of the field was "P1". Not very useful, but illustrative.
     </P
+><DIV
+CLASS="warning"
+><P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;        If you are modifying <TT
+CLASS="filename"
+>process_bug.cgi</TT
+> in any
+        way, do not change the code that is bounded by DO_NOT_CHANGE blocks.
+        Doing so could compromise security, or cause your installation to
+        stop working entirely.
+      </P
+></TD
+></TR
+></TABLE
+></DIV
 ><P
 >&#13;      For a list of possible field names, look in 
       <TT
diff --git a/docs/html/cust-hooks.html b/docs/html/cust-hooks.html
index 6968f1109bce86ee056bc78743df3abefdfaffd9..fde1c31bb8a6ace0afd59f07d91ee52f0b82065f 100644
--- a/docs/html/cust-hooks.html
+++ b/docs/html/cust-hooks.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Customising Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Chapter 4. Customising Bugzilla</TD
+>Chapter 5. Customising Bugzilla</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
@@ -76,8 +74,41 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="cust-hooks"
->4.2. Template Hooks</A
+>5.2. Template Hooks</A
 ></H1
+><DIV
+CLASS="warning"
+><P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;        Template Hooks require Template Toolkit version 2.12 or
+        above, or the application of a patch.  See <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=239112"
+TARGET="_top"
+>bug
+        239112</A
+> for details.
+      </P
+></TD
+></TR
+></TABLE
+></DIV
 ><P
 >&#13;      Template hooks are a way for extensions to Bugzilla to insert code
       into the standard Bugzilla templates without modifying the template files
diff --git a/docs/html/cust-templates.html b/docs/html/cust-templates.html
index 5299eda1c245e0284702253e54079513c6064522..0cde6dbf6cd8c410605a8044e40771489555fc88 100644
--- a/docs/html/cust-templates.html
+++ b/docs/html/cust-templates.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Customising Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Chapter 4. Customising Bugzilla</TD
+>Chapter 5. Customising Bugzilla</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
@@ -76,7 +74,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="cust-templates"
->4.1. Template Customization</A
+>5.1. Template Customization</A
 ></H1
 ><P
 >&#13;      Administrators can configure the look and feel of Bugzilla without
@@ -89,7 +87,7 @@ NAME="cust-templates"
       determined by the user's browser. More information is available in
       <A
 HREF="cust-templates.html#template-http-accept"
->Section 4.1.5</A
+>Section 5.1.6</A
 >.
     </P
 ><DIV
@@ -97,70 +95,179 @@ CLASS="section"
 ><H2
 CLASS="section"
 ><A
-NAME="AEN1210"
->4.1.1. What to Edit</A
+NAME="template-directory"
+>5.1.1. Template Directory Structure</A
 ></H2
 ><P
->&#13;        The template directory structure is that there's a top level directory,
-        <TT
+>&#13;        The template directory structure starts with top level directory 
+        named <TT
 CLASS="filename"
 >template</TT
->, which contains a directory for
-        each installed localization. The default English templates are
-        therefore in <TT
+>, which contains a directory
+        for each installed localization. The next level defines the
+        language used in the templates. Bugzilla comes with English
+        templates, so the directory name is <TT
 CLASS="filename"
 >en</TT
->. Underneath that, there
-        is the <TT
+>,
+        and we will discuss <TT
 CLASS="filename"
->default</TT
-> directory and optionally the 
-        <TT
+>template/en</TT
+> throughout
+        the documentation. Below <TT
 CLASS="filename"
->custom</TT
-> directory. The <TT
+>template/en</TT
+> is the
+        <TT
 CLASS="filename"
 >default</TT
->
-        directory contains all the templates shipped with Bugzilla, whereas
-        the <TT
+> directory, which contains all the
+        standard templates shipped with Bugzilla.
+      </P
+><DIV
+CLASS="warning"
+><P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          A directory <TT
 CLASS="filename"
->custom</TT
-> directory does not exist at first and
-        must be created if you want to use it.
+>data/templates</TT
+> also exists;
+          this is where Template Toolkit puts the compiled versions of
+          the templates from either the default or custom directories.
+          <EM
+>Do not</EM
+> directly edit the files in this
+          directory, or all your changes will be lost the next time
+          Template Toolkit recompiles the templates.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="template-method"
+>5.1.2. Choosing a Customization Method</A
+></H2
+><P
+>&#13;        If you want to edit Bugzilla's templates, the first decision
+        you must make is how you want to go about doing so. There are two
+        choices, and which you use depends mainly on the scope of your 
+        modifications, and the method you plan to use to upgrade Bugzilla.
       </P
 ><P
->&#13;        There are two different ways of editing Bugzilla's templates,
-        and which you use depends mainly on the method you plan to use to
-        upgrade Bugzilla. 
-        The first method of making customizations is to directly edit the
-        templates in <TT
+>&#13;        The first method of making customizations is to directly edit the
+        templates found in <TT
 CLASS="filename"
 >template/en/default</TT
->. This is
-        probably the best method for small changes if you are going to use
-        the CVS method of upgrading, because if you then execute a
-        <B
+>.
+        This is probably the best way to go about it if you are going to
+        be upgrading Bugzilla through CVS, because if you then execute
+        a <B
 CLASS="command"
 >cvs update</B
->, any template fixes will get
-        automagically merged into your modified versions.
+>, any changes you have made will
+        be merged automagically with the updated versions.
       </P
+><DIV
+CLASS="note"
 ><P
->&#13;        If you use this method, your installation will break if CVS conflicts
-        occur.
-      </P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          If you use this method, and CVS conflicts occur during an
+          update, the conflicted templates (and possibly other parts
+          of your installation) will not work until they are resolved.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
 ><P
->&#13;        The other method is to copy the templates to be modified into a 
-        mirrored directory
-        structure under <TT
+>&#13;        The second method is to copy the templates to be modified
+        into a mirrored directory structure under 
+        <TT
 CLASS="filename"
 >template/en/custom</TT
->.  The templates
-        in this directory automatically override those in default.  
-        This is the technique you
-        need to use if you use the overwriting method of upgrade, because
-        otherwise your changes will be lost.  This method is also better if
+>. Templates in this
+        directory structure automatically override any identically-named
+        and identically-located templates in the 
+        <TT
+CLASS="filename"
+>default</TT
+> directory. 
+      </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          The <TT
+CLASS="filename"
+>custom</TT
+> directory does not exist
+          at first and must be created if you want to use it.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;        The second method of customization should be used if you 
+        use the overwriting method of upgrade, because otherwise 
+        your changes will be lost.  This method may also be better if
         you are using the CVS method of upgrading and are going to make major
         changes, because it is guaranteed that the contents of this directory
         will not be touched during an upgrade, and you can then decide whether
@@ -168,9 +275,9 @@ CLASS="filename"
         changes into the new versions by hand.
       </P
 ><P
->&#13;        If you use this method, your installation may break if incompatible
-        changes are made to the template interface.  If such changes are made
-        they will be documented in the release notes, provided you are using a
+>&#13;        Using this method, your installation may break if incompatible
+        changes are made to the template interface.  Such changes should
+        be documented in the release notes, provided you are using a
         stable release of Bugzilla.  If you use using unstable code, you will
         need to deal with this one yourself, although if possible the changes
         will be mentioned before they occur in the deprecations section of the
@@ -197,23 +304,31 @@ ALT="Note"></TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->&#13;          Don't directly edit the compiled templates in 
+>&#13;          Regardless of which method you choose, it is recommended that
+          you run <B
+CLASS="command"
+>./checksetup.pl</B
+> after creating or
+          editing any templates in the <TT
+CLASS="filename"
+>template/en/default</TT
+>
+          directory, and after editing any templates in the 
           <TT
 CLASS="filename"
->data/template/*</TT
-> - your
-          changes will be lost when Template Toolkit recompiles them.
+>custom</TT
+> directory.
         </P
 ></TD
 ></TR
 ></TABLE
 ></DIV
 ><DIV
-CLASS="note"
+CLASS="warning"
 ><P
 ></P
 ><TABLE
-CLASS="note"
+CLASS="warning"
 WIDTH="100%"
 BORDER="0"
 ><TR
@@ -222,22 +337,25 @@ WIDTH="25"
 ALIGN="CENTER"
 VALIGN="TOP"
 ><IMG
-SRC="../images/note.gif"
+SRC="../images/warning.gif"
 HSPACE="5"
-ALT="Note"></TD
+ALT="Warning"></TD
 ><TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->It is recommended that you run <B
+>&#13;          It is <EM
+>required</EM
+> that you run 
+          <B
 CLASS="command"
 >./checksetup.pl</B
->
-        after any template edits, especially if you've created a new file in
-        the <TT
+> after creating a new
+          template in the <TT
 CLASS="filename"
 >custom</TT
-> directory.
+> directory. Failure
+          to do so will raise an incomprehensible error message.
         </P
 ></TD
 ></TR
@@ -249,8 +367,8 @@ CLASS="section"
 ><H2
 CLASS="section"
 ><A
-NAME="AEN1233"
->4.1.2. How To Edit Templates</A
+NAME="template-edit"
+>5.1.3. How To Edit Templates</A
 ></H2
 ><DIV
 CLASS="note"
@@ -277,7 +395,7 @@ VALIGN="TOP"
           for inclusion in standard Bugzilla, you should read the relevant
           sections of the 
           <A
-HREF="http://www.bugzilla.org/developerguide.html"
+HREF="http://www.bugzilla.org/docs/developer.html"
 TARGET="_top"
 >Developers'
           Guide</A
@@ -317,9 +435,17 @@ TARGET="_top"
         HTML filter afterwards.
       </P
 ><P
->&#13;        Editing templates is a good way of doing a "poor man's custom fields".
+>&#13;        Editing templates is a good way of doing a <SPAN
+CLASS="QUOTE"
+>"poor man's custom
+        fields"</SPAN
+>.
         For example, if you don't use the Status Whiteboard, but want to have
-        a free-form text entry box for "Build Identifier", then you can just
+        a free-form text entry box for <SPAN
+CLASS="QUOTE"
+>"Build Identifier"</SPAN
+>,
+        then you can just
         edit the templates to change the field labels. It's still be called
         status_whiteboard internally, but your users don't need to know that.
       </P
@@ -329,24 +455,36 @@ CLASS="section"
 ><H2
 CLASS="section"
 ><A
-NAME="AEN1243"
->4.1.3. Template Formats</A
+NAME="template-formats"
+>5.1.4. Template Formats and Types</A
 ></H2
 ><P
->&#13;        Some CGIs have the ability to use more than one template. For
-        example, buglist.cgi can output bug lists as RDF or two
-        different forms of HTML (complex and simple). (Try this out
-        by appending <TT
+>&#13;        Some CGI's have the ability to use more than one template. For example,
+        <TT
 CLASS="filename"
->&#38;format=simple</TT
-> to a buglist.cgi
-        URL on your Bugzilla installation.) This
-        mechanism, called template 'formats', is extensible.
+>buglist.cgi</TT
+> can output itself as RDF, or as two 
+        formats of HTML (complex and simple). The mechanism that provides this 
+        feature is extensible.
       </P
 ><P
->&#13;        To see if a CGI supports multiple output formats, grep the
-        CGI for "GetFormat". If it's not present, adding
-        multiple format support isn't too hard - see how it's done in
+>&#13;        Bugzilla can support different types of output, which again can have 
+        multiple formats. In order to request a certain type, you can append 
+        the &#38;ctype=&#60;contenttype&#62; (such as rdf or html) to the 
+        <TT
+CLASS="filename"
+>&#60;cginame&#62;.cgi</TT
+> URL. If you would like to 
+        retrieve a certain format, you can use the &#38;format=&#60;format&#62; 
+        (such as simple or complex) in the URL.
+      </P
+><P
+>&#13;        To see if a CGI supports multiple output formats and types, grep the
+        CGI for <SPAN
+CLASS="QUOTE"
+>"GetFormat"</SPAN
+>. If it's not present, adding
+        multiple format/type support isn't too hard - see how it's done in
         other CGIs, e.g. config.cgi.
       </P
 ><P
@@ -362,18 +500,52 @@ CLASS="filename"
       </P
 ><P
 >&#13;        You now need to decide what content type you want your template
-        served as. Open up the <TT
+        served as. The content types are defined in the
+        <TT
 CLASS="filename"
->localconfig</TT
-> file and find the 
+>Bugzilla/Constants.pm</TT
+> file in the 
         <TT
 CLASS="filename"
->$contenttypes</TT
+>contenttypes</TT
 >
-        variable. If your content type is not there, add it. Remember
-        the three- or four-letter tag assigned to you content type. 
+        constant. If your content type is not there, add it. Remember
+        the three- or four-letter tag assigned to your content type. 
         This tag will be part of the template filename.
       </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          After adding or changing a content type, it's suitable to edit
+          <TT
+CLASS="filename"
+>Bugzilla/Constants.pm</TT
+> in order to reflect
+          the changes. Also, the file should be kept up to date after an
+          upgrade if content types have been customized in the past. 
+        </P
+></TD
+></TR
+></TABLE
+></DIV
 ><P
 >&#13;        Save the template as <TT
 CLASS="filename"
@@ -382,7 +554,7 @@ CLASS="filename"
         Try out the template by calling the CGI as 
         <TT
 CLASS="filename"
->&#60;cginame&#62;.cgi?format=&#60;formatname&#62;</TT
+>&#60;cginame&#62;.cgi?format=&#60;formatname&#62;&#38;ctype=&#60;type&#62;</TT
 > .
       </P
 ></DIV
@@ -391,8 +563,8 @@ CLASS="section"
 ><H2
 CLASS="section"
 ><A
-NAME="AEN1256"
->4.1.4. Particular Templates</A
+NAME="template-specific"
+>5.1.5. Particular Templates</A
 ></H2
 ><P
 >&#13;        There are a few templates you may be particularly interested in
@@ -421,7 +593,11 @@ CLASS="command"
 CLASS="command"
 >global/banner.html.tmpl</B
 >:
-        This contains the "banner", the part of the header that appears
+        This contains the <SPAN
+CLASS="QUOTE"
+>"banner"</SPAN
+>, the part of the header
+        that appears
         at the top of all Bugzilla pages.  The default banner is reasonably
         barren, so you'll probably want to customize this to give your
         installation a distinctive look and feel.  It is recommended you
@@ -440,6 +616,42 @@ CLASS="command"
 ><P
 >&#13;        <B
 CLASS="command"
+>global/variables.none.tmpl</B
+>:
+        This defines a list of terms that may be changed in order to
+        <SPAN
+CLASS="QUOTE"
+>"brand"</SPAN
+> the Bugzilla instance In this way, terms
+        like <SPAN
+CLASS="QUOTE"
+>"bugs"</SPAN
+> can be replaced with <SPAN
+CLASS="QUOTE"
+>"issues"</SPAN
+>
+        across the whole Bugzilla installation. The name
+        <SPAN
+CLASS="QUOTE"
+>"Bugzilla"</SPAN
+> and other words can be customized as well.
+      </P
+><P
+>&#13;        <B
+CLASS="command"
+>list/table.html.tmpl</B
+>:
+        This template controls the appearance of the bug lists created
+        by Bugzilla. Editing this template allows per-column control of 
+        the width and title of a column, the maximum display length of
+        each entry, and the wrap behaviour of long entries.
+        For long bug lists, Bugzilla inserts a 'break' every 100 bugs by
+        default; this behaviour is also controlled by this template, and
+        that value can be modified here.
+       </P
+><P
+>&#13;        <B
+CLASS="command"
 >bug/create/user-message.html.tmpl</B
 >:
         This is a message that appears near the top of the bug reporting page.
@@ -449,49 +661,95 @@ CLASS="command"
 ><P
 >&#13;        <B
 CLASS="command"
+>bug/process/midair.html.tmpl</B
+>:
+        This is the page used if two people submit simultaneous changes to the
+        same bug.  The second person to submit their changes will get this page
+        to tell them what the first person did, and ask if they wish to
+        overwrite those changes or go back and revisit the bug.  The default
+        title and header on this page read "Mid-air collision detected!"  If
+        you work in the aviation industry, or other environment where this
+        might be found offensive (yes, we have true stories of this happening)
+        you'll want to change this to something more appropriate for your
+        environment.
+      </P
+><P
+>&#13;        <B
+CLASS="command"
 >bug/create/create.html.tmpl</B
 > and
         <B
 CLASS="command"
 >bug/create/comment.txt.tmpl</B
 >:
-        You may wish to get bug submitters to give certain bits of structured
-        information, each in a separate input widget, for which there is not a
-        field in the database. The bug entry system has been designed in an
-        extensible fashion to enable you to define arbitrary fields and widgets,
-        and have their values appear formatted in the initial
-        Description, rather than in database fields. An example of this
-        is the mozilla.org 
+        You may not wish to go to the effort of creating custom fields in
+        Bugzilla, yet you want to make sure that each bug report contains
+        a number of pieces of important information for which there is not
+        a special field. The bug entry system has been designed in an
+        extensible fashion to enable you to add arbitrary HTML widgets,
+        such as drop-down lists or textboxes, to the bug entry page
+        and have their values appear formatted in the initial comment.
+        A hidden field that indicates the format should be added inside
+        the form in order to make the template functional. Its value should
+        be the suffix of the template filename. For example, if the file
+        is called <TT
+CLASS="filename"
+>create-cust.html.tmpl</TT
+>, then
+        <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#60;input type="hidden" name="format" value="cust"&#62;</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+        should be used inside the form.
+      </P
+><P
+>  
+        An example of this is the mozilla.org 
         <A
-HREF="http://bugzilla.mozilla.org/enter_bug.cgi?format=guided"
+HREF="http://landfill.bugzilla.org/bugzilla-tip/enter_bug.cgi?product=WorldControl&#38;format=guided"
 TARGET="_top"
 >guided 
         bug submission form</A
+>. The code for this comes with the Bugzilla
+        distribution as an example for you to copy. It can be found in the
+        files 
+        <TT
+CLASS="filename"
+>create-guided.html.tmpl</TT
+> and
+        <TT
+CLASS="filename"
+>comment-guided.html.tmpl</TT
 >.
       </P
 ><P
->&#13;        To make this work, create a custom template for 
+>&#13;        So to use this feature, create a custom template for 
         <TT
 CLASS="filename"
 >enter_bug.cgi</TT
-> (the default template, on which you
-        could base it, is <TT
-CLASS="filename"
->create.html.tmpl</TT
->),
-        and either call it <TT
-CLASS="filename"
->create.html.tmpl</TT
-> or use a format and
-        call it <TT
+>. The default template, on which you
+        could base it, is 
+        <TT
 CLASS="filename"
->create-&#60;formatname&#62;.html.tmpl</TT
+>custom/bug/create/create.html.tmpl</TT
 >.
-        Put it in the <TT
+        Call it <TT
 CLASS="filename"
->custom/bug/create</TT
->
-        directory. In it, add widgets for each piece of information you'd like
+>create-&#60;formatname&#62;.html.tmpl</TT
+>, and
+        in it, add widgets for each piece of information you'd like
         collected - such as a build number, or set of steps to reproduce.
       </P
 ><P
@@ -499,14 +757,22 @@ CLASS="filename"
         <TT
 CLASS="filename"
 >custom/bug/create/comment.txt.tmpl</TT
->, also named
-        after your format if you are using one, which
-        references the form fields you have created. When a bug report is
+>, and call it 
+        <TT
+CLASS="filename"
+>comment-&#60;formatname&#62;.txt.tmpl</TT
+>. This 
+        template should reference the form fields you have created using
+        the syntax <TT
+CLASS="filename"
+>[% form.&#60;fieldname&#62; %]</TT
+>. When a 
+        bug report is
         submitted, the initial comment attached to the bug report will be
         formatted according to the layout of this template.
       </P
 ><P
->&#13;        For example, if your enter_bug template had a field
+>&#13;        For example, if your custom enter_bug template had a field
         <TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -540,7 +806,7 @@ CLASS="programlisting"
 ></TR
 ></TABLE
 >
-        then
+        then something like
         <TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -557,7 +823,7 @@ CLASS="programlisting"
 ></TR
 ></TABLE
 >
-        would appear in the initial checkin comment.
+        would appear in the initial comment.
       </P
 ></DIV
 ><DIV
@@ -566,7 +832,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="template-http-accept"
->4.1.5. Configuring Bugzilla to Detect the User's Language</A
+>5.1.6. Configuring Bugzilla to Detect the User's Language</A
 ></H2
 ><P
 >Bugzilla honours the user's Accept: HTTP header. You can install
diff --git a/docs/html/customization.html b/docs/html/customization.html
index 3aef616bae2f95e78c23677d702d84f48ee9c722..160bf1f8feb27ff04026c2ff6a58b3bf4d35c1a6 100644
--- a/docs/html/customization.html
+++ b/docs/html/customization.html
@@ -7,12 +7,11 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="PREVIOUS"
-TITLE="Upgrading to New Releases"
-HREF="upgrading.html"><LINK
+TITLE="Bugzilla"
+HREF="security-bugzilla.html"><LINK
 REL="NEXT"
 TITLE="Template Customization"
 HREF="cust-templates.html"></HEAD
@@ -35,8 +34,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -44,7 +42,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="upgrading.html"
+HREF="security-bugzilla.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -73,7 +71,7 @@ CLASS="chapter"
 ><A
 NAME="customization"
 ></A
->Chapter 4. Customising Bugzilla</H1
+>Chapter 5. Customising Bugzilla</H1
 ><DIV
 CLASS="TOC"
 ><DL
@@ -82,83 +80,93 @@ CLASS="TOC"
 >Table of Contents</B
 ></DT
 ><DT
->4.1. <A
+>5.1. <A
 HREF="cust-templates.html"
 >Template Customization</A
 ></DT
 ><DD
 ><DL
 ><DT
->4.1.1. <A
-HREF="cust-templates.html#AEN1210"
->What to Edit</A
+>5.1.1. <A
+HREF="cust-templates.html#template-directory"
+>Template Directory Structure</A
 ></DT
 ><DT
->4.1.2. <A
-HREF="cust-templates.html#AEN1233"
+>5.1.2. <A
+HREF="cust-templates.html#template-method"
+>Choosing a Customization Method</A
+></DT
+><DT
+>5.1.3. <A
+HREF="cust-templates.html#template-edit"
 >How To Edit Templates</A
 ></DT
 ><DT
->4.1.3. <A
-HREF="cust-templates.html#AEN1243"
->Template Formats</A
+>5.1.4. <A
+HREF="cust-templates.html#template-formats"
+>Template Formats and Types</A
 ></DT
 ><DT
->4.1.4. <A
-HREF="cust-templates.html#AEN1256"
+>5.1.5. <A
+HREF="cust-templates.html#template-specific"
 >Particular Templates</A
 ></DT
 ><DT
->4.1.5. <A
+>5.1.6. <A
 HREF="cust-templates.html#template-http-accept"
 >Configuring Bugzilla to Detect the User's Language</A
 ></DT
 ></DL
 ></DD
 ><DT
->4.2. <A
+>5.2. <A
 HREF="cust-hooks.html"
 >Template Hooks</A
 ></DT
 ><DT
->4.3. <A
+>5.3. <A
 HREF="cust-change-permissions.html"
 >Customizing Who Can Change What</A
 ></DT
 ><DT
->4.4. <A
+>5.4. <A
 HREF="dbmodify.html"
 >Modifying Your Running System</A
 ></DT
 ><DT
->4.5. <A
+>5.5. <A
 HREF="dbdoc.html"
 >MySQL Bugzilla Database Introduction</A
 ></DT
 ><DT
->4.6. <A
+>5.6. <A
 HREF="integration.html"
 >Integrating Bugzilla with Third-Party Tools</A
 ></DT
 ><DD
 ><DL
 ><DT
->4.6.1. <A
+>5.6.1. <A
 HREF="integration.html#bonsai"
 >Bonsai</A
 ></DT
 ><DT
->4.6.2. <A
+>5.6.2. <A
 HREF="integration.html#cvs"
 >CVS</A
 ></DT
 ><DT
->4.6.3. <A
+>5.6.3. <A
 HREF="integration.html#scm"
 >Perforce SCM</A
 ></DT
 ><DT
->4.6.4. <A
+>5.6.4. <A
+HREF="integration.html#svn"
+>Subversion</A
+></DT
+><DT
+>5.6.5. <A
 HREF="integration.html#tinderbox"
 >Tinderbox/Tinderbox2</A
 ></DT
@@ -183,7 +191,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="upgrading.html"
+HREF="security-bugzilla.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -211,7 +219,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Upgrading to New Releases</TD
+>Bugzilla</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
diff --git a/docs/html/dbdoc.html b/docs/html/dbdoc.html
index 40423f064fd1e01791680bf9b485d55c10b0bb25..c1a8002e8d06c513474e9d76b46bb1886585580d 100644
--- a/docs/html/dbdoc.html
+++ b/docs/html/dbdoc.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Customising Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Chapter 4. Customising Bugzilla</TD
+>Chapter 5. Customising Bugzilla</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
@@ -76,7 +74,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="dbdoc"
->4.5. MySQL Bugzilla Database Introduction</A
+>5.5. MySQL Bugzilla Database Introduction</A
 ></H1
 ><P
 >This information comes straight from my life. I was forced to learn
@@ -137,8 +135,8 @@ CLASS="section"
 ><H2
 CLASS="section"
 ><A
-NAME="AEN1394"
->4.5.1. Bugzilla Database Basics</A
+NAME="AEN1942"
+>5.5.1. Bugzilla Database Basics</A
 ></H2
 ><P
 >If you were like me, at this point you're totally clueless about
@@ -249,8 +247,8 @@ CLASS="section"
 ><H3
 CLASS="section"
 ><A
-NAME="AEN1421"
->4.5.1.1. Bugzilla Database Tables</A
+NAME="AEN1969"
+>5.5.1.1. Bugzilla Database Tables</A
 ></H3
 ><P
 >Imagine your MySQL database as a series of spreadsheets, and
diff --git a/docs/html/dbmodify.html b/docs/html/dbmodify.html
index 03ffa91b3c9e85384b7e2433f64f6626d12338e1..f076d1a2b873cee856da37458352dca1ee2ec19d 100644
--- a/docs/html/dbmodify.html
+++ b/docs/html/dbmodify.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Customising Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Chapter 4. Customising Bugzilla</TD
+>Chapter 5. Customising Bugzilla</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
@@ -76,48 +74,45 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="dbmodify"
->4.4. Modifying Your Running System</A
+>5.4. Modifying Your Running System</A
 ></H1
 ><P
->Bugzilla optimizes database lookups by storing all relatively
-      static information in the 
-      <TT
+>&#13;        Bugzilla optimizes database lookups by storing all relatively
+        static information in the <TT
 CLASS="filename"
 >versioncache</TT
-> file, located in the 
-      <TT
+>
+        file, located in the <TT
 CLASS="filename"
 >data/</TT
 >
-      subdirectory under your installation directory.</P
+        subdirectory under your installation directory.
+      </P
 ><P
->If you make a change to the structural data in your database (the
-      versions table for example), or to the 
-      <SPAN
+>&#13;        If you make a change to the structural data in your database (the
+        versions table for example), or to the <SPAN
 CLASS="QUOTE"
 >"constants"</SPAN
 >
-
-      encoded in <TT
+        encoded in <TT
 CLASS="filename"
 >defparams.pl</TT
 >, you will need to remove 
-      the cached content from the data directory (by doing a 
-      <SPAN
-CLASS="QUOTE"
->"rm data/versioncache"</SPAN
->
-
-      ), or your changes won't show up.</P
+        the cached content from the data directory (by doing a 
+        <B
+CLASS="command"
+>rm data/versioncache</B
+>), or your changes won't show up.
+      </P
 ><P
-> <TT
+>&#13;        <TT
 CLASS="filename"
 >versioncache</TT
-> 
-      gets automatically regenerated whenever it's more than
-      an hour old, so Bugzilla will eventually notice your changes by itself,
-      but generally you want it to notice right away, so that you can test
-      things.</P
+> gets regenerated automatically
+        whenever it's more than an hour old, so Bugzilla will eventually
+        notice your changes by itself, but generally you want it to notice
+        right away, so that you can test things.
+      </P
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
diff --git a/docs/html/disclaimer.html b/docs/html/disclaimer.html
index d164aa022711fad4958632c3d44ae8a2e894f8e6..8eaa856201f097bd000e93b5ab60c803336fb104 100644
--- a/docs/html/disclaimer.html
+++ b/docs/html/disclaimer.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="About This Guide"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
diff --git a/docs/html/extraconfig.html b/docs/html/extraconfig.html
index 8e3662af363ed5023eee06e2d731cfa0881e6ab6..9b40b40e8e3dac1bf201df66078fe0d820997a47 100644
--- a/docs/html/extraconfig.html
+++ b/docs/html/extraconfig.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Installing Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -87,7 +85,7 @@ CLASS="section"
 ><H2
 CLASS="section"
 ><A
-NAME="AEN584"
+NAME="AEN560"
 >2.3.1. Bug Graphs</A
 ></H2
 ><P
@@ -140,15 +138,50 @@ CLASS="programlisting"
 ></TR
 ></TABLE
 ><P
->After two days have passed you'll be able to view bug graphs from
-      the Reports page.</P
+>&#13;        After two days have passed you'll be able to view bug graphs from
+        the Reports page.
+      </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          Windows does not have 'cron', but it does have the Task
+          Scheduler, which performs the same duties. There are also
+          third-party tools that can be used to implement cron, such as
+          <A
+HREF="http://www.nncron.ru/"
+TARGET="_top"
+>nncron</A
+>.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
 ></DIV
 ><DIV
 CLASS="section"
 ><H2
 CLASS="section"
 ><A
-NAME="AEN594"
+NAME="AEN573"
 >2.3.2. Dependency Charts</A
 ></H2
 ><P
@@ -218,7 +251,7 @@ CLASS="section"
 ><H2
 CLASS="section"
 ><A
-NAME="AEN610"
+NAME="AEN589"
 >2.3.3. The Whining Cron</A
 ></H2
 ><P
@@ -228,10 +261,9 @@ NAME="AEN610"
       which leave their bugs in the NEW or REOPENED state without triaging them.
       </P
 ><P
->&#13;      
-      This can be done by
-      adding the following command as a daily crontab entry, in the same manner
-      as explained above for bug graphs. This example runs it at 12.55am. 
+>&#13;        This can be done by adding the following command as a daily
+        crontab entry, in the same manner as explained above for bug
+        graphs. This example runs it at 12.55am. 
       </P
 ><TABLE
 BORDER="0"
@@ -248,6 +280,40 @@ CLASS="programlisting"
 ></TD
 ></TR
 ></TABLE
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          Windows does not have 'cron', but it does have the Task
+          Scheduler, which performs the same duties. There are also
+          third-party tools that can be used to implement cron, such as
+          <A
+HREF="http://www.nncron.ru/"
+TARGET="_top"
+>nncron</A
+>.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
 ></DIV
 ><DIV
 CLASS="section"
@@ -523,48 +589,51 @@ CLASS="section"
 ><H2
 CLASS="section"
 ><A
-NAME="content-type"
->2.3.6. Prevent users injecting malicious
-      Javascript</A
+NAME="apache-addtype"
+>2.3.6. Serving Alternate Formats with the right MIME type</A
 ></H2
 ><P
->It is possible for a Bugzilla user to take advantage of character
-      set encoding ambiguities to inject HTML into Bugzilla comments. This
-      could include malicious scripts. 
-      Due to internationalization concerns, we are unable to
-      incorporate by default the code changes suggested by 
-      <A
-HREF="http://www.cert.org/tech_tips/malicious_code_mitigation.html#3"
-TARGET="_top"
->&#13;      the CERT advisory</A
-> on this issue.
-      If your installation is for an English speaking audience only, making the
-      change below will prevent this problem. 
+>&#13;        Some Bugzilla pages have alternate formats, other than just plain
+        <ACRONYM
+CLASS="acronym"
+>HTML</ACRONYM
+>. In particular, a few Bugzilla pages can 
+        output their contents as either <ACRONYM
+CLASS="acronym"
+>XUL</ACRONYM
+> (a special 
+        Mozilla format, that looks like a program <ACRONYM
+CLASS="acronym"
+>GUI</ACRONYM
+>) 
+        or <ACRONYM
+CLASS="acronym"
+>RDF</ACRONYM
+> (a type of structured <ACRONYM
+CLASS="acronym"
+>XML</ACRONYM
+> 
+        that can be read by various programs).
       </P
 ><P
->Simply locate the following line in
-      <TT
-CLASS="filename"
->Bugzilla/CGI.pm</TT
->:
-      <TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->$self-&#62;charset('');</PRE
-></FONT
-></TD
-></TR
-></TABLE
+>&#13;        In order for your users to see these pages correctly, Apache must 
+        send them with the right <ACRONYM
+CLASS="acronym"
+>MIME</ACRONYM
+> type. To do this, 
+        add the following lines to your Apache configuration, either in the 
+        <SAMP
+CLASS="computeroutput"
+>&#60;VirtualHost&#62;</SAMP
+> section for your
+        Bugzilla, or in the <SAMP
+CLASS="computeroutput"
+>&#60;Directory&#62;</SAMP
 >
-      and change it to:
-      <TABLE
+        section for your Bugzilla:
+      </P
+><P
+>&#13;        <TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
 WIDTH="100%"
@@ -573,8 +642,9 @@ WIDTH="100%"
 ><FONT
 COLOR="#000000"
 ><PRE
-CLASS="programlisting"
->$self-&#62;charset('ISO-8859-1');</PRE
+CLASS="screen"
+>AddType application/vnd.mozilla.xul+xml .xul
+AddType text/xml .rdf</PRE
 ></FONT
 ></TD
 ></TR
@@ -582,98 +652,6 @@ CLASS="programlisting"
 >
       </P
 ></DIV
-><DIV
-CLASS="section"
-><H2
-CLASS="section"
-><A
-NAME="mod-throttle"
->2.3.7. <TT
-CLASS="filename"
->mod_throttle</TT
-></A
-></H2
-><P
->It is possible for a user, by mistake or on purpose, to access
-      the database many times in a row which can result in very slow access
-      speeds for other users. If your Bugzilla installation is experiencing
-      this problem, you may install the Apache module 
-      <TT
-CLASS="filename"
->mod_throttle</TT
->
-      which can limit connections by IP address. You may download this module
-      at 
-      <A
-HREF="http://www.snert.com/Software/mod_throttle/"
-TARGET="_top"
->http://www.snert.com/Software/mod_throttle/</A
->.
-      Follow the instructions to install into your Apache install. 
-      <EM
->This module only functions with the Apache web
-      server!</EM
->
-      The command you need is 
-      <B
-CLASS="command"
->ThrottleClientIP</B
->. See the 
-      <A
-HREF="http://www.snert.com/Software/mod_throttle/"
-TARGET="_top"
->documentation</A
->
-      for more information.</P
-></DIV
-><DIV
-CLASS="section"
-><H2
-CLASS="section"
-><A
-NAME="security-networking"
->2.3.8. TCP/IP Ports</A
-></H2
-><P
->A single-box Bugzilla only requires port 80, plus port 25 if
-      you are using the optional email interface. You should firewall all 
-      other ports and/or disable services listening on them.
-      </P
-></DIV
-><DIV
-CLASS="section"
-><H2
-CLASS="section"
-><A
-NAME="security-daemon"
->2.3.9. Daemon Accounts</A
-></H2
-><P
->Many daemons, such as Apache's httpd and MySQL's mysqld default to
-      running as either <SPAN
-CLASS="QUOTE"
->"root"</SPAN
-> or <SPAN
-CLASS="QUOTE"
->"nobody"</SPAN
->. Running
-      as <SPAN
-CLASS="QUOTE"
->"root"</SPAN
-> introduces obvious security problems, but the
-      problems introduced by running everything as <SPAN
-CLASS="QUOTE"
->"nobody"</SPAN
-> may
-      not be so obvious. Basically, if you're running every daemon as
-      <SPAN
-CLASS="QUOTE"
->"nobody"</SPAN
-> and one of them gets compromised, they all get
-      compromised. For this reason it is recommended that you create a user
-      account for each daemon.
-      </P
-></DIV
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
diff --git a/docs/html/faq.html b/docs/html/faq.html
index 4c74d59e3debd65d1b4e0770a4d0b80be68d5d19..60aa812126a1200f5d8c7c1b79697570c49faef3 100644
--- a/docs/html/faq.html
+++ b/docs/html/faq.html
@@ -7,15 +7,14 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="PREVIOUS"
-TITLE="Reports"
-HREF="reporting.html"><LINK
+TITLE="Flags"
+HREF="flags.html"><LINK
 REL="NEXT"
-TITLE="Contrib"
-HREF="patches.html"></HEAD
+TITLE="Troubleshooting"
+HREF="troubleshooting.html"></HEAD
 ><BODY
 CLASS="appendix"
 BGCOLOR="#FFFFFF"
@@ -35,8 +34,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -44,7 +42,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="reporting.html"
+HREF="flags.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -58,7 +56,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="patches.html"
+HREF="troubleshooting.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -90,81 +88,85 @@ HREF="faq.html#faq-general"
 ><DT
 >A.1.1. <A
 HREF="faq.html#faq-general-license"
->&#13;	    What license is Bugzilla distributed under?
-	  </A
+>&#13;            What license is Bugzilla distributed under?
+          </A
 ></DT
 ><DT
 >A.1.2. <A
 HREF="faq.html#faq-general-support"
->&#13;	    How do I get commercial support for Bugzilla?
-	  </A
+>&#13;            How do I get commercial support for Bugzilla?
+          </A
 ></DT
 ><DT
 >A.1.3. <A
 HREF="faq.html#faq-general-companies"
->&#13;	    What major companies or projects are currently using Bugzilla
-	    for bug-tracking?
-	  </A
+>&#13;            What major companies or projects are currently using Bugzilla
+            for bug-tracking?
+          </A
 ></DT
 ><DT
 >A.1.4. <A
 HREF="faq.html#faq-general-maintainers"
->&#13;	    Who maintains Bugzilla?
-	  </A
+>&#13;            Who maintains Bugzilla?
+          </A
 ></DT
 ><DT
 >A.1.5. <A
 HREF="faq.html#faq-general-compare"
->&#13;	    How does Bugzilla stack up against other bug-tracking databases?
-	  </A
+>&#13;            How does Bugzilla stack up against other bug-tracking databases?
+          </A
 ></DT
 ><DT
 >A.1.6. <A
 HREF="faq.html#faq-general-bzmissing"
->&#13;	    Why doesn't Bugzilla offer this or that feature or compatibility
-	    with this other tracking software?
-	  </A
+>&#13;            Why doesn't Bugzilla offer this or that feature or compatibility
+            with this other tracking software?
+          </A
 ></DT
 ><DT
 >A.1.7. <A
 HREF="faq.html#faq-general-mysql"
->&#13;	    Why MySQL?  I'm interested in seeing Bugzilla run on
-	    Oracle/Sybase/Msql/PostgreSQL/MSSQL.
-	  </A
+>&#13;            Why MySQL?  I'm interested in seeing Bugzilla run on
+            PostgreSQL/Sybase/Oracle/Msql/MSSQL.
+          </A
 ></DT
 ><DT
 >A.1.8. <A
 HREF="faq.html#faq-general-bonsaitools"
->&#13;	    What is <TT
+>&#13;            What is <TT
 CLASS="filename"
 >/usr/bonsaitools/bin/perl</TT
 >?
-	  </A
+          </A
 ></DT
 ><DT
 >A.1.9. <A
 HREF="faq.html#faq-general-perlpath"
->&#13;            My perl is not located at <TT
+>&#13;            My perl is located at <TT
+CLASS="filename"
+>/usr/local/bin/perl</TT
+>
+            and not <TT
 CLASS="filename"
 >/usr/bin/perl</TT
->, is
-            there an easy way to change it everywhere it needs to be changed?
+>. Is there an easy
+            to change that in all the files that have this hard-coded?
           </A
 ></DT
 ><DT
 >A.1.10. <A
 HREF="faq.html#faq-general-cookie"
->&#13;	    Is there an easy way to change the Bugzilla cookie name?
-	  </A
+>&#13;            Is there an easy way to change the Bugzilla cookie name?
+          </A
 ></DT
 ><DT
 >A.1.11. <A
 HREF="faq.html#faq-mod-perl"
->&#13;	    Does bugzilla run under <TT
+>&#13;            Does bugzilla run under <TT
 CLASS="filename"
 >mod_perl</TT
 >?
-	  </A
+          </A
 ></DT
 ></DL
 ></DD
@@ -178,337 +180,390 @@ HREF="faq.html#faq-phb"
 ><DT
 >A.2.1. <A
 HREF="faq.html#faq-phb-client"
->&#13;	    Is Bugzilla web-based, or do you have to have specific software or
-	    a specific operating system on your machine?
-	  </A
+>&#13;            Is Bugzilla web-based, or do you have to have specific software or
+            a specific operating system on your machine?
+          </A
 ></DT
 ><DT
 >A.2.2. <A
 HREF="faq.html#faq-phb-priorities"
->&#13;	    Does Bugzilla allow us to define our own priorities and levels? Do we
-	    have complete freedom to change the labels of fields and format of them, and
-	    the choice of acceptable values?
-	  </A
+>&#13;            Does Bugzilla allow us to define our own priorities and levels?
+            Do we have complete freedom to change the labels of fields and
+            format of them, and the choice of acceptable values?
+          </A
 ></DT
 ><DT
 >A.2.3. <A
 HREF="faq.html#faq-phb-reporting"
->&#13;	    Does Bugzilla provide any reporting features, metrics, graphs, etc? You
-	    know, the type of stuff that management likes to see. :)
-	  </A
+>&#13;            Does Bugzilla provide any reporting features, metrics, graphs,
+            etc? You know, the type of stuff that management likes to see. :)
+          </A
 ></DT
 ><DT
 >A.2.4. <A
 HREF="faq.html#faq-phb-email"
->&#13;	    Is there email notification and if so, what do you see when you get an
-	    email?
-	  </A
+>&#13;            Is there email notification? If so, what do you see
+            when you get an email?
+          </A
 ></DT
 ><DT
 >A.2.5. <A
 HREF="faq.html#faq-phb-emailapp"
->&#13;	    Do users have to have any particular
-	    type of email application?
-	  </A
+>&#13;            Do users have to have any particular
+            type of email application?
+          </A
 ></DT
 ><DT
 >A.2.6. <A
 HREF="faq.html#faq-phb-data"
->&#13;	    Does Bugzilla allow data to be imported and exported? If I had outsiders
-	    write up a bug report using a MS Word bug template, could that template be
-	    imported into "matching" fields? If I wanted to take the results of a query
-	    and export that data to MS Excel, could I do that?
-	  </A
+>&#13;            Does Bugzilla allow data to be imported and exported? If I had
+            outsiders write up a bug report using a MS Word bug template,
+            could that template be imported into <SPAN
+CLASS="QUOTE"
+>"matching"</SPAN
+>
+            fields? If I wanted to take the results of a query and export
+            that data to MS Excel, could I do that?
+          </A
 ></DT
 ><DT
 >A.2.7. <A
 HREF="faq.html#faq-phb-l10n"
->&#13;	    Has anyone converted Bugzilla to another language to be used in other
-	    countries? Is it localizable?
-	  </A
+>&#13;            Has anyone converted Bugzilla to another language to be
+            used in other countries? Is it localizable?
+          </A
 ></DT
 ><DT
 >A.2.8. <A
 HREF="faq.html#faq-phb-reports"
->&#13;	    Can a user create and save reports? Can they do this in Word format?
-	    Excel format?
-	  </A
+>&#13;            Can a user create and save reports?
+            Can they do this in Word format? Excel format?
+          </A
 ></DT
 ><DT
 >A.2.9. <A
-HREF="faq.html#faq-phb-midair"
->&#13;	     Does Bugzilla provide record locking when there is simultaneous access
-	    to the same bug? Does the second person get a notice that the bug is in use
-	    or how are they notified?
-	  </A
+HREF="faq.html#faq-phb-backup"
+>&#13;            Are there any backup features provided?
+          </A
 ></DT
 ><DT
 >A.2.10. <A
-HREF="faq.html#faq-phb-backup"
->&#13;	    Are there any backup features provided?
-	  </A
+HREF="faq.html#faq-phb-maintenance"
+>&#13;            What type of human resources are needed to be on staff to install
+            and maintain Bugzilla? Specifically, what type of skills does the
+            person need to have? I need to find out what types of individuals
+            would we need to hire and how much would that cost if we were to
+            go with Bugzilla vs. buying an <SPAN
+CLASS="QUOTE"
+>"out-of-the-box"</SPAN
+>
+            solution.
+          </A
 ></DT
 ><DT
 >A.2.11. <A
-HREF="faq.html#faq-phb-livebackup"
->&#13;	    Can users be on the system while a backup is in progress?
-	  </A
+HREF="faq.html#faq-phb-installtime"
+>&#13;            What time frame are we looking at if we decide to hire people
+            to install and maintain the Bugzilla? Is this something that
+            takes hours or days to install and a couple of hours per week
+            to maintain and customize, or is this a multi-week install process,
+            plus a full time job for 1 person, 2 people, etc?
+          </A
 ></DT
 ><DT
 >A.2.12. <A
-HREF="faq.html#faq-phb-maintenance"
->&#13;	    What type of human resources are needed to be on staff to install and
-	    maintain Bugzilla? Specifically, what type of skills does the person need to
-	    have? I need to find out if we were to go with Bugzilla, what types of
-	    individuals would we need to hire and how much would that cost vs buying an
-	    "out-of-the-box" solution?
-	  </A
+HREF="faq.html#faq-phb-cost"
+>&#13;            Is there any licensing fee or other fees for using Bugzilla? Any
+            out-of-pocket cost other than the bodies needed as identified above?
+          </A
 ></DT
 ><DT
 >A.2.13. <A
-HREF="faq.html#faq-phb-installtime"
->&#13;	    What time frame are we looking at if we decide to hire people to install
-	    and maintain the Bugzilla? Is this something that takes hours or weeks to
-	    install and a couple of hours per week to maintain and customize or is this
-	    a multi-week install process, plus a full time job for 1 person, 2 people,
-	    etc?
-	  </A
+HREF="faq.html#faq-phb-renameBugs"
+>&#13;            We don't like referring to problems as 'bugs'. Can we change that?
+          </A
+></DT
+></DL
+></DD
+><DT
+>3. <A
+HREF="faq.html#faq-admin"
+>Administrative Questions</A
 ></DT
+><DD
+><DL
 ><DT
->A.2.14. <A
-HREF="faq.html#faq-phb-cost"
->&#13;	    Is there any licensing fee or other fees for using Bugzilla? Any
-	    out-of-pocket cost other than the bodies needed as identified above?
-	  </A
+>A.3.1. <A
+HREF="faq.html#faq-admin-midair"
+>&#13;            Does Bugzilla provide record locking when there is simultaneous
+            access to the same bug? Does the second person get a notice
+            that the bug is in use or how are they notified?
+          </A
+></DT
+><DT
+>A.3.2. <A
+HREF="faq.html#faq-admin-livebackup"
+>&#13;            Can users be on the system while a backup is in progress?
+          </A
+></DT
+><DT
+>A.3.3. <A
+HREF="faq.html#faq-admin-cvsupdate"
+>&#13;            How can I update the code and the database using CVS?
+          </A
+></DT
+><DT
+>A.3.4. <A
+HREF="faq.html#faq-admin-enable-unconfirmed"
+>&#13;            How do I make it so that bugs can have an UNCONFIRMED status?
+          </A
 ></DT
 ></DL
 ></DD
 ><DT
->3. <A
+>4. <A
 HREF="faq.html#faq-security"
 >Bugzilla Security</A
 ></DT
 ><DD
 ><DL
 ><DT
->A.3.1. <A
+>A.4.1. <A
 HREF="faq.html#faq-security-mysql"
->&#13;	    How do I completely disable MySQL security if it's giving me problems
-	    (I've followed the instructions in the installation section of this guide)?
-	  </A
+>&#13;            How do I completely disable MySQL security if it's giving
+            me problems? (I've followed the instructions in the installation
+            section of this guide...)
+          </A
 ></DT
 ><DT
->A.3.2. <A
+>A.4.2. <A
 HREF="faq.html#faq-security-knownproblems"
->&#13;	    Are there any security problems with Bugzilla?
-	  </A
+>&#13;            Are there any security problems with Bugzilla?
+          </A
 ></DT
 ></DL
 ></DD
 ><DT
->4. <A
+>5. <A
 HREF="faq.html#faq-email"
 >Bugzilla Email</A
 ></DT
 ><DD
 ><DL
 ><DT
->A.4.1. <A
+>A.5.1. <A
 HREF="faq.html#faq-email-nomail"
->&#13;	    I have a user who doesn't want to receive any more email from Bugzilla.
-	    How do I stop it entirely for this user?
-	  </A
+>&#13;            I have a user who doesn't want to receive any more email
+            from Bugzilla. How do I stop it entirely for this user?
+          </A
 ></DT
 ><DT
->A.4.2. <A
+>A.5.2. <A
 HREF="faq.html#faq-email-testing"
->&#13;	    I'm evaluating/testing Bugzilla, and don't want it to send email to
-	    anyone but me. How do I do it?
-	  </A
+>&#13;            I'm evaluating/testing Bugzilla, and don't want it to send email
+            to anyone but me. How do I do it?
+          </A
 ></DT
 ><DT
->A.4.3. <A
+>A.5.3. <A
 HREF="faq.html#faq-email-whine"
->&#13;	    I want whineatnews.pl to whine at something other than new and
-	    reopened bugs. How do I do it?
-	  </A
+>&#13;            I want whineatnews.pl to whine at something other than new and
+            reopened bugs. How do I do it?
+          </A
 ></DT
 ><DT
->A.4.4. <A
+>A.5.4. <A
 HREF="faq.html#faq-email-mailif"
->&#13;	    How do I set up the email interface to submit/change bugs via email?
-	  </A
+>&#13;            How do I set up the email interface to submit/change bugs via email?
+          </A
 ></DT
 ><DT
->A.4.5. <A
+>A.5.5. <A
 HREF="faq.html#faq-email-sendmailnow"
->&#13;	    Email takes FOREVER to reach me from Bugzilla -- it's extremely slow.
-	    What gives?
-	  </A
+>&#13;            Email takes FOREVER to reach me from Bugzilla -- it's
+            extremely slow. What gives?
+          </A
 ></DT
 ><DT
->A.4.6. <A
+>A.5.6. <A
 HREF="faq.html#faq-email-nonreceived"
->&#13;	     How come email from Bugzilla changes never reaches me?
-	  </A
+>&#13;             How come email from Bugzilla changes never reaches me?
+          </A
 ></DT
 ></DL
 ></DD
 ><DT
->5. <A
+>6. <A
 HREF="faq.html#faq-db"
 >Bugzilla Database</A
 ></DT
 ><DD
 ><DL
 ><DT
->A.5.1. <A
-HREF="faq.html#faq-db-oracle"
->&#13;	    I've heard Bugzilla can be used with Oracle?
-	  </A
-></DT
-><DT
->A.5.2. <A
+>A.6.1. <A
 HREF="faq.html#faq-db-corrupted"
->&#13;	    I think my database might be corrupted, or contain invalid entries. What
-	    do I do?
-	  </A
+>&#13;            I think my database might be corrupted, or contain
+            invalid entries. What do I do?
+          </A
 ></DT
 ><DT
->A.5.3. <A
+>A.6.2. <A
 HREF="faq.html#faq-db-manualedit"
->&#13;	    I want to manually edit some entries in my database. How?
-	  </A
+>&#13;            I want to manually edit some entries in my database. How?
+          </A
 ></DT
 ><DT
->A.5.4. <A
+>A.6.3. <A
 HREF="faq.html#faq-db-permissions"
->&#13;	    I think I've set up MySQL permissions correctly, but Bugzilla still can't
-	    connect.
-	  </A
+>&#13;            I think I've set up MySQL permissions correctly, but Bugzilla still
+            can't connect.
+          </A
 ></DT
 ><DT
->A.5.5. <A
+>A.6.4. <A
 HREF="faq.html#faq-db-synchronize"
->&#13;	    How do I synchronize bug information among multiple different Bugzilla
-	    databases?
-	  </A
+>&#13;            How do I synchronize bug information among multiple
+            different Bugzilla databases?
+          </A
 ></DT
 ></DL
 ></DD
 ><DT
->6. <A
+>7. <A
 HREF="faq.html#faq-nt"
 >Bugzilla and Win32</A
 ></DT
 ><DD
 ><DL
 ><DT
->A.6.1. <A
+>A.7.1. <A
 HREF="faq.html#faq-nt-easiest"
->&#13;	    What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)?
-	  </A
+>&#13;            What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)?
+          </A
 ></DT
 ><DT
->A.6.2. <A
+>A.7.2. <A
 HREF="faq.html#faq-nt-bundle"
->&#13;	    Is there a "Bundle::Bugzilla" equivalent for Win32?
-	  </A
+>&#13;            Is there a "Bundle::Bugzilla" equivalent for Win32?
+          </A
 ></DT
 ><DT
->A.6.3. <A
+>A.7.3. <A
 HREF="faq.html#faq-nt-mappings"
->&#13;	    CGI's are failing with a "something.cgi is not a valid Windows NT
-	    application" error. Why?
-	  </A
+>&#13;            CGI's are failing with a <SPAN
+CLASS="QUOTE"
+>"something.cgi is not a valid
+            Windows NT application"</SPAN
+> error. Why?
+          </A
 ></DT
 ><DT
->A.6.4. <A
+>A.7.4. <A
 HREF="faq.html#faq-nt-dbi"
->&#13;	    I'm having trouble with the perl modules for NT not being able to talk to
-	    to the database.
-	  </A
+>&#13;            I'm having trouble with the perl modules for NT not being
+            able to talk to the database.
+          </A
 ></DT
 ></DL
 ></DD
 ><DT
->7. <A
+>8. <A
 HREF="faq.html#faq-use"
 >Bugzilla Usage</A
 ></DT
 ><DD
 ><DL
 ><DT
->A.7.1. <A
+>A.8.1. <A
 HREF="faq.html#faq-use-changeaddress"
->&#13;	    How do I change my user name (email address) in Bugzilla?
-	  </A
+>&#13;            How do I change my user name (email address) in Bugzilla?
+          </A
 ></DT
 ><DT
->A.7.2. <A
+>A.8.2. <A
 HREF="faq.html#faq-use-query"
->&#13;	    The query page is very confusing. Isn't there a simpler way to query?
-	  </A
+>&#13;            The query page is very confusing.
+            Isn't there a simpler way to query?
+          </A
 ></DT
 ><DT
->A.7.3. <A
+>A.8.3. <A
 HREF="faq.html#faq-use-accept"
->&#13;	    I'm confused by the behavior of the "accept" button in the Show Bug form.
-	    Why doesn't it assign the bug to me when I accept it?
-	  </A
+>&#13;            I'm confused by the behavior of the <SPAN
+CLASS="QUOTE"
+>"Accept"</SPAN
+>
+            button in the Show Bug form. Why doesn't it assign the bug
+            to me when I accept it?
+          </A
 ></DT
 ><DT
->A.7.4. <A
+>A.8.4. <A
 HREF="faq.html#faq-use-attachment"
->&#13;	    I can't upload anything into the database via the "Create Attachment"
-	    link. What am I doing wrong?
-	  </A
+>&#13;            I can't upload anything into the database via the
+            <SPAN
+CLASS="QUOTE"
+>"Create Attachment"</SPAN
+> link. What am I doing wrong?
+          </A
 ></DT
 ><DT
->A.7.5. <A
+>A.8.5. <A
 HREF="faq.html#faq-use-keyword"
->&#13;	    How do I change a keyword in Bugzilla, once some bugs are using it?
-	  </A
+>&#13;            How do I change a keyword in Bugzilla, once some bugs are using it?
+          </A
 ></DT
 ><DT
->A.7.6. <A
+>A.8.6. <A
 HREF="faq.html#faq-use-close"
->&#13;        Why can't I close bugs from the "Change Several Bugs at Once" page?
-      </A
+>&#13;            Why can't I close bugs from the <SPAN
+CLASS="QUOTE"
+>"Change Several Bugs
+            at Once"</SPAN
+> page?
+          </A
 ></DT
 ></DL
 ></DD
 ><DT
->8. <A
+>9. <A
 HREF="faq.html#faq-hacking"
 >Bugzilla Hacking</A
 ></DT
 ><DD
 ><DL
 ><DT
->A.8.1. <A
+>A.9.1. <A
 HREF="faq.html#faq-hacking-templatestyle"
->&#13;	    What kind of style should I use for templatization?
-	  </A
+>&#13;            What kind of style should I use for templatization?
+          </A
 ></DT
 ><DT
->A.8.2. <A
+>A.9.2. <A
 HREF="faq.html#faq-hacking-bugzillabugs"
->&#13;	    What bugs are in Bugzilla right now?
-	  </A
+>&#13;            What bugs are in Bugzilla right now?
+          </A
 ></DT
 ><DT
->A.8.3. <A
+>A.9.3. <A
 HREF="faq.html#faq-hacking-priority"
->&#13;	    How can I change the default priority to a null value?  For instance, have the default
-	    priority be "---" instead of "P2"?
-	  </A
+>&#13;            How can I change the default priority to a null value?
+            For instance, have the default priority be <SPAN
+CLASS="QUOTE"
+>"---"</SPAN
+>
+            instead of <SPAN
+CLASS="QUOTE"
+>"P2"</SPAN
+>?
+          </A
 ></DT
 ><DT
->A.8.4. <A
+>A.9.4. <A
 HREF="faq.html#faq-hacking-patches"
->&#13;	    What's the best way to submit patches?  What guidelines should I follow?
-	  </A
+>&#13;            What's the best way to submit patches?  What guidelines
+            should I follow?
+          </A
 ></DT
 ></DL
 ></DD
@@ -531,8 +586,8 @@ NAME="faq-general-license"
 ><B
 >A.1.1. </B
 >
-	    What license is Bugzilla distributed under?
-	  </P
+            What license is Bugzilla distributed under?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -540,13 +595,13 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Bugzilla is covered by the Mozilla Public License.
-	    See details at <A
+            Bugzilla is covered by the Mozilla Public License.
+            See details at <A
 HREF="http://www.mozilla.org/MPL/"
 TARGET="_top"
 >http://www.mozilla.org/MPL/</A
 >.
-	  </P
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -560,8 +615,8 @@ NAME="faq-general-support"
 ><B
 >A.1.2. </B
 >
-	    How do I get commercial support for Bugzilla?
-	  </P
+            How do I get commercial support for Bugzilla?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -570,19 +625,19 @@ CLASS="answer"
 > </B
 >
             <A
-HREF="http://bugzilla.org/consulting.html"
+HREF="http:/www.bugzilla.org/support/consulting.html"
 TARGET="_top"
->http://bugzilla.org/consulting.html</A
+>http:/www.bugzilla.org/support/consulting.html</A
 >
-            is a list of people and companies who have asked us to list them
-            as consultants for Bugzilla.
+            is a list of companies and individuals who have asked us to
+            list them as consultants for Bugzilla.
           </P
 ><P
->&#13;	    There are several experienced
-	    Bugzilla hackers on the mailing list/newsgroup who are willing
-	    to make themselves available for generous compensation.
-	    Try sending a message to the mailing list asking for a volunteer.
-	  </P
+>&#13;            There are several experienced
+            Bugzilla hackers on the mailing list/newsgroup who are willing
+            to make themselves available for generous compensation.
+            Try sending a message to the mailing list asking for a volunteer.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -596,9 +651,9 @@ NAME="faq-general-companies"
 ><B
 >A.1.3. </B
 >
-	    What major companies or projects are currently using Bugzilla
-	    for bug-tracking?
-	  </P
+            What major companies or projects are currently using Bugzilla
+            for bug-tracking?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -606,10 +661,10 @@ CLASS="answer"
 ><B
 > </B
 >
-	    There are <EM
+            There are <EM
 >dozens</EM
 > of major companies with public
-	    Bugzilla sites to track bugs in their products. We have a fairly
+            Bugzilla sites to track bugs in their products. We have a fairly
             complete list available on our website at
             <A
 HREF="http://bugzilla.org/installation-list/"
@@ -625,7 +680,7 @@ HREF="mailto:gerv@mozilla.org"
 >gerv@mozilla.org</A
 >&#62;</CODE
 >.
-	  </P
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -639,8 +694,8 @@ NAME="faq-general-maintainers"
 ><B
 >A.1.4. </B
 >
-	    Who maintains Bugzilla?
-	  </P
+            Who maintains Bugzilla?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -648,14 +703,13 @@ CLASS="answer"
 ><B
 > </B
 >
-	    A 
-      <A
-HREF="http://www.bugzilla.org/who_we_are.html"
+            A <A
+HREF="http://www.bugzilla.org/developers/profiles.html"
 TARGET="_top"
->core team</A
->,
-      led by Dave Miller (justdave@bugzilla.org).
-	  </P
+>core
+            team</A
+>, led by Dave Miller (justdave@bugzilla.org).
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -669,8 +723,8 @@ NAME="faq-general-compare"
 ><B
 >A.1.5. </B
 >
-	    How does Bugzilla stack up against other bug-tracking databases?
-	  </P
+            How does Bugzilla stack up against other bug-tracking databases?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -678,22 +732,29 @@ CLASS="answer"
 ><B
 > </B
 >
-	    We can't find any head-to-head comparisons of Bugzilla against
-	    other defect-tracking software. If you know of one, please
-      get in touch. However, from the author's personal
-	    experience with other bug-trackers, Bugzilla offers
-	    superior performance on commodity hardware, better price
-	    (free!), more developer- friendly features (such as stored
-	    queries, email integration, and platform independence),
-	    improved scalability, open source code, greater
-	    flexibility, and superior ease-of-use.
-	  </P
+            We can't find any head-to-head comparisons of Bugzilla against
+            other defect-tracking software. If you know of one, please get
+            in touch. In the experience of Matthew Barnson (the original
+            author of this FAQ), though, Bugzilla offers superior
+            performance on commodity hardware, better price (free!), more
+            developer-friendly features (such as stored queries, email
+            integration, and platform independence), improved scalability,
+            greater flexibility, and superior ease-of-use when compared
+            to commercial bug-tracking software.
+          </P
 ><P
->&#13;	    If you happen to be a commercial bug-tracker vendor, please
-	    step forward with a list of advantages your product has over
-      Bugzilla. We'd be happy to include it in the "Competitors"
-      section.
-	  </P
+>&#13;            If you happen to be a vendor for commercial bug-tracking
+            software, and would like to submit a list of advantages your
+            product has over Bugzilla, simply send it to 
+            <CODE
+CLASS="email"
+>&#60;<A
+HREF="mailto:documentation@bugzilla.org"
+>documentation@bugzilla.org</A
+>&#62;</CODE
+> and we'd be happy to
+            include the comparison in our documentation.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -707,9 +768,9 @@ NAME="faq-general-bzmissing"
 ><B
 >A.1.6. </B
 >
-	    Why doesn't Bugzilla offer this or that feature or compatibility
-	    with this other tracking software?
-	  </P
+            Why doesn't Bugzilla offer this or that feature or compatibility
+            with this other tracking software?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -717,23 +778,53 @@ CLASS="answer"
 ><B
 > </B
 >
-	    It may be that the support has not been built yet, or that you
-	    have not yet found it. Bugzilla is making tremendous strides in
-	    usability, customizability, scalability, and user interface. It
-	    is widely considered the most complete and popular open-source
-	    bug-tracking software in existence.
-	  </P
-><P
->&#13;	    That doesn't mean it can't use improvement!
-	    You can help the project along by either hacking a patch yourself
-	    that supports the functionality you require, or else submitting a
-	    "Request for Enhancement" (RFE) using the bug submission interface
-	    at <A
+            It may be that the support has not been built yet, or that you
+            have not yet found it. While Bugzilla makes strides in usability,
+            customizability, scalability, and user interface with each release,
+            that doesn't mean it can't still use improvement!
+          </P
+><P
+>&#13;            The best way to make an enhancement request is to <A
 HREF="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla"
 TARGET="_top"
->bugzilla.mozilla.org</A
->.
-	  </P
+>file
+            a bug at bugzilla.mozilla.org</A
+> and set the Severity
+            to 'enhancement'. Your 'request for enhancement' (RFE) will
+            start out in the UNCONFIRMED state, and will stay there until
+            someone with the ability to COMFIRM the bug reviews it.
+            If that person feels it to be a good request that fits in with
+            Bugzilla's overall direction, the status will be changed to
+            NEW; if not, they will probably explain why and set the bug
+            to RESOLVED/WONTFIX. If someone else has made the same (or
+            almost the same) request before, your request will be marked
+            RESOLVED/DUPLICATE, and a pointer to the previous RFE will be
+            added.
+          </P
+><P
+>&#13;            Even if your RFE gets approved, that doesn't mean it's going
+            to make it right into the next release; there are a limited
+            number of developers, and a whole lot of RFEs... some of
+            which are <EM
+>quite</EM
+> complex. If you're a
+            code-hacking sort of person, you can help the project along
+            by making a patch yourself that supports the functionality
+            you require. If you have never contributed anything to
+            Bugzilla before, please be sure to read the 
+            <A
+HREF="http://www.bugzilla.org/docs/developer.html"
+TARGET="_top"
+>Developers' Guide</A
+>
+            and
+            <A
+HREF="http://www.bugzilla.org/docs/contributor.html"
+TARGET="_top"
+>Contributors' Guide</A
+>
+            before going ahead.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -747,9 +838,9 @@ NAME="faq-general-mysql"
 ><B
 >A.1.7. </B
 >
-	    Why MySQL?  I'm interested in seeing Bugzilla run on
-	    Oracle/Sybase/Msql/PostgreSQL/MSSQL.
-	  </P
+            Why MySQL?  I'm interested in seeing Bugzilla run on
+            PostgreSQL/Sybase/Oracle/Msql/MSSQL.
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -759,25 +850,48 @@ CLASS="answer"
 >
             MySQL was originally chosen because it is free, easy to install,
             and was available for the hardware Netscape intended to run it on.
-	  </P
+          </P
 ><P
 >&#13;            There is currently work in progress to make Bugzilla work on
-            PostgreSQL and Sybase in the default distribution. You can track
-            the progress of these initiatives in <A
+            PostgreSQL; track the progress of this initiative in <A
 HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=98304"
 TARGET="_top"
 >bug 98304</A
->
-            and <A
+>.
+          </P
+><P
+>&#13;            Sybase support is no longer being worked on.  Even if it eventually
+            happens, it's VERY unlikely to work without the end-user-company
+            having to stick a few developers on making several manual changes.
+            Sybase is just NOT very standards-compliant (despite all the hype),
+            and it turned out that way too much had to be changed to make it
+            work -- like moving half of the application logic into stored
+            procedures to get any kind of decent performance out of it.
+            <A
 HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=173130"
 TARGET="_top"
->bug 173130</A
->
-            respectively.
+>Bug
+            173130</A
+> is the relevant bug.
+          </P
+><P
+>&#13;            Red Hat once ran a version of Bugzilla that worked on Oracle, 
+            but that was long, long ago; that version (Bugzilla 2.8) is
+            now obsolete, insecure, and totally unsupported. Red Hat's
+            current Bugzilla (based on Bugzilla 2.17.1) uses PostgreSQL,
+            and work is being done to merge those changes into the main
+            distribution. (See above.) At this time we know of no recent
+            ports of Bugzilla to Oracle. (In our honest opinion, Bugzilla
+            doesn't need what Oracle offers.)
           </P
 ><P
->&#13;            Once both of these are done, adding support for additional
-            database servers should be trivial.
+>&#13;            <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=237862"
+TARGET="_top"
+>Bug
+            237862</A
+> is a good bug to read through if you'd like to see
+            what progress is being made on general database compatibility.
           </P
 ></DIV
 ></DIV
@@ -792,11 +906,11 @@ NAME="faq-general-bonsaitools"
 ><B
 >A.1.8. </B
 >
-	    What is <TT
+            What is <TT
 CLASS="filename"
 >/usr/bonsaitools/bin/perl</TT
 >?
-	  </P
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -804,8 +918,8 @@ CLASS="answer"
 ><B
 > </B
 >
-            Bugzilla used to have the path to perl on the shebang line set to
-            <TT
+            Bugzilla used to have the path to perl on the shebang line set
+            to <TT
 CLASS="filename"
 >/usr/bonsaitools/bin/perl</TT
 > because when
@@ -834,11 +948,15 @@ NAME="faq-general-perlpath"
 ><B
 >A.1.9. </B
 >
-            My perl is not located at <TT
+            My perl is located at <TT
+CLASS="filename"
+>/usr/local/bin/perl</TT
+>
+            and not <TT
 CLASS="filename"
 >/usr/bin/perl</TT
->, is
-            there an easy way to change it everywhere it needs to be changed?
+>. Is there an easy
+            to change that in all the files that have this hard-coded?
           </P
 ></DIV
 ><DIV
@@ -847,12 +965,16 @@ CLASS="answer"
 ><B
 > </B
 >
-            Yes, the following bit of perl magic will change all the shebang
-            lines. Be sure to change <TT
-CLASS="filename"
->/usr/local/bin/perl</TT
->
-            to your path to the perl binary.
+            The easiest way to get around this is to create a link from
+            one to the other:
+            <B
+CLASS="command"
+>ln -s /usr/local/bin/perl /usr/bin/perl</B
+>.
+            If that's not an option for you, the following bit of perl
+            magic will change all the shebang lines (that is to say,
+            the line at the top of each file that starts with '#!' 
+            and contains the path) to something else:
           </P
 ><TABLE
 BORDER="0"
@@ -870,6 +992,86 @@ CLASS="programlisting"
 ></TD
 ></TR
 ></TABLE
+><P
+>&#13;            Sadly, this command-line won't work on Windows unless you
+            also have Cygwin. However, MySQL comes with a binary called
+            <B
+CLASS="command"
+>replace</B
+> which can do the job:
+          </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#13;C:\mysql\bin\replace "#!/usr/bin/perl" "#!C:\perl\bin\perl" -- *.cgi *.pl
+          </PRE
+></FONT
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;              If your perl path is something else again, just follow the
+              above examples and replace
+              <TT
+CLASS="filename"
+>/usr/local/bin/perl</TT
+> with your own perl path.
+            </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;            If using Apache on Windows, you can avoid the whole problem
+            by setting the <A
+HREF="http://httpd.apache.org/docs-2.0/mod/core.html#scriptinterpretersource"
+TARGET="_top"
+>&#13;            ScriptInterpreterSource</A
+> directive to 'Registry'.
+            (If using Apache 2 or higher, set it to 'Registry-Strict'.)
+            ScriptInterperterSource requires a registry entry
+            <SPAN
+CLASS="QUOTE"
+>"HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command"</SPAN
+> to
+            associate .cgi files with your perl executable. If one does
+            not already exist, create it with a default value of
+           <SPAN
+CLASS="QUOTE"
+>"&#60;full path to perl&#62; -T"</SPAN
+>, e.g.
+           <SPAN
+CLASS="QUOTE"
+>"C:\Perl\bin\perl.exe -T"</SPAN
+>.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -883,8 +1085,8 @@ NAME="faq-general-cookie"
 ><B
 >A.1.10. </B
 >
-	    Is there an easy way to change the Bugzilla cookie name?
-	  </P
+            Is there an easy way to change the Bugzilla cookie name?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -892,8 +1094,8 @@ CLASS="answer"
 ><B
 > </B
 >
-	    At present, no.
-	  </P
+            At present, no.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -907,11 +1109,11 @@ NAME="faq-mod-perl"
 ><B
 >A.1.11. </B
 >
-	    Does bugzilla run under <TT
+            Does bugzilla run under <TT
 CLASS="filename"
 >mod_perl</TT
 >?
-	  </P
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -919,8 +1121,15 @@ CLASS="answer"
 ><B
 > </B
 >
-	    At present, no. This is being worked on.
-	  </P
+            At present, no. Work is slowly taking place to remove global
+            variables, use $cgi, and use DBI. These are all necessary for
+            mod_perl (as well as being good for other reasons). Visit 
+            <A
+HREF="https://bugzilla.mozilla.org/show_bug.cgi?id=87406"
+TARGET="_top"
+>&#13;            bug 87406</A
+> to view the discussion and progress.
+          </P
 ></DIV
 ></DIV
 ></DIV
@@ -942,9 +1151,9 @@ NAME="faq-phb-client"
 ><B
 >A.2.1. </B
 >
-	    Is Bugzilla web-based, or do you have to have specific software or
-	    a specific operating system on your machine?
-	  </P
+            Is Bugzilla web-based, or do you have to have specific software or
+            a specific operating system on your machine?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -952,8 +1161,8 @@ CLASS="answer"
 ><B
 > </B
 >
-	    It is web and e-mail based.
-	  </P
+            It is web and e-mail based.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -967,10 +1176,10 @@ NAME="faq-phb-priorities"
 ><B
 >A.2.2. </B
 >
-	    Does Bugzilla allow us to define our own priorities and levels? Do we
-	    have complete freedom to change the labels of fields and format of them, and
-	    the choice of acceptable values?
-	  </P
+            Does Bugzilla allow us to define our own priorities and levels?
+            Do we have complete freedom to change the labels of fields and
+            format of them, and the choice of acceptable values?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -978,19 +1187,19 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Yes. However, modifying some fields, notably those related to bug
-	    progression states, also require adjusting the program logic to
-	    compensate for the change.
-	  </P
+            Yes. However, modifying some fields, notably those related to bug
+            progression states, also require adjusting the program logic to
+            compensate for the change.
+          </P
 ><P
->&#13;	    There is no GUI for adding fields to Bugzilla at this
-	    time. You can follow development of this feature in 
-	    <A
+>&#13;            There is no GUI for adding fields to Bugzilla at this
+            time. You can follow development of this feature in 
+            <A
 HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=91037"
 TARGET="_top"
 >bug 91037</A
 >
-	  </P
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -1004,9 +1213,9 @@ NAME="faq-phb-reporting"
 ><B
 >A.2.3. </B
 >
-	    Does Bugzilla provide any reporting features, metrics, graphs, etc? You
-	    know, the type of stuff that management likes to see. :)
-	  </P
+            Does Bugzilla provide any reporting features, metrics, graphs,
+            etc? You know, the type of stuff that management likes to see. :)
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1014,13 +1223,17 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Yes. Look at <A
+            Yes. Look at <A
 HREF="http://bugzilla.mozilla.org/report.cgi"
 TARGET="_top"
 >http://bugzilla.mozilla.org/report.cgi</A
 >
             for samples of what Bugzilla can do in reporting and graphing.
-	  </P
+            Fuller documentation is provided in <A
+HREF="reporting.html"
+>Section 6.11</A
+>.
+          </P
 ><P
 >&#13;            If you can not get the reports you want from the included reporting
             scripts, it is possible to hook up a professional reporting package
@@ -1028,7 +1241,7 @@ TARGET="_top"
             beware that giving direct access to the database does contain some
             security implications. Even if you give read-only access to the
             bugs database it will bypass the secure bugs features of Bugzilla.
-	  </P
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -1042,9 +1255,9 @@ NAME="faq-phb-email"
 ><B
 >A.2.4. </B
 >
-	    Is there email notification and if so, what do you see when you get an
-	    email?
-	  </P
+            Is there email notification? If so, what do you see
+            when you get an email?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1052,10 +1265,10 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Email notification is user-configurable. By default, the bug id and 
-      summary of the bug report accompany each email notification, along with
-	    a list of the changes made.
-	  </P
+            Email notification is user-configurable. By default, the bug id
+            and summary of the bug report accompany each email notification,
+            along with a list of the changes made.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -1069,9 +1282,9 @@ NAME="faq-phb-emailapp"
 ><B
 >A.2.5. </B
 >
-	    Do users have to have any particular
-	    type of email application?
-	  </P
+            Do users have to have any particular
+            type of email application?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1079,9 +1292,9 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Bugzilla email is sent in plain text, the most compatible mail format
-	    on the planet.
-	    <DIV
+            Bugzilla email is sent in plain text, the most compatible
+            mail format on the planet.
+            <DIV
 CLASS="note"
 ><P
 ></P
@@ -1102,19 +1315,23 @@ ALT="Note"></TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->&#13;		If you decide to use the bugzilla_email integration features
-		to allow Bugzilla to record responses to mail with the associated bug,
-		you may need to caution your users to set their mailer to "respond
-		to messages in the format in which they were sent". For security reasons
-		Bugzilla ignores HTML tags in comments, and if a user sends HTML-based
-		email into Bugzilla the resulting comment looks downright awful.
-	      </P
+>&#13;                If you decide to use the bugzilla_email integration features
+                to allow Bugzilla to record responses to mail with the
+                associated bug, you may need to caution your users to set
+                their mailer to <SPAN
+CLASS="QUOTE"
+>"respond to messages in the format in
+                which they were sent"</SPAN
+>. For security reasons Bugzilla
+                ignores HTML tags in comments, and if a user sends HTML-based
+                email into Bugzilla the resulting comment looks downright awful.
+              </P
 ></TD
 ></TR
 ></TABLE
 ></DIV
 >
-	  </P
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -1128,11 +1345,15 @@ NAME="faq-phb-data"
 ><B
 >A.2.6. </B
 >
-	    Does Bugzilla allow data to be imported and exported? If I had outsiders
-	    write up a bug report using a MS Word bug template, could that template be
-	    imported into "matching" fields? If I wanted to take the results of a query
-	    and export that data to MS Excel, could I do that?
-	  </P
+            Does Bugzilla allow data to be imported and exported? If I had
+            outsiders write up a bug report using a MS Word bug template,
+            could that template be imported into <SPAN
+CLASS="QUOTE"
+>"matching"</SPAN
+>
+            fields? If I wanted to take the results of a query and export
+            that data to MS Excel, could I do that?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1190,9 +1411,9 @@ NAME="faq-phb-l10n"
 ><B
 >A.2.7. </B
 >
-	    Has anyone converted Bugzilla to another language to be used in other
-	    countries? Is it localizable?
-	  </P
+            Has anyone converted Bugzilla to another language to be
+            used in other countries? Is it localizable?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1206,15 +1427,15 @@ HREF="http://www.bugzilla.org/download.html#localizations"
 TARGET="_top"
 >http://www.bugzilla.org/download.html#localizations</A
 >.
-            The admin interfaces are still not included in these translated
-            templates and is therefore still English only. Also, there may be
-            issues with the charset not being declared. See <A
+            Some admin interfaces have been templatized (for easy localization)
+            but many of them are still available in English only. Also, there
+            may be issues with the charset not being declared. See <A
 HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=126266"
 TARGET="_top"
 >bug 126226</A
 >
             for more information.
-	  </P
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -1228,9 +1449,9 @@ NAME="faq-phb-reports"
 ><B
 >A.2.8. </B
 >
-	    Can a user create and save reports? Can they do this in Word format?
-	    Excel format?
-	  </P
+            Can a user create and save reports?
+            Can they do this in Word format? Excel format?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1238,8 +1459,8 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Yes. No. Yes (using the CSV format).
-	  </P
+            Yes. No. Yes (using the CSV format).
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -1248,15 +1469,13 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-midair"
+NAME="faq-phb-backup"
 ></A
 ><B
 >A.2.9. </B
 >
-	     Does Bugzilla provide record locking when there is simultaneous access
-	    to the same bug? Does the second person get a notice that the bug is in use
-	    or how are they notified?
-	  </P
+            Are there any backup features provided?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1264,9 +1483,14 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Bugzilla does not lock records. It provides mid-air collision detection,
-	    and offers the offending user a choice of options to deal with the conflict.
-	  </P
+            MySQL, the database back-end for Bugzilla, allows hot-backup
+            of data. You can find strategies for dealing with backup
+            considerations at <A
+HREF="http://www.mysql.com/doc/B/a/Backup.html"
+TARGET="_top"
+>http://www.mysql.com/doc/B/a/Backup.html</A
+>.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -1275,13 +1499,21 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-backup"
+NAME="faq-phb-maintenance"
 ></A
 ><B
 >A.2.10. </B
 >
-	    Are there any backup features provided?
-	  </P
+            What type of human resources are needed to be on staff to install
+            and maintain Bugzilla? Specifically, what type of skills does the
+            person need to have? I need to find out what types of individuals
+            would we need to hire and how much would that cost if we were to
+            go with Bugzilla vs. buying an <SPAN
+CLASS="QUOTE"
+>"out-of-the-box"</SPAN
+>
+            solution.
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1289,14 +1521,16 @@ CLASS="answer"
 ><B
 > </B
 >
-	    MySQL, the database back-end for Bugzilla, allows hot-backup of data.
-	    You can find strategies for dealing with backup considerations
-	    at <A
-HREF="http://www.mysql.com/doc/B/a/Backup.html"
-TARGET="_top"
->http://www.mysql.com/doc/B/a/Backup.html</A
->.
-	  </P
+            If Bugzilla is set up correctly from the start, continuing
+            maintenance needs are minimal and can be done easily using
+            the web interface.
+          </P
+><P
+>&#13;            Commercial Bug-tracking software typically costs somewhere
+            upwards of $20,000 or more for 5-10 floating licenses. Bugzilla
+            consultation is available from skilled members of the newsgroup.
+            Simple questions are answered there and then.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -1305,13 +1539,17 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-livebackup"
+NAME="faq-phb-installtime"
 ></A
 ><B
 >A.2.11. </B
 >
-	    Can users be on the system while a backup is in progress?
-	  </P
+            What time frame are we looking at if we decide to hire people
+            to install and maintain the Bugzilla? Is this something that
+            takes hours or days to install and a couple of hours per week
+            to maintain and customize, or is this a multi-week install process,
+            plus a full time job for 1 person, 2 people, etc?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1319,10 +1557,15 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Yes. However, commits to the database must wait
-	    until the tables are unlocked. Bugzilla databases are typically
-	    very small, and backups routinely take less than a minute.
-	  </P
+            It all depends on your level of commitment. Someone with much
+            Bugzilla experience can get you up and running in less than a day,
+            and your Bugzilla install can run untended for years. If your
+            Bugzilla strategy is critical to your business workflow, hire
+            somebody to who has reasonable Perl skills, and a familiarity
+            with the operating system on which Bugzilla will be running,
+            and have them handle your process management, bug-tracking
+            maintenance, and local customization.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -1331,17 +1574,14 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-maintenance"
+NAME="faq-phb-cost"
 ></A
 ><B
 >A.2.12. </B
 >
-	    What type of human resources are needed to be on staff to install and
-	    maintain Bugzilla? Specifically, what type of skills does the person need to
-	    have? I need to find out if we were to go with Bugzilla, what types of
-	    individuals would we need to hire and how much would that cost vs buying an
-	    "out-of-the-box" solution?
-	  </P
+            Is there any licensing fee or other fees for using Bugzilla? Any
+            out-of-pocket cost other than the bodies needed as identified above?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1349,15 +1589,12 @@ CLASS="answer"
 ><B
 > </B
 >
-	    If Bugzilla is set up correctly from the start, continuing maintenance
-      needs are minimal and can be done easily using the web interface.
-	  </P
-><P
->&#13;	    Commercial Bug-tracking software typically costs somewhere upwards
-	    of $20,000 or more for 5-10 floating licenses. Bugzilla consultation
-	    is available from skilled members of the newsgroup. Simple questions
-      are answered there and then.
-	  </P
+            No. Bugzilla, Perl, the Template Toolkit, and all other support
+            software needed to make Bugzilla work can be downloaded for free.
+            MySQL -- the database used by Bugzilla -- is also open-source, but
+            they ask that if you find their product valuable, you purchase a
+            support contract from them that suits your needs.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -1366,17 +1603,13 @@ CLASS="qandaentry"
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-installtime"
+NAME="faq-phb-renameBugs"
 ></A
 ><B
 >A.2.13. </B
 >
-	    What time frame are we looking at if we decide to hire people to install
-	    and maintain the Bugzilla? Is this something that takes hours or weeks to
-	    install and a couple of hours per week to maintain and customize or is this
-	    a multi-week install process, plus a full time job for 1 person, 2 people,
-	    etc?
-	  </P
+            We don't like referring to problems as 'bugs'. Can we change that?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1384,29 +1617,97 @@ CLASS="answer"
 ><B
 > </B
 >
-	    It all depends on your level of commitment. Someone with much Bugzilla
-	    experience can get you up and running in less than a day, and
-	    your Bugzilla install can run untended for years. If your
-	    Bugzilla strategy is critical to your business workflow, hire somebody
-	    with reasonable UNIX or Perl skills to handle your process management and
-	    bug-tracking maintenance &#38; customization.
-	  </P
+            Yes! As of Bugzilla 2.18, it is a simple matter to change the
+            word 'bug' into whatever word/phrase is used by your organization.
+            See the documentation on Customization for more details,
+            specifically <A
+HREF="cust-templates.html#template-specific"
+>Section 5.1.5</A
+>.
+          </P
+></DIV
 ></DIV
 ></DIV
 ><DIV
+CLASS="qandadiv"
+><H3
+><A
+NAME="faq-admin"
+></A
+>3. Administrative Questions</H3
+><DIV
 CLASS="qandaentry"
 ><DIV
 CLASS="question"
 ><P
 ><A
-NAME="faq-phb-cost"
+NAME="faq-admin-midair"
+></A
+><B
+>A.3.1. </B
+>
+            Does Bugzilla provide record locking when there is simultaneous
+            access to the same bug? Does the second person get a notice
+            that the bug is in use or how are they notified?
+          </P
+></DIV
+><DIV
+CLASS="answer"
+><P
+><B
+> </B
+>
+            Bugzilla does not lock records. It provides mid-air collision
+            detection -- which means that it warns a user when a commit is
+            about to conflict with commits recently made by another user,
+            and offers the second user a choice of options to deal with
+            the conflict.
+          </P
+></DIV
+></DIV
+><DIV
+CLASS="qandaentry"
+><DIV
+CLASS="question"
+><P
+><A
+NAME="faq-admin-livebackup"
+></A
+><B
+>A.3.2. </B
+>
+            Can users be on the system while a backup is in progress?
+          </P
+></DIV
+><DIV
+CLASS="answer"
+><P
+><B
+> </B
+>
+            Yes, but commits to the database must wait until the tables
+            are unlocked. Bugzilla databases are typically very small,
+            and backups routinely take less than a minute. If your database
+            is larger, you may want to look into alternate backup
+            techniques, such as database replication, or backing up from
+            a read-only mirror. (Read up on these in the MySQL docs
+            on the MySQL site.)
+          </P
+></DIV
+></DIV
+><DIV
+CLASS="qandaentry"
+><DIV
+CLASS="question"
+><P
+><A
+NAME="faq-admin-cvsupdate"
 ></A
 ><B
->A.2.14. </B
+>A.3.3. </B
 >
-	    Is there any licensing fee or other fees for using Bugzilla? Any
-	    out-of-pocket cost other than the bodies needed as identified above?
-	  </P
+            How can I update the code and the database using CVS?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1414,9 +1715,160 @@ CLASS="answer"
 ><B
 > </B
 >
-	    No. MySQL asks, if you find their product valuable, that you purchase
-	    a support contract from them that suits your needs.
-	  </P
+            <P
+></P
+><OL
+TYPE="1"
+><LI
+><P
+>&#13;                  Make a backup of both your Bugzilla directory and the
+                  database. For the Bugzilla directory this is as easy as
+                  doing <B
+CLASS="command"
+>cp -rp bugzilla bugzilla.bak</B
+>.
+                  For the database, there's a number of options - see the
+                  MySQL docs and pick the one that fits you best (the easiest
+                  is to just make a physical copy of the database on the disk,
+                  but you have to have the database server shut down to do
+                  that without risking dataloss).
+                </P
+></LI
+><LI
+><P
+>&#13;                  Make the Bugzilla directory your current directory.
+                </P
+></LI
+><LI
+><P
+>&#13;                  Use <B
+CLASS="command"
+>cvs -q update -AdP</B
+> if you want to
+                  update to the tip or
+                  <B
+CLASS="command"
+>cvs -q update -dP -rTAGNAME</B
+>
+                  if you want a specific version (in that case you'll have to
+                  replace TAGNAME with a CVS tag name such as BUGZILLA-2_16_5).
+                </P
+><P
+>&#13;                  If you've made no local changes, this should be very clean.
+                  If you have made local changes, then watch the cvs output
+                  for C results. If you get any lines that start with a C
+                  it means there  were conflicts between your local changes
+                  and what's in CVS. You'll need to fix those manually before
+                  continuing.
+                </P
+></LI
+><LI
+><P
+>&#13;                  After resolving any conflicts that the cvs update operation
+                  generated, running <B
+CLASS="command"
+>./checksetup.pl</B
+> will
+                  take care of updating the database for you as well as any
+                  other changes required for the new version to operate.
+                </P
+><DIV
+CLASS="warning"
+><P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;                    Once you run checksetup.pl, the only way to go back is
+                    to restore the database backups. You can't
+                    <SPAN
+CLASS="QUOTE"
+>"downgrade"</SPAN
+> the system cleanly under most
+                    circumstances.
+                  </P
+></TD
+></TR
+></TABLE
+></DIV
+></LI
+></OL
+>
+          </P
+><P
+>&#13;            See also the instructions in <A
+HREF="upgrading.html#upgrade-cvs"
+>Example 3-1</A
+>.
+          </P
+></DIV
+></DIV
+><DIV
+CLASS="qandaentry"
+><DIV
+CLASS="question"
+><P
+><A
+NAME="faq-admin-enable-unconfirmed"
+></A
+><B
+>A.3.4. </B
+>
+            How do I make it so that bugs can have an UNCONFIRMED status?
+          </P
+></DIV
+><DIV
+CLASS="answer"
+><P
+><B
+> </B
+>
+            To use the UNCONFIRMED status, you must have the 'usevotes'
+            parameter set to <SPAN
+CLASS="QUOTE"
+>"On"</SPAN
+>. You must then visit the
+            <TT
+CLASS="filename"
+>editproducts.cgi</TT
+> page and set the <SPAN
+CLASS="QUOTE"
+>"
+            Number of votes a bug in this product needs to automatically
+            get out of the UNCONFIRMED state"</SPAN
+> to be a non-zero number.
+            (You will have to do this for each product that wants to use
+            the UNCONFIRMED state.) If you do not actually want users to be
+            able to vote for bugs entered against this product, leave the
+            <SPAN
+CLASS="QUOTE"
+>"Maximum votes per person"</SPAN
+> value at '0'.
+          </P
+><P
+>&#13;            There is work being done to decouple the UNCONFIRMED state from
+            the 'usevotes' parameter for future versions of Bugzilla.
+            Follow the discussion and progress at <A
+HREF="https://bugzilla.mozilla.org/show_bug.cgi?id=162060"
+TARGET="_top"
+>bug
+            162060</A
+>.
+          </P
 ></DIV
 ></DIV
 ></DIV
@@ -1426,7 +1878,7 @@ CLASS="qandadiv"
 ><A
 NAME="faq-security"
 ></A
->3. Bugzilla Security</H3
+>4. Bugzilla Security</H3
 ><DIV
 CLASS="qandaentry"
 ><DIV
@@ -1436,11 +1888,12 @@ CLASS="question"
 NAME="faq-security-mysql"
 ></A
 ><B
->A.3.1. </B
+>A.4.1. </B
 >
-	    How do I completely disable MySQL security if it's giving me problems
-	    (I've followed the instructions in the installation section of this guide)?
-	  </P
+            How do I completely disable MySQL security if it's giving
+            me problems? (I've followed the instructions in the installation
+            section of this guide...)
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1448,12 +1901,48 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Run MySQL like this: "mysqld --skip-grant-tables". Please remember <EM
->this
-	    makes MySQL as secure as taping a $100 to the floor of a football stadium
-	    bathroom for safekeeping.</EM
+            Run MySQL like this: <B
+CLASS="command"
+>mysqld --skip-grant-tables</B
+>.
+            Please remember that <EM
+>this makes MySQL as secure as
+            taping a $100 to the floor of a football stadium bathroom for
+            safekeeping.</EM
 > 
-	  </P
+          </P
+><DIV
+CLASS="warning"
+><P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;              This can't be stressed enough. Doing this is a bad idea.
+              Please consult <A
+HREF="security-mysql.html"
+>Section 4.2</A
+> of this guide
+              and the MySQL documentation for better solutions.
+            </P
+></TD
+></TR
+></TABLE
+></DIV
 ></DIV
 ></DIV
 ><DIV
@@ -1465,10 +1954,10 @@ CLASS="question"
 NAME="faq-security-knownproblems"
 ></A
 ><B
->A.3.2. </B
+>A.4.2. </B
 >
-	    Are there any security problems with Bugzilla?
-	  </P
+            Are there any security problems with Bugzilla?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1476,12 +1965,12 @@ CLASS="answer"
 ><B
 > </B
 >
-	    The Bugzilla code has undergone a reasonably complete security audit,
-      and user-facing CGIs run under Perl's taint mode. However, 
-	    it is recommended that you closely examine permissions on your Bugzilla
-	    installation, and follow the recommended security guidelines found
-	    in The Bugzilla Guide.
-	  </P
+            The Bugzilla code has undergone a reasonably complete security
+            audit, and user-facing CGIs run under Perl's taint mode. However, 
+            it is recommended that you closely examine permissions on your
+            Bugzilla installation, and follow the recommended security
+            guidelines found in The Bugzilla Guide.
+          </P
 ></DIV
 ></DIV
 ></DIV
@@ -1491,7 +1980,7 @@ CLASS="qandadiv"
 ><A
 NAME="faq-email"
 ></A
->4. Bugzilla Email</H3
+>5. Bugzilla Email</H3
 ><DIV
 CLASS="qandaentry"
 ><DIV
@@ -1501,51 +1990,187 @@ CLASS="question"
 NAME="faq-email-nomail"
 ></A
 ><B
->A.4.1. </B
+>A.5.1. </B
 >
-	    I have a user who doesn't want to receive any more email from Bugzilla.
-	    How do I stop it entirely for this user?
-	  </P
+            I have a user who doesn't want to receive any more email
+            from Bugzilla. How do I stop it entirely for this user?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
 ><P
-><B
-> </B
+><B
+> </B
+>
+            The user can stop Bugzilla from sending any mail by unchecking
+            all boxes on the 'Edit prefs' -&#62; 'Email settings' page.
+            (As of 2.18,this is made easier by the addition of a 'Disable
+            All Mail' button.) Alternately, you can add their email address
+            to the <TT
+CLASS="filename"
+>data/nomail</TT
+> file (one email address
+            per line). This will override their personal preferences, and
+            they will never be sent mail again.
+          </P
+></DIV
+></DIV
+><DIV
+CLASS="qandaentry"
+><DIV
+CLASS="question"
+><P
+><A
+NAME="faq-email-testing"
+></A
+><B
+>A.5.2. </B
+>
+            I'm evaluating/testing Bugzilla, and don't want it to send email
+            to anyone but me. How do I do it?
+          </P
+></DIV
+><DIV
+CLASS="answer"
+><P
+><B
+> </B
+>
+            To disable email, set the
+            <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>$enableSendMail</PRE
+></FONT
+></TD
+></TR
+></TABLE
+> parameter to '0'
+            in either <TT
+CLASS="filename"
+>BugMail.pm</TT
+> (2.18 and later) or 
+            <TT
+CLASS="filename"
+>processmail</TT
+> (up to 2.16.x).
+          </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;              Up to 2.16.x, changing
+              <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>$enableSendMail</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+              will only affect bugmail; email related to password changes,
+              email address changes, bug imports, flag changes, etc. will
+              still be sent out. As of the final release of 2.18, however,
+              the above step will disable <EM
+>all</EM
+> mail
+              sent from Bugzilla for any purpose.
+            </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;            To have bugmail (and only bugmail) redirected to you instead of
+            its intended recipients, leave
+            <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>$enableSendMail</PRE
+></FONT
+></TD
+></TR
+></TABLE
+> alone;
+            instead, edit the <SPAN
+CLASS="QUOTE"
+>"newchangedmail"</SPAN
+> parameter
+            as follows:
+          </P
+><P
+></P
+><UL
+><LI
+><P
+>&#13;                Replace <SPAN
+CLASS="QUOTE"
+>"To:"</SPAN
+> with <SPAN
+CLASS="QUOTE"
+>"X-Real-To:"</SPAN
 >
-	    The user should be able to set
-	    this in user email preferences (uncheck all boxes) or you can add
-            their email address to the <TT
-CLASS="filename"
->data/nomail</TT
-> file.
-	  </P
-></DIV
-></DIV
-><DIV
-CLASS="qandaentry"
-><DIV
-CLASS="question"
+              </P
+></LI
+><LI
 ><P
-><A
-NAME="faq-email-testing"
-></A
-><B
->A.4.2. </B
+>&#13;                Replace <SPAN
+CLASS="QUOTE"
+>"Cc:"</SPAN
+> with <SPAN
+CLASS="QUOTE"
+>"X-Real-CC:"</SPAN
 >
-	    I'm evaluating/testing Bugzilla, and don't want it to send email to
-	    anyone but me. How do I do it?
-	  </P
-></DIV
-><DIV
-CLASS="answer"
+              </P
+></LI
+><LI
 ><P
-><B
-> </B
+>&#13;                Add a <SPAN
+CLASS="QUOTE"
+>"To: %lt;your_email_address&#62;"</SPAN
 >
-	    Edit the "newchangedmail" Param. Replace "To:" with "X-Real-To:",
-	    replace "Cc:" with "X-Real-CC:", and add a "To: &#60;youremailaddress&#62;".
-	  </P
+              </P
+></LI
+></UL
 ></DIV
 ></DIV
 ><DIV
@@ -1557,11 +2182,11 @@ CLASS="question"
 NAME="faq-email-whine"
 ></A
 ><B
->A.4.3. </B
+>A.5.3. </B
 >
-	    I want whineatnews.pl to whine at something other than new and
-	    reopened bugs. How do I do it?
-	  </P
+            I want whineatnews.pl to whine at something other than new and
+            reopened bugs. How do I do it?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1569,16 +2194,32 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Try Klaas Freitag's excellent patch for "whineatassigned"
-            functionality. You can find it in <A
+            For older versions of Bugzilla, you may be able to apply 
+            Klaas Freitag's patch for <SPAN
+CLASS="QUOTE"
+>"whineatassigned"</SPAN
+>,
+            which can be found in
+            <A
 HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=6679"
 TARGET="_top"
->bug 6679</A
->. This
-	    patch is against an older version of Bugzilla, so you must apply
-	    the diffs manually.
-            
-	  </P
+>bug
+            6679</A
+>. Note that this patch was made in 2000, so it may take
+            some work to apply cleanly to any releases of Bugzilla newer than
+            that, but you can use it as a starting point.
+          </P
+><P
+>&#13;            An updated (and much-expanded) version of this functionality is
+            due to be released as part of Bugzilla 2.20; see 
+            <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=185090"
+TARGET="_top"
+>bug
+            185090</A
+> for the discussion, and for more up-to-date patches
+            if you just can't wait.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -1590,10 +2231,10 @@ CLASS="question"
 NAME="faq-email-mailif"
 ></A
 ><B
->A.4.4. </B
+>A.5.4. </B
 >
-	    How do I set up the email interface to submit/change bugs via email?
-	  </P
+            How do I set up the email interface to submit/change bugs via email?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1601,9 +2242,9 @@ CLASS="answer"
 ><B
 > </B
 >
-	    You can find an updated README.mailif file in the contrib/ directory
-	    of your Bugzilla distribution that walks you through the setup.
-	  </P
+            You can find an updated README.mailif file in the contrib/ directory
+            of your Bugzilla distribution that walks you through the setup.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -1615,11 +2256,11 @@ CLASS="question"
 NAME="faq-email-sendmailnow"
 ></A
 ><B
->A.4.5. </B
+>A.5.5. </B
 >
-	    Email takes FOREVER to reach me from Bugzilla -- it's extremely slow.
-	    What gives?
-	  </P
+            Email takes FOREVER to reach me from Bugzilla -- it's
+            extremely slow. What gives?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1627,44 +2268,57 @@ CLASS="answer"
 ><B
 > </B
 >
-	    If you are using <SPAN
+            If you are using <SPAN
 CLASS="application"
 >sendmail</SPAN
->, try enabling
-            <VAR
+>, try
+            enabling <VAR
 CLASS="option"
 >sendmailnow</VAR
-> in <TT
+> in
+            <TT
 CLASS="filename"
 >editparams.cgi</TT
->.
-            
-	  </P
+>. For earlier versions of
+            <SPAN
+CLASS="application"
+>sendmail</SPAN
+>, one could achieve
+            significant performance improvement in the UI (at the cost of
+            delaying the sending of mail) by setting this parameter to
+            <VAR
+CLASS="literal"
+>off</VAR
+>. Sites with
+            <SPAN
+CLASS="application"
+>sendmail</SPAN
+> version 8.12 (or higher)
+            should leave this <VAR
+CLASS="literal"
+>on</VAR
+>, as they will not see
+            any performance benefit.
+          </P
 ><P
->&#13;	    If you are using an alternate <A
+>&#13;            If you are using an alternate
+            <A
 HREF="glossary.html#gloss-mta"
 ><I
 CLASS="glossterm"
 >MTA</I
 ></A
->,
-            make sure the options given in <TT
+>, make sure the
+            options given in <TT
 CLASS="filename"
 >Bugzilla/BugMail.pm</TT
 >
             and any other place where <SPAN
 CLASS="application"
 >sendmail</SPAN
-> is called from
-	    are correct for your MTA. You should also ensure that the
-            <VAR
-CLASS="option"
->sendmailnow</VAR
-> param is set to <VAR
-CLASS="literal"
->on</VAR
->.
-	  </P
+>
+            is called are correct for your MTA.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -1676,10 +2330,10 @@ CLASS="question"
 NAME="faq-email-nonreceived"
 ></A
 ><B
->A.4.6. </B
+>A.5.6. </B
 >
-	     How come email from Bugzilla changes never reaches me?
-	  </P
+             How come email from Bugzilla changes never reaches me?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1687,16 +2341,38 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Double-check that you have not turned off email in your user preferences.
-	    Confirm that Bugzilla is able to send email by visiting the "Log In"
-	    link of your Bugzilla installation and clicking the "Email me a password"
-	    button after entering your email address.
-	  </P
+            Double-check that you have not turned off email in your user
+            preferences. Confirm that Bugzilla is able to send email by
+            visiting the <SPAN
+CLASS="QUOTE"
+>"Log In"</SPAN
+> link of your Bugzilla
+            installation and clicking the <SPAN
+CLASS="QUOTE"
+>"Email me a password"</SPAN
+>
+            button after entering your email address.
+          </P
 ><P
->&#13;	    If you never receive mail from Bugzilla, chances are you do not have
-	    sendmail in "/usr/lib/sendmail". Ensure sendmail lives in, or is symlinked
-	    to, "/usr/lib/sendmail".
-	  </P
+>&#13;            If you never receive mail from Bugzilla, chances are you do
+            not have sendmail in "/usr/lib/sendmail". Ensure sendmail
+            lives in, or is symlinked to, "/usr/lib/sendmail".
+          </P
+><P
+>&#13;            If you are using an MTA other than
+            <SPAN
+CLASS="application"
+>sendmail</SPAN
+> the
+            <VAR
+CLASS="option"
+>sendmailnow</VAR
+> param must be set to
+            <VAR
+CLASS="literal"
+>on</VAR
+> or no mail will be sent.
+          </P
 ></DIV
 ></DIV
 ></DIV
@@ -1706,36 +2382,7 @@ CLASS="qandadiv"
 ><A
 NAME="faq-db"
 ></A
->5. Bugzilla Database</H3
-><DIV
-CLASS="qandaentry"
-><DIV
-CLASS="question"
-><P
-><A
-NAME="faq-db-oracle"
-></A
-><B
->A.5.1. </B
->
-	    I've heard Bugzilla can be used with Oracle?
-	  </P
-></DIV
-><DIV
-CLASS="answer"
-><P
-><B
-> </B
->
-            Red Hat's old version of Bugzilla (based on 2.8) worked on Oracle,
-            but it is now so old as to be obsolete, and is totally unsupported.
-            Red Hat's newer version (based on 2.17.1 and soon to be merged into
-            the main distribution) runs on PostgreSQL. At this time we know of
-            no recent ports of Bugzilla to Oracle; to be honest, Bugzilla
-            doesn't need what Oracle offers.
-	  </P
-></DIV
-></DIV
+>6. Bugzilla Database</H3
 ><DIV
 CLASS="qandaentry"
 ><DIV
@@ -1745,11 +2392,11 @@ CLASS="question"
 NAME="faq-db-corrupted"
 ></A
 ><B
->A.5.2. </B
+>A.6.1. </B
 >
-	    I think my database might be corrupted, or contain invalid entries. What
-	    do I do?
-	  </P
+            I think my database might be corrupted, or contain
+            invalid entries. What do I do?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1757,29 +2404,29 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Run the <SPAN
+            Run the <SPAN
 CLASS="QUOTE"
 >"sanity check"</SPAN
 > utility
-	    (<TT
+            (<TT
 CLASS="filename"
 >sanitycheck.cgi</TT
->) from your web browser to see! 
-      If it finishes without errors, you're
-	    <EM
+>) from your web browser
+            to see! If it finishes without errors, you're
+            <EM
 >probably</EM
 > OK. If it doesn't come back
-	    OK (i.e. any red letters), there are certain things
-	    Bugzilla can recover from and certain things it can't. If
-	    it can't auto-recover, I hope you're familiar with
-	    mysqladmin commands or have installed another way to
-	    manage your database. Sanity Check, although it is a good
-	    basic check on your database integrity, by no means is a
-	    substitute for competent database administration and
-	    avoiding deletion of data. It is not exhaustive, and was
-	    created to do a basic check for the most common problems
-	    in Bugzilla databases.
-	  </P
+            OK (i.e. any red letters), there are certain things
+            Bugzilla can recover from and certain things it can't. If
+            it can't auto-recover, I hope you're familiar with
+            mysqladmin commands or have installed another way to
+            manage your database. Sanity Check, although it is a good
+            basic check on your database integrity, by no means is a
+            substitute for competent database administration and
+            avoiding deletion of data. It is not exhaustive, and was
+            created to do a basic check for the most common problems
+            in Bugzilla databases.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -1791,10 +2438,10 @@ CLASS="question"
 NAME="faq-db-manualedit"
 ></A
 ><B
->A.5.3. </B
+>A.6.2. </B
 >
-	    I want to manually edit some entries in my database. How?
-	  </P
+            I want to manually edit some entries in my database. How?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1802,25 +2449,36 @@ CLASS="answer"
 ><B
 > </B
 >
-	     There is no facility in Bugzilla itself to do this. It's also generally
-	    not a smart thing to do if you don't know exactly what you're doing.
-	    However, if you understand SQL you can use the <B
+            There is no facility in Bugzilla itself to do this. It's also
+            generally not a smart thing to do if you don't know exactly what
+            you're doing. If you understand SQL, though, you can use the
+            <B
 CLASS="command"
 >mysql</B
->
-            command line utility to manually insert, delete and modify table
-            information. There are also more intuitive GUI clients available.
-            Personal favorites of the Bugzilla team are <A
+> command line utility to manually insert,
+            delete and modify table information. There are also more intuitive
+            GUI clients available. Personal favorites of the Bugzilla team
+            are <A
 HREF="http://www.phpmyadmin.net/"
 TARGET="_top"
 >phpMyAdmin</A
-> and <A
-HREF="http://www.mysql.com/downloads/gui-mycc.html"
+>
+            and <A
+HREF="http://www.mysql.com/products/mysqlcc/"
 TARGET="_top"
->MySQL Control
-            Center</A
+>MySQL
+            Control Center</A
 >.
-	  </P
+          </P
+><P
+>&#13;            Remember, backups are your friend. Everyone makes mistakes, and
+            it's nice to have a safety net in case you mess something up.
+            Consider using <B
+CLASS="command"
+>mysqldump</B
+> to make a duplicate
+            of your database before altering it manually.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -1832,11 +2490,11 @@ CLASS="question"
 NAME="faq-db-permissions"
 ></A
 ><B
->A.5.4. </B
+>A.6.3. </B
 >
-	    I think I've set up MySQL permissions correctly, but Bugzilla still can't
-	    connect.
-	  </P
+            I think I've set up MySQL permissions correctly, but Bugzilla still
+            can't connect.
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1844,11 +2502,16 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Try running MySQL from its binary: "mysqld --skip-grant-tables". This
-	    will allow you to completely rule out grant tables as the cause of your
-            frustration. If this Bugzilla is able to connect at this point then
-            you need to check that you have granted proper permission to the user
-            password combo defined in <TT
+            Try running MySQL from its binary:
+            <B
+CLASS="command"
+>mysqld --skip-grant-tables</B
+>.
+            This will allow you to completely rule out grant tables as the
+            cause of your frustration. If this Bugzilla is able to connect
+            at this point then you need to check that you have granted proper
+            permission to the user password combo defined in
+            <TT
 CLASS="filename"
 >localconfig</TT
 >.
@@ -1893,11 +2556,11 @@ CLASS="question"
 NAME="faq-db-synchronize"
 ></A
 ><B
->A.5.5. </B
+>A.6.4. </B
 >
-	    How do I synchronize bug information among multiple different Bugzilla
-	    databases?
-	  </P
+            How do I synchronize bug information among multiple
+            different Bugzilla databases?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1905,21 +2568,26 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Well, you can synchronize or you can move bugs. Synchronization will
-	    only work one way -- you can create a read-only copy of the database
-	    at one site, and have it regularly updated at intervals from the main
-	    database.
-	  </P
+            Well, you can synchronize or you can move bugs.
+            Synchronization will only work one way -- you can create
+            a read-only copy of the database at one site, and have it
+            regularly updated at intervals from the main database.
+          </P
 ><P
->&#13;	    MySQL has some synchronization features builtin to the latest releases.
-	    It would be great if someone looked into the possibilities there
-	    and provided a report to the newsgroup on how to effectively
-	    synchronize two Bugzilla installations.
-	  </P
+>&#13;            MySQL has some synchronization features builtin to the
+            latest releases. It would be great if someone looked into
+            the possibilities there and provided a report to the
+            newsgroup on how to effectively synchronize two Bugzilla
+            installations.
+          </P
 ><P
->&#13;	    If you simply need to transfer bugs from one Bugzilla to another,
-	    checkout the "move.pl" script in the Bugzilla distribution.
-	  </P
+>&#13;            If you simply need to transfer bugs from one Bugzilla to another,
+            checkout the <SPAN
+CLASS="QUOTE"
+>"move.pl"</SPAN
+> script in the Bugzilla
+            distribution.
+          </P
 ></DIV
 ></DIV
 ></DIV
@@ -1929,7 +2597,7 @@ CLASS="qandadiv"
 ><A
 NAME="faq-nt"
 ></A
->6. Bugzilla and Win32</H3
+>7. Bugzilla and Win32</H3
 ><DIV
 CLASS="qandaentry"
 ><DIV
@@ -1939,10 +2607,10 @@ CLASS="question"
 NAME="faq-nt-easiest"
 ></A
 ><B
->A.6.1. </B
+>A.7.1. </B
 >
-	    What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)?
-	  </P
+            What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1950,9 +2618,30 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Remove Windows. Install Linux. Install Bugzilla.
-	    The boss will never know the difference.
-	  </P
+            Remove Windows. Install Linux. Install Bugzilla.
+            The boss will never know the difference. B^)
+          </P
+><P
+>&#13;            Seriously though, making Bugzilla work easily with Windows
+            was one of the major goals of the 2.18 milestone. If the
+            necessary components are in place (perl, a webserver, an MTA, etc.)
+            then installation of Bugzilla on a Windows box should be no more
+            difficult than on any other platform. As with any installation,
+            we recommend that you carefully and completely follow the
+            installation instructions in <A
+HREF="os-specific.html#os-win32"
+>Section 2.4.1</A
+>.
+          </P
+><P
+>&#13;            While doing so, don't forget to check out the very excellent guide
+            to <A
+HREF="http://www.bugzilla.org/docs/win32install.html"
+TARGET="_top"
+>&#13;            Installing Bugzilla on Microsoft Windows</A
+> written by
+            Byron Jones. Thanks, Byron!
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -1964,10 +2653,10 @@ CLASS="question"
 NAME="faq-nt-bundle"
 ></A
 ><B
->A.6.2. </B
+>A.7.2. </B
 >
-	    Is there a "Bundle::Bugzilla" equivalent for Win32?
-	  </P
+            Is there a "Bundle::Bugzilla" equivalent for Win32?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -1975,10 +2664,10 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Not currently. Bundle::Bugzilla enormously simplifies Bugzilla
-	    installation on UNIX systems. If someone can volunteer to
-	    create a suitable PPM bundle for Win32, it would be appreciated.
-	  </P
+            Not currently. Bundle::Bugzilla enormously simplifies Bugzilla
+            installation on UNIX systems. If someone can volunteer to
+            create a suitable PPM bundle for Win32, it would be appreciated.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -1990,11 +2679,14 @@ CLASS="question"
 NAME="faq-nt-mappings"
 ></A
 ><B
->A.6.3. </B
+>A.7.3. </B
 >
-	    CGI's are failing with a "something.cgi is not a valid Windows NT
-	    application" error. Why?
-	  </P
+            CGI's are failing with a <SPAN
+CLASS="QUOTE"
+>"something.cgi is not a valid
+            Windows NT application"</SPAN
+> error. Why?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -2002,31 +2694,40 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Depending on what Web server you are using, you will have to configure
-	    the Web server to treat *.cgi files as CGI scripts. In IIS, you do this by
-	    adding *.cgi to the App Mappings with the &#60;path&#62;\perl.exe %s %s as the
-	    executable.
-	  </P
+            Depending on what Web server you are using, you will have to
+            configure the Web server to treat *.cgi files as CGI scripts.
+            In IIS, you do this by adding *.cgi to the App Mappings with
+            the &#60;path&#62;\perl.exe %s %s as the executable.
+          </P
 ><P
->&#13;	    Microsoft has some advice on this matter, as well:
-	    <A
-NAME="AEN1981"
+>&#13;            Microsoft has some advice on this matter, as well:
+            <A
+NAME="AEN2727"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
 ><P
->&#13;		"Set application mappings. In the ISM, map the extension for the script
-		file(s) to the executable for the script interpreter. For example, you might
-		map the extension .py to Python.exe, the executable for the Python script
-		interpreter. Note For the ActiveState Perl script interpreter, the extension
-		.pl is associated with PerlIS.dll by default. If you want to change the
-		association of .pl to perl.exe, you need to change the application mapping.
-		In the mapping, you must add two percent (%) characters to the end of the
-		pathname for perl.exe, as shown in this example: c:\perl\bin\perl.exe %s %s"
-	      </P
+>&#13;                <SPAN
+CLASS="QUOTE"
+>"Set application mappings. In the ISM, map the extension
+                for the script file(s) to the executable for the script
+                interpreter. For example, you might map the extension .py to
+                Python.exe, the executable for the Python script interpreter.
+                Note For the ActiveState Perl script interpreter, the extension
+                '.pl' is associated with PerlIS.dll by default. If you want
+                to change the association of .pl to perl.exe, you need to
+                change the application mapping. In the mapping, you must add
+                two percent (%) characters to the end of the pathname for
+                perl.exe, as shown in this example: 
+                <B
+CLASS="command"
+>c:\perl\bin\perl.exe %s %s</B
+>"</SPAN
+>
+              </P
 ></BLOCKQUOTE
 >
-	  </P
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -2038,11 +2739,11 @@ CLASS="question"
 NAME="faq-nt-dbi"
 ></A
 ><B
->A.6.4. </B
+>A.7.4. </B
 >
-	    I'm having trouble with the perl modules for NT not being able to talk to
-	    to the database.
-	  </P
+            I'm having trouble with the perl modules for NT not being
+            able to talk to the database.
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -2050,52 +2751,52 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Your modules may be outdated or inaccurate. Try:
-	    <P
+            Your modules may be outdated or inaccurate. Try:
+            <P
 ></P
 ><OL
 TYPE="1"
 ><LI
 ><P
->&#13;		  Hitting http://www.activestate.com/ActivePerl
-		</P
+>&#13;                  Hitting http://www.activestate.com/ActivePerl
+                </P
 ></LI
 ><LI
 ><P
->&#13;		  Download ActivePerl
-		</P
+>&#13;                  Download ActivePerl
+                </P
 ></LI
 ><LI
 ><P
->&#13;		  Go to your prompt
-		</P
+>&#13;                  Go to your prompt
+                </P
 ></LI
 ><LI
 ><P
->&#13;		  Type 'ppm'
-		</P
+>&#13;                  Type 'ppm'
+                </P
 ></LI
 ><LI
 ><P
->&#13;		  <SAMP
+>&#13;                  <SAMP
 CLASS="prompt"
 >PPM&#62;</SAMP
 > <B
 CLASS="command"
 >install DBI DBD-mysql GD</B
 >
-		</P
+                </P
 ></LI
 ></OL
 >
-	    I reckon TimeDate and Data::Dumper come with the activeperl. You can check
-	    the ActiveState site for packages for installation through PPM.
-	    <A
+            I reckon TimeDate and Data::Dumper come with the activeperl.
+            You can check the ActiveState site for packages for installation
+            through PPM. <A
 HREF="http://www.activestate.com/Packages/"
 TARGET="_top"
 >http://www.activestate.com/Packages/</A
 >.
-	  </P
+          </P
 ></DIV
 ></DIV
 ></DIV
@@ -2105,7 +2806,7 @@ CLASS="qandadiv"
 ><A
 NAME="faq-use"
 ></A
->7. Bugzilla Usage</H3
+>8. Bugzilla Usage</H3
 ><DIV
 CLASS="qandaentry"
 ><DIV
@@ -2115,10 +2816,10 @@ CLASS="question"
 NAME="faq-use-changeaddress"
 ></A
 ><B
->A.7.1. </B
+>A.8.1. </B
 >
-	    How do I change my user name (email address) in Bugzilla?
-	  </P
+            How do I change my user name (email address) in Bugzilla?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -2126,9 +2827,9 @@ CLASS="answer"
 ><B
 > </B
 >
-	    New in 2.16 - go to the Account section of the Preferences. You will
-      be emailed at both addresses for confirmation.
-	  </P
+            New in 2.16 - go to the Account section of the Preferences. You
+            will be emailed at both addresses for confirmation.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -2140,10 +2841,11 @@ CLASS="question"
 NAME="faq-use-query"
 ></A
 ><B
->A.7.2. </B
+>A.8.2. </B
 >
-	    The query page is very confusing. Isn't there a simpler way to query?
-	  </P
+            The query page is very confusing.
+            Isn't there a simpler way to query?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -2151,10 +2853,63 @@ CLASS="answer"
 ><B
 > </B
 >
-	    The interface was simplified by a UI designer for 2.16. Further
-      suggestions for improvement are welcome, but we won't sacrifice power for
-      simplicity.
-	  </P
+            The interface was simplified by a UI designer for 2.16. Further
+            suggestions for improvement are welcome, but we won't sacrifice
+            power for simplicity.
+          </P
+><P
+>&#13;            As of 2.18, there is also a 'simpler' search available. At the top
+            of the search page are two links; <SPAN
+CLASS="QUOTE"
+>"Advanced Search"</SPAN
+>
+            will take you to the familiar full-power/full-complexity search
+            page. The <SPAN
+CLASS="QUOTE"
+>"Find a Specific Bug"</SPAN
+> link will take you
+            to a much-simplified page where you can pick a product and
+            status (open,closed, or both), then enter words that appear in
+            the bug you want to find. This search will scour the 'Summary'
+            and 'Comment' fields, and return a list of bugs sorted so that
+            the bugs with the most hits/matches are nearer to the top.
+          </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;              Matches in the Summary will 'trump' matches in comments,
+              and bugs with summary-matches will be placed higher in
+              the buglist --  even if a lower-ranked bug has more matches
+              in the comments section.
+            </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;            Bugzilla uses a cookie to remember which version of the page
+            you visited last, and brings that page up when you next do a
+            search. The default page for new users (or after an upgrade)
+            is the 'simple' search.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -2166,11 +2921,15 @@ CLASS="question"
 NAME="faq-use-accept"
 ></A
 ><B
->A.7.3. </B
+>A.8.3. </B
+>
+            I'm confused by the behavior of the <SPAN
+CLASS="QUOTE"
+>"Accept"</SPAN
 >
-	    I'm confused by the behavior of the "accept" button in the Show Bug form.
-	    Why doesn't it assign the bug to me when I accept it?
-	  </P
+            button in the Show Bug form. Why doesn't it assign the bug
+            to me when I accept it?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -2178,37 +2937,61 @@ CLASS="answer"
 ><B
 > </B
 >
-	    The current behavior is acceptable to bugzilla.mozilla.org and most
-	    users. You have your choice of patches to change this behavior, however.
-	    <P
+            The current behavior is acceptable to bugzilla.mozilla.org and
+            most users. If you want to change this behavior, though, you
+            have your choice of patches: 
+            <P
 ></P
 ><TABLE
 BORDER="0"
 ><TBODY
 ><TR
 ><TD
-><A
+>&#13;                <A
+HREF="http://bugzilla.mozilla.org/show_bug?id=35195"
+TARGET="_top"
+>Bug 35195</A
+>
+                seeks to add an <SPAN
+CLASS="QUOTE"
+>"...and accept the bug"</SPAN
+> checkbox
+                to the UI. It has two patches attached to it: 
+                <A
 HREF="http://bugzilla.mozilla.org/showattachment.cgi?attach_id=8029"
 TARGET="_top"
->&#13;		Add a "and accept bug" radio button</A
-></TD
+>attachment 8029</A
+>
+                was originally created for Bugzilla 2.12, while 
+                <A
+HREF="http://bugzilla.mozilla.org/showattachment.cgi?attach_id=91372"
+TARGET="_top"
+>attachment 91372</A
+>
+                is an updated version for Bugzilla 2.16
+              </TD
 ></TR
 ><TR
 ><TD
-><A
-HREF="http://bugzilla.mozilla.org/showattachment.cgi?attach_id=8153"
+>&#13;                <A
+HREF="http://bugzilla.mozilla.org/show_bug?id=37613"
 TARGET="_top"
->&#13;		"Accept" button automatically assigns to you</A
-></TD
+>Bug
+                37613</A
+> also provides two patches (against Bugzilla
+                2.12): one to add a 'Take Bug' option, and the other to
+                automatically reassign the bug on 'Accept'. 
+              </TD
 ></TR
 ></TBODY
 ></TABLE
 ><P
 ></P
 >
-	    Note that these patches are somewhat dated. You will need to apply
-      them manually.
-	  </P
+            These patches are all somewhat dated now, and cannot be applied
+            directly, but they are simple enough to provide a guide on how
+            Bugzilla can be customized and updated to suit your needs.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -2220,11 +3003,14 @@ CLASS="question"
 NAME="faq-use-attachment"
 ></A
 ><B
->A.7.4. </B
+>A.8.4. </B
 >
-	    I can't upload anything into the database via the "Create Attachment"
-	    link. What am I doing wrong?
-	  </P
+            I can't upload anything into the database via the
+            <SPAN
+CLASS="QUOTE"
+>"Create Attachment"</SPAN
+> link. What am I doing wrong?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -2232,10 +3018,10 @@ CLASS="answer"
 ><B
 > </B
 >
-	    The most likely cause is a very old browser or a browser that is
-	    incompatible with file upload via POST. Download the latest Netscape,
-	    Microsoft, or Mozilla browser to handle uploads correctly.
-	  </P
+            The most likely cause is a very old browser or a browser that is
+            incompatible with file upload via POST. Download the latest version
+            of your favourite browser to handle uploads correctly.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -2247,10 +3033,10 @@ CLASS="question"
 NAME="faq-use-keyword"
 ></A
 ><B
->A.7.5. </B
+>A.8.5. </B
 >
-	    How do I change a keyword in Bugzilla, once some bugs are using it?
-	  </P
+            How do I change a keyword in Bugzilla, once some bugs are using it?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -2258,10 +3044,14 @@ CLASS="answer"
 ><B
 > </B
 >
-	    In the Bugzilla administrator UI, edit the keyword and it will let you
-	    replace the old keyword name with a new one. This will cause a problem
-	    with the keyword cache. Run sanitycheck.cgi to fix it.
-	  </P
+            In the Bugzilla administrator UI, edit the keyword and
+            it will let you replace the old keyword name with a new one.
+            This will cause a problem with the keyword cache; run
+            <B
+CLASS="command"
+>sanitycheck.cgi</B
+> to fix it.
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -2273,10 +3063,14 @@ CLASS="question"
 NAME="faq-use-close"
 ></A
 ><B
->A.7.6. </B
+>A.8.6. </B
 >
-        Why can't I close bugs from the "Change Several Bugs at Once" page?
-      </P
+            Why can't I close bugs from the <SPAN
+CLASS="QUOTE"
+>"Change Several Bugs
+            at Once"</SPAN
+> page?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -2284,21 +3078,35 @@ CLASS="answer"
 ><B
 > </B
 >
-        The logic flow currently used is RESOLVED, then VERIFIED, then CLOSED.
-        You <EM
->can</EM
-> mass-CLOSE bugs from the change several
-        bugs at once page. <EM
->but</EM
->, every bug listed on the
-        page has to be in VERIFIED state before the control to do it will show
-        up on the form. You can also mass-VERIFY, but every bug listed has to be
-        RESOLVED in order for the control to show up on the form. The logic
-        behind this is that if you pick one of the bugs that's not VERIFIED and
-        try to CLOSE it, the bug change will fail miserably (thus killing any
-        changes in the list after it while doing the bulk change) so it doesn't
-        even give you the choice.
-      </P
+            Simple answer; you can.
+          </P
+><P
+>&#13;            The logic behind the page checks every bug in the list to
+            determine legal state changes, and then only shows you controls
+            to do things that could apply to <EM
+>every</EM
+> bug
+            on the list. The reason for this is that if you try to do something
+            illegal to a bug, the whole process will grind to a halt, and all
+            changes after the failed one will <EM
+>also</EM
+> fail.
+            Since that isn't a good outcome, the page doesn't even present
+            you with the option.
+          </P
+><P
+>&#13;            In practical terms, that means that in order to mark
+            multiple bugs as CLOSED, then every bug on the page has to be
+            either RESOLVED or VERIFIED already; if this is not the case,
+            then the option to close the bugs will not appear on the page.
+          </P
+><P
+>&#13;            The rationale is that if you pick one of the bugs that's not
+            VERIFIED and try to CLOSE it, the bug change will fail
+            miserably (thus killing any changes in the list after it
+            while doing the bulk change) so it doesn't even give you the
+            choice.
+          </P
 ></DIV
 ></DIV
 ></DIV
@@ -2308,7 +3116,7 @@ CLASS="qandadiv"
 ><A
 NAME="faq-hacking"
 ></A
->8. Bugzilla Hacking</H3
+>9. Bugzilla Hacking</H3
 ><DIV
 CLASS="qandaentry"
 ><DIV
@@ -2318,10 +3126,10 @@ CLASS="question"
 NAME="faq-hacking-templatestyle"
 ></A
 ><B
->A.8.1. </B
+>A.9.1. </B
 >
-	    What kind of style should I use for templatization?
-	  </P
+            What kind of style should I use for templatization?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -2329,8 +3137,8 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Gerv and Myk suggest a 2-space indent, with embedded code sections on
-	    their own line, in line with outer tags. Like this:</P
+            Gerv and Myk suggest a 2-space indent, with embedded code sections on
+            their own line, in line with outer tags. Like this:</P
 ><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -2360,12 +3168,12 @@ CLASS="programlisting"
 ></TABLE
 ><P
 > Myk also recommends you turn on PRE_CHOMP in the template
-	initialization to prevent bloating of HTML with unnecessary whitespace.
-	</P
+        initialization to prevent bloating of HTML with unnecessary whitespace.
+        </P
 ><P
 >Please note that many have differing opinions on this subject,
-	and the existing templates in Bugzilla espouse both this and a 4-space
-	style. Either is acceptable; the above is preferred.</P
+        and the existing templates in Bugzilla espouse both this and a 4-space
+        style. Either is acceptable; the above is preferred.</P
 ></DIV
 ></DIV
 ><DIV
@@ -2377,10 +3185,10 @@ CLASS="question"
 NAME="faq-hacking-bugzillabugs"
 ></A
 ><B
->A.8.2. </B
+>A.9.2. </B
 >
-	    What bugs are in Bugzilla right now?
-	  </P
+            What bugs are in Bugzilla right now?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -2388,30 +3196,30 @@ CLASS="answer"
 ><B
 > </B
 >
-	    Try <A
+            Try <A
 HREF="http://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&#38;bug_status=ASSIGNED&#38;bug_status=REOPENED&#38;product=Bugzilla"
 TARGET="_top"
->&#13;	    this link</A
+>&#13;            this link</A
 > to view current bugs or requests for
-	    enhancement for Bugzilla.
-	  </P
+            enhancement for Bugzilla.
+          </P
 ><P
->&#13;	    You can view bugs marked for 2.18 release
-	    <A
-HREF="http://bugzilla.mozilla.org/buglist.cgi?product=Bugzilla&#38;target_milestone=Bugzilla+2.18"
+>&#13;            You can view bugs marked for 2.18.1 release
+            <A
+HREF="http://bugzilla.mozilla.org/buglist.cgi?product=Bugzilla&#38;target_milestone=Bugzilla+&#38;bz-nextver;"
 TARGET="_top"
 >here</A
 >.
-	    This list includes bugs for the 2.18 release that have already
-	    been fixed and checked into CVS. Please consult the
-	    <A
+            This list includes bugs for the 2.18.1 release that have already
+            been fixed and checked into CVS. Please consult the
+            <A
 HREF="http://www.bugzilla.org/"
 TARGET="_top"
->&#13;	      Bugzilla Project Page</A
+>&#13;            Bugzilla Project Page</A
 > for details on how to
-	    check current sources out of CVS so you can have these
-	    bug fixes early!
-	  </P
+            check current sources out of CVS so you can have these
+            bug fixes early!
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -2423,11 +3231,18 @@ CLASS="question"
 NAME="faq-hacking-priority"
 ></A
 ><B
->A.8.3. </B
+>A.9.3. </B
+>
+            How can I change the default priority to a null value?
+            For instance, have the default priority be <SPAN
+CLASS="QUOTE"
+>"---"</SPAN
 >
-	    How can I change the default priority to a null value?  For instance, have the default
-	    priority be "---" instead of "P2"?
-	  </P
+            instead of <SPAN
+CLASS="QUOTE"
+>"P2"</SPAN
+>?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -2435,14 +3250,23 @@ CLASS="answer"
 ><B
 > </B
 >
-	    This is well-documented in <A
+            This is well-documented in <A
 HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=49862"
 TARGET="_top"
->&#13;	    bug 49862</A
->. Ultimately, it's as easy as adding the "---" priority field to your
-            localconfig file in the appropriate area, re-running checksetup.pl, and then changing the
-            default priority in your browser using "editparams.cgi". 
-	  </P
+>bug
+            49862</A
+>. Ultimately, it's as easy as adding the
+            <SPAN
+CLASS="QUOTE"
+>"---"</SPAN
+> priority field to your localconfig file
+            in the appropriate area, re-running checksetup.pl, and then
+            changing the default priority in your browser using
+            <B
+CLASS="command"
+>editparams.cgi</B
+>. 
+          </P
 ></DIV
 ></DIV
 ><DIV
@@ -2454,10 +3278,11 @@ CLASS="question"
 NAME="faq-hacking-patches"
 ></A
 ><B
->A.8.4. </B
+>A.9.4. </B
 >
-	    What's the best way to submit patches?  What guidelines should I follow?
-	  </P
+            What's the best way to submit patches?  What guidelines
+            should I follow?
+          </P
 ></DIV
 ><DIV
 CLASS="answer"
@@ -2470,7 +3295,7 @@ CLASS="answer"
 TYPE="1"
 ><LI
 ><P
->&#13;		  Enter a bug into bugzilla.mozilla.org for the <SPAN
+>&#13;                  Enter a bug into bugzilla.mozilla.org for the <SPAN
 CLASS="QUOTE"
 >"<A
 HREF="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla"
@@ -2479,43 +3304,55 @@ TARGET="_top"
 >"</SPAN
 >
                   product.
-		</P
+                </P
 ></LI
 ><LI
 ><P
->&#13;		  Upload your patch as a unified diff (having used "diff -u" against
-		  the <EM
+>&#13;                  Upload your patch as a unified diff (having used <SPAN
+CLASS="QUOTE"
+>"diff
+                  -u"</SPAN
+> against the <EM
 >current sources</EM
-> checked out of CVS),
-		  or new source file by clicking
-		  "Create a new attachment" link on the bug page you've just created, and
-		  include any descriptions of database changes you may make, into the bug
-		  ID you submitted in step #1. Be sure and click the "Patch" checkbox
-		  to indicate the text you are sending is a patch!
-		</P
+>
+                  checked out of CVS), or new source file by clicking
+                  <SPAN
+CLASS="QUOTE"
+>"Create a new attachment"</SPAN
+> link on the bug
+                  page you've just created, and include any descriptions of
+                  database changes you may make, into the bug ID you submitted
+                  in step #1. Be sure and click the <SPAN
+CLASS="QUOTE"
+>"Patch"</SPAN
+> checkbox
+                  to indicate the text you are sending is a patch!
+                </P
 ></LI
 ><LI
 ><P
->&#13;		  Announce your patch and the associated URL
-		  (http://bugzilla.mozilla.org/show_bug.cgi?id=XXXXXX) for discussion in
-		  the newsgroup (netscape.public.mozilla.webtools). You'll get a really
-		  good, fairly immediate reaction to the implications of your patch,
-		  which will also give us an idea how well-received the change would
-		  be.
-		</P
+>&#13;                  Announce your patch and the associated URL
+                  (http://bugzilla.mozilla.org/show_bug.cgi?id=XXXXXX)
+                  for discussion in the newsgroup
+                  (netscape.public.mozilla.webtools). You'll get a
+                  really good, fairly immediate reaction to the
+                  implications of your patch, which will also give us
+                  an idea how well-received the change would be.
+                </P
 ></LI
 ><LI
 ><P
->&#13;		  If it passes muster with minimal modification, the person to whom
-		  the bug is assigned in Bugzilla is responsible for seeing the patch
-		  is checked into CVS.
-		</P
+>&#13;                  If it passes muster with minimal modification, the
+                  person to whom the bug is assigned in Bugzilla is
+                  responsible for seeing the patch is checked into CVS.
+                </P
 ></LI
 ><LI
 ><P
->&#13;		  Bask in the glory of the fact that you helped write the most successful
-		  open-source bug-tracking software on the planet :)
-		</P
+>&#13;                  Bask in the glory of the fact that you helped write
+                  the most successful open-source bug-tracking software
+                  on the planet :)
+                </P
 ></LI
 ></OL
 ></P
@@ -2540,7 +3377,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="reporting.html"
+HREF="flags.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -2558,7 +3395,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="patches.html"
+HREF="troubleshooting.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -2568,7 +3405,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Reports</TD
+>Flags</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
@@ -2578,7 +3415,7 @@ VALIGN="top"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Contrib</TD
+>Troubleshooting</TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/docs/html/flags-overview.html b/docs/html/flags-overview.html
new file mode 100644
index 0000000000000000000000000000000000000000..03c12f73ae7d836f04adf6f5f6436b0288f0f059
--- /dev/null
+++ b/docs/html/flags-overview.html
@@ -0,0 +1,915 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Flags</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Administering Bugzilla"
+HREF="administration.html"><LINK
+REL="PREVIOUS"
+TITLE="Milestones"
+HREF="milestones.html"><LINK
+REL="NEXT"
+TITLE="Voting"
+HREF="voting.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="milestones.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 3. Administering Bugzilla</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="voting.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="flags-overview"
+>3.7. Flags</A
+></H1
+><P
+>&#13;     Flags are a way to attach a specific status to a bug or attachment, 
+     either <SPAN
+CLASS="QUOTE"
+>"+"</SPAN
+> or <SPAN
+CLASS="QUOTE"
+>"-"</SPAN
+>. The meaning of these symbols depends on the text
+     the flag itself, but contextually they could mean pass/fail, 
+     accept/reject, approved/denied, or even a simple yes/no. If your site
+     allows requestable flags, then users may set a flag to <SPAN
+CLASS="QUOTE"
+>"?"</SPAN
+> as a 
+     request to another user that they look at the bug/attachment, and set
+     the flag to its correct status.
+   </P
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="flags-simpleexample"
+>3.7.1. A Simple Example</A
+></H2
+><P
+>&#13;       A developer might want to ask their manager, 
+       <SPAN
+CLASS="QUOTE"
+>"Should we fix this bug before we release version 2.0?"</SPAN
+> 
+       They might want to do this for a <EM
+>lot</EM
+> of bugs,
+       so it would be nice to streamline the process...
+     </P
+><P
+>&#13;       In Bugzilla, it would work this way:
+       <P
+></P
+><OL
+TYPE="1"
+><LI
+><P
+>&#13;             The Bugzilla administrator creates a flag type called 
+             <SPAN
+CLASS="QUOTE"
+>"blocking2.0"</SPAN
+> that shows up on all bugs in 
+             your product.
+           </P
+><P
+>&#13;             It shows up on the <SPAN
+CLASS="QUOTE"
+>"Show Bug"</SPAN
+> screen
+             as the text <SPAN
+CLASS="QUOTE"
+>"blocking2.0"</SPAN
+> with a drop-down box next
+             to it. The drop-down box contains four values: an empty space,
+             <SPAN
+CLASS="QUOTE"
+>"?"</SPAN
+>, <SPAN
+CLASS="QUOTE"
+>"-"</SPAN
+>, and <SPAN
+CLASS="QUOTE"
+>"+"</SPAN
+>.
+           </P
+></LI
+><LI
+><P
+>The developer sets the flag to <SPAN
+CLASS="QUOTE"
+>"?"</SPAN
+>.</P
+></LI
+><LI
+><P
+>&#13;             The manager sees the <SAMP
+CLASS="computeroutput"
+>blocking2.0</SAMP
+>
+             flag with a <SPAN
+CLASS="QUOTE"
+>"?"</SPAN
+> value.
+           </P
+></LI
+><LI
+><P
+>&#13;             If the manager thinks the feature should go into the product
+             before version 2.0 can be released, he sets the flag to 
+             <SPAN
+CLASS="QUOTE"
+>"+"</SPAN
+>. Otherwise, he sets it to <SPAN
+CLASS="QUOTE"
+>"-"</SPAN
+>.
+           </P
+></LI
+><LI
+><P
+>&#13;             Now, every Bugzilla user who looks at the bug knows whether or 
+             not the bug needs to be fixed before release of version 2.0.
+           </P
+></LI
+></OL
+>
+     </P
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="flags-about"
+>3.7.2. About Flags</A
+></H2
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="flag-values"
+>3.7.2.1. Values</A
+></H3
+><P
+>&#13;         Flags can have three values:
+         <P
+></P
+><DIV
+CLASS="variablelist"
+><DL
+><DT
+><SAMP
+CLASS="computeroutput"
+>?</SAMP
+></DT
+><DD
+><P
+>&#13;               A user is requesting that a status be set. (Think of it as 'A question is being asked'.)
+             </P
+></DD
+><DT
+><SAMP
+CLASS="computeroutput"
+>-</SAMP
+></DT
+><DD
+><P
+>&#13;               The status has been set negatively. (The question has been answered <SPAN
+CLASS="QUOTE"
+>"no"</SPAN
+>.)
+             </P
+></DD
+><DT
+><SAMP
+CLASS="computeroutput"
+>+</SAMP
+></DT
+><DD
+><P
+>&#13;               The status has been set positively.
+               (The question has been answered <SPAN
+CLASS="QUOTE"
+>"yes"</SPAN
+>.)
+             </P
+></DD
+></DL
+></DIV
+>
+       </P
+><P
+>&#13;         Actually, there's a fourth value a flag can have -- 
+         <SPAN
+CLASS="QUOTE"
+>"unset"</SPAN
+> -- which shows up as a blank space. This 
+         just means that nobody has expressed an opinion (or asked
+         someone else to express an opinion) about this bug or attachment.
+       </P
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="flag-askto"
+>3.7.3. Using flag requests</A
+></H2
+><P
+>&#13;       If a flag has been defined as 'requestable', 
+       users are allowed to set the flag's status to <SPAN
+CLASS="QUOTE"
+>"?"</SPAN
+>.
+       This status indicates that someone (aka <SPAN
+CLASS="QUOTE"
+>"the requester"</SPAN
+> is asking
+       for someone else to set the flag to either <SPAN
+CLASS="QUOTE"
+>"+"</SPAN
+> or <SPAN
+CLASS="QUOTE"
+>"-"</SPAN
+>.
+     </P
+><P
+>&#13;       If a flag has been defined as 'specifically requestable', 
+       a text box will appear next to the flag into which the requester may
+       enter a Bugzilla username. That named person (aka <SPAN
+CLASS="QUOTE"
+>"the requestee"</SPAN
+>)
+       will receive an email notifying them of the request, and pointing them
+       to the bug/attachment in question.
+     </P
+><P
+>&#13;       If a flag has <EM
+>not</EM
+> been defined as 'specifically requestable',
+       then no such text-box will appear. A request to set this flag cannot be made of
+       any specific individual, but must be asked <SPAN
+CLASS="QUOTE"
+>"to the wind"</SPAN
+>.
+       A requester may <SPAN
+CLASS="QUOTE"
+>"ask the wind"</SPAN
+> on any flag simply by leaving the text-box blank.
+     </P
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="flag-types"
+>3.7.4. Two Types of Flags</A
+></H2
+><P
+>&#13;       Flags can go in two places: on an attachment, or on a bug.
+     </P
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="flag-type-attachment"
+>3.7.4.1. Attachment Flags</A
+></H3
+><P
+>&#13;         Attachment flags are used to ask a question about a specific 
+         attachment on a bug.
+       </P
+><P
+>&#13;         Many Bugzilla installations use this to 
+         request that one developer <SPAN
+CLASS="QUOTE"
+>"review"</SPAN
+> another 
+         developer's code before they check it in. They attach the code to
+         a bug report, and then set a flag on that attachment called
+         <SPAN
+CLASS="QUOTE"
+>"review"</SPAN
+> to 
+         <SAMP
+CLASS="computeroutput"
+>review?boss@domain.com</SAMP
+>.
+         boss@domain.com is then notified by email that
+         he has to check out that attachment and approve it or deny it.
+       </P
+><P
+>&#13;         For a Bugzilla user, attachment flags show up in two 
+         places:
+         <P
+></P
+><OL
+TYPE="1"
+><LI
+><P
+>&#13;               On the list of attachments in the <SPAN
+CLASS="QUOTE"
+>"Show Bug"</SPAN
+>
+               screen, you can see the current state of any flags that
+               have been set to ?, +, or -. You can see who asked about 
+               the flag (the requester), and who is being asked (the 
+               requestee).
+             </P
+></LI
+><LI
+><P
+>&#13;              When you <SPAN
+CLASS="QUOTE"
+>"Edit"</SPAN
+> an attachment, you can 
+              see any settable flag, along with any flags that have 
+              already been set. This <SPAN
+CLASS="QUOTE"
+>"Edit Attachment"</SPAN
+> 
+              screen is where you set flags to ?, -, +, or unset them.
+             </P
+></LI
+></OL
+>
+       </P
+></DIV
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="flag-type-bug"
+>3.7.4.2. Bug Flags</A
+></H3
+><P
+>&#13;         Bug flags are used to set a status on the bug itself. You can 
+         see Bug Flags in the <SPAN
+CLASS="QUOTE"
+>"Show Bug"</SPAN
+> screen 
+         (<TT
+CLASS="filename"
+>editbug.cgi</TT
+>).
+       </P
+><P
+>&#13;         Only users with the ability to edit the bug may 
+         set flags on bugs. This includes the owner, reporter, and 
+         any user with the <SAMP
+CLASS="computeroutput"
+>editbugs</SAMP
+> 
+         permission.
+       </P
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="flags-admin"
+>3.7.5. Administering Flags</A
+></H2
+><P
+>&#13;       If you have the <SPAN
+CLASS="QUOTE"
+>"editcomponents"</SPAN
+> permission, you will
+       have <SPAN
+CLASS="QUOTE"
+>"Edit: ... | Flags | ..."</SPAN
+> in your page footer.
+       Clicking on that link will bring you to the <SPAN
+CLASS="QUOTE"
+>"Administer 
+       Flag Types"</SPAN
+> page. Here, you can select whether you want 
+       to create (or edit) a Bug flag, or an Attachment flag.
+     </P
+><P
+>&#13;       No matter which you choose, the interface is the same, so we'll 
+       just go over it once.
+     </P
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="flags-create"
+>3.7.5.1. Creating a Flag</A
+></H3
+><P
+>&#13;          When you click on the <SPAN
+CLASS="QUOTE"
+>"Create a Flag Type for..."</SPAN
+>
+          link, you will be presented with a form. Here is what the felds in 
+          the form mean:
+        </P
+><DIV
+CLASS="section"
+><H4
+CLASS="section"
+><A
+NAME="flags-create-field-name"
+>3.7.5.1.1. Name</A
+></H4
+><P
+>&#13;            This is the name of the flag. This will be displayed 
+            to Bugzilla users who are looking at or setting the flag. 
+            The name may consist of any valid Unicode character. 
+          </P
+></DIV
+><DIV
+CLASS="section"
+><H4
+CLASS="section"
+><A
+NAME="flags-create-field-description"
+>3.7.5.1.2. Description</A
+></H4
+><P
+>&#13;            This describes the flag in more detail. At present, this doesn't
+            whos up anywhere helpful; ideally, it would be nice to have
+            it show up as a tooltip. This field 
+            can be as long as you like, and can contain any character you want.
+          </P
+></DIV
+><DIV
+CLASS="section"
+><H4
+CLASS="section"
+><A
+NAME="flags-create-field-category"
+>3.7.5.1.3. Category</A
+></H4
+><P
+>&#13;            Default behaviour for a newly-created flag is to appear on
+            products and all components, which is why <SPAN
+CLASS="QUOTE"
+>"__Any__:__Any__"</SPAN
+>
+            is already entered in the <SPAN
+CLASS="QUOTE"
+>"Inclusions"</SPAN
+> box.
+            If this is not your desired behaviour, you must either set some
+            exclusions (for products on which you don't want the flag to appear),
+            or you must remove <SPAN
+CLASS="QUOTE"
+>"__Any__:__Any__"</SPAN
+> from the Inclusions box
+            and define products/components specifically for this flag.
+          </P
+><P
+>&#13;            To create an Inclusion, select a Product from the top drop-down box.
+            You may also select a specific component from the bottom drop-down box.
+            (Setting <SPAN
+CLASS="QUOTE"
+>"__Any__"</SPAN
+> for Product translates to, 
+            <SPAN
+CLASS="QUOTE"
+>"all the products in this Bugzilla"</SPAN
+>.
+            Selecting  <SPAN
+CLASS="QUOTE"
+>"__Any__"</SPAN
+> in the Component field means
+            <SPAN
+CLASS="QUOTE"
+>"all components in the selected product."</SPAN
+>) 
+            Selections made, press <SPAN
+CLASS="QUOTE"
+>"Include"</SPAN
+>, and your
+            Product/Component pairing will show up in the <SPAN
+CLASS="QUOTE"
+>"Inclusions"</SPAN
+> box on the right.
+          </P
+><P
+>&#13;            To create an Exclusion, the process is the same; select a Product from the
+            top drop-down box, select a specific component if you want one, and press
+            <SPAN
+CLASS="QUOTE"
+>"Exclude"</SPAN
+>. The Product/Component pairing will show up in the 
+            <SPAN
+CLASS="QUOTE"
+>"Exclusions"</SPAN
+> box on the right.
+          </P
+><P
+>&#13;            This flag <EM
+>will</EM
+> and <EM
+>can</EM
+> be set for any
+            products/components that appearing in the <SPAN
+CLASS="QUOTE"
+>"Inclusions"</SPAN
+> box 
+            (or which fall under the appropriate <SPAN
+CLASS="QUOTE"
+>"__Any__"</SPAN
+>). 
+            This flag <EM
+>will not</EM
+> appear (and therefore cannot be set) on
+            any products appearing in the <SPAN
+CLASS="QUOTE"
+>"Exclusions"</SPAN
+> box.
+            <EM
+> IMPORTANT: Exclusions override inclusions.</EM
+>
+          </P
+><P
+>&#13;            You may select a Product without selecting a specific Component,
+            but it is illegal to select a Component without a Product, or to select a
+            Component that does not belong to the named Product. Doing so as of
+            this writing (2.18rc3) will raise an error... even if all your products
+            have a component by that name.
+          </P
+><P
+><EM
+>Example:</EM
+> Let's say you have a product called 
+            <SPAN
+CLASS="QUOTE"
+>"Jet Plane"</SPAN
+> that has thousands of components. You want
+            to be able to ask if a problem should be fixed in the next model of 
+            plane you release. We'll call the flag <SPAN
+CLASS="QUOTE"
+>"fixInNext"</SPAN
+>.
+            But, there's one component in <SPAN
+CLASS="QUOTE"
+>"Jet Plane,"</SPAN
+> 
+            called <SPAN
+CLASS="QUOTE"
+>"Pilot."</SPAN
+> It doesn't make sense to release a 
+            new pilot, so you don't want to have the flag show up in that component.
+            So, you include <SPAN
+CLASS="QUOTE"
+>"Jet Plane:__Any__"</SPAN
+> and you exclude 
+            <SPAN
+CLASS="QUOTE"
+>"Jet Plane:Pilot"</SPAN
+>.
+          </P
+></DIV
+><DIV
+CLASS="section"
+><H4
+CLASS="section"
+><A
+NAME="flags-create-field-sortkey"
+>3.7.5.1.4. Sort Key</A
+></H4
+><P
+>&#13;            Flags normally show up in alphabetical order. If you want them to 
+            show up in a different order, you can use this key set the order on each flag. 
+            Flags with a lower sort key will appear before flags with a higher
+            sort key. Flags that have the same sort key will be sorted alphabetically,
+            but they will still be after flags with a lower sort key, and before flags
+            with a higher sort key.
+          </P
+><P
+>&#13;            <EM
+>Example:</EM
+> I have AFlag (Sort Key 100), BFlag (Sort Key 10), 
+            CFlag (Sort Key 10), and DFlag (Sort Key 1). These show up in
+            the order: DFlag, BFlag, CFlag, AFlag.
+          </P
+></DIV
+><DIV
+CLASS="section"
+><H4
+CLASS="section"
+><A
+NAME="flags-create-field-active"
+>3.7.5.1.5. Active</A
+></H4
+><P
+>&#13;            Sometimes, you might want to keep old flag information in the 
+            Bugzilla database, but stop users from setting any new flags of this type.
+            To do this, uncheck <SPAN
+CLASS="QUOTE"
+>"active"</SPAN
+>. Deactivated
+            flags will still show up in the UI if they are ?, +, or -, but they
+            may only be cleared (unset), and cannot be changed to a new value.
+            Once a deactivated flag is cleared, it will completely disappear from a 
+            bug/attachment, and cannot be set again.
+          </P
+></DIV
+><DIV
+CLASS="section"
+><H4
+CLASS="section"
+><A
+NAME="flags-create-field-requestable"
+>3.7.5.1.6. Requestable</A
+></H4
+><P
+>&#13;            New flags are, by default, <SPAN
+CLASS="QUOTE"
+>"requestable"</SPAN
+>, meaning that they
+            offer users the <SPAN
+CLASS="QUOTE"
+>"?"</SPAN
+> option, as well as <SPAN
+CLASS="QUOTE"
+>"+"</SPAN
+>
+            and <SPAN
+CLASS="QUOTE"
+>"-"</SPAN
+>.
+            To remove the ? option, uncheck <SPAN
+CLASS="QUOTE"
+>"requestable"</SPAN
+>.
+          </P
+></DIV
+><DIV
+CLASS="section"
+><H4
+CLASS="section"
+><A
+NAME="flags-create-field-cclist"
+>3.7.5.1.7. CC List</A
+></H4
+><P
+>&#13;            If you want certain users to be notified every time this flag is 
+            set to ?, -, +, or unset, add them here. This is a comma-separated 
+            list of email addresses that need not be restricted to Bugzilla usernames..
+          </P
+></DIV
+><DIV
+CLASS="section"
+><H4
+CLASS="section"
+><A
+NAME="flags-create-field-specific"
+>3.7.5.1.8. Specifically Requestable</A
+></H4
+><P
+>&#13;            By default this box is checked for new flags, meaning that users may make
+            flag requests of specific individuals. Unchecking this box will remove the
+            text box next to a flag; if it is still requestable, then requests may
+            only be made <SPAN
+CLASS="QUOTE"
+>"to the wind."</SPAN
+> Removing this after specific
+            requests have been made will not remove those requests; that data will
+            stay in the database (though it will no longer appear to the user).
+          </P
+></DIV
+><DIV
+CLASS="section"
+><H4
+CLASS="section"
+><A
+NAME="flags-create-field-multiplicable"
+>3.7.5.1.9. Multiplicable</A
+></H4
+><P
+>&#13;            Any flag with <SPAN
+CLASS="QUOTE"
+>"Multiplicable"</SPAN
+> set (default for new flags is 'on')
+            may be set more than once. After being set once, an unset flag
+            of the same type will appear below it with <SPAN
+CLASS="QUOTE"
+>"addl."</SPAN
+> (short for 
+            <SPAN
+CLASS="QUOTE"
+>"additional"</SPAN
+>) before the name. There is no limit to the number of
+            times a Multiplicable flags may be set on the same bug/attachment.
+          </P
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="flags-delete"
+>3.7.5.2. Deleting a Flag</A
+></H3
+><P
+>&#13;          When you are at the <SPAN
+CLASS="QUOTE"
+>"Administer Flag Types"</SPAN
+> screen,
+          you will be presented with a list of Bug flags and a list of Attachment
+          Flags.
+        </P
+><P
+>&#13;          To delete a flag, click on the <SPAN
+CLASS="QUOTE"
+>"Delete"</SPAN
+> link next to
+          the flag description.
+        </P
+><DIV
+CLASS="warning"
+><P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;            Once you delete a flag, it is <EM
+>gone</EM
+> from
+            your Bugzilla. All the data for that flag will be deleted.
+            Everywhere that flag was set, it will disappear,
+            and you cannot get that data back. If you want to keep flag data,
+            but don't want anybody to set any new flags or change current flags,
+            unset <SPAN
+CLASS="QUOTE"
+>"active"</SPAN
+> in the flag Edit form.
+          </P
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="flags-edit"
+>3.7.5.3. Editing a Flag</A
+></H3
+><P
+>&#13;          To edit a flag's properties, just click on the <SPAN
+CLASS="QUOTE"
+>"Edit"</SPAN
+>
+          link next to the flag's description. That will take you to the same
+          form described in the <SPAN
+CLASS="QUOTE"
+>"Creating a Flag"</SPAN
+> section.
+        </P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="milestones.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="voting.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Milestones</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="administration.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Voting</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/flags.html b/docs/html/flags.html
new file mode 100644
index 0000000000000000000000000000000000000000..e0e22b3f6236deeecd254ba0373b0c621b09f4da
--- /dev/null
+++ b/docs/html/flags.html
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Flags</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Using Bugzilla"
+HREF="using.html"><LINK
+REL="PREVIOUS"
+TITLE="Reports and Charts"
+HREF="reporting.html"><LINK
+REL="NEXT"
+TITLE="The Bugzilla FAQ"
+HREF="faq.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="reporting.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 6. Using Bugzilla</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="faq.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="flags"
+>6.12. Flags</A
+></H1
+><P
+>&#13;      A flag is a kind of status that can be set on bugs or attachments
+      to indicate that the bugs/attachments are in a certain state.
+      Each installation can define its own set of flags that can be set
+      on bugs or attachments.
+    </P
+><P
+>&#13;      If your installation has defined a flag, you can set or unset that flag,
+      and if your administrator has enabled requesting of flags, you can submit
+      a request for another user to set the flag.
+    </P
+><P
+>&#13;      To set a flag, select either "+" or "-" from the drop-down menu next to
+      the name of the flag in the "Flags" list.  The meaning of these values are
+      flag-specific and thus cannot be described in this documentation,
+      but by way of example, setting a flag named "review" to "+" may indicate
+      that the bug/attachment has passed review, while setting it to "-"
+      may indicate that the bug/attachment has failed review.
+    </P
+><P
+>&#13;      To unset a flag, click its drop-down menu and select the blank value.
+    </P
+><P
+>&#13;      If your administrator has enabled requests for a flag, request a flag
+      by selecting "?" from the drop-down menu and then entering the username
+      of the user you want to set the flag in the text field next to the menu.
+    </P
+><P
+>&#13;      A set flag appears in bug reports and on "edit attachment" pages with the
+      abbreviated username of the user who set the flag prepended to the
+      flag name. For example, if Jack sets a "review" flag to "+", it appears
+      as Jack: review [ + ]
+    </P
+><P
+>&#13;      A requested flag appears with the user who requested the flag prepended
+      to the flag name and the user who has been requested to set the flag
+      appended to the flag name within parentheses.  For example, if Jack
+      asks Jill for review, it appears as Jack: review [ ? ] (Jill).
+    </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="reporting.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="faq.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Reports and Charts</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="using.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>The Bugzilla FAQ</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/general-advice.html b/docs/html/general-advice.html
new file mode 100644
index 0000000000000000000000000000000000000000..ae85d47dbc6b7a40d8348ba8ab76e87eec6d869a
--- /dev/null
+++ b/docs/html/general-advice.html
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>General Advice</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Troubleshooting"
+HREF="troubleshooting.html"><LINK
+REL="PREVIOUS"
+TITLE="Troubleshooting"
+HREF="troubleshooting.html"><LINK
+REL="NEXT"
+TITLE="The Apache webserver is not serving Bugzilla pages"
+HREF="x2868.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="troubleshooting.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Appendix B. Troubleshooting</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2868.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="general-advice"
+>B.1. General Advice</A
+></H1
+><P
+>If you can't get <TT
+CLASS="filename"
+>checksetup.pl</TT
+> to run to 
+    completion, it normally explains what's wrong and how to fix it.
+    If you can't work it out, or if it's being uncommunicative, post 
+    the errors in the 
+    <A
+HREF="news://news.mozilla.org/netscape.public.mozilla.webtools"
+TARGET="_top"
+>netscape.public.mozilla.webtools</A
+>
+    newsgroup.
+    </P
+><P
+>If you have made it all the way through
+    <A
+HREF="installation.html"
+>Section 2.1</A
+> (Installation) and
+    <A
+HREF="configuration.html"
+>Section 2.2</A
+> (Configuration) but accessing the Bugzilla
+    URL doesn't work, the first thing to do is to check your webserver error
+    log. For Apache, this is often located at
+    <TT
+CLASS="filename"
+>/etc/logs/httpd/error_log</TT
+>. The error messages
+    you see may be self-explanatory enough to enable you to diagnose and
+    fix the problem. If not, see below for some commonly-encountered 
+    errors. If that doesn't help, post the errors to the newsgroup.
+    </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="troubleshooting.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2868.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Troubleshooting</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="troubleshooting.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>The Apache webserver is not serving Bugzilla pages</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/gfdl-0.html b/docs/html/gfdl-0.html
index fd67425f5119dc351755544322d3dd3a41a70d06..03690b4790c37d3da0f7cd628d588c192ae22807 100644
--- a/docs/html/gfdl-0.html
+++ b/docs/html/gfdl-0.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="GNU Free Documentation License"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Appendix D. GNU Free Documentation License</TD
+>Appendix E. GNU Free Documentation License</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
diff --git a/docs/html/gfdl-1.html b/docs/html/gfdl-1.html
index f7e8e32c6227087d62dc2754481a010319560552..27e8efeb06c5ec860a0085cb777f8573c4f1f5b7 100644
--- a/docs/html/gfdl-1.html
+++ b/docs/html/gfdl-1.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="GNU Free Documentation License"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Appendix D. GNU Free Documentation License</TD
+>Appendix E. GNU Free Documentation License</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
diff --git a/docs/html/gfdl-10.html b/docs/html/gfdl-10.html
index 391036635ec82ec069a878f117cd2ec90ce99b86..488699304d7f9dc164192d18fe2367308534f8ba 100644
--- a/docs/html/gfdl-10.html
+++ b/docs/html/gfdl-10.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="GNU Free Documentation License"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Appendix D. GNU Free Documentation License</TD
+>Appendix E. GNU Free Documentation License</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
diff --git a/docs/html/gfdl-2.html b/docs/html/gfdl-2.html
index f56b44a82e05fe08b144a5981deb37688b23698b..1787c10260336850a6f9063b8b19a570923f1423 100644
--- a/docs/html/gfdl-2.html
+++ b/docs/html/gfdl-2.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="GNU Free Documentation License"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Appendix D. GNU Free Documentation License</TD
+>Appendix E. GNU Free Documentation License</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
diff --git a/docs/html/gfdl-3.html b/docs/html/gfdl-3.html
index f24470e24f69e79461b35cff76acfe93bc5ce32e..102698cef6b3bcd093f3bbd211bfb4e9b7dbea8e 100644
--- a/docs/html/gfdl-3.html
+++ b/docs/html/gfdl-3.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="GNU Free Documentation License"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Appendix D. GNU Free Documentation License</TD
+>Appendix E. GNU Free Documentation License</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
diff --git a/docs/html/gfdl-4.html b/docs/html/gfdl-4.html
index 00b73bfe2637019f60e3be1e78ad795e69ed90ad..301ac7d2996696fa13686bd23f08c12ad40025c5 100644
--- a/docs/html/gfdl-4.html
+++ b/docs/html/gfdl-4.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="GNU Free Documentation License"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Appendix D. GNU Free Documentation License</TD
+>Appendix E. GNU Free Documentation License</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
diff --git a/docs/html/gfdl-5.html b/docs/html/gfdl-5.html
index 7f00ab60d1e7fd6f36d619af661cd44bfe0449a8..6efd317e759b5138c466c06a524e2dd1cfb474c7 100644
--- a/docs/html/gfdl-5.html
+++ b/docs/html/gfdl-5.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="GNU Free Documentation License"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Appendix D. GNU Free Documentation License</TD
+>Appendix E. GNU Free Documentation License</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
diff --git a/docs/html/gfdl-6.html b/docs/html/gfdl-6.html
index b3a9a745865f63ec26bd7e6dc540bef9cd086c05..ddfec720eb145e138f2543c756a6cd6cb6b31e58 100644
--- a/docs/html/gfdl-6.html
+++ b/docs/html/gfdl-6.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="GNU Free Documentation License"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Appendix D. GNU Free Documentation License</TD
+>Appendix E. GNU Free Documentation License</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
diff --git a/docs/html/gfdl-7.html b/docs/html/gfdl-7.html
index 6aed5efcafb37be1ffa2e24574a178895c84f2e5..680cf5abe83622bbb51776adba4b96eea3b1ac18 100644
--- a/docs/html/gfdl-7.html
+++ b/docs/html/gfdl-7.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="GNU Free Documentation License"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Appendix D. GNU Free Documentation License</TD
+>Appendix E. GNU Free Documentation License</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
diff --git a/docs/html/gfdl-8.html b/docs/html/gfdl-8.html
index d833ae38ebf252c55102ba701b9607d68e12145a..29e8ba364e155ebdcb8564ce0923ce82e4eb68c1 100644
--- a/docs/html/gfdl-8.html
+++ b/docs/html/gfdl-8.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="GNU Free Documentation License"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Appendix D. GNU Free Documentation License</TD
+>Appendix E. GNU Free Documentation License</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
diff --git a/docs/html/gfdl-9.html b/docs/html/gfdl-9.html
index 5ed5756efa0439823a639134ec4feb8ce627f549..cebabbfc70eb7561015c46a2f8fc997a99079874 100644
--- a/docs/html/gfdl-9.html
+++ b/docs/html/gfdl-9.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="GNU Free Documentation License"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Appendix D. GNU Free Documentation License</TD
+>Appendix E. GNU Free Documentation License</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
diff --git a/docs/html/gfdl-howto.html b/docs/html/gfdl-howto.html
index 825f08fc0d3effb752d54fb21edb011a06ee51e7..7e9a8d63eaa2f4de777d3c865138a8dddb79261d 100644
--- a/docs/html/gfdl-howto.html
+++ b/docs/html/gfdl-howto.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="GNU Free Documentation License"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Appendix D. GNU Free Documentation License</TD
+>Appendix E. GNU Free Documentation License</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
@@ -83,7 +81,7 @@ NAME="gfdl-howto"
     of the License in the document and put the following copyright and
     license notices just after the title page:</P
 ><A
-NAME="AEN2286"
+NAME="AEN3203"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
diff --git a/docs/html/gfdl.html b/docs/html/gfdl.html
index ed15b863c687591cef8240af7f5b973679f95715..89be019055b2e78a9da3f1977926cf9e1af7205f 100644
--- a/docs/html/gfdl.html
+++ b/docs/html/gfdl.html
@@ -7,12 +7,11 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="PREVIOUS"
-TITLE="Download Locations"
-HREF="modules-manual-download.html"><LINK
+TITLE="Optional Modules"
+HREF="modules-manual-optional.html"><LINK
 REL="NEXT"
 TITLE="Preamble"
 HREF="gfdl-0.html"></HEAD
@@ -35,8 +34,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -44,7 +42,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="modules-manual-download.html"
+HREF="modules-manual-optional.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -73,7 +71,7 @@ CLASS="appendix"
 ><A
 NAME="gfdl"
 ></A
->Appendix D. GNU Free Documentation License</H1
+>Appendix E. GNU Free Documentation License</H1
 ><DIV
 CLASS="TOC"
 ><DL
@@ -146,7 +144,7 @@ HREF="gfdl-howto.html"
 ><P
 >Version 1.1, March 2000</P
 ><A
-NAME="AEN2196"
+NAME="AEN3113"
 ></A
 ><BLOCKQUOTE
 CLASS="BLOCKQUOTE"
@@ -173,7 +171,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="modules-manual-download.html"
+HREF="modules-manual-optional.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -201,7 +199,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Download Locations</TD
+>Optional Modules</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
diff --git a/docs/html/glossary.html b/docs/html/glossary.html
index 36900423a0fe86212edd553602bb174ed7504a6f..73819ad160d4fd46fc56d8d7082f9587e0c57241 100644
--- a/docs/html/glossary.html
+++ b/docs/html/glossary.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="PREVIOUS"
 TITLE="How to use this License for your documents"
@@ -32,8 +31,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -72,11 +70,14 @@ CLASS="glossdiv"
 ><H1
 CLASS="glossdiv"
 ><A
-NAME="AEN2291"
+NAME="AEN3208"
 >0-9, high ascii</A
 ></H1
 ><DL
 ><DT
+><A
+NAME="gloss-htaccess"
+></A
 ><B
 >.htaccess</B
 ></DT
@@ -445,6 +446,9 @@ NAME="gloss-d"
 ></H1
 ><DL
 ><DT
+><A
+NAME="gloss-daemon"
+></A
 ><B
 >daemon</B
 ></DT
@@ -464,6 +468,31 @@ CLASS="glossterm"
 >, 
         a web server, are generally run as daemons.</P
 ></DD
+><DT
+><A
+NAME="gloss-dos"
+></A
+><B
+>DOS Attack</B
+></DT
+><DD
+><P
+>A DOS, or Denial of Service attack, is when a user attempts to
+        deny access to a web server by repeatadly accessing a page or sending
+        malformed requests to a webserver. This can be effectively prevented
+        by using <TT
+CLASS="filename"
+>mod_throttle</TT
+> as described in
+        <A
+HREF="security-webserver.html#security-webserver-mod-throttle"
+>Section 4.3.2</A
+>. A D-DOS, or
+        Distributed Denial of Service attack, is when these requests come
+        from multiple sources at the same time. Unfortunately, these are much
+        more difficult to defend against.
+        </P
+></DD
 ></DL
 ></DIV
 ><DIV
@@ -634,8 +663,8 @@ TARGET="_top"
 ><P
 >Much more detailed information about the suggestions in
               <A
-HREF="configuration.html#security-mysql"
->Section 2.2.2.1</A
+HREF="security-mysql.html"
+>Section 4.2</A
 >.
               </P
 ></DD
@@ -796,6 +825,25 @@ NAME="gloss-s"
 ></H1
 ><DL
 ><DT
+><A
+NAME="gloss-service"
+></A
+><B
+>Service</B
+></DT
+><DD
+><P
+>In Windows NT environment, a boot-time background application
+        is refered to as a service. These are generally managed through the
+        control pannel while logged in as an account with
+        <SPAN
+CLASS="QUOTE"
+>"Administrator"</SPAN
+> level capabilities. For more
+        information, consult your Windows manual or the MSKB.
+        </P
+></DD
+><DT
 ><B
 >&#13;        <ACRONYM
 CLASS="acronym"
@@ -936,7 +984,7 @@ NAME="gloss-zarro"
         Terry had the following to say:
         </P
 ><A
-NAME="AEN2526"
+NAME="AEN3454"
 ></A
 ><TABLE
 BORDER="0"
diff --git a/docs/html/groups.html b/docs/html/groups.html
index 1adee7ad11d15ddf067eccddcbb38a80ba218047..9a5b70ddb8b91b566e5cfbbbf6fa734bb4035b3f 100644
--- a/docs/html/groups.html
+++ b/docs/html/groups.html
@@ -7,15 +7,14 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Administering Bugzilla"
 HREF="administration.html"><LINK
 REL="PREVIOUS"
-TITLE="Voting"
-HREF="voting.html"><LINK
+TITLE="Quips"
+HREF="quips.html"><LINK
 REL="NEXT"
 TITLE="Upgrading to New Releases"
 HREF="upgrading.html"></HEAD
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -47,7 +45,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="voting.html"
+HREF="quips.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -76,7 +74,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="groups"
->3.8. Groups and Group Security</A
+>3.10. Groups and Group Security</A
 ></H1
 ><P
 >Groups allow the administrator
@@ -89,65 +87,70 @@ CLASS="QUOTE"
     </P
 ><P
 >&#13;    If the makeproductgroups param is on, a new group will be automatically
-    created for every new product.
+    created for every new product. It is primarily available for backward
+    compatibility with older sites. 
     </P
 ><P
->&#13;    On the product edit page, there is a page to edit the 
-    <SPAN
-CLASS="QUOTE"
->"Group Controls"</SPAN
-> 
-    for a product and determine which groups are applicable, default, 
-    and mandatory for each product as well as controlling entry 
-    for each product and being able to set bugs in a product to be 
-    totally read-only unless some group restrictions are met. 
-    </P
-><P
->&#13;    For each group, it is possible to specify if membership in that
-    group is...
+>&#13;      Note that group permissions are such that you need to be a member
+      of <EM
+>all</EM
+> the groups a bug is in, for whatever
+      reason, to see that bug. Similarly, you must be a member 
+      of <EM
+>all</EM
+> of the entry groups for a product 
+      to add bugs to a product and you must be a member 
+      of <EM
+>all</EM
+> of the canedit groups for a product
+      in order to make <EM
+>any</EM
+> change to bugs in that
+      product.
     </P
+><DIV
+CLASS="note"
 ><P
 ></P
-><OL
-TYPE="1"
-><LI
-><P
->&#13;        required for bug entry, 
-        </P
-></LI
-><LI
-><P
->&#13;        Not applicable to this product(NA),
-        a possible restriction for a member of the 
-        group to place on a bug in this product(Shown),
-        a default restriction for a member of the 
-        group to place on a bug in this product(Default),
-        or a mandatory restriction to be placed on bugs 
-        in this product(Mandatory).
-        </P
-></LI
-><LI
-><P
->&#13;        Not applicable by non-members to this product(NA),
-        a possible restriction for a non-member of the 
-        group to place on a bug in this product(Shown),
-        a default restriction for a non-member of the 
-        group to place on a bug in this product(Default),
-        or a mandatory restriction to be placed on bugs 
-        in this product when entered by a non-member(Mandatory).
-        </P
-></LI
-><LI
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
 ><P
->&#13;        required in order to make <EM
->any</EM
-> change
-        to bugs in this product <EM
->including comments.</EM
+>&#13;        By default, bugs can also be seen by the Assignee, the Reporter, and 
+        by everyone on the CC List, regardless of whether or not the bug would 
+        typically be viewable by them. Visibility to the Reporter and CC List can 
+        be overridden (on a per-bug basis) by bringing up the bug, finding the 
+        section that starts with <SPAN
+CLASS="QUOTE"
+>"Users in the roles selected below..."</SPAN
 >
-        </P
-></LI
-></OL
+        and un-checking the box next to either 'Reporter' or 'CC List' (or both).
+      </P
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN1336"
+>3.10.1. Creating Groups</A
+></H2
 ><P
 >To create Groups:</P
 ><P
@@ -160,14 +163,14 @@ TYPE="1"
 CLASS="QUOTE"
 >"groups"</SPAN
 >
-        link in the footer.</P
+          link in the footer.</P
 ></LI
 ><LI
 ><P
 >Take a moment to understand the instructions on the <SPAN
 CLASS="QUOTE"
 >"Edit
-        Groups"</SPAN
+          Groups"</SPAN
 > screen, then select the <SPAN
 CLASS="QUOTE"
 >"Add Group"</SPAN
@@ -182,19 +185,53 @@ CLASS="QUOTE"
 CLASS="QUOTE"
 >"Description"</SPAN
 >, 
-         and <SPAN
+           and <SPAN
 CLASS="QUOTE"
 >"User RegExp"</SPAN
 > fields. 
-         <SPAN
+           <SPAN
 CLASS="QUOTE"
 >"User RegExp"</SPAN
 > allows you to automatically
-         place all users who fulfill the Regular Expression into the new group. 
-         When you have finished, click <SPAN
+           place all users who fulfill the Regular Expression into the new group. 
+           When you have finished, click <SPAN
 CLASS="QUOTE"
 >"Add"</SPAN
 >.</P
+><P
+>Users whose email addresses match the regular expression
+           will automatically be members of the group as long as their 
+           email addresses continue to match the regular expression.</P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>This is a change from 2.16 where the regular expression
+             resulted in a user acquiring permanent membership in a group.
+             To remove a user from a group the user was in due to a regular
+             expression in version 2.16 or earlier, the user must be explicitly
+             removed from the group.</P
+></TD
+></TR
+></TABLE
+></DIV
 ><DIV
 CLASS="warning"
 ><P
@@ -217,10 +254,10 @@ ALIGN="LEFT"
 VALIGN="TOP"
 ><P
 >If specifying a domain in the regexp, make sure you end
-           the regexp with a $. Otherwise, when granting access to 
-           "@mycompany\.com", you will allow access to 
-           'badperson@mycompany.com.cracker.net'. You need to use 
-           '@mycompany\.com$' as the regexp.</P
+             the regexp with a $. Otherwise, when granting access to 
+             "@mycompany\.com", you will allow access to 
+             'badperson@mycompany.com.cracker.net'. You need to use 
+             '@mycompany\.com$' as the regexp.</P
 ></TD
 ></TR
 ></TABLE
@@ -228,30 +265,301 @@ VALIGN="TOP"
 ></LI
 ><LI
 ><P
+>If you plan to use this group to directly control
+          access to bugs, check the "use for bugs" box. Groups
+          not used for bugs are still useful because other groups
+          can include the group as a whole.</P
+></LI
+><LI
+><P
 >After you add your new group, edit the new group.  On the
-        edit page, you can specify other groups that should be included
-        in this group and which groups should be permitted to add and delete
-        users from this group.</P
+          edit page, you can specify other groups that should be included
+          in this group and which groups should be permitted to add and delete
+          users from this group.</P
 ></LI
 ></OL
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN1363"
+>3.10.2. Assigning Users to Groups</A
+></H2
 ><P
->&#13;      Note that group permissions are such that you need to be a member
-      of <EM
->all</EM
-> the groups a bug is in, for whatever
-      reason, to see that bug. Similarly, you must be a member 
-      of <EM
->all</EM
-> of the entry groups for a product 
-      to add bugs to a product and you must be a member 
-      of <EM
->all</EM
-> of the canedit groups for a product
-      in order to make <EM
+>Users can become a member of a group in several ways.</P
+><P
+></P
+><OL
+TYPE="1"
+><LI
+><P
+>The user can be explicitly placed in the group by editing
+          the user's own profile</P
+></LI
+><LI
+><P
+>The group can include another group of which the user is
+          a member.</P
+></LI
+><LI
+><P
+>The user's email address can match a regular expression
+          that the group specifies to automatically grant membership to
+          the group.</P
+></LI
+></OL
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN1373"
+>3.10.3. Assigning Group Controls to Products</A
+></H2
+><P
+>&#13;      On the product edit page, there is a page to edit the 
+      <SPAN
+CLASS="QUOTE"
+>"Group Controls"</SPAN
+> 
+      for a product. This  allows you to 
+      configure how a group relates to the product. 
+      Groups may be applicable, default, 
+      and mandatory as well as used to control entry 
+      or used to make bugs in the product
+      totally read-only unless the group restrictions are met. 
+      </P
+><P
+>&#13;      For each group, it is possible to specify if membership in that
+      group is...
+      </P
+><P
+></P
+><OL
+TYPE="1"
+><LI
+><P
+>&#13;          required for bug entry, 
+          </P
+></LI
+><LI
+><P
+>&#13;          Not applicable to this product(NA),
+          a possible restriction for a member of the 
+          group to place on a bug in this product(Shown),
+          a default restriction for a member of the 
+          group to place on a bug in this product(Default),
+          or a mandatory restriction to be placed on bugs 
+          in this product(Mandatory).
+          </P
+></LI
+><LI
+><P
+>&#13;          Not applicable by non-members to this product(NA),
+          a possible restriction for a non-member of the 
+          group to place on a bug in this product(Shown),
+          a default restriction for a non-member of the 
+          group to place on a bug in this product(Default),
+          or a mandatory restriction to be placed on bugs 
+          in this product when entered by a non-member(Mandatory).
+          </P
+></LI
+><LI
+><P
+>&#13;          required in order to make <EM
 >any</EM
-> change to bugs in that
-      product.
-    </P
+> change
+          to bugs in this product <EM
+>including comments.</EM
+>
+          </P
+></LI
+></OL
+><P
+>These controls are often described in this order, so a 
+      product that requires a user to be a member of group "foo" 
+      to enter a bug and then requires that the bug stay resticted
+      to group "foo" at all times and that only members of group "foo"
+      can edit the bug even if they otherwise could see the bug would 
+      have its controls summarized by...</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+> 
+foo: ENTRY, MANDATORY/MANDATORY, CANEDIT
+      </PRE
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN1391"
+>3.10.4. Common Applications of Group Controls</A
+></H2
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="AEN1393"
+>3.10.4.1. General User Access With Security Group</A
+></H3
+><P
+>To permit any user to file bugs in each product (A, B, C...) 
+      and to permit any user to submit those bugs into a security
+      group....</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+> 
+Product A...
+security: SHOWN/SHOWN
+Product B...
+security: SHOWN/SHOWN
+Product C...
+security: SHOWN/SHOWN
+      </PRE
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="AEN1397"
+>3.10.4.2. General User Access With A Security Product</A
+></H3
+><P
+>To permit any user to file bugs in a Security product
+      while keeping those bugs from becoming visible to anyone
+      outside the securityworkers group unless a member of the
+      securityworkers group removes that restriction....</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+> 
+Product Security...
+securityworkers: DEFAULT/MANDATORY
+      </PRE
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="AEN1401"
+>3.10.4.3. Product Isolation With Common Group</A
+></H3
+><P
+>To permit users of product A to access the bugs for
+      product A, users of product B to access product B, and support
+      staff to access both, 3 groups are needed</P
+><P
+></P
+><OL
+TYPE="1"
+><LI
+><P
+>Support: Contains members of the support staff.</P
+></LI
+><LI
+><P
+>AccessA: Contains users of product A and the Support group.</P
+></LI
+><LI
+><P
+>AccessB: Contains users of product B and the Support group.</P
+></LI
+></OL
+><P
+>Once these 3 groups are defined, the products group controls
+      can be set to..</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#13;Product A...
+AccessA: ENTRY, MANDATORY/MANDATORY
+Product B...
+AccessB: ENTRY, MANDATORY/MANDATORY
+      </PRE
+></FONT
+></TD
+></TR
+></TABLE
+><P
+>Optionally, the support group could be permitted to make
+      bugs inaccessible to the users and could be permitted to publish
+      bugs relevant to all users in a common product that is read-only
+      to anyone outside the support group. That configuration could
+      be...</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#13;Product A...
+AccessA: ENTRY, MANDATORY/MANDATORY
+Support: SHOWN/NA
+Product B...
+AccessB: ENTRY, MANDATORY/MANDATORY
+Support: SHOWN/NA
+Product Common...
+Support: ENTRY, DEFAULT/MANDATORY, CANEDIT
+      </PRE
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
@@ -269,7 +577,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="voting.html"
+HREF="quips.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -297,7 +605,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Voting</TD
+>Quips</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
diff --git a/docs/html/hintsandtips.html b/docs/html/hintsandtips.html
index 2e46488e771bdbaac5ee5611db107a481b3d6090..2913ecbd2024d3c6a39104e87c2fcb1b22c88fee 100644
--- a/docs/html/hintsandtips.html
+++ b/docs/html/hintsandtips.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Using Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Chapter 5. Using Bugzilla</TD
+>Chapter 6. Using Bugzilla</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
@@ -76,7 +74,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="hintsandtips"
->5.8. Hints and Tips</A
+>6.9. Hints and Tips</A
 ></H1
 ><P
 >This section distills some Bugzilla tips and best practices
@@ -86,8 +84,8 @@ CLASS="section"
 ><H2
 CLASS="section"
 ><A
-NAME="AEN1643"
->5.8.1. Autolinkification</A
+NAME="AEN2208"
+>6.9.1. Autolinkification</A
 ></H2
 ><P
 >Bugzilla comments are plain text - so typing &#60;U&#62; will
@@ -156,7 +154,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="quicksearch"
->5.8.2. Quicksearch</A
+>6.9.2. Quicksearch</A
 ></H2
 ><P
 >Quicksearch is a single-text-box query tool which uses
@@ -189,7 +187,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="commenting"
->5.8.3. Comments</A
+>6.9.3. Comments</A
 ></H2
 ><P
 >If you are changing the fields on a bug, only comment if
@@ -213,7 +211,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="attachments"
->5.8.4. Attachments</A
+>6.9.4. Attachments</A
 ></H2
 ><P
 >&#13;      Use attachments, rather than comments, for large chunks of ASCII data,
diff --git a/docs/html/index.html b/docs/html/index.html
index 8f59c015dc3af9f43e80e2bd71829bdbc47cb62b..ca731d4fae358dd6561cb3324c204c67d9dceb9d 100644
--- a/docs/html/index.html
+++ b/docs/html/index.html
@@ -2,8 +2,7 @@
 <HTML
 ><HEAD
 ><TITLE
->The Bugzilla Guide - 2.17.7 
-    Development Release</TITLE
+>The Bugzilla Guide - 2.18 Release</TITLE
 ><META
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
@@ -46,15 +45,14 @@ CLASS="TITLEPAGE"
 CLASS="title"
 ><A
 NAME="AEN2"
->The Bugzilla Guide - 2.17.7 
-    Development Release</A
+>The Bugzilla Guide - 2.18 Release</A
 ></H1
 ><H3
 CLASS="corpauthor"
 >The Bugzilla Team</H3
 ><P
 CLASS="pubdate"
->2004-02-05<BR></P
+>2005-01-14<BR></P
 ><DIV
 ><DIV
 CLASS="abstract"
@@ -154,8 +152,8 @@ HREF="os-specific.html"
 ></DT
 ><DT
 >2.5. <A
-HREF="troubleshooting.html"
->Troubleshooting</A
+HREF="nonroot.html"
+>UNIX (non-root) Installation Notes</A
 ></DT
 ></DL
 ></DD
@@ -198,16 +196,26 @@ HREF="milestones.html"
 ></DT
 ><DT
 >3.7. <A
+HREF="flags-overview.html"
+>Flags</A
+></DT
+><DT
+>3.8. <A
 HREF="voting.html"
 >Voting</A
 ></DT
 ><DT
->3.8. <A
+>3.9. <A
+HREF="quips.html"
+>Quips</A
+></DT
+><DT
+>3.10. <A
 HREF="groups.html"
 >Groups and Group Security</A
 ></DT
 ><DT
->3.9. <A
+>3.11. <A
 HREF="upgrading.html"
 >Upgrading to New Releases</A
 ></DT
@@ -215,99 +223,138 @@ HREF="upgrading.html"
 ></DD
 ><DT
 >4. <A
+HREF="security.html"
+>Bugzilla Security</A
+></DT
+><DD
+><DL
+><DT
+>4.1. <A
+HREF="security-os.html"
+>Operating System</A
+></DT
+><DT
+>4.2. <A
+HREF="security-mysql.html"
+>MySQL</A
+></DT
+><DT
+>4.3. <A
+HREF="security-webserver.html"
+>Webserver</A
+></DT
+><DT
+>4.4. <A
+HREF="security-bugzilla.html"
+>Bugzilla</A
+></DT
+></DL
+></DD
+><DT
+>5. <A
 HREF="customization.html"
 >Customising Bugzilla</A
 ></DT
 ><DD
 ><DL
 ><DT
->4.1. <A
+>5.1. <A
 HREF="cust-templates.html"
 >Template Customization</A
 ></DT
 ><DT
->4.2. <A
+>5.2. <A
 HREF="cust-hooks.html"
 >Template Hooks</A
 ></DT
 ><DT
->4.3. <A
+>5.3. <A
 HREF="cust-change-permissions.html"
 >Customizing Who Can Change What</A
 ></DT
 ><DT
->4.4. <A
+>5.4. <A
 HREF="dbmodify.html"
 >Modifying Your Running System</A
 ></DT
 ><DT
->4.5. <A
+>5.5. <A
 HREF="dbdoc.html"
 >MySQL Bugzilla Database Introduction</A
 ></DT
 ><DT
->4.6. <A
+>5.6. <A
 HREF="integration.html"
 >Integrating Bugzilla with Third-Party Tools</A
 ></DT
 ></DL
 ></DD
 ><DT
->5. <A
+>6. <A
 HREF="using.html"
 >Using Bugzilla</A
 ></DT
 ><DD
 ><DL
 ><DT
->5.1. <A
+>6.1. <A
 HREF="using-intro.html"
 >Introduction</A
 ></DT
 ><DT
->5.2. <A
+>6.2. <A
 HREF="myaccount.html"
 >Create a Bugzilla Account</A
 ></DT
 ><DT
->5.3. <A
+>6.3. <A
 HREF="bug_page.html"
 >Anatomy of a Bug</A
 ></DT
 ><DT
->5.4. <A
+>6.4. <A
+HREF="lifecycle.html"
+>Life Cycle of a Bug</A
+></DT
+><DT
+>6.5. <A
 HREF="query.html"
 >Searching for Bugs</A
 ></DT
 ><DT
->5.5. <A
+>6.6. <A
 HREF="list.html"
 >Bug Lists</A
 ></DT
 ><DT
->5.6. <A
+>6.7. <A
 HREF="bugreports.html"
 >Filing Bugs</A
 ></DT
 ><DT
->5.7. <A
+>6.8. <A
 HREF="patchviewer.html"
 >Patch Viewer</A
 ></DT
 ><DT
->5.8. <A
+>6.9. <A
 HREF="hintsandtips.html"
 >Hints and Tips</A
 ></DT
 ><DT
->5.9. <A
+>6.10. <A
 HREF="userpreferences.html"
 >User Preferences</A
 ></DT
 ><DT
->5.10. <A
+>6.11. <A
 HREF="reporting.html"
->Reports</A
+>Reports and Charts</A
+></DT
+><DT
+>6.12. <A
+HREF="flags.html"
+>Flags</A
 ></DT
 ></DL
 ></DD
@@ -318,39 +365,115 @@ HREF="faq.html"
 ></DT
 ><DT
 >B. <A
+HREF="troubleshooting.html"
+>Troubleshooting</A
+></DT
+><DD
+><DL
+><DT
+>B.1. <A
+HREF="general-advice.html"
+>General Advice</A
+></DT
+><DT
+>B.2. <A
+HREF="x2868.html"
+>The Apache webserver is not serving Bugzilla pages</A
+></DT
+><DT
+>B.3. <A
+HREF="x2875.html"
+>I installed a Perl module, but 
+      <TT
+CLASS="filename"
+>checksetup.pl</TT
+> claims it's not installed!</A
+></DT
+><DT
+>B.4. <A
+HREF="x2885.html"
+>Bundle::Bugzilla makes me upgrade to Perl 5.6.1</A
+></DT
+><DT
+>B.5. <A
+HREF="x2890.html"
+>DBD::Sponge::db prepare failed</A
+></DT
+><DT
+>B.6. <A
+HREF="paranoid-security.html"
+>cannot chdir(/var/spool/mqueue)</A
+></DT
+><DT
+>B.7. <A
+HREF="trouble-filetemp.html"
+>Your vendor has not defined Fcntl macro O_NOINHERIT</A
+></DT
+><DT
+>B.8. <A
+HREF="trbl-relogin-everyone.html"
+>Everybody is constantly being forced to relogin</A
+></DT
+><DT
+>B.9. <A
+HREF="x2944.html"
+>Some users are constantly being forced to relogin</A
+></DT
+><DT
+>B.10. <A
+HREF="trbl-index.html"
+><TT
+CLASS="filename"
+>index.cgi</TT
+> doesn't show up unless specified in the URL</A
+></DT
+></DL
+></DD
+><DT
+>C. <A
 HREF="patches.html"
 >Contrib</A
 ></DT
 ><DD
 ><DL
 ><DT
->B.1. <A
+>C.1. <A
 HREF="cmdline.html"
 >Command-line Search Interface</A
 ></DT
+><DT
+>C.2. <A
+HREF="cmdline-bugmail.html"
+>Command-line 'Send Unsent Bug-mail' tool</A
+></DT
 ></DL
 ></DD
 ><DT
->C. <A
+>D. <A
 HREF="install-perlmodules-manual.html"
 >Manual Installation of Perl Modules</A
 ></DT
 ><DD
 ><DL
 ><DT
->C.1. <A
+>D.1. <A
 HREF="modules-manual-instructions.html"
 >Instructions</A
 ></DT
 ><DT
->C.2. <A
+>D.2. <A
 HREF="modules-manual-download.html"
 >Download Locations</A
 ></DT
+><DT
+>D.3. <A
+HREF="modules-manual-optional.html"
+>Optional Modules</A
+></DT
 ></DL
 ></DD
 ><DT
->D. <A
+>E. <A
 HREF="gfdl.html"
 >GNU Free Documentation License</A
 ></DT
@@ -431,6 +554,21 @@ CLASS="LOT"
 CLASS="LOT"
 ><DT
 ><B
+>List of Figures</B
+></DT
+><DT
+>6-1. <A
+HREF="lifecycle.html#lifecycle-image"
+>Lifecycle of a Bugzilla Bug</A
+></DT
+></DL
+></DIV
+><DIV
+CLASS="LOT"
+><DL
+CLASS="LOT"
+><DT
+><B
 >List of Examples</B
 ></DT
 ><DT
@@ -448,6 +586,42 @@ HREF="upgrading.html#upgrade-tarball"
 HREF="upgrading.html#upgrade-patches"
 >Upgrading using patches</A
 ></DT
+><DT
+>4-1. <A
+HREF="security-mysql.html#security-mysql-account-root"
+>Assigning the MySQL <SPAN
+CLASS="QUOTE"
+>"root"</SPAN
+> User a Password</A
+></DT
+><DT
+>4-2. <A
+HREF="security-mysql.html#security-mysql-account-anonymous"
+>Disabling the MySQL <SPAN
+CLASS="QUOTE"
+>"anonymous"</SPAN
+> User</A
+></DT
+><DT
+>4-3. <A
+HREF="security-mysql.html#security-mysql-network-ex"
+>Disabling Networking in MySQL</A
+></DT
+><DT
+>4-4. <A
+HREF="security-bugzilla.html#security-bugzilla-charset-ex"
+>Forcing Bugzilla to output a charset</A
+></DT
+><DT
+>B-1. <A
+HREF="trbl-relogin-everyone.html#trbl-relogin-everyone-share"
+>Examples of urlbase/cookiepath pairs for sharing login cookies</A
+></DT
+><DT
+>B-2. <A
+HREF="trbl-relogin-everyone.html#trbl-relogin-everyone-restrict"
+>Examples of urlbase/cookiepath pairs to restrict the login cookie</A
+></DT
 ></DL
 ></DIV
 ></DIV
diff --git a/docs/html/install-perlmodules-manual.html b/docs/html/install-perlmodules-manual.html
index b44cecaaa5a780aba2a68220e5210f136cd50193..863e4a27336833da7794327eee960c480ba5311c 100644
--- a/docs/html/install-perlmodules-manual.html
+++ b/docs/html/install-perlmodules-manual.html
@@ -7,12 +7,11 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="PREVIOUS"
-TITLE="Command-line Search Interface"
-HREF="cmdline.html"><LINK
+TITLE="Command-line 'Send Unsent Bug-mail' tool"
+HREF="cmdline-bugmail.html"><LINK
 REL="NEXT"
 TITLE="Instructions"
 HREF="modules-manual-instructions.html"></HEAD
@@ -35,8 +34,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -44,7 +42,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="cmdline.html"
+HREF="cmdline-bugmail.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -73,7 +71,7 @@ CLASS="appendix"
 ><A
 NAME="install-perlmodules-manual"
 ></A
->Appendix C. Manual Installation of Perl Modules</H1
+>Appendix D. Manual Installation of Perl Modules</H1
 ><DIV
 CLASS="TOC"
 ><DL
@@ -82,15 +80,20 @@ CLASS="TOC"
 >Table of Contents</B
 ></DT
 ><DT
->C.1. <A
+>D.1. <A
 HREF="modules-manual-instructions.html"
 >Instructions</A
 ></DT
 ><DT
->C.2. <A
+>D.2. <A
 HREF="modules-manual-download.html"
 >Download Locations</A
 ></DT
+><DT
+>D.3. <A
+HREF="modules-manual-optional.html"
+>Optional Modules</A
+></DT
 ></DL
 ></DIV
 ></DIV
@@ -110,7 +113,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="cmdline.html"
+HREF="cmdline-bugmail.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -138,7 +141,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Command-line Search Interface</TD
+>Command-line 'Send Unsent Bug-mail' tool</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
diff --git a/docs/html/installation.html b/docs/html/installation.html
index 9cdd9caa749aaef3f758569fa5473cd9c5812300..4077bfbfae545de63852eb0c96d20e12d102a732 100644
--- a/docs/html/installation.html
+++ b/docs/html/installation.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Installing Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -184,7 +182,8 @@ TYPE="1"
 HREF="installation.html#install-perl"
 >Install Perl</A
 >
-        (5.6.0 or above)
+        (5.6.0 or above for non-Windows platforms; 5.8.1
+        for Windows)
         </P
 ></LI
 ><LI
@@ -222,6 +221,15 @@ HREF="installation.html#install-perlmodules"
 ></LI
 ><LI
 ><P
+>&#13;          <A
+HREF="installation.html#install-MTA"
+>Install a Mail Transfer Agent</A
+>
+          (Sendmail 8.7 or above, or an MTA that is Sendmail-compatible with at least this version)
+        </P
+></LI
+><LI
+><P
 >Configure all of the above.
         </P
 ></LI
@@ -250,7 +258,7 @@ TARGET="_top"
 >.
       Although Bugzilla runs with Perl 5.6.0,
       it's a good idea to be using the latest stable version. 
-      As of this writing, that is Perl 5.8.2.</P
+      As of this writing, that is Perl 5.8.3.</P
 ></DIV
 ><DIV
 CLASS="section"
@@ -368,10 +376,13 @@ NAME="install-bzfiles"
 ></H2
 ><P
 >&#13;        Download a Bugzilla tarball (or check it out from CVS) and place
-        it in a suitable directory, writable by the default web server user 
+        it in a suitable directory, accessible by the default web server user 
         (probably <SPAN
 CLASS="QUOTE"
->"nobody"</SPAN
+>"apache"</SPAN
+> or <SPAN
+CLASS="QUOTE"
+>"www"</SPAN
 >). 
         Good locations are either directly in the main web space for your
         web server or perhaps in 
@@ -402,7 +413,7 @@ ALT="Caution"></TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->The default Bugzilla distribution is not designed to be placed
+>The default Bugzilla distribution is NOT designed to be placed
         in a <TT
 CLASS="filename"
 >cgi-bin</TT
@@ -497,14 +508,14 @@ CLASS="filename"
 ><P
 >&#13;        The preferred way of installing Perl modules is via CPAN on Unix, 
         or PPM on Windows (see <A
-HREF="os-specific.html#win32-perlmodules"
+HREF="os-specific.html#win32-perl-modules"
 >Section 2.4.1.2</A
 >). These
         instructions assume you are using CPAN; if for some reason you need 
         to install the Perl modules manually, see 
         <A
 HREF="install-perlmodules-manual.html"
->Appendix C</A
+>Appendix D</A
 >.
       </P
 ><TABLE
@@ -608,7 +619,7 @@ TYPE="1"
 ></LI
 ><LI
 ><P
->&#13;            DBI (1.32)
+>&#13;            DBI (1.36)
           </P
 ></LI
 ><LI
@@ -667,7 +678,7 @@ HREF="installation.html#install-modules-gd"
 HREF="installation.html#install-modules-chart-base"
 >Chart::Base</A
 >
-            (0.99c) for bug charting
+            (1.0) for bug charting
           </P
 ></LI
 ><LI
@@ -703,7 +714,7 @@ HREF="installation.html#install-modules-xml-parser"
 HREF="installation.html#install-modules-patchreader"
 >PatchReader</A
 >
-            (0.9.1) for pretty HTML view of patches
+            (0.9.4) for pretty HTML view of patches
           </P
 ></LI
 ><LI
@@ -848,7 +859,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="install-modules-chart-base"
->2.1.5.4. Chart::Base (0.99c)</A
+>2.1.5.4. Chart::Base (1.0)</A
 ></H3
 ><P
 >The Chart::Base module is only required if you want graphical 
@@ -928,7 +939,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="install-modules-patchreader"
->2.1.5.9. PatchReader (0.9.1)</A
+>2.1.5.9. PatchReader (0.9.4)</A
 ></H3
 ><P
 >The PatchReader module is only required if you want to use 
@@ -938,6 +949,37 @@ NAME="install-modules-patchreader"
         </P
 ></DIV
 ></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="install-MTA"
+>2.1.6. Mail Transfer Agent (MTA)</A
+></H2
+><P
+>Bugzilla is dependent on the availability of an e-mail system for its user
+      authentication and for other tasks. </P
+><P
+>On Linux, any Sendmail-compatible MTA (Mail Transfer Agent) will suffice.
+      Sendmail, Postfix, qmail and Exim are examples of common MTAs. Sendmail is the 
+      original Unix MTA, but the others are easier to configure, and therefore many people
+      replace Sendmail with Postfix or Exim. They are drop-in replacements, so that Bugzilla
+      will not distinguish between them.</P
+><P
+>&#13;        If you are using Sendmail, version 8.7 or higher is required.
+        If you are using a Sendmail-compatible MTA, it must be congruent with at least version 8.7 of Sendmail.
+      </P
+><P
+>Consult the manual for the specific MTA you choose for detailed installation
+      instructions. Each of these programs will have their own configuration files where you must
+      configure certain parameters to ensure that the mail is delivered properly. They
+      are implemented as services, and you should ensure that the MTA is in the
+      auto-start list of services for the machine.</P
+><P
+>If a simple mail sent with the command-line 'mail' program succeeds, then
+      Bugzilla should also be fine.</P
+></DIV
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
diff --git a/docs/html/installing-bugzilla.html b/docs/html/installing-bugzilla.html
index 643b62c7d3679a1ca8cf6c533cbe1d4e2a92b24f..10b674c821ca92d874acd033ac99a41a86c24c3f 100644
--- a/docs/html/installing-bugzilla.html
+++ b/docs/html/installing-bugzilla.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="PREVIOUS"
 TITLE="Document Conventions"
@@ -35,8 +34,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -113,6 +111,11 @@ HREF="installation.html#install-bzfiles"
 HREF="installation.html#install-perlmodules"
 >Perl Modules</A
 ></DT
+><DT
+>2.1.6. <A
+HREF="installation.html#install-MTA"
+>Mail Transfer Agent (MTA)</A
+></DT
 ></DL
 ></DD
 ><DT
@@ -134,7 +137,7 @@ HREF="configuration.html#mysql"
 ></DT
 ><DT
 >2.2.3. <A
-HREF="configuration.html#AEN400"
+HREF="configuration.html#AEN446"
 >checksetup.pl</A
 ></DT
 ><DT
@@ -158,17 +161,17 @@ HREF="extraconfig.html"
 ><DL
 ><DT
 >2.3.1. <A
-HREF="extraconfig.html#AEN584"
+HREF="extraconfig.html#AEN560"
 >Bug Graphs</A
 ></DT
 ><DT
 >2.3.2. <A
-HREF="extraconfig.html#AEN594"
+HREF="extraconfig.html#AEN573"
 >Dependency Charts</A
 ></DT
 ><DT
 >2.3.3. <A
-HREF="extraconfig.html#AEN610"
+HREF="extraconfig.html#AEN589"
 >The Whining Cron</A
 ></DT
 ><DT
@@ -183,27 +186,8 @@ HREF="extraconfig.html#bzldap"
 ></DT
 ><DT
 >2.3.6. <A
-HREF="extraconfig.html#content-type"
->Prevent users injecting malicious
-      Javascript</A
-></DT
-><DT
->2.3.7. <A
-HREF="extraconfig.html#mod-throttle"
-><TT
-CLASS="filename"
->mod_throttle</TT
-></A
-></DT
-><DT
->2.3.8. <A
-HREF="extraconfig.html#security-networking"
->TCP/IP Ports</A
-></DT
-><DT
->2.3.9. <A
-HREF="extraconfig.html#security-daemon"
->Daemon Accounts</A
+HREF="extraconfig.html#apache-addtype"
+>Serving Alternate Formats with the right MIME type</A
 ></DT
 ></DL
 ></DD
@@ -236,44 +220,40 @@ HREF="os-specific.html#os-mandrake"
 ></DD
 ><DT
 >2.5. <A
-HREF="troubleshooting.html"
->Troubleshooting</A
+HREF="nonroot.html"
+>UNIX (non-root) Installation Notes</A
 ></DT
 ><DD
 ><DL
 ><DT
 >2.5.1. <A
-HREF="troubleshooting.html#general-advice"
->General Advice</A
+HREF="nonroot.html#AEN774"
+>Introduction</A
 ></DT
 ><DT
 >2.5.2. <A
-HREF="troubleshooting.html#AEN829"
->I installed a Perl module, but 
-      <TT
-CLASS="filename"
->checksetup.pl</TT
-> claims it's not installed!</A
+HREF="nonroot.html#AEN778"
+>MySQL</A
 ></DT
 ><DT
 >2.5.3. <A
-HREF="troubleshooting.html#AEN834"
->Bundle::Bugzilla makes me upgrade to Perl 5.6.1</A
+HREF="nonroot.html#AEN813"
+>Perl</A
 ></DT
 ><DT
 >2.5.4. <A
-HREF="troubleshooting.html#AEN839"
->DBD::Sponge::db prepare failed</A
+HREF="nonroot.html#install-perlmodules-nonroot"
+>Perl Modules</A
 ></DT
 ><DT
 >2.5.5. <A
-HREF="troubleshooting.html#paranoid-security"
->cannot chdir(/var/spool/mqueue)</A
+HREF="nonroot.html#AEN878"
+>HTTP Server</A
 ></DT
 ><DT
 >2.5.6. <A
-HREF="troubleshooting.html#trouble-filetemp"
->Your vendor has not defined Fcntl macro O_NOINHERIT</A
+HREF="nonroot.html#AEN890"
+>Bugzilla</A
 ></DT
 ></DL
 ></DD
diff --git a/docs/html/integration.html b/docs/html/integration.html
index 5733b8ee1503b63976dd5cd8054fb002066a92f7..d6e925df2a14906b9af987a7968ea2658d2f931b 100644
--- a/docs/html/integration.html
+++ b/docs/html/integration.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Customising Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Chapter 4. Customising Bugzilla</TD
+>Chapter 5. Customising Bugzilla</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
@@ -76,7 +74,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="integration"
->4.6. Integrating Bugzilla with Third-Party Tools</A
+>5.6. Integrating Bugzilla with Third-Party Tools</A
 ></H1
 ><DIV
 CLASS="section"
@@ -84,7 +82,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="bonsai"
->4.6.1. Bonsai</A
+>5.6.1. Bonsai</A
 ></H2
 ><P
 >Bonsai is a web-based tool for managing 
@@ -110,7 +108,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="cvs"
->4.6.2. CVS</A
+>5.6.2. CVS</A
 ></H2
 ><P
 >CVS integration is best accomplished, at this point, using the
@@ -137,6 +135,15 @@ CLASS="filename"
 HREF="http://homepages.kcbbs.gen.nz/~tonyg/"
 TARGET="_top"
 >http://homepages.kcbbs.gen.nz/~tonyg/</A
+>.
+    </P
+><P
+>Another system capable of CVS integration with Bugzilla is
+    Scmbug. This system provides generic integration of Source code
+    Configuration Management with Bugtracking. Check it out at: <A
+HREF="http://freshmeat.net/projects/scmbug/"
+TARGET="_top"
+>http://freshmeat.net/projects/scmbug/</A
 >.
     </P
 ></DIV
@@ -146,7 +153,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="scm"
->4.6.3. Perforce SCM</A
+>5.6.3. Perforce SCM</A
 ></H2
 ><P
 >You can find the project page for Bugzilla and Teamtrack Perforce
@@ -185,8 +192,27 @@ CLASS="section"
 ><H2
 CLASS="section"
 ><A
+NAME="svn"
+>5.6.4. Subversion</A
+></H2
+><P
+>Subversion is a free/open-source version control system,
+     designed to overcome various limitations of CVS. Integration of
+     Subversion with Bugzilla is possible using Scmbug, a system
+     providing generic integration of Source Code Configuration
+     Management with Bugtracking. Scmbug is available at <A
+HREF="http://freshmeat.net/projects/scmbug/"
+TARGET="_top"
+>http://freshmeat.net/projects/scmbug/</A
+>.</P
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
 NAME="tinderbox"
->4.6.4. Tinderbox/Tinderbox2</A
+>5.6.5. Tinderbox/Tinderbox2</A
 ></H2
 ><P
 >Tinderbox is a continuous-build system which can integrate with
diff --git a/docs/html/lifecycle.html b/docs/html/lifecycle.html
new file mode 100644
index 0000000000000000000000000000000000000000..656ae70a4eb144238ec6d6bd7c389fe0ffd8d4cf
--- /dev/null
+++ b/docs/html/lifecycle.html
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Life Cycle of a Bug</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Using Bugzilla"
+HREF="using.html"><LINK
+REL="PREVIOUS"
+TITLE="Anatomy of a Bug"
+HREF="bug_page.html"><LINK
+REL="NEXT"
+TITLE="Searching for Bugs"
+HREF="query.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="bug_page.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 6. Using Bugzilla</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="query.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="lifecycle"
+>6.4. Life Cycle of a Bug</A
+></H1
+><P
+>&#13;      The life cycle, also known as work flow, of a bug is currently hardcoded
+      into Bugzilla. <A
+HREF="lifecycle.html#lifecycle-image"
+>Figure 6-1</A
+> contains a graphical
+      repsentation of this life cycle. If you wish to customize this image for
+      your site, the <A
+HREF="../images/bzLifecycle.xml"
+TARGET="_top"
+>diagram file</A
+>
+      is available in <A
+HREF="http://www.gnome.org/projects/dia"
+TARGET="_top"
+>Dia's</A
+>
+      native XML format.
+    </P
+><DIV
+CLASS="figure"
+><A
+NAME="lifecycle-image"
+></A
+><P
+><B
+>Figure 6-1. Lifecycle of a Bugzilla Bug</B
+></P
+><DIV
+CLASS="mediaobject"
+><P
+><IMG
+SRC="../images/bzLifecycle.png"></P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="bug_page.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="query.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Anatomy of a Bug</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="using.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Searching for Bugs</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/list.html b/docs/html/list.html
index 90b40dc5c67d433eab417ee1de01099be2815ee4..a38652df2967b1f2e80473413575a676fbe5850d 100644
--- a/docs/html/list.html
+++ b/docs/html/list.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Using Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Chapter 5. Using Bugzilla</TD
+>Chapter 6. Using Bugzilla</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
@@ -76,7 +74,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="list"
->5.5. Bug Lists</A
+>6.6. Bug Lists</A
 ></H1
 ><P
 >If you run a search, a list of matching bugs will be returned.
diff --git a/docs/html/milestones.html b/docs/html/milestones.html
index d525248b2f493c591be63686e1848be3c1577a8e..720e851c256e8eb1a2360e39b8fc26ae66c37917 100644
--- a/docs/html/milestones.html
+++ b/docs/html/milestones.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Administering Bugzilla"
@@ -17,8 +16,8 @@ REL="PREVIOUS"
 TITLE="Versions"
 HREF="versions.html"><LINK
 REL="NEXT"
-TITLE="Voting"
-HREF="voting.html"></HEAD
+TITLE="Flags"
+HREF="flags-overview.html"></HEAD
 ><BODY
 CLASS="section"
 BGCOLOR="#FFFFFF"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -61,7 +59,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="voting.html"
+HREF="flags-overview.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -177,7 +175,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="voting.html"
+HREF="flags-overview.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -201,7 +199,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Voting</TD
+>Flags</TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/docs/html/modules-manual-download.html b/docs/html/modules-manual-download.html
index 4be48139a9bd92cbf04b6b985be250fd3776efd9..f4bc77a742ec7c39286c5a912b21cd498054ee36 100644
--- a/docs/html/modules-manual-download.html
+++ b/docs/html/modules-manual-download.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Manual Installation of Perl Modules"
@@ -17,8 +16,8 @@ REL="PREVIOUS"
 TITLE="Instructions"
 HREF="modules-manual-instructions.html"><LINK
 REL="NEXT"
-TITLE="GNU Free Documentation License"
-HREF="gfdl.html"></HEAD
+TITLE="Optional Modules"
+HREF="modules-manual-optional.html"></HEAD
 ><BODY
 CLASS="section"
 BGCOLOR="#FFFFFF"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,13 +53,13 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Appendix C. Manual Installation of Perl Modules</TD
+>Appendix D. Manual Installation of Perl Modules</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="gfdl.html"
+HREF="modules-manual-optional.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -76,29 +74,73 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="modules-manual-download"
->C.2. Download Locations</A
+>D.2. Download Locations</A
 ></H1
+><DIV
+CLASS="note"
 ><P
->Note: some modules are in the core distribution of
-    ActiveState Perl for Windows. Others are not available.
-    No PPM links have been provided in either of these two cases.
-    </P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
 ><P
->CGI:
+>&#13;        Running Bugzilla on Windows requires the use of ActiveState
+        Perl 5.8.1 or higher. Some modules already exist in the core
+        distribution of ActiveState Perl so no PPM link is given.
+        (This is noted where it occurs.)
+      </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;      AppConfig:
       <P
 CLASS="literallayout"
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
-HREF="http://search.cpan.org/dist/CGI.pm/"
+HREF="http://search.cpan.org/src/ABW/AppConfig-1.56/lib/AppConfig.pm"
 TARGET="_top"
->http://search.cpan.org/dist/CGI.pm/</A
+>http://search.cpan.org/src/ABW/AppConfig-1.56/lib/AppConfig.pm</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
-HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/CGI.zip"
+HREF="http://landfill.bugzilla.org/ppm/AppConfig.ppd"
 TARGET="_top"
->http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/CGI.zip</A
+>http://landfill.bugzilla.org/ppm/AppConfig.ppd</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
+HREF="http://search.cpan.org/~abw/AppConfig-1.56/lib/AppConfig.pm"
+TARGET="_top"
+>http://search.cpan.org/~abw/AppConfig-1.56/lib/AppConfig.pm</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
+>
+    </P
+><P
+>&#13;      CGI:
+      <P
+CLASS="literallayout"
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
+HREF="http://search.cpan.org/dist/CGI.pm/"
+TARGET="_top"
+>http://search.cpan.org/dist/CGI.pm/</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;Part&nbsp;of&nbsp;core&nbsp;distribution.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://www.perldoc.com/perl5.8.0/lib/CGI.html"
 TARGET="_top"
 >http://www.perldoc.com/perl5.8.0/lib/CGI.html</A
@@ -107,7 +149,26 @@ TARGET="_top"
 >
     </P
 ><P
->TimeDate:
+>&#13;      Data-Dumper:
+      <P
+CLASS="literallayout"
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
+HREF="http://search.cpan.org/src/ILYAM/Data-Dumper-2.121/Dumper.pm"
+TARGET="_top"
+>http://search.cpan.org/src/ILYAM/Data-Dumper-2.121/Dumper.pm</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;Part&nbsp;of&nbsp;core&nbsp;distribution.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
+HREF="http://search.cpan.org/~ilyam/Data-Dumper-2.121/Dumper.pm"
+TARGET="_top"
+>http://search.cpan.org/~ilyam/Data-Dumper-2.121/Dumper.pm</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
+>
+    </P
+><P
+>&#13;      Date::Format (part of TimeDate):
       <P
 CLASS="literallayout"
 ><br>
@@ -117,9 +178,9 @@ TARGET="_top"
 >http://search.cpan.org/dist/TimeDate/</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
-HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/TimeDate.zip"
+HREF="http://landfill.bugzilla.org/ppm/TimeDate.ppd"
 TARGET="_top"
->http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/TimeDate.zip</A
+>http://landfill.bugzilla.org/ppm/TimeDate.ppd</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://search.cpan.org/dist/TimeDate/lib/Date/Format.pm"
@@ -130,7 +191,7 @@ TARGET="_top"
 >
     </P
 ><P
->DBI:
+>&#13;      DBI:
       <P
 CLASS="literallayout"
 ><br>
@@ -140,9 +201,9 @@ TARGET="_top"
 >http://search.cpan.org/dist/DBI/</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
-HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBI.zip"
+HREF="http://landfill.bugzilla.org/ppm/DBI.ppd"
 TARGET="_top"
->http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBI.zip</A
+>http://landfill.bugzilla.org/ppm/DBI.ppd</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://dbi.perl.org/docs/"
@@ -153,7 +214,7 @@ TARGET="_top"
 >
     </P
 ><P
->DBD::mysql:
+>&#13;      DBD::mysql:
       <P
 CLASS="literallayout"
 ><br>
@@ -163,9 +224,9 @@ TARGET="_top"
 >http://search.cpan.org/dist/DBD-mysql/</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
-HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBD-Mysql.zip"
+HREF="http://landfill.bugzilla.org/ppm/DBD-mysql.ppd"
 TARGET="_top"
->http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBD-Mysql.zip</A
+>http://landfill.bugzilla.org/ppm/DBD-mysql.ppd</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pm"
@@ -176,7 +237,7 @@ TARGET="_top"
 >
     </P
 ><P
->File::Spec:
+>&#13;      File::Spec:
       <P
 CLASS="literallayout"
 ><br>
@@ -185,11 +246,7 @@ HREF="http://search.cpan.org/dist/File-Spec/"
 TARGET="_top"
 >http://search.cpan.org/dist/File-Spec/</A
 ><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;<A
-HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/File-Spec.zip"
-TARGET="_top"
->http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/File-Spec.zip</A
-><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;Part&nbsp;of&nbsp;core&nbsp;distribution.<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://www.perldoc.com/perl5.8.0/lib/File/Spec.html"
 TARGET="_top"
@@ -199,7 +256,7 @@ TARGET="_top"
 >
     </P
 ><P
->File::Temp:
+>&#13;      File::Temp:
       <P
 CLASS="literallayout"
 ><br>
@@ -208,6 +265,7 @@ HREF="http://search.cpan.org/dist/File-Temp/"
 TARGET="_top"
 >http://search.cpan.org/dist/File-Temp/</A
 ><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;Part&nbsp;of&nbsp;core&nbsp;distribution.<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://www.perldoc.com/perl5.8.0/lib/File/Temp.html"
 TARGET="_top"
@@ -217,7 +275,7 @@ TARGET="_top"
 >
     </P
 ><P
->Template Toolkit:
+>&#13;      Template-Toolkit:
       <P
 CLASS="literallayout"
 ><br>
@@ -227,9 +285,9 @@ TARGET="_top"
 >http://search.cpan.org/dist/Template-Toolkit/</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
-HREF="http://openinteract.sourceforge.net/ppmpackages/5.6/Template-Toolkit.tar.gz"
+HREF="http://landfill.bugzilla.org/ppm/Template-Toolkit.ppd"
 TARGET="_top"
->http://openinteract.sourceforge.net/ppmpackages/5.6/Template-Toolkit.tar.gz</A
+>http://landfill.bugzilla.org/ppm/Template-Toolkit.ppd</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://www.template-toolkit.org/docs.html"
@@ -240,7 +298,7 @@ TARGET="_top"
 >
     </P
 ><P
->Text::Wrap:
+>&#13;       Text::Wrap:
       <P
 CLASS="literallayout"
 ><br>
@@ -249,6 +307,7 @@ HREF="http://search.cpan.org/dist/Text-Tabs+Wrap/"
 TARGET="_top"
 >http://search.cpan.org/dist/Text-Tabs+Wrap/</A
 ><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;Part&nbsp;of&nbsp;core&nbsp;distribution.<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://www.perldoc.com/perl5.8.0/lib/Text/Wrap.html"
 TARGET="_top"
@@ -258,7 +317,7 @@ TARGET="_top"
 >
     </P
 ><P
->GD:
+>&#13;      GD:
       <P
 CLASS="literallayout"
 ><br>
@@ -268,9 +327,9 @@ TARGET="_top"
 >http://search.cpan.org/dist/GD/</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
-HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GD.zip"
+HREF="http://landfill.bugzilla.org/ppm/GD.ppd"
 TARGET="_top"
->http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GD.zip</A
+>http://landfill.bugzilla.org/ppm/GD.ppd</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
 HREF="http://stein.cshl.org/WWW/software/GD/"
@@ -278,125 +337,6 @@ TARGET="_top"
 >http://stein.cshl.org/WWW/software/GD/</A
 ><br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
->
-    </P
-><P
->Chart::Base:
-      
-      <P
-CLASS="literallayout"
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
-HREF="http://search.cpan.org/dist/Chart/"
-TARGET="_top"
->http://search.cpan.org/dist/Chart/</A
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
->
-    </P
-><P
->GD::Graph:
-      <P
-CLASS="literallayout"
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
-HREF="http://search.cpan.org/dist/GDGraph/"
-TARGET="_top"
->http://search.cpan.org/dist/GDGraph/</A
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
-HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDGraph.zip"
-TARGET="_top"
->http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDGraph.zip</A
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
-HREF="http://search.cpan.org/dist/GDGraph/Graph.pm"
-TARGET="_top"
->http://search.cpan.org/dist/GDGraph/Graph.pm</A
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
->
-    </P
-><P
->GD::Text::Align:
-      <P
-CLASS="literallayout"
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
-HREF="http://search.cpan.org/dist/GDTextUtil/"
-TARGET="_top"
->http://search.cpan.org/dist/GDTextUtil/</A
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;<A
-HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDTextUtil.zip"
-TARGET="_top"
->http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDTextUtil.zip</A
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
-HREF="http://search.cpan.org/dist/GDTextUtil/Text/Align.pm"
-TARGET="_top"
->http://search.cpan.org/dist/GDTextUtil/Text/Align.pm</A
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
->
-    </P
-><P
->MIME::Parser:
-      <P
-CLASS="literallayout"
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
-HREF="http://search.cpan.org/dist/MIME-tools/"
-TARGET="_top"
->http://search.cpan.org/dist/MIME-tools/</A
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
-HREF="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/MIME-tools.zip"
-TARGET="_top"
->http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/MIME-tools.zip</A
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
-HREF="http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm"
-TARGET="_top"
->http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm</A
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
->
-    </P
-><P
->XML::Parser:
-      <P
-CLASS="literallayout"
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
-HREF="http://search.cpan.org/dist/XML-Parser/"
-TARGET="_top"
->http://search.cpan.org/dist/XML-Parser/</A
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
-HREF="http://www.perldoc.com/perl5.6.1/lib/XML/Parser.html"
-TARGET="_top"
->http://www.perldoc.com/perl5.6.1/lib/XML/Parser.html</A
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
->
-    </P
-><P
->PatchReader:
-      <P
-CLASS="literallayout"
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
-HREF="http://search.cpan.org/author/JKEISER/PatchReader/"
-TARGET="_top"
->http://search.cpan.org/author/JKEISER/PatchReader/</A
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
-HREF="http://www.johnkeiser.com/mozilla/Patch_Viewer.html"
-TARGET="_top"
->http://www.johnkeiser.com/mozilla/Patch_Viewer.html</A
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
 >
     </P
 ></DIV
@@ -434,7 +374,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="gfdl.html"
+HREF="modules-manual-optional.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -458,7 +398,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->GNU Free Documentation License</TD
+>Optional Modules</TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/docs/html/modules-manual-instructions.html b/docs/html/modules-manual-instructions.html
index f3d4c1c812acc84757c536d6e1a3d6ca2cab0300..a26a2f8734628a10f3c85251045c6a0c5bc73998 100644
--- a/docs/html/modules-manual-instructions.html
+++ b/docs/html/modules-manual-instructions.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Manual Installation of Perl Modules"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Appendix C. Manual Installation of Perl Modules</TD
+>Appendix D. Manual Installation of Perl Modules</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
@@ -76,12 +74,12 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="modules-manual-instructions"
->C.1. Instructions</A
+>D.1. Instructions</A
 ></H1
 ><P
->If you need to install Perl modules manually, here's how it's done.
-    Download the module using the link given in the next section, and then
-    apply this magic incantation, as root:
+>&#13;      If you need to install Perl modules manually, here's how it's done.
+      Download the module using the link given in the next section, and then
+      apply this magic incantation, as root:
     </P
 ><P
 >  
@@ -125,6 +123,68 @@ CLASS="prompt"
 ></TABLE
 >
     </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;        In order to compile source code under Windows you will need to obtain
+        a 'make' utility.  The <B
+CLASS="command"
+>nmake</B
+> utility provided with
+        Microsoft Visual C++ may be used.  As an alternative, there is a
+        utility called <B
+CLASS="command"
+>dmake</B
+> available from CPAN which is
+        written entirely in Perl. The majority of the links given below, however,
+        are to pre-compiled versions of the modules, which can be installed
+        on Windows simply by issuing the following command once you have
+        downloaded the PPD file (which may be packaged within a ZIP file):
+      </P
+><P
+>&#13;        <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;          <SAMP
+CLASS="prompt"
+>&#62;</SAMP
+> ppm install &#60;filename.ppd&#62;
+        </PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+      </P
+></TD
+></TR
+></TABLE
+></DIV
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
diff --git a/docs/html/modules-manual-optional.html b/docs/html/modules-manual-optional.html
new file mode 100644
index 0000000000000000000000000000000000000000..920cabecf73685765ad56a4b5abe0985293ec4d8
--- /dev/null
+++ b/docs/html/modules-manual-optional.html
@@ -0,0 +1,278 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Optional Modules</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Manual Installation of Perl Modules"
+HREF="install-perlmodules-manual.html"><LINK
+REL="PREVIOUS"
+TITLE="Download Locations"
+HREF="modules-manual-download.html"><LINK
+REL="NEXT"
+TITLE="GNU Free Documentation License"
+HREF="gfdl.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="modules-manual-download.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Appendix D. Manual Installation of Perl Modules</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="gfdl.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="modules-manual-optional"
+>D.3. Optional Modules</A
+></H1
+><P
+>&#13;      Chart::Base:
+      <P
+CLASS="literallayout"
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
+HREF="http://search.cpan.org/dist/Chart/"
+TARGET="_top"
+>http://search.cpan.org/dist/Chart/</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;<A
+HREF="http://landfill.bugzilla.org/ppm/Chart.ppd"
+TARGET="_top"
+>http://landfill.bugzilla.org/ppm/Chart.ppd</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
+HREF="http://search.cpan.org/src/CHARTGRP/Chart-2.3/doc/Documentation.pdf"
+TARGET="_top"
+>http://search.cpan.org/src/CHARTGRP/Chart-2.3/doc/Documentation.pdf</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
+>
+    </P
+><P
+>&#13;      GD::Graph:
+      <P
+CLASS="literallayout"
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
+HREF="http://search.cpan.org/dist/GDGraph/"
+TARGET="_top"
+>http://search.cpan.org/dist/GDGraph/</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
+HREF="http://landfill.bugzilla.org/ppm/GDGraph.ppd"
+TARGET="_top"
+>http://landfill.bugzilla.org/ppm/GDGraph.ppd</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
+HREF="http://search.cpan.org/dist/GDGraph/Graph.pm"
+TARGET="_top"
+>http://search.cpan.org/dist/GDGraph/Graph.pm</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
+>
+    </P
+><P
+>&#13;      GD::Text::Align (part of GD::Text::Util):
+      <P
+CLASS="literallayout"
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
+HREF="http://search.cpan.org/dist/GDTextUtil/"
+TARGET="_top"
+>http://search.cpan.org/dist/GDTextUtil/</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Page:&nbsp;<A
+HREF="http://landfill.bugzilla.org/ppm/GDTextUtil.ppd"
+TARGET="_top"
+>http://landfill.bugzilla.org/ppm/GDTextUtil.ppd</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
+HREF="http://search.cpan.org/dist/GDTextUtil/Text/Align.pm"
+TARGET="_top"
+>http://search.cpan.org/dist/GDTextUtil/Text/Align.pm</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
+>
+    </P
+><P
+>&#13;      MIME::Parser (part of MIME-tools):
+      <P
+CLASS="literallayout"
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
+HREF="http://search.cpan.org/dist/MIME-tools/"
+TARGET="_top"
+>http://search.cpan.org/dist/MIME-tools/</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
+HREF="http://ppm.activestate.com/PPMPackages/zips/8xx-builds-only/Windows/MIME-tools-5.411a.zip"
+TARGET="_top"
+>http://ppm.activestate.com/PPMPackages/zips/8xx-builds-only/Windows/MIME-tools-5.411a.zip</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
+HREF="http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm"
+TARGET="_top"
+>http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
+>
+    </P
+><P
+>&#13;      XML::Parser:
+      <P
+CLASS="literallayout"
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
+HREF="http://search.cpan.org/dist/XML-Parser/"
+TARGET="_top"
+>http://search.cpan.org/dist/XML-Parser/</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;Part&nbsp;of&nbsp;core&nbsp;distribution.<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
+HREF="http://www.perldoc.com/perl5.6.1/lib/XML/Parser.html"
+TARGET="_top"
+>http://www.perldoc.com/perl5.6.1/lib/XML/Parser.html</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
+>
+    </P
+><P
+>&#13;      PatchReader:
+      <P
+CLASS="literallayout"
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPAN&nbsp;Download&nbsp;Page:&nbsp;<A
+HREF="http://search.cpan.org/author/JKEISER/PatchReader/"
+TARGET="_top"
+>http://search.cpan.org/author/JKEISER/PatchReader/</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PPM&nbsp;Download&nbsp;Link:&nbsp;<A
+HREF="http://landfill.bugzilla.org/ppm/PatchReader.ppd"
+TARGET="_top"
+>http://landfill.bugzilla.org/ppm/PatchReader.ppd</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Documentation:&nbsp;<A
+HREF="http://www.johnkeiser.com/mozilla/Patch_Viewer.html"
+TARGET="_top"
+>http://www.johnkeiser.com/mozilla/Patch_Viewer.html</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
+>
+    </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="modules-manual-download.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="gfdl.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Download Locations</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="install-perlmodules-manual.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>GNU Free Documentation License</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/myaccount.html b/docs/html/myaccount.html
index d64c13805d4a8d33d5225832b6a0f39a67069a34..a8120c2dadcea1bc9a55144d62705d1efaf77d06 100644
--- a/docs/html/myaccount.html
+++ b/docs/html/myaccount.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Using Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Chapter 5. Using Bugzilla</TD
+>Chapter 6. Using Bugzilla</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
@@ -76,7 +74,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="myaccount"
->5.2. Create a Bugzilla Account</A
+>6.2. Create a Bugzilla Account</A
 ></H1
 ><P
 >If you want to use Bugzilla, first you need to create an account.
@@ -84,9 +82,9 @@ NAME="myaccount"
     Bugzilla for the URL you should use to access it. If you're
     test-driving Bugzilla, use this URL: 
     <A
-HREF="http://landfill.bugzilla.org/bugzilla-tip/"
+HREF="http://landfill.bugzilla.org/bugzilla-2.18-branch/"
 TARGET="_top"
->http://landfill.bugzilla.org/bugzilla-tip/</A
+>http://landfill.bugzilla.org/bugzilla-2.18-branch/</A
 >.
     </P
 ><P
diff --git a/docs/html/newversions.html b/docs/html/newversions.html
index 188d6f567f540ee57a176f14e508e6d7ef499f82..1013f67291208c1820b449f1832085c93adb3f21 100644
--- a/docs/html/newversions.html
+++ b/docs/html/newversions.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="About This Guide"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -79,12 +77,8 @@ NAME="newversions"
 >1.3. New Versions</A
 ></H1
 ><P
->&#13;      This is the 2.17.7 version of The Bugzilla Guide. It is so named 
+>&#13;      This is the 2.18 version of The Bugzilla Guide. It is so named 
       to match the current version of Bugzilla. 
-      
-        This version of the guide, like its associated Bugzilla version, is a
-        development version. 
-      
     </P
 ><P
 >&#13;      The latest version of this guide can always be found at <A
diff --git a/docs/html/nonroot.html b/docs/html/nonroot.html
new file mode 100644
index 0000000000000000000000000000000000000000..5f7e667223859bb93ddef3db83071eae8bc0719c
--- /dev/null
+++ b/docs/html/nonroot.html
@@ -0,0 +1,988 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>UNIX (non-root) Installation Notes</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Installing Bugzilla"
+HREF="installing-bugzilla.html"><LINK
+REL="PREVIOUS"
+TITLE="OS-Specific Installation Notes"
+HREF="os-specific.html"><LINK
+REL="NEXT"
+TITLE="Administering Bugzilla"
+HREF="administration.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="os-specific.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 2. Installing Bugzilla</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="administration.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="nonroot"
+>2.5. UNIX (non-root) Installation Notes</A
+></H1
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN774"
+>2.5.1. Introduction</A
+></H2
+><P
+>If you are running a *NIX OS as non-root, either due
+      to lack of access (web hosts, for example) or for security
+      reasons, this will detail how to install Bugzilla on such
+      a setup. It is recommended that you read through the
+      <A
+HREF="installation.html"
+>Section 2.1</A
+>
+      first to get an idea on the installation steps required.
+      (These notes will reference to steps in that guide.)</P
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN778"
+>2.5.2. MySQL</A
+></H2
+><P
+>You may have MySQL installed as root. If you're
+      setting up an account with a web host, a MySQL account
+      needs to be set up for you. From there, you can create
+      the bugs account, or use the account given to you.</P
+><DIV
+CLASS="warning"
+><P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>You may have problems trying to set up
+        <B
+CLASS="command"
+>GRANT</B
+> permissions to the database.
+        If you're using a web host, chances are that you have a
+        separate database which is already locked down (or one big
+        database with limited/no access to the other areas), but you
+        may want to ask your system adminstrator what the security
+        settings are set to, and/or run the <B
+CLASS="command"
+>GRANT</B
+>
+        command for you.</P
+><P
+>Also, you will probably not be able to change the MySQL
+        root user password (for obvious reasons), so skip that
+        step.</P
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="AEN786"
+>2.5.2.1. Running MySQL as Non-Root</A
+></H3
+><DIV
+CLASS="section"
+><H4
+CLASS="section"
+><A
+NAME="AEN788"
+>2.5.2.1.1. The Custom Configuration Method</A
+></H4
+><P
+>Create a file .my.cnf in your 
+              home directory (using /home/foo in this example)
+              as follows....</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#13;[mysqld]
+datadir=/home/foo/mymysql
+socket=/home/foo/mymysql/thesock
+port=8081
+
+[mysql]
+socket=/home/foo/mymysql/thesock
+port=8081
+
+[mysql.server]
+user=mysql
+basedir=/var/lib
+
+[safe_mysqld]
+err-log=/home/foo/mymysql/the.log
+pid-file=/home/foo/mymysql/the.pid
+              </PRE
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="section"
+><H4
+CLASS="section"
+><A
+NAME="AEN792"
+>2.5.2.1.2. The Custom Built Method</A
+></H4
+><P
+>You can install MySQL as a not-root, if you really need to.
+            Build it with PREFIX set to <TT
+CLASS="filename"
+>/home/foo/mysql</TT
+>,
+            or use pre-installed executables, specifying that you want
+            to put all of the data files in <TT
+CLASS="filename"
+>/home/foo/mysql/data</TT
+>.
+            If there is another MySQL server running on the system that you
+            do not own, use the -P option to specify a TCP port that is not
+            in use.</P
+></DIV
+><DIV
+CLASS="section"
+><H4
+CLASS="section"
+><A
+NAME="AEN797"
+>2.5.2.1.3. Starting the Server</A
+></H4
+><P
+>After your mysqld program is built and any .my.cnf file is 
+            in place, you must initialize the databases (ONCE).</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;              <SAMP
+CLASS="prompt"
+>bash$</SAMP
+>
+              <B
+CLASS="command"
+>mysql_install_db</B
+>
+            </PRE
+></FONT
+></TD
+></TR
+></TABLE
+><P
+>Then start the daemon with</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;              <SAMP
+CLASS="prompt"
+>bash$</SAMP
+>
+              <B
+CLASS="command"
+>safe_mysql &#38;</B
+>
+            </PRE
+></FONT
+></TD
+></TR
+></TABLE
+><P
+>After you start mysqld the first time, you then connect to
+            it as "root" and <B
+CLASS="command"
+>GRANT</B
+> permissions to other
+            users. (Again, the MySQL root account has nothing to do with
+            the *NIX root account.)</P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>You will need to start the daemons yourself. You can either
+              ask your system administrator to add them to system startup files, or
+              add a crontab entry that runs a script to check on these daemons
+              and restart them if needed.</P
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="warning"
+><P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>Do NOT run daemons or other services on a server without first
+              consulting your system administrator! Daemons use up system resources
+              and running one may be in violation of your terms of service for any
+              machine on which you are a user!</P
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN813"
+>2.5.3. Perl</A
+></H2
+><P
+>On the extremely rare chance that you don't have Perl on
+      the machine, you will have to build the sources
+      yourself. The following commands should get your system
+      installed with your own personal version of Perl:</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;        <SAMP
+CLASS="prompt"
+>bash$</SAMP
+>
+        <B
+CLASS="command"
+>wget http://perl.com/CPAN/src/stable.tar.gz</B
+>
+        <SAMP
+CLASS="prompt"
+>bash$</SAMP
+>
+        <B
+CLASS="command"
+>tar zvxf stable.tar.gz</B
+>
+        <SAMP
+CLASS="prompt"
+>bash$</SAMP
+>
+        <B
+CLASS="command"
+>cd perl-5.8.1</B
+> (or whatever the version of Perl is called)
+        <SAMP
+CLASS="prompt"
+>bash$</SAMP
+>
+        <B
+CLASS="command"
+>sh Configure -de -Dprefix=/home/foo/perl</B
+>
+        <SAMP
+CLASS="prompt"
+>bash$</SAMP
+>
+        <B
+CLASS="command"
+>make &#38;&#38; make test &#38;&#38; make install</B
+>
+      </PRE
+></FONT
+></TD
+></TR
+></TABLE
+><P
+>Once you have Perl installed into a directory (probably
+      in <TT
+CLASS="filename"
+>~/perl/bin</TT
+>), you'll have to
+      change the locations on the scripts, which is detailed later on
+      this page.</P
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="install-perlmodules-nonroot"
+>2.5.4. Perl Modules</A
+></H2
+><P
+>Installing the Perl modules as a non-root user is probably the
+      hardest part of the process. There are two different methods: a
+      completely independant Perl with its own modules, or personal
+      modules using the current (root installed) version of Perl. The
+      independant method takes up quite a bit of disk space, but is
+      less complex, while the mixed method only uses as much space as the
+      modules themselves, but takes more work to setup.</P
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="AEN832"
+>2.5.4.1. The Independant Method</A
+></H3
+><P
+>The independant method requires that you install your own
+        personal version of Perl, as detailed in the previous section. Once
+        installed, you can start the CPAN shell with the following
+        command:</P
+><P
+>&#13;          <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;            <SAMP
+CLASS="prompt"
+>bash$</SAMP
+>
+            <B
+CLASS="command"
+>/home/foo/perl/bin/perl -MCPAN -e 'shell'</B
+>
+          </PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+        </P
+><P
+>And then:</P
+><P
+>&#13;          <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;            <SAMP
+CLASS="prompt"
+>cpan&#62;</SAMP
+>
+            <B
+CLASS="command"
+>install Bundle::Bugzilla</B
+>
+          </PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+        </P
+><P
+>With this method, module installation will usually go a lot
+        smoother, but if you have any hang-ups, you can consult the next
+        section.</P
+></DIV
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="AEN845"
+>2.5.4.2. The Mixed Method</A
+></H3
+><P
+>First, you'll need to configure CPAN to
+        install modules in your home directory. The CPAN FAQ says the
+        following on this issue:</P
+><P
+>&#13;          <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#13;5)  I am not root, how can I install a module in a personal directory?
+
+    You will most probably like something like this:
+
+      o conf makepl_arg "LIB=~/myperl/lib \
+                         INSTALLMAN1DIR=~/myperl/man/man1 \
+                         INSTALLMAN3DIR=~/myperl/man/man3"
+    install Sybase::Sybperl
+
+    You can make this setting permanent like all "o conf" settings with "o conf commit".
+
+    You will have to add ~/myperl/man to the MANPATH environment variable and also tell your Perl programs to
+    look into ~/myperl/lib, e.g. by including
+
+      use lib "$ENV{HOME}/myperl/lib";
+
+    or setting the PERL5LIB environment variable.
+
+    Another thing you should bear in mind is that the UNINST parameter should never be set if you are not root.</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+        </P
+><P
+>So, you will need to create a Perl directory in your home
+        directory, as well as the <TT
+CLASS="filename"
+>lib</TT
+>,
+        <TT
+CLASS="filename"
+>man</TT
+>,
+        <TT
+CLASS="filename"
+>man/man1</TT
+>, and
+        <TT
+CLASS="filename"
+>man/man3</TT
+> directories in that
+        Perl directory. Set the MANPATH variable and PERL5LIB variable, so
+        that the installation of the modules goes smoother. (Setting
+        UNINST=0 in your "make install" options, on the CPAN first-time
+        configuration, is also a good idea.)</P
+><P
+>After that, go into the CPAN shell:</P
+><P
+>&#13;          <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;            <SAMP
+CLASS="prompt"
+>bash$</SAMP
+>
+            <B
+CLASS="command"
+>perl -MCPAN -e 'shell'</B
+>
+          </PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+        </P
+><P
+>From there, you will need to type in the above "o conf" command
+        and commit the changes. Then you can run through the installation:</P
+><P
+>&#13;          <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;            <SAMP
+CLASS="prompt"
+>cpan&#62;</SAMP
+>
+            <B
+CLASS="command"
+>install Bundle::Bugzilla</B
+>
+          </PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+        </P
+><P
+>Most of the module installation process should go smoothly. However,
+        you may have some problems with Template. When you first start, you will
+        want to try to install Template with the XS Stash options on. If this
+        doesn't work, it may spit out C compiler error messages and croak back
+        to the CPAN shell prompt. So, redo the install, and turn it off. (In fact,
+        say no to all of the Template questions.) It may also start failing on a
+        few of the tests. If the total tests passed is a reasonable figure (90+%),
+        force the install with the following command:</P
+><P
+>&#13;          <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;            <SAMP
+CLASS="prompt"
+>cpan&#62;</SAMP
+>
+            <B
+CLASS="command"
+>force install Template</B
+>
+          </PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+        </P
+><P
+>You may also want to install the other optional modules:</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;          <SAMP
+CLASS="prompt"
+>cpan&#62;</SAMP
+>
+          <B
+CLASS="command"
+>install GD</B
+>
+          <SAMP
+CLASS="prompt"
+>cpan&#62;</SAMP
+>
+          <B
+CLASS="command"
+>install Chart::Base</B
+>
+          <SAMP
+CLASS="prompt"
+>cpan&#62;</SAMP
+>
+          <B
+CLASS="command"
+>install MIME::Parser</B
+>
+        </PRE
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN878"
+>2.5.5. HTTP Server</A
+></H2
+><P
+>Ideally, this also needs to be installed as root and
+      run under a special webserver account. As long as
+      the web server will allow the running of *.cgi files outside of a
+      cgi-bin, and a way of denying web access to certain files (such as a
+      .htaccess file), you should be good in this department.</P
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="AEN881"
+>2.5.5.1. Running Apache as Non-Root</A
+></H3
+><P
+>You can run Apache as a non-root user, but the port will need
+        to be set to one above 1024. If you type <B
+CLASS="command"
+>httpd -V</B
+>,
+        you will get a list of the variables that your system copy of httpd
+        uses. One of those, namely HTTPD_ROOT, tells you where that
+        installation looks for its config information.</P
+><P
+>From there, you can copy the config files to your own home
+        directory to start editing. When you edit those and then use the -d
+        option to override the HTTPD_ROOT compiled into the web server, you
+        get control of your own customized web server.</P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>You will need to start the daemons yourself. You can either
+          ask your system administrator to add them to system startup files, or
+          add a crontab entry that runs a script to check on these daemons
+          and restart them if needed.</P
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="warning"
+><P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>Do NOT run daemons or other services on a server without first
+          consulting your system administrator! Daemons use up system resources
+          and running one may be in violation of your terms of service for any
+          machine on which you are a user!</P
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="AEN890"
+>2.5.6. Bugzilla</A
+></H2
+><P
+>If you had to install Perl modules as a non-root user
+      (<A
+HREF="nonroot.html#install-perlmodules-nonroot"
+>Section 2.5.4</A
+>) or to non-standard
+      directories, you will need to change the scripts, setting the correct
+      location of the Perl modules:</P
+><P
+>&#13;        <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>perl -pi -e
+        's@use strict\;@use strict\; use lib \"/home/foo/perl/lib\"\;@'
+        *cgi *pl Bug.pm processmail syncshadowdb</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+
+        Change <TT
+CLASS="filename"
+>/home/foo/perl/lib</TT
+> to
+        your personal Perl library directory. You can probably skip this
+        step if you are using the independant method of Perl module
+        installation.
+      </P
+><P
+>When you run <B
+CLASS="command"
+>./checksetup.pl</B
+> to create
+      the <TT
+CLASS="filename"
+>localconfig</TT
+> file, it will list the Perl
+      modules it finds. If one is missing, go back and double-check the
+      module installation from the CPAN shell, then delete the
+      <TT
+CLASS="filename"
+>localconfig</TT
+> file and try again.</P
+><DIV
+CLASS="warning"
+><P
+></P
+><TABLE
+CLASS="warning"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/warning.gif"
+HSPACE="5"
+ALT="Warning"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>The one option in <TT
+CLASS="filename"
+>localconfig</TT
+> you
+        might have problems with is the web server group. If you can't
+        successfully browse to the <TT
+CLASS="filename"
+>index.cgi</TT
+> (like
+        a Forbidden error), you may have to relax your permissions,
+        and blank out the web server group. Of course, this may pose
+        as a security risk. Having a properly jailed shell and/or
+        limited access to shell accounts may lessen the security risk,
+        but use at your own risk.</P
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="os-specific.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="administration.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>OS-Specific Installation Notes</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="installing-bugzilla.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Administering Bugzilla</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/os-specific.html b/docs/html/os-specific.html
index 861a50739a5e04c1527b46dcd9869ecd79e7095b..ddc8c2e086e6237ce7514f09955024847bec4c84 100644
--- a/docs/html/os-specific.html
+++ b/docs/html/os-specific.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Installing Bugzilla"
@@ -17,8 +16,8 @@ REL="PREVIOUS"
 TITLE="Optional Additional Configuration"
 HREF="extraconfig.html"><LINK
 REL="NEXT"
-TITLE="Troubleshooting"
-HREF="troubleshooting.html"></HEAD
+TITLE="UNIX (non-root) Installation Notes"
+HREF="nonroot.html"></HEAD
 ><BODY
 CLASS="section"
 BGCOLOR="#FFFFFF"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -61,7 +59,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="troubleshooting.html"
+HREF="nonroot.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -102,22 +100,11 @@ NAME="os-win32"
 >2.4.1. Microsoft Windows</A
 ></H2
 ><P
->Making Bugzilla work on Windows is still a painful processes.
-      The Bugzilla Team is working to make it easier, but that goal is not
-      considered a top priority. If you wish to run Bugzilla, we still
-      recommend doing so on a Unix based system such as GNU/Linux. As of this
-      writing, all members of the Bugzilla team and all known large installations
-      run on Unix based systems.
-      </P
-><P
->If after hearing all that, you have enough pain tolerance to attempt
-     installing Bugzilla on Win32, here are some pointers.
-     
-       Because this is a development version of the guide, these instructions
-       are subject to change without notice. In fact, the Bugzilla Team hopes
-       to have Bugzilla reasonably close to "out of
-       the box" compatibility with Windows by the 2.18 release.
-      
+>&#13;        Making Bugzilla work on Windows is more difficult than making it
+        work on Unix.  For that reason, we still recommend doing so on a Unix 
+        based system such as GNU/Linux.  That said, if you do want to get
+        Bugzilla running on Windows, you will need to make the following
+        adjustments.
       </P
 ><DIV
 CLASS="section"
@@ -128,16 +115,19 @@ NAME="win32-perl"
 >2.4.1.1. Win32 Perl</A
 ></H3
 ><P
->Perl for Windows can be obtained from <A
+>&#13;          Perl for Windows can be obtained from 
+          <A
 HREF="http://www.activestate.com/"
 TARGET="_top"
 >ActiveState</A
->. You should be
-        able to find a compiled binary at <A
+>.
+           You should be able to find a compiled binary at <A
 HREF="http://aspn.activestate.com/ASPN/Downloads/ActivePerl/"
 TARGET="_top"
 >http://aspn.activestate.com/ASPN/Downloads/ActivePerl/</A
 >.
+           The following instructions assume that you are using version
+           5.8.1 of ActiveState.
         </P
 ></DIV
 ><DIV
@@ -145,23 +135,23 @@ CLASS="section"
 ><H3
 CLASS="section"
 ><A
-NAME="win32-perlmodules"
+NAME="win32-perl-modules"
 >2.4.1.2. Perl Modules on Win32</A
 ></H3
 ><P
->Bugzilla on Windows requires the same perl modules found in
-        <A
+>&#13;          Bugzilla on Windows requires the same perl modules found in
+          <A
 HREF="installation.html#install-perlmodules"
 >Section 2.1.5</A
 >. The main difference is that
-        windows uses <A
+          windows uses <A
 HREF="glossary.html#gloss-ppm"
 ><I
 CLASS="glossterm"
 >PPM</I
 ></A
-> instead of
-        CPAN.
+> instead
+          of CPAN.
         </P
 ><TABLE
 BORDER="0"
@@ -175,7 +165,31 @@ COLOR="#000000"
 CLASS="programlisting"
 >&#13;C:\perl&#62; <B
 CLASS="command"
->ppm &#60;module name&#62;</B
+>ppm install &#60;module name&#62;</B
+>
+        </PRE
+></FONT
+></TD
+></TR
+></TABLE
+><P
+>&#13;          The best source for the Windows PPM modules needed for Bugzilla
+          is probably the the Bugzilla Test Server (aka 'Landfill'), so 
+          you should add the Landfill package repository as follows:
+        </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#13;<B
+CLASS="command"
+>ppm repository add landfill http://www.landfill.bugzilla.org/ppm/</B
 >
         </PRE
 ></FONT
@@ -203,144 +217,72 @@ ALT="Note"></TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->The above syntax should work for all modules with the exception
-          of Template Toolkit. The <A
-HREF="http://tt2.org/download.html#win32"
-TARGET="_top"
->Template Toolkit website</A
->
-          suggests using the instructions on <A
-HREF="http://openinteract.sourceforge.net/"
-TARGET="_top"
->OpenInteract's website</A
->.
+>&#13;            The PPM repository stores modules in 'packages' that may have
+            a slightly different name than the module.  If retrieving these
+            modules from there, you will need to pay attention to the information
+            provided when you run <B
+CLASS="command"
+>checksetup.pl</B
+> as it will
+            tell you what package you'll need to install.
           </P
 ></TD
 ></TR
 ></TABLE
 ></DIV
-></DIV
 ><DIV
-CLASS="section"
-><H3
-CLASS="section"
-><A
-NAME="win32-code-changes"
->2.4.1.3. Code changes required to run on win32</A
-></H3
-><P
->As Bugzilla still doesn't run "out of the box" on
-        Windows, code has to be modified. This section lists the required 
-        changes.
-        </P
-><DIV
-CLASS="section"
-><H4
-CLASS="section"
-><A
-NAME="win32-code-checksetup"
->2.4.1.3.1. Changes to <TT
-CLASS="filename"
->checksetup.pl</TT
-></A
-></H4
+CLASS="tip"
 ><P
->In <TT
-CLASS="filename"
->checksetup.pl</TT
->, the line reading:</P
+></P
 ><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
+CLASS="tip"
 WIDTH="100%"
-><TR
-><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->&#13;my $mysql_binaries = `which mysql`;
-          </PRE
-></FONT
-></TD
-></TR
-></TABLE
-><P
->to</P
-><TABLE
 BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
 ><TR
 ><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->&#13;my $mysql_binaries = "D:\\mysql\\bin\\mysql";
-          </PRE
-></FONT
-></TD
-></TR
-></TABLE
-><P
->And you'll also need to change:</P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/tip.gif"
+HSPACE="5"
+ALT="Tip"></TD
 ><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->&#13;my $webservergid = getgrnam($my_webservergroup)
-          </PRE
-></FONT
-></TD
-></TR
-></TABLE
+ALIGN="LEFT"
+VALIGN="TOP"
 ><P
->to</P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->&#13;my $webservergid = '8'
-          </PRE
-></FONT
+>&#13;            If you are behind a corporate firewall, you will need to let the
+            ActiveState PPM utility know how to get through it to acccess
+            the repositories by setting the HTTP_proxy system environmental
+            variable. For more information on setting that variable, see
+            the ActiveState documentation.
+          </P
 ></TD
 ></TR
 ></TABLE
 ></DIV
+></DIV
 ><DIV
 CLASS="section"
-><H4
+><H3
 CLASS="section"
 ><A
-NAME="win32-code-bugmail"
->2.4.1.3.2. Changes to <TT
-CLASS="filename"
->BugMail.pm</TT
-></A
-></H4
+NAME="win32-code-changes"
+>2.4.1.3. Code changes required to run on win32</A
+></H3
 ><P
->To make bug email work on Win32 (until
+>&#13;          Bugzilla on win32 is mostly supported out of the box; one
+          remaining issue is related to bug email. To make bug email
+          work on Win32 (until
           <A
-HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=84876"
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=49893"
 TARGET="_top"
 >bug
-          84876</A
+          49893</A
 > lands), the
           simplest way is to have the Net::SMTP Perl module installed and 
-          change this:</P
+          change this line in the file Bugzilla/Bugmail.pm:
+        </P
 ><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -356,13 +298,14 @@ CLASS="programlisting"
 
 print SENDMAIL trim($msg) . "\n";
 close SENDMAIL;
-          </PRE
+        </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
 ><P
->to</P
+>&#13;          to
+        </P
 ><TABLE
 BORDER="0"
 BGCOLOR="#E0E0E0"
@@ -387,16 +330,16 @@ $smtp-&#62;data();
 $smtp-&#62;datasend($msg);
 $smtp-&#62;dataend();
 $smtp-&#62;quit;
-          </PRE
+        </PRE
 ></FONT
 ></TD
 ></TR
 ></TABLE
 ><P
->Don't forget to change the name of your SMTP server and the
-          domain of the sending email address (after the '@') in the above
-          lines of code.</P
-></DIV
+>&#13;          Don't forget to change the name of your SMTP server and the
+          domain of the sending email address (after the '@') in the
+          above lines of code.
+        </P
 ></DIV
 ><DIV
 CLASS="section"
@@ -407,15 +350,16 @@ NAME="win32-http"
 >2.4.1.4. Serving the web pages</A
 ></H3
 ><P
->As is the case on Unix based systems, any web server should be
-        able to handle Bugzilla; however, the Bugzilla Team still recommends
-        Apache whenever asked. No matter what web server you choose, be sure
-        to pay attention to the security notes in <A
-HREF="configuration.html#security-access"
->Section 2.2.4.4</A
->.
-        More information on configuring specific web servers can be found in
-        <A
+>&#13;          As is the case on Unix based systems, any web server should
+          be able to handle Bugzilla; however, the Bugzilla Team still
+          recommends Apache whenever asked. No matter what web server
+          you choose, be sure to pay attention to the security notes
+          in <A
+HREF="security-webserver.html#security-webserver-access"
+>Section 4.3.1</A
+>. More
+          information on configuring specific web servers can be found
+          in <A
 HREF="configuration.html#http"
 >Section 2.2.4</A
 >.
@@ -441,14 +385,14 @@ ALT="Note"></TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->If using Apache on windows, you can set the <A
+>&#13;            If using Apache on windows, you can set the <A
 HREF="http://httpd.apache.org/docs-2.0/mod/core.html#scriptinterpretersource"
 TARGET="_top"
 >ScriptInterpreterSource</A
 >
-          directive in your Apache config to avoid having
-          to modify the first line of every script to contain your path to
-          perl instead of <TT
+            directive in your Apache config to avoid having to modify
+            the first line of every script to contain your path to perl 
+            perl instead of <TT
 CLASS="filename"
 >/usr/bin/perl</TT
 >.
@@ -547,7 +491,7 @@ CLASS="filename"
 >. When the
         Perl module config script asks where your <TT
 CLASS="filename"
->libgdi</TT
+>libgd</TT
 >
         is, be sure to tell it
         <TT
@@ -795,7 +739,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="troubleshooting.html"
+HREF="nonroot.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -819,7 +763,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Troubleshooting</TD
+>UNIX (non-root) Installation Notes</TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/docs/html/parameters.html b/docs/html/parameters.html
index cbe460ac6239eaedbc10216395b489648dbc2c88..f209770776517b14206fa4b8877b598e5d850c06 100644
--- a/docs/html/parameters.html
+++ b/docs/html/parameters.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Administering Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -79,10 +77,11 @@ NAME="parameters"
 >3.1. Bugzilla Configuration</A
 ></H1
 ><P
->Bugzilla is configured by changing various parameters, accessed
-    from the "Edit parameters" link in the page footer. Here are
-    some of the key parameters on that page. You should run down this
-    list and set them appropriately after installing Bugzilla.</P
+>&#13;      Bugzilla is configured by changing various parameters, accessed
+      from the "Edit parameters" link in the page footer. Here are
+      some of the key parameters on that page. You should run down this
+      list and set them appropriately after installing Bugzilla.
+    </P
 ><DIV
 CLASS="procedure"
 ><OL
@@ -90,211 +89,266 @@ TYPE="1"
 ><LI
 ><P
 > 
-        <B
+          <B
 CLASS="command"
 >maintainer</B
 >:
-        The maintainer parameter is the email address of the person 
-        responsible for maintaining this
-        Bugzilla installation. The address need not be that of a valid Bugzilla
-        account.</P
+
+          The maintainer parameter is the email address of the person 
+          responsible for maintaining this Bugzilla installation.
+          The address need not be that of a valid Bugzilla account.
+        </P
 ></LI
 ><LI
 ><P
->&#13;        <B
+>&#13;          <B
 CLASS="command"
 >urlbase</B
 >:
-        This parameter defines the fully qualified domain name and web 
-        server path to your Bugzilla installation.</P
+
+          This parameter defines the fully qualified domain name and web 
+          server path to your Bugzilla installation.
+        </P
 ><P
->For example, if your Bugzilla query page is
-        <TT
+>&#13;          For example, if your Bugzilla query page is
+          <TT
 CLASS="filename"
 >http://www.foo.com/bugzilla/query.cgi</TT
 >, 
-        set your <SPAN
+          set your <SPAN
 CLASS="QUOTE"
 >"urlbase"</SPAN
 >
-        to <TT
+          to <TT
 CLASS="filename"
 >http://www.foo.com/bugzilla/</TT
->.</P
+>.
+        </P
 ></LI
 ><LI
 ><P
->&#13;        <B
+>&#13;          <B
 CLASS="command"
 >makeproductgroups</B
 >:
-        This dictates whether or not to automatically create groups
-        when new products are created.
+
+          This dictates whether or not to automatically create groups
+          when new products are created.
         </P
 ></LI
 ><LI
 ><P
->&#13;        <B
+>&#13;          <B
 CLASS="command"
 >useentrygroupdefault</B
 >:
-        Bugzilla products can have a group associated with them, so that
-        certain users can only see bugs in certain products. When this 
-        parameter is set to <SPAN
+
+          Bugzilla products can have a group associated with them, so that
+          certain users can only see bugs in certain products. When this 
+          parameter is set to <SPAN
 CLASS="QUOTE"
 >"on"</SPAN
 >, this 
-        causes the initial group controls on newly created products 
-        to place all newly-created bugs in the group 
-        having the same name as the product immediately.
-        After a product is initially created, the group controls
-        can be further adjusted without interference by 
-        this mechanism.</P
+          causes the initial group controls on newly created products 
+          to place all newly-created bugs in the group 
+          having the same name as the product immediately.
+          After a product is initially created, the group controls
+          can be further adjusted without interference by 
+          this mechanism.
+        </P
 ></LI
 ><LI
 ><P
->&#13;        <B
+>&#13;          <B
 CLASS="command"
 >shadowdb</B
 >:
-        You run into an interesting problem when Bugzilla reaches a
-        high level of continuous activity. MySQL supports only table-level
-        write locking. What this means is that if someone needs to make a
-        change to a bug, they will lock the entire table until the operation
-        is complete. Locking for write also blocks reads until the write is
-        complete. Note that more recent versions of mysql support row level
-        locking using different table types. These types are slower than the
-        standard type, and Bugzilla does not yet take advantage of features
-        such as transactions which would justify this speed decrease. The
-        Bugzilla team are, however, happy to hear about any experiences with
-        row level locking and Bugzilla.</P
+
+          You run into an interesting problem when Bugzilla reaches a
+          high level of continuous activity. MySQL supports only table-level
+          write locking. What this means is that if someone needs to make a
+          change to a bug, they will lock the entire table until the operation
+          is complete. Locking for write also blocks reads until the write is
+          complete. Note that more recent versions of mysql support row level
+          locking using different table types. These types are slower than the
+          standard type, and Bugzilla does not yet take advantage of features
+          such as transactions which would justify this speed decrease. The
+          Bugzilla team are, however, happy to hear about any experiences with
+          row level locking and Bugzilla.
+        </P
 ><P
->The <SPAN
+>&#13;          The <SPAN
 CLASS="QUOTE"
 >"shadowdb"</SPAN
->
-        parameter was designed to get around this limitation. While only a
-        single user is allowed to write to a table at a time, reads can
-        continue unimpeded on a read-only shadow copy of the database.
-        Although your database size will double, a shadow database can cause
-        an enormous performance improvement when implemented on extremely
-        high-traffic Bugzilla databases.</P
+> parameter was designed to get around
+          this limitation. While only a single user is allowed to write to
+          a table at a time, reads can continue unimpeded on a read-only
+          shadow copy of the database. Although your database size will
+          double, a shadow database can cause an enormous performance
+          improvement when implemented on extremely high-traffic Bugzilla
+          databases.
+        </P
 ><P
->&#13;        As a guide, on reasonably old hardware, mozilla.org began needing 
-        <SPAN
+>&#13;          As a guide, on reasonably old hardware, mozilla.org began needing 
+          <SPAN
 CLASS="QUOTE"
 >"shadowdb"</SPAN
->
-        when they reached around 40,000 Bugzilla users with several hundred
-        Bugzilla bug changes and comments per day.</P
+> when they reached around 40,000 Bugzilla
+          users with several hundred Bugzilla bug changes and comments per day.
+        </P
 ><P
->The value of the parameter defines the name of the 
-        shadow bug database. You will need to set the host and port settings
-        from the params page, and set up replication in your database server
-        so that updates reach this readonly mirror. Consult your database
-        documentation for more detail.</P
+>&#13;          The value of the parameter defines the name of the shadow bug
+          database. You will need to set the host and port settings from
+          the params page, and set up replication in your database server
+          so that updates reach this readonly mirror. Consult your database
+          documentation for more detail.
+        </P
 ></LI
 ><LI
 ><P
->&#13;        <B
+>&#13;          <B
 CLASS="command"
 >shutdownhtml</B
 >:
 
-        If you need to shut down Bugzilla to perform administration, enter
-        some descriptive HTML here and anyone who tries to use Bugzilla will
-        receive a page to that effect. Obviously, editparams.cgi will
-        still be accessible so you can remove the HTML and re-enable Bugzilla.
-        :-)
+          If you need to shut down Bugzilla to perform administration, enter
+          some descriptive text (with embedded HTML codes, if you'd like)
+          into this box. Anyone who tries to use Bugzilla (including admins)
+          will receive a page displaying this text. Users can neither log in
+          nor log out while shutdownhtml is enabled.
         </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;            Although regular log-in capability is disabled while 'shutdownhtml'
+            is enabled, safeguards are in place to protect the unfortunate 
+            admin who loses connection to Bugzilla. Should this happen to you,
+            go directly to the <TT
+CLASS="filename"
+>editparams.cgi</TT
+> (by typing
+            the URL in manually, if necessary). Doing this will prompt you to
+            log in, and your name/password will be accepted here (but nowhere
+            else). 
+          </P
+></TD
+></TR
+></TABLE
+></DIV
 ></LI
 ><LI
 ><P
->&#13;        <B
+>&#13;          <B
 CLASS="command"
 >passwordmail</B
 >:
 
-        Every time a user creates an account, the text of
-        this parameter (with substitutions) is sent to the new user along with
-        their password message.</P
+          Every time a user creates an account, the text of this parameter
+          (with substitutions) is sent to the new user along with their
+          password message.
+        </P
 ><P
->Add any text you wish to the "passwordmail" parameter box. For
-        instance, many people choose to use this box to give a quick training
-        blurb about how to use Bugzilla at your site.</P
+>&#13;          Add any text you wish to the "passwordmail" parameter box. For
+          instance, many people choose to use this box to give a quick 
+          training blurb about how to use Bugzilla at your site.
+        </P
 ></LI
 ><LI
 ><P
->&#13;	<B
+>&#13;          <B
 CLASS="command"
 >movebugs</B
 >:
 
-	This option is an undocumented feature to allow moving bugs
-	between separate Bugzilla installations.  You will need to understand
-	the source code in order to use this feature.  Please consult
-	<TT
+          This option is an undocumented feature to allow moving bugs
+          between separate Bugzilla installations.  You will need to understand
+          the source code in order to use this feature.  Please consult
+          <TT
 CLASS="filename"
 >movebugs.pl</TT
 > in your Bugzilla source tree for
-	further documentation, such as it is.
-	</P
+          further documentation, such as it is.
+        </P
 ></LI
 ><LI
 ><P
->&#13;        <B
+>&#13;          <B
 CLASS="command"
 >useqacontact</B
 >:
 
-        This allows you to define an email address for each component, in
-        addition
-        to that of the default owner, who will be sent carbon copies of
-        incoming bugs.</P
+          This allows you to define an email address for each component, 
+          in addition to that of the default owner, who will be sent
+          carbon copies of incoming bugs.
+        </P
 ></LI
 ><LI
 ><P
->&#13;        <B
+>&#13;          <B
 CLASS="command"
 >usestatuswhiteboard</B
 >:
-        This defines whether you wish to have a free-form, overwritable field
-        associated with each bug. The advantage of the Status Whiteboard is
-        that it can be deleted or modified with ease, and provides an
-        easily-searchable field for indexing some bugs that have some trait
-        in common.         
+
+          This defines whether you wish to have a free-form, overwritable field
+          associated with each bug. The advantage of the Status Whiteboard is
+          that it can be deleted or modified with ease, and provides an
+          easily-searchable field for indexing some bugs that have some trait
+          in common.         
         </P
 ></LI
 ><LI
 ><P
->&#13;        <B
+>&#13;          <B
 CLASS="command"
 >whinedays</B
 >:
-        Set this to the number of days you want to let bugs go
-        in the NEW or REOPENED state before notifying people they have
-        untouched new bugs. If you do not plan to use this feature, simply do
-        not set up the whining cron job described in the installation
-        instructions, or set this value to "0" (never whine).</P
+
+          Set this to the number of days you want to let bugs go
+          in the NEW or REOPENED state before notifying people they have
+          untouched new bugs. If you do not plan to use this feature, simply 
+          do not set up the whining cron job described in the installation
+          instructions, or set this value to "0" (never whine).
+        </P
 ></LI
 ><LI
 ><P
->&#13;        <B
+>&#13;          <B
 CLASS="command"
 >commenton*</B
 >:
-        All these
-        fields allow you to dictate what changes can pass without comment,
-        and which must have a comment from the person who changed them.
-        Often, administrators will allow users to add themselves to the CC
-        list, accept bugs, or change the Status Whiteboard without adding a
-        comment as to their reasons for the change, yet require that most
-        other changes come with an explanation.</P
+
+          All these fields allow you to dictate what changes can pass
+          without comment, and which must have a comment from the
+          person who changed them.  Often, administrators will allow
+          users to add themselves to the CC list, accept bugs, or
+          change the Status Whiteboard without adding a comment as to
+          their reasons for the change, yet require that most other
+          changes come with an explanation.
+        </P
 ><P
->Set the "commenton" options according to your site policy. It
-        is a wise idea to require comments when users resolve, reassign, or
-        reopen bugs at the very least. 
-        <DIV
+>&#13;          Set the "commenton" options according to your site policy. It
+          is a wise idea to require comments when users resolve, reassign, or
+          reopen bugs at the very least. 
+        </P
+><DIV
 CLASS="note"
 ><P
 ></P
@@ -315,36 +369,48 @@ ALT="Note"></TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->It is generally far better to require a developer comment
-          when resolving bugs than not. Few things are more annoying to bug
-          database users than having a developer mark a bug "fixed" without
-          any comment as to what the fix was (or even that it was truly
-          fixed!)</P
+>&#13;            It is generally far better to require a developer comment
+            when resolving bugs than not. Few things are more annoying to bug
+            database users than having a developer mark a bug "fixed" without
+            any comment as to what the fix was (or even that it was truly
+            fixed!)
+          </P
 ></TD
 ></TR
 ></TABLE
 ></DIV
->
-        </P
 ></LI
 ><LI
 ><P
->&#13;        <B
+>&#13;          <B
 CLASS="command"
 >supportwatchers</B
 >:
 
-        Turning on this option allows users to ask to receive copies of 
-        all a particular other user's bug email. This is, of
-        course, subject to the groupset restrictions on the bug; if the 
-        <SPAN
+          Turning on this option allows users to ask to receive copies 
+          of bug mail sent to another user.  Watching a user with
+          different group permissions is not a way to 'get around' the
+          system; copied emails are still subject to the normal groupset
+          permissions of a bug, and <SPAN
 CLASS="QUOTE"
->"watcher"</SPAN
->
-        would not normally be allowed to view a bug, the watcher cannot get
-        around the system by setting herself up to watch the bugs of someone
-        with bugs outside her privileges. They would still only receive email
-        updates for those bugs she could normally view.</P
+>"watchers"</SPAN
+> will only be 
+          copied on emails from bugs they would normally be allowed to view. 
+        </P
+></LI
+><LI
+><P
+>&#13;          <B
+CLASS="command"
+>noresolveonopenblockers</B
+>:
+
+          This option will prevent users from resolving bugs as FIXED if
+          they have unresolved dependencies. Only the FIXED resolution
+          is affected. Users will be still able to resolve bugs to
+          resolutions other than FIXED if they have unresolved dependent
+          bugs.
+        </P
 ></LI
 ></OL
 ></DIV
diff --git a/docs/html/paranoid-security.html b/docs/html/paranoid-security.html
new file mode 100644
index 0000000000000000000000000000000000000000..dac4c82a4081a7b9d3ce1fe4a9f459ee5b769d07
--- /dev/null
+++ b/docs/html/paranoid-security.html
@@ -0,0 +1,194 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>cannot chdir(/var/spool/mqueue)</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Troubleshooting"
+HREF="troubleshooting.html"><LINK
+REL="PREVIOUS"
+TITLE="DBD::Sponge::db prepare failed"
+HREF="x2890.html"><LINK
+REL="NEXT"
+TITLE="Your vendor has not defined Fcntl macro O_NOINHERIT"
+HREF="trouble-filetemp.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2890.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Appendix B. Troubleshooting</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="trouble-filetemp.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="paranoid-security"
+>B.6. cannot chdir(/var/spool/mqueue)</A
+></H1
+><P
+>If you are installing Bugzilla on SuSE Linux, or some other
+    distributions with <SPAN
+CLASS="QUOTE"
+>"paranoid"</SPAN
+> security options, it is
+    possible that the checksetup.pl script may fail with the error: 
+<TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>cannot chdir(/var/spool/mqueue): Permission denied
+</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+    </P
+><P
+>This is because your <TT
+CLASS="filename"
+>/var/spool/mqueue</TT
+>
+    directory has a mode of <SAMP
+CLASS="computeroutput"
+>drwx------</SAMP
+>.
+    Type <B
+CLASS="command"
+>chmod 755 <TT
+CLASS="filename"
+>/var/spool/mqueue</TT
+></B
+>
+    as root to fix this problem. This will allow any process running on your
+    machine the ability to <EM
+>read</EM
+> the
+    <TT
+CLASS="filename"
+>/var/spool/mqueue</TT
+> directory.
+    </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2890.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="trouble-filetemp.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>DBD::Sponge::db prepare failed</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="troubleshooting.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Your vendor has not defined Fcntl macro O_NOINHERIT</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/patches.html b/docs/html/patches.html
index 5cea2171a6ce2d6f11279f772d46f23aa200dc83..7c6acd8dd705482485089f9d4163d6e6f3d7c701 100644
--- a/docs/html/patches.html
+++ b/docs/html/patches.html
@@ -7,12 +7,11 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="PREVIOUS"
-TITLE="The Bugzilla FAQ"
-HREF="faq.html"><LINK
+TITLE="index.cgi doesn't show up unless specified in the URL"
+HREF="trbl-index.html"><LINK
 REL="NEXT"
 TITLE="Command-line Search Interface"
 HREF="cmdline.html"></HEAD
@@ -35,8 +34,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -44,7 +42,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="faq.html"
+HREF="trbl-index.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -73,14 +71,34 @@ CLASS="appendix"
 ><A
 NAME="patches"
 ></A
->Appendix B. Contrib</H1
+>Appendix C. Contrib</H1
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+>C.1. <A
+HREF="cmdline.html"
+>Command-line Search Interface</A
+></DT
+><DT
+>C.2. <A
+HREF="cmdline-bugmail.html"
+>Command-line 'Send Unsent Bug-mail' tool</A
+></DT
+></DL
+></DIV
 ><P
->There are a number of unofficial Bugzilla add-ons in the 
-  <TT
+>&#13;    There are a number of unofficial Bugzilla add-ons in the 
+    <TT
 CLASS="filename"
 >$BUGZILLA_ROOT/contrib/</TT
 >
-  directory. This section documents them.</P
+    directory. This section documents them.
+  </P
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
@@ -98,7 +116,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="faq.html"
+HREF="trbl-index.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -126,7 +144,10 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->The Bugzilla FAQ</TD
+><TT
+CLASS="filename"
+>index.cgi</TT
+> doesn't show up unless specified in the URL</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
diff --git a/docs/html/patchviewer.html b/docs/html/patchviewer.html
index 8707efc593320c89c397112c24fbff9e9c210bc3..5447579ee25fbe10c63b38b8079f3cb3bdb75d28 100644
--- a/docs/html/patchviewer.html
+++ b/docs/html/patchviewer.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Using Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Chapter 5. Using Bugzilla</TD
+>Chapter 6. Using Bugzilla</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
@@ -76,7 +74,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="patchviewer"
->5.7. Patch Viewer</A
+>6.8. Patch Viewer</A
 ></H1
 ><P
 >Viewing and reviewing patches in Bugzilla is often difficult due to
@@ -134,7 +132,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="patchviewer_view"
->5.7.1. Viewing Patches in Patch Viewer</A
+>6.8.1. Viewing Patches in Patch Viewer</A
 ></H2
 ><P
 >The main way to view a patch in patch viewer is to click on the
@@ -148,7 +146,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="patchviewer_diff"
->5.7.2. Seeing the Difference Between Two Patches</A
+>6.8.2. Seeing the Difference Between Two Patches</A
 ></H2
 ><P
 >To see the difference between two patches, you must first view the
@@ -163,7 +161,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="patchviewer_context"
->5.7.3. Getting More Context in a Patch</A
+>6.8.3. Getting More Context in a Patch</A
 ></H2
 ><P
 >To get more context in a patch, you put a number in the textbox at
@@ -179,7 +177,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="patchviewer_collapse"
->5.7.4. Collapsing and Expanding Sections of a Patch</A
+>6.8.4. Collapsing and Expanding Sections of a Patch</A
 ></H2
 ><P
 >To view only a certain set of files in a patch (for example, if a
@@ -195,7 +193,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="patchviewer_link"
->5.7.5. Linking to a Section of a Patch</A
+>6.8.5. Linking to a Section of a Patch</A
 ></H2
 ><P
 >To link to a section of a patch (for example, if you want to be
@@ -210,7 +208,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="patchviewer_bonsai_lxr"
->5.7.6. Going to Bonsai and LXR</A
+>6.8.6. Going to Bonsai and LXR</A
 ></H2
 ><P
 >To go to Bonsai to get blame for the lines you are interested in,
@@ -228,7 +226,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="patchviewer_unified_diff"
->5.7.7. Creating a Unified Diff</A
+>6.8.7. Creating a Unified Diff</A
 ></H2
 ><P
 >If the patch is not in a format that you like, you can turn it
diff --git a/docs/html/products.html b/docs/html/products.html
index 4213fec4a677f9f8183ef5168133a133ec9229aa..c56fa3cfcfcb80a25537bfd5ee8b5f5a86884ad5 100644
--- a/docs/html/products.html
+++ b/docs/html/products.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Administering Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
diff --git a/docs/html/query.html b/docs/html/query.html
index 6f668b6d0aff905d13a63ea9c42498add4f56b90..2f9988f26840ad69f2060a0b11a999e8e4af89d3 100644
--- a/docs/html/query.html
+++ b/docs/html/query.html
@@ -7,15 +7,14 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Using Bugzilla"
 HREF="using.html"><LINK
 REL="PREVIOUS"
-TITLE="Anatomy of a Bug"
-HREF="bug_page.html"><LINK
+TITLE="Life Cycle of a Bug"
+HREF="lifecycle.html"><LINK
 REL="NEXT"
 TITLE="Bug Lists"
 HREF="list.html"></HEAD
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -47,7 +45,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="bug_page.html"
+HREF="lifecycle.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Chapter 5. Using Bugzilla</TD
+>Chapter 6. Using Bugzilla</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
@@ -76,16 +74,16 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="query"
->5.4. Searching for Bugs</A
+>6.5. Searching for Bugs</A
 ></H1
 ><P
 >The Bugzilla Search page is is the interface where you can find
     any bug report, comment, or patch currently in the Bugzilla system. You
     can play with it here: 
     <A
-HREF="http://landfill.bugzilla.org/bugzilla-tip/query.cgi"
+HREF="http://landfill.bugzilla.org/bugzilla-2.18-branch/query.cgi"
 TARGET="_top"
->http://landfill.bugzilla.org/bugzilla-tip/query.cgi</A
+>http://landfill.bugzilla.org/bugzilla-2.18-branch/query.cgi</A
 >.</P
 ><P
 >The Search page has controls for selecting different possible
@@ -116,7 +114,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="bug_page.html"
+HREF="lifecycle.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -144,7 +142,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Anatomy of a Bug</TD
+>Life Cycle of a Bug</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
diff --git a/docs/html/quips.html b/docs/html/quips.html
new file mode 100644
index 0000000000000000000000000000000000000000..1b7ac2428b612487a2a91f78bf038bf631090423
--- /dev/null
+++ b/docs/html/quips.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Quips</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Administering Bugzilla"
+HREF="administration.html"><LINK
+REL="PREVIOUS"
+TITLE="Voting"
+HREF="voting.html"><LINK
+REL="NEXT"
+TITLE="Groups and Group Security"
+HREF="groups.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="voting.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 3. Administering Bugzilla</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="groups.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="quips"
+>3.9. Quips</A
+></H1
+><P
+>&#13;      Quips are small text messages that can be configured to appear
+      next to search results. A Bugzilla installation can have its own specific
+      quips. Whenever a quip needs to be displayed, a random selection
+      is made from the pool of already existing quips.
+    </P
+><P
+>&#13;      Quips are controlled by the <EM
+>enablequips</EM
+> parameter.
+      It has several possible values: on, approved, frozen or off.
+      In order to enable quips approval you need to set this parameter
+      to "approved". In this way, users are free to submit quips for
+      addition but an administrator must explicitly approve them before
+      they are actually used.
+    </P
+><P
+>&#13;      In order to see the user interface for the quips, it is enough to click
+      on a quip when it is displayed together with the search results. Or
+      it can be seen directly in the browser by visiting the quips.cgi URL
+      (prefixed with the usual web location of the Bugzilla installation).
+      Once the quip interface is displayed, it is enough to click the
+      "view and edit the whole quip list" in order to see the administration
+      page. A page with all the quips available in the database will
+      be displayed.
+    </P
+><P
+>&#13;      Next to each tip there is a checkbox, under the
+      "Approved" column. Quips who have this checkbox checked are
+      already approved and will appear next to the search results.
+      The ones that have it unchecked are still preserved in the
+      database but they will not appear on search results pages.
+      User submitted quips have initially the checkbox unchecked.
+    </P
+><P
+>&#13;      Also, there is a delete link next to each quip,
+      which can be used in order to permanently delete a quip.
+    </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="voting.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="groups.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Voting</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="administration.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Groups and Group Security</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/reporting.html b/docs/html/reporting.html
index 2c0b83c3348e0758292cdb89def8f917ecb72006..7d5bc4a178ef809bc10cd23913f39be076c78f63 100644
--- a/docs/html/reporting.html
+++ b/docs/html/reporting.html
@@ -2,13 +2,12 @@
 <HTML
 ><HEAD
 ><TITLE
->Reports</TITLE
+>Reports and Charts</TITLE
 ><META
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Using Bugzilla"
@@ -17,8 +16,8 @@ REL="PREVIOUS"
 TITLE="User Preferences"
 HREF="userpreferences.html"><LINK
 REL="NEXT"
-TITLE="The Bugzilla FAQ"
-HREF="faq.html"></HEAD
+TITLE="Flags"
+HREF="flags.html"></HEAD
 ><BODY
 CLASS="section"
 BGCOLOR="#FFFFFF"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,13 +53,13 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Chapter 5. Using Bugzilla</TD
+>Chapter 6. Using Bugzilla</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="faq.html"
+HREF="flags.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -76,12 +74,181 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="reporting"
->5.10. Reports</A
+>6.11. Reports and Charts</A
 ></H1
 ><P
-><EM
->To be written</EM
+>As well as the standard buglist, Bugzilla has two more ways of
+    viewing sets of bugs. These are the reports (which give different
+    views of the current state of the database) and charts (which plot
+    the changes in particular sets of bugs over time.)</P
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="reports"
+>6.11.1. Reports</A
+></H2
+><P
+>&#13;        A report is a view of the current state of the bug database.
+      </P
+><P
+>&#13;        You can run either an HTML-table-based report, or a graphical
+        line/pie/bar-chart-based one. The two have different pages to
+        define them, but are close cousins - once you've defined and
+        viewed a report, you can switch between any of the different
+        views of the data at will.
+      </P
+><P
+>&#13;        Both report types are based on the idea of defining a set of bugs
+        using the standard search interface, and then choosing some
+        aspect of that set to plot on the horizontal and/or vertical axes.
+        You can also get a form of 3-dimensional report by choosing to have
+        multiple images or tables.
+      </P
+><P
+>&#13;        So, for example, you could use the search form to choose "all
+        bugs in the WorldControl product", and then plot their severity
+        against their component to see which component had had the largest
+        number of bad bugs reported against it. 
+      </P
+><P
+>&#13;        Once you've defined your parameters and hit "Generate Report",
+        you can switch between HTML, CSV, Bar, Line and Pie. (Note: Pie
+        is only available if you didn't define a vertical axis, as pie
+        charts don't have one.) The other controls are fairly self-explanatory;
+        you can change the size of the image if you find text is overwriting
+        other text, or the bars are too thin to see.
+      </P
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="charts"
+>6.11.2. Charts</A
+></H2
+><P
+>&#13;        A chart is a view of the state of the bug database over time.
+      </P
+><P
+>&#13;        Bugzilla currently has two charting systems - Old Charts and New 
+        Charts. Old Charts have been part of Bugzilla for a long time; they
+        chart each status and resolution for each product, and that's all.
+        They are deprecated, and going away soon - we won't say any more 
+        about them.
+        New Charts are the future - they allow you to chart anything you
+        can define as a search.
+      </P
+><DIV
+CLASS="note"
+><P
 ></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          Both charting forms require the administrator to set up the
+          data-gathering script. If you can't see any charts, ask them whether
+          they have done so.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;        An individual line on a chart is called a data set.
+        All data sets are organised into categories and subcategories. The 
+        data sets that Bugzilla defines automatically use the Product name 
+        as a Category and Component names as Subcategories, but there is no 
+        need for you to follow that naming scheme with your own charts if 
+        you don't want to.
+      </P
+><P
+>&#13;        Data sets may be public or private. Everyone sees public data sets in
+        the list, but only their creator sees private data sets. Only 
+        administrators can make data sets public.
+        No two data sets, even two private ones, can have the same set of 
+        category, subcategory and name. So if you are creating private data 
+        sets, one idea is to have the Category be your username.
+      </P
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="AEN2314"
+>6.11.2.1. Creating Charts</A
+></H3
+><P
+>&#13;          You create a chart by selecting a number of data sets from the
+          list, and pressing Add To List for each. In the List Of Data Sets
+          To Plot, you can define the label that data set will have in the
+          chart's legend, and also ask Bugzilla to Sum a number of data sets 
+          (e.g. you could Sum data sets representing RESOLVED, VERIFIED and 
+          CLOSED in a particular product to get a data set representing all 
+          the resolved bugs in that product.)
+        </P
+><P
+>&#13;          If you've erroneously added a data set to the list, select it
+          using the checkbox and click Remove. Once you add more than one 
+          data set, a "Grand Total" line
+          automatically appears at the bottom of the list. If you don't want
+          this, simply remove it as you would remove any other line.
+        </P
+><P
+>&#13;          You may also choose to plot only over a certain date range, and
+          to cumulate the results - that is, to plot each one using the 
+          previous one as a baseline, so the top line gives a sum of all 
+          the data sets. It's easier to try than to explain :-)
+        </P
+><P
+>&#13;          Once a data set is in the list, one can also perform certain 
+          actions on it. For example, one can edit the
+          data set's parameters (name, frequency etc.) if it's one you
+          created or if you are an administrator.
+        </P
+><P
+>&#13;           Once you are happy, click Chart This List to see the chart.
+        </P
+></DIV
+><DIV
+CLASS="section"
+><H3
+CLASS="section"
+><A
+NAME="AEN2321"
+>6.11.2.2. Creating New Data Sets</A
+></H3
+><P
+>&#13;          You may also create new data sets of your own. To do this,
+          click the "create a new data set" link on the Create Chart page.
+          This takes you to a search-like interface where you can define
+          the search that Bugzilla will plot. At the bottom of the page,
+          you choose the category, sub-category and name of your new
+          data set. 
+        </P
+><P
+>&#13;          If you have sufficient permissions, you can make the data set public,
+          and reduce the frequency of data collection to less than the default
+          seven days.
+        </P
+></DIV
+></DIV
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
@@ -117,7 +284,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="faq.html"
+HREF="flags.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -141,7 +308,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->The Bugzilla FAQ</TD
+>Flags</TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/docs/html/security-bugzilla.html b/docs/html/security-bugzilla.html
new file mode 100644
index 0000000000000000000000000000000000000000..aa8f5fad68a9e0332cbfae4070b9f345d1019d31
--- /dev/null
+++ b/docs/html/security-bugzilla.html
@@ -0,0 +1,222 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Bugzilla</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Bugzilla Security"
+HREF="security.html"><LINK
+REL="PREVIOUS"
+TITLE="Webserver"
+HREF="security-webserver.html"><LINK
+REL="NEXT"
+TITLE="Customising Bugzilla"
+HREF="customization.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="security-webserver.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Bugzilla Security</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="customization.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="security-bugzilla"
+>4.4. Bugzilla</A
+></H1
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="security-bugzilla-charset"
+>4.4.1. Prevent users injecting malicious Javascript</A
+></H2
+><P
+>It is possible for a Bugzilla user to take advantage of character
+      set encoding ambiguities to inject HTML into Bugzilla comments. This
+      could include malicious scripts. 
+      Due to internationalization concerns, we are unable to
+      incorporate by default the code changes suggested by 
+      <A
+HREF="http://www.cert.org/tech_tips/malicious_code_mitigation.html#3"
+TARGET="_top"
+>the
+      CERT advisory</A
+> on this issue.
+      If your installation is for an English speaking audience only, making the
+      change in <A
+HREF="security-bugzilla.html#security-bugzilla-charset-ex"
+>Example 4-4</A
+> will prevent
+      this problem. 
+      </P
+><DIV
+CLASS="example"
+><A
+NAME="security-bugzilla-charset-ex"
+></A
+><P
+><B
+>Example 4-4. Forcing Bugzilla to output a charset</B
+></P
+><P
+>Locate the following line in
+        <TT
+CLASS="filename"
+>Bugzilla/CGI.pm</TT
+>:
+        <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>$self-&#62;charset('');</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+        and change it to:
+        <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>$self-&#62;charset('ISO-8859-1');</PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+        </P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="security-webserver.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="customization.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Webserver</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="security.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Customising Bugzilla</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/security-mysql.html b/docs/html/security-mysql.html
new file mode 100644
index 0000000000000000000000000000000000000000..db0dc8e0c23eb9990781a251844f197a0f6ecd9e
--- /dev/null
+++ b/docs/html/security-mysql.html
@@ -0,0 +1,367 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>MySQL</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Bugzilla Security"
+HREF="security.html"><LINK
+REL="PREVIOUS"
+TITLE="Operating System"
+HREF="security-os.html"><LINK
+REL="NEXT"
+TITLE="Webserver"
+HREF="security-webserver.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="security-os.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Bugzilla Security</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="security-webserver.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="security-mysql"
+>4.2. MySQL</A
+></H1
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="security-mysql-account"
+>4.2.1. The MySQL System Account</A
+></H2
+><P
+>As mentioned in <A
+HREF="security-os.html#security-os-accounts"
+>Section 4.1.2</A
+>, the MySQL
+      daemon should run as a non-privleged, unique user. Be sure to consult
+      the MySQL documentation or the documentation that came with your system
+      for instructions.
+      </P
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="security-mysql-root"
+>4.2.2. The MySQL <SPAN
+CLASS="QUOTE"
+>"root"</SPAN
+> and <SPAN
+CLASS="QUOTE"
+>"anonymous"</SPAN
+> Users</A
+></H2
+><P
+>By default, MySQL comes with a <SPAN
+CLASS="QUOTE"
+>"root"</SPAN
+> user with a
+      blank password and an <SPAN
+CLASS="QUOTE"
+>"anonymous"</SPAN
+> user, also with a blank
+      password. In order to protect your data, the <SPAN
+CLASS="QUOTE"
+>"root"</SPAN
+> user
+      should be given a password and the anonymous user should be disabled.
+      </P
+><DIV
+CLASS="example"
+><A
+NAME="security-mysql-account-root"
+></A
+><P
+><B
+>Example 4-1. Assigning the MySQL <SPAN
+CLASS="QUOTE"
+>"root"</SPAN
+> User a Password</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;<SAMP
+CLASS="prompt"
+>bash$</SAMP
+> mysql mysql
+<SAMP
+CLASS="prompt"
+>mysql&#62;</SAMP
+> UPDATE user SET password = password('<VAR
+CLASS="replaceable"
+>new_password</VAR
+>') WHERE user = 'root';
+<SAMP
+CLASS="prompt"
+>mysql&#62;</SAMP
+> FLUSH PRIVILEGES;
+        </PRE
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="example"
+><A
+NAME="security-mysql-account-anonymous"
+></A
+><P
+><B
+>Example 4-2. Disabling the MySQL <SPAN
+CLASS="QUOTE"
+>"anonymous"</SPAN
+> User</B
+></P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;<SAMP
+CLASS="prompt"
+>bash$</SAMP
+> mysql -u root -p mysql           <A
+NAME="security-mysql-account-anonymous-mysql"
+><IMG
+SRC="../images/callouts/1.gif"
+HSPACE="0"
+VSPACE="0"
+BORDER="0"
+ALT="(1)"></A
+>
+<SAMP
+CLASS="prompt"
+>Enter Password:</SAMP
+> <VAR
+CLASS="replaceable"
+>new_password</VAR
+>
+<SAMP
+CLASS="prompt"
+>mysql&#62;</SAMP
+> DELETE FROM user WHERE user = '';
+<SAMP
+CLASS="prompt"
+>mysql&#62;</SAMP
+> FLUSH PRIVILEGES;
+        </PRE
+></FONT
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="calloutlist"
+><DL
+COMPACT="COMPACT"
+><DT
+><A
+HREF="security-mysql.html#security-mysql-account-anonymous-mysql"
+><IMG
+SRC="../images/callouts/1.gif"
+HSPACE="0"
+VSPACE="0"
+BORDER="0"
+ALT="(1)"></A
+></DT
+><DD
+>This command assumes that you have already completed
+            <A
+HREF="security-mysql.html#security-mysql-account-root"
+>Example 4-1</A
+>.
+            </DD
+></DL
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="security-mysql-network"
+>4.2.3. Network Access</A
+></H2
+><P
+>If MySQL and your webserver both run on the same machine and you
+      have no other reason to access MySQL remotely, then you should disable
+      the network access. This, along with the suggestion in
+      <A
+HREF="security-os.html#security-os-ports"
+>Section 4.1.1</A
+>, will help protect your system from
+      any remote vulnerabilites in MySQL.
+      </P
+><DIV
+CLASS="example"
+><A
+NAME="security-mysql-network-ex"
+></A
+><P
+><B
+>Example 4-3. Disabling Networking in MySQL</B
+></P
+><P
+>Simply enter the following in <TT
+CLASS="filename"
+>/etc/my.conf</TT
+>:
+        <TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="screen"
+>&#13;[myslqd]
+# Prevent network access to MySQL.
+skip-networking
+        </PRE
+></FONT
+></TD
+></TR
+></TABLE
+>
+        </P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="security-os.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="security-webserver.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Operating System</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="security.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Webserver</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/security-os.html b/docs/html/security-os.html
new file mode 100644
index 0000000000000000000000000000000000000000..adf377748549519981c5aa65a15befb3ece9420a
--- /dev/null
+++ b/docs/html/security-os.html
@@ -0,0 +1,290 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Operating System</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Bugzilla Security"
+HREF="security.html"><LINK
+REL="PREVIOUS"
+TITLE="Bugzilla Security"
+HREF="security.html"><LINK
+REL="NEXT"
+TITLE="MySQL"
+HREF="security-mysql.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="security.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Bugzilla Security</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="security-mysql.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="security-os"
+>4.1. Operating System</A
+></H1
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="security-os-ports"
+>4.1.1. TCP/IP Ports</A
+></H2
+><P
+>The TCP/IP standard defines more than 65,000 ports for sending
+      and receiving traffic. Of those, Bugzilla needs exactly one to operate
+      (different configurations and options may require up to 3). You should
+      audit your server and make sure that you aren't listening on any ports
+      you don't need to be. It's also highly recommended that the server
+      Bugzilla resides on, along with any other machines you administer, be
+      placed behind some kind of firewall.
+      </P
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="security-os-accounts"
+>4.1.2. System User Accounts</A
+></H2
+><P
+>Many <A
+HREF="glossary.html#gloss-daemon"
+><I
+CLASS="glossterm"
+>daemons</I
+></A
+>, such
+      as Apache's <TT
+CLASS="filename"
+>httpd</TT
+> or MySQL's
+      <TT
+CLASS="filename"
+>mysqld</TT
+>, run as either <SPAN
+CLASS="QUOTE"
+>"root"</SPAN
+> or
+      <SPAN
+CLASS="QUOTE"
+>"nobody"</SPAN
+>. This is even worse on Windows machines where the
+      majority of <A
+HREF="glossary.html#gloss-service"
+><I
+CLASS="glossterm"
+>services</I
+></A
+>
+      run as <SPAN
+CLASS="QUOTE"
+>"SYSTEM"</SPAN
+>. While running as <SPAN
+CLASS="QUOTE"
+>"root"</SPAN
+> or
+      <SPAN
+CLASS="QUOTE"
+>"SYSTEM"</SPAN
+> introduces obvious security concerns, the
+      problems introduced by running everything as <SPAN
+CLASS="QUOTE"
+>"nobody"</SPAN
+> may
+      not be so obvious. Basically, if you run every daemon as
+      <SPAN
+CLASS="QUOTE"
+>"nobody"</SPAN
+> and one of them gets comprimised it can
+      comprimise every other daemon running as <SPAN
+CLASS="QUOTE"
+>"nobody"</SPAN
+> on your
+      machine. For this reason, it is recommended that you create a user
+      account for each daemon.
+      </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>You will need to set the <VAR
+CLASS="option"
+>webservergroup</VAR
+> option
+        in <TT
+CLASS="filename"
+>localconfig</TT
+> to the group your webserver runs
+        as. This will allow <TT
+CLASS="filename"
+>./checksetup.pl</TT
+> to set file
+        permissions on Unix systems so that nothing is world-writable.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="security-os-chroot"
+>4.1.3. The <TT
+CLASS="filename"
+>chroot</TT
+> Jail</A
+></H2
+><P
+>If your system supports it, you may wish to consider running
+      Bugzilla inside of a <TT
+CLASS="filename"
+>chroot</TT
+> jail. This option
+      provides unpresidented security by restricting anything running
+      inside the jail from accessing any information outside of it. If you
+      wish to use this option, please consult the documentation that came
+      with your system.
+      </P
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="security.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="security-mysql.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Bugzilla Security</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="security.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>MySQL</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/security-webserver.html b/docs/html/security-webserver.html
new file mode 100644
index 0000000000000000000000000000000000000000..d4cf8e62f3adb7d649b4845f2dd1bf4ec879301a
--- /dev/null
+++ b/docs/html/security-webserver.html
@@ -0,0 +1,529 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Webserver</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Bugzilla Security"
+HREF="security.html"><LINK
+REL="PREVIOUS"
+TITLE="MySQL"
+HREF="security-mysql.html"><LINK
+REL="NEXT"
+TITLE="Bugzilla"
+HREF="security-bugzilla.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="security-mysql.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Bugzilla Security</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="security-bugzilla.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="security-webserver"
+>4.3. Webserver</A
+></H1
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="security-webserver-access"
+>4.3.1. Disabling Remote Access to Bugzilla Configuration Files</A
+></H2
+><P
+>There are many files that are placed in the Bugzilla directory
+      area that should not be accessable from the web. Because of the way
+      Bugzilla is currently layed out, the list of what should and should not
+      be accessible is rather complicated. A new installation method is
+      currently in the works which should solve this by allowing files that
+      shouldn't be accessible from the web to be placed in a directory outside
+      the webroot. See 
+      <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=44659"
+TARGET="_top"
+>bug 44659</A
+>
+      for more information.
+      </P
+><DIV
+CLASS="tip"
+><P
+></P
+><TABLE
+CLASS="tip"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/tip.gif"
+HSPACE="5"
+ALT="Tip"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>Bugzilla ships with the ability to create
+        <A
+HREF="glossary.html#gloss-htaccess"
+><I
+CLASS="glossterm"
+><TT
+CLASS="filename"
+>.htaccess</TT
+></I
+></A
+>
+        files that enforce these rules. Instructions for enabling these
+        directives in Apache can be found in <A
+HREF="configuration.html#http-apache"
+>Section 2.2.4.1</A
+>
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+></P
+><UL
+COMPACT="COMPACT"
+><LI
+><P
+>In the main Bugzilla directory, you should:</P
+><P
+></P
+><UL
+COMPACT="COMPACT"
+><LI
+><P
+>Block:
+              <TT
+CLASS="filename"
+>*.pl</TT
+>, <TT
+CLASS="filename"
+>*localconfig*</TT
+>, <TT
+CLASS="filename"
+>runtests.sh</TT
+>
+              </P
+></LI
+><LI
+><P
+>But allow:
+              <TT
+CLASS="filename"
+>localconfig.js</TT
+>, <TT
+CLASS="filename"
+>localconfig.rdf</TT
+>
+              </P
+></LI
+></UL
+></LI
+><LI
+><P
+>In <TT
+CLASS="filename"
+>data</TT
+>:</P
+><P
+></P
+><UL
+COMPACT="COMPACT"
+><LI
+><P
+>Block everything</P
+></LI
+><LI
+><P
+>But allow:
+              <TT
+CLASS="filename"
+>duplicates.rdf</TT
+>
+              </P
+></LI
+></UL
+></LI
+><LI
+><P
+>In <TT
+CLASS="filename"
+>data/webdot</TT
+>:</P
+><P
+></P
+><UL
+COMPACT="COMPACT"
+><LI
+><P
+>If you use a remote webdot server:</P
+><P
+></P
+><UL
+COMPACT="COMPACT"
+><LI
+><P
+>Block everything</P
+></LI
+><LI
+><P
+>But allow
+                  <TT
+CLASS="filename"
+>*.dot</TT
+>
+                  only for the remote webdot server</P
+></LI
+></UL
+></LI
+><LI
+><P
+>Otherwise, if you use a local GraphViz:</P
+><P
+></P
+><UL
+COMPACT="COMPACT"
+><LI
+><P
+>Block everything</P
+></LI
+><LI
+><P
+>But allow:
+                  <TT
+CLASS="filename"
+>*.png</TT
+>, <TT
+CLASS="filename"
+>*.gif</TT
+>, <TT
+CLASS="filename"
+>*.jpg</TT
+>, <TT
+CLASS="filename"
+>*.map</TT
+>
+                  </P
+></LI
+></UL
+></LI
+><LI
+><P
+>And if you don't use any dot:</P
+><P
+></P
+><UL
+COMPACT="COMPACT"
+><LI
+><P
+>Block everything</P
+></LI
+></UL
+></LI
+></UL
+></LI
+><LI
+><P
+>In <TT
+CLASS="filename"
+>Bugzilla</TT
+>:</P
+><P
+></P
+><UL
+COMPACT="COMPACT"
+><LI
+><P
+>Block everything</P
+></LI
+></UL
+></LI
+><LI
+><P
+>In <TT
+CLASS="filename"
+>template</TT
+>:</P
+><P
+></P
+><UL
+COMPACT="COMPACT"
+><LI
+><P
+>Block everything</P
+></LI
+></UL
+></LI
+></UL
+><P
+>Be sure to test that data that should not be accessed remotely is
+      properly blocked. Of particular intrest is the localconfig file which
+      contains your database password. Also, be aware that many editors
+      create temporary and backup files in the working directory and that
+      those should also not be accessable. For more information, see 
+      <A
+HREF="http://bugzilla.mozilla.org/show_bug.cgi?id=186383"
+TARGET="_top"
+>bug 186383</A
+>
+      or
+      <A
+HREF="http://online.securityfocus.com/bid/6501"
+TARGET="_top"
+>Bugtraq ID 6501</A
+>.
+      To test, simply point your web browser at the file; for example, to
+      test mozilla.org's installation, we'd try to access
+      <A
+HREF="http://bugzilla.mozilla.org/localconfig"
+TARGET="_top"
+>http://bugzilla.mozilla.org/localconfig</A
+>. You should get
+      a <SPAN
+CLASS="QUOTE"
+>"<SPAN
+CLASS="errorcode"
+>403</SPAN
+> <SPAN
+CLASS="errorname"
+>Forbidden</SPAN
+>"</SPAN
+>
+      error.
+      </P
+><DIV
+CLASS="tip"
+><P
+></P
+><TABLE
+CLASS="tip"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/tip.gif"
+HSPACE="5"
+ALT="Tip"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>Be sure to check <A
+HREF="configuration.html#http"
+>Section 2.2.4</A
+> for instructions
+        specific to the webserver you use.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+></DIV
+><DIV
+CLASS="section"
+><H2
+CLASS="section"
+><A
+NAME="security-webserver-mod-throttle"
+>4.3.2. Using <TT
+CLASS="filename"
+>mod_throttle</TT
+> to Prevent a DOS</A
+></H2
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>This section only applies to people who have chosen the Apache
+        webserver. It may be possible to do similar things with other
+        webservers. Consult the documentation that came with your webserver
+        to find out.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>It is possible for a user, by mistake or on purpose, to access
+      the database many times in a row which can result in very slow access
+      speeds for other users (effectively, a
+      <A
+HREF="glossary.html#gloss-dos"
+><I
+CLASS="glossterm"
+>DOS</I
+></A
+> attack). If your
+      Bugzilla installation is experiencing this problem, you may install
+      the Apache module <TT
+CLASS="filename"
+>mod_throttle</TT
+> which can limit
+      connections by IP address. You may download this module at 
+      <A
+HREF="http://www.snert.com/Software/mod_throttle/"
+TARGET="_top"
+>http://www.snert.com/Software/mod_throttle/</A
+>.
+      Follow the instructions to install into your Apache install. 
+      The command you need is 
+      <B
+CLASS="command"
+>ThrottleClientIP</B
+>. See the 
+      <A
+HREF="http://www.snert.com/Software/mod_throttle/"
+TARGET="_top"
+>documentation</A
+>
+      for more information.</P
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="security-mysql.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="security-bugzilla.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>MySQL</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="security.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Bugzilla</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/security.html b/docs/html/security.html
new file mode 100644
index 0000000000000000000000000000000000000000..787007c5f5a9f12460bd6a185fa068c75b1b1809
--- /dev/null
+++ b/docs/html/security.html
@@ -0,0 +1,246 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Bugzilla Security</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="PREVIOUS"
+TITLE="Upgrading to New Releases"
+HREF="upgrading.html"><LINK
+REL="NEXT"
+TITLE="Operating System"
+HREF="security-os.html"></HEAD
+><BODY
+CLASS="chapter"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="upgrading.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="security-os.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="chapter"
+><H1
+><A
+NAME="security"
+></A
+>Chapter 4. Bugzilla Security</H1
+><DIV
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+>4.1. <A
+HREF="security-os.html"
+>Operating System</A
+></DT
+><DD
+><DL
+><DT
+>4.1.1. <A
+HREF="security-os.html#security-os-ports"
+>TCP/IP Ports</A
+></DT
+><DT
+>4.1.2. <A
+HREF="security-os.html#security-os-accounts"
+>System User Accounts</A
+></DT
+><DT
+>4.1.3. <A
+HREF="security-os.html#security-os-chroot"
+>The <TT
+CLASS="filename"
+>chroot</TT
+> Jail</A
+></DT
+></DL
+></DD
+><DT
+>4.2. <A
+HREF="security-mysql.html"
+>MySQL</A
+></DT
+><DD
+><DL
+><DT
+>4.2.1. <A
+HREF="security-mysql.html#security-mysql-account"
+>The MySQL System Account</A
+></DT
+><DT
+>4.2.2. <A
+HREF="security-mysql.html#security-mysql-root"
+>The MySQL <SPAN
+CLASS="QUOTE"
+>"root"</SPAN
+> and <SPAN
+CLASS="QUOTE"
+>"anonymous"</SPAN
+> Users</A
+></DT
+><DT
+>4.2.3. <A
+HREF="security-mysql.html#security-mysql-network"
+>Network Access</A
+></DT
+></DL
+></DD
+><DT
+>4.3. <A
+HREF="security-webserver.html"
+>Webserver</A
+></DT
+><DD
+><DL
+><DT
+>4.3.1. <A
+HREF="security-webserver.html#security-webserver-access"
+>Disabling Remote Access to Bugzilla Configuration Files</A
+></DT
+><DT
+>4.3.2. <A
+HREF="security-webserver.html#security-webserver-mod-throttle"
+>Using <TT
+CLASS="filename"
+>mod_throttle</TT
+> to Prevent a DOS</A
+></DT
+></DL
+></DD
+><DT
+>4.4. <A
+HREF="security-bugzilla.html"
+>Bugzilla</A
+></DT
+></DL
+></DIV
+><P
+>While some of the items in this chapter are related to the operating
+  system Bugzilla is running on or some of the support software required to
+  run Bugzilla, it is all related to protecting your data. This is not
+  intended to be a comprehensive guide to securing Linux, Apache, MySQL, or
+  any other piece of software mentioned. There is no substitute for active
+  administration and monitoring of a machine. The key to good security is
+  actually right in the middle of the word: <EM
+>U R It</EM
+>.
+  </P
+><P
+>While programmers in general always strive to write secure code,
+  accidents can and do happen. The best approach to security is to always
+  assume that the program you are working with isn't 100% secure and restrict
+  its access to other parts of your machine as much as possible.
+  </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="upgrading.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="security-os.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Upgrading to New Releases</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Operating System</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/trbl-index.html b/docs/html/trbl-index.html
new file mode 100644
index 0000000000000000000000000000000000000000..dfe8a80786ace764a46c0afaa90ee18d1f320960
--- /dev/null
+++ b/docs/html/trbl-index.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>index.cgi doesn't show up unless specified in the URL</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Troubleshooting"
+HREF="troubleshooting.html"><LINK
+REL="PREVIOUS"
+TITLE="Some users are constantly being forced to relogin"
+HREF="x2944.html"><LINK
+REL="NEXT"
+TITLE="Contrib"
+HREF="patches.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2944.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Appendix B. Troubleshooting</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="patches.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="trbl-index"
+>B.10. <TT
+CLASS="filename"
+>index.cgi</TT
+> doesn't show up unless specified in the URL</A
+></H1
+><P
+>&#13;      You probably need to set up your web server in such a way that it
+      will serve the index.cgi page as an index page.
+    </P
+><P
+>&#13;      If you are using Apache, you can do this by adding 
+      <TT
+CLASS="filename"
+>index.cgi</TT
+> to the end of the 
+      <SAMP
+CLASS="computeroutput"
+>DirectoryIndex</SAMP
+> line
+      as mentioned in <A
+HREF="configuration.html#http-apache"
+>Section 2.2.4.1</A
+>.
+    </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2944.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="patches.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Some users are constantly being forced to relogin</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="troubleshooting.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Contrib</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/trbl-relogin-everyone.html b/docs/html/trbl-relogin-everyone.html
new file mode 100644
index 0000000000000000000000000000000000000000..cd040bb5a7b617848d4a5d842ba12136a59cad62
--- /dev/null
+++ b/docs/html/trbl-relogin-everyone.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Everybody is constantly being forced to relogin</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Troubleshooting"
+HREF="troubleshooting.html"><LINK
+REL="PREVIOUS"
+TITLE="Your vendor has not defined Fcntl macro O_NOINHERIT"
+HREF="trouble-filetemp.html"><LINK
+REL="NEXT"
+TITLE="Some users are constantly being forced to relogin"
+HREF="x2944.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="trouble-filetemp.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Appendix B. Troubleshooting</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2944.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="trbl-relogin-everyone"
+>B.8. Everybody is constantly being forced to relogin</A
+></H1
+><P
+>The most-likely cause is that the <SPAN
+CLASS="QUOTE"
+>"cookiepath"</SPAN
+> parameter
+  is not set correctly in the Bugzilla configuration.  You can change this (if
+  you're a Bugzilla administrator) from the editparams.cgi page via the web.
+  </P
+><P
+>The value of the cookiepath parameter should be the actual directory
+  containing your Bugzilla installation, <EM
+>as seen by the end-user's
+  web browser</EM
+>. Leading and trailing slashes are mandatory. You can
+  also set the cookiepath to any directory which is a parent of the Bugzilla
+  directory (such as '/', the root directory). But you can't put something
+  that isn't at least a partial match or it won't work. What you're actually
+  doing is restricting the end-user's browser to sending the cookies back only
+  to that directory.
+  </P
+><P
+>How do you know if you want your specific Bugzilla directory or the
+  whole site?
+  </P
+><P
+>If you have only one Bugzilla running on the server, and you don't
+  mind having other applications on the same server with it being able to see
+  the cookies (you might be doing this on purpose if you have other things on
+  your site that share authentication with Bugzilla), then you'll want to have
+  the cookiepath set to "/", or to a sufficiently-high enough directory that
+  all of the involved apps can see the cookies.
+  </P
+><DIV
+CLASS="example"
+><A
+NAME="trbl-relogin-everyone-share"
+></A
+><P
+><B
+>Example B-1. Examples of urlbase/cookiepath pairs for sharing login cookies</B
+></P
+><A
+NAME="AEN2930"
+></A
+><BLOCKQUOTE
+CLASS="BLOCKQUOTE"
+><P
+CLASS="literallayout"
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;urlbase&nbsp;is&nbsp;<A
+HREF="http://bugzilla.mozilla.org/"
+TARGET="_top"
+>http://bugzilla.mozilla.org/</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cookiepath&nbsp;is&nbsp;/<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;urlbase&nbsp;is&nbsp;<A
+HREF="http://tools.mysite.tld/bugzilla/"
+TARGET="_top"
+>http://tools.mysite.tld/bugzilla/</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;but&nbsp;you&nbsp;have&nbsp;http://tools.mysite.tld/someotherapp/&nbsp;which&nbsp;shares<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;authentication&nbsp;with&nbsp;your&nbsp;Bugzilla<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cookiepath&nbsp;is&nbsp;/<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
+></BLOCKQUOTE
+></DIV
+><P
+>On the other hand, if you have more than one Bugzilla running on the
+   server (some people do - we do on landfill) then you need to have the
+   cookiepath restricted enough so that the different Bugzillas don't
+   confuse their cookies with one another.
+   </P
+><DIV
+CLASS="example"
+><A
+NAME="trbl-relogin-everyone-restrict"
+></A
+><P
+><B
+>Example B-2. Examples of urlbase/cookiepath pairs to restrict the login cookie</B
+></P
+><A
+NAME="AEN2937"
+></A
+><BLOCKQUOTE
+CLASS="BLOCKQUOTE"
+><P
+CLASS="literallayout"
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;urlbase&nbsp;is&nbsp;<A
+HREF="http://landfill.bugzilla.org/bugzilla-tip/"
+TARGET="_top"
+>http://landfill.bugzilla.org/bugzilla-tip/</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cookiepath&nbsp;is&nbsp;/bugzilla-tip/<br>
+<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;urlbase&nbsp;is&nbsp;<A
+HREF="http://landfill.bugzilla.org/bugzilla-2.16-branch/"
+TARGET="_top"
+>http://landfill.bugzilla.org/bugzilla-2.16-branch/</A
+><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cookiepath&nbsp;is&nbsp;/bugzilla-2.16-branch/<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
+></BLOCKQUOTE
+></DIV
+><P
+>If you had cookiepath set to <SPAN
+CLASS="QUOTE"
+>"/"</SPAN
+> at any point in the
+    past and need to set it to something more restrictive
+    (i.e. <SPAN
+CLASS="QUOTE"
+>"/bugzilla/"</SPAN
+>), you can safely do this without
+    requiring users to delete their Bugzilla-related cookies in their
+    browser (this is true starting with 
+    Bugzilla 2.18 and Bugzilla 2.16.5).
+    </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="trouble-filetemp.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2944.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Your vendor has not defined Fcntl macro O_NOINHERIT</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="troubleshooting.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Some users are constantly being forced to relogin</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/trouble-filetemp.html b/docs/html/trouble-filetemp.html
new file mode 100644
index 0000000000000000000000000000000000000000..e1e5035b38e9f72f9196acd79185d49df31f4f92
--- /dev/null
+++ b/docs/html/trouble-filetemp.html
@@ -0,0 +1,216 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Your vendor has not defined Fcntl macro O_NOINHERIT</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Troubleshooting"
+HREF="troubleshooting.html"><LINK
+REL="PREVIOUS"
+TITLE="cannot chdir(/var/spool/mqueue)"
+HREF="paranoid-security.html"><LINK
+REL="NEXT"
+TITLE="Everybody is constantly being forced to relogin"
+HREF="trbl-relogin-everyone.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="paranoid-security.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Appendix B. Troubleshooting</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="trbl-relogin-everyone.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="trouble-filetemp"
+>B.7. Your vendor has not defined Fcntl macro O_NOINHERIT</A
+></H1
+><P
+>This is caused by a bug in the version of
+    <SPAN
+CLASS="productname"
+>File::Temp</SPAN
+> that is distributed with perl
+    5.6.0. Many minor variations of this error have been reported:
+    </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>Your vendor has not defined Fcntl macro O_NOINHERIT, used 
+at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 208.
+
+Your vendor has not defined Fcntl macro O_EXLOCK, used 
+at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 210.
+
+Your vendor has not defined Fcntl macro O_TEMPORARY, used 
+at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233.</PRE
+></FONT
+></TD
+></TR
+></TABLE
+><P
+>Numerous people have reported that upgrading to version 5.6.1
+    or higher solved the problem for them. A less involved fix is to apply
+    the following patch, which is also
+    available as a <A
+HREF="../xml/filetemp.patch"
+TARGET="_top"
+>patch file</A
+>.
+    </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>--- File/Temp.pm.orig   Thu Feb  6 16:26:00 2003
++++ File/Temp.pm        Thu Feb  6 16:26:23 2003
+@@ -205,6 +205,7 @@
+     # eg CGI::Carp
+     local $SIG{__DIE__} = sub {};
+     local $SIG{__WARN__} = sub {};
++    local *CORE::GLOBAL::die = sub {};
+     $bit = &#38;$func();
+     1;
+   };
+@@ -226,6 +227,7 @@
+     # eg CGI::Carp
+     local $SIG{__DIE__} = sub {};
+     local $SIG{__WARN__} = sub {};
++    local *CORE::GLOBAL::die = sub {};
+     $bit = &#38;$func();
+     1;
+   };</PRE
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="paranoid-security.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="trbl-relogin-everyone.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>cannot chdir(/var/spool/mqueue)</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="troubleshooting.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Everybody is constantly being forced to relogin</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/troubleshooting.html b/docs/html/troubleshooting.html
index 9fa623f6363f9534a2c619cd58c804cda60d85f3..5dd81f60d61c3f4ae6c4785d37944740ba348916 100644
--- a/docs/html/troubleshooting.html
+++ b/docs/html/troubleshooting.html
@@ -7,20 +7,16 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
-REL="UP"
-TITLE="Installing Bugzilla"
-HREF="installing-bugzilla.html"><LINK
 REL="PREVIOUS"
-TITLE="OS-Specific Installation Notes"
-HREF="os-specific.html"><LINK
+TITLE="The Bugzilla FAQ"
+HREF="faq.html"><LINK
 REL="NEXT"
-TITLE="Administering Bugzilla"
-HREF="administration.html"></HEAD
+TITLE="General Advice"
+HREF="general-advice.html"></HEAD
 ><BODY
-CLASS="section"
+CLASS="appendix"
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
 LINK="#0000FF"
@@ -38,8 +34,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -47,7 +42,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="os-specific.html"
+HREF="faq.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -55,13 +50,13 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Chapter 2. Installing Bugzilla</TD
+></TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="administration.html"
+HREF="general-advice.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -71,336 +66,83 @@ ACCESSKEY="N"
 ALIGN="LEFT"
 WIDTH="100%"></DIV
 ><DIV
-CLASS="section"
+CLASS="appendix"
 ><H1
-CLASS="section"
 ><A
 NAME="troubleshooting"
->2.5. Troubleshooting</A
-></H1
-><P
->This section gives solutions to common Bugzilla installation
-    problems. If none of the section headings seems to match your
-    problem, read the general advice.
-    </P
-><DIV
-CLASS="section"
-><H2
-CLASS="section"
-><A
-NAME="general-advice"
->2.5.1. General Advice</A
-></H2
-><P
->&#13;        If you can't get <TT
-CLASS="filename"
->checksetup.pl</TT
-> to run to 
-        completion, it normally explains what's wrong and how to fix it.
-        If you can't work it out, or if it's being uncommunicative, post 
-        the errors in the 
-        <A
-HREF="news://news.mozilla.org/netscape.public.mozilla.webtools"
-TARGET="_top"
->netscape.public.mozilla.webtools</A
->
-        newsgroup.
-      </P
-><P
->&#13;        If you have made it all the way through 
-        <A
-HREF="installation.html"
->Section 2.1</A
-> (Installation) and
-        <A
-HREF="configuration.html"
->Section 2.2</A
-> (Configuration) but 
-        accessing the Bugzilla URL doesn't work,
-        the first thing to do is to check your webserver error log. For
-        Apache, this is often located at
-        <TT
-CLASS="filename"
->/etc/logs/httpd/error_log</TT
->. The error messages
-        you see may be self-explanatory enough to enable you to diagnose and
-        fix the problem. If not, see below for some commonly-encountered 
-        errors. If that doesn't help, post the errors to the newsgroup.
-      </P
-></DIV
+></A
+>Appendix B. Troubleshooting</H1
 ><DIV
-CLASS="section"
-><H2
-CLASS="section"
-><A
-NAME="AEN829"
->2.5.2. I installed a Perl module, but 
+CLASS="TOC"
+><DL
+><DT
+><B
+>Table of Contents</B
+></DT
+><DT
+>B.1. <A
+HREF="general-advice.html"
+>General Advice</A
+></DT
+><DT
+>B.2. <A
+HREF="x2868.html"
+>The Apache webserver is not serving Bugzilla pages</A
+></DT
+><DT
+>B.3. <A
+HREF="x2875.html"
+>I installed a Perl module, but 
       <TT
 CLASS="filename"
 >checksetup.pl</TT
 > claims it's not installed!</A
-></H2
-><P
->&#13;        You have two versions of Perl on your machine. You are installing
-        modules into one, and Bugzilla is using the other. Rerun the CPAN
-        commands (or manual compile) using the full path to Perl from the 
-        top of <TT
-CLASS="filename"
->checksetup.pl</TT
->. This will make sure you 
-        are installing the modules in the right place.
-      </P
-></DIV
-><DIV
-CLASS="section"
-><H2
-CLASS="section"
-><A
-NAME="AEN834"
->2.5.3. Bundle::Bugzilla makes me upgrade to Perl 5.6.1</A
-></H2
-><P
->&#13;      Try executing <B
-CLASS="command"
->perl -MCPAN -e 'install CPAN'</B
->
-      and then continuing.
-      </P
-><P
->&#13;      Certain older versions of the CPAN toolset were somewhat naive about how
-      to upgrade Perl modules. When a couple of modules got rolled into the core
-      Perl distribution for 5.6.1, CPAN thought that the best way to get those
-      modules up to date was to haul down the Perl distribution itself and
-      build it. Needless to say, this has caused headaches for just about
-      everybody. Upgrading to a newer version of CPAN with the
-      commandline above should fix things.
-      </P
-></DIV
-><DIV
-CLASS="section"
-><H2
-CLASS="section"
-><A
-NAME="AEN839"
->2.5.4. DBD::Sponge::db prepare failed</A
-></H2
-><P
->&#13;        The following error message may appear due to a bug in DBD::mysql
-        (over which the Bugzilla team have no control):
-      </P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
-> DBD::Sponge::db prepare failed: Cannot determine NUM_OF_FIELDS at D:/Perl/site/lib/DBD/mysql.pm line 248.
-  SV = NULL(0x0) at 0x20fc444
-  REFCNT = 1
-  FLAGS = (PADBUSY,PADMY)
-</PRE
-></FONT
-></TD
-></TR
-></TABLE
-><P
->&#13;        To fix this, go to 
-        <TT
-CLASS="filename"
->&#60;path-to-perl&#62;/lib/DBD/sponge.pm</TT
-> 
-        in your Perl installation and replace
-      </P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
-> my $numFields;
- if ($attribs-&#62;{'NUM_OF_FIELDS'}) {
-     $numFields = $attribs-&#62;{'NUM_OF_FIELDS'};
- } elsif ($attribs-&#62;{'NAME'}) {
-     $numFields = @{$attribs-&#62;{NAME}};
-</PRE
-></FONT
-></TD
-></TR
-></TABLE
-><P
->&#13;        by
-      </P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
-> my $numFields;
- if ($attribs-&#62;{'NUM_OF_FIELDS'}) {
-     $numFields = $attribs-&#62;{'NUM_OF_FIELDS'};
- } elsif ($attribs-&#62;{'NAMES'}) {
-     $numFields = @{$attribs-&#62;{NAMES}};
-</PRE
-></FONT
-></TD
-></TR
-></TABLE
-><P
->&#13;        (note the S added to NAME.)      
-      </P
-></DIV
-><DIV
-CLASS="section"
-><H2
-CLASS="section"
-><A
-NAME="paranoid-security"
->2.5.5. cannot chdir(/var/spool/mqueue)</A
-></H2
-><P
->If you are installing Bugzilla on SuSE Linux, or some other
-      distributions with 
-      <SPAN
-CLASS="QUOTE"
->"paranoid"</SPAN
->
-      security options, it is possible that the checksetup.pl script may fail
-      with the error: 
-<TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->cannot chdir(/var/spool/mqueue): Permission denied
-</PRE
-></FONT
-></TD
-></TR
-></TABLE
->
-      </P
-><P
->&#13;      This is because your 
-      <TT
+></DT
+><DT
+>B.4. <A
+HREF="x2885.html"
+>Bundle::Bugzilla makes me upgrade to Perl 5.6.1</A
+></DT
+><DT
+>B.5. <A
+HREF="x2890.html"
+>DBD::Sponge::db prepare failed</A
+></DT
+><DT
+>B.6. <A
+HREF="paranoid-security.html"
+>cannot chdir(/var/spool/mqueue)</A
+></DT
+><DT
+>B.7. <A
+HREF="trouble-filetemp.html"
+>Your vendor has not defined Fcntl macro O_NOINHERIT</A
+></DT
+><DT
+>B.8. <A
+HREF="trbl-relogin-everyone.html"
+>Everybody is constantly being forced to relogin</A
+></DT
+><DT
+>B.9. <A
+HREF="x2944.html"
+>Some users are constantly being forced to relogin</A
+></DT
+><DT
+>B.10. <A
+HREF="trbl-index.html"
+><TT
 CLASS="filename"
->/var/spool/mqueue</TT
->
-      directory has a mode of 
-      <SPAN
-CLASS="QUOTE"
->"drwx------"</SPAN
->. Type 
-      <B
-CLASS="command"
->chmod 755 
-      <TT
-CLASS="filename"
->/var/spool/mqueue</TT
->
-      </B
->
-      as root to fix this problem.
-      </P
+>index.cgi</TT
+> doesn't show up unless specified in the URL</A
+></DT
+></DL
 ></DIV
-><DIV
-CLASS="section"
-><H2
-CLASS="section"
-><A
-NAME="trouble-filetemp"
->2.5.6. Your vendor has not defined Fcntl macro O_NOINHERIT</A
-></H2
 ><P
->This is caused by a bug in the version of
-      <SPAN
-CLASS="productname"
->File::Temp</SPAN
-> that is distributed with perl
-      5.6.0. Many minor variations of this error have been reported:
-      </P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->Your vendor has not defined Fcntl macro O_NOINHERIT, used 
-at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 208.
-
-Your vendor has not defined Fcntl macro O_EXLOCK, used 
-at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 210.
-
-Your vendor has not defined Fcntl macro O_TEMPORARY, used 
-at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233.</PRE
-></FONT
-></TD
-></TR
-></TABLE
-><P
->Numerous people have reported that upgrading to version 5.6.1
-      or higher solved the problem for them. A less involved fix is to apply
-      the following patch, which is also
-      available as a <A
-HREF="../xml/filetemp.patch"
-TARGET="_top"
->patch file</A
->.
-      </P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
-><FONT
-COLOR="#000000"
-><PRE
-CLASS="programlisting"
->--- File/Temp.pm.orig   Thu Feb  6 16:26:00 2003
-+++ File/Temp.pm        Thu Feb  6 16:26:23 2003
-@@ -205,6 +205,7 @@
-     # eg CGI::Carp
-     local $SIG{__DIE__} = sub {};
-     local $SIG{__WARN__} = sub {};
-+    local *CORE::GLOBAL::die = sub {};
-     $bit = &#38;$func();
-     1;
-   };
-@@ -226,6 +227,7 @@
-     # eg CGI::Carp
-     local $SIG{__DIE__} = sub {};
-     local $SIG{__WARN__} = sub {};
-+    local *CORE::GLOBAL::die = sub {};
-     $bit = &#38;$func();
-     1;
-   };</PRE
-></FONT
-></TD
-></TR
-></TABLE
-></DIV
+>This section gives solutions to common Bugzilla installation
+  problems. If none of the section headings seems to match your
+  problem, read the general advice.
+  </P
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
@@ -418,7 +160,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="os-specific.html"
+HREF="faq.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -436,7 +178,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="administration.html"
+HREF="general-advice.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -446,21 +188,17 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->OS-Specific Installation Notes</TD
+>The Bugzilla FAQ</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
 VALIGN="top"
-><A
-HREF="installing-bugzilla.html"
-ACCESSKEY="U"
->Up</A
-></TD
+>&nbsp;</TD
 ><TD
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Administering Bugzilla</TD
+>General Advice</TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/docs/html/upgrading.html b/docs/html/upgrading.html
index fe8a3cb97bd1bb746d3e4ade321b686000311f5d..4648e790035e4a14a226940a7730123016bb1912 100644
--- a/docs/html/upgrading.html
+++ b/docs/html/upgrading.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Administering Bugzilla"
@@ -17,8 +16,8 @@ REL="PREVIOUS"
 TITLE="Groups and Group Security"
 HREF="groups.html"><LINK
 REL="NEXT"
-TITLE="Customising Bugzilla"
-HREF="customization.html"></HEAD
+TITLE="Bugzilla Security"
+HREF="security.html"></HEAD
 ><BODY
 CLASS="section"
 BGCOLOR="#FFFFFF"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -61,7 +59,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="customization.html"
+HREF="security.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -76,7 +74,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="upgrading"
->3.9. Upgrading to New Releases</A
+>3.11. Upgrading to New Releases</A
 ></H1
 ><DIV
 CLASS="warning"
@@ -161,7 +159,7 @@ HREF="upgrading.html#upgrade-patches"
 ><P
 >Revisions are normally released to fix security vulnerabilities
     and are distinguished by an increase in the third number. For example,
-    when 2.16.2 was released, it was a revision to 2.16.1.
+    when 2.16.6 was released, it was a revision to 2.16.5.
     </P
 ><P
 >Point releases are normally released when the Bugzilla team feels
@@ -170,12 +168,12 @@ HREF="upgrading.html#upgrade-patches"
     stabilization period and release candidates, however the use of 
     development versions or release candidates is beyond the scope of this
     document. Point releases can be distinguished by an increase in the
-    second number, or minor version. For example, 2.16.2 is a newer point
-    release than 2.14.5.
+    second number, or minor version. For example, 2.18.0 is a newer point
+    release than 2.16.5.
     </P
 ><P
 >The examples in this section are written as if you were updating
-    to version 2.16.2.  The procedures are the same regardless if you are
+    to version 2.18.1.  The procedures are the same regardless if you are
     updating to a new point release or a new revision.  However, the chance
     of running into trouble increases when upgrading to a new point release,
     escpecially if you've made local changes.
@@ -259,7 +257,7 @@ CLASS="command"
 >
 bash$ <B
 CLASS="command"
->cvs -q update -r BUGZILLA-2_16_2 -dP</B
+>cvs -q update -r BUGZILLA-2_18_1 -dP</B
 >
 P checksetup.pl
 P collectstats.pl
@@ -375,24 +373,24 @@ CLASS="command"
 >
 bash$ <B
 CLASS="command"
->wget ftp://ftp.mozilla.org/pub/webtools/bugzilla-2.16.2.tar.gz</B
+>wget ftp://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-2.18.1.tar.gz</B
 >
 <EM
 >Output omitted</EM
 >
 bash$ <B
 CLASS="command"
->tar xzvf bugzilla-2.16.2.tar.gz</B
+>tar xzvf bugzilla-2.18.1.tar.gz</B
 >
-bugzilla-2.16.2/
-bugzilla-2.16.2/.cvsignore
-bugzilla-2.16.2/1x1.gif
+bugzilla-2.18.1/
+bugzilla-2.18.1/.cvsignore
+bugzilla-2.18.1/1x1.gif
 <EM
 >Output truncated</EM
 >
 bash$ <B
 CLASS="command"
->cd bugzilla-2.16.2</B
+>cd bugzilla-2.18.1</B
 >
 bash$ <B
 CLASS="command"
@@ -412,7 +410,7 @@ CLASS="command"
 >
 bash$ <B
 CLASS="command"
->mv bugzilla-2.16.2 bugzilla</B
+>mv bugzilla-2.18.1 bugzilla</B
 >
 bash$ <B
 CLASS="command"
@@ -538,18 +536,18 @@ CLASS="command"
 >
 bash$ <B
 CLASS="command"
->wget ftp://ftp.mozilla.org/pub/webtools/bugzilla-2.16.1-to-2.16.2.diff.gz</B
+>wget ftp://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-2.18.0-to-2.18.1.diff.gz</B
 >
 <EM
 >Output omitted</EM
 >
 bash$ <B
 CLASS="command"
->gunzip bugzilla-2.16.1-to-2.16.2.diff.gz</B
+>gunzip bugzilla-2.18.0-to-2.18.1.diff.gz</B
 >
 bash$ <B
 CLASS="command"
->patch -p1 &#60; bugzilla-2.16.1-to-2.16.2.diff</B
+>patch -p1 &#60; bugzilla-2.18.0-to-2.18.1.diff</B
 >
 patching file checksetup.pl
 patching file collectstats.pl
@@ -634,7 +632,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="customization.html"
+HREF="security.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -658,7 +656,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Customising Bugzilla</TD
+>Bugzilla Security</TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/docs/html/useradmin.html b/docs/html/useradmin.html
index 72930b79022da09ba17161cfef7026e9892b8eb7..0928fc3b2d467c00f820930b890c45ddf702db72 100644
--- a/docs/html/useradmin.html
+++ b/docs/html/useradmin.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Administering Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -268,21 +266,33 @@ CLASS="command"
 ></LI
 ><LI
 ><P
->&#13;            <EM
+>&#13;              <EM
 >Disable Text</EM
 >: 
-            If you type anything in this box, including just a space, the
-            user is prevented from logging in, or making any changes to 
-            bugs via the web interface. 
-            The HTML you type in this box is presented to the user when
-            they attempt to perform these actions, and should explain
-            why the account was disabled.
-            <DIV
-CLASS="warning"
+              If you type anything in this box, including just a space, the
+              user is prevented from logging in, or making any changes to 
+              bugs via the web interface. 
+              The HTML you type in this box is presented to the user when
+              they attempt to perform these actions, and should explain
+              why the account was disabled.
+            </P
+><P
+>&#13;              Users with disabled accounts will continue to receive
+              mail from Bugzilla; furthermore, they will not be able
+              to log in themselves to change their own preferences and
+              stop it. If you want an account (disabled or active) to
+              stop receiving mail, add the account name (one account
+              per line) to the file <TT
+CLASS="filename"
+>data/nomail</TT
+>.
+            </P
+><DIV
+CLASS="note"
 ><P
 ></P
 ><TABLE
-CLASS="warning"
+CLASS="note"
 WIDTH="100%"
 BORDER="0"
 ><TR
@@ -291,26 +301,30 @@ WIDTH="25"
 ALIGN="CENTER"
 VALIGN="TOP"
 ><IMG
-SRC="../images/warning.gif"
+SRC="../images/note.gif"
 HSPACE="5"
-ALT="Warning"></TD
+ALT="Note"></TD
 ><TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->Don't disable all the administrator accounts!</P
+>&#13;                Even users whose accounts have been disabled can still
+                submit bugs via the e-mail gateway, if one exists.
+                The e-mail gateway should <EM
+>not</EM
+> be
+                enabled for secure installations of Bugzilla.
+              </P
 ></TD
 ></TR
 ></TABLE
 ></DIV
->
-
-            <DIV
-CLASS="note"
+><DIV
+CLASS="warning"
 ><P
 ></P
 ><TABLE
-CLASS="note"
+CLASS="warning"
 WIDTH="100%"
 BORDER="0"
 ><TR
@@ -319,26 +333,19 @@ WIDTH="25"
 ALIGN="CENTER"
 VALIGN="TOP"
 ><IMG
-SRC="../images/note.gif"
+SRC="../images/warning.gif"
 HSPACE="5"
-ALT="Note"></TD
+ALT="Warning"></TD
 ><TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->The user can still submit bugs via
-              the e-mail gateway, if you set it up, even if the disabled text
-              field is filled in. The e-mail gateway should 
-              <EM
->not</EM
->
-              be enabled for secure installations of Bugzilla.</P
+>&#13;                Don't disable all the administrator accounts!
+              </P
 ></TD
 ></TR
 ></TABLE
 ></DIV
->
-            </P
 ></LI
 ><LI
 ><P
diff --git a/docs/html/userpreferences.html b/docs/html/userpreferences.html
index caa9501846f5214b7499eb8925f6fe6dc8b1a430..b0b4f096b7d9f32ecefa442613a357db1e7ef5fe 100644
--- a/docs/html/userpreferences.html
+++ b/docs/html/userpreferences.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Using Bugzilla"
@@ -17,7 +16,7 @@ REL="PREVIOUS"
 TITLE="Hints and Tips"
 HREF="hintsandtips.html"><LINK
 REL="NEXT"
-TITLE="Reports"
+TITLE="Reports and Charts"
 HREF="reporting.html"></HEAD
 ><BODY
 CLASS="section"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Chapter 5. Using Bugzilla</TD
+>Chapter 6. Using Bugzilla</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
@@ -76,7 +74,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="userpreferences"
->5.9. User Preferences</A
+>6.10. User Preferences</A
 ></H1
 ><P
 >Once you have logged in, you can customise various aspects of 
@@ -88,7 +86,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="accountsettings"
->5.9.1. Account Settings</A
+>6.10.1. Account Settings</A
 ></H2
 ><P
 >On this tab, you can change your basic account information,
@@ -113,26 +111,64 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="emailsettings"
->5.9.2. Email Settings</A
+>6.10.2. Email Settings</A
 ></H2
 ><P
->On this tab you can reduce or increase the amount of email sent
-      you from Bugzilla, opting in our out depending on your relationship to
-      the bug and the change that was made to it. 
+>&#13;        This tab controls the amount of email Bugzilla sends you.
       </P
 ><P
->&#13;      You can also do further filtering on the client side by 
-      using the X-Bugzilla-Reason mail header which Bugzilla
-      adds to all bugmail. This tells you what relationship you have to the
-      bug in question,
-      and can be any of Owner, Reporter, QAcontact, CClist, Voter and
-      WatchingComponent.</P
-><P
->By entering user email names, delineated by commas, into the
-      "Users to watch" text entry box you can receive a copy of all the
-      bugmail of other users (security settings permitting.) This powerful
-      functionality enables seamless transitions as developers change
-      projects or users go on holiday.</P
+>&#13;        The first item on this page is marked <SPAN
+CLASS="QUOTE"
+>"Users to watch"</SPAN
+>.
+        When you enter one or more comma-delineated user accounts (usually email
+        addresses) into the text entry box, you will receive a copy of all the
+        bugmail those users are sent (security settings permitting).
+        This powerful functionality enables seamless transitions as developers
+        change projects or users go on holiday.
+      </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          The ability to watch other users may not be available in all
+          Bugzilla installations. If you don't see this feature, and feel
+          that you need it, speak to your administrator.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;        In general, users have almost complete control over how much (or
+        how little) email Bugzilla sends them. If you want to receive the
+        maximum amount of email possible, click the <SPAN
+CLASS="QUOTE"
+>"Enable All 
+        Mail"</SPAN
+> button. If you don't want to receive any email from
+        Bugzilla at all, click the <SPAN
+CLASS="QUOTE"
+>"Disable All Mail"</SPAN
+> button.
+      </P
 ><DIV
 CLASS="note"
 ><P
@@ -154,13 +190,196 @@ ALT="Note"></TD
 ALIGN="LEFT"
 VALIGN="TOP"
 ><P
->The ability to watch other users may not be available in all
-        Bugzilla installations. If you can't see it, ask your 
-        administrator.</P
+>&#13;          Your Bugzilla administrator can stop a user from receiving
+          bugmail by adding the user's name to the 
+          <TT
+CLASS="filename"
+>data/nomail</TT
+> file. This is a drastic step
+          best taken only for disabled accounts, as it overrides the 
+          the user's individual mail preferences.
+        </P
 ></TD
 ></TR
 ></TABLE
 ></DIV
+><P
+>&#13;        If you'd like to set your bugmail to something besides
+        'Completely ON' and 'Completely OFF', the
+        <SPAN
+CLASS="QUOTE"
+>"Field/recipient specific options"</SPAN
+> table
+        allows you to do just that. The rows of the table
+        define events that can happen to a bug -- things like
+        attachments being added, new comments being made, the
+        priority changing, etc. The columns in the table define
+        your relationship with the bug:
+      </P
+><P
+></P
+><UL
+COMPACT="COMPACT"
+><LI
+><P
+>&#13;            Reporter - Where you are the person who initially
+            reported the bug. Your name/account appears in the
+            <SPAN
+CLASS="QUOTE"
+>"Reporter:"</SPAN
+> field.
+          </P
+></LI
+><LI
+><P
+>&#13;            Assignee - Where you are the person who has been
+            designated as the one responsible for the bug. Your
+            name/account appears in the <SPAN
+CLASS="QUOTE"
+>"Assigned To:"</SPAN
+>
+            field of the bug.
+          </P
+></LI
+><LI
+><P
+>&#13;            QA Contact - You are one of the designated
+            QA Contacts for the bug. Your account appears in the 
+            <SPAN
+CLASS="QUOTE"
+>"QA Contact:"</SPAN
+> text-box of the bug.
+          </P
+></LI
+><LI
+><P
+>&#13;            CC - You are on the list CC List for the bug.
+            Your account appears in the <SPAN
+CLASS="QUOTE"
+>"CC:"</SPAN
+> text box
+            of the bug.
+          </P
+></LI
+><LI
+><P
+>&#13;            Voter - You have placed one or more votes for the bug.
+            Your account appears only if someone clicks on the 
+            <SPAN
+CLASS="QUOTE"
+>"Show votes for this bug"</SPAN
+> link on the bug.
+          </P
+></LI
+></UL
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          Some columns may not be visible for your installation, depending
+          on your site's configuration.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;        To fine-tune your bugmail, decide the events for which you want
+        to receive bugmail; then decide if you want to receive it all
+        the time (enable the checkbox for every column), or only when
+        you have a certain relationship with a bug (enable the checkbox
+        only for those columns). For example: if you didn't want to
+        receive mail when someone added themselves to the CC list, you
+        could uncheck all the boxes in the <SPAN
+CLASS="QUOTE"
+>"CC Field Changes"</SPAN
+>
+        line. As another example, if you never wanted to receive email
+        on bugs you reported unless the bug was resolved, you would
+        un-check all boxes in the <SPAN
+CLASS="QUOTE"
+>"Reporter"</SPAN
+> column
+        except for the one on the <SPAN
+CLASS="QUOTE"
+>"The bug is resolved or
+        verified"</SPAN
+> row.
+      </P
+><DIV
+CLASS="note"
+><P
+></P
+><TABLE
+CLASS="note"
+WIDTH="100%"
+BORDER="0"
+><TR
+><TD
+WIDTH="25"
+ALIGN="CENTER"
+VALIGN="TOP"
+><IMG
+SRC="../images/note.gif"
+HSPACE="5"
+ALT="Note"></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+><P
+>&#13;          Bugzilla adds the <SPAN
+CLASS="QUOTE"
+>"X-Bugzilla-Reason"</SPAN
+> header to
+          all bugmail it sends, describing the recipient's relationship
+          (AssignedTo, Reporter, QAContact, CC, or Voter) to the bug.
+          This header can be used to do further client-side filtering.
+        </P
+></TD
+></TR
+></TABLE
+></DIV
+><P
+>&#13;        Two items not in the table (<SPAN
+CLASS="QUOTE"
+>"Email me when someone
+        asks me to set a flag"</SPAN
+> and <SPAN
+CLASS="QUOTE"
+>"Email me when someone
+        sets a flag I asked for"</SPAN
+>) define how you want to
+        receive bugmail with regards to flags. Their use is quite
+        straightforward; enable the checkboxes if you want Bugzilla to
+        send you mail under either of the above conditions.
+      </P
+><P
+>&#13;        By default, Bugzilla sends out email regardless of who made the
+        change... even if you were the one responsible for generating
+        the email in the first place. If you don't care to receive bugmail
+        from your own changes, check the box marked <SPAN
+CLASS="QUOTE"
+>"Only email me
+        reports of changes made by other people"</SPAN
+>.
+      </P
 ></DIV
 ><DIV
 CLASS="section"
@@ -168,7 +387,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="permissionsettings"
->5.9.3. Permissions</A
+>6.10.3. Permissions</A
 ></H2
 ><P
 >This is a purely informative page which outlines your current
@@ -235,7 +454,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Reports</TD
+>Reports and Charts</TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/docs/html/using-intro.html b/docs/html/using-intro.html
index 70469face8be05ff4a54936a19a08fcb9369f89c..e58570f29779ed658a62bbfafd098c67cfe5fb0f 100644
--- a/docs/html/using-intro.html
+++ b/docs/html/using-intro.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Using Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -55,7 +53,7 @@ ACCESSKEY="P"
 WIDTH="80%"
 ALIGN="center"
 VALIGN="bottom"
->Chapter 5. Using Bugzilla</TD
+>Chapter 6. Using Bugzilla</TD
 ><TD
 WIDTH="10%"
 ALIGN="right"
@@ -76,20 +74,20 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="using-intro"
->5.1. Introduction</A
+>6.1. Introduction</A
 ></H1
 ><P
->This section contains information for end-users of Bugzilla. 
-    There is a Bugzilla test installation, called 
+>This section contains information for end-users of Bugzilla.  There
+    is a Bugzilla test installation, called
     <A
-HREF="http://landfill.bugzilla.org/bugzilla-tip/"
+HREF="http://landfill.bugzilla.org/"
 TARGET="_top"
 >Landfill</A
->, 
-    which you are welcome to play with (if it's up.) 
-    However, it does not necessarily
-    have all Bugzilla features enabled, and runs an up-to-the-minute version, 
-    so some things may not quite work as this document describes.</P
+>, which you are
+    welcome to play with (if it's up). However, not all of the Bugzilla
+    installations there will necessarily have all Bugzilla features enabled,
+    and different installations run different versions, so some things may not
+    quite work as this document describes.</P
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
diff --git a/docs/html/using.html b/docs/html/using.html
index daec9d064040667a96dd35f04dde99cee61b059a..d9fd510ce21112177588abf6d359330b04025f7f 100644
--- a/docs/html/using.html
+++ b/docs/html/using.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="PREVIOUS"
 TITLE="Integrating Bugzilla with Third-Party Tools"
@@ -35,8 +34,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -73,7 +71,7 @@ CLASS="chapter"
 ><A
 NAME="using"
 ></A
->Chapter 5. Using Bugzilla</H1
+>Chapter 6. Using Bugzilla</H1
 ><DIV
 CLASS="TOC"
 ><DL
@@ -82,137 +80,161 @@ CLASS="TOC"
 >Table of Contents</B
 ></DT
 ><DT
->5.1. <A
+>6.1. <A
 HREF="using-intro.html"
 >Introduction</A
 ></DT
 ><DT
->5.2. <A
+>6.2. <A
 HREF="myaccount.html"
 >Create a Bugzilla Account</A
 ></DT
 ><DT
->5.3. <A
+>6.3. <A
 HREF="bug_page.html"
 >Anatomy of a Bug</A
 ></DT
 ><DT
->5.4. <A
+>6.4. <A
+HREF="lifecycle.html"
+>Life Cycle of a Bug</A
+></DT
+><DT
+>6.5. <A
 HREF="query.html"
 >Searching for Bugs</A
 ></DT
 ><DT
->5.5. <A
+>6.6. <A
 HREF="list.html"
 >Bug Lists</A
 ></DT
 ><DT
->5.6. <A
+>6.7. <A
 HREF="bugreports.html"
 >Filing Bugs</A
 ></DT
 ><DT
->5.7. <A
+>6.8. <A
 HREF="patchviewer.html"
 >Patch Viewer</A
 ></DT
 ><DD
 ><DL
 ><DT
->5.7.1. <A
+>6.8.1. <A
 HREF="patchviewer.html#patchviewer_view"
 >Viewing Patches in Patch Viewer</A
 ></DT
 ><DT
->5.7.2. <A
+>6.8.2. <A
 HREF="patchviewer.html#patchviewer_diff"
 >Seeing the Difference Between Two Patches</A
 ></DT
 ><DT
->5.7.3. <A
+>6.8.3. <A
 HREF="patchviewer.html#patchviewer_context"
 >Getting More Context in a Patch</A
 ></DT
 ><DT
->5.7.4. <A
+>6.8.4. <A
 HREF="patchviewer.html#patchviewer_collapse"
 >Collapsing and Expanding Sections of a Patch</A
 ></DT
 ><DT
->5.7.5. <A
+>6.8.5. <A
 HREF="patchviewer.html#patchviewer_link"
 >Linking to a Section of a Patch</A
 ></DT
 ><DT
->5.7.6. <A
+>6.8.6. <A
 HREF="patchviewer.html#patchviewer_bonsai_lxr"
 >Going to Bonsai and LXR</A
 ></DT
 ><DT
->5.7.7. <A
+>6.8.7. <A
 HREF="patchviewer.html#patchviewer_unified_diff"
 >Creating a Unified Diff</A
 ></DT
 ></DL
 ></DD
 ><DT
->5.8. <A
+>6.9. <A
 HREF="hintsandtips.html"
 >Hints and Tips</A
 ></DT
 ><DD
 ><DL
 ><DT
->5.8.1. <A
-HREF="hintsandtips.html#AEN1643"
+>6.9.1. <A
+HREF="hintsandtips.html#AEN2208"
 >Autolinkification</A
 ></DT
 ><DT
->5.8.2. <A
+>6.9.2. <A
 HREF="hintsandtips.html#quicksearch"
 >Quicksearch</A
 ></DT
 ><DT
->5.8.3. <A
+>6.9.3. <A
 HREF="hintsandtips.html#commenting"
 >Comments</A
 ></DT
 ><DT
->5.8.4. <A
+>6.9.4. <A
 HREF="hintsandtips.html#attachments"
 >Attachments</A
 ></DT
 ></DL
 ></DD
 ><DT
->5.9. <A
+>6.10. <A
 HREF="userpreferences.html"
 >User Preferences</A
 ></DT
 ><DD
 ><DL
 ><DT
->5.9.1. <A
+>6.10.1. <A
 HREF="userpreferences.html#accountsettings"
 >Account Settings</A
 ></DT
 ><DT
->5.9.2. <A
+>6.10.2. <A
 HREF="userpreferences.html#emailsettings"
 >Email Settings</A
 ></DT
 ><DT
->5.9.3. <A
+>6.10.3. <A
 HREF="userpreferences.html#permissionsettings"
 >Permissions</A
 ></DT
 ></DL
 ></DD
 ><DT
->5.10. <A
+>6.11. <A
 HREF="reporting.html"
+>Reports and Charts</A
+></DT
+><DD
+><DL
+><DT
+>6.11.1. <A
+HREF="reporting.html#reports"
 >Reports</A
 ></DT
+><DT
+>6.11.2. <A
+HREF="reporting.html#charts"
+>Charts</A
+></DT
+></DL
+></DD
+><DT
+>6.12. <A
+HREF="flags.html"
+>Flags</A
+></DT
 ></DL
 ></DIV
 ></DIV
diff --git a/docs/html/versions.html b/docs/html/versions.html
index a8adcf182f62fc89a08cbb481a2b8b4757811f31..27566477df3658d710f2254132d4378d73376dbb 100644
--- a/docs/html/versions.html
+++ b/docs/html/versions.html
@@ -7,8 +7,7 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Administering Bugzilla"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
diff --git a/docs/html/voting.html b/docs/html/voting.html
index 12350998d1558c3e228678a14238ee9640a664cc..099f37ca8c8c7597c9e4aa28c69e7bbaf9943ca9 100644
--- a/docs/html/voting.html
+++ b/docs/html/voting.html
@@ -7,18 +7,17 @@
 NAME="GENERATOR"
 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
 REL="HOME"
-TITLE="The Bugzilla Guide - 2.17.7 
-    Development Release"
+TITLE="The Bugzilla Guide - 2.18 Release"
 HREF="index.html"><LINK
 REL="UP"
 TITLE="Administering Bugzilla"
 HREF="administration.html"><LINK
 REL="PREVIOUS"
-TITLE="Milestones"
-HREF="milestones.html"><LINK
+TITLE="Flags"
+HREF="flags-overview.html"><LINK
 REL="NEXT"
-TITLE="Groups and Group Security"
-HREF="groups.html"></HEAD
+TITLE="Quips"
+HREF="quips.html"></HEAD
 ><BODY
 CLASS="section"
 BGCOLOR="#FFFFFF"
@@ -38,8 +37,7 @@ CELLSPACING="0"
 ><TH
 COLSPAN="3"
 ALIGN="center"
->The Bugzilla Guide - 2.17.7 
-    Development Release</TH
+>The Bugzilla Guide - 2.18 Release</TH
 ></TR
 ><TR
 ><TD
@@ -47,7 +45,7 @@ WIDTH="10%"
 ALIGN="left"
 VALIGN="bottom"
 ><A
-HREF="milestones.html"
+HREF="flags-overview.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -61,7 +59,7 @@ WIDTH="10%"
 ALIGN="right"
 VALIGN="bottom"
 ><A
-HREF="groups.html"
+HREF="quips.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -76,7 +74,7 @@ CLASS="section"
 CLASS="section"
 ><A
 NAME="voting"
->3.7. Voting</A
+>3.8. Voting</A
 ></H1
 ><P
 >Voting allows users to be given a pot of votes which they can allocate
@@ -148,7 +146,7 @@ WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
 ><A
-HREF="milestones.html"
+HREF="flags-overview.html"
 ACCESSKEY="P"
 >Prev</A
 ></TD
@@ -166,7 +164,7 @@ WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
 ><A
-HREF="groups.html"
+HREF="quips.html"
 ACCESSKEY="N"
 >Next</A
 ></TD
@@ -176,7 +174,7 @@ ACCESSKEY="N"
 WIDTH="33%"
 ALIGN="left"
 VALIGN="top"
->Milestones</TD
+>Flags</TD
 ><TD
 WIDTH="34%"
 ALIGN="center"
@@ -190,7 +188,7 @@ ACCESSKEY="U"
 WIDTH="33%"
 ALIGN="right"
 VALIGN="top"
->Groups and Group Security</TD
+>Quips</TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/docs/html/x2868.html b/docs/html/x2868.html
new file mode 100644
index 0000000000000000000000000000000000000000..a21c9055bc6b7124cafc46eecf13092868678b24
--- /dev/null
+++ b/docs/html/x2868.html
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>The Apache webserver is not serving Bugzilla pages</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Troubleshooting"
+HREF="troubleshooting.html"><LINK
+REL="PREVIOUS"
+TITLE="General Advice"
+HREF="general-advice.html"><LINK
+REL="NEXT"
+TITLE="I installed a Perl module, but 
+      checksetup.pl claims it's not installed!"
+HREF="x2875.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="general-advice.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Appendix B. Troubleshooting</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2875.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="AEN2868"
+>B.2. The Apache webserver is not serving Bugzilla pages</A
+></H1
+><P
+>After you have run <B
+CLASS="command"
+>checksetup.pl</B
+> twice,
+    run <B
+CLASS="command"
+>testserver.pl http://yoursite.yourdomain/yoururl</B
+>
+    to confirm that your webserver is configured properly for
+    Bugzilla.
+    </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+>&#13;<SAMP
+CLASS="prompt"
+>bash$</SAMP
+> ./testserver.pl http://landfill.bugzilla.org/bugzilla-tip
+TEST-OK Webserver is running under group id in $webservergroup.
+TEST-OK Got ant picture.
+TEST-OK Webserver is executing CGIs.
+TEST-OK Webserver is preventing fetch of http://landfill.bugzilla.org/bugzilla-tip/localconfig.
+</PRE
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="general-advice.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2875.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>General Advice</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="troubleshooting.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>I installed a Perl module, but 
+      <TT
+CLASS="filename"
+>checksetup.pl</TT
+> claims it's not installed!</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/x2875.html b/docs/html/x2875.html
new file mode 100644
index 0000000000000000000000000000000000000000..bfcead4a572ec8d05fb479a730a3db5892829e4d
--- /dev/null
+++ b/docs/html/x2875.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>I installed a Perl module, but 
+      checksetup.pl claims it's not installed!</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Troubleshooting"
+HREF="troubleshooting.html"><LINK
+REL="PREVIOUS"
+TITLE="The Apache webserver is not serving Bugzilla pages"
+HREF="x2868.html"><LINK
+REL="NEXT"
+TITLE="Bundle::Bugzilla makes me upgrade to Perl 5.6.1"
+HREF="x2885.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2868.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Appendix B. Troubleshooting</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2885.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="AEN2875"
+>B.3. I installed a Perl module, but 
+      <TT
+CLASS="filename"
+>checksetup.pl</TT
+> claims it's not installed!</A
+></H1
+><P
+>This could be caused by one of two things:</P
+><P
+></P
+><OL
+TYPE="1"
+><LI
+><P
+>You have two versions of Perl on your machine. You are installing
+        modules into one, and Bugzilla is using the other. Rerun the CPAN
+        commands (or manual compile) using the full path to Perl from the 
+        top of <TT
+CLASS="filename"
+>checksetup.pl</TT
+>. This will make sure you 
+        are installing the modules in the right place.
+        </P
+></LI
+><LI
+><P
+>The permissions on your library directories are set incorrectly.
+	They must, at the very least, be readable by the webserver user or
+	group. It is recommended that they be world readable.
+        </P
+></LI
+></OL
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2868.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2885.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>The Apache webserver is not serving Bugzilla pages</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="troubleshooting.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Bundle::Bugzilla makes me upgrade to Perl 5.6.1</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/x2885.html b/docs/html/x2885.html
new file mode 100644
index 0000000000000000000000000000000000000000..468500e5068988252be71d8a4c44b356c6f88d45
--- /dev/null
+++ b/docs/html/x2885.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Bundle::Bugzilla makes me upgrade to Perl 5.6.1</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Troubleshooting"
+HREF="troubleshooting.html"><LINK
+REL="PREVIOUS"
+TITLE="I installed a Perl module, but 
+      checksetup.pl claims it's not installed!"
+HREF="x2875.html"><LINK
+REL="NEXT"
+TITLE="DBD::Sponge::db prepare failed"
+HREF="x2890.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2875.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Appendix B. Troubleshooting</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x2890.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="AEN2885"
+>B.4. Bundle::Bugzilla makes me upgrade to Perl 5.6.1</A
+></H1
+><P
+>Try executing <B
+CLASS="command"
+>perl -MCPAN -e 'install CPAN'</B
+>
+    and then continuing.
+    </P
+><P
+>Certain older versions of the CPAN toolset were somewhat naive about
+    how to upgrade Perl modules. When a couple of modules got rolled into the
+    core Perl distribution for 5.6.1, CPAN thought that the best way to get
+    those modules up to date was to haul down the Perl distribution itself and
+    build it. Needless to say, this has caused headaches for just about
+    everybody. Upgrading to a newer version of CPAN with the
+    commandline above should fix things.
+    </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2875.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x2890.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>I installed a Perl module, but 
+      <TT
+CLASS="filename"
+>checksetup.pl</TT
+> claims it's not installed!</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="troubleshooting.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>DBD::Sponge::db prepare failed</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/x2890.html b/docs/html/x2890.html
new file mode 100644
index 0000000000000000000000000000000000000000..116078015ef1693f64e944acf47978d1d5368c55
--- /dev/null
+++ b/docs/html/x2890.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>DBD::Sponge::db prepare failed</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Troubleshooting"
+HREF="troubleshooting.html"><LINK
+REL="PREVIOUS"
+TITLE="Bundle::Bugzilla makes me upgrade to Perl 5.6.1"
+HREF="x2885.html"><LINK
+REL="NEXT"
+TITLE="cannot chdir(/var/spool/mqueue)"
+HREF="paranoid-security.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x2885.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Appendix B. Troubleshooting</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="paranoid-security.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="AEN2890"
+>B.5. DBD::Sponge::db prepare failed</A
+></H1
+><P
+>The following error message may appear due to a bug in DBD::mysql
+    (over which the Bugzilla team have no control):
+    </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+> DBD::Sponge::db prepare failed: Cannot determine NUM_OF_FIELDS at D:/Perl/site/lib/DBD/mysql.pm line 248.
+  SV = NULL(0x0) at 0x20fc444
+  REFCNT = 1
+  FLAGS = (PADBUSY,PADMY)
+</PRE
+></FONT
+></TD
+></TR
+></TABLE
+><P
+>To fix this, go to 
+    <TT
+CLASS="filename"
+>&#60;path-to-perl&#62;/lib/DBD/sponge.pm</TT
+> 
+    in your Perl installation and replace
+    </P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+> my $numFields;
+ if ($attribs-&#62;{'NUM_OF_FIELDS'}) {
+     $numFields = $attribs-&#62;{'NUM_OF_FIELDS'};
+ } elsif ($attribs-&#62;{'NAME'}) {
+     $numFields = @{$attribs-&#62;{NAME}};
+</PRE
+></FONT
+></TD
+></TR
+></TABLE
+><P
+>with</P
+><TABLE
+BORDER="0"
+BGCOLOR="#E0E0E0"
+WIDTH="100%"
+><TR
+><TD
+><FONT
+COLOR="#000000"
+><PRE
+CLASS="programlisting"
+> my $numFields;
+ if ($attribs-&#62;{'NUM_OF_FIELDS'}) {
+     $numFields = $attribs-&#62;{'NUM_OF_FIELDS'};
+ } elsif ($attribs-&#62;{'NAMES'}) {
+     $numFields = @{$attribs-&#62;{NAMES}};
+</PRE
+></FONT
+></TD
+></TR
+></TABLE
+><P
+>(note the S added to NAME.)</P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x2885.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="paranoid-security.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Bundle::Bugzilla makes me upgrade to Perl 5.6.1</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="troubleshooting.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>cannot chdir(/var/spool/mqueue)</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/html/x2944.html b/docs/html/x2944.html
new file mode 100644
index 0000000000000000000000000000000000000000..4dea440e6fcd1b5e36a5e732ac624b6c5a233825
--- /dev/null
+++ b/docs/html/x2944.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML
+><HEAD
+><TITLE
+>Some users are constantly being forced to relogin</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
+REL="HOME"
+TITLE="The Bugzilla Guide - 2.18 Release"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Troubleshooting"
+HREF="troubleshooting.html"><LINK
+REL="PREVIOUS"
+TITLE="Everybody is constantly being forced to relogin"
+HREF="trbl-relogin-everyone.html"><LINK
+REL="NEXT"
+TITLE="index.cgi doesn't show up unless specified in the URL"
+HREF="trbl-index.html"></HEAD
+><BODY
+CLASS="section"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>The Bugzilla Guide - 2.18 Release</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="trbl-relogin-everyone.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Appendix B. Troubleshooting</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="trbl-index.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="section"
+><H1
+CLASS="section"
+><A
+NAME="AEN2944"
+>B.9. Some users are constantly being forced to relogin</A
+></H1
+><P
+>First, make sure cookies are enabled in the user's browser.
+    </P
+><P
+>If that doesn't fix the problem, it may be that the user's ISP
+     implements a rotating proxy server. This causes the user's effective IP
+     address (the address which the Bugzilla server perceives him coming from)
+     to change periodically. Since Bugzilla cookies are tied to a specific IP
+     address, each time the effective address changes, the user will have to
+     log in again.
+     </P
+><P
+>If you are using 2.18, there is a
+     parameter called <SPAN
+CLASS="QUOTE"
+>"loginnetmask"</SPAN
+>, which you can use to set
+     the number of bits of the user's IP address to require to be matched when
+     authenticating the cookies. If you set this to something less than 32,
+     then the user will be given a checkbox for <SPAN
+CLASS="QUOTE"
+>"Restrict this login to
+     my IP address"</SPAN
+> on the login screen, which defaults to checked. If
+     they leave the box checked, Bugzilla will behave the same as it did
+     before, requiring an exact match on their IP address to remain logged in.
+     If they uncheck the box, then only the left side of their IP address (up
+     to the number of bits you specified in the parameter) has to match to
+     remain logged in.
+     </P
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="trbl-relogin-everyone.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="trbl-index.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Everybody is constantly being forced to relogin</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="troubleshooting.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><TT
+CLASS="filename"
+>index.cgi</TT
+> doesn't show up unless specified in the URL</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/docs/images/CVS/Entries b/docs/images/CVS/Entries
index d934d00a9ae6453fda1264c97d54825e11e76a2b..0562f3e2fd901515aa450ee1be45738689c6e4df 100644
--- a/docs/images/CVS/Entries
+++ b/docs/images/CVS/Entries
@@ -1,5 +1,7 @@
-/caution.gif/1.2/Wed May  8 21:16:44 2002/-kb/TBUGZILLA-2_17_7
-/note.gif/1.1/Thu Aug 23 14:30:18 2001/-kb/TBUGZILLA-2_17_7
-/tip.gif/1.2/Wed May  8 21:16:44 2002/-kb/TBUGZILLA-2_17_7
-/warning.gif/1.2/Wed May  8 21:16:44 2002/-kb/TBUGZILLA-2_17_7
+/bzLifecycle.png/1.1.2.1/Mon Dec 20 10:25:51 2004//TBUGZILLA-2_18
+/bzLifecycle.xml/1.1.2.1/Mon Dec 20 10:25:51 2004//TBUGZILLA-2_18
+/caution.gif/1.2/Wed May  8 21:16:44 2002/-kb/TBUGZILLA-2_18
+/note.gif/1.1/Thu Aug 23 14:30:18 2001/-kb/TBUGZILLA-2_18
+/tip.gif/1.2/Wed May  8 21:16:44 2002/-kb/TBUGZILLA-2_18
+/warning.gif/1.2/Wed May  8 21:16:44 2002/-kb/TBUGZILLA-2_18
 D/callouts////
diff --git a/docs/images/CVS/Tag b/docs/images/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/docs/images/CVS/Tag
+++ b/docs/images/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/docs/images/bzLifecycle.png b/docs/images/bzLifecycle.png
new file mode 100644
index 0000000000000000000000000000000000000000..b4b9bd74c9450740d96e8c913c84c7de231fd3e3
Binary files /dev/null and b/docs/images/bzLifecycle.png differ
diff --git a/docs/images/bzLifecycle.xml b/docs/images/bzLifecycle.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a341a7ccf1593b75f0a00be04178b34d380b722a
--- /dev/null
+++ b/docs/images/bzLifecycle.xml
@@ -0,0 +1,1615 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
+  <dia:diagramdata>
+    <dia:attribute name="background">
+      <dia:color val="#ffffff"/>
+    </dia:attribute>
+    <dia:attribute name="pagebreak">
+      <dia:color val="#000099"/>
+    </dia:attribute>
+    <dia:attribute name="paper">
+      <dia:composite type="paper">
+        <dia:attribute name="name">
+          <dia:string>#A4#</dia:string>
+        </dia:attribute>
+        <dia:attribute name="tmargin">
+          <dia:real val="2.8222000598907471"/>
+        </dia:attribute>
+        <dia:attribute name="bmargin">
+          <dia:real val="2.8222000598907471"/>
+        </dia:attribute>
+        <dia:attribute name="lmargin">
+          <dia:real val="2.8222000598907471"/>
+        </dia:attribute>
+        <dia:attribute name="rmargin">
+          <dia:real val="2.8222000598907471"/>
+        </dia:attribute>
+        <dia:attribute name="is_portrait">
+          <dia:boolean val="true"/>
+        </dia:attribute>
+        <dia:attribute name="scaling">
+          <dia:real val="1"/>
+        </dia:attribute>
+        <dia:attribute name="fitto">
+          <dia:boolean val="false"/>
+        </dia:attribute>
+      </dia:composite>
+    </dia:attribute>
+    <dia:attribute name="grid">
+      <dia:composite type="grid">
+        <dia:attribute name="width_x">
+          <dia:real val="1"/>
+        </dia:attribute>
+        <dia:attribute name="width_y">
+          <dia:real val="1"/>
+        </dia:attribute>
+        <dia:attribute name="visible_x">
+          <dia:int val="1"/>
+        </dia:attribute>
+        <dia:attribute name="visible_y">
+          <dia:int val="1"/>
+        </dia:attribute>
+        <dia:composite type="color"/>
+      </dia:composite>
+    </dia:attribute>
+    <dia:attribute name="color">
+      <dia:color val="#d8e5e5"/>
+    </dia:attribute>
+    <dia:attribute name="guides">
+      <dia:composite type="guides">
+        <dia:attribute name="hguides"/>
+        <dia:attribute name="vguides"/>
+      </dia:composite>
+    </dia:attribute>
+  </dia:diagramdata>
+  <dia:layer name="Background" visible="true">
+    <dia:object type="Standard - Line" version="0" id="O0">
+      <dia:attribute name="obj_pos">
+        <dia:point val="21,0"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="20.5,-0.05;21.5,2.05"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="21,0"/>
+        <dia:point val="21,2"/>
+      </dia:attribute>
+      <dia:attribute name="numcp">
+        <dia:int val="2"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="1" to="O10" connection="2"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - BezierLine" version="0" id="O1">
+      <dia:attribute name="obj_pos">
+        <dia:point val="21,4"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="15.5,3.95;21.05,7.05"/>
+      </dia:attribute>
+      <dia:attribute name="bez_points">
+        <dia:point val="21,4"/>
+        <dia:point val="21,6.95"/>
+        <dia:point val="16,4"/>
+        <dia:point val="16,7"/>
+      </dia:attribute>
+      <dia:attribute name="corner_types">
+        <dia:enum val="0"/>
+        <dia:enum val="0"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O10" connection="13"/>
+        <dia:connection handle="3" to="O11" connection="2"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - BezierLine" version="0" id="O2">
+      <dia:attribute name="obj_pos">
+        <dia:point val="10,4"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="9.95,3.95;16.5,7.05"/>
+      </dia:attribute>
+      <dia:attribute name="bez_points">
+        <dia:point val="10,4"/>
+        <dia:point val="10,7"/>
+        <dia:point val="16,4"/>
+        <dia:point val="16,7"/>
+      </dia:attribute>
+      <dia:attribute name="corner_types">
+        <dia:enum val="0"/>
+        <dia:enum val="0"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="3" to="O11" connection="2"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Line" version="0" id="O3">
+      <dia:attribute name="obj_pos">
+        <dia:point val="16,8.9"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="15.5,8.85;16.5,12.05"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="16,8.9"/>
+        <dia:point val="16,12"/>
+      </dia:attribute>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O11" connection="13"/>
+        <dia:connection handle="1" to="O12" connection="2"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Arc" version="0" id="O4">
+      <dia:attribute name="obj_pos">
+        <dia:point val="13,13"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="10.95,7.9;13.5,13.05"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="13,13"/>
+        <dia:point val="13,7.95"/>
+      </dia:attribute>
+      <dia:attribute name="curve_distance">
+        <dia:real val="-1.9999999999999998"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O12" connection="7"/>
+        <dia:connection handle="1" to="O11" connection="7"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Line" version="0" id="O5">
+      <dia:attribute name="obj_pos">
+        <dia:point val="16,14"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="15.5,13.95;16.5,17.05"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="16,14"/>
+        <dia:point val="16,17"/>
+      </dia:attribute>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O12" connection="13"/>
+        <dia:connection handle="1" to="O13" connection="2"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Line" version="0" id="O6">
+      <dia:attribute name="obj_pos">
+        <dia:point val="10,3"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="9.95,2.95;10.05,4.05"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="10,3"/>
+        <dia:point val="10,4"/>
+      </dia:attribute>
+      <dia:attribute name="numcp">
+        <dia:int val="2"/>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - BezierLine" version="0" id="O7">
+      <dia:attribute name="obj_pos">
+        <dia:point val="16,18.9"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="15.95,18.85;21.5,22.05"/>
+      </dia:attribute>
+      <dia:attribute name="bez_points">
+        <dia:point val="16,18.9"/>
+        <dia:point val="16,22"/>
+        <dia:point val="21,19"/>
+        <dia:point val="21,22"/>
+      </dia:attribute>
+      <dia:attribute name="corner_types">
+        <dia:enum val="0"/>
+        <dia:enum val="0"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O13" connection="13"/>
+        <dia:connection handle="3" to="O14" connection="2"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - BezierLine" version="0" id="O8">
+      <dia:attribute name="obj_pos">
+        <dia:point val="16,18.9"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="9.5,18.85;16.05,22.05"/>
+      </dia:attribute>
+      <dia:attribute name="bez_points">
+        <dia:point val="16,18.9"/>
+        <dia:point val="16,22"/>
+        <dia:point val="10,19"/>
+        <dia:point val="10,22"/>
+      </dia:attribute>
+      <dia:attribute name="corner_types">
+        <dia:enum val="0"/>
+        <dia:enum val="0"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O13" connection="13"/>
+        <dia:connection handle="3" to="O15" connection="2"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Arc" version="0" id="O9">
+      <dia:attribute name="obj_pos">
+        <dia:point val="8.5,22"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="8.4318,13.5624;13.6055,22.0682"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="8.5,22"/>
+        <dia:point val="13.1464,13.8536"/>
+      </dia:attribute>
+      <dia:attribute name="curve_distance">
+        <dia:real val="-0.71725063066182693"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O15" connection="1"/>
+        <dia:connection handle="1" to="O12" connection="11"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Flowchart - Box" version="0" id="O10">
+      <dia:attribute name="obj_pos">
+        <dia:point val="17.925,2"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="17.875,1.95;24.125,4.05"/>
+      </dia:attribute>
+      <dia:attribute name="elem_corner">
+        <dia:point val="17.925,2"/>
+      </dia:attribute>
+      <dia:attribute name="elem_width">
+        <dia:real val="6.1499999999999995"/>
+      </dia:attribute>
+      <dia:attribute name="elem_height">
+        <dia:real val="2"/>
+      </dia:attribute>
+      <dia:attribute name="inner_color">
+        <dia:color val="#e5e5e5"/>
+      </dia:attribute>
+      <dia:attribute name="show_background">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="corner_radius">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="padding">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#UNCONFIRMED#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="80" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.80000000000000004"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="21,3.25"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="1"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Flowchart - Box" version="0" id="O11">
+      <dia:attribute name="obj_pos">
+        <dia:point val="13,7"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="12.95,6.95;19.05,8.95"/>
+      </dia:attribute>
+      <dia:attribute name="elem_corner">
+        <dia:point val="13,7"/>
+      </dia:attribute>
+      <dia:attribute name="elem_width">
+        <dia:real val="6"/>
+      </dia:attribute>
+      <dia:attribute name="elem_height">
+        <dia:real val="1.9000000000000001"/>
+      </dia:attribute>
+      <dia:attribute name="show_background">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="corner_radius">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="padding">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#NEW#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="80" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.80000000000000004"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="16,8.2"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="1"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Flowchart - Box" version="0" id="O12">
+      <dia:attribute name="obj_pos">
+        <dia:point val="13,12"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="12.95,11.95;19.05,14.05"/>
+      </dia:attribute>
+      <dia:attribute name="elem_corner">
+        <dia:point val="13,12"/>
+      </dia:attribute>
+      <dia:attribute name="elem_width">
+        <dia:real val="6"/>
+      </dia:attribute>
+      <dia:attribute name="elem_height">
+        <dia:real val="2"/>
+      </dia:attribute>
+      <dia:attribute name="show_background">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="corner_radius">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="padding">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#ASSIGNED#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="80" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.80000000000000004"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="16,13.25"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="1"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Flowchart - Box" version="0" id="O13">
+      <dia:attribute name="obj_pos">
+        <dia:point val="13,17"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="12.95,16.95;19.05,18.95"/>
+      </dia:attribute>
+      <dia:attribute name="elem_corner">
+        <dia:point val="13,17"/>
+      </dia:attribute>
+      <dia:attribute name="elem_width">
+        <dia:real val="6"/>
+      </dia:attribute>
+      <dia:attribute name="elem_height">
+        <dia:real val="1.9000000000000001"/>
+      </dia:attribute>
+      <dia:attribute name="inner_color">
+        <dia:color val="#bfbfbf"/>
+      </dia:attribute>
+      <dia:attribute name="show_background">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="corner_radius">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="padding">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#RESOLVED#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="80" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.80000000000000004"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="16,18.2"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="1"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Flowchart - Box" version="0" id="O14">
+      <dia:attribute name="obj_pos">
+        <dia:point val="18,22"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="17.95,21.95;24.05,23.95"/>
+      </dia:attribute>
+      <dia:attribute name="elem_corner">
+        <dia:point val="18,22"/>
+      </dia:attribute>
+      <dia:attribute name="elem_width">
+        <dia:real val="6"/>
+      </dia:attribute>
+      <dia:attribute name="elem_height">
+        <dia:real val="1.9000000000000001"/>
+      </dia:attribute>
+      <dia:attribute name="inner_color">
+        <dia:color val="#bfbfbf"/>
+      </dia:attribute>
+      <dia:attribute name="show_background">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="corner_radius">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="padding">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#VERIFIED#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="80" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.80000000000000004"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="21,23.2"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="1"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Flowchart - Box" version="0" id="O15">
+      <dia:attribute name="obj_pos">
+        <dia:point val="7,22"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="6.95,21.95;13.05,23.95"/>
+      </dia:attribute>
+      <dia:attribute name="elem_corner">
+        <dia:point val="7,22"/>
+      </dia:attribute>
+      <dia:attribute name="elem_width">
+        <dia:real val="6"/>
+      </dia:attribute>
+      <dia:attribute name="elem_height">
+        <dia:real val="1.9000000000000001"/>
+      </dia:attribute>
+      <dia:attribute name="show_background">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="corner_radius">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="padding">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#REOPEN#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="80" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.80000000000000004"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="10,23.2"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="1"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Flowchart - Box" version="0" id="O16">
+      <dia:attribute name="obj_pos">
+        <dia:point val="13,27"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="12.95,26.95;19.05,28.95"/>
+      </dia:attribute>
+      <dia:attribute name="elem_corner">
+        <dia:point val="13,27"/>
+      </dia:attribute>
+      <dia:attribute name="elem_width">
+        <dia:real val="6"/>
+      </dia:attribute>
+      <dia:attribute name="elem_height">
+        <dia:real val="1.9000000000000001"/>
+      </dia:attribute>
+      <dia:attribute name="inner_color">
+        <dia:color val="#bfbfbf"/>
+      </dia:attribute>
+      <dia:attribute name="show_background">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="corner_radius">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="padding">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#CLOSED#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="80" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.80000000000000004"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="16,28.2"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="1"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - BezierLine" version="0" id="O17">
+      <dia:attribute name="obj_pos">
+        <dia:point val="21,23.9"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="15.5,23.85;21.05,27.05"/>
+      </dia:attribute>
+      <dia:attribute name="bez_points">
+        <dia:point val="21,23.9"/>
+        <dia:point val="21,27"/>
+        <dia:point val="16,24"/>
+        <dia:point val="16,27"/>
+      </dia:attribute>
+      <dia:attribute name="corner_types">
+        <dia:enum val="0"/>
+        <dia:enum val="0"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O14" connection="13"/>
+        <dia:connection handle="3" to="O16" connection="2"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - BezierLine" version="0" id="O18">
+      <dia:attribute name="obj_pos">
+        <dia:point val="19,17.95"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="18.945,17.8995;25.05,28.4505"/>
+      </dia:attribute>
+      <dia:attribute name="bez_points">
+        <dia:point val="19,17.95"/>
+        <dia:point val="24,18"/>
+        <dia:point val="25,21"/>
+        <dia:point val="25,23"/>
+        <dia:point val="25,25"/>
+        <dia:point val="24,28"/>
+        <dia:point val="19,27.95"/>
+      </dia:attribute>
+      <dia:attribute name="corner_types">
+        <dia:enum val="0"/>
+        <dia:enum val="0"/>
+        <dia:enum val="0"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O13" connection="8"/>
+        <dia:connection handle="6" to="O16" connection="8"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Line" version="0" id="O19">
+      <dia:attribute name="obj_pos">
+        <dia:point val="18,22.95"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="12.95,22.45;18.05,23.45"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="18,22.95"/>
+        <dia:point val="13,22.95"/>
+      </dia:attribute>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O14" connection="7"/>
+        <dia:connection handle="1" to="O15" connection="8"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - BezierLine" version="0" id="O20">
+      <dia:attribute name="obj_pos">
+        <dia:point val="14.5,27"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="9.5,23.85;14.5851,27.0575"/>
+      </dia:attribute>
+      <dia:attribute name="bez_points">
+        <dia:point val="14.5,27"/>
+        <dia:point val="15,24"/>
+        <dia:point val="10,27"/>
+        <dia:point val="10,23.9"/>
+      </dia:attribute>
+      <dia:attribute name="corner_types">
+        <dia:enum val="0"/>
+        <dia:enum val="0"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O16" connection="1"/>
+        <dia:connection handle="3" to="O15" connection="13"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Arc" version="0" id="O21">
+      <dia:attribute name="obj_pos">
+        <dia:point val="8.5,22"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="8.42939,17.5449;13.3716,22.0706"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="8.5,22"/>
+        <dia:point val="13,17.95"/>
+      </dia:attribute>
+      <dia:attribute name="curve_distance">
+        <dia:real val="-0.74169570721594136"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O15" connection="1"/>
+        <dia:connection handle="1" to="O13" connection="7"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Arc" version="0" id="O22">
+      <dia:attribute name="obj_pos">
+        <dia:point val="19,7.95"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="18.5,7.9;22.05,17.525"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="19,7.95"/>
+        <dia:point val="19,17.475"/>
+      </dia:attribute>
+      <dia:attribute name="curve_distance">
+        <dia:real val="-3"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O11" connection="8"/>
+        <dia:connection handle="1" to="O13" connection="6"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Arc" version="0" id="O23">
+      <dia:attribute name="obj_pos">
+        <dia:point val="21,4"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="18.4981,3.9432;23.6948,17.5979"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="21,4"/>
+        <dia:point val="19,17.475"/>
+      </dia:attribute>
+      <dia:attribute name="curve_distance">
+        <dia:real val="-3.5943353432190368"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O10" connection="13"/>
+        <dia:connection handle="1" to="O13" connection="6"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Arc" version="0" id="O24">
+      <dia:attribute name="obj_pos">
+        <dia:point val="21,4"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="18.5011,3.94034;21.8578,13.1573"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="21,4"/>
+        <dia:point val="19,13"/>
+      </dia:attribute>
+      <dia:attribute name="curve_distance">
+        <dia:real val="-1.6769027424613245"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O10" connection="13"/>
+        <dia:connection handle="1" to="O12" connection="8"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Text" version="0" id="O25">
+      <dia:attribute name="obj_pos">
+        <dia:point val="10.025,0.825"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="7.325,0.275;12.725,3.275"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#New bug from a
+user with canconfirm
+or a product without
+UNCONFIRMED state#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.69999999999999996"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="10.025,0.825"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="1"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Text" version="0" id="O26">
+      <dia:attribute name="obj_pos">
+        <dia:point val="20.325,4.48321"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="14.875,3.98321;20.325,5.38321"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#Bug confirmed or
+receives enough votes#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.59999999999999998"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="20.325,4.48321"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="2"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Text" version="0" id="O27">
+      <dia:attribute name="obj_pos">
+        <dia:point val="16.2865,10.1"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="16.2865,9.6;20.1865,11"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#Developer takes
+possession#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.59999999999999998"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="16.2865,10.1"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="0"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Text" version="0" id="O28">
+      <dia:attribute name="obj_pos">
+        <dia:point val="10.7629,9.45"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="8.26289,8.9325;10.7804,10.385"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#Ownership
+is chaged#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.59999999999999998"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="10.7629,9.45"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="2"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Text" version="0" id="O29">
+      <dia:attribute name="obj_pos">
+        <dia:point val="21.4576,6.43623"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="17.5576,5.93623;21.4576,7.33623"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#Developer takes
+possession#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.59999999999999998"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="21.4576,6.43623"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="2"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Flowchart - Box" version="0" id="O30">
+      <dia:attribute name="obj_pos">
+        <dia:point val="4.96289,11.0073"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="4.91289,10.9573;10.4129,16.2573"/>
+      </dia:attribute>
+      <dia:attribute name="elem_corner">
+        <dia:point val="4.96289,11.0073"/>
+      </dia:attribute>
+      <dia:attribute name="elem_width">
+        <dia:real val="5.3999999999999995"/>
+      </dia:attribute>
+      <dia:attribute name="elem_height">
+        <dia:real val="5.1999999999999993"/>
+      </dia:attribute>
+      <dia:attribute name="inner_color">
+        <dia:color val="#bfbfbf"/>
+      </dia:attribute>
+      <dia:attribute name="show_background">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+      <dia:attribute name="corner_radius">
+        <dia:real val="0.10000000000000001"/>
+      </dia:attribute>
+      <dia:attribute name="padding">
+        <dia:real val="0.14999999999999999"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#Possible resolutions:
+  FIXED
+  DUPLICATE
+  WONTFIX
+  WORKSFORME
+  INVALID
+  REMIND
+  LATER#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.59999999999999998"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="5.06289,11.7073"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="0"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Line" version="0" id="O31">
+      <dia:attribute name="obj_pos">
+        <dia:point val="10.3629,14.9073"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="10.3277,14.8722;13.1815,17.1815"/>
+      </dia:attribute>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="10.3629,14.9073"/>
+        <dia:point val="13.1464,17.1464"/>
+      </dia:attribute>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
+      </dia:attribute>
+      <dia:attribute name="line_width">
+        <dia:real val="0.050000000000000003"/>
+      </dia:attribute>
+      <dia:attribute name="line_style">
+        <dia:enum val="4"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O30" connection="10"/>
+        <dia:connection handle="1" to="O13" connection="0"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Text" version="0" id="O32">
+      <dia:attribute name="obj_pos">
+        <dia:point val="16.299,15.3073"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="16.299,14.8073;20.399,16.2073"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#Development is
+finished with bug#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.59999999999999998"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="16.299,15.3073"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="0"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Text" version="0" id="O33">
+      <dia:attribute name="obj_pos">
+        <dia:point val="11.4365,21"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="11.4365,20.5;15.2365,21.9"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#QA not satisfied
+with solution#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.59999999999999998"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="11.4365,21"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="0"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Text" version="0" id="O34">
+      <dia:attribute name="obj_pos">
+        <dia:point val="16.8365,21.05"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="16.8365,20.55;20.6365,21.95"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#QA verifies
+solution worked#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.59999999999999998"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="16.8365,21.05"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="0"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Text" version="0" id="O35">
+      <dia:attribute name="obj_pos">
+        <dia:point val="17.224,25.875"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="17.224,25.375;20.474,26.175"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#Bug is closed#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.59999999999999998"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="17.224,25.875"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="0"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Text" version="0" id="O36">
+      <dia:attribute name="obj_pos">
+        <dia:point val="22.5365,18.5"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="22.5365,18;25.7865,18.8"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#Bug is closed#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.59999999999999998"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="22.5365,18.5"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="0"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Text" version="0" id="O37">
+      <dia:attribute name="obj_pos">
+        <dia:point val="9.62401,17.8111"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="5.72401,17.3111;9.62401,18.7111"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#Developer takes
+possession#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.59999999999999998"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="9.62401,17.8111"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="2"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Text" version="0" id="O38">
+      <dia:attribute name="obj_pos">
+        <dia:point val="11.1865,19.15"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="11.1865,18.65;13.2365,20.05"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#Issue is
+resolved#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.59999999999999998"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="11.1865,19.15"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="0"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Text" version="0" id="O39">
+      <dia:attribute name="obj_pos">
+        <dia:point val="11.049,25.325"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="11.049,24.825;14.999,25.625"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#Bug is reopened#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.59999999999999998"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="11.049,25.325"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="0"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Text" version="0" id="O40">
+      <dia:attribute name="obj_pos">
+        <dia:point val="13.9365,22.75"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="13.9365,22.25;17.8865,23.05"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#Bug is reopened#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.59999999999999998"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="13.9365,22.75"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="0"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - BezierLine" version="0" id="O41">
+      <dia:attribute name="obj_pos">
+        <dia:point val="19,17.95"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="18.9494,3.46851;29.05,18.0006"/>
+      </dia:attribute>
+      <dia:attribute name="bez_points">
+        <dia:point val="19,17.95"/>
+        <dia:point val="23,18"/>
+        <dia:point val="29,14"/>
+        <dia:point val="29,11"/>
+        <dia:point val="29,8"/>
+        <dia:point val="27,7"/>
+        <dia:point val="23.9286,3.85355"/>
+      </dia:attribute>
+      <dia:attribute name="corner_types">
+        <dia:enum val="0"/>
+        <dia:enum val="0"/>
+        <dia:enum val="0"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O13" connection="8"/>
+        <dia:connection handle="6" to="O10" connection="15"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Text" version="0" id="O42">
+      <dia:attribute name="obj_pos">
+        <dia:point val="24,10"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="24,9.5;28.1,10.9"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#Development is
+finished with bug#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.59999999999999998"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="24,10"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="0"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - BezierLine" version="0" id="O43">
+      <dia:attribute name="obj_pos">
+        <dia:point val="23.8536,22.1464"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="23.5359,3.46851;29.0712,22.2033"/>
+      </dia:attribute>
+      <dia:attribute name="bez_points">
+        <dia:point val="23.8536,22.1464"/>
+        <dia:point val="29.6426,21.2696"/>
+        <dia:point val="29,14"/>
+        <dia:point val="29,11"/>
+        <dia:point val="29,8"/>
+        <dia:point val="27,7"/>
+        <dia:point val="23.9286,3.85355"/>
+      </dia:attribute>
+      <dia:attribute name="corner_types">
+        <dia:enum val="0"/>
+        <dia:enum val="0"/>
+        <dia:enum val="0"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O14" connection="4"/>
+        <dia:connection handle="6" to="O10" connection="15"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - BezierLine" version="0" id="O44">
+      <dia:attribute name="obj_pos">
+        <dia:point val="18.8536,28.7536"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="18.8032,3.46851;29.05,28.8043"/>
+      </dia:attribute>
+      <dia:attribute name="bez_points">
+        <dia:point val="18.8536,28.7536"/>
+        <dia:point val="28.0326,28.8213"/>
+        <dia:point val="29,24"/>
+        <dia:point val="29,21"/>
+        <dia:point val="29,18"/>
+        <dia:point val="29,14"/>
+        <dia:point val="29,11"/>
+        <dia:point val="29,8"/>
+        <dia:point val="27,7"/>
+        <dia:point val="23.9286,3.85355"/>
+      </dia:attribute>
+      <dia:attribute name="corner_types">
+        <dia:enum val="0"/>
+        <dia:enum val="0"/>
+        <dia:enum val="0"/>
+        <dia:enum val="0"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
+      </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O16" connection="15"/>
+        <dia:connection handle="9" to="O10" connection="15"/>
+      </dia:connections>
+    </dia:object>
+    <dia:object type="Standard - Text" version="0" id="O45">
+      <dia:attribute name="obj_pos">
+        <dia:point val="25,4"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="25,3.5;30,4.9"/>
+      </dia:attribute>
+      <dia:attribute name="text">
+        <dia:composite type="text">
+          <dia:attribute name="string">
+            <dia:string>#Bug is reopened,
+was never confirmed#</dia:string>
+          </dia:attribute>
+          <dia:attribute name="font">
+            <dia:font family="sans" style="0" name="Helvetica"/>
+          </dia:attribute>
+          <dia:attribute name="height">
+            <dia:real val="0.59999999999999998"/>
+          </dia:attribute>
+          <dia:attribute name="pos">
+            <dia:point val="25,4"/>
+          </dia:attribute>
+          <dia:attribute name="color">
+            <dia:color val="#000000"/>
+          </dia:attribute>
+          <dia:attribute name="alignment">
+            <dia:enum val="0"/>
+          </dia:attribute>
+        </dia:composite>
+      </dia:attribute>
+    </dia:object>
+  </dia:layer>
+</dia:diagram>
diff --git a/docs/images/callouts/CVS/Entries b/docs/images/callouts/CVS/Entries
index 94e1db6d9ad26c58c44d67339e70292e3e4832ae..7136bfa08e52e12f658bf85bc8d823bdacab8f45 100644
--- a/docs/images/callouts/CVS/Entries
+++ b/docs/images/callouts/CVS/Entries
@@ -1,4 +1,4 @@
-/1.gif/1.1/Sat May 17 01:27:53 2003//TBUGZILLA-2_17_7
-/2.gif/1.1/Sat May 17 01:27:54 2003//TBUGZILLA-2_17_7
-/3.gif/1.1/Thu Jul  3 20:23:39 2003//TBUGZILLA-2_17_7
+/1.gif/1.1/Sat May 17 01:27:53 2003//TBUGZILLA-2_18
+/2.gif/1.1/Sat May 17 01:27:54 2003//TBUGZILLA-2_18
+/3.gif/1.1/Thu Jul  3 20:23:39 2003//TBUGZILLA-2_18
 D
diff --git a/docs/images/callouts/CVS/Tag b/docs/images/callouts/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/docs/images/callouts/CVS/Tag
+++ b/docs/images/callouts/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/docs/pdf/Bugzilla-Guide.pdf b/docs/pdf/Bugzilla-Guide.pdf
index 222962c1456c35a6b63373c98ea72e7c21727b81..98fd99182892ed98026077ff8f386ada77ecb601 100644
--- a/docs/pdf/Bugzilla-Guide.pdf
+++ b/docs/pdf/Bugzilla-Guide.pdf
@@ -3,7 +3,7 @@
 << /S /GoTo /D (1.0) >>
 endobj
 4 0 obj
-(The Bugzilla Guide 2.17.7 Development Release)
+(The Bugzilla Guide 2.18 Release)
 endobj
 5 0 obj
 << /S /GoTo /D (2.0) >>
@@ -15,11766 +15,17255 @@ endobj
 << /S /GoTo /D (3.0) >>
 endobj
 12 0 obj
-(List of Examples)
+(List of Figures)
 endobj
 13 0 obj
 << /S /GoTo /D (4.0) >>
 endobj
 16 0 obj
-(Chapter 1. About This Guide)
+(List of Examples)
 endobj
 17 0 obj
-<< /S /GoTo /D (4.1.1) >>
+<< /S /GoTo /D (5.0) >>
 endobj
 20 0 obj
-(1.1. Copyright Information)
+(Chapter 1. About This Guide)
 endobj
 21 0 obj
-<< /S /GoTo /D (4.2.1) >>
+<< /S /GoTo /D (5.1.1) >>
 endobj
 24 0 obj
-(1.2. Disclaimer)
+(1.1. Copyright Information)
 endobj
 25 0 obj
-<< /S /GoTo /D (4.3.1) >>
+<< /S /GoTo /D (5.2.1) >>
 endobj
 28 0 obj
-(1.3. New Versions)
+(1.2. Disclaimer)
 endobj
 29 0 obj
-<< /S /GoTo /D (4.4.1) >>
+<< /S /GoTo /D (5.3.1) >>
 endobj
 32 0 obj
-(1.4. Credits)
+(1.3. New Versions)
 endobj
 33 0 obj
-<< /S /GoTo /D (4.5.1) >>
+<< /S /GoTo /D (5.4.1) >>
 endobj
 36 0 obj
-(1.5. Document Conventions)
+(1.4. Credits)
 endobj
 37 0 obj
-<< /S /GoTo /D (5.0) >>
+<< /S /GoTo /D (5.5.1) >>
 endobj
 40 0 obj
-(Chapter 2. Installing Bugzilla)
+(1.5. Document Conventions)
 endobj
 41 0 obj
-<< /S /GoTo /D (5.6.1) >>
+<< /S /GoTo /D (6.0) >>
 endobj
 44 0 obj
-(2.1. Installation)
+(Chapter 2. Installing Bugzilla)
 endobj
 45 0 obj
-<< /S /GoTo /D (5.6.1.2) >>
+<< /S /GoTo /D (6.6.1) >>
 endobj
 48 0 obj
-(2.1.1. Perl)
+(2.1. Installation)
 endobj
 49 0 obj
-<< /S /GoTo /D (5.6.2.2) >>
+<< /S /GoTo /D (6.6.1.2) >>
 endobj
 52 0 obj
-(2.1.2. MySQL)
+(2.1.1. Perl)
 endobj
 53 0 obj
-<< /S /GoTo /D (5.6.3.2) >>
+<< /S /GoTo /D (6.6.2.2) >>
 endobj
 56 0 obj
-(2.1.3. Web Server)
+(2.1.2. MySQL)
 endobj
 57 0 obj
-<< /S /GoTo /D (5.6.4.2) >>
+<< /S /GoTo /D (6.6.3.2) >>
 endobj
 60 0 obj
-(2.1.4. Bugzilla)
+(2.1.3. Web Server)
 endobj
 61 0 obj
-<< /S /GoTo /D (5.6.5.2) >>
+<< /S /GoTo /D (6.6.4.2) >>
 endobj
 64 0 obj
-(2.1.5. Perl Modules)
+(2.1.4. Bugzilla)
 endobj
 65 0 obj
-<< /S /GoTo /D (5.6.5.1.3) >>
+<< /S /GoTo /D (6.6.5.2) >>
 endobj
 68 0 obj
-(2.1.5.1. DBD::mysql)
+(2.1.5. Perl Modules)
 endobj
 69 0 obj
-<< /S /GoTo /D (5.6.5.2.3) >>
+<< /S /GoTo /D (6.6.5.1.3) >>
 endobj
 72 0 obj
-(2.1.5.2. Template Toolkit \(2.08\))
+(2.1.5.1. DBD::mysql)
 endobj
 73 0 obj
-<< /S /GoTo /D (5.6.5.3.3) >>
+<< /S /GoTo /D (6.6.5.2.3) >>
 endobj
 76 0 obj
-(2.1.5.3. GD \(1.20\))
+(2.1.5.2. Template Toolkit \(2.08\))
 endobj
 77 0 obj
-<< /S /GoTo /D (5.6.5.4.3) >>
+<< /S /GoTo /D (6.6.5.3.3) >>
 endobj
 80 0 obj
-(2.1.5.4. Chart::Base \(0.99c\))
+(2.1.5.3. GD \(1.20\))
 endobj
 81 0 obj
-<< /S /GoTo /D (5.6.5.5.3) >>
+<< /S /GoTo /D (6.6.5.4.3) >>
 endobj
 84 0 obj
-(2.1.5.5. GD::Graph \(any\))
+(2.1.5.4. Chart::Base \(1.0\))
 endobj
 85 0 obj
-<< /S /GoTo /D (5.6.5.6.3) >>
+<< /S /GoTo /D (6.6.5.5.3) >>
 endobj
 88 0 obj
-(2.1.5.6. GD::Text::Align \(any\))
+(2.1.5.5. GD::Graph \(any\))
 endobj
 89 0 obj
-<< /S /GoTo /D (5.6.5.7.3) >>
+<< /S /GoTo /D (6.6.5.6.3) >>
 endobj
 92 0 obj
-(2.1.5.7. XML::Parser \(any\))
+(2.1.5.6. GD::Text::Align \(any\))
 endobj
 93 0 obj
-<< /S /GoTo /D (5.6.5.8.3) >>
+<< /S /GoTo /D (6.6.5.7.3) >>
 endobj
 96 0 obj
-(2.1.5.8. MIME::Parser \(any\))
+(2.1.5.7. XML::Parser \(any\))
 endobj
 97 0 obj
-<< /S /GoTo /D (5.6.5.9.3) >>
+<< /S /GoTo /D (6.6.5.8.3) >>
 endobj
 100 0 obj
-(2.1.5.9. PatchReader \(0.9.1\))
+(2.1.5.8. MIME::Parser \(any\))
 endobj
 101 0 obj
-<< /S /GoTo /D (5.7.1) >>
+<< /S /GoTo /D (6.6.5.9.3) >>
 endobj
 104 0 obj
-(2.2. Configuration)
+(2.1.5.9. PatchReader \(0.9.4\))
 endobj
 105 0 obj
-<< /S /GoTo /D (5.7.6.2) >>
+<< /S /GoTo /D (6.6.6.2) >>
 endobj
 108 0 obj
-(2.2.1. localconfig)
+(2.1.6. Mail Transfer Agent \(MTA\))
 endobj
 109 0 obj
-<< /S /GoTo /D (5.7.7.2) >>
+<< /S /GoTo /D (6.7.1) >>
 endobj
 112 0 obj
-(2.2.2. MySQL)
+(2.2. Configuration)
 endobj
 113 0 obj
-<< /S /GoTo /D (5.7.7.10.3) >>
+<< /S /GoTo /D (6.7.7.2) >>
 endobj
 116 0 obj
-(2.2.2.1. Security)
+(2.2.1. localconfig)
 endobj
 117 0 obj
-<< /S /GoTo /D (5.7.7.11.3) >>
+<< /S /GoTo /D (6.7.8.2) >>
 endobj
 120 0 obj
-(2.2.2.2. Allow large attachments)
+(2.2.2. MySQL)
 endobj
 121 0 obj
-<< /S /GoTo /D (5.7.7.12.3) >>
+<< /S /GoTo /D (6.7.8.10.3) >>
 endobj
 124 0 obj
-(2.2.2.3. Add a user to MySQL)
+(2.2.2.1. Allow large attachments)
 endobj
 125 0 obj
-<< /S /GoTo /D (5.7.8.2) >>
+<< /S /GoTo /D (6.7.8.11.3) >>
 endobj
 128 0 obj
-(2.2.3. checksetup.pl)
+(2.2.2.2. Allow small words in fulltext indexes)
 endobj
 129 0 obj
-<< /S /GoTo /D (5.7.9.2) >>
+<< /S /GoTo /D (6.7.8.12.3) >>
 endobj
 132 0 obj
-(2.2.4. Web server)
+(2.2.2.3. Permit attachments table to grow beyond 4GB)
 endobj
 133 0 obj
-<< /S /GoTo /D (5.7.9.13.3) >>
+<< /S /GoTo /D (6.7.8.13.3) >>
 endobj
 136 0 obj
-(2.2.4.1. Apache httpd)
+(2.2.2.4. Add a user to MySQL)
 endobj
 137 0 obj
-<< /S /GoTo /D (5.7.9.14.3) >>
+<< /S /GoTo /D (6.7.9.2) >>
 endobj
 140 0 obj
-(2.2.4.2. Microsoft Internet Information Services)
+(2.2.3. checksetup.pl)
 endobj
 141 0 obj
-<< /S /GoTo /D (5.7.9.15.3) >>
+<< /S /GoTo /D (6.7.10.2) >>
 endobj
 144 0 obj
-(2.2.4.3. AOL Server)
+(2.2.4. Web server)
 endobj
 145 0 obj
-<< /S /GoTo /D (5.7.9.16.3) >>
+<< /S /GoTo /D (6.7.10.14.3) >>
 endobj
 148 0 obj
-(2.2.4.4. Web Server Access Controls)
+(2.2.4.1. Apache httpd)
 endobj
 149 0 obj
-<< /S /GoTo /D (5.7.10.2) >>
+<< /S /GoTo /D (6.7.10.15.3) >>
 endobj
 152 0 obj
-(2.2.5. Bugzilla)
+(2.2.4.2. Microsoft Internet Information Services)
 endobj
 153 0 obj
-<< /S /GoTo /D (5.8.1) >>
+<< /S /GoTo /D (6.7.10.16.3) >>
 endobj
 156 0 obj
-(2.3. Optional Additional Configuration)
+(2.2.4.3. AOL Server)
 endobj
 157 0 obj
-<< /S /GoTo /D (5.8.11.2) >>
+<< /S /GoTo /D (6.7.11.2) >>
 endobj
 160 0 obj
-(2.3.1. Bug Graphs)
+(2.2.5. Bugzilla)
 endobj
 161 0 obj
-<< /S /GoTo /D (5.8.12.2) >>
+<< /S /GoTo /D (6.8.1) >>
 endobj
 164 0 obj
-(2.3.2. Dependency Charts)
+(2.3. Optional Additional Configuration)
 endobj
 165 0 obj
-<< /S /GoTo /D (5.8.13.2) >>
+<< /S /GoTo /D (6.8.12.2) >>
 endobj
 168 0 obj
-(2.3.3. The Whining Cron)
+(2.3.1. Bug Graphs)
 endobj
 169 0 obj
-<< /S /GoTo /D (5.8.14.2) >>
+<< /S /GoTo /D (6.8.13.2) >>
 endobj
 172 0 obj
-(2.3.4. Patch Viewer)
+(2.3.2. Dependency Charts)
 endobj
 173 0 obj
-<< /S /GoTo /D (5.8.15.2) >>
+<< /S /GoTo /D (6.8.14.2) >>
 endobj
 176 0 obj
-(2.3.5. LDAP Authentication)
+(2.3.3. The Whining Cron)
 endobj
 177 0 obj
-<< /S /GoTo /D (5.8.16.2) >>
+<< /S /GoTo /D (6.8.15.2) >>
 endobj
 180 0 obj
-(2.3.6. Prevent users injecting malicious Javascript)
+(2.3.4. Patch Viewer)
 endobj
 181 0 obj
-<< /S /GoTo /D (5.8.17.2) >>
+<< /S /GoTo /D (6.8.16.2) >>
 endobj
 184 0 obj
-(2.3.7. modthrottle)
+(2.3.5. LDAP Authentication)
 endobj
 185 0 obj
-<< /S /GoTo /D (5.8.18.2) >>
+<< /S /GoTo /D (6.8.17.2) >>
 endobj
 188 0 obj
-(2.3.8. TCP/IP Ports)
+(2.3.6. Serving Alternate Formats with the right MIME type)
 endobj
 189 0 obj
-<< /S /GoTo /D (5.8.19.2) >>
+<< /S /GoTo /D (6.9.1) >>
 endobj
 192 0 obj
-(2.3.9. Daemon Accounts)
+(2.4. OSSpecific Installation Notes)
 endobj
 193 0 obj
-<< /S /GoTo /D (5.9.1) >>
+<< /S /GoTo /D (6.9.18.2) >>
 endobj
 196 0 obj
-(2.4. OSSpecific Installation Notes)
+(2.4.1. Microsoft Windows)
 endobj
 197 0 obj
-<< /S /GoTo /D (5.9.20.2) >>
+<< /S /GoTo /D (6.9.18.17.3) >>
 endobj
 200 0 obj
-(2.4.1. Microsoft Windows)
+(2.4.1.1. Win32 Perl)
 endobj
 201 0 obj
-<< /S /GoTo /D (5.9.20.17.3) >>
+<< /S /GoTo /D (6.9.18.18.3) >>
 endobj
 204 0 obj
-(2.4.1.1. Win32 Perl)
+(2.4.1.2. Perl Modules on Win32)
 endobj
 205 0 obj
-<< /S /GoTo /D (5.9.20.18.3) >>
+<< /S /GoTo /D (6.9.18.19.3) >>
 endobj
 208 0 obj
-(2.4.1.2. Perl Modules on Win32)
+(2.4.1.3. Code changes required to run on win32)
 endobj
 209 0 obj
-<< /S /GoTo /D (5.9.20.19.3) >>
+<< /S /GoTo /D (6.9.18.20.3) >>
 endobj
 212 0 obj
-(2.4.1.3. Code changes required to run on win32)
+(2.4.1.4. Serving the web pages)
 endobj
 213 0 obj
-<< /S /GoTo /D (5.9.20.19.1.4) >>
+<< /S /GoTo /D (6.9.19.2) >>
 endobj
 216 0 obj
-(2.4.1.3.1. Changes to checksetup.pl)
+(2.4.2. Mac OS X)
 endobj
 217 0 obj
-<< /S /GoTo /D (5.9.20.19.2.4) >>
+<< /S /GoTo /D (6.9.20.2) >>
 endobj
 220 0 obj
-(2.4.1.3.2. Changes to BugMail.pm)
+(2.4.3. LinuxMandrake 8.0)
 endobj
 221 0 obj
-<< /S /GoTo /D (5.9.20.20.3) >>
+<< /S /GoTo /D (6.10.1) >>
 endobj
 224 0 obj
-(2.4.1.4. Serving the web pages)
+(2.5. UNIX \(nonroot\) Installation Notes)
 endobj
 225 0 obj
-<< /S /GoTo /D (5.9.21.2) >>
+<< /S /GoTo /D (6.10.21.2) >>
 endobj
 228 0 obj
-(2.4.2. Mac OS X)
+(2.5.1. Introduction)
 endobj
 229 0 obj
-<< /S /GoTo /D (5.9.22.2) >>
+<< /S /GoTo /D (6.10.22.2) >>
 endobj
 232 0 obj
-(2.4.3. LinuxMandrake 8.0)
+(2.5.2. MySQL)
 endobj
 233 0 obj
-<< /S /GoTo /D (5.10.1) >>
+<< /S /GoTo /D (6.10.22.21.3) >>
 endobj
 236 0 obj
-(2.5. Troubleshooting)
+(2.5.2.1. Running MySQL as NonRoot)
 endobj
 237 0 obj
-<< /S /GoTo /D (5.10.23.2) >>
+<< /S /GoTo /D (6.10.22.21.1.4) >>
 endobj
 240 0 obj
-(2.5.1. General Advice)
+(2.5.2.1.1. The Custom Configuration Method)
 endobj
 241 0 obj
-<< /S /GoTo /D (5.10.24.2) >>
+<< /S /GoTo /D (6.10.22.21.2.4) >>
 endobj
 244 0 obj
-(2.5.2. I installed a Perl module, but checksetup.pl claims it's not installed!)
+(2.5.2.1.2. The Custom Built Method)
 endobj
 245 0 obj
-<< /S /GoTo /D (5.10.25.2) >>
+<< /S /GoTo /D (6.10.22.21.3.4) >>
 endobj
 248 0 obj
-(2.5.3. Bundle::Bugzilla makes me upgrade to Perl 5.6.1)
+(2.5.2.1.3. Starting the Server)
 endobj
 249 0 obj
-<< /S /GoTo /D (5.10.26.2) >>
+<< /S /GoTo /D (6.10.23.2) >>
 endobj
 252 0 obj
-(2.5.4. DBD::Sponge::db prepare failed)
+(2.5.3. Perl)
 endobj
 253 0 obj
-<< /S /GoTo /D (5.10.27.2) >>
+<< /S /GoTo /D (6.10.24.2) >>
 endobj
 256 0 obj
-(2.5.5. cannot chdir\(/var/spool/mqueue\))
+(2.5.4. Perl Modules)
 endobj
 257 0 obj
-<< /S /GoTo /D (5.10.28.2) >>
+<< /S /GoTo /D (6.10.24.22.3) >>
 endobj
 260 0 obj
-(2.5.6. Your vendor has not defined Fcntl macro ONOINHERIT)
+(2.5.4.1. The Independant Method)
 endobj
 261 0 obj
-<< /S /GoTo /D (6.0) >>
+<< /S /GoTo /D (6.10.24.23.3) >>
 endobj
 264 0 obj
-(Chapter 3. Administering Bugzilla)
+(2.5.4.2. The Mixed Method)
 endobj
 265 0 obj
-<< /S /GoTo /D (6.11.1) >>
+<< /S /GoTo /D (6.10.25.2) >>
 endobj
 268 0 obj
-(3.1. Bugzilla Configuration)
+(2.5.5. HTTP Server)
 endobj
 269 0 obj
-<< /S /GoTo /D (6.12.1) >>
+<< /S /GoTo /D (6.10.25.24.3) >>
 endobj
 272 0 obj
-(3.2. User Administration)
+(2.5.5.1. Running Apache as NonRoot)
 endobj
 273 0 obj
-<< /S /GoTo /D (6.12.29.2) >>
+<< /S /GoTo /D (6.10.26.2) >>
 endobj
 276 0 obj
-(3.2.1. Creating the Default User)
+(2.5.6. Bugzilla)
 endobj
 277 0 obj
-<< /S /GoTo /D (6.12.30.2) >>
+<< /S /GoTo /D (7.0) >>
 endobj
 280 0 obj
-(3.2.2. Managing Other Users)
+(Chapter 3. Administering Bugzilla)
 endobj
 281 0 obj
-<< /S /GoTo /D (6.12.30.21.3) >>
+<< /S /GoTo /D (7.11.1) >>
 endobj
 284 0 obj
-(3.2.2.1. Creating new users)
+(3.1. Bugzilla Configuration)
 endobj
 285 0 obj
-<< /S /GoTo /D (6.12.30.22.3) >>
+<< /S /GoTo /D (7.12.1) >>
 endobj
 288 0 obj
-(3.2.2.2. Modifying Users)
+(3.2. User Administration)
 endobj
 289 0 obj
-<< /S /GoTo /D (6.13.1) >>
+<< /S /GoTo /D (7.12.27.2) >>
 endobj
 292 0 obj
-(3.3. Products)
+(3.2.1. Creating the Default User)
 endobj
 293 0 obj
-<< /S /GoTo /D (6.14.1) >>
+<< /S /GoTo /D (7.12.28.2) >>
 endobj
 296 0 obj
-(3.4. Components)
+(3.2.2. Managing Other Users)
 endobj
 297 0 obj
-<< /S /GoTo /D (6.15.1) >>
+<< /S /GoTo /D (7.12.28.25.3) >>
 endobj
 300 0 obj
-(3.5. Versions)
+(3.2.2.1. Creating new users)
 endobj
 301 0 obj
-<< /S /GoTo /D (6.16.1) >>
+<< /S /GoTo /D (7.12.28.26.3) >>
 endobj
 304 0 obj
-(3.6. Milestones)
+(3.2.2.2. Modifying Users)
 endobj
 305 0 obj
-<< /S /GoTo /D (6.17.1) >>
+<< /S /GoTo /D (7.13.1) >>
 endobj
 308 0 obj
-(3.7. Voting)
+(3.3. Products)
 endobj
 309 0 obj
-<< /S /GoTo /D (6.18.1) >>
+<< /S /GoTo /D (7.14.1) >>
 endobj
 312 0 obj
-(3.8. Groups and Group Security)
+(3.4. Components)
 endobj
 313 0 obj
-<< /S /GoTo /D (6.19.1) >>
+<< /S /GoTo /D (7.15.1) >>
 endobj
 316 0 obj
-(3.9. Upgrading to New Releases)
+(3.5. Versions)
 endobj
 317 0 obj
-<< /S /GoTo /D (7.0) >>
+<< /S /GoTo /D (7.16.1) >>
 endobj
 320 0 obj
-(Chapter 4. Customising Bugzilla)
+(3.6. Milestones)
 endobj
 321 0 obj
-<< /S /GoTo /D (7.20.1) >>
+<< /S /GoTo /D (7.17.1) >>
 endobj
 324 0 obj
-(4.1. Template Customization)
+(3.7. Flags)
 endobj
 325 0 obj
-<< /S /GoTo /D (7.20.31.2) >>
+<< /S /GoTo /D (7.17.29.2) >>
 endobj
 328 0 obj
-(4.1.1. What to Edit)
+(3.7.1. A Simple Example)
 endobj
 329 0 obj
-<< /S /GoTo /D (7.20.32.2) >>
+<< /S /GoTo /D (7.17.30.2) >>
 endobj
 332 0 obj
-(4.1.2. How To Edit Templates)
+(3.7.2. About Flags)
 endobj
 333 0 obj
-<< /S /GoTo /D (7.20.33.2) >>
+<< /S /GoTo /D (7.17.30.27.3) >>
 endobj
 336 0 obj
-(4.1.3. Template Formats)
+(3.7.2.1. Values)
 endobj
 337 0 obj
-<< /S /GoTo /D (7.20.34.2) >>
+<< /S /GoTo /D (7.17.31.2) >>
 endobj
 340 0 obj
-(4.1.4. Particular Templates)
+(3.7.3. Using flag requests)
 endobj
 341 0 obj
-<< /S /GoTo /D (7.20.35.2) >>
+<< /S /GoTo /D (7.17.32.2) >>
 endobj
 344 0 obj
-(4.1.5. Configuring Bugzilla to Detect the User's Language)
+(3.7.4. Two Types of Flags)
 endobj
 345 0 obj
-<< /S /GoTo /D (7.21.1) >>
+<< /S /GoTo /D (7.17.32.28.3) >>
 endobj
 348 0 obj
-(4.2. Template Hooks)
+(3.7.4.1. Attachment Flags)
 endobj
 349 0 obj
-<< /S /GoTo /D (7.22.1) >>
+<< /S /GoTo /D (7.17.32.29.3) >>
 endobj
 352 0 obj
-(4.3. Customizing Who Can Change What)
+(3.7.4.2. Bug Flags)
 endobj
 353 0 obj
-<< /S /GoTo /D (7.23.1) >>
+<< /S /GoTo /D (7.17.33.2) >>
 endobj
 356 0 obj
-(4.4. Modifying Your Running System)
+(3.7.5. Administering Flags)
 endobj
 357 0 obj
-<< /S /GoTo /D (7.24.1) >>
+<< /S /GoTo /D (7.17.33.30.3) >>
 endobj
 360 0 obj
-(4.5. MySQL Bugzilla Database Introduction)
+(3.7.5.1. Creating a Flag)
 endobj
 361 0 obj
-<< /S /GoTo /D (7.24.36.2) >>
+<< /S /GoTo /D (7.17.33.30.4.4) >>
 endobj
 364 0 obj
-(4.5.1. Bugzilla Database Basics)
+(3.7.5.1.1. Name)
 endobj
 365 0 obj
-<< /S /GoTo /D (7.24.36.23.3) >>
+<< /S /GoTo /D (7.17.33.30.5.4) >>
 endobj
 368 0 obj
-(4.5.1.1. Bugzilla Database Tables)
+(3.7.5.1.2. Description)
 endobj
 369 0 obj
-<< /S /GoTo /D (7.25.1) >>
+<< /S /GoTo /D (7.17.33.30.6.4) >>
 endobj
 372 0 obj
-(4.6. Integrating Bugzilla with ThirdParty Tools)
+(3.7.5.1.3. Category)
 endobj
 373 0 obj
-<< /S /GoTo /D (7.25.37.2) >>
+<< /S /GoTo /D (7.17.33.30.7.4) >>
 endobj
 376 0 obj
-(4.6.1. Bonsai)
+(3.7.5.1.4. Sort Key)
 endobj
 377 0 obj
-<< /S /GoTo /D (7.25.38.2) >>
+<< /S /GoTo /D (7.17.33.30.8.4) >>
 endobj
 380 0 obj
-(4.6.2. CVS)
+(3.7.5.1.5. Active)
 endobj
 381 0 obj
-<< /S /GoTo /D (7.25.39.2) >>
+<< /S /GoTo /D (7.17.33.30.9.4) >>
 endobj
 384 0 obj
-(4.6.3. Perforce SCM)
+(3.7.5.1.6. Requestable)
 endobj
 385 0 obj
-<< /S /GoTo /D (7.25.40.2) >>
+<< /S /GoTo /D (7.17.33.30.10.4) >>
 endobj
 388 0 obj
-(4.6.4. Tinderbox/Tinderbox2)
+(3.7.5.1.7. CC List)
 endobj
 389 0 obj
-<< /S /GoTo /D (8.0) >>
+<< /S /GoTo /D (7.17.33.30.11.4) >>
 endobj
 392 0 obj
-(Chapter 5. Using Bugzilla)
+(3.7.5.1.8. Specifically Requestable)
 endobj
 393 0 obj
-<< /S /GoTo /D (8.26.1) >>
+<< /S /GoTo /D (7.17.33.30.12.4) >>
 endobj
 396 0 obj
-(5.1. Introduction)
+(3.7.5.1.9. Multiplicable)
 endobj
 397 0 obj
-<< /S /GoTo /D (8.27.1) >>
+<< /S /GoTo /D (7.17.33.31.3) >>
 endobj
 400 0 obj
-(5.2. Create a Bugzilla Account)
+(3.7.5.2. Deleting a Flag)
 endobj
 401 0 obj
-<< /S /GoTo /D (8.28.1) >>
+<< /S /GoTo /D (7.17.33.32.3) >>
 endobj
 404 0 obj
-(5.3. Anatomy of a Bug)
+(3.7.5.3. Editing a Flag)
 endobj
 405 0 obj
-<< /S /GoTo /D (8.29.1) >>
+<< /S /GoTo /D (7.18.1) >>
 endobj
 408 0 obj
-(5.4. Searching for Bugs)
+(3.8. Voting)
 endobj
 409 0 obj
-<< /S /GoTo /D (8.30.1) >>
+<< /S /GoTo /D (7.19.1) >>
 endobj
 412 0 obj
-(5.5. Bug Lists)
+(3.9. Quips)
 endobj
 413 0 obj
-<< /S /GoTo /D (8.31.1) >>
+<< /S /GoTo /D (7.20.1) >>
 endobj
 416 0 obj
-(5.6. Filing Bugs)
+(3.10. Groups and Group Security)
 endobj
 417 0 obj
-<< /S /GoTo /D (8.32.1) >>
+<< /S /GoTo /D (7.20.34.2) >>
 endobj
 420 0 obj
-(5.7. Patch Viewer)
+(3.10.1. Creating Groups)
 endobj
 421 0 obj
-<< /S /GoTo /D (8.32.41.2) >>
+<< /S /GoTo /D (7.20.35.2) >>
 endobj
 424 0 obj
-(5.7.1. Viewing Patches in Patch Viewer)
+(3.10.2. Assigning Users to Groups)
 endobj
 425 0 obj
-<< /S /GoTo /D (8.32.42.2) >>
+<< /S /GoTo /D (7.20.36.2) >>
 endobj
 428 0 obj
-(5.7.2. Seeing the Difference Between Two Patches)
+(3.10.3. Assigning Group Controls to Products)
 endobj
 429 0 obj
-<< /S /GoTo /D (8.32.43.2) >>
+<< /S /GoTo /D (7.20.37.2) >>
 endobj
 432 0 obj
-(5.7.3. Getting More Context in a Patch)
+(3.10.4. Common Applications of Group Controls)
 endobj
 433 0 obj
-<< /S /GoTo /D (8.32.44.2) >>
+<< /S /GoTo /D (7.20.37.33.3) >>
 endobj
 436 0 obj
-(5.7.4. Collapsing and Expanding Sections of a Patch)
+(3.10.4.1. General User Access With Security Group)
 endobj
 437 0 obj
-<< /S /GoTo /D (8.32.45.2) >>
+<< /S /GoTo /D (7.20.37.34.3) >>
 endobj
 440 0 obj
-(5.7.5. Linking to a Section of a Patch)
+(3.10.4.2. General User Access With A Security Product)
 endobj
 441 0 obj
-<< /S /GoTo /D (8.32.46.2) >>
+<< /S /GoTo /D (7.20.37.35.3) >>
 endobj
 444 0 obj
-(5.7.6. Going to Bonsai and LXR)
+(3.10.4.3. Product Isolation With Common Group)
 endobj
 445 0 obj
-<< /S /GoTo /D (8.32.47.2) >>
+<< /S /GoTo /D (7.21.1) >>
 endobj
 448 0 obj
-(5.7.7. Creating a Unified Diff)
+(3.11. Upgrading to New Releases)
 endobj
 449 0 obj
-<< /S /GoTo /D (8.33.1) >>
+<< /S /GoTo /D (8.0) >>
 endobj
 452 0 obj
-(5.8. Hints and Tips)
+(Chapter 4. Bugzilla Security)
 endobj
 453 0 obj
-<< /S /GoTo /D (8.33.48.2) >>
+<< /S /GoTo /D (8.22.1) >>
 endobj
 456 0 obj
-(5.8.1. Autolinkification)
+(4.1. Operating System)
 endobj
 457 0 obj
-<< /S /GoTo /D (8.33.49.2) >>
+<< /S /GoTo /D (8.22.38.2) >>
 endobj
 460 0 obj
-(5.8.2. Quicksearch)
+(4.1.1. TCP/IP Ports)
 endobj
 461 0 obj
-<< /S /GoTo /D (8.33.50.2) >>
+<< /S /GoTo /D (8.22.39.2) >>
 endobj
 464 0 obj
-(5.8.3. Comments)
+(4.1.2. System User Accounts)
 endobj
 465 0 obj
-<< /S /GoTo /D (8.33.51.2) >>
+<< /S /GoTo /D (8.22.40.2) >>
 endobj
 468 0 obj
-(5.8.4. Attachments)
+(4.1.3. The chroot Jail)
 endobj
 469 0 obj
-<< /S /GoTo /D (8.34.1) >>
+<< /S /GoTo /D (8.23.1) >>
 endobj
 472 0 obj
-(5.9. User Preferences)
+(4.2. MySQL)
 endobj
 473 0 obj
-<< /S /GoTo /D (8.34.52.2) >>
+<< /S /GoTo /D (8.23.41.2) >>
 endobj
 476 0 obj
-(5.9.1. Account Settings)
+(4.2.1. The MySQL System Account)
 endobj
 477 0 obj
-<< /S /GoTo /D (8.34.53.2) >>
+<< /S /GoTo /D (8.23.42.2) >>
 endobj
 480 0 obj
-(5.9.2. Email Settings)
+(4.2.2. The MySQL root and anonymous Users)
 endobj
 481 0 obj
-<< /S /GoTo /D (8.34.54.2) >>
+<< /S /GoTo /D (8.23.43.2) >>
 endobj
 484 0 obj
-(5.9.3. Permissions)
+(4.2.3. Network Access)
 endobj
 485 0 obj
-<< /S /GoTo /D (8.35.1) >>
+<< /S /GoTo /D (8.24.1) >>
 endobj
 488 0 obj
-(5.10. Reports)
+(4.3. Webserver)
 endobj
 489 0 obj
-<< /S /GoTo /D (9.0) >>
+<< /S /GoTo /D (8.24.44.2) >>
 endobj
 492 0 obj
-(Appendix A. The Bugzilla FAQ)
+(4.3.1. Disabling Remote Access to Bugzilla Configuration Files)
 endobj
 493 0 obj
-<< /S /GoTo /D (10.0) >>
+<< /S /GoTo /D (8.24.45.2) >>
 endobj
 496 0 obj
-(Appendix B. Contrib)
+(4.3.2. Using modthrottle to Prevent a DOS)
 endobj
 497 0 obj
-<< /S /GoTo /D (10.36.1) >>
+<< /S /GoTo /D (8.25.1) >>
 endobj
 500 0 obj
-(B.1. Commandline Search Interface)
+(4.4. Bugzilla)
 endobj
 501 0 obj
-<< /S /GoTo /D (11.0) >>
+<< /S /GoTo /D (8.25.46.2) >>
 endobj
 504 0 obj
-(Appendix C. Manual Installation of Perl Modules)
+(4.4.1. Prevent users injecting malicious Javascript)
 endobj
 505 0 obj
-<< /S /GoTo /D (11.37.1) >>
+<< /S /GoTo /D (9.0) >>
 endobj
 508 0 obj
-(C.1. Instructions)
+(Chapter 5. Customising Bugzilla)
 endobj
 509 0 obj
-<< /S /GoTo /D (11.38.1) >>
+<< /S /GoTo /D (9.26.1) >>
 endobj
 512 0 obj
-(C.2. Download Locations)
+(5.1. Template Customization)
 endobj
 513 0 obj
-<< /S /GoTo /D (12.0) >>
+<< /S /GoTo /D (9.26.47.2) >>
 endobj
 516 0 obj
-(Appendix D. GNU Free Documentation License)
+(5.1.1. Template Directory Structure)
 endobj
 517 0 obj
-<< /S /GoTo /D (12.39.1) >>
+<< /S /GoTo /D (9.26.48.2) >>
 endobj
 520 0 obj
-(0. Preamble)
+(5.1.2. Choosing a Customization Method)
 endobj
 521 0 obj
-<< /S /GoTo /D (12.40.1) >>
+<< /S /GoTo /D (9.26.49.2) >>
 endobj
 524 0 obj
-(1. Applicability and Definition)
+(5.1.3. How To Edit Templates)
 endobj
 525 0 obj
-<< /S /GoTo /D (12.41.1) >>
+<< /S /GoTo /D (9.26.50.2) >>
 endobj
 528 0 obj
-(2. Verbatim Copying)
+(5.1.4. Template Formats and Types)
 endobj
 529 0 obj
-<< /S /GoTo /D (12.42.1) >>
+<< /S /GoTo /D (9.26.51.2) >>
 endobj
 532 0 obj
-(3. Copying in Quantity)
+(5.1.5. Particular Templates)
 endobj
 533 0 obj
-<< /S /GoTo /D (12.43.1) >>
+<< /S /GoTo /D (9.26.52.2) >>
 endobj
 536 0 obj
-(4. Modifications)
+(5.1.6. Configuring Bugzilla to Detect the User's Language)
 endobj
 537 0 obj
-<< /S /GoTo /D (12.44.1) >>
+<< /S /GoTo /D (9.27.1) >>
 endobj
 540 0 obj
-(5. Combining Documents)
+(5.2. Template Hooks)
 endobj
 541 0 obj
-<< /S /GoTo /D (12.45.1) >>
+<< /S /GoTo /D (9.28.1) >>
 endobj
 544 0 obj
-(6. Collections of Documents)
+(5.3. Customizing Who Can Change What)
 endobj
 545 0 obj
-<< /S /GoTo /D (12.46.1) >>
+<< /S /GoTo /D (9.29.1) >>
 endobj
 548 0 obj
-(7. Aggregation with Independent Works)
+(5.4. Modifying Your Running System)
 endobj
 549 0 obj
-<< /S /GoTo /D (12.47.1) >>
+<< /S /GoTo /D (9.30.1) >>
 endobj
 552 0 obj
-(8. Translation)
+(5.5. MySQL Bugzilla Database Introduction)
 endobj
 553 0 obj
-<< /S /GoTo /D (12.48.1) >>
+<< /S /GoTo /D (9.30.53.2) >>
 endobj
 556 0 obj
-(9. Termination)
+(5.5.1. Bugzilla Database Basics)
 endobj
 557 0 obj
-<< /S /GoTo /D (12.49.1) >>
+<< /S /GoTo /D (9.30.53.36.3) >>
 endobj
 560 0 obj
-(10. Future Revisions of this License)
+(5.5.1.1. Bugzilla Database Tables)
 endobj
 561 0 obj
-<< /S /GoTo /D (12.50.1) >>
+<< /S /GoTo /D (9.31.1) >>
 endobj
 564 0 obj
-(How to use this License for your documents)
+(5.6. Integrating Bugzilla with ThirdParty Tools)
 endobj
 565 0 obj
-<< /S /GoTo /D (13.0) >>
+<< /S /GoTo /D (9.31.54.2) >>
 endobj
 568 0 obj
-(Glossary)
+(5.6.1. Bonsai)
 endobj
 569 0 obj
-<< /S /GoTo /D (14.0) >>
+<< /S /GoTo /D (9.31.55.2) >>
 endobj
 572 0 obj
-(09, high ascii)
+(5.6.2. CVS)
 endobj
 573 0 obj
-<< /S /GoTo /D (14.50.55.2) >>
+<< /S /GoTo /D (9.31.56.2) >>
 endobj
 576 0 obj
-(.htaccess)
+(5.6.3. Perforce SCM)
 endobj
 577 0 obj
-<< /S /GoTo /D (15.0) >>
+<< /S /GoTo /D (9.31.57.2) >>
 endobj
 580 0 obj
-(A)
+(5.6.4. Subversion)
 endobj
 581 0 obj
-<< /S /GoTo /D (15.50.56.2) >>
+<< /S /GoTo /D (9.31.58.2) >>
 endobj
 584 0 obj
-(Apache)
+(5.6.5. Tinderbox/Tinderbox2)
 endobj
 585 0 obj
-<< /S /GoTo /D (15.50.56.24.3) >>
+<< /S /GoTo /D (10.0) >>
 endobj
 588 0 obj
-(Useful Directives when configuring Bugzilla)
+(Chapter 6. Using Bugzilla)
 endobj
 589 0 obj
-<< /S /GoTo /D (16.0) >>
+<< /S /GoTo /D (10.32.1) >>
 endobj
 592 0 obj
-(B)
+(6.1. Introduction)
 endobj
 593 0 obj
-<< /S /GoTo /D (16.50.57.2) >>
+<< /S /GoTo /D (10.33.1) >>
 endobj
 596 0 obj
-(Bug)
+(6.2. Create a Bugzilla Account)
 endobj
 597 0 obj
-<< /S /GoTo /D (16.50.58.2) >>
+<< /S /GoTo /D (10.34.1) >>
 endobj
 600 0 obj
-(Bug Number)
+(6.3. Anatomy of a Bug)
 endobj
 601 0 obj
-<< /S /GoTo /D (16.50.59.2) >>
+<< /S /GoTo /D (10.35.1) >>
 endobj
 604 0 obj
-(Bugzilla)
+(6.4. Life Cycle of a Bug)
 endobj
 605 0 obj
-<< /S /GoTo /D (17.0) >>
+<< /S /GoTo /D (10.36.1) >>
 endobj
 608 0 obj
-(C)
+(6.5. Searching for Bugs)
 endobj
 609 0 obj
-<< /S /GoTo /D (17.50.60.2) >>
+<< /S /GoTo /D (10.37.1) >>
 endobj
 612 0 obj
-(Common Gateway Interface)
+(6.6. Bug Lists)
 endobj
 613 0 obj
-<< /S /GoTo /D (17.50.61.2) >>
+<< /S /GoTo /D (10.38.1) >>
 endobj
 616 0 obj
-(Component)
+(6.7. Filing Bugs)
 endobj
 617 0 obj
-<< /S /GoTo /D (17.50.62.2) >>
+<< /S /GoTo /D (10.39.1) >>
 endobj
 620 0 obj
-(Comprehensive Perl Archive Network)
+(6.8. Patch Viewer)
 endobj
 621 0 obj
-<< /S /GoTo /D (17.50.63.2) >>
+<< /S /GoTo /D (10.39.59.2) >>
 endobj
 624 0 obj
-(contrib)
+(6.8.1. Viewing Patches in Patch Viewer)
 endobj
 625 0 obj
-<< /S /GoTo /D (18.0) >>
+<< /S /GoTo /D (10.39.60.2) >>
 endobj
 628 0 obj
-(D)
+(6.8.2. Seeing the Difference Between Two Patches)
 endobj
 629 0 obj
-<< /S /GoTo /D (18.50.64.2) >>
+<< /S /GoTo /D (10.39.61.2) >>
 endobj
 632 0 obj
-(daemon)
+(6.8.3. Getting More Context in a Patch)
 endobj
 633 0 obj
-<< /S /GoTo /D (19.0) >>
+<< /S /GoTo /D (10.39.62.2) >>
 endobj
 636 0 obj
-(G)
+(6.8.4. Collapsing and Expanding Sections of a Patch)
 endobj
 637 0 obj
-<< /S /GoTo /D (19.50.65.2) >>
+<< /S /GoTo /D (10.39.63.2) >>
 endobj
 640 0 obj
-(Groups)
+(6.8.5. Linking to a Section of a Patch)
 endobj
 641 0 obj
-<< /S /GoTo /D (20.0) >>
+<< /S /GoTo /D (10.39.64.2) >>
 endobj
 644 0 obj
-(J)
+(6.8.6. Going to Bonsai and LXR)
 endobj
 645 0 obj
-<< /S /GoTo /D (20.50.66.2) >>
+<< /S /GoTo /D (10.39.65.2) >>
 endobj
 648 0 obj
-(JavaScript)
+(6.8.7. Creating a Unified Diff)
 endobj
 649 0 obj
-<< /S /GoTo /D (21.0) >>
+<< /S /GoTo /D (10.40.1) >>
 endobj
 652 0 obj
-(M)
+(6.9. Hints and Tips)
 endobj
 653 0 obj
-<< /S /GoTo /D (21.50.67.2) >>
+<< /S /GoTo /D (10.40.66.2) >>
 endobj
 656 0 obj
-(Message Transport Agent)
+(6.9.1. Autolinkification)
 endobj
 657 0 obj
-<< /S /GoTo /D (21.50.68.2) >>
+<< /S /GoTo /D (10.40.67.2) >>
 endobj
 660 0 obj
-(MySQL)
+(6.9.2. Quicksearch)
 endobj
 661 0 obj
-<< /S /GoTo /D (22.0) >>
+<< /S /GoTo /D (10.40.68.2) >>
 endobj
 664 0 obj
-(P)
+(6.9.3. Comments)
 endobj
 665 0 obj
-<< /S /GoTo /D (22.50.69.2) >>
+<< /S /GoTo /D (10.40.69.2) >>
 endobj
 668 0 obj
-(Perl Package Manager)
+(6.9.4. Attachments)
 endobj
 669 0 obj
-<< /S /GoTo /D (22.50.70.2) >>
+<< /S /GoTo /D (10.41.1) >>
 endobj
 672 0 obj
-(Product)
+(6.10. User Preferences)
 endobj
 673 0 obj
-<< /S /GoTo /D (22.50.71.2) >>
+<< /S /GoTo /D (10.41.70.2) >>
 endobj
 676 0 obj
-(Perl)
+(6.10.1. Account Settings)
 endobj
 677 0 obj
-<< /S /GoTo /D (23.0) >>
+<< /S /GoTo /D (10.41.71.2) >>
 endobj
 680 0 obj
-(Q)
+(6.10.2. Email Settings)
 endobj
 681 0 obj
-<< /S /GoTo /D (23.50.72.2) >>
+<< /S /GoTo /D (10.41.72.2) >>
 endobj
 684 0 obj
-(QA)
+(6.10.3. Permissions)
 endobj
 685 0 obj
-<< /S /GoTo /D (24.0) >>
+<< /S /GoTo /D (10.42.1) >>
 endobj
 688 0 obj
-(R)
+(6.11. Reports and Charts)
 endobj
 689 0 obj
-<< /S /GoTo /D (24.50.73.2) >>
+<< /S /GoTo /D (10.42.73.2) >>
 endobj
 692 0 obj
-(Relational DataBase Managment System)
+(6.11.1. Reports)
 endobj
 693 0 obj
-<< /S /GoTo /D (24.50.74.2) >>
+<< /S /GoTo /D (10.42.74.2) >>
 endobj
 696 0 obj
-(Regular Expression)
+(6.11.2. Charts)
 endobj
 697 0 obj
-<< /S /GoTo /D (25.0) >>
+<< /S /GoTo /D (10.42.74.37.3) >>
 endobj
 700 0 obj
-(S)
+(6.11.2.1. Creating Charts)
 endobj
 701 0 obj
-<< /S /GoTo /D (25.50.75.2) >>
+<< /S /GoTo /D (10.42.74.38.3) >>
 endobj
 704 0 obj
-(SGML )
+(6.11.2.2. Creating New Data Sets)
 endobj
 705 0 obj
-<< /S /GoTo /D (26.0) >>
+<< /S /GoTo /D (10.43.1) >>
 endobj
 708 0 obj
-(T)
+(6.12. Flags)
 endobj
 709 0 obj
-<< /S /GoTo /D (26.50.76.2) >>
+<< /S /GoTo /D (11.0) >>
 endobj
 712 0 obj
-(Target Milestone)
+(Appendix A. The Bugzilla FAQ)
 endobj
 713 0 obj
-<< /S /GoTo /D (26.50.77.2) >>
+<< /S /GoTo /D (12.0) >>
 endobj
 716 0 obj
-(Tool Command Language)
+(Appendix B. Troubleshooting)
 endobj
 717 0 obj
-<< /S /GoTo /D (27.0) >>
+<< /S /GoTo /D (12.44.1) >>
 endobj
 720 0 obj
-(Z)
+(B.1. General Advice)
 endobj
 721 0 obj
-<< /S /GoTo /D (27.50.78.2) >>
+<< /S /GoTo /D (12.45.1) >>
 endobj
 724 0 obj
-(Zarro Boogs Found)
+(B.2. The Apache webserver is not serving Bugzilla pages)
 endobj
 725 0 obj
-<< /S /GoTo /D [726 0 R  /Fit ] >>
+<< /S /GoTo /D (12.46.1) >>
 endobj
-728 0 obj <<
-/Length 213       
-/Filter /FlateDecode
->>
-stream
-xڍ��n�0EwG{#R�k����Vt05
`��t�ׇ���C(��]���!BqZ�E��Cea�ʺ���LjX�D�`��?�y�f+v������ek��!�^��QÒ��e�s��n|�/��$��0��4oy�Q��X1r�,JC��.��q(����R�ҝ��s��V�&	�)ilvc�ϒ�&ںtÍR-�����|�D��]>�R�endstream
+728 0 obj
+(B.3. I installed a Perl module, but checksetup.pl claims it's not installed!)
 endobj
-726 0 obj <<
-/Type /Page
-/Contents 728 0 R
-/Resources 727 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 734 0 R
->> endobj
-729 0 obj <<
-/D [726 0 R /XYZ 71.731 729.265 null]
->> endobj
-730 0 obj <<
-/D [726 0 R /XYZ 71.731 718.306 null]
->> endobj
-731 0 obj <<
-/D [726 0 R /XYZ 71.731 718.306 null]
->> endobj
-2 0 obj <<
-/D [726 0 R /XYZ 432.797 667.995 null]
->> endobj
-727 0 obj <<
-/Font << /F23 733 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-737 0 obj <<
-/Length 512       
-/Filter /FlateDecode
->>
-stream
-xڍTˎ�0��+X�T�`]����QŮ킀��#�L��������,�,��>/_Bl~$�	�3�ь�t�AgN^*�,C�Q3��0fI��"	����p�N��De��y#�J�4��_a��(�y>-��0��[�,C�(�HHr���3���(.�����G^+��~��N���PT���t3���<p��(�!�'coR�J��7_��8�����b�ƘƘm�9*J�����=_+�Ū�� f�uƞ���� �Q.]�e��������|)`6��	�"��װܝza5�0����A�k���7�\c$�Aq	⬯10�{����8�!��b�
��61�W��|<�M�̭���1s{x_c�hR,+`Z��_�
-9�h�e�7I:r
Q��f��5�Y����RmO�E�޺S�'��p=Zj��
JO�{\�u�?���ܰ�Z��
-���S����|=��k��A�>9Z�v�M��i4����[�}��)�*H����?N)�endstream
+729 0 obj
+<< /S /GoTo /D (12.47.1) >>
 endobj
-736 0 obj <<
-/Type /Page
-/Contents 737 0 R
-/Resources 735 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 734 0 R
->> endobj
-738 0 obj <<
-/D [736 0 R /XYZ 71.731 729.265 null]
->> endobj
-735 0 obj <<
-/Font << /F23 733 0 R /F27 740 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-743 0 obj <<
-/Length 59127     
-/Filter /FlateDecode
->>
-stream
-xڔ�M�-�}���>��@�u��밥�;�n;�ٚ�=`���@;�?��n֮�'�"����$Q�E�����n�����������_/�O���������_���]�OO�����������������������������������?��T�n����������?~�r�ݟ���׻�~�����~�����?����?���o��?�������������������㑿��̷Os����/<�>|�<��a��M~������_��������m�G��o?����\_.w�O�a�./w/�lo��׻��y��'�|� O������Yϲ����ˋU�gO�<P�.��'��Ϟ�=x��\^����?{�������ۣTdz�.���^��?{�������۫T�gO�<P��po�����V_��p���Q6{�����*�������Yu�D������j}�gO��Z}�^�Jϲ�����U�gO�<P�?xz����ڃ������ڃ_��w�kxpj�Eu<P��p{����ڃ���?{��������U�gO��Z�n���}�˳�.������*����ԧ��Ū��'j�/�'������&ﯗ�Or�9�et<P�w�d������<�Ku�D��u{7��Ϟ�=��z�^�M��YV��u{
�Rݟ=Q{�@�^�U~�Ϟ�=x�n��Ϊ��'j~�>\����:�eu<Po���g<{�����t�{����ڃ�����Qx<{����������,���������Ϟ�=x�n�A�Ab�Ĭ�r{7�g<{��������:�eu<P�wp�_�Ƴ'j��[�����ڃ����U~�Ϟ�=���|wy}��	ϲ����óU�gO�<P��嗹��ڃ��嗹��ڃ_�/�kx��x��e�@�^�M~�Ϟ�=x�n��^~�Ϟ�=x�n��j�����V_��p'�̍gY]��5H�����؁�x�ɺ?z"���r���/p����Toww��g��&Ϣ�����ɪ��'j��[x�Iu�D��u{
Rݟ=Q{�k�����Tdz�.������?{��������T�gO�<P��pg�����V��.ϯ�\�eu<Po����T�gO�<P/��Vݟ=Q{�@}��?�Ju�D���������G��r{���'d���x�Js���u{�oy����V�Wp/��,���������7�=Q{�@�^��m�<{�����r��Zu�D����ǻ˓�Γ<��2x��.W����ڃ����ɪ��'j��k��y�gO��Z}�^��Γ<��2x�n��f������5��<ɳ'j��k�@�=1k�k�y{����(�=w@n/�Κ��'h���G�m'y�D����r�b�����V_�.���N�,����z���o;ɳ'j��kx����ڃ��䷝����V_��p��x��e�@�^ý�7�=Q{�@�^����<{�������;��Ϟ�=���pwwyxu_��,����zy����gO�<P/�Vݟ=Q{�@}������5�5y�ށ�Қg]��<Zu�D��u{�Rݟ=Q{�@�ނ���<{��������:�eu<P��p}����ڃ��䷝������˫U�gO��Z��]n/��\�eu<P�//��N��ڃ����d������5<�/s����V�� ��$ϲ���k�Yu�D��u{
�M��'f���;��v�gO��Z}�ށ<�ȳ�.���䷝�����˽���<{�����|y~����ڃ_�Ow�{�m'y��e�@��<�o;ɳ'j��kx����ڃ��䷝����V��� ��$ϲ���k�����ڃ��䷝�����5�o;ɳ'j~���]��`"ϲ����'�~{�Ĭ���r��|�gO�<P�/O�Vݟ=Q{�k�u{�O�,��������'y�D��u{
Vݟ=Q{�@�^���<{�����������γ������Vݟ=Q{�@�^���<{�����|y��ϔgO��Z��]���D�eu<P�/��O��ڃ����ɪ��'j��k�y�D������5���쏲�s��$��������k�<{���������'y�D������
-���ͳ�.����n\By��G��������j�|� {���0o��q{������o���g�/�O߾���a�Jp{/�<���L�2����/����������>j2���������?���W��oߓ��}�������������������oT{�ᅰ��oT{�ᅪ:�I]��[���F���[���F���[���͚��oc��oB�A��Vj�Q�A��Vj�Q�A��Vj�Q�A��6��&u��o������o������o������o���oR�A��Vj�Q�A��Vj�Q�A��Vj�Q�A��6��&u��o������o���o4k�ᅰ��oD{�ᅪ:�I]��[���F���[���F���[���F���ۨ����e�ᅰ��oT{�ᅰ��oT{�ᅰ��oT{�ᅪ:�I]��[���F���[���F���[���F���ۨ����e�����q�8�Q�9��Vf��A�����7�� �+5�ߨ� �+5�ߨ� �+5�ߨ� �u������Rs��j���Rs��j���Rs��j���Q��7�� �+5�ߨ� �+5�ߨ� �+5�ߨ� �4��d��+r�#Ys|����#ڃ|�����ڃ|�m�y�M�2���J��7�=���J��7�=���J��7�=���F��ߤ.�|�����ڃ|�����ڃ|�����ڃ|�m�y�M�2���J��7�=���J��7�=���
-��h��2��D��+3�߈� �+5�ߨ� �+5�ߨ� �u������Rs��j���Rs��j���Rs��j���Q��7�� �+5�ߨ� �+5�ߨ� �+5�ߨ� �����u�ᅰ��oT{�ᅰ��oT{�:�Ѭ9��6��&t��o������o������o������o���oR�A��Vj�Q�A��Vj�Q�A��Vj�Q�A��6��&u��o������o������o������o���oR�A��Vj�Q�A��V��F����[���F���ۨ����e�ᅰ��oT{�ᅰ��oT{�ᅰ��oT{�ᅪ:�I]��[���F���[���F���[���F���ۨ����e�ᅰ��oT{�ᅰ��oT{�ᅰ��oT{�ᅪ:�I]��[���͚��oe�����o������o���oR�A��Vj�Q�A��Vj�Q�A��Vj�Q�A�����7�� �+5�ߨ� �+5�ߨ� �+5�ߨ� �u������Rs��j���Rs��j���Rs��j���As�Mf����"��7�5������7�=���J��7�=���F��ߤ.�|�M����?ȸ��xo}x�}�A>�����������!&��G����q������?������O?�������������\������������{w�塏���S�^no�g���|Vdz�.�����b����ԧ���[m��?{�����ryy�=K��Ϟ�=������G��gY]��5�}��R�gO�<P����{�Jݟ=Q{�@�^ýU�gO��Z}�^ýC�G��r{׫4�gO�<P�wpg����ԗ����w�D������k��,��gY]����٪��'j�O�����Ϟ�=x�n��Q~�Ϟ�=x�4�^ÃS�,����:"/JM5��j�RS�A����TcP�A��uVcH]���TcP�A��(5�T{�1
-�4k��1Ɯ�B�A��(5�T{��1JM5��j�RS�A��c�Y�!u�j�RS�A����TcP�A��(5�T{��1F��R�A��(5�T{��1JM5��j�RS�A��c�Y�!u�j�RS�A����Q�A����Tc�A��uVcH]���TcP�A��(5�T{��1JM5��j�Qg5��e��1JM5��j�RS�A����TcP�A��uVcH]���TcP�A��(5�T{��1JM5��j�Qg5��e��1�ܫ1(~�j�G5Ś�j�2S�A��#��j�� Wc��j�=�����jr5F��Ơڃ\�1�Ɛ�r5F��Ơڃ\�Qj�1�� Wc��j�=����j�� Wc��j�=�����jr5F��ƠڃX�1h�1d�Vc9�1H�Wc��j�=�����jr5ƨ�C�2�����jr5F��Ơڃ\�Qj�1�� Wc�:�1�.�\�Qj�1�� Wc��j�=�����jr5ƨ�C�2�����jr5F��ƠڃX�Q�ƠYsX�1d�1D�Wc��j�=�����jr5F��Ơڃ\�1�Ɛ�r5F��Ơڃ\�Qj�1�� Wc��j�=����j�� Wc��j�=�����jr5F��Ơڃ\��{5�u��1JM5��j�RS�A����Q�A��c�Y�!t�j�RS�A����TcP�A��(5�T{��1F��R�A��(5�T{��1JM5��j�RS�A��c�Y�!u�j�RS�A����TcP�A��(5�T{��1F��R�A��(5�T{�1
-�4k��1�L5��j�Qg5��e��1JM5��j�RS�A����TcP�A��uVcH]���TcP�A��(5�T{��1JM5��j�Qg5��e��1JM5��j�RS�A����TcP�A��uVcH]���Q�A����Tc�A��(5�T{��1F��R�A��(5�T{��1JM5��j�RS�A��#��j�� Wc��j�=�����jr5F��Ơڃ\�1�Ɛ�r5F��Ơڃ\�Qj�1�� Wc��j�=����Cf�a5F���d�q5F��� ڃ\�Qj�1�� Wc�:�1�.�\�9.��j~�Q��Xi9����s�j����1�{3�6�1���������O�_���~��������"o�+0�/~��_�235r�9gi����F>}
-���s\1d"#D�'F���5�}C&/Bd�a\D�i��Xc\1`�"$�gE���5�MC&)Bd�qPD��'d�qMĐ��Ys�1dJ"D�wD���5��s�!rL.s\1d"D��C�z�5��C&Bd�q8D��d�q5Đ��Ys�1d�!D��B�8r!~�X��g+Ğ�R�!
-!��8b�TB��9n�2�"k�!��} {�� �L�Ț�4�!S!��b�dA��9��r6A��9.�2A"k�s �L
�Ț��!�!��8"����b�D@��9L�q@�8��&�Ab�q�C���d�q�Ð	Ys��0d�D�7?���5��A���=ǵC&�Ad�q�Ð)}Ys��0d2D�G>9@�>���5�yC��Ad�q�ÐI{Ys���z��sT�0�� ��&=�6��}㞇�� ��8�qN��<��e�K�LȃȚ㌇!S� ���a�$<��9xr�;��9�w2�"k���L��Ț�n�!�� ��8�!�������a�;��9�u2�"k�[�L��Ț�P�����ư�a�� ��':�B�5�}C&�Ad�q�C���d�q�Ð	sYs��0d�D�79�$�5�AA��=�5C&�Ad�q�Ð)qYs��0d2D�G89@�8���5��
C��Ad�a{È#�A��1o/�
�j��Lt�Ě��!S� �渷a��6��9�mr�6��9.m2�
"k�3�Le�Ț�Ɔ!�� ��8�!�����縮a��5��9Nk2e
"k���LV�Ț��9���8&�9.j2A
"k�s�LM�ȚÖ�GJ���c���h��s\�0d"D�'4���5��C&�Ad�q<C���d�q9Ð	gYs��0d�D�73�d�5��A�^�=ǵC&�Ad�q*Ð)eYs��0d2D�G29@�2�@�5�y#�:�Ǹ�a��1H�9crv1��9�b2Q"k���L�Ț��!�� ��8�!�����縄aȄ0��9�`2"k��L�Ț��� g�Ȟ���!� ��8}aȔ/��9�^2�"k����� {�F�?�q�€�]�Xsܺ0dRD��.9;@�W.���5ljC�pAd�q��[Ys�8'����2�eC&lAd�q��ZYsܴ0d�D�-9{@��,���5�)C�dAd�q��XYs�b��,�7�}�|�S� ��]aȤ+��9Wrv+��9�VP{AD+�S�fŇH�a���S�ۊo߳��7��㑽Y�0�������ρ����{;ﻫ}�����P�p�|�ς�5����>�l?<]�_}�/����ԗ��U�gO��Z}����wOu<��2x�no��w���?{��������U�gO�<P����mTJݟ=Q{�k��z�����Qdz�.�����b����ԧ���I���'j��u�ԴsP�A��u�sH]9���tP�An�(5T{�3:JMG�Ē�A��!��8����t�A��(5AT{��:JMS�䪎QgV��e��:JMY�䶎R�A�9����uP�A.��=��:ȑ����jrgG�	��ڃ��QjZ;�� �v�:s;�.��Qj�;�� 7w����=������5��c���� �w����=���&��jr�G�i�ڃ\�1���r�G�)�ڃ��Qjb<�� �x���=�E��$�� Gy��*�=�]�&̃jr�G�i�ڃ\�1���r�G�)��ڃ��Q���Ys��Qf:=�� �z�:S=�.��Qjj=�� �z��`�=����كjr�Ǩ3�C�2����܃jr�G����ڃ��Qj�=�� |�:>�.��Qj*>�� w|����=�)���jr�Ǩ3�C�2HAe�E?�a�G�#�b�q�G��� ڃ\��{��u��>JM��侏R�A�9��4~P�A��uf~H]9��Ԕ~P�An�(5�T{�s?JM����Qg��e��?JM����R�A�9��ԴP�A��4�2{@� $k�@�L���R�B��dԙ"u��RSB�����P�AN)5M T{��@F�Y R�A)5e T{��@JM��<�R�B��dԙ"u�H�RS	B���Ԅ�P�AL)t��Ь9�2� "{��A�L1��f�R
B�9��t�P�A.u��H]9��ԃP�A�)5!T{�BJMC�䊐QgF��e�CBJMI�䖐RB�9'���P�A.
-	�=)�:�Q!��*�jrWH�	�ڃ�R�h�Ys\2���r`H�)�ڃ�Rj"C�� g�����=ȥ!����� dž����=Ƚ!�&8�jrrH�i�ڃ\2����rxH�)�ڃ�Rj�C�� 燔���=�"���� G���
-�=�"���5�)"e�E�hr�Ȩ3GD�2�A"��H�jr�H���ڃ�%Rj�D�� ���:�D�.�'Rj�D�� ����@�=ȉ"��Q�jr�Ȩ3SD�2ȡ"��T�jr�H���ڃ�+RjzE�� ��:�E�.�-R��Ys�-Rf�E�� ����v�=��"��|�� �����=�
#�&b�jr�H���ڃ\2�{��u�cFJM��䞑R4B�9i��4�P�A�uf�H]9l�Ԕ�P�An)5q#T{��FJM���‘A�8"��0r��Q9B��s�̄��AN)5�#T{�kGF��#R�A�|\�?�H}� ��ͣ��D��9zt}���g��G������_�������G闟�����������/���Ͽ}uz����/����������/��]4|�y��#�E� pM�2�w�J�]4�=�w�J�]4�=�w�
-w�h��Es�E��]�Rs�j�]�Rs�j�]�Rs�j�]�Q�]4�� �E+5wѨ� �E+5wѨ� �E+5wѨ� �Eu�E���]�Rs�j�]�Rs�j�]�Rs�j�]�Q�]4�� �E+5wѨ� �E+t�E�Ys|���E#ڃ|m�yM�2�w�J�]4�=�w�J�]4�=�w�J�]4�=�w�F�wѤ.�|���E�ڃ|���E�ڃ|���E�ڃ|m�yM�2�w�J�]4�=�w�J�]4�=�w�J�]4�=�w�F�wѤ.�t���.ŏcx��q�b��]�2s�h�]�P��A]�.Z���F��.Z���F��.Z���F��.ڨ�.��e���hT{���hT{���hT{�:�I]�.Z���F��.Z���F��.Z���F��.ڠ��&���.Z��.ɚ�he�.��h��.��h�λhR�A��Vj�Q�A��Vj�Q�A��Vj�Q�A��6꼋&u�h��.��h��.��h��.��h�λhR�A��Vj�Q�A��Vj�Q�A��V踋F���.ڐ��&���.Z���F��.Z���F��.Z���F��.ڨ�.��e���hT{���hT{���hT{�:�I]�.Z���F��.Z���F��.Z���F��.Z��wѠ��|���E�ڃ|���E�ڃx��q�f��]�1�]4�� �E+5wѨ� �E+5wѨ� �E+5wѨ� �Eu�E���]�Rs�j�]�Rs�j�]�Rs�j�]�Q�]4�� �E+5wѨ� �E+5wѨ� �E+5wѨ� �Eu�E���]�Rs�j�]�B�]4�5�w���]4�=�w�F�wѤ.�|���E�ڃ|���E�ڃ|���E�ڃ|m�yM�2�w�J�]4�=�w�J�]4�=�w�J�]4�=�w�F�wѤ.�|���E�ڃ|���E�ڃ|���E�ڃ|m�yM�2�w�
-w�h��E+3wш� �E+5wѨ� �Eu�E���]�Rs�j�]�Rs�j�]�Rs�j�]�P��A]�.Z���F��.Z���F��.Z���F��.ڨ�.��e���hT{���hT{���hT{�
��h2{�9�9��Vf��A��Vj�Q�A��6꼋&u���^w�d�E� �w��d�k���/b����G���������폌��/z��ݿ��L��y�U��������O?����������?��?}�Iߏ������/���~��_����r{��I��y�����#ǟn���ǯ>����ڃ�����$����ԗ��ӳT�gO��Z���r{��x��e�@�^�ËT�gO�<P��p{����ڃ��?{���������?�f���;�^��?{�������;��Ϟ�=x��\�_�����ڃ_������eD��YV���vy~����ڃ�����A���'j��kx�_pƳ'j~}�s�����YT��u{
�'��Ϟ�=x�n���Y���'j�{zũ���jb�E�i���b�ũ���jb�ũ���jR�š{˅͚Ö�2�rAtĖ�SG˅�Ė�SG˅�Ė�SG˅�Ė�R�rAuĖ�SG˅�Ė�SG˅�Ė�SG˅�Ė�R�rAuĖ�SG˅�Ė�SG˅�Ė�SG˅�Ė�R�rAuĖ�SG˅����C���5�-g���=�-����2�-����=�-����=�-����=�-����2�-����=�-����=�-����=�-����2�-����=�-����=�-����=�-����2-g~k���q�Z.�[.,��\�9Z.�� �\�:[.����rq�h��ڃ�rq�h��ڃ�rq�h��ڃ�rQjZ.�.��rq�h��ڃ�rq�h��ڃ�rq�h��ڃ�rQjZ.�.��rq�h��ڃ�rq�h��ڃ�rq�h��ڃ�rQ�h���s�rq��ra������ra������ra���Դ\P]�����ra������ra������ra���Դ\P]�����ra������ra������ra���Դ\P]�����ra������ra����н��f�Q�E���d�a�ř���hb�ũ���jb�ũ���jb�E�i���b�ũ���jb�ũ���jb�ũ���jb�E�i���b�ũ���jb�ũ���jb�ũ���jb�Ũ��B�:�-����=�-����=H-��-6k[.�L��e[.N-V{[.N-V{[.N-V{[.JM��e[.N-V{[.N-V{[.N-V{[.JM��e[.N-V{[.N-V{[.N-V{[.JM��e[.N-V{�Z.�[.l��\�9Z.�� �\����� �\�:Z.�� �\�:Z.�� �\�:Z.�� �\����� �\�:Z.�� �\�:Z.�� �\�:Z.�� �\����� �\�:Z.�� �\�:Z.�� �\�:Z.�� �\����� �\��\ج9l�8s�\�Al�8u�\X�Al�(5-T�Al�8u�\X�Al�8u�\X�Al�8u�\X�Al�u�\H]�����ra������ra������ra���Դ\P]�����ra������ra������ra�����rA����Ƚ��d�a�ř���hb�ũ���jb�E�i���b��$���d��y8j�����!o
���r���K�ӷo|����z�e\f<�G��˵k.���_~�\p�>��߱y������1����������塏��ȼ|� Ѝ!u�n�RӍA����tcP�A��(5�T{��1F��R�A��(5�T{��1JM7��n�RӍA��c�tc��9��(3�D{��1JM7��n�RӍA��c�ٍ!u�n�RӍA����tcP�A��(5�T{��1B}�ƀ�r7F��Ơڃ܍Qj�1�� wc��n�=����n�� wc��n�=�����jb7F���f�q7Ƙ�C�2�����jr7F��Ơڃ܍Qj�1�� wc�:�1�.�܍Qj�1�� wc��n�=�����jr7ƨ�C�2�����jr7F��Ơڃ܍Qj�1�� wc�:�1�.�܍Qj�1�� vc:�1h�wc��n�=����n�� wc��n�=�����jr7F��Ơڃ܍1��Ɛ�r7F��Ơڃ܍Qj�1�� wc��n�=����n�� wc��n�=�����jr7F��Ơڃ܍1��Ɛ�R7F�{7ŏc؍Q��ƠXs܍Qf�1�� wc��ލu�n�RӍA����tcP�A��(5�T{��1F��R�A��(5�T{��1JM7��n�RӍA��c�ٍ!u�n�RӍA����tcP�A��(5�T{�1M7�̞�n�"G7ɚ�n�2ӍA����tcP�A��uvcH]���tcP�A��(5�T{��1JM7��n�Qg7��e��1JM7��n�RӍA����tcP�A��uvcH]���tcP�A��(5�T{�1
-�4k�1�L7�Ȟ�n�2ӍA����tcP�A��(5�T{��1F��R�A��(5�T{��1JM7��n�RӍA��c�ٍ!u�n�RӍA����tcP�A��(5�T{��1B}�ƀ�r7F��Ơڃ܍Qj�1�� vc:�1h�wc�9�1�.�܍Qj�1�� wc��n�=�����jr7ƨ�C�2�����jr7F��Ơڃ܍Qj�1�� wc�:�1�.�܍Qj�1�� wc��n�=�����jr7ƨ�C�2�����jb7F���f�q7F��� ڃ܍1��Ɛ�r7F��Ơڃ܍Qj�1�� wc��n�=����n�� wc��n�=�����jr7F��Ơڃ܍1��Ɛ�r7F��Ơڃ܍Qj�1�� wc��n�=����n�� vc:�1h�wc��n�=�����jr7ƨ�C�2�����jr7F��Ơڃ܍Qj�1�� wc��ލu�n�RӍA����tcP�A��(5�T{��1F��R�A��(5�T{��1JM7��n�RӍA��c�tc��9��(rtc��9��(3�D{��1JM7��n�Qg7��e��1TB1�� ���wc�?ȇn����؍yz�v�Iݘ��ލ�ݘ����zww�׿��u:��.�����������cfb>�L�|��lj��#�.��Qj#�� 'F����=ȉ�&1�jbbĠI���s�Qf#�� 'F����=ȉ�&1�jrbĨ31B�2ȉ�&1�jrbD�I��ڃ�Qj#�� 'F���u�ĈR�A�91��$FP�AN�(5�T{�#F��R�AN�(5�T{�#JMb��ĈBGb͚�Ĉ1gb��e�#JMb��ĈR�A�91��$FP�AN�u&FH]91��$FP�AN�(5�T{�#JMb��ĈQgb��e�#JMb��ĈR�A�91��$FP�AN�u&FH]91��$FP�AL�(t$FЬ9N�(3�D{�#F��R�AN�(5�T{�#JMb��ĈR�A�91bԙ!u�ĈR�A�91��$FP�AN�(5�T{�#F��R�AN�(5�T{�#JMb��ĈR�A�91bԙ!u�Ĉ2����01���A��81��$F�AN��=1�:ȉ�&1�jrbD�I��ڃ�Qj#�� 'F�:#�.��Qj#�� 'F����=ȉ�&1�jrbĨ31B�2ȉ�&1�jrbD�I��ڃ�Qj#�� &F���=��E���5lje&1�hrbD�I��ڃ�1�L���rbD�I��ڃ�Qj#�� 'F����=ȉ����� 'F����=ȉ�&1�jrbD�I��ڃ�1�L���rbD�I��ڃ�Qj#�� &F:#h�&F���=lje&1�hrbD�I��ڃ�Qj#�� 'F�:#�.��Qj#�� 'F����=ȉ�&1�jrbĨ31B�2ȉ�&1�jrbD�I��ڃ�Qj#�� 'F���u�ĈR�A�91��$FP�AL�(t$FЬ9N�s&F]91��$FP�AN�(5�T{�#JMb��ĈQgb��e�#JMb��ĈR�A�91��$FP�AN�u&FH]91��$FP�AN�(5�T{�#JMb��ĈQgb��e�#JMb��ĈBGb͚�Ĉ2�A�91bԙ!u�ĈR�A�91��$FP�AN�(5�T{�#F��R�AN�(5�T{�#JMb��ĈR�A�91bԙ!u�ĈR�A�91��$FP�AN�(5�T{�#F��R�AL�(t$FЬ9N�(3�D{�#JMb��ĈQgb��e�#JMb��ĈR�A�91��$FP�AN��=1�:ȉ�&1�jrbD�I��ڃ�Qj#�� 'F�:#�.��Qj#�� 'F����=ȉ�&1�jbbĠI���s�Q�H� Ys�Qf#�� 'F����=ȉ����� 'F��!#�AFb��y9L��%1rω�ǧ�O�_112�#���?���,������?�� �����
�������_y���E�O׃_���*�`�T}���������*T{o�:n�Ь9��Rfn��A��2꼩"u�*��
-��*��
-��*��
-��*�Λ*R�A��Rjn�P�A��Rjn�P�A��Rjn�P�A��2꼩"u�*��
-��*��
-��*��
-��*�Λ*R�A��R�~S���1��RษB����J���B���J��7U���|S���T�ڃ|S���T�ڃ|S���T�ڃ|Se�ySE�2�7UJ�M�=�7UJ�M�=�7UJ�M�=�7UF�7U�.�|S���T�ڃ|S���T�ڃ|S���T�ڃxSe��T��sxS��qS�d��M�2sS�h�M�RsS�j�M�Q�M�� �T)57U�� �T)57U�� �T)57U�� �Tu�T���M�RsS�j�M�RsS�j�M�RsS�j�M�Q�M�� �T)57U�� �T)57U�� �T)t�T�YsxSe��T�s|S���T!ڃ|S���T�ڃ|S���T�ڃ|Se�ySE�2�7UJ�M�=�7UJ�M�=�7UJ�M�=�7UF�7U�.�|S���T�ڃ|S���T�ڃ|S���T�ڃ|S%���*P�A��Rjn�P�A��Rjn�P�A��R踩B����ʘ��e�o����*T{�o����*T{�o����*T{�o��:o�H]��J���B���J���B���J���B���ʨ��e�o����*T{�o����*T{�o����*T{�o��:o�H]��J���B��J��
-͚�*e�
-��*�Λ*R�A��Rjn�P�A��Rjn�P�A��Rjn�P�A��2꼩"u�*��
-��*��
-��*��
-��*�Λ*R�A��Rjn�P�A��Rjn�P�A��Rjn�P�A��2꼩"uě*���*4k�o����*D{�o����*T{�o��:o�H]��J���B���J���B���J���B���J��7U���|S���T�ڃ|S���T�ڃ|S���T�ڃ|Se�ySE�2�7UJ�M�=�7UJ�M�=�7UJ�M�=�7U�M�=�7U�7UH��T)37U�� �T�U�ݿ\���n<��c\o�gFǟ�����߾e��3��G�3���������ß|�&���/�ǟ��O?��_}�W�����~����>�ȯ���wc����^^n�G'F�G����?z�ç?��c�?��1T{���Q�#u�=����1T{���R��P�A��cJ͏C��G�u�ɑ��Rs&�j♜BǙ�5�gr�̙�=�grF�gr�.�|&�Ԝɡڃ|&�Ԝɡڃ|&�Ԝɡڃ|&g�y&G�2�grJ͙�=�grJ͙�=�grJ͙�=�grF�gr�.�|&�Ԝɡڃ|&�Ԝɡڃ|&�Ԝɡڃ|&g�y&G�2Hgr����P�8�gr
-gr(���)3gr�� ��	��L�u��䔚39T{��䔚39T{��䔚39T{���:��H]�LN�9�C��LN�9�C��LN�9�C��LΨ�L��e��䔚39T{��䔚39T{��䔚39T{���392{��9�䐬9>�Sf���A>�Sj��P�A>�3�<�#u�39��L��39��L��39��L��39��39R�A>�Sj��P�A>�Sj��P�A>�Sj��P�A>�3�<�#u�39��L��39��L��39��394k���39"{��䔙39D{��䔚39T{��䔚39T{���:��H]�LN�9�C��LN�9�C��LN�9�C��LΨ�L��e��䔚39T{��䔚39T{��䔚39T{����~&�:�grJ͙�=�grJ͙�=�gr
-grh���s����Rs&�j�Rs&�j�Rs&�j�Q��� ��)5gr�� ��)5gr�� ��)5gr�� ��u�ɑ��Rs&�j�Rs&�j�Rs&�j�Q��� ��)5gr�� ��)t�ɡYs|&�̜�!ڃ|&g�y&G�2�grJ͙�=�grJ͙�=�grJ͙�=�grF�gr�.�|&�Ԝɡڃ|&�Ԝɡڃ|&�Ԝɡڃ|&g�y&G�2�grJ͙�=�grJ͙�=�grJ͙�=�grF�gr�.�x&��q&�f��2s&�h�Rs&�j�Q��� ��)5gr�� ��)5gr�� ��)5gr�� ��	��L�u��䔚39T{��䔚39T{��䔚39T{���:��H]�LN�9�C��LN�9�C��LN�9�C��LΠ9�#���LN��Lɚ�39e�L��3���.u&��c?���1�χgrǟ���Ӹ�~����gr��L�q�������w���������_~��ǟ��~������?����_�����/�ۿ����&����>~�O�n�Ӧ��7}����Q6{]^�Wi�Ϟ�=x�>]nwVݟ=Q{�@}�<��_�����V_�����"u<��2x��.��Vݟ=Q{�@}���� ������5����R�gO����������<��:x�n���$������5����R�gO�<P��p����ڃ_���5ܽ8u<��2x�޶�T����ڃ�����Vݟ=Q{�@}�<�_�o���5�5y��3A�9�et<P�w�d������<�Ku�D��u{7��Ϟ�=x��^�M��YV��u{
�Rݟ=Q{�@=�&Ѐjr�A�	4�ڃh0�4��r�A�	4�ڃhPj
�� ��@�=ȁ��@�� ��@�=����@�5ǁe&Ѐhr���3�@�2ȁ�&Ѐjr�A�	4�ڃhPj
�� �:
�.�hPj
�� ��@�=ȁ�&Ѐjr���3�@�2ȁ�&Ѐjr�A�	4�ڃhPj
�� �:
�.�hP�h@��8
(���@�=ȁ��@]9Р�P�A4(5�T{�
JM���@�Qg���e�
JM���@�Rh@�9�P�A4uH]9�P�A4(5�T{�
JM���@�Ah ��0�h@��8��A4(5�T{�
F��R�A4(5�T{�
JM���@�Rh@�9�`�h u�@�Rh@�9�P�A4(5�T{�
F��R�A4(5�T{�
JM���@�BG�͚�@�!h ��8Р��A4(5�T{�
JM���@�Qg���e�
JM���@�Rh@�9�P�A4uH]9�P�A4(5�T{�
JM���@�P�
���hPj
�� ��@�=����@�5ǁc�@�� ��@�=ȁ�&Ѐjr�A�	4�ڃh0�4��r�A�	4�ڃhPj
�� ��@�=ȁ��@�� ��@�=ȁ�&Ѐjr�A�	4�ڃh0�4��r�A�	4�ڃhP�4�YshPf
�� �:
�.�hPj
�� ��@�=ȁ�&Ѐjr���3�@�2ȁ�&Ѐjr�A�	4�ڃhPj
�� �:
�.�hPj
�� ��@�=ȁ�&Ѐjr���3�@�2����@�5ǁe&Ѐhr�A�	4�ڃh0�4��r�A�	4�ڃhPj
�� ��@�=ȁ��@]9Р�P�A4(5�T{�
JM���@�Qg���e�
JM���@�Rh@�9�P�A44�2{
��$k�
�L���@�D�?�h��C�;4��Oß�?�4<~5|���������py��z'�v����3y���F�����_~����~��׷0÷�������O?�����������w������Wn&��&���'>H& ڃ�LPj�	�� '��d�=����d�� '��d�=���&��jr2A�I&�ڃ�L�{2�u��	JM2��d�R�L@�9���$P�AN&u&H]9���$P�AN&(5�T{�	
-�4k��	Ɯ�B�AN&(5�T{��	JM2��d�R�L@�9�`ԙL u�d�R�L@�9���$P�AN&(5�T{��	F��R�AN&(5�T{��	JM2��d�R�L@�9�`ԙL u�d�R�L@�1��БL@��8���$�AN&u&H]9���$P�AN&(5�T{��	JM2��d�Qg2��e��	JM2��d�R�L@�9���$P�AN&u&H]9���$P�AN&(5�T{��	JM2��d�Qg2��e��	�ܓ	(~�d�G2Ś�d�2�L@�9� ��d�� '��d�=���&��jr2A�I&�ڃ�L0�L&��r2A�I&�ڃ�LPj�	�� '��d�=����d�� '��d�=���&��jr2A�I&�ڃ�L0h�	d�&9�	H�'��d�=���&��jr2��3�@�2���&��jr2A�I&�ڃ�LPj�	�� '�:�	�.��LPj�	�� '��d�=���&��jr2��3�@�2���&��jr2A�I&�ڃ�LP�H&�Ys�L0d�	D�'��d�=���&��jr2A�I&�ڃ�L0�L&��r2A�I&�ڃ�LPj�	�� '��d�=����d�� '��d�=���&��jr2A�I&�ڃ�L�{2�u��	JM2��d�R�L@�1��БL@��8�`̙L t�d�R�L@�9���$P�AN&(5�T{��	F��R�AN&(5�T{��	JM2��d�R�L@�9�`ԙL u�d�R�L@�9���$P�AN&(5�T{��	F��R�AN&(5�T{�	
-�4k��	�L2��d�Qg2��e��	JM2��d�R�L@�9���$P�AN&u&H]9���$P�AN&(5�T{��	JM2��d�Qg2��e��	JM2��d�R�L@�9���$P�AN&u&H]1��БL@��8���$�AN&(5�T{��	F��R�AN&(5�T{��	JM2��d�R�L@�9� ��d�� '��d�=���&��jr2A�I&�ڃ�L0�L&��r2A�I&�ڃ�LPj�	�� '��d�=���&�@f�a2A�#��d�q2A�I& ڃ�L���L�ϱ'>|���a2��s|����T%��:O߾Z�n_�l8�g�ȞL�^�B·�����_������_��������&�����>��'�n/���Wo'ӧ�C?��q���8����d��8�e���:��Y�A<Nv�8Nf��8١�q2�5�����q2�� ';u'�ڃx���q��j�q�S�q2�=���J�q2�� ';u'�ڃx���q��j�q�S�q2�=���J�q2�� ';u'�ڃx���q��j�q�S�q2�=���J�q2�� ';u'�ڃt����8�͚��dg��dF{�����dT�A<Nv�8Nf��8٩�8����d���dV{�����dT�A<Nv�8Nf��8٩�8����d���dV{�����dT�A<Nv�8Nf��8٩�8����d���dV{�����dT�A8Nv��d?��q���dk���9���A<N6�<N&u��d���dV{���:��Y�A<Nv�8Nf��8Y�9NFu��d���dV{���:��Y�A<Nv�8Nf��8Y�9NFu��d���dV{���:��Y�A<Nv�8Nf��8Y��8͞��dG���L�';s'3ڃx���q��j�q�Rs���2���N�ɬ� ';u'�ڃx���q��j�q�Rs���2���N�ɬ� ';u'�ڃx���q��j�q�Rs���2���N�ɬ� ';u'�ڃt����8�͚��dE��d${���9���A<Nv�8Nf��8٩�8����d��8�e���:��Y�A<Nv�8Nf��8٩�8����d��8�e���:��Y�A<Nv�8Nf��8٩�8����d���dR�A<Nv�8Nf��8٩�8����d����l�'+3�Ɉ.�x���q��j�q�S�q2�=���N�ɬ� '+5�ɨ.�x���q��j�q�S�q2�=���N�ɬ� '+5�ɨ.�x���q��j�q�S�q2�=���N�ɬ� '+5�ɨ.�x���q��j�q�C��d6k���9���A<NVj��Q]�8٩�8����d���dV{���:��Y�A<NVj��Q]�8٩�8����d���dV{���:��Y�A<NVj��Q]�8٩�8����d���dV{���:��Y�A<NVj��Q]�8١�q2�5�����Ɍ� ';u'�ڃx���'���q�S�q2�=���N�ɬ� ';u'�ڃx�l�y�L�:���N�ɬ� ';u'�ڃx���q��j�q�Rs���2���N�ɬ� ';u'�ڃx���q��j�q�B�q2�=G�Ɏ܏���9<Nv�8Nf��8�k�q2�o�|�����9>'��V��q����&�&�O����4����ï��ݿ�J��>�R8�/����9�Y��I��)�̇�y�s�?����d������@.s��9~�6�5�?�Z�90'����ܐ�.'����\��Ȟ��rC殜Ț�rC樜ȚÓr#��r?��=���99�=����-9�5Ǘ��!9�5�g��9�5�7䂜'�@��2��D�_�2��D���2��D�ߍr���s|4n�܌Ys|1n��Ys|.n�\�Ys|+.�y*d��!s'Nd�ᕸǑ8���D܀�'���>\��<Ȟ��pC�6�Ț��pC�0�Ț�pC�*�Ț�pAΓp {��
�{p"k���
�cp"k�O�
�Kp"k���9����9>7dn���9��7d���9>�6d����9���<�����ۀ��7q����h�蛸�c|�m�\|�Xs|�}N��{��{2��D�_z2��D��y2W�D��xr�x�s|�m��wYs|�m�wYs|�m�\vYs|�-�y�
d��Q�!s�Md��E�!s�Md��9�!s�Md��-�s�
`��!���7y���ۀ9�&����ې��&���~[��|Ȟ��mC�v�Ț��mC�p�Ț�mC�j�Ț�mAΓm {��
�{m"k���
�cm"k�O�
�Km"k��9ϴ��9>�6dn���9��6d���9<�6��&���f/����f0w�$�_e2G�D��d2�D��cr�c�s|�m��bYs|�m�bYs|�m�\aYs|�-�y�
d���!sMd����!s|Md���!syMd����9�~v}L.s|tm��\Ys|qm�\Ysxnm�qmM��1���<�����ڐ��&����ڐ9�&����ڐ��&����Z��Ȟ��jC涚Ț��jC氚Ț�jC檚Ț�jAΓj {��
�{j"k���
�cj"k�O�
�Kj"k��9Ϩ��9>�6dn���9��6�8�&���O0��$��Nr�N�s|8m��MYs|5m�MYs|2m�\LYs|/-�y.
d��!s+Md��!s(Md��!s%Md�� �4�=�҆�}4�5��ц�q4�5ǧц�e4�5�wт�g�@�Eq�D�q�/�
��hk�ϡ
�kh"k�o�9O���9>�6d�9��6d����9>�6d.���9�>'�ϟ��e���
��g"k�/�
��g"k�Ϟ
��g"k�o�9O���9>x6d�9�v6d����9>u6d.���9�sbΜ�1<r6޸q&��_80�$��7���f��q��g�8�m>��i�O��o۟]��m�xd?n�������_��?��ۧ3��/�_��v����_��ף�|}x���',}�d���������A>��YV���vy}��Q��Ϟ�=x�>]�Vݟ=Q{�@�^�۷�(u�D���է�������,����z���Xu�D����r{����Ϟ�=x��\^�~�T���'j~�>o��Q��YV��u{
o߈�������5����R�gO�<P��po�����V_�� �0�?�f���;�^��?{�������;��Ϟ�=x��\�_�����ڃ�����E~�ϲ�����٪��'j�#����XP�Aα(5=T{��,B}O���r�E����ڃ�eQj�,�� �Y��6�=�u��<�� Z��B�=ȍ�&҂jb�E��ӂf�q�Ř3�B�2ȱ��ւjr�E�	��ڃ�lQj�-�� W[�:�-�.�nQj�-�� �[��x�=����߂jr�Ũ3�B�2����jr�E�	��ڃ�rQjZ.�� �\�:s.�.�tQj�.�� 6]:�.h�g]����=�e�δ�� �]����=�}�&��jr�E�i��ڃ\y1�̼��r�E�)��ڃ�zQjb/�� �^����=������� G_����=���&��jr�E�i��ڃ\1�̿��R�F�{ŏc؀Q����Xs��Qf:0�� �`����u��RS�A����aP�AN�(5MT{��0F�YR�A�(5eT{��0JM��<�RӇA��cԙ�!u�H�RS�A���ԄbP�AN�(5�T{k1M.�̞�`�"G1ɚ�f�2�A�9��tcP�A.�u�cH]9���cP�A��(5T{�2JMC�䊌QgF��e�C2JMI�䖌R�A�9'���dP�A.�u&eH]9*��TeP�A��(5aT{�2
-m4k�2�L^�Ȟ���2S�A��1��DfP�A��(5�T{�K3F��R�A��(5�T{�{3JMp���RӜA��:cԙ�!u���RS�A��=���gP�A��(5�T{�4B}OЀ�r�F��РڃܡQjB4�� �h:Z4h��h�9s4�.��Qj�4�� 7i��(
�=�Y��K�jr�ƨ3MC�2�q��N�jr�F�	Ԡڃ��Qj5�� Wj�:35�.��QjJ5�� �j��X
�=ȹ��W�jr�ƨ3YC�2����Z�jb�F�#\�f�q�F�i� ڃ\�1��א�r�F�)ؠڃܰQj"6�� gl���
�=�%�Δ
�� �l���
�=�=�&h�jr�F�iڠڃ\�1��ڐ�r�F�)۠ڃܶQj�6�� �m���
�=ȅ���
�� Fn:*7h�wn���
�=ȩ��u�jr�ƨ3wC�2����x�jr�F��ޠڃ��Qj�7�� �o����u���RS�A����pP�AN�(5
T{�+8F�R�A�(5%T{�[8JM���R��A���c�$q��9��(rTq��9��(3aD{��8T}m�{��Ǹ:���%�s�y���w���1�3��8#���˿���?�yڞzx�Ç�/~�nG�T�q�h3.���E>���ڃQj�"�� �E�:�"�.�Qj�"�� �E����=�q�&.�jb\Ġ����sQf�"�� �E����=�q�&.�jr\Ĩ3.B�2�q�&.�jr\D����ڃQj�"�� �E��u丈RA�9.���EP�A��(5qT{��"F�qR�A��(5qT{��"JM\�ĸ�BG\͚㸈1g\��e��"JM\�丈RA�9.���EP�A��u�EH]9.���EP�A��(5qT{��"JM\�丈Qg\��e��"JM\�丈RA�9.���EP�A��u�EH]9.���EP�A��(t�EЬ9��(3qD{��"F�qR�A��(5qT{��"JM\�丈RA�9.b�!u丈RA�9.���EP�A��(5qT{��"F�qR�A��(5qT{��"JM\�丈RA�9.b�!u���2����0.��A��8.���E�A���=.�:�q�&.�jr\D����ڃQj�"�� �E�:�"�.�Qj�"�� �E����=�q�&.�jr\Ĩ3.B�2�q�&.�jr\D����ڃQj�"�� �E���=�qE���5�qe&.�hr\D����ڃ1ꌋ��r\D����ڃQj�"�� �E����=�q�θ�� �E����=�q�&.�jr\D����ڃ1ꌋ��r\D����ڃQj�"�� �E:�"h��E���=�qe&.�hr\D����ڃQj�"�� �E�:�"�.�Qj�"�� �E����=�q�&.�jr\Ĩ3.B�2�q�&.�jr\D����ڃQj�"�� �E��u丈RA�9.���EP�A��(t�EЬ9��s�E]9.���EP�A��(5qT{��"JM\�丈Qg\��e��"JM\�丈RA�9.���EP�A��u�EH]9.���EP�A��(5qT{��"JM\�丈Qg\��e��"JM\�ĸ�BG\͚㸈2A�9.b�!u丈RA�9.���EP�A��(5qT{��"F�qR�A��(5qT{��"JM\�丈RA�9.b�!u丈RA�9.���EP�A��(5qT{��"F�qR�A��(t�EЬ9��(3qD{��"JM\�丈Qg\��e��"JM\�丈RA�9.���EP�A���=.�:�q�&.�jr\D����ڃQj�"�� �E�:�"�.�Qj�"�� �E����=�q�&.�jb\Ġ����sQ䈋 YsQf�"�� �E��q�ϱ�E>|���ø���X�"W��|���'���G���㈋�������~���_~����-��? �������o��E^.�g�.}�x�������o,��A>��YV���vy}�Z��Ϟ�=x�>]�Vݟ=Q{�@�^��7)u�D������r{�Z��gY]ԑ�Qj9�� 7r��F�=ȍ����jr#Ǩ��C�2ȍ����jr#G�i�ڃ��Qj9�� 6r�F�=Ǎe���hr#G�i�ڃ��Qj9�� 7r�:9�.���Qj9�� 7r��F�=ȍ����jr#G��P�An�(5�T{�9JM#��F�R��A���c���!u�F�R��A�����4rP�Al�(t4rЬ9n�s6r]����4rP�An�(5�T{�9JM#��F�Qg#��e�9JM#��F�R��A�����4rP�An�u6rH]����4rP�An�(5�T{�9JM#��F�Qg#��e�9JM#��F�BG#͚�F�2��A���c���!u�F�R��A�����4rP�An�(5�T{�9F��R�An�(5�T{�9JM#��F�R��A���c���!u�F�R��A�����4rP�An�(5�T{�9F��R�Aj�(so��q9
-�k�9�L#��F�P�9�����Qj9�� 7r��F�=ȍ����jr#Ǩ��C�2ȍ����jr#G�i�ڃ��Qj9�� 7r�:9�.���Qj9�� 7r��F�=ȍ����jb#Ǡi��s��Q�h� Ys��Qf9�� 7r��F�=ȍ��F�� 7r��F�=ȍ����jr#G�i�ڃ��1�l䐺r#G�i�ڃ��Qj9�� 7r��F�=ȍ��F�� 7r��F�=ȍ����jb#G����f�a#ǐi��s��Qf9�� 7r��F�=ȍ����jr#Ǩ��C�2ȍ����jr#G�i�ڃ��Qj9�� 7r�:9�.���Qj9�� 7r��F�=ȍ����jr#G��P�An�(5�T{�9JM#��F�BG#͚�F�1g#��e�9JM#��F�R��A�����4rP�An�u6rH]����4rP�An�(5�T{�9JM#��F�Qg#��e�9JM#��F�R��A�����4rP�An�u6rH]����4rP�Al�(t4rЬ9n�(3�D{�9F��R�An�(5�T{�9JM#��F�R��A���c���!u�F�R��A�����4rP�An�(5�T{�9F��R�An�(5�T{�9JM#��F�R��A���c���!u�F�BG#͚�F�2��A�����4rP�An�u6rH]����4rP�An�(5�T{�9JM#��F�P�9�����Qj9�� 7r��F�=ȍ����jr#Ǩ��C�2ȍ����jr#G�i�ڃ��Qj9�� 6r�F�=��E�F�5Ǎe���hr#���9�9�F·����ϱ4rs{��l�C������y����ǟ~���_~�ᷯZ-/w���/������@���G�!���8����@H��e�C*JMH�䐊RRA�9��ԄTP�A�u�TH]9��ԄTP�A�(5!T{�C*JMH�Đ�AR!��8��̄T�A�(5!T{�C*JMH�䐊QgH��e�C*JMH�䐊RRA�9��ԄTP�A��=��:�!�&��jrHE�	��ڃRQjB*�� �T�:C*�.�RQjB*�� �T���
-�=�!���
-�5�!cΐ
-�� �T���
-�=�!�&��jrHE�	��ڃR1����rHE�	��ڃRQjB*�� �T���
-�=�!�ΐ
-�� �T���
-�=�!�&��jrHE�	��ڃR1����rHE�	��ڃRQ���YsRQfB*�� �T�:C*�.�RQjB*�� �T���
-�=�!�&��jrHŨ3�B�2�!�&��jrHE�	��ڃRQjB*�� �T�:C*�.�RQjB*�� �T���
-�=�!�&��jrHŨ3�B�2H!e�!?�aHE�#��b�qHE�	� ڃR�{H�u�C*JMH�䐊RRA�9��ԄTP�A�u�TH]9��ԄTP�A�(5!T{�C*JMH�䐊QgH��e�C*JMH�䐊RRA�9��ԄTP�A�4!2{C*�!$k�C*�LH�䐊RRA�9�b�R!u䐊RRA�9��ԄTP�A�(5!T{�C*F�!R�A�(5!T{�C*JMH�䐊RRA�9�b�R!u䐊RRA�9��ԄTP�A�(t�TЬ9�2!"{�C*�LH�䐊RRA�9��ԄTP�A�u�TH]9��ԄTP�A�(5!T{�C*JMH�䐊QgH��e�C*JMH�䐊RRA�9��ԄTP�A��=��:�!�&��jrHE�	��ڃRQ���YsR1���rHE�	��ڃRQjB*�� �T���
+732 0 obj
+(B.4. Bundle::Bugzilla makes me upgrade to Perl 5.6.1)
+endobj
+733 0 obj
+<< /S /GoTo /D (12.48.1) >>
+endobj
+736 0 obj
+(B.5. DBD::Sponge::db prepare failed)
+endobj
+737 0 obj
+<< /S /GoTo /D (12.49.1) >>
+endobj
+740 0 obj
+(B.6. cannot chdir\(/var/spool/mqueue\))
+endobj
+741 0 obj
+<< /S /GoTo /D (12.50.1) >>
+endobj
+744 0 obj
+(B.7. Your vendor has not defined Fcntl macro ONOINHERIT)
+endobj
+745 0 obj
+<< /S /GoTo /D (12.51.1) >>
+endobj
+748 0 obj
+(B.8. Everybody is constantly being forced to relogin)
+endobj
+749 0 obj
+<< /S /GoTo /D (12.52.1) >>
+endobj
+752 0 obj
+(B.9. Some users are constantly being forced to relogin)
+endobj
+753 0 obj
+<< /S /GoTo /D (12.53.1) >>
+endobj
+756 0 obj
+(B.10. index.cgi doesn't show up unless specified in the URL)
+endobj
+757 0 obj
+<< /S /GoTo /D (13.0) >>
+endobj
+760 0 obj
+(Appendix C. Contrib)
+endobj
+761 0 obj
+<< /S /GoTo /D (13.54.1) >>
+endobj
+764 0 obj
+(C.1. Commandline Search Interface)
+endobj
+765 0 obj
+<< /S /GoTo /D (13.55.1) >>
+endobj
+768 0 obj
+(C.2. Commandline 'Send Unsent Bugmail' tool)
+endobj
+769 0 obj
+<< /S /GoTo /D (14.0) >>
+endobj
+772 0 obj
+(Appendix D. Manual Installation of Perl Modules)
+endobj
+773 0 obj
+<< /S /GoTo /D (14.56.1) >>
+endobj
+776 0 obj
+(D.1. Instructions)
+endobj
+777 0 obj
+<< /S /GoTo /D (14.57.1) >>
+endobj
+780 0 obj
+(D.2. Download Locations)
+endobj
+781 0 obj
+<< /S /GoTo /D (14.58.1) >>
+endobj
+784 0 obj
+(D.3. Optional Modules)
+endobj
+785 0 obj
+<< /S /GoTo /D (15.0) >>
+endobj
+788 0 obj
+(Appendix E. GNU Free Documentation License)
+endobj
+789 0 obj
+<< /S /GoTo /D (15.59.1) >>
+endobj
+792 0 obj
+(0. Preamble)
+endobj
+793 0 obj
+<< /S /GoTo /D (15.60.1) >>
+endobj
+796 0 obj
+(1. Applicability and Definition)
+endobj
+797 0 obj
+<< /S /GoTo /D (15.61.1) >>
+endobj
+800 0 obj
+(2. Verbatim Copying)
+endobj
+801 0 obj
+<< /S /GoTo /D (15.62.1) >>
+endobj
+804 0 obj
+(3. Copying in Quantity)
+endobj
+805 0 obj
+<< /S /GoTo /D (15.63.1) >>
+endobj
+808 0 obj
+(4. Modifications)
+endobj
+809 0 obj
+<< /S /GoTo /D (15.64.1) >>
+endobj
+812 0 obj
+(5. Combining Documents)
+endobj
+813 0 obj
+<< /S /GoTo /D (15.65.1) >>
+endobj
+816 0 obj
+(6. Collections of Documents)
+endobj
+817 0 obj
+<< /S /GoTo /D (15.66.1) >>
+endobj
+820 0 obj
+(7. Aggregation with Independent Works)
+endobj
+821 0 obj
+<< /S /GoTo /D (15.67.1) >>
+endobj
+824 0 obj
+(8. Translation)
+endobj
+825 0 obj
+<< /S /GoTo /D (15.68.1) >>
+endobj
+828 0 obj
+(9. Termination)
+endobj
+829 0 obj
+<< /S /GoTo /D (15.69.1) >>
+endobj
+832 0 obj
+(10. Future Revisions of this License)
+endobj
+833 0 obj
+<< /S /GoTo /D (15.70.1) >>
+endobj
+836 0 obj
+(How to use this License for your documents)
+endobj
+837 0 obj
+<< /S /GoTo /D (16.0) >>
+endobj
+840 0 obj
+(Glossary)
+endobj
+841 0 obj
+<< /S /GoTo /D (17.0) >>
+endobj
+844 0 obj
+(09, high ascii)
+endobj
+845 0 obj
+<< /S /GoTo /D (17.70.75.2) >>
+endobj
+848 0 obj
+(.htaccess)
+endobj
+849 0 obj
+<< /S /GoTo /D (18.0) >>
+endobj
+852 0 obj
+(A)
+endobj
+853 0 obj
+<< /S /GoTo /D (18.70.76.2) >>
+endobj
+856 0 obj
+(Apache)
+endobj
+857 0 obj
+<< /S /GoTo /D (18.70.76.39.3) >>
+endobj
+860 0 obj
+(Useful Directives when configuring Bugzilla)
+endobj
+861 0 obj
+<< /S /GoTo /D (19.0) >>
+endobj
+864 0 obj
+(B)
+endobj
+865 0 obj
+<< /S /GoTo /D (19.70.77.2) >>
+endobj
+868 0 obj
+(Bug)
+endobj
+869 0 obj
+<< /S /GoTo /D (19.70.78.2) >>
+endobj
+872 0 obj
+(Bug Number)
+endobj
+873 0 obj
+<< /S /GoTo /D (19.70.79.2) >>
+endobj
+876 0 obj
+(Bugzilla)
+endobj
+877 0 obj
+<< /S /GoTo /D (20.0) >>
+endobj
+880 0 obj
+(C)
+endobj
+881 0 obj
+<< /S /GoTo /D (20.70.80.2) >>
+endobj
+884 0 obj
+(Common Gateway Interface)
+endobj
+885 0 obj
+<< /S /GoTo /D (20.70.81.2) >>
+endobj
+888 0 obj
+(Component)
+endobj
+889 0 obj
+<< /S /GoTo /D (20.70.82.2) >>
+endobj
+892 0 obj
+(Comprehensive Perl Archive Network)
+endobj
+893 0 obj
+<< /S /GoTo /D (20.70.83.2) >>
+endobj
+896 0 obj
+(contrib)
+endobj
+897 0 obj
+<< /S /GoTo /D (21.0) >>
+endobj
+900 0 obj
+(D)
+endobj
+901 0 obj
+<< /S /GoTo /D (21.70.84.2) >>
+endobj
+904 0 obj
+(daemon)
+endobj
+905 0 obj
+<< /S /GoTo /D (21.70.85.2) >>
+endobj
+908 0 obj
+(DOS Attack)
+endobj
+909 0 obj
+<< /S /GoTo /D (22.0) >>
+endobj
+912 0 obj
+(G)
+endobj
+913 0 obj
+<< /S /GoTo /D (22.70.86.2) >>
+endobj
+916 0 obj
+(Groups)
+endobj
+917 0 obj
+<< /S /GoTo /D (23.0) >>
+endobj
+920 0 obj
+(J)
+endobj
+921 0 obj
+<< /S /GoTo /D (23.70.87.2) >>
+endobj
+924 0 obj
+(JavaScript)
+endobj
+925 0 obj
+<< /S /GoTo /D (24.0) >>
+endobj
+928 0 obj
+(M)
+endobj
+929 0 obj
+<< /S /GoTo /D (24.70.88.2) >>
+endobj
+932 0 obj
+(Message Transport Agent)
+endobj
+933 0 obj
+<< /S /GoTo /D (24.70.89.2) >>
+endobj
+936 0 obj
+(MySQL)
+endobj
+937 0 obj
+<< /S /GoTo /D (25.0) >>
+endobj
+940 0 obj
+(P)
+endobj
+941 0 obj
+<< /S /GoTo /D (25.70.90.2) >>
+endobj
+944 0 obj
+(Perl Package Manager)
+endobj
+945 0 obj
+<< /S /GoTo /D (25.70.91.2) >>
+endobj
+948 0 obj
+(Product)
+endobj
+949 0 obj
+<< /S /GoTo /D (25.70.92.2) >>
+endobj
+952 0 obj
+(Perl)
+endobj
+953 0 obj
+<< /S /GoTo /D (26.0) >>
+endobj
+956 0 obj
+(Q)
+endobj
+957 0 obj
+<< /S /GoTo /D (26.70.93.2) >>
+endobj
+960 0 obj
+(QA)
+endobj
+961 0 obj
+<< /S /GoTo /D (27.0) >>
+endobj
+964 0 obj
+(R)
+endobj
+965 0 obj
+<< /S /GoTo /D (27.70.94.2) >>
+endobj
+968 0 obj
+(Relational DataBase Managment System)
+endobj
+969 0 obj
+<< /S /GoTo /D (27.70.95.2) >>
+endobj
+972 0 obj
+(Regular Expression)
+endobj
+973 0 obj
+<< /S /GoTo /D (28.0) >>
+endobj
+976 0 obj
+(S)
+endobj
+977 0 obj
+<< /S /GoTo /D (28.70.96.2) >>
+endobj
+980 0 obj
+(Service)
+endobj
+981 0 obj
+<< /S /GoTo /D (28.70.97.2) >>
+endobj
+984 0 obj
+(SGML )
+endobj
+985 0 obj
+<< /S /GoTo /D (29.0) >>
+endobj
+988 0 obj
+(T)
+endobj
+989 0 obj
+<< /S /GoTo /D (29.70.98.2) >>
+endobj
+992 0 obj
+(Target Milestone)
+endobj
+993 0 obj
+<< /S /GoTo /D (29.70.99.2) >>
+endobj
+996 0 obj
+(Tool Command Language)
+endobj
+997 0 obj
+<< /S /GoTo /D (30.0) >>
+endobj
+1000 0 obj
+(Z)
+endobj
+1001 0 obj
+<< /S /GoTo /D (30.70.100.2) >>
+endobj
+1004 0 obj
+(Zarro Boogs Found)
+endobj
+1005 0 obj
+<< /S /GoTo /D [1006 0 R  /Fit ] >>
+endobj
+1008 0 obj <<
+/Length 181       
+/Filter /FlateDecode
+>>
+stream
+xڍP�
+�@��[&ŭ�{��k
X�ub�B��Ư�L�X��3�,3��2B(��Gd��p�4�Ei+�/��Ȏ�"*gc0�>��Z���[����-)Z#3C:��t΍b	���?.��M[{�gAM�Hab�<�}ڌ�$����&�N@�1�������]_6�*�_�����E<J�G�endstream
+endobj
+1006 0 obj <<
+/Type /Page
+/Contents 1008 0 R
+/Resources 1007 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1014 0 R
+>> endobj
+1009 0 obj <<
+/D [1006 0 R /XYZ 71.731 729.265 null]
+>> endobj
+1010 0 obj <<
+/D [1006 0 R /XYZ 71.731 718.306 null]
+>> endobj
+1011 0 obj <<
+/D [1006 0 R /XYZ 71.731 718.306 null]
+>> endobj
+2 0 obj <<
+/D [1006 0 R /XYZ 501.873 700.222 null]
+>> endobj
+1007 0 obj <<
+/Font << /F23 1013 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1017 0 obj <<
+/Length 499       
+/Filter /FlateDecode
+>>
+stream
+xڍTˎ�0��+Xb�8��<�M;RW��]����l�(��5����,�,��>/_Bb4�(�b;����x AkO^*�4Ō3;��0�q��<����p����E�y#!9��$(�_a�	�,�����ʭ^澁��
#��-~�ATZ�?�ː�HQ�+s?�l9'@b'$�6�H(�q�Yn2��7_����N4���#B#�l��z���h<_#�y��L/'�u�և���� �	�62�����u����CI��r�R!��-��Z��S/�V�P�k�C���ҋZx�k�t5(� A��Q��7Z�-bg����`���ML���Yhd��S�D�|"no��k�M�yL�{��Z��o�l���C�!jpQ�J�l��/�<JoO�E�nq��O�>�jX�]Z7(=	�q��=���C�Wp˶k��EX���u�o�Ig����x�^Q�C���丨��[o�Ό��Lנ���ˆo6�qN���_�Y#endstream
+endobj
+1016 0 obj <<
+/Type /Page
+/Contents 1017 0 R
+/Resources 1015 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1014 0 R
+>> endobj
+1018 0 obj <<
+/D [1016 0 R /XYZ 71.731 729.265 null]
+>> endobj
+1015 0 obj <<
+/Font << /F23 1013 0 R /F27 1020 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1023 0 obj <<
+/Length 60574     
+/Filter /FlateDecode
+>>
+stream
+xڔ�M�-ם��y}
+
Ɂ�����a���(nhu��j��&��,��
��w䍽v��7㉧Ѓ�T��;�!1���?y�������{�^�o��w�z�z�ݟ����~�������:�xxz��?�o������oϗח��~�a���w�������������?��T�n����������?~�r�ݟ���׻�~�����?�|�����~���_~�������������Xyz~��>~�Y?���g�~���������䑷s�l���w����o�?���������������r}|�ܽ>ч���ܽ�����_���桏����y�^n���}�o��,����z���Xu�D����r{~����ڃ�����Y���'j~�n�5�=Ju<��2x�n���E���'j��k��Ju�D��u{
�Vݟ=Q{�s�e{
��e����\��ܟ=A{�@����U�gO�<P_.ϯ��w�D�������~�*���,����z�<?[u�D��u����Ϟ�=x�n��Q~�Ϟ�=��z�����YT��u{
�'��Ϟ�=x�n���Y���'j��k�Zu�D�������ܗ�<��2x��.O��Rݟ=Q{�@}�\_��?{�����ry���_=1k�s��z��$Ǚ�YF��u{OVݟ=Q{�@����T�gO�<P���p����ڃ����5ܤ:�eu<P��p� ������5\����ڃ��?{��������/��Udz�.�����"���gO�<P�.w�Vݟ=Q{�@}�<�?
+�gO��\}�^ã��3�eu<P���`������5�?H쏞�5w@n��&���gO��\}����Tdz�.�������x�D��u{wVݟ=Q{�@}�<��/s���?W��.�/���YV���vyx����ڃ�����27�=Q{�@�^ã�27�=Q{�s�e{
Rϲ���k��/s�����5��/s�����5\��?{��������䗹�,������i�=y"~;�/�/Y�GOĚ; _.��n<{������������YT���v�=Yu�D��u{�7��Ϟ�=x�n���A���'j~�^��p��x��e�@�^���T�gO�<P��p}����ڃ��?{����������}�˳�.����}u����ڃ����٪��'j�/���W��Ϟ�=��z�^��/��(�=w@n�@�ou􄬹r{Wi�Ϟ�=x�n/@�-�<{�������
+�:�eu<P��p�_�Ƴ'j��k��
�gO�<P_.�W��Ϟ�=���xwy��y�gY]���j��1�=Q{�@}�<=Yu�D��u{
�;O��ڃ��O�k��y�gY]��5ܬ�?{��������'y�D��u{
����'f�}N>o�@~��e�����Ys������(��$Ϟ�=x��\�^��?{��������Q~�I�eu<Po�;�m'y�D��u{
�Vݟ=Q{�@�^����<{�������nRϲ���k��_�Ƴ'j��k��v�gO�<P��pg����?U��.��k\�Eu<P�/������ڃ����٪��'j��������>'��;�_Z�,�������G��Ϟ�=x�n���^���'j��[��v�gO��\��^ýTdz�.����Rݟ=Q{�@�^����<{�����|yy����ڃ�������}�˳�.����E~�I�=Q{�@}�ܞ��?{�������G�en<{�������䷝�YV��u{
7��Ϟ�=x�n�A��i�Ĭ�r{��N��	ڃ����;�y��e�@�ށ���<{�����x���v�gO�<P�/�/Vݟ=Q{�s���r/��$ϲ����g�m'y�D��u{
�Vݟ=Q{�@�^����<{�������䷝�YV��u{
�Vݟ=Q{�@�^����<{�������m'y�D���՗��UL�YV�����dѯ���5w@>^��O��	ڃ����٪��'j~��n�@~�I�eu<P�� ��$Ϟ�=x�n������'j��k��|�gO��T}��^���y�u�@�^�ժ��'j��k��|�gO�<P�/������ڃ��׻˝<�ȳ�.����Q~�I�=Q{�@}��=Yu�D��u{
�`"Ϟ�=��z���?��Q6{�����$�>zB�����y-�gO�<P� ��$Ϟ�=��z�^��;�y��e�@���ݍK(o��( s�ܝ�=�<T͖o?Ȟ��>���s��~{x�������3ۗا������}%��m��?�x&��
�Td���em��_~���5���/?����ǟ�|v����=�ܷ�~���/���7|�y������9�����o������o���oR�A��Vj�Q�A��Vj�Q�A��V��F����ۘ����e�ᅰ��oT{�ᅰ��oT{�ᅰ��oT{�ᅪ:�I]��[���F���[���F���[���F���ۨ����e�ᅰ��oT{�ᅰ��oT{�ᅰ��oT{�ᅪ:�I]��[���F���[���͚��oe�����o���oR�A��Vj�Q�A��Vj�Q�A��Vj�Q�A��6��&u��o������o������o������o���oR�A��Vj�Q�A��Vj�Q�A��Vj�Q�A��6��&u��oe���(~��o��ok�ᅰ��oD{�ᅤ�~�
�:���J��7�=���J��7�=���J��7�=���F��ߤ.�|�����ڃ|�����ڃ|�����ڃ|�m�y�M�2���J��7�=���J��7�=���J��7�=�����7�=��ߊ��H��+3�߈� �+5�ߨ� �u������Rs��j���Rs��j���Rs��j���Q��7�� �+5�ߨ� �+5�ߨ� �+5�ߨ� �u������Rs��j���Rs��j���B��7�5��߆��7�=������7�=���J��7�=���J��7�=���F��ߤ.�|�����ڃ|�����ڃ|�����ڃ|�m�y�M�2���J��7�=���J��7�=���J��7�=���B}��u��o������o������o���o4k�ᅪ9�	]��[���F���[���F���[���F���ۨ����e�ᅰ��oT{�ᅰ��oT{�ᅰ��oT{�ᅪ:�I]��[���F���[���F���[���F���ۨ����e�ᅰ��oT{�:�Ѭ9��Vf��A��6��&u��o������o������o������o���oR�A��Vj�Q�A��Vj�Q�A��Vj�Q�A��6��&u��o������o������o������o���oR�A��V��F����[���F���[���F���ۨ����e�ᅰ��oT{�ᅰ��oT{�ᅰ��oT{�ᅤ�~�
�:���J��7�=���J��7�=���J��7�=���F��ߤ.�|�����ڃ|�����ڃ|�����ڃx�m����sx���q��d����2s��h���Rs��j���Q��7�� �������2�?�[����o��|r��x�z�I������~�����O��_�囟b��ty~}��}��_��g������ry���;��������S�^no�g���Vϲ����ˋU�gO�<P�.��o�Q���ڃ������,��?{��������:�eu<P�����6Jݟ=Q{�@�^���Y*u�D��u{
�Vݟ=Q{�s�e{
��e����\��ܟ=A{�@����U�gO�<P_�?.�_����?W_��o_��:�eu<Po��g��Ϟ�=x�>]���?{�������G�g<{���A�d{
Nͳ���ꈼ(5�T{��1JM5��j�RS�A��c�Y�!u�j�RS�A����TcP�A��(tTcЬ9��sVc]���TcP�A��(5�T{��1JM5��j�Qg5��e��1JM5��j�RS�A����TcP�A��uVcH]���TcP�A��(5�T{��1JM5��j�Qg5��e��1JM5��j�BG5͚�j�2S�A��c�Y�!u�j�RS�A����TcP�A��(5�T{��1F��R�A��(5�T{��1JM5��j�RS�A��c�Y�!u�j�RS�A����TcP�A��(5�T{��1F��R�A��(s�Ơ�q�1
+�k��1�L5��j�P߫1���\�Qj�1�� Wc��j�=�����jr5ƨ�C�2�����jr5F��Ơڃ\�Qj�1�� Wc�:�1�.�\�Qj�1�� Wc��j�=�����jb5Ơ�Ɛ�sX�Q�� Ys\�Qf�1�� Wc��j�=����j�� Wc��j�=�����jr5F��Ơڃ\�1�Ɛ�r5F��Ơڃ\�Qj�1�� Wc��j�=����j�� Wc��j�=�����jb5F���f�a5Ɛ���s\�Qf�1�� Wc��j�=�����jr5ƨ�C�2�����jr5F��Ơڃ\�Qj�1�� Wc�:�1�.�\�Qj�1�� Wc��j�=�����jr5F���P�A��(5�T{��1JM5��j�BG5͚�j�1g5��e��1JM5��j�RS�A����TcP�A��uVcH]���TcP�A��(5�T{��1JM5��j�Qg5��e��1JM5��j�RS�A����TcP�A��uVcH]���TcP�A��(tTcЬ9��(3�D{��1F��R�A��(5�T{��1JM5��j�RS�A��c�Y�!u�j�RS�A����TcP�A��(5�T{��1F��R�A��(5�T{��1JM5��j�RS�A��c�Y�!u�j�BG5͚�j�2S�A����TcP�A��uVcH]���TcP�A��(5�T{��1JM5��j�P߫1���\�Qj�1�� Wc��j�=�����jr5ƨ�C�2�����jr5F��Ơڃ\�Qj�1�� Vc�j�=��E�j�5��e��hr5F��Ơڃ\�1�Ɛ�r5渄�1�AF5�c��s�A�j̕�1��Kb���O�͘�h�����������?}�^���_��˯��E޾W`B���ݿ%dfj��s����=�|�)�3d�qeĐ��Ys�1d
+#D��E���5�q!�-`�qYĀ	��Xs�1d�"D�7E���5�AAΞ�=�5C&&Bd�qJĐ)�Ys�1d2"D�GD�����1��qAĐ	�Ys�1d�!D��C�t�5��A�n�=��C&Bd�q2Đ)�Ys�1�ȅ�q�c!��{�K!�L(�Ț�L�!S	!��b�$B��9�r�A��9��2q"k�� �L�Ț�.�!�!��8
+"����b�A��9΁25"k�[ �L
+�Ț�� gȞ�
+�!!��0b�Q�!���?���5��A���=��C&�Ad�q�Ð�~Ys��0d�D�?9{@��>���5ǩC��Ad�q�Ð�|Ys��l|��s\�0dD��=���5�mC&�Ad�q�C���d�Q�À{ԃ�S��0�(z�q�{L΃Ě��9���8&�9.y2!"k�3�LŃȚㆇ!�� ��8�!�������a��;��9Nw2�"k���L��Ț�h� g�Ȟ�b�!� ��8�a��:��9nu2�"kCBL���J��F����c��0`
+$��9�<�5�qA�6�=�eC&�Ad�q��rYs��0d�D�99{@��8��5�)C��Ad�q��pYs��lp��s\�0dD��7���5��
#����0�!�t7��1�n0�
k���Lq�Ț�ކ!�� ��8�!�����縴aȄ6��9�l2�
"k��Lb�Ț��� g_Ȟ㺆!� ��8�aȔ5��9�j2Y
"k����{S�\渨a�5��9�i25
"k[F)
?�qHC���b�qE�hYs��0d
+D��3�|�5��A�v�=��C&�Ad�q6Ð�fYs��0d�D�39{@��2�X�5ǩC��Ad�q'Ð�dYs��ld��s\�0dD��1�8�~�6��� ��8�!�����縊a�D1��9Nb2E"k�{�L�Ț�� gȞ��!� ��8�a�T0��9n`2	"k���� {���L��Ț��!S� ��{a�d/��9�^r6/��9,^q/�8ƹ�vAb�q�I]Ys���\��s\�0d"D�'.���5�}C&oAd�q��|o[���-���5�YC�jAd�q�IZYs���Y��s\�0dbD��,���5�C&cAd�a�B�iX�XcX�0�X��q��L��Ě�v�!�� ��8\!�٭���ZA���O1�"�Ɋ�O��+V�}����JV�G�f��hV�����o�*���������G���B�����>>�x�����f�����x��c|b�Ϟ�=x��\^��?{�������V޾{ʨ�YV��u{o�ӭ������5\��?{��������o�R���ڃ��O�������:�eu<Po����Ϟ�=x�>]n�ORݟ=Q{�@�����jr=Ǩ3�C�2�����jrCG���ڃ��Qj::�� �t���=�1e���hrOG�	�ڃ��Qj�:�� Wu�:�:�.��Qj�:�� �u����=�y����jraG��P�A��(5�T{�;;JMh��ԎR��A���cԙ�!u���RS�A�����DwP�A��(ttwЬ9.�s�w]9����wP�A��(5T{�<JM���
+�Qg���e�C<JM����R�A�9ǣ��xP�A.�u&yH]9ʣ�TyP�A��(5aT{��<JM���:�Qg���e�=JM���F�BG�͚�L�2��A���cԙ�!u�X�RS�A��ף�{P�AN�(5�T{��=F��R�A�(5�T{��=JM���|�R��A���cԙ�!u䈏RS�A���Ԅ|P�AN�(5-T{�k>F�9R�A
+�(s/���q�>
+Qk��>�L��䲏P��>����Qj�>�� �}����=ȉ���jr�Ǩ3�C�2ȡ���jr�G����ڃ��Qjz?�� �:�?�.��Qj�?�� w����=������jb�Ǡ����s�R�(�!Ys��Rf"@�� g����=�% ���� ǀ���=�= �&�jrH�i�ڃ\2����rH�)�ڃ�Rj�@�� 灔�>�=ȅ ��D�� G���J�=ȝ �&�jb*H���f�a-Ȑ��sRf�A�� 7���h�=�� ���jr9Ȩ3D�2�� ���jr?H�	�ڃ�RjB�� W��:3B�.�RjJB�� ������=�9!��'�jrQH��I!P�A�
+)5U!T{��BJMX�Ĵ�BG[͚㺐1g^��e�CJMa��ƐRB�93��t�P�A.
u��H]96��ԆP�A�
)5�!T{��CJMs���Qgv��e��CJMy����RB�9?���P�A.u&�H]9B��T�P�A�)t��Ь9N)3-"D{�kDF�9"R�A)5E"T{��DJM���,�R�%B��Ldԙ&"u�8�RS'B��O���P�AN)5�"T{�+EF��"R�A)5�"T{�[EJM���\�R�+B��Xdԙ,"u�h�BG�͚�n�2.B�9]�Դ�P�A�u�H]9`���P�An)5#T{�3FJM��䒑P�SF���3RjjF�� ������=�I#��i�jr�Ȩ3kD�2�a#��l�jr�H���ڃ�7Rj�F�� ����=��#E���5ǝ#e&t�hr�H�i�ڃ\;2����r����G�AF����?l�%zt�ѣ��_>?c�h<�G�G��?�����_~	���|�p��������_���/�~vz����/����������/��]4|�y��#�E�A�.��e���hT{���hT{�:�Ѭ9��6漋&t�h��.��h��.��h��.��h�λhR�A��Vj�Q�A��Vj�Q�A��Vj�Q�A��6꼋&u�h��.��h��.��h��.��h�λhR�A��Vj�Q�A��V踋F���.Z���F��.ڨ�.��e���hT{���hT{���hT{�:�I]�.Z���F��.Z���F��.Z���F��.ڨ�.��e���hT{���hT{���hT{�:�I]�.Z��]4���.Z��.Ś�he�.��h���E���]�Rs�j�]�Rs�j�]�Rs�j�]�Q�]4�� �E+5wѨ� �E+5wѨ� �E+5wѨ� �Eu�E���]�Rs�j�]�Rs�j�]�Rs�j�]�AsMf��]�"�]4�5�w���]4�=�w�J�]4�=�w�F�wѤ.�|���E�ڃ|���E�ڃ|���E�ڃ|m�yM�2�w�J�]4�=�w�J�]4�=�w�J�]4�=�w�F�wѤ.�|���E�ڃ|���E�ڃx��q�f��]�!sMd��]�2s�h�]�Rs�j�]�Rs�j�]�Q�]4�� �E+5wѨ� �E+5wѨ� �E+5wѨ� �Eu�E���]�Rs�j�]�Rs�j�]�Rs�j�]�P��A]�.Z���F��.Z���F��.Z��.͚�hcλhB�A��Vj�Q�A��Vj�Q�A��Vj�Q�A��6꼋&u�h��.��h��.��h��.��h�λhR�A��Vj�Q�A��Vj�Q�A��Vj�Q�A��6꼋&u�h��.�Ļh���h4k���hD{�:�I]�.Z���F��.Z���F��.Z���F��.ڨ�.��e���hT{���hT{���hT{�:�I]�.Z���F��.Z���F��.Z���F��.ڨ�.��e�:�Ѭ9��Vf��A��Vj�Q�A��6꼋&u�h��.��h��.��h��.��h���E���]�Rs�j�]�Rs�j�]�Rs�j�]�Q�]4�� �E+5wѨ� �E+5wѨ� �E+5wѨ� �E4w�d��E+r�E#Ys|���E#ڃ|���E�ڃ|m�yM�2�w��G��.?ȸ���A�?���O�_ļ�E?~�����������/�_��t��@�<�������o����u��������O����������Ƨ��o��������z����$}�<��s~�#ǟn�����>�'���ڃ�����$����ԗ��ӳT�gO��\���r{��x��e�@�^�ËT�gO�<P��p{����ڃ��?{���������?�f���;�^��?{�������;��Ϟ�=x��\�_�����ڃ�������eD��YV���vy~����ڃ�����A���'j��kx�_pƳ'j~~�s�����YT��u{
�'��Ϟ�=x�n���Y���'j�{zũ���jb�E�i���b�ũ���jb�ũ���jR�š{˅͚Ö�2�rAtĖ�SG˅�Ė�SG˅�Ė�SG˅�Ė�R�rAuĖ�SG˅�Ė�SG˅�Ė�SG˅�Ė�R�rAuĖ�SG˅�Ė�SG˅�Ė�SG˅�Ė�R�rAuĖ�SG˅����C���5�-g���=�-����2�-����=�-����=�-����=�-����2�-����=�-����=�-����=�-����2�-����=�-����=�-����=�-����2-g~m���q�Z.�[.,��\�9Z.�� �\�:[.����rq�h��ڃ�rq�h��ڃ�rq�h��ڃ�rQjZ.�.��rq�h��ڃ�rq�h��ڃ�rq�h��ڃ�rQjZ.�.��rq�h��ڃ�rq�h��ڃ�rq�h��ڃ�rQ�h���s�rq��ra������ra������ra���Դ\P]�����ra������ra������ra���Դ\P]�����ra������ra������ra���Դ\P]�����ra������ra����н��f�Q�E���d�a�ř���hb�ũ���jb�ũ���jb�E�i���b�ũ���jb�ũ���jb�ũ���jb�E�i���b�ũ���jb�ũ���jb�ũ���jb�Ũ��B�:�-����=�-����=H-��-6k[.�L��e[.N-V{[.N-V{[.N-V{[.JM��e[.N-V{[.N-V{[.N-V{[.JM��e[.N-V{[.N-V{[.N-V{[.JM��e[.N-V{�Z.�[.l��\�9Z.�� �\����� �\�:Z.�� �\�:Z.�� �\�:Z.�� �\����� �\�:Z.�� �\�:Z.�� �\�:Z.�� �\����� �\�:Z.�� �\�:Z.�� �\�:Z.�� �\����� �\��\ج9l�8s�\�Al�8u�\X�Al�(5-T�Al�8u�\X�Al�8u�\X�Al�8u�\X�Al�u�\H]�����ra������ra������ra���Դ\P]�����ra������ra������ra�����rA����Ƚ��d�a�ř���hb�ũ���jb�E�i���b��$���d��y8j�����!o
���r����K���o|����z�i\f<�G��˵k.��ǟ�|[p�>��߱y��W�u�c�A���e��?���C?�'U��y���@7��e��1JM7��n�RӍA����tcP�A��uvcH]���tcP�A��(5�T{��1JM7��n�AӍ!����tc�A��(5�T{��1JM7��n�Qg7��e��1JM7��n�RӍA����tcP�A�����:�����jr7F��Ơڃ܍Qj�1�� wc�:�1�.�܍Qj�1�� wc��n�=����n�5��c�n�� wc��n�=�����jr7F��Ơڃ܍1��Ɛ�r7F��Ơڃ܍Qj�1�� wc��n�=����n�� wc��n�=�����jr7F��Ơڃ܍1��Ɛ�r7F��Ơڃ؍Q��ƠYs܍Qf�1�� wc�:�1�.�܍Qj�1�� wc��n�=�����jr7ƨ�C�2�����jr7F��Ơڃ܍Qj�1�� wc�:�1�.�܍Qj�1�� wc��n�=�����jr7ƨ�C�2H�e��?�a7F���b�q7F��� ڃ܍�{7�u��1JM7��n�RӍA����tcP�A��uvcH]���tcP�A��(5�T{��1JM7��n�Qg7��e��1JM7��n�RӍA����tcP�A��4�2{�1��$k��1�L7��n�RӍA��c�ٍ!u�n�RӍA����tcP�A��(5�T{��1F��R�A��(5�T{��1JM7��n�RӍA��c�ٍ!u�n�RӍA����tcP�A��(ttcЬ9��2�"{��1�L7��n�RӍA����tcP�A��uvcH]���tcP�A��(5�T{��1JM7��n�Qg7��e��1JM7��n�RӍA����tcP�A�����:�����jr7F��Ơڃ؍Q��ƠYs܍1����r7F��Ơڃ܍Qj�1�� wc��n�=����n�� wc��n�=�����jr7F��Ơڃ܍1��Ɛ�r7F��Ơڃ܍Qj�1�� wc��n�=����n�� wc��n�=����n�5��e��hr7ƨ�C�2�����jr7F��Ơڃ܍Qj�1�� wc�:�1�.�܍Qj�1�� wc��n�=�����jr7ƨ�C�2�����jr7F��Ơڃ܍Qj�1�� wc�:�1�.�؍Q��ƠYs܍Qf�1�� wc��n�=����n�� wc��n�=�����jr7F��Ơڃ܍�{7�u��1JM7��n�RӍA����tcP�A��uvcH]���tcP�A��(5�T{��1JM7��n�AӍ!����эA����tc�A��(5�T{��1F��R�A��P	�tc���ṅr܍9� �1��;c7�����'uc�#{7�~tc���������~�<�v�����������^��131�o&F>|���ȷ#�.��Qj#�� 'F����=ȉ�&1�jbbĠI���s�Qf#�� 'F����=ȉ�&1�jrbĨ31B�2ȉ�&1�jrbD�I��ڃ�Qj#�� 'F���u�ĈR�A�91��$FP�AN�(5�T{�#F��R�AN�(5�T{�#JMb��ĈBGb͚�Ĉ1gb��e�#JMb��ĈR�A�91��$FP�AN�u&FH]91��$FP�AN�(5�T{�#JMb��ĈQgb��e�#JMb��ĈR�A�91��$FP�AN�u&FH]91��$FP�AL�(t$FЬ9N�(3�D{�#F��R�AN�(5�T{�#JMb��ĈR�A�91bԙ!u�ĈR�A�91��$FP�AN�(5�T{�#F��R�AN�(5�T{�#JMb��ĈR�A�91bԙ!u�Ĉ2����01���A��81��$F�AN��=1�:ȉ�&1�jrbD�I��ڃ�Qj#�� 'F�:#�.��Qj#�� 'F����=ȉ�&1�jrbĨ31B�2ȉ�&1�jrbD�I��ڃ�Qj#�� &F���=��E���5lje&1�hrbD�I��ڃ�1�L���rbD�I��ڃ�Qj#�� 'F����=ȉ����� 'F����=ȉ�&1�jrbD�I��ڃ�1�L���rbD�I��ڃ�Qj#�� &F:#h�&F���=lje&1�hrbD�I��ڃ�Qj#�� 'F�:#�.��Qj#�� 'F����=ȉ�&1�jrbĨ31B�2ȉ�&1�jrbD�I��ڃ�Qj#�� 'F���u�ĈR�A�91��$FP�AL�(t$FЬ9N�s&F]91��$FP�AN�(5�T{�#JMb��ĈQgb��e�#JMb��ĈR�A�91��$FP�AN�u&FH]91��$FP�AN�(5�T{�#JMb��ĈQgb��e�#JMb��ĈBGb͚�Ĉ2�A�91bԙ!u�ĈR�A�91��$FP�AN�(5�T{�#F��R�AN�(5�T{�#JMb��ĈR�A�91bԙ!u�ĈR�A�91��$FP�AN�(5�T{�#F��R�AL�(t$FЬ9N�(3�D{�#JMb��ĈQgb��e�#JMb��ĈR�A�91��$FP�AN��=1�:ȉ�&1�jrbD�I��ڃ�Qj#�� 'F�:#�.��Qj#�� 'F����=ȉ�&1�jbbĠI���s�Q�H� Ys�Qf#�� 'F����=ȉ����� 'F��!#�AFb��y9L��%1rω�ǧ�O�_112�#���?���,�����ˏ���|���������ﯼ�oE�O׃_���*�0o�>�'8������M�=�7U
+7Uh��T)37U�� �Tu�T���M�RsS�j�M�RsS�j�M�RsS�j�M�Q�M�� �T)57U�� �T)57U�� �T)57U�� �Tu�T���M�RsS�j�M�RsS�j�M�RsS�j�M�Q�M�� �T)s��B���T)p�T�Xs|S���T!ڃ|S%���*P�A��Rjn�P�A��Rjn�P�A��Rjn�P�A��2꼩"u�*��
+��*��
+��*��
+��*�Λ*R�A��Rjn�P�A��Rjn�P�A��Rjn�P�A��2hn���9��R丩B����J���B���J���B���ʨ��e�o����*T{�o����*T{�o����*T{�o��:o�H]��J���B���J���B���J���B���ʨ��e�o����*T{�o����*T{o�:n�Ь9��2dn���9��Rfn��A��Rjn�P�A��Rjn�P�A��2꼩"u�*��
+��*��
+��*��
+��*�Λ*R�A��Rjn�P�A��Rjn�P�A��Rjn�P�A����M�� �T)57U�� �T)57U�� �T)t�T�Ys|Se�ySE�2�7UJ�M�=�7UJ�M�=�7UJ�M�=�7UF�7U�.�|S���T�ڃ|S���T�ڃ|S���T�ڃ|Se�ySE�2�7UJ�M�=�7UJ�M�=�7UJ�M�=�7UF�7U�.�|S���T�ڃxS��qS�f��M�2sS�h�M�Q�M�� �T)57U�� �T)57U�� �T)57U�� �Tu�T���M�RsS�j�M�RsS�j�M�RsS�j�M�Q�M�� �T)57U�� �T)57U�� �T)57U�� �Tu�T���M�B�M�5�7U��M�=�7UJ�M�=�7UF�7U�.�|S���T�ڃ|S���T�ڃ|S���T�ڃ|S%���*P�A��Rjn�P�A��Rjn�P�A��Rjn�P�A��2꼩"u�*��
+��*��
+��*��
+�ě*�榊̞Û*E��*$k�o����*D{�o��*��_.gq7���1��?���s��~���w�l�u�3���~f��3������o?��Ƿk�?���?~���?���~U��_���_����~��G~=\޾�_?���r{<:1�?z>���c>�������C��G�u��1R�A��cJ͏C��G�)5?z��=����1T{���Q��� ��)5gr�� ��)t�ɡYs|&�̜�!ڃ|&g�y&G�2�grJ͙�=�grJ͙�=�grJ͙�=�grF�gr�.�|&�Ԝɡڃ|&�Ԝɡڃ|&�Ԝɡڃ|&g�y&G�2�grJ͙�=�grJ͙�=�grJ͙�=�grF�gr�.�t&���Lŏcx&��q&�b��2s&�h�P���@]�LN�9�C��LN�9�C��LN�9�C��LΨ�L��e��䔚39T{��䔚39T{��䔚39T{���:��H]�LN�9�C��LN�9�C��LN�9�C��LΠ9�#���LN��Lɚ�39e�L��39��L��39��39R�A>�Sj��P�A>�Sj��P�A>�Sj��P�A>�3�<�#u�39��L��39��L��39��L��39��39R�A>�Sj��P�A>�Sj��P�A<�S�8�C���Lΐ9�#���LN�9�C��LN�9�C��LN�9�C��LΨ�L��e��䔚39T{��䔚39T{��䔚39T{���:��H]�LN�9�C��LN�9�C��LN�9�C��LN��gr���|&�Ԝɡڃ|&�Ԝɡڃx&��q&�f��1��� ��)5gr�� ��)5gr�� ��)5gr�� ��u�ɑ��Rs&�j�Rs&�j�Rs&�j�Q��� ��)5gr�� ��)5gr�� ��)5gr�� ��u�ɑ��Rs&�j♜BǙ�5�gr�̙�=�grF�gr�.�|&�Ԝɡڃ|&�Ԝɡڃ|&�Ԝɡڃ|&g�y&G�2�grJ͙�=�grJ͙�=�grJ͙�=�grF�gr�.�|&�Ԝɡڃ|&�Ԝɡڃ|&�Ԝɡڃ|&g�y&G�2�gr
+grh���)3gr�� ��)5gr�� ��u�ɑ��Rs&�j�Rs&�j�Rs&�j�P���@]�LN�9�C��LN�9�C��LN�9�C��LΨ�L��e��䔚39T{��䔚39T{��䔚39T{���392{��9�䐬9>�Sf���A>�;��Rgr�9�3���|x&w�9�}?���7��Ox&7���Ǚ���������w�w_~���_~����_������]��>��{|�<��m�������������W8�$W8��_�|�1�
+��+��+R�A��Qj�pP�A��Qj�pP�A��Qj�pP�A��1��!u�+��
+��+��
+��+��
+��+��+R�A��Qj�pP�A��Qj�pP�A��Qj�pP�A��1��!u�+e�W8(~�+�+k��p��+D{��p��~��:�W8J��=�W8J��=�W8J��=�W8F�W8�.�|���\�ڃ|���\�ڃ|���\�ڃ|�c�y�C�2�W8J��=�W8J��=�W8J��=�W8��=�W8�W8H�_�(3W8�� _�(5W8�� _�u^ᐺ��Rs��j��Rs��j��Rs��j��Q��� _�(5W8�� _�(5W8�� _�(5W8�� _�u^ᐺ��Rs��j��Rs��j��B��5�W8���=�W8���=�W8J��=�W8J��=�W8F�W8�.�|���\�ڃ|���\�ڃ|���\�ڃ|�c�y�C�2�W8J��=�W8J��=�W8J��=�W8B}��u�+��
+��+��
+��+��+4k��p�9�p]�
+G���A��
+G���A��
+G���A��
+Ǩ�
+��e��p��+T{��p��+T{��p��+T{��p�:�pH]�
+G���A��
+G���A��
+G���A��
+Ǩ�
+��e��p��+T{�p:�pЬ9��Qf�p�A��1��!u�+��
+��+��
+��+��
+��+��+R�A��Qj�pP�A��Qj�pP�A��Qj�pP�A��1��!u�+��
+��+��
+��+��
+��+��+R�A��Q��A���
+G���A��
+G���A��
+Ǩ�
+��e��p��+T{��p��+T{��p��+T{��p��~��:�W8J��=�W8J��=�W8J��=�W8F�W8�.�|���\�ڃ|���\�ڃ|���\�ڃx�c�\��sx���q��d���2s��h��񩈺��ϱ_�|<z�;��9�۟�?m^�v�����g���篿0ׇ����;�@���4��#o�6np��/�����_~����_��������OZ?�������z����{���m�s���C�A�3?��ۏq۔�g�s�����r�����ڃ�����^���'j~��^/�o��4�x��e�@�]����?{������O��o5+u�D��u{
o������?�>���5<85Ϣ���k�=Iu�D��u{
o��������5\��?{�����u{
w/Nϲ����/�_��?{�������ճU�gO�<P_.O���'f�}N�_/�g�'�2���;x����ڃ��梁?{���������T�gO�<����k�Iu<��2x�n���A���'j���*5?���\����RT{�p�Q�.%u�\����RT{�p�R�KQ�A���J�.E���u��RR�A���J�.E���*t$Ь9N&(3�D{��	F��R�AN&(5�T{��	JM2��d�R�L@�9�`ԙL u�d�R�L@�9���$P�AN&(5�T{��	F��R�AN&(5�T{��	JM2��d�R�L@�9�`ԙL u�d�2�d��0����L@��8���$�AN&�=���:���&��jr2A�I&�ڃ�LPj�	�� '�:�	�.��LPj�	�� '��d�=���&��jr2��3�@�2���&��jr2A�I&�ڃ�LPj�	�� &�d�=��E�d�5��e&��hr2A�I&�ڃ�L0�L&��r2A�I&�ڃ�LPj�	�� '��d�=����d�� '��d�=���&��jr2A�I&�ڃ�L0�L&��r2A�I&�ڃ�LPj�	�� &:�	h�&�d�=��e&��hr2A�I&�ڃ�LPj�	�� '�:�	�.��LPj�	�� '��d�=���&��jr2��3�@�2���&��jr2A�I&�ڃ�LPj�	�� '���L�u�d�R�L@�9���$P�AL&(t$Ь9N&s&]9���$P�AN&(5�T{��	JM2��d�Qg2��e��	JM2��d�R�L@�9���$P�AN&u&H]9���$P�AN&(5�T{��	JM2��d�Qg2��e��	JM2��d�BG2͚�d�2�L@�9�`ԙL u�d�R�L@�9���$P�AN&(5�T{��	F��R�AN&(5�T{��	JM2��d�R�L@�9�`ԙL u�d�R�L@�9���$P�AN&(5�T{��	F��R�AL&(t$Ь9N&(3�D{��	JM2��d�Qg2��e��	JM2��d�R�L@�9���$P�AN&�=���:���&��jr2A�I&�ڃ�LPj�	�� '�:�	�.��LPj�	�� '��d�=���&��jb2��I&��s�LP�H& Ys�LPf�	�� '��_$�s�Ʉ���0�p�9>����dB~p��������~piٓ	��RH������������~y�I�_��	~�<��O}��I6i����桏��8��r|��j�q�Rs���2���N�ɬ� ';u'�ڃt����8�͚��de�8�e���:��Y�A<Nv�8Nf��8٩�8����d��8�e���:��Y�A<Nv�8Nf��8٩�8����d��8�e���:��Y�A<Nv�8Nf��8٩�8����d��8�e���:��Y�A:Nv�~��f��q�3�q2�=���J�q2�� ';u'�ڃx���q��j�q�S�q2�=���J�q2�� ';u'�ڃx���q��j�q�S�q2�=���J�q2�� ';u'�ڃx���q��j�q�S�q2�=���J�q2�� ';��q2���8ف�q2�5�����Ɍ� 'u'���q�S�q2�=���N�ɬ� ';u'�ڃx���'���q�S�q2�=���N�ɬ� ';u'�ڃx���'���q�S�q2�=���N�ɬ� ';u'�ڃt���q��f��q�#��d&k���9���A<Nv�8Nf��8Y�9NFu��d���dV{���:��Y�A<Nv�8Nf��8Y�9NFu��d���dV{���:��Y�A<Nv�8Nf��8Y�9NFu��d���dV{���:��Y�A:Nv�~��f��q�"�q2�=�����Ɍ� ';u'�ڃx���q��j�q�Rs���2���N�ɬ� ';u'�ڃx���q��j�q�Rs���2���N�ɬ� ';u'�ڃx���q��j�q�Q�q2�� ';u'�ڃx���q��j�q�C��d6k�����dD�A<Nv�8Nf��8٩�8����d���dV{�����dT�A<Nv�8Nf��8٩�8����d���dV{�����dT�A<Nv�8Nf��8٩�8����d���dV{�����dT�A<Nv�8Nf��8١�q2�5�����Ɍ� '+5�ɨ.�x���q��j�q�S�q2�=���N�ɬ� '+5�ɨ.�x���q��j�q�S�q2�=���N�ɬ� '+5�ɨ.�x���q��j�q�S�q2�=���N�ɬ� '+5�ɨ.�t����8�͚��dg��dF{���:��Y�A<NVj��Q]�8٩�8����d���dV{���:��Y�A<N6�<N&u��d���dV{���:��Y�A<Nv�8Nf��8Y�9NFu��d���dV{���:��Y�A<Nv�8Nf��8Y��8͞��dG���L�';s'3ڃx���8�?��g>~���d����~+��8�����n��'����q��_�����_%__�?)��'G��_��,��$l��y���<�9��~����d������@.s��9~�6�5�?�Z�90'����ܐ�.'����\��Ȟ��rC殜Ț�rC樜ȚÓr#��r?��=���99�=����-9�5Ǘ��!9�5�g��9�5�7䂜'�@��2��D�_�2��D���2��D�ߍr���s|4n�܌Ys|1n��Ys|.n�\�Ys|+.�y*d��!s'Nd�ᕸǑ8���D܀�'���>\��<Ȟ��pC�6�Ț��pC�0�Ț�pC�*�Ț�pAΓp {��
�{p"k���
�cp"k�O�
�Kp"k���9����9>7dn���9��7d���9>�6d����9���<�����ۀ��7q����h�蛸�c|�m�\|�Xs|�}N��{��{2��D�_z2��D��y2W�D��xr�x�s|�m��wYs|�m�wYs|�m�\vYs|�-�y�
d��Q�!s�Md��E�!s�Md��9�!s�Md��-�s�
`��!���7y���ۀ9�&����ې��&���~[��|Ȟ��mC�v�Ț��mC�p�Ț�mC�j�Ț�mAΓm {��
�{m"k���
�cm"k�O�
�Km"k��9ϴ��9>�6dn���9��6d���9<�6��&���f/����f0w�$�_e2G�D��d2�D��cr�c�s|�m��bYs|�m�bYs|�m�\aYs|�-�y�
d���!sMd����!s|Md���!syMd����9�~v}L.s|tm��\Ys|qm�\Ysxnm�qmM��1���<�����ڐ��&����ڐ9�&����ڐ��&����Z��Ȟ��jC涚Ț��jC氚Ț�jC檚Ț�jAΓj {��
�{j"k���
�cj"k�O�
�Kj"k��9Ϩ��9>�6dn���9��6�8�&���O0��$��Nr�N�s|8m��MYs|5m�MYs|2m�\LYs|/-�y.
d��!s+Md��!s(Md��!s%Md�� �4�=�҆�}4�5��ц�q4�5ǧц�e4�5�wт�g�@�Eq�D�q�/�
��hk�ϡ
�kh"k�o�9O���9>�6d�9��6d����9>�6d.���9�>'�ϟ��e���
��g"k�/�
��g"k�Ϟ
��g"k�o�9O���9>x6d�9�v6d����9>u6d.���9�sbΜ�1<r6޸q&��_80�$��7���f��q��g�>�m>��i�O��o۟]��m�xd?n��������?���7g��_,������o�^_�~����e���|�<��}{��x�<�}�ͷ�[u<��2x��.�o�3�����ԧ��ժ��'j��kx����Ϟ�=���t��^�:�eu<Po����Ϟ�=x�>]no������ԗ����*u�D������5<Ju<��2x�n���q��?{���������4U���ڃ��?{����������G��r{׫4�gO�<P�wpg����ԗ����ݟ=Q{� r�ܿ�/8�YV��u�?>[u�D��u�S���=�9��ǂjr�E��IP�A��(5UT{��,JM���4�R�fA���bԙg!u�@�RShA��Ѣ�DZP�A̴(ttZЬ9.�s�Z]9֢��ZP�A�(5�T{��-JM���j�Qg���e��-JM���v�RoA�9ߢ��[P�A.�u&\H]9��T\P�A�(5!T{�S.JM��䚋Qg΅�e��.JM��Ħ�BG�͚㬋2�uA���bԙv!u下RSwA����^P�AN�(5�T{�+/F��R�A�(5�T{�[/JM���܋R�{A���bԙ|!u��RS}A����Ԅ_P�AN�(5�T{��/F��R�A
+�(s/���q0
+k�30�L���P�S0����Qjj0�� �`�� �=�I��	�jrƨ3C�2�a���jrF��àڃ��Qj�0�� b�:1�.��Qj*1�� wb��P�=ȩ���jb-Ơ�Ő�s�Q�(� Ys܌Qf�1�� gc��n�=����t�� �c��z�=���& �jrBF�iȠڃ\�1��Ȑ�rHF�)ɠڃܒQjb2�� �d����=�E�Τ�� Ge����=�]�&,�jbZF��-�f�a]Ɛ���s�Qf
+3�� 7f����=ș��3�jriƨ35C�2ȱ��6�jroF�	Πڃ��Qj�3�� Wg�:�3�.��Qj�3�� �g����=����?�jr�F��	P�A��(5T{�;4JM����BG�͚��1g���e��4JM���&�R�A�9K��tiP�A.�u�iH]9N���iP�A��(5�T{�5JM���J�Qg���e�C5JM���V�R�A�9W���jP�A.�u&kH]9Z��TkP�A��(t�kЬ9N�(3�D{��5F��R�A�(5T{�6JM��䌍RӱA��dcԙ�!u䘍RS�A��g��mP�AN�(5MT{��6F�YR�A�(5eT{��6JM��伍RӷA��pcԙ�!u�ȍBG�͚�΍2�A�9u�ԴnP�A��u�nH]9x��oP�An�(5�T{��7JM����P��7����Qj�7�� �o����=�	����jrǨ3�C�2�!����jrG���ڃ��Qjz8�� q�$�=�QE�*�5�]e&��hr��/����c��|����u��ϱ�q�9�������3�q�#{�a�q������_~��I �i{���w�?����R��E�͸ȇ�v���@\�丈RA�9.b�!u丈RA�9.���EP�A��(5qT{�"M\�̞㸈2A�9.���EP�A��(5qT{��"F�qR�A��(5qT{��"JM\�丈RA�9."����� �E����=�q�&.�jr\D����ڃ1ꌋ��r\D����ڃQj�"�� �E:�"h��E�9�"�.�Qj�"�� �E����=�q�&.�jr\Ĩ3.B�2�q�&.�jr\D����ڃQj�"�� �E�:�"�.�Qj�"�� �E����=�q�&.�jr\Ĩ3.B�2�q�&.�jb\D�#.�f�q\D��� ڃ1ꌋ��r\D����ڃQj�"�� �E����=�q�θ�� �E����=�q�&.�jr\D����ڃ1ꌋ��r\D����ڃQj�"�� �E����=�q�θ�� �E���EP�8�q���5�qe&.�hr\D��qP�A��(5qT{��"JM\�丈RA�9.b�!u丈RA�9.���EP�A��(5qT{��"F�qR�A��(5qT{��"JM\�丈RA�1.b��E��9��(r�E��9��(3qD{��"JM\�丈Qg\��e��"JM\�丈RA�9.���EP�A��u�EH]9.���EP�A��(5qT{��"JM\�丈Qg\��e��"JM\�丈RA�1.��A��0.b��E��9��(3qD{��"JM\�丈RA�9.b�!u丈RA�9.���EP�A��(5qT{��"F�qR�A��(5qT{��"JM\�丈RA�9."����� �E����=�q�&.�jb\D�#.�f�q\Ę3.B�2�q�&.�jr\D����ڃQj�"�� �E�:�"�.�Qj�"�� �E����=�q�&.�jr\Ĩ3.B�2�q�&.�jr\D����ڃQj�"�� �E�:�"�.�Qj�"�� �E:�"h��E����=�q�θ�� �E����=�q�&.�jr\D����ڃ1ꌋ��r\D����ڃQj�"�� �E����=�q�θ�� �E����=�q�&.�jr\D����ڃ1ꌋ��b\D�#.�f�q\D��� ڃQj�"�� �E�:�"�.�Qj�"�� �E����=�q�&.�jr\D��qP�A��(5qT{��"JM\�丈RA�9.b�!u丈RA�9.���EP�A��(5qT{�"M\�̞ø�"G\ɚ㸈2A�9.�Ō�~�=.��qw9�K\��q�����q���yq���z�~��/����o�"ۿ�������\��M����������塏��#��������� ߪ�YV���vy}�Z��Ϟ�=x�>]�Vݟ=Q{�@�^��7)u�D������r{�Z��gY]ԑ�Qj9�� 7r��F�=ȍ����jr#Ǩ��C�2ȍ����jr#G�i�ڃ��Qj9�� 6r�F�=Ǎe���hr#G�i�ڃ��Qj9�� 7r�:9�.���Qj9�� 7r��F�=ȍ����jr#G��P�An�(5�T{�9JM#��F�R��A���c���!u�F�R��A�����4rP�Al�(t4rЬ9n�s6r]����4rP�An�(5�T{�9JM#��F�Qg#��e�9JM#��F�R��A�����4rP�An�u6rH]����4rP�An�(5�T{�9JM#��F�Qg#��e�9JM#��F�BG#͚�F�2��A���c���!u�F�R��A�����4rP�An�(5�T{�9F��R�An�(5�T{�9JM#��F�R��A���c���!u�F�R��A�����4rP�An�(5�T{�9F��R�Aj�(so��q9
+�k�9�L#��F�P�9�����Qj9�� 7r��F�=ȍ����jr#Ǩ��C�2ȍ����jr#G�i�ڃ��Qj9�� 7r�:9�.���Qj9�� 7r��F�=ȍ����jb#Ǡi��s��Q�h� Ys��Qf9�� 7r��F�=ȍ��F�� 7r��F�=ȍ����jr#G�i�ڃ��1�l䐺r#G�i�ڃ��Qj9�� 7r��F�=ȍ��F�� 7r��F�=ȍ����jb#G����f�a#ǐi��s��Qf9�� 7r��F�=ȍ����jr#Ǩ��C�2ȍ����jr#G�i�ڃ��Qj9�� 7r�:9�.���Qj9�� 7r��F�=ȍ����jr#G��P�An�(5�T{�9JM#��F�BG#͚�F�1g#��e�9JM#��F�R��A�����4rP�An�u6rH]����4rP�An�(5�T{�9JM#��F�Qg#��e�9JM#��F�R��A�����4rP�An�u6rH]����4rP�Al�(t4rЬ9n�(3�D{�9F��R�An�(5�T{�9JM#��F�R��A���c���!u�F�R��A�����4rP�An�(5�T{�9F��R�An�(5�T{�9JM#��F�R��A���c���!u�F�BG#͚�F�2��A�����4rP�An�u6rH]����4rP�An�(5�T{�9JM#��F�P�9�����Qj9�� 7r��F�=ȍ����jr#Ǩ��C�2ȍ����jr#G�i�ڃ��Qj9�� 6r�F�=��E�F�5Ǎe���hr#���9�9�F��$�q#��s,��{n��./�_�P#g<�7r�F#���~���/?��Y�������	����vș!�h3����T�� R!u䐊RRA�9��ԄTP�A�(5!T{�C*F�!R�A�(5!T{�C*JMH�䐊RRA�1�bЄT��9�(3!D{�C*JMH�䐊RRA�9�b�R!u䐊RRA�9��ԄTP�A�(5!T{�C*B}���rHE�	��ڃRQjB*�� �T���
 �=�!�ΐ
 �� �T���
+�=�!�&��jbHE�#��f�qHŘ3�B�2�!�&��jrHE�	��ڃRQjB*�� �T�:C*�.�RQjB*�� �T���
+�=�!�&��jrHŨ3�B�2�!�&��jrHE�	��ڃRQjB*�� �T�:C*�.�RQjB*�� �T:B*h��T���
+�=�!�ΐ
+�� �T���
 �=�!�&��jrHE�	��ڃR1����rHE�	��ڃRQjB*�� �T���
 �=�!�ΐ
 �� �T���
-�=�!���
-�5�!e&��hrHŨ3�B�2�!�&��jrHE�	��ڃRQjB*�� �T�:C*�.�RQjB*�� �T���
-�=�!�&��jrHŨ3�B�2�!�&��jrHE�	��ڃRQjB*�� �T�:C*�.�RQ���YsRQfB*�� �T���
+�=�!�&��jrHE�	��ڃR1����RHE�{HŏcRQ���XsRQfB*�� �T��Ru䐊RRA�9��ԄTP�A�(5!T{�C*F�!R�A�(5!T{�C*JMH�䐊RRA�9�b�R!u䐊RRA�9��ԄTP�A�(5!T{C*MH�̞Ð�"GHɚ㐊2RA�9��ԄTP�A�u�TH]9��ԄTP�A�(5!T{�C*JMH�䐊QgH��e�C*JMH�䐊RRA�9��ԄTP�A�u�TH]9��ԄTP�A�(5!T{C*
+!4kC*�LH�Ȟ㐊2RA�9��ԄTP�A�(5!T{�C*F�!R�A�(5!T{�C*JMH�䐊RRA�9�b�R!u䐊RRA�9��ԄTP�A�(5!T{�C*B}���rHE�	��ڃRQjB*�� �T:B*h��T�9C*�.�RQjB*�� �T���
+�=�!�&��jrHŨ3�B�2�!�&��jrHE�	��ڃRQjB*�� �T�:C*�.�RQjB*�� �T���
+�=�!�&��jrHŨ3�B�2�!�&��jbHE�#��f�qHE�	� ڃR1����rHE�	��ڃRQjB*�� �T���
 �=�!�ΐ
 �� �T���
-�=�!�&��jrHE�	��ڃR�{H�u�C*JMH�䐊RRA�9��ԄTP�A�u�TH]9��ԄTP�A�(5!T{�C*JMH�Đ�AR!��0���RA��8��̄T�A��ATH?�R��1 �r�9��ʕC*�����
C*�=��<B*�������_~���~�쾽^�~s�}�sI��p�<<�G�|�h��n��۱ϟ��ۣ'd��O��ǫ4�gO�<P_.�Vݟ=Q{�k�q{o߳e��,����z��t���ڃ���Vݟ=Q{�@� �&?�jr~Ȩ3?D�2��!�&?�jr~H���ڃ�Rj�C�� 燌:�C�.��Rj�C�� 燔���=��!�&?�jb~Ƞ���s�Rf�C�� 燔���=��!�&?�jr~Ȩ3?D�2��!�&?�jr~H���ڃ�Rj�C�� 燄��u���R�B�9?���P�A�)5�!T{��CF��!R�A�)5�!T{��CJM~����BG~͚���1g~��e��CJM~����R�B�9?���P�A�u�H]9?���P�A�)5�!T{��CJM~����Qg~��e��CJM~����R�B�9?���P�A�u�H]9?���P�A�)t�Ь9�)3�!D{��CF��!R�A�)5�!T{��CJM~����R�B�9?dԙ"u���R�B�9?���P�A�)5�!T{��CF��!R�A�)5�!T{��CJM~����R�B�9?dԙ"u���2����0?���B��8?����A�	�=?�:��!�&?�jr~H���ڃ�Rj�C�� 燌:�C�.��Rj�C�� 燔���=��!�&?�jr~Ȩ3?D�2��!�&?�jr~H���ڃ�Rj�C�� ����=��!E���5��!e&?�hr~H���ڃ�2����r~H���ڃ�Rj�C�� 燔���=��!����� 燔���=��!�&?�jr~H���ڃ�2����r~H���ڃ�Rj�C�� �:�Ch�����=��!e&?�hr~H���ڃ�Rj�C�� 燌:�C�.��Rj�C�� 燔���=��!�&?�jr~Ȩ3?D�2��!�&?�jr~H���ڃ�Rj�C�� 燄��u���R�B�9?���P�A�)t�Ь9�s�]9?���P�A�)5�!T{��CJM~����Qg~��e��CJM~����R�B�9?���P�A�u�H]9?���P�A�)5�!T{��CJM~����Qg~��e��CJM~����BG~͚���2�B�9?dԙ"u���R�B�9?���P�A�)5�!T{��CF��!R�A�)5�!T{��CJM~����R�B�9?dԙ"u���R�B�9?���P�A�)5�!T{��CF��!R�A�)t�Ь9�)3�!D{��CJM~����Qg~��e��CJM~����R�B�9?���P�A�	�=?�:��!�&?�jr~H���ڃ�Rj�C�� 燌:�C�.��Rj�C�� 燔���=��!�&?�jb~Ƞ���s�R��!Ys�Rf�C�� 燎�:*?��c�}��/������o�ݽ\^��1?4��C/#?�~��o��������_>���?��?��o������|qx��^��Ͽ�Ϸ�_���K������'?>���A����K�����K�΃KR�A>�Tj.Q�A>�Tj.Q�A>�Tj.Q�A>�4�<�$u�K�����K�����K�����K�΃KR�A>�Tj.Q�A<�T�8�D����R�9�D���Ҩ����e�.���KT{�.���KT{�.���KT{�.�:.I]��R�9�D���R�9�D���R�9�D���Ҩ����e�.���KT{�.���KT{�.���KT{�.�:.I]��R���%����R���Ś�Ke����K��\�����Rsp�j���Rsp�j���Rsp�j���Q��%�� \*5��� \*5��� \*5��� \u\�����Rsp�j���Rsp�j���Rsp�j���AspIf����"��%�5�����%�=��J��%�=��F���.�|p��\�ڃ|p��\�ڃ|p��\�ڃ|pi�ypI�2��J��%�=��J��%�=��J��%�=��F���.�|p��\�ڃ|p��\�ڃxp��qp�f����!spId����2sp�h���Rsp�j���Rsp�j���Q��%�� \*5��� \*5��� \*5��� \u\�����Rsp�j���Rsp�j���Rsp�j���P�.A]��R�9�D�����z����W�8������h90l 	$�#3�FDF�����~}�y�>U�t�UKO��gֺ�H�<{���RY3�Dkqp��cp������8������ʚ�%ZȃKe���
����fp�����X������ʚ�%ZȃKe���
����fp�����X������ʚ�%ZȃKe���
����fp�����X������ʚ�%Z��K%�Kt��ʙ�%JȃKc��K�.@\*k�hm .�5�K�6��ʚ�%ZȃKc��K�.@\*k�hm .�5�K�6��ʚ�%ZȃKc��K�.@\*k�hm .�5�K�6��ʚ�%ZȃKc��K�.@\*�\��p<�T�.Q�@\*k�hm .�u.ɺ�yp��\���<�T�.��@\*k�hm .��2��
-����fp����RY3�Dkyp��\���<�4�9�$�����fp����RY3�Dkyp��\���8�4�.��8\*�\��p<�T�.Q�@\�NP.�9����c��r�9���.OϏ/R�[����y�-��?~����>����/����{��?�����|����__o�����]�������~wq9����9s�����O�?|De�p�h�Y=��q�yT�1yDe�p�c�����Q)����é�Qf�H����Q)����Ñ�R��#*�G�GT�F�u#)��F��FT���ʸ�Qx
�U��Q#��F�̢����=�R�9#*�cF�[FT��J9���,��2+FR67�J9&��,�r�QY8\/*�/��p8]4�,I�8�-*�-��p8ZTʱYDe�p���c�����\�(�V$e�`���ߧ���B�PQٶ�"�a�RT�1RDc�p�(�s����D��DTljJ9���,.�rQY8�%eV��ln�rLQY8$*��#��p�FT�1FDe�p�h�Y"��q�CT�1CDe�p���c�����Q)�������1��!	F�C�ۦ�軆��P	�����աR��!*��C��␔�ý�R��!*�cC�[CT��J9���,��2+CR67�J9&��,�r�QY8\*���p8-4�,I�8�*���p8*Tʱ)De�hQ��۠��0��X��`�%T�1%Dc�pH��cG����P)Lj���	�QfAH���~P)�|����R�� *��A��ATg�F�� )��A��AT�J9���,��r�QY8�
-
-�\
-�r��NP)�L��Ñ�R�� *GAe��(���<��$c�p��c����0P)�.���U�R�Q *��@��"����=�R�9 *�c@�[@T��J9���,���2+@R67�J9&��,��r��PY8\�)����p8�3�,�H�8��)����p4�S�m��k.��p��X8��e�~�ln��rL�PY8�)�����p��S�1�Ce�p�g�Y���q��S�1�Ce�pܧ�cۇ���O)ǰ���Y�Qf�G���O)Ǥ���A�R�=*�k>�c>T�|F�%)G;>e�f|(���O	dž����R�*��=��z�����R��*��=��=TW{J9F{�,N��r.�@��p���c�����XO)�V��å�R��*�3=��J���Í�R��*�=��<T�yJ9�y�,M�q,�HX0��)�6�C�5GyJ86yh,.��gdf������3�=������{���o�_�x�Wyo�y<�?��{<�&�s��<�8�#/�s?�x�ۯ߾��ӯs����~��_~��>����׻w��]y^o��v�h�������K��̡�=�~������)^?����
kw�O��;k��ް6�m����r��H���l܎���ҹ��!m���������
kw�O����뻝�am����������,[���tx��Z��7�
ܱ�{��qe��ް6p�z�^�CY��7�
|�:����p�9���c=�Gi��ް6p�z�^�,CY��7�
ܱ�?���ngoX���x��=9�8���c=���u;{�������d�����X������
g�v6�����'gY��w��뜝u���
��C;k	hm W�5��6�C	�:K	d]��JP����@�%(kz	hm �5��6��	�:�	d]��MPք��@N'(k�	hm ��5��6�
-�:
-d]��PP�D��@�((��(��p\RPΤP�@�)�)�urOAYT@k9���i*���\UP�d��@+�,+�ur[AYW@k9����+���\XP�$��@�,�,�urgAYZ@k9���i-���\[P����@.�,.�uRsA9���a�]P��]@cḼ��I/���_�K}�+��ʚ�Z�	eM��
�
-��&À�r��Xg����[ʚZ�9eM��
�"��&ɀ�r��Xg�����ʚ0Z�ieM��
�:��&π�b��HSh g�Ѡ�#Ҁ��q�A9�i@i�Ԡ�I5���k0�Yk ��^��&؀�r�AY�l@k�ڠ��6���n0�Yn ��v��&ހ�r�AY�o@k�ࠬI8���q0�Yq �䎃�&��r�AY�r@k�栤#���a��(St e�頜�:����uP�t��@.;(k�hm ��u�Ⱥ��	<����xP�4��@�<(k2hm ��u�Ⱥ������=����{P����@.>(k�hm G��R}��
-�&���r�AY�~@k����#����q��8g���ʚZ�eM�
���&��r�Xg
���{ʚ Z�IeM�
�*��&��r�Xg����ʚ8Z�yeM�
�B��&��r$�Xg%���;ʚPZ��%�t�kʙ\J��c���.@nF(k�hm g#�5��6��ʚtZ��c���.@�G(khm '$�5
	�6�+ʚ�Z�!	c�%	�.@nI(kbhm �$�5=	�6��ʚ�Z�Q	c�U	�.@�J(�K��p��Pδ%P�@�K(k�hm &�u&Ⱥ��1���L�����P�t&��@.M(kRhm �&��R���
-�ބ�&8��rrBYӜ@k�:���N����0�Y� �����&>��r~BYӟ@k�@��IP����0�T(��8�P(�Q��p��Pδ(P�@�Q�T��c�Q\=�������C�)N�~�Ǘ����/�G�"�q4)�����~������÷�U���o��|~�}�����]�^�����
-='��s�{�������]�6�'�ʚ�.Z��]%�]t�'��9'�$]�<�U�Lv��@��*k&�hm Ov�5�]�6�'��:'�d]�<�U�Lv��@��*k&�hm Ov�5�]�6�'��:'�d]�<�U�Lv��@��*k&�hm Ov�5�]�6�'��:'�d]�<�U�Lv��@��*�좳p<�U�LvQ�@����u�dWY3�Eky����좵�<�U�Lv��@����u�dWY3�Eky����좵�<�U�Lv��@����u�dWY3�Eky����좵�<�U�Lv��@����u�dW9��.�a8�U�1�Ec�x����좴�<���d�+�'�ʚ�.Zȓ]e�d�
�ɮ�f����d�X�d���'�ʚ�.Zȓ]e�d�
�ɮ�f����d�X�d���'�ʚ�.Zȓ]e�d�
�ɮ�f����d�H3�%g�p���c�����dW93�Eiy����좵�<�5�9�%��ɮ�f����dWY3�Eky����좵�<�5�9�%��ɮ�f����dWY3�Eky����좵�<�5�9�%��ɮ�f����dWY3�Ekq���c�����d�(3�%e�x����좴�<�U�Lv��@��*k&�hm Ov�uNvɺ�y����좵�<�U�Lv��@��*k&�hm Ov�uNvɺ�y����좵�<�U�Lv��@��*k&�hm Ov��2��
-�ɮ�f����dWY3�Ekq���c�����d�8�d���'�ʚ�.Zȓ]e�d�
�ɮ�f����d�X�d���'�ʚ�.Zȓ]e�d�
�ɮ�f����d�X�d���'�ʚ�.Zȓ]e�d�
�ɮ�f����d�X�d���'�ʚ�.Z��]%�]t�'�ʙ�.Jȓ]c��]�.@��*k&�hm Ov�5�]�6�'�ʚ�.Zȓ]c��]�.@��*k&�hm Ov�5�]�6�'�ʚ�.Zȓ]c��]�.@��*k&�hm Ov�5�]�6�'�ʚ�.Zȓ]c��]�.@��*�좳p<�U�LvQ�@��*k&�hm Ov�uNvɺ�y����좵�<�U�Lv��@��*k&�hm Ov��2��
-�ɮ�f����dWY3�Eky����좵�<�5�9�%��ɮ�f����dWY3�Eky����좵�8�5�Lv��8��*�좲p<�U�LvQ�@����TLv�9����c�dw�9�&����d���(OO�8�G�����d��|��������/�������Ws�W��9w߫��9�߫N���{Օ3�UGi���ʚ������^ue�{���@~�������u�{Օ5�UGk���ʚ������^ue�{���@~���^ޫ���UWּW�
���+kޫ���{Օ5�UGk����:#
d]�iP�D��@�4(k"
hm F�tD�Y8�4�4�tr�AYi@k9Ҡ��4���iP�D��@�4�4�ur�AYi@k9Ҡ��4���iP�D��@�4�4�ur�AYi@k9Ҡ��4���iP�D��@�4�4�ur�AYi@k1Ҡ�#Ҁ��q�A9i@i9�`�3�@�ȑeM��
�H��&Ҁ�r�AYi@k9�`�3�@�ȑeM��
�H��&Ҁ�r�AYi@k9�`�3�@�ȑeM��
�H��&Ҁ�r�AYi@k9�`�3�@�H���"
h��a�A	G����H�r&Ҁ�r�AX/���@�4(k"
hm G�5��6�#
ʚHZȑc���.@�4(k"
hm G�5��6�#
ʚHZȑc���.@�4(k"
hm G�5��6�#
ʚHZ��#M�����H�R�H*Ǒ�L��
�H��&Ҁ�r��Xg����#
ʚHZȑeM��
�H��&Ҁ�r��Xg����#
ʚHZȑeM��
�H��&Ҁ�r��Xg����#
ʚHZȑeM��
�H���H:���L�����H�r&Ҁ�r�AYi@k9Ҡ��4���i0�i ��H��&Ҁ�r�AYi@k9Ҡ��4���i0�i ��H��&Ҁ�r�AYi@k9Ҡ��4���i�K��+�#
ʚHZȑeM��
�H���H:Ǒ㜑�.@�4(k"
hm G�5��6�#
ʚHZȑc���.@�4(k"
hm G�5��6�#
ʚHZȑc���.@�4(k"
hm G�5��6�#
ʚHZȑc���.@�4(k"
hm F�tD�Y8�4(g"
(m G�uFȺ�9Ҡ��4���iP�D��@�4(k"
hm G�uFȺ�9Ҡ��4���iP�D��@�4(k"
hm G�uFȺ�9Ҡ��4���iP�D��@�4(k"
hm G�uFȺ�1Ҡ�#Ҁ��q�A9i@i9Ҡ��4���i0�i ��H��&Ҁ�r�AYi@k9Ҡ��4���i�K��+�#
ʚHZȑeM��
�H��&Ҁ�r��Xg����#
ʚHZȑeM��
�H��&Ҁ�b��Hi g�0Ҡ�#Ҁ��q�A9i@i9�@�i���"
W�qz܍4�?�i��H���p��H�8�EN�~����?o����ӗ����y|�O�o��c|��������X��p<��n}.D�1"Wߏ������Z�e�B�
䅈�΅Y /D�5�6�"ʚ�Z�e�B�
䅈�΅Y /D�5�6�"ʚ�Z�e�B�
䅈�΅Y -D�s[����%4�"ʙ�J�a�,D��y!��Y�����Q�,D��@^�(k"hm /D�u.DȺ�y!��Y�����Q�,D��@^�(k"hm /D�u.DȺ�y!��Y�����Q�,D��@^�(k"hm .D�4r6"J9"�,/D�3�6�"ʚ�Z�c��.@^�(k"hm /D�5�6�"ʚ�Z�c��.@^�(k"hm /D�5�6�"ʚ�Z�c��.@^�(k"hm /D�5�6"J:"�,.D�2R6�"ʙ�J�e�B�
䅈�f!���B�X�B���"ʚ�Z�e�B�
䅈�f!���B�X�B���"ʚ�Z�e�B�
䅈�f!���BDX/��@^�(k"hm /D�5�6"J:"�,/D�s.DH��y!��Y�����Q�,D��@^�(k"hm /D�u.DȺ�y!��Y�����Q�,D��@^�(k"hm /D�u.DȺ�y!��Y�����Q�,D��@^�(k"hm /D�u.DȺ�y!��Y�����QұAg�x!��Y�����1ֹ!�䅈�f!���BDY�Aky!��Y�����1ֹ!�䅈�f!���BDY�Aky!��Y�����1ֹ!�䅈�f!���BDY�Aky!��Y�����1ֹ!�ą����:���B�
䅈�f!���B�X�B���"ʚ�Z�e�B�
䅈�f!���BDX/��@^�(k"hm /D�5�6�"ʚ�Z�c��.@^�(k"hm /D�5�6�"ʚ�Z�#�B���Å�R��*���B�
����A-D�9����c��v"�������p�tą�8�-D��B��ç?�e�C�Ϗ�����u���������׿��������[v�^~��<��}��-ԝ}�||'�+p�����y� �
-�.@~���8hm �GI�+p�Y8~�r�8(m ��X�+pȺ��8ʚ�Z�'e��	�
䁓�f������X�����Nʚ�Z�'e��	�
䁓�f������X�����Nʚ�Z�'e��	�
䁓�f������X�����Nʹ
��x
Á����'���	�
䁓�^N`]�<pR����@8)kNhm ��5'�6�N�:Nd]�<pR����@8)kNhm ��5'�6�N�:Nd]�<pR����@8)kNhm ��5'�6NF��9�'�'T�Nʙ�J�'e��	�
䁓�΁Y ��5'�6�Nʚ�Z�'e��	�
䁓�΁Y ��5'�6�Nʚ�Z�'e��	�
䁓�΁Y ��5'�6�Nʚ�Z�'%'tNF��)�'���	�
䁓�f�����IY3pBky�d�s�D��'e��	�
䁓�f�����IY3pBky�d�s�D��'e��	�
䁓�f�����IY3pBky�$���XW ��5'�6�Nʚ�Z�'%'t�N�9N$]�<pR����@8)kNhm ��5'�6�N�:Nd]�<pR����@8)kNhm ��5'�6�N�:Nd]�<pR����@8)kNhm ��5'�6�N�:Nd]�<pR����@8)�8��p<pR��P�@8�8�u��IY3pBkyब8���<pR����@8�8�u��IY3pBkyब8���<pR����@8�8�u��IY3pBkyब8���<pR����@8�8�u��II��	��こrf�����IY3pBky�d�s�D��'e��	�
䁓�f�����IY3pBky�$���XW ��5'�6�Nʚ�Z�'e��	�
䁓�΁Y ��5'�6�Nʚ�Z�'e��	�
ā��f�D����I)��	��こrf�����i��N�����1Nϻ�����^�s<��_�8pG���CN����߶o�������_>l��_?|��?���ޛ�����_���O�>}�����wǧ��]=��������2#��Ü\}'�g�fhm ��53�6�g�:gd]�<#P����@�(kfhm ��53�6�g�:gd]�4#P�mF��k��p��X8�(gf(m ���2#��
-���fF���@Y3#@kyF������<#0�9# ����fF���@Y3#@kyF������<#0�9# ����fF���@Y3#@kyF������8#0����8�(���p<#P��P�@�(kfhm ��u�Ⱥ�yF������<#P����@�(kfhm ��u�Ⱥ�yF������<#P����@�(kfhm ��u�Ⱥ�yF������<#P����@�(���p8#0��H�8�(gf(m ��53�6�gʚZ�3c�3�.@�(kfhm ��53�6�gʚZ�3c�3�.@�(kfhm ��53�6�gʚZ�3a����yF������<#P����@�(���p<#0�9# ����fF���@Y3#@kyF������<#0�9# ����fF���@Y3#@kyF������<#0�9# ����fF���@Y3#@kyF������<#0�9# ����fF���@Inj�����rfF����X猀��gʚZ�3e͌��
���fF����X猀��gʚZ�3e͌��
���fF����X猀��gʚZ�3e͌��
���fF����X猀�gJ:f�,��33�6�gʚZ�3c�3�.@�(kfhm ��53�6�gʚZ�3a����yF������<#P����@�(kfhm ��u�Ⱥ�yF������<#P����@�(kfhm ��43r6gJ9f�,��33�6�gt�]��9���c��`�9�����{���D4#G������o<>������QzP🟾�i�ֿ�x��O������˿��뷿�?z�×/����*���^?����^�A��0����7og_}��og�~��M�H���s����k��V�q;�����ʙ��(m �����l��@����������le��l�6�og+kng���|;�X��l�.@����������le��l�6�og+kng���|;�X��l�.@����������le��l�6�og+kng���x;�Hs;������J9ng��p|;[9s;�
���ʚ��hm ��6�y;���og+kng���|;[Ys;�
���ʚ��hm ��6�y;���og+kng���|;[Ys;�
���ʚ��hm ��6�y;���og+kng���|;[Ys;�
���J:ng��px;�(s;������ʙ��(m ��V���Fk�v���v6Zȷ��u��&����ʚ��hm ��V���Fk�v���v6Zȷ��u��&����ʚ��hm ��V���Fk�v���v6Zȷ���r;�+�og+kng���|;[Ys;�
���J:ng��p|;�8��l�.@����������le��l�6�og+kng���|;�X��l�.@����������le��l�6�og+kng���|;�X��l�.@����������le��l�6�og+kng���|;�X��l�.@����������l%���Y8����������lc���ɺ��v���v6Zȷ��5����@����������lc���ɺ��v���v6Zȷ��5����@����������lc���ɺ��v���v6Zȷ��5����@����������lc���ɺ��v������,��V���Fi�v���v6Zȷ��u��&����ʚ��hm ��V���Fk�v���v6Zȷ���r;�+�og+kng���|;[Ys;�
���ʚ��hm ��6�y;���og+kng���|;[Ys;�
���ʚ��hm ��6���&g��v�R��٨,��V���Fi�v��uau;�c��}}�a�v��s��x�}����ﷴ�:��xxm���|����ƙyy�$�����7��'=��v�����o~�N�;_�����p��~����x<�?��o8��7�
ܱ>��u;{����������R�q��p�z��NҺ��am����1�u;{�����cxw/�����m}<N��:βu�XO��'k��ް6p��x8�����
kw�O����Һ��am����ϰ�igٺ�w����IZ��7�
ܱ�?����κ��am����1�Y�v����o[����ix;����(ϟ�Q��3�ސ6p�z��Y�v����;֧��g����ް6�m���p�$�gٺ�w�����ֺ��am����;�G���8{�����cx�����7�
|{&���1�;k΢u�XO�_p�����X���{i��ް6p�z��ֺ��am�����cx�~��Y�.������,�����X�'k��ް6p��tx�_��Go8����x8�&�9�Y�.���3x����
kw�����NZ��7�
ܱ�?����ngoX���t�N�:βu�X��ݽ�ngoX�c=G��8{�����cxg�����m�?�=�_��Y�.�����$�goX�c}<�{o�����X��g�q����o[�Ã�g�e�ܱ�?�{k��ް6p�z��O�����(ϟ�I��3�ސ6�m���3���q��p�z���q����;����Z��7�
ܱ>��/s��
kw�&����$��l]�;�����:������Z�u����
���:�x_+[��kUּ������}�lm ���Y��Z��@|_���"[�E eM��@�����k��p+��pXr�Qbi�d��D��E gE �6�@�:�@lm ��u���@,)k�@h]�Xr�Qbk�䬣��b�YG��
�"������E gE �6�@�:�@lm ��u���@*)�(��qTrʭ���a�9G��
�"���"[�E eM��@�:�@lm ��u���@,9�(���XR��к��䬣��b�YG��
�"���"[�E eM��@�:�@lm ��u���@*9�Vbg�������a�9G��
�"���"[�E gE �6�@ʚ"Z ��u���@,9�(���Xr�Qbk���)�ub�YG��
�"���"[�E gE �6�@�:�@d]�Xr�Qbk�䬣��R�I�";�E �L��@�:�@lm ��u���@,9�(���XR��к��䬣��b�YG��
�"���"[�E eM��@�:�@lm ��u���@,9�(���XR��к��䬣��R�I�";�E �E �6�@ʚ"Z ��u���@,9�(���Xr�Qbk���)�ub�YG��
�"���"[�E gE �6�@ʚ"Z ��u���@,9�(���Xr�Qbk���)�uR�I�";�E �E �6�@�:�@lm ��5E �.@,9�(���Xr�Qbk�䬣��b�Xg��+�@�:�@lm ��u���@,9�(���XR��к��䬣��b�YG��
�"���"[HE %E t6��@N��XY8,9�(���X¾��"?��3׏q��W��z_�K��k�{|><=��}�9������~���~������}���.��p��wf;1�����y����ϋ�~ȋ����Q��E��@΋�̋�ur^DY�Ak9/��ɋ����Q��E��@̋i�"�l�E�3y�6��"ʚ�Z�yeM^�
伈�μY �E�5y�6��"ʚ�Z�yeM^�
伈�^�"`]��Q��E��@΋(k�"hm �E�5y�6��"�:�"d]��Q��E��@΋(k�"hm �E�t�E�Y8΋�̋�tr^DY�Ak9/��ɋ����Q��E��@΋�̋�ur^DY�Ak9/��ɋ����Q��E��@΋�̋�ur^DY�Ak9/��ɋ����Q��E��@΋�̋�ur^DY�Ak1/��#/���q^D9�Ai9/b�3/B��yeM^�
伈�&/��r^DY�Ak9/b�3/B��yeM^�
伈�&/��r^DY�Ak9/b�3/B��yeM^�
伈�&/��r^DY�Ak9/b�3/B�Hy���"h��a^D	G^��㼈r&/��r^DX/y��@΋(k�"hm �E�5y�6��"ʚ�Z�yc�y�.@΋(k�"hm �E�5y�6��"ʚ�Z�yc�y�.@΋(k�"hm �E�5y�6��"ʚ�Z�y#M^���ü�R��*�y�L^�
伈�&/��r^�Xg^����"ʚ�Z�yeM^�
伈�&/��r^�Xg^����"ʚ�Z�yeM^�
伈�&/��r^�Xg^����"ʚ�Z�yeM^�
ļ����:�y�L^���㼈r&/��r^DY�Ak9/��ɋ����1֙!�伈�&/��r^DY�Ak9/��ɋ����1֙!�伈�&/��r^DY�Ak9/��ɋ�����K^�+��"ʚ�Z�yeM^�
ļ����:�y�y�.@΋(k�"hm �E�5y�6��"ʚ�Z�yc�y�.@΋(k�"hm �E�5y�6��"ʚ�Z�yc�y�.@΋(k�"hm �E�5y�6��"ʚ�Z�yc�y�.@΋(k�"hm �E�t�E�Y8΋(g�"(m �E�u�EȺ�9/��ɋ����Q��E��@΋(k�"hm �E�u�EȺ�9/��ɋ����Q��E��@΋(k�"hm �E�u�EȺ�9/��ɋ����Q��E��@΋(k�"hm �E�u�EȺ�1/��#/���q^D9�Ai9/��ɋ����1֙!�伈�&/��r^DY�Ak9/��ɋ�����K^�+��"ʚ�Z�yeM^�
伈�&/��r^�Xg^����"ʚ�Z�yeM^�
伈�&/��b^�H�!g�0/��#/���q^D9�Ai9/�_�Py|�-/r��������G��yx<<��R^d��"w#/��_?~��q������������_�?��O?}���f��/���B��;_�9-��δ��������$]�<-U�LK��@��*k��hm OK�5�R�6����:��d]�<-U�LK��@��*k��hm OK�5�R�6����:��d]�<-U�LK��@��*k��hm OK�5�R�6����:��d]�<-U�LK��@��*阖��p<-U�LKQ�@��뜖�u�TY3-EkyZ�������<-U�LK��@��뜖�u�TY3-EkyZ�������<-U�LK��@��뜖�u�TY3-EkyZ�������<-U�LK��@��뜖�uҴT9�i)�a8-U�1-Ec�xZ�������<-�˴�+���ʚi)Z��Reʹ�
�i��fZ����X純����ʚi)Z��Reʹ�
�i��fZ����X純����ʚi)Z��Reʹ�
�i��fZ����H3-%g�pZ��cZ����T93-EiyZ�������<-5�9-%��i��fZ���TY3-EkyZ�������<-5�9-%��i��fZ���TY3-EkyZ�������<-5�9-%��i��fZ���TY3-EkqZ��cZ�����(3-%e�xZ�������<-U�LK��@��*k��hm OK�uNKɺ�yZ�������<-U�LK��@��*k��hm OK�uNKɺ�yZ�������<-U�LK��@��*k��hm OK��2-�
-�i��fZ���TY3-EkqZ��cZ�����8純����ʚi)Z��Reʹ�
�i��fZ����X純����ʚi)Z��Reʹ�
�i��fZ����X純����ʚi)Z��Reʹ�
�i��fZ����X純����ʚi)Z��R%�Rt���ʙi)J��Rc��R�.@��*k��hm OK�5�R�6���ʚi)Z��Rc��R�.@��*k��hm OK�5�R�6���ʚi)Z��Rc��R�.@��*k��hm OK�5�R�6���ʚi)Z��Rc��R�.@��*阖��p<-U�LKQ�@��*k��hm OK�uNKɺ�yZ�������<-U�LK��@��*k��hm OK��2-�
-�i��fZ���TY3-EkyZ�������<-5�9-%��i��fZ���TY3-EkyZ�������8-5�LK��8��*嘖��p<-U�LKQ�@���"RLK�9�i��c��t�9�i�OK�O��o�hY��؆��1,����}��_����ua��K��_��e�^����.�Λ����v�/�����~��hP6��m�yU4)�/�6ʼ'����De^M���+�o+/o��W.8~?�Q��Ф,��(�nhR��m�y14)ǯ���VhP6��	m�y%4)�/�6ʼ���÷A�X���{}!�s}06���F��>)�K}��P���㙾Qf�O���F_(�D��まQf�O���:�(3�'e�x�o�Y擲p���9�e�x�o��䓲p��7��IY8��e���,o�rN�A�8�ev��,���q��Ix
�	�f�O����^(������Qf{O�����(3�'e�xvo�Yݓ�p���9�e�xpo��ۓ�p��7ʌ�IY8��e���,��r��A�8�e6��,/�2{R���F�u=)��z���zP6���F���Iw��U���Q=�a<�7�,��X8���V^�����cz�̖����%�QfHO����(��'e�xC/�sB����(��'e�x=o�ϓ�p<�7�,�IY8���̓�q<�7�l�IY8^�e�,��2kyR��˜�<�Cy�;y�]�x%o�ɓ�p<�7�,�IY8���ǃ�q<�7�l�IY8^�e��,��2�xR�7�B9'�l�2{xR���F�1<)�Sx�������P�<(�#x�������Qf�O����������0ܾ_���+ߍ0�w2�W�F��;)Ǔw��❔�㽻Pι;(�cw��֝��㥻Qf�N�����(�r'e�x�.�s������(�o'e�x�n����p<m7�,�IY8޵�V^f���ǣv�̦����E�Qf�N����ǚ���0޲ᜲ��q<d7���IY8^�eF�,O؍2vR���B9��l�׍2�uR���F��:)dzu��j����ͺP��:(ǃu��^���㵺Qf�N���T�(�T'e�x�.�s����H�(�Q'e�p�n�c�N�k�Ӎ0�t2���B9��lӍ2�tR�W�F�Q:)Ǔt��"����=�P�9:(�ct������%�Qf�N����(�B'e�x�.�s������(�?'e�x}n����p<=7�,�IY8ޝ圝��q8:7Ʊ9'�5��F��9�ss��ڜ��㭹PΩ9(�Cs��Μ��㕹QfdN�����(�0'e�x_~[y���+�ˍ2�rR���F�a9)dzr�̪����M�P�I9(ǃr�̞����5�QfLN����(�$'e�pG.�����`8"7��!'�5��F�9�����Z��Cl���3�v|�!�������7o�Ǒm<~?������ן������?����9���r��|���"{=�{zܛ��7<�r_=���������
�1��f͍��[Y3�Fky�-��M7XW ���5�n�6���ʚe7Z��ne͸�
�y���}7Y /��5o�6�G�ʚ�7Z�;o%Cot����9��$]���V�̽��@|+k�hm o��5�o�6�g��:w�d]���V�L���@+k��hm ᅰ5p�6�'��:7�d]��W�����@�+k��hm o��5cp�6����:��d]��W�L���@�+�X���p�W��Q�@���܆�u�:\Y3Gky ��Y�����W֌���@���܉�u�R\Y3Gky,��Y�����W����@���܌�u�j\Y3Gky8��Y�����W֌���@���܏�u҂\9�	9�a8"W±"Gc�xG������<%�˖�+���ʚ99Zȃre͢�
�M��fT����X箜����ʚi9Z��reͺ�
�}��f`�����X�Ɯ��W�ʚ�9Z�Cse���
䭹�fl�����H�7'g�pq��cr�����\9�:Giyw������<=7ֹ='�����f~����]Y�@Gky�������<C7ֹC'��%��f����]Y�FGky�������<I7ֹI'��U��f����0]Y�LGkq���c�����<�(�O'e�x��������<RW֬���@ީ+k��hm OՍun�ɺ�y��������<XW�,���@ެ+kF�hm �֍u��ɺ�y��������<^W֬���@ޯ+k�hm O؅��a�
-���fƎ��]Y�dGkqˮ�c̎����8瞝���ʚI;Zȣveͪ�
�]��f؎���X綝����ʚy;Z�we���
䍻�f�����X�Ν����ʚ�;Z�cwe���
佻�f������X�杬�W�ʚ�;Z��w%�wt���ʙ�;J��wc��w�.@^�+k&�hm ���5+x�6�w�ʚ!<Z�Sxc�[x�.@^�+k��hm �5�x�6�7�ʚQ<Zȳxc��x�.@^�+k��hm ��5�x�6���ʚ�<Z�yc�y�.@\�+�ɣ�p<�W�,�Q�@��+k��hm ��u��ɺ�y1���̣��<�W֬���@��+k��hm O�����
-����f>���^Y��GkyC��ѣ��<�7ֹ�'��%��fJ���^Y��GkyO��ԣ��8�7�l���8\�+�գ�p<�W�,�Q�@���O�ո�c[�_=����y��s�m�f?>}��.��Ǒm_�p�����7�ۧ_��^�?�?^/���p~��w{���������������^�?<��
�v����;֧���me��ް6�m���pz�cKcgٺ�w���ӓ�ngoX�c}<��y����
kw�O���?�T���
k߶�?�:βu�X���me��ް6p�z�^��RY��7�
ܱ�?�;k��ް6�m���c�s��(;��<ǣtngoH�c=�u;{����������ngoX��5�c���.@�(k�1hm �c�5��6��1ʚpZ��a��c��9��	Ǡ���Qքc��@�(k�1hm �c�u�cȺ�9��	Ǡ���Qքc��@�(�Ǡ�p�1��!��p��&��r8FY�Ak9��	Ǡ���1��!��p��&��r8FY�Ak9��	Ǡ���1��!��p��&��r8FY�Ak9��	Ǡ���1��!��p��&��b8FIG8���p�r&��r8�Xg8����1ʚpZ��eM8�
�p��&��r8�Xg8����1ʚpZ��eM8�
�p��&��r8�Xg8����1ʚpZ��eM8�
�p��&��r8�Xg8����1ʹ�c�x
�p��p���L8�
�p��^�1`]��Qքc��@�(k�1hm �c�5��6��1�:�1d]��Qքc��@�(k�1hm �c�5��6��1�:�1d]��Qքc��@�(k�1hm �c�5��6�1F�p9����T��1ʙpJ��eM8�
�p���pY �c�5��6��1ʚpZ��eM8�
�p���pY �c�5��6��1ʚpZ��eM8�
�p���pY �c�5��6��1ʚpZ��%�t�1F�p)���L8�
�p��&��r8FY�Ak9c�3C���eM8�
�p��&��r8FY�Ak9c�3C���eM8�
�p��&��r8FY�Ak9#��pXW �c�5��6��1ʚpZ��%�t��1�9�1$]��Qքc��@�(k�1hm �c�5��6��1�:�1d]��Qքc��@�(k�1hm �c�5��6��1�:�1d]��Qքc��@�(k�1hm �c�5��6��1�:�1d]��Qքc��@�(�Ǡ�p�Q΄cP�@��ǐur8FY�Ak9��	Ǡ���Qքc��@��ǐur8FY�Ak9��	Ǡ���Qքc��@��ǐur8FY�Ak9��	Ǡ���Qքc��@��ǐub8FIG8���p�r&��r8FY�Ak9c�3C���eM8�
�p��&��r8FY�Ak9#��pXW �c�5��6��1ʚpZ��eM8�
�p���pY �c�5��6��1ʚpZ��eM8�
�p��&C��a8F)G8���p�r&��r8f����1�[8��1�v�1�ϱ�c��y�i���qd�<�p�?|����gD�t�����.�����*i�3�&�|�kr���]��]�6��&ʚ�	Z�]eM��
䮉�ή	Y wM�5]�6��&ʚ�	Z�]eM��
Į���kB��q�D9�5Ai�k��隠���5Q�tM��@��욐ur�DY�5Ak�k��隠���5Q�tM��@��k��]eM��
䮉��k��r�DY�5Ak�kb��kB��]eM��
䮉��k��b�DIG���㮉qή	I wM�5]�6��&ʚ�	Z�]eM��
䮉�ή	Y wM�5]�6��&ʚ�	Z�]eM��
䮉�ή	Y wM�5]�6��&ʚ�	Z�]eM��
䮉�ή	Y wM�5]�6�&J:�&�,wM�3]�6��&�:�&d]��5Q�tM��@�(k�&hm wM�5]�6��&�:�&d]��5Q�tM��@�(k�&hm wM�5]�6��&�:�&d]��5Q�tM��@�(k�&hm wM�5]�6��&�:�&d]��5Qέk��kvM�ptM�X8�(g�&(m wM���5�
-䮉��k��r�DY�5Ak�k��隠���51��5!�䮉��k��r�DY�5Ak�k��隠���51��5!�䮉��k��r�DY�5Ak�k��隠���51�tM��8�(�蚠�p�5Q�tMP�@�(k�&hm wM�uvMȺ��k��隠���5Q�tM��@�(k�&hm wM�uvMȺ��k��隠���5Q�tM��@�(k�&hm wM�uvMȺ��k��隠���5Q�tM��@�(�蚠�p�51�tMH�8�(g�&(m wM�5]�6��&ʚ�	Z�]c�]�.@�(k�&hm wM�5]�6��&ʚ�	Z�]c�]�.@�(k�&hm wM�5]�6��&ʚ�	Z�]a�tM���k��隠���5Q�tM��@�(�蚠�p�51��5!�䮉��k��r�DY�5Ak�k��隠���51��5!�䮉��k��r�DY�5Ak�k��隠���51��5!�䮉��k��r�DY�5Ak�k��隠���51��5!�䮉��k��b�DIG���㮉r�k��r��Xgׄ���&ʚ�	Z�]eM��
䮉��k��r��Xgׄ���&ʚ�	Z�]eM��
䮉��k��r��Xgׄ���&ʚ�	Z�]eM��
䮉��k��r��Xgׄ��&J:�&�,wM�3]�6��&ʚ�	Z�]c�]�.@�(k�&hm wM�5]�6��&ʚ�	Z�]a�tM���k��隠���5Q�tM��@�(k�&hm wM�uvMȺ��k��隠���5Q�tM��@�(k�&hm vM�4]r6�&J9�&�,wM�3]�6��&���5��غ&W�]���X�&w�59��;>�S�$G�����5���?|��ӟ��_?>������~�Ϗ_��|�;��l��z/F�W9�z��~�����_�`k����)�ub��YG���
�򇳎�[��g��6��J:��l�?�s�?X�@,8�(���X�p�Q�`k����)�ub��YG���
�򇳎�[��g��6��:�d]�X�p�Q�`k��ᬣ���b��YG���
�򇲦�����g��6��:�lm �?�t+��pX�PΔ?P����ᬣ���b��YG���
�򇳎�[��eM����:�lm �?�u�?��@,8�(���X�P֔?к���ᬣ���b��YG���
�򇳎�[��eM����:�lm �?�t+��pX�p�Q�`i����)�ub��YG���
�򇳎�[��g��6�ʚ�Z �?�u�?��@,8�(���X�p�Q�`k����)�ub��YG���
�򇳎�[��g��6�ʚ�Z �?��{����0*8�V�`c��ᜣ���b��Xg���+��:�lm �?�u�?��@,8�(���X�P֔?к���ᬣ���b��YG���
�򇳎�[��eM����:�lm �?�u�?��@,8�(���T�P�Q�@g���[������s��K��g��6�ʚ�Z �?�u�?��@,8�(���X�p�Q�`k����)�ub��YG���
�򇳎�[��g��6�ʚ�Z �?�u�?��@,8�(���T�pҭ����Q�C)G�����s��K��g��6��:�lm �?�5��.@,8�(���X�p�Q�`k��ᬣ���b�CYS�@��򇳎�[��g��6��:�lm �?�u�?Ⱥ��ᬣ���b��YG���
��n�v�ʙ�J �?�u�?��@,8�(���X�p�Q�`k����)�ub��YG���
�򇳎�[��g��6�ʚ�Z �?�u�?��@,8�(���X�p�Q�`k����)�ub��YG���
��n�v��9�,m �?�5��.@,8�(���X�p�Q�`k��ᬣ���b�CYS�@��򇳎�[��g��6��:�lm �?�5��.@,8�(���X�p�Q�`k��ᬣ���b�CYS�@���n�v��9�,m �?�u�?��@,(k�h]�X�p�Q�`k��ᬣ���b��YG���
����YW �?�u�?��@,8�(���X�p�Q�`k����)�ub��YG���
�򇳎�[��g��6��J:��l�?�r+��pX�p�Q�`i������~��g�c��ϱ�?�\�x�|�}�	���V�x����ۯ�7?|��������ç��������J��@w����^�cf)�ag���i����hm g)�5Y
-�6�F�,9�Y
-�L��
�,��&K��r�BY��@k9Ka�3KA��Y
-eM��
�,��&K��r�BY��@k9K!��,XW g)�5Y
-�6��ʚ,Z�Y
-eM��
�,���,Y g)�5Y
-�6��ʚ,Z�Y
-%Y
-t���9�$]���P�d)��@�R(k�hm g)�5Y
-�6���:�d]���P�d)��@�R(k�hm g)�5Y
-�6���:�d]���P�d)��@�R(k�hm g)�5Y
-�6���:�d]���P�d)��@�R(��R��p��P�d)P�@�R��R�ur�BY��@k9K���R�����P�d)��@�R��R�ur�BY��@k9K���R�����P�d)��@�R��R�ur�BY��@k9K���R�����P�d)��@�R��R�uR�B9�,�a��P‘�@c�8K���R������K��+��ʚ,Z�Y
-eM��
�,��&K��r��Xg�����ʚ,Z�Y
-eM��
�,��&K��r��Xg�����ʚ,Z�Y
-eM��
�,��&K��b��H�� g�0K��#K���q�B9��@i9K���R�����0֙� ��,��&K��r�BY��@k9K���R�����0֙� ��,��&K��r�BY��@k9K���R�����0֙� ��,��&K��r�BY��@k1K��#K���a��(�� e�8K���R�����P�d)��@�R(k�hm g)�uf)Ⱥ�9K���R�����P�d)��@�R(k�hm g)�uf)Ⱥ�9K���R�����P�d)��@�R(k�hm g)������
-�,��&K��r�BY��@k1K��#K���q��8g�����ʚ,Z�Y
-eM��
�,��&K��r��Xg�����ʚ,Z�Y
-eM��
�,��&K��r��Xg�����ʚ,Z�Y
-eM��
�,��&K��r��Xg�����ʚ,Z�Y
-%Y
-t��ʙ,J�Y
-c�Y
-�.@�R(k�hm g)�5Y
-�6��ʚ,Z�Y
-c�Y
-�.@�R(k�hm g)�5Y
-�6��ʚ,Z�Y
-c�Y
-�.@�R(k�hm g)�5Y
-�6��ʚ,Z�Y
-c�Y
-�.@�R(��R��p��P�d)P�@�R(k�hm g)�uf)Ⱥ�9K���R�����P�d)��@�R(k�hm g)������
-�,��&K��r�BY��@k9K���R�����0֙� ��,��&K��r�BY��@k9K���R�����0�d)��8�R(��R��p��P�d)P�@�R�T��c�R\W ��f)���o�R<>��0K1�lY�瑥��_?~ݾ��_?���׏����Gq����������Er	��%\=�~.��c@.�
�\��&���r.AY�K@k9�`�3�@�ȹeM.�
�\��&���r.AY�K@k9� ��\XW ��5��6�s	ʚ\ZȹeM.�
�\���\Y ��5��6�s	ʚ\Z��%�t�s	�9s	$]��KP����@�%(kr	hm ��5��6�s	�:s	d]��KP����@�%(kr	hm ��5��6�s	�:s	d]��KP����@�%(kr	hm ��5��6�s	�:s	d]��KP����@�%(��%��p�KP��P�@�%��%�ur.AY�K@k9����%����KP����@�%��%�ur.AY�K@k9����%����KP����@�%��%�ur.AY�K@k9����%����KP����@�%��%�uR.A9�\�a�KP‘K@c�8����%����K�K.�+�s	ʚ\ZȹeM.�
�\��&���r.�Xg.���s	ʚ\ZȹeM.�
�\��&���r.�Xg.���s	ʚ\ZȹeM.�
�\��&���b.�H�K g�0���#����q.A9�K@i9����%����K0֙K ��\��&���r.AY�K@k9����%����K0֙K ��\��&���r.AY�K@k9����%����K0֙K ��\��&���r.AY�K@k1���#����a.�(�K e�8����%����KP����@�%(kr	hm ��u�Ⱥ�9����%����KP����@�%(kr	hm ��u�Ⱥ�9����%����KP����@�%(kr	hm ����K��
-�\��&���r.AY�K@k1���#����q.�8g.���s	ʚ\ZȹeM.�
�\��&���r.�Xg.���s	ʚ\ZȹeM.�
�\��&���r.�Xg.���s	ʚ\ZȹeM.�
�\��&���r.�Xg.���s	ʚ\Z��%�t�s	ʙ\Jȹc���.@�%(kr	hm ��5��6�s	ʚ\Zȹc���.@�%(kr	hm ��5��6�s	ʚ\Zȹc���.@�%(kr	hm ��5��6�s	ʚ\Zȹc���.@�%(��%��p�KP��P�@�%(kr	hm ��u�Ⱥ�9����%����KP����@�%(kr	hm ����K��
-�\��&���r.AY�K@k9����%����K0֙K ��\��&���r.AY�K@k9����%����K0����8�%(��%��p�KP��P�@�%���v.�c�%\�	������Xr	w�Kx8v�
�%l'�X����[#�_>�Ǘ��^���?f�����ڝ<���p�����S���c������/B��)�PnGYY�����(��QVnG�tx~��c��QV�m���pz��Q�GQٸ����$��QVnG�x8���1��(+��|:<��y�QnGYY�����_��GQٸ����r��(���,܎����cP�܎��p;���N*���,�N#ek�c
-4 ,�g�0�2��3F��)���Lx�����P��(���Lr������Q�7C��qm�(�!e�85s[y)��+wf�2�R�#3F��)Dž�L`���㼌Pκ(�m�LZ���㰌Q�+C��aU�GT���0N��,ʀ�qܓ1��dHY8��eZ2�,�d�2!R�32B9+2�l7d�2	R�2F�~)���L<����t�P�r(���L6����h�Q�C��q1�(�!e�8#����q+�(��!e�0c��C�kWb�0�2�1B91�l�a�2yR��0F�6)�e�L����,�P�*(�M�L���� �Q�C��q
�(�!e�8#����q�(��!e�8c�i���p\�1�`HY8ο嬿��q�~1�-�B�+�_�mt_Hw
��&�B��q���R|�W.8�er/�,�^�2�R�K/F��)Ǚ���P6�/F��)ǁ�L߅��㺋Q&�B��q�E(g���㮋Q&�B��q��(�t!e��b�	���p�s��\@X0l��H����!#LDž��㊋Q&�B��q�E(g����~�Q&�B��q��(�n!e��b�	���p�m�Yme��b�I���pl1��ZHY8��eb-�,�Z�r�Z@�8�e2-�,GZ�2�R-�8-$��a�E�Rg_���b�I���pf1�tYHY8��e�,�,'Y�rY@�8�er,�,�X�2-R�K,F�)���P6�,F�)��L������Q&�B��qz��R^�W.8�e�+�,GW�2�R�+�8�+$��qnEgm���֊Q&�B��qh�(�Y!eḲb�����p�X�YXe㸯b�ɫ��pW1ʴUHY8.�e�*�,gU�rVU@�8n�e�*�,U�2=R�k*F��
-)�)��%P6�;*F��
-)�c
^ø�b�	���p�O�YOe㸝b�I���pN1�tSHY8��e�)�,'S�rS@�8�er)�,�R�2�R�K)F�P
-)Ǚ���P6�)F�D
-)ǁ�L����:�Q&�B��qE(g���.�1�,
-	�aE1�4Q�X8.�e�(�,�P�r�P@�8n�eR(�,�P�2R�+(F�
-)�	���Ke_��b�ɟ��p?1ʴOHY8.�e�'�,gO�rVO@�8n�e�'�,O�2�R�k'F��	)��aL���Ή��	��a91�4N�X8.��;T��b�\�D�v�&�q��������U�+'o�y<���%��{��s��<�8�#/��w#n�o��}������O���a������������u��ݶQ�ׇ:��C�{�ˀ����'��e�~�e���\�P�$3��@�f(k�hm w3�u�3Ⱥ�9���ig���\�P��3��@h(k
-hm 64�4
r6�3ʙ�J�%
eMJ�
䘆�����rO�XgP����ʚ�Z�U
eMV�
䰆�����r[CX/q
��@�k(k�hm 6�5�
�6�#ʚ�Zȝ
c��
�.@Nm(kZhm �6�5�
�6�J:��,77�sF7H��9����n���\�P֤7��@�o(k�hm �7�u8Ⱥ�9���ip���\�P�d8��@q(kJhm �8�u�8Ⱥ�9ǡ��q���\�P�$9��@�r(k�hm w9�u�9Ⱥ�9͡�is���X�Pґ�@g�8С�)t�����0�� ��L���Ӂ�r�CY��@k9֡��u�����0�� ��d���ف�r�CY��@k9ܡ�)w�����0�� ��|���߁�r�CY��@k9⡬�x�����0�� ����rn-4^ð桄#���q�C9S�@i��!���XW g=�5]�6��ʚ�Z�qeM��
侇���Y '>�5��6�+ʚ�ZȡeM��
�և���Y �>�5��6��ʚ�Z��eM��
�&�A��a�C)G������r&���r�DYS�Ak�b�3B��eM�
���&��rDYSAk�b�3B��IeM�
�*��&��rDYSAk�
b�3B��yeM�
�B��&��b$DIG%���N�Q&B��q*D9�
-Ai���Ʌ���Q�C��@n�댆�ur6DY�
Ak���I����Q��C��@����urBDY�Ak�"��Ɉ���Q֔D��@n��%&��9eMO�
䢈�&)��bTDIGU��㮈qΰI �E�5m�6��"ʚ�ZȁeMa�
�ƈ���Y gF�5��6�K#ʚ�ZȱeMm�
�ވ���Y 'G�5��6��#ʚ�Z��eMy�
������Y �G�5��6$J:$�,GH�3�6�;$�:C$d]��"QִH��@��(kr$hm I�5E�6��$�:�$d]��%Q�tI��@.�(k�$hm �I�5u�6��$�:%d]��(Q�4J��@��(k2%hm �J�5��6�[%�:c%d]��+Q��+Ag�X��I����-Q�TK��@����ur�DY�.Ak�^��ɗ���0Q�L��@n��%b��eM��
䒉�&e��r�DYS3Ak�gb�3hB��IeM��
䪉�&k��r�DYS6Ak�mb�����q�7Q��7Ae�p��I����9��t��	>ǖ9�z���n�d�9��ɉC'�����NƑ��������߾~���6���/�|����<��ى���?����r���^o���G�o=�k�8���c�?�@z����
kw�����Һ��am����1�u;{����������c�:βu�XO�痿S���
kw����'k��ް6p��tx~��1e��ް6�m���p�(��,[����1�������(ϟ��Q:��7�
ܱ�?�{k��ް6�m���38�9�8���c=
-/;������X���Z��7�
ܱ�?�w�q����;���3��'#��>���O��r�LY�'Ck�O��铡���'3��'#��>���O��r�LY�'Ck�O��铡���'3�����8�)g�d(m �ɔ5}2�6��dʚ>Z�}2c�}2�.@�)k�dhm �ɔ5}2�6��dʚ>Z�}2a������O��铡���'S�����@�)k�dhm �Ɍu��Ⱥ��O��铡���'S�����@�)�蓡�p�'3��'#��>���O��r�LY�'Ck�O��铡���'3��'#��>���O��r�LY�'Ck�O��铡���'3��'#��>���O��r�LY�'Ck�O��铡���'3��'#��>���O��b�LIG����>�r�O��r��Xg�����dʚ>Z�}2eM��
�>���O��r��Xg�����dʚ>Z�}2eM��
�>���O��r��Xg�����dʚ>Z�}2eM��
�>���O��r��Xg�����dʹ���x
�>��>�}2�L��
�>��^�d`]��'S�����@�)k�dhm �ɔ5}2�6��d�:�dd]��'S�����@�)k�dhm �ɔ5}2�6��d�:�dd]��'S�����@�)k�dhm �ɔ5}2�6�dF�>9�}2�}2T��dʙ>J�}2eM��
�>���>Y �ɔ5}2�6��dʚ>Z�}2eM��
�>���>Y �ɔ5}2�6��dʚ>Z�}2eM��
�>���>Y �ɔ5}2�6��dʚ>Z�}2%}2t�dF�>)�}2�L��
�>���O��r�LY�'Ck�Of��OF��}2eM��
�>���O��r�LY�'Ck�Of��OF��}2eM��
�>���O��r�LY�'Ck�O&��>XW �ɔ5}2�6��dʚ>Z�}2%}2t��d�9�d$]��'S�����@�)k�dhm �ɔ5}2�6��d�:�dd]��'S�����@�)k�dhm �ɔ5}2�6��d�:�dd]��'S�����@�)k�dhm �ɔ5}2�6��d�:�dd]��'S�����@�)�蓡�p�'S���P�@��쓑ur�LY�'Ck�O��铡���'S�����@��쓑ur�LY�'Ck�O��铡���'S�����@��쓑ur�LY�'Ck�O��铡���'S�����@��쓑ub�LIG����>�r�O��r�LY�'Ck�Of��OF��}2eM��
�>���O��r�LY�'Ck�O&��>XW �ɔ5}2�6��dʚ>Z�}2eM��
�>���>Y �ɔ5}2�6��dʚ>Z�}2eM��
�>���OF��a�L)G����>�r�O��r�l?���d�[���1�v�d�����N��ݽy�������@�0N�N�οY�4����';�Bٟ������/�>�������Oھ�O��}�����?�x|�Ç�>��{~wa�Y2{|z��r^f\��s�u���3��3.�6�g\ʚZ�3.c�3.�.@�q)kf\hm θ�t̸�Y8�q)gf\(m ϸ�uθȺ�yƥ��q���<�R�̸��@�q)kf\hm ϸ�uθȺ�yƥ��q���<�R�̸��@�q)kf\hm ϸ�uθȺ�yƥ��q���<�R�̸��@�q)kf\hm ϸ�uθȺ�iƥ�ی��0�q)�q��p<�R�̸P�@�q	�e���3.e͌�
���fƅ��KY3�Bky�e�s�E��3.e͌�
���fƅ��KY3�Bky�e�s�E��3.e͌�
���fƅ��KY3�Bkq�e��q��q8�R�1�Be�xƥ��q���<�R�̸��@�q�q�u�KY3�Bkyƥ��q���<�R�̸��@�q�q�u�KY3�Bkyƥ��q���<�R�̸��@�q�q�u�KY3�Bkyƥ��q���8�R�1�Bg�p�e��q��q<�R�̸P�@�q)kf\hm ϸ�53.�6�g\�:g\d]�<�R�̸��@�q)kf\hm ϸ�53.�6�g\�:g\d]�<�R�̸��@�q)kf\hm ϸ�53.�6�g\�z�q�u�KY3�Bkyƥ��q���8�R�1�Bg�x�e�s�E��3.e͌�
���fƅ��KY3�Bky�e�s�E��3.e͌�
���fƅ��KY3�Bky�e�s�E��3.e͌�
���fƅ��KY3�Bky�e�s�E��3.e͌�
����:�3.�̌�
����Y ϸ�53.�6�g\ʚZ�3.e͌�
����Y ϸ�53.�6�g\ʚZ�3.e͌�
����Y ϸ�53.�6�g\ʚZ�3.e͌�
����Y θ�t̸�Y8�q)gf\(m ϸ�53.�6�g\�:g\d]�<�R�̸��@�q)kf\hm ϸ�53.�6�g\�z�q�u�KY3�Bkyƥ��q���7n7��@l�
-H*X�7 *'���������x g\��2.�z g\��ɸ��r�%Y-�B�r�%Y-�B�r�%Y-�B�bƥH-�"��a�%)[ƅJ��KrZƅR�k�I�3��ȸ�;��ջ�������IsH�B�S���{�^��ejO�=��Ѡ2���/endstream
+�=�!�&��jrHE�	��ڃR1����rHE�	��ڃRQjB*�� �T���
+�=�!�ΐ
+�� �T:B*h��T���
+�=�!�&��jrHŨ3�B�2�!�&��jrHE�	��ڃRQjB*�� �T��Ru䐊RRA�9��ԄTP�A�(5!T{�C*F�!R�A�(5!T{�C*JMH�䐊RRA�1�bЄT��9�(r�T��9�(3!D{�C*�uR�ϱ�T>vK��!��ϱ�T�R��^^�oR��!��R��?���6T�O����1﫫|��b���r{�<|�N7�Ty��������ry}�M�o?�'���ڃ����ÓTdz�.����v#�Я���5w@n���*������<Xu�D�������}o�Qdz�.�����ѩ��'j��k�Zu�D��uT�����=ș%����� g�����=ș%�&��jrfI��,�ڃ�Y2��,��rfI��,�ڃ�YRj2K�� g�����=��%�&�Df�qfI��,!ڃ�YRj2K�� g�����=ș%����� g�����=ș%�&��jrfI��,�ڃ�Y�{f	�u�3KJMf	��̒R�YB�9���d�P�A�,uf�H]9���d�P�A�,)5�%T{3K
+�%4k�3KƜ�%B�A�,)5�%T{�3KJMf	��̒R�YB�9�dԙY"u�̒R�YB�9���d�P�A�,)5�%T{�3KF��%R�A�,)5�%T{�3KJMf	��̒R�YB�9�dԙY"u�̒R�YB�1��БYB��8���d��A�,uf�H]9���d�P�A�,)5�%T{�3KJMf	��̒Qgf��e�3KJMf	��̒R�YB�9���d�P�A�,uf�H]9���d�P�A�,)5�%T{�3KJMf	��̒Qgf��e�2K��3K(~�̒Gf	Ś�̒2�YB�9�$����� g�����=ș%�&��jrfI��,�ڃ�Y2��,��rfI��,�ڃ�YRj2K�� g�����=ș%����� g�����=ș%�&��jrfI��,�ڃ�Y2h2Kd�f�92KH�g�����=ș%�&��jrfɨ3�D�2ș%�&��jrfI��,�ڃ�YRj2K�� g��:3K�.��YRj2K�� g�����=ș%�&��jrfɨ3�D�2ș%�&��jrfI��,�ڃ�YR��,�Ys�Y2d2KD�g�����=ș%�&��jrfI��,�ڃ�Y2��,��rfI��,�ڃ�YRj2K�� g�����=ș%����� g�����=ș%�&��jrfI��,�ڃ�Y�{f	�u�3KJMf	��̒R�YB�1��БYB��8�d̙Y"t�̒R�YB�9���d�P�A�,)5�%T{�3KF��%R�A�,)5�%T{�3KJMf	��̒R�YB�9�dԙY"u�̒R�YB�9���d�P�A�,)5�%T{�3KF��%R�A�,)5�%T{3K
+�%4k�3K�Lf	��̒Qgf��e�3KJMf	��̒R�YB�9���d�P�A�,uf�H]9���d�P�A�,)5�%T{�3KJMf	��̒Qgf��e�3KJMf	��̒R�YB�9���d�P�A�,uf�H]1��БYB��8���d��A�,)5�%T{�3KF��%R�A�,)5�%T{�3KJMf	��̒R�YB�9�$����� g�����=ș%�&��jrfI��,�ڃ�Y2��,��rfI��,�ڃ�YRj2K�� g�����=��%�&�Df�afI�#��d�qfI��,!ڃ�Y:��~�=���jt�Y:������[>�3K�=��22K�����������_�m�^�~s�}{��/ww������3���Ǐv���S燐�9�)3�!D{��CJM~����Qg~��e��CJM~����R�B�9?���P�A�u�H]9?���P�A�)5�!T{��CJM~����Qg~��e��CJM~����R�B�9?���P�A�4�!2{��C�L~����R�B�9?���P�A�u�H]9?���P�A�)5�!T{��CJM~����P��C����Rj�C�� 燔���=��!�&?�jr~Ȩ3?D�2��!�&?�jr~H���ڃ�R���Ys�2���r~H���ڃ�Rj�C�� 燔���=��!����� 燔���=��!�&?�jr~H���ڃ�2����r~H���ڃ�Rj�C�� 燔���=��!����� 燔���=��!����5��!e&?�hr~Ȩ3?D�2��!�&?�jr~H���ڃ�Rj�C�� 燌:�C�.��Rj�C�� 燔���=��!�&?�jr~Ȩ3?D�2��!�&?�jr~H���ڃ�Rj�C�� 燌:�C�.��R�B���8�C(�燔���=��!���@]9?���P�A�)5�!T{��CJM~����Qg~��e��CJM~����R�B�9?���P�A�u�H]9?���P�A�)5�!T{��CJM~����A�"��0?�ȑB��8?����A�)5�!T{��CF��!R�A�)5�!T{��CJM~����R�B�9?dԙ"u���R�B�9?���P�A�)5�!T{��CF��!R�A�)5�!T{��CJM~����BG~͚���!�"��8?����A�)5�!T{��CJM~����Qg~��e��CJM~����R�B�9?���P�A�u�H]9?���P�A�)5�!T{��CJM~����P��C������){�&��C���zp�����{'�q�k��GX¥�	�C��S��;���>���D�ɵ�D4�^GY�Bk9?�������RґBg�8?d�3?D���!eM~�
����&?��r~HY�Bk9?d�3?D���!eM~�
����&?��r~HY�Bk9?d�3?D���!eM~�
����&?��r~HY�Bk9?d�3?D���!eM~�
������:��!�L~�
������Y 燔5�!�6��Cʚ�Z��!eM~�
������Y 燔5�!�6��Cʚ�Z��!eM~�
������Y 燔5�!�6��Cʚ�Z��!eM~�
������Y 懔t��Y8�)g�C(m 燔5�!�6��C�:�Cd]��R����@�)k�Chm 燔5�!�6��C�z��ur~HY�Bk9?�������R����@����ur~HY�Bk9?�������R����@�i�C�l懔r�PY8�)g�C(m 燎�:*?�ϱ���������s,��;�ݿ<�J�>4Nl���߾��׷١���ǧ�]�o�C�������)gv��N��|zxzy�)�=�P6�BGʸu�P��a�H	G����đR��*�}#�Lވ��ø�R��*�e#�a#T�FJ9�F�,6��2I#R6�FJ9zF�,֌�rČPY8L)�(��p�12�d�H�8�)�h��pX0R�0Be�0_���^���Q��G����p��n��"��"T�EJ9�E�,���2�"R6cEJ9ZE�,���r��PY8�)���p�(ʙ(��@�R�>*�u"�q"T�DJ9�D�,v��2Y"R6�DJ9�D�,��r�PY8�)�V#B��-"#L������R�*�"�"TDJ9
+D�,���2�!R6�CJ9�C�,���r��PY8�)���p�2�$�H�8)��
��pXR�Be�05���4���ag�(�"e�02���1���QaH��
+�0�)���p�2ʤ�H�8)��
+��pXR�Be�0)���(���aO�(�"e�0&���%���aIH)GH���R��*�
!�LB���À�R�~*�� �� T�AJ9�A�,v��2� R6�AJ������Aʶ�P��a.H	G-���V�P�T(���rt�PY8�)���p�R�QBe�d����qR��Be���#���aH)G���&�Q&	D��aH)G����R�*�) �% T�:@�82@$,E��ok��o��������T�?F��)����T�?J9�?�,&�rPY8��er?�l�~�r�~PY8,�(����p��Q�Q�Ae��c�I���q�Q���Ae�#���Q�G��
+�0�������`�Q���Ac�裔#���a�G)G���Ö�Q&�C��a�G)G���Ê�R��*�	�T�=F�|)����T�=J9�=�,f{�rT{PY8l��L��r�a�G)G����Z�R�X*G�e�J=(�ð�c�����q�Q���Ae�У�#Ѓ��a�G)G����6�Q&�C��a�G)G����*�R�(*�I�ET{<F�)�1�-TK<J9B<�,fx�rTxPY8l�e<�lx�r�wPY8��(��A���%�4�;F��)����T�;J9�;�,�v�r�vPY8l�eR;�l�v�rtvPY8��(�젲p��Q�Q�Aeᰯc��됲q�Q���Aeᰬ��#����aVG)GU��æ�Q&�C��QPG��
+�0��(�頱p��Q�Q�Aeᰣc��萲q�Q���Aeᰠ��#����a>G)G=���v�P�t(�s�rtsPY8��(�栲p��Q�Q�Aeᰗc��吲q�Q���Aeᰔ��#����a&G)G%���F�1�D	F����8��ð���#����a�8�b�8�ߏ�C4OG]��X�8g��|�wP/��G�0��魌����_��������������˷����]~���c���~?�}��8x��=��8���:����qʚ�Z�9e�F�
䕜�f&���P�X�R����rʚ�Z�s9e�^�
�Ŝ�f2���h�X�j���wsʚ�Z��9%�9t��sʙ�J�:c�:�.@��)kFthm ��5;:�6��tʚ)Z�c:c�k:�.@��)kuhm O�5�:�6�WuʚYZ��:c��:�.@��)k�uhm ��5�:�6�vʚ�Z�#;c�+;�.@��)�6�C��S;%[;4��vʙ�Jȃ;a�.���ys��ݡ��<�S�����@^�)k�whm ��u��Ⱥ�y��ࡵ�<�S�l���@^�)kfxhm �u.�Ⱥ�y���㡵�<�S�����@^�)k&yhm ��4�<r6wyJ9�y�,O�3�<�6��yʚyZ�=c�=�.@��)kFzhm ���5;=�6��zʚ�Z�c=c�k=�.@��)k{hm O��5�=�6�W{ʚ�Z��=c��=�.@��)k�{hm ���5�=�6|J:&|�,���2+>R6�w|ʙ!J�S>e͖�
�5��f·���X碏��7}ʚQZȳ>eͮ�
�e��fڇ���X纏���}ʚ�Z�?e���
䕟�f����OX�K?��@��)k�~hm ���5{?�6J:&�,���s��H��y�������<�S�l���@^�)k�hm ��u.�ɺ�y�����<T�����@^*k��hm ��u�ɺ�y�����<	T�l��@^*kf�hm �u.ɺ�y�����8TұDg�x!������<4ֹ$�䝠�f(���TPY�Dky-������<4ֹ$��͠�f4���lPY�Dky9������<4ֹ$�����f@���PY�!DkyE������<$4ֹ$$��-���1!:�sB�̞�
�E��fR����X窐��w�ʚa!Z��BeͶ�
�u��f^����PX�C��@�*kF�hm ��5;C�6���ʚ�!Z�cCc�kC�.@�*k�hm O�5�C�6�W�ʚ�!Z��C#�򐜍���R��!*��C����
�"m���c� �G�#���XV�w�B����|��+�qd��c��?���/������?��u������w�?���O���>�����?��v��r�����և<_����q��0g����,���,�
�Y��f���,PY3Dkyh�sH�ȳ@e�,�
�Y��f���,PY3Dkyh�sH�ȳ@e�,�
�Y���Y :dz@��,�
�Y���Y Y ��5�@�6�g�ʚY Zȳ@e�,�
�Y���Y Y ��5�@�6�g�ʚY Zȳ@e�,�
�Y���Y Y ��5�@�6�g�ʚY Zȳ@e�,�
�Y���Y Y ��s��q�Y��Y dz@��,�
�Y��^g�`]�<T����@�*kf�hm ��5�@�6�g��:g�d]�<T����@�*kf�hm ��5�@�6�g��:g�d]�<T����@�*kf�hm ��5�@�6g�F�Y 9��@��@T�g�ʙY Jȳ@e�,�
�Y���Y Y ��5�@�6�g�ʚY Zȳ@e�,�
�Y���Y Y ��5�@�6�g�ʚY Zȳ@e�,�
�Y���Y Y ��5�@�6�g�ʚY Z��@%�@tg�F�Y )dz@��,�
�Y��f���,PY3Dkyh�sH�ȳ@e�,�
�Y��f���,PY3Dkyh�sH�ȳ@e�,�
�Y��f���,PY3Dky(��Y XW ��5�@�6�g�ʚY Z��@%�@t�g��9g�$]�<T����@�*kf�hm ��5�@�6�g��:g�d]�<T����@�*kf�hm ��5�@�6�g��:g�d]�<T����@�*kf�hm ��5�@�6�g��:g�d]�<T����@�*���p<T��Q�@���u�,PY3Dky������<T����@���u�,PY3Dky������<T����@���u�,PY3Dky������<T����@���u�,PI�,���Y�rf���,PY3Dkyh�sH�ȳ@e�,�
�Y��f���,PY3Dky(��Y XW ��5�@�6�g�ʚY Zȳ@e�,�
�Y���Y Y ��5�@�6�g�ʚY Zȳ@e�,�
�Y��fH���,P)�,���Y�rf���,�xŦf���,p��{9�?���O�_׿����;��|�����p���q>�����ƙy}���	���~����~���!<_���_u�]������_�������mx��?���s<�^^/��}�w�����o}:��_�X�Y�.������Z��7�
<�>��_/�(�v����������"*�v�����[/�\�?J�8��x`�|����u;{�����cx�]De��ް6��z��u;{�����ϗ���I���l܁����ҹ��!m����|����
k�ϧ�/�뻝�am��֗�����Y�Y�.����/Z�v��������'�mn��am����1<�o8��
k��|�|Κ�h]����p�$����X/��Gi��ް6��z��ֺ��am�����c����,[�������"����X�N�gk��ް6���|z�_��Go8����|:t�pr����z���u;{�����3x�����
k��m�ʚ׻����zwc��.@�(k:.hm w\�5�6�;.ʚ�Z�c��.@�(k:.hm w\�5�6�;.ʚ�Z�c��.@�(k:.hm v\�tt\�Y8�(g:.(m w\�uv\Ⱥ��㢬鸠���qQ�t\��@�(k:.hm w\�uv\Ⱥ��㢬鸠���qQ�t\��@�(k:.hm w\�uv\Ⱥ��㢬鸠���qQ�t\��@�(k:.hm w\�uv\Ⱥ��㢜[��{v\�pt\�X8�(g:.(m w\���q�
+䎋����r�EY�qAk�㢬鸠���q1��q!�䎋����r�EY�qAk�㢬鸠���q1��q!�䎋����r�EY�qAk�㢬鸠���q1�t\��8�(�踠�p�qQ�t\P�@�(k:.hm w\�uv\Ⱥ��㢬鸠���qQ�t\��@�(k:.hm w\�uv\Ⱥ��㢬鸠���qQ�t\��@�(k:.hm w\�uv\Ⱥ��㢬鸠���qQ�t\��@�(�踠�p�q1�t\H�8�(g:.(m w\�5�6�;.ʚ�Z�c��.@�(k:.hm w\�5�6�;.ʚ�Z�c��.@�(k:.hm w\�5�6�;.ʚ�Z�a�v\���㢬鸠���qQ�t\��@�(�踠�p�q1��q!�䎋����r�EY�qAk�㢬鸠���q1��q!�䎋����r�EY�qAk�㢬鸠���q1��q!�䎋����r�EY�qAk�㢬鸠���q1��q!�䎋����b�EIG���㎋r���r��XgDž��;.ʚ�Z�eM��
䎋����r��XgDž��;.ʚ�Z�eM��
䎋����r��XgDž��;.ʚ�Z�eM��
䎋����r��XgDž�;.J::.�,w\�3�6�;.ʚ�Z�c��.@�(k:.hm w\�5�6�;.ʚ�Z�a�v\���㢬鸠���qQ�t\��@�(k:.hm w\�uv\Ⱥ��㢬鸠���qQ�t\��@�(k:.hm v\�4r6;.J9:.�,w\�3�6�;.�M�q���:.�l��a���9v�w�������_N�w�z�qd������_?����|������y���~���-�<^�/�A�eF�)gD`������6�#�:#d]�P�D��@�(k"hm G�5�6�#�z��urD@Y@k9"������P�D��@���urD@Y@k9"������P�@g�8"`�3"@��eMD��
䈀�&"��rD@Y@k9"`�3"@��eMD��
䈀�&"��rD@Y@k9"`�3"@��eMD��
䈀�&"��rD@Y@k9"`�3"@��eMD��
Ĉ�����:��LD��
䈀�Έ�Y G�5�6�#ʚ��Z�eMD��
䈀�Έ�Y G�5�6�#ʚ��Z�eMD��
䈀�Έ�Y G�5�6�#ʚ��Z�eMD��
䈀�Έ�Y E�s��qÈ������LD��
䈀�^#`]�P�D��@�(k"hm G�5�6�#�:#d]�P�D��@�(k"hm G�5�6�#�:#d]�P�D��@�(k"hm G�5�6#F���9��T�#ʙ��J�eMD��
䈀�Έ�Y G�5�6�#ʚ��Z�eMD��
䈀�Έ�Y G�5�6�#ʚ��Z�eMD��
䈀�Έ�Y G�5�6�#ʚ��Z�%t#F���)��LD��
䈀�&"��rD@Y@k9"`�3"@��eMD��
䈀�&"��rD@Y@k9"`�3"@��eMD��
䈀�&"��rD@Y@k9" �׈�XW G�5�6�#ʚ��Z�%t�#�9#$]�P�D��@�(k"hm G�5�6�#�:#d]�P�D��@�(k"hm G�5�6�#�:#d]�P�D��@�(k"hm G�5�6�#�:#d]�P�D��@�(���pP�DP�@���urD@Y@k9"������P�D��@���urD@Y@k9"������P�D��@���urD@Y@k9"������P�D��@���ubD@IGD���㈀r&"��rD@Y@k9"`�3"@��eMD��
䈀�&"��rD@Y@k9" �׈�XW G�5�6�#ʚ��Z�eMD��
䈀�Έ�Y G�5�6�#ʚ��Z�eMD��
Ĉ��&"@��aD@)GD���㈀r&"��rD�x�"�[D`��?�?�."��V,F�N�g��#[D�nD�������f��z���w��Է_��磯����=�x��?��q����e��8.goX������CQ�q����zz������
k���x����
k�������ngoX����|���`cgٺ�����gk��ް6���t��Ƥ����X�Oϯ�������o�x��u�e�<�^>��kLʺ��am����1��~��ngoXx`�|wֺ��am�A2��1ȟ����l܁����7�q������Q�y��@.�(k�<hm y�uyȺ��ȣ�)򠵁\�Q�y��@.�(k�<hm y��Z��
+�"���ȃ�r�GYS�Ak�ȣ�)򠵁\�1�Y�!��"���ȃ�r�GYS�Ak�ȣ��ȃ��q��8g�����<ʚ"Z�EeM��
�"���ȃ�r��Xg�����<ʚ"Z�EeM��
�"���ȃ�r��Xg�����<ʚ"Z�EeM��
�"���ȃ�r��Xg�����<ʚ"Z�E%Et��<ʙ"J�Ec�E�.@.�(k�<hm y�5E�6��<ʚ"Z�Ec�E�.@.�(k�<hm y�5E�6��<ʚ"Z�Ec�E�.@.�(k�<hm y�5E�6��<ʚ"Z�Ec�E�.@*�(�V�A��E%E4��<ʙ"J�Ea�y���ȣ�)򠵁\�Q�y��@.�(k�<hm y�uyȺ��ȣ�)򠵁\�Q�y��@.�(k�<hm y�uyȺ��ȣ�)򠵁\�Q�y��@.�(k�<hm y�4Er6�<J9�<�,y�3E�6��<ʚ"Z�Ec�E�.@.�(k�<hm y�5E�6��<ʚ"Z�Ec�E�.@.�(k�<hm y�5E�6��<ʚ"Z�Ec�E�.@.�(k�<hm y�5E�6�<J:�<�,y�2ER6��<ʙ"J�EeM��
�"���ȃ�r��Xg�����<ʚ"Z�EeM��
�"���ȃ�r��Xg�����<ʚ"Z�EeM��
�"���ȃ�r�GX�E��@.�(k�<hm y�5E�6�<J:�<�,y�syH���ȣ�)򠵁\�Q�y��@.�(k�<hm y�uyȺ��ȣ�)򠵁\�Q�y��@.�(k�<hm y�uyȺ��ȣ�)򠵁\�Q�y��@.�(k�<hm y�uyȺ��ȣ�)򠵁X�Q�Q�Ag�ȣ�)򠴁\�1�Y�!��"���ȃ�r�GYS�Ak�ȣ�)򠵁\�1�Y�!��"���ȃ�r�GYS�Ak�ȣ�)򠵁\�1�Y�!��"���ȃ�r�GYS�Ak�ȣ�)򠵁\�1�Y�!��"���":�E�L��
�"���ȃ�r��Xg�����<ʚ"Z�EeM��
�"���ȃ�r�GX�E��@.�(k�<hm y�5E�6��<ʚ"Z�Ec�E�.@.�(k�<hm y�5E�6��<ʚ"Z�E#M�����"�R�"*�E�L��
�"�fD��c+��8�E���X�<w\�9�_~\/X�G�"��(����?�������/���Ϗ?|��m<�����X�֧x�=�yf��pV\v�x\qy� PqAk��b���B��eM��
䊋����r�EYSqAk��b���B��eM��
䊋����r�EYSqAk��b�����q\qQ�T\P�@��(k*.hm W\�5�6�+.�:+.d]�\qQ�T\��@��(k*.hm W\�5�6�+.�z���ur�EYSqAk�⢬�����\qQ�T\��@��문�ur�EYSqAk�⢬�����XqQ�QqAg��b���B��eM��
䊋����r�EYSqAk��b���B��eM��
䊋����r�EYSqAk��b���B��eM��
䊋����r�EYSqAk��b���B��eM��
Ċ����:��L��
䊋�ΊY W\�5�6�+.ʚ�Z�eM��
䊋�ΊY W\�5�6�+.ʚ�Z�eM��
䊋�ΊY W\�5�6�+.ʚ�Z�eM��
䊋�ΊY U\�s���qÊ�����L��
䊋�^+.`]�\qQ�T\��@��(k*.hm W\�5�6�+.�:+.d]�\qQ�T\��@��(k*.hm W\�5�6�+.�:+.d]�\qQ�T\��@��(k*.hm W\�5�6+.F��9��T�+.ʙ�J�eM��
䊋�ΊY W\�5�6�+.ʚ�Z�eM��
䊋�ΊY W\�5�6�+.ʚ�Z�eM��
䊋�ΊY W\�5�6�+.ʚ�Z�%t+.F��)��L��
䊋����r�EYSqAk��b���B��eM��
䊋����r�EYSqAk��b���B��eM��
䊋����r�EYSqAk��"�׊XW W\�5�6�+.ʚ�Z�%t�+.�9+.$]�\qQ�T\��@��(k*.hm W\�5�6�+.�:+.d]�\qQ�T\��@��(k*.hm W\�5�6�+.�:+.d]�\qQ�T\��@��(k*.hm W\�5�6�+.�:+.d]�\qQ�T\��@��(騸��p\qQ�T\P�@��문�ur�EYSqAk�⢬�����\qQ�T\��@��문�ur�EYSqAk�⢬�����\qQ�T\��@��문�ur�EYSqAk�⢬�����\qQ�T\��@��문�ub�EIG���㊋r���r�EYSqAk��b���B��eM��
䊋����r�EYSqAk��"�׊XW W\�5�6�+.ʚ�Z�eM��
䊋�ΊY W\�5�6�+.ʚ�Z�eM��
Ċ����B��a�E)G���㊋r���r��I�*.�[�eMy<��?�Rq9s��Ç��Q�e�*.���O����/?���ͬ��i�}�+x��]~b�;��<<�^n=X��x����z��탼o�βuX�O/��9�����XG�FY��Ak9����㠵���1֙�!��<��&���rGY��Ak9����㠵���1֙�!��<��&���rGY��Ak9����㠵���1��q��8��(g�8(m �q�5y�6��8ʚ<Z�yc�y�.@��(k�8hm �q�5y�6��8ʚ<Z�ya��q��9����㠵���Q��q��@��(k�8hm �q�u�qȺ�9����㠵���Q��q��@��(��㠳p��1Ι�!��<��&���rGY��Ak9����㠵���1֙�!��<��&���rGY��Ak9����㠵���1֙�!��<��&���rGY��Ak9����㠵���1֙�!��<��&���bGIG���<�r&���r�Xg����8ʚ<Z�yeM�
�<��&���r�Xg����8ʚ<Z�yeM�
�<��&���r�Xg����8ʚ<Z�yeM�
�<��&���r�Xg����8ʹ�qи�aG	G���<�r&���rGX�y��@��(k�8hm �q�5y�6��8ʚ<Z�yc�y�.@��(k�8hm �q�5y�6��8ʚ<Z�yc�y�.@��(k�8hm �q�5y�6��8ʚ<Z�y#M����<�R�<*�y�L�
�<��&���r�Xg����8ʚ<Z�yeM�
�<��&���r�Xg����8ʚ<Z�yeM�
�<��&���r�Xg����8ʚ<Z�yeM�
�<���<:�y�L����<�r&���rGY��Ak9����㠵���1֙�!��<��&���rGY��Ak9����㠵���1֙�!��<��&���rGY��Ak9����㠵����k�+��8ʚ<Z�yeM�
�<���<:�y�y�.@��(k�8hm �q�5y�6��8ʚ<Z�yc�y�.@��(k�8hm �q�5y�6��8ʚ<Z�yc�y�.@��(k�8hm �q�5y�6��8ʚ<Z�yc�y�.@��(k�8hm �q�t�q�Y8��(g�8(m �q�u�qȺ�9����㠵���Q��q��@��(k�8hm �q�u�qȺ�9����㠵���Q��q��@��(k�8hm �q�u�qȺ�9����㠵���Q��q��@��(k�8hm �q�u�qȺ�1���#����qG9��Ai9����㠵���1֙�!��<��&���rGY��Ak9����㠵����k�+��8ʚ<Z�yeM�
�<��&���r�Xg����8ʚ<Z�yeM�
�<��&���b�H��!g�0���#����qG9��Ai9�s\}Qy|�-����<�q������˯�_�8��39��x>}��������]h�ɑ�zq����o_����/?�x��s��݇���<볜OO�G��)�9sh���E�w�H��b��YG���
�"���":�E
+�E
+�6��:�lm )�u)��@,R(k�h]�X�p�Q�`k�HᬣH��b��YG���
�"���"YW )�u)��@,R8�(R���X�p�Q�`k�H��)R�ub��YG���
�"���"[HE
+'݊�,)�3E
+�.@,R8�(R���X�p�Q�`k�HᬣH��b�BYS�@��"���"[�E
+gE
+�6��:�lm )�5E
+�.@,R8�(R���X�p�Q�`k�HᬣH��b�BYS�@��"���"[HE
+'݊�,)�s)X�@,R(k�h]�X�p�Q�`k�HᬣH��b��YG���
�"���H���E
+gE
+�6��:�lm )�u)��@,R(k�h]�X�p�Q�`k�HᬣH��b��YG���
�"���H��E
+��^�`�FE
+'܊l,)�s)X�@,R�,R�ub��YG���
�"���"[�E
+gE
+�6�ʚ"Z )�u)��@,R8�(R���X�p�Q�`k�H��)R�ub��YG���
�"���"[�E
+gE
+�6��J:��l)�r+R��pX�p�Q�`i�HᬣH��b�BYS�@��"���"[�E
+gE
+�6��:�lm )�5E
+�.@,R8�(R���X�p�Q�`k�HᬣH��b�BYS�@��"���"[�E
+gE
+�6��N�)�Y8*R(�(R��qX�p�Q�`i�HᬣH��b��YG���
�"���H���E
+gE
+�6��:�lm )�u)��@,R(k�h]�X�p�Q�`k�HᬣH��b��YG���
�"���"YW )�u)��@,R8�(R���T�pҭH���a�B9S�@��"���"[�E
+gE
+�6��:�lm )�5E
+�.@,R8�(R���X�p�Q�`k�HᬣH��b�BYS�@��"���"[�E
+gE
+�6��:�lm )�5E
+�.@,R8�(R���T�pҭH���a��9G���
�"���H���E
+gE
+�6��:�lm )�u)��@,R(k�h]�X�p�Q�`k�HᬣH��b��YG���
�"���H���E
+gE
+�6��:�lm )�u)��@,R(k�h]�T�pҭH���a��9G���
�"���"[�E
+eM����:�lm )�u)��@,R8�(R���X�0�Y� �
+�"���"[�E
+gE
+�6��:�lm )�5E
+�.@,R8�(R���X�p�Q�`k�HᬣH��R�BIG����"�SnE
+V��9�,m )��`��������Q�������(�"���g.�u���zz9=�ܿ��grd+R�G�����>��?}���*����ן߮G_�E���v��_��痃��u��;'��>��}�좵�<�U�Lv��@��*�좳p<�5�9�%��ɮ�f����dWY3�Eky����좵�<�5�9�%��ɮ�f����dWY3�Eky����좵�<�5�9�%��ɮ�f����dWY3�Eky����좵�<�5�9�%��ɮ�f����dWI�d���ɮrf����d�X�d���'�ʚ�.Zȓ]e�d�
�ɮ�f����d�X�d���'�ʚ�.Zȓ]e�d�
�ɮ�f����d�X�d���'�ʚ�.Zȓ]e�d�
�ɮ�f����d�X�d���&�ʹMvѸ��dW	�d���ɮrf����dWX��]��@��*k&�hm Ov�5�]�6�'�ʚ�.Zȓ]c��]�.@��*k&�hm Ov�5�]�6�'�ʚ�.Zȓ]c��]�.@��*k&�hm Ov�5�]�6�'�ʚ�.Z��]#�d����ɮR��.*Ǔ]��d�
�ɮ�f����d�X�d���'�ʚ�.Zȓ]e�d�
�ɮ�f����d�X�d���'�ʚ�.Zȓ]e�d�
�ɮ�f����d�X�d���'�ʚ�.Zȓ]e�d�
�ɮ���.:��]��d����ɮrf����dWY3�Eky����좵�<�5�9�%��ɮ�f����dWY3�Eky����좵�<�5�9�%��ɮ�f����dWY3�Eky����좵�<���d�+�'�ʚ�.Zȓ]e�d�
�ɮ���.:Ǔ]㜓]�.@��*k&�hm Ov�5�]�6�'�ʚ�.Zȓ]c��]�.@��*k&�hm Ov�5�]�6�'�ʚ�.Zȓ]c��]�.@��*k&�hm Ov�5�]�6�'�ʚ�.Zȓ]c��]�.@��*k&�hm Nv�tLv�Y8��*g&�(m Ov�uNvɺ�y����좵�<�U�Lv��@��*k&�hm Ov�uNvɺ�y����좵�<�U�Lv��@��*k&�hm Ov�uNvɺ�y����좵�<�U�Lv��@��*k&�hm Ov�uNvɺ�q���c�����dW93�Eiy����좵�<�5�9�%��ɮ�f����dWY3�Eky����좵�<���d�+�'�ʚ�.Zȓ]e�d�
�ɮ�f����d�X�d���'�ʚ�.Zȓ]e�d�
�ɮ�f����d�H3�%g�p���c�����dW93�Eiy�K�S1����&��ǀ���s�&��o��d������h�p�;�l�ݻ���������[���w�l���w�������<|����8~�:9��UWμW�
���+kޫ���{Օ5�UGk����:߫N���UWּW�
���+kޫ���{Օ5�UGk����z}�:XW �W]Y�^u�6�߫��y�:Z��UWּW�
����4�ur�AYi@k9Ҡ��4���iP�i@g�8�`�3�@�ȑeM��
�H��&Ҁ�r�AYi@k9�`�3�@�ȑeM��
�H��&Ҁ�r�AYi@k9�`�3�@�ȑeM��
�H��&Ҁ�r�AYi@k9�`�3�@�ȑeM��
�H���H:Ǒ�L��
�H���HY G�5��6�#
ʚHZȑeM��
�H���HY G�5��6�#
ʚHZȑeM��
�H���HY G�5��6�#
ʚHZȑeM��
�H���HY E�s�4�q�H��HǑ�L��
�H��^#
`]�iP�D��@�4(k"
hm G�5��6�#
�:#
d]�iP�D��@�4(k"
hm G�5��6�#
�:#
d]�iP�D��@�4(k"
hm G�5��6#
F�H9����T�#
ʙHJȑeM��
�H���HY G�5��6�#
ʚHZȑeM��
�H���HY G�5��6�#
ʚHZȑeM��
�H���HY G�5��6�#
ʚHZ��%�t#
F�H)Ǒ�L��
�H��&Ҁ�r�AYi@k9�`�3�@�ȑeM��
�H��&Ҁ�r�AYi@k9�`�3�@�ȑeM��
�H��&Ҁ�r�AYi@k9� ��HXW G�5��6�#
ʚHZ��%�t�#
�9#
$]�iP�D��@�4(k"
hm G�5��6�#
�:#
d]�iP�D��@�4(k"
hm G�5��6�#
�:#
d]�iP�D��@�4(k"
hm G�5��6�#
�:#
d]�iP�D��@�4(�4��piP�DP�@�4�4�ur�AYi@k9Ҡ��4���iP�D��@�4�4�ur�AYi@k9Ҡ��4���iP�D��@�4�4�ur�AYi@k9Ҡ��4���iP�D��@�4�4�ub�AIG����H�r&Ҁ�r�AYi@k9�`�3�@�ȑeM��
�H��&Ҁ�r�AYi@k9� ��HXW G�5��6�#
ʚHZȑeM��
�H���HY G�5��6�#
ʚHZȑeM��
�H��&�@��a�A)G����H�r&Ҁ�r��j"ҀϱE�M��a���9�H�G�O�_>Q�a;�%�O��/?������_�_�����?_���Ï�s�ӷ�&(����a>���w�����]�sr�c����x��)`B���2�(3!e�x"�s���&�(3	!e�xb�ك��p�1ʌAHY8���\���q�1��@HY8�e6 �,/@�2R��B9��lm?�p�~�n��ᇱ����0^}aFd,O>n+���c�㽇Qf�A�����(�� e�x�a�z��p<�ʹ��e�x�a��x��p<�0��;HY8^we��,O;�r.;@�8�uef�,�:�2�R�F�A)�sa̚��-��)��0ravd,�8�2#R�'B9�l�7�2�
R��F��)��
��p����نP��(Ǜ
��d������Qf�A���Z�(3� e�x�!�s����N�(3� e�x�a��h��p��0�1� �����:|�m�f�A���0�(�� e�x�a�e��p<�ʹ��e�x�a��c��p<�0�l1HY8^be��,�0�r�0@�8�`e&�,0�2�R��F��)�Ӌ�����X��xwa��]��p<�0�l.HY8\\�\�p㹅ε�[��Ԃ��㡅QfgA�����(3� e�xb!�sa����(3� e�x\a��V��p��0�+HY8�U�\U��q��0�L*HY8Te��,�)�2c
+R��B9��l�(�23
+RG�86$��xAa�P��p<�ʹ��e�x;a��N��p<�0��&HY8^MeF�,O&�r.&@�8�Ke��,�%�2[	R��F��)�3	��+	P6�7F��)�	��>����u�QfA���4B(�2���]�1�Y	�0Ea6d,/"�2�R��B9��lo!�2SR��F�)�+������	�m�uq�\p�0��HY8?e��,/�2�R�gB9W�lo�2�R�F��)�k��؁��é�0f��‚�����́|{��02�������b�7�����Ç��^Ay���y�0�l����o�/_�����6�
�����?|���O��o?�<�����ߟ�����s�����!��^o]���[�1_߲�Q������[Ⱥ���-ʚ׷�����%�oAg���-ʙ׷�����c��o!��׷(k�9hm /t�5�6�G:ʚ�Z�;c�C�.@��(k�:hm �u�5s�6�;ʚ�Zțc���.@��(kv;hm /w�5��6��;ʚ�Z��c��.@��(��A��+%34��<ʙ%J�[a��y��yΣ��󠵁��Q�Lz��@�(kV=hm �z�u{Ⱥ�yڣ��������Q��{��@�(k>hm o|�u�|Ⱥ�y棬�������Q�L}��@�(k�>hm �}�4�r6'?J96?�,�~�3��6��?ʚ�Z��c���.@��(k�?hm /��5 �6�G@ʚZ�; c�C �.@�)k�@hm ���5s �6�AʚEZț c�� �.@�)kvAhm /��5� �6�AJ:�A�,2!R6�'Bʙ�J�+!e�L�
䡐�f)���V�X�X����Bʚ�Zȋ!e�d�
�ѐ�f5���n�X�p����Cʚ�Z��!e�|�
���fA���HX�#"��@�)kvDhm /��5S"�6�DJ:�D�,s�H��yR�������*R�̊��@)k�Ehm o��u��Ⱥ�y^�������0R�L���@)kVFhm u�Ⱥ�yj�������6R�̍��@)kGhm o��u��Ⱥ�yv�������<R�1=Bg�x|��Y����?2�9@"��	��f����
+IY3CBky���Y"����E2�9F"��9��f����"IY3IBky���Y%����K2�9L"��i��f����:IY3OBky���Y(����Q2�9R"����:�K%��T	�
䱒�f����^�X�`���'Kʚ�Zȫ%e�l	�
�ᒲf����vIX��%��@�/)k�Khm /��5&�6�GLʚZ�;&c�C&�.@�2)k�Lhm ���5s&�6�MʚEZ��&#ͨ����Y�R�]*��&�̴	�
�q��G���9�y�~O�p�o:~���-�������i�N�8����/���o?���O?}�������������[[^~��?���~��/_~{�����������������:#�Ü�~�3��3�6�gʚZ�3c�3�.@�(kfhm ��53�6�gʚZ�3c�3�.@�(�6#@��3%34�gʙJ�3a����yF������<#P����@�(kfhm ��u�Ⱥ�yF������<#P����@�(kfhm ��u�Ⱥ�yF������<#P����@�(kfhm ��43r6gJ9f�,��33�6�gʚZ�3c�3�.@�(kfhm ��53�6�gʚZ�3c�3�.@�(kfhm ��53�6�gʚZ�3c�3�.@�(kfhm ��53�6gJ:f�,��23R6�gʙJ�3e͌��
���fF����X猀��gʚZ�3e͌��
���fF����X猀��gʚZ�3e͌��
���fF���@X�3��@�(kfhm ��53�6gJ:f�,��s�H��yF������<#P����@�(kfhm ��u�Ⱥ�yF������<#P����@�(kfhm ��u�Ⱥ�yF������<#P����@�(kfhm ��u�Ⱥ�yF������8#P�1#@g�xF������<#0�9# ����fF���@Y3#@kyF������<#0�9# ����fF���@Y3#@kyF������<#0�9# ����fF���@Y3#@kyF������<#0�9# �����:�3�̌��
���fF����X猀��gʚZ�3e͌��
���fF���@X�3��@�(kfhm ��53�6�gʚZ�3c�3�.@�(kfhm ��53�6�gʚZ�3#͌�����R�*�3�̌��
�]y3|�mF����x8#8~��=)�?M�?�`�fOcF�������~��ӷ�F���/���������?��O���y�[>���o��?����O�����t��׏��=��7��?�-��l����ٻ������ɺ��v�rn��Ѹ���l%���X8����������la����
+���ʚ��hm ��V���Fk�v���v6Zȷ��u��&����ʚ��hm ��V���Fk�v���v6Zȷ��u��&����ʚ��hm ��V���Fk�v���v6Z����4����8�����v6*Ƿ��3��Q�@����������lc���ɺ��v���v6Zȷ��5����@����������lc���ɺ��v���v6Zȷ��5����@����������lc���ɺ��v���v6Zȷ��5����@�����v6:����2��I�8����������le��l�6�og+kng���|;�X��l�.@����������le��l�6�og+kng���|;�X��l�.@����������le��l�6�og+kng���|;[X������v���v6Zȷ��5����@�����v6:Ƿ��s��&����ʚ��hm ��V���Fk�v���v6Zȷ��u��&����ʚ��hm ��V���Fk�v���v6Zȷ��u��&����ʚ��hm ��V���Fk�v���v6Zȷ��u��&����ʚ��hm ��V�q;�����ʙ��(m ��6�y;���og+kng���|;[Ys;�
���ʚ��hm ��6�y;���og+kng���|;[Ys;�
���ʚ��hm ��6�y;���og+kng���|;[Ys;�
���ʚ��hm ��6�y;��og+鸝�����l���l�6�og+kng���|;�X��l�.@����������le��l�6�og+kng���|;[X������v���v6Zȷ��5����@����������lc���ɺ��v���v6Zȷ��5����@����������l#��lr6og+帝�����l���l�6�og_V���9��ٻ�x�px;��9.������v����_���w������s~~9}|��tw}�q&G�?и��?~}{#{y��7�����o�+�x�r�{��_��Ǚ���>�������xǹ��!m������`�����o}<�.����l]��˧pw/����X/��Z��7�
<�^>�Һ��am��֧�����Y�Y�.������Z��7�
<�>��?>I�v���������Gi��ް6�}��g��Gigٺ������YZ��7�
<�^>����κ��am����1�Y�v�����[�/��ix;���(/��Y~�goHx`�|�u;{������/گ�v�����[_Χ�g�
g�e�<�ޟ>~����
k��_A>�os��
k����Q~�goX��L���cxp֜E�
+<�����ngoXx`�|w�u;{�����c8[�v�����[ϗ���6��l]�����ˋ�ngoXx`}:]H�v������ӓ�?z�Y���w���9�9βtX/����ngoXx`�|�wҺ��am����)<�K�v�����[�/ý���l]����p� ����X/�Y~�goXx`�|�u;{������Ӈ�mn�e�<�ޟ��7�q����֧Ӈ�ֺ��am�����hgoX�����1<�o8�,[����1<X�v������� �؎�p�@y���7�q�����[�.������l]���gp������X/��k��ް6���|zx�������M����Y�/x�e�<�n�Wu��V�6����}�lm ���Y��Z��@|_���}�h]���Vg�kek�}��:������Z�u���@,)k�@h]�Pr��E 6�aTr­���a�9G��
�"���"YW ��u���@,9�(���Xr�Qbk���)�ub�YG��
�"���"[�E gE �6�@ʚ"Z ��u���@,9�(���Xr�Qbk�������Q�)�"+�E �E �6�@�:�@lm ��5E �.@,9�(���Xr�Qbk�䬣��bHYSB��"���"[�E gE �6�@�:�@lm ��5E �.@,9�(���Xr�Qbk��[����"�R�"*�E �E �6�@�:�@lm ��u���@,)k�@h]�Xr�Qbk�䬣��b�YG��
�"������E gE �6�@�:�@lm ��u���@,�,�ub�YG��
�"���"[HE '݊@�,��3E �.@,9�(���Xr�Qbk�䬣��bHYSB��"���"[�E gE �6�@�:�@lm ��5E �.@,9�(���Xr�Qbk�䬣��bHYSB��"���"[HE '݊@�,��s�X�@,)k�@h]�Xr�Qbk�䬣��b�YG��
�"������E gE �6�@�:�@lm ��u���@,)k�@h]�Xr�Qbk�䬣��b�YG��
�"�����HE '݊@�,��s�X�@,9�(���XR��к��䬣��b�YG��
�"���"[�E c�E ��@,9�(���Xr�Qbk�䬣��bHYSB��"���"[�E gE �6�@�:�@lm ��t���8*9�Vbe�䜣��b�6��@���T���ϱ{_��������?>|����Zsd+���k���~��/_~�׸<����|������Ah�E��f^d�t�y��y�6��"ʚ�Z�yc�y�.@΋(k�"hm �E�5y�6��"ʚ�Z�y#M^���㼈r&/��r^DY�Ak9/��ɋ����1֙!�伈�&/��r^DY�Ak9/��ɋ�����k^�+��"ʚ�Z�yeM^�
伈�&/��r^�Xg^����"ʚ�Z�yeM^�
ļ����:�y�y�.@΋(k�"hm �E�5y�6��"ʚ�Z�yc�y�.@΋(k�"hm �E�5y�6��"ʚ�Z�yc�y�.@΋(k�"hm �E�5y�6��"ʚ�Z�yc�y�.@΋(k�"hm �E�t�E�Y8΋(g�"(m �E�u�EȺ�9/��ɋ����Q��E��@΋(k�"hm �E�u�EȺ�9/��ɋ����Q��E��@΋(k�"hm �E�u�EȺ�9/��ɋ����Q��E��@΋(k�"hm �E�u�EȺ�)/��[^�{�E�p�E�X8΋(g�"(m �E����
+伈�&/��r^DY�Ak9/��ɋ����1֙!�伈�&/��r^DY�Ak9/��ɋ����1֙!�伈�&/��r^DY�Ak9/��ɋ����1��E��8̋(�ȋ��p�Q��EP�@΋(k�"hm �E�u�EȺ�9/��ɋ����Q��E��@΋(k�"hm �E�u�EȺ�9/��ɋ����Q��E��@΋(k�"hm �E�u�EȺ�9/��ɋ����Q��E��@̋(�ȋ��p�1��EH�8΋(g�"(m �E�5y�6��"ʚ�Z�yc�y�.@΋(k�"hm �E�5y�6��"ʚ�Z�yc�y�.@΋(k�"hm �E�5y�6��"ʚ�Z�ya��E��9/��ɋ����Q��E��@̋(�ȋ��p�1Ι!�伈�&/��r^DY�Ak9/��ɋ����1֙!�伈�&/��r^DY�Ak9/��ɋ����1֙!�伈�&/��r^DY�Ak9/��ɋ����1֙!�伈�&/��b^DIG^��㼈r&/��r^�Xg^����"ʚ�Z�yeM^�
伈�&/��r^�Xg^����"ʚ�Z�yeM^�
伈�&/��r^�Xg^����"ʚ�Z�yeM^�
伈�&/��r^�Xg^���"J:�"�,�E�3y�6��"ʚ�Z�yc�y�.@΋(k�"hm �E�5y�6��"ʚ�Z�ya��E��9/��ɋ����Q��E��@΋(k�"hm �E�u�EȺ�9/��ɋ����Q��E��@΋(k�"hm �E�4yr6�"J9�"�,�E�3y�6��"�������"���q^��9vy���b1/�t>=b\���--r7�"����O�>o�i����ǿ���g��������ޛ�>����o������p�J�8����ǃ��`Nz�+OI�/CR��a<"�LH����|T�2����۾9=��'�—�(��0�
+_�����x&*|��o��mߜ��
+��P��0|{�B�/�P��a<��A������o�@�}�	��e�
+�=ǟB7��`ۡx�)l}�n���mߜ{�
+�SO���|{�<�/O��a<���;�����o�:�}�I��e�	�=�ǜ—)'��0�q
+_F����x�y�7�Ǿ��tS�2��ƣM��d|{�5�/cM��a<Լ�3�c_�h�)l�@\W�3�jL3��C�,S�2��ƃ̛�����0�b
+_�����x�)|�`�o����e|	�=����}svy�+O.�/�K��a<��L-�����R�2����۾9�<����—a%��0U
+_&����xN)|S�o�!�m]f�Ƕ=
+'�B6� ۡx<)l�N�n�٤�e4	�=���}s.y�+O%�/CI��a<��L$����<R�2�����۾9�<��'�—A$��0C
+_�����x)|A�o��mߜ?�
+��G���|{��/�G��a8w�1v��C�۲��e{O�-G��a<n�L����Q�2j�ƃ�۾9g<����—!#��01
+_&����x�(|/�o���mߜ-�
+ƓE��`|{��/SE��a<S������@��:O<�5���—a"��0%
+_&����p�(tc������ms�x�+O�/D��a<>�L�����P�2:�ƃ�۾97<����—�!��0
+_&����x^(|�o�a�mߜ�
+ƓB�ˠ|{�	�/SB��a<#�������o��}���e8�=G�B7&�`ۡx.(l�n��mߜ	�
+�A��@|{��/�@��a<������ �o��}�)��e�=�G�—	 ��0��	_����x�w�7gǾ���O�2���c?���|{���/#?��a<���c_�p�'tc���G}–I��0��	_�|���x�w�7g|Ǿ��O�2����=��t|{���/�=��a<ػ���}
㩞�e��=�Gz—���0��	_�y���x�w�7gyǾ��$O�2���c<��|{���/#<��a8������ضG��N���d;��-�;��a<�;^���<�6��nێ�vGO���n���u[���C�qd��ݏ�ݿ��ӷ����'_�m�ܽ��ޗ�ߞ��޾���������s�y��sw|��ܷ��%����*kޟ����s�5��Ek���ʚ�碵���\a��?�+�ߟ��y.Z���Uּ?�
���*kޟ����s�u�?���ߟ��y.Z���Uּ?�
���*�:��p<w6�9x&��ѳ�f�����YY3~Fky����@���<�6�9�&��1��f���$ZY3�Fky���F���<�6�9�&�䑴�f&���TZY3�Fky0���L���<�6�9�&���f>���ZILj���!�rfJ����X砚��G�ʚY5Z��je͸�
䁵�fb�����X�К����ʚ�5Zȓke���
�ᵲfz�����X�����G�ʚ6Z�Sle��
�A��f����,�X�0�����ʹͳѸ��D[	�H��㡶rf����\[X��m��@m+kf�hm O��5�m�6��ʚ	7Z�3nc�Cn�.@s+k��hm O��5�n�6���ʚi7Z��nc�o�.@y+kf�hm O��5co�6��ʚ�7Z��o#�𛜍��R��7*�p���
�!��f
+����X� ���G�ʚY8Z��pe�8�
䁸�f"���L�X�P�����ʚ�8Zȓqe�h�
�Ḳf:���|�X瀜��G�ʚ9Z�Sre͘�
�A���I9:��r�̰����q�rf^����\Y32Gkyh�������<77�98'��ѹ�fv����\Y3>Gky��������<C7�9D'��1��f����$]Y3JGky��������<O��@�+�G�ʚ�:Z�Sue�X�
������::dzu��u�.@�+k��hm Oؕ5#v�6���ʚ);Z�svc��v�.@�+kf�hm Oە5�v�6��ʚ�;Z�3wc�Cw�.@�+k��hm Oޕ5�w�6���ʚ�;Z��wc�x�.@�+kf�hm N�t���Y8�+g&�(m ��u�ɺ�y���ǣ��<�W֌���@�+k��hm ��u�ɺ�y4���ͣ��<�W֌���@�+k&�hm ��u�ɺ�yL���ӣ��<�W֌���@�+k��hm ��u�ɺ�qd��cf�����^93�Giyp���ܣ��<�7�9�'���f~���_Y3�Gky����⣵�<��� �+�G�ʚY>Z��|e�8�
䁾�f����L�X�P�����ʚ�>Zȓ}e�h�
�ᾲf����|�H3�'g�pį�cƏ���_93�Giy�<LW�~|�mԿ�������{�����0h�?�l���1���/�6ޠ����O�����M���W�W�ہ����������}��ǣ���w�6�G�ʚ�;Zȣwa�����y�������<zW֌���@�+kF�hm �ލu��ɺ�y�������<zW֌���@�+����p<z7�9z'��ѻ�f����]Y3zGky�������<z7�9z'��ѻ�f����]Y3zGky�������<z7�9z'��ѻ�f����]Y3zGky�������<z7�9z'��ѻ�f����]I�����ѻrf�����X�蝬�G�ʚ�;Zȣwe���
�ѻ�f�����X�蝬�G�ʚ�;Zȣwe���
�ѻ�f�����X�蝬�G�ʚ�;Zȣwe���
�ѻ�f�����X�蝬�F�ʹ��Ѹ���]	�����ѻrf����]X��w��@�+kF�hm �ޕ5�w�6�G�ʚ�;Zȣwc��w�.@�+kF�hm �ޕ5�w�6�G�ʚ�;Zȣwc��w�.@�+kF�hm �ޕ5�w�6�G�ʚ�;Z��w#�蝜��ѻR��;*ǣw����
�ѻ�f�����X�蝬�G�ʚ�;Zȣwe���
�ѻ�f�����X�蝬�G�ʚ�;Zȣwe���
�ѻ�f�����X�蝬�G�ʚ�;Zȣwe���
�ѻ���;:��w��蝔��ѻrf����]Y3zGky�������<z7�9z'��ѻ�f����]Y3zGky�������<z7�9z'��ѻ�f����]Y3zGky�������<z����+�G�ʚ�;Zȣwe���
�ѻ���;:ǣw㜣w�.@�+kF�hm �ޕ5�w�6�G�ʚ�;Zȣwc��w�.@�+kF�hm �ޕ5�w�6�G�ʚ�;Zȣwc��w�.@�+kF�hm �ޕ5�w�6�G�ʚ�;Zȣwc��w�.@�+kF�hm �ޕt���Y8�+gF�(m �ލu��ɺ�y�������<zW֌���@�+kF�hm �ލu��ɺ�y�������<zW֌���@�+kF�hm �ލu��ɺ�y�������<zW֌���@�+kF�hm �ލu��ɺ�q���c�����]93zGiy�������<z7�9z'��ѻ�f����]Y3zGky�������<z����+�G�ʚ�;Zȣwe���
�ѻ�f�����X�蝬�G�ʚ�;Zȣwe���
�ѻ�f�����H3z'g�p���c�����]93zGiy�~<�V�w|�m��ߘ��ޏ��{���+������qd�?���>�����۟���_���׷���0_V���.���y�<<�|���i�_*��A`_���^Y��Gky_���ף�������+���ʚ}=Z��ze;�
�}��f_����X羞����ʚ}=Z��ze;�
�}���}=:��z��z�.@��+k��hm ��5�z�6���ʚ}=Z��zc��z�.@��+k��hm ��5�z�6���ʚ}=Z��zc��z�.@��+k��hm ��5�z�6���ʚ}=Z��zc��z�.@��+k��hm ��t���Y8��+g��(m ��u��ɺ�y_���ף����W�����@��+k��hm ��u��ɺ�y_���ף����W�����@��+k��hm ��u��ɺ�y_���ף����W�����@��+k��hm ��u��ɺ�i_��۾�{��p���X8��+g��(m ������
+�}��f_���^Y��Gky_���ף����7ֹ�'��}��f_���^Y��Gky_���ף����7ֹ�'��}��f_���^Y��Gky_���ף����7�����8��+��ף�p��W���Q�@��+k��hm ��u��ɺ�y_���ף����W�����@��+k��hm ��u��ɺ�y_���ף����W�����@��+k��hm ��u��ɺ�y_���ף����W�����@��+��ף�p��7���I�8��+g��(m ��5�z�6���ʚ}=Z��zc��z�.@��+k��hm ��5�z�6���ʚ}=Z��zc��z�.@��+k��hm ��5�z�6���ʚ}=Z��za�����y_���ף����W�����@��+��ף�p��7ι�'��}��f_���^Y��Gky_���ף����7ֹ�'��}��f_���^Y��Gky_���ף����7ֹ�'��}��f_���^Y��Gky_���ף����7ֹ�'��}��f_���^IǾ���}�rf_����X羞����ʚ}=Z��ze;�
�}��f_����X羞����ʚ}=Z��ze;�
�}��f_����X羞����ʚ}=Z��ze;�
�}��f_����X羞���J:���,��3�z�6���ʚ}=Z��zc��z�.@��+k��hm ��5�z�6���ʚ}=Z��za�����y_���ף����W�����@��+k��hm ��u��ɺ�y_���ף����W�����@��+k��hm ��4�zr6��J9���,��3�z�6����q��������9�����9����x��Z����ȶ�:]_?�.�뷷������׿��G�<�ǻ�E�������������ޮ��N�����v���������me��ް6�}���t��ۖ�:βuX�O��ֺ��am�����'i��ް6���|z~�mKe��ް6�}�����(��,[����1�޶Q���
k������-�u;{�����c�����
k߷>_>�;'ݎ��q��gp>K�v������g��Z��7�
<�>�>�د�v����Y��y1��!��p��&��r8FY�Ak9��	Ǡ����k8�+��1ʚpZ��eM8�
�p��&��r8�Xg8����1ʚpZ��eM8�
�p���p:�����.@�(k�1hm �c�5��6��1ʚpZ��c���.@�(k�1hm �c�5��6��1ʚpZ��c���.@�(k�1hm �c�5��6��1ʚpZ��c���.@�(k�1hm �c�t�c�Y8�(g�1(m �c�u�cȺ�9��	Ǡ���Qքc��@�(k�1hm �c�u�cȺ�9��	Ǡ���Qքc��@�(k�1hm �c�u�cȺ�9��	Ǡ���Qքc��@�(k�1hm �c�u�cȺ�)��[8�{�c�p�c�X8�(g�1(m �c����
+�p��&��r8FY�Ak9��	Ǡ���1��!��p��&��r8FY�Ak9��	Ǡ���1��!��p��&��r8FY�Ak9��	Ǡ���1҄c��8�(�Ǡ�p�Q΄cP�@�(k�1hm �c�u�cȺ�9��	Ǡ���Qքc��@�(k�1hm �c�u�cȺ�9��	Ǡ���Qքc��@�(k�1hm �c�u�cȺ�9��	Ǡ���Qքc��@�(�Ǡ�p�1ʄcH�8�(g�1(m �c�5��6��1ʚpZ��c���.@�(k�1hm �c�5��6��1ʚpZ��c���.@�(k�1hm �c�5��6��1ʚpZ��a��c��9��	Ǡ���Qքc��@�(�Ǡ�p�1��!��p��&��r8FY�Ak9��	Ǡ���1��!��p��&��r8FY�Ak9��	Ǡ���1��!��p��&��r8FY�Ak9��	Ǡ���1��!��p��&��b8FIG8���p�r&��r8�Xg8����1ʚpZ��eM8�
�p��&��r8�Xg8����1ʚpZ��eM8�
�p��&��r8�Xg8����1ʚpZ��eM8�
�p��&��r8�Xg8���1J:�1�,�c�3��6��1ʚpZ��c���.@�(k�1hm �c�5��6��1ʚpZ��a��c��9��	Ǡ���Qքc��@�(k�1hm �c�u�cȺ�9��	Ǡ���Qքc��@�(k�1hm �c�4�r6�1J9�1�,�c�3��6��1�%�����1�N��a8��9�p��c^�.���n�8�ec>�l���ӗ��	�w�1�#wt��Q0��@�lc�
+I�'`I�GM�f��}�9�z����������#=acj���3�랒&���h�d��3���L��9b&S2�	�5G�dI�Dɞ#c2%��0Ys4L�d&k��ɔ�_�d�I/Y��K�1�%S0r	�5G�dJ�-a�或Lɘ%L�Œ%y�%{�\ɔ�V�d��*���J��9B%S2N	�5G�dHޑ$�H�L�%L�}�)��ɚ#N2%c�0Ys�I��I��9�$S2*	�5G�dJ�$a���LśG��u��<��=G�dJF"a���L�0$L��)��ɚ�@�$@�dϑ���G��9�#S2��5GxdJ�a�樎,Ƀ�(�s$G�d�&k��Ȕ7�d����F��9J#K�@#J���)e�ɚ�12o���1#S0��5G]dI\Dɞ#-2%#�0YstE�dX&k��Ȕ�)�d�QY�Q��ȉL�h"L�-�)J�ɚ#$2%�0YsTD��AD��9"S2��5G?dJ�a�戇L��!L��%y�%{l��VC��L��j72�����)/�Ś�2$�X�s�B�d�&k�NȔ�d�	��1B��9
+!K��!J�y�)�ɚ�
2%C�0Ys�A�d\&k�*Ȓ<(��=GdJFa���L�p L�1�)�ɚ���(Xcb@��Ma�:Fd
+��a���L��L���%y�%{��ǔ���d�����a?��9�S2��5G�cI�Cɞ#�1%�}0Ys�>�d�&k��ǔ���d�Q�X��P��H|L�L�}�)ރɚ�1o���1�K/��z5F�c
+F�`��hzLɐL�A�)σɚ��$�dϑ򘒑<��9:S2��5G�cJ��`��(x,�x(�s�;�d�&k�vǔ��d�q;��9�C�v �0G�cJF�`���uL�pL֜���x�:��Q�X��P���tL�(L���)��ɚ#�1%�s0Ys�9���9��9�S22�5G�cJ��`��rLɘL�E�%y@%{�ǔ���d��☒�8��9BS2�5G�cI�Cɞ#�1%#p0Ys�7���`�:F|c
+��`��(o,�o(�sd7�d�
&k��Ɣ��d�ܘ��6��9jK�`J���)i�ɚ��1%�l0YsD6�d�
&k��ƒ<���=G^cJF�`��hkL��L�a�)W�ɚ���$��dωԘ�7Q���=�)N�Ś#�1%ci0Ys�4��4��92S2��5GCcJ��`��hL��L���!y�3�|�#�1%#g0Yst3�d�&k�hƔ���d�Q�X��P���eL�hL���)*�ɚ#�1%�d0YsR2�b�kLD�Ի	�]��cL��,�q����bc���G��S����ο?_���z�zy��,��g�^_����J���v�����5������#_�|||<��g���ϝ�endstream
+endobj
+1022 0 obj <<
+/Type /Page
+/Contents 1023 0 R
+/Resources 1021 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1014 0 R
+/Annots [ 1025 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R 1054 0 R 1055 0 R 1056 0 R 1057 0 R 1058 0 R 1059 0 R 1060 0 R 1061 0 R 1062 0 R 1063 0 R 1064 0 R 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R ]
+>> endobj
+1025 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 679.836 158.096 686.82]
+/Subtype /Link
+/A << /S /GoTo /D (about) >>
+>> endobj
+1028 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [533.001 679.836 537.983 686.82]
+/Subtype /Link
+/A << /S /GoTo /D (about) >>
+>> endobj
+1029 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 662.456 203.466 671.367]
+/Subtype /Link
+/A << /S /GoTo /D (copyright) >>
+>> endobj
+1030 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [533.001 662.456 537.983 671.367]
+/Subtype /Link
+/A << /S /GoTo /D (copyright) >>
+>> endobj
+1031 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 651.562 156.791 658.416]
+/Subtype /Link
+/A << /S /GoTo /D (disclaimer) >>
+>> endobj
+1032 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [533.001 651.562 537.983 658.416]
+/Subtype /Link
+/A << /S /GoTo /D (disclaimer) >>
+>> endobj
+1033 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 638.61 168.438 645.465]
+/Subtype /Link
+/A << /S /GoTo /D (newversions) >>
+>> endobj
+1034 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [533.001 638.61 537.983 645.465]
+/Subtype /Link
+/A << /S /GoTo /D (newversions) >>
+>> endobj
+1035 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 625.659 141.858 632.513]
+/Subtype /Link
+/A << /S /GoTo /D (credits) >>
+>> endobj
+1036 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [533.001 625.659 537.983 632.513]
+/Subtype /Link
+/A << /S /GoTo /D (credits) >>
+>> endobj
+1037 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 612.708 206.894 619.562]
+/Subtype /Link
+/A << /S /GoTo /D (conventions) >>
+>> endobj
+1038 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [533.001 612.708 537.983 619.562]
+/Subtype /Link
+/A << /S /GoTo /D (conventions) >>
+>> endobj
+1039 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 595.442 159.481 604.329]
+/Subtype /Link
+/A << /S /GoTo /D (installing-bugzilla) >>
+>> endobj
+1040 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [533.001 595.442 537.983 604.329]
+/Subtype /Link
+/A << /S /GoTo /D (installing-bugzilla) >>
+>> endobj
+1041 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 582.023 157.907 588.877]
+/Subtype /Link
+/A << /S /GoTo /D (installation) >>
+>> endobj
+1042 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [533.001 582.023 537.983 588.877]
+/Subtype /Link
+/A << /S /GoTo /D (installation) >>
+>> endobj
+1043 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 567.014 168.428 575.925]
+/Subtype /Link
+/A << /S /GoTo /D (configuration) >>
+>> endobj
+1044 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [533.001 567.014 537.983 575.925]
+/Subtype /Link
+/A << /S /GoTo /D (configuration) >>
+>> endobj
+1045 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 554.062 250.898 562.974]
+/Subtype /Link
+/A << /S /GoTo /D (extraconfig) >>
+>> endobj
+1046 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 554.062 537.983 562.974]
+/Subtype /Link
+/A << /S /GoTo /D (extraconfig) >>
+>> endobj
+1047 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 541.111 234.28 550.022]
+/Subtype /Link
+/A << /S /GoTo /D (os-specific) >>
+>> endobj
+1048 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 541.111 537.983 550.022]
+/Subtype /Link
+/A << /S /GoTo /D (os-specific) >>
+>> endobj
+1049 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 528.533 254.464 537.071]
+/Subtype /Link
+/A << /S /GoTo /D (nonroot) >>
+>> endobj
+1050 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 528.533 537.983 537.071]
+/Subtype /Link
+/A << /S /GoTo /D (nonroot) >>
+>> endobj
+1051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 512.952 180.502 521.838]
+/Subtype /Link
+/A << /S /GoTo /D (administration) >>
+>> endobj
+1052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 512.952 537.983 521.838]
+/Subtype /Link
+/A << /S /GoTo /D (administration) >>
+>> endobj
+1053 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 497.475 204.681 506.386]
+/Subtype /Link
+/A << /S /GoTo /D (parameters) >>
+>> endobj
+1054 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 497.475 537.983 506.386]
+/Subtype /Link
+/A << /S /GoTo /D (parameters) >>
+>> endobj
+1055 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 486.581 194.709 493.435]
+/Subtype /Link
+/A << /S /GoTo /D (useradmin) >>
+>> endobj
+1056 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 486.581 537.983 493.435]
+/Subtype /Link
+/A << /S /GoTo /D (useradmin) >>
+>> endobj
+1057 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 473.51 147.945 480.483]
+/Subtype /Link
+/A << /S /GoTo /D (products) >>
+>> endobj
+1058 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 473.51 537.983 480.483]
+/Subtype /Link
+/A << /S /GoTo /D (products) >>
+>> endobj
+1059 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 458.62 163.447 467.532]
+/Subtype /Link
+/A << /S /GoTo /D (components) >>
+>> endobj
+1060 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 458.62 537.983 467.532]
+/Subtype /Link
+/A << /S /GoTo /D (components) >>
+>> endobj
+1061 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 447.726 147.387 454.58]
+/Subtype /Link
+/A << /S /GoTo /D (versions) >>
+>> endobj
+1062 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 447.726 537.983 454.58]
+/Subtype /Link
+/A << /S /GoTo /D (versions) >>
+>> endobj
+1063 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 434.775 156.801 441.629]
+/Subtype /Link
+/A << /S /GoTo /D (milestones) >>
+>> endobj
+1064 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 434.775 537.983 441.629]
+/Subtype /Link
+/A << /S /GoTo /D (milestones) >>
+>> endobj
+1065 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 419.766 134.665 428.678]
+/Subtype /Link
+/A << /S /GoTo /D (flags-overview) >>
+>> endobj
+1066 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 419.766 537.983 428.678]
+/Subtype /Link
+/A << /S /GoTo /D (flags-overview) >>
+>> endobj
+1067 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 406.815 139.467 415.726]
+/Subtype /Link
+/A << /S /GoTo /D (voting) >>
+>> endobj
+1068 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 406.815 537.983 415.726]
+/Subtype /Link
+/A << /S /GoTo /D (voting) >>
+>> endobj
+1069 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 393.863 136.876 402.775]
+/Subtype /Link
+/A << /S /GoTo /D (quips) >>
+>> endobj
+1070 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 393.863 537.983 402.775]
+/Subtype /Link
+/A << /S /GoTo /D (quips) >>
+>> endobj
+1071 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 380.912 227.905 389.823]
+/Subtype /Link
+/A << /S /GoTo /D (groups) >>
+>> endobj
+1072 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 380.912 537.983 389.823]
+/Subtype /Link
+/A << /S /GoTo /D (groups) >>
+>> endobj
+1073 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 367.96 229.309 376.872]
+/Subtype /Link
+/A << /S /GoTo /D (upgrading) >>
+>> endobj
+1074 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 367.96 537.983 376.872]
+/Subtype /Link
+/A << /S /GoTo /D (upgrading) >>
+>> endobj
+1075 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 352.752 154.48 361.639]
+/Subtype /Link
+/A << /S /GoTo /D (security) >>
+>> endobj
+1076 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 352.752 537.983 361.639]
+/Subtype /Link
+/A << /S /GoTo /D (security) >>
+>> endobj
+1077 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 337.275 184.746 346.187]
+/Subtype /Link
+/A << /S /GoTo /D (security-os) >>
+>> endobj
+1078 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 337.275 537.983 346.187]
+/Subtype /Link
+/A << /S /GoTo /D (security-os) >>
+>> endobj
+1079 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 324.324 145.733 333.235]
+/Subtype /Link
+/A << /S /GoTo /D (security-mysql) >>
+>> endobj
+1080 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 324.324 537.983 333.235]
+/Subtype /Link
+/A << /S /GoTo /D (security-mysql) >>
+>> endobj
+1081 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 313.43 155.277 320.284]
+/Subtype /Link
+/A << /S /GoTo /D (security-webserver) >>
+>> endobj
+1082 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 313.43 537.983 320.284]
+/Subtype /Link
+/A << /S /GoTo /D (security-webserver) >>
+>> endobj
+1083 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 298.421 146.839 307.333]
+/Subtype /Link
+/A << /S /GoTo /D (security-bugzilla) >>
+>> endobj
+1084 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 298.421 537.983 307.333]
+/Subtype /Link
+/A << /S /GoTo /D (security-bugzilla) >>
+>> endobj
+1085 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 283.213 172.203 292.1]
+/Subtype /Link
+/A << /S /GoTo /D (customization) >>
+>> endobj
+1086 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 283.213 537.983 292.1]
+/Subtype /Link
+/A << /S /GoTo /D (customization) >>
+>> endobj
+1087 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 267.736 210.619 276.648]
+/Subtype /Link
+/A << /S /GoTo /D (cust-templates) >>
+>> endobj
+1088 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 267.736 537.983 276.648]
+/Subtype /Link
+/A << /S /GoTo /D (cust-templates) >>
+>> endobj
+1089 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 254.785 178.51 263.696]
+/Subtype /Link
+/A << /S /GoTo /D (cust-hooks) >>
+>> endobj
+1090 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 254.785 537.983 263.696]
+/Subtype /Link
+/A << /S /GoTo /D (cust-hooks) >>
+>> endobj
+1091 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 241.833 261.398 250.745]
+/Subtype /Link
+/A << /S /GoTo /D (cust-change-permissions) >>
+>> endobj
+1092 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 241.833 537.983 250.745]
+/Subtype /Link
+/A << /S /GoTo /D (cust-change-permissions) >>
+>> endobj
+1093 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 228.882 246.206 237.793]
+/Subtype /Link
+/A << /S /GoTo /D (dbmodify) >>
+>> endobj
+1094 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 228.882 537.983 237.793]
+/Subtype /Link
+/A << /S /GoTo /D (dbmodify) >>
+>> endobj
+1095 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 215.931 272.736 224.842]
+/Subtype /Link
+/A << /S /GoTo /D (dbdoc) >>
+>> endobj
+1096 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 215.931 537.983 224.842]
+/Subtype /Link
+/A << /S /GoTo /D (dbdoc) >>
+>> endobj
+1097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 202.979 286.315 211.89]
+/Subtype /Link
+/A << /S /GoTo /D (integration) >>
+>> endobj
+1098 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 202.979 537.983 211.89]
+/Subtype /Link
+/A << /S /GoTo /D (integration) >>
+>> endobj
+1099 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 187.771 143.421 196.658]
+/Subtype /Link
+/A << /S /GoTo /D (using) >>
+>> endobj
+1100 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 187.771 537.983 196.658]
+/Subtype /Link
+/A << /S /GoTo /D (using) >>
+>> endobj
+1101 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 174.351 162.331 181.206]
+/Subtype /Link
+/A << /S /GoTo /D (using-intro) >>
+>> endobj
+1102 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 174.351 537.983 181.206]
+/Subtype /Link
+/A << /S /GoTo /D (using-intro) >>
+>> endobj
+1103 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 159.343 218.489 168.254]
+/Subtype /Link
+/A << /S /GoTo /D (myaccount) >>
+>> endobj
+1104 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 159.343 537.983 168.254]
+/Subtype /Link
+/A << /S /GoTo /D (myaccount) >>
+>> endobj
+1105 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 146.391 186.958 155.303]
+/Subtype /Link
+/A << /S /GoTo /D (bug_page) >>
+>> endobj
+1106 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 146.391 537.983 155.303]
+/Subtype /Link
+/A << /S /GoTo /D (bug_page) >>
+>> endobj
+1107 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 133.44 192.209 142.351]
+/Subtype /Link
+/A << /S /GoTo /D (lifecycle) >>
+>> endobj
+1108 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 133.44 537.983 142.351]
+/Subtype /Link
+/A << /S /GoTo /D (lifecycle) >>
+>> endobj
+1109 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 120.488 189.997 129.4]
+/Subtype /Link
+/A << /S /GoTo /D (query) >>
+>> endobj
+1110 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 120.488 537.983 129.4]
+/Subtype /Link
+/A << /S /GoTo /D (query) >>
+>> endobj
+1111 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 107.537 151.551 116.448]
+/Subtype /Link
+/A << /S /GoTo /D (list) >>
+>> endobj
+1112 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 107.537 537.983 116.448]
+/Subtype /Link
+/A << /S /GoTo /D (list) >>
+>> endobj
+1113 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 94.586 159.86 103.497]
+/Subtype /Link
+/A << /S /GoTo /D (bugreports) >>
+>> endobj
+1114 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 94.586 537.983 103.497]
+/Subtype /Link
+/A << /S /GoTo /D (bugreports) >>
+>> endobj
+1024 0 obj <<
+/D [1022 0 R /XYZ 71.731 729.265 null]
+>> endobj
+6 0 obj <<
+/D [1022 0 R /XYZ 244.332 703.236 null]
+>> endobj
+1021 0 obj <<
+/Font << /F23 1013 0 R /F32 1027 0 R /F27 1020 0 R /F33 1116 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1163 0 obj <<
+/Length 48578     
+/Filter /FlateDecode
+>>
+stream
+xڜ�[�dg~��{~
+���f������A��ЁG�pXGМA��{�)��{W�w���v�g?�������FP��V���Y����������������w����n�������?;�'�N����o_�/�����t����/noNϷ��<ߟ���x�<{����������o�{>=?\���?7��#����z�pz:������w���|���/��~������ͻ?�����z������;/��f�~�ͯ�f�/�w~A/��/��j��ۗ{���<�����+���ځ�����Ku<����^NOwOR]�=P;pG]ކ˳T�g��Q���֪�j^W����֡�lv����4�g��Q���ƪ�j�O��g��w}�@������t�tq�x��)pG����>{�v����y�����ځ;��6��Ku}�@�������6�95Ϣ:���py����ځ;��6�>Ju}�@��uy�V]�=P;�z^ކ�c.ϲ:���T�g��QN�'������>��௏�w��=����q�x��)pG]ރ������.����T�g��Q�w��"��������m�Hu<����.o��T�g��Q���,��g��Q���ƪ�j^W�Χ�g�cn<����^N�O��x�@��u���G������>���_�dzj^W�^��ϲ:���pg����w��m��X=0+n�\ރ���3�=@;�����Rϲ:��{p�?�Ƴj�˻pc����wԧ�ݳ�17�=P;��xsz~��ϲ:�ݣU�g��Q��叹��ځ;��6��s�����O��p'��,�S����
�cn<{�v����
����x�@��uy�V]�=P;����
7���x��)pG]�i�<y �
���O�Y�GĊ�!���I����xU��ܜ�ݏ�<����^N�������.���E��j�����������m�Hu<����.o���T�g��Q���� ����w�忼����ځ��ۛ����gY�w��i�� ����w����U�g��Q�N��R]�=P;�zY��?��Q6;n�\������Yq;��ܝ��>{�v�����#�<{�v�u�nyn�:�eu
+�Q�w�,ƍg��Q��A�k�<{�v���t:?[u}�@��������I�y3�eu
+�Q/����x�@������`����w��m��'y�@������6�˓<����.o�Ū�j��� /O��ځ;��6ȿ ���w�|\���f}�Ɏ�!�7�ƚ�h���{yv�g��Q�N7OV]�=P;��ts��g'y��)pG��n��I�=P;pG]ކ{������.o�<;ɳj^W����"��,�S����
��g�x�@��uy��I�=P;pG]ކ����xU���9�=��qy�9pG�==���g��Q�Ow�V]�=P;pG}<�)0=0+�:y^���5�2:��{po����w��=������ځ;��.ȳ�<{�v�u�vyn�:�eu
+�Q���|'����w��m�g'y�@������l�������������˳�N�;���I�����w�������j���p/̍g���ޭ%��gY�w��m�Xu}�@��uy�_��G̊�!��@���������{ y��)pG]�yv�g��Q�O���$����>����>{�v�u���t+�N�,�S��z{z�g'y�@��uy>{�v����
��$��x]}\�yv�gY�w��m�����ځ;��6ȳ�<{�v����
��$��x]}�9�ea"ϲ:��~}������t��'y��������h��������{ �O�,�S������$����.oÝU�g��Q��A�������7�� ?�γ�΁;��6���>{�v����
��$����>���gʳj^W�7�Y�ȳ�N�;���^����w���̓U�g��Q��A&��ځ����m�⬏��q;���I��d��� �y����uy���nW��+�����O��������7���xz���Y�.|�W�����������?�Ⱥ��<�?�ݏ��y���X�7�/��~���W�/��*���t{��?�
d��^lz�jwg)����Y
+V;g)�:f)X�@��P蘥@��p�™c����Y
+��Y
+V;g)�:f)X�@��Pjf)P�q�©c����Y
+��Y
+V;g)�:f)X�@��0�6KA���N��v �R8u�R�ځ8K��1K�j�,�R3K����N��v �R8u�R�ځ4K��u��͊�Y
+ef��)g)�:f)X�@��p꘥`�q�©c����Y
+�f��)g)�:f)X�@��p꘥`�q�©c����Y
+�f��)g)�:f)X�@��p꘥`�q�©c����Y
+�f��)g)�:f)X�@��p�:K�f��,�3�,���J�,�S �R8u�R�ځ8K��1K�j�,�S�,���J�,�S �R8u�R�ځ8K��1K�j�,�S�,���J�,�S �R8u�R�ځ8K��1K�j�,�S�,���J�,�S �R8��,�o�h��,������v �Ru�� u�Y
+��Y
+V;g)�:f)X�@��p꘥`�q�B���@u
+�Y
+��Y
+V;g)�:f)X�@��p꘥`�q�B���@u
+�Y
+��Y
+V;g)�:f)X�@��p꘥`�i�B�c�͎�Y
+G��LV�R8s�R0ځ8K��1K�j�,�R3K����N��v �R8u�R�ځ8K��1K�j�,�R3K����N��v �R8u�R�ځ8K��1K�j�,�R3K����N��v �R8u�R�ځ4K��u��͊�Y
+E�Y
+$;g)�9f)�@��p꘥`�q�©c����Y
+�f��)g)�:f)X�@��p꘥`�q�©c����Y
+�f��)g)�:f)X�@��p꘥`�q�©c����Y
+�n��΁8K��1K�j�,�S�,�H�]g)ج8��Pff)�q�©c����Y
+��Y
+V;g)�:f)X�@��Pjf)P�q�©c����Y
+��Y
+V;g)�:f)X�@��Pjf)P�q�©c����Y
+��Y
+V;g)�:f)X�@��Pjf)P�q�©c����Y
+���lV�R8s�R0ځ8K���R�:�,�S�,���N��v �R8u�R�ځ8K���R�:�,�S�,���N��v �R8u�R�ځ8K���R�:�,�S�,���N��v �R8u�R�ځ8K���R�:�,�C�Y
+6+g)�9f)�@��p꘥`�q�B���@u
+�Y
+��Y
+V;g)�:f)X�@��p꘥`�q�¨�,�s �R8u�R�ځ8K��1K�j�,�S�,���J�,�S �R8u�R�ځ8K��1K�j�,�S�,�H�
+�hv�R8r��`��p�™c����Y
+XV0��:�>S+�{��:�Y�3�R,/sww�Y���:K����nP���?����?���?�������X������+s����� Ŷ"�/s[x�:�W�}!�"�j�Q�R�@^PjVP�@^PjVP�@^PjVP�@^����s �(5+�v �(5+�v �(5+�v �u[ u
+��fE����fE�����4+�W���:�R�"�j�R�"�j�R�"�j�Q�R�@^PjVP�@^PjVP�@^PjVP�@^0�"@��+J͊���+J͊���+J͊���+F�VH�yE@�Y@�qE@�cE�͊�efE����n+�N��"�Ԭ�ځ�"�Ԭ�ځ�"�Ԭ�ځ�"`�mE��)�W��T;�W��T;�W��T;�W����:�R�"�j�R�"�j�R�"�j�Q�R�@ZP�"���0\P�X@��xE@�Y@�yE@��+�΁�"�Ԭ�ځ�"�Ԭ�ځ�"�Ԭ�ځ�"`�mE��)�W��T;�W��T;�W��T;�W����:�R�"�j�R�"�j�R�"�j⊀A�"@f�ኀ"NJ���+�̊���+J͊���+F�VH�yE@�Y@�yE@�Y@�yE@�Y@�yE��ۊ��S �(5+�v �(5+�v �(5+�v �u[ u
+��fE����fE�����4+W�";�W��D;�W��T;�W��T;�W����:�R�"�j�R�"�j�R�"�j�Q�R�@^PjVP�@^PjVP�@^PjVP�@^����s �(5+�v �(5+�v �(t��Yq�"`�mE��)�W��T;�W��T;�W��T;�W����:�R�"�j�R�"�j�R�"�j�Q�R�@^PjVP�@^PjVP�@^PjVP�@^0�"@��+J͊���+
++hV�(3+�v �u[ u
+��fE����fE����fE����n+�N��"�Ԭ�ځ�"�Ԭ�ځ�"�Ԭ�ځ�"`�mE��)�W��T;�W��T;�W��T;�W����:⊀BNJ���+�̊���+J͊���+F�VH�yE@�Y@�yE@�Y@�yE@�Y@�yE@��+�΁�"�Ԭ�ځ�"�Ԭ�ځ�"�Ԭ�ځ�"`�mE��)�W��T;�W��T;�W��T;W�2;W9V��8^PfV�@^�:�����uE�mi�iwE`�uL+��"��|�{z����X8�����_~����w>|�a�������������g�+6����[ȝ-��s/v뜿y����o_t�Q�@���s�ȝs��s�jr�\�霣ځ�9Wj:�v w΍�u�I��s��t�Q�@�+5�sT;;�
+�s4+�;���:�N��9Wj:�v wΕ��9�ȝs��s�jr�ܨ[��)�;�JM���ιR�9G��s��t�Q�@�u뜓:r�\�霣ځ�9Wj:�v wΕ��9�ȝs�n�sR�@�+5�sT;;�
+�s4+�;��L���ιQ��9�S wΕ��9�ȝs��s�jr�\�霣ځ�97��9'u
+�ιR�9G��s��t�Q�@�+5�sT;�;�F�:�N��9Wj:�v wΕ��9�ȝs��s�jr�ܨ[��)�:��\;�(�
�ιG�Ŋ�ι2�9G��s.���9�s wΕ��9�ȝs��s�jr�\�霣ځ�97��9'u
+�ιR�9G��s��t�Q�@�+5�sT;�;�F�:�N��9Wj:�v wΕ��9�ȝs��s�jb�ܠ霓�q�9W��#Yq�9Wf:�v wΕ��9�ȝs�n�sR�@�+5�sT;�;�JM���ιR�9G��snԭsN�ȝs��s�jr�\�霣ځ�9Wj:�v w΍�u�I��s��t�Q�@�+5�sT;;�
+�s4+;�L�Ȏ�ι2�9G��s��t�Q�@�+5�sT;�;�F�:�N��9Wj:�v wΕ��9�ȝs��s�jr�ܨ[��)�;�JM���ιR�9G��s��t�Q�@���s�ȝs��s�jr�\�霣ځ�9W�蜣Yq�97��9't
+�ιR�9G��s��t�Q�@�+5�sT;�;�F�:�N��9Wj:�v wΕ��9�ȝs��s�jr�ܨ[��)�;�JM���ιR�9G��s��t�Q�@�u뜓:r�\�霣ځ�9W�蜣Yq�9Wf:�v w΍�u�I��s��t�Q�@�+5�sT;�;�JM���ιQ��9�S wΕ��9�ȝs��s�jr�\�霣ځ�97��9'u
+�ιR�9G��s��t�Q�@�+5�sT;�;�F�:�N��9W�蜣Yq�9Wf:�v wΕ��9�ȝs�n�sR�@�+5�sT;�;�JM���ιR�9G��s.���9�s wΕ��9�ȝs��s�jr�\�霣ځ�97��9'u
+�ιR�9G��s��t�Q�@�+5�sT;;�M�̎�ι"G�Ɋ�ι2�9G��s�_�V�s|k����x���ᅫ?���N��'윏GF��vt���Ӈ�}[.�</��{{�]~{�k�ߝOw_��^Vz���m��]N�W_���f������4�g��Q�N�wV]�=P;�z��/[Fϲ:�˻��o���>{�v����
g������.o����R�g���>�O���m��,�S��z9==Yu}�@����ty������>��^�ͷR�g���>.oýTdz�N�;��6�l)u}�@��uy.�R]�=P;pG]ކ[����x]}Z�����Q6;n�\ރ���3�=@;pG]ރ������>�������w�qΧ�'�g<����^N��V]�=P;pGSAJ�����CJ�����CB}�u��!�f{���!�f{���!�f{���!�n�C�N��=��l�ځ�=��l�ځ�=�б=�f����1��!B�@�Rj��P�@�Rj��P�@�Rj��P�@�2�=D���CJ�����CJ�����CJ�����CFݶ�H�y{H��B�y{H��B�y{H��B�y{Ȩ���S o)5�C�v n)tl�Yq�=��l!ځ�=d�m{��)������!T;������!T;������!T;�����m�:���R�=�j���R�=�j���R�=�j���Q��!R�@�Rj��P�@�Rj��P�@�Rj��P�@�2�=D�H�C�\��P|��C
+�C(Vo)3�C�v o	�u{�9������!T;������!T;������!T;�����m�:���R�=�j���R�=�j���R�=�j���Q��!R�@�Rj��P�@�Rj��P�@�Rj��P�@�2h����8�R��B��x{H��B�y{H��B�y{Ȩ���S o)5�C�v o)5�C�v o)5�C�v ou�"u
+��!�f{���!�f{���!�f{���!�n�C�N��=��l�ځ�=��l�ځ�=�б=�f����!�=Dd����2�=�h���R�=�j���R�=�j���Q��!R�@�Rj��P�@�Rj��P�@�Rj��P�@�2�=D���CJ�����CJ�����CJ�����CB}�u��!�f{���!�f{���!���!4+�����m:���R�=�j���R�=�j���R�=�j���Q��!R�@�Rj��P�@�Rj��P�@�Rj��P�@�2�=D���CJ�����CJ�����CJ�����CFݶ�H�y{H��B�q{H�c{͊��!ef{���!�n�C�N��=��l�ځ�=��l�ځ�=��l�ځ�=d�m{��)������!T;������!T;������!T;�����m�:���R�=�j���R�=�j���R�=�j���Q��!R�@�R��B��x{H��B�y{H��B�y{Ȩ���S o)5�C�v o)5�C�v o)5�C�v o	�u{�9������!T;������!T;������!T;�����m�:���R�=�j���R�=�j���R�=�j���A�=Df����"�����C������C��:j{_Ǻ=��e<��n����o��������At�����������O��ܾ���LyyA=��~����o�ͯ���?~��a���y���������nnܬ��W��U���ao�h:��
��y��C'߾:A�y�D�:A�y�D�:A�y�Ĩ��	�S �(5C'�v �(5C'�v �(5C'�v �4C'dv�(3C'�v �(5C'�v �(5C'�v �u:!u
+��f����f����f�������:�ЉR3t�j�ЉR3t�j�ЉR3t�j�ЉQ��R�@:Qj�NP�@:Qj�NP�@:Q�:A��x�Ę��	�S �(5C'�v �(5C'�v �(5C'�v �u:!u
+��f����f����f����nC'�N�<t����ځ<t����ځ<t����ځ<tb�m��)��N���T;�N:�NЬ8:Qf�N�@:1�6tB��C'J��	��C'J��	��C'J��	��C'F݆NH�y�D�:A�y�D�:A�y�D�:A�y�Ĩ��	�S �(5C'�v �(5C'�v �(5C'�v �u:!u
+��e�C'(�
á��+��N���D;��N��:t��C'J��	��C'J��	��C'J��	��C'F݆NH�y�D�:A�y�D�:A�y�D�:A�y�Ĩ��	�S �(5C'�v �(5C'�v �(5C'�v �4C'dv�(r� Yq<t��� ځ<t����ځ<tb�m��)��N���T;��N���T;��N���T;��N��
��:�ЉR3t�j�ЉR3t�j�ЉR3t�j�ЉQ��R�@:Qj�NP�@:Qj�NP�@:Q�:A��p�Đ:!��x�D�:A�y�D�:A�y�D�:A�y�Ĩ��	�S �(5C'�v �(5C'�v �(5C'�v �u:!u
+��f����f����f�������:�ЉR3t�j�ЉR3t�j�ЉB��	��C'�܆N�y�D�:A�y�D�:A�y�D�:A�y�Ĩ��	�S �(5C'�v �(5C'�v �(5C'�v �u:!u
+��f����f����f����nC'�N�<t����ځ8t��1t�f��Љ23t�h�ЉQ��R�@:Qj�NP�@:Qj�NP�@:Qj�NP�@:1�6tB��C'J��	��C'J��	��C'J��	��C'F݆NH�y�D�:A�y�D�:A�y�D�:A�y�Ĩ��	�S �(t��Yq<t��� ځ<t����ځ<tb�m��)��N���T;��N���T;��N���T;��N��:t��C'J��	��C'J��	��C'J��	��C'F݆NH�y�D�:A�y�D�:A�y�D�:A�q�Ġ:!��p�D�c�Ɋ�ef��䡓��5t��c:y�2/�C'��c:�����zqIC'㑗�7:y�x����w_~����?��˗_~���o:��?�~�{�W��u����޺������_�«�Co_�e������r�\Q�g��Q�N�/G7J]�=P;pg�d̽uۏ!u
+���f?����f?����f?����n�1�N�����Ǡځ����Ǡځ����Ǡځ�c��ǐ�q����� ځ����Ǡځ����Ǡځ�c�m?��)��c���T;��c���T;��c���T;��c������1J�~���1J�~���1J�~���1F��cH�y?F�ُA�y?F�ُA�q?F�c?͊��cn�1�N�����Ǡځ����Ǡځ����Ǡځ�c�m?��)��c���T;��c���T;��c���T;��c���ǐ:�~�R��j�~�R��j�~�R��j�~�Q��R�@ޏQj�cP�@܏Q�؏A��x?F�ُA�y?ƨ�~�S ��(5�1�v ��(5�1�v ��(5�1�v ��uۏ!u
+���f?����f?����f?����n�1�N�����Ǡځ����Ǡځ����Ǡځ�c�m?��)��c���Ǡ�6�c8�cP�8ޏQf�c�@ޏ��~�s ��(5�1�v ��(5�1�v ��(5�1�v ��uۏ!u
+���f?����f?����f?����n�1�N�����Ǡځ����Ǡځ����Ǡځ�c��ǐ�q��ȱ�d��~�2��h�~�R��j�~�Q��R�@ޏQj�cP�@ޏQj�cP�@ޏQj�cP�@ޏ1�C���1J�~���1J�~���1J�~���1F��cH�y?F�ُA�y?F�ُA�q?F�c?͊��Cf?�Ȏ��ef?����f?����f?����n�1�N�����Ǡځ����Ǡځ����Ǡځ�c�m?��)��c���T;��c���T;��c���T;��c������1J�~���1J�~���1
+�1hV��sۏ!t
+���f?����f?����f?����n�1�N�����Ǡځ����Ǡځ����Ǡځ�c�m?��)��c���T;��c���T;��c���T;��c���ǐ:�~�R��j�~�B�~���1��~���1F��cH�y?F�ُA�y?F�ُA�y?F�ُA�y?ƨ�~�S ��(5�1�v ��(5�1�v ��(5�1�v ��uۏ!u
+���f?����f?����f?����n�1�N���б�f��~�2��h�~�R��j�~�Q��R�@ޏQj�cP�@ޏQj�cP�@ޏQj�cP�@ޏ��~�s ��(5�1�v ��(5�1�v ��(5�1�v ��uۏ!u
+���f?����f?����f?����f?�̎��E��$+��c���D;��c��P�~��u?���xz�ݏ�_����.�1�W�Y~�<|�Z�Խ_�96/h�����g�Ⱥs2����?}����_��/?~���9�����W����������m�^����E�.4|�:���8^hPf�@^hPjP�@^hPjP�@^h0��@��
J�B��
J�B��
J�B��
B}]h�u��f����f����f����n
�N��Р�,4�ځ�Р�,4�ځ�РбЀf��B�1��B�@^hPjP�@^hPjP�@^hPjP�@^h0��@��
J�B��
J�B��
J�B��
F�H�y�A�Yh@�y�A�Yh@�y�A�Yh@�y����B�S /4(5
�v .4(t,4�Yq�Р�,4 ځ��`�m���)����T;����T;����T;���-4�:�B�R�Ѐj�B�R�Ѐj�B�R�Ѐj�B�Q��R�@^hPjP�@^hPjP�@^hPjP�@^h0��@�H
�\P|�
+
(V/4(3
�v /4�u��9����T;����T;����T;���-4�:�B�R�Ѐj�B�R�Ѐj�B�R�Ѐj�B�Q��R�@^hPjP�@^hPjP�@^hPjP�@\h0h��8\hP�Xh@��x�A�Yh@�y�A�Yh@�y����B�S /4(5
�v /4(5
�v /4(5
�v /4u[h u
+��f����f����f����n
�N��Р�,4�ځ�Р�,4�ځ�РбЀf��B�!��@d��B�2�Ѐh�B�R�Ѐj�B�R�Ѐj�B�Q��R�@^hPjP�@^hPjP�@^hPjP�@^h0��@��
J�B��
J�B��
J�B��
B}]h�u��f����f��ą���4+���-4:�B�R�Ѐj�B�R�Ѐj�B�R�Ѐj�B�Q��R�@^hPjP�@^hPjP�@^hPjP�@^h0��@��
J�B��
J�B��
J�B��
F�H�y�A�Yh@�q�A�c�͊�ef����n
�N��Р�,4�ځ�Р�,4�ځ�Р�,4�ځ��`�m���)����T;����T;����T;���-4�:�B�R�Ѐj�B�R�Ѐj�B�R�Ѐj�B�Q��R�@\hP�Xh@��x�A�Yh@�y�A�Yh@�y����B�S /4(5
�v /4(5
�v /4(5
�v /4�u��9����T;����T;����T;���-4�:�B�R�Ѐj�B�R�Ѐj�B�R�Ѐj�B�A��@f��B�"�B��
��B��
�kj�_Ǻ���e�B���x����by�a�����a�BCYn�B�o~�q�3��������۟?��/����>���G?�����_~Y~�����?~�����ͯ���?~��a��?~��ǟ�=�[ޞ�wo^�;�w{;��J���_��ە���j��B��Gwl�\�ؘ�8�cs�cc��ͩ㎍��;6��
�)�؜:��X�@�cs�cc��ͩ㎍��;6��
�)�؜:��X�@�cs�cc��ͩ㎍��;6��
�)�؜:��X�@�cs�cc��͡��Gwl�wlHvޱ9sܱ1ځx���q��j��S���wlJ��S ޱ9uܱ�ځx���q��j��S���wlJ��S ޱ9uܱ�ځx���q��j��S���wlF���H��ͩ㎍��;6��;6V;����ޱ�YqxǦ�ܱ!:��S���wlNwl�v ޱ9uܱ�ځxǦ�ܱ�:��S���wlNwl�v ޱ9uܱ�ځxǦ�ܱ�:��S���wlNwl�v ޱ9uܱ�ځxǦ�ܱ�:��S��Hwl]��ج8�cs�cc��M��cCu
+�;6��;6V;�؜:��X�@�cs�cc��M��cCu
+�;6��;6V;�؜:��X�@�cs�cc��M��cCu
+�;6��;6V;�؜:��X�@�cs�cc��M��cCu
+�;6��wllVޱ9sܱ1ځx���q��j��Rsdž��wlNwl�v ޱ9uܱ�ځx���q��j��Q�;6R�@�cs�cc��ͩ㎍��;6��;6V;�ؔ�;6T�@�cs�cc��ͩ㎍��;6��;6V;���:����8�cs�z��d���3���wlpMe���u|}���ؿc��1ݱ�������p�wl����2���a��}����>}�a��q����A�/?������������ͻ_y�5���_�{Z���_Ary8-�Z^����?~��~��˯<�����ۗ��=���S�����?�S��������p��K�_�}�r�r����ʛzw�yS_?Z�?��G+o�(������VP�@�hE��h�ďV:>ZA����cn�:�G+J�G+�v ���|��j�G+J�G+�v �b���R�@�hE��h��V���VP�@�hE��h��V��}�B���(5��ځ�ъR��
+���(5��ځ�ъQ��VH�����T;?ZQ��h͊�V���V�@�hŨ�G+�N��ъR��
+���(5��ځ�ъR��
+���u�h��)�?ZQj>ZA�����T;�?ZQj>ZA����n��:�G+J�G+�v ���|��j�G+J�G+�v �b���R�@�hE��4+�?ZQf>ZA�����T;�?Z1���
+�S ���|��j�G+J�G+�v ���|��j�G+B}�h�9�?ZQj>ZA�����T;�?ZQj>ZA����n��:�G+J�G+�v ���|��j�G+J�G+�v ~�b�|�Bf��G+�� Yq�ъ2��
+���࿅?�h_���ʛ��쿎?m"����{��V�#�G+w���?����_�U����´?߼�8>��������Ӈ����e�f�N�o�4�|:�__��_���w�w{����$�E桷����L��B��3����Lr���$V;�3I���$T�@��$���Lb��;����	T;��&���	T;�&��	2;�&9�&��8ޚPf�&�@ޚPj�&P�@ޚ0�5A��[J����[J����[J����[Fݶ&H�ykB�ٚ@�ykB�ٚ@�ykB�ٚ@�yk¨���S oM(5[�v oM(5[�v nM(tlM�Yq�5a�lM�q�5��lM ځ�5��lM�ځ�5��lM�ځ�5a�mk��)��&���	T;��&���	T;��&���	T;��&��mM�:�քR�5�j�քR�5�j�քR�5�j�քP_"A�� R�9�D�� R�9�D�� R�� ͊�Hcn��N�|��D�ځ|��D�ځ|��D�ځ|i�� ��)�"���HT;�"���HT;�"���HT;�"��D�:�A�Rs�j�A�Rs�j�A�Rs�j�A�Q��HR�@>�Tj"Q�@<�T�8�D��� R�9�D�� Ҩ�A$�S D*5��v D*5��v D*5��v Du;�$u
+�H�� ��H�� ��H�� ��H�n��N�|��D�ځ|��D�ځ|��D�ځ|i�� ��)":"Ѭ8>�Tf"�@>�Tj"Q�@>�4�vI���J�A$���J�A$���J�A$���B}=�u�H�� ��H�� ��H�� ��H�n��N�|��D�ځ|��D�ځ|��D�ځxi�D��qx��q�d��A�2s�h�A��m�:��ױD�yp��:����������� r<�Dޏ�ȿ��������?~�����W?�v|��O���q������w~|١�~�ww��˿(xſ��绽C�ۻ�����/>�}��o_�����O�o_�u}�@�����y��٩�YV������e����w��m����G̊�!���r����ځ�Շ�=���x��)pG]ރ��
������.�U�g��Q����^��>{�v�u��f���_�x��)pG�����>{�v��z�</����w��mX~�9u}�@������6�Iu<����.o��Q��j���p+̍g��Q���l���������p#̍gY�w��m��˓�۰���d�_=+n�|:]�����ځ�lnnNO��GM�Eu�Q/�˃U�g��Q�w��"����w��m������ځ;e��m�Hu<�������RS�B��N��ԩP�@�S)5u*T;��TF��T�N�\�Rj�T�v ש��:��u*��N�jb�ʠ�S��qX�R�S!Yq\�Rf�T�v ש��:��u*�nu*R�@�S)5u*T;��TJM�
+��:�RS�B��NeԭNE��u*��N�jr�J��S�ځ\�Rj�T�v ש��թH��N��ԩP�@�S)5u*T;�T
+u*4+�T�L��Ȏ�:�2S�B��N��ԩP�@�S)5u*T;��TF��T�N�\�Rj�T�v ש��:��u*��N�jr�ʨ[���)��TJM�
+��:�RS�B��N��ԩP�@�S	��N��u*��N�jr�J��S�ځX�R�S�Yq\�2�V�"t
+�:�RS�B��N��ԩP�@�S)5u*T;��TF��T�N�\�Rj�T�v ש��:��u*��N�jr�ʨ[���)��TJM�
+��:�RS�B��N��ԩP�@�Su�S�:r�J��S�ځX�R�S�Yq\�Rf�T�v ש��թH��N��ԩP�@�S)5u*T;��TJM�
+��:�Q�:�S ש��:��u*��N�jr�J��S�ځ\�2�V�"u
+�:�RS�B��N��ԩP�@�S)5u*T;��TF��T�N�X�R�S�Yq\�Rf�T�v ש��:��u*�nu*R�@�S)5u*T;��TJM�
+��:�RS�B��N%��:�s ש��:��u*��N�jr�J��S�ځ\�2�V�"u
+�:�RS�B��N��ԩP�@�S)5u*T;�TM��̎�:�"G�
+Ɋ�:�2S�B��N���Ru*|k����xzܭS���?m_��.d��Gu���Z�zu��?|޾������O�����/������?�������_������~����ߝ�u��^ӯV�n+U��*Uo~���o_T�P�@�Tu�T�:r�J��T�ځX�R�T�Yq\�Rf*U�v W���U�H��R��T�P�@�T)5�*T;�+UJM�
+��J�Q�J�S W���J�ȕ*��R�jr�J��T�ځ\�2�V�"u
+�J�RS�B��R��T�P�@�T)5�*T;�+UF�*U�N�T�R�Z�B�mV�8*U(VW���J�ȕ*��V�@��R��T�P�@�T)5�*T;�+UJM�
+��J�Q�J�S W���J�ȕ*��R�jr�J��T�ځ\�2�V�"u
+�J�RS�B��R��T�P�@�T)5�*T;+UM��̎�J�"G�
+Ɋ�J�2S�B��R��T�P�@�Tu�T�:r�J��T�ځ\�Rj*U�v W���J�ȕ*�n�*R�@�T)5�*T;�+UJM�
+��J�RS�B��ReԭRE�ȕ*��R�jr�J��T�ځX�R�T�YqX�2d*UDvW���J�ȕ*��R�jr�J��T�ځ\�2�V�"u
+�J�RS�B��R��T�P�@�T)5�*T;�+UF�*U�N�\�Rj*U�v W���J�ȕ*��R�jr�J���*P�@�T)5�*T;�+UJM�
+��J�BG�
+͊�J�1�J�S W���J�ȕ*��R�jr�J��T�ځ\�2�V�"u
+�J�RS�B��R��T�P�@�T)5�*T;�+UF�*U�N�\�Rj*U�v W���J�ȕ*��R�jr�ʨ[���)�+UJM�
+��J�BG�
+͊�J�2S�B��ReԭRE�ȕ*��R�jr�J��T�ځ\�Rj*U�v W���U�H��R��T�P�@�T)5�*T;�+UJM�
+��J�Q�J�S W���J�ȕ*��R�jr�J��T�ځ\�2�V�"u
+�J�BG�
+͊�J�2S�B��R��T�P�@�Tu�T�:r�J��T�ځ\�Rj*U�v W���J�ȕ*��V�@��R��T�P�@�T)5�*T;�+UJM�
+��J�Q�J�S W���J�ȕ*��R�jr�J��T�ځX�2h*UdvV�9*UHVW���J�ȕ����T��X+Uo^T��_ǟ�
U���(�R5Y+U��R��?�o�}����w��������?|���?�����~��_onn?�a�ݿ������_>�������e�������������������>�a����޼���u{����b�׋�5o+o~��+߾�X!u
+���b����b����b���n+�N�|���\��ځ|���\��ځx���q��f��Ŋ!s�Bd��Ŋ2s��h�ŊRs��j�ŊRs��j�ŊQ��R�@�XQj.VP�@�XQj.VP�@�XQj.VP�@�X1�v�B��+J��
+��+J��
+��+J��
+��+B}�Xu���b����b�ċ���4+�/V��]�:�ŊRs��j�ŊRs��j�ŊRs��j�ŊQ��R�@�XQj.VP�@�XQj.VP�@�XQj.VP�@�X1�v�B��+J��
+��+J��
+��+J��
+��+F�.VH��bE��XA��bE��b͊�e�b���n+�N�|���\��ځ|���\��ځ|���\��ځ|�b��b��)�/V���T;�/V���T;�/V���T;�/V��]��:�ŊRs��j�ŊRs��j�ŊRs��j�ŊQ��R�@�XQ�XA���bE��XA��bE��XA��bŨ��
+�S _�(5+�v _�(5+�v _�(5+�v _���b�9�/V���T;�/V���T;�/V���T;�/V��]��:�ŊRs��j�ŊRs��j�ŊRs��j�ŊAs�Bf��Ŋ"��
+��+���
+��+���b_�z���e�������.V�ϧ���݋���z��4.V��z����������8�T�����_>|�������Ǘ�߭���_~�>g+��+��>~��?�Mvw�{�0��E~;|����Ή�6���m$�ͯr$��#i�v ��uI#u
+�4�f$
��4�f$
��4�f$
��4�n#i�N�<��Ԍ��ځ<��Ԍ��ځ<��Ԍ��ځ8�fЌ���q8���1��d��H�23��h�H�R3��j�H�Q��4R�@ISjF�P�@ISjF�P�@ISjNNQ�@>95�vrJ��'�J��)��'�J��)��'�J��)��'�F�NNI���T�99E���T�99E���T���͊ÓSC��Ȏ�Se����S�����S�����S�n'��N�|r�Ԝ��ځ|r�Ԝ��ځ|r�Ԝ��ځ|rj����)�ON���ST;�ON���ST;�ON���ST;�ON��zr
+��'�J��)��'�J��)��'�
+'�hV��s;9%t
+�S�����S�����S�����S�n'��N�|r�Ԝ��ځ|r�Ԝ��ځ|r�Ԝ��ځ|rj����)�ON���ST;�ON���ST;�ON���ST;�ON�����:�ɩRsr�j�ɩB��)��'����)��'�F�NNI���T�99E���T�99E���T�99E���Ԩ��)�S ��*5'��v ��*5'��v ��*5'��v ��u;9%u
+�S�����S�����S�����S�n'��N�xr��qr�f��ɩ2sr�h�ɩRsr�j�ɩQ��SR�@>9UjNNQ�@>9UjNNQ�@>9UjNNQ�@>9���)�s ��*5'��v ��*5'��v ��*5'��v ��u;9%u
+�S�����S�����S����ēS���̎ÓSE��S$+�ON���SD;�ON����)�������xz�=9����-���<���������zr�<NN���>�����Ǧ~�x��������������y���������q��t;��_�v��W�����HT;�"���HT;�"��D�:�A�Rs�j�A�Rs�j�A�Rs�j�A�AsIf��A�"�A$�����A$���J�A$���F�"I�� R�9�D�� R�9�D�� R�9�D�� Ҩ�A$�S D*5��v D*5��v D*5��v Du;�$u
+�H�� ��H�� �ăH���H4+"
��H";�"���HD;�"���HT;�"���HT;�"��D�:�A�Rs�j�A�Rs�j�A�Rs�j�A�Q��HR�@>�Tj"Q�@>�Tj"Q�@>�Tj"Q�@>���A$�s D*5��v D*5��v D*tD�Yq|i�� ��)�"���HT;�"���HT;�"���HT;�"��D�:�A�Rs�j�A�Rs�j�A�Rs�j�A�Q��HR�@>�Tj"Q�@>�Tj"Q�@>�Tj"Q�@>�4�vI���J�A$���
+�hVD*3��v Du;�$u
+�H�� ��H�� ��H�� ��H�n��N�|��D�ځ|��D�ځ|��D�ځ|i�� ��)�"���HT;�"���HT;�"���HT;�"��D�:�A�B�A$�����A$���J�A$���F�"I�� R�9�D�� R�9�D�� R�9�D�� R����΁|��D�ځ|��D�ځ|��D�ځ|i�� ��)�"���HT;�"���HT;�"���HT;"
��H2;"9"��8>�Tf"�@>�ܿ�S��:փ�7/��y� r�u�I�wϗ���D�� r�S��5���_�{Z�|xy��n��	~y���?|������X���������_>����ߟ�ލ�����_��޿��qf���?����������gߟ���������������r���/��7���|�u��+����{�r�쟺�:⩋Sǩ���.N�.�v ��8u���ځx�Ԝ��:⩋Sǩ���.N�.�v ��8t=ua����E���Ɏ�Sg�SF;O]�:N]X�@<uq�8ua���E�9uAu
+�S��SV;O]�:N]X�@<uq�8ua���E�9uAu
+�S��SV;O]�:N]X�@<uq�8ua���Ũ۩�s ��8u���ځx���q��jҩ�C�S6+O]��SD�@<uq�8ua���ũ�ԅ��S��SV;O]��ST�@<uq�8ua���ũ�ԅ��S��SV;O]��ST�@<uq�8ua���ũ�ԅ��S��SV;O]��ST�@<uq�8ua���š����.��.�v ��(5�.�N�x���q��j⩋Sǩ���.N�.�v ��(5�.�N�x���q��j⩋Sǩ���.N�.�v ��(5�.�N�x���q��j⩋Sǩ���.N�.�v ��(5�.�N�t����ԅ͊�Sg�SF;O]�:N]X�@<uQjN]P���ũ�ԅ��S��SV;O]�:N]X�@<u1�v�B���.N�.�v ��8u���ځx���q��j⩋Rs����.N�.�v ��8u���ځx���q��jҩ�Bǩ�G�.�\O]��8<uq�8ua����%�O]�u|}����?u�ױ�m�����/�.�?�/?Z�=�x>=~���tzX�张����䑗��c��o�|��;����?Ӈ�?9^S��u=�}?�����/�_Uz���y�η��Hw�^ȷ�x��)pG�[��t/����wԇ��R]�=P;pG]ކ�U�g���^�����1��gY�w��O��'������>��>{�v���tz~�xL��j^W�Χ���gY�w��m��^=0+n�\ރ��4�g��Q���Ϊ�j^W��`�����,�S����/�)u}�@��uy�V]�=P;pG]ކ�cn<{�v�u�a�!�,̍gY�w����ɪ�j��ˣ�k�x�@������ ̍g���.�w���x��)pG]ކ;�cn<{�v����
�g<{�v����
�V]�=P;����
�/��lv���g�g<{�v����7V]�=P;pG}:=>�?��j^W�ϧ�'�g<����^N��V]�=P;pG]���A������.oý��3�=P;�z{��
wNͳ�΁;��6\��>{�v����
��R]�=P;pG]ކ�U�g����������˳�N�;�����,����wԇ��ɪ�j��i��}��������t~t?p�,�S����V]�=P;pG]ރ�[������.���E��j^W/�g��,�S����
�wR]�=P;pG]ކ���3�=P;pG]�K����x]�;�n��ɳ�N�;��t�$��g��QN7�V]�=P;pG}:�ۿ
+�g����/oý��3�eu
+�Q����j��� �"�>z`V����g<{�v�u�ayn�:�eu
+�Q���,̍g��Q�w�ƪ�j�O��g�cn<{�v�u�����$�<�eu
+�Q/��G�������/��s���w��m��?�Ƴj^W����N��YV��uy.���x�@��uyn叹��ځ;��6���>{�v�u�y]�P�x��)pG]�i�<y �
���O�Y�GĊ�!�N�'�n<{�v�����������ɳ�΁;��ty����ځ;��.�_��>{�v����
��$����Mq��p��x��)pG]�:ϩ��X�@�.>����c����:�������Sj���)��ϩ��X�@�.>����c����:�������S��.>4;���ϑ�w�1Yq�]|����h�w�9u|���ŧ�|�S ~�S�w�ځ�]|N���j�w�95e�v �u(#u
+�2�f���2�f���2�f���2�ne�N�<P����ځ<P����ځ8P��1P�f��@�!3PFd��@�23P�h�@�R3P�j�@�R3P�j�@�Q��2R�@(Sj�P�@(Sj�P�@(Sj�P�@(3�6PF��eJ�@��eJ�@��eJ�@��eB}(u�2�f���2�f��ā2���24+�ʌ�
�:�@�R3P�j�@�R3P�j�@�R3P�j�@�Q��2R�@(Sj�P�@(Sj�P�@(Sj�P�@(3�6PF��eJ�@��eJ�@��eJ�@��eF��H�y�L�(C�q�L�c�͊�2ef���2�ne�N�<P����ځ<P����ځ<P����ځ<Pf�m���)�ʔ��2T;�ʔ��2T;�ʔ��2T;�ʌ�
��:�@�R3P�j�@�R3P�j�@�R3P�j�@�Q��2R�@(S�(C��x�L�(C�y�L�(C�y�̨�@�S �)5e�v �)5e�v �)5e�v �	�u��9�ʔ��2T;�ʔ��2T;�ʔ��2T;�ʌ�
��:�@�R3P�j�@�R3P�j�@�R3P�j�@�A3PFf��@�"�@��e��@��e��[j�_�:P��e<�w��_Ǜ������.�ۇ~�xd(;oe�Ç�?�ŧ?�/����~����o���_>�?���ߟo�}��㵦���k��%���%����������׸�}!P�B��ƥ�ԸP�@�qu�q�:r�K��q�ځX�R�q�Yq\�Rfj\�v ׸��ոH��ƥ�ԸP�@�q)55.T;�k\JM����Q��S ׸����5.��ƅjr�K��q�ځ\�2�V�"u
+��RS�B��ƥ�ԸP�@�q)55.T;�k\F�j\�N�T�R�Z�B�mָ8j\(V׸����5.��ָ@��ƥ�ԸP�@�q)55.T;�k\JM����Q��S ׸����5.��ƅjr�K��q�ځ\�2�V�"u
+��RS�B��ƥ�ԸP�@�q)55.T;k\M��̎��"G�Ɋ��2S�B��ƥ�ԸP�@�qu�q�:r�K��q�ځ\�Rjj\�v ׸����5.�n5.R�@�q)55.T;�k\JM����RS�B���eԭ�E��5.��ƅjr�K��q�ځX�R�q�YqX�2dj\Dv׸����5.��ƅjr�K��q�ځ\�2�V�"u
+��RS�B��ƥ�ԸP�@�q)55.T;�k\F�j\�N�\�Rjj\�v ׸����5.��ƅjr�K��5.P�@�q)55.T;�k\JM����BG�͊��1��S ׸����5.��ƅjr�K��q�ځ\�2�V�"u
+��RS�B��ƥ�ԸP�@�q)55.T;�k\F�j\�N�\�Rjj\�v ׸����5.��ƅjr�˨[���)�k\JM����BG�͊��2S�B���eԭ�E��5.��ƅjr�K��q�ځ\�Rjj\�v ׸��ոH��ƥ�ԸP�@�q)55.T;�k\JM����Q��S ׸����5.��ƅjr�K��q�ځ\�2�V�"u
+��BG�͊��2S�B��ƥ�ԸP�@�qu�q�:r�K��q�ځ\�Rjj\�v ׸����5.��ָ@��ƥ�ԸP�@�q)55.T;�k\JM����Q��S ׸����5.��ƅjr�K��q�ځX�2hj\dvָ9j\HV׸����5��ޑ�q��Xk\o^Ը�_Ǜ�˿�=�q����xd�q��ָ���>~�a��������_����_����?_��/_>}{�{{�{�տ��o��>���͑2�jƑ�_���a�HŊ�#ee�H��#e��)�:�Rs��j�Rs��j�Rs��j�Q�#eR�@>RVj��Q�@>RVj��Q�@>RVj��Q�@>R6�v�L��G�J͑2��G�J͑2��G�J͑2��G�͑2��GʊG�HV)+3Gʈv )+5Gʨv )u;R&u
+�#e��H��#e��H��#e��H��#e�nGʤN�|���)�ځ|���)�ځ|���)�ځ|�l��H��)�����#eT;�����#eT;��:��Ѭ8<R6d����8>RVf���@>RVj��Q�@>RVj��Q�@>R6�v�L��G�J͑2��G�J͑2��G�J͑2��G�Fݎ�I��HY�9RF��HY�9RF��HY�9RF��HY��Gʠ΁|���)�ځ|���)�ځx���q��f��1�#eB�@>RVj��Q�@>RVj��Q�@>RVj��Q�@>R6�v�L��G�J͑2��G�J͑2��G�J͑2��G�Fݎ�I��HY�9RF��HY�9RF��HY�9RF��H٨ۑ2�S )+5Gʨv )+t)�Yq|���)#ځ|�l��H��)�����#eT;�����#eT;�����#eT;�����)�:�Rs��j�Rs��j�Rs��j�Q�#eR�@>RVj��Q�@>RVj��Q�@>RVj��Q�@>R6�v�L��G�
+G�hV)+3Gʈv )+5Gʨv )u;R&u
+�#e��H��#e��H��#e��H��#e��)�:�Rs��j�Rs��j�Rs��j�Q�#eR�@>RVj��Q�@>RVj��Q�@>RVj��Q�@<R6h����8<RV�8RF���HY�9RF��H��hő2���H��ˀ#��ױ�m������]�����?0�������<���n�(�����)�+��/>}��ˏ_>��ɗ^��?���y��;'ƣ����~���7�������c��s���ށ�e��
��䡷��ӵo��y~��:�|��,�S��:�C���
T;��dC���
T;��dC���
T;��dèۗl�:�l(5_��j�l(t|���_���|���_�a��K6H��K6��/�@��K6��/�@��K6��/�@��K6��}��S ɆR�%�v ɆR�%�v ɆR�%�v ɆQ�/� u
+�/�Pj�d��/�Pj�d��/�Pj�d��/�0��%�N��%�\�k(�
���G
Ŋ���2�_C���&����s �ה�����5����jrM�鯡ځ�_3��_#u
+���R�_C�������P�@�)5�5T;��kF��k�N��_Sj�k�v �ה�����5����jb͠鯑�q�_S��!Yq�_Sf�k�v �ה�����5�n�5R�@�)5�5T;��kJM
����R�_C���fԭ�F���5����jrM�鯡ځ�_Sj�k�v �׌���H�������P�@�)5�5T;�k
+�54+�k�L�Ȏ���2�_C�������P�@�)5�5T;��kF��k�N��_Sj�k�v �ה�����5����jrͨ[��)��kJM
����R�_C�������P�@�	������5����jrM�鯡ځ�_S�诡Yq�_3��_#t
+���R�_C�������P�@�)5�5T;��kF��k�N��_Sj�k�v �ה�����5����jrͨ[��)��kJM
����R�_C�������P�@�u믑:rM�鯡ځ�_S�诡Yq�_Sf�k�v �׌���H�������P�@�)5�5T;��kJM
����Q���S �ה�����5����jrM�鯡ځ�_3��_#u
+���R�_C�������P�@�)5�5T;��kF��k�N��_S�诡Yq�_Sf�k�v �ה�����5�n�5R�@�)5�5T;��kJM
����R�_C���&����s �ה�����5����jrM�鯡ځ�_3��_#u
+���R�_C�������P�@�)5�5T;�kM�̎���"G
Ɋ���2�_C�������������e<�����_Ǜ/�x�]�K6�ϧ��������_;�^[k?���Ki�>���t�������_?3����p9=}=���޾�ӷ/��ty�����\Q�g��Q�NO/�rK��j^Wϧ˽Tdz�N�;��6��d(u}�@��uy^��R�g��Q���֪�j^W����֡�lv����4�g��Q���ƪ�j�O��g��w}�@������t��q��gY�w����Ѫ�j��ۗ�������.o���T�g���9�Yކ;��YT��uy.R]�=P;pG]ކ�G������.o�٪�j^W���p�~��YV���rzx~����ځ;����d����wԧӃ�����⮓�������ɳ�N�;��<Xu}�@��uy�o��>{�v����w����x]�,o�E��YV��uyn鷺>{�v����
g�g<{�v��:�@��yT;��E��͋�:�R3/�j�R3/�j�R3/�j�Q�yR�@�Qj�EP�@�Q�A��x^D��A�y^Ĩۼ�S ϋ(5�"�v ϋ(5�"�v ϋ(5�"�v ϋu�!u
+�y�f^��y�f^��y�f^��y�n�"�N�</��̋�ځ</��̋�ځ</��̋�ځ</b�m^��)��E��΋��6�E8�EP�8�Qf�E�@����s ϋ(5�"�v ϋ(5�"�v ϋ(5�"�v ϋu�!u
+�y�f^��y�f^��y�f^��y�n�"�N�</��̋�ځ</��̋�ځ</��̋�ځ8/b�̋��q8/��1/�d��23/�h�R3/�j�Q�yR�@�Qj�EP�@�Qj�EP�@�Qj�EP�@�1�6/B���"Jͼ���"Jͼ���"Jͼ���"F��EH�y^D��A�y^D��A�q^D�c^͊�yCf^�Ȏ�yef^��y�f^��y�f^��y�n�"�N�</��̋�ځ</��̋�ځ</��̋�ځ</b�m^��)��E��yT;��E��yT;��E��yT;��E��:/���"Jͼ���"Jͼ���"
+�"hVϋs�!t
+�y�f^��y�f^��y�f^��y�n�"�N�</��̋�ځ</��̋�ځ</��̋�ځ</b�m^��)��E��yT;��E��yT;��E��yT;��E��͋�:�R3/�j⼈BǼ���"�̼���"F��EH�y^D��A�y^D��A�y^D��A�y^Ĩۼ�S ϋ(5�"�v ϋ(5�"�v ϋ(5�"�v ϋu�!u
+�y�f^��y�f^��y�f^��y�n�"�N�8/��1/�f��23/�h�R3/�j�Q�yR�@�Qj�EP�@�Qj�EP�@�Qj�EP�@����s ϋ(5�"�v ϋ(5�"�v ϋ(5�"�v ϋu�!u
+�y�f^��y�f^��y�f^��y�f^�̎�yE�y$+��E��yD;��E�3Լ��u^��ˀy����f^d�W�8/r�����y���:/r;�E������w���ӗ?��ɿ�����k#/w�/�߼ZW���>כֿl�ox�[��͋�/�B��
���o����jr�[�)�ځ\�Vj�ߨv ������I����Ԕ�Q�@.+5�oT;��
+�o4+������߄N�\�Vj�ߨv �����7���o����jr�ۨ[���)���JM����RS�F����Ԕ�Q�@.u+�:r�[�)�ځ\�Vj�ߨv �����7���o�n�oR�@.+5�oT;��
+�o4+����L����Q��7�S �����7���o����jr�[�)�ځ\�6�V�&u
+��RS�F����Ԕ�Q�@.+5�oT;���F��ߤN�\�Vj�ߨv �����7���o����jr�ۨ[���)����\��(�
��G�Ŋ��2S�F���-���7�s �����7���o����jr�[�)�ځ\�6�V�&u
+��RS�F����Ԕ�Q�@.+5�oT;���F��ߤN�\�Vj�ߨv �����7���o����jb�۠)��qX�V�(#Yq\�Vf�߈v �����7���o�n�oR�@.+5�oT;���JM����RS�F���mԭ�M���o����jr�[�)�ځ\�Vj�ߨv ������I����Ԕ�Q�@.+5�oT;��
+�o4+�߆L��Ȏ��2S�F����Ԕ�Q�@.+5�oT;���F��ߤN�\�Vj�ߨv �����7���o����jr�ۨ[���)���JM����RS�F����Ԕ�Q�@.���
���o����jr�[�)�ځX�V�(�Yq\�6�V�&t
+��RS�F����Ԕ�Q�@.+5�oT;���F��ߤN�\�Vj�ߨv �����7���o����jr�ۨ[���)���JM����RS�F����Ԕ�Q�@.u+�:r�[�)�ځX�V�(�Yq\�Vf�߈v ������I����Ԕ�Q�@.+5�oT;���JM����Q��7�S �����7���o����jr�[�)�ځ\�6�V�&u
+��RS�F����Ԕ�Q�@.+5�oT;���F��ߤN�X�V�(�Yq\�Vf�߈v �����7���o�n�oR�@.+5�oT;���JM����RS�F���-���7�s �����7���o����jr�[�)�ځ\�6�V�&u
+��RS�F����Ԕ�Q�@.+5�oT;��M��̎��"G�Ɋ��2S�F�������7������e@�{�u�I���Vo���G���e����_��>������맏�־��}�??|�F�_�y�ǭ���w�˝^ez�2w������.wT�@�.w���rg��ܝ:�˝���rw��ځX�7�V�'u�:�SG����:�SG����:�SG����:�RS�Gu
+�:�SG����:�SG����:�C�:?��u~e�Ώ��u~��:?��u~��:?��u~��:?��u~��Ώ��u~��:?��u~��:?��u~��:?��u~��Ώ��u~��:?��u~��:?��u~��:?��u~��Ώ��u~��:?�Hu~��u~6+���u~F;��JM��)��Nu~V;��Nu~V;��Nu~V;��JM��)��Nu~V;��Nu~V;��Nu~V;��JM��)��Nu~V;��Nu~V;��Nu~V;��JM��)����Z�g�m�����Y�8��;s���@��u��:b�ߩ���jb�ߩ���jb�ߩ���jb�_���:b�ߩ���jb�ߩ���jb�ߩ���jb�_���:b�ߩ���jb�ߩ���jb�ߩ���jR�_��Ώf�Q�ߑk��Ɋ�:�3G����:�SG����:�RS�Gu
+�:�SG����:�SG����:�SG����:�RS�Gu
+�:�SG����:�SG����:�SG����:�RS�Gu
+�:�SG����:�SG����:�C�:?�Gu~E�:?��u~g�:?��u~��:?��u~��:?��u~��Ώ��u~��:?��u~��:?��u~��:?��u~��Ώ��u~��:?��u~��:?��u~��:?��u~�nu~R�@��;u��Y�@��;u��Y�@��;t��YqX�Wf���N�X�w��ځX�w��ځX�w��ځX�Wj���N�X�w��ځX�w��ځX�w��ځX�Wj���N�X�w��ځX�w��ځX�w��ځX�Wj���N�X�w��ځT�w�Z�g�����Q�g��ί���Q�����Q�g�����Q�g�����Q�g��ί���Q�����Uv7M�]�q�����M�T�R!Y�#d����FRf�@
+�{W�=y��t߷^nDq��E��N�u��ځX�w��ځX�w��ځX�Wj���.�X�w��ځX�w��ځX�w��ځX�Wj���.�T�w�V�g�����Q�g�����Q�g��ί���Q]����Q�g�����Q�g�����Q�g���o�Y�'u
�:�SG����:�SG����:�SG����:�RS�Gu	�:�SG����:�SG����:�SG����:�BG�͎�:�#�:?��u~g�:?��u~(��:??��3׏���W��8�m������u��/�O?Z�;�|<<ߏ�x�Ӛ���<�8�#��O������o�O��p|���S^����|����;�O���ÿ|��ӗ�>�-���闿����_w>�K+�����[�oZ��v ���V �ȭ@���jr+Ш�H�ȭ@���jr+P�i�ځ�
+TjZ��v ��:[��.��
+TjZ��v �:Z�hV���V �ȭ@��V �K ���V �ȭ@���jr+P�i�ځ�
+4�l��r+P�i�ځ�
+TjZ��v ���V �ȭ@��V �K ���V �ȭ@���jr+P�i�ځ�
+4�l��R+P�[+��0l*p�Q�8n*3�@D;�[�B��A]��ԴQ�@n*5�@T;�[�JM+��V�Qg+��%�[�JM+��V�R�
+D���ԴQ�@nu�I]��ԴQ�@n*5�@T;�[�JM+��V�A�
+$�����
+D���̴�@n*5�@T;�[�F��@R�@n*5�@T;�[�JM+��V�R�
+D��h��
+$u	�V�R�
+D���ԴQ�@n*5�@T;�[�F��@R�@n*5�@T;�[�JM+��V�BG+͊�V�!�
+$���̴�@n*5�@T;�[�JM+��V�Qg+��%�[�JM+��V�R�
+D���ԴQ�@nu�I]��ԴQ�@n*5�@T;�[�JM+��V�P/�@P�@n*5�@T;�[�JM+��V�BG+͊�V�1g+��%�[�JM+��V�R�
+D���ԴQ�@nu�I]��ԴQ�@n*5�@T;�[�JM+��V�Qg+��%�[�JM+��V�R�
+D���ԴQ�@nu�I]��ԴQ�@l*t�Ѭ8n*3�@D;�[�F��@R�@n*5�@T;�[�JM+��V�R�
+D��h��
+$u	�V�R�
+D���ԴQ�@n*5�@T;�[�F��@R�@n*5�@T;�[�JM+��V�R�
+D��h��
+$u	�V�BG+͊�V�2�
+D���ԴQ�@nu�I]��ԴQ�@n*5�@T;�[�JM+��V�P/�@P�@n*5�@T;�[�JM+��V�R�
+D��h��
+$u	�V�R�
+D���ԴQ�@n*5�@T;[�M+�̎�V�"G+Ɋ�V�2�
+D����bS�@|��x��O�����z����ŗ�>ݟ��_�%�����>�V���ӏ����7e���r��"�%����|��1��߿w��ƙ�z��ه������x����@;pG}9�>Xu;{C������������:β�o����J���P;pG=}
G�ngo��������)�ngo����t<ܟڨ�,�K��zxy��v��ځ;�����I���j�/���oB+u;{C��������(�q��%pG=}
�SJ���P;pG=}
�߄V�v��ځ;��k���v��ځ�/��A���v�͎�!O��Q��go�������V���P;pG}9<���w;{C���W�w/��8������������v���t�{�?���j��Q��go���������ԜEu
�QO_���T��7��QO_�ݳT��7��QO_�Ѫ��j��5|t?�r��%pG�?<��Ju;{C����p|��v��ځ;����~�ߏ�0+n����������YF����<Yu;{C����<�Iu;{C����-<�Ku;{C�������c�9D��3@J���3@J���3@J���3@F�3@�.�<�����ځ<�����ځ<�����ځ<d�9D��3@J���3@
+3@hV��)33@�v ��u������R3�j��R3�j��R3�j��Q��K ��)53@�v ��)53@�v ��)53@�v ��u������R3�j��R3�j��R3�j��Q��K ��)s�B�:g�8f�P�8�Rff��@��e�5�g��� T;�g��� T;�g��� T;�g��:g�H]yH��B�yH��B�yH��B�yȨs��%�g��� T;�g��� T;�g��� T;g�� 2;g�9f���8�Rff��@�Rjf�P�@�2�"u	� �f�� �f�� �f�� �� R�@�Rjf�P�@�Rjf�P�@�Rjf�P�@�2�"u	� �f�� �f�� �� 4+g�� ";�g��� D;�g��� T;�g��� T;�g��:g�H]yH��B�yH��B�yH��B�yȨs��%�g��� T;�g��� T;�g��� T;�g��z�u
� �f�� �f�� �� 4+�g��9g�]yH��B�yH��B�yH��B�yȨs��%�g��� T;�g��� T;�g��� T;�g��:g�H]yH��B�yH��B�yH��B�yȨs��%�g��� T;g�:f�Ь8�Rff��@�2�"u	� �f�� �f�� �f�� �� R�@�Rjf�P�@�Rjf�P�@�Rjf�P�@�2�"u	� �f�� �f�� �f�� �� R�@�R�B��xH��B�yH��B�yȨs��%�g��� T;�g��� T;�g��� T;�g��z�u
� �f�� �f�� �f�� �� R�@�Rjf�P�@�Rjf�P�@�Rjf�P�@�2hf���8�R�B��xH��B�y��m�>�6t�0��W3@�ߊ�1���W�f�Ƒ������/?���?|���n��/���?��Ǐw_>��������.���_w>�Y,��N������o���.�\,Uj���v K��b)���R��X�jr�Ԩ�XJ���R��X�jr�T�)��ځ\,Uj���v K�:���.�\,Uj���v K��b)���R��X�jr�Ԩ�XJ���R��X�jb�T��X�f�q�T�)�"ځ\,5�,���r�T�)��ځ\,Uj���v K��b)���R��b)�K K��b)���R��X�jr�T�)��ځ\,5�,���r�T�)��ځ\,Uj���v K��b)���R��b)�K K��KQ��b�G�Ŋ�b�2S,E��X*�K��5���JM���b�RS,E��X��KQ�@.�uKI]�X��KQ�@.�*5�RT;���JM���b�Qg���%���JM���b�RS,E��X��KQ�@,�4�R2;����R$+����L���b�RS,E��Xj�Y,%u	�b�RS,E��X��KQ�@.�*5�RT;���F��RR�@.�*5�RT;���JM���b�RS,E��Xj�Y,%u	�b�RS,E��X��KQ�@,�*tKѬ8,�2�R";����L���b�RS,E��X��KQ�@.�uKI]�X��KQ�@.�*5�RT;���JM���b�Qg���%���JM���b�RS,E��X��KQ�@.�
+�R,u
�b�RS,E��X��KQ�@,�*tKѬ8.�sK	]�X��KQ�@.�*5�RT;���JM���b�Qg���%���JM���b�RS,E��X��KQ�@.�uKI]�X��KQ�@.�*5�RT;���JM���b�Qg���%���JM���b�BG�͊�b�2S,E��Xj�Y,%u	�b�RS,E��X��KQ�@.�*5�RT;���F��RR�@.�*5�RT;���JM���b�RS,E��Xj�Y,%u	�b�RS,E��X��KQ�@.�*5�RT;���F��RR�@,�*tKѬ8.�*3�RD;���JM���b�Qg���%���JM���b�RS,E��X��KQ�@.�
+�R,u
�b�RS,E��X��KQ�@.�*5�RT;���F��RR�@.�*5�RT;���JM���b�RS,E��Xj�K��8,�*rK��8.�*3�RD;���Ԉ�R|��Xz�P,���Xz�b�)�x����q��@w�X�~8�>����}�e�S���/??~���/~����ߋ�`��^�;�|7<k^�}�����~��:nD;�_ǭԼ����q+5��F��u�F���&u	��q+5��F��u�J��Q�@~�R�:nT;�_�-���A]�u�J��Q�@~�R�:nT;�_ǭԼ����qu����%�_ǭԼ����q+5��F��u�
+�	hV�&s�&��j�R���j�j�R���j�j�R���j�j�Q�j�K �&(5�	�v �&(5�	�v �&(5�	�v �&u�&���j�R���j�j�R���j�j�R���j�j�Q�j�K �&(5�	�v �&(t�&�Yq���̬& ځ��`Թ�@�ȫ	J�j�ȫ	J�j�ȫ	J�j�ȫ	F��	�.����Ԭ&�ځ���Ԭ&�ځ���Ԭ&�ځ��`Թ�@�ȫ	J�j�ȫ	J�j�ȫ	J�j�ȫ	F��	�.�����m5��0\MP�XM@��x5A�YM@�y5A���P�@^MPjVP�@^MPjVP�@^MPjVP�@^M0�\M u	���f5����f5����f5������R�@^MPjVP�@^MPjVP�@^MPjVP�@\M0hV��8\MP�XM@��x5A�YM@�y5A�YM@�y5��s5��%�W���T;�W���T;�W���T;�W�:WH]y5A�YM@�y5A�YM@�y5A�YM@�y5��s5��%�W���T;�W���T;W:VЬ8\M0dV��8^MPfV�@^MPjVP�@^MPjVP�@^M0�\M u	���f5����f5����f5������R�@^MPjVP�@^MPjVP�@^MPjVP�@^M�e5�5�W���T;�W���T;W:VЬ8^M0�\M t	���f5����f5����f5������R�@^MPjVP�@^MPjVP�@^MPjVP�@^M0�\M u	���f5����f5����f5������R�@^MPjVP�@\MP�XM@��x5A�YM@�y5��s5��%�W���T;�W���T;�W���T;�W�:WH]y5A�YM@�y5A�YM@�y5A�YM@�y5��s5��%�W���T;�W���T;�W���T;�W�:WH]q5A�c5͊��ef5����f5������R�@^MPjVP�@^MPjVP�@^MPjVP�@^M�e5�5�W���T;�W���T;�W���T;�W�:WH]y5A�YM@�y5A�YM@�y5A�YM@�q5��YM ��p5A�c5Ɋ��ef5��Մ��ZM���V���yw5a�9���q�=����WƑ���N$|���l��?~��˷�+�ߴ����s��g:v�R������/��}(���r�_�)��ځ\�Wj���v ���b?���~�^�����\�Wj���v ���b?���~��؏jr�ߨ��O���~��؏jr�_�)��ځX�W�(��Yq\�7�,��r�_�)��ځ\�Wj���v ���b?���~��b?�K ���b?���~��؏jr�_�)��ځ\�7�,���r�_�)��ځ\�Wj���v ���b?���~��b?�K ���b?���~��b?���~e�؏hr�ߨ��O���~��؏jr�_�)��ځ\�Wj���v ��:���.�\�Wj���v ���b?���~��؏jr�ߨ��O���~��؏jr�_�)��ځ\�Wj���v ��:���.�T�W�V�G�:��
+�~+����L���b�P/�~P�@.�+5�~T;���JM���b�RS�G���o�Y�'u	�b�RS�G��د��Q�@.�+5�~T;���F��~R�@.�+5�~T;���JM���b�RS�G���o����8,�+r���8.�+3�~D;���JM���b�Qg���%���JM���b�RS�G��د��Q�@.�u�I]�د��Q�@.�+5�~T;���JM���b�Qg���%���JM���b�RS�G��د�Q�G���o����8.�+3�~D;���JM���b�RS�G���o�Y�'u	�b�RS�G��د��Q�@.�+5�~T;���F��~R�@.�+5�~T;���JM���b�RS�G���/�K��5���JM���b�RS�G��د�Q�G���o�Y�'t	�b�RS�G��د��Q�@.�+5�~T;���F��~R�@.�+5�~T;���JM���b�RS�G���o�Y�'u	�b�RS�G��د��Q�@.�+5�~T;���F��~R�@.�+5�~T;��
+�~4+����L���b�Qg���%���JM���b�RS�G��د��Q�@.�u�I]�د��Q�@.�+5�~T;���JM���b�Qg���%���JM���b�RS�G��د��Q�@.�u�I]�د�Q�G��د���@.�+5�~T;���F��~R�@.�+5�~T;���JM���b�RS�G���/�K��5���JM���b�RS�G��د��Q�@.�u�I]�د��Q�@.�+5�~T;���JM���b�AS�'��د�Q�G��د���@.���U��c+�_=���c)������~�N��q��@���_����~�x�ӏ�>��ۛn��WQ����w>��׽���p��7���r���ޖ̟�//��=�;�v��ځ;�����I���j�/����)u;{C��������(�q��%pG=}
� J���P;pG=}
��SS�v��ځ;��k���v��ځ�/���Ρ�Q6;n�<}ǣ4��7��QO��G�ngo�����f���U��UR�@^5QjVMP�@^5QjVMP�@^5QjVMP�@^5�e��5�WM��UT;�WM��UT;�WM��UT;�WM�:WMH]y�D�Y5A�y�D�Y5A�q�D�c�͊�Uc�UB�@^5QjVMP�@^5QjVMP�@^5QjVMP�@^51�\5!u	�U�f���U�f���U�f���U��UR�@^5QjVMP�@^5QjVMP�@^5QjVMP�@^51�\5!u	�U�f���U��U4+�WM��UD;�WM�:WMH]y�D�Y5A�y�D�Y5A�y�D�Y5A�y�ĨsՄ�%�WM��UT;�WM��UT;�WM��UT;�WM�:WMH]y�D�Y5A�y�D�Y5A�y�D�Y5A�y�ĨsՄ�%�VM�����x��&
+�&(V��(3�&�v ����j�ȫ&Jͪ	�ȫ&Jͪ	�ȫ&Jͪ	�ȫ&F��&�.��j�Ԭ��ځ�j�Ԭ��ځ�j�Ԭ��ځ�jbԹjB�ȫ&Jͪ	�ȫ&Jͪ	�ȫ&Jͪ	���&ͪ	���&��&HV��(3�&�v ��(5�&�v ��u�����R�j�j�R�j�j�R�j�j�Q�	�K ��(5�&�v ��(5�&�v ��(5�&�v ��u�����R�j�j�R�j�j⪉BǪ	���&�̪	�ǫ&�̪	�ȫ&Jͪ	�ȫ&Jͪ	�ȫ&F��&�.��j�Ԭ��ځ�j�Ԭ��ځ�j�Ԭ��ځ�jbԹjB�ȫ&Jͪ	�ȫ&Jͪ	�ȫ&Jͪ	�ȫ&B������R�j�j�R�j�j⪉BǪ	�ǫ&Ɯ�&�.��j�Ԭ��ځ�j�Ԭ��ځ�j�Ԭ��ځ�jbԹjB�ȫ&Jͪ	�ȫ&Jͪ	�ȫ&Jͪ	�ȫ&F��&�.��j�Ԭ��ځ�j�Ԭ��ځ�j�Ԭ��ځ�jbԹjB�ȫ&Jͪ	���&
+�&hV��(3�&�v ��u�����R�j�j�R�j�j�R�j�j�Q�	�K ��(5�&�v ��(5�&�v ��(5�&�v ��u�����R�j�j�R�j�j�R�j�j�Q�	�K ��(t���Yq�j�̬� ځ�j�Ԭ��ځ�jbԹjB�ȫ&Jͪ	�ȫ&Jͪ	�ȫ&Jͪ	�ȫ&B������R�j�j�R�j�j�R�j�j�Q�	�K ��(5�&�v ��(5�&�v ��(5�&�v ��4�&dv��(r�� Yq�j�̬� ځ�j�;�WM�9�U���x}�]5���i��|����VM�#���8VM���/����?o������/��|�������{�������n������n���1wk��<�~��5k�N�oV;k�N�oV;k�N�oV;k�JM��%k�N�oV;k�N�oV;�j��j�lV־���7�K ־�:j߬v ־�:j߬v ־�:j߬v ־���7�K ־�:j߬v ־�:j߬v ־�:j߬v ־���7�K ־�:j߬v ־�:j߬v ־�:j߬v ־���7�K ־�:j߬v վ�վ٬8�};sԾ�@�}+5�oT�@�};uԾY�@�};uԾY�@�};uԾY�@�}+5�oT�@�};uԾY�@�};uԾY�@�};uԾY�@�}+5�oT�@�};uԾY�@�};uԾY�@�};uԾY�@�}+5�oT�@�};�{���0�};p�}�XqX�v�}3ځX�6�}��b�۩���jb�۩���jb�۩���jb�[��}��b�۩���jb�۩���jb�۩���jb�[��}��b�۩���jb�۩���jb�۩���jR�[����f�Q�ۑ[�Ɋ�ڷ3G���ڷSG���ڷRS�Fu	�ڷSG���ڷSG���ڷSG���ڷRS�Fu	�ڷSG���ڷSG���ڷSG���ڷRS�Fu	�ڷSG���ڷSG���ڷC��7�G�oE��7���og��7���o���7���o���7���o�������o���7���o���7���o���7���o�������o���7���o���7���o���7���o���7�k ־�:j߬v ־�:j߬v վ�վ٬8�}+3�oD�@�};uԾY�@�};uԾY�@�};uԾY�@�}+5�oT�@�};uԾY�@�};uԾY�@�};uԾY�@�}+5�oT�@�};uԾY�@�};uԾY�@�};uԾY�@�}+5�oT�@�};uԾY�@�};t�}�YqX�v�}3ځX�Vjjߨ.�X�v�}�ځX�v�}�ځX�v�}�ځX�Vjjߨ.�X�v�}�ځX�v�}�ځX�v�}�ځX�Vjjߨ.�X�v�}�ځX�v�}�ځX�v�}�ځX�Vjjߨ.�T�v�V�f�����Q�f�����Q�f�����ԾQ]����Q�f�����Q�f�����Q�f���m�Y�&u
�ڷSG���ڷSG���ڷSG���ڷRS�Fu	�ڷSG���ڷSG���ڷSG���ڷBG�͎�ڷ#��7���og��7���o�/߬}�s|?s���{�ox������������N��i�����O�>����'���F�������ur�O��~���.�����}�����u�<�u��8��2U]"+��F=]�ø�+�Y��㸢k�4t��8��2�\"+�˹�L7�Ȋ�f� g1Ȏ�Z�!��%�⸓k�Tr��8.�2}\"+�۸��e\ ;����L�Ȋ��!S�%�⸄k�tp��8n�
+rp��8��2�["+��F�[�øxk��nI�8n�
+r�n��8��2�["+����LݖȊ㲭!ӵ%��i+�Y���fkȴl��8��2["+���L��Ȋ�v� g�Ȏ�j�!Ӭ%��Wk��j��8.�2�Z"+�����Z ;���ڴ�]Ea��h�JK�ui
�-��-���D�O.q\�5d�DV�g
��,���YC�;Kd�qsV��8d�qm֐i�Yqܙ5d*�DVf
��,��mYAβ,��UYC�)Kd�qO֐��Yq\�5d:�DV6d���,���X�v,y�a܍5`��$Vc
�^,�ǭXA�R,�ǕXC�Kd�q֐��Yq\�5d��DV7a9��@v�`
�,��XC�Kd�q֐�Yq�~�,��q\}5d��DV�^
��+���W#��+��a�x^
+��U�]
��+��]WC��Jd�q�Ր�Yq�r�,��q\q5d�DV�[
�z+���VC��Jd�q�U���
+d�q�Րi�Yq�i5d*�DVZ
�>+��m���̺O.q\e5d��DV�X
�+��%V#�+��a�`�,���q\_5dګDVwW
��*���UC��Jd�qkU���
+d�qeՐi�Yq�W5d�DV�U
��*��MUA΢*��5UC��Jd�qGՐ��Yq\P5d��DV�S9˩@vWS
�f*���T#�Z*��a\J5`:�$V7R9�@v�Q
�6*��]TC��Jd�qՐ�Yq�B�,��q\A5d�DV�O
��)���SC�{Jd�q�T��x
+d�q�Ԑi�Yq�95d*�DVN
��)��mSAβ)��US#��)��a�35`j�$V�L
��)��
SA΂)���RC�]Jd�q�Ԑ��Yq\,5dz�DV�Jo��R�>��q�Ԑi�Yq�'5d�DV�I
�.)��MRA�")��5RC�EJd�q�Ԑ��Yq\ 5d��DV�G���(���Q��(y�a�5`j�$V�Fw[��3J�UF/����݇��
+�����~���8r~��Q��?���O??����?���۟�����m����叟�����|;�������������ޖIϿ�vq��\��_�ڤ��_I�#W%�푷��D;�$F�
R�@�(5%T;�k$JM���&�RS%A��Lb��&!u	�>�RS(A��R��tJP�@n�(5�T;��%F��R�@�(5�T;��%JM��䆉RS1A��db��2!u	���2��	��aX5Q�蚠Xq�6Qf�&�v N�zi���r�D�)��ځ\;Qjz'�v 7O���	������	�K �O��
+������jrE����ځ\D1�l���rE�)��ځ\GQj�(�v 7R��J
+������Bf�a/E����d�q5E�� ځ�NQj�)�v T�:*�.��QQjJ*�v �T���
+��M����jrYŨ��B��}����jreE�鬠ځ�ZQjj+�v W�:�+�.��]Qj�+�v �W���
+��
��
+��%C��Bd�q�E�)� ځ\eQj�,�v �Y��:�ȅ��F�K wZ��R�ȵ��ׂjr�E����ځ\n1�l���r�E�)��ځ\qQj:.�v �\�����E�^�.����uQj�.�v �]����������ǥc���K �^����������jr�E����ځ\�1�l���rF�)��ځ\�Qjz0�v 7a��*��e��6�K �a��B�ȕ���jr+F��Šځ\�1�lƐ�r7F�)ǠځX�Q��ǠYqܐQf*2�v �d�:[2�.�ܓQj�2�v We�����m��.�jraƨ�1C�ȝ��4�jrmF��͠ځܜQj�3�v �g�:�3�.�ܟQj
+4�v Wh��
��-��F�jr�ƨ�IC��]��2
��ue�O�hr�F��Ԡځ\�1�lՐ�r�F�)֠ځ\�Qj�5�v �k��z
���^6���ܱQjJ6�v �l���
��M��j�jr�ƨ�mC��}��p�jr�F��ܠځܺQjj7�v o��
���E��
���e��hr��"���ϱup�J8�ϱ�p��zx8=�pƑ���������ï?~��筂�<��|��ω.�o?��%��?��������<]]?����^ϿW��A�Q��7��Q�G�ngo����^�W|�����v�����p����q��%pG�?��Xu;{C�����_�'�ngo����^οW����
��W�O_ãT�YV����5���(u;{C����5��T���j��Ϊ��j������;�nG���������@;pG=}�����v���r��f?���
��W_����g�eu	�Q���V���P;pG}:�=�s��
�w����(���7�|�����5<85gQ]w���p�$���
�w���p�,���
�w���p��v��ځ;o��6�|g1�K ��X�ym1��/.Vj�\�j⻋:^^�f��닍9�_L��o0Vj^a�j�K�����ځ�c��Eƨv ��ب�]Ƥ.��6c��uƨv ��X�y�1���4Vj^j�j�k��:�kL��o6Vj^m�j�ˍ����ځ�~c��Ǩv ��ب�Ǥ.���c��5Ǩv ��X�c�͊�ef����εR�@^�Qj�jP�@^�Qj�jP�@^�Qj�jP�@^�1�\�!u	��f����f����f����εR�@^�Qj�jP�@^�Qj�jP�@^�Qj�jP�@^�1�\�!u	��enk5(^��Z��Z
��k5��Z
��k5B��Հ��Z�R�V�j�Z�R�V�j�Z�R�V�j�Z�Q�Z
�K ��(5k5�v ��(5k5�v ��(5k5�v ��u�Ր��Z�R�V�j�Z�R�V�j�Z�R�V�j�Z�A�VCf��Z�"�Z
��k5��Z
��k5J�Z
��k5F�k5�.��V�Ԭՠځ�V�Ԭՠځ�V�Ԭՠځ�VcԹVC��k5J�Z
��k5J�Z
��k5J�Z
��k5F�k5�.��V�Ԭՠځ�V�Ԭՠځ�V�бV�f��Z�!�VCd��Z�2�V�h�Z�R�V�j�Z�R�V�j�Z�Q�Z
�K ��(5k5�v ��(5k5�v ��(5k5�v ��u�Ր��Z�R�V�j�Z�R�V�j�Z�R�V�j�Z�P/k5����V�Ԭՠځ�V�Ԭՠځ�V�бV�f��Z�1�Z
�K ��(5k5�v ��(5k5�v ��(5k5�v ��u�Ր��Z�R�V�j�Z�R�V�j�Z�R�V�j�Z�Q�Z
�K ��(5k5�v ��(5k5�v ��(5k5�v ��u�Ր��Z�R�V�j�Z�B�Z
��k5��Z
��k5F�k5�.��V�Ԭՠځ�V�Ԭՠځ�V�Ԭՠځ�VcԹVC��k5J�Z
��k5J�Z
��k5J�Z
��k5F�k5�.��V�Ԭՠځ�V�Ԭՠځ�V�Ԭՠځ�VcԹVC��k5
+k5hV��(3k5�v ��(5k5�v ��u�Ր��Z�R�V�j�Z�R�V�j�Z�R�V�j�Z�P/k5����V�Ԭՠځ�V�Ԭՠځ�V�Ԭՠځ�VcԹVC��k5J�Z
��k5J�Z
��k5J�Z
��k5�Z
��k5�J������r�x��9t�Ǐwg\��o{�������	g\Ƒ�2s����O�����Ό���'�����'�;�=���K�M�������O��}�6A�y�Ĩsڄ�%��M��iT;��M��iT;��M��iT;��M�:�MH]y�D��6A�y�D��6A�y�D��6A�q�Ġ�6!��x�D��6A�y�D��6A�y�D��6A�y�Ĩsڄ�%��M��iT;��M��iT;��M��iT;��M�z�6u
�i�f���i�f���i�f���i��iR�@�6Qj�MP�@�6Qj�MP�@�6Q�6A��x�Ęsڄ�%��M��iT;��M��iT;��M��iT;��M�:�MH]y�D��6A�y�D��6A�y�D��6A�y�Ĩsڄ�%��M��iT;��M��iT;��M��iT;��M�:�MH]y�D��6A�q�D�c�͊�ief���i��iR�@�6Qj�MP�@�6Qj�MP�@�6Qj�MP�@�61�6!u	�i�f���i�f���i�f���i��iR�@�6Qj�MP�@�6Qj�MP�@�6Qj�MP�@�61�6!u	�ien�&(^�ᴉǴ	���&�̴	���&B�L����R3m�j�R3m�j�R3m�j�Q�	�K O�(5�&�v O�(5�&�v O�(5�&�v O�uN����R3m�j�R3m�j�R3m�jⴉA3mBf�ᴉ"Ǵ	���&�̴	���&Jʹ	���&F��&�.�<m��L��ځ<m��L��ځ<m��L��ځ<mb�9mB���&Jʹ	���&Jʹ	���&Jʹ	���&F��&�.�<m��L��ځ<m��L��ځ8m��1m�f�ᴉ!3mBd��23m�h�R3m�j�R3m�j�Q�	�K O�(5�&�v O�(5�&�v O�(5�&�v O�uN����R3m�j�R3m�j�R3m�j�P/�&���<m��L��ځ<m��L��ځ8m��1m�f��1�	�K O�(5�&�v O�(5�&�v O�(5�&�v O�uN����R3m�j�R3m�j�R3m�j�Q�	�K O�(5�&�v O�(5�&�v O�(5�&�v O�uN����R3m�jⴉBǴ	���&�̴	���&F��&�.�<m��L��ځ<m��L��ځ<m��L��ځ<mb�9mB���&Jʹ	���&Jʹ	���&Jʹ	���&F��&�.�<m��L��ځ<m��L��ځ<m��L��ځ<mb�9mB���&
+�&hVO�(3�&�v O�(5�&�v O�uN����R3m�j�R3m�j�R3m�j�P/�&���<m��L��ځ<m��L��ځ<m��L��ځ<mb�9mB���&Jʹ	���&Jʹ	���&Jʹ	���&ʹ	���&�Kn�cL�\=M��?�2mr��&���ǻ�6G�'�&�������������������_~����?m����>�?�/�8~��ӗ�>�-q��~�uq�y��闃�;��a)�au�ײ߰z� аB��a��4�P�@nX)5
+T;�VF�
+R�@nX)5
+T;V
+
+4+�V�L�
+�䆕QgÊ�%�VJM�
+�䆕RӰB��a��4�P�@nXu6�H]�a��4�P�@nX)5
+T;�VJM�
+�䆕QgÊ�%�VJM�
+�䆕RӰB��a��4�P�@nXu6�H]�a�̭a��u6�8V(V7������
+�^V���ܰRjV�v 7������
+��a�jr�ʨ�aE��
+��a�jr�J�iX�ځܰRjV�v 7��:V�.�ܰRjV�v 7������
+��a�jb�ʠiX��qذR�hX!YqܰRfV�v 7������
+�Ά�K 7������
+��a�jr�J�iX�ځܰ2�lX��r�J�iX�ځܰRjV�v 7������
+�Ά�K 7������
+��a�jb�J��a�f�a�ʐiX�qܰRfV�v 7������
+��a�jr�ʨ�aE��
+��a�jr�J�iX�ځܰRjV�v 7��:V�.�ܰRjV�v 7������
+��a�jr�J����k 7������
+��a�jb�J��a�f�q�ʘ�aE��
+��a�jr�J�iX�ځܰRjV�v 7��:V�.�ܰRjV�v 7������
+��a�jr�ʨ�aE��
+��a�jr�J�iX�ځܰRjV�v 7��:V�.�ܰRjV�v 6�:VhV7������
+�Ά�K 7������
+��a�jr�J�iX�ځܰ2�lX��r�J�iX�ځܰRjV�v 7������
+�Ά�K 7������
+��a�jr�J�iX�ځܰ2�lX��b�J��a�f�q�J�iX!ځܰRjV�v 7��:V�.�ܰRjV�v 7������
+��a�jr�J����k 7������
+��a�jr�J�iX�ځܰ2�lX��r�J�iX�ځܰRjV�v 7������
+��aEf�a�j��V��aU}�������m/����5�Ƒ����2������_����>�V���o����������ƿ��ן~��ӗo���w~<��py�w
+W�����ռue����_�������Q�@�u��ܺG��ֽQ�{R�@�u��ܺG��ֽRs���[�Jͭ{T;�o�u޺'u	�[���nݣx���8nݣXq|�^��u�h�{�^n݃��{���=�ȷ[��v ߺWjnݣځ|�ި��=�K ߺWjnݣځ|�^��u�j�{���=�ȷ�:oݓ��{���=�ȷ[��v ߺWjnݣځx�ޠ�uOf��{E�[�HVߺWfn�#ځ|�^��u�j�{��[��.�|�^��u�j�{���=�ȷ[��v ߺ7�uO�ȷ[��v ߺWjnݣځ|�^��u�j�{��[��.�|�^��u�j�{���=����:nݣYqx�ސ�uOd��{e��=�ȷ[��v ߺWjnݣځ|�ި��=�K ߺWjnݣځ|�^��u�j�{���=�ȷ�:oݓ��{���=�ȷ[��v ߺWjnݣځ|�^��[����|�^��u�j�{���=����:nݣYq|�ޘ��=�K ߺWjnݣځ|�^��u�j�{���=�ȷ�:oݓ��{���=�ȷ[��v ߺWjnݣځ|�ި��=�K ߺWjnݣځ|�^��u�j�{���=�ȷ�:oݓ��{���=����:nݣYq|�^��u�h�{��[��.�|�^��u�j�{���=�ȷ[��v ߺ7�uO�ȷ[��v ߺWjnݣځ|�^��u�j�{��[��.�|�^��u�j�{���=�ȷ[��v ߺ7�uO����:nݣYq|�^��u�h�{���=�ȷ�:oݓ��{���=�ȷ[��v ߺWjnݣځ|�^��[����|�^��u�j�{���=�ȷ[��v ߺ7�uO�ȷ[��v ߺWjnݣځ|�^��u�j�{���=�����/��[������sЭ��G9�����oxϷ�O�N}x������������]�����D��8q~����o����_ׇ:~|=ܟ�Va������ �<��������?K�\=̛/�x|8||�{�)�!��LV��tx<W�v�Ɋ�!_O�q}p�v�Ɋ{��;}��G������	�!��LV�y�����͐�Q&+n�<}�GInG������Ӈ�o�G�����z��n�܎2Yq;����E��Q&+n�|9�>�:r;�dŽO>O�G�������n'���N���с�Q+n�<}��܎2Yq�O����G�����߹�\�(��C�>��$��LV�y��?��\�(��>�t<ܿ��\�(��C�^^$�e��vȧ�����q�Ɋ�!_/O�'�8�dŽO����ё�(��C�>���ke��v�Ӈ�~���LV�y���$�e���'_N�����$���>���12��Xq;���(��(��C��_�Ǻe���'_����cdE��v����$��LV�y�5����5�2Yq;���t?F�Q&+�����Ӈ���%r��!O���#��LV�y����e��v�Ӈ��v�Ɋ{�<�>���'W�"�q;�����Ց�Q&+n�|:_$�e��vȗÓ�\��d�:�}��x8>�#9�b�퐧O�I��Q&+n�<}�w�܎2Yq;���w�v�Ɋ{��?}���G������=8r;�d�퐧��~���LV�y��?Jr;�d����z��[��]�@v��ېy�7�ǯ�6d��Md��;�
�W|Yq��oA��{�q�voC���DV��ۈ���^��{�
��z�Xq�RoA�wz�q�FoC��DV��ېy�7����6d^�Md��9��
d��[�
�91"+����-1"+����!1"+�g�9WĀ�8�3d&Ĉ�83d�È�8^3d�È�8��\��h7̀�lqWQ8f��F�u/�0�a$Vυ�&/ka���[a��T��Ca��N��+a��H��a��a@v�2�`DV��2�`DV/�2�`DVς	r���q�	f�L�Yq<f��Yq�fȌ�Yq8&�,�Xa�f�1F�u��0`$V/�2`DV�	r��q��e�LYq<�e��~Yq��eȌ~Yq<�%ȹ�d��ޗ!3�Ed��ؗ!��Ed��җ!3�Ed��̗ ����_�����_�̾���^F�^^�ᴗ��^��3�Eb��!��Ed��!3�Ed�� ���[^�̔��C^�̎��+^�̈��^��^@v�w2�]DV�w2�]DV/w2�]DV�v�&/�]��Ǜ]��d�ǃ]��^��k]Fc]^��T���R��;]��L��#]��F��]��@���\���\@vos2�\DVs2�\DV�r2�\DVOr	r.r�q��e��qYq<�e�lqYq��e�qYq<�%ȹ�d���!3�Ed��������a��e��o�Xq<�%ȹ�d���!3�Ed���!��Ed���!3�Ed��ܖ ����[[�����C[�����+[�����[��[@v�k2�ZDV�k2�ZDV/k2�ZDV�j	r�j�q��e�1�E�uj0{Z$V�i2cZDVOi	r.i�q��e��hYq<�e�lhYq��e�hYq<�u���g�Kog2�YDVg2�YDV�f2�YDVOf	r.f�q��e��eYq<�e�leYq��e�eYq8�%ĬdXa�����&���B��!��v�v��zk������������@�Wt�#��w���y>����\b"���tCendstream
+endobj
+1162 0 obj <<
+/Type /Page
+/Contents 1163 0 R
+/Resources 1161 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1014 0 R
+/Annots [ 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 0 R 1171 0 R 1172 0 R 1173 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1202 0 R 1203 0 R 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R 1219 0 R 1220 0 R 1221 0 R 1222 0 R 1223 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R ]
+>> endobj
+1165 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 708.244 166.027 715.098]
+/Subtype /Link
+/A << /S /GoTo /D (patchviewer) >>
+>> endobj
+1166 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 708.244 537.983 715.098]
+/Subtype /Link
+/A << /S /GoTo /D (patchviewer) >>
+>> endobj
+1167 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 693.235 171.397 702.147]
+/Subtype /Link
+/A << /S /GoTo /D (hintsandtips) >>
+>> endobj
+1168 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 693.235 537.983 702.147]
+/Subtype /Link
+/A << /S /GoTo /D (hintsandtips) >>
+>> endobj
+1169 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 682.341 185.822 689.195]
+/Subtype /Link
+/A << /S /GoTo /D (userpreferences) >>
+>> endobj
+1170 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 682.341 537.983 689.195]
+/Subtype /Link
+/A << /S /GoTo /D (userpreferences) >>
+>> endobj
+1171 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 667.333 194.43 676.244]
+/Subtype /Link
+/A << /S /GoTo /D (reporting) >>
+>> endobj
+1172 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 667.333 537.983 676.244]
+/Subtype /Link
+/A << /S /GoTo /D (reporting) >>
+>> endobj
+1173 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 654.381 139.646 663.293]
+/Subtype /Link
+/A << /S /GoTo /D (flags) >>
+>> endobj
+1174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 654.381 537.983 663.293]
+/Subtype /Link
+/A << /S /GoTo /D (flags) >>
+>> endobj
+1175 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 639.173 160.059 648.06]
+/Subtype /Link
+/A << /S /GoTo /D (faq) >>
+>> endobj
+1176 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 639.173 537.983 648.06]
+/Subtype /Link
+/A << /S /GoTo /D (faq) >>
+>> endobj
+1177 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 623.831 152.746 632.717]
+/Subtype /Link
+/A << /S /GoTo /D (troubleshooting) >>
+>> endobj
+1178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 623.831 537.983 632.717]
+/Subtype /Link
+/A << /S /GoTo /D (troubleshooting) >>
+>> endobj
+1179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 610.411 177.534 617.265]
+/Subtype /Link
+/A << /S /GoTo /D (general-advice) >>
+>> endobj
+1180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 610.411 537.983 617.265]
+/Subtype /Link
+/A << /S /GoTo /D (general-advice) >>
+>> endobj
+1181 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 595.402 324.033 604.314]
+/Subtype /Link
+/A << /S /GoTo /D (2867) >>
+>> endobj
+1182 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 595.402 537.983 604.314]
+/Subtype /Link
+/A << /S /GoTo /D (2867) >>
+>> endobj
+1183 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 583.168 400.057 591.362]
+/Subtype /Link
+/A << /S /GoTo /D (2874) >>
+>> endobj
+1186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 583.168 537.983 591.362]
+/Subtype /Link
+/A << /S /GoTo /D (2874) >>
+>> endobj
+1187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 569.499 311.111 578.411]
+/Subtype /Link
+/A << /S /GoTo /D (2884) >>
+>> endobj
+1188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 569.499 537.983 578.411]
+/Subtype /Link
+/A << /S /GoTo /D (2884) >>
+>> endobj
+1189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 556.548 244.133 565.459]
+/Subtype /Link
+/A << /S /GoTo /D (2889) >>
+>> endobj
+1190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 556.548 537.983 565.459]
+/Subtype /Link
+/A << /S /GoTo /D (2889) >>
+>> endobj
+1191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 543.597 244.81 552.508]
+/Subtype /Link
+/A << /S /GoTo /D (paranoid-security) >>
+>> endobj
+1192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 543.597 537.983 552.508]
+/Subtype /Link
+/A << /S /GoTo /D (paranoid-security) >>
+>> endobj
+1193 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 531.621 346.19 539.557]
+/Subtype /Link
+/A << /S /GoTo /D (trouble-filetemp) >>
+>> endobj
+1194 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 531.621 537.983 539.557]
+/Subtype /Link
+/A << /S /GoTo /D (trouble-filetemp) >>
+>> endobj
+1195 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 517.694 304.407 526.605]
+/Subtype /Link
+/A << /S /GoTo /D (trbl-relogin-everyone) >>
+>> endobj
+1196 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 517.694 537.983 526.605]
+/Subtype /Link
+/A << /S /GoTo /D (trbl-relogin-everyone) >>
+>> endobj
+1197 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 504.742 312.018 513.654]
+/Subtype /Link
+/A << /S /GoTo /D (2943) >>
+>> endobj
+1198 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 504.742 537.983 513.654]
+/Subtype /Link
+/A << /S /GoTo /D (2943) >>
+>> endobj
+1199 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 491.791 348.133 500.702]
+/Subtype /Link
+/A << /S /GoTo /D (trbl-index) >>
+>> endobj
+1200 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 491.791 537.983 500.702]
+/Subtype /Link
+/A << /S /GoTo /D (trbl-index) >>
+>> endobj
+1201 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 478.486 117.668 485.469]
+/Subtype /Link
+/A << /S /GoTo /D (patches) >>
+>> endobj
+1202 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 478.486 537.983 485.469]
+/Subtype /Link
+/A << /S /GoTo /D (patches) >>
+>> endobj
+1203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 463.044 241.901 470.017]
+/Subtype /Link
+/A << /S /GoTo /D (cmdline) >>
+>> endobj
+1204 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 463.044 537.983 470.017]
+/Subtype /Link
+/A << /S /GoTo /D (cmdline) >>
+>> endobj
+1205 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 448.155 292.402 457.066]
+/Subtype /Link
+/A << /S /GoTo /D (cmdline-bugmail) >>
+>> endobj
+1206 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 448.155 537.983 457.066]
+/Subtype /Link
+/A << /S /GoTo /D (cmdline-bugmail) >>
+>> endobj
+1207 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 434.849 238.135 441.833]
+/Subtype /Link
+/A << /S /GoTo /D (install-perlmodules-manual) >>
+>> endobj
+1208 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 434.849 537.983 441.833]
+/Subtype /Link
+/A << /S /GoTo /D (install-perlmodules-manual) >>
+>> endobj
+1209 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 419.407 162.331 426.381]
+/Subtype /Link
+/A << /S /GoTo /D (modules-manual-instructions) >>
+>> endobj
+1210 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 419.407 537.983 426.381]
+/Subtype /Link
+/A << /S /GoTo /D (modules-manual-instructions) >>
+>> endobj
+1211 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 406.456 198.326 413.43]
+/Subtype /Link
+/A << /S /GoTo /D (modules-manual-download) >>
+>> endobj
+1212 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 406.456 537.983 413.43]
+/Subtype /Link
+/A << /S /GoTo /D (modules-manual-download) >>
+>> endobj
+1213 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 391.567 187.516 400.478]
+/Subtype /Link
+/A << /S /GoTo /D (modules-manual-optional) >>
+>> endobj
+1214 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 391.567 537.983 400.478]
+/Subtype /Link
+/A << /S /GoTo /D (modules-manual-optional) >>
+>> endobj
+1215 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 378.262 229.548 385.245]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl) >>
+>> endobj
+1216 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 378.262 537.983 385.245]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl) >>
+>> endobj
+1217 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 362.82 143.232 369.793]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-0) >>
+>> endobj
+1218 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 362.82 537.983 369.793]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-0) >>
+>> endobj
+1219 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 347.93 217.961 356.842]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-1) >>
+>> endobj
+1220 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 347.93 537.983 356.842]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-1) >>
+>> endobj
+1221 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 334.979 178.839 343.89]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-2) >>
+>> endobj
+1222 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 334.979 537.983 343.89]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-2) >>
+>> endobj
+1223 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 322.028 187.426 330.939]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-3) >>
+>> endobj
+1224 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 322.028 537.983 330.939]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-3) >>
+>> endobj
+1225 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 311.014 160.956 317.988]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-4) >>
+>> endobj
+1226 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 311.014 537.983 317.988]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-4) >>
+>> endobj
+1227 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 296.125 198.315 305.036]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-5) >>
+>> endobj
+1228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 296.125 537.983 305.036]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-5) >>
+>> endobj
+1229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 285.111 209.653 292.085]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-6) >>
+>> endobj
+1230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 285.111 537.983 292.085]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-6) >>
+>> endobj
+1231 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 270.222 255.401 279.133]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-7) >>
+>> endobj
+1232 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 270.222 537.983 279.133]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-7) >>
+>> endobj
+1233 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 259.328 150.635 266.182]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-8) >>
+>> endobj
+1234 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [523.039 259.328 537.983 266.182]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-8) >>
+>> endobj
+1235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 246.257 154.161 253.23]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-9) >>
+>> endobj
+1236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [523.039 246.257 537.983 253.23]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-9) >>
+>> endobj
+1237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 233.425 239.291 240.279]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-10) >>
+>> endobj
+1238 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [523.039 233.425 537.983 240.279]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-10) >>
+>> endobj
+1239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.641 218.416 271.65 227.327]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-howto) >>
+>> endobj
+1240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [523.039 218.416 537.983 227.327]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl-howto) >>
+>> endobj
+1241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 203.208 109.369 212.095]
+/Subtype /Link
+/A << /S /GoTo /D (glossary) >>
+>> endobj
+1242 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [523.039 203.208 537.983 212.095]
+/Subtype /Link
+/A << /S /GoTo /D (glossary) >>
+>> endobj
+1164 0 obj <<
+/D [1162 0 R /XYZ 71.731 729.265 null]
+>> endobj
+1161 0 obj <<
+/Font << /F27 1020 0 R /F32 1027 0 R /F35 1185 0 R /F33 1116 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1283 0 obj <<
+/Length 12073     
+/Filter /FlateDecode
+>>
+stream
+xڭ�M�\�aE��\�>���2J���$��M�Ř�(”��!ۿ>���V���:uYH���ѓԖtO���j�����z:n�_l�������V�>̿��[���a��7����o���t>m_��!|��w���f�j����~���v�l�~�������/o�n��׏?.����_��?�������P�{8������-G�ޜY���j�ۛGБ�#ޮ�Y�_����wo���}����}{����/����o?}���f����I7�մ_�QW�qs���ܬ��f��C�n���l��p�A�X���;����1�.gVv���N��فՁ����5�N���ek�X���|��فՁ�aZ�R�rv`u`�z����oGN��Wn����Μ�,K`�:��Cj]���X�w0�U=�.gVv��[�mC�rv`u�}�v~
��Zβ�v��k��B�rv`u`�:���>�.gVv��kX����������zZ�Ï�r��
�c�N�S��S���X��Z���;�ӴO�*\���o�ϯa~���lm���v�u9;�:�c�_C�����i��r~����Hx�z���&���lm������\9;�:�c���*�.gVv��iw?��فՁ�����7����,[`Ǻ�v�Ժ�Xر�����\9;�:�c�_�>��+gV޷��װ��,[`�:��m�1W���X�װ	?��فՁ��֩u9;�:��<��U�1Wβ�v��k����-���O�߲.GF�u��i{
+?��فԁw���j:���Ek�X����Z���;��-췡u9;�:�c�_�nZ����[��k؆�r��
�c�_�fZ���;��5��u9;�:�c�_�*�.gV޷nV��}��,[`Ǻ��O�к�Xر��1�.gVv��is8������������?����t\G9�������@i��r~�u�\���X��
?m�فՁ���˿�	��,[`�:��u�W���X���c�Xر���9�.gV޷�W���ySβ�v��i����Xر��!�.gVv��k؇�q���������v�M9��رίa�Z���;��5l�ϸrv`u`�:���/��с�p������7�QV:���_�*u.gRv��i疳�;�Ӵ:����������j��ϸr��
�c�N�C�iS���X�װO��فՁ��v�g\9;�:��<��mh-g���;��5l�ϸrv`u`Ǻ�m}�X���;��5�R�rv`u�]�n��v��3Ng��;��t�����X���Z���;���C�rt�4�}�z~�G�β�v��;ا�������u~�Mh]���X��Ntv`u�}�f~
��Zβ�v��kX�B�rv`u`�:��pv���;��t:����������jڞ��9�ek�X7�)��������u?m�u9;�:�c�_�>��+gV޷����Nt��
�c�_�6�.gVv��k�Ҵ8
�Q�� ����@������֡��ek�X�w�Ntv`u`Ǻ�6��DgVv���xJ��فՁ���մ	g':��رn�c8;�فՁ����u9;�:�c�_C8;�فՁ����5���ek�X�װI��فՁ���ى���X���Ntv`u�}�i5��`Bg���;��tH�ߎ���(��:���@����8��u9;�:��<��p|��lm��������X�װK��فՁ�������kݯ���m�Ek�X�װN��فՁ�������X��>��L:;�:�u��Va0��lm��fڇ��Xر��!�.gVv��k�	�Xxߺ�_C�'�r����(�w��ߎ���(��:;�:�c�_����5%��#�N��9M���+g,�޾x��wS}]��;	�a>|	��'����ϟ?���n�nv܀_�t�r���ڀ���O��ˇ����\����������2���}ݹ�z.��ӷ%�C�O�⏓��M�!���x)]���q�v:�סs9;�:�c=L�Uj]���XO����]���o=����O��Zβ�v���xL��فՁ�a�\�%zd]���X��p���;�������U���z��-�/������� "�.�@��2�Ȫ� ��@�"��� ����2�Ȫ� ��@�"��2�:/����2t�/�H��2�6@�"��2�:�/������� "�.�@��2��Z/� k�� "�.�@��2�Ȫ� ��@�"��2�:�/�H��2�6@�"��2�:�/������� "�.�@��2��Z/� k�� "�.�@��2�HZ.�@���2�ȩ� P�@�"��� ����2�Ȫ� ��@�"��2�:�/������� k���
�/������� "�.�@��2�Ȫ� ��@�"��� ����2�Ȫ� ��@�"��2�:�/������� k���
�.����eh���e��\�F��e�S�A�ԁ|D`�^�ȗADV]�V�e�U�A�Ձ|Dd�ehu _�X�edm�|Dd�ehu _YuZȗADV]�V�e��^A�ȗADV]�V�e�U�A�Ձ|Dd�ehu ^�Hu9��AD�r*
ǗADN]�R�e�U�A�Ձ|Db��A���e�U�A�Ձ|Dd�ehu _YuZȗA$�zY _YuZȗADV]�V�e�U�A�Ձ|Db��A���e�U�A�Ձ|Dd�ehu ^I�e�4^�(u)ǗADN]�R�e�U�A�Ձ|Dd�ehu _�X�edm�|Dd�ehu _YuZȗADV]�V�e��^A�ȗADV]�V�e�U�A�Ձ|Dd�ehu _X��A���e�U�A�Ձ|Dd�ehu ^I�e�4_�8�e$m�|Dd�ehu _YuZȗADV]�V�e��^A�ȗADV]�V�e�U�A�Ձ|Dd�ehu _�X�edm�|Dd�ehu _YuZȗADV]�V�e��^A�ȗADV]�V�e��\�N��e�S�A�ԁ|Db��A���e�U�A�Ձ|Dd�ehu _YuZȗA$�zY _YuZȗADV]�V�e�U�A�Ձ|Db��A���e�U�A�Ձ|Dd�ehu _YuZȗA$�zY ^I�e�4_9uJȗADV]�V�e��^A�ȗADV]�V�e�U�A�Ձ|Dd�ehu _X��A���e�U�A�Ձ|Dd�ehu _YuZȗA$�zY _YuZȗADV]�V�e�U�A�ՁxD"�e�t^)�e�4_9uJȗA�m�e��e7��[u/��kv�����g[�G�xU�j=m�[���Y�j��j�����+O|x�~������<���Ս�}��������k�
O_�����/�l�:���Ȫ0��0;�*�F�9�N�5�&k�0;�*�F�9̎�
+���@�#i	��i8�g
�I��9̎�
+���@�#��l�:���Ȫ0��0;��0��
���Ȫ0��0;�*�F�9̎�
+���@�k
����9̎�
+���@�#��l�:���Ȫ0��0;��0��
���Ȫ0��0;��0���0;r*�F�9�N�5�&k�0;�*�F�9̎�
+���@�#��l�:����Z�l�6@�#��l�:���Ȫ0��0;�*�F�9�N�5�&k�0;�*�F�9̎�
+���@�#��l�:����Z�l�6@
+�#�f���av$,a6
�av�T��Rr�X�a6X[ �ّUa6Z�avdU��Vr�Yf�Ձf'�f��r�Yf�ՁfGV��hu �ّUa6Z�avb�a6Y �ّUa6Z�avdU��Vr�Yf�Ձf'R���t�ّ��٨4�ّSa6J�avdU��Vr��Xk�M��avdU��Vr�Yf�ՁfGV��hu �ى���dm�fGV��hu �ّUa6Z�avdU��Vr��Xk�M��avdU��Vr�Yf�ՁfG�f��pf'J�٤t�ّSa6J�avdU��Vr�Yf�Ձf'�f��r�Yf�ՁfGV��hu �ّUa6Z�avb�a6Y �ّUa6Z�avdU��Vr�Yf�Ձf�k�
��avdU��Vr�Yf�ՁfG�f��pf'�f��r�Yf�ՁfGV��hu �ّUa6Z�avb�a6Y �ّUa6Z�avdU��Vr�Yf�Ձf'�f��r�Yf�ՁfGV��hu �ّUa6Z�avb�a6Y �ّUa6Z�av$-a6:
�av�T��Rr��Xk�M��avdU��Vr�Yf�ՁfGV��hu �ى���dm�fGV��hu �ّUa6Z�avdU��Vr��Xk�M��avdU��Vr�Yf�ՁfGV��hu �ى���dm�fG�f��pfGN��(u �ّUa6Z�avb�a6Y �ّUa6Z�avdU��Vr�Yf�Ձf�k�
��avdU��Vr�Yf�ՁfGV��hu �ى���dm�fGV��hu �ّUa6Z�avdU��Vb��Hf��qfG�f��pfGN��(u ����8
+��9�0��1v�n���_f�/���0[G�0{;�??|y����_�~���t#lj3�/�^�]���X�n�����w����lu ~�yf-_~�V◟g����lu ~�yb��=Y[ 6���4�lu 6���4�lu 6���4�lu 6��U�=Z 6���4�lu 6���4�lu 5��ti��i8l�#�{�6@l�3ki���@l�3ki���@l�3ki���@l�#�{�6@l�3ki���@l�3ki���@l�3ki���@l�#�{�6@l�3ki���@l�3ki���@l�3ki���@l�#�{�6@l�3ki���@j�3��س�p��g��سԁ��GV5�hm���g��سՁ��g��سՁ��g��سՁ��GV5�hm���g��سՁ��g��سՁ��g��سՁ��GV5�hm���g��سՁ��g��سՁ��g��سՁ��GV5�hm���g�o�=oa��g¥�g�ᰱϜ��g���O���'k��>��ƞ���>��ƞ���>��ƞ���>���Gk��>��ƞ���>��ƞ���>��ƞ���>���Gk��>��ƞ���>��ƞ���>��ƞ���>�������>S.�=+
��}�,�=K��}f-�=[��}dUc����}f-�=[��}f-�=[��}f-�=[��}dUc����}f-�=[��}f-�=[��}f-�=[��}dUc����}f-�=[��}f-�=[H�}&]{v��HY{T:��Y{�:��Z{�:��Z{�:�Ȫ��
��Z{�:��Z{�:��Z{�:�Ȫ��
��Z{�:��Z{�:��Z{�:��Z{��@l�3ki���@l�3ki���@j�3��س�p��GN5�(m���g��سՁ��g��سՁ��g��سՁ��GV5�hm���g��سՁ��g��سՁ��g��سՁ��GV5�hm���g��سՁ��g��سՁ��g��سՁ��GV5�hm���g��سՁ��gҥ�g�ᰱϜ��g�����j������Ϭ��g���Ϭ��g���Ϭ��g�����j������Ϭ��g���Ϭ��g���Ϭ��g�����j������Ϭ��g���Ϭ��g���Ϭ��g�����j������ϤKc�N�ac�9Kc�Rbc�YKc�VbcY�أ�bc�YKc�Vbc�YKc�Vbc�YKc�Vbc�XkcO���}f-�=[��}f-�=[��}f-�=[��}dUc����}f-�=[��}f-�=[��}f-�=[H�}$-�=:G�}�\{V��Y{�:{Hēƞ��ۙ���mz�=<G��o��?^�i8&�ˉo��v]
+��{~��ᗗ�w���ÿ�~����l�O�o֯�̿�+e�������_����������Y�^?>����~�Y.�`�>�2��}Kz]���:�����������=(���D��=)
ǫ�D��=)
Ǔ�D��=)
�{�@Y���t��Ჵ'�
+�����Iw�}"�ʞ����Xy����
���R�zR����R�zR����R�zR�w�����A�8�'Jm�Ii8^�'J
�Ii8��'J��Ii8���:���xH�(��'��xE�(5�'��xB�(��'��p?5���p<���v�|�0^�'B
��h8��'J��Ii8���:���x0�(��'��x-�(5�'��x*�(��'��x'(�L���|��F����|��@����y|��:����m|���xP:���R�xR�W�R�xR'�,�Ix�=|��|�1|"�����%|������|��
+����
|��xP:���R�wR���R�wR���R�wR�w��A�8�'Jm�Ii8^�'J
�Ii8��'J��Ii8޺��ש{_��x�(�s'��x�(5r'��p����0޷�:o��xܞ(�m'��xٞ(5l'��x֞(�j'��x�(����A{�Ԟ����5{�Ԙ����){�Ԓ����{��3vP:�G�RvR��RvR���R�uR��끲N�A�8�'J��Ii8\�'�2Z'�-�'�P�u2��ꁲ��A�8�'Jm�Ii8^�'J
�Ii8��'J��Ii8ި�:Q��x��(�O'��x��(5N'��x��(�L'��x�(�,���Qz��&����Ez�� ����9z������-z��StP:�艱��Ix�z"�����	z�������y���sP:���R�sR���R�sR�g�R�sR�7�c�ur�W68�'J��Ii8^�'J��Ii8��'J-�Ii8ޙ�:3��xd�(�1'��xa�(50'��x^�(�.'��p[5-��pX��ʮ�|�0^�'B���h8��w��Ѣ�b���w�=y�!~�W����_�qO^�,��M�����?~�ެ_����e4�ן�>7��;��p>�_�<U������Co=^�k~��]7?V��^>|�Y �Bd�w-�Ձ�]�Uߵ�V�w-DV}�Z�ߵ�X�w-���w-DV}�Z�ߵY�]hu �BdU�Vr�Xk�A���GdU�Vr�Y�}�Ձ~DV�hu ����dm��DΥ�@�-�HX4�#�ȩ
+��$�^C��@NA"�Z�:�k�Ȫ�� $��A��	I�5
+!k�,$��A����JC��@�C"���:����Z�6@ND"��:�+�ȪL��P$��A��I��E��8�E"e�EPi8.F"���:���Ȫj��n$��p��
�ӑȪv��z$�*A�9 ��*H��@nHk�H���9#���H��@.I"�R�:�c�Ȫ���$�֠��
���Ȫ���$�*+A�1,���,A��-I��KH�8�K"���:��Ȫ����$��2A��3I�54!k��$��5A��6���M��@N"���:����Z��6@�N"���:�˓Ȫ����$��>A��?	����-��Ȫ��
+%�*CA�1D���DA��EI�5F!i�%��GA��H��JR��@�R"���:����Z��6@NS"���:��Ȫ<��@%��PA��QI�5R!k�L%��SA��T��JU��@�U"�j�:�{��Z��6@NV"���:��HZ�t�Õȩr��v%��x��
��Ȫ~��%�*aA�9b���X��@�Xk
Y���9e��jY��@�Y"�r�:���Ȫ���%�֨��
���Ȫ���%�*mA�9n���[��@�[k
\���1q���qA��r���\P�@]"�J�:�[��Zc�6@�]"�z�:���Ȫ����%��zA��{	����-�ӗȪ����%�*A�9���*`��@n`k�`���9����`��@.a"�R�:�c�Ȫ��&�*�!��0�����A�Ḋ���bP�@c��FT��s,i�m��oc����kaw�����rd�c���y��|]Ÿ������s�e�u�f7������^~��j����aZ_~F�t��'x9��.�/�u9;�:�u�����Zβ�v���م�������u~
��Ⱥ�Xرίa�Z����[w�iu>d�r��
�c�N��pd]���X��Z���;���O�u9;�:�u?���pb-g���;��5�R�rv`u`�:���/�с�pe)#�H�:���ZH�6@N #�H�:��Ȫ��2�*�D�9�L�5�$k�2�*�D�9���J ��@N #�H�:���ZH�6@N #�H�:��Ȫ��2�*�D�9�L�5�$k�2r.	$oa�@F’@��p�@FN%�(u '����@��rY�@�Ձ�@FV%�hu '��U	$Z�	db�	$Y '��U	$Z�	ddU�VrY�@�Ձ�@&֚@��rY�@�Ձ�@FV%�hu '��U	$Z�	d"UIN�a)K�J�q9�@�ԁ�@FV%�hu '���&�dm��@FV%�hu '��U	$Z�	ddU�Vr�XkI��	ddU�VrY�@�Ձ�@FV%�hu '���&�dm��@FV%�hu '��U	$Z�	d$-	$:
�	d�TIJ�q9�@�ԁ�@FV%�hu '��U	$Z�	db�	$Y '��U	$Z�	ddU�VrY�@�Ձ�@&֚@��rY�@�Ձ�@FV%�hu '��U	$Z�	d`�&�`m��@FV%�hu '��U	$Z�	d$-	$:
�	d�	$I '��U	$Z�	ddU�VrY�@�Ձ�@&֚@��rY�@�Ձ�@FV%�hu '��U	$Z�	db�	$Y '��U	$Z�	ddU�VrY�@�Ձ�@&֚@��rY�@�Ձ�@FҒ@��p�@FN%�(u '���&�dm��@FV%�hu '��U	$Z�	ddU�Vr�XkI��	ddU�VrY�@�Ձ�@FV%�hu '���&�dm��@FV%�hu '��U	$Z�	ddU�Vr�XkI��	d$-	$:
�	d�T�RrY�@�Ձ�@&֚@��rY�@�Ձ�@FV%�hu '��U	$Z�	d`�&�`m��@FV%�hu '��U	$Z�	ddU�Vr�XkI��	ddU�VrY�@�Ձ�@FV%�hu &��T	$9�	d�,	$*
�	d�T�Rr�/���cI o��~��_��`����&��Ȓ@�J���W~=>�����_?���O����_>~����%�,���OO�L�槽��v}������s�����D�ػ�������b��b/���C���K���#k�b/���C��؋�*���@.�"��=�:����Z�=�6@.�"��=�:��HZ�=t���ȩb��b/��b��
���Ȫb��b/���C��؋�*���@.�k-�����؋�*���@.�"��=�:���Ȫb��b/��b��
���Ȫb��b/���C��؋�*���@.�k-�����؋�K���[{��{h4{�S�J��^`�{`m�\�EV{hu {�U�Z��^dU��Vr��Xk�G���^dU��Vr�YU�Ձ\�EV{hu {��{dm�\�EV{hu {�U�Z��^dU��Vb��HU��qX�E�R��p\�EN{(u {�U�Z��^b��Y {�U�Z��^dU��Vr�YU�Ձ\�%�Z쑵r�YU�Ձ\�EV{hu {�U�Z��^b��Y {�U�Z��^dU��Vb�IK��N�a��(U��q\�EN{(u {�U�Z��^dU��Vr��Xk�G���^dU��Vr�YU�Ձ\�EV{hu {��{dm�\�EV{hu {�U�Z��^dU��Vr�X��X[ {�U�Z��^dU��Vb�IK��N�q��8k�G���^dU��Vr�YU�Ձ\�EV{hu {��{dm�\�EV{hu {�U�Z��^dU��Vr��Xk�G���^dU��Vr�YU�Ձ\�EV{hu {��{dm�\�EV{hu {��{�4{�S�J��^b��Y {�U�Z��^dU��Vr�YU�Ձ\�%�Z쑵r�YU�Ձ\�EV{hu {�U�Z��^b��Y {�U�Z��^dU��Vr�YU�Ձ\�%�Z쑵b�IK��N�q�9U�ԁ\�EV{hu {��{dm�\�EV{hu {�U�Z��^dU��Vr�X��X[ {�U�Z��^dU��Vr�YU�Ձ\�%�Z쑵r�YU�Ձ\�EV{hu {�U�Z��^"U�GN�a�)K��J�q�9U�ԁ\�QO{�K�w���^�9~ݗn����b��<��oץ���_~����s	�~\~�������������?|����O�o�������i����j����÷�9�D}��������od�����������΁���sn~��:���:��uNd�:��uNb���6@^�DV�s��@^�DV�s��@^�DV�s��@^�$ֺ�!k�uNd�:��uNd�:��uN$-�t�9�R�R:��9�S��:��9�U��:��9�U��:��9���s���y�Y��A�y�Y��A�y�Y��A�y��X�:��
��9�U��:��9�U��:��9�U��:��9����k�uNd�:��uNd�:��uN$-�t��9���sH��y�Y��A�y�Y��A�y�Y��A�y��X�:��
��9�U��:��9�U��:��9�U��:��9���s���y�Y��A�y�Y��A�y�Y��A�y��X�:��
��9�U��:�9���s�i8^�DN�sP�@^�$ֺ�!k�uNd�:��uNd�:��uNd�:��uNb���6@^�DV�s��@^�DV�s��@^�DV�s��@^�$ֺ�!k�uNd�:��uNd�:��uNd�:��uNb���6@\�DҲ�A��x�9��A�y�Y��A�y��X�:��
��9�U��:��9�U��:��9�U��:��9����k�uNd�:��uNd�:��uNd�:��uNb���6@^�DV�s��@^�DV�s��@^�DV�s��@\�$R�s��8\�Dʲ�A��x�9��A�y�Cː`��ϱ�sn�t�s������^_.���:�Y�9���u�.�~z�����/�?��}g�so�r�ȼ>{��m���Mg�S7$��
���ߐ�|ؐ�Ձ�!��ڐ�Ձ�!��ڐ�Ձ�!I�uCB���Ȫ
	Z��Ȫ
	Z��HZ6$�4nH�6$�toH"�6$(u oH"�6$hu oH"�6$hu oHkݐ���$�jC�V�$�jC�V�$�jC�V�$��
	Y oH"�6$hu oH"�6$hu oH"�6$hu oH�uC���Ȫ
	Z��Ȫ
	Z��HZ6$�4oHgݐ���$�jC�V�$�jC�V�$�jC�V�$��
	Y oH"�6$hu oH"�6$hu oH"�6$hu oHkݐ���$�jC�V�$�jC�V�$�jC�V�$��
	Y oH"�6$hu nH"iِ��p�!��ڐ�ԁ�!I�uCB���Ȫ
	Z��Ȫ
	Z��Ȫ
	Z���Z7$dm��!��ڐ�Ձ�!��ڐ�Ձ�!��ڐ�Ձ�!I�uCB���Ȫ
	Z��Ȫ
	Z��Ȫ
	Z���Z7$dm��!��eC�N��$rjC�R�$�jC�V�$��
	Y oH"�6$hu oH"�6$hu oH"�6$hu oH�uC���Ȫ
	Z��Ȫ
	Z��Ȫ
	Z���Z7$dm��!��ڐ�Ձ�!��ڐ�Ձ�!��ڐ�Ձ�!I�ڐ��q�!��eC�J��$rjC�R򆤿[�6$�ˆ��1`C���dwXO��G$��tZ_�$~����m����+G.�?��bd�?4]�2endstream
+endobj
+1282 0 obj <<
+/Type /Page
+/Contents 1283 0 R
+/Resources 1281 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1014 0 R
+/Annots [ 1285 0 R 1286 0 R 1287 0 R 1288 0 R 1289 0 R 1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R 1304 0 R ]
+>> endobj
+1285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 677.798 200.517 686.71]
+/Subtype /Link
+/A << /S /GoTo /D (lifecycle-image) >>
+>> endobj
+1286 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 677.798 537.983 686.71]
+/Subtype /Link
+/A << /S /GoTo /D (lifecycle-image) >>
+>> endobj
+1287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 612.168 178.55 621.079]
+/Subtype /Link
+/A << /S /GoTo /D (upgrade-cvs) >>
+>> endobj
+1288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 612.168 537.983 621.079]
+/Subtype /Link
+/A << /S /GoTo /D (upgrade-cvs) >>
+>> endobj
+1289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 599.216 199.292 608.128]
+/Subtype /Link
+/A << /S /GoTo /D (upgrade-tarball) >>
+>> endobj
+1290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 599.216 537.983 608.128]
+/Subtype /Link
+/A << /S /GoTo /D (upgrade-tarball) >>
+>> endobj
+1291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 586.265 189.05 595.176]
+/Subtype /Link
+/A << /S /GoTo /D (upgrade-patches) >>
+>> endobj
+1292 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 586.265 537.983 595.176]
+/Subtype /Link
+/A << /S /GoTo /D (upgrade-patches) >>
+>> endobj
+1293 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 573.313 276.242 582.225]
+/Subtype /Link
+/A << /S /GoTo /D (security-mysql-account-root) >>
+>> endobj
+1294 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 573.313 537.983 582.225]
+/Subtype /Link
+/A << /S /GoTo /D (security-mysql-account-root) >>
+>> endobj
+1295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 560.362 256.975 569.273]
+/Subtype /Link
+/A << /S /GoTo /D (security-mysql-account-anonymous) >>
+>> endobj
+1296 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 560.362 537.983 569.273]
+/Subtype /Link
+/A << /S /GoTo /D (security-mysql-account-anonymous) >>
+>> endobj
+1297 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 547.41 224.108 556.322]
+/Subtype /Link
+/A << /S /GoTo /D (security-mysql-network-ex) >>
+>> endobj
+1298 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 547.41 537.983 556.322]
+/Subtype /Link
+/A << /S /GoTo /D (security-mysql-network-ex) >>
+>> endobj
+1299 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 534.459 232.905 543.37]
+/Subtype /Link
+/A << /S /GoTo /D (security-bugzilla-charset-ex) >>
+>> endobj
+1300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 534.459 537.983 543.37]
+/Subtype /Link
+/A << /S /GoTo /D (security-bugzilla-charset-ex) >>
+>> endobj
+1301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 521.508 343.17 530.419]
+/Subtype /Link
+/A << /S /GoTo /D (trbl-relogin-everyone-share) >>
+>> endobj
+1302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 521.508 537.983 530.419]
+/Subtype /Link
+/A << /S /GoTo /D (trbl-relogin-everyone-share) >>
+>> endobj
+1303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 508.556 348.43 517.468]
+/Subtype /Link
+/A << /S /GoTo /D (trbl-relogin-everyone-restrict) >>
+>> endobj
+1304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [528.02 508.556 537.983 517.468]
+/Subtype /Link
+/A << /S /GoTo /D (trbl-relogin-everyone-restrict) >>
+>> endobj
+1284 0 obj <<
+/D [1282 0 R /XYZ 71.731 729.265 null]
+>> endobj
+10 0 obj <<
+/D [1282 0 R /XYZ 214.067 703.236 null]
+>> endobj
+14 0 obj <<
+/D [1282 0 R /XYZ 235.902 637.605 null]
+>> endobj
+1281 0 obj <<
+/Font << /F23 1013 0 R /F27 1020 0 R /F33 1116 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1317 0 obj <<
+/Length 2123      
+/Filter /FlateDecode
+>>
+stream
+xڭYے�6}�W��DUII��d�<�x2�Y�+�8���HBb���5��Oh�W9�&�*����>��ij�ų]����d����U4;��ëOl��0Ix��\��]xدgˎ���W�7�z�D�6=̞�^K���v�T�'�?���b�Lv� ���7�>>���O
+������.L�T�@{F����N�=���4x�tFa��q�DQ��(l7;���e%q�jkA�N���yS�Z�on5��V,�7J�|��خ$Q-��~�^�:S��i���7(��9��ʒ8�,�f7�<s=s|\iA�C�T�ڃC[��L;���S﨨�����3'AjE���=�o�`��`�5} u��:�iT�`G��t���0)��@P�a~�=���>���A�>�:w1��Z\}�rZK�F��qPѺ
8Ae��`�b��D9?���//�|Y��مk��������:�D�=-�C����<2u�O5����oZt��4�?�z���Y�s�ͷ���(�z�Y9	��[&ܑ������Ю��f:���Jy��˦p�d&���}��>l���Y�߄��a�ܙe��N1�X��\h]�g��ۡ�
�Z�n>�۝��� �;�r�M�
���^�s�:��M����g�����n����5T��=aRu�k �>�CX���jsa�2%��ᦩػ4�� YqpS�]g�]�y��%���r�wp�Zx'�z�v�RR␢I��j��Q�YP�*��""h9)��[�7L�:�%a����[�@L2V2� ?�!�is�}i
k�`�s�Ē96�s
+=��|Q�\S�u����ƍ��$�?SA
+%���fZ9�-���zL��olE^:)qJ��5���OX
�4��Jg5�)HENth�|��V�F��;t!Bվ����~iX��������0��ؾ�R6;��Qb�����I�����/.��.�;|lD�T�����C^r�@
���S�3RڟC�E��&ׄ��~2O� ���	�S��F"�*H���u��ni�-�,t�Z��MI\�/�^-��3
+\�gޔ����fI��"��P
*ׄ���
��
�u%��;j'zf�H�W0/��gu��b���>rx�٩�g����KϪ�=�ۋ���3�+fl��t\�XB�/�l"��_=��K����*@�K�-�a���P�G�&ZZP�-}�/�ڑ�A�������^�
+0p:�fh]�Td�P���Z07����"5�zN�Ϙn�reCE��|HYv�q)�.nĨ	����:2�]��f�XL NR`:�4�\i�Ya�
+�1`K=1{^���yA�Sa����A�2�*̑v�C�!�BHT[k�����dA茺���14?]��P�*���C��6ԟOo5ⶑ��Z�C��?�����[�a� 5�ը�3,_�A�&1�1�$���-?�iՒ����t��j�r`@E5����h�S�[ԫ��an��^�f��5$mWf&�K�x�J�e�\Շ���c�|+1<5���W���CF�h	5g�gd�4�%�$N���h�y�8�Ge��۹�d�`�ٚ�)�b��-�<�����%�1�rV���ju�^��<D���b�z��&��4�L���m1#����{T���r3nn�/8Lj���7�Ɋ�� �P����=3W�'�UU��J:ìԓ��f��\���է$Թ��Lq^�U�����zF[�:��WX�e�&�.������;�%t�l�1!aC��k�A
\�̡5'���s�N��Y��G�\��W'o�'�F�?�F���M.�K<���aj1�JW�H���+�f<�KG��Y���@?�_�az��'@�Aa�L�@%����Ӏ��5U�+�ɩ9��u�B7��d]f� � ��UM�	�	ܠ;F�_!��ˢ���H�ᶣ��fM�5�ߥ6����E���t�0w��*R����e�g?+]�kS�� �ㅾ�B5��J:a����JŪ���b����+2��"�@����,8�H��g���_2��]����S(q:����=�h�aE��H�hVm��]����L�����{A�K�f����[A<�l��w�@$�Ѥ�uE^��†��Vƚ~׭��endstream
+endobj
+1316 0 obj <<
+/Type /Page
+/Contents 1317 0 R
+/Resources 1315 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1014 0 R
+/Annots [ 1321 0 R ]
+>> endobj
+1321 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.071 582.727 437.154 590.748]
+/Subtype /Link
+/A << /S /GoTo /D (gfdl) >>
+>> endobj
+1117 0 obj <<
+/D [1316 0 R /XYZ 71.731 718.306 null]
+>> endobj
+18 0 obj <<
+/D [1316 0 R /XYZ 350.659 703.236 null]
+>> endobj
+1118 0 obj <<
+/D [1316 0 R /XYZ 71.731 692.504 null]
+>> endobj
+22 0 obj <<
+/D [1316 0 R /XYZ 285.389 651.159 null]
+>> endobj
+1318 0 obj <<
+/D [1316 0 R /XYZ 71.731 638.721 null]
+>> endobj
+1319 0 obj <<
+/D [1316 0 R /XYZ 71.731 627.443 null]
+>> endobj
+1320 0 obj <<
+/D [1316 0 R /XYZ 71.731 617.481 null]
+>> endobj
+1322 0 obj <<
+/D [1316 0 R /XYZ 71.731 577.746 null]
+>> endobj
+1119 0 obj <<
+/D [1316 0 R /XYZ 71.731 546.646 null]
+>> endobj
+26 0 obj <<
+/D [1316 0 R /XYZ 191.962 503.549 null]
+>> endobj
+1323 0 obj <<
+/D [1316 0 R /XYZ 71.731 494.726 null]
+>> endobj
+1324 0 obj <<
+/D [1316 0 R /XYZ 71.731 448.949 null]
+>> endobj
+1325 0 obj <<
+/D [1316 0 R /XYZ 71.731 405.113 null]
+>> endobj
+1120 0 obj <<
+/D [1316 0 R /XYZ 71.731 348.326 null]
+>> endobj
+30 0 obj <<
+/D [1316 0 R /XYZ 216.752 305.229 null]
+>> endobj
+1326 0 obj <<
+/D [1316 0 R /XYZ 71.731 296.406 null]
+>> endobj
+1327 0 obj <<
+/D [1316 0 R /XYZ 71.731 276.531 null]
+>> endobj
+1328 0 obj <<
+/D [1316 0 R /XYZ 290.161 265.737 null]
+>> endobj
+1329 0 obj <<
+/D [1316 0 R /XYZ 86.396 252.785 null]
+>> endobj
+1330 0 obj <<
+/D [1316 0 R /XYZ 71.731 239.834 null]
+>> endobj
+1331 0 obj <<
+/D [1316 0 R /XYZ 71.731 219.744 null]
+>> endobj
+1332 0 obj <<
+/D [1316 0 R /XYZ 401.7 208.95 null]
+>> endobj
+1333 0 obj <<
+/D [1316 0 R /XYZ 71.731 188.86 null]
+>> endobj
+1334 0 obj <<
+/D [1316 0 R /XYZ 174.215 165.114 null]
+>> endobj
+1335 0 obj <<
+/D [1316 0 R /XYZ 400.723 165.114 null]
+>> endobj
+1336 0 obj <<
+/D [1316 0 R /XYZ 252.032 152.162 null]
+>> endobj
+1337 0 obj <<
+/D [1316 0 R /XYZ 468.03 152.162 null]
+>> endobj
+1338 0 obj <<
+/D [1316 0 R /XYZ 250.369 139.211 null]
+>> endobj
+1339 0 obj <<
+/D [1316 0 R /XYZ 466.356 139.211 null]
+>> endobj
+1340 0 obj <<
+/D [1316 0 R /XYZ 252.032 126.26 null]
+>> endobj
+1341 0 obj <<
+/D [1316 0 R /XYZ 480.762 126.26 null]
+>> endobj
+1315 0 obj <<
+/Font << /F23 1013 0 R /F27 1020 0 R /F35 1185 0 R /F33 1116 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1344 0 obj <<
+/Length 1835      
+/Filter /FlateDecode
+>>
+stream
+xڭXmo�6��_a`f	+J�-Ð����v�l��-1�T��,��;��,�V�
�?H2�G���'��d��2�G�B�"��ۣh���WG�K�x������ы��d�B�E2��������d��(K��u���eIjM��$N�)F�y�F���)��ʰ����~{tuݮ�&K�ʒG�d��/w{G�2������ܸ��q/�3M��
+�Y�[�u_Z���,��pMñ�O�������0����5��U�(�f���/H�Ɛ
U�(Qv�|5��$�F�$vw3��ݽgU��MNp�V����4�Viq��(]tf��^�\la�[O��@�.��%�qjm��I�h�hna\fӗ�����16L�1J��u�AM�(�Vi�������)���,�g7H��(r+�wk��v���T}�Z��;��M�;��)̦l�0������gh���[�=TI�[��{���Rh�����==�(y��^ɛ/݋2u
��U��x -�ɜ�$��.j���i�U���f۷��/��x	�[Ù~8
��e+�{������0�S�Dr���y�V޳�ޓA�f����k'}����z龻�(K~C
+񑟂og����|e�;C���(�c���=�Ya���"vW���#_S���P�O�m�;kSY�Z/�bCa�PQ�Ѵ��JZü���t��y��8�"NM�;���-���|pŸf|2��d�eF�h;�l+�m"!7 VI�OA�1��gC��6
+�������D�C�����n�︧E1��������{7u������@�_��VW���t����B�CpLH�3�M74l~
٥xw��H��+�#�o�c��<�0�Lӯ���@�
+����!����)��=�7�\�wԍ�Dz����և@�X4��H����@��NRZ��Nn��hi��Sw�� 8��vs�p�����j��EqU�C�_H�#��^R��q�#��Bt��%ч�y��?�.^�d�>�;u��z���tI�u��+�)��vk��׈0��ٽ`.��Ɔ*�8��R�B����gi:
�hb˾���Z��g��z��rn�X�cmd� e�W�Bl��8{.�:�Ɛ"=�ִE��*�٭��@6&逧k�w4mj��L{:�5]ИY��_
U�B�)����m�ڏY�4�9:�̃���ӵ�Vtj�5ޒ\�ݔ�Ъ��G�5tN8p�rK������Nb�|6�h��:����[dW�w���Y���O�P#-G8>`_S��������o��PI��*�ҴowO!��S�p�E(˞
���1p��@��������BO\����>�/V����@���.� k��q���j��v7�{�+�i�K�kz�wrQ�R��y(��t�0�w��ķ΄�&��u�H�{#*�IY�@ݶ�=�4�lu����p����.hlw"����g����U�pN�oT�����򒨜T�]@����%����v�<dN���?I(�߱Z�����n�ݡ4.oK���缐���,���oE��Ś����ڦuy� ��+���-阦՚���G��zRIҩt���2�W��ifR�ˊ�3L�s�sp����52x��#^�Ԩ�5�jx9iM9ՀPMQm�ۥ'��*5r�ĝq���u����t2�j��R���k�HajL3�1U�����P�)(��7%��;t{��f���Z�&:/�;9�r{��^�NR�cY%V���d[�K��_�]�h�Wn�Wp�;��	ѱ��t�	d���Q�0��’Ǧe�f��n�ӱ�=C����D�.��$AQ�j�;��n��W��لendstream
+endobj
+1343 0 obj <<
+/Type /Page
+/Contents 1344 0 R
+/Resources 1342 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1396 0 R
+>> endobj
+1345 0 obj <<
+/D [1343 0 R /XYZ 71.731 741.22 null]
+>> endobj
+1346 0 obj <<
+/D [1343 0 R /XYZ 71.731 718.306 null]
+>> endobj
+1347 0 obj <<
+/D [1343 0 R /XYZ 444.878 708.344 null]
+>> endobj
+1121 0 obj <<
+/D [1343 0 R /XYZ 71.731 688.254 null]
+>> endobj
+34 0 obj <<
+/D [1343 0 R /XYZ 164.538 645.157 null]
+>> endobj
+1348 0 obj <<
+/D [1343 0 R /XYZ 71.731 636.334 null]
+>> endobj
+1349 0 obj <<
+/D [1343 0 R /XYZ 71.731 595.538 null]
+>> endobj
+1350 0 obj <<
+/D [1343 0 R /XYZ 71.731 580.594 null]
+>> endobj
+1351 0 obj <<
+/D [1343 0 R /XYZ 154.5 569.799 null]
+>> endobj
+1352 0 obj <<
+/D [1343 0 R /XYZ 71.731 569.611 null]
+>> endobj
+1353 0 obj <<
+/D [1343 0 R /XYZ 91.656 551.866 null]
+>> endobj
+1354 0 obj <<
+/D [1343 0 R /XYZ 71.731 539.747 null]
+>> endobj
+1355 0 obj <<
+/D [1343 0 R /XYZ 138.849 528.952 null]
+>> endobj
+1356 0 obj <<
+/D [1343 0 R /XYZ 71.731 526.796 null]
+>> endobj
+1357 0 obj <<
+/D [1343 0 R /XYZ 91.656 511.02 null]
+>> endobj
+1358 0 obj <<
+/D [1343 0 R /XYZ 71.731 485.949 null]
+>> endobj
+1359 0 obj <<
+/D [1343 0 R /XYZ 137.315 475.154 null]
+>> endobj
+1360 0 obj <<
+/D [1343 0 R /XYZ 71.731 473.746 null]
+>> endobj
+1361 0 obj <<
+/D [1343 0 R /XYZ 91.656 457.221 null]
+>> endobj
+1362 0 obj <<
+/D [1343 0 R /XYZ 71.731 445.102 null]
+>> endobj
+1363 0 obj <<
+/D [1343 0 R /XYZ 136.508 434.307 null]
+>> endobj
+1364 0 obj <<
+/D [1343 0 R /XYZ 71.731 434.119 null]
+>> endobj
+1365 0 obj <<
+/D [1343 0 R /XYZ 91.656 416.375 null]
+>> endobj
+1366 0 obj <<
+/D [1343 0 R /XYZ 71.731 404.255 null]
+>> endobj
+1367 0 obj <<
+/D [1343 0 R /XYZ 128.578 393.461 null]
+>> endobj
+1368 0 obj <<
+/D [1343 0 R /XYZ 71.731 392.053 null]
+>> endobj
+1369 0 obj <<
+/D [1343 0 R /XYZ 91.656 375.528 null]
+>> endobj
+1370 0 obj <<
+/D [1343 0 R /XYZ 71.731 350.457 null]
+>> endobj
+1371 0 obj <<
+/D [1343 0 R /XYZ 145.324 339.662 null]
+>> endobj
+1372 0 obj <<
+/D [1343 0 R /XYZ 71.731 337.505 null]
+>> endobj
+1373 0 obj <<
+/D [1343 0 R /XYZ 91.656 321.73 null]
+>> endobj
+1374 0 obj <<
+/D [1343 0 R /XYZ 71.731 309.61 null]
+>> endobj
+1375 0 obj <<
+/D [1343 0 R /XYZ 122.291 298.815 null]
+>> endobj
+1376 0 obj <<
+/D [1343 0 R /XYZ 71.731 297.408 null]
+>> endobj
+1377 0 obj <<
+/D [1343 0 R /XYZ 91.656 280.883 null]
+>> endobj
+1378 0 obj <<
+/D [1343 0 R /XYZ 71.731 262.85 null]
+>> endobj
+1379 0 obj <<
+/D [1343 0 R /XYZ 434.078 249.998 null]
+>> endobj
+1380 0 obj <<
+/D [1343 0 R /XYZ 499.154 249.998 null]
+>> endobj
+1381 0 obj <<
+/D [1343 0 R /XYZ 108.802 237.047 null]
+>> endobj
+1382 0 obj <<
+/D [1343 0 R /XYZ 176.587 237.047 null]
+>> endobj
+1383 0 obj <<
+/D [1343 0 R /XYZ 231.092 237.047 null]
+>> endobj
+1384 0 obj <<
+/D [1343 0 R /XYZ 285.049 237.047 null]
+>> endobj
+1385 0 obj <<
+/D [1343 0 R /XYZ 363.644 237.047 null]
+>> endobj
+1386 0 obj <<
+/D [1343 0 R /XYZ 434.497 237.047 null]
+>> endobj
+1387 0 obj <<
+/D [1343 0 R /XYZ 483.483 237.047 null]
+>> endobj
+1388 0 obj <<
+/D [1343 0 R /XYZ 100.523 224.096 null]
+>> endobj
+1389 0 obj <<
+/D [1343 0 R /XYZ 169.284 224.096 null]
+>> endobj
+1390 0 obj <<
+/D [1343 0 R /XYZ 226.011 224.096 null]
+>> endobj
+1391 0 obj <<
+/D [1343 0 R /XYZ 71.731 217.675 null]
+>> endobj
+1392 0 obj <<
+/D [1343 0 R /XYZ 244.94 206.163 null]
+>> endobj
+1122 0 obj <<
+/D [1343 0 R /XYZ 71.731 173.122 null]
+>> endobj
+38 0 obj <<
+/D [1343 0 R /XYZ 297.751 130.024 null]
+>> endobj
+1393 0 obj <<
+/D [1343 0 R /XYZ 71.731 129.809 null]
+>> endobj
+1394 0 obj <<
+/D [1343 0 R /XYZ 71.731 121.202 null]
+>> endobj
+1395 0 obj <<
+/D [1343 0 R /XYZ 71.731 106.308 null]
+>> endobj
+1342 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R /F35 1185 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1399 0 obj <<
+/Length 1268      
+/Filter /FlateDecode
+>>
+stream
+x��Wmo�6��_�a�*#�J*�I��
��u@[�L�Z%Q�K����(R�l�ِ})���u��ޞ�	{!�a/�(������������a'8�`$s���]S�%(�[�=F��"JP̉�X��oeժz���|���n۬��]�R�����b��i����k� 3���l����Q�{�.U��Y�f�pD�ϫJ�Z��Đ!D!��@|���z+��f"���؇'�W̘�@�9��:��oL��o]�]	Fa��.��ǡ/�2+7��P
+��D��L������:Ȫ@,�FIB�Zy�=�B/�I���]'7Q��ŐA6� f�2a�����(–��L�wg׌y1�p�'�c$xdS��G��؇����J{���[�kҬit�|3)�.�F&>�[F4�@���~7����W�B��}^fek#��E�P����,���4�����N�휆����휘�=��GsT�$�����\�
Ϝ#c�@r2��'���u���^#s�`�!���\�-��ޖ�c���=�W�Zׅ��oU���e�aUl*�fs��ܞe۪r(�c��I�X���qB��S��C��Q�"r�g�rȼ(A1f{�{��+��6|��z�ŕI*97�u2Y�Nqd��CD�!�;�49�d�m��reKF�r��*mu}k��,\�S~��נ�Nn���ธ�뢐���o�]�Ό��R+H���N�Ã+5��yz[,8ƌ�:� �P��h�5�~4��wCU�rcDW��!c)�cX�7[�û� ����#�x�u����[�|����?���\h�Cb&�_��$NW�����e�Ǫ�<'h��e�̈�%�osL�������#�.�����*ֺj%s��t��&�M#�T���
+ 
F�3� ��&��"c�E��;�s9e�oS��:�	蔥E""ǘ��X�af�KU>feM9�1��)u)t��Ѕ�de�DBC5�65l�ڬ�7�6���Ԁ
+��͔s�l�����	�s؀4v��
�+�v�xF\���uP�:����=0����z=���;����F9��VC�i\�6�p�nP�#��rW�6�~�4�C9�`��U�6,X7?��f�n�A���3�t�V�$�yV����8��76�f�}��m�V���L�2*�]�
7���U��P�ɞA�Xui�t��zp�K|:����@��dЉ���b���w'2a'�>4vZ�������5�z�endstream
+endobj
+1398 0 obj <<
+/Type /Page
+/Contents 1399 0 R
+/Resources 1397 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1396 0 R
+/Annots [ 1403 0 R ]
+>> endobj
+1403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.336 418.223 343.551 433.166]
+/Subtype /Link
+/A << /S /GoTo /D (gloss-bugzilla) >>
+>> endobj
+1400 0 obj <<
+/D [1398 0 R /XYZ 71.731 718.306 null]
+>> endobj
+1404 0 obj <<
+/D [1398 0 R /XYZ 71.731 380.365 null]
+>> endobj
+1405 0 obj <<
+/D [1398 0 R /XYZ 209.911 357.45 null]
+>> endobj
+1397 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R /F44 1402 0 R /F35 1185 0 R /F32 1027 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1409 0 obj <<
+/Length 2231      
+/Filter /FlateDecode
+>>
+stream
+xڭY[��6~�_��:�D���ӧi�����f�Ţ�'Q�8vjٓN})���K�bO1؎�"?R����V#��O���|GWGx�;�~p��y�	DD�X�6��/����b�)	�d�|�PA�W����/O饖�zã���\U�y�G��Es�#��t���W�J����mNh��8aCi��E���$a�����`��pn����;#���$�O������([sꕍy��Q����Y�>�%j�{m�$�Q[������%��g��Ks-J�WH��,�����j���e!�]�˩O�2w�S��0�ψ}Q�\��^�|�D�14�>�u�6���O}0B�j���)ݟ�"Su�f�K��ڰ}�O��߿:�z��I��q�:+��r��
ɗ�O=� �V��P�Tl,J|Jbߠ��j@]��I��U�i-���P���J���	$�iT)y3��6o�Hm�ﳢ�?B�Oe�V�"��!\�Z0֌ոf�-Gk
+H9Y�y�77��ܵ���sW�X�A����قG��#c��	�H��ߓܵ����[f,$A�M[�E��G10�"�
T:�WUw�U�Ĥ5��s�Z�llL��%"-40��"wY�����
�"�P����O�h}}P�s͡&hg�kC�e����5�ޱsMɩ��Q�)zz��i�����CU����)����vd��:<��z
+��3��_qZ��k�\.eU��¡y3�
�bk3�3
詮/�[�z�^�a���j�j�=��-d4��r���6"[!�loA	å_O��d[cj��;�M+�_���}޺���5�����S�`U�4B�M�򌀠�=�
+�lo�Ts�v�SZ��~���P��:���M7��N�=+��D�1gv!��R*���#p�;�Ъ)f���uW2?��kV�ʦ��^vˁ{�?�}'/5*,��,n�q����ȳ�k��߬�N{Q����ՠ��9�v1��ѭ4�t�����J��2폂���E0h}����]��O~�����N��%+��XUru�{���Ӥ�l�4\�a��r�
�>a~�>����RAAA�cf���sӪлԄmX�IL�MB�E��=�Iq�t��~�?��.�ه����),��S*wM%g�:�;p��E�$HxV�ՈGe�mȃ>��N��.z�v �LɄH�P�
�WZ"�"M˓������\��X6�C�'�
+|a_9	�?���qK��O��*��@����)�Zh�?([��C�(�"q��<�e}�y�a��ha�����>6lއ1Q0m%z�����-/K����Yj�����g�ԚYjΝ��F�B)=�v�|��[�p1|��"������QQ�F�꺒{�DԘh�w7�����(\$����䢈��M���ğ�5�vޑ$�1��		C�+�q�zt��oe�O���-EM3@�
#��:$�<��~�ش�7+��B�}_ � uV���Ą��<��ڭ��|�b9��������o�j�Sҿ��M��� �ޞ�{?ɿ���ŋ!�2��Y�	����F�>I!>[��B�x�f�y�En�	%�C�V���>!I.���� E�Er��~ghg-	�2[�O��:���0"��lE���� �z��(.xe��x5��{7�[@I�O����Q��<�g���Aa$~�8�.7���'���
���t�0\��7�TS�%D��.�Ћ���A�Z������5��^�_E�!o�01|n�-�qݚ��i�<�E�Ui��=��6Z	4OB���,����,:��
+�d���O@*ϝW1�z���r������C����
P�P�n�փ�I�2U�Փ)<��P�"0H�
+x��F#��'���M���6�����-�m�+��mM:��ԋ���t�u]�aD�i#��tk�p#�r#��a��Vϒ���Q�7�4��,�Gf&��<E��) ����0،B�������Ro�:s�����F����ܗR��Y���& �}s�.g#����t?c���'�'��rɺc��`���9훧˸T&��`m:_͝f^` L�Ҟ����tJ�O���֞O�\�V\�C�����s��)Ը����D-�9�vO]Qñ,q鰘t8ھH��C7�j�OO�`��s� ���	�5*p�;��V�>�����ܕ�d��a�1�h���"m��;�0YQ�ii������Z��0��endstream
+endobj
+1408 0 obj <<
+/Type /Page
+/Contents 1409 0 R
+/Resources 1407 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1396 0 R
+/Annots [ 1416 0 R 1426 0 R 1428 0 R 1430 0 R 1432 0 R 1434 0 R 1436 0 R ]
+>> endobj
+1416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 553.321 116.562 562.233]
+/Subtype /Link
+/A << /S /GoTo /D (os-specific) >>
+>> endobj
+1426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.664 319.519 133.11 328.43]
+/Subtype /Link
+/A << /S /GoTo /D (install-perl) >>
+>> endobj
+1428 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.664 301.586 149.718 310.498]
+/Subtype /Link
+/A << /S /GoTo /D (install-mysql) >>
+>> endobj
+1430 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.664 285.711 166.176 292.565]
+/Subtype /Link
+/A << /S /GoTo /D (install-webserver) >>
+>> endobj
+1432 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.664 265.721 150.823 274.632]
+/Subtype /Link
+/A << /S /GoTo /D (install-bzfiles) >>
+>> endobj
+1434 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.664 249.845 169.364 256.699]
+/Subtype /Link
+/A << /S /GoTo /D (install-perlmodules) >>
+>> endobj
+1436 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [92.154 229.855 208.008 238.767]
+/Subtype /Link
+/A << /S /GoTo /D (install-MTA) >>
+>> endobj
+1123 0 obj <<
+/D [1408 0 R /XYZ 71.731 718.306 null]
+>> endobj
+42 0 obj <<
+/D [1408 0 R /XYZ 354.129 703.236 null]
+>> endobj
+1124 0 obj <<
+/D [1408 0 R /XYZ 71.731 692.184 null]
+>> endobj
+46 0 obj <<
+/D [1408 0 R /XYZ 196.111 651.159 null]
+>> endobj
+1410 0 obj <<
+/D [1408 0 R /XYZ 71.731 650.944 null]
+>> endobj
+1411 0 obj <<
+/D [1408 0 R /XYZ 71.731 632.374 null]
+>> endobj
+1412 0 obj <<
+/D [1408 0 R /XYZ 189.012 620.933 null]
+>> endobj
+1415 0 obj <<
+/D [1408 0 R /XYZ 71.731 581.381 null]
+>> endobj
+1417 0 obj <<
+/D [1408 0 R /XYZ 71.731 548.34 null]
+>> endobj
+1418 0 obj <<
+/D [1408 0 R /XYZ 71.731 524.594 null]
+>> endobj
+1419 0 obj <<
+/D [1408 0 R /XYZ 71.731 504.504 null]
+>> endobj
+1420 0 obj <<
+/D [1408 0 R /XYZ 71.731 467.707 null]
+>> endobj
+1421 0 obj <<
+/D [1408 0 R /XYZ 118.555 429.143 null]
+>> endobj
+1422 0 obj <<
+/D [1408 0 R /XYZ 71.731 387.21 null]
+>> endobj
+1423 0 obj <<
+/D [1408 0 R /XYZ 71.731 360.739 null]
+>> endobj
+1424 0 obj <<
+/D [1408 0 R /XYZ 71.731 347.414 null]
+>> endobj
+1425 0 obj <<
+/D [1408 0 R /XYZ 71.731 337.452 null]
+>> endobj
+1427 0 obj <<
+/D [1408 0 R /XYZ 71.731 319.519 null]
+>> endobj
+1429 0 obj <<
+/D [1408 0 R /XYZ 71.731 301.586 null]
+>> endobj
+1431 0 obj <<
+/D [1408 0 R /XYZ 71.731 285.711 null]
+>> endobj
+1433 0 obj <<
+/D [1408 0 R /XYZ 71.731 265.721 null]
+>> endobj
+1435 0 obj <<
+/D [1408 0 R /XYZ 71.731 249.845 null]
+>> endobj
+1437 0 obj <<
+/D [1408 0 R /XYZ 71.731 217.277 null]
+>> endobj
+1438 0 obj <<
+/D [1408 0 R /XYZ 71.731 198.971 null]
+>> endobj
+50 0 obj <<
+/D [1408 0 R /XYZ 138.296 161.756 null]
+>> endobj
+1439 0 obj <<
+/D [1408 0 R /XYZ 71.731 154.403 null]
+>> endobj
+1440 0 obj <<
+/D [1408 0 R /XYZ 163.177 141.631 null]
+>> endobj
+1441 0 obj <<
+/D [1408 0 R /XYZ 71.731 135.242 null]
+>> endobj
+1442 0 obj <<
+/D [1408 0 R /XYZ 163.346 110.747 null]
+>> endobj
+1407 0 obj <<
+/Font << /F23 1013 0 R /F44 1402 0 R /F48 1414 0 R /F27 1020 0 R /F35 1185 0 R /F33 1116 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1450 0 obj <<
+/Length 2444      
+/Filter /FlateDecode
+>>
+stream
+xڵY[��~�_�����,{Ѵ�l��M6�L7���e�fG��"5^����<�n�ɥI���;dz��Y����n]���t���ۛ)�H���|�ps�w�f�Y���~��k��f�d��������#��hK�FsJ��]�4/
+Y���ῲ(��燯n����,#�5{Q.O3��Y����d^�(#�$��Q+P��}��;��u�D�%�HLS�J-vN��8��Q�*�'�,��_��X:s�,�ML�$��.�c�X��h��0�D�e�1g�w{��R��fW��-��\��#_�h���ӹp�H�����*���=����P���2�<��S�4��E4��@"�?�P���I*���u����|>/V�8M�9ɫ��0��j�›3��X=�d��t�Y��H�t��Q�e)�D����1�|��+��g~Si�NJ����$�(:�k^� ��]�Q���,9�f��x2frr��;N3{�tՈ�I�\6�q�5ww�ԅ�3dً�(�R&	I7(��H1Qf�I0�ߗ(BuB	�U�O��EiqRF�[/���6�&�����Ւ�����c�J�yQu2ق�5U�GI
�B~.J����MK��o��۝g�wrO{�R��.���q�yj���\	�)��ar��yy#Ww���F��~�!�o<��VW!���2k&'�,v�0�7��{�mr1�K���;6�2h1�W�<���.��T��b�fk��*���B�NB,a@ׅ��X�H����q�� &��T�L�B�B�ͱ@T��k�>r�#�%wx�+\`����4Rm~ė�����'D2����A�ɢ��l�II8
!��!<�*�V@1Wl\0�s��ApCk�H�D�-,&���(J���s0>l!�T�y]���,MB�c��/0ݺ�{�����/���˂0)pv��wbo���k�Y�%����aI���_�K��/w�ΦN2+㰺L�⾁����x̏�̑��?���Ph}A�w�*��~{ݝ�z�؜�|[�!�-K��Z��&d	�d�⫝�'Yv4ӎlx���޾�0K(Y���I����$)�6�>3�7�֨�Y�\?���G�˘-X���Ge�dž��kyǜ}��*�й:���|�Ӫ�d��|
�����A!;�1��i�|2(p;�i�#����͵m��N�Z��x�R�ϋ���C� �����a�p����x$��g9^��,l
+��R��Vg�c�&��֢���E}���.�!�u"9Ż�nM{M�/��Xj烩ō�b�4�29U�
+ކ������)��7R�� �
+�����g�'���*��s�^��M��b����l��?��7��j1�}�~]
J��'��f�/
+�E�w��?t2Ṱk$��ƣ>GA��q8U�7o>�w�<��.x>���P���CwV�
��L?r�n%��q�&�"T��X�݂(>Y(ePl@0�<$C�2_Èf�pai?}[U�yQ�\� Ӈ�> �^�3��&�p���N�:�s�%y�Uڿ�q�
+�'7��f̏I�j�V�4���!	;��.���U!s4�,��T*J�E6�M˜��fE�lc*�Ǜ�f;��_����|c�F	��l6lֈ�����p�
+����Kg�w-ݕ#�^��'���&���/!eI���
o=�G�e���Ԝ
s6[[�0D	;�`��G����,B#�Υ��nJ��7�M�y�ǙaG�C)va�q�2�ٻS����ΊAЅy� �[yE5�"l�"Օ)�ϒ��\�E���eF��@d2�ebi_:�m8{&�M����P3_�q^�������m�^����iJ��
T���o3��ĸi��`(ܬf������00��l������sJ2��k}+.)��l�V�/=T��4�u���c�4�Ms��^���Ub8Ev�CG�m�Ǘ��Y�W��3�S����Ň�֎~.�W~mp��4��q���J-�Q���
�ѣ28v�x��Y	�֤��%	���	��cj�R��|��z���.�>�Z�-��&�J����/������D�/���N��(�r�oP#o�=��j�vX[���N�KS��ٯ��
+�غ�/����Fi���=�;�y|']�`"ĭ����
�|����R7�k���V����8C񱕍�޷�o&ɜ��r9Z�J��Mu�]�vٻ�{�y|�7�Zsg^7��s_on�<IX(8Ȭ��[ȳ��7�q�t
�(�b�a�`���/,��F���4�m�Ȓ%��n��,{D�dRߺ��	�uJ�PQ^d�4/3���>�@l��H��اu%K�>���Mj�@	�T�N=��zkt�Y�_��D������k��4����G�CN?�tA.��eE����#X*�5Y�ً�v$��T��l�p��?})���4Saendstream
+endobj
+1449 0 obj <<
+/Type /Page
+/Contents 1450 0 R
+/Resources 1448 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1396 0 R
+/Annots [ 1463 0 R 1480 0 R ]
+>> endobj
+1463 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.944 468.553 442.607 477.465]
+/Subtype /Link
+/A << /S /GoTo /D (gloss-cgi) >>
+>> endobj
+1480 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.065 115.585 285.896 124.496]
+/Subtype /Link
+/A << /S /GoTo /D (configuration) >>
+>> endobj
+1451 0 obj <<
+/D [1449 0 R /XYZ 71.731 741.22 null]
+>> endobj
+1443 0 obj <<
+/D [1449 0 R /XYZ 71.731 718.306 null]
+>> endobj
+54 0 obj <<
+/D [1449 0 R /XYZ 161.035 707.841 null]
+>> endobj
+1452 0 obj <<
+/D [1449 0 R /XYZ 71.731 697.698 null]
+>> endobj
+1453 0 obj <<
+/D [1449 0 R /XYZ 163.177 687.716 null]
+>> endobj
+1454 0 obj <<
+/D [1449 0 R /XYZ 71.731 681.327 null]
+>> endobj
+1455 0 obj <<
+/D [1449 0 R /XYZ 359.5 669.784 null]
+>> endobj
+1456 0 obj <<
+/D [1449 0 R /XYZ 71.731 654.675 null]
+>> endobj
+1457 0 obj <<
+/D [1449 0 R /XYZ 71.731 639.731 null]
+>> endobj
+1458 0 obj <<
+/D [1449 0 R /XYZ 361.648 630.232 null]
+>> endobj
+1459 0 obj <<
+/D [1449 0 R /XYZ 331.234 606.919 null]
+>> endobj
+1460 0 obj <<
+/D [1449 0 R /XYZ 71.731 579.024 null]
+>> endobj
+1444 0 obj <<
+/D [1449 0 R /XYZ 71.731 545.983 null]
+>> endobj
+58 0 obj <<
+/D [1449 0 R /XYZ 190.186 508.767 null]
+>> endobj
+1461 0 obj <<
+/D [1449 0 R /XYZ 71.731 501.415 null]
+>> endobj
+1462 0 obj <<
+/D [1449 0 R /XYZ 71.731 481.505 null]
+>> endobj
+1464 0 obj <<
+/D [1449 0 R /XYZ 223.022 431.856 null]
+>> endobj
+1465 0 obj <<
+/D [1449 0 R /XYZ 71.731 411.766 null]
+>> endobj
+1466 0 obj <<
+/D [1449 0 R /XYZ 384.386 400.972 null]
+>> endobj
+1445 0 obj <<
+/D [1449 0 R /XYZ 71.731 393.833 null]
+>> endobj
+62 0 obj <<
+/D [1449 0 R /XYZ 166.615 356.618 null]
+>> endobj
+1467 0 obj <<
+/D [1449 0 R /XYZ 71.731 346.253 null]
+>> endobj
+1468 0 obj <<
+/D [1449 0 R /XYZ 177.812 323.542 null]
+>> endobj
+1469 0 obj <<
+/D [1449 0 R /XYZ 227.595 323.542 null]
+>> endobj
+1470 0 obj <<
+/D [1449 0 R /XYZ 172.004 310.591 null]
+>> endobj
+1471 0 obj <<
+/D [1449 0 R /XYZ 71.731 308.434 null]
+>> endobj
+1472 0 obj <<
+/D [1449 0 R /XYZ 118.555 272.882 null]
+>> endobj
+1473 0 obj <<
+/D [1449 0 R /XYZ 382.513 261.405 null]
+>> endobj
+1474 0 obj <<
+/D [1449 0 R /XYZ 273.304 249.749 null]
+>> endobj
+1475 0 obj <<
+/D [1449 0 R /XYZ 71.731 227.829 null]
+>> endobj
+1476 0 obj <<
+/D [1449 0 R /XYZ 202.34 208.123 null]
+>> endobj
+1446 0 obj <<
+/D [1449 0 R /XYZ 71.731 200.985 null]
+>> endobj
+66 0 obj <<
+/D [1449 0 R /XYZ 200.472 163.769 null]
+>> endobj
+1477 0 obj <<
+/D [1449 0 R /XYZ 71.731 156.417 null]
+>> endobj
+1478 0 obj <<
+/D [1449 0 R /XYZ 298.358 143.644 null]
+>> endobj
+1479 0 obj <<
+/D [1449 0 R /XYZ 102.166 117.742 null]
+>> endobj
+1481 0 obj <<
+/D [1449 0 R /XYZ 71.731 110.603 null]
+>> endobj
+1482 0 obj <<
+/D [1449 0 R /XYZ 175.511 99.809 null]
+>> endobj
+1448 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R /F35 1185 0 R /F44 1402 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1486 0 obj <<
+/Length 2311      
+/Filter /FlateDecode
+>>
+stream
+xڥZm���
��_�H>d�k��uQ4w��+`�P_�u?�v�v�e����>�G��t�!��h�W��Wg�;b����+ku����IbK"۞������g��wV��+��,
+V�c�гW���oN��fk{��f�z�Wu��I~T����I�ƛ�����_�[P�	X:F����0o2+@��{V�וv=���{�#���Qtxa�Q��ޟ��K%����)J��$��mq�k"���t�6s�t>����s��Z
-buI�J��Q]�P�R��l�:)Ł^�iQ���c�~'JZešIEuE����e���>���n��e���R?[��<j@���#�!����'*��FL���R4�Ze���䂩�{	�丫�%g��u�TZ$����BJ���F-O����O�O�m��Uk���^�SPv��S��5�I�W$�V�"
�%@g��j�`�$,��K�=�)��:�*wՃ=(���_7�!���:ާS�?
��Z�vm��.
t+fiA�T�U[C�,������
��3T��I�ܦ^;��IE�4e�c���e�����d{�P`<TP8�@���ģ()����W�)�"M����
�^H���&`g��7w��^������/y������݇�̯��I~P�J��*!�%�u�7X��b���Zd��ȂدI#5��'����aK3��IA�<Y�	]���Gj�	S��J���:`FLjK�H[unWU���lv��M$�7�|ԹTY[f���T�Bᄎ��κ���K7qހ�e�{kڱ31�v�.����qOf��H
r���,�C�MA�s��&d-c�+�ݴ�mU[޺8.��K9�y��|��ҷ������8�����f������
+Bg����0��sM�VV�@7���#X�_x�丑�b�(�`u�JXd�1٫e�ZTS!k���k�?�b͡2W�jd�%�*K[Q~QwTW�1���l���)��A��z��#CP_�qͧ>�7ָ[�ݭ���F�w�t�[�U@m���zc��t�m��1�l�}�[����S�0B��8�~}����oDq�Mր~Nc��I:��n�V�c�Z�u���S���^���<nj�R�ȘZ~(*��rUs��Z@;�/�D5nk�,����>�|p��8'�U@Q_Rц����ٲl͈��m;��xW��G6A,�F�ȵn��~��#cN���
�K��{�ѡ!|�Wd�dZ){UK����rZ�Q���#�Ўd��Iʺ�2����f��<'�s2D��6
hBmMm㚋=�s�Ҍ�C�Ѵ8g"'�i�P��<�iџ�Y����:O~��ե�ی�~���Ari��ɪ_>���^��G��$O�p4�քx>��L�逛J�B7������0hj߇ݾw�Bǥ��Y?)
[-3�7���.R&C������w�ԓ`��O�I)���:���u�����dž6�: ���7ߓޖ�D�i�����@��Б?Hw8ಙ��ai{@��BWe�OK"Y�D-�N�t�~�jk=8��s$O�d��nE��O��7�~�� m�v�D��i_�4@�X��[ʦ-��HS՛q�;���;�Ν�w��1�����f!�1�����d���P
Z��+���sX�k�M��Gjij�ʁ���}��̳�7�9
+����m���Y��D�{��)���Gj�g�����A��u^"72���,�N"�,�>�z�u�H-b���x�{�dg=�"��P34ؠ�⾑���
ZMq�h��z��H-��'�w�uQfq�O��x�s�:f:�EHm�y�b=σ{�V�p}�/�orN(��f�;�E�I��EקX/��`�H����n�]����:��Fǵ����d��r�[�2Q�x�����Nf�rA�`��)��T�Gj�]���O�뻤�a��yl��v��d �"\d`��<�ڎ��M�����G
+0�"�x�ܓY"B��1�3X/&�d�H��@T��'��|�[��u-c��6T�����g����,�W<��] \
+l;�)�}r�ٞ�<O�2�PiG1�׷z����{yg[P�-���(������Ög[k�1e;�Ŕ%��<��r6
6�ԣ
�_z-�Y��_1b�w2o��ڲ�z������������	�؞�b$H�8��`�<F����R�:������7s��Z�˝��(ન��A�b�扺Y
+	I�S��`�P����{(/�i0\�B�5x�EL�/���9��K4�;n'd��C����jx��س$"gۥ1E�J
+�endstream
+endobj
+1485 0 obj <<
+/Type /Page
+/Contents 1486 0 R
+/Resources 1484 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1396 0 R
+/Annots [ 1492 0 R 1493 0 R 1517 0 R 1524 0 R 1530 0 R 1533 0 R 1536 0 R ]
+>> endobj
+1492 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [446.147 608.553 505.908 617.464]
+/Subtype /Link
+/A << /S /GoTo /D (win32-perl-modules) >>
+>> endobj
+1493 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 582.65 120.707 591.562]
+/Subtype /Link
+/A << /S /GoTo /D (install-perlmodules-manual) >>
+>> endobj
+1517 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.664 250.994 140.592 259.905]
+/Subtype /Link
+/A << /S /GoTo /D (install-modules-dbd-mysql) >>
+>> endobj
+1524 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.664 197.196 126.595 206.107]
+/Subtype /Link
+/A << /S /GoTo /D (install-modules-template) >>
+>> endobj
+1530 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.664 133.435 104.05 142.346]
+/Subtype /Link
+/A << /S /GoTo /D (install-modules-gd) >>
+>> endobj
+1533 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.664 115.502 136.707 124.413]
+/Subtype /Link
+/A << /S /GoTo /D (install-modules-chart-base) >>
+>> endobj
+1536 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.664 97.569 134.485 106.481]
+/Subtype /Link
+/A << /S /GoTo /D (install-modules-gd-graph) >>
+>> endobj
+1487 0 obj <<
+/D [1485 0 R /XYZ 71.731 729.265 null]
+>> endobj
+1488 0 obj <<
+/D [1485 0 R /XYZ 71.731 718.306 null]
+>> endobj
+1489 0 obj <<
+/D [1485 0 R /XYZ 71.731 718.306 null]
+>> endobj
+1490 0 obj <<
+/D [1485 0 R /XYZ 71.731 654.446 null]
+>> endobj
+1491 0 obj <<
+/D [1485 0 R /XYZ 71.731 621.504 null]
+>> endobj
+1494 0 obj <<
+/D [1485 0 R /XYZ 71.731 572.688 null]
+>> endobj
+1495 0 obj <<
+/D [1485 0 R /XYZ 71.731 572.688 null]
+>> endobj
+1496 0 obj <<
+/D [1485 0 R /XYZ 71.731 551.818 null]
+>> endobj
+1497 0 obj <<
+/D [1485 0 R /XYZ 125.419 527.323 null]
+>> endobj
+1498 0 obj <<
+/D [1485 0 R /XYZ 71.731 525.166 null]
+>> endobj
+1499 0 obj <<
+/D [1485 0 R /XYZ 71.731 510.222 null]
+>> endobj
+1500 0 obj <<
+/D [1485 0 R /XYZ 207.59 489.066 null]
+>> endobj
+1501 0 obj <<
+/D [1485 0 R /XYZ 523.49 465.753 null]
+>> endobj
+1502 0 obj <<
+/D [1485 0 R /XYZ 71.731 414.545 null]
+>> endobj
+1503 0 obj <<
+/D [1485 0 R /XYZ 71.731 383.562 null]
+>> endobj
+1504 0 obj <<
+/D [1485 0 R /XYZ 170.798 370.71 null]
+>> endobj
+1505 0 obj <<
+/D [1485 0 R /XYZ 71.731 363.572 null]
+>> endobj
+1506 0 obj <<
+/D [1485 0 R /XYZ 89.664 342.814 null]
+>> endobj
+1507 0 obj <<
+/D [1485 0 R /XYZ 71.731 340.658 null]
+>> endobj
+1508 0 obj <<
+/D [1485 0 R /XYZ 89.664 324.882 null]
+>> endobj
+1509 0 obj <<
+/D [1485 0 R /XYZ 71.731 323.098 null]
+>> endobj
+1510 0 obj <<
+/D [1485 0 R /XYZ 89.664 306.949 null]
+>> endobj
+1511 0 obj <<
+/D [1485 0 R /XYZ 71.731 304.792 null]
+>> endobj
+1512 0 obj <<
+/D [1485 0 R /XYZ 89.664 289.016 null]
+>> endobj
+1513 0 obj <<
+/D [1485 0 R /XYZ 71.731 287.233 null]
+>> endobj
+1514 0 obj <<
+/D [1485 0 R /XYZ 89.664 271.083 null]
+>> endobj
+1515 0 obj <<
+/D [1485 0 R /XYZ 71.731 269.3 null]
+>> endobj
+1516 0 obj <<
+/D [1485 0 R /XYZ 89.664 253.151 null]
+>> endobj
+1518 0 obj <<
+/D [1485 0 R /XYZ 71.731 250.994 null]
+>> endobj
+1519 0 obj <<
+/D [1485 0 R /XYZ 89.664 235.218 null]
+>> endobj
+1520 0 obj <<
+/D [1485 0 R /XYZ 71.731 233.061 null]
+>> endobj
+1521 0 obj <<
+/D [1485 0 R /XYZ 89.664 217.285 null]
+>> endobj
+1522 0 obj <<
+/D [1485 0 R /XYZ 71.731 215.128 null]
+>> endobj
+1523 0 obj <<
+/D [1485 0 R /XYZ 89.664 199.352 null]
+>> endobj
+1525 0 obj <<
+/D [1485 0 R /XYZ 71.731 197.196 null]
+>> endobj
+1526 0 obj <<
+/D [1485 0 R /XYZ 89.664 181.42 null]
+>> endobj
+1527 0 obj <<
+/D [1485 0 R /XYZ 169.145 163.487 null]
+>> endobj
+1528 0 obj <<
+/D [1485 0 R /XYZ 71.731 156.349 null]
+>> endobj
+1529 0 obj <<
+/D [1485 0 R /XYZ 89.664 135.592 null]
+>> endobj
+1531 0 obj <<
+/D [1485 0 R /XYZ 71.731 133.435 null]
+>> endobj
+1532 0 obj <<
+/D [1485 0 R /XYZ 89.664 117.659 null]
+>> endobj
+1534 0 obj <<
+/D [1485 0 R /XYZ 71.731 115.502 null]
+>> endobj
+1535 0 obj <<
+/D [1485 0 R /XYZ 89.664 99.726 null]
+>> endobj
+1537 0 obj <<
+/D [1485 0 R /XYZ 71.731 97.569 null]
+>> endobj
+1484 0 obj <<
+/Font << /F33 1116 0 R /F35 1185 0 R /F27 1020 0 R /F23 1013 0 R /F44 1402 0 R /F48 1414 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1546 0 obj <<
+/Length 1911      
+/Filter /FlateDecode
+>>
+stream
+xڥXێ�6}�W�-6�f%��>%��6E6mM����i[�,9����;$��nV6(]<�93gn�;s�ϝE.�<8Є�0����l�ܿpQb�"˖�����x�,!I��ֻ���$�f�GI��z����;ռZ,i��)�Ƿ��Y�g�^_�n��fy���yq��F/"I�M��ИΖ�!	uDZ'$r�щ���;�.�QƈH�>�������غv���I=����j�^DΜ/�`��^�^�پ�s��P/Cf�In���;��
+i����lW"��u�
2�XUK^{�0�a�ߝ&�%s�$#"��H��l��0��K�ޭV����J@����)q�h�{#3i��}DQ��49�����O��q�p�9K�5�"J�(���"s�&�0ë4
m=��	=��f�N8ێ��%$�.3彑�4-��c[�
��#$�*^�g}������
�Op�'�r��?׈ A�`����U�PD��7��|�&0��Ko�,"NO�od&m�~B� �f���:+��+~dYnn�λ5V���$��e�p,H�Sf)qI���$�緯a�3?�/9�hw�A��4QϮ
�LZ&��\+S.��x��Y�8���O�e�w�W��p��BjC
lS6u/[.��oq ��Sf@"׬Z��|��1Vl�Y������羅�-
+Qҭ��
no$/��c)P���	��`[���1��[��j���Dh�A��Ұ�ߴ��>ptT��ٮ�f'N��d���LY�:B�U㼽sb�g��}a.nz��C��hQ�}��e�!�YYp��~��*gU>��a���nb*h�!��
+���-�V\2ae�L�|��C�0�-�a� �'"�
+�d���}���D&�U�q��7do�Y����+���+�F����ڧ:���K�%/S���^�7*��ߎCN���%P�E��p��!����J��V�1���>��~:1!/e����L�ƣ��D���D"K3^Ԩ7Ş$�Z�j��̐������X_�f&�<��0H���Ө�9��N3l��ʇ̏[��b�^/B��O��̝�����7�H�랚'������QD���^�9u'v�ܥ�u��3��ۭ�G�
������;�[S���	�E���y��]���'��7#�_yR~�]����UPš9��:c���˔C��T'n�?au��iN�1r-ؖ[w~c2�ٶ�3Xz�{��
+�6��G� ,
eudEʧ�0i%��Ix{�4�P�9�f�R�y�mrލtY�g�/MV�>�����W�5h6���ʪ��H�%�QX�iHB�}Y󕖃7R+GX�(8q���IQ����`X�\�W�W�<�����i�m*=s�2�m	#U���(�2������͢D�
���Uq��x��Ro�Y����b��.��0qJ�f���?���ɸx�LF>��8�v�<��C!�����$��e��#��ZFƴ?C�NO�K��>k�.~cQ�8d���s��d\��p����!����=�W&��
+�Qt��͝�Vv!���� �-B_�N�aj��φΔ��r!O=a�;fr��vb�N<��4SI�:�|�,d�DŽ�ָ�N#��9�W����I�r��X��C��ܒ$�J�w�y^�^�uf�R�-���Р���‹����C�QP�Q��9!I�����
+��m�8�ᒯ6��b�&��3|tQ�rC�ږA�<���xY��Du)H��X�2�M�B��ƍz�Nx����:>����aPP�V���=��oIM%c�H~鍢�9��*^ּ�lpV�w3���Dtd�Pj׎��Rs���y-k��v*pO��bo��t�Ve��6��b"��;�g���������%v�����w���$�(�>]��?���g�endstream
+endobj
+1545 0 obj <<
+/Type /Page
+/Contents 1546 0 R
+/Resources 1544 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1396 0 R
+/Annots [ 1550 0 R 1553 0 R 1556 0 R 1559 0 R ]
+>> endobj
+1550 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.664 706.187 155.237 715.098]
+/Subtype /Link
+/A << /S /GoTo /D (install-modules-gd-text-align) >>
+>> endobj
+1553 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.664 688.254 142.087 697.166]
+/Subtype /Link
+/A << /S /GoTo /D (install-modules-xml-parser) >>
+>> endobj
+1556 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.664 670.321 139.865 679.233]
+/Subtype /Link
+/A << /S /GoTo /D (install-modules-patchreader) >>
+>> endobj
+1559 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.664 652.389 147.068 661.3]
+/Subtype /Link
+/A << /S /GoTo /D (install-modules-mime-parser) >>
+>> endobj
+1547 0 obj <<
+/D [1545 0 R /XYZ 71.731 729.265 null]
+>> endobj
+1548 0 obj <<
+/D [1545 0 R /XYZ 71.731 741.22 null]
+>> endobj
+1549 0 obj <<
+/D [1545 0 R /XYZ 89.664 708.344 null]
+>> endobj
+1551 0 obj <<
+/D [1545 0 R /XYZ 71.731 706.187 null]
+>> endobj
+1552 0 obj <<
+/D [1545 0 R /XYZ 89.664 690.411 null]
+>> endobj
+1554 0 obj <<
+/D [1545 0 R /XYZ 71.731 688.254 null]
+>> endobj
+1555 0 obj <<
+/D [1545 0 R /XYZ 89.664 672.478 null]
+>> endobj
+1557 0 obj <<
+/D [1545 0 R /XYZ 71.731 670.321 null]
+>> endobj
+1558 0 obj <<
+/D [1545 0 R /XYZ 89.664 654.545 null]
+>> endobj
+1539 0 obj <<
+/D [1545 0 R /XYZ 76.712 636.613 null]
+>> endobj
+70 0 obj <<
+/D [1545 0 R /XYZ 182.984 602.142 null]
+>> endobj
+1560 0 obj <<
+/D [1545 0 R /XYZ 71.731 593.69 null]
+>> endobj
+1561 0 obj <<
+/D [1545 0 R /XYZ 71.731 526.326 null]
+>> endobj
+1540 0 obj <<
+/D [1545 0 R /XYZ 71.731 493.385 null]
+>> endobj
+74 0 obj <<
+/D [1545 0 R /XYZ 242.807 460.075 null]
+>> endobj
+1562 0 obj <<
+/D [1545 0 R /XYZ 71.731 451.622 null]
+>> endobj
+1541 0 obj <<
+/D [1545 0 R /XYZ 71.731 408.105 null]
+>> endobj
+78 0 obj <<
+/D [1545 0 R /XYZ 167.419 374.795 null]
+>> endobj
+1563 0 obj <<
+/D [1545 0 R /XYZ 71.731 366.342 null]
+>> endobj
+1564 0 obj <<
+/D [1545 0 R /XYZ 71.731 353.709 null]
+>> endobj
+1565 0 obj <<
+/D [1545 0 R /XYZ 71.731 338.765 null]
+>> endobj
+1566 0 obj <<
+/D [1545 0 R /XYZ 129.53 317.609 null]
+>> endobj
+1567 0 obj <<
+/D [1545 0 R /XYZ 178.522 317.609 null]
+>> endobj
+1568 0 obj <<
+/D [1545 0 R /XYZ 76.712 289.315 null]
+>> endobj
+1569 0 obj <<
+/D [1545 0 R /XYZ 71.731 269.39 null]
+>> endobj
+1570 0 obj <<
+/D [1545 0 R /XYZ 371.86 257.733 null]
+>> endobj
+1571 0 obj <<
+/D [1545 0 R /XYZ 193.02 246.077 null]
+>> endobj
+1542 0 obj <<
+/D [1545 0 R /XYZ 71.731 218.182 null]
+>> endobj
+82 0 obj <<
+/D [1545 0 R /XYZ 210.827 182.715 null]
+>> endobj
+1572 0 obj <<
+/D [1545 0 R /XYZ 71.731 174.263 null]
+>> endobj
+1543 0 obj <<
+/D [1545 0 R /XYZ 71.731 143.696 null]
+>> endobj
+1544 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R /F44 1402 0 R /F35 1185 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1578 0 obj <<
+/Length 1643      
+/Filter /FlateDecode
+>>
+stream
+xڽXmo�6��_a�Ke ��jI٧�ˊ
Vl�0`�Z�mb�KI�I��w��d+Y�C�H������s<9\�����b�D�m�UY�VGx��E�368e3��z����xU��6^��$��"[eq��i��U�{oN�ST�7Qx�o����9�����㜬�����v�6M��/��Y��Ǣx�~���3`��q��E~��.d�����뷂t'3��i�Q�=�m���j���`�b��;Q����9�b�\ۆ�C����3A+�r0�Ƕ77��0�H���
��p��k��>:7
�K?I�I��I���6��:L�u}}�ٱ���w�l��������@�O �����__X�`Xh吠_>SDH���C��2l��Z���47{�oD`{�d���!�8]��ۭ� NBg
+���������v���h��R�N��w'K$\a��@�a�Òy�6�^ҹ�_�S��<{Y�8Z��g���C|i�JT/�g���%\����<`���Z�d�b��� ��6- *f�AE�I�<rDc`
+�bj 0��D����ia�[��}�`�[P���9�����C����M�촍�P@�bA�k蒸6a@Ս4���������"��Q��u��"C�ݝքq��h�a]�oy[��D�m��$��i�M���m�`�K���괂J����[d$�)�d��Ȉ�B����O�SB�N?�r:��3D�r4�Rc͋-pT�J�
=�`��
�����
�6�{���ct��=x�ޕyA������ܴ<��r3*�
+�wP F�j�ԷQ+�t�uA{.?m&���ڼ$�AE�6{��j�T��
+�p�8�G��II�ۭs�H9��%��x"�w�ux7ORA�E���I�hG��ZŴ�T(P@�V�g
xG��3�Jl����6���T�>��L�C��IzبQ�ȍ��IS����jE�r���/BӪ�W�gM�p圃C��H�����;M�b�.
d�ݘ���f��SÆu��N��tX1�����QI�ٮ�G�>�R�)��O#p.��f*A��tf������W�6�?��`W�����1\�t����!����=�!c�ʌ�q9�z;Y�9B�D�CJ$3�$C�j��M��Xj◢�g|v����_�]��@nR�3�1���k��db^���X��n5��D�3�s��I��BgQ1����DO�T�S:�^��w���w�9Z��SӊS������;:��Za�^���%{�s���w)��yW�RY 2r�(zW�F�-�2O��	q�a���o�F�\������tq�ʽ��v�dC-X�1��Զ�����_��ch�&R?}9�0p�%�i�cmw��n��`��y�z?6�`��"<����(b�a[��Cn{��A�g}�#vR�6�xK�))���Q�BЋ^{d�5vrIf�3�E���ؐ=W�������oWtεϬ��꬘�ء?�9>��8t�$6Y��Ys6�v�a?#9��B\m|*i�	OT�d����sA����נ�j�a��^�j���(-KJ+����eU�vr	�����c>bD���'�$��0{�'�q��/di�A�h��~����o��+endstream
+endobj
+1577 0 obj <<
+/Type /Page
+/Contents 1578 0 R
+/Resources 1576 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1594 0 R
+>> endobj
+1579 0 obj <<
+/D [1577 0 R /XYZ 71.731 729.265 null]
+>> endobj
+1580 0 obj <<
+/D [1577 0 R /XYZ 71.731 741.22 null]
+>> endobj
+86 0 obj <<
+/D [1577 0 R /XYZ 207.683 708.344 null]
+>> endobj
+1581 0 obj <<
+/D [1577 0 R /XYZ 71.731 699.891 null]
+>> endobj
+90 0 obj <<
+/D [1577 0 R /XYZ 234.008 648.966 null]
+>> endobj
+1582 0 obj <<
+/D [1577 0 R /XYZ 71.731 640.329 null]
+>> endobj
+1573 0 obj <<
+/D [1577 0 R /XYZ 71.731 622.899 null]
+>> endobj
+94 0 obj <<
+/D [1577 0 R /XYZ 216.458 589.589 null]
+>> endobj
+1583 0 obj <<
+/D [1577 0 R /XYZ 71.731 581.137 null]
+>> endobj
+1584 0 obj <<
+/D [1577 0 R /XYZ 413.586 570.66 null]
+>> endobj
+1585 0 obj <<
+/D [1577 0 R /XYZ 193.324 544.757 null]
+>> endobj
+1575 0 obj <<
+/D [1577 0 R /XYZ 71.731 537.619 null]
+>> endobj
+98 0 obj <<
+/D [1577 0 R /XYZ 222.436 504.309 null]
+>> endobj
+1586 0 obj <<
+/D [1577 0 R /XYZ 71.731 495.857 null]
+>> endobj
+1587 0 obj <<
+/D [1577 0 R /XYZ 453.495 485.38 null]
+>> endobj
+1574 0 obj <<
+/D [1577 0 R /XYZ 71.731 478.242 null]
+>> endobj
+102 0 obj <<
+/D [1577 0 R /XYZ 225.412 444.931 null]
+>> endobj
+1588 0 obj <<
+/D [1577 0 R /XYZ 71.731 436.479 null]
+>> endobj
+1447 0 obj <<
+/D [1577 0 R /XYZ 71.731 395.95 null]
+>> endobj
+106 0 obj <<
+/D [1577 0 R /XYZ 287.71 358.735 null]
+>> endobj
+1589 0 obj <<
+/D [1577 0 R /XYZ 71.731 348.37 null]
+>> endobj
+1590 0 obj <<
+/D [1577 0 R /XYZ 71.731 331.472 null]
+>> endobj
+1591 0 obj <<
+/D [1577 0 R /XYZ 71.731 274.685 null]
+>> endobj
+1592 0 obj <<
+/D [1577 0 R /XYZ 71.731 243.801 null]
+>> endobj
+1593 0 obj <<
+/D [1577 0 R /XYZ 71.731 189.071 null]
+>> endobj
+1125 0 obj <<
+/D [1577 0 R /XYZ 71.731 159.118 null]
+>> endobj
+1576 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R /F35 1185 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1597 0 obj <<
+/Length 2108      
+/Filter /FlateDecode
+>>
+stream
+x��X[�۸~?�B�.P�8fD�ԥ�>4�n���EP� ��h[Ytt������E�l�� ۇ"81E
9Ïs�F4J��rJr?iI�LD��.����/w�I���:�y�p��;Ƣ���6�)�(g))D=�o�W;yU�Z�"�Sb��
�lۦ�����צm�����w�>�J�IY�g��2W��,�9I�@��Ar^�Rb�ɋ���~N�t;�rltwi����GY�MQ�ǻ�k���_��x��N��2��,Yԫhs���y�$Zg)��=�Z'w���[��RF������J�(`@���+�IJ�t8���8��2#��\Y(Ҍd,7+~\��h
wGEܞ����8�>���f����|�橱7mp��N��$��JE��̶�'��>�q��|��T��m��uU�7;j�;�`�ƣ�^��9-9����@)Ʉ;f�䠬'���tO;7T5Y��d�&��q��z3��m��Vh8��Nn=
�iE�$��oԊyT:;���BX�x/��y�]S�~������́����	�������Cۺy�T)wj�8}�"/'�)e)8����"볌q��9/�YfP�/�2����z���2
+�"+B��+������ӍO���ĕ\�9'̢ ��09p�Vdp�F��3U�f(I
+z;͸�*
+.�9�R�6��d�ӆ�:i~.��iBh���t����';�ήb�|-"#9�a1.�v��0�q:�C{�!O	O'{lƝ�W�L�0�t߫j�{]O�	.xhV4�IL��n����ph��	J�R�ܺm壞F��fH�ft��_�q��P�(8����k��Ό+PЁJ��a�47@�!���z��k�!�t�q>\@U�
�XN-��K��q����6�_��M�G_�M��y�T*�
+�y ����) �E�-ko�-cM>��㔩��!�S�M�C�=ّI���߳����`P��픪�q�0Y�DLVDw�����~|�h��������꾾@s���&G��"�Bh�-����l��3��&���(����Ǧ�`_H;1��6<
����>��9ɼ��y�m*�w�0u
$L��˝�Z��ӣ8�˻m��8ik3G{Y�{�2�l��N _������N��\�љ�y�0���}��9J�M��U��9ɀp~F�ePt3k���������F����4+n|U���d���4��J�q��I���-<Ѣ�h�Crh��nlO.� #0A�v�[C��j��S=\����+ۜ��<y\����ާ[������
+��_)4Ycy��ZQt�K�d;�ϱqRE�ix¾C�h�����҉�|�Bv�U�x�(PPF��e65z�
�_;?��F��!H��/����M߲ň6a=ײ�Ѣ����{w�r��ONvc5ͺaK��W�E~����g0b>�.Ӫ=�dJ3�*�#��(r~�;�5NI�u�N͚Ô�3��]���'zGL$+���;
+F��3zG#�?G�4�EQ>�;
�F���$�v����[�Α�=΍�E�fI�{l!]����ͼ����4��<	�[a�!p8���W�i�[��T�A�t4bL��Ko�'������Fx�7@g+9I����pN�W�d�W�c*���Z�[�k�˹5���f.Z(нF�>a������$��+�E��0��K]v9��>��.��޻hn��Is��k�2_�,�7��F� �}{��5`]�#{|L��	�~ˀ�)�7{ �h��0{�n�Eȱ�-��^�$���r�I�0��A��f�M��t�/L��ߌ��Ѿ��K����@ai�e�N����=�%��;��0x��i{�t';?j����kw�ӆl/�4tg�洬���A����j�^�O�����<k��Q���"��=I�H
++C�qŸfZ7
s��'ɒ�tHal�k4������E�I>ɨ������������:�pD=�!���	|@��_D)���7>����K�D�������@��qp��><��֞Z8�24�-�%�2h��d�v��$�F>"�G�o��^a�I�n8�I�?�	�,r�^0��ɼZV>�U�Z���|�endstream
+endobj
+1596 0 obj <<
+/Type /Page
+/Contents 1597 0 R
+/Resources 1595 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1594 0 R
+/Annots [ 1601 0 R 1614 0 R ]
+>> endobj
+1601 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.905 626.063 313.275 634.545]
+/Subtype /Link
+/A << /S /GoTo /D (security) >>
+>> endobj
+1614 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.583 333.427 350.441 342.016]
+/Subtype /Link
+/A << /S /GoTo /D (security-mysql) >>
+>> endobj
+1598 0 obj <<
+/D [1596 0 R /XYZ 71.731 729.265 null]
+>> endobj
+110 0 obj <<
+/D [1596 0 R /XYZ 218.078 705.748 null]
+>> endobj
+1599 0 obj <<
+/D [1596 0 R /XYZ 71.731 701.917 null]
+>> endobj
+1600 0 obj <<
+/D [1596 0 R /XYZ 118.555 659.727 null]
+>> endobj
+114 0 obj <<
+/D [1596 0 R /XYZ 187.345 583.596 null]
+>> endobj
+1602 0 obj <<
+/D [1596 0 R /XYZ 71.731 573.231 null]
+>> endobj
+1603 0 obj <<
+/D [1596 0 R /XYZ 128.448 563.472 null]
+>> endobj
+1604 0 obj <<
+/D [1596 0 R /XYZ 115.725 550.52 null]
+>> endobj
+1605 0 obj <<
+/D [1596 0 R /XYZ 71.731 543.382 null]
+>> endobj
+1606 0 obj <<
+/D [1596 0 R /XYZ 264.915 532.588 null]
+>> endobj
+1607 0 obj <<
+/D [1596 0 R /XYZ 71.731 501.604 null]
+>> endobj
+1608 0 obj <<
+/D [1596 0 R /XYZ 169.414 488.752 null]
+>> endobj
+1609 0 obj <<
+/D [1596 0 R /XYZ 71.731 468.662 null]
+>> endobj
+1610 0 obj <<
+/D [1596 0 R /XYZ 71.731 431.965 null]
+>> endobj
+1611 0 obj <<
+/D [1596 0 R /XYZ 71.731 424.827 null]
+>> endobj
+118 0 obj <<
+/D [1596 0 R /XYZ 161.035 387.611 null]
+>> endobj
+1612 0 obj <<
+/D [1596 0 R /XYZ 71.731 384.642 null]
+>> endobj
+1613 0 obj <<
+/D [1596 0 R /XYZ 118.555 346.899 null]
+>> endobj
+1615 0 obj <<
+/D [1596 0 R /XYZ 71.731 311.915 null]
+>> endobj
+122 0 obj <<
+/D [1596 0 R /XYZ 252.096 283.317 null]
+>> endobj
+1616 0 obj <<
+/D [1596 0 R /XYZ 71.731 274.679 null]
+>> endobj
+1617 0 obj <<
+/D [1596 0 R /XYZ 173.289 251.436 null]
+>> endobj
+1618 0 obj <<
+/D [1596 0 R /XYZ 71.731 244.298 null]
+>> endobj
+1619 0 obj <<
+/D [1596 0 R /XYZ 71.731 221.384 null]
+>> endobj
+1620 0 obj <<
+/D [1596 0 R /XYZ 71.731 177.202 null]
+>> endobj
+1621 0 obj <<
+/D [1596 0 R /XYZ 71.731 153.539 null]
+>> endobj
+1595 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F44 1402 0 R /F27 1020 0 R /F35 1185 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1624 0 obj <<
+/Length 2195      
+/Filter /FlateDecode
+>>
+stream
+xڥX{�۸�?�������^���E��k����尠%���O���}��𥗳�X`IS��7C҅t��d��$H�EV���r���+�e5�s�}q�&)I�p��/"�!�z�����6���둝$o�� �����m-$+ˢ>��w����,����/^o�8\�t>+��3,X��Y��
	�H	�=�k���#+Ecfz8��U܉_�0Fi/�Z�@���ˊ}aR��X�Z��w�R���~��K
+��R��Wz���k���>�W呙mYS˶)�]7R���*�XbE���@�2��'�nW��`�7�G4��^f��d�n��U�����߁�8M�=�����]C����MN|4գ���'�����i�����(+;�l�
+BJ�85�����Io���Κ#�8�����<�%���Ĩ.(�1���|EE= ���7�-*C��ꧨ��
ӧe�:�?zI����,W��/�~��oe
17(z-H�w(yy���+��M�X�ϪRϔ	`d�wə��o�Vϲ#D�o������A�k���c��h{���Q�{�����|�L��2�=���*胡af�ѫ�c!.$A�:��(�K�~�;:N@�ˊO�dzihÂfBU!ϯ-:de�;L�ʲ+��j/OWF����U�W��
��r�I�Y�1?@�е6l�D��Y똌m���
u��t⺼��Ǫ��Gp���\%0upT�
+���M��N2�yپ�Ѧ^(_6I��\ÅU�j�b)��+^@�$��0J
&�p��Tg���y�%�$�����i{���xZjV�,�bﻹ�'!A��	��:����2���>ʼn����*�}�4OzjP�Oڐ8żL|j�H/��#�kE�z�x�U07Ċ�d����>�k��!�uE��i��_�F������ֿY���da���l�̓�(�黛����e{DY�dMu�n��oހ],�<�)j��]
*�������(X!�A��hG|h$7��~����D~`�e�,�1���	�,ha{S��<�:ҝ�F`Z�Y>. /`�92g
�cq��v�T�V��8x��$L�AAMA��2��n��&U�Q`�)��d;\*��*%`<�j7��;e�3fCS%���o+oᬼ�Ns��2�թ��Ņ�:a�$�)@���A���U��"zfpf@V�=�tj�н���g��f�8 hy[`�߈�%g!y�W�̐��a-��h�
+c�q�A3[@�;�s�Ǯm��f�py+d�e�o�R�z��g�5$l��=4oSZ셼��(��2`�\Y�ՕK��
�d���Z�q��#U)���E$
+��|�n��A������k=4�J�
I���o�|��Ϗ�^����
+�w�ߩ�_k�o��>�
+����4#���
+��t���N%��%[���L1w-4hK��r�kcuP�_�4Lߣm����u�Ӟ��n�G����坭�'�v��n&��da�[:��nY殪�^se�x~�H��?6]��I�hy�L/��wdM��t�QE�[����htLВ�c��J��1��K���ӍN�u��J=��fw�Ԏ��=��M;���Fs3ċ�[��橹H�D00���ON"iơ���L򵍥��P�jIԕx�߻���� C��K=!����ʠ��I�p���ԢZ���Z�}q�;.N	]�v�{Cr?�Y�����F}���.��\T��D>�J�U�(�F��N��9��\��I�At�˂�_�y/�{�씥���F�?�;�ċ��'!���[l+4�e[�.9aC�S����e�F��*EQ�������⫒ݳl��*M	!��<�;U�:c���H�<{��y�B�^�U�ID���3v
+&h:[�m;�@(v�r��X������:ܐ(���|�Y˙׏OA��A�<�Ba1kjf���i�.���>�Mi�Ҝx���T�#{meS��~�t�QΠ>0k��ߔ���oAӝ�R���TvD����l���ɀ\�T=G��Yں�`�s�0��Z�f����r�;9���Kξ[<G��v{!n�N�j�<���Ư3�mh�=o]��|����jCU;����&���D����vy;uֺ�r<�D��_��M=~�K��]�Nɴ�C�0�цl�����~��y>�i,T��_{r�s�/D�Cnendstream
+endobj
+1623 0 obj <<
+/Type /Page
+/Contents 1624 0 R
+/Resources 1622 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1594 0 R
+/Annots [ 1651 0 R ]
+>> endobj
+1651 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [446.952 190.421 499.255 199.332]
+/Subtype /Link
+/A << /S /GoTo /D (localconfig) >>
+>> endobj
+1625 0 obj <<
+/D [1623 0 R /XYZ 71.731 729.265 null]
+>> endobj
+1626 0 obj <<
+/D [1623 0 R /XYZ 71.731 718.306 null]
+>> endobj
+1627 0 obj <<
+/D [1623 0 R /XYZ 277.327 695.392 null]
+>> endobj
+1628 0 obj <<
+/D [1623 0 R /XYZ 71.731 675.303 null]
+>> endobj
+126 0 obj <<
+/D [1623 0 R /XYZ 326.396 641.993 null]
+>> endobj
+1629 0 obj <<
+/D [1623 0 R /XYZ 71.731 635.866 null]
+>> endobj
+1630 0 obj <<
+/D [1623 0 R /XYZ 71.731 602.974 null]
+>> endobj
+1631 0 obj <<
+/D [1623 0 R /XYZ 277.08 579.228 null]
+>> endobj
+1632 0 obj <<
+/D [1623 0 R /XYZ 71.731 567.108 null]
+>> endobj
+1633 0 obj <<
+/D [1623 0 R /XYZ 71.731 523.285 null]
+>> endobj
+1634 0 obj <<
+/D [1623 0 R /XYZ 71.731 498.431 null]
+>> endobj
+1635 0 obj <<
+/D [1623 0 R /XYZ 71.731 496.274 null]
+>> endobj
+1636 0 obj <<
+/D [1623 0 R /XYZ 71.731 481.33 null]
+>> endobj
+1637 0 obj <<
+/D [1623 0 R /XYZ 71.731 443.935 null]
+>> endobj
+130 0 obj <<
+/D [1623 0 R /XYZ 375.843 408.468 null]
+>> endobj
+1638 0 obj <<
+/D [1623 0 R /XYZ 71.731 399.831 null]
+>> endobj
+1639 0 obj <<
+/D [1623 0 R /XYZ 71.731 369.45 null]
+>> endobj
+1640 0 obj <<
+/D [1623 0 R /XYZ 105.494 358.655 null]
+>> endobj
+1641 0 obj <<
+/D [1623 0 R /XYZ 71.731 347.285 null]
+>> endobj
+1642 0 obj <<
+/D [1623 0 R /XYZ 82.491 337.036 null]
+>> endobj
+1643 0 obj <<
+/D [1623 0 R /XYZ 71.731 303.761 null]
+>> endobj
+1644 0 obj <<
+/D [1623 0 R /XYZ 71.731 270.72 null]
+>> endobj
+134 0 obj <<
+/D [1623 0 R /XYZ 235.718 237.41 null]
+>> endobj
+1645 0 obj <<
+/D [1623 0 R /XYZ 71.731 228.957 null]
+>> endobj
+1646 0 obj <<
+/D [1623 0 R /XYZ 270.344 205.529 null]
+>> endobj
+1647 0 obj <<
+/D [1623 0 R /XYZ 243.475 192.578 null]
+>> endobj
+1650 0 obj <<
+/D [1623 0 R /XYZ 375.041 192.578 null]
+>> endobj
+1652 0 obj <<
+/D [1623 0 R /XYZ 71.731 185.44 null]
+>> endobj
+1653 0 obj <<
+/D [1623 0 R /XYZ 136.229 174.645 null]
+>> endobj
+1654 0 obj <<
+/D [1623 0 R /XYZ 259.904 174.645 null]
+>> endobj
+1655 0 obj <<
+/D [1623 0 R /XYZ 398.333 174.645 null]
+>> endobj
+1656 0 obj <<
+/D [1623 0 R /XYZ 134.804 161.694 null]
+>> endobj
+1657 0 obj <<
+/D [1623 0 R /XYZ 346.299 161.694 null]
+>> endobj
+1658 0 obj <<
+/D [1623 0 R /XYZ 71.731 141.604 null]
+>> endobj
+1659 0 obj <<
+/D [1623 0 R /XYZ 105.494 130.809 null]
+>> endobj
+1660 0 obj <<
+/D [1623 0 R /XYZ 71.731 124.42 null]
+>> endobj
+1622 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R /F35 1185 0 R /F44 1402 0 R /F51 1649 0 R /F32 1027 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1663 0 obj <<
+/Length 2086      
+/Filter /FlateDecode
+>>
+stream
+x��YYs�~�_��TYJ,���Ij+�M�*��I�d+I�(�X�+8Z��q�{�6/)?����n�V��g.F�	�G�cϢ��jv�_>�Òb)I���û���9��ifa���5
�����s~	KF��ҰWs��&�,L�$?�����s����߇?���m����W�R4c�왇V.��3��z+���ȕ�����q���wNjZ�2����n�tX,��j�����V�l���^`��D��Ζ#�v�]�>>��$}�}�e��,�x������\��v����/buX�m��`��la�f��
+~���[�~ԛ8�f��b��Q.w�c��x~�c}��|�-���"
+�KA�T��	���M� ��I!n�qm��.�MKZ�7��?eH��	��V�/�n��!�������#�7y�q�i�����n��6��%p���e#!�4�c2���֗���"bQS�a.�E�������T4)x�~�g������]�Xn�CԂLB�aD�Ev��2Z��':�sI�M�3�
�	xqHI�,��YN�>WH�&����}pXP��Q�+7�a��$
�)Q֋ł^�:�k����Y��)L*?UE&V܎�b$W�P��G'��(��vp©Hӂ�w�ڻQ�eZF�/�ȵ�*��ָѺ�$��(��
+�/�x
���$ do�	��2��1�	,����z �X��c1g؂B��Ć��{�f����z�h�W��x>|���%*�qځ9�†��Dx���nUbTu>���\����+�;���T����Q��k�2���,	�oPŻ�c���q�:@Ȳ"��J`�By����A�)t*��p���L�F���e���D�=Q�RZg��F���!�&��Hx���B�hNC���Z1�����!�$��i#?��LCF�P�I�h����,<:u��`4�͑�Iv�6��5�*j�@�8�NW�\QŃ�1�v�I<t�8r��P��*�Po��W����$`Z�+�x�gr]�'�M�(�z�3U�])���)�W^�a�%9T�*djKEE��z���>ԏC'�S����8Z�_���V�yWͬPI���#l��F�	����B1�J��Ӷ�
+wR��]��A�1�J���Q�C:�aO`(Lj���K��*C_�S�p$32�p"�i���o����h����z]ބ)`l�e�o�	U��q�9c��,|y�y7e���atO
�9�@Ʌ%�4H2�U����ɀ��䭴�lS(K��/L��xi����7jԽ��ZEo���8����q�xN��"&0:Vu��T}������Jx:I6]�>(�;�ԋ��…8���e�c:~�2o��
+�m���K$hK9&�Um�R�����<n���vm��*J���bO��PS~�h��*u����E��d�}|�� �XW�G�(���H��&���u�`�7��Lh�&�ܧ�zE��5S}7��qa��ׂ7D4�#����~���y���Akg��w��m�Lw�y�&���/�`����X� 6�&��ce<�����Ķ'F@>�:j�o�A���0�<Ou�*���6�c�m�E�^���zdq�)	�P�+]a�^�����X�h�3��ۤ�1-�H�>dp�m(:'-V�&��Mb�6@��q�o���,�I>6��g)S�	���e�H��τ����
~�8��]ʱ�O�����#�Wb|M������k
+��&�"�@�cHy�����+�YyMk3s�NQ$�s�n:W�f;�+0c\-f���(�mt�'L��܉ۢ�~�ޣ�In)�.�A��ԯ~��FK�/�m�j�5!��0�z�E�2�tC�a�cg�;a�*��/a��z����,���S�a�6<��<V�j|H^���{�!d"F�i"�Sr��5f�S+��N��o�Ҙ��m��0�*������0�ۢ[)���Ht$Ӑ��y"w���/#5*�X�u�U��=���8��'��ȷ�&{�:���l������h��_�i�����j���Cv_�AK2���m@�������9�3�Y*endstream
+endobj
+1662 0 obj <<
+/Type /Page
+/Contents 1663 0 R
+/Resources 1661 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1594 0 R
+/Annots [ 1686 0 R ]
+>> endobj
+1686 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.398 285.026 265.701 293.938]
+/Subtype /Link
+/A << /S /GoTo /D (security-webserver-access) >>
+>> endobj
+1664 0 obj <<
+/D [1662 0 R /XYZ 71.731 729.265 null]
+>> endobj
+1665 0 obj <<
+/D [1662 0 R /XYZ 71.731 741.22 null]
+>> endobj
+1666 0 obj <<
+/D [1662 0 R /XYZ 71.731 718.306 null]
+>> endobj
+1667 0 obj <<
+/D [1662 0 R /XYZ 82.491 708.344 null]
+>> endobj
+1668 0 obj <<
+/D [1662 0 R /XYZ 297.683 673.375 null]
+>> endobj
+1669 0 obj <<
+/D [1662 0 R /XYZ 82.491 661.719 null]
+>> endobj
+1670 0 obj <<
+/D [1662 0 R /XYZ 71.731 650.489 null]
+>> endobj
+1671 0 obj <<
+/D [1662 0 R /XYZ 264.158 638.804 null]
+>> endobj
+1672 0 obj <<
+/D [1662 0 R /XYZ 342.703 638.804 null]
+>> endobj
+1673 0 obj <<
+/D [1662 0 R /XYZ 71.731 602.839 null]
+>> endobj
+1674 0 obj <<
+/D [1662 0 R /XYZ 82.491 591.283 null]
+>> endobj
+1675 0 obj <<
+/D [1662 0 R /XYZ 125.529 556.314 null]
+>> endobj
+1676 0 obj <<
+/D [1662 0 R /XYZ 82.491 544.658 null]
+>> endobj
+1677 0 obj <<
+/D [1662 0 R /XYZ 71.731 523.465 null]
+>> endobj
+138 0 obj <<
+/D [1662 0 R /XYZ 206.856 485.36 null]
+>> endobj
+1678 0 obj <<
+/D [1662 0 R /XYZ 71.731 475.217 null]
+>> endobj
+1679 0 obj <<
+/D [1662 0 R /XYZ 119.442 465.235 null]
+>> endobj
+1680 0 obj <<
+/D [1662 0 R /XYZ 71.731 432.194 null]
+>> endobj
+1681 0 obj <<
+/D [1662 0 R /XYZ 71.731 388.359 null]
+>> endobj
+1682 0 obj <<
+/D [1662 0 R /XYZ 71.731 388.359 null]
+>> endobj
+1683 0 obj <<
+/D [1662 0 R /XYZ 270.634 377.564 null]
+>> endobj
+1684 0 obj <<
+/D [1662 0 R /XYZ 71.731 370.426 null]
+>> endobj
+142 0 obj <<
+/D [1662 0 R /XYZ 188.593 333.21 null]
+>> endobj
+1685 0 obj <<
+/D [1662 0 R /XYZ 71.731 325.858 null]
+>> endobj
+1687 0 obj <<
+/D [1662 0 R /XYZ 71.731 285.026 null]
+>> endobj
+146 0 obj <<
+/D [1662 0 R /XYZ 191.198 252.712 null]
+>> endobj
+1688 0 obj <<
+/D [1662 0 R /XYZ 71.731 244.26 null]
+>> endobj
+1689 0 obj <<
+/D [1662 0 R /XYZ 94.695 233.783 null]
+>> endobj
+1690 0 obj <<
+/D [1662 0 R /XYZ 71.731 226.645 null]
+>> endobj
+1691 0 obj <<
+/D [1662 0 R /XYZ 438.672 215.851 null]
+>> endobj
+1692 0 obj <<
+/D [1662 0 R /XYZ 71.731 203.731 null]
+>> endobj
+1693 0 obj <<
+/D [1662 0 R /XYZ 71.731 182.861 null]
+>> endobj
+1694 0 obj <<
+/D [1662 0 R /XYZ 124.293 171.318 null]
+>> endobj
+1695 0 obj <<
+/D [1662 0 R /XYZ 71.731 158.366 null]
+>> endobj
+1696 0 obj <<
+/D [1662 0 R /XYZ 459.772 158.366 null]
+>> endobj
+1697 0 obj <<
+/D [1662 0 R /XYZ 283.238 145.415 null]
+>> endobj
+1698 0 obj <<
+/D [1662 0 R /XYZ 71.731 120.344 null]
+>> endobj
+1661 0 obj <<
+/Font << /F33 1116 0 R /F35 1185 0 R /F51 1649 0 R /F27 1020 0 R /F23 1013 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1702 0 obj <<
+/Length 2480      
+/Filter /FlateDecode
+>>
+stream
+xڭYYo��~��Y��i�y��-�J�H��1�8�g�0�$x��_�����>z�b��Uu
_X��g���پ���o���|~Ñb�$������O��Y�;���������Ƴ���Qوj��=ki3��:��(��|��/���i�E������ս�97�I��f��t��}ֆ9���H)����K:2�����H�D<�x�j�>?�b�"]Sh+���"O�E���Ld���
���V"n���Z
+�
+���'ؔ����-�	�@\$m|�Z4m��l���\���Q��zT<�L�JQӺN��F�V|�#�������eٙ���|���)�I�I)���+�[>���C�/�Uі�H&o?�m-�����)X(SAY��6=�l�Z�:�1��}�+���x̶�E��7B�9a/:hQ>ef�<$=4M����w3)� $�g#'�YR��� �em'}hx�p�3�A�B�j?o^h3�r�Z���h���s�!�p
+�����L���g(1D��VT"8�q�z���\���	����W�~�ҙo,��b�Z�u7�Lg.S�l�O�jeC��Ůя�s��\���z_�*E?��%�!BiY?Q̒�Yh�J�5��s�b�+�3x �b�.E)�
��V��G2(!�6�(j�D��HӔY����v�0�>m<۴YZ,�[Q�E�((��$����Dn���r�F?�m�*"�\
+P����}H��ć�����G�w��mE��H׈������	*�o��L�t�{���^q*i|���QV���+.����M�;Rp�GvE�BM�!H�vJ?x�7��L${��2��FU�ƀ�����m{31�ny��w��u[�Eհ#���<�'b��i��Eu���:N�?���"�u[��y#��o�Η���A�u-��fy��|�`���ۤ��*�0�� ��W���9Wi9��Ǵ9`�^���Y����2r<�AK���g�>p��bs�?I��`��vxnf��xY���^�tk[�|���� �~�d��ͨ����,11�qu7S־)k��,<��9�4�WeH��`F�n���)D�+5b�oi%q�%�4�<ό3�����m^���JԸ�Y�]�O�>��"�I��8�� �C����ua����L��i�=�l��cV������k�^��cc(�T2��3�l8��8[
+�fO�
+[�@�v�=���p�
+�9�,,���Ұx�J$�:����s�%���A�O��X�\�f��h��Y޵h�,ۉ�C�_I �sH�@�q7��"cjߤީMD	Xʖ؛B���;Y����PN���c8�\ffS.�/	�i��M��7E��*�iu�k僲Uc
+���z�x{�A����
+��
T)Q�ң)Z�gF29�7��&R�-F���L�s�Z5�J`�9���,0�U�n܍����L�.E����m#:���0t�����5>*�,ն�����%�w]��2x�;xQ�>��8���S�oQ��:��(}�t�zI&^>��@$���ou/4�,��s�LG��R���4�Qv�1
pY%�|�ż��i7<����>cʲ<��07Leߔi��8���<En��/�|�nFHţ�t��x7=(Zr=�|��X��Z���8ɡQ^I�����x�/���d-�O'��Dy�ԏ���۟���O�@Džӧ��,-
+�>�D�2�Z�#}��m�Ϩg��&ܚ.�S՚S�l�B���0�R�?��ts�޶����U��8|7��"��Fb�7�h���C$O���$� K|-aPZԨ"�o��-3e����$O�S��u�uN�A����,=���Jj�
���+�A��/W������^�K�d��5��xAw����`>#�$��gIs(��nq��nzA�Zwj�V�X�,�^J��p�	h����Y���c�.䬢.Q��|�-��}��l1i�l�P�tj�⣕��lZ��0�����l\�$!��g�{�)�V)awirݫ
+�C���
+��Q��a�;����G�C��naj�~De#<ޔ��������0#�v���٨�O�d:��+�����45�8���ԇ�.fw��-N���켪�_δD:@�jM�fQuҥ���=�=�%�����M��J`���w�����Ry:��q4A�	ӄ�|Iay����y��88BƸ�%6g�~&9����|;d�:�L�D�6�&Q͜I	�H:�W*����e�?\<�0�V��9d+������}�ނ���_��d��L~|���܁�fTr���X��7̇#�	�DrJ���˛o�g���O6�n�/d˺�:Zh�-���K�\?Up���cD�t%���	����n|�������q��JD��2+�ny�r"��M�vkh�"��,ڊ��V��6�I\�L�61�(�n؆'s�H&?�z�����R+n��3�T�����tendstream
+endobj
+1701 0 obj <<
+/Type /Page
+/Contents 1702 0 R
+/Resources 1700 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1594 0 R
+/Annots [ 1740 0 R ]
+>> endobj
+1740 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.345 170.461 218.649 177.315]
+/Subtype /Link
+/A << /S /GoTo /D (security-webserver-access) >>
+>> endobj
+1703 0 obj <<
+/D [1701 0 R /XYZ 71.731 729.265 null]
+>> endobj
+1704 0 obj <<
+/D [1701 0 R /XYZ 71.731 718.306 null]
+>> endobj
+1705 0 obj <<
+/D [1701 0 R /XYZ 91.377 708.344 null]
+>> endobj
+1706 0 obj <<
+/D [1701 0 R /XYZ 209.524 708.344 null]
+>> endobj
+1707 0 obj <<
+/D [1701 0 R /XYZ 156.951 677.46 null]
+>> endobj
+1708 0 obj <<
+/D [1701 0 R /XYZ 214.016 677.46 null]
+>> endobj
+1709 0 obj <<
+/D [1701 0 R /XYZ 379.345 677.46 null]
+>> endobj
+1710 0 obj <<
+/D [1701 0 R /XYZ 71.731 664.508 null]
+>> endobj
+1711 0 obj <<
+/D [1701 0 R /XYZ 182.366 664.508 null]
+>> endobj
+1712 0 obj <<
+/D [1701 0 R /XYZ 71.731 658.119 null]
+>> endobj
+150 0 obj <<
+/D [1701 0 R /XYZ 337.12 624.06 null]
+>> endobj
+1713 0 obj <<
+/D [1701 0 R /XYZ 71.731 617.933 null]
+>> endobj
+1714 0 obj <<
+/D [1701 0 R /XYZ 356.64 605.131 null]
+>> endobj
+1715 0 obj <<
+/D [1701 0 R /XYZ 487.229 605.131 null]
+>> endobj
+1716 0 obj <<
+/D [1701 0 R /XYZ 314.996 579.228 null]
+>> endobj
+1717 0 obj <<
+/D [1701 0 R /XYZ 339.026 566.276 null]
+>> endobj
+1718 0 obj <<
+/D [1701 0 R /XYZ 195.138 553.325 null]
+>> endobj
+1719 0 obj <<
+/D [1701 0 R /XYZ 335.131 553.325 null]
+>> endobj
+1720 0 obj <<
+/D [1701 0 R /XYZ 339.026 540.374 null]
+>> endobj
+1721 0 obj <<
+/D [1701 0 R /XYZ 298.678 527.422 null]
+>> endobj
+1722 0 obj <<
+/D [1701 0 R /XYZ 71.731 520.658 null]
+>> endobj
+1723 0 obj <<
+/D [1701 0 R /XYZ 115.736 496.538 null]
+>> endobj
+1724 0 obj <<
+/D [1701 0 R /XYZ 188.243 483.587 null]
+>> endobj
+1725 0 obj <<
+/D [1701 0 R /XYZ 375.478 483.587 null]
+>> endobj
+1726 0 obj <<
+/D [1701 0 R /XYZ 100.782 470.635 null]
+>> endobj
+1727 0 obj <<
+/D [1701 0 R /XYZ 204.064 444.732 null]
+>> endobj
+1728 0 obj <<
+/D [1701 0 R /XYZ 71.731 437.594 null]
+>> endobj
+1729 0 obj <<
+/D [1701 0 R /XYZ 71.731 388.777 null]
+>> endobj
+1730 0 obj <<
+/D [1701 0 R /XYZ 71.731 357.659 null]
+>> endobj
+1731 0 obj <<
+/D [1701 0 R /XYZ 71.731 332.588 null]
+>> endobj
+1732 0 obj <<
+/D [1701 0 R /XYZ 71.731 311.432 null]
+>> endobj
+1733 0 obj <<
+/D [1701 0 R /XYZ 71.731 291.507 null]
+>> endobj
+1734 0 obj <<
+/D [1701 0 R /XYZ 456.026 279.851 null]
+>> endobj
+1735 0 obj <<
+/D [1701 0 R /XYZ 207.921 268.194 null]
+>> endobj
+1736 0 obj <<
+/D [1701 0 R /XYZ 71.731 240.299 null]
+>> endobj
+1737 0 obj <<
+/D [1701 0 R /XYZ 71.731 194.306 null]
+>> endobj
+1738 0 obj <<
+/D [1701 0 R /XYZ 342.891 183.512 null]
+>> endobj
+1739 0 obj <<
+/D [1701 0 R /XYZ 442.189 183.512 null]
+>> endobj
+1741 0 obj <<
+/D [1701 0 R /XYZ 71.731 165.48 null]
+>> endobj
+154 0 obj <<
+/D [1701 0 R /XYZ 180.354 130.112 null]
+>> endobj
+1742 0 obj <<
+/D [1701 0 R /XYZ 71.731 123.985 null]
+>> endobj
+1700 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F35 1185 0 R /F51 1649 0 R /F23 1013 0 R /F44 1402 0 R /F48 1414 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1745 0 obj <<
+/Length 2527      
+/Filter /FlateDecode
+>>
+stream
+xڵk��6���
+#�p�aM�����^�z�f���-Ѷ���������7䐲,i����0$Q���gH��"�$�pa	aa�H�o��7/n��X[��������K�	IB���-|�$ZD��8`����qle�Z��[2�חUӊ�ȫ=>?����ᄎy~�
xD��_���Lcљ1�?/&��
c���`��W��kY�_�`�=7xw+�-�%��
+�[�����]�Zf�@uW�7�����33�)��M�=Fd����^��ut�����
+�E>�y|A�I���6���c!EsK�����f &�v��Z��r��LE)�
+��=��֛6=N�lRFk`�Hu;eoJU[Ty�倞.��A�X�<]j-S���!��4��8�|&Sѹ�^5�Lɦ�Ê�K��Hwǣ�[�,�g�P����=C�Z���ip�	�K���i�+�S�yˏ�oZK�ڵ���8�g�0���Y�q �3��DGh4�w_��A�
�s cbC��^@��14Ou��� �YETWd3����Ys�I��'T�mO֛Reh`Ӧ�f���]^@�#�8U'
+��BwH��x��������’J�$�!���}�G�SE�&�G[����9�M��˙};nq�����h��1̐��f�F���v���a�~=�j��k�'�`����z�OgX�A�,�AIH�@ռ��>o@FoQ'�u�aP��S������漷B���I��=�Bo3Y=�H��I��i���������%Q���'�Gr,>�暇*m"S�l������Mې�𩷕�������<���+�'�rC�X�t
+g�����<���nYc��;GL�:�ת�S��O,f͸��dfõl����ǵ'�b�C��<N?�rD��C�C�������Ey�+���Ӎ����Q��$I�������ozL�\����@M>_;N ��$@V0�����2��{�� ^�>�D�u��+RW]� ob#�g�0CA�A��!	��3yj��Q�u�[]&��UK�P�(0v|ح8��ھ1E�Ơ��&G,We��t+R��;�-Z�Qx}� &?�C)4)��)�n��Z+��}\�~)�B3��^�@�@!��Db��� �@���(��0Lp�n���ߗC	���_K,Fo�$�A�4����Jc�G+��O<�^lH��C��n6�;�ǤTxU�~U�.�No-I�ZO����/���Z�eȼm�+H�^��a�љ :�CU��IM�42�����y�5�U���6�6p�Y ��l;	?�����0@����C��d蚽=$�v�Y�@D�O����{�Z��݌�g9]���v��͔��Z�xW�F�:=�������2J �=l��m\�k5�������c�,�w�EN�#]��xt*�y�Q %�~�ZoѼy����󾐅m�ᮒ2]�Rl�0Z�Ɂ�9�,"b'2d2+���d���s;���^�	�����KF�x!�a8�u�x1�ȅ�sU��2s}�r>�˵�}8[�����
+�%�k8�>���*f�ԯP��r2WW :�oU�0T�(�ݡ���B@�C9�ܘOX��NP�$���>��c���OǏ����	*ƈݱ�U����D}`ȫ�}��̟�$
+�,�ejҲɮ
+'b��a��f!#����a���>K���P׉�,0߸�۴u|������7U?��3Z��T}N@���cCq�H1ur�V�g�O�]��65����:ӺҐ��!X#�c�#NM�֋����h1/��g�@]����K7��R���C3h��V<X֪�B�tPP"�N�,��$"�麏Ώ�,�z�4������(�,���N&G<!��k��U�cDXca 
cH�L��ڻa�����y�Q-Z=�3�s��#;��:9VnX�W#\�hfFx`�..^���7Џu�;1��sqʏΩ��D�a?�
H��)W�ҭ����6�C͌w��\��d_h{=O�����������D�S)
+��������hE}������Cm�`8�43++���ɳ��{S&��5��X$=���{��)�YL����Z��Gf=�����f�5�3��N���$��U��*�1"M�O#�_He݊�*��4�����`W^BX�l��o�w������O��l9�!=�,DW�
+�"LP�!x�{(E�qc������V#kA�.��0�	[:�%.�J���L2�;�ƮzQ��"Q?-��hW��r�)�>�f�����o�!�օ�h:����w�=k�,�m?���E���܄��A����}���E��a��<�;wB�&3s�>\��:2�c���|Z�gH=(wn7
+G�:Wu������O���np{xtc�푖h��Q3bN��A2~hZY��J{P��J0��NY����;�$倦�����,���iPi��_-��(oAwۗO�$m�ʅ�]{����4��$|#��Ճ�3��X)`���C�٠����)��P��endstream
+endobj
+1744 0 obj <<
+/Type /Page
+/Contents 1745 0 R
+/Resources 1743 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1594 0 R
+/Annots [ 1748 0 R 1751 0 R 1774 0 R 1777 0 R ]
+>> endobj
+1748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.684 706.187 272.347 715.098]
+/Subtype /Link
+/A << /S /GoTo /D (gloss-cgi) >>
+>> endobj
+1751 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [385.263 675.303 403.016 684.214]
+/Subtype /Link
+/A << /S /GoTo /D (gloss-tcl) >>
+>> endobj
+1774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.365 200.644 339.793 209.555]
+/Subtype /Link
+/A << /S /GoTo /D (troubleshooting) >>
+>> endobj
+1777 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.011 156.808 238.843 165.829]
+/Subtype /Link
+/A << /S /GoTo /D (parameters) >>
+>> endobj
+1746 0 obj <<
+/D [1744 0 R /XYZ 71.731 729.265 null]
+>> endobj
+1747 0 obj <<
+/D [1744 0 R /XYZ 71.731 718.306 null]
+>> endobj
+1749 0 obj <<
+/D [1744 0 R /XYZ 71.731 690.311 null]
+>> endobj
+1750 0 obj <<
+/D [1744 0 R /XYZ 222.196 677.46 null]
+>> endobj
+1752 0 obj <<
+/D [1744 0 R /XYZ 71.731 664.508 null]
+>> endobj
+1753 0 obj <<
+/D [1744 0 R /XYZ 71.731 651.557 null]
+>> endobj
+1754 0 obj <<
+/D [1744 0 R /XYZ 71.731 639.437 null]
+>> endobj
+1755 0 obj <<
+/D [1744 0 R /XYZ 71.731 478.406 null]
+>> endobj
+1756 0 obj <<
+/D [1744 0 R /XYZ 118.555 434.861 null]
+>> endobj
+1757 0 obj <<
+/D [1744 0 R /XYZ 169.295 414.74 null]
+>> endobj
+1758 0 obj <<
+/D [1744 0 R /XYZ 332.365 414.74 null]
+>> endobj
+1759 0 obj <<
+/D [1744 0 R /XYZ 340.076 403.084 null]
+>> endobj
+1760 0 obj <<
+/D [1744 0 R /XYZ 71.731 379.577 null]
+>> endobj
+1761 0 obj <<
+/D [1744 0 R /XYZ 71.731 359.652 null]
+>> endobj
+1762 0 obj <<
+/D [1744 0 R /XYZ 430.132 353.057 null]
+>> endobj
+1763 0 obj <<
+/D [1744 0 R /XYZ 218.914 341.401 null]
+>> endobj
+1764 0 obj <<
+/D [1744 0 R /XYZ 71.731 334.532 null]
+>> endobj
+1765 0 obj <<
+/D [1744 0 R /XYZ 238.496 324.764 null]
+>> endobj
+1766 0 obj <<
+/D [1744 0 R /XYZ 122.052 313.107 null]
+>> endobj
+1767 0 obj <<
+/D [1744 0 R /XYZ 151.246 313.107 null]
+>> endobj
+1768 0 obj <<
+/D [1744 0 R /XYZ 180.441 313.107 null]
+>> endobj
+1769 0 obj <<
+/D [1744 0 R /XYZ 227.083 313.107 null]
+>> endobj
+1770 0 obj <<
+/D [1744 0 R /XYZ 278.209 313.107 null]
+>> endobj
+1771 0 obj <<
+/D [1744 0 R /XYZ 71.731 275.249 null]
+>> endobj
+158 0 obj <<
+/D [1744 0 R /XYZ 166.615 235.877 null]
+>> endobj
+1772 0 obj <<
+/D [1744 0 R /XYZ 71.731 225.512 null]
+>> endobj
+1773 0 obj <<
+/D [1744 0 R /XYZ 258.543 215.752 null]
+>> endobj
+1775 0 obj <<
+/D [1744 0 R /XYZ 71.731 195.663 null]
+>> endobj
+1776 0 obj <<
+/D [1744 0 R /XYZ 314.966 184.868 null]
+>> endobj
+1778 0 obj <<
+/D [1744 0 R /XYZ 348.142 158.965 null]
+>> endobj
+1779 0 obj <<
+/D [1744 0 R /XYZ 414.552 158.965 null]
+>> endobj
+1780 0 obj <<
+/D [1744 0 R /XYZ 91.925 146.014 null]
+>> endobj
+1781 0 obj <<
+/D [1744 0 R /XYZ 151.7 146.014 null]
+>> endobj
+1782 0 obj <<
+/D [1744 0 R /XYZ 71.731 139.01 null]
+>> endobj
+1783 0 obj <<
+/D [1744 0 R /XYZ 251.256 128.081 null]
+>> endobj
+1784 0 obj <<
+/D [1744 0 R /XYZ 95.243 102.178 null]
+>> endobj
+1743 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F35 1185 0 R /F23 1013 0 R /F44 1402 0 R /F32 1027 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1788 0 obj <<
+/Length 1927      
+/Filter /FlateDecode
+>>
+stream
+xڥXk������@�ZV����-n��AZ�	��(h���+��H����3��,?�Cpq!Q�pΜyPt��]%�$\���q�ʏ���~��E	Eܙ�W�WO��*#Y���UHS�%�$�I��m�_�뒵�w׏<�'��C#��9��W��SU�l�폯�nG�Q��,
���\m�O��Y���a8ll�9�d��H��#�ÆF�Xm�VU�a���=g��8�s*��4����:n\k��:����7��}Ǵ:��?J�B�2���Xa�ٝ�Y�RHT_5K��$$^��~���ʸ3�+���4`�y��m#\��&m��C�5�2Ѧ@*Xф�4�bn&�j?b��,aW�$u�i"V��s���j����h���F���SE�#���;Kr��H�C�3�`�e5rn�l�e�U;˭Rh>�0�b�$��ж���
���2�gȅ�g�~	��"hࣹ��cm)oCh������ْ�d��ܱ��/���ԑ�;�'���tE_[��W�
+;ea����-#𓪤�ri�؋ni�ګ�����1�D��x�D���,�02����Q(<Q�����;�(���/=��� �(��>ɨa����k�k׍����cF���|���`�C�8p��"��\��P�Q6&u���f�ݣ�a�73�� �	��EÄHGF���F#��)J���6�G��v
+����K���l?6�cU4աTo��s����3�/o]��\���sw:'�3P�-�������F��B�>�w��i��!F@v��R�eR�<�YA��~�Ƭ١�,�Q释�J�N��s�cu��q��w������O�d��A=p��ăo?�1P���H���_��ڷ�4���̍E�7���&���Y?P�RK5˷3�
+~�n(���Y��K�d��r�����~`���#��IvĻ�W�.j��W��q٥@�(�<�����*���m�
+!g|*D=Ze�)���KMӁ �;̱��R���E�[�E��"���y�W*վyz:�N�8n~&�7�	z����1��8{��=����M�ɋŒ���?�s����-�m'Y�p�r�Zۄ)x	c
G�q._��]��v��vQ嶳_��0�@�)&WG���qC�U�5O����˱�3�x��m�S7]k�B�����#˕���s�X�M��^pi�@�:1�ޝ��O|�4�kc
h
+��u,4ys9�������5�h��ؤJ
+ª]`u��尙d$���O=�6Qĝ�\�.��
V�m�����u���<��P;��FC���ם�e����&Bx�Ț%5���kDZ�"=Ly���>Mr�R60�C��@��s�4r_�c�+�����IM��x�[N-4���b���d��EL!��k[����������Oʎ��~ĕ��i����9��f�f�AaJnk�N�E�Q��r&l\:~�&~?0%)x�00������'��k[�������jּ,�����8_�)�/4��บ��"�Ʊ��p�f�5+��|�W7�7��{d�r$�ןH�!���S��W����׋�>��č�6?�J��G�\Y��ry{��V^m]_
+€�%�]�\>��Q�����T�z*SC��Ǽ��zXy5}��23��X>�Ҥ
�=���t�y;uK{h��2�!����e�����*�u:�MG�j9|?�Q��naQCt��u���9e���%h4�i��F���k�
+K��Q�Z"1�J<������M���7�ZSB]N<����i�"%�a|@X�s)��������w:����ׂ�bX����p�^됣�f8
�������<ר�L������`R�=:؝�38GT�҈�&	B��*~
S����W�I��#o��5(1�L��ז��[˱�endstream
+endobj
+1787 0 obj <<
+/Type /Page
+/Contents 1788 0 R
+/Resources 1786 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1823 0 R
+/Annots [ 1791 0 R ]
+>> endobj
+1791 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.039 706.187 518.87 715.098]
+/Subtype /Link
+/A << /S /GoTo /D (extraconfig) >>
+>> endobj
+1789 0 obj <<
+/D [1787 0 R /XYZ 71.731 729.265 null]
+>> endobj
+1790 0 obj <<
+/D [1787 0 R /XYZ 71.731 718.306 null]
+>> endobj
+1126 0 obj <<
+/D [1787 0 R /XYZ 71.731 691.243 null]
+>> endobj
+162 0 obj <<
+/D [1787 0 R /XYZ 381.468 648.145 null]
+>> endobj
+1792 0 obj <<
+/D [1787 0 R /XYZ 71.731 635.707 null]
+>> endobj
+1793 0 obj <<
+/D [1787 0 R /XYZ 71.731 624.429 null]
+>> endobj
+166 0 obj <<
+/D [1787 0 R /XYZ 193.715 587.214 null]
+>> endobj
+1794 0 obj <<
+/D [1787 0 R /XYZ 71.731 576.849 null]
+>> endobj
+1795 0 obj <<
+/D [1787 0 R /XYZ 71.731 554.97 null]
+>> endobj
+1796 0 obj <<
+/D [1787 0 R /XYZ 71.731 554.97 null]
+>> endobj
+1797 0 obj <<
+/D [1787 0 R /XYZ 101.32 545.47 null]
+>> endobj
+1800 0 obj <<
+/D [1787 0 R /XYZ 71.731 535.329 null]
+>> endobj
+1801 0 obj <<
+/D [1787 0 R /XYZ 407.848 522.556 null]
+>> endobj
+1802 0 obj <<
+/D [1787 0 R /XYZ 71.731 497.486 null]
+>> endobj
+1803 0 obj <<
+/D [1787 0 R /XYZ 71.731 476.616 null]
+>> endobj
+1804 0 obj <<
+/D [1787 0 R /XYZ 71.731 462.915 null]
+>> endobj
+1805 0 obj <<
+/D [1787 0 R /XYZ 71.731 447.971 null]
+>> endobj
+1806 0 obj <<
+/D [1787 0 R /XYZ 395.011 426.815 null]
+>> endobj
+1807 0 obj <<
+/D [1787 0 R /XYZ 71.731 398.92 null]
+>> endobj
+170 0 obj <<
+/D [1787 0 R /XYZ 246.48 359.548 null]
+>> endobj
+1808 0 obj <<
+/D [1787 0 R /XYZ 71.731 349.405 null]
+>> endobj
+1809 0 obj <<
+/D [1787 0 R /XYZ 71.731 308.439 null]
+>> endobj
+1810 0 obj <<
+/D [1787 0 R /XYZ 71.731 308.439 null]
+>> endobj
+1811 0 obj <<
+/D [1787 0 R /XYZ 71.731 303.458 null]
+>> endobj
+1812 0 obj <<
+/D [1787 0 R /XYZ 89.664 280.644 null]
+>> endobj
+1813 0 obj <<
+/D [1787 0 R /XYZ 293.368 280.644 null]
+>> endobj
+1814 0 obj <<
+/D [1787 0 R /XYZ 71.731 265.535 null]
+>> endobj
+1815 0 obj <<
+/D [1787 0 R /XYZ 89.664 249.759 null]
+>> endobj
+1816 0 obj <<
+/D [1787 0 R /XYZ 71.731 247.603 null]
+>> endobj
+1817 0 obj <<
+/D [1787 0 R /XYZ 89.664 231.827 null]
+>> endobj
+1818 0 obj <<
+/D [1787 0 R /XYZ 71.731 208.913 null]
+>> endobj
+1819 0 obj <<
+/D [1787 0 R /XYZ 261.367 195.961 null]
+>> endobj
+1820 0 obj <<
+/D [1787 0 R /XYZ 71.731 183.01 null]
+>> endobj
+1821 0 obj <<
+/D [1787 0 R /XYZ 71.731 144.155 null]
+>> endobj
+1822 0 obj <<
+/D [1787 0 R /XYZ 71.731 137.137 null]
+>> endobj
+1786 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R /F35 1185 0 R /F55 1799 0 R /F44 1402 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1826 0 obj <<
+/Length 2658      
+/Filter /FlateDecode
+>>
+stream
+xڝi��6���
+!_b/�ݶ�G1If)i�4X�EAK���t$*����#�H��,��@����Q�_�#�N�oI�gAq�	�|��M�+Y�`^?���=I�-��I��hC��`��d���c���͑����81��w�Q���8����ῼ�����o=�,Y��&�*_f�X�QJ�4ל9�5٤��,&	��������������q��B��֝�a��Cř���H�H��A�Үh��b�q��ƾ�}* e���%��@�D4T����X��n=.7��]Yu��}�p�#=�t8<s��^D�b~�nl�3��-�e�*y҇/����@3ZQL��Uksm�aS�>y:W��f�O&�-��s9��h��Zq���b;2���S*�9�ꈐ�>څD�=������[��d_�:�yR5��Z���~ήe|<r$]P��Cl���]Qܲ�#�E�]�eU�e�u�
�t���C��"V�+DW�R(�s*T�u�g��g4����	�p��7�b���ԛ�����rh�r����`�w
+��)���[`D8˩�K��,�V�Z���I����Hm
Y�\�a���Os���Ͽ��׫���޽*y�
+%���,ȟ�܁
+F�`���+����"��A�J"�ml�{/{e!Ӵ��3��1�m��饱���W6�aqD�����Kmꗷ���a���ޢ�ܶ�bm�'��Sqde[�����;X�Y�_&.r'�ﱡCi��@��!�B�W�)�1PX���/*��R^��3R)��w��<U���8�z@,m��i\֜A�h?;AT�)P �شNB�4/�g��5�£R�Www��e��/��x	�;���w�����K�k�>_YR�,�2�*t�F~�&(.`�gKj}�pps�Ϛ18��6��Qě��|R2���Y��]��V�hx��S�ܻ�T"³f��(��2�La1�P��C��ؕ�ގU�p�3g�'�O56��T�T��ϡ���*>7S-F9��-B�N1��1�ج�̘�XX����<�d��b'EC�K���a�Wg�d�$��8W�N��2r���M�<�l^�����n:�9{����
a�G��XS�WQ��0����\A��SC�Ì
+�I�
���������64�g-�s���>m��M��9��p�-�I��7~.�~?E�$���8�)t��󈲐lC����*ِ{+�|�pp�Π���_�`}�b��@�#��5��|�nYԶ�?��ȝ���A�k� &�°��bP=�ԝ�;�L� ͝#6rJ0�^�5��es����4�����(�(���a|h�i�	�������]i�KGdH��0c�-�փ���(��*��,�U%ê�ϷK����۽�1-p,�E�1����;���vPW�=i�
�Z���r�ڃ��gPӺ8r
({��f#��=��F[��s����:�4Ӿ5�Y��q-=����Z}�H����J]��*d�\t��u�/A��'�w8�*�n����nАB_�^uj�z����邱rx)+�+�]A�h�OwF�8�7
?���k�����(��<7qO�ƌ�n��lF�M��%�9sc�-���I���5C5{)��W_ŝ�*yf"��ػ�v��<�����I;��ܵ{��[ͫ�_l��pr�.�x���ƭ#̎���al�����N*@��������9��
�^̷M�
����>*4��(d+T��;/�V5���69�^l(�-W���p��L��Eo�.���d`@!��ltz���;�n]��a�(@��ȶ:~�3�K��Zg�wb�m\����U����Ձ�F<����{���ЋB��sd�j��nӍ$�BC�d�1�m�:��e_
+�þ5��JG8�	��{;�/C羵ߩ;'1I��$g�f]* �쑚�`Ӟ��n!���&�.Of�A��+L�	nGm�0�]���#t�}��ٹ[����򧖹��"^S9���)���Q=�:
�8"�l�gşn~�-ʛ0�����
�&�p��AD��$�Y�����G�	���I�ȯ�gn�b�YEIFB�̎��0�kW��Lb�"���m^촊6)�4n ��q�kVP[��5�j��Glwi>���Mk}Xt�
/f��Z
���<�l�2$��� ��c�]S�联�[G:�e�X���:��u�'�C�V<	;y�I�����N���W�]\���)��@����SY�gg2
<�G\z�[�n�T23u�m����T&\x�t"��8�x
+<�
P�*쳂�};�f�'u[i�����"�j��P]?�,AN��`�b�fO��B�xO���)\���'�m�{U�ss�wSW�nI�f4Ma	򳛐��~���Tye����Jf�2�	��x�uajƈd�$��_#�`&$�2'!d�4�t=�r����ҽp�c�R��Z�z��a���?�G���Q�o��@�d�A�Ynz�T<g��$�Sև��hC�w� �A��������~
L�C�K�0�I|k��?^���&�2xf{�	T�޼���|M�٧LY�{��C���A��j�-��n���s��v �t��=vH4�Q�܏�SJ��$��endstream
+endobj
+1825 0 obj <<
+/Type /Page
+/Contents 1826 0 R
+/Resources 1824 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1823 0 R
+/Annots [ 1852 0 R ]
+>> endobj
+1852 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.356 149.722 300.451 158.311]
+/Subtype /Link
+/A << /S /GoTo /D (gloss-contrib) >>
+>> endobj
+1827 0 obj <<
+/D [1825 0 R /XYZ 71.731 729.265 null]
+>> endobj
+174 0 obj <<
+/D [1825 0 R /XYZ 234.86 707.841 null]
+>> endobj
+1828 0 obj <<
+/D [1825 0 R /XYZ 71.731 697.476 null]
+>> endobj
+1829 0 obj <<
+/D [1825 0 R /XYZ 71.731 667.627 null]
+>> endobj
+1830 0 obj <<
+/D [1825 0 R /XYZ 71.731 631.761 null]
+>> endobj
+1831 0 obj <<
+/D [1825 0 R /XYZ 71.731 620.854 null]
+>> endobj
+1832 0 obj <<
+/D [1825 0 R /XYZ 71.731 600.929 null]
+>> endobj
+1833 0 obj <<
+/D [1825 0 R /XYZ 395.011 579.024 null]
+>> endobj
+1834 0 obj <<
+/D [1825 0 R /XYZ 71.731 551.129 null]
+>> endobj
+178 0 obj <<
+/D [1825 0 R /XYZ 200.128 511.756 null]
+>> endobj
+1835 0 obj <<
+/D [1825 0 R /XYZ 71.731 504.404 null]
+>> endobj
+1836 0 obj <<
+/D [1825 0 R /XYZ 86.396 478.68 null]
+>> endobj
+1837 0 obj <<
+/D [1825 0 R /XYZ 107.517 478.68 null]
+>> endobj
+1838 0 obj <<
+/D [1825 0 R /XYZ 143.023 478.68 null]
+>> endobj
+1839 0 obj <<
+/D [1825 0 R /XYZ 71.731 465.729 null]
+>> endobj
+1840 0 obj <<
+/D [1825 0 R /XYZ 71.731 459.34 null]
+>> endobj
+1841 0 obj <<
+/D [1825 0 R /XYZ 237.039 447.796 null]
+>> endobj
+1842 0 obj <<
+/D [1825 0 R /XYZ 258.16 447.796 null]
+>> endobj
+1843 0 obj <<
+/D [1825 0 R /XYZ 299.047 447.796 null]
+>> endobj
+1844 0 obj <<
+/D [1825 0 R /XYZ 226.698 434.845 null]
+>> endobj
+1845 0 obj <<
+/D [1825 0 R /XYZ 237.199 421.893 null]
+>> endobj
+1846 0 obj <<
+/D [1825 0 R /XYZ 71.731 414.755 null]
+>> endobj
+182 0 obj <<
+/D [1825 0 R /XYZ 254.069 377.539 null]
+>> endobj
+1847 0 obj <<
+/D [1825 0 R /XYZ 71.731 370.187 null]
+>> endobj
+1848 0 obj <<
+/D [1825 0 R /XYZ 71.731 350.277 null]
+>> endobj
+1849 0 obj <<
+/D [1825 0 R /XYZ 71.731 233.714 null]
+>> endobj
+1850 0 obj <<
+/D [1825 0 R /XYZ 118.555 198.163 null]
+>> endobj
+1851 0 obj <<
+/D [1825 0 R /XYZ 118.555 151.717 null]
+>> endobj
+1853 0 obj <<
+/D [1825 0 R /XYZ 476.548 151.717 null]
+>> endobj
+1854 0 obj <<
+/D [1825 0 R /XYZ 71.731 118.14 null]
+>> endobj
+1855 0 obj <<
+/D [1825 0 R /XYZ 71.731 109.229 null]
+>> endobj
+1824 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R /F35 1185 0 R /F44 1402 0 R /F51 1649 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1859 0 obj <<
+/Length 1604      
+/Filter /FlateDecode
+>>
+stream
+xڭXMs�8��W�q��V@|
��!�������fR��$�m�"��뷅>089��0�u����*�_��B�E��s��dUς���=�Ņ1��l.wg��D�*Gy�vw�8ܢ<[eF��v����i$m78	����ZHRU�����n��*��������-�Dʷѣ����`ֿ`��8�U|��#�^N�5�i�8O��Q����h�?.F�Յ7�_�4I݊
+�����NCZ@mŁwU�Ƿ�ܣR�&\s=��q��j��a+/����
n�������,�Q�Ƅ��x���kc$�p�Jj�oA�������7��Nh-YA$�劷&�[]��m�����8j��RD4�
����M�	��/���.c��0j'�d�TLH�������O�/��5��@�ۊ�Q�c�	)�����&:嬽�*������|���`˃�%�dpCk1��/����qk~$uov��L:&+��4UT� �GǒH򬏩��2�|IscI�rئ�"�Q�E�|����R���28Y]`x9�baY#h�}&k���a姓7ۢbh�'G��6�	����7*-�]t�
o%X��lH����x1L��O�>
�)
ōS������'Hό9�;R1AXRHl%0�<�QA�Z��6Gn!�1�^��4�*I�
+~l@����M
+���.V۬5�t��N�V�
+���و���.K����4[�u��	Q���D|��["�5Q�?pˣ%��rX$Dj$�������yg�W1�*6i�Ô��c�
+��7"��*�}"�4,x�X��ھ�M4��E�hQ��S{<If9M�N�G�(xW�S⯖U�,�;�~@�"��j�y�-�}�"�<E����}�p�?o Qѽz��r������W,P]��q�d��M�Duk��w�t����ߏJ�t�+^x\b���*[j�������Bž�{t9T6�=�6��eK���l���D�U�����V�y����΍KGu뿍�WLgB[�S��݋��7=�/^
��KbЉ�-3="]�^��(K���7������([F
O���)�o� �Z�q��og�M����Pd�W�|���Q��s��`}}�ǽ���ᱲa�9��D�t�}W��T�,-HT�������ǩ���auρ����"�]z�Jk66I��CĢ*�Ơ��.�e�� �����)��/1We�PG9
+�詨�M�D]krR6簽���G��
�_�LH�,6R�Q�������=��T�rζ>�g*�*�:u��ݟX���GOp�S~(��iG�0FQܟ�]R��V�V�"��׳���4���w^V��&}���
o�D
+}a!i`в�A�����k�����x��q�8n[�����L�����8|�P)|糣9B�:aJbS��v7�ܗ)G8Ɋ���VQ�Lj��Q�1]�\��5��tr��z@1�tj�>}|�̼�H�n�E��|�T�������{��|���w�3H��z3C�o�M�y� d��k��~�y7�V�}�)�*�m�zk��
+��5�
+��P�`���p��a����d�e3�<s�(w�t�s�|����j�endstream
+endobj
+1858 0 obj <<
+/Type /Page
+/Contents 1859 0 R
+/Resources 1857 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1823 0 R
+>> endobj
+1860 0 obj <<
+/D [1858 0 R /XYZ 71.731 729.265 null]
+>> endobj
+1861 0 obj <<
+/D [1858 0 R /XYZ 71.731 718.306 null]
+>> endobj
+1862 0 obj <<
+/D [1858 0 R /XYZ 71.731 706.187 null]
+>> endobj
+1863 0 obj <<
+/D [1858 0 R /XYZ 91.656 690.411 null]
+>> endobj
+1864 0 obj <<
+/D [1858 0 R /XYZ 218.938 690.411 null]
+>> endobj
+1865 0 obj <<
+/D [1858 0 R /XYZ 255.889 690.411 null]
+>> endobj
+1866 0 obj <<
+/D [1858 0 R /XYZ 159.73 677.46 null]
+>> endobj
+1867 0 obj <<
+/D [1858 0 R /XYZ 420.689 664.508 null]
+>> endobj
+1868 0 obj <<
+/D [1858 0 R /XYZ 154.759 651.557 null]
+>> endobj
+1869 0 obj <<
+/D [1858 0 R /XYZ 71.731 639.437 null]
+>> endobj
+1870 0 obj <<
+/D [1858 0 R /XYZ 71.731 628.543 null]
+>> endobj
+1871 0 obj <<
+/D [1858 0 R /XYZ 91.656 610.71 null]
+>> endobj
+1872 0 obj <<
+/D [1858 0 R /XYZ 71.731 590.62 null]
+>> endobj
+1873 0 obj <<
+/D [1858 0 R /XYZ 107.706 579.826 null]
+>> endobj
+1874 0 obj <<
+/D [1858 0 R /XYZ 204.851 579.826 null]
+>> endobj
+1875 0 obj <<
+/D [1858 0 R /XYZ 71.731 551.93 null]
+>> endobj
+1876 0 obj <<
+/D [1858 0 R /XYZ 71.731 536.822 null]
+>> endobj
+1877 0 obj <<
+/D [1858 0 R /XYZ 91.656 521.046 null]
+>> endobj
+1878 0 obj <<
+/D [1858 0 R /XYZ 71.731 488.005 null]
+>> endobj
+1879 0 obj <<
+/D [1858 0 R /XYZ 107.706 477.21 null]
+>> endobj
+1880 0 obj <<
+/D [1858 0 R /XYZ 71.731 449.315 null]
+>> endobj
+1881 0 obj <<
+/D [1858 0 R /XYZ 71.731 436.264 null]
+>> endobj
+1882 0 obj <<
+/D [1858 0 R /XYZ 91.656 418.431 null]
+>> endobj
+1883 0 obj <<
+/D [1858 0 R /XYZ 71.731 398.341 null]
+>> endobj
+1884 0 obj <<
+/D [1858 0 R /XYZ 107.706 387.547 null]
+>> endobj
+1885 0 obj <<
+/D [1858 0 R /XYZ 71.731 359.651 null]
+>> endobj
+1886 0 obj <<
+/D [1858 0 R /XYZ 71.731 346.6 null]
+>> endobj
+1887 0 obj <<
+/D [1858 0 R /XYZ 91.656 328.767 null]
+>> endobj
+1888 0 obj <<
+/D [1858 0 R /XYZ 71.731 308.678 null]
+>> endobj
+1889 0 obj <<
+/D [1858 0 R /XYZ 107.706 297.883 null]
+>> endobj
+1890 0 obj <<
+/D [1858 0 R /XYZ 71.731 269.988 null]
+>> endobj
+1891 0 obj <<
+/D [1858 0 R /XYZ 71.731 256.937 null]
+>> endobj
+1892 0 obj <<
+/D [1858 0 R /XYZ 91.656 239.103 null]
+>> endobj
+1893 0 obj <<
+/D [1858 0 R /XYZ 71.731 219.014 null]
+>> endobj
+1894 0 obj <<
+/D [1858 0 R /XYZ 107.706 208.219 null]
+>> endobj
+1895 0 obj <<
+/D [1858 0 R /XYZ 71.731 185.305 null]
+>> endobj
+186 0 obj <<
+/D [1858 0 R /XYZ 460.106 145.933 null]
+>> endobj
+1896 0 obj <<
+/D [1858 0 R /XYZ 71.731 135.568 null]
+>> endobj
+1897 0 obj <<
+/D [1858 0 R /XYZ 333.417 125.808 null]
+>> endobj
+1898 0 obj <<
+/D [1858 0 R /XYZ 192.098 112.857 null]
+>> endobj
+1899 0 obj <<
+/D [1858 0 R /XYZ 422.482 112.857 null]
+>> endobj
+1900 0 obj <<
+/D [1858 0 R /XYZ 456.783 112.857 null]
+>> endobj
+1901 0 obj <<
+/D [1858 0 R /XYZ 114.062 99.905 null]
+>> endobj
+1857 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F35 1185 0 R /F23 1013 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1904 0 obj <<
+/Length 1806      
+/Filter /FlateDecode
+>>
+stream
+xڕXYs�6~ϯ�SCM-��MOҎs6�����f:M�����$X��_�q���A ��.v��v�xa�^��.�81r��������V+%�ȼ��~纋Ł���.<�8\���"�YܧZ���lh�\9�m9H�~(�d+v��U��Ʋ�,������{��wCG�vi��aN���gG���ΰ��ͫT���jq�Z�5�j�l���)U/����Z=�dG�d«�&Mv\�u!�]�$�+Ѽ�}V����4��k��\Tl't�M���*�cI�K��E�S����B�<���ULH�Nly���r����fT�%��b�ή�H�x��L�"ڵ��5�A�X	��=0R��wV5-�~�u�E�A�+����FO�J���NY�.�!��opw�I��@�2�
����y��k��\�*��z����;�*M�!��U`�)ˌ%���_A�R���0��f?>�O`��k�c��wT�V��]�9����EKA�����nuW҄��'��n��onxX�9�t0���;�K�[G�Ré� �N�j��++�$j�Q�V�{GR���qr�Y�
+�D��u��&h �9י��C��T�����;�ӆ�:����윤jE!�H�t>�\�:&畒NYw�.(m�h��>м3@�i�I#n����lO����I��&�W۱�C��X���"F'��ڢ0.ז	�9\�SO�bB�6,c�2�tl뫰���l�I�����o��B��}��	UJ_WI���@����6�6\�4\��ࢮh�
khd��ک�Xh��+�*:.3���G8Tߞ��
+��݀����<	���9-�A�}�}{�4��z�N���.��49�upd�ְ�V+)����e��6i^j�?$</a7/@��H����(jz��č�����b�k�TB�����>�"��t8�L6Ž���aު��`������^�B,*��i�^�^�j��`����U~*أ��w�R6p���V��S�ʄ��?�(�q<�M��s|���&H�l�g��u��5����7��Y�>�"�1"L�M�K�7�'DfY����T�4�̱<	����DqO��<�O�V$�Z@��z�c��Z�z������[ב�ۥڪ�$|E'���z+d�l2����7
	\��n+�by�C�$syIgp8D��H�����i���c��A�ru��m�Nj���E�h���(A!,��|k�
+R���*S��(�v
+dIS��no�o������^�= |�F���.�F^��j��[+K����r����	i`H4{��A�"��p��"��%�J��Y���г��E�:h�:I�@�YW��A�{��A�87�d��[�k�.&�j���� <7�tpo5:d�?�-]��(\8~���fK-��f��A]7��?S��Ok�"O+#t.5=��T��BSP$t\�C��q�����"�OJ0��[��/���Q��ו�j 3��09�#���2F��ImZf�n�D-D��#}"Q)I���v;��
:1�y.����h,!���v=N5)��
^�<�I�,s9}�B<��h@€��J�#*��*�	���
0t&tRL&���@!�>O+Q�LE�թR�QM�h���5�/�7�ж��w�R��W�p���οki�碨\��C�â����u����<���CK^31��������y��"L���u�0G,2"��-�(�)�v�@�7�w��Pl����>z@">�M�����(��)�8<��n��? ~QPendstream
+endobj
+1903 0 obj <<
+/Type /Page
+/Contents 1904 0 R
+/Resources 1902 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1823 0 R
+/Annots [ 1922 0 R 1923 0 R ]
+>> endobj
+1922 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.887 256.489 375.19 265.401]
+/Subtype /Link
+/A << /S /GoTo /D (install-perlmodules) >>
+>> endobj
+1923 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [91.377 245.595 112.249 252.449]
+/Subtype /Link
+/A << /S /GoTo /D (gloss-ppm) >>
+>> endobj
+1905 0 obj <<
+/D [1903 0 R /XYZ 71.731 729.265 null]
+>> endobj
+1906 0 obj <<
+/D [1903 0 R /XYZ 71.731 718.306 null]
+>> endobj
+1907 0 obj <<
+/D [1903 0 R /XYZ 431.319 708.344 null]
+>> endobj
+1908 0 obj <<
+/D [1903 0 R /XYZ 337.671 695.392 null]
+>> endobj
+1909 0 obj <<
+/D [1903 0 R /XYZ 86.396 682.441 null]
+>> endobj
+1910 0 obj <<
+/D [1903 0 R /XYZ 71.731 675.303 null]
+>> endobj
+1911 0 obj <<
+/D [1903 0 R /XYZ 71.731 665.34 null]
+>> endobj
+1127 0 obj <<
+/D [1903 0 R /XYZ 71.731 606.326 null]
+>> endobj
+190 0 obj <<
+/D [1903 0 R /XYZ 350.135 561.072 null]
+>> endobj
+1912 0 obj <<
+/D [1903 0 R /XYZ 71.731 548.901 null]
+>> endobj
+1913 0 obj <<
+/D [1903 0 R /XYZ 71.731 506.472 null]
+>> endobj
+1914 0 obj <<
+/D [1903 0 R /XYZ 442.608 495.677 null]
+>> endobj
+1915 0 obj <<
+/D [1903 0 R /XYZ 71.731 480.569 null]
+>> endobj
+194 0 obj <<
+/D [1903 0 R /XYZ 242.621 443.353 null]
+>> endobj
+1916 0 obj <<
+/D [1903 0 R /XYZ 71.731 436.001 null]
+>> endobj
+1917 0 obj <<
+/D [1903 0 R /XYZ 71.731 395.169 null]
+>> endobj
+198 0 obj <<
+/D [1903 0 R /XYZ 175.703 362.855 null]
+>> endobj
+1918 0 obj <<
+/D [1903 0 R /XYZ 71.731 356.728 null]
+>> endobj
+1919 0 obj <<
+/D [1903 0 R /XYZ 231.281 343.926 null]
+>> endobj
+1920 0 obj <<
+/D [1903 0 R /XYZ 148.783 330.975 null]
+>> endobj
+1538 0 obj <<
+/D [1903 0 R /XYZ 71.731 310.885 null]
+>> endobj
+202 0 obj <<
+/D [1903 0 R /XYZ 245.449 277.575 null]
+>> endobj
+1921 0 obj <<
+/D [1903 0 R /XYZ 71.731 271.448 null]
+>> endobj
+1924 0 obj <<
+/D [1903 0 R /XYZ 71.731 235.632 null]
+>> endobj
+1925 0 obj <<
+/D [1903 0 R /XYZ 120.149 224.076 null]
+>> endobj
+1926 0 obj <<
+/D [1903 0 R /XYZ 71.731 202.457 null]
+>> endobj
+1927 0 obj <<
+/D [1903 0 R /XYZ 71.731 164.434 null]
+>> endobj
+1928 0 obj <<
+/D [1903 0 R /XYZ 71.731 164.434 null]
+>> endobj
+1929 0 obj <<
+/D [1903 0 R /XYZ 71.731 143.279 null]
+>> endobj
+1902 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F35 1185 0 R /F23 1013 0 R /F55 1799 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1933 0 obj <<
+/Length 1575      
+/Filter /FlateDecode
+>>
+stream
+xڕXmo�6��_at,����	��}��a��`$�"��D%���;�Q�l���$��<��r8����a��~4�
��,���/g!K�Yd�'�zu6yǃ���ǃ��`&�r1Xđ�̢�*��{����h�/�i��#�"WkZ�n���E!F�~;{���ⅿL����d���x3��c�П��E���tj���<G���𤓌f~�D�(��Hpp��./?Ҥ��nr�!�8�����lp>���8�t��A�HhX�tޭX�fH��F��b�ӷ(x7�f���A�E�ޘbKO���w�Z*V�D);����Qi]�3���c�w"B���M Va�h.���^��FҴ܅�x7�.;��ZyF�-�[Z�c�nZ))3ޤi�vX$�0"˵��p@	�k�זa��N��5zp�g���F��P��"2��&`\��t�FRi�ʯ�c�#?��@���
{Ѕm����aF 
+]zr�C���--�8�196�&~.��yu�����#pd�y)j��Znr�^R��
+F�K�
+����{L�x���Dx�4�������q�&^k�"7̣[e�pO�����_�~[�~�ͦ��z�Ϧ�(�4�Ms���Qak��_c��VQ��_Y4�u����$�:�mc$���֪���	�`�šr�n߿�j��.�z��pE����c�Ɵ�m�(6��f:mm\h|�e�r9�Y2��t��:��9��ȟ��s�ot�ʨn:��Z����!��� ��\�;��u��YBu��/���Vi���
��n��.����F���w��'74J0��_/�f~T�R��yӴ�o����t��$V�iiyj)�'�FI��Jq����G��ڸ�~7������)���p̂N����c�L��NlcLu>���E�/5�x�@�N(c �����u�s�=GUqzB�X�5�|v�m���/���d#�>��r-:�9�:���9?��quIq]ʺpɷ����
�%H(����N��
+7�n߁5<V���4c5J��V%�����"(x���
+!����ۏ�>�̓�{�m�6���דF��ҍ/��e%jQҳ��1B����7m��y�D��VAv�5��
+�X�����eRAɇ�URչ��{Z�:/1���>֬w�l�*���5��B7�����	O}>3����:�=.N�����[��K#�;�:��4�FT��6�e%�ևqD���H���B�4bS:�7K�����9��u�\h4�!����w��ލ�k~���a��2F;!;CZcg�E$T_�N];��J�l�',dzK�
+.S�c����5~��*yoY����C�!P]iv;�J������:왂WQ4}�����n��4��V/��A��;{��-���HӃ��0�@K�j���T�쉳�#��ٛǪ��VC�,܈o��H�?��g4O�N_�o�[��/��8�J�6ꃣ�S�il�\����mFdYMwPn�����6_w=1W'�^'*���i��aj�n�p��������H��w�K؉��0��Za	t-L�{���'Yd>endstream
+endobj
+1932 0 obj <<
+/Type /Page
+/Contents 1933 0 R
+/Resources 1931 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1823 0 R
+>> endobj
+1934 0 obj <<
+/D [1932 0 R /XYZ 71.731 729.265 null]
+>> endobj
+1935 0 obj <<
+/D [1932 0 R /XYZ 71.731 718.306 null]
+>> endobj
+1936 0 obj <<
+/D [1932 0 R /XYZ 91.656 685.031 null]
+>> endobj
+1937 0 obj <<
+/D [1932 0 R /XYZ 76.712 668.394 null]
+>> endobj
+1938 0 obj <<
+/D [1932 0 R /XYZ 71.731 648.468 null]
+>> endobj
+1939 0 obj <<
+/D [1932 0 R /XYZ 71.731 585.604 null]
+>> endobj
+206 0 obj <<
+/D [1932 0 R /XYZ 339.476 550.137 null]
+>> endobj
+1940 0 obj <<
+/D [1932 0 R /XYZ 71.731 541.499 null]
+>> endobj
+1941 0 obj <<
+/D [1932 0 R /XYZ 184.965 518.257 null]
+>> endobj
+1942 0 obj <<
+/D [1932 0 R /XYZ 71.731 493.186 null]
+>> endobj
+1943 0 obj <<
+/D [1932 0 R /XYZ 71.731 415.442 null]
+>> endobj
+1944 0 obj <<
+/D [1932 0 R /XYZ 71.731 392.429 null]
+>> endobj
+1945 0 obj <<
+/D [1932 0 R /XYZ 71.731 207.721 null]
+>> endobj
+1946 0 obj <<
+/D [1932 0 R /XYZ 71.731 176.737 null]
+>> endobj
+1931 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F44 1402 0 R /F27 1020 0 R /F35 1185 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1949 0 obj <<
+/Length 2508      
+/Filter /FlateDecode
+>>
+stream
+xڕY[�ۺ~ϯ0p�ִ��a���[d�,�>8)�>h%�VW�\�������u��"Ȋ�Ɯg��H��ً�f�'fN�/��;k��7���$�&��!�a�n��u1�w��-<;bq�]�E���f�\~<$'���������lDRy������HV�����o[��wCG�U����0�]�6�}-SZs=���a��?�F�g�Ѷ�ߥQ�D���98%+��wr�AcAKػo-��'��k�s9]�|0H��FU)���9z�w�xٜ��ͭ|��+�_�却
���s��P�EFS��䥠�������z�Co/�����A�U�{��v��aw�]���A���@�e4ĤT���x�eF!�;%���
,8�r�V�߼b�yF��H^��퐈���\��CU5�v���A�(N��⍚J���R�1������m��iY	������w�E�̷���V2kCH淑y�Ўg��&{�e�D}l����z���~4���z�j���U5,��I]Ӫ�fY��I�$LhN<��yzqaUO�p1wU[f�b��|��J���&1w@��,���U�J���D2����P���s#Z0����z��|/%
+���3�r����I�k���Xaܹ�И�Y������[���r`u[y#W
#`}$]����2?����g
+��0|��:��&�ր�8�&~�|� ���f���%�@��U�~�Ui�v��9V�&�4�7�)��/M�8)n:�0�-�����;B���W�i�TV�ϕ�&(�MT�tJ��A
+�M�~>��(~8�PT���š��+�t�w�{�sSI�&�d޳S"C�N\�R�����y�i��ls}�6+�ds=�9�(�6mSo^�r����\=%��
��Q�;�$!�7��;���T~�ׯ��۱����y�N�Cfy��\�JZ�5���}��_�V�:��@��u6��+�k�%�&�:�p�ᢴ���:9��dH�D*�J����m*B"sɼ��QE���:_]!�����E�)����V��<=YN��"�5�J���|�<��ǧU�,�@����퐎�����U9ӈ??�A��E��{0��/�$/���3��b@X#�WĎ�{�J.6�B4���u3� �~����j��n��1^r\`.�^���;A��^�jq���e3dv�)�
R)��ox��b�0mÇ�!��j&}��P]S���#�+Y��̙VpdH����(Q �������+b�Y$D�x#V���=�����D,f~����A1���9�(�M�~P1��b.z�)�Kkj�2sy+�E���jU�Z�a����&��ьv��UQ��9�
�ﹳ�Dɬ
��6p<Q��*��8Q�,���JIf���*'��q��Rq)m{���6���2�Y[�9"eG�t��"Rە�}��dm�䒺oZ�D�/i���(��;���M�o'I�!f["���z0�$�uJ �;�#iA�� Q���G��B����C�"���9Yƍ	�n� m��i,;"����[bνc����?��M��c�D����<)�9f���+X"U*t��ap�$�*�jĐ^.�f
��^ڀ�i� ��(�(���dFϋ�@o{�L��,�0���sC���ZR�n���y.�1[��ϟ���~Z!\�(�u[���	N�׆:Y���`d�N�I`��̄���`K�\�ͭ�ʊ�չJ�!�ʜ|�1��;0y>W\��G
+�fa�@k�ȓU|W4h�gIu7+�|O����r��Zj�?N*� �����0��N�^*�
+Z%Ӓ���<>������gwK!��7�A��JF/��񂆯_޿����Z����r�4t�_�}�&���2�hU�cBo<��g갰�剘>T�é���G*�3�z�(�
]�iSV�A�+��KS��9�<�(��<��Q����G�
+u�&�۳�?5��������7P�ֽ�<��)�v��5`06���4�m"��-�xY��Zv��n�~��$G��MQU�x���K�9�����&��k;S�k%d"�Ā���r`0O_�߾>aW��~���t���_<��w��Ǐ�����	Ru��C9� ����^������O=M3��Wg���ч��
+���W�t2�E�FӨU��A�s�9�㫶�~2����8q�
,ت��i�6�:��"�d��qkQ%٨<t�47+
"(q@c�ō�ls�zk��=���E��B}�@/��h򝤭kD�;$�
+iXP���
+�e���b��J�dc6(5m]��E��Y>D�:��eR>�Yf�s�*�e�!s)˔�Y)m1�ac2��b��O&�g2��>�t�_�F�V��U+N��f����S@B�2BF��(e���w�C�D��� ��S�H#�-^ו�BpTrp��/ָͦ���vm)O����5f_19�S'{��ËXd�W����}؟�&A����ԩ������endstream
+endobj
+1948 0 obj <<
+/Type /Page
+/Contents 1949 0 R
+/Resources 1947 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 1823 0 R
+/Annots [ 1952 0 R 1953 0 R 1965 0 R ]
+>> endobj
+1952 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.526 661.355 191.829 670.266]
+/Subtype /Link
+/A << /S /GoTo /D (security-webserver-access) >>
+>> endobj
+1953 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.054 661.355 530.357 670.266]
+/Subtype /Link
+/A << /S /GoTo /D (http) >>
+>> endobj
+1965 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.482 436.423 269.647 443.298]
+/Subtype /Link
+/A << /S /GoTo /D (gloss-cpan) >>
+>> endobj
+1950 0 obj <<
+/D [1948 0 R /XYZ 71.731 729.265 null]
+>> endobj
+210 0 obj <<
+/D [1948 0 R /XYZ 244.612 708.344 null]
+>> endobj
+1951 0 obj <<
+/D [1948 0 R /XYZ 71.731 699.706 null]
+>> endobj
+1954 0 obj <<
+/D [1948 0 R /XYZ 71.731 661.355 null]
+>> endobj
+1955 0 obj <<
+/D [1948 0 R /XYZ 71.731 646.411 null]
+>> endobj
+1956 0 obj <<
+/D [1948 0 R /XYZ 296.033 636.912 null]
+>> endobj
+1957 0 obj <<
+/D [1948 0 R /XYZ 433.35 613.599 null]
+>> endobj
+1958 0 obj <<
+/D [1948 0 R /XYZ 71.731 575.741 null]
+>> endobj
+214 0 obj <<
+/D [1948 0 R /XYZ 177.791 536.369 null]
+>> endobj
+1959 0 obj <<
+/D [1948 0 R /XYZ 71.731 529.016 null]
+>> endobj
+1960 0 obj <<
+/D [1948 0 R /XYZ 71.731 509.106 null]
+>> endobj
+1961 0 obj <<
+/D [1948 0 R /XYZ 220.441 485.36 null]
+>> endobj
+1962 0 obj <<
+/D [1948 0 R /XYZ 71.731 478.222 null]
+>> endobj
+1963 0 obj <<
+/D [1948 0 R /XYZ 455.258 467.427 null]
+>> endobj
+1964 0 obj <<
+/D [1948 0 R /XYZ 71.731 460.289 null]
+>> endobj
+1966 0 obj <<
+/D [1948 0 R /XYZ 71.731 436.423 null]
+>> endobj
+1967 0 obj <<
+/D [1948 0 R /XYZ 71.731 421.48 null]
+>> endobj
+1968 0 obj <<
+/D [1948 0 R /XYZ 119.568 398.286 null]
+>> endobj
+1969 0 obj <<
+/D [1948 0 R /XYZ 91.656 386.63 null]
+>> endobj
+1970 0 obj <<
+/D [1948 0 R /XYZ 145.49 386.63 null]
+>> endobj
+1971 0 obj <<
+/D [1948 0 R /XYZ 242.613 386.63 null]
+>> endobj
+1972 0 obj <<
+/D [1948 0 R /XYZ 301.289 386.63 null]
+>> endobj
+1973 0 obj <<
+/D [1948 0 R /XYZ 138.317 374.974 null]
+>> endobj
+1974 0 obj <<
+/D [1948 0 R /XYZ 239.635 374.974 null]
+>> endobj
+1975 0 obj <<
+/D [1948 0 R /XYZ 71.731 347.078 null]
+>> endobj
+1976 0 obj <<
+/D [1948 0 R /XYZ 175.156 334.127 null]
+>> endobj
+1977 0 obj <<
+/D [1948 0 R /XYZ 71.731 296.105 null]
+>> endobj
+1980 0 obj <<
+/D [1948 0 R /XYZ 71.731 239.98 null]
+>> endobj
+1981 0 obj <<
+/D [1948 0 R /XYZ 71.731 230.017 null]
+>> endobj
+1982 0 obj <<
+/D [1948 0 R /XYZ 71.731 191.995 null]
+>> endobj
+1983 0 obj <<
+/D [1948 0 R /XYZ 365.347 176.219 null]
+>> endobj
+1984 0 obj <<
+/D [1948 0 R /XYZ 71.731 156.13 null]
+>> endobj
+1947 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R /F44 1402 0 R /F35 1185 0 R /F58 1979 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1988 0 obj <<
+/Length 1991      
+/Filter /FlateDecode
+>>
+stream
+xڵXm�ܶ�~�b�~�nq≢^?&F$�]��"-�I�]�$q-J�l}��P�;5�^���g���B�Kw%�KT�(Mve{����wW�$X���x��=c��)�O����v�H�D�c�q��¯��A�����돝x����>7��S7
?|:�t���4a)r�E�ܚ�a�ј�8Ֆ9Ì�15�E~�e���;�p?���]��'a��$�6��l�2�QHh�1�uަ���jn�l�J(�$Q���@���o�U/>�u/*��썼��xc�����n�I�>p����W�8н��6���A:�L��E��-}�i׵�4"EbA�4�a�aь
�Iǰ�,��k[o1� QR��
uS�C��]����&G�q��C��'N�B_Kق�-��W��E�
�y�(D�P$S(���ش�.(���`m0Ҍda��Y���"�'%��J���4!I���ݝ&?�
�D���88#�\�E��(ټ��Bd�u��a�r�7����5��l�N�6�<�:�DE�d��Y4�gADIJ��#W��ؕ�^Y���@�$/��щ�!d�蛠����V:�	(HOү�^^x?�i��՟&�-������}���fI�#�o�F/X�B��fd_c�r�������.�Xx�� !K��YkL_&z��,�i������v�e�}Iμ i{�7kJ�p���й�&���З2���nh��$�E��)���w?����&a'���̔r�gj�^�u��o��A�Y�������,��P�dVp5��l�=oS�y����n�=��_�p����n1q�7�7XME
Ua�F�w���O~	�e)6+�ϳx��%��z�'�?����F ~ZZ�Z�D9��m��H%;'Zj�]��0%�ejX��M����]����v
쌃ߥ{}�]eZ�Vt��*:��;�{9�/^��0�*�A.%�xy��%��f×�
�1el�1�Y���kk������,�\,�lٛ�4K&1�v�aԻ�ȅ�,�j1��*4�e���t�qU�LG��<��3]�N/N�]��{��Bh=Y�B|�Fb�y���n�X��6�>Bֿ�}����E�W��`�-s\�Ղ��G �v���`ܟ�}�*�x�#��c�Z(O�p?�(.��d�OM�o�8[�[4��=����&�p�(���+�%Pr��zԐ�g�y�W�Q�wy��y����v�5�(e$��� ������O�����
����b�Z�;J
+��z�;�}��e����E4����-�	�=��9I�W�s,���9�$��Ԇ��C��i?&�!���%�9�IC]r�`�܎1��-?�Ќ����;��
o��4jD��虁�a�U���j�n Y-�,��;�����wǭ�<Ms\s�=q��ڏ��&�T|�0��>����^o��/x�m�3BV��sH4��
+�jM�CᏪ0/C�BS����i����u��h�`�8��G�U�ڴC������,��'���Z�� <w��d���C���y�զk�+��M�փ�:}=^
+��)�"Õ.����P|ˆ/g߳6�w����'\ԡn�"Z\R���"����),��f����rҙ�*���`P��S���e��ݬo���H���c���̓ʩC(fj�CYI=�ۨ��^bb�Evs�o��=w똹�E��A�D�){+�]�јH'�7~�?��Ⱦ�S���֜�k9b(p]�rU穾�ə�z�80]�S_���ݢ�~m��YHX�`~}3Y��ey}�6%��XH3FB�7�	ǝl�O�?$\��R���	�{c:����]�ߌj�Ⱦ7��vz�<�H��P�VY�8m��|-]�܍�a��+�ڏdew�'›���A��cM#h	e�6O��xي�����V���;/�Qn�E���?��H������|©>�� �IN�/~!��l>='QN��	1!_�����_����endstream
 endobj
-742 0 obj <<
+1987 0 obj <<
 /Type /Page
-/Contents 743 0 R
-/Resources 741 0 R
+/Contents 1988 0 R
+/Resources 1986 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 734 0 R
-/Annots [ 745 0 R 748 0 R 749 0 R 750 0 R 751 0 R 752 0 R 753 0 R 754 0 R 755 0 R 756 0 R 757 0 R 758 0 R 759 0 R 760 0 R 761 0 R 762 0 R 763 0 R 764 0 R 765 0 R 766 0 R 767 0 R 768 0 R 769 0 R 770 0 R 771 0 R 772 0 R 773 0 R 774 0 R 775 0 R 776 0 R 777 0 R 778 0 R 779 0 R 780 0 R 781 0 R 782 0 R 783 0 R 784 0 R 785 0 R 786 0 R 787 0 R 788 0 R 789 0 R 790 0 R 791 0 R 792 0 R 793 0 R 794 0 R 795 0 R 796 0 R 797 0 R 798 0 R 799 0 R 800 0 R 801 0 R 802 0 R 803 0 R 804 0 R 805 0 R 806 0 R 807 0 R 808 0 R 809 0 R 810 0 R 811 0 R 812 0 R 813 0 R 814 0 R 815 0 R 816 0 R 817 0 R 818 0 R 819 0 R 820 0 R 821 0 R 822 0 R 823 0 R 824 0 R 825 0 R 826 0 R 827 0 R 828 0 R 829 0 R 830 0 R 831 0 R 832 0 R ]
+/Parent 2021 0 R
+/Annots [ 2008 0 R 2009 0 R ]
 >> endobj
-745 0 obj <<
+2008 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [71.731 679.836 158.096 686.82]
+/Rect [504.264 414.233 537.983 423.144]
 /Subtype /Link
-/A << /S /GoTo /D (about) >>
+/A << /S /GoTo /D (installation) >>
+>> endobj
+2009 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [71.731 401.282 84.184 410.193]
+/Subtype /Link
+/A << /S /GoTo /D (installation) >>
+>> endobj
+1989 0 obj <<
+/D [1987 0 R /XYZ 71.731 729.265 null]
+>> endobj
+218 0 obj <<
+/D [1987 0 R /XYZ 245.404 707.841 null]
+>> endobj
+1990 0 obj <<
+/D [1987 0 R /XYZ 71.731 700.488 null]
+>> endobj
+1991 0 obj <<
+/D [1987 0 R /XYZ 110.475 674.765 null]
+>> endobj
+1992 0 obj <<
+/D [1987 0 R /XYZ 71.731 661.813 null]
+>> endobj
+1993 0 obj <<
+/D [1987 0 R /XYZ 71.731 649.694 null]
+>> endobj
+1994 0 obj <<
+/D [1987 0 R /XYZ 71.731 649.694 null]
+>> endobj
+1995 0 obj <<
+/D [1987 0 R /XYZ 101.32 640.195 null]
+>> endobj
+1996 0 obj <<
+/D [1987 0 R /XYZ 71.731 638.98 null]
+>> endobj
+1997 0 obj <<
+/D [1987 0 R /XYZ 101.32 628.538 null]
+>> endobj
+1998 0 obj <<
+/D [1987 0 R /XYZ 71.731 627.323 null]
+>> endobj
+1999 0 obj <<
+/D [1987 0 R /XYZ 101.32 616.882 null]
+>> endobj
+2000 0 obj <<
+/D [1987 0 R /XYZ 71.731 615.667 null]
+>> endobj
+2001 0 obj <<
+/D [1987 0 R /XYZ 101.32 605.226 null]
+>> endobj
+2002 0 obj <<
+/D [1987 0 R /XYZ 71.731 604.011 null]
+>> endobj
+2003 0 obj <<
+/D [1987 0 R /XYZ 101.32 593.569 null]
+>> endobj
+2004 0 obj <<
+/D [1987 0 R /XYZ 71.731 581.913 null]
+>> endobj
+2005 0 obj <<
+/D [1987 0 R /XYZ 71.731 571.95 null]
+>> endobj
+1128 0 obj <<
+/D [1987 0 R /XYZ 71.731 531.936 null]
+>> endobj
+222 0 obj <<
+/D [1987 0 R /XYZ 381.295 488.838 null]
+>> endobj
+2006 0 obj <<
+/D [1987 0 R /XYZ 71.731 485.275 null]
+>> endobj
+226 0 obj <<
+/D [1987 0 R /XYZ 195.006 449.466 null]
+>> endobj
+2007 0 obj <<
+/D [1987 0 R /XYZ 71.731 442.113 null]
+>> endobj
+2010 0 obj <<
+/D [1987 0 R /XYZ 71.731 396.3 null]
+>> endobj
+230 0 obj <<
+/D [1987 0 R /XYZ 161.035 359.085 null]
+>> endobj
+2011 0 obj <<
+/D [1987 0 R /XYZ 71.731 348.942 null]
+>> endobj
+2012 0 obj <<
+/D [1987 0 R /XYZ 71.731 323.852 null]
+>> endobj
+2013 0 obj <<
+/D [1987 0 R /XYZ 118.555 285.288 null]
+>> endobj
+2014 0 obj <<
+/D [1987 0 R /XYZ 277.186 276.823 null]
+>> endobj
+2015 0 obj <<
+/D [1987 0 R /XYZ 252.403 241.855 null]
+>> endobj
+2016 0 obj <<
+/D [1987 0 R /XYZ 118.555 234.878 null]
+>> endobj
+2017 0 obj <<
+/D [1987 0 R /XYZ 71.731 201.711 null]
+>> endobj
+234 0 obj <<
+/D [1987 0 R /XYZ 282.307 173.064 null]
+>> endobj
+2018 0 obj <<
+/D [1987 0 R /XYZ 71.731 170.404 null]
+>> endobj
+238 0 obj <<
+/D [1987 0 R /XYZ 268.211 142.678 null]
+>> endobj
+2019 0 obj <<
+/D [1987 0 R /XYZ 71.731 135.48 null]
+>> endobj
+2020 0 obj <<
+/D [1987 0 R /XYZ 71.731 112.626 null]
+>> endobj
+1986 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R /F32 1027 0 R /F35 1185 0 R /F55 1799 0 R /F58 1979 0 R /F44 1402 0 R /F48 1414 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2024 0 obj <<
+/Length 1321      
+/Filter /FlateDecode
+>>
+stream
+xڵWmo�6��_a� �7�e@>�A[tX����
](�DW����~G�Q�b�0·����p�_��B��0D�R��ڋ`q'�/B��I�?�y��X���E��4^�7�$�Y�-�8b9����w�-wF�K?�1�tڔM#�{\����MS.?��x��qƊ<��]N��0��k����r'�`X]�����j�Z��(�j�a釞��XC@��,�� �U�Y�'���iVf+���Z:\۩�\�A��(fq��|_�O��c��cL��A���\���� t���b@��W��;��.7�vPP��/��o��y��SN�9%k#1�h��E�W��|JF����%b�E,dC
+f���
+�\�Q-�_,Co/����l)����r.F�_�a�=frUv8���x{����8-5�0$��)��J�K��������p�	Q��(�
+G6�'
���lq����Wo~ùtl�E�>H��|�>#M�0� X
+���d��"�<��'q�`E��!Ʋ>!3���X�������W�My�}��z'*�9 Q��lK�G�B�����ΐ��q�'9�쨍S!���n���ٝA'䌧�ytV���� c��0T�f4|��'5��RD		�u�y�F�����w�Tx�r]��mD�6K�$�jE	��D-#�=v�S@���w$�3r|��ؐ�s�)�aX_��QO-�z2���4��`g�:@��Y��T�L	%�����2�/��-���Пo�>���<��}_�G.A,�Q�8Ţ��nb�G1���{���1#��8vMY��'!l�Ŝ�4�l�W��A�iji\�'x����KCv��A64L�����k��P��Ɯ�<n��o�SP}�:Nu;�b�
�M�1�-Z�d��w[�Ɏ�j�A�}���ui�8���l��K�K5.�m0��&!#�!��:��3[>��D����C��m�h��FG��Q^��q����o֧��EM(�}+�����	��𙠙s����+%���aq�������#��S%T��w�غ��Y�v�Dt��jjs��n\�;Q�l����!���Q���m�QF�H,�L�gIL��j��'�rh10��Q�Q��3㞜�Z��`9(E�f�B"�?S�/���BR@`^��s5���|+R�@��C�4��[Y��h^;
�$��K�X���~�;���]�{m|�$�z�#�C�A2>8Kw	68}{�)��˝��Sm����F��9����3�L��S�2;�4�5{���~m$9ˁ;��cj9�-�#��)z[�w��N_�D��(endstream
+endobj
+2023 0 obj <<
+/Type /Page
+/Contents 2024 0 R
+/Resources 2022 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 2021 0 R
+>> endobj
+2025 0 obj <<
+/D [2023 0 R /XYZ 71.731 729.265 null]
+>> endobj
+2026 0 obj <<
+/D [2023 0 R /XYZ 71.731 523.537 null]
+>> endobj
+242 0 obj <<
+/D [2023 0 R /XYZ 228.441 490.66 null]
+>> endobj
+2027 0 obj <<
+/D [2023 0 R /XYZ 71.731 485.475 null]
+>> endobj
+2028 0 obj <<
+/D [2023 0 R /XYZ 422.084 472.727 null]
+>> endobj
+2029 0 obj <<
+/D [2023 0 R /XYZ 387.295 459.776 null]
+>> endobj
+2030 0 obj <<
+/D [2023 0 R /XYZ 71.731 428.792 null]
+>> endobj
+246 0 obj <<
+/D [2023 0 R /XYZ 199.549 396.015 null]
+>> endobj
+2031 0 obj <<
+/D [2023 0 R /XYZ 71.731 388.817 null]
+>> endobj
+2032 0 obj <<
+/D [2023 0 R /XYZ 71.731 365.963 null]
+>> endobj
+2033 0 obj <<
+/D [2023 0 R /XYZ 147.048 356.463 null]
+>> endobj
+2034 0 obj <<
+/D [2023 0 R /XYZ 147.048 344.807 null]
+>> endobj
+2035 0 obj <<
+/D [2023 0 R /XYZ 71.731 323.188 null]
+>> endobj
+2036 0 obj <<
+/D [2023 0 R /XYZ 71.731 300.174 null]
+>> endobj
+2037 0 obj <<
+/D [2023 0 R /XYZ 147.048 288.618 null]
+>> endobj
+2038 0 obj <<
+/D [2023 0 R /XYZ 147.048 276.961 null]
+>> endobj
+2039 0 obj <<
+/D [2023 0 R /XYZ 71.731 255.343 null]
+>> endobj
+2040 0 obj <<
+/D [2023 0 R /XYZ 361.161 242.391 null]
+>> endobj
+2041 0 obj <<
+/D [2023 0 R /XYZ 71.731 227.283 null]
+>> endobj
+2042 0 obj <<
+/D [2023 0 R /XYZ 71.731 212.339 null]
+>> endobj
+2043 0 obj <<
+/D [2023 0 R /XYZ 76.712 162.889 null]
+>> endobj
+2022 0 obj <<
+/Font << /F33 1116 0 R /F35 1185 0 R /F48 1414 0 R /F27 1020 0 R /F55 1799 0 R /F32 1027 0 R /F23 1013 0 R /F44 1402 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2046 0 obj <<
+/Length 1601      
+/Filter /FlateDecode
+>>
+stream
+xڭX[o�H~��`�U��2f���m�]�RӬ6�>�} 0����q܇��=snRUU1�̹|������`��p	2�c�h���7-���-�ɞ�����0t2��C�v�D8EY�$a��8pn���.�–^�n���M�E^�U���/��ת���۷�?o{�q��,
�+
+"�����e1�{�,>|�����������#�+L2�,F����߽(���)
+��1���7�a�8�@R�"?�=LA����Z���q�3�
+��@���|7g�`X��"�\�Na��b��a�N���^������[}H���Z}W椡-�7������r��}U�+s�9�Ov,�ص����N蛏�0nn
+���BG���wig�� ��_6U[q�����&ݖA���v��������1�AM�Eޖc<��$�1M�ǎ���<�����sQY4��?&�݆�w�ª�l�*��]�M�3�6y���}V�aW��z#��Q��
⨄���9Iǟ��(�Q���\�����F�`Tz�F��I�?V�(F!���H@	�u��@B�h�#D���VS�^���`�!�Q?bIX��U!�28�����EIۋ%����].�q/��7�"��S�&��'"�{ߓ&����]U/�[N�I��2N�
�3KR���[{bC��b>��[Ц��1R8�6h���-P04���+M头��t��f���i�����W��"���`y��ƎL_�bB���
Δkw9���7������:(?�>�,��r�Cj���n^�G��+Ί8sW$r��_g��"�Ыi$i�_�6z�u�ME�K����H5'(��Ay����u�4'��ܩĒx�%,��j��).W��B�d�3�Q{����wZ�m7նc�*���W{F6����Վ6d��T�W �䟍�g��ux"�w���TĜ�<��a��
=d���ʤ�dٴ�%r�Q#�S�m2�{F� �V�<;�# 
+����;��ԇ8DI�i�>����i2��%�i��~���)��R�Ji?�,)X���`�d�SS�AD^�p����~4���|K����AnDpG}��]Hݽ�eW?ђ��o����HR�(��������;n��E���Y�2W{�Ęm�}pR���a:�m�}�lj3n#~�Zq��4�Œ_������D�!+K�uO�2o����T���*/����5�6��<Eǔ}�@��g���R�b�������[���Hc����������KW	2��ı��gӥ�ya�
=A�q���̐�P��PN��N��A�Y~7̶�l\!?m��k��*A�%@�~Pv0x��l�Q��ܚ`�P��:W��1q�n�۟<��t�GG�I�cS�:��xӇ�|�����+~�Yd�9���ğ5���gè�3?1m�K���(��}D�U;#
+"U��R�Ϥ�.�L�}����$4W�F����+��Yf���ڎ���1�xz��kh��!��Y����x���R.�`F#�L��fm�e�ř��C��7���&��r�Qg����.���_k�-�k��@�����~��k�p�endstream
+endobj
+2045 0 obj <<
+/Type /Page
+/Contents 2046 0 R
+/Resources 2044 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 2021 0 R
+>> endobj
+2047 0 obj <<
+/D [2045 0 R /XYZ 71.731 729.265 null]
+>> endobj
+2048 0 obj <<
+/D [2045 0 R /XYZ 118.555 684.724 null]
+>> endobj
+2049 0 obj <<
+/D [2045 0 R /XYZ 71.731 611.209 null]
+>> endobj
+250 0 obj <<
+/D [2045 0 R /XYZ 138.296 578.705 null]
+>> endobj
+2050 0 obj <<
+/D [2045 0 R /XYZ 71.731 571.353 null]
+>> endobj
+2051 0 obj <<
+/D [2045 0 R /XYZ 71.731 533.51 null]
+>> endobj
+2052 0 obj <<
+/D [2045 0 R /XYZ 114.77 524.01 null]
+>> endobj
+2053 0 obj <<
+/D [2045 0 R /XYZ 114.77 512.354 null]
+>> endobj
+2054 0 obj <<
+/D [2045 0 R /XYZ 114.77 500.698 null]
+>> endobj
+2055 0 obj <<
+/D [2045 0 R /XYZ 114.77 489.041 null]
+>> endobj
+2056 0 obj <<
+/D [2045 0 R /XYZ 114.77 477.385 null]
 >> endobj
-748 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [533.001 679.836 537.983 686.82]
-/Subtype /Link
-/A << /S /GoTo /D (about) >>
+2057 0 obj <<
+/D [2045 0 R /XYZ 114.77 465.729 null]
 >> endobj
-749 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 662.456 203.466 671.367]
-/Subtype /Link
-/A << /S /GoTo /D (copyright) >>
+2058 0 obj <<
+/D [2045 0 R /XYZ 114.77 454.072 null]
 >> endobj
-750 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [533.001 662.456 537.983 671.367]
-/Subtype /Link
-/A << /S /GoTo /D (copyright) >>
+2059 0 obj <<
+/D [2045 0 R /XYZ 114.77 442.416 null]
 >> endobj
-751 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 651.562 156.791 658.416]
-/Subtype /Link
-/A << /S /GoTo /D (disclaimer) >>
+2060 0 obj <<
+/D [2045 0 R /XYZ 114.77 430.76 null]
 >> endobj
-752 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [533.001 651.562 537.983 658.416]
-/Subtype /Link
-/A << /S /GoTo /D (disclaimer) >>
+2061 0 obj <<
+/D [2045 0 R /XYZ 114.77 419.104 null]
 >> endobj
-753 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 638.61 168.438 645.465]
-/Subtype /Link
-/A << /S /GoTo /D (newversions) >>
+2062 0 obj <<
+/D [2045 0 R /XYZ 71.731 397.485 null]
 >> endobj
-754 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [533.001 638.61 537.983 645.465]
-/Subtype /Link
-/A << /S /GoTo /D (newversions) >>
+2063 0 obj <<
+/D [2045 0 R /XYZ 303.251 384.533 null]
 >> endobj
-755 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 625.659 141.858 632.513]
-/Subtype /Link
-/A << /S /GoTo /D (credits) >>
+2064 0 obj <<
+/D [2045 0 R /XYZ 71.731 364.444 null]
 >> endobj
-756 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [533.001 625.659 537.983 632.513]
-/Subtype /Link
-/A << /S /GoTo /D (credits) >>
+254 0 obj <<
+/D [2045 0 R /XYZ 200.472 327.228 null]
 >> endobj
-757 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 612.708 206.894 619.562]
-/Subtype /Link
-/A << /S /GoTo /D (conventions) >>
+2065 0 obj <<
+/D [2045 0 R /XYZ 71.731 319.876 null]
 >> endobj
-758 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [533.001 612.708 537.983 619.562]
-/Subtype /Link
-/A << /S /GoTo /D (conventions) >>
+2066 0 obj <<
+/D [2045 0 R /XYZ 71.731 266.093 null]
 >> endobj
-759 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [71.731 595.442 159.481 604.329]
-/Subtype /Link
-/A << /S /GoTo /D (installing-bugzilla) >>
+258 0 obj <<
+/D [2045 0 R /XYZ 256.412 233.779 null]
 >> endobj
-760 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [533.001 595.442 537.983 604.329]
-/Subtype /Link
-/A << /S /GoTo /D (installing-bugzilla) >>
+2067 0 obj <<
+/D [2045 0 R /XYZ 71.731 225.326 null]
 >> endobj
-761 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 582.023 157.907 588.877]
-/Subtype /Link
-/A << /S /GoTo /D (installation) >>
+2068 0 obj <<
+/D [2045 0 R /XYZ 71.731 194.76 null]
 >> endobj
-762 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [533.001 582.023 537.983 588.877]
-/Subtype /Link
-/A << /S /GoTo /D (installation) >>
+2069 0 obj <<
+/D [2045 0 R /XYZ 71.731 184.797 null]
 >> endobj
-763 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 567.014 168.428 575.925]
-/Subtype /Link
-/A << /S /GoTo /D (configuration) >>
+2070 0 obj <<
+/D [2045 0 R /XYZ 136.289 175.298 null]
 >> endobj
-764 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [533.001 567.014 537.983 575.925]
-/Subtype /Link
-/A << /S /GoTo /D (configuration) >>
+2071 0 obj <<
+/D [2045 0 R /XYZ 136.289 163.642 null]
 >> endobj
-765 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 554.062 250.898 562.974]
-/Subtype /Link
-/A << /S /GoTo /D (extraconfig) >>
+2072 0 obj <<
+/D [2045 0 R /XYZ 71.731 124.09 null]
 >> endobj
-766 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 554.062 537.983 562.974]
-/Subtype /Link
-/A << /S /GoTo /D (extraconfig) >>
+2073 0 obj <<
+/D [2045 0 R /XYZ 71.731 106.058 null]
 >> endobj
-767 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 541.111 234.28 550.022]
-/Subtype /Link
-/A << /S /GoTo /D (os-specific) >>
+2044 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F44 1402 0 R /F27 1020 0 R /F35 1185 0 R /F55 1799 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-768 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 541.111 537.983 550.022]
-/Subtype /Link
-/A << /S /GoTo /D (os-specific) >>
+2076 0 obj <<
+/Length 1500      
+/Filter /FlateDecode
+>>
+stream
+xڕW{o�D���ŠNj,%[��qсzG���\Q�6�&���F~�|vf�a�NZ8Uծ�����cg����"J"7&nX��ı6p��	�SM2ݣy7?9��<+&q�Y����#+�\2\k��m�>aۚ���
��K�z]T5˲�ب�w���4˘������y+4�"ϼW�24��֌8�E����؊��|_*�ܲ�kxv e�H�XSJID�(U����A-�U��ϕ������gWn�a0
}3P�%��I6�ؾ3N�DY['i�v9�����j2�� צc��T���5�]S5p�S�V��L�jS�B�	@������e}��պ��$��l�������p\l�Ͷ��-��o)���j�D��8��~PC�~6�%ZG4�������!�?��I�=�l<��`s�~��3�+�)�<���uc��*-����9\.y��Dkӣ㸛��
+���v�/��dm�t���I+J'A"r��*-Q��0�Ԙ�� -�ʎ|���>��LD�Kk�e�v�ȭ}G�l4�ԅ`ZU
?W�y�<pC�[��P�w��Z���Z`�ᦄ`��m"�qCUd�ݥ^61���W罣-/+Q0M�`a�I������4E=�Q�i�bT"�J%��:nK�`��;�K�~Ҳ+��(+R�����X�!Q��i8	�Z�b��6���������{��Y�{��,]��G����K\������������~{�Q�F6�C�
+��6�p��K���� >��w�穇݂UP�`�"�a$C��:��a�a�>��h�t�E=Ľ?�Cyd�H�
+�gYY��f��i="=�ݗB%aOFc͉�VJH��ܘgHd������P�xJKQ�eOh8+S�0�Ί�1�2��QE���#�&~7%�5�52=߫�Ʉ�d�(���J:U9��[�̕e֬L�8����S:�Go.�~������G������E�({��y��&@F2{����<�؋B�{&���qx�H�L���W�<5�1�['����f�v
+�$Br�Fr�t
+�d~^��t-a=P�����J�kr��0E�˙��A��u8�ĕ�ռ�C��*��ԗ=hZ��gnT`{�����>�C�d���iH��	&�|��>�\=zߋ_g�vT�=��{��f-�.�فcb��g�T�#l�F9g:l&T0JO�݄Mc��x���G�2�[J�X���'���d�Q20e*	'�'��P-�Z0^ٳ��e��끊]�7˜�v�Akt&΃)"��Jʷ�K�:�WI6��ƍ�GZ�-�e�ܮ_�wewG�\����֩I��y��NL�er
���߼o�Р�+Έ컌$s<U=/��D��O�s�*�ǵV0���q��Ss�]�����
I����޾�G)r���i��N�ߠtU��ս�_R�j�
+��a��`^�<���Q��Gf��mط�C.q�e׸/MFeS��J�l����8�z�gdF�W���`J\�k����{i�>��/�I2�endstream
+endobj
+2075 0 obj <<
+/Type /Page
+/Contents 2076 0 R
+/Resources 2074 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 2021 0 R
 >> endobj
-769 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 528.16 178.59 537.071]
-/Subtype /Link
-/A << /S /GoTo /D (troubleshooting) >>
+2077 0 obj <<
+/D [2075 0 R /XYZ 71.731 729.265 null]
 >> endobj
-770 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 528.16 537.983 537.071]
-/Subtype /Link
-/A << /S /GoTo /D (troubleshooting) >>
+2078 0 obj <<
+/D [2075 0 R /XYZ 71.731 718.306 null]
 >> endobj
-771 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [71.731 512.952 180.502 521.838]
-/Subtype /Link
-/A << /S /GoTo /D (administration) >>
+2079 0 obj <<
+/D [2075 0 R /XYZ 136.289 708.344 null]
 >> endobj
-772 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 512.952 537.983 521.838]
-/Subtype /Link
-/A << /S /GoTo /D (administration) >>
+2080 0 obj <<
+/D [2075 0 R /XYZ 136.289 696.687 null]
 >> endobj
-773 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 497.475 204.681 506.386]
-/Subtype /Link
-/A << /S /GoTo /D (parameters) >>
+2081 0 obj <<
+/D [2075 0 R /XYZ 71.731 657.136 null]
 >> endobj
-774 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 497.475 537.983 506.386]
-/Subtype /Link
-/A << /S /GoTo /D (parameters) >>
+2082 0 obj <<
+/D [2075 0 R /XYZ 71.731 626.152 null]
 >> endobj
-775 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 486.581 194.709 493.435]
-/Subtype /Link
-/A << /S /GoTo /D (useradmin) >>
+262 0 obj <<
+/D [2075 0 R /XYZ 219.101 590.785 null]
 >> endobj
-776 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 486.581 537.983 493.435]
-/Subtype /Link
-/A << /S /GoTo /D (useradmin) >>
+2083 0 obj <<
+/D [2075 0 R /XYZ 71.731 584.658 null]
 >> endobj
-777 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 473.629 147.945 480.483]
-/Subtype /Link
-/A << /S /GoTo /D (products) >>
+2084 0 obj <<
+/D [2075 0 R /XYZ 71.731 553.823 null]
 >> endobj
-778 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 473.629 537.983 480.483]
-/Subtype /Link
-/A << /S /GoTo /D (products) >>
+2085 0 obj <<
+/D [2075 0 R /XYZ 71.731 543.861 null]
 >> endobj
-779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 458.62 163.447 467.532]
-/Subtype /Link
-/A << /S /GoTo /D (components) >>
+2086 0 obj <<
+/D [2075 0 R /XYZ 71.731 294.595 null]
 >> endobj
-780 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 458.62 537.983 467.532]
-/Subtype /Link
-/A << /S /GoTo /D (components) >>
+2087 0 obj <<
+/D [2075 0 R /XYZ 396.191 281.644 null]
 >> endobj
-781 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 447.726 147.387 454.58]
-/Subtype /Link
-/A << /S /GoTo /D (versions) >>
+2088 0 obj <<
+/D [2075 0 R /XYZ 417.312 281.644 null]
 >> endobj
-782 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 447.726 537.983 454.58]
-/Subtype /Link
-/A << /S /GoTo /D (versions) >>
+2089 0 obj <<
+/D [2075 0 R /XYZ 438.433 281.644 null]
 >> endobj
-783 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 434.775 156.801 441.629]
-/Subtype /Link
-/A << /S /GoTo /D (milestones) >>
+2090 0 obj <<
+/D [2075 0 R /XYZ 71.731 268.692 null]
 >> endobj
-784 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 434.775 537.983 441.629]
-/Subtype /Link
-/A << /S /GoTo /D (milestones) >>
+2091 0 obj <<
+/D [2075 0 R /XYZ 71.731 235.651 null]
 >> endobj
-785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 419.766 139.467 428.678]
-/Subtype /Link
-/A << /S /GoTo /D (voting) >>
+2092 0 obj <<
+/D [2075 0 R /XYZ 71.731 217.719 null]
 >> endobj
-786 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 419.766 537.983 428.678]
-/Subtype /Link
-/A << /S /GoTo /D (voting) >>
+2093 0 obj <<
+/D [2075 0 R /XYZ 71.731 207.756 null]
 >> endobj
-787 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 406.815 222.923 415.726]
-/Subtype /Link
-/A << /S /GoTo /D (groups) >>
+2094 0 obj <<
+/D [2075 0 R /XYZ 136.289 198.257 null]
 >> endobj
-788 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 406.815 537.983 415.726]
-/Subtype /Link
-/A << /S /GoTo /D (groups) >>
+2095 0 obj <<
+/D [2075 0 R /XYZ 136.289 186.6 null]
 >> endobj
-789 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 393.863 224.328 402.775]
-/Subtype /Link
-/A << /S /GoTo /D (upgrading) >>
+2096 0 obj <<
+/D [2075 0 R /XYZ 71.731 147.049 null]
 >> endobj
-790 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 393.863 537.983 402.775]
-/Subtype /Link
-/A << /S /GoTo /D (upgrading) >>
+2097 0 obj <<
+/D [2075 0 R /XYZ 71.731 114.008 null]
 >> endobj
-791 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [71.731 378.655 172.203 387.542]
-/Subtype /Link
-/A << /S /GoTo /D (customization) >>
+2074 0 obj <<
+/Font << /F33 1116 0 R /F35 1185 0 R /F55 1799 0 R /F27 1020 0 R /F23 1013 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-792 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 378.655 537.983 387.542]
-/Subtype /Link
-/A << /S /GoTo /D (customization) >>
+2100 0 obj <<
+/Length 1700      
+/Filter /FlateDecode
+>>
+stream
+xڝXYo�6~ϯ�KQ���:-;��n
+쁍�mQ�m�HU�6����!uXYl��%Qs|3����*��p��~�%���:]��U�:›7W!��p�7��bw��6�W[��W��*	7�6[eq�o�h�+�p^�H#i�zQ8���wLHRU%;����KYU��k����U�ƙ���_���4,]m� Sv��ڏ6�Ul�8Iz�򆰟��g��ڹ]���`兡�N�~S�
u�u��dEEon���:��g�Q6`�?M7`X�A܋yDžԞ��Ջ�]�k�F�Б%g�a��
+�oĉwU��G��j��:���A|�r7J�G��v�ԁ�$�s�ߞy���Y/Nč܉By�V�V��W�FKyҫ�����H�+z�"���Ͽ�(���3�� ��rn�c��Vj�0p��}��y��hn��\�o��z/��w��t�Nrf��F��W��}�-����zR�	�,΢)Mt�x�/9���2uB�Vكw5��)Z@�?o9y��=�f@w_~t������j���֍DG�������\B|=S/��-�����w�M�������&�€���֡f��T���PU#|Pb��,�I%�(�����#����G
�EKP+.�ż���h�P
�"�&�PqK����
?��9v-��t���r�<�6���{���4]X�!k��&��j���:��F��&�K��Qw&��Ģ������ɘ.s����f��4�֗?3q҄,.�Oc?�*���p���O<~��B���w��a[	]�����������뛛����R�
+h�����$ �u_�x�`�m����G��W`Ct>[9�`�Q��Q��+(������~�X3J1
�=0EEp[mr�am����d1TM����#�����my��k��X��QM�M�6�@
+�]�@̀�P�X���B���Ϗ`N9PEeZ4Qt��̏��/ٜ�ɸ���/h�`�ٚ`�P���*
���V��-��Lt�i�Yh��IZ�Vʈ���0��L:97��.�9m�xjʤ?�wzS��8�l��!f�'�yސ\���{W���3�ʺ��W�r�] ���Yv*�&�d�"���Vy��,&��^
vfְ	�p���dS�PO}���3c̞�L�a%�nxV�s����F��J,
+���
���r����k��Q����&ZO�g��h<A���ɹ��*<Җ�}��aK�H��@����霍J�Y����a��s�\Pt���ခ������
+��?�?��G�����@��s�ac8iT�?�Nag	3�	��'�=��χ��b�nַ0^ZH[:/T��S�,�PO�D݄9L"A�<�2O���li.���0�hQJ(d�	Z�9`f��3
+�|V�K���|��1+�����r��8l!��c�巋���,�ma@�e���ޗH_�Y�	���1gIw�Ψ�i�BqC����^�{.)N`p\����OC��	�&p-9���`գWn׃���.�9C�>+�7�n8��S5�:���7��!�����Tm�Am)��}S���ZI�šW�W=����1m,x�k�S-������f�t����=:�w�X�coI�.¦&�F%1 r��l��hY��q��z'������Ѕx������02���Ÿ�x�?X%f_�Ik�r�V�(!��<�+ե��eendstream
+endobj
+2099 0 obj <<
+/Type /Page
+/Contents 2100 0 R
+/Resources 2098 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 2021 0 R
 >> endobj
-793 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 363.178 210.619 372.09]
-/Subtype /Link
-/A << /S /GoTo /D (cust-templates) >>
+2101 0 obj <<
+/D [2099 0 R /XYZ 71.731 729.265 null]
 >> endobj
-794 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 363.178 537.983 372.09]
-/Subtype /Link
-/A << /S /GoTo /D (cust-templates) >>
+2102 0 obj <<
+/D [2099 0 R /XYZ 71.731 718.306 null]
 >> endobj
-795 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 350.227 178.51 359.138]
-/Subtype /Link
-/A << /S /GoTo /D (cust-hooks) >>
+2103 0 obj <<
+/D [2099 0 R /XYZ 136.289 708.344 null]
 >> endobj
-796 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 350.227 537.983 359.138]
-/Subtype /Link
-/A << /S /GoTo /D (cust-hooks) >>
+2104 0 obj <<
+/D [2099 0 R /XYZ 136.289 696.687 null]
 >> endobj
-797 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 337.275 261.398 346.187]
-/Subtype /Link
-/A << /S /GoTo /D (cust-change-permissions) >>
+2105 0 obj <<
+/D [2099 0 R /XYZ 71.731 657.136 null]
 >> endobj
-798 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 337.275 537.983 346.187]
-/Subtype /Link
-/A << /S /GoTo /D (cust-change-permissions) >>
+2106 0 obj <<
+/D [2099 0 R /XYZ 71.731 585.24 null]
 >> endobj
-799 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 324.324 246.206 333.235]
-/Subtype /Link
-/A << /S /GoTo /D (dbmodify) >>
+2107 0 obj <<
+/D [2099 0 R /XYZ 71.731 575.278 null]
 >> endobj
-800 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 324.324 537.983 333.235]
-/Subtype /Link
-/A << /S /GoTo /D (dbmodify) >>
+2108 0 obj <<
+/D [2099 0 R /XYZ 136.289 565.778 null]
 >> endobj
-801 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 311.373 272.736 320.284]
-/Subtype /Link
-/A << /S /GoTo /D (dbdoc) >>
+2109 0 obj <<
+/D [2099 0 R /XYZ 136.289 554.122 null]
 >> endobj
-802 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 311.373 537.983 320.284]
-/Subtype /Link
-/A << /S /GoTo /D (dbdoc) >>
+2110 0 obj <<
+/D [2099 0 R /XYZ 71.731 514.57 null]
 >> endobj
-803 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 298.421 286.315 307.333]
-/Subtype /Link
-/A << /S /GoTo /D (integration) >>
+2111 0 obj <<
+/D [2099 0 R /XYZ 71.731 489.499 null]
 >> endobj
-804 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 298.421 537.983 307.333]
-/Subtype /Link
-/A << /S /GoTo /D (integration) >>
+2112 0 obj <<
+/D [2099 0 R /XYZ 125.529 480 null]
 >> endobj
-805 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [71.731 283.213 143.421 292.1]
-/Subtype /Link
-/A << /S /GoTo /D (using) >>
+2113 0 obj <<
+/D [2099 0 R /XYZ 125.529 468.344 null]
 >> endobj
-806 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 283.213 537.983 292.1]
-/Subtype /Link
-/A << /S /GoTo /D (using) >>
+2114 0 obj <<
+/D [2099 0 R /XYZ 125.529 456.687 null]
 >> endobj
-807 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 269.794 162.331 276.648]
-/Subtype /Link
-/A << /S /GoTo /D (using-intro) >>
+2115 0 obj <<
+/D [2099 0 R /XYZ 125.529 445.031 null]
 >> endobj
-808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 269.794 537.983 276.648]
-/Subtype /Link
-/A << /S /GoTo /D (using-intro) >>
+2116 0 obj <<
+/D [2099 0 R /XYZ 125.529 433.375 null]
 >> endobj
-809 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 254.785 218.489 263.696]
-/Subtype /Link
-/A << /S /GoTo /D (myaccount) >>
+2117 0 obj <<
+/D [2099 0 R /XYZ 125.529 421.719 null]
 >> endobj
-810 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 254.785 537.983 263.696]
-/Subtype /Link
-/A << /S /GoTo /D (myaccount) >>
+2118 0 obj <<
+/D [2099 0 R /XYZ 71.731 390.137 null]
 >> endobj
-811 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 241.833 186.958 250.745]
-/Subtype /Link
-/A << /S /GoTo /D (bug_page) >>
+266 0 obj <<
+/D [2099 0 R /XYZ 197.861 350.765 null]
 >> endobj
-812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 241.833 537.983 250.745]
-/Subtype /Link
-/A << /S /GoTo /D (bug_page) >>
+2119 0 obj <<
+/D [2099 0 R /XYZ 71.731 343.412 null]
 >> endobj
-813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 228.882 189.997 237.793]
-/Subtype /Link
-/A << /S /GoTo /D (query) >>
+2120 0 obj <<
+/D [2099 0 R /XYZ 71.731 302.58 null]
 >> endobj
-814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 228.882 537.983 237.793]
-/Subtype /Link
-/A << /S /GoTo /D (query) >>
+270 0 obj <<
+/D [2099 0 R /XYZ 284.184 270.267 null]
 >> endobj
-815 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 215.931 151.551 224.842]
-/Subtype /Link
-/A << /S /GoTo /D (list) >>
+2121 0 obj <<
+/D [2099 0 R /XYZ 71.731 261.629 null]
 >> endobj
-816 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 215.931 537.983 224.842]
-/Subtype /Link
-/A << /S /GoTo /D (list) >>
+2122 0 obj <<
+/D [2099 0 R /XYZ 478.403 251.338 null]
 >> endobj
-817 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 202.979 159.86 211.89]
-/Subtype /Link
-/A << /S /GoTo /D (bugreports) >>
+2123 0 obj <<
+/D [2099 0 R /XYZ 71.731 218.297 null]
 >> endobj
-818 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 202.979 537.983 211.89]
-/Subtype /Link
-/A << /S /GoTo /D (bugreports) >>
+2124 0 obj <<
+/D [2099 0 R /XYZ 71.731 181.499 null]
 >> endobj
-819 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 192.085 166.027 198.939]
-/Subtype /Link
-/A << /S /GoTo /D (patchviewer) >>
+2125 0 obj <<
+/D [2099 0 R /XYZ 71.731 166.556 null]
 >> endobj
-820 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 192.085 537.983 198.939]
-/Subtype /Link
-/A << /S /GoTo /D (patchviewer) >>
+2126 0 obj <<
+/D [2099 0 R /XYZ 76.712 115.049 null]
 >> endobj
-821 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 177.076 171.397 185.988]
-/Subtype /Link
-/A << /S /GoTo /D (hintsandtips) >>
+2098 0 obj <<
+/Font << /F33 1116 0 R /F35 1185 0 R /F55 1799 0 R /F27 1020 0 R /F23 1013 0 R /F32 1027 0 R /F44 1402 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-822 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 177.076 537.983 185.988]
-/Subtype /Link
-/A << /S /GoTo /D (hintsandtips) >>
+2129 0 obj <<
+/Length 1677      
+/Filter /FlateDecode
+>>
+stream
+xڭXK��6��W���07�eI~�������:��,[�ŵ��B��{dI�����Ν;z����`/�?����0Eaļ�Z������beIV�'���SB�����	Jc/&!JX���o��
+��D�\�,�Cd�gu�������dY�����_�G���(M�M�hH
Ro�C�2�i�\�}x9�>���Xhj
+z�8�0JS�5��.^/~Y�*JPH�-欥�`�˜ S�D�xtSH<L���	0",�ӎz���ϛZ;ܰ~J�ތ�+��e@`��$É�x/N�/��{��Oc���Y�\T�n�B5v�
+a������(31P���G��2d�;v�]���,�Aشv�����Lda}\���z'��v����Jֲ�%�;�|���A�E,2&N��[a'�Kv�hA�h��?�Q%U[6_�aG���Mi��(U�;鼡��챉�W�j�V��բ\�x���W�xVH���}(dV��[6���
+�c�8�B�@y�t��̦$@$�@݁����D�Tr��X�aI���$|���1v
+p2>�x4�p���@�q�L
+��I��(
��+��Y��%��r�(Xs7��V��Q�3��u�.`�y„�1p.3�rc�f5!2N��v�H�Zd6M�e���'$�n�w47ş3���^ld�f�W�!�l���z<�
(�	>���Y`���#}IVaD#ly-9+x�����6k�k-�Vt���t ӑe�Ѫ�E�2~r�ڞ����·�L΁:#>�`���Q����1�W1 �����?����eֽÄ~?����9~-��L��oׅ��z��Z밆�ö���
+�<�vV��{�3�+���|�(�Զ�����Z�D�o./���B�0u%�ԅ��&�0�4ѥ����0�\�
����7x5��8O�1�ˈ���c���U��f����hs�A�]fH����=y3����`fȨM]S��)+]��:{���iY	xds��K��\�!ؐ�h3�NĈ{Sm��z0i�B0	O�e)TR��/Zg���
+�{�q��!5�$�7kk�.��0
+�U0���+�d������[J]d���0��-b���mw:L��h2GrX��g��Ȭ��FSh)�+��p�Y$��4�,�;���=����T�)�jp�Y�+P�3A4;�FUgg~z�LC��6�
+Q�w#�=��Rt\��w4�'���D�,gv��cVp�:�h�[2@���'ɕ��PZ���=��5ɗKKw� �\J��E;I	��߿��
���
+U�S�)�I��ؕA�gc5�����Y�B�������L1ov4��R�*VW�V��9��X�i����NS4
+Jtb���m�T����:�a����al�L�=۾,]��(]6\Щ�r�^�A���Zghh���[w�4]�N��|�Z�+맦z��<6T�iT����+��:�K�;�u������[�]o��G�@`�� ������)L^?��rmڭ_��˭k�z�tQ��]��,�++ޞ5�Yo3��}�l��ߌ�Ʈ���:8h]^|������f�G�q�k�}�������C���2=�eJ����5�Ii]B���e��$F.0c[˻ky`������>o�`_	��_�G�(���&��_��=Mp|�G%@U���@���Nl�������endstream
+endobj
+2128 0 obj <<
+/Type /Page
+/Contents 2129 0 R
+/Resources 2127 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 2021 0 R
+/Annots [ 2134 0 R ]
 >> endobj
-823 0 obj <<
+2134 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 166.062 180.841 173.036]
+/Rect [283.963 566.386 336.266 575.298]
 /Subtype /Link
-/A << /S /GoTo /D (userpreferences) >>
+/A << /S /GoTo /D (install-perlmodules-nonroot) >>
 >> endobj
-824 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 166.062 537.983 173.036]
-/Subtype /Link
-/A << /S /GoTo /D (userpreferences) >>
+2130 0 obj <<
+/D [2128 0 R /XYZ 71.731 729.265 null]
 >> endobj
-825 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 151.173 149.051 160.085]
-/Subtype /Link
-/A << /S /GoTo /D (reporting) >>
+2131 0 obj <<
+/D [2128 0 R /XYZ 118.555 684.724 null]
 >> endobj
-826 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 151.173 537.983 160.085]
-/Subtype /Link
-/A << /S /GoTo /D (reporting) >>
+2132 0 obj <<
+/D [2128 0 R /XYZ 71.731 621.171 null]
 >> endobj
-827 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [71.731 135.965 160.059 144.852]
-/Subtype /Link
-/A << /S /GoTo /D (faq) >>
+274 0 obj <<
+/D [2128 0 R /XYZ 166.615 588.668 null]
+>> endobj
+2133 0 obj <<
+/D [2128 0 R /XYZ 71.731 578.303 null]
+>> endobj
+2135 0 obj <<
+/D [2128 0 R /XYZ 71.731 548.454 null]
+>> endobj
+2136 0 obj <<
+/D [2128 0 R /XYZ 71.731 538.491 null]
 >> endobj
-828 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 135.965 537.983 144.852]
-/Subtype /Link
-/A << /S /GoTo /D (faq) >>
+2137 0 obj <<
+/D [2128 0 R /XYZ 104.657 482.765 null]
 >> endobj
-829 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [71.731 122.526 117.12 129.509]
-/Subtype /Link
-/A << /S /GoTo /D (patches) >>
+2138 0 obj <<
+/D [2128 0 R /XYZ 71.731 462.675 null]
 >> endobj
-830 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 122.526 537.983 129.509]
-/Subtype /Link
-/A << /S /GoTo /D (patches) >>
+2139 0 obj <<
+/D [2128 0 R /XYZ 131.133 451.881 null]
 >> endobj
-831 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 107.203 241.901 114.057]
-/Subtype /Link
-/A << /S /GoTo /D (cmdline) >>
+2140 0 obj <<
+/D [2128 0 R /XYZ 247.791 451.881 null]
 >> endobj
-832 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 107.203 537.983 114.057]
-/Subtype /Link
-/A << /S /GoTo /D (cmdline) >>
+2141 0 obj <<
+/D [2128 0 R /XYZ 421.396 438.929 null]
+>> endobj
+2142 0 obj <<
+/D [2128 0 R /XYZ 71.731 423.821 null]
 >> endobj
-744 0 obj <<
-/D [742 0 R /XYZ 71.731 729.265 null]
+2143 0 obj <<
+/D [2128 0 R /XYZ 118.555 385.257 null]
 >> endobj
-6 0 obj <<
-/D [742 0 R /XYZ 244.332 703.236 null]
+2144 0 obj <<
+/D [2128 0 R /XYZ 190.33 376.793 null]
 >> endobj
-741 0 obj <<
-/Font << /F23 733 0 R /F32 747 0 R /F27 740 0 R /F33 834 0 R >>
+2145 0 obj <<
+/D [2128 0 R /XYZ 225.559 365.136 null]
+>> endobj
+2127 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F44 1402 0 R /F27 1020 0 R /F35 1185 0 R /F32 1027 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-880 0 obj <<
-/Length 23365     
+2148 0 obj <<
+/Length 2555      
 /Filter /FlateDecode
 >>
 stream
-xڕ�M�%Wb��=E/����w.G�H�����Z�B��.������ch����8~2�T�o�4pڟ�:@ݪ�t��n������zy���p�r�}|�Ï���?�y�;��7�q����r�p����o�w�����r{���0�����rw�z�����O�pw�����������9Ƒ?������.������w������y�������~���~������|�������ۛ�>}��q�������?��������o��?Χ��{�\����a����?|s_�ۏ7�mɡ�ߘ�7�q�ܼ<~�ߪ�,�K��zwyx~��~�D����r�d���ځ�����Y����?V�kxxq�8��x�n�po���ځ�v
��z�Ĭ�r��w?P���=A;�c�q��[����.��v�[��gO�<P�[���~�D����r�r'���ځ�Oֳۧ�'x�eu	<P�O��gO�<P��R�Ϟ�x�n�� ?����?V��k���8��x�n�p'?������n���8{�v���]�ժ���?V_�k��s�,�K���]�4_O������˳�F~=z"V����g�7Ξ���zwssy~r59��x��]����=Q;�@�n��N������o:u?s�v���u��;����.��v
�R�Ϟ�x�n�p}��~�D��u��7V�Ϟ�����"���}��,�K��zw�>���=Q;�@}�<=Yu?{�v���|�}|��~�D���ջ��?L�Q6;���@���=!+��.��*���	ځ�vw��f�=Q;�c�~��[����.��vW�7Ξ�x�n� "gO�<P�/���gO��X}��<>�o�YV����r�?@��'j���G��gO�<P�kx��q��ځ���5��O�q��%�@ݮ�Ϊ�����n�g�8{�v���]��q?zbV����v��f?�d����Xs?{�v���pyx�߹��ځ����٪���?V�o.O�3n�eu	<P�.7���f�=Q;�@ݮ����������g�8{�v����v
wRgY]��n�g�8{�v���]�U~ƍ�'j��5�Xu?{�v���������}��,�k��z{y�����'j���'��gO�<P�.�7����>&��ȏ֜et	<P�;x��~�D��u���[��gO�<P�[����~�D������n�:β���5\梁�=Q;�@ݮ��A����ԧ��U��'j~���\���\β����g�e'9{�v���p�{��~�D��u���17Ξ���z�]�����eu	<P�k���~�D��u��C�~�Ĭ�r��e'9{�v����vW����.��v��Nr�D����r+��$gO�<P�.O�V�Ϟ����xs��_v���.����I~�IΞ�x�n��`���ځ�v
��Nr�D���է�䗝�,�K���]íU��'j��5�/;�����䗝��ځ��7��T�YV�����hѯGO̊; .W��'9{�v���ty|��~�D���՗����,�K���݂�ⓜ=Q;�@ݮ�ު���������ځ�7�5��A;gQ]���V�Ϟ�x�n� ��$gO�<P�.���r�D�������F&r��%�@��<�/>���ԇ�ͣU��'j��5��DΞ���z�]��g?�f����K�������d["gO�<P����O�U�^�:V�ϗ�_܍3�����{��|�ˬ������1��Q��>Z>:�}�<�~-�����rs���du>�8�#{�zyk��������o�h����_��_�v���w}��<�~�=\��˷�x�{z��A>P��'j�ϗ��'��gO��X}�^��:β���5�?Ku?{�v���]�݋T��'j��5�Zu?{�v����v
�ݏ��q�v׫4��'h���Xu?{�v���|yz�߿���?V_��ۏ��VgY]Ի�ӓU��'j�����{��gO�<P�kxx��~�D���;'7�5�;5gQ]������=Q;�@ݮ��I�������V�Ϟ���zݮ��}��,�K��zwy|y��~�D����r}��~�D�����h���=1+�c��z�~���q��%�@���Ѫ�����n���=Q;�@�n��N����?V�k���8��x�n�p{/���ځ�v
W��3Ξ�x��k N�"�v ΋(5�"�.�8/��1/�j⼈SǼ���"N�"�v ΋(5�"�.�8/��1/�jҼ�C�y6+�E�9�E�@�Qj�EP]q^ĩc^���y��yV;�E�:�EX�@�Qj�EP]q^ĩc^���y��yV;�E�:�EX�@�Qj�EP]q^ĩc^���y��yV;�E�:�EX�@�Qj�EP]a^ę_�EX|F�"��EX�8�q�a�q^Ĩs^��5�E�:�EX�@�q�a�q^ĩc^���y�f^�%�E�:�EX�@�q�a�q^ĩc^���y�f^�%�E�:�EX�@�q�a�q^ĩc^���y��y4;��E�ϋ0Yq8/��1/�h⼈SǼ���"Jͼ�K ΋8ű�ځ8/��1/�j⼈SǼ���"Jͼ�K ΋8ű�ځ8/��1/�j⼈SǼ���"Jͼ�K ΋8ű�ځ8/��1/�jҼ�C�y6+��E9�E��8�q�a�q^ĩc^���y��yV;�E��yT�@�q�a�q^ĩc^���y��yV;�E��yT�@�q�a�q^ĩc^���y��yV;�E�:�EH]q^ĩc^���y��yV;��E�ϋ�Yq8/��̋ �⼈SǼ���"N�"�v ΋8ű�ځ8/��̋��⼈SǼ���"N�"�v ΋8ű�ځ8/��̋��⼈SǼ���"N�"�v ΋8ű�ځ8/��̋��⼈SǼ�H�"��Eج8�q�a�q^D��Au	�y��yV;�E�:�EX�@�q�a�q^D��Au	�y��yV;�E�:�EX�@�q�a�q^D��Au	�y��yV;�E�:�EX�@�q�a�q^D��Au	�y���"lV΋8s̋0ځ8/��1/�j⼈R3/����"N�"�v ΋8ű�ځ8/��1/�j⼈Q��k ΋8ű�ځ8/��1/�j⼈SǼ���"Jͼ�K ΋8ű�ځ8/��1/�j⼈SǼ�H�"
-�"hv͋8r�a��p^ęc^���yX�0�"�_ϼ��yx�w�"�o�����K�u���>.r;�E��������矿�����ӗ�xkd����5bS��;������o������'=�}�P�>&�8.}2�o"+�߆L�Ȋ㺷!��&���-�Y����m�����8ny2%o"++�F
o߇q�[���
b�q�ې�vYq��6d��DV׺
�V7�ǝnA�J7�DžnC��Md�q�ې)sYq\�6d��DV��9k�@v��
�7��
nC��Md�q}ېioYq���n�q\�6dz�DV���8J���ʶ��&�ⸯ-�Y��㸬m�t���8nj2Em"+�kچLK�Ȋ㎶ gEȎザ!��&�⸝mȔ���8�f2�l"+�{ق��l ;�KنL'�Ȋ�F�!S�&�⸎mȴ���8�brV���8*bp�a�.
-[�F%l�އqۀi`�Xqܿ>'�������kC�{Md�q�ڐ)^Yq\�6dZ�DVw�9+�@v�
��5��mkC�lMd�q�ڐiZYqܳ�Y�q\�6d:�DV7�
��5���jC�]Md�a�Z��VXaX�6��U��>�[�L��Ċ�J�!Ө&��O-�Y���Lm�t���8nR2Ej"+�kԆL��Ȋ�� g�Ȏ��!ӟ&��=mȔ���8�N2�i"+�{ӂ��i ;�KӆLg�Ȋ�ƴ!S�&��.m�і&�}v����4x�Ei�'Mb�qKڐ)IYq\�6d�DV��9��@v��
�n4���hC�Md�q-ڐiEYq܉�D�q\�6d��DV��
�24��UhC�	Md�q��|�A�K��
�4��
hC��Md�a�و��L��0�>pV�A�8.>2�g"+�[φL�Ȋ�ʳ!�x&���,�Yw���l�t���8n:2Eg"+�kΆL˙Ȋ㎳ g�Ȏコ!�o&���lȔ���8�62�f"+�{͂��f ;�K͆L��Ȋ�F�G����a\g6`��$Vw�9��@v�
�3��-fC��Ld�q�ِi0Yq�_�/�q\^6d��DV7�
��2�ǵeC��Ld�qgY���d�qaِ�+Yq�V6d��DVW�
��2��=eAΚ2��%e#��2��ø�l��I�8�'2�d"+��ɂ��d ;��ɆL/�Ȋ�V�!SJ&�⸒l�4���8�#��ou�cr��2�!�E&�⸉l����8�!2-d"+�;Ȃ�d ;�ȆL��Ȋ���!S>&��zl�4���8�1�c�+K���c�އq�؀)�Xq\7�Ҭh�C�e�g����Cl?w~�~*�Z5�~��}b|t��zy��]�x����i>�����39��<?�����������/�_����)
��˧Ͽ}-o������O���m��f����3^�9j �����g]��7ฯ��@a
��ʚR�YC�������P�@.�u6�H]���Ԕ�P�@��)5�5T;�lJM�
���Qg���%�{lJM�
��*�BG�
͊�6�2SgC���f��h#u	�N�RSjC��֦���P�@n�)5�6T;��mF��6R�@�)57T;�+nJM�
�䖛RSsC���f��t#u	䮛RSvC������P�@n�)5�7T;�KoF��7R�@�)s/���>�o
-�7+��o�L�
���P�p���܁SjJp�v ������M8��
-�jr�
G��}8���jr%N��ġځ܊Sjjq�v �:�q�.�܍Sj�q�v �㔚~��
9��"�jbIΠiɑ�qؓS�(�!Yq\�Sf�r�v �唚��ȅ9����K w攚��ȵ9��7�jrsN��Ρځ\�3�lϑ�rN�)Сځ\�Sj:t�v �蔚��E:��&�K w锚2��u:��O�jb�N��R�f�a�ΐi��qܫSf�u�v W딚n���:��^�jr�Ψ�aG��;��d�jr�N��١ځܴSj�v�v ��:�v�.�ܷSj
-w�v W��ȭ;��v�jr�N�o�;P�@��)5�;T;��wJM����BG͊��1g��%�{xJM��*�R��C�������P�@.�u6�H]���Ԕ�P�@��)5�<T;��yJM5��r�Qg;��%��yJMA�䊞R��C�������P�@.�u6�H]���Ԕ�P�@��)t��Ь8n�)3�=D;�K{F��=R�@��)5�=T;��{JMw����RS�C���g���#u	��RS�C��Ƨ���P�@n�)5U>T;��|F�m>R�@��)5�>T;�+}JM���V�RS�C���g���#u	�n�BG�͊�z�2��C����T�P�@.�u��H]����P�@��)5]?T;��~JM���ŸP������SjJ�v ��������?����jr�Ϩ��G���?����jrP����ځ�Tjj��v 
�& ��]@E�2 ��u@e��hr#�Ŧ*��{'��c<>�����H��_@z�r�{�7��#�t3Z���O?��_~���w}���/�y�������������O5μ�˷��x��~��������˽U��'j~�>\/������.��v��	����ځ�v
W��gO�<P�kx��)��gO��X}�^�^ڨ�,�K��zwy~��~�D����r��(���ځ�����7����=Q;�c�i������.��v
�_;����ځ�v
��	����ځ�v
�V�Ϟ�����]��ax?�f���\��8{�v������U��'j�ϗ�����=Q;�c��z�}�8�,�K��zwyz��~�D����r�(?�������x��m��v ��^�o/�u
�W�+5�G����J�k�Q�@~1�R�fzT;��Mo��rzR�@~=�R�~zT;��P�Լ��ė�+t��͊���s����%�_U�Լ����+5��G����J��Q�@~g�Q��K ��)53@�v ��)53@�v ��)53@�v ��u������R3�j��R3�j��R3�j��Q��K ��)53@�v ��)t���Yq<����!ځ<d�9D��3@J���3@J���3@J���3@F�3@�.�<�����ځ<�����ځ<�����ځ<d�9D��3@J���3@J���3@J���3@F�3@�.�4��}��a8��1�b���23�h��P�f�@]yH��B�yH��B�yH��B�yȨs��%�g��� T;�g��� T;�g��� T;�g��:g�H]yH��B�yH��B�yH��B�qȠ�"��pH�cɊ� ef�� �f�� �� R�@�Rjf�P�@�Rjf�P�@�Rjf�P�@�2�"u	� �f�� �f�� �f�� �� R�@�Rjf�P�@�Rjf�P�@�R�B��pȐ�"��xH��B�yH��B�yH��B�yȨs��%�g��� T;�g��� T;�g��� T;�g��:g�H]yH��B�yH��B�yH��B�yH�o3@���<�����ځ<�����ځ8��1�f���1��K ��)53@�v ��)53@�v ��)53@�v ��u������R3�j��R3�j��R3�j��Q��K ��)53@�v ��)53@�v ��)53@�v ��u������R3�j��B���3@����3@F�3@�.�<�����ځ<�����ځ<�����ځ<d�9D��3@J���3@J���3@J���3@F�3@�.�<�����ځ<�����ځ<�����ځ<d�9D��3@
-3@hV��)33@�v ��)53@�v ��u������R3�j��R3�j��R3�j��P�f�@]yH��B�yH��B�yH��B�yȨs��%�g��� T;�g��� T;�g��� T;g�� 2;g�9f���8�Rff��@��}1�ϱ���{�:~�w3@��{2t����8��@�1�����~����姟��?�����?����������~����oK���?�e~<t}9�n��Rx�K�=�q���ǀb)�K K��b)���R��X�jr�T�)��ځ\,5�,���r�T�)��ځ\,Uj���v K��b)���R��b)�K K��b)���R��X�jr�T�)��ځ\,5�,���r�T�)��ځX,U�(��Yq\,Uf���v K�:���.�\,Uj���v K��b)���R��X�jr�Ԩ�XJ���R��X�jr�T�)��ځ\,Uj���v K�:���.�\,Uj���v K��b)���R��X�jr�Ԩ�XJ�H�Re��R߇a�T��X�b�q�T�)�"ځ\,�[��5���JM���b�RS,E��X��KQ�@.�uKI]�X��KQ�@.�*5�RT;���JM���b�Qg���%���JM���b�RS,E��X��KQ�@,�4�R2;����R$+����L���b�RS,E��Xj�Y,%u	�b�RS,E��X��KQ�@.�*5�RT;���F��RR�@.�*5�RT;���JM���b�RS,E��Xj�Y,%u	�b�RS,E��X��KQ�@,�*tKѬ8,�2�R";����L���b�RS,E��X��KQ�@.�uKI]�X��KQ�@.�*5�RT;���JM���b�Qg���%���JM���b�RS,E��X��KQ�@.�
-��X
-���R��X�jr�T�)��ځX,U�(��Yq\,5�,��r�T�)��ځ\,Uj���v K��b)���R��b)�K K��b)���R��X�jr�T�)��ځ\,5�,���r�T�)��ځ\,Uj���v K��b)���R��b)�K K��b)���R��b)���Re�X�hr�Ԩ�XJ���R��X�jr�T�)��ځ\,Uj���v K�:���.�\,Uj���v K��b)���R��X�jr�Ԩ�XJ���R��X�jr�T�)��ځ\,Uj���v K�:���.�X,U�(��Yq\,Uf���v K��b)���R��b)�K K��b)���R��X�jr�T�)��ځ\,�[��5���JM���b�RS,E��X��KQ�@.�uKI]�X��KQ�@.�*5�RT;���JM���b�AS,%��X��Q,E��X��K�@.�R#RK�9�b�ǀb��s,��+Ko�.ۯ>�X:��>��(��_�_���>��/?���_���w_�����w����?����ߋx�����?_�����Y�:�w�z�:�o^Ǎh�븕��q�ځ�:n��uܨv ��ۨ�uܤ.��:n��uܨv ��[�y7�ȯ�Vj^Ǎj�븅��:nP�@~�R�:nT;�_ǭԼ����q+5��F��u�F���&u	��q+5��F��u�J��Q�@|�B�j�ǫ	Ɯ�	�.����Ԭ&�ځ���Ԭ&�ځ���Ԭ&�ځ��`Թ�@�ȫ	J�j�ȫ	J�j�ȫ	J�j�ȫ	F��	�.����Ԭ&�ځ���Ԭ&�ځ���Ԭ&�ځ��`Թ�@�ȫ	J�j���	
-�	hV�&(3�	�v �&u�&���j�R���j�j�R���j�j�R���j�j�Q�j�K �&(5�	�v �&(5�	�v �&(5�	�v �&u�&���j�R���j�j�R���j�j�R���j�j�Q�j�K �&(s_M@�}�&(p�&�Xq���̬& ځ�� Է�P�@^MPjVP�@^MPjVP�@^MPjVP�@^M0�\M u	���f5����f5����f5������R�@^MPjVP�@^MPjVP�@^MPjVP�@\M0hV��8\MP�XM@��x5A�YM@�y5A�YM@�y5��s5��%�W���T;�W���T;�W���T;�W�:WH]y5A�YM@�y5A�YM@�y5A�YM@�y5��s5��%�W���T;�W���T;W:VЬ8\M0dV��8^MPfV�@^MPjVP�@^MPjVP�@^M0�\M u	���f5����f5����f5������R�@^MPjVP�@^MPjVP�@^MPjVP�@^M��j�k �&(5�	�v �&(5�	�v �&(t�&�Yq��`̹�@�ȫ	J�j�ȫ	J�j�ȫ	J�j�ȫ	F��	�.����Ԭ&�ځ���Ԭ&�ځ���Ԭ&�ځ��`Թ�@�ȫ	J�j�ȫ	J�j�ȫ	J�j�ȫ	F��	�.����Ԭ&�ځ���б��f��j�2���h�j�Q�j�K �&(5�	�v �&(5�	�v �&(5�	�v �&u�&���j�R���j�j�R���j�j�R���j�j�Q�j�K �&(5�	�v �&(5�	�v �&(5�	�v �&u�&���j�B�j�ǫ	��j�ȫ	J�j�ȫ	F��	�.����Ԭ&�ځ���Ԭ&�ځ���Ԭ&�ځ�� Է�P�@^MPjVP�@^MPjVP�@^MPjVP�@^M0�\M u	���f5����f5����f5����f5�̎��E��$+�W���D;�W���j5�c_Mx��O��	���׭&l��>\���0��>���ۉ��������?|����ߴ��.���Λ�>��r��x8��b?<�,��{��b���~R�@.�+5�~T;���JM���b�RS�G���/Էb?�k ���b?���~��؏jr�_�)��ځ\�7�,���r�_�)��ځ\�Wj���v �:��hV��9���.�\�Wj���v ���b?���~��؏jr�ߨ��O���~��؏jr�_�)��ځ\�Wj���v ��:���.�\�Wj���v ���b?���~��؏jr�ߨ��O���~��؏jb�_��؏f�q�_�)�#ځ\�7�,���r�_�)��ځ\�Wj���v ���b?���~��b?�K ���b?���~��؏jr�_�)��ځ\�7�,���r�_�)��ځ\�Wj���v ���b?���~��b?�K ����Q|��~�b?���~e�؏hr�_�o�~P�@.�+5�~T;���JM���b�RS�G���o�Y�'u	�b�RS�G��د��Q�@.�+5�~T;���F��~R�@.�+5�~T;���JM���b�RS�G���o����8,�+r���8.�+3�~D;���JM���b�Qg���%���JM���b�RS�G��د��Q�@.�u�I]�د��Q�@.�+5�~T;���JM���b�Qg���%���JM���b�RS�G��د�Q�G���o����8.�+3�~D;���JM���b�RS�G���o�Y�'u	�b�RS�G��د��Q�@.�+5�~T;���F��~R�@.�+5�~T;���JM���b�RS�G���/Էb?�k ���b?���~��؏jb�_��؏f�q�ߘ��O���~��؏jr�_�)��ځ\�Wj���v ��:���.�\�Wj���v ���b?���~��؏jr�ߨ��O���~��؏jr�_�)��ځ\�Wj���v ��:���.�\�Wj���v �:��hV���b?���~��b?�K ���b?���~��؏jr�_�)��ځ\�7�,���r�_�)��ځ\�Wj���v ���b?���~��b?�K ���b?���~��؏jr�_�)��ځ\�7�,���b�_��؏f�q�_�)�#ځ\�Wj���v ��:���.�\�Wj���v ���b?���~��؏jr�_�o�~P�@.�+5�~T;���JM���b�RS�G���o�Y�'u	�b�RS�G��د��Q�@.�+5�~T;��M��̎�b�"G�Ɋ�b�2S�G���\LW�~|�����1���K�����_���b��>��(���?���nnn�ᷟ�|���n�������?�K��{�����x�ܽ�&=]��oK�w��燏�u?{�v���x�{z��~�D�������$���ځ�O�5<Hu�eu	<P�k���~�D��u���Z��gO�<P�k���~�D������n�e�����Wi�gO�<P�;���~�D��u!q�X5a�q�D�Y5Au	�U��UV;WM�:VMX�@\5q�X5a�q�ĨsՄ�5WM�:VMX�@\5q�X5a�q�ĩcՄ��U�f��%WM�:VMX�@\5q�X5a�i�ġ��	���&�̪	�K ��8u���ځ�j�Աj�j⪉SǪ	���&Jͪ	�K ��8u���ځ�j�Աj�j⪉SǪ	���&Jͪ	�K ��8u���ځ�j�Աj�j⪉SǪ	���&Jͪ	�K ��8u���ځ�j��}Մ͊�Ug�UF;WM��UT�@\5q�X5a�q�ĩcՄ��U��UV;WM��UT�@\5q�X5a�q�ĩcՄ��U��UV;WM��UT�@\5q�X5a�q�ĩcՄ��U��UV;WM��UT�@X5q��U߇Ѫ��U+WM�9VM�@\51�\5!u
�U��UV;WM�:VMX�@\5q�X5a�q�D�Y5Au	�U��UV;WM�:VMX�@\5q�X5a�q�D�Y5Au	�U��UV;WM�:VMX�@\5q�X5a�i�D�c�͎�UG�&LV��8s��0ځ�j�Աj�j⪉R�j����&N�&�v ��8u���ځ�j�Աj�j⪉R�j����&N�&�v ��8u���ځ�j�Աj�j⪉R�j����&N�&�v ��8u���ځ�j��}Մ͊�UE�U$;WM�9VM�@\5q�X5a�q�ĩcՄ��U�f��%WM�:VMX�@\5q�X5a�q�ĩcՄ��U�f��%WM�:VMX�@\5q�X5a�q�ĩcՄ��U��UR�@\5q�X5a�q�ĩcՄ��U��&lV��(3�&�.��j�Աj�j⪉SǪ	���&N�&�v ��(5�&�.��j�Աj�j⪉SǪ	���&N�&�v ��(5�&�.��j�Աj�j⪉SǪ	���&N�&�v ��(5�&�.��j�Աj�jҪ�C�U6+WM�9VM�@\5QjVMP]q�ĩcՄ��U��UV;WM�:VMX�@\5QjVMP]q�ĩcՄ��U��UV;WM�:VMX�@\5QjVMP]q�ĩcՄ��U��UV;WM�:VMX�@\5QjVMP]i�ġ��	���&��&�v ��8u���ځ�j�Ԭ���⪉SǪ	���&N�&�v ��8u���ځ�jbԹjB���&N�&�v ��8u���ځ�j�Աj�j⪉R�j����&N�&�v ��8u���ځ�j�Աj�jҪ�BǪ	�G�&��WM��8\5q�X5a�qՄw:NWM�9��y���G�&�˪ɕWM��/�7ϸj2��>��X5��/���>�������/?���O�������돽o��m�G�&��
O9k������s@��5�k�JM���ڷRS�F�����ԾQ�@�}u־I]����ԾQ�@�}+5�oT;k�
-�o4+�k�Ɯ�oB�@�}+5�oT;�k�JM���ڷRS�F���m�Y�&u	�ڷRS�F�����ԾQ�@�}+5�oT;�k�F��oR�@�}+5�oT;�k�JM���ڷRS�F���m�Y�&u	�ڷRS�F�����Q�F�����Ծ�@�}u־I]����ԾQ�@�}+5�oT;�k�JM���ڷQg��%�k�JM���ڷRS�F�����ԾQ�@�}u־I]����ԾQ�@�}+5�oT;�k�JM���ڷQg��%�j���k�(��ڷG�Ŋ�ڷ2S�F���-Է�7�k ׾���7�ȵo����jr�[��}�ځ\�6�}��r�[��}�ځ\�Vjjߨv ׾���7�ȵo���7�K ׾���7�ȵo����jr�[��}�ځX�6hj�dv־9j�HV׾���7�ȵo����jr�ۨ��M�ȵo����jr�[��}�ځ\�Vjjߨv ׾�:kߤ.�\�Vjjߨv ׾���7�ȵo����jr�ۨ��M�ȵo����jr�[��}�ځX�V�}�YqX�6dj�Dv׾���7�ȵo����jr�[��}�ځ\�6�}��r�[��}�ځ\�Vjjߨv ׾���7�ȵo���7�K ׾���7�ȵo����jr�[��}�ځ\��[��5�k�JM���ڷRS�F�����Q�F���m�Y�&t	�ڷRS�F�����ԾQ�@�}+5�oT;�k�F��oR�@�}+5�oT;�k�JM���ڷRS�F���m�Y�&u	�ڷRS�F�����ԾQ�@�}+5�oT;�k�F��oR�@�}+5�oT;k�
-�o4+�k��L���ڷQg��%�k�JM���ڷRS�F�����ԾQ�@�}u־I]����ԾQ�@�}+5�oT;�k�JM���ڷQg��%�k�JM���ڷRS�F�����ԾQ�@�}u־I]����Q�F�����Ծ�@�}+5�oT;�k�F��oR�@�}+5�oT;�k�JM���ڷRS�F���-Է�7�k ׾���7�ȵo����jr�[��}�ځ\�6�}��r�[��}�ځ\�Vjjߨv ׾���7���o���Mf�a�[����d�q�[��}#ځ\����y��c�}�{�Ǘ����s,��[�}?]��G�}�#_h־��ӏ������_��'�ۛ����
\��#�p���م���wO|����A���jrgW���ځ��U���Yq��5����rgW���ځ��Uj:��v wv���.�ȝ]���.�K wv���.�ȝ]����jrgW���ځ��5��쒺rgW���ځ��Uj:��v wv���.�ȝ]���.�K wv���.���]���.�ǝ]e���hrgר��K�ȝ]����jrgW���ځ��Uj:��v wv�:;��.���Uj:��v wv���.�ȝ]����jrgר��K�ȝ]����jrgW���ځ��Uj:��v wv�:;��.���U���E�}vv8:�(Vwv���.�ȝ]��uvA]����tvQ�@��*5�]T;�;�JMg��ήQgg��%�;�JMg��ήR��E�����tvQ�@��uvvI]����tvQ�@��*5�]T;�;�JMg��ήA��%�㰳����E�⸳��tv�@��*5�]T;�;�F��]R�@��*5�]T;�;�JMg��ήR��E���k���%u	�ήR��E�����tvQ�@��*5�]T;�;�F��]R�@��*5�]T;�;�JMg��ήBGg͊�ή!��%�㸳��tv�@��*5�]T;�;�JMg��ήQgg��%�;�JMg��ήR��E�����tvQ�@��uvvI]����tvQ�@��*5�]T;�;�JMg��ήP�:������Uj:��v wv���.���]���.�ǝ]c��.�K wv���.�ȝ]����jrgW���ځ��5��쒺rgW���ځ��Uj:��v wv���.�ȝ]���.�K wv���.�ȝ]����jrgW���ځ��5��쒺rgW���ځ��U���Yq��Uf:��v wv�:;��.���Uj:��v wv���.�ȝ]����jrgר��K�ȝ]����jrgW���ځ��Uj:��v wv�:;��.���Uj:��v wv���.�ȝ]����jrgר��K���]���.�ǝ]e���hrgW���ځ��5��쒺rgW���ځ��Uj:��v wv���.�ȝ]��uvA]����tvQ�@��*5�]T;�;�JMg��ήQgg��%�;�JMg��ήR��E�����tvQ�@��4�]2;;���]$+�;��Lg����q�Tuv�9������qg��9��W5?<o?k{���8��@O�������_>}}����?|��kww�����o�}�����O������>����������o������m������ޜ�k�^�ڼi���$-�wߒ�η�-D;�[8F�-R�@n�(5-T;�[8JM���R��A���c���!u	��R��A����ԴpP�@n�(5-T;�[8F�-R�@n�(5-T;�[8JM���R��A���c���!u	��2���ð�����A�⸅�̴p�@n������-����jrG�i�ځ��QjZ8�v �p�:[8�.���QjZ8�v �p����-����jrǨ��C��-����jrG�i�ځ��QjZ8�v �p���-E���-e���hrG�i�ځ��1�lᐺrG�i�ځ��QjZ8�v �p����-���K �p����-����jrG�i�ځ��1�lᐺrG�i�ځ��QjZ8�v �p:Z8hV�p���-e���hrG�i�ځ��QjZ8�v �p�:[8�.���QjZ8�v �p����-����jrǨ��C��-����jrG�i�ځ��QjZ8�v �p����u
��R��A����ԴpP�@l�(t�pЬ8n�s�p]���ԴpP�@n�(5-T;�[8JM���Qg��%�[8JM���R��A����ԴpP�@n�u�pH]���ԴpP�@n�(5-T;�[8JM���Qg��%�[8JM���BG͊��2��A���c���!u	��R��A����ԴpP�@n�(5-T;�[8F�-R�@n�(5-T;�[8JM���R��A���c���!u	��R��A����ԴpP�@n�(5-T;�[8F�-R�@l�(t�pЬ8n�(3-D;�[8JM���Qg��%�[8JM���R��A����ԴpP�@n������-����jrG�i�ځ��QjZ8�v �p�:[8�.���QjZ8�v �p����-����jbǠi��q��Q�h� Yq��QfZ8�v �p�*"Z8�{��c@��9��7�~]���G-�q����G���=|����y��,Oy}�
-�����-����/���{��p����!x�z�x�o�����{��>��~�D����r��~�D�������%>J�Ϟ����x�ܽ<8u�eu	<P�.��V�Ϟ�x�>^�^��G����������*u?{�v����v
RgY]��^��G������^�T������n���=Q;�c�y��[��G��r���U������n���=Q;�@�>�_���~�D���՗���Y~����.�����ɪ����������gO�<P�kx�8��ځW�n�k�wj΢���5�=Ju?{�v���]��T��'j��5\���=Q;������F��&u	�wF+5�F����J�;�Q�@|g�B�;�Ѭ8~g�1�;�	]���J�;�Q�@~g�R��hT;���Լ3��wFu�3��%���Լ3��wF+5�F����J�;�Q�@~g�Q�;�I]���J�;�Q�@~g�R��hT;���Լ3��wFu�3��%���Լ3��wF+t�ՠYq�V�̬� ځ�VcԹVC��k5J�Z
��k5J�Z
��k5J�Z
��k5F�k5�.��V�Ԭՠځ�V�Ԭՠځ�V�Ԭՠځ�VcԹVC��k5J�Z
��k5J�Z
��k5J�Z
��k5F�k5�.��V��}���a�V���V�b��Z�2�V�h�Z�P��j@]y�F�Y�A�y�F�Y�A�y�F�Y�A�y�ƨs���%��j���T;��j���T;��j���T;��j�:�jH]y�F�Y�A�y�F�Y�A�y�F�Y�A�q�ƠY�!��p�F�c�Ɋ�ef����f����εR�@^�Qj�jP�@^�Qj�jP�@^�Qj�jP�@^�1�\�!u	��f����f����f����εR�@^�Qj�jP�@^�Qj�jP�@\�Q�X�A��p�ƐY�!��x�F�Y�A�y�F�Y�A�y�F�Y�A�y�ƨs���%��j���T;��j���T;��j���T;��j�:�jH]y�F�Y�A�y�F�Y�A�y�F�Y�A�y�F�ok5����V�Ԭՠځ�V�Ԭՠځ�V�бV�f��Z�1�Z
�K ��(5k5�v ��(5k5�v ��(5k5�v ��u�Ր��Z�R�V�j�Z�R�V�j�Z�R�V�j�Z�Q�Z
�K ��(5k5�v ��(5k5�v ��(5k5�v ��u�Ր��Z�R�V�j�Z�B�Z
��k5��Z
��k5F�k5�.��V�Ԭՠځ�V�Ԭՠځ�V�Ԭՠځ�VcԹVC��k5J�Z
��k5J�Z
��k5J�Z
��k5F�k5�.��V�Ԭՠځ�V�Ԭՠځ�V�Ԭՠځ�VcԹVC��k5
-k5hV��(3k5�v ��(5k5�v ��u�Ր��Z�R�V�j�Z�R�V�j�Z�R�V�j�Z�P��j@]y�F�Y�A�y�F�Y�A�y�F�Y�A�y�ƨs���%��j���T;��j���T;��j���T;�j��2;�j9�j��8^�Qf�j�@^����V�ϱ�ռ{���õ������}�����jƑ�z�k5O7�}��/?}>X���>����<���K��õ�,�����w�w��������.F�.�.����,��ځ���,��ځ���,��ځ��bԹ�B��.J͂��.J͂��.J͂��.͂��.�̂��.J͂��.J͂��.F�.�.����,��ځ���,��ځ���,��ځ��"ԷP�@^pQj\P�@^pQj\P�@^pQj\P�@^p1�\p!u	��f����f�����4+�\�9\]y�E�YpA�y�E�YpA�y�E�YpA�y�Ũs���%�\��T;�\��T;�\��T;�\�:\H]y�E�YpA�y�E�YpA�y�E�YpA�y�Ũs���%�\��T;\:\Ь8^pQf\�@^p1�\p!u	��f����f����f�����R�@^pQj\P�@^pQj\P�@^pQj\P�@^p1�\p!u	��f����f����f�����R�@ZpQ�����0\pQ�XpA��x�E�YpA�y�E�o.������,��ځ���,��ځ���,��ځ��bԹ�B��.J͂��.J͂��.J͂��.F�.�.����,��ځ���,��ځ���,��ځ��b�,���q��ȱ��d��2���h�R���j�Q��K /�(5.�v /�(5.�v /�(5.�v /�u.����R���j�R���j�R���j�Q��K /�(5.�v /�(5.�v .�(t,��Yq��b�,��q���,� ځ���,��ځ���,��ځ��bԹ�B��.J͂��.J͂��.J͂��.F�.�.����,��ځ���,��ځ���,��ځ��"ԷP�@^pQj\P�@^pQj\P�@\pQ�XpA��x�Řs���%�\��T;�\��T;�\��T;�\�:\H]y�E�YpA�y�E�YpA�y�E�YpA�y�Ũs���%�\��T;�\��T;�\��T;�\�:\H]y�E�YpA�q�E�c�͊�ef�����R�@^pQj\P�@^pQj\P�@^pQj\P�@^p1�\p!u	��f����f����f�����R�@^pQj\P�@^pQj\P�@^pQj\P�@^p1�\p!u	���4+�\��D;�\��T;�\�:\H]y�E�YpA�y�E�YpA�y�E�YpA�y�E�o.������,��ځ���,��ځ���,��ځ��bԹ�B��.J͂��.J͂��.J͂��.͂��.�.HV/�(3.�v /�o��|�}���c����s�u.ח��~�p�ey}��_�}��~���_>��|������ӯ?}�������������O���O�_�����_?}�U{�~y��|�����p�]�V$�o�,����ɾ}(��ځ\$Sj�d�v ɔ�"��E2��"�K ɔ�"��E2��"��E2e�H�hr�̨�HF��E2��H�jr�L�)��ځ\$Sj�d�v Ɍ:�d�.�\$Sj�d�v ɔ�"��E2��H�jr�̨�HF��E2��H�jr�L�)��ځ\$Sj�d�v Ɍ:�d�.�T$S�^$C�}�8�d(Vɔ�"��E2���@]�H���P�@.�)5E2T;��dJM���"�Qg���%��dJM���"�RS$C��H���P�@.�u�H]�H���P�@.�)5E2T;��dJM���"�AS$#��H��Q$C��H����@.�)5E2T;��dF�E2R�@.�)5E2T;��dJM���"�RS$C��Hf�Y$#u	�"�RS$C��H���P�@.�)5E2T;��dF�E2R�@.�)5E2T;��dJM���"�BG�͊�"�!S$#��H����@.�)5E2T;��dJM���"�Qg���%��dJM���"�RS$C��H���P�@.�u�H]�H���P�@.�)5E2T;��dJM���"�Pߊd���\$Sj�d�v ɔ�"��E2��"��E2c�"�K ɔ�"��E2��H�jr�L�)��ځ\$3�,���r�L�)��ځ\$Sj�d�v ɔ�"��E2��"�K ɔ�"��E2��H�jr�L�)��ځ\$3�,���r�L�)��ځX$S�(��Yq\$Sf�d�v Ɍ:�d�.�\$Sj�d�v ɔ�"��E2��H�jr�̨�HF��E2��H�jr�L�)��ځ\$Sj�d�v Ɍ:�d�.�\$Sj�d�v ɔ�"��E2��H�jr�̨�HF��E2��"��E2e�H�hr�L�)��ځ\$3�,���r�L�)��ځ\$Sj�d�v ɔ�"��E2���@]�H���P�@.�)5E2T;��dJM���"�Qg���%��dJM���"�RS$C��H���P�@,�4E22;�d�E2$+��d�L���"�q�I��9�"ٻǀ"��s,E�[.��<^���?Q�ly}����kg��GK�������mml�}�����O�����_���O_~��/�>���_^���Z���>�����f���e�\��v\.��A�\�jr�@�)�ځ\.0�,��r�@�)�ځ\.Pj��v ���r�����r�K ����P|���r���e�\�hr�@�o�P�@.(5�T;��JM����r�RS.@��\`�Y. u	�r�RS.@��\�ԔP�@.(5�T;��F��R�@.(5�T;��JM����r�RS.@��\`Д��8,(r���8.(3�D;��JM����r�Qg���%��JM����r�RS.@��\�ԔP�@.u�H]�\�ԔP�@.(5�T;��JM����r�Qg���%��JM����r�RS.@��\��Q.@��\`Ȕ��8.(3�D;��JM����r�RS.@��\`�Y. u	�r�RS.@��\�ԔP�@.(5�T;��F��R�@.(5�T;��JM����r�RS.@��\ Էr�k ���r�����\�jb�@��\�f�q����\@�����\�jr�@�)�ځ\.Pj��v ��:��.�\.Pj��v ���r�����\�jr����\@�����\�jr�@�)�ځ\.Pj��v ��:��.�\.Pj��v �:�hV���r�����r�K ���r�����\�jr�@�)�ځ\.0�,��r�@�)�ځ\.Pj��v ���r�����r�K ���r�����\�jr�@�)�ځ\.0�,��b�@��\�f�q�@�) ځ\.Pj��v ��:��.�\.Pj��v ���r�����\�jr�@�o�P�@.(5�T;��JM����r�RS.@��\`�Y. u	�r�RS.@��\�ԔP�@.(5�T;�M��̎�r�"G��Ɋ�r�2S.@��\p�%�\�ϱ��=���c�i������r��ג�Gg������������@w�o4�������_~���_�c}�����n�9ѻ�����U/�\����ʤ�ɡ����=]�����ۏ�u?{�v���xy��;u?{�v�����z/���ځ���߼��8��x�n�p� ���ځ�v
��R�Ϟ�x�n�p��~�D���ջ�o�<9u�eu	<P�./��N�Ϟ�x�>^��=Q;�@}��<�Hu?{�v�����r�(�q��%�@ݮA�#�=1+�����*���	ځ�v�V�Ϟ����������gY]��n���8{�v���]�ժ�����n���8{�v�����r�"?��YV������l���ځ����I�1Ξ�x�>_����8{�v����s�����.��v
��cn�=Q;�@ݮ�N~���'j��5�Zu?{�v����v
���(�w@nwp�8��	ځ�v7V�Ϟ�x�>_�^���~�D�����o�>��q��%�@��<=Yu?{�v���x�}�s��ځ�v
�g�=Q;��B��v
�N�YT��u���G��gO�<P�k�}��~�D��u���U��'j~�^�k�qs9��x��]_^���=Q;�@}�\����=Q;�@}�<���GO̊����^���8s�et	<P�;x��~�D��u���[��gO�<P�[����~�D���ջ��:β���5��Ku?{�v���]�U~���'j��5�Xu?{�v��k����+5/�Gu	��;u�X����;u�X����;u�X����+5/�Gu	��;u�X����;t�<��/�w�x�<��/�Wj^,���/�w�x�<��/�w�x�<��/�w�x�<��/�Wj^,���/�w��~c�q�ͩc�����7���7V;�ߔ��7T�@�~s��~c�q�ͩc�����7���7V;�ߔ��7T�@�~s���7߇�����7+�ߜ9���@�~3��~#u
��7���7V;�ߜ:��X�@�~s��~c�q�M��~Cu	��7���7V;�ߜ:��X�@�~s��~c�q�M��~Cu	��7���7V;�ߜ:��X�@�~s��~c�i�M�c�
͎��7G��oLVn�9sl�1ځ���Ա��j���R������oN�o�v n�9ul��ځ���Ա��j���R������oN�o�v n�9ul��ځ���Ա��j���R������oN�o�v n�9ul��ځ����}��͊��7E��7$;�ߜ9���@�~s��~c�q�ͩc�����7�f�
�%�ߜ:��X�@�~s��~c�q�ͩc�����7�f�
�%�ߜ:��X�@�~s��~c�q�ͩc�����7���7R�@�~s��~c�q�ͩc�����7���olVn�)3�o�.����Ա��j���S�����oN�o�v n�)5�o�.����Ա��j���S�����oN�o�v n�)5�o�.����Ա��j���S�����oN�o�v n�)5�o�.����Ա��j���C��76+�ߜ9���@�~Sj��P]q�ͩc�����7���7V;�ߜ:��X�@�~Sj��P]q�ͩc�����7���7V;�ߜ:��X�@�~Sj��P]q�ͩc�����7���7V;�ߜ:��X�@�~Sj��P]i�͡�����o��o�v n�9ul��ځ����l������S�����oN�o�v n�9ul��ځ��fԹ�F���oN�o�v n�9ul��ځ���Ա��j���R������oN�o�v n�9ul��ځ���Ա��j���B���G�o�ܷߘ�8�~s��~c�q�
����?��3����h�
��m������_���������y��=��<m���'^��q�83&���	l�endstream
+xڅZ[��F~�_q����s�Ɨ�MF�fW��V{�(��Cڦ3@34�q~�V_�o�E#s�骮��ɞR�/{:f�q?�9��SپK�n����2�b8$y����×bwLΧ�Ӌ��w�������49�׫���|wxz����X�~���%?�6�D�~�Z�1�Ywӷ��n�f�m����?���1ɳBn��y��j�]�%�[����#�~K��6
dd�3������3��YRHea��"�0�K�	�����<�I
+޴�p�m^l���d���@Z
+���)K*ntx��ƚ�o�����������}6�uћ=���+���E�I��)�<9�:�t0�^ޚ+~�v����
�f�池�yɪBF�K�/�f�����O�9�0��*.�v����@�Ѵ3�*���RAc:���FF��U��?z���:1����B�+3�������8�)��,y��h�{����*d3Y�,9��K��_+ۼ2��˝�s�d�>��֍�O�&TuL�������yEx/���"E�Dߠ�Bc\QU ~]=`��z�	vi,��@<����S(�~ٟ�b��������?���Q̎�]hm<�C�aU�(�|��Ux���9;}^n�*��y�|^sYo�+��/O�44"�[;I�y�-&�TQɶ5OG�:��:5�_&��\���D��A:��q�$���f�cm$q���Ӡ�a��p��C��K|b��|��(�� %!���Iھ�&�k 1���2�����=8�x:������8�������~O $%o�o_�����^m��76�Tv>')�Uo��s.�m�,��oy�3�˽5�L�"M��U]/RY�uAEx�`�_��	j������Y-\�����Z��fhŲB˗����a��6����/�^�mt�?���b����u�)б�7ȷ��AA�ld%�!Xv�׷A)�bR��
���p��B��쎧�Hz�jյP����εnͪk�)q��ڹ��]�^r�'{�v�����L�8��Y
+8�^
�Mh�?�d��L�64H^�m���5&���2��aI���.ed�xxQ�>��t<
G7iV*8�DX��۳e���@ג	޶�x�du=��s�EI�"*T�;�##��r��o�Z�`�>,C
��|���
)�W�	�v}	�X6�U�S�@�+���9�˞ 86�Q�Hj[Z�����m|�Zg����LWq�Ɯ�y� ��-�/�T����I��p�	U�@�+4EZ�;[c��k�l��h�jwʓ"�k�Yc(\"ek� �M��e/0�/[�:4H?���8�4�5a�g�<�4��γ=��#��"�͝K&!�>���ܫ��PV��D�yMX�Kܰn�:)e���z6z0O
+����z��ߟL�L}χ�F=fő@��0��>0L�
/?á-�!�:j)�D$�v�r��;�L/#ۗ�F�n�$ыդu�B�V��M��
+w�(L!���(��a��n��:@=��f.�Lq��I[+jќ��k05]�>‚
ɞ��%��G���-�)�@K89����p���m�K`ȼͽbi<���w�`�*=��GO�/C,�5�D��� ��5&t�1F��P�M���+ي�[]>lZqZ��~9^�FSWH
Ӏ{�����Yp�8@A�;?�k�oܷ��p��L
+�E�G��������$h�H³���֢�,�����A��������T��eM	&���4LG�ܫ�DŽ�b2����{c`?�f�\jr�	dM�s�R]\Ue`�L��T�[���s�R>j�O[6��_j��w\l�h+��D\B�aS�-kdX�e�����OX�|*xLdK��,9���*����]��欌[��Q��GjE@I��
@��y��I�c��hL����ֆ��n�F�������u�s(��oҕr،�&����e<U&̽�$��U�Yu��<ĒSV/@�M�d�\$1s�	�z�6�
+�㆜D� ��R�#��*>r��rs\u�7[���ma�&Ӿ����{ݒ���PIUA��-�O��4]����9��g�^l�j��~F	�1Ն_���� !Kg:��O@ZԀ,Г��Nk_:�9�<B8��g�l�����8�dXf-#���+ʩ��ӈ*%枃wey-V�8�s�Meas�%r+����
+�­�G��Dc�h� K��rC)ʘ�%	�qBԒ�a�拗Z���,+����$1��}v��]EGš�v/+
+5��Z��Yk�p�<�a��[��f��^h�|٢�F��u��6������F�����{����/�x��&�_�u��l
��:K��G�
+-,�4��L�T�j���K��B+��|����
�e�����
S���dq��}�bN�%���[�b(墦�&ΐ@�d+ە�����pj(�����]�#�p`c�=TL�
yx�#)P��5'�9*P07�i�-䎎�Ol�{w坁�P�Q
+:*��W�ǧ���0�Kt������.��!���o�\��yB�endstream
 endobj
-879 0 obj <<
+2147 0 obj <<
 /Type /Page
-/Contents 880 0 R
-/Resources 878 0 R
+/Contents 2148 0 R
+/Resources 2146 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 734 0 R
-/Annots [ 882 0 R 883 0 R 884 0 R 885 0 R 886 0 R 887 0 R 888 0 R 889 0 R 890 0 R 891 0 R 892 0 R 893 0 R 894 0 R 895 0 R 896 0 R 897 0 R 898 0 R 899 0 R 900 0 R 901 0 R 902 0 R 903 0 R 904 0 R 905 0 R 906 0 R 907 0 R 908 0 R 909 0 R 910 0 R 911 0 R 912 0 R 913 0 R 914 0 R 915 0 R ]
+/Parent 2176 0 R
 >> endobj
-882 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [71.731 708.224 238.135 715.208]
-/Subtype /Link
-/A << /S /GoTo /D (install-perlmodules-manual) >>
+2149 0 obj <<
+/D [2147 0 R /XYZ 71.731 729.265 null]
 >> endobj
-883 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 708.224 537.983 715.208]
-/Subtype /Link
-/A << /S /GoTo /D (install-perlmodules-manual) >>
+1129 0 obj <<
+/D [2147 0 R /XYZ 71.731 718.306 null]
 >> endobj
-884 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 692.902 161.783 699.756]
-/Subtype /Link
-/A << /S /GoTo /D (modules-manual-instructions) >>
+278 0 obj <<
+/D [2147 0 R /XYZ 402.325 703.236 null]
 >> endobj
-885 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 692.902 537.983 699.756]
-/Subtype /Link
-/A << /S /GoTo /D (modules-manual-instructions) >>
+1130 0 obj <<
+/D [2147 0 R /XYZ 71.731 692.184 null]
 >> endobj
-886 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 679.95 197.778 686.804]
-/Subtype /Link
-/A << /S /GoTo /D (modules-manual-download) >>
+282 0 obj <<
+/D [2147 0 R /XYZ 288.867 651.159 null]
 >> endobj
-887 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 679.95 537.983 686.804]
-/Subtype /Link
-/A << /S /GoTo /D (modules-manual-download) >>
+2150 0 obj <<
+/D [2147 0 R /XYZ 71.731 638.721 null]
 >> endobj
-888 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [71.731 664.588 230.096 671.572]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl) >>
+2151 0 obj <<
+/D [2147 0 R /XYZ 71.731 601.54 null]
 >> endobj
-889 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 664.588 537.983 671.572]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl) >>
+2152 0 obj <<
+/D [2147 0 R /XYZ 71.731 601.54 null]
 >> endobj
-890 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 649.265 143.232 656.119]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-0) >>
+2153 0 obj <<
+/D [2147 0 R /XYZ 71.731 591.578 null]
 >> endobj
-891 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 649.265 537.983 656.119]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-0) >>
+2154 0 obj <<
+/D [2147 0 R /XYZ 92.154 575.802 null]
 >> endobj
-892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 634.257 217.961 643.168]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-1) >>
+2155 0 obj <<
+/D [2147 0 R /XYZ 71.731 560.694 null]
 >> endobj
-893 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 634.257 537.983 643.168]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-1) >>
+2156 0 obj <<
+/D [2147 0 R /XYZ 92.154 544.918 null]
 >> endobj
-894 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 621.305 178.839 630.217]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-2) >>
+2157 0 obj <<
+/D [2147 0 R /XYZ 71.731 526.885 null]
 >> endobj
-895 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 621.305 537.983 630.217]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-2) >>
+2158 0 obj <<
+/D [2147 0 R /XYZ 265.622 514.033 null]
 >> endobj
-896 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 608.354 187.426 617.265]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-3) >>
+2159 0 obj <<
+/D [2147 0 R /XYZ 89.664 501.082 null]
 >> endobj
-897 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 608.354 537.983 617.265]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-3) >>
+2160 0 obj <<
+/D [2147 0 R /XYZ 140.014 501.082 null]
 >> endobj
-898 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 597.46 160.956 604.314]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-4) >>
+2161 0 obj <<
+/D [2147 0 R /XYZ 71.731 499.674 null]
 >> endobj
-899 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 597.46 537.983 604.314]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-4) >>
+2162 0 obj <<
+/D [2147 0 R /XYZ 92.154 483.149 null]
 >> endobj
-900 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 582.451 198.315 591.362]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-5) >>
+2163 0 obj <<
+/D [2147 0 R /XYZ 71.731 470.098 null]
 >> endobj
-901 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 582.451 537.983 591.362]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-5) >>
+2164 0 obj <<
+/D [2147 0 R /XYZ 92.154 452.265 null]
 >> endobj
-902 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 571.437 209.653 578.411]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-6) >>
+2165 0 obj <<
+/D [2147 0 R /XYZ 323.544 439.314 null]
 >> endobj
-903 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 571.437 537.983 578.411]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-6) >>
+2166 0 obj <<
+/D [2147 0 R /XYZ 71.731 400.36 null]
 >> endobj
-904 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 556.548 255.401 565.459]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-7) >>
+2167 0 obj <<
+/D [2147 0 R /XYZ 92.154 382.527 null]
 >> endobj
-905 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 556.548 537.983 565.459]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-7) >>
+2168 0 obj <<
+/D [2147 0 R /XYZ 71.731 297.68 null]
 >> endobj
-906 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 545.654 150.635 552.508]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-8) >>
+2169 0 obj <<
+/D [2147 0 R /XYZ 107.646 286.885 null]
 >> endobj
-907 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 545.654 537.983 552.508]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-8) >>
+2170 0 obj <<
+/D [2147 0 R /XYZ 71.731 240.893 null]
 >> endobj
-908 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 532.583 154.161 539.557]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-9) >>
+2171 0 obj <<
+/D [2147 0 R /XYZ 360.606 230.098 null]
 >> endobj
-909 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 532.583 537.983 539.557]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-9) >>
+2172 0 obj <<
+/D [2147 0 R /XYZ 71.731 210.009 null]
 >> endobj
-910 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 519.751 239.291 526.605]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-10) >>
+2173 0 obj <<
+/D [2147 0 R /XYZ 71.731 171.154 null]
 >> endobj
-911 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 519.751 537.983 526.605]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-10) >>
+2174 0 obj <<
+/D [2147 0 R /XYZ 92.154 155.378 null]
 >> endobj
-912 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [95.641 504.742 271.65 513.654]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-howto) >>
+2175 0 obj <<
+/D [2147 0 R /XYZ 71.731 127.319 null]
 >> endobj
-913 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 504.742 537.983 513.654]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl-howto) >>
+2146 0 obj <<
+/Font << /F23 1013 0 R /F27 1020 0 R /F32 1027 0 R /F35 1185 0 R /F33 1116 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-914 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [71.731 489.534 109.369 498.421]
-/Subtype /Link
-/A << /S /GoTo /D (glossary) >>
+2179 0 obj <<
+/Length 2943      
+/Filter /FlateDecode
+>>
+stream
+xڍZے۸}�WL��Rj�&)R�͓���Jy�ֳ夲y�HH�d����i\�o�V�H���Ӎ����Kn6I�Y��t����h^�7G������.�ּ{|���ju��v�����&��h�n6�4����c����9K�.��<^�"��m�T��bG��]�L��UuM��}�ǫ�G';_m��vuU=\3�/]�lA���/�wQ���m��2��'.�OJ���-M�(���j��Z�xw<������Ǯ&��R��}��炜ɾ�+y1�+a��� ��d�_�񢦥y�|�jj>�^�ĩ�%_&�♝dS��oB����A�U��mH[�U��[�N�T�wsoM�O�h�o�a��U-x���<�=:�p05��cD�_������Z-
+Θ2���]���u&ȑ��[�(���9���e=��G��mAJ}qk���5rm�<Q�U�7:�h?��Ҳ�gҒFDű��&�`s���8�u P��lr8��������e/:R��I/����e��B��Z�%'�>���E��D��,{N�{r��b	+MNl�(]e=w�-l~3��7g"�ʄgeoˡ{L����v��I���|s~묪��:��+h-��z�K=k`�<�^e�`�A�Ƴ�`e�f$k��eS���l��H�*��wi��=�ʧ�φT�I�P�|�`��>�֋�'�4ڪ��6Y5��@̃Nh��EK��<&̮*
+�1yg�>ְٗ�wi�}jr
�hpP�jњ'*�ϕ<����Y�N�]��E�u��2���H���u���/<&�RF�)䅩
+��Dj���
+�O�Oe?�λ�<l��4r��E
+���ҮQ��5�Ն������%
+�ȝd���r��E��۬�{�ݖ�J��+&$a��*��9S~����8�l_��=0�2���ʱ�'{�(lɺ����U�W�WK�@���u��U�v�����H�y+�{Ԛ-*I琞�n�W����ܮP�o�`>�"��� ϳPp�UV<��QC~G1z�Fi�@�<�`�-�*W��Y�mV�k0��]xx��w� K����j4�>��r��ϔZ��<�aXA�m�n�,������3h:�)��e��ʤ�K|bT)_����U�(`�>�d=Ֆ��+�0��Ԫ�kM�p�2��2�l�8��Ot���
��^#o�n>���-�-����n���'4�ĚI�XK�+,3k_%1Wfᕮ�]�]Ǘ_30�D���E�X��Ȟ�X b��@�$)�D͡՟���0>&P	-I�2�ǝ�Y]��Ӳl�Є�SkF����3j�n���^��+��.���2A�.�A�	�I��(ڮ�^v��MfM��Bo��2�Y)J�=W\�z�+*��T���\�e�u_O4�d.��
+eY��l�7����43o%OdY �Iv�m��9�ƹ��DY�������P�a���|8��r}����tkl�
����$�c����!xQW.t7e`H����'�
u�V�.��6�;�a�Rc�g�8���w_�����\2�~����NkDY��J�WY�7T�~���o�Q�Խ��^�d���MDU_�%mq�r�bf߿��it���Se��8��G�^�O����Y���?��2�ffv��Y2������6>��@8 �ђ\�:�,���3��?j�Y��j�����/C��m<ABčj�������}z��O��~������6��O�{
+�d�C�&Z
؜qY..������
+㤂����" lz�+��������54��k�~��B艪Q��2��@�vgo���r¹�h�f����
�h�=�Y�"�bv��I������K����\�
����!��X�OW-2=$���F����u�5��K4��Y�������)�_AS��_'�18/l�>��bK�}��Ǘ��R��ZUHwLyvTΎXs]M�-W�ܑ�*�+���*,�M'|�*�Y:[���X�y3��3U���5��?5��$����t8��V���q`���H������F}�h\&����[z���%��`�x�Z���j��F�U�q
�Qu�>�ӧ	�(i5� ��[W���˱�v����瞫�G	��@(z��ԟW��2��'��ޤ������[���& ���Ԓu��� Sע"������R�6��~������9��M�;1Qـ�[���$Y�+2:)���:N��,)�C@O)`N��o����(�74G��\�Ɯ���'xU�����Ѽ����+
��������(o�y:�x�W$�q� hR��a8q��Fჾ8R˞ݽ;wH��(�]4�)�W�\���8���Q���S뤬2�����F������'�VՏ�����+�F���9Y�:�ѻC�_�ٺ��A�W�'�ƒ[�3�3�GN�,��&��������t#�B���$W�`�\#�Kt#��k$&���H�O4�pѝϼ��DB�N@��n8�Yf����n�29S���T�_�LW�� }jb��RO�qh�.N�SOz���#Wl�ѸYE�m��e�U�W���_��ZSV��A�N����y��
+�֕H��k�IxF���}�E`KV��n/B�y�����*� �cyR51��Ct�?�]��I��
��TeF�Fb�H/Té�i�26�4��ٰ���8� �첟����/��6�C��f�p�c��S�f�O�=�mfM�H�K�x��J#��9�%�F�9��"��O�H(��L��M{1�L5��_��)jI�u��m�ZƧ��
��1uHN�(�a�������_86�/�5S��m�=�t,�J<4�J�
+�,<X�T�@�w�&n�,���v��=�N��y��k:�V���m�P��>���0��j�(�Γ?8	�F�ds���aU�n�q�({���?���?̷��endstream
+endobj
+2178 0 obj <<
+/Type /Page
+/Contents 2179 0 R
+/Resources 2177 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 2176 0 R
+>> endobj
+2180 0 obj <<
+/D [2178 0 R /XYZ 71.731 729.265 null]
+>> endobj
+2181 0 obj <<
+/D [2178 0 R /XYZ 71.731 718.306 null]
+>> endobj
+2182 0 obj <<
+/D [2178 0 R /XYZ 124.545 685.031 null]
+>> endobj
+2183 0 obj <<
+/D [2178 0 R /XYZ 74.222 655.442 null]
+>> endobj
+2184 0 obj <<
+/D [2178 0 R /XYZ 92.12 632.528 null]
+>> endobj
+2185 0 obj <<
+/D [2178 0 R /XYZ 71.731 612.438 null]
+>> endobj
+2186 0 obj <<
+/D [2178 0 R /XYZ 71.731 586.536 null]
+>> endobj
+2187 0 obj <<
+/D [2178 0 R /XYZ 92.154 570.76 null]
+>> endobj
+2188 0 obj <<
+/D [2178 0 R /XYZ 89.664 544.857 null]
+>> endobj
+2189 0 obj <<
+/D [2178 0 R /XYZ 71.731 542.7 null]
+>> endobj
+2190 0 obj <<
+/D [2178 0 R /XYZ 92.154 526.924 null]
+>> endobj
+2191 0 obj <<
+/D [2178 0 R /XYZ 71.731 511.816 null]
+>> endobj
+2192 0 obj <<
+/D [2178 0 R /XYZ 92.154 496.04 null]
 >> endobj
-915 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 489.534 537.983 498.421]
-/Subtype /Link
-/A << /S /GoTo /D (glossary) >>
+2193 0 obj <<
+/D [2178 0 R /XYZ 71.731 467.98 null]
 >> endobj
-881 0 obj <<
-/D [879 0 R /XYZ 71.731 729.265 null]
+2194 0 obj <<
+/D [2178 0 R /XYZ 92.154 452.204 null]
 >> endobj
-878 0 obj <<
-/Font << /F32 747 0 R /F27 740 0 R /F33 834 0 R >>
-/ProcSet [ /PDF /Text ]
+2195 0 obj <<
+/D [2178 0 R /XYZ 71.731 424.145 null]
 >> endobj
-935 0 obj <<
-/Length 4512      
-/Filter /FlateDecode
->>
-stream
-xڍ�M�G��~�,兒����B"v6��68,C��I)���ɩ|�\���e�-����4��O���5���H�}{���7�����ӛ�^����lK����ݶ��q�O�^,������qY��)ݷ����NeZӲޟ�����o_�[�����+����>���O�~���������Q����H���%��'�^ܔ�?��⾾x
q��5����mz��_����7?���������?������#�xASZ�G�ا?�X�b���M�^�1�u�z��rʦ�u�5�l��v��`G��ur�r;Pu��i�}��@��k�1�%����z�j3�Q״�Zn�v��S��f��v��`G͏����Zn�^�˔��S��v���ǐ���r;Pu���ǐ�,O-�U;j~���ہ�����txj�e��k�?�Zn�v�{�W-�U;���_�ϧS��eN����-��`G�����v��`G��`[L��T��)�VS-�U��5?��T�-��`G͏a��j��:�Q�c��7�z;Pu����0�j��:x���4=̷�z�j3�Q״�N��:�Q�i�]��T���<����v��ൺ�ǰ�o8���f����ps�r;Pu����`�$QN��u��V�
��P�V��,�ZoYm;j~��6Wo�v��&W-�U;�n�m��T�V�)=���z�j3�Q�t�]��T�[�7����@�����f���ہ������T�-��`G͏a5����@�����b���ہ��5?��U��@��k���d���[V�����i~��/�:ޖ�_��Ӂ(s�H�a��������:M�ؽ���E��kZ�Zn�v����T��@������f��v���:�ǰ�j�e���1,���ہ��5?��n��v��`G͏ar�r;Pu�Z]��?�7��e��k���Zn�v�-����ہ���H��a��v��ൺ��`��TN�Թ����c��H����f�,�T;j~�����U��[~���[V������l���ہ��5?�!�v��`G=��p�r;Pu�Zݦt?�7���f���iv���U;��wW-�U;j~��Wo�^���n�M�e���1��Zn�v���=��T��1�?!�Ӂ)s�䞟��~SN�Թ����v��`G��f~�$n�v�#M���ہ����1����Iܲ�v�5M��N�v��`G͏as�r;Pu����`~�$n�^���VS���6�5?��|���U;j~��N�v��`G͏ar�r;Pu�R�MS�=����E��Kz����U;�n���ہ��uO�o
-�Ӂ)s�䜟�����6�5?��U��@������m1�r;Pu���`~�$n�^�K~���[V�����|3�r;Pu����`~�$n�v�=W-�U��uJ����-��`G]�a~�$n�v�-�wW-�U;j~��6Wo�^���̏��-��`G͏au�r;Pu����`��TN��u��̏������ku���&��f���g`~�$n�v�--��N�v��`G��~�j��:x��?5>��\�e��K�͏���@�������v��`G͏���I�T�V��̏��-��`G͏aq�r;Pu����`~�$n�v��̏���@��k���lq�j3�Q�tw�ϧS�:�f��'q;@u���龻j��:x�>�30?|��6�5?��'q;Pu����ps�r;Pu����`~�$n�^�۔��h�-��`G͏av�r;Pu����`~�$n�v�=m��3��@��ku��dq�j3�Q���>�ہ��uK��U��@�����L��@��kuɏ���SN�Թ����$?�H�����D�P��\����
|�-���gX�4��]����0�z�=Зa�/��V,~���O��t�/�POʗjX�_������ׯ>|1������#��ryz���p�/}���|��՟a�����_��Q�A�-5�lTu��lK�0U�0�Q�0��f��lK�0U�0�R#�FU1̶�f�)sf;�f�r�m�f���f[j�٨� �ٖa6�:�a���a6�� �ٖa6�:�a��F���r�m�f���f;�f��r�m�f���f[j�٨� �ٖa6�:�a���a6�� �ٖa6�:�a���0M��0�2#�FT9�v�3�&��0�R#�FU9̶��Q�A�-5�lTu��lG=�lR�A�-5�lTu��lK�0U�0�R#�FU9�v�3�&��0�R#�FU9̶��Q�A�-5�lTu��lG=�lR�A
-�-���(��0�k����q�m�f#��f�s�
j;�a��F���r�m�f���f[j�٨� �َz�٤6�f[j�٨� �ٖa6�:�a��F���r���g�Mj3�a��F���r�m�f���f[j�٨� ��a6�:�a�E�0I��0�2#�FT9̶��Q�A���Im9̶��Q�A�-5�lTu��lK�0U�0�Q�0��f��lK�0U�0�R#�FU9̶��Q�A���Im9̶��Q�A�-5�lTu�l�a6�2�a�CF�M��q�m�f#��f[j�٨� �ٖa6�:�a���a6�� �ٖa6�:�a��F���r�m�f���f;�f��r�m�f���f[j�٨� �ٖa6�:�a��>�٠��f[j�٨� �ٖa6�:�a���0M��0�1�0��f��lK�0U�0�R#�FU9̶��Q�A���Im9̶��Q�A�-5�lTu��lK�0U�0�Q�0��f��lK�0U�0�R#�FU9̶��Q�A���Im9̶��Q�A�-���h��ٖa6�:�a���a6�� �ٖa6�:�a��F���r�m�f���f;�f��r�m�f���f[j�٨� �ٖa6�:�a���a6�� �ٖa6�:�a��F���r�m�f���f;�f��b�m�5�FS�8̶���A�-5�lTu��lG=�lR�A�-5�lTu��lK�0U�0�R#�FU9�6��0�v��lK�0U�0�R#�FU9̶��Q�A���Im9̶��Q�A�-5�lTu��lK�0U�0�A#�&S�0̶�f#)sf[f�و� �����
-��u�0�e=w����h������av=)a�:�����?|���7X|���l_Ԓ�	��b?�sx��7?�������o~���7?������ �sK�o~���7?7����v�{K��U���R��GU����h�Q�An��l�Im����h�Q�An�-5{Tu{��=�2Ǎ�c��=�� 7���=�:ȍ��Fc��rco��أ����;��ؓ�rco��أ����[j4��� 7���=�:ȍ����=�� 7���=�:ȍ��Fc��rco��أ����;��ؓ�rco��أ����[hm�є9n�-3{Du�{G={R�An�-5{Tu�{K��U���R��GU��wԳ�'����R��GU����h�Q�An�-5{Tu�{G={R�An�-5{Tu�{K��U���R��GU��wԳ�'����2Kc���1l�-�6�(�7���=�:ȍ��>7������[j4��� 7���=�:ȍ��Fc��rc�gcOj3ȍ��Fc��rco��أ����[j4��� 7��z6��6���[j4��� 7���=�:ȍ��Fc��bc��ؓ�s��[dm쑔9n�-3{Du�{K��U���Q�ƞ�f�{K��U���R��GU����h�Q�An��l�Im����h�Q�An�-5{Tu�{K��U���Q�ƞ�f�{K��U���R��GU�����أ)s��;d4�D�7���=�:ȍ��Fc��rco��أ����;��ؓ�rco��أ����[j4��� 7���=�:ȍ����=�� 7���=�:ȍ��Fc��rco��أ�����scj;ȍ��Fc��rco��أ����[hm�є9n��l�	m����h�Q�An�-5{Tu�{K��U���Q�ƞ�f�{K��U���R��GU����h�Q�An��l�Im����h�Q�An�-5{Tu�{K��U���Q�ƞ�f�{K��U���Bkc���qco���#����;��ؓ�rco��أ����[j4��� 7���=�:ȍ����=�� 7���=�:ȍ��Fc��rco��أ����;��ؓ�rco��أ����[j4��� 7���=�:ȍ����=�� 6�Z{4e�{ˌ�Q���R��GU��wԳ�'����R��GU����h�Q�An�-5{Tu�{C}n�Am����h�Q�An�-5{Tu�{K��U���Q�ƞ�f�{K��U���R��GU����h�Q�Al�4{2u{���=�2Ǎ�eFc��rc�Oĭ�_Gi�_&��ƾ�:��{�9hY7��oG:��|A����/h]?�MWO>����^��LH�ڪa*endstream
-endobj
-934 0 obj <<
-/Type /Page
-/Contents 935 0 R
-/Resources 933 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 734 0 R
-/Annots [ 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R ]
+2196 0 obj <<
+/D [2178 0 R /XYZ 92.154 408.369 null]
 >> endobj
-937 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [71.731 677.798 178.55 686.71]
-/Subtype /Link
-/A << /S /GoTo /D (upgrade-cvs) >>
+2197 0 obj <<
+/D [2178 0 R /XYZ 71.731 362.376 null]
 >> endobj
-938 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 677.798 537.983 686.71]
-/Subtype /Link
-/A << /S /GoTo /D (upgrade-cvs) >>
+2198 0 obj <<
+/D [2178 0 R /XYZ 71.731 336.473 null]
 >> endobj
-939 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [71.731 664.847 199.292 673.758]
-/Subtype /Link
-/A << /S /GoTo /D (upgrade-tarball) >>
+2199 0 obj <<
+/D [2178 0 R /XYZ 71.731 321.529 null]
 >> endobj
-940 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 664.847 537.983 673.758]
-/Subtype /Link
-/A << /S /GoTo /D (upgrade-tarball) >>
+2200 0 obj <<
+/D [2178 0 R /XYZ 74.222 270.785 null]
 >> endobj
-941 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [71.731 651.896 189.05 660.807]
-/Subtype /Link
-/A << /S /GoTo /D (upgrade-patches) >>
+2201 0 obj <<
+/D [2178 0 R /XYZ 92.154 247.871 null]
 >> endobj
-942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [528.02 651.896 537.983 660.807]
-/Subtype /Link
-/A << /S /GoTo /D (upgrade-patches) >>
+2202 0 obj <<
+/D [2178 0 R /XYZ 317.198 221.968 null]
 >> endobj
-936 0 obj <<
-/D [934 0 R /XYZ 71.731 729.265 null]
+2203 0 obj <<
+/D [2178 0 R /XYZ 71.731 206.859 null]
 >> endobj
-10 0 obj <<
-/D [934 0 R /XYZ 235.902 703.236 null]
+2204 0 obj <<
+/D [2178 0 R /XYZ 92.154 191.083 null]
 >> endobj
-933 0 obj <<
-/Font << /F23 733 0 R /F27 740 0 R /F33 834 0 R >>
+1131 0 obj <<
+/D [2178 0 R /XYZ 71.731 153.061 null]
+>> endobj
+2177 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F44 1402 0 R /F35 1185 0 R /F27 1020 0 R /F32 1027 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-948 0 obj <<
-/Length 2162      
+2207 0 obj <<
+/Length 1976      
 /Filter /FlateDecode
 >>
 stream
-xڭY[���~��P��� ����3O&�q�֊S�$
����V���ɯ�s�4ȻΦ\eݜ�w�s��g��g�8ܭ�'9��6��՛hv���7�ٱ�n�$M�zbq��w�a��-{�oV��,��mz�ONK���vv,�<^ȵ�b�Lv� ��ی���<^��WO-+��_�?+��.L��F�=	��NɋC+�_�q�
-v�a��i�Di������k#+���YFw�ۊ֍��Os�u��?�4��1���IE������U�6�/�̓4 ���H}h��eeI���,C�ۆ��v��B�mkB��ڢC�3tjk�>PQ1)���3gA��:>�p�M��	��A�R+�9L��;9'��օJy?���l�'o���_��;Aͣ�@�H�]n�W?��֒�?��8����e���ТoJ�X������v����d�b�5Jjg�G~jnC"�
-�e�LYs�W�	�s=�t� 6ti��Ʌ�=�����,9*2�����.
-(>yi���=H�Y��|EL�����3��Rge�<V�e[�X2��7<:rY6P��,�o���0�?vϲ�I�O�|A���+��bP��ެ�a�9|U���Uݾ ��	h����{�'�z��=c7����x���s��:���Z*H��P�:�H��z��MX���з��zǀ�̢�X���� YqpW�~�j�������_@'���	��j�@���1�����"I���Q�iP�*��""h9�i�i?0�c$K�*������܂�d�d����T���R��4��Kf�4�)��"��EYr�������ƭ������2#�-�c��c�������y[��^J�*�nM��V�#� 9��ZM|1�ș�&�W��ja��J�����D4�k#67tXZ좧��a�≮T�ﵔ��w�(��g�u}%�zN�+5�U�l>��fMk����E^�܁:/��s�3R��!բ�u��kB/�~2O� ԛ>�Sj�6D�*H�0��������{Ri6�15��mIl�/�^�,�3
-�L^x[�w4C4KJ-�v�[@EP�&���l �m����:精��0���`^X�����;��������N%�@0�+Z���<
zV�m7�fB[̦=
-p�j�=b	�����lH�n\��G,�L�$�R"l�t��5C��hW��҂*lᖡ�G�U��7K�SPz[6����>Cc�S4HG���tZ`nC^&
��8��9Jc�Yʖ=�{�"@ʲ��kɱT�
FU�ϖ6Gԑ9�"#���b1�8I��\G@�����”0>�<�-���ye4�@��$?M��_����e�V�%����!�BHTWk��t=�dA荺���:���SH�h�Q{�!RBΧ�q�H��-'����p4���\�$H��D5bv��u�T^acs�J���`]��^���<݇x�S�WC��E��-S��LE�Po���\�w|"�HyoH�zGf&��%!���9TYh/H�S�Q���g�t��QM*�'�ܧ%�px���*�i��u�)<��Z]�6�C��<g�‡���,��3I���!�9�ݺFa@�C�"����	s�|�9)���I���ˌ��y�6���4��W���BC�:�P&1LB�s�&�/4��3��"��}���Q�jjx�”�6ΟK�_x/�Z�����,i[+>0s��ᥩ���Oo4�;h/4V�ޱF��zߝ�Dct�n4k8/�*�`��|
-��\��3��r���6����џ�Y��@7.����A1������l�����p��D,�u�|q��;:���R���}dO3�������rTɬ�k���c~�ae7Z�����ᗤ>��]���0�>Q�z�=��d	���>J+0Ұ���Br����ϳ���!�+x�^�MA�m��"aOxNJ&{��
���
l�����
F��8Ѥ�4"KE����O��I3x�}`��T�zT�6��([?�Y���|61}V��\4���rj��-A�X�X�4>���ں�_E�u_�;�P�_�7�?
,~���]�/���:��^E��0�s+�	+X�#��]u}�u��WR3���7���r���l��>�M~�4;������5�t���IQ3�����h���3�endstream
+xڍXY��6~ϯ0�R�Y�%�-I�@7� (�>p-�V]Q�]��wHI�[,��A�|sT8�/��!Ic��rm�پ~̎���7!�X㒵��������x��|�v��&H�4�H�D�]���É�;�.�Q,b��uٔ���Q?z�/��񟲪���/o>��$NI��w�5|Q<S��h��n2�/&��f�/B��+��]�	G�ِx��r��:�I��VD�B>�6)��;1}�;о�<EZh�2����F��zb�v̅���[D���M��������3���+�����Ft��<Gk/��5
+|�g�����܍�8��&I����2J��0Y���lh��$`5-+i�45�H�B��eB��%7"�B�,�`��b��B��E6�J�sL���]�@&��.X�:6�s(��|Ĺ���VF���H?�6��F%"�pz\&Z6����^Jq��W�Fl�f�h*yCH�(�lے��+�o����[WQv�%ʓ���eb{}�R��9׿J}Q�G�#�ɳL|'�G7��h;8�J��4W���(��r_�o
+��ϲr!�/�"��gE�9�2\k4w�d����N9�ѧ3��k!|�d���^V?��|���=oX��{t�pœ�/��.&�bd���r�!�_�?��IOi����e.�D`%W���$����uS�O�
�B��~���A�p�C���t�
٤�����aRċK&_ⰵ���J��Pz���Ӟ����hA�K��]�ˢq[���<^PLU�l�u�iAz��S�O?���l�=��5������d��Ȯ�W�{�#���	x
+QҖ5�-C�>B��#�VR:c�p=��W�t�
+|V\�[H���.cn:�ˍ�G)�����4a��W��H�����	 \��U]Y3T
���L3=q/(
7c��iI��	gq�@���I�^���hR�%�H��Nte9�n7�t��n�rW�H����1�6g�f�%�8�!>��ŝ,ff�q���ż��g��%�j4�:K��M���+
+�H�O�Wҁ�K3���й57C�K������������=+u����S����L���
+���,�P-dP�U��j��
+:z�[]����4�i���벛+ew�H�k���
+��	"d#q;���q��8"_$j����a�*�y �_�Z-���.�p�^�+��Ɖ����,��T��ڢ�O�h��>)��d�dE��7��I��ԩ�_Oee��&#q
�:H=�ˁ2,�"+��6�@*v����n���I�J��S�G�'N}�Uܹ�2p������zu�:�4{�Q#�jxrp�ɁM!QK�*kqtT���Q���5�2�I�ϑ"�t��Q��&��������2zߍ�]o��%jߢ(~Pd)Rx���p.o���,Yq�ڑK1�ښ�������ز�{u�Džɇ b���6Z	t�ĺ<\Fr\q����醛��/��7��)y��I��|�(O<iy)/��͆/��7����`�3ۗ�9{��xD��V�&�+�$]�Ik��<g����_�Q"~.���x��caN�v0�r��Mӿj�� *�VW�TŨLJ��?�����)��x��G|���3�$���Zc�Q�ƒQr#Ͳ��v��۶<����ӳ
_�*C@@z��Z"�l���`k�e���Ȕ����Ŗa�^ka�k��}e[��� e�h%!F�z6�FG^\hr���?҅YF�4�a�.�T�x�}M�i�!	s3�����o�1+�vf����lu�˘ۻJЍ]
�(C*����g(��,���a�	����-���`��n�7�B���4r�Fh�ǒ�dH+OU��^�S�&����i5�`�S���%��nL�B�=�nI��=&.MG_�9mZ����N��?@�vG��j��ۡ�����6G6�U�_^-�9�v���\�;Y���P�L�S'���Q�=���y��_�m�^endstream
 endobj
-947 0 obj <<
+2206 0 obj <<
 /Type /Page
-/Contents 948 0 R
-/Resources 946 0 R
+/Contents 2207 0 R
+/Resources 2205 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 734 0 R
-/Annots [ 952 0 R ]
->> endobj
-952 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.071 582.727 438.149 590.748]
-/Subtype /Link
-/A << /S /GoTo /D (gfdl) >>
->> endobj
-835 0 obj <<
-/D [947 0 R /XYZ 71.731 718.306 null]
+/Parent 2176 0 R
 >> endobj
-14 0 obj <<
-/D [947 0 R /XYZ 350.659 703.236 null]
+2208 0 obj <<
+/D [2206 0 R /XYZ 71.731 729.265 null]
 >> endobj
-836 0 obj <<
-/D [947 0 R /XYZ 71.731 692.504 null]
+286 0 obj <<
+/D [2206 0 R /XYZ 269.758 705.748 null]
 >> endobj
-18 0 obj <<
-/D [947 0 R /XYZ 285.389 651.159 null]
+2209 0 obj <<
+/D [2206 0 R /XYZ 71.731 705.533 null]
 >> endobj
-949 0 obj <<
-/D [947 0 R /XYZ 71.731 638.721 null]
+290 0 obj <<
+/D [2206 0 R /XYZ 283.793 666.375 null]
 >> endobj
-950 0 obj <<
-/D [947 0 R /XYZ 71.731 627.443 null]
+2210 0 obj <<
+/D [2206 0 R /XYZ 71.731 656.01 null]
 >> endobj
-951 0 obj <<
-/D [947 0 R /XYZ 71.731 617.481 null]
+2211 0 obj <<
+/D [2206 0 R /XYZ 71.731 618.191 null]
 >> endobj
-953 0 obj <<
-/D [947 0 R /XYZ 71.731 577.746 null]
+2212 0 obj <<
+/D [2206 0 R /XYZ 71.731 603.247 null]
 >> endobj
-837 0 obj <<
-/D [947 0 R /XYZ 71.731 546.646 null]
+2213 0 obj <<
+/D [2206 0 R /XYZ 71.731 542.54 null]
 >> endobj
-22 0 obj <<
-/D [947 0 R /XYZ 191.962 503.549 null]
+294 0 obj <<
+/D [2206 0 R /XYZ 264.312 503.167 null]
 >> endobj
-954 0 obj <<
-/D [947 0 R /XYZ 71.731 494.726 null]
+2214 0 obj <<
+/D [2206 0 R /XYZ 71.731 499.975 null]
 >> endobj
-955 0 obj <<
-/D [947 0 R /XYZ 71.731 448.949 null]
+298 0 obj <<
+/D [2206 0 R /XYZ 224.863 468.697 null]
 >> endobj
-956 0 obj <<
-/D [947 0 R /XYZ 71.731 405.113 null]
+2215 0 obj <<
+/D [2206 0 R /XYZ 71.731 460.059 null]
 >> endobj
-838 0 obj <<
-/D [947 0 R /XYZ 71.731 348.326 null]
+2216 0 obj <<
+/D [2206 0 R /XYZ 71.731 421.708 null]
 >> endobj
-26 0 obj <<
-/D [947 0 R /XYZ 216.752 305.229 null]
+2217 0 obj <<
+/D [2206 0 R /XYZ 71.731 416.727 null]
 >> endobj
-957 0 obj <<
-/D [947 0 R /XYZ 71.731 296.406 null]
+2218 0 obj <<
+/D [2206 0 R /XYZ 89.664 395.969 null]
 >> endobj
-958 0 obj <<
-/D [947 0 R /XYZ 71.731 263.58 null]
+2219 0 obj <<
+/D [2206 0 R /XYZ 71.731 393.813 null]
 >> endobj
-959 0 obj <<
-/D [947 0 R /XYZ 290.161 252.785 null]
+2220 0 obj <<
+/D [2206 0 R /XYZ 89.664 378.037 null]
 >> endobj
-960 0 obj <<
-/D [947 0 R /XYZ 86.396 239.834 null]
+2221 0 obj <<
+/D [2206 0 R /XYZ 71.731 375.88 null]
 >> endobj
-961 0 obj <<
-/D [947 0 R /XYZ 71.731 226.882 null]
+2222 0 obj <<
+/D [2206 0 R /XYZ 71.731 360.936 null]
 >> endobj
-964 0 obj <<
-/D [947 0 R /XYZ 71.731 206.793 null]
+2223 0 obj <<
+/D [2206 0 R /XYZ 242.218 351.436 null]
 >> endobj
-965 0 obj <<
-/D [947 0 R /XYZ 401.7 195.998 null]
+2224 0 obj <<
+/D [2206 0 R /XYZ 440.363 328.124 null]
 >> endobj
-966 0 obj <<
-/D [947 0 R /XYZ 71.731 175.909 null]
+2225 0 obj <<
+/D [2206 0 R /XYZ 71.731 258.983 null]
 >> endobj
-967 0 obj <<
-/D [947 0 R /XYZ 174.215 152.162 null]
+302 0 obj <<
+/D [2206 0 R /XYZ 207.755 223.516 null]
 >> endobj
-968 0 obj <<
-/D [947 0 R /XYZ 400.723 152.162 null]
+2226 0 obj <<
+/D [2206 0 R /XYZ 71.731 214.879 null]
 >> endobj
-969 0 obj <<
-/D [947 0 R /XYZ 252.032 139.211 null]
+2227 0 obj <<
+/D [2206 0 R /XYZ 71.731 186.555 null]
 >> endobj
-970 0 obj <<
-/D [947 0 R /XYZ 468.03 139.211 null]
+2228 0 obj <<
+/D [2206 0 R /XYZ 260.302 160.751 null]
 >> endobj
-971 0 obj <<
-/D [947 0 R /XYZ 250.369 126.26 null]
+2229 0 obj <<
+/D [2206 0 R /XYZ 295.689 147.8 null]
 >> endobj
-972 0 obj <<
-/D [947 0 R /XYZ 466.356 126.26 null]
+2230 0 obj <<
+/D [2206 0 R /XYZ 71.731 127.71 null]
 >> endobj
-973 0 obj <<
-/D [947 0 R /XYZ 252.032 113.308 null]
+2231 0 obj <<
+/D [2206 0 R /XYZ 71.731 114.759 null]
 >> endobj
-974 0 obj <<
-/D [947 0 R /XYZ 480.762 113.308 null]
+2232 0 obj <<
+/D [2206 0 R /XYZ 71.731 109.778 null]
 >> endobj
-946 0 obj <<
-/Font << /F23 733 0 R /F27 740 0 R /F38 963 0 R /F33 834 0 R >>
+2205 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R /F44 1402 0 R /F48 1414 0 R /F32 1027 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-977 0 obj <<
-/Length 1834      
+2235 0 obj <<
+/Length 2945      
 /Filter /FlateDecode
 >>
 stream
-x��X[o�6~��а���I]�b[nm��Ö�����Z%Q��d�ߡH��Y�a(RS���|�|�|������I�B/+G���'�G�JL��tC�l6:~E���4����Aay1%(	�7[|��X���LI�12��s�*����Ƭ^���O>ήG���nHc�&�Iל��7�}s!�	�Aйvug?��,&���X��"��ops�����*�Jq���}�$���)�i�7��y�T��"W��Xa
�jٲ%o��u]p��]A:�D�Xf�v���:���E�@� 'SLPj����%�%N�n����s�X-�L��~��d�@��z8F�:w�1��a��@c���%���c#ٰ�`F�����"r�m�y��BLH��.W�ഃ̥�WB���E��"����T6ۇ��?�����Jܹ��Ň�G��r�+��I?H8�jy��h܅��\d�jŲO i}����	���V���>>էd뢲J�n�͢i�v��4:ԣi�Sf�&Yauq}�O�0W�J�O�0k������2�4�e[���B7Т��:�g��c<��?c�jDe��E�u�����|U��@�C��eW����w_����>��yfVo؆��$��I�}貂�/G���֘��������2[*o�Z��^sy��2� e�T7��J�V��&����ka�݈y���Z�a��}���g����J�ū4��Ɲ�lCY�s֖�J�HH�h6���iJ�A$ʝ���ku}�*�����Ӣ=�X���=�6�E�`����s.�]�@���j2VsT��"�P)�BE|��(�=!�X��7'��n�or���R?�㧵�iAm�,�5r�	��U?�`�H��y��[P�SΗ+��ƚv	�A��}�T���4p�o��43���p��°��⋯���"kK�Y�L�2����F׎͆0���u��Z��'hr;ep'
-='��C�W3k���<�=�-B���ȷ#�7�����c��)Dm���A,u��I�.>�>|��P�둏h�x��NS�Q���.F�G�?cǀym�����ģ)E�Aۭ�r�N�N8��BHM}�x��7�u���P�c�4����ݖkp�4]�S:��N.��:o����D����j��/�	$(�h#�ĆY23���J�@2:�)N��(�E��E�–(T?�K[����Y5�8!��FG����3�
H�	M��N�����[�umt*P�c��7�>{��P�G���d^��
-'��Ċ�Nhϔ!s�'nͅ����f�b�g����s	>�4l����`r
-�Z���P����2{&!$�X����~-VBh���'[��*`m�u��s�˾55�t�u��iD�PG��ԧ��uѷ@	)�<>��5�H�B�H����eyZ[Ȼ�̖��۰�ݱe��,�0��*W�7������z�O���E��^��MH�a��%ϔp��b�-|�*�;P��ۮe+�Y��@�{��X�ܱ��^]�A�1;�fV��ك�Z�W�;��S��.�6j�CP�� pW�l@�����5�e�Pw��9kV�Z5+�_����zF�
�y#�z�z������Bܡ{����g����� ����<]
-�KQ��y�9��G� �d���p|zsuz��r������n��V��زMàTw�nC#�|J�~�q2�
����]E[F�u�'�Z���!H��4I-b���k4+��5*�x���5���Х�p(�Bg|�W]�F���z��B��D>keK�����F0���K�����>�@o�����IH)��^�6G}�Z� }endstream
+xڭZ����~�z_,w�I�A�8u����gE�<r%1��
+��}f�M.)�Aa�I�Ý���<W�ƃ�&�I�%ؓ �7�����ɷw��x�$��맻/���=�'��鰉<���~����`�T����_z����ۆD\�.�USu�}��W����=����|����wo�4�8L�>on/J����#���-���0��A�)J�!)P��AOw�F$��lz5��+s[�O�}4������X5BKo�3���M�g$���o|)(�NU'���H��u�">�'*n����vq�E�h�=u-��s^�ۼ,[�u�~߱]o������-8���A\_� nN�.�$�\���5�-`�����{^�I<�	������J������%�z-�9���:t��{�+��L��UKq߲^����Mɨ��+B-��S�
�J����y���9w�Z�߽�b�gRe
>�"}DFy]�\�Ԁ�50c5X�w0,��$�L/��0͂�(���a��0S�3cs�'�뛾�=�2�98��V/��0���AF/��dʆ
��b�
U�_U0U�-��ZX*/
+64=Y�]��8��-�%�I�5۹��m7a>g;��O�d�+kwa�-]���xl���|�*�hg��߼�/y&�dY[�pE[e�w3^�=;�}U�X���*�H4�
+�
+��Ld�옉�<�I�lW�Nl�����϶�Z��c��l
+)v�A*�H!�>��\ܼ�'�T]�\�#P����i�v)m�N�t��a2&�v�~ ���-�%�K�5����<a>`��D-������ơ=�J�Ɏ���E��J�*�H�C�zf�Tn�z(5�I���%/�Ìo�+�Kke��W�;�쬓Vm֞���"A)mL���~�ӄ�N��3�o8v*�A]�O�}�ϊ;���B9���=��âv'�D�쓫��z����6�̬jjɛ�==_&Nx	X{6+#O�}Ś�A�NnC�Y9q'�Թ�z�i~z�ҧ�X��!�cGI����B�+^+H~v�(��a��ׄ��,X�W�@�����A�*�Tc����僡�iϬ��llX��
+@�je�bnq��$��D%D�l4��X�B�o,س�[�y!{�M�����؃�<F˼	���֒�:�g�6��t���_�	�&�;��!𢼦����鵱�eEƛ"i��4�<�6UIW�}�E�8���f����Y�1����Rh#�xBX�})h�)3lcH׾\�
/�)�%�to������Rh�@�D��=|����ܭ�D���t��6��窗�P	�>�8	7BpC�[��K̀�
+��]H����h0ǥ��>�8m��	��� Ⅷ�e&v/B�PmfT�PF��-:��}H�i���b�LTv@f��-�VRVM�C���*e�2�8��,~�8L7Q
+(��5�ow?��mJ����_��z���P�z�p�����_w��+��A�Gɭ5Ļ��Y�Q�V��]SSۈ�WS��$��MC��	��[��mУ�B�H����U
k^�*%�5�r9�iy������Nw�#�-9��J"�#Q���t�>��O2/�=�F���4܇$n���b�<����t�|�<��ulwQ���q�/3�1#a���4G��*�1�6l��*Y(9��v�}��_���*;3ݛL��8Z|�r�J�&���1JkZ7�>x�"�I0kjL=�&i͚����J�Pl���pK��J0e��DUpG���f(L��m��%�I�5�����6a>�6�;�+(�0kC=��?�if�oQU�궶Q�6�\�5b�3(&]��~0��*��~��0�дY80�����H��
EG$䶋,�7������qK$d@���q4����,l�4�Ri���b�aQ��C�E�"�CBkpņf	Œb
�.�uO�ϡ��^�Q�E��2�v3�Sm��hv�Z�	_�P�K@�%�K
+Y�����e��.�3J�>�+��$K�k�r8��j�y�T�5-�^��;9�d2oy�Դ�\��i�s�U��`��lө]�D+ܘ"eݼ3=9���ܺy;�e�]Wa�m�PN��b�(d�s_K/���X��@�F�w��w��T�A�Ĵ�أj�9w"�Z;��|�z>0�,�4�(HoϺ-��*���0[���Xm�
+��Z,ԅ�WH�q�ȏa~�Đ%$�|�đ�e�P��ф١j�UF�]�q+�Ë��l�␔b���r
+s�����D��|*�P3��zl���c���N����2A��tw�tvN&�t_Φp�2ڍϒz��ϑ�B��sGU��Ȕ���F-��a�ӆ�}��)��?_s�)�ug��sU�U:>�PgS�@6=�r*ȡ��>��|0�#)�+��b.⼆�	U���:D�E)x��,�#t�����ZC�UBX����R�_+�5>�̗nz1^��M�pW�W��c��!s^5�
+f6�<��:l#��^����;<��r���ׂV�]�5���f�,���X�f�>7e>�u6w�;n��\=�,���ýʏp��#܏����E��r�Z��Ud!����C
+E!��@�V;�z�I����[�t��0�XkXr��U�_{�r_2�p�a����
+M�+����au�l�]��'wXO��N�x���5�}BgNf���P�l�I�I(���}��jR��6ٵ��e�'Y��!Y� Xþ�i�c�s�7��+�?\�O��sy,������:ƚ�M��W֬@�z�=��<�%�FW��Iq�\qҘ��"��S%?J���mlh��,)֬�2[7����-�_]�4k���l�8
�L혷1����L��Q߅�R��߸0�Ǻu�c�<J�=�u�>�g��)!���.�Yt�3����{+F%V�Kl�q�`��v5,��š���Ad��"(s�_�����w���endstream
 endobj
-976 0 obj <<
+2234 0 obj <<
 /Type /Page
-/Contents 977 0 R
-/Resources 975 0 R
+/Contents 2235 0 R
+/Resources 2233 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1009 0 R
-/Annots [ 1008 0 R ]
+/Parent 2176 0 R
 >> endobj
-1008 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.336 121.044 343.551 135.988]
-/Subtype /Link
-/A << /S /GoTo /D (gloss-bugzilla) >>
+2236 0 obj <<
+/D [2234 0 R /XYZ 71.731 729.265 null]
 >> endobj
-978 0 obj <<
-/D [976 0 R /XYZ 71.731 741.22 null]
+2237 0 obj <<
+/D [2234 0 R /XYZ 81.694 708.344 null]
 >> endobj
-979 0 obj <<
-/D [976 0 R /XYZ 71.731 718.306 null]
+2238 0 obj <<
+/D [2234 0 R /XYZ 81.694 708.344 null]
 >> endobj
-980 0 obj <<
-/D [976 0 R /XYZ 444.878 708.344 null]
+2239 0 obj <<
+/D [2234 0 R /XYZ 71.731 680.658 null]
 >> endobj
-839 0 obj <<
-/D [976 0 R /XYZ 71.731 688.254 null]
+2240 0 obj <<
+/D [2234 0 R /XYZ 81.694 664.508 null]
 >> endobj
-30 0 obj <<
-/D [976 0 R /XYZ 164.538 645.157 null]
+2241 0 obj <<
+/D [2234 0 R /XYZ 81.694 664.508 null]
 >> endobj
-981 0 obj <<
-/D [976 0 R /XYZ 71.731 636.334 null]
+2242 0 obj <<
+/D [2234 0 R /XYZ 71.731 662.351 null]
 >> endobj
-982 0 obj <<
-/D [976 0 R /XYZ 71.731 590.556 null]
+2243 0 obj <<
+/D [2234 0 R /XYZ 81.694 646.575 null]
 >> endobj
-983 0 obj <<
-/D [976 0 R /XYZ 71.731 590.556 null]
+2244 0 obj <<
+/D [2234 0 R /XYZ 81.694 646.575 null]
 >> endobj
-984 0 obj <<
-/D [976 0 R /XYZ 156.99 579.762 null]
+2245 0 obj <<
+/D [2234 0 R /XYZ 71.731 631.467 null]
 >> endobj
-985 0 obj <<
-/D [976 0 R /XYZ 222.066 579.762 null]
+2246 0 obj <<
+/D [2234 0 R /XYZ 81.694 615.691 null]
 >> endobj
-986 0 obj <<
-/D [976 0 R /XYZ 281.403 579.762 null]
+2247 0 obj <<
+/D [2234 0 R /XYZ 81.694 615.691 null]
 >> endobj
-987 0 obj <<
-/D [976 0 R /XYZ 349.188 579.762 null]
+2248 0 obj <<
+/D [2234 0 R /XYZ 71.731 582.65 null]
 >> endobj
-988 0 obj <<
-/D [976 0 R /XYZ 403.694 579.762 null]
+2249 0 obj <<
+/D [2234 0 R /XYZ 362.548 545.953 null]
 >> endobj
-989 0 obj <<
-/D [976 0 R /XYZ 471.768 579.762 null]
+2250 0 obj <<
+/D [2234 0 R /XYZ 71.731 543.796 null]
 >> endobj
-990 0 obj <<
-/D [976 0 R /XYZ 71.731 566.81 null]
+2251 0 obj <<
+/D [2234 0 R /XYZ 71.731 528.852 null]
 >> endobj
-991 0 obj <<
-/D [976 0 R /XYZ 125.688 566.81 null]
+2252 0 obj <<
+/D [2234 0 R /XYZ 238.166 507.696 null]
 >> endobj
-992 0 obj <<
-/D [976 0 R /XYZ 204.283 566.81 null]
+2253 0 obj <<
+/D [2234 0 R /XYZ 76.712 491.059 null]
 >> endobj
-993 0 obj <<
-/D [976 0 R /XYZ 275.137 566.81 null]
+2254 0 obj <<
+/D [2234 0 R /XYZ 128.518 447.513 null]
 >> endobj
-994 0 obj <<
-/D [976 0 R /XYZ 324.122 566.81 null]
+2255 0 obj <<
+/D [2234 0 R /XYZ 76.712 411.153 null]
 >> endobj
-995 0 obj <<
-/D [976 0 R /XYZ 387.494 566.81 null]
+2256 0 obj <<
+/D [2234 0 R /XYZ 81.694 393.221 null]
 >> endobj
-996 0 obj <<
-/D [976 0 R /XYZ 463.578 566.81 null]
+2257 0 obj <<
+/D [2234 0 R /XYZ 81.694 393.221 null]
 >> endobj
-997 0 obj <<
-/D [976 0 R /XYZ 71.731 553.859 null]
+2258 0 obj <<
+/D [2234 0 R /XYZ 71.731 378.112 null]
 >> endobj
-998 0 obj <<
-/D [976 0 R /XYZ 141.339 553.859 null]
+2259 0 obj <<
+/D [2234 0 R /XYZ 81.694 362.336 null]
 >> endobj
-999 0 obj <<
-/D [976 0 R /XYZ 71.731 546.721 null]
+2260 0 obj <<
+/D [2234 0 R /XYZ 81.694 362.336 null]
 >> endobj
-1000 0 obj <<
-/D [976 0 R /XYZ 244.94 535.926 null]
+2261 0 obj <<
+/D [2234 0 R /XYZ 71.731 347.228 null]
 >> endobj
-840 0 obj <<
-/D [976 0 R /XYZ 71.731 502.885 null]
+2262 0 obj <<
+/D [2234 0 R /XYZ 81.694 331.452 null]
 >> endobj
-34 0 obj <<
-/D [976 0 R /XYZ 297.751 459.788 null]
+2263 0 obj <<
+/D [2234 0 R /XYZ 81.694 331.452 null]
 >> endobj
-1001 0 obj <<
-/D [976 0 R /XYZ 71.731 459.573 null]
+2264 0 obj <<
+/D [2234 0 R /XYZ 71.731 329.295 null]
 >> endobj
-1002 0 obj <<
-/D [976 0 R /XYZ 71.731 450.965 null]
+2265 0 obj <<
+/D [2234 0 R /XYZ 81.694 313.52 null]
 >> endobj
-1003 0 obj <<
-/D [976 0 R /XYZ 71.731 436.072 null]
+2266 0 obj <<
+/D [2234 0 R /XYZ 81.694 313.52 null]
 >> endobj
-1004 0 obj <<
-/D [976 0 R /XYZ 71.731 421.128 null]
+2267 0 obj <<
+/D [2234 0 R /XYZ 71.731 298.411 null]
 >> endobj
-1005 0 obj <<
-/D [976 0 R /XYZ 71.731 421.128 null]
+2268 0 obj <<
+/D [2234 0 R /XYZ 81.694 282.635 null]
 >> endobj
-975 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F23 733 0 R /F44 1007 0 R /F38 963 0 R /F32 747 0 R >>
-/ProcSet [ /PDF /Text ]
+2269 0 obj <<
+/D [2234 0 R /XYZ 81.694 282.635 null]
 >> endobj
-1013 0 obj <<
-/Length 405       
-/Filter /FlateDecode
->>
-stream
-x�}�]K�0���+r%-�,��
-C�ѻ^*��Y[\�ҥ �z�r�
���ys��E�~����b6(o&��f5����dz�Yf���(�霣l�"ư��(�'���x
n+�ՇS&H@��7k=�fU�s�j��g���l�
-�4�g�y͉7��I�y��Ѕ·F�F�Z�jd݆406��@r��֟�a��K_��\��}#
�lі
-��^�d�v0�ݰ���6�s$����H�B*�/x�����NcJNa�E�	�6�K(g��+_�h�>BF��t�7B�v�ֺ��
-\/���n�8����{#oD�ʘ�j6��1n���
����l��
-�e}���r��ȋ\7�n�p���m9�95��>�D	Nh|v���=�cB�*�=�����:��
-endstream
-endobj
-1012 0 obj <<
-/Type /Page
-/Contents 1013 0 R
-/Resources 1011 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 1009 0 R
+2270 0 obj <<
+/D [2234 0 R /XYZ 71.731 254.576 null]
 >> endobj
-1011 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R >>
+2271 0 obj <<
+/D [2234 0 R /XYZ 81.694 238.8 null]
+>> endobj
+2272 0 obj <<
+/D [2234 0 R /XYZ 81.694 238.8 null]
+>> endobj
+2273 0 obj <<
+/D [2234 0 R /XYZ 71.731 210.74 null]
+>> endobj
+2274 0 obj <<
+/D [2234 0 R /XYZ 81.694 194.964 null]
+>> endobj
+2275 0 obj <<
+/D [2234 0 R /XYZ 81.694 194.964 null]
+>> endobj
+2276 0 obj <<
+/D [2234 0 R /XYZ 71.731 179.856 null]
+>> endobj
+2277 0 obj <<
+/D [2234 0 R /XYZ 81.694 164.08 null]
+>> endobj
+2278 0 obj <<
+/D [2234 0 R /XYZ 81.694 164.08 null]
+>> endobj
+2279 0 obj <<
+/D [2234 0 R /XYZ 374.742 164.08 null]
+>> endobj
+2280 0 obj <<
+/D [2234 0 R /XYZ 71.731 161.923 null]
+>> endobj
+2281 0 obj <<
+/D [2234 0 R /XYZ 81.694 146.147 null]
+>> endobj
+2282 0 obj <<
+/D [2234 0 R /XYZ 81.694 146.147 null]
+>> endobj
+1132 0 obj <<
+/D [2234 0 R /XYZ 71.731 106.132 null]
+>> endobj
+2233 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F35 1185 0 R /F23 1013 0 R /F44 1402 0 R /F48 1414 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1016 0 obj <<
-/Length 2058      
+2285 0 obj <<
+/Length 2177      
 /Filter /FlateDecode
 >>
 stream
-xڭYY��6~�_���@�I��6	���ɵݻ�"Ƀڦmed��v��~�bQ�+A&4$Y��b�_�Pχԋ)�9\XJXz������)�(",dp?�r�	�6��_�_1�1�Da�:)>'�G�������D�ް8Y1b�O�TYQ���<���E���囖%�	��f�lF�8n�1B�,2�We�YB�(�_є�,�6�'�E���xg(���d!	|}jM�t0�ok毪�<��He�k���T�ܒ� 
��H1�'�<E
-{�����\�
-�B�;��576�����*����8�Ks�;e�
]��/jQ�5�Wok6<��
-x/?�syJ����0B�z���)۟�2��^S��
-�Z�}P'T����0T��|�R��)�WZ�Ř�U���_�؃Ј�v��FI��$0Q��~����$E��Ŵ�suP-���Aj	oـKn���
!R�뇼l�����sUdu.�yj���6B+�r\ӕM�k�r�
-~��hnv'�k����K�Θ�a�'�	�$���c�m�g�k3���H0�LiDˆ-��4��)8��@��8T�P���^��~�����S�
������mV1rDV�x@?ˋ��Y�����D	b��?�������k9YB9Ӂlbm�ա*�J��� zu�T�b*�qd�s��^sy�U5�z_���yw��s�;�Q�Õ��j
-������Y���es�T������MTD:�v��_��?)uy�݂������q�L	� ��^l����۷\��r���dL(�z�w'k��
-�s��ioJ��@Ɂ��U�RC���2M�JB�T��"7����P`Xs,ѱ��6��l�V�:e��(�(��JW]g�(�u�u�|��~�Ka+�2�L�.���k1
-ξ���rƎ��@Wq)������T5����q��;���;qQȰ4Ws<���}3OMY����Y�R�o35yi9H�y�1��Q���u�d��L&t}�L�#'ax���������=��o��7��>h�3���ȑr������ǎ�NЖ�h����&,6V��A�>��<h!
�)�a
-A������{nV��KM0І&�$>�I�����ۣ��H��\�m��i�p�uSh�c䎩�5��A��@]�]���y��#���hC��@���v��������t
:�`p�r�”<!�Xh��9O�As! D5	�0�`v�q�ߌ���4O"8�}J`�Qx�����O Z���
�vb(d$v�Z��Y�PG�j?�R:Z���Dsy�v���(�������	����e}?�;���iO�z����Rc�B��6����]��F��a1x�	[�O�J<�j�(�t!mu^��E"r4�;��3��8Z��]�"�֟N"7��i0'k|��#i|g~MRE��VH�j����D]L�5�.IESB�
-�#~%�Xd�8�螤�ត`��죞殏��L��|4��)>Z�����j�oo�?~�8)HIL�E�X�E�4d���@�v�^w���=G�$$	]�SOr�MH����4�	NZP	I�.���:ѳ�3Y��E�B.,�'
H��^4a�dy��$Z��{>����ft���]�
��$�k����U`xN��t�p�i.I���]��|�	�-he
�h5��T��ry)�Ѭ�}�ŀ\�_� �!��E"��5�k��ϟYp��,ʶvrdQ���n�a�VF�bP�H����k�
kƬ���
��cK*Ȇ�������?��ZBvH�e#�p�˝}lJ�@D�m��~�|�y��"�`I�.y�yb0��+!���4Y�����>��9���߮�������W��jI�#�C�0&�:����c����Wo$��tn
t$��]>���ҋ����Ŏ����z_���x�[H�M)��J��)�"$���r�U��XUxt8L6�	^���vX^���Ā��T�N�[�`���h#G)ju+�k��-��8��{�d	�".,A=1^,;=I���]���I}��W6������3��E�[�endstream
+xڭYKs�F��W�p1Y%!�H��Y�U*��X���Đ�2��b���_�=@�`0x(�J��
+L����z��g���,���h�٫`v�'�z�k\rm���������߭����l�&��6������1�c~sf����(�K���M2��E~jn�T-���"M��?�?��}4�����m���њ�~�rn�(���dg���p[��k�6���bs�T�R�*����ʏ�ݤ��5=mV~Ef-����a��7���XZӓmZ�a��r��
+�x�<�}!Y�U��w`%_���$������A��8]5�Y��F���͵���+���/K��!x�Hq�:��Š�RhO�J�P��O�K�볬
+����*���L�v���.,�z����r�V������,q\]��I/Y��g���M�9�F�.�}���
I�
+�����,� 9�6:Jܨ�E�/�cmt�憵�%?�s��Z[)�X���Wi).)'��Z1�.c�{�Q��Q<Bg\�A���)��g_[��^��L�	���/X)d��>��	���ڄ�N���A��׋8��(�����d�gD��`��ħc�D���=S�P�H9�Wٞ�H�x�� �a�<ڸF�����K��8��h�����y�� �H;EI��J��D���at�^�]a��������r,d�(��q�����o���к������/�7�p��~��@�Y���h�]�s��7��
e1�ޱ���]4\��%�֚^�t��څ�+k����Ր,�jd�+���m��O<�_���@�(��u#��C?kf�vͨkp�V/uM_�ˮ���l��@�{�$�T�_��Ѹi/˒|W�ӹ��r釠Ƥ��5��%
��X_�����l�e����C���Gmov��%P�C!.u�w���u� �i�|L%/E�ߏ ����>Pð�;��^�[Ry���U
7�ld��@�R<{X��{�]d"��E��Bk�=�P2~	�sh���7�g���6�~�T���٠�F��@ﲛ�n�&��@���&s�����'�G'�>?�|�w{��]�@���@�
+��D�5�P�g^"��y����������q�Lf���?9c(@�ט�+� ��]��
������|[+�7���r����2�“ڍ��5�bh��?$����n#m5�V�Uh�������!ద�E��p^�c���|絢j#�pA>J���;���f�E�?Ɋ���Y�ó�W���}L�����r�g��5L0���n�)0p䅞Z��E�T�,1E����48vh�x���-�H�~<�����,32�l�IX�̪ �NRT�5��Lj ]��HE�^yPrk����"�A�����;}�k"bbE3V�D�:sJZ�#��#�5��U����)�݆�K-�r����.}K��ft�ꢛ���fO�{>L}��"cԠ��t�m_�^�Tu*5��myf��H��:�Lk;��2���)���w��g�5�e0���ZFkk�j��I��
+�W�Ƹ��7~���3���/�5����3IPSi�l5�g�d�]�c|Ӆ�Q��w[+�pf���Ě���0���[L>о�E�QG��L^�s
+C"����α^����
+�&�XkN`�Q'�Jw�l�
��@�7�Տ=�2D�l�t�/@+�cfB��vխF̄�:_H��E
+���p��!G�TM��������~��'�k�ؔAK&G�Y/NS��m���D���:]ig����]�������OW����>m׌��Lκ�^��lg�z���\i�;�1�d�a͊�I�/�ew��n��7�`h"$�ym�ԭ'M����fA�.�4K�W��].JsTZlϩ��M������Y��c�=Bm+��c͇4����g��_~���C=�,��C�s���m_6L)�����A|�4����Vjz�g�Mk��3��8����B
+-�!�/Ln�@���Q��(w��8�������C'�y�f��>�ވ�0�EQ�o2�	�s�\�CGMX�/	��*=p!��t<����8p�D[ҩ�@%�H��ES���k����;�Z�Ɔ>4���n�%7ݦ�7#��l����vI�am� �Mj�c�C����/~Qendstream
 endobj
-1015 0 obj <<
+2284 0 obj <<
 /Type /Page
-/Contents 1016 0 R
-/Resources 1014 0 R
+/Contents 2285 0 R
+/Resources 2283 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1009 0 R
-/Annots [ 1023 0 R 1033 0 R 1035 0 R 1037 0 R 1039 0 R 1041 0 R ]
->> endobj
-1023 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [71.731 553.321 116.562 562.233]
-/Subtype /Link
-/A << /S /GoTo /D (os-specific) >>
->> endobj
-1033 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.664 319.893 133.11 328.43]
-/Subtype /Link
-/A << /S /GoTo /D (install-perl) >>
->> endobj
-1035 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.664 301.586 149.718 310.498]
-/Subtype /Link
-/A << /S /GoTo /D (install-mysql) >>
->> endobj
-1037 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.664 285.711 166.176 292.565]
-/Subtype /Link
-/A << /S /GoTo /D (install-webserver) >>
+/Parent 2176 0 R
+/Annots [ 2288 0 R ]
 >> endobj
-1039 0 obj <<
+2288 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.664 265.721 150.823 274.632]
+/Rect [71.731 682.402 109.748 691.313]
 /Subtype /Link
-/A << /S /GoTo /D (install-bzfiles) >>
+/A << /S /GoTo /D (gloss-product) >>
 >> endobj
-1041 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.664 249.845 169.364 256.699]
-/Subtype /Link
-/A << /S /GoTo /D (install-perlmodules) >>
+2286 0 obj <<
+/D [2284 0 R /XYZ 71.731 729.265 null]
 >> endobj
-841 0 obj <<
-/D [1015 0 R /XYZ 71.731 718.306 null]
+306 0 obj <<
+/D [2284 0 R /XYZ 179.498 706.118 null]
 >> endobj
-38 0 obj <<
-/D [1015 0 R /XYZ 354.129 703.236 null]
+2287 0 obj <<
+/D [2284 0 R /XYZ 71.731 697.295 null]
 >> endobj
-842 0 obj <<
-/D [1015 0 R /XYZ 71.731 692.184 null]
+2289 0 obj <<
+/D [2284 0 R /XYZ 71.731 651.518 null]
 >> endobj
-42 0 obj <<
-/D [1015 0 R /XYZ 196.111 651.159 null]
+2290 0 obj <<
+/D [2284 0 R /XYZ 71.731 609.739 null]
 >> endobj
-1017 0 obj <<
-/D [1015 0 R /XYZ 71.731 650.944 null]
+2291 0 obj <<
+/D [2284 0 R /XYZ 71.731 594.731 null]
 >> endobj
-1018 0 obj <<
-/D [1015 0 R /XYZ 71.731 632.374 null]
+2292 0 obj <<
+/D [2284 0 R /XYZ 71.731 589.749 null]
 >> endobj
-1019 0 obj <<
-/D [1015 0 R /XYZ 189.012 620.933 null]
+2293 0 obj <<
+/D [2284 0 R /XYZ 89.664 568.992 null]
 >> endobj
-1022 0 obj <<
-/D [1015 0 R /XYZ 71.731 581.381 null]
+2294 0 obj <<
+/D [2284 0 R /XYZ 71.731 566.835 null]
 >> endobj
-1024 0 obj <<
-/D [1015 0 R /XYZ 71.731 548.34 null]
+2295 0 obj <<
+/D [2284 0 R /XYZ 89.664 551.059 null]
 >> endobj
-1025 0 obj <<
-/D [1015 0 R /XYZ 71.731 524.594 null]
+2296 0 obj <<
+/D [2284 0 R /XYZ 71.731 548.903 null]
 >> endobj
-1026 0 obj <<
-/D [1015 0 R /XYZ 71.731 504.504 null]
+2297 0 obj <<
+/D [2284 0 R /XYZ 89.664 533.127 null]
 >> endobj
-1027 0 obj <<
-/D [1015 0 R /XYZ 71.731 467.707 null]
+2298 0 obj <<
+/D [2284 0 R /XYZ 71.731 525.988 null]
 >> endobj
-1028 0 obj <<
-/D [1015 0 R /XYZ 118.555 429.143 null]
+1133 0 obj <<
+/D [2284 0 R /XYZ 71.731 482.153 null]
 >> endobj
-1029 0 obj <<
-/D [1015 0 R /XYZ 71.731 387.21 null]
+310 0 obj <<
+/D [2284 0 R /XYZ 210.434 439.055 null]
 >> endobj
-1030 0 obj <<
-/D [1015 0 R /XYZ 71.731 360.739 null]
+2299 0 obj <<
+/D [2284 0 R /XYZ 71.731 426.884 null]
 >> endobj
-1031 0 obj <<
-/D [1015 0 R /XYZ 71.731 347.414 null]
+2300 0 obj <<
+/D [2284 0 R /XYZ 71.731 371.504 null]
 >> endobj
-1032 0 obj <<
-/D [1015 0 R /XYZ 71.731 337.452 null]
+2301 0 obj <<
+/D [2284 0 R /XYZ 488.305 321.855 null]
 >> endobj
-1034 0 obj <<
-/D [1015 0 R /XYZ 71.731 319.893 null]
+2302 0 obj <<
+/D [2284 0 R /XYZ 71.731 301.765 null]
 >> endobj
-1036 0 obj <<
-/D [1015 0 R /XYZ 71.731 301.586 null]
+2303 0 obj <<
+/D [2284 0 R /XYZ 71.731 288.814 null]
 >> endobj
-1038 0 obj <<
-/D [1015 0 R /XYZ 71.731 285.711 null]
+2304 0 obj <<
+/D [2284 0 R /XYZ 71.731 283.833 null]
 >> endobj
-1040 0 obj <<
-/D [1015 0 R /XYZ 71.731 265.721 null]
+2305 0 obj <<
+/D [2284 0 R /XYZ 89.664 263.075 null]
 >> endobj
-1042 0 obj <<
-/D [1015 0 R /XYZ 71.731 249.845 null]
+2306 0 obj <<
+/D [2284 0 R /XYZ 71.731 260.918 null]
 >> endobj
-1043 0 obj <<
-/D [1015 0 R /XYZ 71.731 229.855 null]
+2307 0 obj <<
+/D [2284 0 R /XYZ 89.664 245.143 null]
 >> endobj
-46 0 obj <<
-/D [1015 0 R /XYZ 138.296 192.64 null]
+2308 0 obj <<
+/D [2284 0 R /XYZ 71.731 242.986 null]
 >> endobj
-1044 0 obj <<
-/D [1015 0 R /XYZ 71.731 185.287 null]
+2309 0 obj <<
+/D [2284 0 R /XYZ 89.664 227.21 null]
 >> endobj
-1045 0 obj <<
-/D [1015 0 R /XYZ 163.177 172.515 null]
+1134 0 obj <<
+/D [2284 0 R /XYZ 71.731 194.169 null]
 >> endobj
-1046 0 obj <<
-/D [1015 0 R /XYZ 71.731 166.126 null]
+314 0 obj <<
+/D [2284 0 R /XYZ 176.83 151.071 null]
 >> endobj
-1047 0 obj <<
-/D [1015 0 R /XYZ 163.346 141.631 null]
+2310 0 obj <<
+/D [2284 0 R /XYZ 71.731 142.249 null]
 >> endobj
-1048 0 obj <<
-/D [1015 0 R /XYZ 71.731 121.541 null]
+2311 0 obj <<
+/D [2284 0 R /XYZ 71.731 109.423 null]
 >> endobj
-1049 0 obj <<
-/D [1015 0 R /XYZ 71.731 48.817 null]
+2312 0 obj <<
+/D [2284 0 R /XYZ 71.731 98.528 null]
 >> endobj
-1014 0 obj <<
-/Font << /F23 733 0 R /F44 1007 0 R /F48 1021 0 R /F27 740 0 R /F38 963 0 R /F33 834 0 R >>
+2283 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1055 0 obj <<
-/Length 2432      
+2316 0 obj <<
+/Length 2095      
 /Filter /FlateDecode
 >>
 stream
-xڵY[��~�_�F���,{Ѵ�l��M7�L7���%�fG���4^����<�n�ɥI���;�Et�R�Fpa[���";݄�|���"�
-IV�/n��E�-ٮ���~�
٦�4bd���C�c����V4�K€{}W���,�����_Y|����7{�L�(%�M��\�f&�4&Q�֒9Ôlbj$c�#P�	�����^K{}�Ŋ���ļ�R��
-�aI)
D�dU�O�iվ�'E��cm�o)�A��t����r��`�a�u��+
-�E֌���ť��M^��-�&h��/Y<-i���ox��W�
���%
*�F�M�y�9�S�,	~
-C�I^ ��A�[��$��vl������|^���XMi@�ꄾ�����p��.�V��l1��N+G�E$�(�t��#DY<ѠQo|
-��ؚ�͙��Z�N�㞎%$:�^j� ��^ۣ�7;Yr����I��ʩ��X�̭j�FN��l�c�[nﴩ�g�rKaj��c�lQʻ'�b�(�S$�_��	%�W)?�gՊ����:餓���V7M�X崯Vl�@��d�X�"ꤳ�k���$[��Q
-7'��mZ�w\x3��<m��}��*duѴ6ص��Sw譼�JhM�.K���Cv��AL\ݻ&�������Bߎx>'m[���fJ���d��ga�o���V�db����wj:�
"�b�\9*�[��L�R��+ڒ$�`�dU���Bvbqt}��A,
-#n�i@��:�I�����;�����=��9�Ԓ;<��+l`����$T]vė�����'D2���ݚ �d��v6�$��t�	vZˣ�-66�<�YR� ��5P$P�i
,���|�S\8�v�W�Ǽ����(�}��0�_F�tg�5w�I4�׿���?,B���*����^ۋw֌�(2Jƛ����gS� V��_u������2���
-���
-�1;V2C�3p|p몡h����_�����@mǎ�x�w�3o��ԍФ��YL��pq��^�|ɪ��wd�cLG��݌Y����%fH2e6�8NH������u����������y$��Did
-�0c��L�rv�C瘳K����C���t�N'�?��t�7�>�_b��g���B�vt�|��#�4
-�N�,�Gj9���1��ִ	�n�S�_F����Lވ�j�[�u��a�p��I�=�7��r��/X��
-:�.���֞G/�I�9$Z|�E#E�	"���G��8�@[ԋd1�5ž�20b�Z�-������ɩ�W�6t�P�NͿ��d�W�sp��� ����_xѰ֡BF��{;�a�N�{�������^_r�u��b8����c
N|/�\_Z(��磪?v2T̝m$��ڣ.GA��q<U];m8�|���7i]�l2L�q�:����!X�4�=�8�j�D.����y�<�O�"�v<\�0��NOw�b{滷U��U�[�V��2D=��s�qY9����F�;'���5u�J�����V��l�N`
-7
-u���J�J�$�1ƹ�r�U���.�|��@�Y�Ъ�i-�Tw��m�$N��P~����p�CQ�����MG�D@B�v-�����|�O���R�t�}��]9b�Y�1}n;bzu�2��������!��_�
�]�
�4xC?�YI����a������$�F�a�͙~�˅�=Ҕ"��鐙I���vΙ�4IJ6	u#�A�v�ZњD���2�q��ˬ�r��W�'�C�6&,JGC��H���(MO9P?ӕ"dz�B�\!Ƒt��$Hc����z]H��*&	I�h��N�na���2e����o�^��wf���+M���,�8#i]mMq����r��t@�GPl�f���?����g��(9��B0��}�^\4�wWz��3��R����݆Ȏn�pW~m6г4�񇉹���V�������=�cס�GS�h���Wp9e$fn�`gW515l�zT��������]A�j_�E�����I9iI��o5p���m4v:~a&v�6t�|
�9�DM��WQX��Igal��F3t�,��>�����k��6���	�A�7�u��l��س���5�Gѷ
-:B��$l6��&��`�����{^5���� O3�;�8�}k�����m�!�������D6�Tݕ눝��w�A���~C#�up�u�N[�
Fsȓ8r�K��J7��<�{|��J�(�b(�x�V�>����.����bj�?��$�����ѬD3��d
-�к���MB6PQ^d�4/3�����>��5������ԧu%K�>����e��:��,U��3P��sq�.֛𫿅�c��ᄋv�J=�.>��sB�ɥr1��>+Je���RoȆ�/�ؓ��NI`�S���s���9�U�L�endstream
+xڝYێ�6}�W~��5WW��K���"ES�[�h�@K���,�"�����J�.n�V�!�<3sf�v����Kv>\��x�p__9�3|�%6Zdӑ�����������pZ�CvN���ه����z{��`�z���'��&��y��}��իo굻:��f]�q��ջ���;�����x{o��y��"X��:{��ق�k��ePD��%����n�Eg�e_�n=dV�5���TW���0u�|��BݖU�ԱX�'W�!c��~f��`�/k����EΗ������CwƎ��("��M�8��.�s��i��_a�Ϊ�/�d�./D3�
+j���g�U�&7�p��O�i
jh�i��k7�Hk3�y�~w/g�R���,���3�j�&I�U�4�_���w,����T���(Tۭ��E�)ӆ	�YӶ2���"R�?iڡ�����mM+u��
�`rz�w����z?X�ȵ
�TS�e�E��A�I{~��-��ކ+3���m�J÷=�=gU���5ؠ�pw�sC��
�F����!����n���~�!����"5��
���0��1I��DP�����_�*t�FI�Qt�B]a�����sܗ��5x�.:O�K���`��2c���s���֥Cef�jA��	5�x5/>q��
+(�r\2�˺!�#������cc�+��wBPӚ|v�J��`A/�m��Q���쵒�<`$���k�XyFQ
+���A�|-����e�h��Ok�Q֐��'�K�C�޸����I���A�
�zύ����9_1(,��u ���ȫ��-Ͳ�[ܸ.ن��1u�30�{����y��b����1�=lH�*�@�`k�ًzh��dS0�v�om�H�<�a��z����':���J�9���L4�̖0#����nkZ���xb���!���?�:%=����:������O�̖.#���7�ۚv�_�E����&�k/��ch��$�	�|�D�v�Vf=-2[�躏ތnk��Q� �0������.�����_iƘ�=�,�Y�Ж|���*7��nK�$/�4��`.Iae�S�J�&O�{y3�yB����� ����°�M�|s�R�Y��e�p�{�
+wR�
+
+�:k�`%N����HKy�3GS�=6����g�,�L��?�q]��M��BhQc3A��3˧%:��i������GUv���%�	"�"@כ'���T��\F0�#���nkډx�L�d��vUi��d�>�6�B�܉t���+��'�Ǣ�z�vȡ�M����A%
�ь��na�����J>9�m@�l�	�S��[���rp/Y�J:���5�F�T�Gj�+�Hۏ�����_���?F������S�h�x�C���v=٘=V�<A갉���װs���s�x������0%�8E�f����ݐ�@���QU�i��f�R<6'??<�g��c��%}�X�����iSImڡ�
����吃t:��M9ͱ������Ǭ���t�@�s�v��C�M���v���Fh��3��z;�m�}eE�nkWbʹџ%#�ɾ`�p�ҏ��������A@�`��ڏ���
��ި�'�%ܿS9k��_u�3}�,YQ2�k&�)��m����l4�A4r�d7��Z�ӥu�6h�۪��G����t�=�#t��<�|ݒɡϵ͎��0����Wg�B�{@����j�B�w}�F��@���5�h�'��d��x������9uƌsB�jģ�����}�'��~��D=V� L���^N��]�'^8��vd����Gtݭ_�t[�6�
1⦽C�RQ!���y�f�[ɰ��2<x��s̊���v��m��/=:��NrSt���~1�2�.��	��4gr~O<6��Ty����x�o�!dp_��{�����}���dC��zuI��ܨ&@j���u���m��� ����40�V�1Ҏ_�tO�ܰ"�Y����ט�-ص��J�+�=X���ZL�4l�ox������|���G�����I�<�N�b7��K���endstream
 endobj
-1054 0 obj <<
+2315 0 obj <<
 /Type /Page
-/Contents 1055 0 R
-/Resources 1053 0 R
+/Contents 2316 0 R
+/Resources 2314 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1009 0 R
-/Annots [ 1066 0 R 1082 0 R ]
+/Parent 2176 0 R
 >> endobj
-1066 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [424.944 468.553 442.607 477.465]
-/Subtype /Link
-/A << /S /GoTo /D (gloss-cgi) >>
+2317 0 obj <<
+/D [2315 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1082 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.065 115.585 285.896 124.496]
-/Subtype /Link
-/A << /S /GoTo /D (configuration) >>
+2318 0 obj <<
+/D [2315 0 R /XYZ 71.731 718.306 null]
 >> endobj
-1056 0 obj <<
-/D [1054 0 R /XYZ 71.731 741.22 null]
+2319 0 obj <<
+/D [2315 0 R /XYZ 89.664 708.344 null]
 >> endobj
-50 0 obj <<
-/D [1054 0 R /XYZ 161.035 707.841 null]
+2320 0 obj <<
+/D [2315 0 R /XYZ 71.731 706.187 null]
 >> endobj
-1057 0 obj <<
-/D [1054 0 R /XYZ 71.731 697.698 null]
+2321 0 obj <<
+/D [2315 0 R /XYZ 89.664 690.411 null]
 >> endobj
-1058 0 obj <<
-/D [1054 0 R /XYZ 163.177 687.716 null]
+2322 0 obj <<
+/D [2315 0 R /XYZ 71.731 675.303 null]
 >> endobj
-1059 0 obj <<
-/D [1054 0 R /XYZ 71.731 654.675 null]
+2323 0 obj <<
+/D [2315 0 R /XYZ 89.664 659.527 null]
 >> endobj
-1060 0 obj <<
-/D [1054 0 R /XYZ 71.731 639.731 null]
+1135 0 obj <<
+/D [2315 0 R /XYZ 71.731 652.389 null]
 >> endobj
-1061 0 obj <<
-/D [1054 0 R /XYZ 361.648 630.232 null]
+318 0 obj <<
+/D [2315 0 R /XYZ 194.2 609.291 null]
 >> endobj
-1062 0 obj <<
-/D [1054 0 R /XYZ 331.234 606.919 null]
+2324 0 obj <<
+/D [2315 0 R /XYZ 71.731 600.468 null]
 >> endobj
-1063 0 obj <<
-/D [1054 0 R /XYZ 71.731 579.024 null]
+2325 0 obj <<
+/D [2315 0 R /XYZ 71.731 572.624 null]
 >> endobj
-1050 0 obj <<
-/D [1054 0 R /XYZ 71.731 545.983 null]
+2326 0 obj <<
+/D [2315 0 R /XYZ 71.731 557.68 null]
 >> endobj
-54 0 obj <<
-/D [1054 0 R /XYZ 190.186 508.767 null]
+2327 0 obj <<
+/D [2315 0 R /XYZ 71.731 508.629 null]
 >> endobj
-1064 0 obj <<
-/D [1054 0 R /XYZ 71.731 501.415 null]
+2328 0 obj <<
+/D [2315 0 R /XYZ 71.731 494.238 null]
 >> endobj
-1065 0 obj <<
-/D [1054 0 R /XYZ 71.731 481.505 null]
+2329 0 obj <<
+/D [2315 0 R /XYZ 71.731 489.256 null]
 >> endobj
-1067 0 obj <<
-/D [1054 0 R /XYZ 223.022 431.856 null]
+2330 0 obj <<
+/D [2315 0 R /XYZ 89.664 467.782 null]
 >> endobj
-1068 0 obj <<
-/D [1054 0 R /XYZ 71.731 411.766 null]
+2331 0 obj <<
+/D [2315 0 R /XYZ 71.731 465.625 null]
 >> endobj
-1069 0 obj <<
-/D [1054 0 R /XYZ 384.386 400.972 null]
+2332 0 obj <<
+/D [2315 0 R /XYZ 89.664 449.849 null]
 >> endobj
-1051 0 obj <<
-/D [1054 0 R /XYZ 71.731 393.833 null]
+2333 0 obj <<
+/D [2315 0 R /XYZ 71.731 447.692 null]
 >> endobj
-58 0 obj <<
-/D [1054 0 R /XYZ 166.615 356.618 null]
+2334 0 obj <<
+/D [2315 0 R /XYZ 89.664 431.916 null]
 >> endobj
-1070 0 obj <<
-/D [1054 0 R /XYZ 71.731 346.253 null]
+2335 0 obj <<
+/D [2315 0 R /XYZ 71.731 392.962 null]
 >> endobj
-1071 0 obj <<
-/D [1054 0 R /XYZ 177.812 323.542 null]
+2336 0 obj <<
+/D [2315 0 R /XYZ 89.664 375.129 null]
 >> endobj
-1072 0 obj <<
-/D [1054 0 R /XYZ 126.236 310.591 null]
+1136 0 obj <<
+/D [2315 0 R /XYZ 71.731 355.04 null]
 >> endobj
-1073 0 obj <<
-/D [1054 0 R /XYZ 71.731 308.434 null]
+322 0 obj <<
+/D [2315 0 R /XYZ 150.026 311.942 null]
 >> endobj
-1074 0 obj <<
-/D [1054 0 R /XYZ 118.555 272.882 null]
+2337 0 obj <<
+/D [2315 0 R /XYZ 71.731 299.504 null]
 >> endobj
-1075 0 obj <<
-/D [1054 0 R /XYZ 376.406 261.405 null]
+2338 0 obj <<
+/D [2315 0 R /XYZ 356.968 290.383 null]
 >> endobj
-1076 0 obj <<
-/D [1054 0 R /XYZ 273.304 249.749 null]
+2339 0 obj <<
+/D [2315 0 R /XYZ 384.714 290.383 null]
 >> endobj
-1077 0 obj <<
-/D [1054 0 R /XYZ 71.731 227.829 null]
+2340 0 obj <<
+/D [2315 0 R /XYZ 395.224 264.48 null]
 >> endobj
-1078 0 obj <<
-/D [1054 0 R /XYZ 202.34 208.123 null]
+2341 0 obj <<
+/D [2315 0 R /XYZ 71.731 249.372 null]
 >> endobj
-1052 0 obj <<
-/D [1054 0 R /XYZ 71.731 200.985 null]
+326 0 obj <<
+/D [2315 0 R /XYZ 235.992 212.156 null]
 >> endobj
-62 0 obj <<
-/D [1054 0 R /XYZ 200.472 163.769 null]
+2342 0 obj <<
+/D [2315 0 R /XYZ 71.731 202.014 null]
 >> endobj
-1079 0 obj <<
-/D [1054 0 R /XYZ 71.731 156.417 null]
+2343 0 obj <<
+/D [2315 0 R /XYZ 255.939 192.032 null]
 >> endobj
-1080 0 obj <<
-/D [1054 0 R /XYZ 298.358 143.644 null]
+2344 0 obj <<
+/D [2315 0 R /XYZ 154.091 179.08 null]
 >> endobj
-1081 0 obj <<
-/D [1054 0 R /XYZ 102.166 117.742 null]
+2345 0 obj <<
+/D [2315 0 R /XYZ 71.731 171.942 null]
 >> endobj
-1083 0 obj <<
-/D [1054 0 R /XYZ 71.731 110.603 null]
+2346 0 obj <<
+/D [2315 0 R /XYZ 220.591 161.148 null]
 >> endobj
-1084 0 obj <<
-/D [1054 0 R /XYZ 175.511 99.809 null]
+2347 0 obj <<
+/D [2315 0 R /XYZ 71.731 154.01 null]
 >> endobj
-1053 0 obj <<
-/Font << /F33 834 0 R /F23 733 0 R /F27 740 0 R /F38 963 0 R /F44 1007 0 R >>
+2348 0 obj <<
+/D [2315 0 R /XYZ 89.664 133.252 null]
+>> endobj
+2349 0 obj <<
+/D [2315 0 R /XYZ 299.943 133.252 null]
+>> endobj
+2350 0 obj <<
+/D [2315 0 R /XYZ 71.731 126.114 null]
+>> endobj
+2351 0 obj <<
+/D [2315 0 R /XYZ 164.608 115.32 null]
+>> endobj
+2352 0 obj <<
+/D [2315 0 R /XYZ 287.74 115.32 null]
+>> endobj
+2353 0 obj <<
+/D [2315 0 R /XYZ 258.748 102.368 null]
+>> endobj
+2354 0 obj <<
+/D [2315 0 R /XYZ 276.999 102.368 null]
+>> endobj
+2355 0 obj <<
+/D [2315 0 R /XYZ 311.022 102.368 null]
+>> endobj
+2314 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R /F44 1402 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1088 0 obj <<
-/Length 2310      
+2358 0 obj <<
+/Length 1700      
 /Filter /FlateDecode
 >>
 stream
-xڥZm�ܶ��_�H>d��E�}]͝k�
-�9ԗ�E��]ޮ`�lD����ϐ�]�K����3��pf�5]9�]���.\XLX���+gu���EQb�"۞������\w�8pW��+�F$W��H������Sr�y��2�Y3������,K����n��M�,����o��z߂�nH�ȵ�ed��E��8��˸�D��<e�C"N�K<��@J�?�A��!��'��"xݜ�9�ҫ-Jl#1պ&R�߱�c%d�c�|?���*-j�,\$������Q_�׋���l�:��_)pQ��,�~�+\��ɸ�BE呃2�SZ�F�_7�_�J�.���g�w�G(%.��jFп-F0�����
-}��M�Wy�?�'��^�{��:�i�Y��Eߤˆ$�.��,�o��Tn��~�����_��k��$e�9%f��OD_�bZ[*ip����:sMWKi� aa�H1p�B�S1H����V���A	Ą��)������>���i�lԚ�k]vi q@�fv�h����R�9$n�m(�	<Á8�M��6�x��'�e���B�^[�\�I@(���'�����2Pl8��+̥x���u�#L�ؐ���9B�_z�a���)ؙ����&f�?��B?��H�]�J?���0��U�dZt�"��r��qI�<`�WuHHg+��v2� �k�H�������aKJؤ ;>��ȆnDl�#5]���!`����`FNjK�([Mn��|6���F��dB�f���&�D��eV֔�ʂ��W��=6�Yw�bT~�&)��l�;v&�خ��#40[7��LX����x>��~C:���9�����X�NJT7�u[ݖ�^�;�$����Ym��q��7wrǩ5��TP6[�g(�ݟt�$���i��k귪"��I�m�r���㴐����Y]�~�yrL�zٯ!�TȚC�2�ƚ��ϪXS�̂_�ô�@����VV_�֕bd���|�m}J�iP|��l��$���|��Wfc��Uu0��({C׈��v˷
-�m�6T�a��dn�ؖ:Pc�v��фܧ����o����@y���g�4a
��,Q^���S��6�
-p^����x�yJM"˻��׺�7�ۡR�s��J��u��B�k��h��E������2�Nn)�S?�Ǹ ����ԗ
-�0�|vf1\|f������zh�?R�	bY7�Gjts��Wyɘ�bJ�ޥb�yth_�%�V�^�R��om��6o��>鈨8�#�z��.��D�2��K�SC�=�VS�8����q-�^�s�Ҍ�C�Ѭ<�@�Y�P��=3iџ�CU����:�~���"�6#o��&�|�\V��ꗏ��ėU��OyZ��pi\m�|��_/�7��B7
o��q4��{��s)�\7���Ii����6�/B����#m�T1�'��F>��$�*���<I��q��c��d� �6 ������fO���,�
4�
��t�.�i����y:{~Z:���k�tBΡ+�[V[���Ԝs y�&�tf>��ߠ���rh�3ߧ洍�"�ZΊeݞ���l�b�,ӽY΃sg��w�߹3�n29�$�v�z�D0��N�Zdۓ�N�C5�J�XQL����_[l|Ŋ=R�S+T�<���J|f�A�Q��$����Nf��f�E
-�X�S`��U����v�C�6�ax����z'��:�Hxw��)��[�Gj%�ۤNv��M~6��`�j��Xi��,�`D�)�
3X��`��E���Nz]VyR�ӁQpt"��C'���H[�E�X��`��U<\����k+N(ԧv�;�E�QD���O�^N�ņ�zM���.��߲�:�3��FƊJ=W1އչF��(w}H��Ny'�H9�H�p��)��T[�Gj%��T��?A���k�A�f�og��Yd�E��"S���`��v�oB8<��?R�i׷����FD/1��bBl6�ԫ��HL{|�-���[]72V\ʠ�G��X�?'���#![шo�p%��$�t�U���Yd{��<���C��2��ջݯU��;�@�w�K��p`��?�[�)l}Y�)��,�,�X����i�a�^����$Q�8��_�b��d�K�e�{�����<F58��OIU�C�B$ ��ob{2��@��>���HXl�ǟ�+H��DLk��ɡ�s#c��nLhpuߊ���(G!��ԝ�RPP�z���8$�������C�9M��*��c#bC��à9��K4�O;^gd�D���_k�.#!�ZQ��ҿ��"�yU�endstream
+xڭXMs�6��W�{6�J�w/;�N��ڋ�KۃlѶYtEy��/H%YN���L$�0@><<������gI��1G����[���|�X��ڱ�����%��`��/B�c��-���4�M����c~nE�Z��[�^�SY�
+>/����e�/��U�����|�æ�	������(e<�u�B���2X\��c��w[�I��!���J3����C���.6��f�[{s�B�x���򣥨��U�U��%�?=/��0��1��'�NvC[N8��6r��,rh�W�"7��:r7b���;�u~��^�8 p�H�Ol��,�����	�əg-݈�3�t!.ۣ��G��ǯ:�yu�y�B���<�6�y@��p6�X���F�[��=�;L��p���|Z�Oj`�.�"�Ľ4����R�� ���[9r|ndqٵ�a+���/l�4����@g�x��5��k#*�+Q<�Gr�e�F�rnl�Ā���,�l����5gr�+��y.�x��DѾ�K��l�:U��Y�<����l�mfق&z��,[��^gˍ�#�:�/R���*�����{��
+��風���ҢWI�����H�+��b}�m<E�ΐ}�x��M�I
+&m�+1�fV�(�;�%�#�0��
+���+`.C1
+~Ȃ���ڇ	���.���&�k�%��q+/�������z7>ċ������}���*��l���5�����[^�蹆���l�)��n����CG��0�iRv*	Ô�Yv�
+�#d��-�MB�9���	i3�(�"�U=��X*J�?����q�#���ZHƲ��!q@Q(�6Z#;��2����q	6����v+�Փξ(����x�}�)��u`�����P����^���fQG�A�;�y�gQw`R�j�V@���UP�h�@.�z�{^�gш���Z�~;�f�
�E^�^�:���%���Y�R�Ӕ����5@�2�X�%?��K^ٸ�f7�~EK5(���44�����prsƺR�^��ԀG?��W��r��`�q[��<�d��r�yu���$���}Q�I�b��LI-��xn��۹JִKy�󙄸u�?j������I���3j�N�k!j�Q�6)��Ih�^ۭ�m���$��Z3�����}�����­ɭi����zw��y؏��)r�ȅ�3@ݡKr�2��5A�m%��&B@ќ����!?�mW{�ßKx�|[������S�uY�.o���үi�?9�na�/tH���Ju-jOY~�Xs�ѯ�'�n�(��ڌm���)����|����Jm�32��r�c��tp�[���U�v�����1�O+�`�xt�ҕDMs}�q�Pyj>7��Z�N�l��S�'��\��[�#t�z��qh�N�
��dF���&�r��Lc�4���H;1>%���K��3*��q�c�Z��a;�/��s{�������/�7p�_K��D���ID�8,s���\Oـ�\�-d����x>����bH��Hҵ%3XcuDK�Ȏ��#��Mt �h��jp7�A��I����ݛ�B	����P���m��а�,`�xp�K}���b�+
�����#Ə�:4����.���>p;�p;�Jv�@��3���p05c���*��u�If\as�8�A3��R�7��S����qrb::�{A<��t��endstream
 endobj
-1087 0 obj <<
+2357 0 obj <<
 /Type /Page
-/Contents 1088 0 R
-/Resources 1086 0 R
+/Contents 2358 0 R
+/Resources 2356 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1009 0 R
-/Annots [ 1094 0 R 1095 0 R 1119 0 R 1126 0 R 1132 0 R 1135 0 R 1138 0 R ]
->> endobj
-1094 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [446.147 608.553 505.908 617.464]
-/Subtype /Link
-/A << /S /GoTo /D (win32-perlmodules) >>
+/Parent 2406 0 R
 >> endobj
-1095 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [71.731 582.65 120.159 591.562]
-/Subtype /Link
-/A << /S /GoTo /D (install-perlmodules-manual) >>
+2359 0 obj <<
+/D [2357 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1119 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.664 250.994 140.592 259.905]
-/Subtype /Link
-/A << /S /GoTo /D (install-modules-dbd-mysql) >>
+2360 0 obj <<
+/D [2357 0 R /XYZ 76.712 708.344 null]
 >> endobj
-1126 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.664 197.196 126.595 206.107]
-/Subtype /Link
-/A << /S /GoTo /D (install-modules-template) >>
+2361 0 obj <<
+/D [2357 0 R /XYZ 89.664 690.411 null]
 >> endobj
-1132 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.664 133.435 104.05 142.346]
-/Subtype /Link
-/A << /S /GoTo /D (install-modules-gd) >>
+2362 0 obj <<
+/D [2357 0 R /XYZ 208.796 690.411 null]
 >> endobj
-1135 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.664 115.502 136.707 124.413]
-/Subtype /Link
-/A << /S /GoTo /D (install-modules-chart-base) >>
+2363 0 obj <<
+/D [2357 0 R /XYZ 71.731 688.254 null]
 >> endobj
-1138 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.664 97.569 134.485 106.481]
-/Subtype /Link
-/A << /S /GoTo /D (install-modules-gd-graph) >>
+2364 0 obj <<
+/D [2357 0 R /XYZ 89.664 672.478 null]
 >> endobj
-1089 0 obj <<
-/D [1087 0 R /XYZ 71.731 729.265 null]
+2365 0 obj <<
+/D [2357 0 R /XYZ 178.191 672.478 null]
 >> endobj
-1090 0 obj <<
-/D [1087 0 R /XYZ 71.731 718.306 null]
+2366 0 obj <<
+/D [2357 0 R /XYZ 284.412 672.478 null]
 >> endobj
-1091 0 obj <<
-/D [1087 0 R /XYZ 71.731 718.306 null]
+2367 0 obj <<
+/D [2357 0 R /XYZ 71.731 670.321 null]
 >> endobj
-1092 0 obj <<
-/D [1087 0 R /XYZ 71.731 654.446 null]
+2368 0 obj <<
+/D [2357 0 R /XYZ 89.664 654.545 null]
 >> endobj
-1093 0 obj <<
-/D [1087 0 R /XYZ 71.731 621.504 null]
+2369 0 obj <<
+/D [2357 0 R /XYZ 89.664 641.594 null]
 >> endobj
-1096 0 obj <<
-/D [1087 0 R /XYZ 71.731 572.688 null]
+2370 0 obj <<
+/D [2357 0 R /XYZ 202.639 641.594 null]
 >> endobj
-1097 0 obj <<
-/D [1087 0 R /XYZ 71.731 572.688 null]
+2371 0 obj <<
+/D [2357 0 R /XYZ 71.731 640.154 null]
 >> endobj
-1098 0 obj <<
-/D [1087 0 R /XYZ 71.731 551.818 null]
+2372 0 obj <<
+/D [2357 0 R /XYZ 89.664 623.661 null]
 >> endobj
-1099 0 obj <<
-/D [1087 0 R /XYZ 125.419 527.323 null]
+2373 0 obj <<
+/D [2357 0 R /XYZ 71.731 587.796 null]
 >> endobj
-1100 0 obj <<
-/D [1087 0 R /XYZ 71.731 525.166 null]
+330 0 obj <<
+/D [2357 0 R /XYZ 194.361 548.423 null]
 >> endobj
-1101 0 obj <<
-/D [1087 0 R /XYZ 71.731 510.222 null]
+2374 0 obj <<
+/D [2357 0 R /XYZ 71.731 545.232 null]
 >> endobj
-1102 0 obj <<
-/D [1087 0 R /XYZ 207.59 489.066 null]
+334 0 obj <<
+/D [2357 0 R /XYZ 152.762 513.953 null]
 >> endobj
-1103 0 obj <<
-/D [1087 0 R /XYZ 523.49 465.753 null]
+2375 0 obj <<
+/D [2357 0 R /XYZ 71.731 507.826 null]
 >> endobj
-1104 0 obj <<
-/D [1087 0 R /XYZ 71.731 414.545 null]
+2376 0 obj <<
+/D [2357 0 R /XYZ 188.442 495.024 null]
 >> endobj
-1105 0 obj <<
-/D [1087 0 R /XYZ 71.731 383.562 null]
+2377 0 obj <<
+/D [2357 0 R /XYZ 71.731 476.927 null]
 >> endobj
-1106 0 obj <<
-/D [1087 0 R /XYZ 170.798 370.71 null]
+2378 0 obj <<
+/D [2357 0 R /XYZ 71.731 476.927 null]
 >> endobj
-1107 0 obj <<
-/D [1087 0 R /XYZ 71.731 363.572 null]
+2379 0 obj <<
+/D [2357 0 R /XYZ 71.731 465.944 null]
 >> endobj
-1108 0 obj <<
-/D [1087 0 R /XYZ 89.664 342.814 null]
+2380 0 obj <<
+/D [2357 0 R /XYZ 91.656 448.199 null]
 >> endobj
-1109 0 obj <<
-/D [1087 0 R /XYZ 71.731 340.658 null]
+2381 0 obj <<
+/D [2357 0 R /XYZ 71.731 436.08 null]
 >> endobj
-1110 0 obj <<
-/D [1087 0 R /XYZ 89.664 324.882 null]
+2382 0 obj <<
+/D [2357 0 R /XYZ 71.731 436.08 null]
 >> endobj
-1111 0 obj <<
-/D [1087 0 R /XYZ 71.731 323.098 null]
+2383 0 obj <<
+/D [2357 0 R /XYZ 71.731 425.285 null]
 >> endobj
-1112 0 obj <<
-/D [1087 0 R /XYZ 89.664 306.949 null]
+2384 0 obj <<
+/D [2357 0 R /XYZ 91.656 407.352 null]
 >> endobj
-1113 0 obj <<
-/D [1087 0 R /XYZ 71.731 304.792 null]
+2385 0 obj <<
+/D [2357 0 R /XYZ 365.427 407.352 null]
 >> endobj
-1114 0 obj <<
-/D [1087 0 R /XYZ 89.664 289.016 null]
+2386 0 obj <<
+/D [2357 0 R /XYZ 71.731 395.233 null]
 >> endobj
-1115 0 obj <<
-/D [1087 0 R /XYZ 71.731 287.233 null]
+2387 0 obj <<
+/D [2357 0 R /XYZ 71.731 395.233 null]
 >> endobj
-1116 0 obj <<
-/D [1087 0 R /XYZ 89.664 271.083 null]
+2388 0 obj <<
+/D [2357 0 R /XYZ 71.731 384.438 null]
 >> endobj
-1117 0 obj <<
-/D [1087 0 R /XYZ 71.731 269.3 null]
+2389 0 obj <<
+/D [2357 0 R /XYZ 91.656 366.506 null]
 >> endobj
-1118 0 obj <<
-/D [1087 0 R /XYZ 89.664 253.151 null]
+2390 0 obj <<
+/D [2357 0 R /XYZ 363.424 366.506 null]
 >> endobj
-1120 0 obj <<
-/D [1087 0 R /XYZ 71.731 250.994 null]
+2391 0 obj <<
+/D [2357 0 R /XYZ 71.731 343.592 null]
 >> endobj
-1121 0 obj <<
-/D [1087 0 R /XYZ 89.664 235.218 null]
+2392 0 obj <<
+/D [2357 0 R /XYZ 267.744 330.64 null]
 >> endobj
-1122 0 obj <<
-/D [1087 0 R /XYZ 71.731 233.061 null]
+2393 0 obj <<
+/D [2357 0 R /XYZ 71.731 300.588 null]
 >> endobj
-1123 0 obj <<
-/D [1087 0 R /XYZ 89.664 217.285 null]
+338 0 obj <<
+/D [2357 0 R /XYZ 244.6 263.372 null]
 >> endobj
-1124 0 obj <<
-/D [1087 0 R /XYZ 71.731 215.128 null]
+2394 0 obj <<
+/D [2357 0 R /XYZ 71.731 253.007 null]
 >> endobj
-1125 0 obj <<
-/D [1087 0 R /XYZ 89.664 199.352 null]
+2395 0 obj <<
+/D [2357 0 R /XYZ 410.746 243.248 null]
 >> endobj
-1127 0 obj <<
-/D [1087 0 R /XYZ 71.731 197.196 null]
+2396 0 obj <<
+/D [2357 0 R /XYZ 129.275 230.296 null]
 >> endobj
-1128 0 obj <<
-/D [1087 0 R /XYZ 89.664 181.42 null]
+2397 0 obj <<
+/D [2357 0 R /XYZ 390.741 230.296 null]
 >> endobj
-1129 0 obj <<
-/D [1087 0 R /XYZ 169.145 163.487 null]
+2398 0 obj <<
+/D [2357 0 R /XYZ 418.487 230.296 null]
 >> endobj
-1130 0 obj <<
-/D [1087 0 R /XYZ 71.731 156.349 null]
+2399 0 obj <<
+/D [2357 0 R /XYZ 71.731 223.158 null]
 >> endobj
-1131 0 obj <<
-/D [1087 0 R /XYZ 89.664 135.592 null]
+2400 0 obj <<
+/D [2357 0 R /XYZ 298.598 199.412 null]
 >> endobj
-1133 0 obj <<
-/D [1087 0 R /XYZ 71.731 133.435 null]
+2401 0 obj <<
+/D [2357 0 R /XYZ 71.731 179.323 null]
 >> endobj
-1134 0 obj <<
-/D [1087 0 R /XYZ 89.664 117.659 null]
+2402 0 obj <<
+/D [2357 0 R /XYZ 120.869 168.528 null]
 >> endobj
-1136 0 obj <<
-/D [1087 0 R /XYZ 71.731 115.502 null]
+2403 0 obj <<
+/D [2357 0 R /XYZ 316.192 155.577 null]
 >> endobj
-1137 0 obj <<
-/D [1087 0 R /XYZ 89.664 99.726 null]
+2404 0 obj <<
+/D [2357 0 R /XYZ 443.185 155.577 null]
 >> endobj
-1139 0 obj <<
-/D [1087 0 R /XYZ 71.731 97.569 null]
+2405 0 obj <<
+/D [2357 0 R /XYZ 71.731 135.487 null]
 >> endobj
-1086 0 obj <<
-/Font << /F33 834 0 R /F38 963 0 R /F27 740 0 R /F23 733 0 R /F44 1007 0 R /F48 1021 0 R >>
+2356 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F35 1185 0 R /F23 1013 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1148 0 obj <<
-/Length 1913      
+2409 0 obj <<
+/Length 1743      
 /Filter /FlateDecode
 >>
 stream
-xڥXے�6}�W�-�̚�����t7�t�i�x��}�e��D�Qڍ��I����f:;;�p��;s�ϝE.�<�Є�0����l�ܿpQb�"˖�����x�,!I��ֻ���$�f�GI��z����;ռZ,i��)�׷��Y�g�^?�n��fy���yq��F/"I�M��ИΖ�!	uDZ'$r�Չ���;�.�QƈH�>�������غv�p�$��z���v�Z/"g�n0�Z�V��l_�A@��!���$7�HD�����a���[Ws�+��͂:��L��%�=|�0q��N�Ԓ�F����k$��z6ISz�%�O�V��d�X% �����8q4齑�4��>	��c{�����
@�7Y�[�Μ��M%~O�t��J�H��U����O���z�A3T���mGh�C�����L��\zAر-i�E��N�볾�ym�z����'x�y�CY���k�� ~0M�E�*q("�GW��z>qz�%���w�'�'�72��]?!Aw�?���S����?�,��p�ݚ���uI��2�H8�$��)���$�P���װ�3?�/9�hw�A�{i�֮
�Lo�LB3�V�\���q2�Yߜ�ߠ�6��KÅԆئl�^$�\d��PO���\�j���=�e��Z�Ӈ����I�[��[]��$�H^�R�RS-X���X!R�c�5��\��	���A��Ұ�ߴ7@#}�訌'(2z�]��N��a�D'�z���u����y�����l��\�����Ѣ�9O��)�ˊC�
�������QΪ|;�]���T�r9Bt��.=)Z���$d�������Շ~a�[^
†A?ND���,���}���D&�U�q��7do�Yf��_�����
��L#o~�I�S����Ԓ�)��o/�K���oǡ'���(��Foxn���Z�c%��F�Ø�OL_�F�
?���������v&K�Qr����d3��Ҍ5�M�'I�����b$3$.a�G�8��ن	��O�,=� �8�4jlNFg��6��a��V��ت׋P���,!�&�e�9�����qO�'������QD���֜z�h�R�:ipͥ�v��Qrê�lķ����T&rr�â���U��jtU���қ���G���l�b�rzTqhG[�k���j�e�!�c*�7򟰺?��4��6r-ؖ[w~c2�ٶ�3Xz�s��
-�6��G� 
eudEʧ�0i%��Ix{�4�P�9�f�R��~�mrލtY�g�/MV�>�����W�5h&���ʪ��H�!�Q�iHB�}Y󕖃���K����[�$��Cx�n0�?p�ѫ��'Q�}	\W�6�6��s�2�m	[��
SQ*ej*����ˢD�
���Uq��
-}=�f��	�,j~�e�DW�@~�8�y�ţ�o��D2.���q'NF�<���PH�`}-��ԲZ��|H-#cڟ!b�w�K��>k�.~cQ�8d���s��d\��p����!��髞=�W&�VӅ(:QЉ�N�#��Uy�x`#�-B?�L�aj��φΔ��r!O�0�3���tb�N<��4SI�:�|�,d�DŽ�ָ�N#��9�W����I�r��X��C��ܒ$�J�w�y^�\�ufV����FChPQ��L�`jj}��w�%ET.xNH'��B�s3�ho[$@��
�	{��]���P��eP|�z<+^��1Q]
-��3֩L}Ӹ����F�����B[���A�� sԫ�kf*�|$�w�AR�E��f$?��6����a��y��R�����RёU���c;2�ܿ}cf����CN
-yY�AќNrĪ�ls�&r$1��!>3���>���}�-�M~�����%!�@����������`�@endstream
+xڕX[��6~?����4���K��I�v��C�t:M��cS˄��ߕ�+˲!�Ã�������'���2d�.QƢE:ɏ�do~|q��̝5o�߿��IƲE<Y�&I�e�M�q�Vi4Yo��>���l��4f��f{��T�\�{���yN��ʢ೿�??�[۳�xɲU|W=Z3�/�'a��d�$;�%[%a�_̖,�j-W��lL/�(�V΃�I(s[���=�ӽҚ����d,��vsX�Wƾ���Ͼ2W���E�Oυzen*�."a�4<?Eټ�5�ي��Fq�3T|�,MQ�8a�ұ>D���ݵ6�	ϱ5\�,�ڭ�XՌ
+�� ���Z�?g%�h�69ɦ\=�T��,T#�=����ޫ��%l�K��Vc�	`Vk�x5L�W ���w�&�TY�Q��T�p�E�8��V�؊Y�N��EQ�(#>GQ\�W��\�IBA��C��4�1KS�+��x�F��*)�}dz0Y�D�n�
Y�ɹ&1ǽ݆x���$�N^9U5a��[�I�~p
h�����:� ����l����bA��.1�� uy����a[9�#��Cԇ��8]���B��Rƣ�7��~kZ��������7��}�ڜ�������Tv͵��S]�l�AA�e+�T��X:��+H��%�O=K��˾��̍
u��(���u�����n a{�kf��Yc��roml���V[,�����=E��m���Tz�XH*<m��!@��!}�,�����E�%�Z��&���K¹�mbB�lD��v��u�E�A<��Å�F���-e���Q���8��cj�ܴ�r�u����ӄ:�9��s��6Q��Я|��
aw���n*���́~���}�wkn��h�F7a><��0�s���>�w[6-�4h�me����!t7��W
���R����s���8��
q̋Z��u�l�kK0�fd�6��\�k�#	^�;������Rh~#�Υ�d��%5�y
+-g�R�I�ۖ�fi$��Qnxk�����V���2���tFɖX��(K���Ŏ�7Nр;��vwa[Ո��_�o�#�:�v�V�c�Z#�`�U� ���X��<l���{9t^��p�•�^L��"`I��z����v�Y�H���od!\ڀ1�a�i���ߑ_��(�(�@	ò̋�V(��HM�{�°�>ǰ4�Mږ�t���>i�#0Y�B0�$e) �,�~�J��d��G��0ӥ��-)
dޜ���3i��i����$�Ȁ6��	&�RGXu�3¯� w�v�…�,cݯ����_��L��~�I��=n��*h�p��B�O���ƂJ,���o���aͣˆ���6uA�A��V�s��:�5����Ng*D���=k�G�{[G�ɲ����FtL�������Z��g)|�k9����dž��%~ct9H� ;�U��nEY�ܮ54�9
+�ŏ$��x�e(�����gĩ���Ž%������Q���$������5z���ɣG���`rv�&-�d�x����<�BA���:���|dF��Ztl���`'����c��Щ�#�Q���_���/�O,z��`|8���å�R|4�Z�7=y$���F�5w཭T0�^{��F'`���ʢ����({�&��@�P�g��߶�U��#�� ������VJ�1�W���k���#�+k��=����n��[r�X�&m��[��'�:_�~endstream
 endobj
-1147 0 obj <<
+2408 0 obj <<
 /Type /Page
-/Contents 1148 0 R
-/Resources 1146 0 R
+/Contents 2409 0 R
+/Resources 2407 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1009 0 R
-/Annots [ 1152 0 R 1155 0 R 1158 0 R 1161 0 R ]
+/Parent 2406 0 R
 >> endobj
-1152 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.664 706.187 155.237 715.098]
-/Subtype /Link
-/A << /S /GoTo /D (install-modules-gd-text-align) >>
+2410 0 obj <<
+/D [2408 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1155 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.664 688.254 142.087 697.166]
-/Subtype /Link
-/A << /S /GoTo /D (install-modules-xml-parser) >>
+342 0 obj <<
+/D [2408 0 R /XYZ 242.592 707.841 null]
 >> endobj
-1158 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.664 670.321 139.865 679.233]
-/Subtype /Link
-/A << /S /GoTo /D (install-modules-patchreader) >>
+2411 0 obj <<
+/D [2408 0 R /XYZ 71.731 697.476 null]
 >> endobj
-1161 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.664 652.389 147.068 661.3]
-/Subtype /Link
-/A << /S /GoTo /D (install-modules-mime-parser) >>
+2412 0 obj <<
+/D [2408 0 R /XYZ 71.731 685.559 null]
 >> endobj
-1149 0 obj <<
-/D [1147 0 R /XYZ 71.731 729.265 null]
+346 0 obj <<
+/D [2408 0 R /XYZ 215 653.246 null]
 >> endobj
-1150 0 obj <<
-/D [1147 0 R /XYZ 71.731 741.22 null]
+2413 0 obj <<
+/D [2408 0 R /XYZ 71.731 644.608 null]
 >> endobj
-1151 0 obj <<
-/D [1147 0 R /XYZ 89.664 708.344 null]
+2414 0 obj <<
+/D [2408 0 R /XYZ 71.731 627.178 null]
 >> endobj
-1153 0 obj <<
-/D [1147 0 R /XYZ 71.731 706.187 null]
+2415 0 obj <<
+/D [2408 0 R /XYZ 334.064 616.384 null]
 >> endobj
-1154 0 obj <<
-/D [1147 0 R /XYZ 89.664 690.411 null]
+2416 0 obj <<
+/D [2408 0 R /XYZ 443.244 603.432 null]
 >> endobj
-1156 0 obj <<
-/D [1147 0 R /XYZ 71.731 688.254 null]
+2417 0 obj <<
+/D [2408 0 R /XYZ 71.731 590.481 null]
 >> endobj
-1157 0 obj <<
-/D [1147 0 R /XYZ 89.664 672.478 null]
+2418 0 obj <<
+/D [2408 0 R /XYZ 71.731 570.391 null]
 >> endobj
-1159 0 obj <<
-/D [1147 0 R /XYZ 71.731 670.321 null]
+2419 0 obj <<
+/D [2408 0 R /XYZ 315.724 559.597 null]
 >> endobj
-1160 0 obj <<
-/D [1147 0 R /XYZ 89.664 654.545 null]
+2420 0 obj <<
+/D [2408 0 R /XYZ 71.731 552.459 null]
 >> endobj
-1141 0 obj <<
-/D [1147 0 R /XYZ 76.712 636.613 null]
+2421 0 obj <<
+/D [2408 0 R /XYZ 89.664 531.701 null]
 >> endobj
-66 0 obj <<
-/D [1147 0 R /XYZ 182.984 602.142 null]
+2422 0 obj <<
+/D [2408 0 R /XYZ 219.445 531.701 null]
 >> endobj
-1162 0 obj <<
-/D [1147 0 R /XYZ 71.731 593.69 null]
+2423 0 obj <<
+/D [2408 0 R /XYZ 71.731 516.593 null]
 >> endobj
-1163 0 obj <<
-/D [1147 0 R /XYZ 71.731 526.326 null]
+2424 0 obj <<
+/D [2408 0 R /XYZ 89.664 500.817 null]
 >> endobj
-1142 0 obj <<
-/D [1147 0 R /XYZ 71.731 493.385 null]
+2425 0 obj <<
+/D [2408 0 R /XYZ 133.38 500.817 null]
 >> endobj
-70 0 obj <<
-/D [1147 0 R /XYZ 242.807 460.075 null]
+2426 0 obj <<
+/D [2408 0 R /XYZ 109.868 487.866 null]
 >> endobj
-1164 0 obj <<
-/D [1147 0 R /XYZ 71.731 451.622 null]
+2427 0 obj <<
+/D [2408 0 R /XYZ 71.731 464.952 null]
 >> endobj
-1143 0 obj <<
-/D [1147 0 R /XYZ 71.731 408.105 null]
+350 0 obj <<
+/D [2408 0 R /XYZ 172.607 429.485 null]
 >> endobj
-74 0 obj <<
-/D [1147 0 R /XYZ 167.419 374.795 null]
+2428 0 obj <<
+/D [2408 0 R /XYZ 71.731 420.847 null]
 >> endobj
-1165 0 obj <<
-/D [1147 0 R /XYZ 71.731 366.342 null]
+2429 0 obj <<
+/D [2408 0 R /XYZ 389.137 410.556 null]
 >> endobj
-1166 0 obj <<
-/D [1147 0 R /XYZ 71.731 353.709 null]
+2430 0 obj <<
+/D [2408 0 R /XYZ 472.996 410.556 null]
 >> endobj
-1167 0 obj <<
-/D [1147 0 R /XYZ 71.731 338.765 null]
+2431 0 obj <<
+/D [2408 0 R /XYZ 71.731 403.417 null]
 >> endobj
-1168 0 obj <<
-/D [1147 0 R /XYZ 129.53 317.609 null]
+2432 0 obj <<
+/D [2408 0 R /XYZ 86.396 379.671 null]
 >> endobj
-1169 0 obj <<
-/D [1147 0 R /XYZ 178.522 317.609 null]
+2433 0 obj <<
+/D [2408 0 R /XYZ 71.731 362.571 null]
 >> endobj
-1170 0 obj <<
-/D [1147 0 R /XYZ 76.712 289.315 null]
+354 0 obj <<
+/D [2408 0 R /XYZ 249.377 325.355 null]
 >> endobj
-1171 0 obj <<
-/D [1147 0 R /XYZ 71.731 269.39 null]
+2434 0 obj <<
+/D [2408 0 R /XYZ 71.731 314.99 null]
 >> endobj
-1172 0 obj <<
-/D [1147 0 R /XYZ 371.86 257.733 null]
+2435 0 obj <<
+/D [2408 0 R /XYZ 133.908 305.231 null]
 >> endobj
-1173 0 obj <<
-/D [1147 0 R /XYZ 193.02 246.077 null]
+2436 0 obj <<
+/D [2408 0 R /XYZ 313.423 305.231 null]
 >> endobj
-1144 0 obj <<
-/D [1147 0 R /XYZ 71.731 218.182 null]
+2437 0 obj <<
+/D [2408 0 R /XYZ 191.012 292.279 null]
 >> endobj
-78 0 obj <<
-/D [1147 0 R /XYZ 224.121 182.715 null]
+2438 0 obj <<
+/D [2408 0 R /XYZ 71.731 272.19 null]
 >> endobj
-1174 0 obj <<
-/D [1147 0 R /XYZ 71.731 174.263 null]
+2439 0 obj <<
+/D [2408 0 R /XYZ 71.731 259.238 null]
 >> endobj
-1145 0 obj <<
-/D [1147 0 R /XYZ 71.731 143.696 null]
+358 0 obj <<
+/D [2408 0 R /XYZ 201.18 226.924 null]
 >> endobj
-1146 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F23 733 0 R /F44 1007 0 R /F38 963 0 R >>
+2440 0 obj <<
+/D [2408 0 R /XYZ 71.731 218.287 null]
+>> endobj
+2441 0 obj <<
+/D [2408 0 R /XYZ 164.423 207.995 null]
+>> endobj
+2442 0 obj <<
+/D [2408 0 R /XYZ 71.731 194.944 null]
+>> endobj
+362 0 obj <<
+/D [2408 0 R /XYZ 142.614 164.658 null]
+>> endobj
+2443 0 obj <<
+/D [2408 0 R /XYZ 71.731 159.472 null]
+>> endobj
+2444 0 obj <<
+/D [2408 0 R /XYZ 71.731 126.635 null]
+>> endobj
+2407 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R /F35 1185 0 R /F48 1414 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1180 0 obj <<
-/Length 1841      
+2447 0 obj <<
+/Length 2405      
 /Filter /FlateDecode
 >>
 stream
-xڽXێ�6}�WA���ZE]�OM�	�h�m�$(h���Ȣ#Rqܯ��2�|�6�E��H�Ù3�C/���H�QxDE��Wng���/�fĭX�%�ɚ��ٷ?R�A�Ro��b�E�e4
-�$��[�I�v���E��~���N*ֶM������Ϧm�������r<4�YP��^�pͅb�	�$њ��a�86�E	�*d�����g=��v�.LB�ͣ�?�+ъ���hj�-��Qad-kn-����VTC�>5�>E�Ή�����Wn��>b�/�9	}�);�h�M�Zܻ���Snj.h�AKӉ��y�|N������m6���^γ+B�(�����|A� �������9���W��}��N �b��h�p>��/�V�-�j{�3��J�;l���J�z��{�t�jhL 9�D[`~޶����6͂��Ke�7;�2xY�#�	�4�pDyH"p1[NmD#�O���y>�s���B#�I��OM|d�k������0�2�-k���Q��}X�Y��A\�b�v�O4���)�b��841�1��jh8`$����p�5��·����6\x����mV=�����=gN�"����P@�`e�t�Zr-HBՍ��X�r������6�P�=Y�=��\D�����5-"mm���k+J8����̡���T):�7�K�Z�yZ����4�z$�)H|���#��Ԋ�?C L�ȗ�#��u�*��`�Xꩫy]o�
-@	������z^&ހ��<�7�g��/��5|%�4�C��~`�1�
-3rU�T����nG�����
-���涭o�\����7�'F�p�9�%�*���"���6"��,�PH��i���Dt��0��b��<B�$�=e	
/�8{�>�* Q/��������
-"�LϽ�����(	H� ��r��׬�/E,P�E��`XzB�b e63B�$�g����~e}�ۚ�ۘJ��5M�I���B�j��.�-�aQ�@��������Y
-���&�#W
��N�L׬Oڽ��l�>��)�J�����n�zh[��,�t�&��)0A|ŷOvjwʎIu�,$H�Ԛ�rfbA1{���E�r�04�`�vP��F�JڱX�{P�fhth"�(����t&��5��uY��8��3��)�9�'�n�
-7p�&���É��1x�aoe��r�~�����(�m���DL!h�I���H�i}6�`]􀴚�D�Q_�	wu����X���yX�~�x�F%f�O6����Cw١�4�H�
����հ�J�(�#$��F��5ڳZ�^7�iۖǾ�l�攙U�ܵ� O�(d�8�l%u����}�(���fCT	�$''�\��e�tj\���������+�'pB��\0�à����gPU�ҋ�U���
-
-�<���nخ�߈�ٝڌ �ٖm�w%0>��#8�3����`Hկ*�����x��)�����������a{��o���r���P�/.Й.R��f����U��ʦ�9��4E4,C����a��G�XZ�"H�,9���̕cV\#L0u�����Ä�ľT�0�
C<�T?���l*���6�.���1ɢ?�bh�.�� �1!�ۻ
򳏃�:�Þ�:<��uN�nPW�5��p#��{��4��ɥI찝�E.� ���Z
-�!�\�F+C�U�r��n���xp�yTj�'�;��@�8�W�Rl�V�?\�����.�d�lj�\�AE�	9��Nt�y]�0��������a�4�]q���O�,�<���냺�G:o�y4)p�jL۩�Jq��(�������„� G)���~�<�/��MVendstream
+xڥZ[o��~ϯ�[$T�y�D�<��>�=Ǩ]EO�ĕE��%H*���;�;{�E�r��!e-g���̷CE��E�u����A�ZN��w��	��˻�V,h��[s����K�L���U2y�M�0���d��A��'�����{V���-�e8M}��
+Q4��B<�?�g���EY��~����L��u����Y3�/͜~��0�4U�%�:XQ�f�l��7[P6ZN��-�@]���k'$�,"�����E�
���b��c�����0LY}=H0�������L��U�.ڹfw���gQ6���{I_+}eb꟞����e�C��?�9gey���Sڡ0�fQ8��2�7$A[�k%�Dy!����ž��p���]y�^��%���H*3#S�mQ������s�͖��ZFN)
��_N�H_��$>7����J���7{V�*lk�k�*71�>��3��l�u��nY˟$�K@�[���wj�c���Ӆ<�J;Yw|)��wyZ��ۚ�~�M�pUqF��0��q�6=�p�����}�^���+�y?[j;-btY�=���_?jw������R-PII3���O���!�;�B_u��R�{'�屁�m���|	����<b`fw��
+�ꛓv0�A^�_�@N�v��9��!"H�z$_n�C��1���-C_t1q��n��n� ��R��H��#��Ǿ3��XȖ&��H���<��b��}�1�X�����\\�m�+���)ŭS]aվ���ڈ�Y^ ̫����(�5%�5��~���{��Y�[I�1�e��u��v����E�>S$���d#��)<��^�z�Cg�ȶ5ھ����#�[��{���n"��K[3є�a[��N�-<V5�9��t����Qs
+�9��寷�u�i�[l�GvZՁ3�ž�}t�����]aRF��������q`9��a�Gxz(�B‬~C<ٖro+��m++c{.�Q�M~`�hmF��/ݢf���}�G���K7-}�`k�~)���a�S/���D�
]�����Ru�^��3��8�Ky������`���xq�1��"��E#`����B��SKS��?��%[%��.W���K�)-A�
�D� [�hȡ\����m���4�۹)�<�{��}�z���2���l��(�f�%�[
+�ȉ�,�,��U'8v?��]6�FJ'��3�~4H�2
�4�9-����񌙚`��
�U��S��[�o)�WW�x%BoFBy-��A��D�|�=~X��w����3<�
+���C��:�����`Y���(gC.h?������&����뭏�0[^���6"�	ҀР8��(X�V�z��
+:��H�!sz���g�������xJw��;��6�t���VJ�O���0<FG��s���dADY�M�����Y���'�k��-s@�
���W�"�I3��Q6�9�}��ɑn���U�?A���je*�_y��2Go�CϪY�hǓ�l֐�?�_2�]�;;���tyl�@������(ק���Dv�)�#����!�|��Κ�,��0k_�[�i~�	}�m͐+�e��
+��sy
��NF�Y��Z�<$�����@)x'~%<Vsstc4h�a>H�Z�h�sa���*���(���tHl���LϧL�
�Ɨ�36�!Z�[ͻE��A�A��1��8���Oj( �Tg�,��䜟���ɥ7C��L�HS���K�w)M��/���&|�'@}��(�KɞlK�4�xӏ�����
o���z�F�������I��w�u���$�@��E;HA�IoLS/C;L=Z�ڮD���瀖[��M:d�3�V͔F}��b
h\��Pj#��F��P��Q���7�}���/P���;�l�<,�������q��up;ĭ,�:�:7ڴ�lg��c�rӨ�����I>�!�FBsQ\�ҋ�G���9�C�Mɬ"��3|'Ga��^o� ϸ�Q�����{̺����+zM���g�Dž�"U>x��>��[�^��₾���)ߵEo�y�t9�_�8��]|� }�q�U�c�c���z�8�3Ǥ��Z�R0HZ<���ϩ��z�21�˺�x#�2>(.W��xw�}�[;���\��s}{[,)��7���A����_ź��?z��W��ܙ���f�k���eQ�^�㎾ع/��֩�e&���ӭ:�u1`�p��	���R�t�*(\�@��=S�r�(h21�h��zC��=�g��},NT
��^,S�ey�K��	�f׭��ݞ:��Zz�4iX��8�����-7�'/��:�2��(W>]��pp��=�w��
ܘ"����~	�fA�_���[2���2΂06BTyI��va�����L��endstream
 endobj
-1179 0 obj <<
+2446 0 obj <<
 /Type /Page
-/Contents 1180 0 R
-/Resources 1178 0 R
+/Contents 2447 0 R
+/Resources 2445 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1200 0 R
+/Parent 2406 0 R
 >> endobj
-1181 0 obj <<
-/D [1179 0 R /XYZ 71.731 729.265 null]
+2448 0 obj <<
+/D [2446 0 R /XYZ 71.731 729.265 null]
 >> endobj
-82 0 obj <<
-/D [1179 0 R /XYZ 207.683 708.344 null]
+366 0 obj <<
+/D [2446 0 R /XYZ 166.016 708.344 null]
 >> endobj
-1182 0 obj <<
-/D [1179 0 R /XYZ 71.731 699.891 null]
+2449 0 obj <<
+/D [2446 0 R /XYZ 71.731 701.265 null]
 >> endobj
-86 0 obj <<
-/D [1179 0 R /XYZ 234.008 648.966 null]
+2450 0 obj <<
+/D [2446 0 R /XYZ 71.731 670.321 null]
 >> endobj
-1183 0 obj <<
-/D [1179 0 R /XYZ 71.731 640.329 null]
+370 0 obj <<
+/D [2446 0 R /XYZ 156.761 639.601 null]
 >> endobj
-1175 0 obj <<
-/D [1179 0 R /XYZ 71.731 622.899 null]
+2451 0 obj <<
+/D [2446 0 R /XYZ 71.731 632.404 null]
 >> endobj
-90 0 obj <<
-/D [1179 0 R /XYZ 216.458 589.589 null]
+2452 0 obj <<
+/D [2446 0 R /XYZ 71.731 608.717 null]
 >> endobj
-1184 0 obj <<
-/D [1179 0 R /XYZ 71.731 581.137 null]
+2453 0 obj <<
+/D [2446 0 R /XYZ 257.295 608.717 null]
 >> endobj
-1185 0 obj <<
-/D [1179 0 R /XYZ 413.586 570.66 null]
+2454 0 obj <<
+/D [2446 0 R /XYZ 71.731 582.814 null]
 >> endobj
-1186 0 obj <<
-/D [1179 0 R /XYZ 193.324 544.757 null]
+2455 0 obj <<
+/D [2446 0 R /XYZ 71.731 575.676 null]
 >> endobj
-1177 0 obj <<
-/D [1179 0 R /XYZ 71.731 537.619 null]
+2456 0 obj <<
+/D [2446 0 R /XYZ 217.045 551.93 null]
 >> endobj
-94 0 obj <<
-/D [1179 0 R /XYZ 222.436 504.309 null]
+2457 0 obj <<
+/D [2446 0 R /XYZ 365.756 551.93 null]
 >> endobj
-1187 0 obj <<
-/D [1179 0 R /XYZ 71.731 495.857 null]
+2458 0 obj <<
+/D [2446 0 R /XYZ 111.302 538.979 null]
 >> endobj
-1188 0 obj <<
-/D [1179 0 R /XYZ 453.495 485.38 null]
+2459 0 obj <<
+/D [2446 0 R /XYZ 281.612 538.979 null]
 >> endobj
-1176 0 obj <<
-/D [1179 0 R /XYZ 71.731 478.242 null]
+2460 0 obj <<
+/D [2446 0 R /XYZ 94.695 526.027 null]
 >> endobj
-98 0 obj <<
-/D [1179 0 R /XYZ 225.412 444.931 null]
+2461 0 obj <<
+/D [2446 0 R /XYZ 368.117 526.027 null]
 >> endobj
-1189 0 obj <<
-/D [1179 0 R /XYZ 71.731 436.479 null]
+2462 0 obj <<
+/D [2446 0 R /XYZ 71.731 518.889 null]
 >> endobj
-843 0 obj <<
-/D [1179 0 R /XYZ 71.731 385.988 null]
+2463 0 obj <<
+/D [2446 0 R /XYZ 225.473 495.143 null]
 >> endobj
-102 0 obj <<
-/D [1179 0 R /XYZ 218.078 342.89 null]
+2464 0 obj <<
+/D [2446 0 R /XYZ 482.019 495.143 null]
 >> endobj
-1190 0 obj <<
-/D [1179 0 R /XYZ 71.731 339.06 null]
+2465 0 obj <<
+/D [2446 0 R /XYZ 71.731 475.054 null]
 >> endobj
-1191 0 obj <<
-/D [1179 0 R /XYZ 118.555 296.869 null]
+2466 0 obj <<
+/D [2446 0 R /XYZ 109.37 464.259 null]
 >> endobj
-1192 0 obj <<
-/D [1179 0 R /XYZ 71.731 253.242 null]
+2467 0 obj <<
+/D [2446 0 R /XYZ 143.7 464.259 null]
 >> endobj
-106 0 obj <<
-/D [1179 0 R /XYZ 187.345 220.739 null]
+2468 0 obj <<
+/D [2446 0 R /XYZ 388.699 464.259 null]
 >> endobj
-1193 0 obj <<
-/D [1179 0 R /XYZ 71.731 210.374 null]
+2469 0 obj <<
+/D [2446 0 R /XYZ 134.256 451.308 null]
 >> endobj
-1194 0 obj <<
-/D [1179 0 R /XYZ 128.448 200.614 null]
+2470 0 obj <<
+/D [2446 0 R /XYZ 225.972 451.308 null]
 >> endobj
-1195 0 obj <<
-/D [1179 0 R /XYZ 115.725 187.663 null]
+2471 0 obj <<
+/D [2446 0 R /XYZ 71.731 438.356 null]
 >> endobj
-1196 0 obj <<
-/D [1179 0 R /XYZ 71.731 180.525 null]
+2472 0 obj <<
+/D [2446 0 R /XYZ 146.719 438.356 null]
 >> endobj
-1197 0 obj <<
-/D [1179 0 R /XYZ 264.915 169.73 null]
+2473 0 obj <<
+/D [2446 0 R /XYZ 71.731 433.255 null]
 >> endobj
-1198 0 obj <<
-/D [1179 0 R /XYZ 71.731 138.746 null]
+2474 0 obj <<
+/D [2446 0 R /XYZ 71.731 387.382 null]
 >> endobj
-1199 0 obj <<
-/D [1179 0 R /XYZ 169.414 125.894 null]
+2475 0 obj <<
+/D [2446 0 R /XYZ 71.731 387.382 null]
 >> endobj
-1178 0 obj <<
-/Font << /F33 834 0 R /F23 733 0 R /F27 740 0 R /F38 963 0 R /F44 1007 0 R >>
+2476 0 obj <<
+/D [2446 0 R /XYZ 255.092 376.588 null]
+>> endobj
+2477 0 obj <<
+/D [2446 0 R /XYZ 431.897 363.636 null]
+>> endobj
+2478 0 obj <<
+/D [2446 0 R /XYZ 145.613 350.685 null]
+>> endobj
+2479 0 obj <<
+/D [2446 0 R /XYZ 221.418 350.685 null]
+>> endobj
+2480 0 obj <<
+/D [2446 0 R /XYZ 281.244 337.733 null]
+>> endobj
+2481 0 obj <<
+/D [2446 0 R /XYZ 435.614 337.733 null]
+>> endobj
+2482 0 obj <<
+/D [2446 0 R /XYZ 71.731 330.595 null]
+>> endobj
+374 0 obj <<
+/D [2446 0 R /XYZ 154.051 299.875 null]
+>> endobj
+2483 0 obj <<
+/D [2446 0 R /XYZ 71.731 292.797 null]
+>> endobj
+2484 0 obj <<
+/D [2446 0 R /XYZ 71.731 235.95 null]
+>> endobj
+2485 0 obj <<
+/D [2446 0 R /XYZ 71.731 235.95 null]
+>> endobj
+2486 0 obj <<
+/D [2446 0 R /XYZ 71.731 205.066 null]
+>> endobj
+378 0 obj <<
+/D [2446 0 R /XYZ 142.923 174.346 null]
+>> endobj
+2487 0 obj <<
+/D [2446 0 R /XYZ 71.731 169.161 null]
+>> endobj
+2488 0 obj <<
+/D [2446 0 R /XYZ 241.794 143.462 null]
+>> endobj
+2489 0 obj <<
+/D [2446 0 R /XYZ 71.731 110.421 null]
+>> endobj
+2445 0 obj <<
+/Font << /F33 1116 0 R /F48 1414 0 R /F27 1020 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1203 0 obj <<
-/Length 2151      
+2492 0 obj <<
+/Length 1754      
 /Filter /FlateDecode
 >>
 stream
-xڝYy�5���"HM����G+�Zx��>})QT9�N����GC�����L
-�R�ݵg�3�9��2៵
-,8�cG���U�?2W���#w���y�}���"��j�_�VH�`86	={�M~_s�U��a{��&��uѴ4��� �_t���,��?��?��j���(t�ʥ����^0u?3$��
-�~�X��.;)AN�rA����S���7���6����欑�r��շ�N�:mS���
��������l���XM[���ܴ,.H�	R�h�/���R.�eWs�Z�& ���e��UrNCA6����t𺴀��N6������]Y�K���2�o��7M�������KN�7��C53����+���s��[Z���
k��T��<��+8l��7ɫ4��Y&W֢����ߝ�1���8+�L	�dc��ʓ0�	���p}w���M��=���7�',<s��`r�߉+��aG┤-�sL+�Fۂ����R�	��vY��U^�I�h�q��wer��2�VfV�4S>���;�W�pT�`����B]Ewi&<cg��S�ˎ��ڀ��]ZK�q�5�?��F൬�୔M�
�BLxV���ʲERq\v>�7=�(�P˞*bi#Wi���A�t�g!�
- 9���'w��Q���mFr�* ��\P�ʒ_0f�{�a\g�cE$t���
-��G+��(�(�I[��B?F8�3�xj�#X~n>f��'�6�܆Lc���)�$a-�$���G�1�k�+���K����7��{B���nB�;7V�N҆�2&t>�5-Ji�����kDX�{d��m#��,�6�od��3�b�Ў�1�#���>w-�ۗ*8���|�]�	W�\x"��Xe���C�$��ɞ�L�6�(� �ml����h��IRkTTOr��;$T��,.�}zX�(�VypZ̲�L��4��s�铹�S�#��2v_�Lu0𴞕�+Ww2)
-.�ʡ�4�墐Fp2Д��e�����'��w�9~��҈x�ғ��718���݀��{A��9e�2e��}s����_���N�$"���W��Z���~�J���m��\�!����8�~���v���v+�f\����@aLx�3�c�@�yXQDL(,0���u`.����q�c�,P��#�1��ْiB��C/߼�%����/���~w{�l�R����
-zH��h]�
-�)zRU�
-��sY����$�3t��Ih�1�.g�ݸ�!5&F�K�8K�-�U3��
-ƒ�Ӟ+%�=(�A0�����eµ�Y��K�"�H
-:��P���(�������oj�i����r�o+Ӟt�^����K.�q'��j�\��CV�����gs��c��������٠���
�E/[(�Ue�G�۩�Q_iφI�/%Dǔ����Z�5��Qw�M�D�q���?��zω�Az�=�dOX?�τgԅ|
-%��2��9-�
-&�>sN(��Β}L��7�#�pj�I�N�P�0� @3�R
�W�B5d�b�V��
-Xƹ�sׁ>�s	�jg�\����b��	Y1�������2�rP���ymv��j�r�Ba{��{X��*%-�@c0)P�9}��	@��nG�u䮨j�b��(k*&���y�K��}�������-\��!�>o�+�'dE&�W��Vjh�|����>���)�"�_!��T��Ä�pL��T!�,pӗ��4�	��:��j�Ń.��k>K�AdS��z4"@r.հ��qY���D�Y�見�pM��`ʣ&C�yd�'���Z`"�)X�;ڶ<��&8��s��xs^�@�S��
-
RB+t�V���T�����j��NS�,Φ�ˑ�m8�w�{!+�;
-n�����A�-���Zٻ��`�0{����Ї��=s�`�+�*��]U��!R��Ky��?t��ֵ�g����]>��	����#�#kCJ>˵G�Ѥ�5���ٔǺ{��2�����,��?3+wՅ�/�L?��93O7��Jŀ�
Y�?�K��׆nE�`�r�`��xR�X��Z,���2�����R��Z��S��As�� ��?�|�俲�f	H���
IhW��o��)�sb��
-�,���9��,�endstream
+xڝXYo�8~���[m�f$Q��>I�]l���b�>�m��(W��z�OQG� (RRə�曃<�^��f(Lb/����/�.�b����57w��w{�������Q�g^�C��C����=�#��j��#5^u��ޗl�^ݜV�r�_YUd�����흕�e��zf�D�h��g��7G�T��(@��,�,?�o'�q�]����B��waڟ�{��D��b��t�˳2��c���i�+5�^�X��*����/�����dV�D�cM	����fFWA��g6;!g�=u���uV�q��q�eô���3�*���7��7V����v��j�
+�$8!��@��Һ�~�ёZof�9��@�{��8D���G\��Pp�&��j��ު�w��ϼ��N��4'
�t����dS��haZ�-Y�K�BH5`�#
+�V������\���y�Q>��FC���K=6����_aq���@[j<ge��ܨ"8oꚬ;z$-�ƦJ�i(���A)
����]G�15G�Ln0�ޖ��al�9鼠��h�i��L�����#ͥsrRU�p��^Ar3
�7�͏!��ځ����θ�����ÿ�\�D��UQԇ��Zg��ڲ��t-��:4ÇT�::Ml>�&����.��>:�
^"װ�ZamH�G��l
+ј
+ �
>��lXu�&�Is"Q
�]g����I�c� ]����coU;�N�-5FH�F����O��/
+z=�YA8qΝ�p��0{���t�}~hN��^��Te�^�7��㑒v�+C��<9d:�1[�2j��fN�uc�\�C_��s+�=l.HL2ǣ�`H�
{!l���ʩ��:�0E���&�_���R�K�[�4����^V�)&�XuĖ�ˑں��>w���U�_�9���TNl	8�Cӎ��KK�`�J�נ[�s��QRle��A�͵8UY��j�S�5�[TDݷIXG֐2S�?��=�d�iE8]^~�)�:JB�	q�Y�(
+'LB$�ЊrE
x"jx�����
��L��Ͱ��"T����ҷ�n k�t�@��	�����jܳYb���X����Dl/��"�)h:�z���6h��|�|o�SS��{h�T��t��iKs`���0�-�o�G�*��c����DrA�R��h|%��4�0�ۏBq�������
+�������w^��\q�y@�{-�v�����I�C�N���P{źtz��(ZG(I���	�Gp�K9� � �2�����*������N��2\c}�S	J�*#AVTap&I�g}��>��$���:e��_�-B��at�K�"M-ٵM=СUO�O��{-��&ʻBKU�a�[a}g��	wuVsG0�Rk�j
�7D����H�"X��Y&MA�u�1�3��ĉT�1����	�����kQ����M�J����2'L�>�aO����-�ž{m����=��c�F��b	�ǩ=�t��J�܆{E�ϝOT��m��P`G�+ԃ�|Y,-Ty�ƿ9T���a~j[�~�āZeS��GQ>s^*�\"<�F�r�[�����$�j{N�>/�#�#�I�\���i�M"k�A��R����۩���?�\�%�����86�ñm���%5�į'����FE�]\5EB�N�w�Ig�wS[�'"d3��Юծĭ���y�-%�g�Z��_�!�g���r�A� }���~���8���C$U�~؜J���vendstream
 endobj
-1202 0 obj <<
+2491 0 obj <<
 /Type /Page
-/Contents 1203 0 R
-/Resources 1201 0 R
+/Contents 2492 0 R
+/Resources 2490 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1200 0 R
->> endobj
-1204 0 obj <<
-/D [1202 0 R /XYZ 71.731 729.265 null]
->> endobj
-1205 0 obj <<
-/D [1202 0 R /XYZ 71.731 718.306 null]
+/Parent 2406 0 R
 >> endobj
-1206 0 obj <<
-/D [1202 0 R /XYZ 71.731 682.441 null]
+2493 0 obj <<
+/D [2491 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1207 0 obj <<
-/D [1202 0 R /XYZ 71.731 675.303 null]
+382 0 obj <<
+/D [2491 0 R /XYZ 171.774 708.344 null]
 >> endobj
-110 0 obj <<
-/D [1202 0 R /XYZ 161.035 638.087 null]
+2494 0 obj <<
+/D [2491 0 R /XYZ 71.731 701.265 null]
 >> endobj
-1208 0 obj <<
-/D [1202 0 R /XYZ 71.731 635.118 null]
+2495 0 obj <<
+/D [2491 0 R /XYZ 176.238 690.411 null]
 >> endobj
-114 0 obj <<
-/D [1202 0 R /XYZ 162.111 603.616 null]
+2496 0 obj <<
+/D [2491 0 R /XYZ 368.396 690.411 null]
 >> endobj
-1209 0 obj <<
-/D [1202 0 R /XYZ 71.731 595.164 null]
+2497 0 obj <<
+/D [2491 0 R /XYZ 455.827 690.411 null]
 >> endobj
-1210 0 obj <<
-/D [1202 0 R /XYZ 376.241 571.736 null]
+2498 0 obj <<
+/D [2491 0 R /XYZ 489.66 690.411 null]
 >> endobj
-1211 0 obj <<
-/D [1202 0 R /XYZ 299.405 558.785 null]
+2499 0 obj <<
+/D [2491 0 R /XYZ 191.511 677.46 null]
 >> endobj
-1212 0 obj <<
-/D [1202 0 R /XYZ 71.731 556.628 null]
+2500 0 obj <<
+/D [2491 0 R /XYZ 71.731 670.321 null]
 >> endobj
-1213 0 obj <<
-/D [1202 0 R /XYZ 71.731 551.646 null]
+386 0 obj <<
+/D [2491 0 R /XYZ 148.701 639.601 null]
 >> endobj
-1214 0 obj <<
-/D [1202 0 R /XYZ 89.664 530.889 null]
+2501 0 obj <<
+/D [2491 0 R /XYZ 71.731 634.416 null]
 >> endobj
-1215 0 obj <<
-/D [1202 0 R /XYZ 353.542 517.938 null]
+2502 0 obj <<
+/D [2491 0 R /XYZ 71.731 601.579 null]
 >> endobj
-1216 0 obj <<
-/D [1202 0 R /XYZ 71.731 497.848 null]
+390 0 obj <<
+/D [2491 0 R /XYZ 224.367 570.859 null]
 >> endobj
-1217 0 obj <<
-/D [1202 0 R /XYZ 100.423 488.349 null]
+2503 0 obj <<
+/D [2491 0 R /XYZ 71.731 563.781 null]
 >> endobj
-1218 0 obj <<
-/D [1202 0 R /XYZ 100.423 476.692 null]
+2504 0 obj <<
+/D [2491 0 R /XYZ 71.731 527.024 null]
 >> endobj
-1219 0 obj <<
-/D [1202 0 R /XYZ 100.423 465.036 null]
+2505 0 obj <<
+/D [2491 0 R /XYZ 71.731 506.934 null]
 >> endobj
-1220 0 obj <<
-/D [1202 0 R /XYZ 333.908 465.036 null]
+394 0 obj <<
+/D [2491 0 R /XYZ 170.649 476.214 null]
 >> endobj
-1223 0 obj <<
-/D [1202 0 R /XYZ 100.423 453.38 null]
+2506 0 obj <<
+/D [2491 0 R /XYZ 71.731 469.136 null]
 >> endobj
-1224 0 obj <<
-/D [1202 0 R /XYZ 71.731 447.132 null]
+2507 0 obj <<
+/D [2491 0 R /XYZ 128.866 458.281 null]
 >> endobj
-1225 0 obj <<
-/D [1202 0 R /XYZ 230.694 435.447 null]
+2508 0 obj <<
+/D [2491 0 R /XYZ 282.608 445.33 null]
 >> endobj
-1226 0 obj <<
-/D [1202 0 R /XYZ 433.86 435.447 null]
+2509 0 obj <<
+/D [2491 0 R /XYZ 353.432 445.33 null]
 >> endobj
-1227 0 obj <<
-/D [1202 0 R /XYZ 112.069 422.496 null]
+2510 0 obj <<
+/D [2491 0 R /XYZ 71.731 415.278 null]
 >> endobj
-1228 0 obj <<
-/D [1202 0 R /XYZ 76.712 404.563 null]
+398 0 obj <<
+/D [2491 0 R /XYZ 199.853 381.968 null]
 >> endobj
-1229 0 obj <<
-/D [1202 0 R /XYZ 89.664 386.63 null]
+2511 0 obj <<
+/D [2491 0 R /XYZ 71.731 373.33 null]
 >> endobj
-1230 0 obj <<
-/D [1202 0 R /XYZ 205.917 373.679 null]
+2512 0 obj <<
+/D [2491 0 R /XYZ 154.45 363.039 null]
 >> endobj
-1231 0 obj <<
-/D [1202 0 R /XYZ 71.731 366.541 null]
+2513 0 obj <<
+/D [2491 0 R /XYZ 71.731 342.949 null]
 >> endobj
-1232 0 obj <<
-/D [1202 0 R /XYZ 76.712 315.796 null]
+2514 0 obj <<
+/D [2491 0 R /XYZ 186.589 332.154 null]
 >> endobj
-1233 0 obj <<
-/D [1202 0 R /XYZ 89.664 297.863 null]
+2515 0 obj <<
+/D [2491 0 R /XYZ 71.731 329.998 null]
 >> endobj
-1234 0 obj <<
-/D [1202 0 R /XYZ 420.071 297.863 null]
+2516 0 obj <<
+/D [2491 0 R /XYZ 118.555 291.434 null]
 >> endobj
-1235 0 obj <<
-/D [1202 0 R /XYZ 71.731 282.755 null]
+2517 0 obj <<
+/D [2491 0 R /XYZ 229.019 282.969 null]
 >> endobj
-1236 0 obj <<
-/D [1202 0 R /XYZ 89.664 266.979 null]
+2518 0 obj <<
+/D [2491 0 R /XYZ 400.428 259.657 null]
 >> endobj
-1237 0 obj <<
-/D [1202 0 R /XYZ 71.731 246.889 null]
+2519 0 obj <<
+/D [2491 0 R /XYZ 71.731 237.736 null]
 >> endobj
-118 0 obj <<
-/D [1202 0 R /XYZ 252.096 213.579 null]
+402 0 obj <<
+/D [2491 0 R /XYZ 193.206 209.09 null]
 >> endobj
-1238 0 obj <<
-/D [1202 0 R /XYZ 71.731 204.942 null]
+2520 0 obj <<
+/D [2491 0 R /XYZ 71.731 200.452 null]
 >> endobj
-1239 0 obj <<
-/D [1202 0 R /XYZ 129.315 181.699 null]
+2521 0 obj <<
+/D [2491 0 R /XYZ 243.605 190.161 null]
 >> endobj
-1240 0 obj <<
-/D [1202 0 R /XYZ 71.731 156.628 null]
+2522 0 obj <<
+/D [2491 0 R /XYZ 159.162 177.209 null]
 >> endobj
-1241 0 obj <<
-/D [1202 0 R /XYZ 71.731 112.445 null]
+1137 0 obj <<
+/D [2491 0 R /XYZ 71.731 150.146 null]
 >> endobj
-1201 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F38 963 0 R /F23 733 0 R /F52 1222 0 R /F32 747 0 R >>
+2490 0 obj <<
+/Font << /F33 1116 0 R /F48 1414 0 R /F27 1020 0 R /F23 1013 0 R /F44 1402 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1244 0 obj <<
-/Length 2223      
+2525 0 obj <<
+/Length 2311      
 /Filter /FlateDecode
 >>
 stream
-xڥY�n��}���C�K��a7��`���*��Y�� 4ْ��mIj��S}e�b���xQ����ԩ�m���/|�|.$D�sI��Z������C6Ƙ�û?���E�B�^�(��MP���!�����mV�ZK��uW�]��Yy�ח��<�W�:��]tГ�����~�/5f����u�gj�V�l����l�,��
-[�T<��ri��p�U�����ow�K0����rr�_VLU��	�%����F���E�F���|fj�^Nw�J��@
�@$�Z���V��l��7m���#~y�W�Z���������gyc��T�v�$X��0�	������c��_��~hh.I�Ue+�0W��R�o:�qJ�,K�%�Z��Ȇ, �Dz���y���y��yR���4M�"�r���Q\_x�&9��'��R�t=9�ՈJ\�*͎/�H�,��G~�e�0w ��".������n������s��vt��3���n��||�~�X̊��/V�����uܶ3A����Ɔ<��WM:ZuK�ד`D\�{r�a�y�)L��8G������8@����
��)��b'��d�X8���嘷�b�#����%`������*��4�
-&�� �Fz=9������0�� (Қ�M�6i( N�!�|%�~b<q9�p�(��z@P�F�ᜩ��[i��P�Y��U��k6U�P�T5mb����� _*y��E�
-�bJ�.~�U���*���k\�;��2QK�t5^�< �Q���HI�k�������GǦ��X�l1�%����~�,[ۃ�kt�]j�VS��%����<���;�H��Y����sV��*�2n���c�9҆�P�rP(�zP�/刟Lʰm�{������|
-`��v8��&�^&y����%,$��-�۸��C�

-�A?�3�Au�xP]ςR��zw���ϟn��
^��-�����m������7�h�x`lD`]P(��s����O�}�>�G�7ѣ0�p/�O�*��^<�{x�g
-rf��Vw���a�~݊�����=e[��2lf$Y�v��4�������w��}������>D�rPs�#H+(=o��1r����2����P�X���BŽ���%´^C��E��"n9;������Bӱd�������w7�I�^�A�'N�.�]U��>rUU�b����~����x��բ�Eֶ�o��	ڃ�<k;�S����$�%`����V�J_'LC�i����/T�J�X!��)S���֊�ˌ�p@Ia���xþw�j7�)�@����)4�ǝn&���ywɩ��F2P

(h�R�W��NZH�����H� ,I��)�k�� ���ls��,9�G̥s;Rk#�ψ1�83���f��Bqs�4��o��U}����s��ZLv�v8[���Z㴳��W��_��C�۹�I�T�K���6e���4�Q��x싱�9*��x��[C�r�[n�z�̀�g��Vm��vg9�;ɦ}��8-�����BŠ�>\j��5���j6�1-�ߌ��I�ifW���T1�43"��0���b���+	����Nǂ	�^E�%G�dU�\W
-��x„"����Y�RXZ˪�Eo�₎�`��d1s92A��Ԩ�E��}����W���'#X�yv'Z�/o�4&r|��hz�����!P��3u:0ٯ?sgZ�
�m��"���ȑ=��
�O`}���m�F�����S�37�%{#
-�(<��T+�	#N�E�r�A�C5�����嚝Θ�9�|�y\���(h��3��ְ�F@���c���F$�:O��D��箫�o���Uq:Ea�;u��� v�0sp�!'	�\@�cE��&����A�|.E$:�x��T���pk�y���Yl?2�'=F��юOm�Pr�L���ҵYj��M����j�m�����4Ыd�� 4�ibsc���'�Tm��'`���IM6S�4Y݉g�6,l����`�� ��1 ��̦vj��t��n��?~�8I�,c�/�o�>@�Yg�ݜ��ɢR	>�Kb��f�g��m���<��C��yτo1mV����k�+K?�8T���%
[N��A���Wu�LI�:f�m_Q���C:��O�=>��g�N���?�~��_.�MQF؄�z��ә�����endstream
+xڍYߓ�6~߿���U3`c����f��W��]2I.�����- �`fg��k�nI���a�������"��h������i�ũ|.����7���%�Κw�o���f�H�t�Y<>-�a��t����!����W�/Yݲf}'�j��o�W\�s^���w�:Z������y�Ǜ�Fv���asU=Z3�/�,�}G�R���`�=��m��RjX��NÕh�F���������8
+�$���}�).�ϊB��d�"�}'Y������L�?s��y%+W���W�V_�'��y+�n�r��{aj�W}w�*��)k�'\mӝ���1�r���)옵ý�[�M����:
+W̬(�՟a����7�(R���i��:���a�u��zP0�T}U1�Z=�f���i��+2|̪KV�X�*rl3�H�=��ݫ��n�b�K�� ��2zbM��j`}�[_u呔�	)��u�(3P,
P�R(� Z�ō@�/{x����O�����p��Ç?�w#,�
+*�}��0�T�BB��.��'�z���}�p���u�I}�����ږU`Y�n,��sQ}��+����t�A�iy��'��E�4�65ۆggf�	4�Ah���sΟP�QvK֪��OL���)M�$�MӦ^r�Ѵ䐋���-
+|Y�4���S���F6�rU�������H>�>�>�h�(�}�)8u#�N�E�S�X�Eμ��~9��*:�*y�˜����t��\��]3�s\��g}>�u��l�Lz�*�?g_yٕ�Q�PDMY�."�:ոBE�!�m�j����j�R����"�8#���\B*���GƂ���h�6��Ѱkf��Kt]���X��hx����ȶ����hl������^3���k���ż ���Ļ�(�I�66���n(/���B��c_&�~��%^��k����X����p��,V,yOJ���U-���%��<�f�P���O�q�Q�AJ���⯕����	����Ɂ�e��5����K�d�d�����&��o����(y�Y��e�ƿ'{
+��쇩��z?|j%$�Eݬ��ʡzյ�5=��9�Ѡn�k�:���b���[���(�6i���3�Ч�n�o���J�X��;��V��vN��s���p���i��C��p��:;k��HK��94NȺ��k��m�����{��E�(�/�������g�|����p�fD"
{b
1�2�
+~�BMv����ʝ&u3	`I� ��l�8N��㵼5I�Eڂu�%d����_����+�٢�h���4f�D�p{��!7�k��A�ݟVH���̆ɮh%H�ѝ�u��1�!��ζ�J�1����[�M�E�A�N\鏹�r*���%�r���h������.�W��
�m�*�쓬`'k��JF>��j!
+����)+���u��\Z&BC�ae3�qۈ��_�.=�\���� d�"���!
+p6-�Y��N�>����\�#C�k�R�c1�E������3�lv���w��!l9�]�H�
+;��T:�m��������H|���_�l�i�M��o����e�7mi5�vГ��z����.4û	�W�>ݱ�al�o��v��ap3�ֵ�5�.)��	]���b	����-�m�P����@65����*��m:�)�\�d01��d��G{j�+�t� ��
����}%�Dw��T�T�j��^.�����1CC�陁&�΄	�Q�M#�>7Cq������yDGN���=6xlGz�<s鞳<����_~Ҷ�&!TZ�p�L�YG,�Ž���8
�G��8�C���#"?��b��.����c�({���{�|�D�0s��_{��"���$�r��Q���U<�o�����[�Փ�!�iV.Ԫ�=6a���;��Y�1�f��8�}�)~x��jXf���_*׼�ґ������Q|%2��#M����N����
+]�Tn�\�j�#�<8�5��9FĠ��ˎ�.�]�
�����)瑖�jܝN�}�U�.X���x�g`���	|�4(r��c=Qѷp�Jr�9���MR�~3,�k��H�������R[���{�((�n|����m!��-�����!o�+䧪���Y�,�}��U�oRR͚2�X���*��VN=���B��������Ǧ?4�z�ýF���������3�ܬ�'��
n�~˚eQu.<+��9P��q���Q�����S�M-?���zW�su�<�'�p���/fW��N@�HΎS�yc�Ԑ�~��Ζb[�7���~k裠/�k92���Q��һ=�h���]2:K�=�fv���:=�?��endstream
 endobj
-1243 0 obj <<
+2524 0 obj <<
 /Type /Page
-/Contents 1244 0 R
-/Resources 1242 0 R
+/Contents 2525 0 R
+/Resources 2523 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1200 0 R
-/Annots [ 1251 0 R ]
->> endobj
-1251 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [446.952 661.355 499.255 670.266]
-/Subtype /Link
-/A << /S /GoTo /D (localconfig) >>
->> endobj
-1245 0 obj <<
-/D [1243 0 R /XYZ 71.731 729.265 null]
+/Parent 2406 0 R
 >> endobj
-1246 0 obj <<
-/D [1243 0 R /XYZ 71.731 741.22 null]
->> endobj
-122 0 obj <<
-/D [1243 0 R /XYZ 235.718 708.344 null]
->> endobj
-1247 0 obj <<
-/D [1243 0 R /XYZ 71.731 699.891 null]
->> endobj
-1248 0 obj <<
-/D [1243 0 R /XYZ 270.344 676.463 null]
->> endobj
-1249 0 obj <<
-/D [1243 0 R /XYZ 243.475 663.512 null]
->> endobj
-1250 0 obj <<
-/D [1243 0 R /XYZ 375.041 663.512 null]
->> endobj
-1252 0 obj <<
-/D [1243 0 R /XYZ 71.731 656.374 null]
->> endobj
-1253 0 obj <<
-/D [1243 0 R /XYZ 136.229 645.579 null]
->> endobj
-1254 0 obj <<
-/D [1243 0 R /XYZ 259.904 645.579 null]
->> endobj
-1255 0 obj <<
-/D [1243 0 R /XYZ 398.333 645.579 null]
->> endobj
-1256 0 obj <<
-/D [1243 0 R /XYZ 134.804 632.628 null]
->> endobj
-1257 0 obj <<
-/D [1243 0 R /XYZ 346.299 632.628 null]
->> endobj
-1258 0 obj <<
-/D [1243 0 R /XYZ 71.731 612.538 null]
->> endobj
-1259 0 obj <<
-/D [1243 0 R /XYZ 105.494 601.743 null]
+2526 0 obj <<
+/D [2524 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1260 0 obj <<
-/D [1243 0 R /XYZ 71.731 590.373 null]
+2527 0 obj <<
+/D [2524 0 R /XYZ 71.731 741.22 null]
 >> endobj
-1261 0 obj <<
-/D [1243 0 R /XYZ 82.491 580.125 null]
+406 0 obj <<
+/D [2524 0 R /XYZ 157.239 705.748 null]
 >> endobj
-1262 0 obj <<
-/D [1243 0 R /XYZ 200.847 556.812 null]
+2528 0 obj <<
+/D [2524 0 R /XYZ 71.731 693.31 null]
 >> endobj
-1263 0 obj <<
-/D [1243 0 R /XYZ 82.491 545.156 null]
+2529 0 obj <<
+/D [2524 0 R /XYZ 71.731 638.196 null]
 >> endobj
-1264 0 obj <<
-/D [1243 0 R /XYZ 71.731 543.889 null]
+2530 0 obj <<
+/D [2524 0 R /XYZ 71.731 625.245 null]
 >> endobj
-1265 0 obj <<
-/D [1243 0 R /XYZ 71.731 523.963 null]
+2531 0 obj <<
+/D [2524 0 R /XYZ 71.731 620.263 null]
 >> endobj
-1266 0 obj <<
-/D [1243 0 R /XYZ 304.604 513.574 null]
+2532 0 obj <<
+/D [2524 0 R /XYZ 89.664 599.506 null]
 >> endobj
-1267 0 obj <<
-/D [1243 0 R /XYZ 377.806 513.574 null]
+2533 0 obj <<
+/D [2524 0 R /XYZ 71.731 597.349 null]
 >> endobj
-1268 0 obj <<
-/D [1243 0 R /XYZ 71.731 464.06 null]
+2534 0 obj <<
+/D [2524 0 R /XYZ 89.664 581.573 null]
 >> endobj
-126 0 obj <<
-/D [1243 0 R /XYZ 206.856 424.687 null]
+2535 0 obj <<
+/D [2524 0 R /XYZ 89.664 581.573 null]
 >> endobj
-1269 0 obj <<
-/D [1243 0 R /XYZ 71.731 414.545 null]
+2536 0 obj <<
+/D [2524 0 R /XYZ 71.731 579.417 null]
 >> endobj
-1270 0 obj <<
-/D [1243 0 R /XYZ 119.442 404.563 null]
+2537 0 obj <<
+/D [2524 0 R /XYZ 89.664 563.641 null]
 >> endobj
-1271 0 obj <<
-/D [1243 0 R /XYZ 71.731 371.522 null]
+2538 0 obj <<
+/D [2524 0 R /XYZ 89.664 563.641 null]
 >> endobj
-1272 0 obj <<
-/D [1243 0 R /XYZ 71.731 327.686 null]
+2539 0 obj <<
+/D [2524 0 R /XYZ 71.731 537.638 null]
 >> endobj
-1273 0 obj <<
-/D [1243 0 R /XYZ 71.731 327.686 null]
+2540 0 obj <<
+/D [2524 0 R /XYZ 89.664 519.805 null]
 >> endobj
-1274 0 obj <<
-/D [1243 0 R /XYZ 270.634 316.892 null]
+2541 0 obj <<
+/D [2524 0 R /XYZ 89.664 519.805 null]
 >> endobj
-1275 0 obj <<
-/D [1243 0 R /XYZ 71.731 309.754 null]
+2542 0 obj <<
+/D [2524 0 R /XYZ 71.731 504.697 null]
 >> endobj
-130 0 obj <<
-/D [1243 0 R /XYZ 188.593 272.538 null]
+2543 0 obj <<
+/D [2524 0 R /XYZ 89.664 488.921 null]
 >> endobj
-1276 0 obj <<
-/D [1243 0 R /XYZ 71.731 265.186 null]
+1138 0 obj <<
+/D [2524 0 R /XYZ 71.731 481.783 null]
 >> endobj
-1277 0 obj <<
-/D [1243 0 R /XYZ 71.731 237.305 null]
+410 0 obj <<
+/D [2524 0 R /XYZ 154.02 438.685 null]
 >> endobj
-134 0 obj <<
-/D [1243 0 R /XYZ 191.198 204.991 null]
+2544 0 obj <<
+/D [2524 0 R /XYZ 71.731 426.514 null]
 >> endobj
-1278 0 obj <<
-/D [1243 0 R /XYZ 71.731 196.539 null]
+2545 0 obj <<
+/D [2524 0 R /XYZ 71.731 384.085 null]
 >> endobj
-1279 0 obj <<
-/D [1243 0 R /XYZ 94.695 186.062 null]
+2546 0 obj <<
+/D [2524 0 R /XYZ 182.684 373.29 null]
 >> endobj
-1280 0 obj <<
-/D [1243 0 R /XYZ 71.731 178.924 null]
+2547 0 obj <<
+/D [2524 0 R /XYZ 71.731 340.249 null]
 >> endobj
-1281 0 obj <<
-/D [1243 0 R /XYZ 438.672 168.13 null]
+2548 0 obj <<
+/D [2524 0 R /XYZ 71.731 270.511 null]
 >> endobj
-1282 0 obj <<
-/D [1243 0 R /XYZ 71.731 156.01 null]
+2549 0 obj <<
+/D [2524 0 R /XYZ 71.731 215.781 null]
 >> endobj
-1283 0 obj <<
-/D [1243 0 R /XYZ 71.731 135.14 null]
+1139 0 obj <<
+/D [2524 0 R /XYZ 71.731 195.791 null]
 >> endobj
-1284 0 obj <<
-/D [1243 0 R /XYZ 124.293 123.597 null]
+414 0 obj <<
+/D [2524 0 R /XYZ 339.876 152.694 null]
 >> endobj
-1285 0 obj <<
-/D [1243 0 R /XYZ 71.731 110.645 null]
+2550 0 obj <<
+/D [2524 0 R /XYZ 71.731 140.522 null]
 >> endobj
-1286 0 obj <<
-/D [1243 0 R /XYZ 459.772 110.645 null]
+2551 0 obj <<
+/D [2524 0 R /XYZ 422.851 118.183 null]
 >> endobj
-1242 0 obj <<
-/Font << /F33 834 0 R /F23 733 0 R /F27 740 0 R /F38 963 0 R /F52 1222 0 R /F32 747 0 R /F44 1007 0 R >>
+2523 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1289 0 obj <<
-/Length 2023      
+2554 0 obj <<
+/Length 2431      
 /Filter /FlateDecode
 >>
 stream
-xڵY[�ܶ~����Iw(���!����&ۺ��(�804g$�FDjǛ"��=I�=u�� Q<s�s?�\�q�oB�B$F$�7����9�Λ'XS�4�nD�b��~���Ł��7�PnB���'�}���2OjA����E�z�V\$eYT'�~ў~-�2�����ɫ}�!�#��\�f)X�i�@
-f�s"�z^'���4��r�sq.����k��!
-��8+��bK|�a�}��w|,���.߈*1Ir��[li͞m}��
-e,v]FDà\$iJ9_��;("��{�8��E0%��)隦Ȩ�=�쐔���͹�`��W�ښ���S!���H@�N�a�b�����ói+�R���̽�*+�,Ҝ�y���V��0�h�w�ok!���DZ���#M_��ի�L
-����������;�v�A��9�\�>����B,-�3�/V��<�V��Q��UF?�-<;��3��mC;�;;� D֊Ƿ��ޭ]���1Đdt��`[����J�4��=���Q]��%�#�o�h/��8�}��BM�N���s��6����$Ӛf��F*4�}5D-,/y�7Zn$�l�}���sD��VJE7�T�@6�p]���WoG�\�S�#b��_\aL�H<���o��Y�"!
-B_�u�RVWJHl�r33a]&)5�<H�%eK�	�q�4�cH"�����-H�S��z)KLqL�T0M��+z���C�O*L�Ҥ����c�C����>�Z���J���z��������;��}L���FD�C����</�Au䡮Dž���"m����P�n+ȏ���c�ߜY���w2l1x��6�L�4Ј��x��ᑵꥢ4�`´�W���(��[thi�|�-��#n��J�H�:���;Ҭ[GZ���AV���ꟴQ���o#(���7�Du&)�k�s֖:�Z�!������V�G�>J}i���s��ڦ�z�����V�x��]��M����ViS��3���`$R��+�򢷾��A�R��d�mb<��>+��X�G��������,*_�6o�5�
o�3g�վ.;Q��-���&>Jx-��!̖n������[��Z?�q�{E=��k$���؎��*�~V$����i=Xp6/�"7>�6�l�#KLC��FNy�2ΦkO��sN�e�Q(�>i��Msӯ��Fش��e5�i)0�J��Z��
-Cw@m���z�3��Q��P�}��DOp���Y�ѧsc|T�A�������C��I�c�X�))�;9��xUޛC L�hCqz���}���l������|�9�ۻY7Y�D��䅩��(��~��}���e���87m�?�=���C�Vo]rE>��t%�n��*�|�e��)�2�L��ė�5M���Z�k�a}�Bif�jH����Z��F�Ȇ�6�����.��i��qӘ��;���������ٍ�'�9��h�i�����4�oΡ�"(c<�o�`J�Nf�m)fG�����L+1jCL3��e���;᬴L]�Gg���I�.��>cC͟Ǝ�+M���j e��I��
B����'+�����������Mo�g�����Maf�X1W�z��u	���4�f7"Z霑�x��n��ghi���ol��!2�SA�:6�g͉AV5�bG^#�ơ����d�Y��E��-o.�E	���ҁR)��������Q�9�����YNG��ahȜ�ё�����C~
-�B>��yR�V�;#�Xo��k���"�'oGู��:�e�|�F��%S�n�<��~�"�އ�7�f�����
-6��|���jp��S+��7���e�m<[u[����V����τ��u��c�Ǯ��`���J>�W�h��
����I�.��Kڻ���<��Pr ����(��k�0z��0�U��.��Q�Kޭ����,�@v�8�]2�d�`B!�����\r��pCE�TSz�����x*�~�w ��/B���d Yt;�D�!�����S��Y"�����endstream
+xڝYm������8X�YQ���O��^	��mI>p%�fW/�^�����!E�ط]�$S���3C�3]y���bJ��.~J�h���;ou�'w%v(�sd><��� X�$����az��t>I���1�u����o6;�����RT��qQ�Ї~C�����`�����hm�Ip�=#3�Ϗ��4��a������w'�oJ���ޚ��:������Տάa�d�	����a�R�__����������b}W��+�=�5�u<�?5¦4���њ7/V�W���:@<;��qnD�a챍�fP�D��
+>��IJ�ˆ�5kЩ�.���(D�bf֝�"7�nE�[b=��ڃ�7��nә7�h[QW�0�(���i��K�<j]=A���'�[}�~�s�O(�b�O�I��qӇ��M7C�֓D�?��D�<��^�4���~m��$heZI�v~�(�GQ4sl�J����Y�����[3@����mX�����X��Eƫ�$��E�
y
�Aj�C��|4�v�x�*p��N�/MN���Y�fD�/HߎH�*���U��$��D�^5v��V�@?����˂�Ib#��Xu��5�޸1$����	jV	h���]��r��ȣvg�V���le�=	==� �&N�9?l���V�8��/�S߰��Q��+,��y�H��{�|`�R���E��<���eHB�+�E�a3�\:��W�@���d����(��Q_��Ѭ=���i)~����-NVe\/'��kUw#��$ߑ)R�:/�t�>ۚ������ŋ�)_ı$��_��|T߄r�����"6�ƻZ��H�.�!���7o����@�ٍ�xb�hA�N甮�Pau�t�r������*��V��Y'��3M�1�#�%Uj����7�@83G��!)��lq���P�]6��&���px_����4���ԙ^-3���J�/�8�\�w?
+��8#����;j���$1�4¦7
+;�����ӳ�Ť�(���Q�M���=_��M�.��j/�v�I��.]�	gP�Ș��Α�3ұ鈞�k+I�a�dkz��񕛶'j���*i&�If��H�50V������t?Ե��kr
�(~3+r2-!���"63�u��+�9c��.�%P�q��+(а��zsU�5��lK��O�<L��B�r�.�ʐC&�ߥx�7J���j�„�i|;n������^��"7����ݰ=Q+mg���_��"����[�h#�2Z�CU��۵���b�O_�ei�Eޒ׾���V�6D��Z�;�#ݞO�s�2nua6bIQm�9�tN��	�N�C/�����d�qž3�q������8a*;��J����qV��y���q����ϣ����(�ŵ���_�^�����\rӅM��~O�>t�ݼ�&��R�Ckۇ���e(S�P��ͻy���ڬ̔d���žOۂ�{���a��_��O��v��l����.��Ohd�m�'\
+X0�k�6�+٫��j�E04H�9`�Zڙ����,C�X�^��̯�q�I�meuPdETc��k��<,��_�`2S;e����ژ�|L��
,]A��n"����.ǙF��fi��R�H���G_`��Ȋ�4%c��i�X��'Ն��x@�0)(�����ʡ������˝҈�)PQ��������ZM�L���v�:��(7S�3�@�%@i�3L������A�
m�TBo���Q����(H�cO�%�y&/6�1r��D5�8L�`T$�Py��{&[�ެX���P�o,��>��7�l~���E�n[~��d��:��?V
���2�3��T���5+u�
B��r���p�W���Z20����尯�u57�Bo$Ӟ���5�j퐊w��ſ74��OgZ}���_�_�
�^f���٪��j�]9i�ƌҐ��v��޾�v�,&�
$z
^��>0?��(���QTGϫ)�-��v��{sbI&U��?T��5�t���#C)� J墁�Nm��+f�ԅ��:M�:ź�_9qſ�!�E�Y����y띖x���_���`�5ANKi�s�� e��3>j>t¡��^
��X��.<����$�^�����Y����ך$�D$�����\�@#"g���������lO�J���d.�M&x��G=4�}V�m�=�i�fs�!G6:x�ce$1vpoޏ�gv�[=����Ж1=j�m\i�Z����w��g�&̈|z�m>帹a���Zb�&�5�|VP_��n���~ذjsh��Q�ӳ�W�rѱ�c3�A�[q8���9��l�T)ԊI�|�q�Ӄم�.�|W�.�4Fl��'Χ2��]`��v�"��^h����=��>i����բp��}����.|�1endstream
 endobj
-1288 0 obj <<
+2553 0 obj <<
 /Type /Page
-/Contents 1289 0 R
-/Resources 1287 0 R
+/Contents 2554 0 R
+/Resources 2552 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1200 0 R
-/Annots [ 1314 0 R 1318 0 R 1321 0 R ]
+/Parent 2406 0 R
 >> endobj
-1314 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.345 453.201 226.121 460.055]
-/Subtype /Link
-/A << /S /GoTo /D (security-access) >>
+2555 0 obj <<
+/D [2553 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1318 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.684 360.882 272.347 369.793]
-/Subtype /Link
-/A << /S /GoTo /D (gloss-cgi) >>
+2556 0 obj <<
+/D [2553 0 R /XYZ 71.731 718.306 null]
 >> endobj
-1321 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [385.263 329.998 403.016 338.909]
-/Subtype /Link
-/A << /S /GoTo /D (gloss-tcl) >>
+2557 0 obj <<
+/D [2553 0 R /XYZ 279.809 664.508 null]
 >> endobj
-1290 0 obj <<
-/D [1288 0 R /XYZ 71.731 729.265 null]
+2558 0 obj <<
+/D [2553 0 R /XYZ 175.77 651.557 null]
 >> endobj
-1291 0 obj <<
-/D [1288 0 R /XYZ 71.731 741.22 null]
+2559 0 obj <<
+/D [2553 0 R /XYZ 397.028 651.557 null]
 >> endobj
-1292 0 obj <<
-/D [1288 0 R /XYZ 283.238 708.344 null]
+2560 0 obj <<
+/D [2553 0 R /XYZ 71.731 649.4 null]
 >> endobj
-1293 0 obj <<
-/D [1288 0 R /XYZ 71.731 651.966 null]
+2561 0 obj <<
+/D [2553 0 R /XYZ 71.731 634.456 null]
 >> endobj
-1294 0 obj <<
-/D [1288 0 R /XYZ 91.377 639.203 null]
+2562 0 obj <<
+/D [2553 0 R /XYZ 477.133 601.644 null]
 >> endobj
-1295 0 obj <<
-/D [1288 0 R /XYZ 209.524 639.203 null]
+2563 0 obj <<
+/D [2553 0 R /XYZ 76.712 572.055 null]
 >> endobj
-1296 0 obj <<
-/D [1288 0 R /XYZ 71.731 632.814 null]
+418 0 obj <<
+/D [2553 0 R /XYZ 232.492 532.682 null]
 >> endobj
-1297 0 obj <<
-/D [1288 0 R /XYZ 71.731 632.814 null]
+2564 0 obj <<
+/D [2553 0 R /XYZ 71.731 522.317 null]
 >> endobj
-1298 0 obj <<
-/D [1288 0 R /XYZ 156.951 608.319 null]
+2565 0 obj <<
+/D [2553 0 R /XYZ 71.731 510.401 null]
 >> endobj
-1299 0 obj <<
-/D [1288 0 R /XYZ 208.637 608.319 null]
+2566 0 obj <<
+/D [2553 0 R /XYZ 71.731 505.42 null]
 >> endobj
-1300 0 obj <<
-/D [1288 0 R /XYZ 373.965 608.319 null]
+2567 0 obj <<
+/D [2553 0 R /XYZ 89.664 484.663 null]
 >> endobj
-1301 0 obj <<
-/D [1288 0 R /XYZ 71.731 595.367 null]
+2568 0 obj <<
+/D [2553 0 R /XYZ 131.167 484.663 null]
 >> endobj
-1302 0 obj <<
-/D [1288 0 R /XYZ 182.366 595.367 null]
+2569 0 obj <<
+/D [2553 0 R /XYZ 71.731 482.506 null]
 >> endobj
-1303 0 obj <<
-/D [1288 0 R /XYZ 71.731 588.978 null]
+2570 0 obj <<
+/D [2553 0 R /XYZ 89.664 466.73 null]
 >> endobj
-138 0 obj <<
-/D [1288 0 R /XYZ 337.12 554.919 null]
+2571 0 obj <<
+/D [2553 0 R /XYZ 300.451 466.73 null]
 >> endobj
-1304 0 obj <<
-/D [1288 0 R /XYZ 71.731 548.792 null]
+2572 0 obj <<
+/D [2553 0 R /XYZ 450.128 466.73 null]
 >> endobj
-1305 0 obj <<
-/D [1288 0 R /XYZ 318.583 535.99 null]
+2573 0 obj <<
+/D [2553 0 R /XYZ 71.731 464.573 null]
 >> endobj
-1306 0 obj <<
-/D [1288 0 R /XYZ 449.172 535.99 null]
+2574 0 obj <<
+/D [2553 0 R /XYZ 89.664 448.797 null]
 >> endobj
-1307 0 obj <<
-/D [1288 0 R /XYZ 210.927 510.087 null]
+2575 0 obj <<
+/D [2553 0 R /XYZ 135.89 448.797 null]
 >> endobj
-1308 0 obj <<
-/D [1288 0 R /XYZ 71.731 497.136 null]
+2576 0 obj <<
+/D [2553 0 R /XYZ 175.172 448.797 null]
 >> endobj
-1309 0 obj <<
-/D [1288 0 R /XYZ 208.407 497.136 null]
+2577 0 obj <<
+/D [2553 0 R /XYZ 252.362 448.797 null]
 >> endobj
-1310 0 obj <<
-/D [1288 0 R /XYZ 71.731 484.184 null]
+2578 0 obj <<
+/D [2553 0 R /XYZ 343.519 448.797 null]
 >> endobj
-1311 0 obj <<
-/D [1288 0 R /XYZ 71.731 479.103 null]
+2579 0 obj <<
+/D [2553 0 R /XYZ 490.965 435.846 null]
+>> endobj
+2580 0 obj <<
+/D [2553 0 R /XYZ 71.731 428.707 null]
+>> endobj
+2581 0 obj <<
+/D [2553 0 R /XYZ 71.731 402.805 null]
 >> endobj
-1312 0 obj <<
-/D [1288 0 R /XYZ 342.891 466.252 null]
+2582 0 obj <<
+/D [2553 0 R /XYZ 71.731 387.861 null]
 >> endobj
-1313 0 obj <<
-/D [1288 0 R /XYZ 442.189 466.252 null]
+2583 0 obj <<
+/D [2553 0 R /XYZ 76.712 338.411 null]
 >> endobj
-1315 0 obj <<
-/D [1288 0 R /XYZ 71.731 448.219 null]
+2584 0 obj <<
+/D [2553 0 R /XYZ 136.488 294.866 null]
 >> endobj
-142 0 obj <<
-/D [1288 0 R /XYZ 180.354 412.852 null]
+2585 0 obj <<
+/D [2553 0 R /XYZ 76.712 235.193 null]
 >> endobj
-1316 0 obj <<
-/D [1288 0 R /XYZ 71.731 406.725 null]
+2586 0 obj <<
+/D [2553 0 R /XYZ 89.664 217.261 null]
 >> endobj
-1317 0 obj <<
-/D [1288 0 R /XYZ 71.731 375.89 null]
+2587 0 obj <<
+/D [2553 0 R /XYZ 71.731 202.152 null]
 >> endobj
-1319 0 obj <<
-/D [1288 0 R /XYZ 71.731 345.006 null]
+2588 0 obj <<
+/D [2553 0 R /XYZ 89.664 186.376 null]
 >> endobj
-1320 0 obj <<
-/D [1288 0 R /XYZ 222.196 332.154 null]
+2589 0 obj <<
+/D [2553 0 R /XYZ 71.731 166.287 null]
 >> endobj
-1322 0 obj <<
-/D [1288 0 R /XYZ 71.731 319.203 null]
+422 0 obj <<
+/D [2553 0 R /XYZ 304.825 129.071 null]
 >> endobj
-1323 0 obj <<
-/D [1288 0 R /XYZ 71.731 306.252 null]
+2590 0 obj <<
+/D [2553 0 R /XYZ 71.731 118.706 null]
 >> endobj
-1324 0 obj <<
-/D [1288 0 R /XYZ 71.731 294.132 null]
+2591 0 obj <<
+/D [2553 0 R /XYZ 71.731 106.79 null]
 >> endobj
-1325 0 obj <<
-/D [1288 0 R /XYZ 71.731 133.101 null]
+2592 0 obj <<
+/D [2553 0 R /XYZ 71.731 101.809 null]
 >> endobj
-1287 0 obj <<
-/Font << /F33 834 0 R /F38 963 0 R /F27 740 0 R /F52 1222 0 R /F23 733 0 R >>
+2552 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R /F44 1402 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1330 0 obj <<
-/Length 2228      
+2595 0 obj <<
+/Length 1790      
 /Filter /FlateDecode
 >>
 stream
-xڥZ]�۶}�_���AL�����E��M�}��E��(��B�d[�,:����w(�-R�n.K�p�<3�p�]�a�!^DP��M
��=>`o�|x �b�LV�ͻ���{���������$�"���Q�)�k��!=�y�\Q���ǪiӲ,���w�-�2]������O}P�G(����
-h��x+BQˆ�����?��������a���(�J߫so���ÿ{WK��A�쬬�+B|Ģ�[�~��Q�#�P`�c�|{a X�?�^�u%����$�n���`�}�Q��݈�C��vQ�8�|�n�/ʫ|�񼩾k�M���s�nvK/x��)K偃+�h
-�%�O�h��&݊�>�O��o�i��	4\~^�	?˛c*B�	]�� �Ze�f�|��GE[�*-"�����r�,)�`�lQ��L�;	�#	�F�܍+�6-���`�EE�%��ޛy�&WTt'f�Z� ��E��y/��2�w+Y ��͂�����f�V�:�#���ޯ�_�z/�Uh�y*~(���Bj����^������O�3d������+ d."�&ߞ��U�|{n������ٺ��S@o@�|�#?a�`E�f����Ԥf_�LO�AH�x�����]8���PU8�;G���p΍9���|�qMƚ�U�7yZo(m[�&����,��KCz.�h(j���Yf[���b��>`�{�\�m�&w��h��R	�?�E�_������T�
�BM���H�R�x/Vy��&�!
-�)'��m���_�BVkq�©Wj��O]���A�A�����Cz����}*?:9Ҋ�m�F�r�A�|:�^�}�A�r�,C�@{a���_�h��ؓzAr�S'�b�*����L�H�U֬:�H�_��ko�����-m^[.��Y�a_���3|<�OA"Re�+JQ����uLO_!�za(�i���v!;8�P�tج��m�+w�+�XV�l1@��:RDE������Q�>��҇�n��o"�PF_rŎ���(��J�c
���+M��i�-]W����L���6��E�8ɫ�P,��P�aq�p�ɷ��G
��;'5�R��>z,�th�5�/�O���LJb{�� �m]l[y�kT��w�ȕ�8��B6��cZU����g�a��`^�C��L�v��k�$͔q�z>B��S���-��$Z9�4�,�\K��[�u�]�U��d�s��S�V'��ؔ�^�y��R��R4�
-�?��(�.�\�\UQ����������N͕k��W�@V�ܾ[���үz]��,�����^ub�5�M^5��_h�w�>�C�7����T�������)m����u�X
�:�(�w�o����&m������2+X�u��W�1�(Ip��&;�u�:���h��)W]E�HߌW�B�	��1t¦LV����̙k�)�b��8�M⦆������Ռ��Oo��@C�-���ĈkGV.Ď����q�ze�
-�ʏ�窆3*�l���T�bh[v?I��d���\��h�I��[I2��;�E�_�G�8:��>͢���,�]���N��l7!(��"���b�L���G�YAq��B�`ʼnы͐bRE���$��`3Y��d�@�h�jG�
-Ԉީ�,Q�{���'{y��#�]�I��v�y��F���4;��b����(��w�e�LK[��l�X��cb�џE��C�M�@��~ј�W7��e�L��6�)-G���rD���q7�R��N���#o�9�]h��B�S[p�H���[���ʰ�����+	@\#W�I��W�.�!<H��Ez����N��0�L��L�P��ͣ`G�Q0�ۂ��#���D�yN�Q��N��W�:��x=깟U�S������Ͱ��2��m��vt��F�,��hru�(�8�_����x�'��_'���0��`3Y��d�d�h�%kG�K��-�%I[���a3��6�A�mGt3��;��~iz����s�h�[ӗ� �{�ow�^�:$��1����a3%�dF"�f%�},f��U6�
��k��TT��'��)e �u2�ˉ�f��d�v�yN��mN�_���%8B��;��d�qV3}�i�m�#��f#�l�l�_ĭ����<��yP�$��6�7�����a���8�N����p��endstream
+xڭYYo�F~���R
+�6\���$n�	A��aE�%�<Tu�_���Yޤb#0`r�ù��Έ�L��+�߆��%�����\���E�
�l:47��Wom{�%[�^�V�i�ܮ|�"�k��џ�퉝+^�7�k6Q�]��Y\�~���M����[�$l�����7�F�k�d؋�9n@��Zm,�l-:m��W3 ��4&X~k�ha%C��-�<g��e
��l|eQ�����?q垺�>Y�n����k�wN�0��'�wN��,�Z��J����>#|�Gq�D����y��F����r�Gdw.�i%|� ���5�C��ѡ��&��1!�b0�d�����^�8�:B��ƒ�(F/���x��ӄ�����K��<�0�9W�q�`��-ͬ��D�kϺz,벫d؎�<eq��������xC��J��W�9�	+z5#ޏ�8X5_&噇��v��\��F]� 4Y��X���7l�E���!����\�"���I��:���҆
+�n�r5�U?0v`�1S%˻bmA�I�ay�g��IJ�#E���ڎ�*Qn'8��Tj)��@ ^l!�ّ_7�� v�ìD}/�_-˾k� ��`�Q;y��4�/��$��p��/T�)����<�=��N}�N�e��JQp�X���ժ�	�dv�B2Wi��S��EH��'us@Rv`��t!<��Ú�~�T�òHѦpǪ�@y>�$���B����ʕj!�
+�O)���:K��B/��A�Q},g>9g�6Y��j˥�,��^�Y�T�T1B�VEVP�:�
+�JA�Hc�*a�[Q���4DH���:�t��s�)��� m���T5~�Bt[��U:��%!sH�Z6��2�wh�\�,�`&d]D�%��Bv����BgNS��,�y�k\���t���>iif}�$��	Y�}� {�VȾ�1%�J~
��)V_M׼_ۮ��;z�Ǽ6O��1
�x��GFe�I�sGI$�z�zalS>.'P��	�4����������K����U�cE��ķ���Sa��o��Q_�9���R�'ԛCǣ�u���ա��,M�xn��u���d�.V��r�<ۈl_��\��ZrB.�|F����eY�9�Q��wٮKF�3ҋ
+p�#�a�T����95�}Y
b�2O<k>t��ꔜ��֭�_ɦC|�Z��f���Dh��V�X��J^�=`;>7h'�E�3mt��KwEM�x.h!���i��P����eÆ�{C=�mY�R���p����y�B*�d����L���wr�n��M�"����7�t�E���!>��?Zm�F�
+�N�|��`1$�&��YK����:t�<�i�d��#�j��dSj
+�7�=e�:p�h0�s���LY��*N��l��^��`�0咱��ͬi�M��+�퓸��5U��E̩�ǸM�:A�KΗd<��k�OL<T2u/UN�lYNY��!���#�2rW�����&��I_�+~Yo<�4���?~�V��v��w����7�xլ����������
����v��=,IS��b��N�ׄ��F�H���8~OE�w<�K��URBv�>�?��I�}�a]���P���
WZ�l�_b~i�g^�2���
+�XΎ�c��	����!�$��{i����k���k�wQ1-9R7���*�CCZ��rFCM��-�:�OLM:��m1U�A�)2l�/Hf�8��)1J���~}������#��o���0��o_°w�P?�8	����PK2�uȵbZ��,�`������fendstream
 endobj
-1329 0 obj <<
+2594 0 obj <<
 /Type /Page
-/Contents 1330 0 R
-/Resources 1328 0 R
+/Contents 2595 0 R
+/Resources 2593 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1200 0 R
->> endobj
-1331 0 obj <<
-/D [1329 0 R /XYZ 71.731 729.265 null]
+/Parent 2623 0 R
 >> endobj
-1332 0 obj <<
-/D [1329 0 R /XYZ 118.555 684.724 null]
+2596 0 obj <<
+/D [2594 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1333 0 obj <<
-/D [1329 0 R /XYZ 169.295 664.603 null]
+2597 0 obj <<
+/D [2594 0 R /XYZ 89.664 708.344 null]
 >> endobj
-1334 0 obj <<
-/D [1329 0 R /XYZ 332.365 664.603 null]
+2598 0 obj <<
+/D [2594 0 R /XYZ 71.731 706.187 null]
 >> endobj
-1335 0 obj <<
-/D [1329 0 R /XYZ 340.076 652.947 null]
+2599 0 obj <<
+/D [2594 0 R /XYZ 89.664 690.411 null]
 >> endobj
-1336 0 obj <<
-/D [1329 0 R /XYZ 71.731 609.515 null]
+2600 0 obj <<
+/D [2594 0 R /XYZ 71.731 688.254 null]
 >> endobj
-1337 0 obj <<
-/D [1329 0 R /XYZ 430.132 602.92 null]
+2601 0 obj <<
+/D [2594 0 R /XYZ 89.664 672.478 null]
 >> endobj
-1338 0 obj <<
-/D [1329 0 R /XYZ 218.914 591.264 null]
+2602 0 obj <<
+/D [2594 0 R /XYZ 71.731 652.389 null]
 >> endobj
-1339 0 obj <<
-/D [1329 0 R /XYZ 71.731 584.395 null]
+426 0 obj <<
+/D [2594 0 R /XYZ 381.763 615.173 null]
 >> endobj
-1340 0 obj <<
-/D [1329 0 R /XYZ 238.496 574.626 null]
+2603 0 obj <<
+/D [2594 0 R /XYZ 71.731 604.808 null]
 >> endobj
-1341 0 obj <<
-/D [1329 0 R /XYZ 122.052 562.97 null]
+2604 0 obj <<
+/D [2594 0 R /XYZ 277.308 595.049 null]
 >> endobj
-1342 0 obj <<
-/D [1329 0 R /XYZ 151.246 562.97 null]
+2605 0 obj <<
+/D [2594 0 R /XYZ 71.731 562.008 null]
 >> endobj
-1343 0 obj <<
-/D [1329 0 R /XYZ 180.441 562.97 null]
+2606 0 obj <<
+/D [2594 0 R /XYZ 71.731 549.056 null]
 >> endobj
-1344 0 obj <<
-/D [1329 0 R /XYZ 227.083 562.97 null]
+2607 0 obj <<
+/D [2594 0 R /XYZ 71.731 544.075 null]
 >> endobj
-1345 0 obj <<
-/D [1329 0 R /XYZ 278.209 562.97 null]
+2608 0 obj <<
+/D [2594 0 R /XYZ 89.664 523.318 null]
 >> endobj
-1326 0 obj <<
-/D [1329 0 R /XYZ 71.731 535.075 null]
+2609 0 obj <<
+/D [2594 0 R /XYZ 71.731 521.161 null]
 >> endobj
-146 0 obj <<
-/D [1329 0 R /XYZ 277.835 499.608 null]
+2610 0 obj <<
+/D [2594 0 R /XYZ 89.664 505.385 null]
 >> endobj
-1346 0 obj <<
-/D [1329 0 R /XYZ 71.731 493.481 null]
+2611 0 obj <<
+/D [2594 0 R /XYZ 71.731 477.325 null]
 >> endobj
-1347 0 obj <<
-/D [1329 0 R /XYZ 337.083 480.679 null]
+2612 0 obj <<
+/D [2594 0 R /XYZ 89.664 461.549 null]
 >> endobj
-1348 0 obj <<
-/D [1329 0 R /XYZ 71.731 460.589 null]
+2613 0 obj <<
+/D [2594 0 R /XYZ 71.731 420.538 null]
 >> endobj
-1349 0 obj <<
-/D [1329 0 R /XYZ 71.731 434.686 null]
+2614 0 obj <<
+/D [2594 0 R /XYZ 89.664 404.762 null]
 >> endobj
-1350 0 obj <<
-/D [1329 0 R /XYZ 71.731 429.705 null]
+2615 0 obj <<
+/D [2594 0 R /XYZ 193.314 404.762 null]
 >> endobj
-1351 0 obj <<
-/D [1329 0 R /XYZ 81.694 408.948 null]
+2616 0 obj <<
+/D [2594 0 R /XYZ 332.302 404.762 null]
 >> endobj
-1352 0 obj <<
-/D [1329 0 R /XYZ 71.731 406.791 null]
+2617 0 obj <<
+/D [2594 0 R /XYZ 71.731 397.624 null]
 >> endobj
-1353 0 obj <<
-/D [1329 0 R /XYZ 71.731 406.791 null]
+2618 0 obj <<
+/D [2594 0 R /XYZ 71.731 348.807 null]
 >> endobj
-1354 0 obj <<
-/D [1329 0 R /XYZ 91.656 395.996 null]
+2619 0 obj <<
+/D [2594 0 R /XYZ 71.731 306.032 null]
 >> endobj
-1355 0 obj <<
-/D [1329 0 R /XYZ 120.717 395.996 null]
+430 0 obj <<
+/D [2594 0 R /XYZ 398.777 266.66 null]
 >> endobj
-1356 0 obj <<
-/D [1329 0 R /XYZ 120.717 395.996 null]
+2620 0 obj <<
+/D [2594 0 R /XYZ 71.731 263.69 null]
 >> endobj
-1357 0 obj <<
-/D [1329 0 R /XYZ 147.218 395.996 null]
+434 0 obj <<
+/D [2594 0 R /XYZ 359.858 232.189 null]
 >> endobj
-1358 0 obj <<
-/D [1329 0 R /XYZ 147.218 395.996 null]
+2621 0 obj <<
+/D [2594 0 R /XYZ 71.731 223.737 null]
 >> endobj
-1359 0 obj <<
-/D [1329 0 R /XYZ 222.137 395.996 null]
+2622 0 obj <<
+/D [2594 0 R /XYZ 71.731 188.189 null]
 >> endobj
-1360 0 obj <<
-/D [1329 0 R /XYZ 222.137 395.996 null]
+2593 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R /F35 1185 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-1361 0 obj <<
-/D [1329 0 R /XYZ 71.731 394.557 null]
+2626 0 obj <<
+/Length 1088      
+/Filter /FlateDecode
+>>
+stream
+x��W[o�:~ϯ��]s�ol����M�PUU����pY�*������V�ti�
3�|�7@E��Pq!pMz0|`8��W�r�O��
+�m�f^]�6M��c*�Q�t�����<�P��zs�.amkغj~�<-Ҋ�O����5����Yi_¿���6�m����Ux�f��0�o���S��iY
>@X�`�\O�G�Q�/�W
pz�1�*~�!%gq�Q\�<�X3t�L꘰D(�cHW����7�Cͣ�<��yJ�yTh�V��E]I��0���F�����O��i!�C��9����9�.�Ӡ�"ti����j�^q���(��Pm���V�Az�@Ee�M�]
+^eM�4�o��I% c�J̱a��	��E�Rd|A�ls�$U���~�Þ_����~Ͱ��""-*�Ә�e�_c�V�:�Xc��k7i���;z� ⽆�iL[�����s{�:x�m��Ox�o��
‡wEe�k���]�{N��M0-��ƛ��"�ø�o�<�w��[��_,dV��pEUr)ϲd�F�/ި
+K<�j󲐻Q��x�2M7��QD��Rb2S����a������$g��앝(��\���[����J;!�����gn��Lx����	�
�8��DZf��m`��Z�S��3���|S$J����/Ӎ,ր_H��a��Ў��X�f�2i K���z����#�,6��`��~�ӂ^�nm=��>�Im�r�P��n���,*Lx�Z"t�yBWb��v��~���OJ{S��ď�w<q��Rx�-�E�-"Al(�:%�Q`o*l1�
��xG�r��D��M3�PA�i���u�ʌ��ỏ~ވ4&dCIk}��8��8���3�2�"�Å�b�eO�c�����g�)X�%CR��U!���1'ni�5c:L�d]2Ր��$�T�.�!K���(��
B�'*�HزL�����d4�r��n�J�pQ�-��iq���
���ѳ#>5B��9l2�ہm�S��4f��A�����Ç��>�	��6�o�G�yTC�}T��xv��n߄��y���]���L&���ݐN��L��~����!endstream
+endobj
+2625 0 obj <<
+/Type /Page
+/Contents 2626 0 R
+/Resources 2624 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 2623 0 R
 >> endobj
-1362 0 obj <<
-/D [1329 0 R /XYZ 91.656 383.045 null]
+2627 0 obj <<
+/D [2625 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1363 0 obj <<
-/D [1329 0 R /XYZ 135.691 383.045 null]
+2628 0 obj <<
+/D [2625 0 R /XYZ 71.731 741.22 null]
 >> endobj
-1364 0 obj <<
-/D [1329 0 R /XYZ 135.691 383.045 null]
+2629 0 obj <<
+/D [2625 0 R /XYZ 71.731 718.306 null]
 >> endobj
-1365 0 obj <<
-/D [1329 0 R /XYZ 215.989 383.045 null]
+438 0 obj <<
+/D [2625 0 R /XYZ 381.114 708.344 null]
 >> endobj
-1366 0 obj <<
-/D [1329 0 R /XYZ 215.989 383.045 null]
+2630 0 obj <<
+/D [2625 0 R /XYZ 71.731 699.891 null]
 >> endobj
-1367 0 obj <<
-/D [1329 0 R /XYZ 76.712 365.112 null]
+2631 0 obj <<
+/D [2625 0 R /XYZ 71.731 664.344 null]
 >> endobj
-1368 0 obj <<
-/D [1329 0 R /XYZ 81.694 352.161 null]
+2632 0 obj <<
+/D [2625 0 R /XYZ 71.731 609.913 null]
 >> endobj
-1369 0 obj <<
-/D [1329 0 R /XYZ 92.483 352.161 null]
+442 0 obj <<
+/D [2625 0 R /XYZ 342.285 574.446 null]
 >> endobj
-1370 0 obj <<
-/D [1329 0 R /XYZ 71.731 351.972 null]
+2633 0 obj <<
+/D [2625 0 R /XYZ 71.731 565.994 null]
 >> endobj
-1371 0 obj <<
-/D [1329 0 R /XYZ 71.731 351.972 null]
+2634 0 obj <<
+/D [2625 0 R /XYZ 71.731 540.409 null]
 >> endobj
-1372 0 obj <<
-/D [1329 0 R /XYZ 91.656 339.209 null]
+2635 0 obj <<
+/D [2625 0 R /XYZ 71.731 535.427 null]
 >> endobj
-1373 0 obj <<
-/D [1329 0 R /XYZ 71.731 337.052 null]
+2636 0 obj <<
+/D [2625 0 R /XYZ 89.664 514.67 null]
 >> endobj
-1374 0 obj <<
-/D [1329 0 R /XYZ 91.656 326.258 null]
+2637 0 obj <<
+/D [2625 0 R /XYZ 71.731 512.513 null]
 >> endobj
-1375 0 obj <<
-/D [1329 0 R /XYZ 135.691 326.258 null]
+2638 0 obj <<
+/D [2625 0 R /XYZ 89.664 496.737 null]
 >> endobj
-1376 0 obj <<
-/D [1329 0 R /XYZ 135.691 326.258 null]
+2639 0 obj <<
+/D [2625 0 R /XYZ 71.731 494.58 null]
 >> endobj
-1377 0 obj <<
-/D [1329 0 R /XYZ 76.712 308.325 null]
+2640 0 obj <<
+/D [2625 0 R /XYZ 89.664 478.804 null]
 >> endobj
-1378 0 obj <<
-/D [1329 0 R /XYZ 81.694 295.374 null]
+2641 0 obj <<
+/D [2625 0 R /XYZ 71.731 471.666 null]
 >> endobj
-1379 0 obj <<
-/D [1329 0 R /XYZ 92.483 295.374 null]
+2642 0 obj <<
+/D [2625 0 R /XYZ 71.731 448.752 null]
 >> endobj
-1380 0 obj <<
-/D [1329 0 R /XYZ 71.731 294.665 null]
+2643 0 obj <<
+/D [2625 0 R /XYZ 71.731 382.665 null]
 >> endobj
-1381 0 obj <<
-/D [1329 0 R /XYZ 71.731 294.665 null]
+2644 0 obj <<
+/D [2625 0 R /XYZ 71.731 331.691 null]
 >> endobj
-1382 0 obj <<
-/D [1329 0 R /XYZ 91.656 282.422 null]
+1140 0 obj <<
+/D [2625 0 R /XYZ 71.731 199.054 null]
 >> endobj
-1383 0 obj <<
-/D [1329 0 R /XYZ 71.731 280.265 null]
+2624 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R /F35 1185 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-1384 0 obj <<
-/D [1329 0 R /XYZ 71.731 280.265 null]
+2647 0 obj <<
+/Length 2410      
+/Filter /FlateDecode
+>>
+stream
+xڝYY���
~�_��HU#o�y�n�I��r��R�ZdK��d������OqR[[�<h�no��?ow�S�?u�8�e�����/�4�Q�G4^�^�
�]�q�{��B�uNn�;��D��5�y�� mG���G�>p����.�R�����W�����YV9����ӧW+;
+NN�����~~��N��E��Y�9�0����V�d����I�4�ǎ������7���(T�u����N�.N�>�����_�]�~����	�C�NpJw����������ӿ-'ww�c'I�-�[M�`q4�c?p\�[#t�0Fk��Ql�v�?BwOx�6��|���#ɏ^nu��^���I~6;x��#ەB]����ohEr��]�l9˨�Z;��ٽ}�ވ��U���$;���Kߪ�;>�����t���r�Q�sN�N=|�u��/JN�����NgzA
��~�DG�����u�
Rhi��t��^&���[)�i��8��v�=�
+���(f�1]��T��Q/�2�5P���Ek�W��*uW|��ZE���A8�JI䬶v1~|��<O�0��ڍ��+#>\'HbPO�}}��s�s��r�4 ��(MAj`2����3�x���W�j����FՕH��E2d�I�\s}�V�_ʚNi�ͳ�=���+�/z�c	jȔ��g�'���-�/�Nfr)4ۊt�z��j��������А��ѤBާ
+�q��
+9�津Mnl�Ɍ�#�i=Lk�6�(q� ެr#�{������W���Ga������A��dM�
��/
'�%ƌ�ӌ
�yg�adim=.��୷�4&�
+Ö�&8�*����N��vh�YS�g祰������H�$�k��q��9Wj?,�XFtvgi�P!��i=��2uicd��ZGhd�@%�kA�A{S	��&s@-P���^{P�`&�:�p�`�������Ft�N���X�T
+����9�t���8�Y��
��[Ȃ�*��5Y]�?ٔ=c+�\X|���gf����B�����k�M
flP�O����/�����B�mњf[����37�9�8��=�<t�&Ai�CG/e���
�3�(�o*����J��u��m�^߅I�-�M-�V��_������k�m�3F�E����K�0����B����X�)
+��m��
�[I�����ٞ�%]V����i5`̂j�e!C����J,�q�^�)Y�lJ��"K�ĉ�+�*�?eV����Z!�������Y.!Lm���1D������|ŸWF���I����팥ա&_�4o���C�kh';pƿ���k����|(��d��?��j�
�5��}]�:�|Z�e߬�IC��W
��\VeW��#�FVL^
+�R{�3Q���|������jb�O���+&h��Cj�f\ ���1��WE�n~n��g|7��Ք#&}d�<�	&4�v����h�{����_@7��\k��l�QR�I�V��*Hg�2b
+��3���1��6%z>�@Cj֛{vY�E�ٕ���/���хڠ0����6~M��aEϘ��z��]:#��8�e��t�z���?e&M�থ�d�L���`���C"��y�=��2YO/��g⊵�]�hv���K50�p*�Yg�w�0��XK7<�'�������2��a"3�}^��C����|��q��yj��l���j3�X�x	�Ɖ㮎��!3�&��G ��Ǩ�	jYbn�oC�N!���� ��w��f���f�_�h]{0�KxC�M�)vj�"��HMW����(�<�,`,T%+��J������ħ�C���l�"pl��9�`�7��+�c�`�z�3��e�^�1����W�xg�Z[*��f�P�Gv��!���h�v	�8���+��	@��k�d�r4t:��є?˾N��p�GP��C�^���n/EWW/g�w��r2oBlQ�������l?�a�<��e��:sQ�!��E���n�"P3[��>��!l��"
/��tX���?9I�>���6�{��a��������S1�t��2�2����0/��X�Y}�@�2�aX�-Zr��jb��� ��9݃4�0����$}�+�`˓�c�<#
84W��3�S�����+�.�p�w���Z��Ъc���Q��{E㖚GΨ�6��c�
+������TÆ����f���2Y��ʱK�&�u�9S]x�d8L
C�y�e\K�C����C&{�8����
+]�����?���Ot֮�j���՘9*�ϳ9$�%���U;l�CCȾ3A����Ӷ�	}:֒�����=M-��#�5���\�8�bZ��͎z�c/�ƥ�M��.��&N�6�����z�CO�&(=t��/%�����endstream
+endobj
+2646 0 obj <<
+/Type /Page
+/Contents 2647 0 R
+/Resources 2645 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 2623 0 R
+/Annots [ 2660 0 R 2663 0 R 2666 0 R ]
 >> endobj
-1385 0 obj <<
-/D [1329 0 R /XYZ 101.619 269.471 null]
+2660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.14 492.618 192.328 501.53]
+/Subtype /Link
+/A << /S /GoTo /D (upgrade-cvs) >>
 >> endobj
-1386 0 obj <<
-/D [1329 0 R /XYZ 71.731 267.314 null]
+2663 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.157 474.686 254.345 483.597]
+/Subtype /Link
+/A << /S /GoTo /D (upgrade-tarball) >>
 >> endobj
-1387 0 obj <<
-/D [1329 0 R /XYZ 101.619 256.519 null]
+2666 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.225 456.753 265.413 465.664]
+/Subtype /Link
+/A << /S /GoTo /D (upgrade-patches) >>
 >> endobj
-1388 0 obj <<
-/D [1329 0 R /XYZ 142.884 256.519 null]
+2648 0 obj <<
+/D [2646 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1389 0 obj <<
-/D [1329 0 R /XYZ 142.884 256.519 null]
+446 0 obj <<
+/D [2646 0 R /XYZ 341.27 705.748 null]
 >> endobj
-1390 0 obj <<
-/D [1329 0 R /XYZ 76.712 238.587 null]
+2649 0 obj <<
+/D [2646 0 R /XYZ 71.731 701.917 null]
 >> endobj
-1391 0 obj <<
-/D [1329 0 R /XYZ 91.656 225.635 null]
+2650 0 obj <<
+/D [2646 0 R /XYZ 118.555 659.727 null]
 >> endobj
-1392 0 obj <<
-/D [1329 0 R /XYZ 71.731 223.478 null]
+2651 0 obj <<
+/D [2646 0 R /XYZ 71.731 584.275 null]
 >> endobj
-1393 0 obj <<
-/D [1329 0 R /XYZ 71.731 223.478 null]
+2652 0 obj <<
+/D [2646 0 R /XYZ 71.731 579.293 null]
 >> endobj
-1394 0 obj <<
-/D [1329 0 R /XYZ 101.619 212.684 null]
+2653 0 obj <<
+/D [2646 0 R /XYZ 81.694 558.536 null]
 >> endobj
-1395 0 obj <<
-/D [1329 0 R /XYZ 71.731 210.527 null]
+2654 0 obj <<
+/D [2646 0 R /XYZ 71.731 556.379 null]
 >> endobj
-1396 0 obj <<
-/D [1329 0 R /XYZ 101.619 199.732 null]
+2655 0 obj <<
+/D [2646 0 R /XYZ 81.694 540.603 null]
 >> endobj
-1397 0 obj <<
-/D [1329 0 R /XYZ 145.653 199.732 null]
+2656 0 obj <<
+/D [2646 0 R /XYZ 71.731 533.465 null]
 >> endobj
-1398 0 obj <<
-/D [1329 0 R /XYZ 145.653 199.732 null]
+2657 0 obj <<
+/D [2646 0 R /XYZ 71.731 520.514 null]
 >> endobj
-1399 0 obj <<
-/D [1329 0 R /XYZ 177.534 199.732 null]
+2658 0 obj <<
+/D [2646 0 R /XYZ 71.731 515.532 null]
 >> endobj
-1400 0 obj <<
-/D [1329 0 R /XYZ 177.534 199.732 null]
+2659 0 obj <<
+/D [2646 0 R /XYZ 89.664 494.775 null]
 >> endobj
-1401 0 obj <<
-/D [1329 0 R /XYZ 209.414 199.732 null]
+2661 0 obj <<
+/D [2646 0 R /XYZ 71.731 492.618 null]
 >> endobj
-1402 0 obj <<
-/D [1329 0 R /XYZ 209.414 199.732 null]
+2662 0 obj <<
+/D [2646 0 R /XYZ 89.664 476.842 null]
 >> endobj
-1403 0 obj <<
-/D [1329 0 R /XYZ 241.294 199.732 null]
+2664 0 obj <<
+/D [2646 0 R /XYZ 71.731 474.686 null]
 >> endobj
-1404 0 obj <<
-/D [1329 0 R /XYZ 241.294 199.732 null]
+2665 0 obj <<
+/D [2646 0 R /XYZ 89.664 458.91 null]
 >> endobj
-1405 0 obj <<
-/D [1329 0 R /XYZ 76.712 181.8 null]
+2667 0 obj <<
+/D [2646 0 R /XYZ 71.731 451.771 null]
 >> endobj
-1406 0 obj <<
-/D [1329 0 R /XYZ 91.656 168.848 null]
+2668 0 obj <<
+/D [2646 0 R /XYZ 71.731 420.887 null]
 >> endobj
-1407 0 obj <<
-/D [1329 0 R /XYZ 71.731 166.691 null]
+2669 0 obj <<
+/D [2646 0 R /XYZ 71.731 390.003 null]
 >> endobj
-1408 0 obj <<
-/D [1329 0 R /XYZ 71.731 166.691 null]
+2670 0 obj <<
+/D [2646 0 R /XYZ 71.731 320.265 null]
 >> endobj
-1409 0 obj <<
-/D [1329 0 R /XYZ 101.619 155.897 null]
+2671 0 obj <<
+/D [2646 0 R /XYZ 71.731 276.429 null]
 >> endobj
-1410 0 obj <<
-/D [1329 0 R /XYZ 76.712 120.031 null]
+2672 0 obj <<
+/D [2646 0 R /XYZ 328.375 265.634 null]
 >> endobj
-1411 0 obj <<
-/D [1329 0 R /XYZ 81.694 107.08 null]
+1306 0 obj <<
+/D [2646 0 R /XYZ 71.731 250.526 null]
 >> endobj
-1412 0 obj <<
-/D [1329 0 R /XYZ 92.483 107.08 null]
+2673 0 obj <<
+/D [2646 0 R /XYZ 71.731 212.803 null]
 >> endobj
-1413 0 obj <<
-/D [1329 0 R /XYZ 71.731 105.672 null]
+2674 0 obj <<
+/D [2646 0 R /XYZ 222.086 179.856 null]
 >> endobj
-1414 0 obj <<
-/D [1329 0 R /XYZ 71.731 105.672 null]
+2675 0 obj <<
+/D [2646 0 R /XYZ 71.731 162.755 null]
 >> endobj
-1328 0 obj <<
-/Font << /F33 834 0 R /F23 733 0 R /F44 1007 0 R /F38 963 0 R /F27 740 0 R >>
+2645 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F44 1402 0 R /F27 1020 0 R /F35 1185 0 R /F32 1027 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1417 0 obj <<
-/Length 2066      
-/Filter /FlateDecode
->>
-stream
-xڝYK���ϯ0���A�-R�`����b�����ds�%�"Z�R�^�ק(>D=�s��.V����������]�Q����ɮ�~w����HF$�d�?<�E�i�;�w1�Q�����<!�c���5��L��{���k+{�4����/��?�i��_ǿ~���&Q��<z��8Iɋ]@BT�)�c�1�=�Q�n���p6���X���	I�[�cD�I̳�|N���-�.rXOҙ�/MW����I��8�3q�k�ŶLv�,Cq�0����a���d1JȖ�7�7+6,;�M�=�_[e����Si��p�2�t8
-��zkhϴ��,�PY���S)�*��œy.V��lX{.֗p��]�a=IvA���I����p�
z������{�do�:��җVڵ� �[\���Z����{��I���=�Zf�S����g�$�K�M�,���Ԙ΢�Zl�}m�ZZ�?�单�宿�� �(
-!�� j�)���/k$���"I��5�ּ��+��)o�gr|� (��Ҭ�Q)_U�;Q<r���m���m|�u�헺_�I��D�r�*-Î�s2��'�Nh$�t ��S����e�4����k7�458�_�;$��8�5�S��'�K�@-�>W�S��뾿}|~>H�7��)cA�޳M�r�bb�6�/̂itz��8��?)�;q�U�Z�#!�b�쑁D��1�OX�A%j'Y>�bs�cw�d^s*eq4-��xr�~iur�lji��j������<E9&�&�Q(
-N�f��jߘ��y�o�F(�
-m�>�z�S���4�|�F�EI�҈��%m�}�fG��c�'W`rh�s<D�^t0l���,!Y�1�`b��%!AQ��#�L�	��w�H��wm�N9�6E)��e�2�/)�Hǘ@3�!���S���o�Ŗ��I�׋H���[.{A�2�^����y�1Uz�ʭV���@+ ����f�d�pC�f�����X�C�~�[���;�<����3�ݨ�W�ðO�t�NJ�U��UәV(�Z~MB�~�>o_ވ�0�Hc߶�x5�얈e_�����"�\�sN-kںR:�#��U�w�X��2$�rՕ�j�.��v	o\�(�x'9J��mE�IfUaE��:�QG�,[�G�j��O�`��+�P=��h���*G#�x�pp),���F�cbch-PE�8ֺ�ͳ�H�'����$�Fj�Õ�K�����v�t���es�V^n��¦���Y{|��F���7ޏ��{����.�]�L��k�� ��'.�k.=�LN�8�R������_�����36���΢g�Ub���5Ql�ߣ���
�_�l��� �����=g�����s-�#�֫aƒ)�*��ncP��%іt�ם���� ݜmg��{*���2�<�f~���cWv=���`{�{�A���XJ����4���Zw�Ռl��7-4\T���8L�m^hcc�(�������A��&b, fO�j��6�ƪq��8�o�ْ�V�fO�Я��W]!Q�(�)2޾��2�'�b祢��+Z]a`��m#���B��}(����8CX��*:,�� 2'�_t����Ru#������>B(j/��|�Äz[�
-4�:c����
�v����'��ڝH�����@���XK�����q**�^cC���~�Y�[-�;U}]V^M���jGG�-�GR{F����y���d�W��Q�K��{H��y)u4ΝX��������g�y�fR�A�@�'-�b����6Z�C=���>ؘ# E/��?���sm�-<�f5���Qx��`�}{���f�V�h��
�����ѵ�-"�K8s�ɘ"����P�8�\^Q�&<��D�w��a2����ʫ�_����哗�D�%ԏ?o=�J?ݹ]��ٽj/!����'�@�����y�y��#{�u�o���̲u���S+�f1LM�o�~�̣Ӱ}ԯ�����N�ҿ1ؾ�A3��?��DV����6b�������X[�/�Z�endstream
-endobj
-1416 0 obj <<
-/Type /Page
-/Contents 1417 0 R
-/Resources 1415 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 1200 0 R
-/Annots [ 1434 0 R 1437 0 R 1446 0 R ]
+2678 0 obj <<
+/Length 1446      
+/Filter /FlateDecode
+>>
+stream
+xڵXm��6������[��r����(Q��ʥR�F��,����]~}�؆}����ծ�;�g���x�;>|��`��0
+b����wJ���	׈�{2��e:��й�8���Ϝ$PJ���|���d��
����u�T=�WM��·^��*����śŋ�	��	���N�̩}�I��X�g��SF�hޚ������I�A��j%�+7���wI;o��y[Yso=��+/�ŇP���b�b�<��`\�Us��x\�V��ȣZ��Q
+=��=�.���mDs]���pܺ�:ѡZ��#ѕgA�co�/;!�2�,�G{�����}�]qv�RBP���z�7Fp_��Xr��qh*����x��՟��#o�>s�/8���@��a�^��[���39���70b��,�����S��bM���f!������z$����$�[�{��
+������a�סj{�"�Z#��V�8��D(���������w
+H�7����������(�B�c�f�a�ۤ,�C��]:�Z%��jp�-.�dN� tp;�S��G!1��ԌIY	�,�ļ�8��8Fq��¯7Po�tI�����+�8j�[3!�R_o:Qk�`̤�`q���6�xbN��ʥ�^3�Y�`Wɭ�jL?Q�l�q��Ti:��[n���cm�z����ۿ|?�����r}�oiS��2aթ�W��� L��(ܭ0YR�{C׫�ʗAQeH�m'ڱ�%��S5�J��"}��
+G>���ƊCc	c�����,ٴ[���E��Un��i��P(��k�Y��љ%�9q;��!�x����9ت`����^jj�[�9�6�es#'LJ`!vz/9�/ˢ�Ga����g���~��4���)<3�T��������vv���L$�KqWT������*D^�b*������'��ɔ���r����)z��T����m�sU�Ay���d��`n�\�Aa��l��WT-2=��.�c[v��:(w���w�����ic<
�
+�8P���.���H:\��(P)m�Eg�g:��f�&9(?5p�mm�'Z�&��T��"d�A��ۍ�]�9����������PR��Z���1�g2Д�@�iT/�V���j��]_T���9�cv�
+���0��eyeʐ8�zkź�)�MM&����g��ɖ��V���]ɤ������׶��x��k����rz;��B�^7�0�t�0��B�7���n�5終u%%��){\�	&h�W�.7�j��tt���{��_��wñr,����6�FU���+�J����>�V�d749����Gۑm{�y@����3'��fS�?��������Q5��|<��	��/��������ó�`'����D�t}O�!�L?~wy������(��?��-�,r����X%
+9·�Q9E� �hendstream
+endobj
+2677 0 obj <<
+/Type /Page
+/Contents 2678 0 R
+/Resources 2676 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 2623 0 R
+>> endobj
+2679 0 obj <<
+/D [2677 0 R /XYZ 71.731 729.265 null]
+>> endobj
+2680 0 obj <<
+/D [2677 0 R /XYZ 71.731 741.22 null]
+>> endobj
+2681 0 obj <<
+/D [2677 0 R /XYZ 71.731 718.306 null]
+>> endobj
+2682 0 obj <<
+/D [2677 0 R /XYZ 104.01 708.344 null]
+>> endobj
+2683 0 obj <<
+/D [2677 0 R /XYZ 104.01 696.687 null]
+>> endobj
+2684 0 obj <<
+/D [2677 0 R /XYZ 147.048 673.375 null]
+>> endobj
+2685 0 obj <<
+/D [2677 0 R /XYZ 104.01 661.719 null]
+>> endobj
+2686 0 obj <<
+/D [2677 0 R /XYZ 71.731 586.8 null]
+>> endobj
+2687 0 obj <<
+/D [2677 0 R /XYZ 71.731 586.8 null]
 >> endobj
-1434 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.365 500.239 336.197 509.151]
-/Subtype /Link
-/A << /S /GoTo /D (troubleshooting) >>
+2688 0 obj <<
+/D [2677 0 R /XYZ 98.63 551.248 null]
 >> endobj
-1437 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.011 456.404 238.843 465.425]
-/Subtype /Link
-/A << /S /GoTo /D (parameters) >>
+2689 0 obj <<
+/D [2677 0 R /XYZ 202.297 539.771 null]
 >> endobj
-1446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.039 381.684 518.87 390.595]
-/Subtype /Link
-/A << /S /GoTo /D (extraconfig) >>
+2690 0 obj <<
+/D [2677 0 R /XYZ 306.449 539.771 null]
 >> endobj
-1418 0 obj <<
-/D [1416 0 R /XYZ 71.731 729.265 null]
+2691 0 obj <<
+/D [2677 0 R /XYZ 71.731 504.501 null]
 >> endobj
-1419 0 obj <<
-/D [1416 0 R /XYZ 91.656 708.344 null]
+2692 0 obj <<
+/D [2677 0 R /XYZ 71.731 484.576 null]
 >> endobj
-1420 0 obj <<
-/D [1416 0 R /XYZ 76.712 690.411 null]
+2693 0 obj <<
+/D [2677 0 R /XYZ 201.17 477.981 null]
 >> endobj
-1421 0 obj <<
-/D [1416 0 R /XYZ 81.694 677.46 null]
+1307 0 obj <<
+/D [2677 0 R /XYZ 71.731 419.201 null]
 >> endobj
-1422 0 obj <<
-/D [1416 0 R /XYZ 92.483 677.46 null]
+2694 0 obj <<
+/D [2677 0 R /XYZ 71.731 374.34 null]
 >> endobj
-1423 0 obj <<
-/D [1416 0 R /XYZ 71.731 676.052 null]
+2695 0 obj <<
+/D [2677 0 R /XYZ 71.731 343.321 null]
 >> endobj
-1424 0 obj <<
-/D [1416 0 R /XYZ 71.731 676.052 null]
+2696 0 obj <<
+/D [2677 0 R /XYZ 104.01 333.821 null]
 >> endobj
-1425 0 obj <<
-/D [1416 0 R /XYZ 91.656 664.508 null]
+2697 0 obj <<
+/D [2677 0 R /XYZ 104.01 322.165 null]
 >> endobj
-1426 0 obj <<
-/D [1416 0 R /XYZ 71.731 641.594 null]
+2698 0 obj <<
+/D [2677 0 R /XYZ 71.731 320.95 null]
 >> endobj
-1427 0 obj <<
-/D [1416 0 R /XYZ 71.731 615.691 null]
+2699 0 obj <<
+/D [2677 0 R /XYZ 104.01 298.853 null]
 >> endobj
-1428 0 obj <<
-/D [1416 0 R /XYZ 314.408 602.74 null]
+2700 0 obj <<
+/D [2677 0 R /XYZ 71.731 262.476 null]
 >> endobj
-1429 0 obj <<
-/D [1416 0 R /XYZ 71.731 589.788 null]
+2701 0 obj <<
+/D [2677 0 R /XYZ 104.01 240.571 null]
 >> endobj
-1430 0 obj <<
-/D [1416 0 R /XYZ 89.166 589.788 null]
+2702 0 obj <<
+/D [2677 0 R /XYZ 104.01 228.915 null]
 >> endobj
-1431 0 obj <<
-/D [1416 0 R /XYZ 71.731 574.745 null]
+2703 0 obj <<
+/D [2677 0 R /XYZ 104.01 217.259 null]
 >> endobj
-150 0 obj <<
-/D [1416 0 R /XYZ 166.615 535.472 null]
+2704 0 obj <<
+/D [2677 0 R /XYZ 104.01 205.602 null]
 >> endobj
-1432 0 obj <<
-/D [1416 0 R /XYZ 71.731 525.107 null]
+2705 0 obj <<
+/D [2677 0 R /XYZ 104.01 193.946 null]
 >> endobj
-1433 0 obj <<
-/D [1416 0 R /XYZ 258.543 515.347 null]
+2706 0 obj <<
+/D [2677 0 R /XYZ 104.01 182.29 null]
 >> endobj
-1435 0 obj <<
-/D [1416 0 R /XYZ 71.731 495.258 null]
+2707 0 obj <<
+/D [2677 0 R /XYZ 104.01 170.633 null]
 >> endobj
-1436 0 obj <<
-/D [1416 0 R /XYZ 314.966 484.463 null]
+2708 0 obj <<
+/D [2677 0 R /XYZ 104.01 158.977 null]
 >> endobj
-1438 0 obj <<
-/D [1416 0 R /XYZ 348.142 458.56 null]
+2709 0 obj <<
+/D [2677 0 R /XYZ 71.731 157.762 null]
 >> endobj
-1439 0 obj <<
-/D [1416 0 R /XYZ 414.552 458.56 null]
+2710 0 obj <<
+/D [2677 0 R /XYZ 71.731 130.683 null]
 >> endobj
-1440 0 obj <<
-/D [1416 0 R /XYZ 91.925 445.609 null]
+2711 0 obj <<
+/D [2677 0 R /XYZ 71.731 130.683 null]
 >> endobj
-1441 0 obj <<
-/D [1416 0 R /XYZ 151.7 445.609 null]
+2676 0 obj <<
+/Font << /F33 1116 0 R /F35 1185 0 R /F55 1799 0 R /F23 1013 0 R /F44 1402 0 R /F32 1027 0 R /F27 1020 0 R /F51 1649 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-1442 0 obj <<
-/D [1416 0 R /XYZ 71.731 438.605 null]
+2714 0 obj <<
+/Length 1691      
+/Filter /FlateDecode
+>>
+stream
+xڭXY��6~���C�����;�K$E�ТȶE�䁖hK�$�����wx��
� ؐ�Fs|sp����vb�b�"�NVo<�o~�`C�wF��~���N���w�N�y(�R'�	JB����/�
+��\z[��y^�M��yٜ�ыa���/eU������W���ЏQ��7����~ธ�4Ē�������[����I�v~�:���t�9n�m~Yy�� ��⡿5t,��GQ���G^HF���`�3�$Z$�(���4FI�(���ޖv��Pؿ'x�.N�WχM�"?V_�LS�`]$E�^�R(E���5m�'��ޱ&כsi�Z�InKn��E����9�zyؑ`+�}o�h(���(h#�Y�-�;C`�*�M��j�phϨ�ނuAI��4E��&g�(*J�Qe�2��*��dC�1��y��-�6ұ����v�{��ϫ�K7ޭϰ38�Ł�ʦ����ƥ�=cj�LE�LjZ�lG������Emu��(F��[ۯ��Z�gԠ�pa�4�ե,G�J���3��ọ���'���=�g�A�t��#6��3�)��@!���%�$D�g����`s�i�w���~(�t�D�5�	�׎Ѷ�-����91�#�trɭ����$�C��*�Q�W��B���b����6���>�j���'1 9Eݫϴn+fj�k�������Xه�ldm�O-YF逎'��Ʋf�s)�'�h�wg�5����R^���4�0�3�z���H5��@B�{|����|�P��Vot�z=���q�S��D��^��3]LV���l������Fџ5	o���
�x���Unl���H����0{Z1�3��`� ��Ң�&��҄BPx�/��V3�gV�� �Nw�'FiWû�G�%��9X�1X�GqƜ��{횞�L���da։]t�Y��L���%=�t��ZJ��YY7�X[Qf*^/�lyߗcZ��Lg��~i�g��
+m�JU��ۖ���(+8��ڛ|
�����)�g��Kp���3��.
+�]�r��7Е@b�cЃ�����X]�`�#~���5�Y�֖Q�\����'��vUu��qr�Ȏyf��g�ޡ,*�5�Lv�������{�S�,�M�z�ʼ<�!� *0(ĭ���ϛU�1t�V�p�Y��Rw��?h�pF�-���4��v����v����/D]�C�'��~)�5�]���:��Ҏ�}�������Yx�xwڷ�ao����U�U�S� ,�乂˧ax��Q�����A����4Bס��ѯ1�44_�V��k�J����{ k*���Xo~Zk�0Ɨ�}�J�j�KY��NRY����zO~˫
+:q�-�5�_}[��*G
0K8�dM��cX1�C%4�1���6tO��$�0�O
�>���!±�%T�wm���<��ݣ�w�D��AU����j4O����x�seS̛Z�O��Z$��4Ҭ�)��Xw�00����ﮌ�0���P\��z��7k��^ʺK<�YmN�nX�8P��<�dk&6���|�BoL8�P��"�$�՟1,�;#RN^X�b�l�A����i�b����
�m�+FR8X�
t����4s��t}��yr����7&��� 	����&�$��#Y���W#	�1q�D/ O��5�������)endstream
+endobj
+2713 0 obj <<
+/Type /Page
+/Contents 2714 0 R
+/Resources 2712 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 2623 0 R
+/Annots [ 2731 0 R ]
 >> endobj
-1443 0 obj <<
-/D [1416 0 R /XYZ 251.256 427.676 null]
+2731 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.465 264.888 196.793 273.478]
+/Subtype /Link
+/A << /S /GoTo /D (upgrade-cvs) >>
 >> endobj
-1444 0 obj <<
-/D [1416 0 R /XYZ 95.243 401.773 null]
+2715 0 obj <<
+/D [2713 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1445 0 obj <<
-/D [1416 0 R /XYZ 71.731 394.635 null]
+2716 0 obj <<
+/D [2713 0 R /XYZ 98.63 689.705 null]
 >> endobj
-844 0 obj <<
-/D [1416 0 R /XYZ 71.731 366.74 null]
+2717 0 obj <<
+/D [2713 0 R /XYZ 116.572 681.241 null]
 >> endobj
-154 0 obj <<
-/D [1416 0 R /XYZ 381.468 323.642 null]
+2718 0 obj <<
+/D [2713 0 R /XYZ 98.63 657.928 null]
 >> endobj
-1447 0 obj <<
-/D [1416 0 R /XYZ 71.731 311.204 null]
+2719 0 obj <<
+/D [2713 0 R /XYZ 71.731 626.153 null]
 >> endobj
-1448 0 obj <<
-/D [1416 0 R /XYZ 71.731 299.926 null]
+1308 0 obj <<
+/D [2713 0 R /XYZ 71.731 560.985 null]
 >> endobj
-158 0 obj <<
-/D [1416 0 R /XYZ 193.715 262.711 null]
+2720 0 obj <<
+/D [2713 0 R /XYZ 71.731 516.123 null]
 >> endobj
-1449 0 obj <<
-/D [1416 0 R /XYZ 71.731 252.346 null]
+2721 0 obj <<
+/D [2713 0 R /XYZ 71.731 433.299 null]
 >> endobj
-1450 0 obj <<
-/D [1416 0 R /XYZ 71.731 230.467 null]
+2722 0 obj <<
+/D [2713 0 R /XYZ 104.01 423.799 null]
 >> endobj
-1451 0 obj <<
-/D [1416 0 R /XYZ 71.731 230.467 null]
+2723 0 obj <<
+/D [2713 0 R /XYZ 104.01 412.143 null]
 >> endobj
-1452 0 obj <<
-/D [1416 0 R /XYZ 101.32 220.967 null]
+2724 0 obj <<
+/D [2713 0 R /XYZ 71.731 410.928 null]
 >> endobj
-1455 0 obj <<
-/D [1416 0 R /XYZ 71.731 210.825 null]
+2725 0 obj <<
+/D [2713 0 R /XYZ 104.01 388.83 null]
 >> endobj
-1456 0 obj <<
-/D [1416 0 R /XYZ 407.848 198.053 null]
+2726 0 obj <<
+/D [2713 0 R /XYZ 104.01 377.174 null]
 >> endobj
-1457 0 obj <<
-/D [1416 0 R /XYZ 71.731 172.982 null]
+2727 0 obj <<
+/D [2713 0 R /XYZ 71.731 325.568 null]
 >> endobj
-1458 0 obj <<
-/D [1416 0 R /XYZ 71.731 152.113 null]
+2728 0 obj <<
+/D [2713 0 R /XYZ 71.731 325.568 null]
 >> endobj
-1459 0 obj <<
-/D [1416 0 R /XYZ 71.731 133.431 null]
+2729 0 obj <<
+/D [2713 0 R /XYZ 98.63 290.016 null]
 >> endobj
-1415 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F38 963 0 R /F23 733 0 R /F32 747 0 R /F61 1454 0 R >>
+2730 0 obj <<
+/D [2713 0 R /XYZ 356.49 278.539 null]
+>> endobj
+2712 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F44 1402 0 R /F32 1027 0 R /F27 1020 0 R /F35 1185 0 R /F55 1799 0 R /F51 1649 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1462 0 obj <<
-/Length 2321      
+2734 0 obj <<
+/Length 2187      
 /Filter /FlateDecode
 >>
 stream
-xڥYk��6��_�O;�b��Ò�t��t3�vQ�A�mPtZ�ebdQ�8ί��S��3A ɢx_��{.'\�/\lC����P�&���&X���7�Y�6K�ޚ��o������x�?.6a�v��6�P�D�}���'�Ү�Q,#��?�\ઢu����ʯ������y�;�I�E�,~Q/�f�X/�
�7���lQ�	�f��Rh�-ߑ����U,��7�\�,�z�����`oP%j�G������w��"N�ܐU�,���sR��
-Ҭ¥�(�riK�yF�Zq��x�4�F�y]��9�>S����E?�#\7;)t"�%���D��J������XY
Οqi���5�n%-c�iyO_p.*#��<�ĉZ�I����<ڟsV���[�#��]�DI��ii
n�H�m����|r���F���~�> {5jYM<�)��Vi�:�ߎ�ݡm.�� �Χ�^���h�z�m#
-�XV�Ci���5�:��e��U��87�V?�'��X,�_��A<�3��а[$�K=���`�_w�y��p�\Vi�D
-��W��U�-KH�X��&�ԦbIj�b���lo��A]�$��7b��2$���܊�]�э���z5�/�m����2�l�����h-\������u]�U�'�5Q��L�x)B������� ���z�r\ܒ�a�+�g�Q�z=(�7�Br�p�<�8c���CEnv��R���V	�z'(KS%mo�M0��� ��0�%3�;���aľ��P
�?��*��:|]Yg|�J��w5����v5R�ɆJZ�
Z�֜�=;Ğ1������R �>�v�r�pf���?ؤA'q����G�>�/�Cݫ���A�*��3�q����*�%&L]3��~"z��}��Hg�#�9\���7i�*���k�؀�X��p�Uf��UaT=d����C9Ȱuf
--4�$	b��T��X1\Xx��+�!)���=�#���<xĦ���C�c4=��<�)V+��yN8��!���G�R�_���>!�詠��w2�F@
��շ��e��'�K�>���N���oMR3&-*�f#�k�s�.��f��Qp@�A�
<$��c��ue��OP��������n�
-%7�%c���-�7,%�O*��[�NES�Қ�mp]+C��ʷ���*��R�'R5��:�6=�ߙݓ�ot���%�l�U�^�ol�7��p&��;ˏ��C��";���49����W����$��=�K�	���	{��Ϛ-V����TU�G`z���+3p�����O�L�Y\�kq��l6���g!�P�l�
M7276X�rp��t�N�(�
u�a���
�+N[�v��[�T���P�~��x�Äb��{m���GEW�^隉�
��>)�z,鼡V��r�x!R��mu�0�6w���N��$�u�@_�:w�}�@�]��¥A���-ɡ<]���|�/��X,jrᨩn����ĕ��)!d�BM�'�ӯTY��RA>�u���-z���t4�>ġO�d1��~�
�@� ��!��YяY@l8���:��b ����'Ԏ�Q;����$Me�a���i��JE9>Ϝ��)
-�Yq?�a�vYd^W_fbfn��ySR�mS���j��t�x��[�F0V�a�u�4W����bQj*��b9
-����0h�<?!9��XOM^�A��40>�\�!��r���af|`���M����Ey��i�����Id�gb���5�l^�Mh^�x�nmP�
-
-�&��FI�v���i��ʥu'hE�KɊ����t��v�b���A#A��c���;$�*�Xot6vX
�O[f���M�4x -��QMă��UI�!�a4VYPʣ���^-q��V_�,cZK���x4s�䬖'e�N)�c G~�ͥ�D�&��R�7�鑖3�ݡp;H�Q/YG���Ǭ41-�w�>?~�O���t�q
DL��ͮ���O��4C3��Eg[�k�s�����1���q����6Ξ�Pd���wf;.���j�4X�q��X�}39.oZ�����61����~4��i��p5?�����tJJ?�>���ȩ��k���C[/'ba<a�^�������O0d��_Y��
���ex|�1	���	<%��]��U�G��5�g��NL䀚�����ڞ�7��Ib�8�Z�U�V"�gl�����m�ȸÓ�*\���-�]��wl�3n	9�Q$n�M`䤯3.���78���d(�/��_2�^e(��&��[��J�sqM�endstream
+x�}YK��6��W��J��&��8�l9����R��(���C�+�~O� =5� �@����"��we��~�3J�|�����
���UlfdE��<�獏�<-ѹJw'O›�W�J�]�"?n�(EIZ�����׃��ᔔ�>C���t��t]��>�f�x���3,wgt.R)/ڝ`�҈��N:K�h�Yo��U��� ��<R�������Ɲ^��,qW�A,�<ւЛ���a���8�{�����3N������Ã�R�8Ag��ԗO��Fa]��!^������G8�D��u��ZfyȺ�^���ͬ��M��m-j�����K��ٍ���
_���ʱR�a�0�;���|���{3�6�/%q8��;�/�N_���us������9.�PS)�a�f| �	��6~�b*��u����l�M�^� bf���j]�=���B�
�������9ָ֮�3؀P<�P?|��`O}k�cm`[���D���.�l�f�ٞ�m���U�ec�O
i:C@*� L
+�MO���y+ֈ�d(�w=�s��(Ge��`���6�}�G�T�)�&�;�/�:f.�e�3k�g�5�Y�<7��aY7
5��{�Z#
+`k�4t�sc{�<2�;��ܢ�›��[�՜O*έ�j�͘�D��ƭ�]t>q����q�7�(�G`)��E����h…b�y��N�u�
�h���ͤ�U�N
(_�sr�02��� ��87�*�!Z3�a�bS��{D�;]@���Ya֧g���[o%<��������!3J���8ɕ+N�
+Z�l=��S%sm�����M<�1�"kgH�\`�9��Z�ur�o�bW9"wlL8���*͸M� HŸ�!��+��E#F�Ե�~��%j����xO�MI*Ot�4��@6x�}�X�_�2
ˍS�,6
+�q�e���wx�`d�Sk����P��$��k��z�4��O�E�u�����,���k'�eI�7a}G��;��ޱ
n�j��J>����h<���`,���6թEڎ� $U��L"���r�%��,<.	��Ս��a�-�L)hJ��0$#\Q����68d��K�x���j�4l�/����Z�����1�s�R�����]f�=��r�樖�/߁�c[�^fS�a�&���w�sV[�����G�#M��%�8��#�U J�,PTe�M܅�
��}6S,*�y8'�o	l(�I����nC2葔V��5K0���S��#c~�%ו_(�@��!?��= �xf3tQŹfure�"-v�.�⛩`�[��<�d!������l&'�Ap@c��r��� -�b�L9ysV��Ѵh�B�F�v�2����f�j�E|T%��Ş+'J�|���ӏ�<�xu���(�u�v�,�x.���md��8��H�!l�s��������\x��z���k���-����b�6���Ѽ�k��2�d,���Q=L���"��ꝓ���;��%�m68�� ���m���l~IO��&��gw��7imÍ���4��?�*��=-�_6��I�no�kq�]�
�T�_}�i���!/Zډo��Z׻��b�i����8�L�|J
+���~e�F4��yI�<6h�.3���#�&��,�1ņ`�cat[l�@T�꘢2�2��E�o#:�:@�$�����Z2����@)(��v�(���Rs��$13��uR���~u��8$R�Q�R�A�pJ#��0V�	?�"�0"^�����F$��8GB=̵��1+Ʉ�\��V��C[���P���`�i@C�a��N�P��~��R8σN�=�7�F���\Q��,V��|�F"�VPzo�6�]�G�TSJ�m�������/Ұ�FZ�?M|
+�nt�E�8`jD\y��I'rY!�I1�]V�
Პ�I?פ[p�U0��,߮�h�f��]�j �v���`�������`�$~���%�'j^x���[)$o�[���V����C�8�K:]�tYi�	��㜋�Nt��u��˂��"V
����i�̽¸��������G���$z��U�ZB+{�f�MbmR"lKw�(1�׎�8˂6�ѶL�~��x��ԅ�_˚	J��N9��Mm;��ri����Q��̿*�
+Uq���̌�<e�'�)�BTR��F�?'��򳰓endstream
 endobj
-1461 0 obj <<
+2733 0 obj <<
 /Type /Page
-/Contents 1462 0 R
-/Resources 1460 0 R
+/Contents 2734 0 R
+/Resources 2732 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1497 0 R
+/Parent 2623 0 R
+/Annots [ 2743 0 R 2748 0 R ]
 >> endobj
-1463 0 obj <<
-/D [1461 0 R /XYZ 71.731 729.265 null]
->> endobj
-162 0 obj <<
-/D [1461 0 R /XYZ 246.48 707.841 null]
->> endobj
-1464 0 obj <<
-/D [1461 0 R /XYZ 71.731 697.698 null]
+2743 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [97.315 367.618 132.732 376.529]
+/Subtype /Link
+/A << /S /GoTo /D (gloss-daemon) >>
 >> endobj
-1465 0 obj <<
-/D [1461 0 R /XYZ 71.731 656.733 null]
+2748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.87 354.666 284.959 363.578]
+/Subtype /Link
+/A << /S /GoTo /D (gloss-service) >>
 >> endobj
-1466 0 obj <<
-/D [1461 0 R /XYZ 71.731 656.733 null]
+2735 0 obj <<
+/D [2733 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1467 0 obj <<
-/D [1461 0 R /XYZ 71.731 651.751 null]
+1141 0 obj <<
+/D [2733 0 R /XYZ 71.731 718.306 null]
 >> endobj
-1468 0 obj <<
-/D [1461 0 R /XYZ 89.664 628.937 null]
+450 0 obj <<
+/D [2733 0 R /XYZ 344.957 703.236 null]
 >> endobj
-1469 0 obj <<
-/D [1461 0 R /XYZ 293.368 628.937 null]
+2736 0 obj <<
+/D [2733 0 R /XYZ 71.731 681.855 null]
 >> endobj
-1470 0 obj <<
-/D [1461 0 R /XYZ 71.731 613.828 null]
+2737 0 obj <<
+/D [2733 0 R /XYZ 152.986 621.694 null]
 >> endobj
-1471 0 obj <<
-/D [1461 0 R /XYZ 89.664 598.053 null]
+2738 0 obj <<
+/D [2733 0 R /XYZ 71.731 616.593 null]
 >> endobj
-1472 0 obj <<
-/D [1461 0 R /XYZ 71.731 595.896 null]
+1142 0 obj <<
+/D [2733 0 R /XYZ 71.731 575.701 null]
 >> endobj
-1473 0 obj <<
-/D [1461 0 R /XYZ 89.664 580.12 null]
+454 0 obj <<
+/D [2733 0 R /XYZ 252.56 532.604 null]
 >> endobj
-1474 0 obj <<
-/D [1461 0 R /XYZ 71.731 557.206 null]
+2739 0 obj <<
+/D [2733 0 R /XYZ 71.731 528.774 null]
 >> endobj
-1475 0 obj <<
-/D [1461 0 R /XYZ 261.367 544.254 null]
+458 0 obj <<
+/D [2733 0 R /XYZ 198.219 493.231 null]
 >> endobj
-1476 0 obj <<
-/D [1461 0 R /XYZ 71.731 531.303 null]
+2740 0 obj <<
+/D [2733 0 R /XYZ 71.731 485.879 null]
 >> endobj
-1477 0 obj <<
-/D [1461 0 R /XYZ 71.731 492.449 null]
+2741 0 obj <<
+/D [2733 0 R /XYZ 71.731 427.115 null]
 >> endobj
-1478 0 obj <<
-/D [1461 0 R /XYZ 71.731 485.43 null]
+462 0 obj <<
+/D [2733 0 R /XYZ 267.87 389.899 null]
 >> endobj
-166 0 obj <<
-/D [1461 0 R /XYZ 234.86 448.095 null]
+2742 0 obj <<
+/D [2733 0 R /XYZ 71.731 379.756 null]
 >> endobj
-1479 0 obj <<
-/D [1461 0 R /XYZ 71.731 437.73 null]
+2744 0 obj <<
+/D [2733 0 R /XYZ 208.816 369.774 null]
 >> endobj
-1480 0 obj <<
-/D [1461 0 R /XYZ 71.731 407.881 null]
+2745 0 obj <<
+/D [2733 0 R /XYZ 289.872 369.774 null]
 >> endobj
-1481 0 obj <<
-/D [1461 0 R /XYZ 71.731 372.015 null]
+2746 0 obj <<
+/D [2733 0 R /XYZ 378.867 369.774 null]
 >> endobj
-1482 0 obj <<
-/D [1461 0 R /XYZ 71.731 351.145 null]
+2747 0 obj <<
+/D [2733 0 R /XYZ 417.044 369.774 null]
 >> endobj
-170 0 obj <<
-/D [1461 0 R /XYZ 200.128 313.181 null]
+2749 0 obj <<
+/D [2733 0 R /XYZ 314.01 356.823 null]
 >> endobj
-1483 0 obj <<
-/D [1461 0 R /XYZ 71.731 305.828 null]
+2750 0 obj <<
+/D [2733 0 R /XYZ 438.253 356.823 null]
 >> endobj
-1484 0 obj <<
-/D [1461 0 R /XYZ 86.396 280.105 null]
+2751 0 obj <<
+/D [2733 0 R /XYZ 476.429 356.823 null]
 >> endobj
-1485 0 obj <<
-/D [1461 0 R /XYZ 107.517 280.105 null]
+2752 0 obj <<
+/D [2733 0 R /XYZ 424.804 343.872 null]
 >> endobj
-1486 0 obj <<
-/D [1461 0 R /XYZ 143.023 280.105 null]
+2753 0 obj <<
+/D [2733 0 R /XYZ 260.352 330.92 null]
 >> endobj
-1487 0 obj <<
-/D [1461 0 R /XYZ 71.731 267.153 null]
+2754 0 obj <<
+/D [2733 0 R /XYZ 173 317.969 null]
 >> endobj
-1488 0 obj <<
-/D [1461 0 R /XYZ 71.731 260.764 null]
+2755 0 obj <<
+/D [2733 0 R /XYZ 71.731 304.918 null]
 >> endobj
-1489 0 obj <<
-/D [1461 0 R /XYZ 237.039 249.221 null]
+2756 0 obj <<
+/D [2733 0 R /XYZ 71.731 289.974 null]
 >> endobj
-1490 0 obj <<
-/D [1461 0 R /XYZ 258.16 249.221 null]
+2757 0 obj <<
+/D [2733 0 R /XYZ 210.778 278.417 null]
 >> endobj
-1491 0 obj <<
-/D [1461 0 R /XYZ 299.047 249.221 null]
+2758 0 obj <<
+/D [2733 0 R /XYZ 317.348 278.417 null]
 >> endobj
-1492 0 obj <<
-/D [1461 0 R /XYZ 226.698 236.269 null]
+2759 0 obj <<
+/D [2733 0 R /XYZ 129.377 266.761 null]
 >> endobj
-1493 0 obj <<
-/D [1461 0 R /XYZ 237.199 223.318 null]
+2760 0 obj <<
+/D [2733 0 R /XYZ 71.731 238.865 null]
 >> endobj
-1494 0 obj <<
-/D [1461 0 R /XYZ 71.731 216.18 null]
+466 0 obj <<
+/D [2733 0 R /XYZ 215.507 199.493 null]
 >> endobj
-174 0 obj <<
-/D [1461 0 R /XYZ 254.069 178.964 null]
+2761 0 obj <<
+/D [2733 0 R /XYZ 71.731 192.062 null]
 >> endobj
-1495 0 obj <<
-/D [1461 0 R /XYZ 71.731 171.612 null]
+2762 0 obj <<
+/D [2733 0 R /XYZ 397.157 179.368 null]
 >> endobj
-1496 0 obj <<
-/D [1461 0 R /XYZ 71.731 151.701 null]
+1143 0 obj <<
+/D [2733 0 R /XYZ 71.731 136.365 null]
 >> endobj
-1460 0 obj <<
-/Font << /F33 834 0 R /F23 733 0 R /F27 740 0 R /F38 963 0 R >>
+2732 0 obj <<
+/Font << /F23 1013 0 R /F27 1020 0 R /F33 1116 0 R /F35 1185 0 R /F44 1402 0 R /F55 1799 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1500 0 obj <<
-/Length 2218      
+2767 0 obj <<
+/Length 1523      
 /Filter /FlateDecode
 >>
 stream
-xڭYm��6����ȗ��5W� 8�6�!EѦ��C�-Ѷne��n�_CrH���=� 0%
�����_y��_%>I(�	�h��n������G�-�lG4�7w�Q��H���~�)ɒUB�F��������o7� ��ѿjѱ�*�~~��U�6������
-�hB�������)$�b�>/%4�b��ʜu\h5g��Q]�9��e��!t�.X[L�VO#~e�E~�'��knw�����++dQ-�7N��[d����N?�V:\�������ኬ�j9+.(o�G믥��c	���Kӷ�L���-ң��]�����j���st[����&��.rl���]�hS��Or�B�1x���-(ӕ&R���U֨��^�}�p����<68�u�s�:��t>כ��]~d'�5AW���7W�
��r�	�a���ZB�Iw*k�Z[�d��kEk�?�{�(�jK�L_��u��ٷ�;3�������f��
-=
�O(����贃��R�Ҵt���_~ɠ��@��
������[�4�2H�����7{��Ct�(V���vwY�J����b�6H�n;�8�.'ӊ���DI��À�A,�ٗ�O��U��{��_��|#�C��4�V>�2�j�j���ϖx-�I�/��{�n�bk��FQD(���ҕB)�eq�%�8��NW}����`��w���X�n�4$�d
2i��x��u��8A���8���P"��J?x���!����S>&��^�
-܁��P�®ZA����.��4�����WG�꒮/F�����A�O�H۬LH�u_?A���\�*���|��flj���4?[_�S�j��w��X1��j�,�ϑN���y5u�rd&k_��*���;�V��*U�K�e�EAEat0��`�Q;׿��[W�x��r�&�����Η�����F��
ة2��7ϒVJ��O�T�v�ȫ
-�4�z���k�c�GU����9iws�g���S;D��gt_Y;��% �cBAR�@~��զ��lGD*1�d0:O�H=d\�1I=����/�443�c���:��̢ly�I��.�}o�Q����q5R��z�F�i��T9~@��­���LaS���N�$��]w~{w��t���۴�;q�)�R�� ��.�w�����vG!�?��P+�a�
�zCt5�??�����Bs//��K������GZ˿��b��`���t�|�
oM��f:��Ǧ��u
-�GAp���1��ѧ��0���%���f^�4F����6zg�� �M_�#vf6��G�s~jX�XWF��j�L45��f����NZMR�m�>m5w�I��nwT��C'�e�t���d�21�(Iv�ft������GF����Y[ۖ�l����o65d&T@�)�Ʃj6d�u��q�s�vw���Ύ�Ov�7��ޝ
-�Db�[~M�M���0D�y-\e���"�h�d��=t��1-`��9S�a��,ֱ;�S1Ge�gH��b���<�x��q��P��A� �@$�6�;>Fj��SV'�.�/&Q@_�f�k��JͰ����0|Z7g��C -��i;��FC�0ӻ5`�F�s�ҝ�ř�<�yq{��r����d�U�����m9S�,�`�i�+(!�n��+�#�0�7��ic���cʛ�I�6�����B=�0�H&
-we]X\?��!���H
-�N� nKxD
-��/��R�Ŭr�2�*p�S4�UT�hǝ���e]L+6kU��@��;��:��(Ũ��Ũ�G��ߋ@�+!z���]����DZx
t-��L�s��&kr�b�?�I�T�pF��E=�ӫ��n�����w�Ի�G���3d)h�Q��������>@4|�nm�n	�DW�	�Q׫��~�OC\5�{ݲ~��v-��K���軨U�$�����~�;�������x�z}YC�<����/�]��~��Q��΄��o���>��\����7C�]@\� Tw�9�cχ�!J���ވ��ɀ=�,k
_c�@l+�w�@��N���‚Ōe�~>���~R�6�j��lta�+Px�ת��/��+.�!X?N��ݟ�<`�K�A%.���a�o�Ӵ�+�A�Ȁ���py�YĹF���L�&����̹�Z�xi!L$��(I��ſ�
$�?�EAJ�F
-�H?Z�s�\�����endstream
+xڭX]o�6}ϯ����)����ۦH��v������ʒ+J��_�K�R�%E]�!���{��!yj9�G�������=k��p�-�������&v������+׵"���z�8�ģ�����V��_v���f�3�D?_T��4���R��")O�O���U���Bw2,c3���
��
+���x$�a'L��w���7
+[O��徚�X�7p{�3V;ѝZ�'Y��_��y���3h.�C(��+��ߋ�L�Ll�k��A�C��[>�	��h!���1҅����(��
+�4�6��q�`m��{��
\�%��))7�؛��.�R,PQ��xNg��G�g��H�̛}MŜz��� D�%_*D�$P��f���YV��\?�y&��n%$	��=_
H��
<_W��q[�\����#6�..5ޣ�1)wzt�+\E�P
�yaX#��Q�ݔd��^���l��s�9����\��M�s�V�}^���NJ/_�^‹�B<�)�
+�dP�u��4����a�!�������i�}��C,�Q���J�VZ�u��K7Ehc����8��$�����Ѽ��#��lL���"/a�"�
+
6q���TM����z��<Ev�D�4��D��u����`oߧb��u�9YF�,����!�YܦX�+)�m�d�^Ti&�pvV��&F����`'_�g��	L<��p��	�r�c�&��EǐF`�l�'�%�۾����Fs��zgi&�<��r�]���n_^�ڵ��-+=��ܡ3�7������9��`�("l$ǿ̄a<>'
��R
����Ad�hy�|�!��B���n�o�����\�,^/�χd�q��=��CJ��)�MJ)�w�é��6v���n���J5I兝.����G����;����Yi�u�m6�H�>�`�"������a�����볩�RLuc�`�������J$���!���Z A����t�w��������]O�w�0"����W�D6��=!���Sd�:������>S�!Y�xsj���+Ŧ��K��,���̦�h�� N�hm��{���$��A7�e�o�&.*�_Ey�EX�[�Meu�0�QM�Z!y��zt��ӽ�F�4B�U�F(7u�wI&��� CI(x!�U�γ��PCp?(Ez��^���B�*�6 �{Á&�Lՙ�:�Tj|<�2h�^n�V�u��[![I���:Ǚ�bd1 �ㆣ,36v�h������܀�ve�T���f��s�;��	 ҃�=qLJ=����s];~�)�}�˕���н�?|��L�}�&�ٕ��Ý����#��$ͷ3��e	�R}�_&��;�Ț�4�y��4WZ���7:?�(U:�QOE�~�?��>C���5�φ�lO�6���}���c�e�Yu�������
+9��|ꥣ^��Q�D-_����z���y�����.T��+Izs�lmM���Hf���,�NC�J�endstream
 endobj
-1499 0 obj <<
+2766 0 obj <<
 /Type /Page
-/Contents 1500 0 R
-/Resources 1498 0 R
+/Contents 2767 0 R
+/Resources 2765 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1497 0 R
-/Annots [ 1505 0 R ]
+/Parent 2797 0 R
+/Annots [ 2771 0 R 2790 0 R 2793 0 R ]
 >> endobj
-1505 0 obj <<
+2771 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.356 570.389 300.451 578.979]
+/Rect [140.084 644.094 192.387 653.005]
 /Subtype /Link
-/A << /S /GoTo /D (gloss-contrib) >>
+/A << /S /GoTo /D (security-os-accounts) >>
 >> endobj
-1501 0 obj <<
-/D [1499 0 R /XYZ 71.731 729.265 null]
+2790 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.972 337.225 370.159 346.435]
+/Subtype /Link
+/A << /S /GoTo /D (security-mysql-account-root) >>
 >> endobj
-1502 0 obj <<
-/D [1499 0 R /XYZ 71.731 654.381 null]
+2793 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [426.009 236.881 478.312 245.792]
+/Subtype /Link
+/A << /S /GoTo /D (security-os-ports) >>
 >> endobj
-1503 0 obj <<
-/D [1499 0 R /XYZ 118.555 618.83 null]
+2768 0 obj <<
+/D [2766 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1504 0 obj <<
-/D [1499 0 R /XYZ 118.555 572.384 null]
+470 0 obj <<
+/D [2766 0 R /XYZ 164.538 705.748 null]
 >> endobj
-1506 0 obj <<
-/D [1499 0 R /XYZ 476.548 572.384 null]
+2769 0 obj <<
+/D [2766 0 R /XYZ 71.731 702.184 null]
 >> endobj
-1507 0 obj <<
-/D [1499 0 R /XYZ 71.731 538.807 null]
+474 0 obj <<
+/D [2766 0 R /XYZ 306.92 666.375 null]
 >> endobj
-1508 0 obj <<
-/D [1499 0 R /XYZ 71.731 529.896 null]
+2770 0 obj <<
+/D [2766 0 R /XYZ 71.731 656.233 null]
 >> endobj
-1509 0 obj <<
-/D [1499 0 R /XYZ 71.731 514.952 null]
+2772 0 obj <<
+/D [2766 0 R /XYZ 71.731 626.161 null]
 >> endobj
-1510 0 obj <<
-/D [1499 0 R /XYZ 71.731 502.001 null]
+478 0 obj <<
+/D [2766 0 R /XYZ 408.16 588.946 null]
 >> endobj
-1511 0 obj <<
-/D [1499 0 R /XYZ 91.656 486.225 null]
+2773 0 obj <<
+/D [2766 0 R /XYZ 71.731 578.803 null]
 >> endobj
-1512 0 obj <<
-/D [1499 0 R /XYZ 218.938 486.225 null]
+2774 0 obj <<
+/D [2766 0 R /XYZ 208.606 568.821 null]
 >> endobj
-1513 0 obj <<
-/D [1499 0 R /XYZ 255.889 486.225 null]
+2775 0 obj <<
+/D [2766 0 R /XYZ 375.619 568.821 null]
 >> endobj
-1514 0 obj <<
-/D [1499 0 R /XYZ 159.73 473.273 null]
+2776 0 obj <<
+/D [2766 0 R /XYZ 245.936 555.87 null]
 >> endobj
-1515 0 obj <<
-/D [1499 0 R /XYZ 420.689 460.322 null]
+1309 0 obj <<
+/D [2766 0 R /XYZ 71.731 542.819 null]
 >> endobj
-1516 0 obj <<
-/D [1499 0 R /XYZ 154.759 447.37 null]
+2777 0 obj <<
+/D [2766 0 R /XYZ 71.731 503.038 null]
+>> endobj
+2778 0 obj <<
+/D [2766 0 R /XYZ 71.731 503.038 null]
 >> endobj
-1517 0 obj <<
-/D [1499 0 R /XYZ 71.731 435.251 null]
+2779 0 obj <<
+/D [2766 0 R /XYZ 71.731 491.996 null]
 >> endobj
-1518 0 obj <<
-/D [1499 0 R /XYZ 71.731 424.357 null]
+2780 0 obj <<
+/D [2766 0 R /XYZ 305.215 481.748 null]
 >> endobj
-1519 0 obj <<
-/D [1499 0 R /XYZ 91.656 406.523 null]
+2781 0 obj <<
+/D [2766 0 R /XYZ 71.731 480.34 null]
 >> endobj
-1520 0 obj <<
-/D [1499 0 R /XYZ 71.731 386.434 null]
+1310 0 obj <<
+/D [2766 0 R /XYZ 71.731 458.435 null]
 >> endobj
-1521 0 obj <<
-/D [1499 0 R /XYZ 107.706 375.639 null]
+2782 0 obj <<
+/D [2766 0 R /XYZ 71.731 413.573 null]
 >> endobj
-1522 0 obj <<
-/D [1499 0 R /XYZ 204.851 375.639 null]
+2783 0 obj <<
+/D [2766 0 R /XYZ 71.731 413.573 null]
 >> endobj
-1523 0 obj <<
-/D [1499 0 R /XYZ 71.731 347.744 null]
+2784 0 obj <<
+/D [2766 0 R /XYZ 71.731 402.532 null]
 >> endobj
-1524 0 obj <<
-/D [1499 0 R /XYZ 71.731 332.636 null]
+2785 0 obj <<
+/D [2766 0 R /XYZ 149.738 392.283 null]
 >> endobj
-1525 0 obj <<
-/D [1499 0 R /XYZ 91.656 316.86 null]
+2786 0 obj <<
+/D [2766 0 R /XYZ 71.731 390.876 null]
 >> endobj
-1526 0 obj <<
-/D [1499 0 R /XYZ 71.731 283.819 null]
+2787 0 obj <<
+/D [2766 0 R /XYZ 71.731 379.36 null]
 >> endobj
-1527 0 obj <<
-/D [1499 0 R /XYZ 107.706 273.024 null]
+2788 0 obj <<
+/D [2766 0 R /XYZ 71.731 357.314 null]
 >> endobj
-1528 0 obj <<
-/D [1499 0 R /XYZ 71.731 245.129 null]
+2789 0 obj <<
+/D [2766 0 R /XYZ 71.731 357.314 null]
 >> endobj
-1529 0 obj <<
-/D [1499 0 R /XYZ 71.731 232.078 null]
+2791 0 obj <<
+/D [2766 0 R /XYZ 71.731 311.486 null]
 >> endobj
-1530 0 obj <<
-/D [1499 0 R /XYZ 91.656 214.245 null]
+482 0 obj <<
+/D [2766 0 R /XYZ 222.149 272.114 null]
 >> endobj
-1531 0 obj <<
-/D [1499 0 R /XYZ 71.731 194.155 null]
+2792 0 obj <<
+/D [2766 0 R /XYZ 71.731 264.762 null]
 >> endobj
-1532 0 obj <<
-/D [1499 0 R /XYZ 107.706 183.36 null]
+1311 0 obj <<
+/D [2766 0 R /XYZ 71.731 223.93 null]
 >> endobj
-1533 0 obj <<
-/D [1499 0 R /XYZ 71.731 155.465 null]
+2794 0 obj <<
+/D [2766 0 R /XYZ 71.731 186.206 null]
 >> endobj
-1534 0 obj <<
-/D [1499 0 R /XYZ 71.731 142.414 null]
+2795 0 obj <<
+/D [2766 0 R /XYZ 191.311 175.277 null]
 >> endobj
-1535 0 obj <<
-/D [1499 0 R /XYZ 91.656 124.581 null]
+2796 0 obj <<
+/D [2766 0 R /XYZ 71.731 168.139 null]
 >> endobj
-1498 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F23 733 0 R /F44 1007 0 R /F38 963 0 R /F52 1222 0 R >>
+2765 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R /F32 1027 0 R /F35 1185 0 R /F51 1649 0 R /F58 1979 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1539 0 obj <<
-/Length 1621      
+2800 0 obj <<
+/Length 1848      
 /Filter /FlateDecode
 >>
 stream
-xڝX[o�6~ϯа������;`@��]���0ms�m"U���;�J��n�`J$��;�9J���xi��~��$���������*0'V��jt���j�6�
�$���yQ��M�!FY��m����@ZA��
-��#�{WsAʒ�{����eeI�n�_�n��8L�&�i�=33��a��%q�~��(R��~1�|�8�Y?�����co�(�Ru�Ûe�/^�W��D��=-����Zl��D'�%�1�6r=ښ�1���[��=�="���v�y��vK:R-�u	⇦/�~2���V�ʬ��d�����̛ZVss	4�{TZfDEG�9sj�N%Çt`���X�igN/FF��g�h&�Ih�B�.��l��66_�A��9]�%���L��)��wpI0�Y��b�D^O��}G���`�~!��o�~d�_4��"%�Yӛ��D]��%<�X+�	#���G� u�	���=�&�Ƅ�L*o���6M��Ƒ|Zc�#�$^H�~���`� Qa��7�+tR=�}� !�Q~�JB����a��9Fv+�Uė��m���UѬ�˾0��-
V����tj�V���}%İv��a�_h�huf���%`�&I0��ڦ#�x�N���;~җb�k���\�zo���=�-Q�?�ys��2� ��2�t�1����A���z}<�I�@�@�� [�ׂ�G!����#XF+&�~	P�CQ�߇ /0���76Q�����hT$`����v���f�ޗ�.���|���iQ\�'�����Ӡ�8[z,Y�)��v,kVRK-���]`��)G[����<Y����]S��4Qj���!�<�‰"�@��
������j�9�d>J�}��/��V(�RX@�	6������O����%f$Q�\�x�� #��S�.�qe6b��Q�����U�-W�"ެ�c3Ƥ
r�����u���$�$f,���e��j�Gq�!J:�le��*V�����d�f����M[
m����9g�<w
�A� �<�H��05��,�Ȫ������>j��{;��X�����N*����O��(��J��� ���RMH�5W��+�͸��)s�7F���_Z�I0�m��DS���=�׋���$�k��jIn���-nƈNb�7�� ֏2s�RJV�ꁖT˱�QS������ٸe(��e��R>*T���ST�
)�<f2㟙�a���,��k�B�a���8�^�'�c��ƨ�2C��&8���z��Y����8�;CCgƜ7�?�����L��rӾ�9��&���zl⑉�|��HW��>�!��L���H�~�p:F�1�q��f��v����x�)J�ĉR�]�ᦄ����z�����E��:jV*JaⳊ(����ڨ�_�2�L�&�&�<ᨴj:�UxYI=R��"x�#�23�oo�תN��.)Y����÷���$���+�}1����!?
����Ct��3߰y[��M'w�\#'w��+���������Kͷz���ER0����D�G�ɖ�[X�6.p;�k��S0>��,�A�yN���3�f����e(�o�c82�7F�S�sR��A���&��7s��endstream
+xڥZ]��6}�_�[�(��6�#RU��M�}�Ԭڇ���H������m�`�7[�a�p�}}��5�x�;!F!�#0'=�x����
���l�����J��u�O|�p섔���q���>O�]�l��y��������(˄������7�<�v�����h�∮Kb�q�������y�8��#�&�ܿ6��ٮ��=�+|�@x@�A�s�4F4$��X<�s�&�
<XՑ��#;�]Ư��4k[~���S�>|{_W�<�/M�u�o~(ʬ���0��0a�0��xyqJ�
f�3���
_�<�T���2I�=�YT��Vi_4Y����"��m��R�hU-n��7�r��Jq��ԧ�S�����������������
+\}�?�/A�&Y���ʚ��J*�g9��ҽ��+����z2�3������O~�y1�\	�<�z'��֧sY�I��E�܉�f�`�b��.��]!�^Y���k��Ե��W7_Z9�"����u���x��\2�.ʲFȫ��A}m9K��C���N��|%��~�$o��Am��t56u݉����_v�1C�XlX�O��;����A��T�Ϻ��{�����!k�
+ J��O���!4��b�p�S-����i�4W�1����ؒ��3��;�}W$���veOm^��=].�,��슲��+K���fvNyA� |�d��U@���N"��X�q�!���:��R/D��VI%F#U3D1�.
�X'e)���갡}9�٘�V\�{s/�S�)��(c�_GQDA��n��v�^n[�G0�Q��
++l\���^Zr���a��I*W1M��]�R_o��h�I`+���X����U@Z^��|��i'$� ama	Ɇ�`�fq�l��u��5~�P�S�:�Y�J� ����#
+��!L!�N�����G�����0��S"�Ͱg��C�ss�&�\_Ts7������������҆ë��R�"�ȶ�7�}�[�+Be�/��p?�5i0C���ޠs�7^����吷z�P"#�MR�uu(�o�P\���(Ts����Z��K���__�	��Hb[$�;H:��H
+����u��a��<IJ��gC�2D�%�����V@�u3����j"�v�&��C0>T��a_#��}�%�/����q�,
+Q@lB���B��5!*�[p)=7o}��.ۯ)	�"/ד0a�  �$�l�$��Z����E\ڕ�����"R0�$�b2�Y�@>/*��E�ulj}����bX��R_4�_p�Ui)�%iI�EZ6���si���Y72�E����(�$����6k�1���.�}!5gK �DK�u��\�З��j1U�	��)�7����]N$��SDY���	����@g��@gד���Vdp"<�����ڠۣc]֕|'2�Ǯ�E�[�V��p�-S0��* �j���ժ�kժ��޿�z*�L�!
+[�����OTr����෥�%q�KW%�`�$+!�ج�5�k�U�_S�$�m��\
+f1b˂�fςήgA�y�Og0��Y�(�_zC����I����C���E�P���
+f�"$�b6�E������W�7��W��U��U��.:�O���kb�,ք��jBg�ׄήׄB�]� �]S�����Yh�%��4ȬM��|�4��֦y|��� ���Hq�~���R�I���l�3��Le�h���h���`�D#6��dv���hv�h��t.���
���d]4fQ4b��f��Fa�h�E8\�5B���H�<"�������u���&�cendstream
 endobj
-1538 0 obj <<
+2799 0 obj <<
 /Type /Page
-/Contents 1539 0 R
-/Resources 1537 0 R
+/Contents 2800 0 R
+/Resources 2798 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1497 0 R
->> endobj
-1540 0 obj <<
-/D [1538 0 R /XYZ 71.731 729.265 null]
->> endobj
-1541 0 obj <<
-/D [1538 0 R /XYZ 71.731 718.306 null]
->> endobj
-1542 0 obj <<
-/D [1538 0 R /XYZ 107.706 708.344 null]
+/Parent 2797 0 R
+/Annots [ 2806 0 R 2807 0 R ]
 >> endobj
-1543 0 obj <<
-/D [1538 0 R /XYZ 71.731 680.448 null]
+2806 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.068 566.22 307.645 574.81]
+/Subtype /Link
+/A << /S /GoTo /D (gloss-htaccess) >>
 >> endobj
-1544 0 obj <<
-/D [1538 0 R /XYZ 71.731 667.397 null]
+2807 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.114 554.671 321.927 563.154]
+/Subtype /Link
+/A << /S /GoTo /D (http-apache) >>
 >> endobj
-1545 0 obj <<
-/D [1538 0 R /XYZ 91.656 649.564 null]
+2801 0 obj <<
+/D [2799 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1546 0 obj <<
-/D [1538 0 R /XYZ 71.731 629.475 null]
+1144 0 obj <<
+/D [2799 0 R /XYZ 71.731 718.306 null]
 >> endobj
-1547 0 obj <<
-/D [1538 0 R /XYZ 107.706 618.68 null]
+486 0 obj <<
+/D [2799 0 R /XYZ 192.823 706.118 null]
 >> endobj
-1548 0 obj <<
-/D [1538 0 R /XYZ 71.731 595.766 null]
+1699 0 obj <<
+/D [2799 0 R /XYZ 71.731 705.903 null]
 >> endobj
-178 0 obj <<
-/D [1538 0 R /XYZ 413.668 556.394 null]
+490 0 obj <<
+/D [2799 0 R /XYZ 498.095 666.746 null]
 >> endobj
-1549 0 obj <<
-/D [1538 0 R /XYZ 71.731 546.029 null]
+2802 0 obj <<
+/D [2799 0 R /XYZ 71.731 656.381 null]
 >> endobj
-1550 0 obj <<
-/D [1538 0 R /XYZ 286.882 510.366 null]
+2803 0 obj <<
+/D [2799 0 R /XYZ 428.749 607.767 null]
 >> endobj
-1551 0 obj <<
-/D [1538 0 R /XYZ 71.731 477.325 null]
+2804 0 obj <<
+/D [2799 0 R /XYZ 71.731 592.658 null]
 >> endobj
-1552 0 obj <<
-/D [1538 0 R /XYZ 212.621 466.531 null]
+2805 0 obj <<
+/D [2799 0 R /XYZ 71.731 577.715 null]
 >> endobj
-1553 0 obj <<
-/D [1538 0 R /XYZ 71.731 454.411 null]
+2808 0 obj <<
+/D [2799 0 R /XYZ 76.712 538.626 null]
 >> endobj
-1554 0 obj <<
-/D [1538 0 R /XYZ 71.731 409.878 null]
+2809 0 obj <<
+/D [2799 0 R /XYZ 71.731 528.663 null]
 >> endobj
-1555 0 obj <<
-/D [1538 0 R /XYZ 71.731 372.483 null]
+2810 0 obj <<
+/D [2799 0 R /XYZ 81.694 495.787 null]
 >> endobj
-182 0 obj <<
-/D [1538 0 R /XYZ 204.576 333.111 null]
+2811 0 obj <<
+/D [2799 0 R /XYZ 71.731 493.63 null]
 >> endobj
-1556 0 obj <<
-/D [1538 0 R /XYZ 71.731 324.188 null]
+2812 0 obj <<
+/D [2799 0 R /XYZ 71.731 493.63 null]
 >> endobj
-1557 0 obj <<
-/D [1538 0 R /XYZ 137.026 287.083 null]
+2813 0 obj <<
+/D [2799 0 R /XYZ 91.656 482.835 null]
 >> endobj
-1558 0 obj <<
-/D [1538 0 R /XYZ 71.731 274.132 null]
+2814 0 obj <<
+/D [2799 0 R /XYZ 120.717 482.835 null]
 >> endobj
-1559 0 obj <<
-/D [1538 0 R /XYZ 490.675 274.132 null]
+2815 0 obj <<
+/D [2799 0 R /XYZ 120.717 482.835 null]
 >> endobj
-1560 0 obj <<
-/D [1538 0 R /XYZ 385.641 261.181 null]
+2816 0 obj <<
+/D [2799 0 R /XYZ 147.218 482.835 null]
 >> endobj
-1561 0 obj <<
-/D [1538 0 R /XYZ 71.731 248.229 null]
+2817 0 obj <<
+/D [2799 0 R /XYZ 147.218 482.835 null]
 >> endobj
-1562 0 obj <<
-/D [1538 0 R /XYZ 71.731 241.091 null]
+2818 0 obj <<
+/D [2799 0 R /XYZ 222.137 482.835 null]
 >> endobj
-186 0 obj <<
-/D [1538 0 R /XYZ 198.219 203.875 null]
+2819 0 obj <<
+/D [2799 0 R /XYZ 222.137 482.835 null]
 >> endobj
-1563 0 obj <<
-/D [1538 0 R /XYZ 71.731 196.523 null]
+2820 0 obj <<
+/D [2799 0 R /XYZ 71.731 481.396 null]
 >> endobj
-1564 0 obj <<
-/D [1538 0 R /XYZ 71.731 163.661 null]
+2821 0 obj <<
+/D [2799 0 R /XYZ 91.656 469.884 null]
 >> endobj
-1537 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F23 733 0 R /F38 963 0 R /F61 1454 0 R /F32 747 0 R >>
-/ProcSet [ /PDF /Text ]
+2822 0 obj <<
+/D [2799 0 R /XYZ 135.691 469.884 null]
 >> endobj
-1567 0 obj <<
-/Length 2106      
-/Filter /FlateDecode
->>
-stream
-xڍXmo�6����h�;�iS/������m�-�۴I�8�-�6/���T��w�*Qr�C>H�I��3������gFY�h��M:˫W��~���+�v�r���ëշq<ۡ�&�=f	ޢ]6��m�h�P�w��DI��2J�����ZHR��>���t�?YY�ů߿���M����z�5Ţx�'��3p�E8�i�"��R(���Z�ڼ��9�j)�2pJ֛��-�5�Q�� ���1��'����y#�<o���s��s��$eS�u�}�p����.�V�{i�����+�� �y�]]{�:��ɓv������\�31�r�K�����ߐ2]Y�#��q�����Y-[^t9F$�+��xg��w-��kM��%�����h=�Y'.I���_���z��@�Mۋ<
���i�����jXs���j#������"XȾ,6����y���D��+Px����Ǫz�pУ���wbeގT�+q�y�����M���`��o^r%�o����84�í�-%������7�]Ѻp��'"���,gHk1�N8B!&W�?'��T���8ټv�P�S��H���Cbi����}Cs�y��r��R����G.�3d�Q�p��P��P㚅�SHB�zpd��3�ohg9܉��! ����sACr�j����A�WT���p�D�ԡ�O���G��.G��%N���:(@��t@1����)M��ϛm�hٌ`�([���Ez?^AV������4S�u<���9Ň���d�0����a%��T��GU9hj<Ŧ&�T��ʴ���oNV��*�����f�LRa�Ql
-5P��!�9pyXя�JOZM	fX}�Cː1La9:(���Q@��j�����Nת^�^��i2�����s�����
-6��7�
-�G��F�,���E���װ��@����(�P�Ş��e�,o�,.�A�O�X]h?���6�qڇ��Q`��c�O�D��AB�%�.d�q66�Շ����A�O[zM��"SȬgCĜF�U/!��S��kϑ�2�h��Z�B������q�1�{�M��I���8Mڶ�V�3�8ԔL�A�
-�ge=�K͞���!���lڸ~����E� ~R����`>(t3�*Z�=��T��gu�A6:�6��F���
��N�kݎ��s��;C�
�0
-��Ps���L���͘:�ּٓ;��Lq�(�
-�|D⺆�ƮOQZȵ�����+���]mE���x��.Y�Мt�3�Qg"@\�����%o���,oO�4;H���ȶ]n;ҽ���A����H�q�1�����]I��V+3a���E��$uR}q�j��.&�02�k۱�����+>q֞?}�w�PS��{�\z�xΞ�z�3Fo������m�u��d�����'9�z���Smy��K�ȴ�wjM����K�$L�?6�0�X���h��~�T����I�k�Z��rW�(�]�Y`lf-����fsߑO�/ՔԾn\��X��wV7��dU%j�l�gU�����zgI�����ǫgB��Q�l���(���n��H��d��7�?"�0�-��c��H��r�,��G#�s�6�(�Q���l�
ڮ�Wo�ܚ�`��Q�5>H>�����Y
-c���͒����(��v���' }_Oc�m�Y�"!=,�u�`�8�c�v�Rp,ߦ��V�%��������w��0(�xQ�[37t"��:�w�<Ue()B�}{���n?ڜ��3��F7��$Fk���7�@����8N8�66�ߐlQ������
P�f�������S����ً�`�.�"���zxm�&I�4JQ�����O���SdJ|:�컣1x�}�b	�ͧ�"�����A�x���,�L�v=��K�W����P��)
!�O���LZ�����rXk8�mR�"m
-��v
X_�f��ʎJ�-�IV�g�e���o�0��f-�u´]Ccu��}��)~����{�M��B_��í��6(**Ä\��!H�ͩ��Q�ܡ�ʕ#��co��[��x��/��ie��?E)���n�AYn7endstream
-endobj
-1566 0 obj <<
-/Type /Page
-/Contents 1567 0 R
-/Resources 1565 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 1497 0 R
-/Annots [ 1586 0 R 1587 0 R ]
+2823 0 obj <<
+/D [2799 0 R /XYZ 135.691 469.884 null]
 >> endobj
-1586 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.887 214.651 375.19 223.562]
-/Subtype /Link
-/A << /S /GoTo /D (install-perlmodules) >>
+2824 0 obj <<
+/D [2799 0 R /XYZ 215.989 469.884 null]
 >> endobj
-1587 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [91.377 203.757 112.249 210.611]
-/Subtype /Link
-/A << /S /GoTo /D (gloss-ppm) >>
+2825 0 obj <<
+/D [2799 0 R /XYZ 215.989 469.884 null]
 >> endobj
-1568 0 obj <<
-/D [1566 0 R /XYZ 71.731 729.265 null]
+2826 0 obj <<
+/D [2799 0 R /XYZ 76.712 451.951 null]
 >> endobj
-190 0 obj <<
-/D [1566 0 R /XYZ 237.557 708.149 null]
+2827 0 obj <<
+/D [2799 0 R /XYZ 81.694 439 null]
 >> endobj
-1569 0 obj <<
-/D [1566 0 R /XYZ 71.731 700.797 null]
+2828 0 obj <<
+/D [2799 0 R /XYZ 92.483 439 null]
 >> endobj
-1570 0 obj <<
-/D [1566 0 R /XYZ 431.12 688.025 null]
+2829 0 obj <<
+/D [2799 0 R /XYZ 71.731 438.811 null]
 >> endobj
-1571 0 obj <<
-/D [1566 0 R /XYZ 469.297 688.025 null]
+2830 0 obj <<
+/D [2799 0 R /XYZ 71.731 438.811 null]
 >> endobj
-1572 0 obj <<
-/D [1566 0 R /XYZ 119.332 675.073 null]
+2831 0 obj <<
+/D [2799 0 R /XYZ 91.656 426.048 null]
 >> endobj
-1573 0 obj <<
-/D [1566 0 R /XYZ 71.731 662.122 null]
+2832 0 obj <<
+/D [2799 0 R /XYZ 71.731 423.891 null]
 >> endobj
-1574 0 obj <<
-/D [1566 0 R /XYZ 387.963 662.122 null]
+2833 0 obj <<
+/D [2799 0 R /XYZ 91.656 413.097 null]
 >> endobj
-845 0 obj <<
-/D [1566 0 R /XYZ 71.731 621.176 null]
+2834 0 obj <<
+/D [2799 0 R /XYZ 135.691 413.097 null]
 >> endobj
-194 0 obj <<
-/D [1566 0 R /XYZ 350.135 576.021 null]
+2835 0 obj <<
+/D [2799 0 R /XYZ 135.691 413.097 null]
 >> endobj
-1575 0 obj <<
-/D [1566 0 R /XYZ 71.731 563.85 null]
+2836 0 obj <<
+/D [2799 0 R /XYZ 76.712 395.164 null]
 >> endobj
-1576 0 obj <<
-/D [1566 0 R /XYZ 71.731 521.421 null]
+2837 0 obj <<
+/D [2799 0 R /XYZ 81.694 382.213 null]
 >> endobj
-1577 0 obj <<
-/D [1566 0 R /XYZ 442.608 510.626 null]
+2838 0 obj <<
+/D [2799 0 R /XYZ 92.483 382.213 null]
 >> endobj
-1578 0 obj <<
-/D [1566 0 R /XYZ 71.731 495.518 null]
+2839 0 obj <<
+/D [2799 0 R /XYZ 71.731 381.504 null]
 >> endobj
-198 0 obj <<
-/D [1566 0 R /XYZ 242.621 458.302 null]
+2840 0 obj <<
+/D [2799 0 R /XYZ 71.731 381.504 null]
 >> endobj
-1579 0 obj <<
-/D [1566 0 R /XYZ 71.731 450.95 null]
+2841 0 obj <<
+/D [2799 0 R /XYZ 91.656 369.261 null]
 >> endobj
-1580 0 obj <<
-/D [1566 0 R /XYZ 71.731 392.185 null]
+2842 0 obj <<
+/D [2799 0 R /XYZ 71.731 367.104 null]
 >> endobj
-1581 0 obj <<
-/D [1566 0 R /XYZ 71.731 340.38 null]
+2843 0 obj <<
+/D [2799 0 R /XYZ 71.731 367.104 null]
 >> endobj
-202 0 obj <<
-/D [1566 0 R /XYZ 175.703 308.066 null]
+2844 0 obj <<
+/D [2799 0 R /XYZ 101.619 356.31 null]
 >> endobj
-1582 0 obj <<
-/D [1566 0 R /XYZ 71.731 301.939 null]
+2845 0 obj <<
+/D [2799 0 R /XYZ 71.731 354.153 null]
 >> endobj
-1583 0 obj <<
-/D [1566 0 R /XYZ 231.281 289.137 null]
+2846 0 obj <<
+/D [2799 0 R /XYZ 101.619 343.358 null]
 >> endobj
-1584 0 obj <<
-/D [1566 0 R /XYZ 148.931 276.185 null]
+2847 0 obj <<
+/D [2799 0 R /XYZ 142.884 343.358 null]
 >> endobj
-1140 0 obj <<
-/D [1566 0 R /XYZ 71.731 269.047 null]
+2848 0 obj <<
+/D [2799 0 R /XYZ 142.884 343.358 null]
 >> endobj
-206 0 obj <<
-/D [1566 0 R /XYZ 245.449 235.737 null]
+2849 0 obj <<
+/D [2799 0 R /XYZ 76.712 325.426 null]
 >> endobj
-1585 0 obj <<
-/D [1566 0 R /XYZ 71.731 229.61 null]
+2850 0 obj <<
+/D [2799 0 R /XYZ 91.656 312.474 null]
 >> endobj
-1588 0 obj <<
-/D [1566 0 R /XYZ 71.731 193.794 null]
+2851 0 obj <<
+/D [2799 0 R /XYZ 71.731 310.317 null]
 >> endobj
-1589 0 obj <<
-/D [1566 0 R /XYZ 120.149 182.237 null]
+2852 0 obj <<
+/D [2799 0 R /XYZ 71.731 310.317 null]
 >> endobj
-1590 0 obj <<
-/D [1566 0 R /XYZ 71.731 170.581 null]
+2853 0 obj <<
+/D [2799 0 R /XYZ 101.619 299.523 null]
 >> endobj
-1591 0 obj <<
-/D [1566 0 R /XYZ 71.731 150.656 null]
+2854 0 obj <<
+/D [2799 0 R /XYZ 71.731 297.366 null]
 >> endobj
-1592 0 obj <<
-/D [1566 0 R /XYZ 471.861 139 null]
+2855 0 obj <<
+/D [2799 0 R /XYZ 101.619 286.571 null]
 >> endobj
-1593 0 obj <<
-/D [1566 0 R /XYZ 407.026 127.343 null]
+2856 0 obj <<
+/D [2799 0 R /XYZ 145.653 286.571 null]
 >> endobj
-1565 0 obj <<
-/Font << /F33 834 0 R /F23 733 0 R /F27 740 0 R /F38 963 0 R /F61 1454 0 R /F44 1007 0 R >>
-/ProcSet [ /PDF /Text ]
+2857 0 obj <<
+/D [2799 0 R /XYZ 145.653 286.571 null]
 >> endobj
-1597 0 obj <<
-/Length 1206      
-/Filter /FlateDecode
->>
-stream
-xڥWmo�6��_ad,�WKr�nm���@=��2����D$R�z����Q�e'i�!�v���;����� �I�!�H0����,��/'��p���'�vv2����d�p0�D~J�d��I�`0��t.V�jX=r��s��P
-
-.��~�.��EAG�~=y?��Ädi��_�̑cA8�}��1x��$�"�Y@"�\JR�B�g���9+
-��	S�[�/-�Y��F��V�D�q�E@�~����M��o�A�f�=�i.��
�Fݎ|G��T�vW��جN���S{d��E��E.GA���.0�ⴾ��@�=(e�o</`���l�A4��
�\5���-Vz�ӀtX��L�(J{�	�I/9~���E�\�:5��	\�R�@
-����5mE��8�v}M�_�r)P.Lw:}�$i�2�=�wQ�����-44״�sSmMkt�L���)7#w�yΏ�F})n�\К
-��
-�Ϛ��z�+\���r0�H��Fu���5����)7�����d��z�����e!ri#�!aW�P������W$�����Y��b�WV/yދf��gYZ�x��#��	ײ�����(��'��G$�H��$�O�;���ʗU�l���;%�������3��.�Z)�AF��x`��޵�H�H�
 �����t�Q�Lvb�����1m��GYC�\��
-�ܭ�"�%��篌*�:���"W�<�5��~��Q��
-�l�5��
.�A�\Q��u��;��k�L�L���fq�#��m�m+��E��M�R���J��&�e��������7����B}���>+&r̕!b��hMK�s;�SD(�
��#sά�*��*��3��X�6�o�� $��$�j.���{\55���r��V�����y�(�b}���7bcn;��]r���~����n���u� �����,+*6D��s���P�#���ak�`�歹���k�iS��Z֖�M'��uѦ�j�w�X�������V��6�7uz��
-C�EDE_�N�]-˞��
-�l:,�3�ӊ.y$�=�{xo��W[Z���{�>�\Һ��B��"�x?�@�a�<�A=YF�}
���ù�{.��SVJ�s�7�������HF�j%jzR6�
�c��Pj����#�~�G)I��ٟ;��_q���S.��S�&�-�;�Yendstream
-endobj
-1596 0 obj <<
-/Type /Page
-/Contents 1597 0 R
-/Resources 1595 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 1497 0 R
+2858 0 obj <<
+/D [2799 0 R /XYZ 177.534 286.571 null]
 >> endobj
-1598 0 obj <<
-/D [1596 0 R /XYZ 71.731 729.265 null]
+2859 0 obj <<
+/D [2799 0 R /XYZ 177.534 286.571 null]
 >> endobj
-1599 0 obj <<
-/D [1596 0 R /XYZ 71.731 718.306 null]
+2860 0 obj <<
+/D [2799 0 R /XYZ 209.414 286.571 null]
 >> endobj
-210 0 obj <<
-/D [1596 0 R /XYZ 339.476 708.344 null]
+2861 0 obj <<
+/D [2799 0 R /XYZ 209.414 286.571 null]
 >> endobj
-1600 0 obj <<
-/D [1596 0 R /XYZ 71.731 699.706 null]
+2862 0 obj <<
+/D [2799 0 R /XYZ 241.294 286.571 null]
 >> endobj
-1601 0 obj <<
-/D [1596 0 R /XYZ 71.731 674.306 null]
+2863 0 obj <<
+/D [2799 0 R /XYZ 241.294 286.571 null]
 >> endobj
-214 0 obj <<
-/D [1596 0 R /XYZ 239.699 646.077 null]
+2864 0 obj <<
+/D [2799 0 R /XYZ 76.712 268.638 null]
 >> endobj
-1602 0 obj <<
-/D [1596 0 R /XYZ 71.731 638.879 null]
+2865 0 obj <<
+/D [2799 0 R /XYZ 91.656 255.687 null]
 >> endobj
-1603 0 obj <<
-/D [1596 0 R /XYZ 82.521 628.144 null]
+2866 0 obj <<
+/D [2799 0 R /XYZ 71.731 253.53 null]
 >> endobj
-1604 0 obj <<
-/D [1596 0 R /XYZ 71.731 616.025 null]
+2867 0 obj <<
+/D [2799 0 R /XYZ 71.731 253.53 null]
 >> endobj
-1605 0 obj <<
-/D [1596 0 R /XYZ 71.731 584.907 null]
+2868 0 obj <<
+/D [2799 0 R /XYZ 101.619 242.736 null]
 >> endobj
-1606 0 obj <<
-/D [1596 0 R /XYZ 71.731 561.893 null]
+2869 0 obj <<
+/D [2799 0 R /XYZ 76.712 206.87 null]
 >> endobj
-1607 0 obj <<
-/D [1596 0 R /XYZ 71.731 528.717 null]
+2870 0 obj <<
+/D [2799 0 R /XYZ 81.694 193.919 null]
 >> endobj
-1608 0 obj <<
-/D [1596 0 R /XYZ 71.731 503.646 null]
+2871 0 obj <<
+/D [2799 0 R /XYZ 92.483 193.919 null]
 >> endobj
-1609 0 obj <<
-/D [1596 0 R /XYZ 71.731 472.528 null]
+2872 0 obj <<
+/D [2799 0 R /XYZ 71.731 192.511 null]
 >> endobj
-1610 0 obj <<
-/D [1596 0 R /XYZ 71.731 449.514 null]
+2873 0 obj <<
+/D [2799 0 R /XYZ 71.731 192.511 null]
 >> endobj
-1611 0 obj <<
-/D [1596 0 R /XYZ 71.731 416.339 null]
+2874 0 obj <<
+/D [2799 0 R /XYZ 91.656 180.967 null]
 >> endobj
-218 0 obj <<
-/D [1596 0 R /XYZ 223.694 383.462 null]
+2875 0 obj <<
+/D [2799 0 R /XYZ 76.712 163.034 null]
 >> endobj
-1612 0 obj <<
-/D [1596 0 R /XYZ 71.731 376.264 null]
+2876 0 obj <<
+/D [2799 0 R /XYZ 81.694 150.083 null]
 >> endobj
-1613 0 obj <<
-/D [1596 0 R /XYZ 238.577 365.529 null]
+2877 0 obj <<
+/D [2799 0 R /XYZ 92.483 150.083 null]
 >> endobj
-1614 0 obj <<
-/D [1596 0 R /XYZ 71.731 340.458 null]
+2878 0 obj <<
+/D [2799 0 R /XYZ 71.731 148.675 null]
 >> endobj
-1615 0 obj <<
-/D [1596 0 R /XYZ 71.731 262.715 null]
+2879 0 obj <<
+/D [2799 0 R /XYZ 71.731 148.675 null]
 >> endobj
-1616 0 obj <<
-/D [1596 0 R /XYZ 71.731 239.701 null]
+2880 0 obj <<
+/D [2799 0 R /XYZ 91.656 137.132 null]
 >> endobj
-1595 0 obj <<
-/Font << /F33 834 0 R /F23 733 0 R /F27 740 0 R /F48 1021 0 R /F52 1222 0 R /F38 963 0 R >>
+2798 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R /F44 1402 0 R /F51 1649 0 R /F35 1185 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1619 0 obj <<
-/Length 2350      
+2884 0 obj <<
+/Length 2197      
 /Filter /FlateDecode
 >>
 stream
-xڕY[o�8~�00�bZ�]-v�ig�ɢ����v����%�H5���=$��],�D�tt]8�C%�7!n,��g��7��P�X#ɺG�~�f���	IBo��-|�$ZD�K��]l�-?ғ`�j���%�z[q��eQ����v�ߢ,�տ��x���
-
��$�wQ/C3U,^�6a(3�91�|_)�~����T��ʿ:����T�)%a�)�l�^o>�Qg3�z>Aҟ��jE��v��F��ދZ_�CZ�>;�J�+�ěz���u��{��>�gͷ
�ƫi��X��1-�!'������KX��2��q��K�;8���߯���
�0�rIP�K�>�RK��~g|�VV猠W�x=	tk��j�.�	�_�&���R-�,�i3��
-����t{E2��&��M�Ԫ�#{�����?���z��r�;��;�ki��̈́����=Y��l�*�)�yf˄.���z� B�5�}gy=��~�|����V.�LS5,��G�t��)�������X�?�ng9�=ZqL�ͥ�C*~��zS(u����IJ����)EKI�(L��{�i�r��M!�^��j���:����z	��[�i���"C���^�ϼ1#��#�Pe�����D�$&�}Q������T�h�wuÌ�yAجV���W�q��7U}���XVȇ���Tz��º-z6K��J�խj`�^�c�xnx�hCs��1�y�OP@�Ľ(��\?f�}nڞ�Sk��H�-nHBEuI�VS�䲔.�s\�@���t�k�툶\a�L�ͱ�rՓ_��{����\�n���сW3��Z��.3�y�eq���hJ�a�|�I��[�r�!*�A����F^r�j����&�3�v��9��&�i(��Lq,��b$�+�8�@ϼhd\��愪���f�"��hs����W��" ��&��~6�ב�$���W�$��`���CYh~߳�/$�*�t޲S*C�NLs)�C`^���@��LN$��saޚ�ڴ��<����L��½3�i��¤vB�h	@��`����8�K3���Q_�̎k��=�O'3�G(4o�J��������zR��S�6f6�O��:�B���/dntV��"� Q�P2-"�}��Pg�%*q��z���(ŢS �2�+\�7h�)j9�p�5P�R��|_��𱨞�͠-�����X�ic�O�6l:.����*q�7 �~���hh�ŀ�|w<�s8����h`�B��΂��]J�J{(i����-�X�M*&6��@G�Y���f. e���R㩑�EM�f�8�2�L������Ve���Z���_[�s%������I��֡�l�4�g��p����t��swZi��a�	�A>�{��e��B;����@9���Ǔ�8�/SG��?]6��@�N�8Y�A6�z2[�׫�~�`|��n�2��P��t;����nj.ouX��,ыVݘ���b�5c1���(����&�]h��L��u�h�I3R�t�r����aBB?�,i&B�Y�F�;��}��\�v
�r��MD���ڒ�';���8mWT�M��MoW8m����x
����TvҚ9��x��$UM5�ٖ
-9����m�Tʼn����#mK�
[�Q��G��B����j"�2�0���*����e�F������c��3�X�c��Yw�=w��I0��+����?K+>���W� ʸNW9,����DE�D��t�7�ѡ�
p xh��^�B��!zI�37�~�9zc�˄U���4��7�/�÷Y�ʵ��vI��y�bBmYa|��ͮ퇕l�,
-eݖ�0|}S��1�ÈD^0�B/mL�!��&8e�3Q�$��{%���Ɋ�C0�:�4e"��4�Ey>Y`�x# �례�A{/���ľ.㛒K
|:DI8R|�;I�{l"�*�P�#>�k-�}?��t�4LzAf7xJK�T}g���~,P���ˇ*#|9����q�:5�'�:���ڄ�Zfl<#����otg��yC=���f0�{���=N�-fT�֕=���gJyb��B��s4f@�9	���t֌=]���t�)�8����\�/}�W�Y��M�h؟-���®I��`�����z��:�$wPg����@�)Q���8���L�~�}"t��uZ�C�Y�}�Z��><���kvU����1ɢ�Js
{\]���o:�zԝJ^�~K�(p�>�]��~�˗9�n��o�?�l��i�������}�뿣�uﺥ^b�C)_������-��j��
^�:9p���1��a^�?TG2A����5L�(�����T�������endstream
+xڕY[���~�����kĻ(m��d����C��9���H�3�f��s��8���bH��9����p�_�ڇd�%:�(KW��U�:Û�_�f��,�zk�=��}ǫ9d���J����a��#�����u}w��d�f��:!���?�UE��O��;.�7�}��Շ'3����7ղkfzE�A/k^��8I�Z-�����\����B�]I%u�6��<���J}_7����G��	���]ɪg��}m��e�}z����&֬4~�x�krX�����+j��k�95�f��Ѓ��m���?�I������me�|���oa����͆�M�
��0ߴT�'Գ鬢�V�y3��k��:;�^i������@�\t�J�
��MG;������Py������Q�o��Z�ϼ6�(9
+f(����+/�5ޏ9�oF�+f<���^Adc���S�]��Mm\(�yu�D��?/�5̳8���ip��}�ۙTr�k�É���|}ށ����h�����˿��`�Poi�D��]����Y�A��h�׌�ا��hB��;�r�;�0㛇M"���n����F��槰|bG�N�%l�Q���qqר�F�8Y��
+b؛�*0�]����&M�jBRx���	�k�efW�1+F�D߿B?~~6��g���lB�u?��I���Q'A��(PO�jX�u3	~u5^�PW3��!T�(]m��dj�޾�ˠ���.�A�+���^�S��kqa��y����d�|�		��>`�l�E���l��@���i"�d*>�n��M�v�M��y��H�i�l�!��8�J)a\ղ�cċ��4��F5vT���`.��pm�}F�*t��^(���J�m�Ed���f{h���ނW���X7Շi�B��~��d;&G�Gy�)+� �)��֔_:����P}y���v�f@P�('��F�?��.@/JIXan=��ճڶgb��5me}1�D��z���&�Ip�miq3P��{c��".�ZG�u��Uy�&�S6*����m�,�)	E�kޠ����������-��Zq�n�N�Wrbh	U�
+��kME��+��5��)zl'&��Ψu/-�=���5)	H���'DI��2 �L��Q�$X[:�<�l^�q�l�h�����ƻ~4fTc:$����c#�L���7Z[�ib��ϼ�}AQ�v"Q���B�a��8�A�{�m}%�N��	�o� H�,�ޤ��g$�'�$�H���լ�z�f��t#��T_^�$�׷��53y>�b&����@D=bs�R���ٶ�
c�jr�gu����"��=�H���&���Ɖ��z����\�¥M�ۺ
=�k������5��
t� �
	�%馎��n�؄���@�,�b��]�Ɂ�Q2�y��]W
-=��V\��/�P���'�,5�"��������7~7���(�\�CBŔ��ս�0
+	��ƃ̜���2_Zm����X��PP3;�jA��!hav �!t�R1Ne�4�ZB<f���:
+m{%v�g�Z7j&^!	����a9�`�r���թ��x�q�7a�&��Hx�d'1}�%���'��M�>	�4F5�P������rYu����������"E�[9�8Ȏ����y��wÒ�yF͍��S����;SΊ�h�Nu��1�N5��T�z��K��lzt������<��1?��o�p���؛�����K�_G��ʹv��=�*��
+1��W��s��Uo��,�����L��0Ś�4�	�-x%�OD���r��'I���l�)�3�K��v+��݇m2�mH��s������ܳ��d��Qb0[�s�|��#�r~��TT�]����PO�/�g~�4���<��s��e���]�p�C�{�Eq=�$W\�������>��tOR�����E�b�l�E31�����$̙�6��|���͒��c"p�/���V�����4��i�y#br�J�=4�t�"�5#u(�Nw<���������DX~�$��ڪ��b8P���h۵��V~�'�E0�J����I{���$;X�v��*1�"l��b݀�*Xu���؅Y�G1�M�,饰;�!��Y� M�sѯ�?}��9�{�a�vj�`4��IN�p�_Ò{O+��E�����E�	 �u�endstream
 endobj
-1618 0 obj <<
+2883 0 obj <<
 /Type /Page
-/Contents 1619 0 R
-/Resources 1617 0 R
+/Contents 2884 0 R
+/Resources 2882 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1497 0 R
-/Annots [ 1624 0 R 1625 0 R 1637 0 R ]
+/Parent 2797 0 R
+/Annots [ 2895 0 R 2900 0 R 2908 0 R ]
 >> endobj
-1624 0 obj <<
+2895 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.113 551.766 198.751 560.677]
+/Rect [179.678 602.148 232.014 610.63]
 /Subtype /Link
-/A << /S /GoTo /D (security-access) >>
+/A << /S /GoTo /D (http) >>
 >> endobj
-1625 0 obj <<
+2900 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.326 551.766 535.492 560.677]
+/Rect [286.374 440.364 305.821 449.275]
 /Subtype /Link
-/A << /S /GoTo /D (http) >>
+/A << /S /GoTo /D (gloss-dos) >>
 >> endobj
-1637 0 obj <<
+2908 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.482 326.834 269.647 333.709]
+/Rect [257.573 217.057 308.76 225.969]
 /Subtype /Link
-/A << /S /GoTo /D (gloss-cpan) >>
->> endobj
-1620 0 obj <<
-/D [1618 0 R /XYZ 71.731 729.265 null]
+/A << /S /GoTo /D (security-bugzilla-charset-ex) >>
 >> endobj
-1621 0 obj <<
-/D [1618 0 R /XYZ 71.731 675.068 null]
+2885 0 obj <<
+/D [2883 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1622 0 obj <<
-/D [1618 0 R /XYZ 71.731 634.122 null]
+2886 0 obj <<
+/D [2883 0 R /XYZ 71.731 718.306 null]
 >> endobj
-222 0 obj <<
-/D [1618 0 R /XYZ 244.612 598.755 null]
+2887 0 obj <<
+/D [2883 0 R /XYZ 507.004 682.441 null]
 >> endobj
-1623 0 obj <<
-/D [1618 0 R /XYZ 71.731 590.117 null]
+2888 0 obj <<
+/D [2883 0 R /XYZ 333.328 669.489 null]
 >> endobj
-1626 0 obj <<
-/D [1618 0 R /XYZ 71.731 551.766 null]
+2889 0 obj <<
+/D [2883 0 R /XYZ 249.253 643.587 null]
 >> endobj
-1627 0 obj <<
-/D [1618 0 R /XYZ 71.731 536.822 null]
+2890 0 obj <<
+/D [2883 0 R /XYZ 474.147 643.587 null]
 >> endobj
-1628 0 obj <<
-/D [1618 0 R /XYZ 296.033 527.323 null]
+2891 0 obj <<
+/D [2883 0 R /XYZ 478.57 643.587 null]
 >> endobj
-1629 0 obj <<
-/D [1618 0 R /XYZ 415.776 504.01 null]
+2892 0 obj <<
+/D [2883 0 R /XYZ 71.731 630.635 null]
 >> endobj
-1630 0 obj <<
-/D [1618 0 R /XYZ 71.731 466.152 null]
+2893 0 obj <<
+/D [2883 0 R /XYZ 71.731 630.536 null]
 >> endobj
-226 0 obj <<
-/D [1618 0 R /XYZ 177.791 426.78 null]
+2894 0 obj <<
+/D [2883 0 R /XYZ 71.731 615.592 null]
 >> endobj
-1631 0 obj <<
-/D [1618 0 R /XYZ 71.731 419.427 null]
+2896 0 obj <<
+/D [2883 0 R /XYZ 71.731 576.139 null]
 >> endobj
-1632 0 obj <<
-/D [1618 0 R /XYZ 71.731 399.517 null]
+494 0 obj <<
+/D [2883 0 R /XYZ 369.383 536.767 null]
 >> endobj
-1633 0 obj <<
-/D [1618 0 R /XYZ 220.441 375.771 null]
+2897 0 obj <<
+/D [2883 0 R /XYZ 71.731 533.575 null]
 >> endobj
-1634 0 obj <<
-/D [1618 0 R /XYZ 71.731 368.633 null]
+2898 0 obj <<
+/D [2883 0 R /XYZ 71.731 516.439 null]
 >> endobj
-1635 0 obj <<
-/D [1618 0 R /XYZ 455.258 357.838 null]
+2899 0 obj <<
+/D [2883 0 R /XYZ 71.731 468.423 null]
 >> endobj
-1636 0 obj <<
-/D [1618 0 R /XYZ 71.731 350.7 null]
+2901 0 obj <<
+/D [2883 0 R /XYZ 253.806 429.569 null]
 >> endobj
-1638 0 obj <<
-/D [1618 0 R /XYZ 71.731 326.834 null]
+2902 0 obj <<
+/D [2883 0 R /XYZ 172.213 416.618 null]
 >> endobj
-1639 0 obj <<
-/D [1618 0 R /XYZ 71.731 311.89 null]
+2903 0 obj <<
+/D [2883 0 R /XYZ 241.622 403.666 null]
 >> endobj
-1640 0 obj <<
-/D [1618 0 R /XYZ 119.568 288.697 null]
+2904 0 obj <<
+/D [2883 0 R /XYZ 349.357 403.666 null]
 >> endobj
-1641 0 obj <<
-/D [1618 0 R /XYZ 91.656 277.041 null]
+1145 0 obj <<
+/D [2883 0 R /XYZ 71.731 373.614 null]
 >> endobj
-1642 0 obj <<
-/D [1618 0 R /XYZ 145.49 277.041 null]
+498 0 obj <<
+/D [2883 0 R /XYZ 171.235 330.517 null]
 >> endobj
-1643 0 obj <<
-/D [1618 0 R /XYZ 242.613 277.041 null]
+2905 0 obj <<
+/D [2883 0 R /XYZ 71.731 326.686 null]
 >> endobj
-1644 0 obj <<
-/D [1618 0 R /XYZ 301.289 277.041 null]
+502 0 obj <<
+/D [2883 0 R /XYZ 413.668 291.144 null]
 >> endobj
-1645 0 obj <<
-/D [1618 0 R /XYZ 138.317 265.385 null]
+2906 0 obj <<
+/D [2883 0 R /XYZ 71.731 280.779 null]
 >> endobj
-1646 0 obj <<
-/D [1618 0 R /XYZ 244.477 265.385 null]
+2907 0 obj <<
+/D [2883 0 R /XYZ 286.882 245.117 null]
 >> endobj
-1647 0 obj <<
-/D [1618 0 R /XYZ 71.731 237.489 null]
+1312 0 obj <<
+/D [2883 0 R /XYZ 71.731 217.057 null]
 >> endobj
-1648 0 obj <<
-/D [1618 0 R /XYZ 175.156 224.538 null]
+2909 0 obj <<
+/D [2883 0 R /XYZ 71.731 179.334 null]
 >> endobj
-1649 0 obj <<
-/D [1618 0 R /XYZ 71.731 186.516 null]
+2910 0 obj <<
+/D [2883 0 R /XYZ 184.656 168.404 null]
 >> endobj
-1652 0 obj <<
-/D [1618 0 R /XYZ 71.731 130.391 null]
+2911 0 obj <<
+/D [2883 0 R /XYZ 71.731 161.266 null]
 >> endobj
-1653 0 obj <<
-/D [1618 0 R /XYZ 71.731 120.428 null]
+2912 0 obj <<
+/D [2883 0 R /XYZ 71.731 136.659 null]
 >> endobj
-1617 0 obj <<
-/Font << /F33 834 0 R /F38 963 0 R /F27 740 0 R /F23 733 0 R /F44 1007 0 R /F68 1651 0 R >>
+2882 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R /F44 1402 0 R /F55 1799 0 R /F35 1185 0 R /F32 1027 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1657 0 obj <<
-/Length 2114      
+2916 0 obj <<
+/Length 2237      
 /Filter /FlateDecode
 >>
 stream
-xڵY[��6~ϯ���G��yK�m�ER��h-Ӓ0��RR'�_���EW{)A`�"y��w�\��wF�$A$vi���e��WX�p�g���������KPz��e��%�.���;�߿�i�1qpH��	R�궣eYԙz~�g�)ʒ�}�׫����P{w����%��ݍ���V�0u7.�K��_<L࿿T+�����4#q�i5�[V�h� NP�3
�9S*9R�R^U�>��g��v�����T�������R��ۆ�G��>j6����x.�|q*�ۿv���g����뒒���v�!�`u'�	nq0A�N��v�\<ٔ8���C�u�炋�x��t�`]/�yW�km��A�%EVԴ�،�1��F��n��Kn�^�S�[�JP�
Q7�K�X��H����X��7V�4���]��7ﻦ�N������d}���,Y���ai�U�_��:�v�?I �*&��77b�Կd.l'կ�>�y�Y���5t�Z_�:�
-.KƦ]ʅ�;���������z;�C��ҷ�t|�)P�K|�y���E-M�:���>1�{�\}�$P�d��c`�m�'�u�R�iٟMŁGB�q55�g�t^?o��&���$��q�bi��h[@	��n�/�yy
-�m�h�Z��u#`}k!�n�
�������U���T�ڇh(�f]W�E7ő�$\xY�	�M�Yf0�:I��V���@\�y����˭av{�LPV���9��@�
&��4g�Spנ�\;$P�x�!S�knA�jJZ.8qS贖6��JW�%�7k�g�bK��������Z^����yBe*��.>/�A�G��2�`�d��D��;��@��P�D�db�G&���AL�Num�,ק�=�Ӄ�OOs*���������o>�-�#�e����>Lx�e�����y�B�P�mG50�
V�C�{���%�XY��Z���kQ/��B�+OD��@�I�0�
�O&h'��RR�f��$���@��1�2��I�(�6缓u�IHA�;R��-S�9<d�w�=/{�@s��	�f��F�t<��T��]�v��^�'؆^9�XeU��,M������;�J<:�7�`Y�j&���_Eʶ��%ȋ�
�����o�҉�۽�J����~}��^#wƦ���,��֪:{�5"hbH�ך������L�\����5u�vO����(<�{}��y�P��T�3k�r��j�mк�������).2c�\q�3�7�b��`�Q�IH��.R���I
7��8>M�ZC��eͺ6�
CM*��U\uc���L^$�7p��׾y|4_�V�����ԉ���p�M�m&8$��*�l'��+zfs'O{�e)�"iY�Da���c�M6!߬q&�VȻ<H���9�+�Q�"������£� �	���0A����
�j��	r!��ib���dyІVL�%J�}�j�}�I�|�WNx/mwI֋�N2�l[���m����@8�Q��bN4����\��vt�J~5�)uc
�b����
8%�.9�R=L��\�dҾ�+��oA��z�J�s��ұz
-�J�dG�
V����?�.}�Ǽ����G�,m���z�jVͪ `43��8F1�`��@�yY^�5n�����3_��Uk��B�}<K��й�Y����؄],:�6@^��jՍ�����l��=�8�.��:X����N��fE,����F��l6���'L8�=蠱~���n9Dt�A}�.n0���|�p���H(����m3H+0Q@���v�2U�P���#Ry*�C�'u�ݽ~���� !�.�1e�i���K74�w�|����+��m����#��hQA�5ۜ��`���⒙�������a���d�g��޵��Q�ᛐ=�h?~bcwh6��|H����ASg�+S��Y����]eQ��������hh���ѡ��=�]Xj#��C/��<���69�o^�ĿB�g�M(�����z~���&����J�*�~X�z�VY�q�0T'[St�bݟ����~c?1�����{�Z��²endstream
+xڝYK�ܶ�ﯘ[f�4X�o&�HvRr�]I��9�>pI�"�����קt��C�D��l���!~�?d�e|���P�w�������8MY�����9�2V����Ix�xw��0:�K�����N	"F������Z�Fџ�a�f??LèZ9��b�O�/�i��o�?�<c!O���Y�eF\�8�x<��Q����B�r��CI١`E����Dk
+��\����ؗ���Ǫ��Au�Ax�z-:.��U�_�>٧���ó�}R���Yc�����~���08~����Q�OQK��7�7�P�B#P7��i'gW��ӫ���ؖ�p����d�"���y
+���O�������x�呬F<�N��n>^}�ߦۥ/k�4��>�E����~Ё1�[�<��m�Ԇt�"���)�@Sl�Ìg��'��*�[����_D�9{x+N7�yj�;T�<�T����([��`�����$9KIK�`�=�����6b���YWv����
+
+��|z%E�F�A��JO�2�e��j��(ad���w�@�4Jû�lJg�4v���������!���C̙���ME�:]Ҏxլ�ƀt}|���1�:���y�Z�>�͸�(N��sh��X[Ţ,r��u��N�`��+��W��0�S�S���ؖ�I�8;� �ba�F���+d(?�P\){S���"�W�+J��C#f\0蓮�ve�ft��C:/�	���u�܍-qĂ���CU������v�Rv�c���-HX%������A�5� e,�����d6f=z�� ������4]�a����V��!s��@�R-I�}�>}�]9\w���C�"t.|V���z�����A;-�P^����"H톼%�jv΁J
+�u����Be��t��t�{�l���V@ƌ:�]\ߋƂ�V�sX�,.���k"�ؖ@�r�W��rjƝ�:�I��4!�R-�L�`�\�Ew��.�z�d��U�n��sRQ�ak��<bI�,bQ�5(���߂C
����^���8
+�gEzqx�{�������p�2�z_��p&e�q�΋B�g��j�(�q�<�D���w�Z�DZ��,���Qn)�E�ڡr�Qy�o���%�a�ʱ����9'���HP�qѿ��dƫI)x�O�Y�����U�KJ5�M��n~�Ɓ��F������Lߞ���/�<ay�?�ħK��[�{բ�LD�݉���:����Q:����s�K���k�{��� ���Ը�6�"�U�`[E>�+:�i��n�U� 0���K��,�s���i��'��l�B���!��	Ui԰֮�9B˲]&����	��دSb'9ܯ�:s��r����E������ �C��}�Q3J��#_!M�W�����ҏ����q��80��	a�La���!n�������sE-*9�I��v�
4�,i�;�����F�'�Zk�&�A���}Ҩ���шGa�U���6�ݵ\ks��e"so��2Mv
3jM��J��r~{����T��n��lqrZq�ϖdA���ǜ�n�}1�pn�;����W��к0T���uXƛ�Po��[JS������2Qό��G�_e6<Y�3|�1lK75,d,H��Ɇ[��`�|]i�$�G6}_w�r��^2Z��ԥ�Emn\��J���N�)���"���;z�*]Zlc��*��0�i�z�0��̒�Z`�y M���
+���Y�wO37#_��uD�2:��0��r7E�?��Y^$�WÙm�hZ�w�b�zfii
�%�f��I��;�?aq@����;��bC�h�Ⱗ[\�=��bN�͗n�� �]l�����5l!�_���$B��V�I�4��Fڈ�y�5ӧjf`���+j�d"8�����hbe��[?�e����lW�..J���Tc�fͶ�y��&���dKH������9��ޙ���+p[�6u�y<_�R���UO?����M_���(:������kS�=R��O����3�kN�g�N ������\�h�r�R�����%��!`��w��ʀ��\D�8�Y\�[h�m-{��B C�y�ރ��,����<.���n�1�Q_J�Y�+�p����]Ź�j���-:�:�'Z�A���dP:��{`��Cmi�.c��H9n�d�0���{w���<o18�Xf�[N��L�m�����Q�\���endstream
 endobj
-1656 0 obj <<
+2915 0 obj <<
 /Type /Page
-/Contents 1657 0 R
-/Resources 1655 0 R
+/Contents 2916 0 R
+/Resources 2914 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1690 0 R
-/Annots [ 1684 0 R 1685 0 R ]
->> endobj
-1684 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.933 261.152 275.764 270.063]
-/Subtype /Link
-/A << /S /GoTo /D (installation) >>
+/Parent 2797 0 R
+/Annots [ 2920 0 R ]
 >> endobj
-1685 0 obj <<
+2920 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.088 261.152 393.92 270.063]
+/Rect [390.612 583.608 442.915 592.519]
 /Subtype /Link
-/A << /S /GoTo /D (configuration) >>
->> endobj
-1658 0 obj <<
-/D [1656 0 R /XYZ 71.731 729.265 null]
->> endobj
-1659 0 obj <<
-/D [1656 0 R /XYZ 71.731 693.235 null]
+/A << /S /GoTo /D (template-http-accept) >>
 >> endobj
-1660 0 obj <<
-/D [1656 0 R /XYZ 365.347 677.46 null]
+2917 0 obj <<
+/D [2915 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1661 0 obj <<
-/D [1656 0 R /XYZ 71.731 657.37 null]
+1146 0 obj <<
+/D [2915 0 R /XYZ 71.731 718.306 null]
 >> endobj
-230 0 obj <<
-/D [1656 0 R /XYZ 245.404 620.154 null]
+506 0 obj <<
+/D [2915 0 R /XYZ 388.547 703.236 null]
 >> endobj
-1662 0 obj <<
-/D [1656 0 R /XYZ 71.731 612.802 null]
+1147 0 obj <<
+/D [2915 0 R /XYZ 71.731 692.184 null]
 >> endobj
-1663 0 obj <<
-/D [1656 0 R /XYZ 110.475 587.078 null]
+510 0 obj <<
+/D [2915 0 R /XYZ 303.155 651.159 null]
 >> endobj
-1664 0 obj <<
-/D [1656 0 R /XYZ 71.731 574.127 null]
+2918 0 obj <<
+/D [2915 0 R /XYZ 71.731 638.988 null]
 >> endobj
-1665 0 obj <<
-/D [1656 0 R /XYZ 71.731 562.008 null]
+2919 0 obj <<
+/D [2915 0 R /XYZ 71.731 609.511 null]
 >> endobj
-1666 0 obj <<
-/D [1656 0 R /XYZ 71.731 562.008 null]
+2921 0 obj <<
+/D [2915 0 R /XYZ 71.731 583.608 null]
 >> endobj
-1667 0 obj <<
-/D [1656 0 R /XYZ 101.32 552.508 null]
+514 0 obj <<
+/D [2915 0 R /XYZ 308.598 546.392 null]
 >> endobj
-1668 0 obj <<
-/D [1656 0 R /XYZ 71.731 551.293 null]
+2922 0 obj <<
+/D [2915 0 R /XYZ 71.731 536.249 null]
 >> endobj
-1669 0 obj <<
-/D [1656 0 R /XYZ 101.32 540.852 null]
+2923 0 obj <<
+/D [2915 0 R /XYZ 349.9 526.268 null]
 >> endobj
-1670 0 obj <<
-/D [1656 0 R /XYZ 71.731 539.637 null]
+2924 0 obj <<
+/D [2915 0 R /XYZ 212.571 500.365 null]
 >> endobj
-1671 0 obj <<
-/D [1656 0 R /XYZ 101.32 529.196 null]
+2925 0 obj <<
+/D [2915 0 R /XYZ 308.56 500.365 null]
 >> endobj
-1672 0 obj <<
-/D [1656 0 R /XYZ 71.731 527.981 null]
+2926 0 obj <<
+/D [2915 0 R /XYZ 71.731 487.413 null]
 >> endobj
-1673 0 obj <<
-/D [1656 0 R /XYZ 101.32 517.539 null]
+2927 0 obj <<
+/D [2915 0 R /XYZ 157.2 487.413 null]
 >> endobj
-1674 0 obj <<
-/D [1656 0 R /XYZ 71.731 516.324 null]
+2928 0 obj <<
+/D [2915 0 R /XYZ 71.731 485.256 null]
 >> endobj
-1675 0 obj <<
-/D [1656 0 R /XYZ 101.32 505.883 null]
+2929 0 obj <<
+/D [2915 0 R /XYZ 118.555 446.692 null]
 >> endobj
-1676 0 obj <<
-/D [1656 0 R /XYZ 71.731 494.227 null]
+2930 0 obj <<
+/D [2915 0 R /XYZ 164.167 438.228 null]
 >> endobj
-1677 0 obj <<
-/D [1656 0 R /XYZ 71.731 484.264 null]
+2931 0 obj <<
+/D [2915 0 R /XYZ 337.547 426.572 null]
 >> endobj
-846 0 obj <<
-/D [1656 0 R /XYZ 71.731 444.249 null]
+2932 0 obj <<
+/D [2915 0 R /XYZ 71.731 392.995 null]
 >> endobj
-234 0 obj <<
-/D [1656 0 R /XYZ 239.15 401.152 null]
+518 0 obj <<
+/D [2915 0 R /XYZ 347.534 360.599 null]
 >> endobj
-1678 0 obj <<
-/D [1656 0 R /XYZ 71.731 388.714 null]
+2933 0 obj <<
+/D [2915 0 R /XYZ 71.731 350.234 null]
 >> endobj
-1679 0 obj <<
-/D [1656 0 R /XYZ 71.731 364.484 null]
+2934 0 obj <<
+/D [2915 0 R /XYZ 71.731 307.434 null]
 >> endobj
-238 0 obj <<
-/D [1656 0 R /XYZ 215.851 327.269 null]
+2935 0 obj <<
+/D [2915 0 R /XYZ 406.571 296.639 null]
 >> endobj
-1680 0 obj <<
-/D [1656 0 R /XYZ 71.731 319.916 null]
+2936 0 obj <<
+/D [2915 0 R /XYZ 111.263 270.736 null]
 >> endobj
-1681 0 obj <<
-/D [1656 0 R /XYZ 135.183 307.144 null]
+2937 0 obj <<
+/D [2915 0 R /XYZ 71.731 268.579 null]
 >> endobj
-1682 0 obj <<
-/D [1656 0 R /XYZ 361.601 294.193 null]
+2938 0 obj <<
+/D [2915 0 R /XYZ 71.731 253.635 null]
 >> endobj
-1683 0 obj <<
-/D [1656 0 R /XYZ 71.731 274.103 null]
+2939 0 obj <<
+/D [2915 0 R /XYZ 71.731 204.584 null]
 >> endobj
-1686 0 obj <<
-/D [1656 0 R /XYZ 112.677 237.406 null]
+2940 0 obj <<
+/D [2915 0 R /XYZ 71.731 178.681 null]
 >> endobj
-1687 0 obj <<
-/D [1656 0 R /XYZ 71.731 204.365 null]
+2941 0 obj <<
+/D [2915 0 R /XYZ 213.956 165.73 null]
 >> endobj
-242 0 obj <<
-/D [1656 0 R /XYZ 134.71 148.499 null]
+2942 0 obj <<
+/D [2915 0 R /XYZ 71.731 163.573 null]
 >> endobj
-1688 0 obj <<
-/D [1656 0 R /XYZ 71.731 141.147 null]
+2943 0 obj <<
+/D [2915 0 R /XYZ 71.731 148.629 null]
 >> endobj
-1689 0 obj <<
-/D [1656 0 R /XYZ 436.908 115.423 null]
+2944 0 obj <<
+/D [2915 0 R /XYZ 134.999 139.13 null]
 >> endobj
-1655 0 obj <<
-/Font << /F33 834 0 R /F68 1651 0 R /F27 740 0 R /F23 733 0 R /F32 747 0 R /F38 963 0 R /F61 1454 0 R >>
+2914 0 obj <<
+/Font << /F23 1013 0 R /F27 1020 0 R /F35 1185 0 R /F44 1402 0 R /F48 1414 0 R /F32 1027 0 R /F33 1116 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1693 0 obj <<
-/Length 1645      
+2948 0 obj <<
+/Length 2560      
 /Filter /FlateDecode
 >>
 stream
-x��X�o�6����DbZoY�V,ϢC�s��X���h��,���$+����;�v��P`
P�q���wG{��A�$���2?����,`��G#"m��/�`��4w�A�MX���g����9gK^�����u|��W�jyQ�r���n�,
->���׃��^h$,�_����(�/dAkͬ�n�&�g4�Y��P2ʼ�ǽ"fu��EC�߮^4<�I[��v��h
-�E,f��TH�ظ���2Ϗ��a9�#�/�^�<��Dֵs:�ק���QL��e������0	����JDgD3����]ż f�$!޼��P�%����:Ћ�Ӄ����G@��E�r�O��S�qy;�Y��U�hs�; ��^�	��VU�D�[����*p�9�KN{%�z �U�.+Cmy���{�x�(��ʻB(������U�\W�X~�|�Rxc�#b��E�⠩�B��4Z ��q
-���m��\������:
-�`^�
2�uԻ��f�V�b��	o7��`�y��=��~V����TJl۵i9^���F�i��8B�� ����+�=S��%����0���)0Ha�D���ln����Զ��0:��#+\*�
2�)A얂�<[
-�B'����6�ͥy�U��K�﵉�>�Yp���c��͍K�6�C�^��'^Ϫ�
-ЂTK��f��XR9E�[��A��e:*F9c3���!L��O�!�������i]i�  ��3ܩQ�r�K}5��&�s�I7=j�i�X����n���5�k��"��^�1����ט�zT
-J�n�F,�2{
-7�@ϖ�#�
-GK�Em�^V{��N��6@�wLe`2��ءbM� ��^j��hб�������c����	J�s�ye�COo^_�����嫋��).q͆�Ϗ�����lŸ��1H�X�B����,��:G��y�R�l�^]i��W[MbI���s�B�a��^�_\���m����]^���nQi��'积�o��{����	Ga���9x��tO�������#���X��`�����O5o������ �֞����u�`'!�{6h��yZL���BB�3u D
-��]!�&��l����Pv�K)�\��d9_C�ouW��1��YY��׎�d��dmF�Z֖�,c�nͼg�z����v��(Գzj�'�_Q/��z�|B����z?�ZO"ˏ�$M�Bk��
W�k�H��3�������7�C��R<I�S�Jyn{;[TntW"�F2�W5þjFT53J�f���e.-�Q�
��P�ՇNtb��.���}^ }m�)���tsD�%�i7�������l�59��4���U=�L��~�ʼn����9LCbo�F�T��ڜ&��z*���+���v���e��I�簚r��Yi�2�M�*�g�)�t�)����6Jl��$yQG�'�.��J�����\�g:�Ѕ"�P�$U5���ݨ
-;�NB���5��eu��,
��Y[��+v��
-^b�I�.ϛ�����?�t�M1}����K�ŁGB�%��#I!u�mT� rY��[��-��,d�����>���uGuSAح��_-��&^���R�$;?�D����eb҅���#���1���endstream
+xڭY[�۶~�_��f���;��/�k'�$�4V��ęDB"� `�ͯ����u�L'����|߹1X��_��/��'�{a���˝�:�_��슝]��yq�{xE���O��ᴊ�̋�x�E��'��P��~Y����f&�:����NH~�E��������&X�MC6���{up''Q�����ᚙta�K�J��R	w��9_Ђ��\_�����'�[h����Ysfߪx�ؕG�S'�}R�w�x��d.$�7A��M�������3�����[R�-�W�!Xl�Boo-�a��V�ap��~Qv������f_���BZ��Z���'sA��Z�tN��MZg��[�^����7Z����ZS�.s'�yG�7���x���9��"�-����8w�%LR�����x $)�b��4�C�uK�ۧ���q96��]Q�Is�]�4$lh"�3������MI�����*�@36�R�f��w=��&L�7ܝ^�
�Ɯ�.�y��g-zR/�x+ݱs_@� _�?�嚡�nwF7a����0ĵo�`��s�B�p���q��	�SQj&$�B��C��ʱ����5+��
+��
]�Ɓ�BJ:p	�ԩ��v�����L
+j)��`��IK��Ewk�Ñ5�X��
%�@��ϵ5�PU~F VI���`H�;RHe��jo��*��:6<���,n�>����B\%�)*8�S��<l�-ݹ��ʅ��>��K�y��@�$(�)�h�/��E/��G��
+�H�[�ĀD؃�a]Li�y'�����$�ZL��,�����9Z吘S��H�a�څ��j}��4� Q�ua�Ei��5?�3iˆ
+uRY3�FU]T�K'p��	A��ܨ��s�M�5u�W�vC�
���
�ag񧛁ya����
+��.F���C�Z����GAew���\�4��Y`�"'�W��Il���@tU@�Ey�~x�4��K��R"�U��x��ͭƄz\Q#G��~��&���_|�졤'�5r.�>����n�����o,���.P���$r�{AhϷ%�L�]b��X,}NXoZ�A�%Y�JBpk�k�w?��J(H������N-������*���h������ݿ�N�����?��yW�K�[�P�]��^�����*�����F~�EI����������M�"2�5��:A���t�'GOo����/��^#JZ��K��}�l�"�,��!��O0)�{�~�?)�|?�))�y~T���a��π\�N�?�\TrFZĚ>��F卺�Z{���vQy���Kn��kS����L`�d�PeGK����m�
+e�`�rk�UrֱqF�$٧���$~����<���?O�!B*_f���� ���!������ź���Um��_��ħ)T����b9`5��<��t13eA�@��:e_.hd.JՅL���[n� �㥖=��P�ܝ6�K����D�٘
+��Y	���a}�5h��
��H,Wv*�RR�첏����ڡԀ�˾d
+�0?�^گ�޿B~�b�ެ��3]\����������vS��4
������_	n���W�K[X�F;t~�{y�MfOL���TT�M�@�O4��>i�	m���.+ϣ�����m*
+z�Ս,+i9.ֈP3(�l�O����.��t�Լ$m8�K�Y�ܵ-er����@���ԭ�Q���X���:�`魼j�S7}}���Ƈ�G���,���W6��;�vRs#	�ҭ��Ф����#b�*m�U����{�O�J�V�Eא��낾�$G�Isi��|�c�cw�8��v=�}s��;s�����dO�+�$���W��~�z����8���0�la�E�7�G.5l7e��k��l=���]��ҢƶΪj���J��Y!���p�>��tҲ �M�`��w�*��\N�M���Lۥ���1}�-�Q1�<�ts�CJ���{@m����_Y�g6b/N.�U49����"K��(��	4���y��k�O�WTal2����ak2�Mo���D-]`m�+�M8Ʌ6I�G�D迹)�j|�Ɯi�)K;$�N�Ѿ��;�,�n�h�p��n����}���8��GZ�!���˴��������	n�Z�G�n`DM���}���L�v]ཊ-.I�i~����Zs��c�h25XZ��,P�/a:u�(�0�zU&V;b �BN��@�&�)d��݃����:�.�6@_���b�Xw9Ο
+�����u�Φ+��Al�)O�Ĉ��ں��v4Tbfe�2&�gw}h#�A����\d�r�If8�a?<p;05;>��Z����]FW����PC�G:�iS
+x!��y�T�W5�?����J�
+�@�������N,���
+�ߑ���3�jF[6��s�c�SK�N�m���.;᷑#��Gwg�]���7��e�6��L�جjTD2��;�-�)G&�K�6]��E�!,Տ����P5�l�[���B;�כ3�`��thH����d�/������ Ѩ�:k��sν<�>�m�_2�4�@[=�]�L��}靟�_���endstream
 endobj
-1692 0 obj <<
+2947 0 obj <<
 /Type /Page
-/Contents 1693 0 R
-/Resources 1691 0 R
+/Contents 2948 0 R
+/Resources 2946 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1690 0 R
->> endobj
-1694 0 obj <<
-/D [1692 0 R /XYZ 71.731 729.265 null]
+/Parent 2797 0 R
 >> endobj
-1695 0 obj <<
-/D [1692 0 R /XYZ 71.731 718.306 null]
+2949 0 obj <<
+/D [2947 0 R /XYZ 71.731 729.265 null]
 >> endobj
-246 0 obj <<
-/D [1692 0 R /XYZ 442.833 707.841 null]
+2950 0 obj <<
+/D [2947 0 R /XYZ 71.731 718.306 null]
 >> endobj
-1696 0 obj <<
-/D [1692 0 R /XYZ 71.731 697.476 null]
+2951 0 obj <<
+/D [2947 0 R /XYZ 71.731 649.4 null]
 >> endobj
-1697 0 obj <<
-/D [1692 0 R /XYZ 129.185 687.716 null]
+2952 0 obj <<
+/D [2947 0 R /XYZ 71.731 597.594 null]
 >> endobj
-1698 0 obj <<
-/D [1692 0 R /XYZ 71.731 680.578 null]
+2953 0 obj <<
+/D [2947 0 R /XYZ 71.731 582.65 null]
 >> endobj
-1699 0 obj <<
-/D [1692 0 R /XYZ 71.731 623.791 null]
+2954 0 obj <<
+/D [2947 0 R /XYZ 408.289 573.151 null]
 >> endobj
-250 0 obj <<
-/D [1692 0 R /XYZ 330.146 586.576 null]
+2955 0 obj <<
+/D [2947 0 R /XYZ 203.16 561.494 null]
 >> endobj
-1700 0 obj <<
-/D [1692 0 R /XYZ 71.731 576.211 null]
+2956 0 obj <<
+/D [2947 0 R /XYZ 485.768 561.494 null]
 >> endobj
-1701 0 obj <<
-/D [1692 0 R /XYZ 71.731 541.754 null]
+2957 0 obj <<
+/D [2947 0 R /XYZ 76.712 533.201 null]
 >> endobj
-1702 0 obj <<
-/D [1692 0 R /XYZ 71.731 485.9 null]
+2958 0 obj <<
+/D [2947 0 R /XYZ 118.555 489.655 null]
 >> endobj
-1703 0 obj <<
-/D [1692 0 R /XYZ 139.576 473.998 null]
+2959 0 obj <<
+/D [2947 0 R /XYZ 134.999 481.191 null]
 >> endobj
-1704 0 obj <<
-/D [1692 0 R /XYZ 71.731 461.878 null]
+2960 0 obj <<
+/D [2947 0 R /XYZ 221.044 481.191 null]
 >> endobj
-1705 0 obj <<
-/D [1692 0 R /XYZ 71.731 394.742 null]
+2961 0 obj <<
+/D [2947 0 R /XYZ 430.405 481.191 null]
 >> endobj
-1706 0 obj <<
-/D [1692 0 R /XYZ 71.731 370.72 null]
+2962 0 obj <<
+/D [2947 0 R /XYZ 71.731 447.614 null]
 >> endobj
-1707 0 obj <<
-/D [1692 0 R /XYZ 71.731 303.584 null]
+522 0 obj <<
+/D [2947 0 R /XYZ 267.224 415.218 null]
 >> endobj
-1708 0 obj <<
-/D [1692 0 R /XYZ 71.731 284.917 null]
+2963 0 obj <<
+/D [2947 0 R /XYZ 71.731 412.249 null]
 >> endobj
-254 0 obj <<
-/D [1692 0 R /XYZ 333.589 247.328 null]
+2964 0 obj <<
+/D [2947 0 R /XYZ 71.731 395.113 null]
 >> endobj
-1709 0 obj <<
-/D [1692 0 R /XYZ 71.731 237.185 null]
+2965 0 obj <<
+/D [2947 0 R /XYZ 266.919 374.77 null]
 >> endobj
-1710 0 obj <<
-/D [1692 0 R /XYZ 384.246 227.203 null]
+2966 0 obj <<
+/D [2947 0 R /XYZ 71.731 346.874 null]
 >> endobj
-1711 0 obj <<
-/D [1692 0 R /XYZ 71.731 202.132 null]
+2967 0 obj <<
+/D [2947 0 R /XYZ 383.539 320.972 null]
 >> endobj
-1712 0 obj <<
-/D [1692 0 R /XYZ 71.731 164.738 null]
+2968 0 obj <<
+/D [2947 0 R /XYZ 71.731 300.882 null]
 >> endobj
-1713 0 obj <<
-/D [1692 0 R /XYZ 155.845 151.786 null]
+2969 0 obj <<
+/D [2947 0 R /XYZ 71.731 244.095 null]
 >> endobj
-1714 0 obj <<
-/D [1692 0 R /XYZ 346.349 151.786 null]
+2970 0 obj <<
+/D [2947 0 R /XYZ 71.731 187.308 null]
 >> endobj
-1715 0 obj <<
-/D [1692 0 R /XYZ 422.723 151.786 null]
+2971 0 obj <<
+/D [2947 0 R /XYZ 244.581 176.513 null]
 >> endobj
-1716 0 obj <<
-/D [1692 0 R /XYZ 71.731 138.835 null]
+2972 0 obj <<
+/D [2947 0 R /XYZ 311.082 163.562 null]
 >> endobj
-1717 0 obj <<
-/D [1692 0 R /XYZ 71.731 131.696 null]
+2973 0 obj <<
+/D [2947 0 R /XYZ 71.731 143.472 null]
 >> endobj
-1691 0 obj <<
-/Font << /F33 834 0 R /F23 733 0 R /F27 740 0 R /F32 747 0 R /F38 963 0 R /F61 1454 0 R >>
+2946 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R /F44 1402 0 R /F35 1185 0 R /F48 1414 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1720 0 obj <<
-/Length 987       
+2976 0 obj <<
+/Length 2688      
 /Filter /FlateDecode
 >>
 stream
-x��V�n�6}�WhP�uD��u]�$u�n�q�
-h�na�6m�%A��n���5��v�>4/�8�3g�p�D�?d��pp�[���6|���������J��ϳb�����@Z��A�c+]�i_g�ji=p�m�8)���9+6j~�m�fyN�?���'���8��e�Þ�F���	� !��P��]v��>�bUj;#�2��UƊ~�t��7ˢ͕�%�z�9��N�������l���8�p�+h9�}I&�X�ra�%��ۋ�j$z*|t:w�Pc�Qn�b�q�|��
+�J�V�
�i����t[�S���]����r�Y�)��u�,�=�}?@6)�c�tˊR��8��MjFZΨ�SjE�<5"��W�к6�3"���t����jZ�5瘨�z�ů_��"�X�=He.�QV�RYaHe���.��fR[�Ak+L�m��=]/�)������h\�kj7gWd�w�JGs1ue]!��r]@�U�xyPea��=�!￉j�������		�W	)��u:��=�NT��W:��h$]�w[Z�]cʩ�rzꪛ�
-{W�]����}����o*_0F��L=�Mf�qS���j��Vu���V�]��|y���R
9m��z>oI#Y��m߃h����Ɛ'U���Ǻ�s�YJ�A>>�[�v�]�Ɣ�e�$yc U>E�a9Y�<���M%܎������Ӗ�]��J��~�����<8��o�ޝe�x (��w�No��	s+PP�� ��4���nm(���!���{'�UA�}������*���C8�Q�N~�6Ѝ�o'IrM����\]��Mn���?M���W��G1 ��j���#D1~���k�@�!�s��P�wQ�;����q���M�D��K��{��@A>_��w���uW,��͑���a�3 ^�^|B5�T��s��/W-����{Ղ�����O�Q">���m9xq�8��ŧ^ч������endstream
+xڝZY��8~ϯ��FڊN�$Yd2�c03Xd<X,6� [�M���tz~�V�,��d'�臖e��㫯9\�.���b�m�h�.ճ`q�o�?Պ�Z�2���{��]/��v/v�Ed~�$�,��M-vſ����ҳv����K}�����M�;^����_���e�/������N��ƙ���7��5�x& ��#-��&[!]�~�Beo�\�.e�3y�]�Vy��y]�.�CI�l4@�XE�F�����bJ���/�����s����2L=��?��|�K�?��`�F^�ZP5�~&��US�-%�2�;<�Q�g��k؝�<N�\�&�&�:�A�|?�J����ħJ�C�ި�-��_�^^�c�Q)�t��ӻ�&�����]��t�Gx0���B=�?.À�?jW��j��_�W��484����Ӆ���8,�mvd������U���������Dg���,����|A���=�;�/�
�$�"x�R;D���X���
�KӪ�~\F)Ҳ�Q��Y�FW6}<��Y�}Z�^�k�)�9��42Z(�zɳmA��+o��ρuJ.R��=I*�E���O��Ȕ_.�����ox4g�^�����G_w�VU��-�ZRپ*�߶�x��q��Y*H���y�^��?��$"�������GGC�ޡ,�3�:�0�x�������[����+k�����u5m���N~�R��iS4�۲he��I&}�0���X�CP�v���h)	tiEE7���ƫ�9A�1��sj�őQt$�>GQ����9�u�^�x��&�׍��XՁyQ`�3B�}.�^����c��~�7���¹Uj�{���㜬�N���j{�������� �N Fķ�Z�&��Gkf$63��O�X0�͆�2��;\�8�����7}�����?�2�g�	x��V��z����2�m�u�TZ�8{E���i�3��P��5��G-�4o������K�u��}�B:ĩ�6�_��(e���U͏m��J�шe9f�Ю~4��n&0|f���?4����P�	µ�5k�vx���9x���$,m�$�`!cj�n),ڇ�bi������t�	H�ms��lN�-C�c�F�Ռ�Mv)؁��Fs���D�	s.����:�J}�!n��2�Xڎ���*��&�Iֶ1IuՋ�M�� n�_�i���O֙J�xXɾ���-ռcI2��3?H6�R!̴Hh猢�/��̠3��1���}?��U{���(��5�a�yƀ:���lQ�W%�u���'����:~�]D���wiL��ȉ�����m�n�c(�(����W��G'���(����H���A����� ��������Ɍ-�u�������Za� �п�E�
<�6v��=ZW�-�J��7�ཁ� �ʼn�lR%�
P��A�կ�B����#[��Hp	u(N׉�@�v�ZB���b�A~Sv
泻�iq���=��W\�սԞ]ԡ��L[���vn8���'d�VPP�։�9�erjs"�`�$Lmx����4U�~�m�����ޟ����԰I2��_��<�M)f�ٚ��뇽hBV�P��U��͖���c�>0J"?��) �q�ONv�"����	lJ�eW1��&���e��ftLR���;����������	��ߌ��T$FG>�h��,Y%p/M��'U���2��@{~ʼ�N�nLzRY��B�Ne9M
+����
��]����(*�t��t��	�z��K[�АH8�0	=�Pqd�c�(x]��>6�W����$��?�\�9�0a�<�m#����f�Y���Z�T6��|q��!�-� h��I���ZP�����Mz�B
�1[9�hR�����P���}^װD��2��l0��OZ���mg�h��C�u�bz��=�O�^Wj?�Ud.�
�1/��d:-~1��#njr�,Ӷc�}������������U&$3.�Y�SR�F-ޝ��J����rC[g5Ĕh��nUi�݈<�
+
�FyeCt
�'r�5q�p�q7�Ѝ�l>@,�哤�\�ݜ��ܒ�B��g#�`G�L���c�G(,�z��>�y�-V��D�l��<ϱJ�ל�;�+f��	yӉB�;� �ݨl�'�����fPt�2�L
+V8!"��l�bS���NK\���G�([����ej����4ҵp:��C]���Ǜ{
Ȍ���w�a�	�V�<�]���(�{�U뛦����f�&��״t���Q�rj���t����CmL%�wQ"J������"���7�B1�b�x������%��/B%5'��fר��D�[@(��C��	��\ƜT{��r
+��7/��[0r��p�\�4�w��<И�va@_����J}�Dm���`�3��Q�Ip�j�������8ﺁ燶�\�?��-�-�$1�R�?ѹ��q��Z��+��$P��MYY~��=�alB�s�ɚ`���D{-�}۔��Yݖ�Y��؄�z������~@����EO�{��/o�|"���Q-���R�D"�LR1U�LN�M9T�X��>FD�U�#/I�X��%s�
���s�U�_y5T��@f��~˫Ot��r*��o�@�F��O����	�����L~\�F�E�	�0�^���������endstream
 endobj
-1719 0 obj <<
+2975 0 obj <<
 /Type /Page
-/Contents 1720 0 R
-/Resources 1718 0 R
+/Contents 2976 0 R
+/Resources 2974 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1690 0 R
->> endobj
-1721 0 obj <<
-/D [1719 0 R /XYZ 71.731 729.265 null]
->> endobj
-258 0 obj <<
-/D [1719 0 R /XYZ 491.725 707.841 null]
->> endobj
-1722 0 obj <<
-/D [1719 0 R /XYZ 71.731 698.946 null]
->> endobj
-1723 0 obj <<
-/D [1719 0 R /XYZ 234.639 687.716 null]
->> endobj
-1724 0 obj <<
-/D [1719 0 R /XYZ 71.731 662.645 null]
->> endobj
-1725 0 obj <<
-/D [1719 0 R /XYZ 71.731 560.182 null]
+/Parent 2797 0 R
 >> endobj
-1726 0 obj <<
-/D [1719 0 R /XYZ 357.795 535.686 null]
+2977 0 obj <<
+/D [2975 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1727 0 obj <<
-/D [1719 0 R /XYZ 71.731 523.567 null]
+526 0 obj <<
+/D [2975 0 R /XYZ 308.397 708.149 null]
 >> endobj
-1718 0 obj <<
-/Font << /F33 834 0 R /F23 733 0 R /F27 740 0 R /F38 963 0 R >>
-/ProcSet [ /PDF /Text ]
+2978 0 obj <<
+/D [2975 0 R /XYZ 71.731 698.007 null]
 >> endobj
-1730 0 obj <<
-/Length 2697      
-/Filter /FlateDecode
->>
-stream
-xڅZ[��6~ϯ8�
��b���4H��Hw��E��$[l$Q�z�_����&)Ea��g��f�L����1�����(=�OE�.~�����K����y
-�wyv�Χ�i���뻗���)��C~~z�)q�����}�&�X
�]z<m�H�~([�Q�iwS�~�n�f�l����?���1J�\,�i�r�,J"wL�}dݗ8No�@F�:������^&M�\(�8��xC��-�"U��\�KM:P�t�n�|C�&=�'i+�V/HQT��Bׁ��i�+��ç���dX_��A�kh�U��3{r�OWƄ��|�-�]&it��˟�A�#��Y���5X��6�7�6�7���$�
-�.�z�m��
-lҒj65z�ä�L��nVA�7��i���J�ٟ���t�����U�u$W�w��:��H���.���ӫ���m~̣S�.��s�(�;�
-�*$3Y�$:��K��_#[O���R+��FI��d��v#��l㫺?F�>������<�g�k'R�Oԋ
-&4�e9��W���=0�g����x���:�:������Y��9d�uI��3P�S��00;��w�Bh���
-}D�hgS7��k�������cV᥇������z^��%x9����^ͱ�	�MClQ���l�U��^G�\�#��6�c%(��#Hg�7��	d�S����XkIL�>�4(pgJ�e{��t�O4��o 1����$D�$����o*��Փ���������=8��t���s~��DZ��r��#�Q�ڗ�.�\��/r٨�ѹ���9���j�g�sQOe'��W��i�!��{cԙ�ye����,꺠"L?��k��?AM�?7��1k��CT��Z���P�Bh��[��p?l�ӆ�S1�����N����Z���!Y��ut���4�
�aP�i��iALC���� �1+��5��6���D��eǓ$�p��Z(�VJV�Z;fյz���_u�\�ۮ
d/�֑=����a�YVW25�ܫg!��{��7����P�m*2Ur�T^�n�o8g����0��E���	X�
�j
��VO6 �u����>JN�Ӱu�f��Ӎ������[��I�W�q-��kCa�gAVP�O=�K���B�<R��,��8�&��5����2T|�g�_ߐ}%��`՝�Ʋ���
-N�-�əN���!��ZR�V�.���Ƈ�qYZ��L�q%��j���7�[�@�bJ���)����l;�P�4�BSԡű�35�ᄊ���Ce�4�!r��PΘ5��!Bf��P��d�P�C��yM�C��s//�C�a��{>�灥1�t��+><8.����d�3ࣨ1J����4e52LT���e��
�&ӡ�BT�T���c��(7�Iy�����Y����lM�cV	�/;�����b�lX�6m����P[���Abi+GѸ�N�2�}	h��N�XM�,��f'�)�\aw�)�3:h��=tz��M0�A��f�3Q&�x��YY+hќ��k05]�>܀
Ȟ��%��F���-�S��*`�����΂޷}�o��!=�9��xc��č9J���6:ԏ���K�0wDŽ'B�R)t�1�ی1BwE��.�4]~Ȗ����aҲ��Ru�����h�
-�ap->5V0n�"�q�{Mq�}+Y
-ϣ�I���c���d��Dn�U��{+��j��ڢڳт�cl�j��B���uE0�]�dN�T$ν�zL�)*�K�71pCm�ɥ&ט@�T*W!��v�AUvO���A9�uh^��
�A ���`KG�@�ך"�-�6ZĊ� ��Pthǔn�֡K�a�!%��J߃
-�REg"C�����@B���ٍY+�R.vd���ZP�b�C��r.�$�h���*$��{|k�~Y7!�{Qe��@ձ��G�P��ߤ+�a3֛P�*Զ��d�0�.F�fUq2�KNQ=�.$����b���n�R$|���DK4�=�$�u���$!�T�%����c�3��T�msc6��MĮ����L&WЄJ���mn�}���E���
�>3�2`�T����_GWn����,�i�>iA�@O��vZ���!����z�!�	���*�C�J�����E��}E95�]��Rb�9�+�k�z�$��6��m�ȍ|쾆�oh�n]x�Hp��$���/���eH���qBВ�a`��K���^�,+e�d�$0�l�^;�ʮ�FB��v/�sy���v��������Z�� ��v/���y=�����m�-�!������=��R�k�_��>���[<1/`M�n�U��l
��8��Gj-����_>���E��%��E��*K�W�@�P]}�Ȅ|��a-�j9�?!aCf{�J��Ũ����L��Y���"����Y�⡰m��.�ro���g�GMꆬ)�D��B�v�m9T�����-'��w_�<Y��$��}���cV�K[>�F�\�����+�D��s�v��$�W~�9�y������S��,,��^�^��3�^���א�zv�'��
-R�U�x@��7��كzn�u���|����I6W҃r���Uu&$2\Z���&��{w�J'
���;����ND�1)�p.����PtJ�o\
�����Oz���w�Y(�q�\��d�<
-endstream
-endobj
-1729 0 obj <<
-/Type /Page
-/Contents 1730 0 R
-/Resources 1728 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 1690 0 R
+2979 0 obj <<
+/D [2975 0 R /XYZ 366.334 688.025 null]
 >> endobj
-1731 0 obj <<
-/D [1729 0 R /XYZ 71.731 729.265 null]
+2980 0 obj <<
+/D [2975 0 R /XYZ 71.731 667.935 null]
 >> endobj
-847 0 obj <<
-/D [1729 0 R /XYZ 71.731 718.306 null]
+2981 0 obj <<
+/D [2975 0 R /XYZ 377.452 644.189 null]
 >> endobj
-262 0 obj <<
-/D [1729 0 R /XYZ 402.325 703.236 null]
+2982 0 obj <<
+/D [2975 0 R /XYZ 71.731 624.1 null]
 >> endobj
-848 0 obj <<
-/D [1729 0 R /XYZ 71.731 692.184 null]
+2983 0 obj <<
+/D [2975 0 R /XYZ 379.185 613.305 null]
 >> endobj
-266 0 obj <<
-/D [1729 0 R /XYZ 288.867 651.159 null]
+2984 0 obj <<
+/D [2975 0 R /XYZ 71.731 593.215 null]
 >> endobj
-1732 0 obj <<
-/D [1729 0 R /XYZ 71.731 638.721 null]
+2985 0 obj <<
+/D [2975 0 R /XYZ 71.731 549.38 null]
 >> endobj
-1733 0 obj <<
-/D [1729 0 R /XYZ 71.731 601.54 null]
+2986 0 obj <<
+/D [2975 0 R /XYZ 71.731 531.447 null]
 >> endobj
-1734 0 obj <<
-/D [1729 0 R /XYZ 71.731 601.54 null]
+2987 0 obj <<
+/D [2975 0 R /XYZ 71.731 507.701 null]
 >> endobj
-1735 0 obj <<
-/D [1729 0 R /XYZ 71.731 591.578 null]
+2988 0 obj <<
+/D [2975 0 R /XYZ 227.327 507.701 null]
 >> endobj
-1736 0 obj <<
-/D [1729 0 R /XYZ 92.154 575.802 null]
+2989 0 obj <<
+/D [2975 0 R /XYZ 71.731 492.593 null]
 >> endobj
-1737 0 obj <<
-/D [1729 0 R /XYZ 71.731 560.694 null]
+2990 0 obj <<
+/D [2975 0 R /XYZ 71.731 477.649 null]
 >> endobj
-1738 0 obj <<
-/D [1729 0 R /XYZ 92.154 544.918 null]
+2991 0 obj <<
+/D [2975 0 R /XYZ 351.543 468.149 null]
 >> endobj
-1739 0 obj <<
-/D [1729 0 R /XYZ 71.731 526.885 null]
+2992 0 obj <<
+/D [2975 0 R /XYZ 71.731 416.941 null]
 >> endobj
-1740 0 obj <<
-/D [1729 0 R /XYZ 265.622 514.033 null]
+2993 0 obj <<
+/D [2975 0 R /XYZ 155.496 403.99 null]
 >> endobj
-1741 0 obj <<
-/D [1729 0 R /XYZ 89.664 501.082 null]
+2994 0 obj <<
+/D [2975 0 R /XYZ 116.831 391.038 null]
 >> endobj
-1742 0 obj <<
-/D [1729 0 R /XYZ 140.014 501.082 null]
+2995 0 obj <<
+/D [2975 0 R /XYZ 71.731 384.649 null]
 >> endobj
-1743 0 obj <<
-/D [1729 0 R /XYZ 71.731 499.674 null]
+530 0 obj <<
+/D [2975 0 R /XYZ 251.73 346.685 null]
 >> endobj
-1744 0 obj <<
-/D [1729 0 R /XYZ 92.154 483.149 null]
+2996 0 obj <<
+/D [2975 0 R /XYZ 71.731 336.542 null]
 >> endobj
-1745 0 obj <<
-/D [1729 0 R /XYZ 71.731 470.098 null]
+2997 0 obj <<
+/D [2975 0 R /XYZ 71.731 319.422 null]
 >> endobj
-1746 0 obj <<
-/D [1729 0 R /XYZ 92.154 452.265 null]
+2998 0 obj <<
+/D [2975 0 R /XYZ 71.731 319.422 null]
 >> endobj
-1747 0 obj <<
-/D [1729 0 R /XYZ 323.544 439.314 null]
+2999 0 obj <<
+/D [2975 0 R /XYZ 71.731 301.489 null]
 >> endobj
-1748 0 obj <<
-/D [1729 0 R /XYZ 71.731 400.36 null]
+3000 0 obj <<
+/D [2975 0 R /XYZ 71.731 301.489 null]
 >> endobj
-1749 0 obj <<
-/D [1729 0 R /XYZ 92.154 382.527 null]
+3001 0 obj <<
+/D [2975 0 R /XYZ 71.731 257.654 null]
 >> endobj
-1750 0 obj <<
-/D [1729 0 R /XYZ 71.731 297.68 null]
+3002 0 obj <<
+/D [2975 0 R /XYZ 71.731 257.654 null]
 >> endobj
-1751 0 obj <<
-/D [1729 0 R /XYZ 107.646 286.885 null]
+3003 0 obj <<
+/D [2975 0 R /XYZ 250.628 246.859 null]
 >> endobj
-1752 0 obj <<
-/D [1729 0 R /XYZ 71.731 240.893 null]
+3004 0 obj <<
+/D [2975 0 R /XYZ 71.731 200.867 null]
 >> endobj
-1753 0 obj <<
-/D [1729 0 R /XYZ 360.606 230.098 null]
+3005 0 obj <<
+/D [2975 0 R /XYZ 71.731 200.867 null]
 >> endobj
-1754 0 obj <<
-/D [1729 0 R /XYZ 71.731 210.009 null]
+3006 0 obj <<
+/D [2975 0 R /XYZ 71.731 169.983 null]
 >> endobj
-1755 0 obj <<
-/D [1729 0 R /XYZ 71.731 171.154 null]
+3007 0 obj <<
+/D [2975 0 R /XYZ 71.731 169.983 null]
 >> endobj
-1756 0 obj <<
-/D [1729 0 R /XYZ 92.154 155.378 null]
+3008 0 obj <<
+/D [2975 0 R /XYZ 426.397 159.188 null]
 >> endobj
-1757 0 obj <<
-/D [1729 0 R /XYZ 71.731 127.319 null]
+3009 0 obj <<
+/D [2975 0 R /XYZ 197.338 146.236 null]
 >> endobj
-1758 0 obj <<
-/D [1729 0 R /XYZ 92.12 111.543 null]
+3010 0 obj <<
+/D [2975 0 R /XYZ 311.948 146.236 null]
 >> endobj
-1728 0 obj <<
-/Font << /F23 733 0 R /F27 740 0 R /F32 747 0 R /F38 963 0 R /F33 834 0 R >>
+3011 0 obj <<
+/D [2975 0 R /XYZ 95.801 133.285 null]
+>> endobj
+3012 0 obj <<
+/D [2975 0 R /XYZ 71.731 126.147 null]
+>> endobj
+3013 0 obj <<
+/D [2975 0 R /XYZ 71.731 126.147 null]
+>> endobj
+2974 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R /F35 1185 0 R /F44 1402 0 R /F32 1027 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1761 0 obj <<
-/Length 2708      
+3016 0 obj <<
+/Length 2316      
 /Filter /FlateDecode
 >>
 stream
-xڍZ[�۸
~ϯp�R�s�����)�&��Cv�{:�N��D�ܣ[D)���^@��t���X�)>���B��QpH�#>�>[�՛pu�o��&�+vz�n����~L��)8���e��apO�C�,^=�ټ�����vg�&	��ۢb5���W��ݰ�6����$��>��͇g#;K�阼�����~�S�ߧ�Cx�4��-
-%���(�<�MO�ͷ^�=�A]������Qu�nA}��}���+*�ʵ��%���������Qi�cV��9}R���OK��ԒrtkN]M��Ƹ�$L	�Eqp���lg��B�~���/�_�^?����Н�2=mȹ�un��羠ͻA�TI���欧��p������W�h�L��n"N~�:F�����?�`��/8���SDY:\5_�����<W.TqN� �c#^�A���8�i{��+�`VY�.�|�������J���PB�r�.�`�z�Sw��S�ep*p܏�
-�t��vi���D4,zs
�o#&��R]�T(_x �ډ�(�`���á)(F��TW`���< �j�~))�fӚe�|�WG��^�C)�~�J�`��-���R�G�N���
����꫋Ln�����7���^V�>�:3}>�#V�+I�}��_v�b��%☧����~�y��bl$|����z��Sod����2a�����*�oa�ԍ;�Y���Ӣ�(�c׉5=�7U���'����m+&��OZQ���&D���!8&n�����4�h��[���
-4ӊ��܈\�z��rWV�i&icia�4�dgj�8YNq���lF�2����9�Y��2HH���7(\�t�kGH�Y��5�G�P�>Ӏ�G<܈0�L��@���*�b����ޱ���9��D��y�3b�ŝ�$��%��ȁ��vu��B]��m��J}�Ru�_������|NE��g���ӂ��h�QV5��+�,y9�)$m��^A�ÐTZ7�M8+;NI����(2��o�"�&*xSѹ�j�8��}GP��MrUS/Y�A�
-_��њ�0�%2΢�8���@��D�X8DXM�cJip������K����Cu�PCx��?��/i<����(�u�q�d�}��م�??��ˇO~�Ά��)�LKT��C��l�@Y7=�<����g{�)��Z�i�"`�@!�$�foy��ųE��h�%�� ����
R�Xؒ�e�֞iڻL���ߛ3��w��d����Y�}�
���O���T*ϕ�G����C
-��vWfz�4|-Fp�!P�W#خY�`�DFp��Saߏ`O�\���|����2�Ǡ_8fn�EJ��n����C�����7m�ݤZH��k��)-A�&
-�ii��N�E�ưV��+���b���b�n*�-
	G`����]P�C��KO� z�=Z�q��
'�x��$I�����J}�hZ&�������Q�<���,DZ:�Cyx�#8.��ĺb@1�L�auB����	G)�5`6�藁���`�j8�Y�eu.�L��e�O���U���(��B�2��'fkgR�@2����X-��`4���媖�
�ޛ:��)�����H8Z�g�nm�Fg�4}�:"4Q��ߓ�g�����@�@يL|#�D��:Nx褔��>��C,�`o�ʧ��?�uij��Y���?�yGe��R�rE2���e��m�nδW�@����Ok/�!��d��
-�_���5�Z�6��EN9Z�$E����n��>
-	T,��"x[�@����*�@�([׍��a�♴x}}����G��8�ʜf��MQ	��__�Ŏܵ���1����I#R}dNڴƬd�x6]W���LJ��V�I8>��F+<:Fm����g^�����4Lb�H$�)��׉�h���%�H$KDbF�w��/|�H���m����(l7����ɟ�lS�\g������Tm�4�s�J�?��t2H���S�ͯ=ˇ�tn������,�(�Ip<���`U�����գ��W�]��z��C�:����=�N�^}#�u���k�VQ`x٥��4]z�/h����f����8NTc%���Z�~4TO}�]A*2UW�,:%8
0n����+�8ġ"O�db��!��5�b�%`��(��{�y��a��ޠN������U��vu�Kp���bR��*�9���|\�;��(вRr`'����%ǎ�
�!�M���lP;ZH�2����|���f�HȝR2
-�͒�`E���G��;�<%��>�#�œ ��_k�[K�EJ0�A���2Rr�����=Гޖ?,?ҋ�ZA��{�a�{~6�ȴ�"�wY�s��_�d�h��o
-����qG������њmZ�EZ��N��(�6#;�Ny�&�����̄M��e	�Fs��P'j0���P�B�ڛ^���DM�~�!��>�v6�a��\z0�aGw�Ya�Z��qѨ�n����H������l<k�?Bl�Y;�k#���'+iI��C���H�'9��<�7
-6f9!bDe7�Ϙ�E��Ab��h;ݝM$�冚�]Ŧ�0!�+�N������dZ�e�uUwLl{iDJ^�<K�+.��d��0�r��h5>�Xn~���ܦW��J�@r�|���B�?s���jLe���D�ʋt6�!��18B"}�[�%�?��c�̈́^!���SI���gendstream
+xڍYk��6��_���zX~d3]4�+����X�EAK�ED/�Tf�_��ǥDJ�)�al�"�}�{.-B�-�Q�O�O|�]�Ȫ7����ӛȬX�%�њ�o6?&��w���؆� �n�$i�x�[~,H+h�Z�i�L��c�ES1��~�|]EKV�d������hON�}p<$/��5t�~@�F�R�{�H��hAVq��šހm��o� JZ��Q@�?��t�t���ܩ7_J���T6�o��\1�ޞ:J>�5��t�E�A��~��{F�4�̊��W�ח�_��(�^_��88��̘�L��)k��,i��F��h[��VmI5V�:�D�O_�%��ٕ��v��jr�{�xLA;H̐`�Bi�D:1hl�n��lz��*�/��\hP�^Q����z�qJD�CE	�+�{��~�v176fO�6H�h�Rҙ�5|�5��iݜ���JGۦ�(Zi�I��
+���(}w�ڷdXL �M��[в4��mܥ�����z`B������|ձ����	X��d��M�r��{.�BGJ�s.Xq$��k���mm��<����d����M[�ռ?U̘�YuDj��f�� ���Y�w&'�����`�q����%
+Uf����vw�������0�*��a1�T�����&��HVe'YFL�,�K��Ϟ�1����x�bj�RCxO��N����{1;�H�ك�i�n#�/�T�5/0��aw-(�e�`��o{��K��������5����ֵT�LPy�?���Og��uw��ڳΐ;vSV��x������^�˭��Ů�+�x�p{���F�M�إ.�����3��p�5gCS�K�+E�z2OMo���Պ=VEd :ZZ'��u�[�0�z�=R7M~�
+���D�?�m��'vMہ��+����Z������s�ȝ��f�3ѳ7�It��â]p�㊹��J���s� �<���*��j��"��ԍ@��y���r�b=�6�I��`�3(3�;�ƻ0������R���2�n��>��)�F�U�$o*�Y>�-���J��f��U討�Չz��e4��Ur/�mZ���U#28c�?�������6Poi�H�8��P�F��QC\��nS���Z��Lj��6�y%1³�<rBN�l�6j��£5�o�`b�H���;1����#��忘�9tV$*ޣ�Ќ��k�T�Ŀ˴˜pj���~-�]�O�8�����r~1��Ź%.�Xu�H���F[a56�H
+��w
+�s�I���X���b7��O�&��Ӑ��t&��f�M�c��~W"2#�٩�3Y9�4�~¨z���A����K��Ɓɱre	y[Qoޜ�W'��q
+c�%���-#j��� ]��w��a�����V���i���K<��y��_O�_� ��[d�(�EG��{V�=������Ngҝ~1�����;�%�����;	���)�P�#=���g4�rݦ�HN����#琒r�-A2�N�/<�F5YS嗞�ð="Q5p>��j&��*�h�m6%��
+z����������k��
3��Da�]ؿA��}&~]d��G}%�O�"4f)��6�59��͍�`�a���-��$g�FtL�z21��b�2�#9�6�E~�B��z�
+�UƧ)�ɔ��� ��7T�.��z�ToXz�������e�(�w���� �����<U��P>�U�}�G���ńn��<�ռ��	�.^И�ԉ95d����㵡ν��B5���iN�CIpH]�%�m�O#tv���r��$�������\���?�i�����A]&�Tv�o�q*�n��@ҧ.�?���RI)�$�0���į�W��2V��Ӵ�[�7��j��1E�5n�r�֣������ȘcƷ�Ԇ�����\l e[oB9�����H��/��[֨�޼߿�I��eD�a��L�Ú��R���Bl]B3�㤖J����
+�=����Y*Ԏ��l����l-O���r��E��t�96�_aT{�!�C���W�}�%��?3�����~�ǜ�:I�s]�k�j��2@��̍�d���o�w��P���{������J�:Qw��A+�@�kgK��V��%�07���Q�..b�=	<-�f%�\*$w3�\�Q�
+��*�V�/��I���sξ³$|]ڎ~u���D��F_�[[^��A���;
��i�U���sڅ9���F7i�	�%81�>L��c�]�e����ڄ+�_����I������?�K&����a��H�ix�'��I����endstream
 endobj
-1760 0 obj <<
+3015 0 obj <<
 /Type /Page
-/Contents 1761 0 R
-/Resources 1759 0 R
+/Contents 3016 0 R
+/Resources 3014 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1690 0 R
+/Parent 3043 0 R
 >> endobj
-1762 0 obj <<
-/D [1760 0 R /XYZ 71.731 729.265 null]
+3017 0 obj <<
+/D [3015 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1763 0 obj <<
-/D [1760 0 R /XYZ 71.731 741.22 null]
+3018 0 obj <<
+/D [3015 0 R /XYZ 71.731 688.254 null]
 >> endobj
-1764 0 obj <<
-/D [1760 0 R /XYZ 71.731 718.306 null]
+3019 0 obj <<
+/D [3015 0 R /XYZ 71.731 688.254 null]
 >> endobj
-1765 0 obj <<
-/D [1760 0 R /XYZ 71.731 693.235 null]
+3020 0 obj <<
+/D [3015 0 R /XYZ 71.731 657.37 null]
 >> endobj
-1766 0 obj <<
-/D [1760 0 R /XYZ 92.154 677.46 null]
+3021 0 obj <<
+/D [3015 0 R /XYZ 71.731 657.37 null]
 >> endobj
-1767 0 obj <<
-/D [1760 0 R /XYZ 89.664 651.557 null]
+3022 0 obj <<
+/D [3015 0 R /XYZ 71.731 574.68 null]
 >> endobj
-1768 0 obj <<
-/D [1760 0 R /XYZ 71.731 649.4 null]
+3023 0 obj <<
+/D [3015 0 R /XYZ 71.731 574.68 null]
 >> endobj
-1769 0 obj <<
-/D [1760 0 R /XYZ 92.154 633.624 null]
+3024 0 obj <<
+/D [3015 0 R /XYZ 208.955 563.885 null]
 >> endobj
-1770 0 obj <<
-/D [1760 0 R /XYZ 71.731 618.516 null]
+3025 0 obj <<
+/D [3015 0 R /XYZ 184.198 486.177 null]
 >> endobj
-1771 0 obj <<
-/D [1760 0 R /XYZ 92.154 602.74 null]
+3026 0 obj <<
+/D [3015 0 R /XYZ 71.731 474.057 null]
 >> endobj
-1772 0 obj <<
-/D [1760 0 R /XYZ 71.731 574.68 null]
+3027 0 obj <<
+/D [3015 0 R /XYZ 71.731 436.563 null]
 >> endobj
-1773 0 obj <<
-/D [1760 0 R /XYZ 92.154 558.904 null]
+3028 0 obj <<
+/D [3015 0 R /XYZ 221.936 423.711 null]
 >> endobj
-1774 0 obj <<
-/D [1760 0 R /XYZ 71.731 530.844 null]
+3029 0 obj <<
+/D [3015 0 R /XYZ 71.731 384.857 null]
 >> endobj
-1775 0 obj <<
-/D [1760 0 R /XYZ 92.154 515.068 null]
+3030 0 obj <<
+/D [3015 0 R /XYZ 214.834 384.857 null]
 >> endobj
-1776 0 obj <<
-/D [1760 0 R /XYZ 71.731 469.076 null]
+3031 0 obj <<
+/D [3015 0 R /XYZ 71.731 378.468 null]
 >> endobj
-1777 0 obj <<
-/D [1760 0 R /XYZ 292.521 447.92 null]
+3032 0 obj <<
+/D [3015 0 R /XYZ 275.644 366.924 null]
 >> endobj
-1778 0 obj <<
-/D [1760 0 R /XYZ 71.731 430.82 null]
+3033 0 obj <<
+/D [3015 0 R /XYZ 91.387 353.973 null]
 >> endobj
-1779 0 obj <<
-/D [1760 0 R /XYZ 74.222 357.161 null]
+3034 0 obj <<
+/D [3015 0 R /XYZ 306.41 353.973 null]
 >> endobj
-1780 0 obj <<
-/D [1760 0 R /XYZ 92.154 339.228 null]
+3035 0 obj <<
+/D [3015 0 R /XYZ 71.731 333.883 null]
 >> endobj
-1781 0 obj <<
-/D [1760 0 R /XYZ 416.79 326.276 null]
+3036 0 obj <<
+/D [3015 0 R /XYZ 184.507 323.088 null]
 >> endobj
-849 0 obj <<
-/D [1760 0 R /XYZ 71.731 275.303 null]
+3037 0 obj <<
+/D [3015 0 R /XYZ 71.731 310.137 null]
 >> endobj
-270 0 obj <<
-/D [1760 0 R /XYZ 269.758 232.205 null]
+3038 0 obj <<
+/D [3015 0 R /XYZ 100.234 297.186 null]
 >> endobj
-1782 0 obj <<
-/D [1760 0 R /XYZ 71.731 231.99 null]
+3039 0 obj <<
+/D [3015 0 R /XYZ 71.731 277.096 null]
 >> endobj
-274 0 obj <<
-/D [1760 0 R /XYZ 283.793 192.833 null]
+3040 0 obj <<
+/D [3015 0 R /XYZ 71.731 254.182 null]
 >> endobj
-1783 0 obj <<
-/D [1760 0 R /XYZ 71.731 182.468 null]
+3041 0 obj <<
+/D [3015 0 R /XYZ 71.731 209.649 null]
 >> endobj
-1784 0 obj <<
-/D [1760 0 R /XYZ 71.731 144.649 null]
+3042 0 obj <<
+/D [3015 0 R /XYZ 71.731 165.116 null]
 >> endobj
-1785 0 obj <<
-/D [1760 0 R /XYZ 71.731 129.705 null]
+2945 0 obj <<
+/D [3015 0 R /XYZ 71.731 125.564 null]
 >> endobj
-1759 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F32 747 0 R /F38 963 0 R /F23 733 0 R /F44 1007 0 R >>
+3014 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F32 1027 0 R /F35 1185 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1788 0 obj <<
-/Length 2285      
+3046 0 obj <<
+/Length 2672      
 /Filter /FlateDecode
 >>
 stream
-xڍY[�۶~����K��J��H��N�������d2i �X�"����pp�M��bI��/߁�*�?�J)IcxD{�թz�.��oo(����������_~��՞�w��p^mÐ��~��ɒhu�����[���&J� &��.����/���~M�����d����懃��)�g�C�̞�|Q��[owR@Tb��IrJ�b�Ȑf�/�fk-���]���U��&���i���D�
W�xK�)�HR$�}�Yg	�\�x���#��3%P��GZ����jz4�<'���j\H6\�A��6�H��A��;������d����:����	i��O����?#���x��t]S�0g���tի�p���7sj�;LB&D_
$K�����wk�Ȱl.��u�e��h*��(/�X	6���]�H�۟�ɔ�_%O0�6��Ե�K�toz�ȹ(Zc�
	bx.Y�;���1�ꊊ#k�D$V��k�9�I�gR�����J(�(��s�e���y�爌��Nxe{��m�x���7y�{DV�~w�F����~��z�����A��s�X�/�㗞�w�ȑչ�W��w9~f�Q��%C�i�uqL�4{�:�g�u�E�/Ztݔ��{�{DV���=����źqk��uN� ��IUBi!xyިr��VBI�V'����uIEa"O��U�=)f��C-ީBA�(Ym��)>@p����[�/J�6��8*B��v���~��*�z�2�u�:'_H�hҙ'B���i�M7�N�����]��k��+J�,�dب�*+&���+��M��O��Uܑ��A�T_d7m�[�oע��~C���,(�%����{�	��-4������S�Ovm��$��N)my-Tׁ���]W����t+U���`J�<#UQ���'h��|��5U]j�c��9���S�X��!	X�K�J�A=��y�5H��>��;|"yH%�Pj����
-E�;�}n�l�ƍ�X����~�_(`ܦ�l�V�P#Ixdb�ˋ.Z�ͭ���=��'+`˿���Ѝsa��\�tc�@����}D�%�	~nx��|F�iL���k�dPB)��;AZX�� ���_�,j<�3	��&�A�7~*�qN>�`g�
-M�V禝�J��(�@��Q?6�Lo��_�ܠ�f��釼�`�20��ݔ�YuL�P��<�%K�dPj(�$���gbO�,s���Gh���S�$��`Z��(��H�ň�Li��`F��-.�npt���g`e��CK-]II:#�E�L�
�2^��+�1�菢s#���V�j�T�/m���(a/���Ⱥ3�BX4��c:����fIR�ͬ]ǩ&�U�5��ySB���9f0��<[�X���aT��uS�}��]&�®]�!����yÑއ�2���H�$4��O�f��"Ii�F�@P�A�-T�i�L�/��mj�$���=+���V��wп�0Ս* ��+����!��w�;�MOi�$�(��p�N��e�
n�l��ǡ츱���� Ӳԣ���ϼ��v}�m�$�E�V�=;���wqav�9��	�-I�Yf���L���i������E	Ʊ�I���˲���1p7Oc���GV���n��F��Poj����^hDE���^�_
�Z��K�
-(�u�
-�t9�O
-q���
h���9�Y�+����Xŏ��G�Օ��9h�ֹ��ڿ'E�lG5+�ZV����*cF]�b�d��"��3^3�<�0!%a�{�0n�R����f����1�K��?������re.T)5��h�}���8�ʹ�}����
S{���b��BL|G����+��۳�;����0{�wc�3������K��G>82�����P�lG;p�0s���$Df}���(N��J�rSd���L�db�㪤*f�۠�[��l�
�7��7�jΝ�6����z��ϖN!ر����������N
°u������Nb������,0�x-���^������̲�5��fꐼ ���<qTw��A��[ׁۡy�`b:p}*��nu
�N��dn��1D�]�W�����y�A���`H`ݠ����^1��Ǡ��UE}�q��.`#�_��p�x����fͮ����hݑ-��շ
�g��4��"�>���W��W�Q�@{���g�S�]�o��_J�e�Q�庶����j����Y;򥔕���3�m��LeЩ
u+�,�9���rS�endstream
+xڝZ{��6�?��C�6�����"8l�m�^�����$X�m�+�*)ŷ��7|I�cݴ������fw��w�(����"/
+iy�,����W��Xk��E���j��/�h���a81�`�JBo��>,��p��Z{����|��9ϫ�Z��=��r�yQ�է�W����Џ�6�/2gh&�y��
��H�g�.���܅�E�`*N��i��q�c�[�$ؒ<�o
U�/HC�F���z����*r�\}��c�W�����_"���^]�b�9��BɊu(�D+�2���Kࡕ���R�p:KSR7O�����;�����Z��Y��mշW�!�x��B�Cʺ�
��7�I�~m�.��	�VK��z���Q�,�t=�
���<�	UR���њ���^H���e��H�_�S�7�Q�F3"lY��^S<�V��
h�
�z��Buz�{mUt��k�op.��ET`��Fh���fs>�Wb����JI����,��(�+/\��������[AS\��&���K�6�Kj�@���ݗyӈ�2z��<s(�އ�Qo�錍���؏��M��՜���`TpW��$�E�
+⤛C�m�`�z;�Q�K��N��RF��,�׵ր���8[�.6�^#�C��������7w?�}�������@�P���A�S� �y���r�T�ڏ@A<�i[g�W���(v�E��&��:[MWc�K���GJ+�&>m?�"�z��d��A������X�Ck���f�I�,����O���_��z���K9�h��#�$���),�:�Xa�/kE}�<�T�o���0�pF��E�j!�BI���n��D�=9;�#7�HVd
+�	��AŊ��R%Z�uub���邵�Ƹ�\yI�=P��Q�j������E����+�=_	��
+�o.�n�#�����u'Ap�!���g���.���6̬��G�x�P����0_M@ 	�Y"sUŒRQ�3z�q@��7B��v�V�s�������MNH�K���>��^fE¸Hyr�����d��O��"��x���!�vE�ӧ�8��G����M���M��t��KIq=�^D���gPtJj��q�O���PS����#Ϟ��tf��+���$����h� �m�Eoܿ�%�� ?�@>I��=��7 �-������V�R��!��A�3��]���2��R�>Ӛ�0�Jf�a���1���.��f�2���2<o���ys�m3UJ�凇iQn�$U��@*�)9)>��&��TI%I!��2>�T*�s�Q�N�y�j�m:-fS6;5L1����S��>���
_4���� �*�2'��%�?�Һ V�'
��i`��G�}����M���((H�ц�y�hZ��(�4Om�k�!���
+x�LF�4^)m��Fٽ�ߌrcN�Yym��2?�<���}m����\��G�{3�P���ʊS�
+W�?lD�O*#��霷�W�s~m�E�k,La���)"P<�sA���՜y�>�l>�@��Kp$�\�hJ8'���[���;Ox�L�5�"���>c�u��������5�ڰU�ЙH�������d�V�
4��8���`�n&;���.}�6h�9�j�#ۦ�U��>ۍ:rh����`.��j҆����
�/����O� ԩ*�ǰ���xҐ�,3ٛd����{;RY[�.$&���`Fx�BQe|�V<�ѝ���T8:.m3	t5.�׽�1�a��^���o9�c>��>,p32����8�G0Vv�w�c��2Tj�8
;���&��Ȫk��#�5@���(�q�gL����XW��ȅ�fK�̴�A��0�
�'j`V�9����+�0'�0а룠����.�p�iw�R�=r��O��؋P�5��k��L��]�������䓱d�C������tnv�^ݐ~f#o��A�P����	��ո=T>���`8�rS�s�\���Ԍǘ`~ߞ������5$���D�~�ڥ9��&5R��
+;�'1�ڮVB*��oEo6��z����	�b�sG�UI=3*�Z������Ǻy>�-ی�
MӖ�}S�����uP��x�r��	LpP���Q�����!g�L�;�q�zrq��!��6Ĕ�����L$z e���p=�f��*`jZ);ho�RdΤĢP���/
+��t��!�~dJؐ����^���޽������w��7�^����f�����������۷�TO��^fr�Lլ藕M�����慒��))R)�z
+G��fLdC�~�Z��4��3#٥��}���(�����)-R�3�b��e��l�����5I�B:�xJ����_W�&��`�_d�2�
+}���d �i��<�j�&��d-�`���I{9�K���t\���j�=a�����h'�d�fҚ�
+�m#���V����u3�o���S�[[����[_���XcL�xl�AT����`=ߋ�����d-����Y�i"3Xgs���џd1 FE;h��|��9W�ֈ|=��u��n���+
+�Y�W��X��j]#"XW�Ҥ�j
��&�6AD���pmw�
`z?:ϼ
o�40_�O�=����@F�g�/,��^�Oo�?v���endstream
 endobj
-1787 0 obj <<
+3045 0 obj <<
 /Type /Page
-/Contents 1788 0 R
-/Resources 1786 0 R
+/Contents 3046 0 R
+/Resources 3044 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1690 0 R
->> endobj
-1789 0 obj <<
-/D [1787 0 R /XYZ 71.731 729.265 null]
->> endobj
-1790 0 obj <<
-/D [1787 0 R /XYZ 71.731 741.22 null]
->> endobj
-278 0 obj <<
-/D [1787 0 R /XYZ 264.312 659.009 null]
+/Parent 3043 0 R
 >> endobj
-1791 0 obj <<
-/D [1787 0 R /XYZ 71.731 655.817 null]
->> endobj
-282 0 obj <<
-/D [1787 0 R /XYZ 224.863 624.538 null]
->> endobj
-1792 0 obj <<
-/D [1787 0 R /XYZ 71.731 615.9 null]
+3047 0 obj <<
+/D [3045 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1793 0 obj <<
-/D [1787 0 R /XYZ 71.731 577.549 null]
+534 0 obj <<
+/D [3045 0 R /XYZ 461.484 707.841 null]
 >> endobj
-1794 0 obj <<
-/D [1787 0 R /XYZ 71.731 572.568 null]
+3048 0 obj <<
+/D [3045 0 R /XYZ 71.731 697.476 null]
 >> endobj
-1795 0 obj <<
-/D [1787 0 R /XYZ 89.664 551.811 null]
+3049 0 obj <<
+/D [3045 0 R /XYZ 93.589 661.813 null]
 >> endobj
-1796 0 obj <<
-/D [1787 0 R /XYZ 71.731 549.654 null]
+3050 0 obj <<
+/D [3045 0 R /XYZ 71.731 643.781 null]
 >> endobj
-1797 0 obj <<
-/D [1787 0 R /XYZ 89.664 533.878 null]
+3051 0 obj <<
+/D [3045 0 R /XYZ 318.832 630.929 null]
 >> endobj
-1798 0 obj <<
-/D [1787 0 R /XYZ 71.731 531.721 null]
+3052 0 obj <<
+/D [3045 0 R /XYZ 115.447 617.978 null]
 >> endobj
-1799 0 obj <<
-/D [1787 0 R /XYZ 71.731 516.777 null]
+3053 0 obj <<
+/D [3045 0 R /XYZ 71.731 605.026 null]
 >> endobj
-1800 0 obj <<
-/D [1787 0 R /XYZ 242.218 507.278 null]
+3054 0 obj <<
+/D [3045 0 R /XYZ 294.096 605.026 null]
 >> endobj
-1801 0 obj <<
-/D [1787 0 R /XYZ 440.363 483.965 null]
+1148 0 obj <<
+/D [3045 0 R /XYZ 71.731 587.926 null]
 >> endobj
-1802 0 obj <<
-/D [1787 0 R /XYZ 71.731 414.824 null]
+538 0 obj <<
+/D [3045 0 R /XYZ 237.169 544.828 null]
 >> endobj
-286 0 obj <<
-/D [1787 0 R /XYZ 207.755 379.357 null]
+3055 0 obj <<
+/D [3045 0 R /XYZ 71.731 541.265 null]
 >> endobj
-1803 0 obj <<
-/D [1787 0 R /XYZ 71.731 370.72 null]
+3056 0 obj <<
+/D [3045 0 R /XYZ 118.555 499.074 null]
 >> endobj
-1804 0 obj <<
-/D [1787 0 R /XYZ 71.731 342.396 null]
+3057 0 obj <<
+/D [3045 0 R /XYZ 506.319 490.61 null]
 >> endobj
-1805 0 obj <<
-/D [1787 0 R /XYZ 260.302 316.593 null]
+3058 0 obj <<
+/D [3045 0 R /XYZ 71.731 457.033 null]
 >> endobj
-1806 0 obj <<
-/D [1787 0 R /XYZ 295.689 303.641 null]
+3059 0 obj <<
+/D [3045 0 R /XYZ 71.731 393.392 null]
 >> endobj
-1807 0 obj <<
-/D [1787 0 R /XYZ 71.731 283.552 null]
+3060 0 obj <<
+/D [3045 0 R /XYZ 71.731 321.596 null]
 >> endobj
-1808 0 obj <<
-/D [1787 0 R /XYZ 71.731 270.6 null]
+3061 0 obj <<
+/D [3045 0 R /XYZ 519.885 297.85 null]
 >> endobj
-1809 0 obj <<
-/D [1787 0 R /XYZ 71.731 265.619 null]
+3062 0 obj <<
+/D [3045 0 R /XYZ 147.048 284.899 null]
 >> endobj
-1810 0 obj <<
-/D [1787 0 R /XYZ 81.694 244.862 null]
+3063 0 obj <<
+/D [3045 0 R /XYZ 225.125 284.899 null]
 >> endobj
-1811 0 obj <<
-/D [1787 0 R /XYZ 81.694 244.862 null]
+3064 0 obj <<
+/D [3045 0 R /XYZ 71.731 277.761 null]
 >> endobj
-1812 0 obj <<
-/D [1787 0 R /XYZ 71.731 217.176 null]
+3065 0 obj <<
+/D [3045 0 R /XYZ 210.409 254.015 null]
 >> endobj
-1813 0 obj <<
-/D [1787 0 R /XYZ 81.694 201.026 null]
+3066 0 obj <<
+/D [3045 0 R /XYZ 440.125 254.015 null]
 >> endobj
-1814 0 obj <<
-/D [1787 0 R /XYZ 81.694 201.026 null]
+3067 0 obj <<
+/D [3045 0 R /XYZ 183.531 241.063 null]
 >> endobj
-1815 0 obj <<
-/D [1787 0 R /XYZ 71.731 198.869 null]
+3068 0 obj <<
+/D [3045 0 R /XYZ 71.731 220.974 null]
 >> endobj
-1816 0 obj <<
-/D [1787 0 R /XYZ 81.694 183.093 null]
+3069 0 obj <<
+/D [3045 0 R /XYZ 71.731 220.974 null]
 >> endobj
-1817 0 obj <<
-/D [1787 0 R /XYZ 81.694 183.093 null]
+3070 0 obj <<
+/D [3045 0 R /XYZ 71.731 203.79 null]
 >> endobj
-1818 0 obj <<
-/D [1787 0 R /XYZ 71.731 167.985 null]
+3071 0 obj <<
+/D [3045 0 R /XYZ 439.488 192.246 null]
 >> endobj
-1819 0 obj <<
-/D [1787 0 R /XYZ 81.694 153.504 null]
+3072 0 obj <<
+/D [3045 0 R /XYZ 71.731 161.362 null]
 >> endobj
-1820 0 obj <<
-/D [1787 0 R /XYZ 81.694 153.504 null]
+3073 0 obj <<
+/D [3045 0 R /XYZ 71.731 161.362 null]
 >> endobj
-1821 0 obj <<
-/D [1787 0 R /XYZ 438.462 130.192 null]
+3074 0 obj <<
+/D [3045 0 R /XYZ 71.731 111.888 null]
 >> endobj
-1786 0 obj <<
-/Font << /F33 834 0 R /F23 733 0 R /F27 740 0 R /F44 1007 0 R /F48 1021 0 R /F32 747 0 R >>
+3044 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R /F35 1185 0 R /F44 1402 0 R /F32 1027 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1824 0 obj <<
-/Length 2647      
+3077 0 obj <<
+/Length 2291      
 /Filter /FlateDecode
 >>
 stream
-xڭZ[��6~?��{^jǬX I�E�4ݞ md����EW��x�oEJ�n��Ґ3����<��R�!\�I�ڟ������W[E�5h޼<|�>W9ʓp�rXE��R/_�a��8X����ߞ�K���6��u���uy&5a��G��M������*6�������)ʳ�xQ�0
V[?@y�s�?~��[�@�#����>p�H�8\�(��U�W��_~��V�0C��3��\��-���ć�$�(��[4J���4A�U��(K3��O��[M��j��}�2ЯX����s~��0+���7-�0��%a�nx�
-�EUɛ���(�7���Q��{��-���{����:�|E	W����2�� ?NL����}���$��M=��r��(�ؚӼhEu+��Zް�h}�nw&J�B�ݑ�__Ha�o�Q���_��/�n�x]lBo}cx�'IB�z�4�S��b��v�M�%�o�e�k\�7�0�Q�Wb�W����J�"lxX��3P;�)�ؓ���"5��/Ӈu*Os�]U*Kd�%��G�i�����@�4���i��u�g����k%�YNQ����T��M'��O�l7P�/�R�w��@"!�� x�\��\�߃ v8E(�8�ׁ�\as6s&�#��w�fŀ�K]��ߥ�A�~I��0�_���A^o�ps*�ڿp�b�d�`�z)0zV���`ƞ�o��*<
-���p�HK8�冏�0\��Ox�yG���L>�J����r��dÍb�R	`u$�"����s�Z�%r�R����)���|��3�"�z��������p�"�1��8AA���@3�4E�5��2�,�S`3�C�Ӛ����B
BtXP{9��!2����խ7�~�����NJJ/�ᑣ��壂o[�C3ؗ�}�`: ��óz���xT�6��zQ��wQf��4��Ǐ��1���v��Z��ǽT���?1(�2�*��E�@3�bE��b��2�-�S(6��M��y|���(��>
-�t���ӏ�ơ������'#�"��K%�5�͌/�1j]b��z�^^
-Z~�^͜�Œ�\f����O����K����(Qw#}�+̘�*�1��w������!�s�Y�<�,.�&�lڗ��z=��ijߢ�V+#<��	JQ����lF�_h��8^�P�N��zV[��O��'O���|rrf�]C��uO�g���Zsh������ͪA3�VM���	f�h��O����A���Z���k�8��dɰ8Z�d�<tOD����в�k��f��I�N��ve:]��p�0�T��X&$
��r�Ԭ���=��e蕴���|^��;����V��8�!(���੣�s�b��n�/'9h���������ߜf�!��qfX�ICQk HjX��N(]�ٞd�e%���:��v�y�_��]e��핊⠜.2/^�:f�������VԘ
-��<�P�$�e�(O��Q���w��ˑ��r��=�<��iG���E�kͷ�/���ƞ��6��XYR��J ���}�� ��<���n
e\	�-��S{����q����>j_���k���A�@�DžY�r?��r͌�i���`��u6�	�3�s�&}OUu1���p�0�Y��,	�#�����
wB�p-��*s܁ׂ{zka8A!�]Aív<��W���Q���5��,�G�dUQؔTɥ2��yF<�%�T��
����zB3~>5��#c^U򩱚��)G5��s��&��u�q%����n����~vf����x��蹇��Rx�q���>�{�9�K�%�;���?�<���u{���Kшa�y*π�3��^ �h5��>y.Q?7�X��"4ƻ���Kt[�]�"�����Ic���9Ü�������A3gdE�de�ٲ�-�Sv6�w��^��g��i8gjǼ���ڋ�)��9v�{Y���o��I�є:�Z=��NN	��نȘ��'3��2�M�0�3��G#F%F��xh�����q�VR�W~�?_�Y����D��P}�Ј�8R���
 dG���ؠq 0��߆��0 ���{9J��.[M��5A胍 ���C�]C^!ip�����0���dU�-�K;G]0����V[U��11;�˥/�������#��chܨ���b/Wl�9���˹�u#:����}���-
-�'��W�f���D3z�ǧ������u�8�Q_,w5�Mj����V����$��Zr���;	�٦;7���0�Xp�j*��$�i���w���ȯG��<�yABz(��O#s��|�b��MSs
-�_5>?v�Pq�m1,�)yW02t|RѝwڊZ��/"0pwX�x�**He|]�NE�'��d֤�0�E{�@Z<-�N�gG{�1Q+��zֵ���C^��Eb/��gP�۟����ϟ�}�~�Jé���ݧ�7/OS3����+'bCX� ����3�Ɉ-I��9�m�t�G�,GIM�-8Ԓ���m9�_q�5~�#>N[
- r��Ǻ�x>ʃ�j�Y�(.^0��ײj�𶶵U3��K�Ŭ"�g�h�j�Ѷպ���H,C���$N����}%s@��B4FPendstream
+xڭY[��~�_�,�
�9�lIv�.�	����H��l�m+#K�H����=y(��<����m�:��\�"�ij<&�
+��-I�t�?��fG����X�X�#K�����w��lK��j�x�������Y�J�&Mf����oN�"X�X&i4O�����9������Cw�c�˪��_���o��s���v��)�I��t�d�酔�}Z�霵�lj%GsP����v�TT�e-�H�ӏw���c�2s֐�7m�����nQ�l/���d��`�t�i3)m4[�	�j+>���������_�����A�x~��{��`�T���4O����z�D$�W@T#��l��1o���{�`�N�u�Z��"�:�*��
+A�'�[}]� T�E4�1�n�D�N��|*�`	��3������=���V
+c�e��ίM�rVi�уAؙ��$��Ɨz����K�H|��h��:����N��&�(����g���s
�GT�P�z�U�p晕w�#���5���_��P0uG0����i{!��T�:��Jw�蕗܅�4��U3V�M}��z�=�{�9r�����6=���U��L�
+���l�h#	`���q{�=�G&�	3)��t�"�3��Sj��Tu#�\_���d}�dz#��	�QD�F��.?ۀ�A�k�vwo?�c¢bPлBrr�ð��;��'*=���vW2rA�Ό	�6�[f�U/��C,��q-�Z6Wp��*9���Q
~�`��Œ�<��c�9�nj�eB���"{����T��n.��Ac���MW�{i���OT��Y��Q�P?�k�������s��ȅD)`�-But�Ԃ�� �؇k:nXq7mj�9�d�0z6�ޱ@"0ı��A۔Рd�8��@��\m=�+落�#3�EO�S1��k���^��ǚ�'=�2�l����8��,�@c��G(�`J�xO/tWV�('r%�:lO��-��vȕT�N+�� S.ݳq/g1Ibl_XQ�������;ۘ��\��Ӧ��s��E�LP������=�����
%N9�<.����j�҄d��;�N�n����5+c�N�Z���ʋ85\_��?�O�*�P��ɶ��O��.Y�[5<�3&͠{��
nU��D�漻�l�?FQR�D�n�q���UK�9NN�\D�0�c��ʼnݜr���)�H�mN�d�	�fG�@;�\'	Y������	fU�Rd��K�k��&-`([��X!�
+��XQ���,�@��㵙'z� 540�,W�I��U&�%,0���MU�Z�4�V�ٹ���޺*�E�[�'X΄?
+o����/��/�Io�i��3���%�D2 $o���b�E��͝�����S�}-��t%�>7m����o�������7�p��H+M9�)��(ɔA�m�]8���Ӓ���N|���6W���CZ�rI�z�����Gg�����i$�@'��<idgh�#Ʒ�u�?'q�|���
+��Ү��[C�n����r݁��	�v�A5��
+�3]m5����K���޺��\���v]����A6��I2��S��#(�$O�&Ju�l-/Dž��i ^��*0���(��q�
�k�N�1��������ˊ~�m	���֝��Q�Bc!�r�e�f輴c(�q���
+-ba�7��;�xv�'��{,�Ҿ�������T��7�z����<pkki��� \ȭ� ���>B>1[�4	2���sc�
`w�v�O�����e����2o6'>F���Z�;b,ƌ�K��ˡin{x$��=�z�a�Q4�JdU�`c)g�,�M���1H�*_U��K��s�Ud
+�QN"h	o�s83�N}�%t�����1�:-��/�<z����@S��
+���kf%����Vy	���<ԕ����p��{~j��p�d��鶼�lSc��_ؾ�!���ը�?|vN
7�}�g7���f$ΰc$Ȝ���}�!�&����4���y�s�j�zC�<!�+���N��JN���`�lH�Ŏ?��;�`�E�/z9��%��/��vVr�P�q��s�� M�����3�#	�U�u5���Xؙ����,�;�^%:�n����L?����ec�䯷=�d�\|F+��I���Mץ#Й�nI	
+B�n�`S;+f��&'���u��{'k%,�.��=�j����Ϫ��O{���G��M�m/�)�?#b�0$n<�V&�� x�;z=L��dY�Ld�`X�Z�H/���ů'�fj����1��V�����z���b
�`��l*�#���)��(A"R�4�z�>��_���endstream
 endobj
-1823 0 obj <<
+3076 0 obj <<
 /Type /Page
-/Contents 1824 0 R
-/Resources 1822 0 R
+/Contents 3077 0 R
+/Resources 3075 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1868 0 R
-/Annots [ 1859 0 R ]
->> endobj
-1859 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [71.731 233.269 109.748 242.18]
-/Subtype /Link
-/A << /S /GoTo /D (gloss-product) >>
->> endobj
-1825 0 obj <<
-/D [1823 0 R /XYZ 71.731 729.265 null]
->> endobj
-1826 0 obj <<
-/D [1823 0 R /XYZ 71.731 741.22 null]
->> endobj
-1827 0 obj <<
-/D [1823 0 R /XYZ 108.593 689.705 null]
->> endobj
-1828 0 obj <<
-/D [1823 0 R /XYZ 71.731 651.25 null]
->> endobj
-1829 0 obj <<
-/D [1823 0 R /XYZ 222.628 632.999 null]
->> endobj
-1830 0 obj <<
-/D [1823 0 R /XYZ 71.731 605.103 null]
->> endobj
-1831 0 obj <<
-/D [1823 0 R /XYZ 81.694 587.17 null]
->> endobj
-1832 0 obj <<
-/D [1823 0 R /XYZ 81.694 587.17 null]
->> endobj
-1833 0 obj <<
-/D [1823 0 R /XYZ 71.731 572.062 null]
+/Parent 3043 0 R
 >> endobj
-1834 0 obj <<
-/D [1823 0 R /XYZ 81.694 556.286 null]
+3078 0 obj <<
+/D [3076 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1835 0 obj <<
-/D [1823 0 R /XYZ 81.694 556.286 null]
+3079 0 obj <<
+/D [3076 0 R /XYZ 71.731 695.392 null]
 >> endobj
-1836 0 obj <<
-/D [1823 0 R /XYZ 71.731 541.178 null]
+3080 0 obj <<
+/D [3076 0 R /XYZ 71.731 689.003 null]
 >> endobj
-1837 0 obj <<
-/D [1823 0 R /XYZ 81.694 525.402 null]
+3081 0 obj <<
+/D [3076 0 R /XYZ 71.731 618.516 null]
 >> endobj
-1838 0 obj <<
-/D [1823 0 R /XYZ 81.694 525.402 null]
+3082 0 obj <<
+/D [3076 0 R /XYZ 71.731 587.631 null]
 >> endobj
-1839 0 obj <<
-/D [1823 0 R /XYZ 71.731 523.245 null]
+3083 0 obj <<
+/D [3076 0 R /XYZ 71.731 556.747 null]
 >> endobj
-1840 0 obj <<
-/D [1823 0 R /XYZ 81.694 507.469 null]
+3084 0 obj <<
+/D [3076 0 R /XYZ 232.944 533.001 null]
 >> endobj
-1841 0 obj <<
-/D [1823 0 R /XYZ 81.694 507.469 null]
+3085 0 obj <<
+/D [3076 0 R /XYZ 71.731 512.912 null]
 >> endobj
-1842 0 obj <<
-/D [1823 0 R /XYZ 71.731 492.361 null]
+3086 0 obj <<
+/D [3076 0 R /XYZ 278.723 502.117 null]
 >> endobj
-1843 0 obj <<
-/D [1823 0 R /XYZ 81.694 476.585 null]
+3087 0 obj <<
+/D [3076 0 R /XYZ 494.203 502.117 null]
 >> endobj
-1844 0 obj <<
-/D [1823 0 R /XYZ 81.694 476.585 null]
+3088 0 obj <<
+/D [3076 0 R /XYZ 280.087 489.166 null]
 >> endobj
-1845 0 obj <<
-/D [1823 0 R /XYZ 71.731 448.525 null]
+3089 0 obj <<
+/D [3076 0 R /XYZ 71.731 476.214 null]
 >> endobj
-1846 0 obj <<
-/D [1823 0 R /XYZ 81.694 432.75 null]
+3090 0 obj <<
+/D [3076 0 R /XYZ 71.731 453.201 null]
 >> endobj
-1847 0 obj <<
-/D [1823 0 R /XYZ 81.694 432.75 null]
+3091 0 obj <<
+/D [3076 0 R /XYZ 71.731 384.868 null]
 >> endobj
-1848 0 obj <<
-/D [1823 0 R /XYZ 71.731 404.69 null]
+3092 0 obj <<
+/D [3076 0 R /XYZ 71.731 359.153 null]
 >> endobj
-1849 0 obj <<
-/D [1823 0 R /XYZ 81.694 388.914 null]
+3093 0 obj <<
+/D [3076 0 R /XYZ 71.731 352.764 null]
 >> endobj
-1850 0 obj <<
-/D [1823 0 R /XYZ 81.694 388.914 null]
+3094 0 obj <<
+/D [3076 0 R /XYZ 178.27 341.22 null]
 >> endobj
-1851 0 obj <<
-/D [1823 0 R /XYZ 71.731 373.806 null]
+3095 0 obj <<
+/D [3076 0 R /XYZ 71.731 329.101 null]
 >> endobj
-1852 0 obj <<
-/D [1823 0 R /XYZ 81.694 358.03 null]
+3096 0 obj <<
+/D [3076 0 R /XYZ 71.731 308.231 null]
 >> endobj
-1853 0 obj <<
-/D [1823 0 R /XYZ 81.694 358.03 null]
+3097 0 obj <<
+/D [3076 0 R /XYZ 71.731 283.736 null]
 >> endobj
-1854 0 obj <<
-/D [1823 0 R /XYZ 374.742 358.03 null]
+3098 0 obj <<
+/D [3076 0 R /XYZ 71.731 276.598 null]
 >> endobj
-1855 0 obj <<
-/D [1823 0 R /XYZ 71.731 355.873 null]
+3099 0 obj <<
+/D [3076 0 R /XYZ 71.731 265.704 null]
 >> endobj
-1856 0 obj <<
-/D [1823 0 R /XYZ 81.694 340.097 null]
+3100 0 obj <<
+/D [3076 0 R /XYZ 71.731 260.722 null]
 >> endobj
-1857 0 obj <<
-/D [1823 0 R /XYZ 81.694 340.097 null]
+3101 0 obj <<
+/D [3076 0 R /XYZ 81.694 237.908 null]
 >> endobj
-850 0 obj <<
-/D [1823 0 R /XYZ 71.731 300.082 null]
+3102 0 obj <<
+/D [3076 0 R /XYZ 81.694 224.956 null]
 >> endobj
-290 0 obj <<
-/D [1823 0 R /XYZ 179.498 256.985 null]
+3103 0 obj <<
+/D [3076 0 R /XYZ 71.731 222.8 null]
 >> endobj
-1858 0 obj <<
-/D [1823 0 R /XYZ 71.731 248.162 null]
+3104 0 obj <<
+/D [3076 0 R /XYZ 81.694 207.024 null]
 >> endobj
-1860 0 obj <<
-/D [1823 0 R /XYZ 71.731 202.384 null]
+3105 0 obj <<
+/D [3076 0 R /XYZ 81.694 181.121 null]
 >> endobj
-1861 0 obj <<
-/D [1823 0 R /XYZ 71.731 160.606 null]
+3106 0 obj <<
+/D [3076 0 R /XYZ 336.139 181.121 null]
 >> endobj
-1862 0 obj <<
-/D [1823 0 R /XYZ 71.731 145.597 null]
+3107 0 obj <<
+/D [3076 0 R /XYZ 464.726 181.121 null]
 >> endobj
-1863 0 obj <<
-/D [1823 0 R /XYZ 71.731 140.616 null]
+3108 0 obj <<
+/D [3076 0 R /XYZ 81.694 168.169 null]
 >> endobj
-1864 0 obj <<
-/D [1823 0 R /XYZ 89.664 119.859 null]
+3109 0 obj <<
+/D [3076 0 R /XYZ 71.731 148.08 null]
 >> endobj
-1865 0 obj <<
-/D [1823 0 R /XYZ 71.731 117.702 null]
+3110 0 obj <<
+/D [3076 0 R /XYZ 298.906 137.285 null]
 >> endobj
-1866 0 obj <<
-/D [1823 0 R /XYZ 89.664 101.926 null]
+3111 0 obj <<
+/D [3076 0 R /XYZ 178.828 124.334 null]
 >> endobj
-1867 0 obj <<
-/D [1823 0 R /XYZ 71.731 99.769 null]
+3112 0 obj <<
+/D [3076 0 R /XYZ 490.915 124.334 null]
 >> endobj
-1822 0 obj <<
-/Font << /F33 834 0 R /F23 733 0 R /F44 1007 0 R /F48 1021 0 R /F27 740 0 R /F38 963 0 R >>
+3075 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F35 1185 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1872 0 obj <<
-/Length 2031      
+3115 0 obj <<
+/Length 2466      
 /Filter /FlateDecode
 >>
 stream
-xڝYYs�6~ϯ��%Ҍ͒���}J�u�n��I���!	L���.�]����X��o?�������&�7Kx�v~��g��E0;���_�(q�"��׏/��[.g;�^���U��`7�,#G�����͙]$/�Q̗�~}�d"|/���u��D���ߏ?��}4�����m����m��u��(va֩�`�/W+�B�i]@Q�юA۝�^�f�}H��jt�I�ζJ�mn��g���,�w��yt)��>��Rfy�o�K«C).R9F⑖�i�/�
-����>cO�͡�%(��#�z���gvB��
���S�/������Ľؾ���w�WZW���@���(������ɻB��Edu�?}X��n^H^!���|xѧEvְ�
-t���KO�B������a�t�N�e�Q�s���&��'%���i6�2.��|�D��9O�{Y�a�,2&Ł�)�}�d�����~���/w��=ܾ�O*�$�^�sm���a8��:n��Mz����b�μTDHS��"���rH`����"��H��Ed���QZ΀zQ���Ɓ-�x�Wʄ�v~Sd�"W�pQ����(��x�W+	�DsV6 -�U�����'
����_��O�~�(G�pDj|��O�x�O4<z*jܫ�P!�Zq�u�}��3S���������kU5N\�@>@X���{�bёoQ��5���S��Ɩ89�{��'�W#��H�
*�h���?�IL���]�	I�T�,��x�Ի7��<���Qѐν��D;:G�P�>���Xѡ��k���p(���6ڬM᠋ɺd���jO
����W��{�
-��|��
-�OI�TtReR?��@~Z�:��Mڷ&"&V���)�h�bN����%T<�@�Q�~]���H�G��A9��
-�
-m:������@�E#Z�V���Jٞ���_J�1*P���\�u�K�����D����̤�[uO���I�h@�H\����;f�rWv��:����ĵ��ϊ���*�_
:�����(M;��k�ϘH�3:�y7�SQ��DcyɡR%������Vi�V������k:���TX�y�}{B�Q�~�2�"�SqPu���y�k?ެ�Q�`���-�G]X�*J6\W[h�7��w=@L3D�Ԁ$�yn�h+�bf�R����F̄@g��C�I.��(9}���R�x�,G��(���j���(�d���hf����x�Z´��&����ؔA"ʾpl����1���V�~�S~�uⷉpӗ:��Ė�,��z$�e��&7h�&!5"��j	�T4
-hO��x�+�7G�U������}!%�Y��Y�c`��3&�jeF�B��1w@��M�v�U��L1��}^�(U�I�+��Y�b�3����nx�)��j��dl-���t0c{�.��l�B�T��@�5us���Š���������v��eu%�T�H�ʼn�o.�%���B�����ET�4��n.aR��{V�i��X3[�3ۇ�RR*-�A~fr��n�`,*�P����\�P#S��S���YN@�n�fз��b�톔D�0�(�7����B�_=dP��u�I@p�!uU�x��'pZ�����j(�qV��hj3�~̱��r'��XЇ���MXrSm�ЏU�hb���K�(1Y����M���M���*/d�49�`ݨvY�zc�F[?��OGfB�����qB�������*�;��Q3�����mGl+'�Y�M���;4^
�@X��)ܤ�������PJ��R4�X���¹�
-mGf,�$2�X�z6�S��m���y�~5X�w��;qi�I]ͽF�,46�]�P�9�i"�}�\c�|)ddh.���I�<zR]<n�LN��<7�U�]�%eNn7c��v�"����ܩ'4j����r�:�cDU8(�j���B��۳~Q]��)��ʾ��?j�.l�[x��D;#�m�����?��8�K���\+��U.�6�:6�4�v3�[_տ���kendstream
+xڝYm��6������
��z�|�p�]t�-��M�.�k���h��D:U�9�����	P�E��33�P�‡�bx�.���d�W7���O��	̌�����yx��{����ۦ��e������b�^�������㑜$�W�0񗉧��m#E��z�=|^KV�d����7߾���h�m����9��M']x���3%$
+���T �D�;�
+����kV8IxAj��0���TI����Q�Q|����a���=�Uh71Cњg5����*L�gk��*���yF�F車|X�[�=j��C�y�A�m�3��q�l-��GR�O�,���Z��Y��6R��L4��i.��rc��s�<2���d���d�b,|"5L.�Ob������
+�Z�F���v�9mR_V)�3�Ar�^��2�{s,��hD�h�}&��b/	g7_���+s������y�S�-���h�x�̭�;�H3^���$\��{!>4=/��]|䢰�d�&.��ӟUl�c����0��}a�����s��a6)�M��Y�3�HH�"3��L~��*���?����?����͛�;+��,��6��y���;�SoFf%��5��*)�C���`�9�a����zE^��;j�U����S+�^�#�zu��X cuچ�� �s>��S�@������fp؃f?0�L'���<0T\��N%j&���}�`*
+C�-H�%ԝ�]�)���~
�Φ�k���j�\�9�	?�Ѻ���F���Ϗ���X�J	�����ugց7�I�s&�{��4o`�VjZ���i������$�TPu�*���<����=�[��a�+�k�,�� %
�%OGO��|�A�BR�:ͼ ͔���7��/G0��(�e�A?B��ܪ�9�AA���v�BL�o~��_P���?��|��c�T�f���6Z�t�����g��;��M���~�̛,��Ҭct]�v�iR�*�/J�E�l�l��n^jnH��Ы.��ASBꥑ6��e���������h�B����a�O���ҧ�J���@>�.~�������2�� �R�?�0c�:�9׊��E�Dq�R��D�b��9I
�2.��^�%\+�6��P+�TY�R$���T�
+U�/>�w
+s��Z�D4J��Q9c�Y��A|���	����V��[��	=���}�5&*�>�����}5��������몡�Nxc�M��=�a��V�6
+@q�z	d��|����=�N�i_�U�,�vɸo�#�E/��bXƑ�EY
+�U��z����m�h�Zbe�IŚZ>��D�#1b/�k�c��RȺ-�<�v'l�r>��6HP��B]���*/I�t;]AC]�Yx��NŦ[���4��HwT��qT�\��]�m/
�tSx�Pm+�.��dI ���p�WXw��m؁K0��|o�d)-��
+��vc��:��[����ӿ�w�FrJA���[Y?k�;U��IM��^F�����f��k�V�O[���ńũŖ��u���>��<r#j9�a��%g5���	s���Q�O�j�2H���1���:���+�S�>�"��т�	��c�'Z��h�.�h������5k"]P
+ĵ�s|@Z�rzv2�\v-�uU�'Ty�U�D'9�9�_ׄٞE�,X�g��aZL��hM�g�Gz<��8E���e��O|���U�6ؤ���ёl�ڡ8�xq,���6�F	�k{�S-�(���mN���E^�Ylr�BjH�mGe�E���^#…�8Q>�
+0�J:ұ����E�{h��v���-��hXsF���I�j˲�6vƒs�f1�]G&���Ibp�C�ط��OQUX2�N�0�`׮����4�\U�6��!�a��U��H7֢�����͖�@���:\��DߩL4�"B��Q9�q������"��"�~�99������!��Â�w1O�.�ؾ��k�h+���j�a0�
+��M�E3�=�\��
�u��>��3��f�ݲ��O�
g�W�dZ��Oc>�$�.�pMኚ�m�N}yP<�[�ވ3����^�sp���b7�+Gʌs0�}��a������@��{j�j%2475����9�ks�4���i�Z;��u�>�����WԚնl�W�G�g�4��<P����_ĭ=��ef�C����lv�VY��v�-�?��wx�I����0��3�Sl`U�*�h,m�]l(�.҉pB#4�@�=
�)ie�+G���|�i/sA���G.�䰞�G*���)p�[�����8\�c���q&�ls�K읬�ޙ`���"7^����+�g�Wx�%gOU��o)t��Ә�n�Q
,ڜhΈ�>5;]�����e�ڗ�k��^|��S�tG�\�z�,���Wixg��lj�����8�`��O5ݔ�g�$�<?�������W��N�l'�&endstream
 endobj
-1871 0 obj <<
+3114 0 obj <<
 /Type /Page
-/Contents 1872 0 R
-/Resources 1870 0 R
+/Contents 3115 0 R
+/Resources 3113 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1868 0 R
->> endobj
-1873 0 obj <<
-/D [1871 0 R /XYZ 71.731 729.265 null]
->> endobj
-1874 0 obj <<
-/D [1871 0 R /XYZ 89.664 708.344 null]
->> endobj
-851 0 obj <<
-/D [1871 0 R /XYZ 71.731 657.37 null]
->> endobj
-294 0 obj <<
-/D [1871 0 R /XYZ 210.434 614.272 null]
->> endobj
-1875 0 obj <<
-/D [1871 0 R /XYZ 71.731 602.101 null]
->> endobj
-1876 0 obj <<
-/D [1871 0 R /XYZ 71.731 546.721 null]
->> endobj
-1877 0 obj <<
-/D [1871 0 R /XYZ 488.305 497.072 null]
->> endobj
-1878 0 obj <<
-/D [1871 0 R /XYZ 71.731 476.982 null]
+/Parent 3043 0 R
 >> endobj
-1879 0 obj <<
-/D [1871 0 R /XYZ 71.731 464.031 null]
+3116 0 obj <<
+/D [3114 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1880 0 obj <<
-/D [1871 0 R /XYZ 71.731 459.05 null]
+3117 0 obj <<
+/D [3114 0 R /XYZ 71.731 741.22 null]
 >> endobj
-1881 0 obj <<
-/D [1871 0 R /XYZ 89.664 438.292 null]
+3118 0 obj <<
+/D [3114 0 R /XYZ 71.731 718.306 null]
 >> endobj
-1882 0 obj <<
-/D [1871 0 R /XYZ 71.731 436.136 null]
+3119 0 obj <<
+/D [3114 0 R /XYZ 76.712 664.508 null]
 >> endobj
-1883 0 obj <<
-/D [1871 0 R /XYZ 89.664 420.36 null]
+3120 0 obj <<
+/D [3114 0 R /XYZ 81.694 646.575 null]
 >> endobj
-1884 0 obj <<
-/D [1871 0 R /XYZ 71.731 418.203 null]
+3121 0 obj <<
+/D [3114 0 R /XYZ 162.749 633.624 null]
 >> endobj
-1885 0 obj <<
-/D [1871 0 R /XYZ 89.664 402.427 null]
+3122 0 obj <<
+/D [3114 0 R /XYZ 81.694 620.672 null]
 >> endobj
-852 0 obj <<
-/D [1871 0 R /XYZ 71.731 369.386 null]
+3123 0 obj <<
+/D [3114 0 R /XYZ 71.731 600.583 null]
 >> endobj
-298 0 obj <<
-/D [1871 0 R /XYZ 176.83 326.288 null]
+1149 0 obj <<
+/D [3114 0 R /XYZ 71.731 540.971 null]
 >> endobj
-1886 0 obj <<
-/D [1871 0 R /XYZ 71.731 317.466 null]
+542 0 obj <<
+/D [3114 0 R /XYZ 402.85 495.717 null]
 >> endobj
-1887 0 obj <<
-/D [1871 0 R /XYZ 71.731 284.64 null]
+3124 0 obj <<
+/D [3114 0 R /XYZ 71.731 491.887 null]
 >> endobj
-1888 0 obj <<
-/D [1871 0 R /XYZ 71.731 273.746 null]
+3125 0 obj <<
+/D [3114 0 R /XYZ 118.555 449.696 null]
 >> endobj
-1889 0 obj <<
-/D [1871 0 R /XYZ 71.731 268.764 null]
+3126 0 obj <<
+/D [3114 0 R /XYZ 71.731 395.999 null]
 >> endobj
-1890 0 obj <<
-/D [1871 0 R /XYZ 89.664 245.95 null]
+3127 0 obj <<
+/D [3114 0 R /XYZ 71.731 345.309 null]
 >> endobj
-1891 0 obj <<
-/D [1871 0 R /XYZ 71.731 243.793 null]
+3128 0 obj <<
+/D [3114 0 R /XYZ 386.239 319.506 null]
 >> endobj
-1892 0 obj <<
-/D [1871 0 R /XYZ 89.664 228.017 null]
+3129 0 obj <<
+/D [3114 0 R /XYZ 107.706 306.555 null]
 >> endobj
-1893 0 obj <<
-/D [1871 0 R /XYZ 71.731 212.909 null]
+3130 0 obj <<
+/D [3114 0 R /XYZ 438.434 306.555 null]
 >> endobj
-1894 0 obj <<
-/D [1871 0 R /XYZ 89.664 197.133 null]
+3131 0 obj <<
+/D [3114 0 R /XYZ 71.731 286.465 null]
 >> endobj
-853 0 obj <<
-/D [1871 0 R /XYZ 71.731 189.995 null]
+3132 0 obj <<
+/D [3114 0 R /XYZ 399.678 262.719 null]
 >> endobj
-302 0 obj <<
-/D [1871 0 R /XYZ 194.2 146.897 null]
+3133 0 obj <<
+/D [3114 0 R /XYZ 71.731 237.648 null]
 >> endobj
-1895 0 obj <<
-/D [1871 0 R /XYZ 71.731 138.074 null]
+3134 0 obj <<
+/D [3114 0 R /XYZ 71.731 163.128 null]
 >> endobj
-1896 0 obj <<
-/D [1871 0 R /XYZ 71.731 110.23 null]
+3135 0 obj <<
+/D [3114 0 R /XYZ 475.693 139.382 null]
 >> endobj
-1870 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F23 733 0 R >>
+3113 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F35 1185 0 R /F23 1013 0 R /F44 1402 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1899 0 obj <<
-/Length 2284      
+3138 0 obj <<
+/Length 1975      
 /Filter /FlateDecode
 >>
 stream
-xڍY[��6~ϯ0�R�U],[�>5�9A�I��vQ4�@K���n�����~�䐢����9�<����f��V.��VG�9�Ǐ���╻��/^y(�C��!���Տ�A������ϫ��:G7^߉B����yw%5��v��&p�ߟ�"+��g�E>z�m����,������~��u��щ�`�<%3��V�w��Şs��9�~/�{�}���O��:{ׇ��̧,�-�J
-��MU��*[y���2��+Rה4���
�M�7D�����.a�&��<�׷��a��mS�T)��hȺk)#ͅ�BY�F
۽�<��@=�۰�����8(G���C���(8�ťۤ��t$d��w�΃K?\����b��m����������
o�Z>h)�����Y���lF���z����}���R��[|���L�K��!#�س�߲�غ��9�S��Z7����Z�����4A�/�RG���>ޜ���?�X��2<�xG.ԙ��s����ef�C������-趖��S�""sL�Nc@���.W|%���.7�r�^���f�c�q�E�z�9�P���A7Vt���E��R�ƨ֐W�����'$���#�ןLB�_]קy�����<$J�;��%1�\�Ir]�ֺ��'��9��%W��EZ,���N����ڌe������Mj��
7d,Tv�I���
� ��!ڇ	�7OM�����C�*ci3\EU=R;�Iò��EI�!=�j�"���5�k"�	N4!Pul^Q�f
Ja{���B��$隡�$����> Q`�
-�G�W�)Ꜣ�֏�H (�S��v֑���MZ:�V��׸��Q_������̦/�p3���;�u?�t[�rݏ�0*�T���%��6JC:AP��l@��2J���=*�s���br�:�-hF9���^tbq�8
�۔�&XyG��B��@��6w���ȵGG�C�oc��}�%|�	e/����c����+��!��vH*�MD8�Cu�!��D�z���7�=�-Its���e�����L3?��?lE�#!�*�����b7�3�2=	���"��`�}�$A{P=S��H�L�` ���C�GD��Hoo����{|脌]J�0<8޽Y*f\��K:hD +�q_����cV���[��������/�ޯ������
-����
.Ǎ!�`�+�x�Ҽ���+��n����m
-$�=�D��1^O`�YϵUSq�V�[/R#C�x��s^)߰Lu'���"F��OM�d��{�`O4E�fg�a���|�vn��/Cf��(���cB�����ZV�ф{�[&��I��ݵQXJ�s��_��k�K�^���'3��#�e�{�Y�Qdq^��usK�y�b-+�%����
-��gPD���_x<u�q����9�=<�x�z fd��bl�-�p�{i�B*mN�ҏ�͵P�v���!3�
Y�&t����{����{荽'���1������~��r*�����^鏸`{�:�5Xr�DN�L��pݶ*�JW�ź+o}^�Ku��k�cq���0+�U�̐T��ޢo=�A<�����jn4S���WV��o�M����V�v`cA̾��h\�[Z���'~t�ĖGCf.����1��n�ۺ'����4ն��A���W��-�f�����z޵�5=}�s�P�Z�fN����Í�r5ʩ ��#\�aF�J��u�eO��>��?��ʹrjS�Ωo���n���m�of�1�i�/Gc/3�(�1g�q��~4.趖�?Co5W٢X������o��x5�;���gͺ�g�PP�-s�g�_�ɮS����i�e+�i�C#?��yA����W�t����9C	Ç�2g);��cL÷�t�ƽ��uC7����6m���eK��j�mu�w���W#�tU�T�JM�ې�����������:��6����b���?�J�Ty�g��������>��Jyv[���A��
-/��wRO��~0_�=}�9K��n�s+wY1�I�Nf�ķ�Ko	~�2O���*?��s����&���S�����Z�68zf��鑊�~���b������"4�D��\�8�2Ӭ����k�N���I���e�*�����7y�T�T�T��Xq�����Uy�����ϭNy��8+u�6$����>�b����0��ҕP:[u"�&y#�
-l�%�3-:�ظ�O��ȉ�����^d��~举ZD���܇챦���׏endstream
+xڭX�ܶ��O!F:SxhI�m\4p�8N�i�� �3�ZǤ�ͦh����&�4�mc� �"yn߹1
+B���<"9�!ޒ8K���
+�|y}��e3������7�[��hp��0'4I��ƤH���e���N=��M�������z�֪�f��p�}��a�_���zu�)�4'ۂ>Ȝ۳�.�Ga��D�~�Jў����ov���;�k�u�,3w����Cy4�#�H��++���5��:KWO�ڝ�MUe'�����ʹ���-1Y����xjX��ٹ�8�,��p�
+5m��l�Q�ޛ؛]�q� g�v
Ws�%�a�
���l�AP����ܲ��e{8Y����JtZG��nh��
+`v�@^n;.��ݻ�6�_�:�#SsĮguǫ3EDZ{)ڙ��َ)n��yEp���d�N^Y8#/�$T����T)��V��c�p#y?H����4�	�]���&.{��9�vU�v�ô����� :
���il�0$[�vz���dd�9�gHbF��ze�4�3�2��k�T�7�`�GȻހX�?2$�ÿ�dxc���i��#
��͗��r��A�m��I��G����
Sj��+���	dzB�h�l���wm.l��W>��z�7������u�f��|�p��`�xx}��=�S�1�7�"�u}.�,a���A����Bg�TYw�3'��+�(D�6v>�~�kb�s;�A�a�w����k��>X�>���ZV����$!W��$<��_,pi�r	��euc������?%~��9��a��9�����������O<M��5������@~~��gC~~�χ|v=>�V��2���wa�x��Ȉi������������YFBJ�VjB��p��@T<I�@�n��G��,�J�#�p~g
+
���DZ6�bY7[CuiAeS�WB�d#���'S�vfh���Y�"�z1�(I�$�	�3�J�W��ԍ���?���
+7'P��|Dd���������O�&�TF����Ü��Wl7��HI6�Li%P��CÈд(
I�5���:�<�!�4��f�jPb�P�F�h�O|���0xl+�a*�����w�6��/+B����KNR�\��D��P/I�)�b�Y$�9���[��5�����5�`4�3L�w�܀E嗘ݨa����Wn!F"�����3���Ǜ7?��o^~�՛ׯ�Xj�5���Bn���0.S�0�b�0���]�[x9���q�f/ij
+�<Y��/��ęE�Mu�z(���JoIB�q23�8��xo-7��]_K��_H
+f&��D'�LZd@Z��t��:���jq��&@�vKX�0Ԫ?�APw���Q��z���ɼ٨�ee	!ʱ#x�*0Uɠ^��-�9)���cӇΑQlM'rN0ے.4<����R4C��� �5L���Z��ێg�����O
+�#ol�v��g.����~���[`�	H�P@󦛆�4ʮ�d�N
�h�.�
BaN�(E���iHb�
����_���/��g
x�M���C��oo�T�ۥ�B���㸺ˊr�kh������e8���&*P����}4x�Y�j�nX.�Z�#��}�'�"��ؠI�ځ�a f9	=�
��/Yϫ)�D���$���*� �XҎ��:�Qî��T��\Z�*��FA��$���A� -�		���tLwSķ�=L>{V��`b�FM\%���M�ݑ[�40��G]¨�C> �:
�b���7_p�.�)4����W�#�P���fu4KR��(*�?1�ZEN��$P8�͟�nkr\�8��(����K`��a�_+zH\V9��`�P�*��zu�=+r<�A��O'�l-�(O:��&�k�<�XyF�z�ZXnD�A��Ծ��\�h߭���,k���k�>Ǝ[o�i�]�.ѱ4��iuI�l��endstream
 endobj
-1898 0 obj <<
+3137 0 obj <<
 /Type /Page
-/Contents 1899 0 R
-/Resources 1897 0 R
+/Contents 3138 0 R
+/Resources 3136 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1868 0 R
->> endobj
-1900 0 obj <<
-/D [1898 0 R /XYZ 71.731 729.265 null]
+/Parent 3043 0 R
 >> endobj
-1901 0 obj <<
-/D [1898 0 R /XYZ 71.731 718.306 null]
+3139 0 obj <<
+/D [3137 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1902 0 obj <<
-/D [1898 0 R /XYZ 71.731 668.792 null]
+1151 0 obj <<
+/D [3137 0 R /XYZ 71.731 741.22 null]
 >> endobj
-1903 0 obj <<
-/D [1898 0 R /XYZ 71.731 654.401 null]
+3140 0 obj <<
+/D [3137 0 R /XYZ 71.731 718.306 null]
 >> endobj
-1904 0 obj <<
-/D [1898 0 R /XYZ 71.731 649.42 null]
+3141 0 obj <<
+/D [3137 0 R /XYZ 71.731 536.224 null]
 >> endobj
-1905 0 obj <<
-/D [1898 0 R /XYZ 89.664 627.945 null]
+3142 0 obj <<
+/D [3137 0 R /XYZ 71.731 513.31 null]
 >> endobj
-1906 0 obj <<
-/D [1898 0 R /XYZ 71.731 625.788 null]
+3143 0 obj <<
+/D [3137 0 R /XYZ 71.731 360.882 null]
 >> endobj
-1907 0 obj <<
-/D [1898 0 R /XYZ 89.664 610.012 null]
+3144 0 obj <<
+/D [3137 0 R /XYZ 118.555 322.318 null]
 >> endobj
-1908 0 obj <<
-/D [1898 0 R /XYZ 71.731 607.856 null]
+3145 0 obj <<
+/D [3137 0 R /XYZ 199.108 313.853 null]
 >> endobj
-1909 0 obj <<
-/D [1898 0 R /XYZ 89.664 592.08 null]
+3146 0 obj <<
+/D [3137 0 R /XYZ 71.731 268.728 null]
 >> endobj
-1910 0 obj <<
-/D [1898 0 R /XYZ 71.731 553.126 null]
+3147 0 obj <<
+/D [3137 0 R /XYZ 236.521 261.974 null]
 >> endobj
-1911 0 obj <<
-/D [1898 0 R /XYZ 89.664 535.293 null]
+3148 0 obj <<
+/D [3137 0 R /XYZ 400.196 261.974 null]
 >> endobj
-854 0 obj <<
-/D [1898 0 R /XYZ 71.731 515.203 null]
+1150 0 obj <<
+/D [3137 0 R /XYZ 71.731 241.884 null]
 >> endobj
-306 0 obj <<
-/D [1898 0 R /XYZ 157.239 472.106 null]
+546 0 obj <<
+/D [3137 0 R /XYZ 369.417 198.787 null]
 >> endobj
-1912 0 obj <<
-/D [1898 0 R /XYZ 71.731 459.668 null]
+3149 0 obj <<
+/D [3137 0 R /XYZ 71.731 186.349 null]
 >> endobj
-1913 0 obj <<
-/D [1898 0 R /XYZ 71.731 404.554 null]
+3150 0 obj <<
+/D [3137 0 R /XYZ 412.808 177.227 null]
 >> endobj
-1914 0 obj <<
-/D [1898 0 R /XYZ 71.731 391.603 null]
+3151 0 obj <<
+/D [3137 0 R /XYZ 86.396 164.276 null]
 >> endobj
-1915 0 obj <<
-/D [1898 0 R /XYZ 71.731 386.621 null]
+3152 0 obj <<
+/D [3137 0 R /XYZ 71.731 157.138 null]
 >> endobj
-1916 0 obj <<
-/D [1898 0 R /XYZ 89.664 365.864 null]
+3153 0 obj <<
+/D [3137 0 R /XYZ 478.87 146.343 null]
 >> endobj
-1917 0 obj <<
-/D [1898 0 R /XYZ 71.731 363.707 null]
+3154 0 obj <<
+/D [3137 0 R /XYZ 117.658 133.392 null]
 >> endobj
-1918 0 obj <<
-/D [1898 0 R /XYZ 89.664 347.931 null]
+3155 0 obj <<
+/D [3137 0 R /XYZ 504.804 133.392 null]
 >> endobj
-1919 0 obj <<
-/D [1898 0 R /XYZ 89.664 347.931 null]
+3136 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F35 1185 0 R /F23 1013 0 R /F44 1402 0 R /F32 1027 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-1920 0 obj <<
-/D [1898 0 R /XYZ 71.731 345.774 null]
+3158 0 obj <<
+/Length 2847      
+/Filter /FlateDecode
+>>
+stream
+xڅZ�s۸�_���Ҍ̈�����&��u|��K'n;�� 	�8���q������?��L������o�/��_�찅��ls��(�W���۫�ϸ�S��9�������^�ew7ۋ���n}ȶ���a��n�����?��kv6\-�7��b���?���Vhѝ��}����i�򿏿���1������w��9S��� �
JG�\�Z!Q�/\i!���5�}���9������v��'n��U�e���W���
�Č(YӼ���n�\Ô�f����I�\-���_����}25��R�-{��T+��eԗU�����)ٯ}�ފ'������7ٝ�M'A`��KحIN�X��ؚ7GX�R,7�Eo��wp���k��q-�O�ϐ�ĩ��J�����/F'=��6%�EJ3\�65�Kgެۋ��m�=�u
�Yg�*a�YTn��|��{���>�c�Ls��3
+O/��4��)p`�M��o������Q*��–�%=k�:@P�Q��cī�G���!կ_�.	���3Є�x���T��vqZ�Q��N|%��xn49/YO�Ѣj��;<	s���|�s��3�:J;7��ТK�9@��KU�e=,�kr��B5C}	����!��k^�p�����[����b�Z�7�^��J��@��{/�_���$�	��gJ�]�5dC��{�|�s�GnU��Q����3����k�2~�� ��Hٲ�2\,���g
�c��!���)��vH1��G����08J����C̍�i�N��B�4�.?�!�ir勆���?yG���2ǣ���>��y'i������^ڷg�]�[R�&��q�O���p�������H����yð�)��ȑ�*�����.�6\��X���Ks�����F:��!�y�)hB,v�aNz(i˞P%���!`L4>QN����Sל��]�\�D�	ti���_��;qOc(���
�<�R͌f�J�qQ��#��jpC3s|�j���;����+po�m˝d�l
+��T��

��l�����6Y�3��)	M
B��}�b�3sZ�*!d�)����d5���k�t�����Œ-�x�E�?�N�S�I��f����
+nX��X�y���"$�`��r��Ũiَ���ݢ�?�����p�R��.|�q�v`I������s�-�õ8kW	x`��oi��[�"vĜ�,�pD�XZ�yp�n�ځ�b���4�l
+•�w^���{��b�ٌڴ��u y0��"
+���y	�ʟyӼv��׷��(�ML*E*�;b�ϵ(�$0���;��J���r+)���7�F#�6��L��Kȴ�6�n��Ͻ�D{�͝�Q2��h1š��R�"���
+q4a��|�U)f8M�B�֩��p<�`�`	�qH�J��jL�6����*D�H>G1V�,P9�����&�&>!(򲘣����_�db��SM�zv�Њ��
+��A����dU�B
+��ш�O�䂃G������i��!,�2� ��;2qyv�u��������;��`̲�
P:=L�?se�5<���_��	"�D��t�s8݋|�H4E����%D��W�|���ʐR�.��8>��@�B�PRb���y��h$ᛪ[]�egR7��Zs�]�;� &�]�"�]aZZ��P��>%yAyx�]Θ�NT���ͧw�kju��B���Vǚ7���A�ح����k����J]2���I�&Z�B����>��k��
�:���
+�V�������6��'���~�s�
+��q�O���t'��<l���HWE�cQg']&a>BVZ���rlnU�F_�k7��G5�va��?|pVlj��0<gu���Ct����4��3 B�ab�{�JBL��=��d;�D0��{,�hC�]
�K?e �Â�M�!,�EoD��o%�+l���&]�Ir)2�$d���<�c3|Mx@�?�9�M�Y:��qw��c#�(#MP$�@����W�*!����k��я��9K �PP��<.o׋��@D�n��q�C������*�״���a�p���+.1N��G
+e,�$�m�m��j�o�&X��%���4�1�Oձjq��jX����a����pCƅ���N�.R�<��>n���y�
+���,.�ş�(�����e'�I�g��^ )�H!N��M���{pc-g��߽�>5�-:�Y2zE����~��,�n@o��~�=v��vY��}��u5"T��a�ʲ,�]F�����C���"?�bz��aJ�AF#Җ�H�M8/�Pg� �u�ƌ���`l-�Qe?�RDG���C��e"�,BK��8�f�֏5E���pʱ���w�L�y��6li�Ҷf��I�\p����J!ab�D���:��F��Y��>��`1��KX
+���dӷݤ�F�WP����m����tIo�
+{���$�	*�I���.��n����.�6��(�~|Qtϴ(����:�7����8�5�$��-93��,-rͰ����sP�p��NL�#�{ٱf�7��
���CGM}��i��<(�4pQ+LT��v�n�4���-0h����ݘ��N�3iSE�p���W<�QoF[TµlBec@�����6̍}�l��A}��KZ-ٵÜP�Y�ٹ3]��P[�ȟ�eR9�Kٶ�mr!��1\�����f��.^r%��Zs�˛7��6#d�2��M{�|�M��lư�@���Ԅ�9�x^l��T�|��+M���
j^>���:DHV��|�G�����и�`��ӂ�mv����8e����6[ohh���1�t��X���endstream
+endobj
+3157 0 obj <<
+/Type /Page
+/Contents 3158 0 R
+/Resources 3156 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 3043 0 R
 >> endobj
-1921 0 obj <<
-/D [1898 0 R /XYZ 89.664 329.998 null]
+3159 0 obj <<
+/D [3157 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1922 0 obj <<
-/D [1898 0 R /XYZ 89.664 329.998 null]
+3160 0 obj <<
+/D [3157 0 R /XYZ 71.731 741.22 null]
 >> endobj
-1923 0 obj <<
-/D [1898 0 R /XYZ 71.731 303.996 null]
+3161 0 obj <<
+/D [3157 0 R /XYZ 71.731 718.306 null]
 >> endobj
-1924 0 obj <<
-/D [1898 0 R /XYZ 89.664 286.163 null]
+3162 0 obj <<
+/D [3157 0 R /XYZ 71.731 718.306 null]
 >> endobj
-1925 0 obj <<
-/D [1898 0 R /XYZ 89.664 286.163 null]
+550 0 obj <<
+/D [3157 0 R /XYZ 421.51 645.157 null]
 >> endobj
-1926 0 obj <<
-/D [1898 0 R /XYZ 71.731 271.055 null]
+3163 0 obj <<
+/D [3157 0 R /XYZ 71.731 632.719 null]
 >> endobj
-1927 0 obj <<
-/D [1898 0 R /XYZ 89.664 255.279 null]
+3164 0 obj <<
+/D [3157 0 R /XYZ 71.731 579.662 null]
 >> endobj
-855 0 obj <<
-/D [1898 0 R /XYZ 71.731 248.141 null]
+3165 0 obj <<
+/D [3157 0 R /XYZ 71.731 507.867 null]
 >> endobj
-310 0 obj <<
-/D [1898 0 R /XYZ 330.304 205.043 null]
+3166 0 obj <<
+/D [3157 0 R /XYZ 71.731 476.982 null]
 >> endobj
-1928 0 obj <<
-/D [1898 0 R /XYZ 71.731 192.872 null]
+3167 0 obj <<
+/D [3157 0 R /XYZ 71.731 409.301 null]
 >> endobj
-1929 0 obj <<
-/D [1898 0 R /XYZ 422.851 170.532 null]
+3168 0 obj <<
+/D [3157 0 R /XYZ 71.731 377.077 null]
 >> endobj
-1930 0 obj <<
-/D [1898 0 R /XYZ 71.731 163.394 null]
+3169 0 obj <<
+/D [3157 0 R /XYZ 71.731 306.621 null]
 >> endobj
-1931 0 obj <<
-/D [1898 0 R /XYZ 71.731 145.462 null]
+3170 0 obj <<
+/D [3157 0 R /XYZ 71.731 249.834 null]
 >> endobj
-1932 0 obj <<
-/D [1898 0 R /XYZ 277.308 134.667 null]
+3171 0 obj <<
+/D [3157 0 R /XYZ 71.731 223.931 null]
 >> endobj
-1897 0 obj <<
-/Font << /F33 834 0 R /F23 733 0 R /F44 1007 0 R /F27 740 0 R >>
-/ProcSet [ /PDF /Text ]
+554 0 obj <<
+/D [3157 0 R /XYZ 284.626 186.716 null]
 >> endobj
-1935 0 obj <<
-/Length 2333      
-/Filter /FlateDecode
->>
-stream
-xڵZY��6~���(
-�l�Hj��&�43&�4�(Mh��5�V-u�_�C���շ�A �>�Yx��]����xy.$@�u6a�dm��˻'�(��`мy~��7�n�t�|�ؖ�<+�x� �!����?.��y�;��R$���4��
-���,��4;�=�'	�������玷C=�tU<M3��x�|ZM�GԶ[��ag�+�8/��\�M���q����yU�DŽÓl�\�V��M���5�鑗�%.�z&����#�?Bh���E���-d����H��A3�|���Ox�r]{�����V���m+x���&.y$?i�w��6�!xV����l�K6q	r��n��f�&�D�Em2�u�&+�G�
-��s��(�8d�Ä���i:,�H�KX����:��p��ò���Sɫ���:γ�ՙ��>?i�|覆�	կzK6s��˃�`\����Ъ"��p�w��^��*?�0<5I�i��	
-�}D��"�_��Z���R�E�����1i�*ߴRFC1�|լ��_�����x���Ƚ�l:�Ÿ�BG�VF��j��p�՘:*sgyv~�yz5���`|��pѩ�<毽:�������=����7� ��t/e��I�H�iA�>�p��u%�wUP��\�����v\�����A�ŚDHa/����q��{��1h#�e�=M�T�>���B�!:�E��v?��$�����<E^Xv�����7!c����0i���y��+Th*с�r<�|K�-�w>���-9����D¨�������C�4��HV!�����{�����'\U�]>B۴Y��-ג8�d��@0����5q��Rف�0%�F3h���IV1���F[�=ڶ� �T�:{�ApU5$�����d�f�j�
-�6ҝӻёT�<�w嘆+q���l�:������xx�q� X?��f���*���u��Vx��m[U荕��9u���k_�JX��qZƏ�T��΢�s���~6L�ѲO�
-���$R(||˛�g���SV K��:�aZ�������95��%1T	�$LI	�Ai���g=�S�d�ـ^J�;����0Q~Lxo�,KW)��8?
<X�h�@�b�X��v(�i�.������&�����_�1
\h����b�7��O��v#�Qom��$�lpв(����+0��]��ˆ:�Ʀ6���qg�Q��(im
���ܒ�kC]W�R�¿.�|=5�����D�m��{}�'7%��L���B`�\e�Ȭ&���d���&~i�x�����׸�����w�Jy��ֻ߫�������,Rl�BЬ�C�B�>��/�J�v7���ۏ�B����W�	Ď"԰��)S.9dxudQ��gS� ���)
-��9��4+I�-��+e�����q
Ղp�7��K�|���VOx1���p��ܝ6�.� ���x�]�o�"lڹ�Z��6YE�ds�����m+x�>������g�Y�uX��r�Ϝ��
N�K�`듅%���,��]�)E+.���޶`g���Jo2�J?y��\Ĩ!J��ej��7I$W�|����|�i��h˻"zRǃᱢ�ؙM$/Ӹ�5��*j��m ��ި���Ngkݥ���Y_�>�B�%RUmV*�ъ�/v�PE�L�<?��tFć����H��i[F!�5�p<R��.m?�U\����e/u�� 3�		$7 �Y���)o>�i�#Ql�f`ٴ���le�����j2}�3����S�Ɗ)MX/x��~��w_��$Y�dM��y�����,<n�"��S��L�+��B ��_2�Ў�O��<ꖇvZ0Fm��'�mDqUW���Cq.Y�]��sd|Y�U���Y��;(��k�Ԧ*r�d�~���.��9(��9`'@�8�P�?RA~��j=UhV���j=��W�g�pvd���"�Vٰ�9&�j�B�����P������R�fV�#�Ћi�6e)�{xxӨ����a-|����OB¼�3�A�J��v���i�?°�e�de��~YYD�6	��U��1�E���<XPjhkH��x�L���u�G�V�Bj13�u��9��ϡ?3u�c<kC���Q�y�Z������4�R�k��1u�Cm	]�h?�w�cT�*O��O���:����u��(���F?q:�J
-+�a-�Gۜy������O�Ս��8�TPt=|��B����p�3㋊C����
|V����1d������0��Q7ߍx�k5���d�/���t6&
`���տ��I&���"Do�N5���ژr�UCs�endstream
-endobj
-1934 0 obj <<
-/Type /Page
-/Contents 1935 0 R
-/Resources 1933 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 1868 0 R
+3172 0 obj <<
+/D [3157 0 R /XYZ 71.731 176.351 null]
 >> endobj
-1936 0 obj <<
-/D [1934 0 R /XYZ 71.731 729.265 null]
+3173 0 obj <<
+/D [3157 0 R /XYZ 445.066 153.64 null]
 >> endobj
-1937 0 obj <<
-/D [1934 0 R /XYZ 71.731 718.306 null]
+3174 0 obj <<
+/D [3157 0 R /XYZ 503.263 153.64 null]
 >> endobj
-1938 0 obj <<
-/D [1934 0 R /XYZ 71.731 706.187 null]
+3175 0 obj <<
+/D [3157 0 R /XYZ 261.538 140.688 null]
 >> endobj
-1939 0 obj <<
-/D [1934 0 R /XYZ 71.731 701.206 null]
+3176 0 obj <<
+/D [3157 0 R /XYZ 71.731 120.599 null]
 >> endobj
-1940 0 obj <<
-/D [1934 0 R /XYZ 89.664 680.448 null]
+3177 0 obj <<
+/D [3157 0 R /XYZ 71.731 120.599 null]
 >> endobj
-1941 0 obj <<
-/D [1934 0 R /XYZ 71.731 678.291 null]
+3178 0 obj <<
+/D [3157 0 R /XYZ 71.731 115.618 null]
 >> endobj
-1942 0 obj <<
-/D [1934 0 R /XYZ 89.664 662.516 null]
+3156 0 obj <<
+/Font << /F33 1116 0 R /F35 1185 0 R /F27 1020 0 R /F23 1013 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-1943 0 obj <<
-/D [1934 0 R /XYZ 71.731 634.456 null]
+3181 0 obj <<
+/Length 1419      
+/Filter /FlateDecode
+>>
+stream
+xڥX[��6~�_AӇ��a���j�$�V�Z�Q�j��f@x�͎�ʏ�1�`n+u��������;���?�b��>\p��(���γ�����+-��ȼ[��?����i�[��
+������}�&!���_�����=;t��}�k*^�[��]���AvU���g������r��n��W�a��[+�)F�H�ؓW/@p|t@���K@I�FQ`M�[��h[o�j{�V�^;�g3���-̈́z���:�9dC8}#�BVB+őT�Y+!�DI� T~����:�OAT�4��V"!����0�2��YE�gw�	%:�e�B��P����EYqy�������}%J��@��*�/�˂uzU-��ZI�Z�4)G�n�%1/IC�v��`�^h6}�6�� i�W�8��s�R{���B[+�Y�(1�|4�Qs��]%�)g���RWj��e"7������(�Ju�rA�QD5���t}&*h!�rS#FU%�?�������Voʩ U�uCҷ�g',Kp�h�i����C�ON�o�0�?�{�m��͕�W4�t��mn(��'���!�/`
��.���uE�62w@E�y�x�Җv��DE�7~?|K3�I��dSә*y9����b�4��b���~��;Qd�C�k�w��!mOjn�����]%��T�(�-��\�pH_O�JZ��nE}�'2�xшH��%^<c�&/^��P+m��wlG�oUM�����	����X�h&�\�Ś�G���»ª�H�?��ɜ{ߊE)(�B�Bƾ��-��@����T���b�i�g%;�v'�1
+��Ú栯I
����>D`f���Z(LO{��z(b�}�ݹ��q�1�Ek2�.M���j�����[A���������~4l��E���d��~ңT=
3�ldA��g3~�T
��l��.�Lahb]�|V��v#�0]|�Q��R�u I�$w5ۗJl1o���y��2��C�z$|�D�B��#�9/�7�ӆ�f��8'2�xt�
+I��J�I/Xs>�Ӄ��7��_٪,������)]���P�^��U��l�iR�m*Y]y"�xވ��5wG*y�ߣ9tC����IN|9	�	�̺3̸8��Uf�N]�~������Nx�:�{5�ra<�}U�ȵξ����
�\�4�~�팞i!�Z B���C���үS�ɩ�x)���d~�
�w]i�9�4�!��dr�|Nw>m6�CsQ�:�i�ap]t۱~r�(=����J限�g�U����ph��,�j�nsʳ�~� 4pl��-=ܙZI��^��-0�s8�?�9�,*S�W��I��@!�#m���'��j��p�j|#X{"����V��U�� q_�q9�¯��Z�Y]��pj�?R%Otendstream
+endobj
+3180 0 obj <<
+/Type /Page
+/Contents 3181 0 R
+/Resources 3179 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 3209 0 R
 >> endobj
-1944 0 obj <<
-/D [1934 0 R /XYZ 89.664 618.68 null]
+3182 0 obj <<
+/D [3180 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1945 0 obj <<
-/D [1934 0 R /XYZ 71.731 577.669 null]
+3183 0 obj <<
+/D [3180 0 R /XYZ 71.731 741.22 null]
 >> endobj
-1946 0 obj <<
-/D [1934 0 R /XYZ 89.664 561.893 null]
+3184 0 obj <<
+/D [3180 0 R /XYZ 89.664 708.344 null]
 >> endobj
-1947 0 obj <<
-/D [1934 0 R /XYZ 193.314 561.893 null]
+3185 0 obj <<
+/D [3180 0 R /XYZ 119.054 690.411 null]
 >> endobj
-1948 0 obj <<
-/D [1934 0 R /XYZ 332.302 561.893 null]
+3186 0 obj <<
+/D [3180 0 R /XYZ 147.008 690.411 null]
 >> endobj
-1949 0 obj <<
-/D [1934 0 R /XYZ 71.731 554.755 null]
+3187 0 obj <<
+/D [3180 0 R /XYZ 71.731 683.407 null]
 >> endobj
-1950 0 obj <<
-/D [1934 0 R /XYZ 71.731 541.803 null]
+3188 0 obj <<
+/D [3180 0 R /XYZ 284.172 672.478 null]
 >> endobj
-1951 0 obj <<
-/D [1934 0 R /XYZ 71.731 536.822 null]
+3189 0 obj <<
+/D [3180 0 R /XYZ 401.68 646.575 null]
 >> endobj
-1952 0 obj <<
-/D [1934 0 R /XYZ 89.664 516.065 null]
+3190 0 obj <<
+/D [3180 0 R /XYZ 76.712 615.691 null]
 >> endobj
-1953 0 obj <<
-/D [1934 0 R /XYZ 131.167 516.065 null]
+3191 0 obj <<
+/D [3180 0 R /XYZ 89.664 597.758 null]
 >> endobj
-1954 0 obj <<
-/D [1934 0 R /XYZ 71.731 513.908 null]
+3192 0 obj <<
+/D [3180 0 R /XYZ 71.731 590.62 null]
 >> endobj
-1955 0 obj <<
-/D [1934 0 R /XYZ 89.664 498.132 null]
+3193 0 obj <<
+/D [3180 0 R /XYZ 71.731 590.62 null]
 >> endobj
-1956 0 obj <<
-/D [1934 0 R /XYZ 300.451 498.132 null]
+3194 0 obj <<
+/D [3180 0 R /XYZ 71.731 573.437 null]
 >> endobj
-1957 0 obj <<
-/D [1934 0 R /XYZ 450.128 498.132 null]
+3195 0 obj <<
+/D [3180 0 R /XYZ 159.123 561.893 null]
 >> endobj
-1958 0 obj <<
-/D [1934 0 R /XYZ 71.731 495.975 null]
+3196 0 obj <<
+/D [3180 0 R /XYZ 304.466 561.893 null]
 >> endobj
-1959 0 obj <<
-/D [1934 0 R /XYZ 89.664 480.199 null]
+3197 0 obj <<
+/D [3180 0 R /XYZ 71.731 554.755 null]
 >> endobj
-1960 0 obj <<
-/D [1934 0 R /XYZ 135.89 480.199 null]
+3198 0 obj <<
+/D [3180 0 R /XYZ 71.731 554.755 null]
 >> endobj
-1961 0 obj <<
-/D [1934 0 R /XYZ 175.172 480.199 null]
+3199 0 obj <<
+/D [3180 0 R /XYZ 119.054 543.96 null]
 >> endobj
-1962 0 obj <<
-/D [1934 0 R /XYZ 252.362 480.199 null]
+3200 0 obj <<
+/D [3180 0 R /XYZ 76.712 508.095 null]
 >> endobj
-1963 0 obj <<
-/D [1934 0 R /XYZ 343.519 480.199 null]
+558 0 obj <<
+/D [3180 0 R /XYZ 257.368 473.624 null]
 >> endobj
-1964 0 obj <<
-/D [1934 0 R /XYZ 490.965 467.248 null]
+3201 0 obj <<
+/D [3180 0 R /XYZ 71.731 464.986 null]
 >> endobj
-1965 0 obj <<
-/D [1934 0 R /XYZ 71.731 465.091 null]
+3202 0 obj <<
+/D [3180 0 R /XYZ 71.731 447.557 null]
 >> endobj
-1966 0 obj <<
-/D [1934 0 R /XYZ 136.488 426.527 null]
+3203 0 obj <<
+/D [3180 0 R /XYZ 71.731 447.557 null]
 >> endobj
-1967 0 obj <<
-/D [1934 0 R /XYZ 76.712 366.855 null]
+3204 0 obj <<
+/D [3180 0 R /XYZ 106.501 436.762 null]
 >> endobj
-1968 0 obj <<
-/D [1934 0 R /XYZ 89.664 348.922 null]
+3205 0 obj <<
+/D [3180 0 R /XYZ 71.731 429.758 null]
 >> endobj
-1969 0 obj <<
-/D [1934 0 R /XYZ 71.731 328.832 null]
+3206 0 obj <<
+/D [3180 0 R /XYZ 234.877 418.829 null]
 >> endobj
-1970 0 obj <<
-/D [1934 0 R /XYZ 353.402 318.038 null]
+3207 0 obj <<
+/D [3180 0 R /XYZ 71.731 411.691 null]
 >> endobj
-1971 0 obj <<
-/D [1934 0 R /XYZ 279.809 305.086 null]
+3208 0 obj <<
+/D [3180 0 R /XYZ 71.731 388.777 null]
 >> endobj
-1972 0 obj <<
-/D [1934 0 R /XYZ 175.77 292.135 null]
+3179 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F35 1185 0 R /F32 1027 0 R /F51 1649 0 R /F23 1013 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-1973 0 obj <<
-/D [1934 0 R /XYZ 397.028 292.135 null]
+3212 0 obj <<
+/Length 1685      
+/Filter /FlateDecode
+>>
+stream
+xڥXmo�6��_a�K���,۲���f��a-046lCAK��E]Rj����;����P��e���sϽP�d	���.�vk�X�F�m2I˫���|�k\r��yy���zr�nד��d��E��f�[���d5��~����Ts5�^%�Yu�w��e)���݃����y<E����x�ݽ=9Y�ۛ���h��jף�m�]��lo�h�n���6O���P�����8�}2�q�I��*�=�/���1gu�gi��U�l_��[&�Fo�H��SY4e���jd�ߞ��j�#��
x�ƫ��͸N�8���ĥ�投�-В=��e�ds;��`�1��3�W�5�
+| ��ߗ�ձQx�lj���O��
��D�ˎeV��aɫZ?�V��B�<ֆ?�8+��}�hoj���kBī�_�G�e�`�c�,���7�#�0�����H��#��b�� �rf�ƣ�j�I�����)k4�-�����
���$Y*^����~��%ַad��AK�t�"|wRi#p�l��Ϻ�eD���������Af͉c*�F)���� U	NKL ��rd��@���(��s���J��7䂰G9��a��X;5Ix���9A�|`)O��Q\�x�;�Z�����Z�צ4gՑ��)Y�Ù`�1�x����b�	�ή�CKӑW5���ce��D���:P
lh��.���j��.C�J���@�[���~��P����F�e&�[Y�<�Da��03|=Y c�6jz(��"ozvY�t֪��BERT�Σ�n~u���������PFs"[���*)��D�HfHP��Ќ�qR�Ӣ[wB	���$�`Or��3��b�2��d��Ȥ?ؒ5i�l�߿zTa�P�|�5g�`U��JouO"����ѐX�d�����_��6��П2���M�S	���*�E4�9�iӲ���'���E���,�T��D慱w<��Z���������2~�q�W)�;G^f+�03��S�Զ�J���r�����q������8��ҋc"=�fkEݬ��ʀ ʼnJ�F��lmπ!! ,��K1lئ���{���d"Š�S����X��~~O�d/0kB;�mXu�^�X���P������|�m�������!�5��9jz��ad�����?��yT�9Q���E]2��� ��֋��a�b����;9H!�d��jȥ�;�7���¸1�s���PO�F��Dzc�G$�A�@b ���=؂	��m���� �Z�
�$�x���8;d��D�����-bn��7L��&�ʽ�vj�V�D1�c��8K�f�zxy��E=u/*;Άx��4����.p����:����॥�j�{����_}�3�l�C�3J�,ٝ6�
+����Nt0 �,4��!�՘�eg6JU�xѹ(��(/xcv�	����>
O�ߟ;���IG?���ݼ�
+iw������P�ʛ���t�MG��߆�=��ȱ��J{�2�ܢOmu�-�ړuy�;a�����WG�ʯ�䂧h�l#���W�u��}�3�M��W�uѻ�xD�y��kYi�7���J�ؾ�j'�h��4���R�\*w����ty=��sˠ��'�r�@��L���jX�����Ph�<��(�zX<1�� d΍6tz?�z/W���&��wO��헌^�&�]�M�CA���w|�?�{��endstream
+endobj
+3211 0 obj <<
+/Type /Page
+/Contents 3212 0 R
+/Resources 3210 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 3209 0 R
 >> endobj
-856 0 obj <<
-/D [1934 0 R /XYZ 71.731 284.997 null]
+3213 0 obj <<
+/D [3211 0 R /XYZ 71.731 729.265 null]
 >> endobj
-314 0 obj <<
-/D [1934 0 R /XYZ 331.698 241.899 null]
+3210 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-1974 0 obj <<
-/D [1934 0 R /XYZ 71.731 238.069 null]
+3216 0 obj <<
+/Length 1554      
+/Filter /FlateDecode
+>>
+stream
+xڅXێ�6}߯��e%`W�dkm��$�6[�C�E��D[�J�#Rq���PR7�~���̙3)Y��K�$Z/�n��>[��U�8�??^%����
ּ�]}��r��F���bwX��u�\��em�t�+�
+ޗ�hޥYd�9�o�5��͍w��k���H������-��v�|�]3C��{t��xӁ����"gD���83U�Y�r<݇i����&̲@F)؇��6^vV��x.���[�ĮdҜ��
�s�Y�%L28K��b�v��S��l1	�ّ[�J��E��� ����7I�-F�&y�8u��g����i�x��W�^�1�h 4�v�n�heu	���T���
+aI"\��N:�%�G��$twg��H6�#"�@Z�H����8N+\�8c��
+�	��ઔ���]9�Z���>?�>�<tP}��鬶:L�\#�,v�r��i�g�� -�)L`SX�LBQ�_ңI��~��cAe�՞�Z툧���Q}e簍ZI|�F���"U�B�<�kʕ�]٥Xq����0�<
+���;�H���+�|QV�'gZK���3ϔ�	�RP��V&�������G�(�C��4 r��J2�ٻ�lH���|�Њ�-��Bi�µ��"�:�'�߱=$̜�s�ql7S�����c})C.��ɽ�u��t��t�k�0������x�4�KŴ"j�s���Ol�zP�'U
+ ��U�	�)�:,(Ns�BgÒ���BW��T�}!�G�m�*��ۓ�iP�������u5u�whY_z
+_�׬aNm�?rh�p˕`h�I`Ӿ_>��|�%.r�%G�Q���r^�e�����B�R��U��ٞN����43�8G���}���F��h��D7�g� M1(,\;~l������E��;8�k���/Ė�aA�^{&��(.�`2Tҫ����z���;T�d6_$(e������m�w㞳��rB�"z"B1���U�/��0��
+k�`R�A���4�K?'��r����a�e������1�� g���_�65M�?{&L�|��4i�
+Nj�2-q#�9ӳ��|@7^��<
��pj�Y�
+޷�	h�vG@	�k�r�ʣ/��̶����mP���C7@�}��~������Rd�D9�SQ�Z�Y^	�V�̊�mE��p��w�(�B|鋟�s�Z�a?溄	E=�b3�Z�-K
�BS^j�`>�'Rh��������D=�iFQ�7w#���C?���)�'\�:�< �N�^P��d���h(sQr��e�"����6ϐ&�RS�ͅ߄�&����]{�43�Z�8/F�ɕi�L]0d������A=9�¶�bZ��1�u��7}#�ф��h�����NNJ]���+����	�z�~�-�)	�µMG�$J��/�����9�_�؋qa����:�M��U^N7��"yr��=�D�Bֽ.L���n���0b���k�t�yd�D�e��&�d����ׯ=i���`6��an���ǟ�l����ǙXH�/~��̾?e�&�S����m���4��\&�endstream
+endobj
+3215 0 obj <<
+/Type /Page
+/Contents 3216 0 R
+/Resources 3214 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 3209 0 R
 >> endobj
-1975 0 obj <<
-/D [1934 0 R /XYZ 118.555 195.878 null]
+3217 0 obj <<
+/D [3215 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1976 0 obj <<
-/D [1934 0 R /XYZ 71.731 142.289 null]
+3214 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-1977 0 obj <<
-/D [1934 0 R /XYZ 71.731 120.426 null]
+3220 0 obj <<
+/Length 1561      
+/Filter /FlateDecode
+>>
+stream
+xڵXmo�F��_��%P����z�/�]S�k�˩�U��a^\v��U~|gavyu"�ZE
+��g��yf�9���=���[�މ?
+�#gtw���b�K&�5on��{;�����d:�ݎf�ܞ�f��Գ�7�
3�"�4�&�]�
+.��q��W���X���X���|���;�ӹ�\L�����y���Ğ��h�,J��*����U�}V[p�i���r3KC�k�x�f�?Z���D�w"4��m�'D�,�.�Mf���E��?X�q̕��*F��>���DN�=�+�V��,ى�_�7�¨���E�]j�'��0�BtY\$)WO�B\D61m�*�:��-q��qe'IHV?>;��QE�QrM��)I�,�vn50h���!Q,�������ҙ�|��D��c-���5�q��_��0@
��Z�L�n4H̳���qǯ���l���X���V���4����cr���c�	z�E����J��nC0
XHIMg�z�s�Te$
�C���<�,��c�m�Te�N��ȧ+��Q��qĊ�Q�TX��(��m�9��!�L�:É����`q�hEOt?o�SU�C�Pb�� �8ז�;�������{.ac���$����a�@�����v̄�Y�Jٱ�H�v@����B'��峝���ы��S.r�j�!�/���%V��PC)�A����<K]ĐR�Rm*'5y):X���ړ
���雯p�
+h̾��Nd*T�S���$٩�k@��RT�ga���UcDM"�I������"��LS�w5<����ijώ���h�4�zy]Ba�!��8r`��ܥ�8D��d-41i��������M	""��*�z��͘Ua��mo�h�,W���l({_�LC�/�	!㴥̓��2x�$jG�X)S��qe^Y&���d��>�k�.�r#��)�/L�$��(!c�*wk�k�4�,��M��)�|��s��2~8P�j��'�v�67,
+RX�� ��zU�řj�0���X�i@䴡\�%U�P)?Yw���0����E��p�������9��~���xl���r�	�V77��.����Շu������1���;0��>{���]\��	����Nj
+����OO�M���5�t�	�YJ�D�8պ�tA��� ɝ��N��1ĐT�����wg�|x�7�\�������}s�h> [����;�گ���5��*���d@sAt��U�n�P��|�j��Tψ����Є���,���*~��$T��!Q�	�B�TZݗ��މo*�iKV����0�c(ӓx/����J�W>\[3Ǽ���0PT
+Ǣ�B���/����Zz������О��~�@�.߭[7Q��}��M�&�kJ�|��=�6@@���}A�H�BCF�j?�j_�����&@��*�)'�:���"�_
p+}J
��J��D�+Qݑ�۳k��2US�#Ms��kZ�U�m�V���T�a�4a�Jݾ�;�?�q�n���.?d�T/���"]T5��-��6[�w��ǶzI�[��-l�v\Q�.}:���/Yy&�endstream
+endobj
+3219 0 obj <<
+/Type /Page
+/Contents 3220 0 R
+/Resources 3218 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 3209 0 R
 >> endobj
-1978 0 obj <<
-/D [1934 0 R /XYZ 71.731 115.445 null]
+3221 0 obj <<
+/D [3219 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1933 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F23 733 0 R /F44 1007 0 R >>
+3218 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1981 0 obj <<
-/Length 2168      
+3224 0 obj <<
+/Length 1921      
 /Filter /FlateDecode
 >>
 stream
-xڝY[��6~ϯ��k5�����$m�.�lO��6E@K���$��t����n9(p$ˣ�|s���&�I���9'�7q���\���^�H�G�������;���1p7��gY$����uH�;�����۔V
�w{Ƿ�.���I�����Yyя޴;{{�+�s����_�~|�d�nH�������{�"G�^7����y�	N������ҀO��O5
-=�;=�@���ׯ,	���l���_��&e��d;��^�����oY-2^���W�/�"~��������fİ�Y٘wsF���
-���u�4wp6p^���S����
-ZJ`o���~������<����SZ^`�^H��1N�ON��FF����Z{��d��<���hw�nB�f�0�@�3��^[�\���'�C�o�ե�"Շo1�R4r��� 3�������B�-�Z��43�'l���LVt$A�-ɺ�j|eU�����QtE��o��O�oM5�=��ު�H�������ǯ��r􅻷g��q�h]4Ҭ˞0Ryf��=G;�W���;��n�R�s��3A��|_�����2�4霽T�Z� ���c����5hɚ�6A��$�tU2��J�y�zB;\���n ����
����Q�"{�V�~]U������֦��GMëh�PE�X	�#ЧVq24��N-D�;�Я�u�H�.|�h���$��Hz��O�6z|�d����;��3��IY���
Ǵ��.V�2A���a�i���텍��mQMXv:�K��erP�(�w��5ם-G�/�V�t�G՘��,˹�u�Iߙ�m�J^PKn���0A%�F,E|շ��m�5��K�����,Ϛ�!5ub����6��_�n�|�}=�����&ФY�� �cP�'�}���;9�����:Hq���f�q�
�\aL�h�L� ��6����ݬj@S��%�|�M�+~݌:S�;h޴���nj���Xnf��6�[FLj�9�b�"�]�Lz>��
-xk��y�U�/5b0/��\�LmP����?���5@��5Y���0����ύ[Anny�X¦�7*��R���k�~<�h5��J��6j��nT �x��gbO+:eM��s^����I���2�@1^�N*n|��y�V<ه,�R%D}��2��>-��W��tʫ�i�γ�jc��e��P�T�����+�U�2�P��F3�d__s`�W�lP��%�(
��FW�]�_�2w�nr۬�]�v��V"����l��>�������~��[��V6^v�z�$�
-�LU���E�q��#�aG3^H�>��Z��e�gpݖe�+�c����rΘ���z1��z���j X��2W,��F?���;���E{rJ Ϻ�X�g��;����
-�=ص�~�w��?ɾF�px�F���@��*x(&:���p�^iS䇓���h���vD\?�7����Q�/y3
�C��yUd�b.�Ծ�m�)=�b8��<��!�
����3(�Mwz�NH�c����A�a�
-��G
-3\$[��Q���-e�y�nΒy!����=�&�z7�
��^.���J��7��9��4�0����>}e�`&�_�,�X��$
84�������*
-��⬙Rl�p��k��5�2��,K+�D+���"��Y��!��35mH��˖~�Y=NA�l���n�
�'q��X@#~�"�k�����0 \/C�}��5Ju<��pv�>�m�@����_W��z�d��=�9f�J�0�ޤC�1�Ap�p}U��և��q�R�'���6�Q����De�PW	��1}Sp5�JB�����su��Ҙ�`�{I�_I�7՗�����h���ކM����C]e,��ʽ����3��?4i`���C���(���e-UW	�
-2�����M�^���KV>�x�/�D��,�*�W^�*��Y���-yy�]F|߇� l/O26J�.9o�^E��\A_��:y���ĵC4��`
�m��꫊i��j}}����"
y�����l�$H>|�4}����`M[�*_@Đ�<���w#V	/9�U�Nˆ8@��}�����#���?��3m����
-_%��X�Z��OD^D�{G��QO2�-�w"b9��:H���08��ݧ:Pendstream
-endobj
-1980 0 obj <<
+xڝXێ�F}�Wh��$ R����Y�^�p�I�X1F�j��Cv3�'��~{�od����<�[u=u���*��x���]
+��&�|U4ϢU	O�>�͉�	�3���6ߥ�����xYe�.L�l�K�p�'���W�u�Z�;?H���C}}�s��	-����?�H]#����go���<݅�}��q��ºd7Zg����Hi܏�Or�A�@.�ze��93}�/�Y��Q�~�\�o����\Q���r��ұFߝ�$�����e`r<���q�յ����	{�Y������)��"���s��D��q��.:�?޽|��g?���|���Ϳ��1�7���~�{\���$<䱲I;�J��ѩ����<�3V����3f�4-;L\#�y��G).61:�� �wW}ۢ��q�-e���a
�Y�G��:8�6�`��zh�k<00Ӯ�15�P�f�u^� \�u�yQ��e'���.�g��ؽ��&�Sx�3�6�֚�\O��`{�T

�Yg�0��eF׃��:#��twD����31-�j[Vg<�A�b
��ه
+w*]F��wi}�,ϢB�������jێIZ�����<h}�+0ۨ�񋽡��An�x��E-j
��
+L9dt�R�
+���
`��E����;�����P����  ��gX.�c
VH��d8mi���c��SA�

C݈��ʶ��������\d�������b�jn��B�\�/>1����X�m��klR�l�Z(x�������^�I�	F��nS3!P��_��H�wU厮�6���)+�(
+:q��wa��U�}t�í4j���Q����Nyç"*}w�H'����S�*+,�����j>�Π�o�����dP�刘�8s�l�Q'���95�S�}�)8A5Q�p`�QT�wg�$݆�8]��C��DukƱg��bƙR����_3Z�]HՖ��憎p�}�r�����a&�Ӧ�3O��E�cSS
6qC�6�B�KBX���R�$��Xh���Q��,��MQ�!A��n�,:��zA���.
+�\�	�F�ڑ�qFI��4��(��Jl��:��z�7
+�H*��0���F���+���iM�A�yBt�9փK�4�2"NK�S��e�&��i�:�u�l#��2�����}fY�J�4�o��	�3KLM��`�43θ;���f��pg3j4.��,�8${v{6Q�
+)�3nt��ެ�d�wI�J�(�w���m�Ρeq��YR\`�8@�e�]>�lb��q��,i,3H��m��-jPQ�jښ�
+�A`�=[��~,�!��ç7
���-d�O���eƉ�?� �I[Y]O֮/�|:�"����=Y̙��n3YWG+q0�9�)�7�8���NJq�Q�>���#�E0ȭ�fX�F��q�b����҇�M��a+t:ޟ���t���$鯠A��}����r6>J���zqg�rC(��!E�w�v`�ۮ�w
+��lr�n���P1���s��O�:��� ��ث��h���Pchؙ\�7�9��8�W{�bU���m'��GN�������C����Ȭ�D]jA���)��Q�Z�qh�4d��cԺ�I4��7�L}k)Fn
+�C��G��Z���i��2��s�
М
+U���e��/����HM�u�N�վ����c�;2;n#��d\���fS�����Ӊ�%�!�c���T]n�4��yI����3��%̴N_�=O��X�Ӏ،~(�i�Bw��2�z5�!خ�'��V���c;��{?�r�,{��?�
oډ'��X�w;	��ٹtj;��DH���x%r��!�	r;�yӘ��}�{�m�xd�25O`CJ��m�ػѥ�?���endstream
+endobj
+3223 0 obj <<
 /Type /Page
-/Contents 1981 0 R
-/Resources 1979 0 R
+/Contents 3224 0 R
+/Resources 3222 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1868 0 R
-/Annots [ 1991 0 R 1994 0 R 1997 0 R ]
+/Parent 3209 0 R
+/Annots [ 3228 0 R 3229 0 R 3230 0 R ]
 >> endobj
-1991 0 obj <<
+3228 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.14 642.426 192.328 651.337]
+/Rect [236.913 377.276 398.243 386.188]
 /Subtype /Link
-/A << /S /GoTo /D (upgrade-cvs) >>
+/A << /S /GoTo /D (cvs) >>
 >> endobj
-1994 0 obj <<
+3229 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.157 624.493 254.345 633.405]
+/Rect [485.445 351.373 537.983 360.285]
 /Subtype /Link
-/A << /S /GoTo /D (upgrade-tarball) >>
+/A << /S /GoTo /D (tinderbox) >>
 >> endobj
-1997 0 obj <<
+3230 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.225 606.56 265.413 615.472]
+/Rect [71.731 338.422 267.724 347.333]
 /Subtype /Link
-/A << /S /GoTo /D (upgrade-patches) >>
->> endobj
-1982 0 obj <<
-/D [1980 0 R /XYZ 71.731 729.265 null]
->> endobj
-1983 0 obj <<
-/D [1980 0 R /XYZ 71.731 741.22 null]
->> endobj
-1984 0 obj <<
-/D [1980 0 R /XYZ 81.694 708.344 null]
->> endobj
-1985 0 obj <<
-/D [1980 0 R /XYZ 71.731 706.187 null]
->> endobj
-1986 0 obj <<
-/D [1980 0 R /XYZ 81.694 690.411 null]
->> endobj
-1987 0 obj <<
-/D [1980 0 R /XYZ 71.731 683.273 null]
->> endobj
-1988 0 obj <<
-/D [1980 0 R /XYZ 71.731 670.321 null]
->> endobj
-1989 0 obj <<
-/D [1980 0 R /XYZ 71.731 665.34 null]
->> endobj
-1990 0 obj <<
-/D [1980 0 R /XYZ 89.664 644.583 null]
->> endobj
-1992 0 obj <<
-/D [1980 0 R /XYZ 71.731 642.426 null]
->> endobj
-1993 0 obj <<
-/D [1980 0 R /XYZ 89.664 626.65 null]
->> endobj
-1995 0 obj <<
-/D [1980 0 R /XYZ 71.731 624.493 null]
->> endobj
-1996 0 obj <<
-/D [1980 0 R /XYZ 89.664 608.717 null]
+/A << /S /GoTo /D (tinderbox) >>
 >> endobj
-1998 0 obj <<
-/D [1980 0 R /XYZ 71.731 601.579 null]
+3225 0 obj <<
+/D [3223 0 R /XYZ 71.731 729.265 null]
 >> endobj
-1999 0 obj <<
-/D [1980 0 R /XYZ 71.731 570.695 null]
+1152 0 obj <<
+/D [3223 0 R /XYZ 71.731 484.184 null]
 >> endobj
-2000 0 obj <<
-/D [1980 0 R /XYZ 71.731 539.811 null]
+562 0 obj <<
+/D [3223 0 R /XYZ 449.605 438.93 null]
 >> endobj
-2001 0 obj <<
-/D [1980 0 R /XYZ 71.731 470.072 null]
+3226 0 obj <<
+/D [3223 0 R /XYZ 71.731 435.1 null]
 >> endobj
-2002 0 obj <<
-/D [1980 0 R /XYZ 71.731 426.237 null]
+566 0 obj <<
+/D [3223 0 R /XYZ 159.442 399.558 null]
 >> endobj
-2003 0 obj <<
-/D [1980 0 R /XYZ 328.375 415.442 null]
+3227 0 obj <<
+/D [3223 0 R /XYZ 71.731 392.205 null]
 >> endobj
-943 0 obj <<
-/D [1980 0 R /XYZ 71.731 400.334 null]
+3231 0 obj <<
+/D [3223 0 R /XYZ 71.731 333.441 null]
 >> endobj
-2004 0 obj <<
-/D [1980 0 R /XYZ 71.731 362.61 null]
+570 0 obj <<
+/D [3223 0 R /XYZ 141.108 296.225 null]
 >> endobj
-2005 0 obj <<
-/D [1980 0 R /XYZ 222.086 329.664 null]
+3232 0 obj <<
+/D [3223 0 R /XYZ 71.731 288.873 null]
 >> endobj
-2006 0 obj <<
-/D [1980 0 R /XYZ 71.731 312.563 null]
+3233 0 obj <<
+/D [3223 0 R /XYZ 71.731 268.962 null]
 >> endobj
-2007 0 obj <<
-/D [1980 0 R /XYZ 71.731 245.579 null]
+3234 0 obj <<
+/D [3223 0 R /XYZ 315.106 245.216 null]
 >> endobj
-2008 0 obj <<
-/D [1980 0 R /XYZ 104.01 233.923 null]
+3235 0 obj <<
+/D [3223 0 R /XYZ 86.396 219.314 null]
 >> endobj
-2009 0 obj <<
-/D [1980 0 R /XYZ 104.01 222.267 null]
+3236 0 obj <<
+/D [3223 0 R /XYZ 71.731 212.175 null]
 >> endobj
-2010 0 obj <<
-/D [1980 0 R /XYZ 147.048 198.954 null]
+3237 0 obj <<
+/D [3223 0 R /XYZ 225.881 188.429 null]
 >> endobj
-2011 0 obj <<
-/D [1980 0 R /XYZ 104.01 187.298 null]
+3238 0 obj <<
+/D [3223 0 R /XYZ 71.731 181.291 null]
 >> endobj
-2012 0 obj <<
-/D [1980 0 R /XYZ 71.731 112.379 null]
+3239 0 obj <<
+/D [3223 0 R /XYZ 373.626 157.545 null]
 >> endobj
-2013 0 obj <<
-/D [1980 0 R /XYZ 71.731 112.379 null]
+3240 0 obj <<
+/D [3223 0 R /XYZ 71.731 150.407 null]
 >> endobj
-1979 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F38 963 0 R /F32 747 0 R /F23 733 0 R /F44 1007 0 R /F61 1454 0 R >>
+3222 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R /F35 1185 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2016 0 obj <<
-/Length 1552      
+3244 0 obj <<
+/Length 1122      
 /Filter /FlateDecode
 >>
 stream
-xڭXK��6��W�P�v�$��-	��94(�(�h���H�*Q�l~}�"���ݤc�%����pF���G���Ѕ�
|'�V�����+b(��d;�y�_�޸��8p����0F!��Х(�O?�_嬑��l���.��iU�Eϋ:ӏ^��ξe�6�oW���n�
Q����yr]���b�(�W>b'ڷ��~�����:7����uZ�W�W�����
\ xL�f�d���/1>��y#T�uX�
-+��xN�(
-#
�e!j���
�E��@�%����-	P�*�/G�-��L_ʢ�zU��*s�@���^[Qi�`�(�`�8�z%9��4qߤL�Ks��v
��gEmN�̭U��Ć�ե�d��̙���M�;^�n���Ӓ�+-E�J�LrVg��HXq��x�4;[J|D|.�F��!��Y�kv�P��Z��צ��f -�����W�H���!��]�y���׼�݆�k>�Vg����?�H���7�{VZ�~ܸ��5,/{�9���f</9��
-l���v�!�tr.�ȃb�/Kk�e�09Of�!;=K��e��b�F8d�;~��j�����F* 1���_���/������2Xىǂ‡��LNH}B�@�KT(�<Q��Ԕ�f!��st.��Y�����Lih�?��v9USr���{�N��`K��AMp�{��)&sl�9~o����A��N�NW1�`���N� �)��ұ,���:,Xk����Ek�)�F��
-k�!����H�Xc8Ece���7���a��;
��g
-�!�YQN��4j���:ե`�%��!�'<И���S�s+vo%T���Q�Q�����&�&0�kxR�B��ÝG��l�hS�ai�2�&\�9��Ax`]��&
-�DiLC{�$�N��zw����t��*/o
Ӽ�}��SƥVp������J�<!k$�l��݉�e�;�,��O(��A��j���9��:QRBu�
-���L�2?�;��������_�n����ArN���(���Vh�^e �	��|K]s�d��	�t6��l�H�+h�����
���z},�����*ݶ�ʡ�c�)����*����n�5�;4�W��۩s}6�C�o[n����$C����Y����4��LE�H}��E�M���{��S=H��_y0�P�@Ϫn<�0Ԫ!�6��T���I����q
-�U�N9w!j8�K *h�S����fx��8v�(�%?�Eb^�	z
o���3SCQ�M>�M?�r	
�3C`'^���������4`G	P�"��y8�Ъ5�扴hy"�Ҥs5I߶�7�PB��iF@�0A�d��No_�&\|v&x��r2)�I�Ո����/O��u���k����'̠��7����5��'��b�ro1a�؃�p��H�h�'�XӠRՃ��M>��g�|�Y�رZ�پ
��'�xTr)�'%+w9b;Lu'����b�'�ğo����E("�_�&���s>��f(t.y�Kۥ�����endstream
+xڍV�n�6}�W�$1u�e�^��Q�����h�]�Hj���w(^,YNR�$��9�̐i��_lR����P�.��{H�~��!�3Vv�j2���������yp8E�AyQ�<C�2�_���{ED���$,�y��xG%e�x��4�m����?�|��|�v��]pn�]�i����Pn�tDW�5�5��6|��$$�eIȅ�_�����F�m��&�*KP���FFi
+��N��y��$�ͻ:��������>q`@\������m�"���73������)�e��(� ʤ/jE�%�;*��Y'��H3�+
!g���q|�\�u"�5������PŻ��|L"7�ͮVݯY��xYVX\�<��2���̓�������m�Q9�=�Ԟ�z������ݜ���~���ߗ�Ӝ�����
+ދ]���d���n�����ע�nhx���Ö?��Q�WtV]��t��ܹA��=}��;V�Pu�f�p�O�#�ܬ��L�:X�T����~��'�y-����\̀ �����&t��`��	�#�:�HکG�2@_G��Pt�ج	�l�G�ա���B"���	#���6g��4!�/I����:�*7@�k"�)�u�);�<eRA
�����ӡ&�B䆹�P|V26��U�o�[s�-�t�T7;y[4P�����J����P�j�bL�=9�Bw~n	�^I&�mS�:�� {H� ���k"�z���A�.ba9d{���T|�������/�h���������Da'v�������$t�t��X�(�m��R����R�	%��oJaA��鄠5jɹ����;v|�ͼ��m8��y	8>z.%=:C�����l�>Θ3��?��_}7
c�~���{ ~��=�-�=g�Lh���/��1;��Z4֡k�Z��Tn��9eh�=	7GXEB�sG�B���jn
+2�~���ٺ��>�E@����5�}e��ehW����v,eXme����K�.g꺴?��z�;�N,�rݘ||e���A{H�a3r���4�y6���z^{S��o��
j6��a�"�<��騩%�zǃ�w
+(G�
[��6��m�E�t���:eqi/�-J2����Nߺ�/#�|NO�endstream
 endobj
-2015 0 obj <<
+3243 0 obj <<
 /Type /Page
-/Contents 2016 0 R
-/Resources 2014 0 R
+/Contents 3244 0 R
+/Resources 3242 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 1868 0 R
+/Parent 3209 0 R
 >> endobj
-2017 0 obj <<
-/D [2015 0 R /XYZ 71.731 729.265 null]
+3245 0 obj <<
+/D [3243 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2018 0 obj <<
-/D [2015 0 R /XYZ 98.63 692.718 null]
+574 0 obj <<
+/D [3243 0 R /XYZ 204.675 707.841 null]
 >> endobj
-2019 0 obj <<
-/D [2015 0 R /XYZ 202.297 681.241 null]
+3246 0 obj <<
+/D [3243 0 R /XYZ 71.731 700.488 null]
 >> endobj
-2020 0 obj <<
-/D [2015 0 R /XYZ 306.449 681.241 null]
+3247 0 obj <<
+/D [3243 0 R /XYZ 71.731 674.765 null]
 >> endobj
-2021 0 obj <<
-/D [2015 0 R /XYZ 71.731 626.045 null]
+3248 0 obj <<
+/D [3243 0 R /XYZ 247.56 674.765 null]
 >> endobj
-2022 0 obj <<
-/D [2015 0 R /XYZ 201.17 619.45 null]
+3249 0 obj <<
+/D [3243 0 R /XYZ 273.821 661.813 null]
 >> endobj
-944 0 obj <<
-/D [2015 0 R /XYZ 71.731 560.671 null]
+3250 0 obj <<
+/D [3243 0 R /XYZ 71.731 654.675 null]
 >> endobj
-2023 0 obj <<
-/D [2015 0 R /XYZ 71.731 515.809 null]
+3251 0 obj <<
+/D [3243 0 R /XYZ 71.731 597.888 null]
 >> endobj
-2024 0 obj <<
-/D [2015 0 R /XYZ 71.731 484.79 null]
+578 0 obj <<
+/D [3243 0 R /XYZ 189.239 560.673 null]
 >> endobj
-2025 0 obj <<
-/D [2015 0 R /XYZ 104.01 475.291 null]
+3252 0 obj <<
+/D [3243 0 R /XYZ 71.731 553.32 null]
 >> endobj
-2026 0 obj <<
-/D [2015 0 R /XYZ 104.01 463.635 null]
+3253 0 obj <<
+/D [3243 0 R /XYZ 373.815 514.645 null]
 >> endobj
-2027 0 obj <<
-/D [2015 0 R /XYZ 71.731 462.42 null]
+3241 0 obj <<
+/D [3243 0 R /XYZ 71.731 507.507 null]
 >> endobj
-2028 0 obj <<
-/D [2015 0 R /XYZ 104.01 440.322 null]
+582 0 obj <<
+/D [3243 0 R /XYZ 261.414 470.292 null]
 >> endobj
-2029 0 obj <<
-/D [2015 0 R /XYZ 71.731 403.946 null]
+3254 0 obj <<
+/D [3243 0 R /XYZ 71.731 462.939 null]
 >> endobj
-2030 0 obj <<
-/D [2015 0 R /XYZ 104.01 382.041 null]
+3255 0 obj <<
+/D [3243 0 R /XYZ 71.731 437.216 null]
 >> endobj
-2031 0 obj <<
-/D [2015 0 R /XYZ 104.01 370.384 null]
+3256 0 obj <<
+/D [3243 0 R /XYZ 358.612 437.216 null]
 >> endobj
-2032 0 obj <<
-/D [2015 0 R /XYZ 104.01 358.728 null]
+3242 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-2033 0 obj <<
-/D [2015 0 R /XYZ 104.01 347.072 null]
+3259 0 obj <<
+/Length 2087      
+/Filter /FlateDecode
+>>
+stream
+xڝYm���~�b�/���V/�_�(��6w���^�
��W�ĵ��%W������EQ� 8�,�$��gf��M���mm3�H�Q��o�������Њ�f�y
+ρWy�����f���㛻wiv���&��<>Y)q���������.���U��-6���I����뎿��b��>�П�l�4��ĦQ���m��v�U�L�ESv�MM[�7�h��hg�D9*;OB��<^H�7�/ES+&j�I�OM{^&6��o���U'yKk�'�it���㉷�N��l�P�).A�2r�b�J�%������#���q�VZ��%i�ϓް�q������Uv]t@����d�8ށ@X����'Q���Kӑ�F���*�3��F^*�B?E[Q� W��2�dvwAa䖿7�4�S��/�$_���UY�uC�����U'�y��@�{����۬%œYsp@��d��ȐCGi�<��z�Lu-����!O���C	���Px��ѥ�mWOv��it�W��4٘O�d�|�C�����P��\�>���Y�eStgn�.�,Zq�2����&8���C����y�ݿ�-��Ӷ^��O4{ݙ��@r�[�8��Ry���d�9�0���O�$����Uʇ��&+ϢiB��)���l��I@�6k'a�qρ[~��G�Lyj���|d,� LΒ���!�Q}KTjU������c��'P�>��������|�J�d�:��.Nw=�|�h�vmc,^y��Y�tђ��FW.��1�j2���G��:$����i�U�ޱ}ѬD��!�s�f���zTX�U�QA(Z��a�ZQ����И�����3�v�Z�@�h[sA��
+���n�ŭF�7��3A^�/��K� �}�%V�d����eȂ�������е��cX3�Z�:�����zWd{Ǣ�c����
R���cpU�.�<�<'�(�s�`�D�i*tk�uP�𨚣ѺG��Vy�[ �A\C#,L��4<�LSf\��TK۽�r�s@Bes����z*��f��qd�(�8���$,�}I7qmɺ3�gl<����h�]g@g����0�Cx@֫�&�;�~l�5�1���A����Tǔw�Q
+"n</��Qـ�C��Z9t�V�.�Ub
@#��z��D��� j����~�D����0ځ��'j��2A��hP7N��L��u4�p����4��<�b�i9 ���l,q,�$��;��a&���u�#٥�}OQo4��ç@�t���`�/ۆO�1�W��6v\����s�3���1��&��ȣ&���:�x>܀
+�����b�p3N��#�V���X���4��)�����Ch�9�����a������S�/
+��h�RoI��z2|ہ��pv��Mllb�,�i�?c|�����(��`�
+^!�^�RGP������e��	�U��19�7��3-�E�*���'��˅�H�����Z2��ح�3��0�'v��6A�V�ü�&ʉW�i }`��w�l�R�Z���O������H|;l��/�a�Cԙ���4�E�+��f�~�%W'���W�/
+�_�]ٟ�*����+F�fc��o��>�x½u��Œ��D�#�(�Z��4+��虳�ӶE8�%ch��J��д�������comc�2�&�V�͈^\���P�7+�-����˩rN�B�U��低��<Zo���M������A�O��~^p��5������%���j�H�*I�$�84�Y��N�׮
+��]G�loT�q݋Ӈ4S6\��b�T^�	�m�:�	@��i&��ə9��UJ\*��YK:��>��l���4�{�&Ś�y0<��(�MP����:m��j�����a5����7�o��=َ�z�\��,�l�������+��3��w@ Aiɮ��c�P2⋯��1z�t��ҽ/66�ea�	�������5�$����i���~�jyV:���?;(�w`B�
+-l�w�k�����P�m�b�7ӣ?��
���d�G��.�%�p=�+VÒII�S���9���S_����T�o0�5&endstream
+endobj
+3258 0 obj <<
+/Type /Page
+/Contents 3259 0 R
+/Resources 3257 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 3285 0 R
 >> endobj
-2034 0 obj <<
-/D [2015 0 R /XYZ 104.01 335.416 null]
+3260 0 obj <<
+/D [3258 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2035 0 obj <<
-/D [2015 0 R /XYZ 104.01 323.759 null]
+1153 0 obj <<
+/D [3258 0 R /XYZ 71.731 718.306 null]
 >> endobj
-2036 0 obj <<
-/D [2015 0 R /XYZ 104.01 312.103 null]
+586 0 obj <<
+/D [3258 0 R /XYZ 320.829 703.236 null]
 >> endobj
-2037 0 obj <<
-/D [2015 0 R /XYZ 104.01 300.447 null]
+1154 0 obj <<
+/D [3258 0 R /XYZ 71.731 692.184 null]
 >> endobj
-2038 0 obj <<
-/D [2015 0 R /XYZ 71.731 299.232 null]
+590 0 obj <<
+/D [3258 0 R /XYZ 205.304 651.159 null]
 >> endobj
-2039 0 obj <<
-/D [2015 0 R /XYZ 71.731 272.153 null]
+3261 0 obj <<
+/D [3258 0 R /XYZ 71.731 642.336 null]
 >> endobj
-2040 0 obj <<
-/D [2015 0 R /XYZ 71.731 272.153 null]
+3262 0 obj <<
+/D [3258 0 R /XYZ 482.087 629.6 null]
 >> endobj
-2041 0 obj <<
-/D [2015 0 R /XYZ 98.63 233.589 null]
+1155 0 obj <<
+/D [3258 0 R /XYZ 71.731 583.608 null]
 >> endobj
-2042 0 obj <<
-/D [2015 0 R /XYZ 116.572 225.124 null]
+594 0 obj <<
+/D [3258 0 R /XYZ 317.599 540.51 null]
 >> endobj
-2043 0 obj <<
-/D [2015 0 R /XYZ 98.63 201.812 null]
+3263 0 obj <<
+/D [3258 0 R /XYZ 71.731 528.072 null]
 >> endobj
-2044 0 obj <<
-/D [2015 0 R /XYZ 71.731 189.962 null]
+3264 0 obj <<
+/D [3258 0 R /XYZ 71.731 493.048 null]
 >> endobj
-2045 0 obj <<
-/D [2015 0 R /XYZ 71.731 170.037 null]
+3265 0 obj <<
+/D [3258 0 R /XYZ 71.731 490.891 null]
 >> endobj
-945 0 obj <<
-/D [2015 0 R /XYZ 71.731 104.868 null]
+3266 0 obj <<
+/D [3258 0 R /XYZ 71.731 485.91 null]
 >> endobj
-2014 0 obj <<
-/Font << /F33 834 0 R /F23 733 0 R /F44 1007 0 R /F38 963 0 R /F32 747 0 R /F27 740 0 R /F61 1454 0 R /F52 1222 0 R >>
-/ProcSet [ /PDF /Text ]
+3267 0 obj <<
+/D [3258 0 R /XYZ 89.664 465.153 null]
 >> endobj
-2048 0 obj <<
-/Length 1295      
-/Filter /FlateDecode
->>
-stream
-xڭWK��6��W�P�2�"�g�K$Er)���$Z�e���J�:���×$ۻ�&(^>4����h�����b�RH�H{E�	�
-����V"�"�J��~�{C���<����Ea��0�RJPo_~�_�X/��
H��񗲭�z�������i���n����y��m�4EyF���dn��s3��"
����
�����X9���йU�dq⣂�{C�E�����w�Y��Jr֚�6ͬCX�ܛ����šo��]3������пے�gu�n�(,�W����h13Vv<Ba�r_:Э�;_�N��T�!���wZ�lDD�-�n1x'&�*�Ԕ֗f�+�f���݆��;�$���
-C���pA)��[��kށ1	�9��bw�^�W��ڍV�Ȏ.�A��ɘ�ٜu��J|��,��˺u�\xVq�8����sȃ�Y��7�0�V��;��W.�U�VօN�۸�b�9�#Dz��@y�E��"�@ij��s���^n'!��S�H���a`}�.������ˋ�<yyr��r���-�T��58n)`�C̤��^L?�@�����S�*�<]��'QV.ݗ�U�1v���d��J����n�%w:4���6)���签�pwo`I��R��L;geYU�PyPL�#�	�*��xw�>�IN�]�i�eP�[�q��j86�~0B	^��=E�d�Ld'a���ذ;�ϻ�l��Aq�
?��J`5�$N�����}��Q�?�v����Hծ��3?H!�����A��03%MpxDՃ1
-x���I���.�ZJ^>N߷�TM�C��Wh�����M[8���f��5��w��`��	��ժ���.��
-&�LE}3߅Ņ'ϊ���Y���m��F���0�=SNQ�^ce��g��s��:���_�;o�l�R��<�������������6a��s��ݨ,� ��w��f�z8�VL�N2��s��E���lR�b!hؖ�,BPc�W��*B�A�"���E)̨6T�fy�J�v��CZD�G'l�s(�vۼW�ܵI�	�Q=p+���aX�V�j�e���W|���(ę�(Au!UGC]�A�h=�-��m����Ska5�%��O��4�P�f�m��iAV�ѓOa^'�AOE)�8�w2�JH�»+E�8X��1�'(��zָ�y���"e�Ŗ:����e�
-�t��Qكn�UH�B�<�S�;/MDCD!Y#��78 ��r*�9F�<�ye(��_w1�4&��P�Q�ԧڢ�Y�Z��/endstream
-endobj
-2047 0 obj <<
-/Type /Page
-/Contents 2048 0 R
-/Resources 2046 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 2062 0 R
-/Annots [ 2061 0 R ]
+3268 0 obj <<
+/D [3258 0 R /XYZ 128.408 465.153 null]
 >> endobj
-2061 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.465 445.124 196.793 453.713]
-/Subtype /Link
-/A << /S /GoTo /D (upgrade-cvs) >>
+3269 0 obj <<
+/D [3258 0 R /XYZ 171.417 452.201 null]
 >> endobj
-2049 0 obj <<
-/D [2047 0 R /XYZ 71.731 729.265 null]
+3270 0 obj <<
+/D [3258 0 R /XYZ 71.731 450.045 null]
 >> endobj
-2050 0 obj <<
-/D [2047 0 R /XYZ 71.731 696.359 null]
+3271 0 obj <<
+/D [3258 0 R /XYZ 89.664 434.269 null]
 >> endobj
-2051 0 obj <<
-/D [2047 0 R /XYZ 71.731 613.534 null]
+3272 0 obj <<
+/D [3258 0 R /XYZ 71.731 406.209 null]
 >> endobj
-2052 0 obj <<
-/D [2047 0 R /XYZ 104.01 604.035 null]
+3273 0 obj <<
+/D [3258 0 R /XYZ 89.664 390.433 null]
 >> endobj
-2053 0 obj <<
-/D [2047 0 R /XYZ 104.01 592.379 null]
+3274 0 obj <<
+/D [3258 0 R /XYZ 128.408 390.433 null]
 >> endobj
-2054 0 obj <<
-/D [2047 0 R /XYZ 71.731 591.164 null]
+3275 0 obj <<
+/D [3258 0 R /XYZ 269.817 377.482 null]
 >> endobj
-2055 0 obj <<
-/D [2047 0 R /XYZ 104.01 569.066 null]
+3276 0 obj <<
+/D [3258 0 R /XYZ 71.731 370.343 null]
 >> endobj
-2056 0 obj <<
-/D [2047 0 R /XYZ 104.01 557.41 null]
+1156 0 obj <<
+/D [3258 0 R /XYZ 71.731 339.459 null]
 >> endobj
-2057 0 obj <<
-/D [2047 0 R /XYZ 71.731 505.803 null]
+598 0 obj <<
+/D [3258 0 R /XYZ 252.009 296.362 null]
 >> endobj
-2058 0 obj <<
-/D [2047 0 R /XYZ 71.731 505.803 null]
+3277 0 obj <<
+/D [3258 0 R /XYZ 71.731 283.924 null]
 >> endobj
-2059 0 obj <<
-/D [2047 0 R /XYZ 98.63 470.252 null]
+3278 0 obj <<
+/D [3258 0 R /XYZ 111.571 261.851 null]
 >> endobj
-2060 0 obj <<
-/D [2047 0 R /XYZ 356.49 458.775 null]
+3279 0 obj <<
+/D [3258 0 R /XYZ 71.731 233.791 null]
 >> endobj
-2046 0 obj <<
-/Font << /F33 834 0 R /F32 747 0 R /F27 740 0 R /F38 963 0 R /F61 1454 0 R /F52 1222 0 R /F23 733 0 R /F44 1007 0 R >>
+3280 0 obj <<
+/D [3258 0 R /XYZ 71.731 228.81 null]
+>> endobj
+3281 0 obj <<
+/D [3258 0 R /XYZ 89.664 208.053 null]
+>> endobj
+3282 0 obj <<
+/D [3258 0 R /XYZ 89.664 208.053 null]
+>> endobj
+3283 0 obj <<
+/D [3258 0 R /XYZ 89.664 177.169 null]
+>> endobj
+3284 0 obj <<
+/D [3258 0 R /XYZ 71.731 177.169 null]
+>> endobj
+3257 0 obj <<
+/Font << /F23 1013 0 R /F27 1020 0 R /F33 1116 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2065 0 obj <<
-/Length 2292      
+3289 0 obj <<
+/Length 2985      
 /Filter /FlateDecode
 >>
 stream
-xڽYK�����m��C�!J���MjS��<NI	���ǎ��>�G H��Kj"9 ��u��&�D�G79%y?�ćlS�����ԬHg1\��s�%99����ỗ���M�Cvڼ\��(!qrؼT��~������>Ώ۔��O�0������M�o�i�ݿ_����9�i&��@xL�<Wۥ��=^v�h��[S�l��b�3;�9�QLI&5���T�������� ��eљ��+����˭��v���O#ī�*�J_\k����_k��{�c-�Q���.��_��p?
-��*nV���F�*4��&z#mGAviԱzu�Z�m�3�	�/M�19eT����wq�����֬l!6���2�򄗣���s��ջ��n׾���ctǤ�7f���AF=�]`�e��Ī
pK���.�@cl��f02��UzE�
-�ֈ�h�7V-d���&�=�=���VE�~0ay~aD�}?�l;�w�{Ƅ��=�7�.#������Nƨb�P�^4�|GE�F&6�}�νP���Q�o�;�������R�-xSX��J��_l�HNPh�Ɏ��K���E��xyn$�+�j�d��4�A�xO<�yW|��O\]JI��}ՎSiI�Ė',P���Q_)��g��u)"4N5�m��m2��ބ��TB���p@��m�|�ǛAsŠ	����59n���2:�A�(���VŅMiB"xO/{�J���V����\��D����L�}BB��dI����Ƣi0L�+,�k�Bi����Sc����6|��.G�z�y���ʚcb�St[i?4"9����J��sW��c�X��=y2�в�`
-؉r��S�-��S��Y��K�q���M�\zO0lt<��R�ޥ�$�$�����B��;;��H˦��-�^X���\��y����n�ٯ5���@"0��ljS�^��G��w�)_7��e'F���W��H%���?�`�>:c��G���^x��H%H7Λ��~�=|��$�M���x!h]�
��E֜,C	Z���nl͒Y���y�>�ze��d��؍�B����D�)Iˀ�Un+�?k{A���$CdA�U��\���#@r�CJ��A�^9�-�ss{���		��̺�yI��{>/u/5������tf���8G؆0�6����U?����U,�
-�������~��"�C;?��e����Q������xs��\�����'��
-�ֻnF(�7]��#�sJ!�U@��ѭWfJJ1Ί+/]3���I8��Jx�^�M�ZQq)q�����/�G9<Z$�<���Ɛ��x|�w���:G����G��d����#d�^�n��%0/(v+t=HD|+v�<�`ÝZ���O�Gd$M�#����K�?�[�9&~��	��dfܪ#�|��W��p��&k�h�O��AK�+ܻ���q;�	J����V����4��~�[�u��l����������k��
-[+)
-eoo�U�`Z$�َ-��/�+Áܺ���#"|Yf�a���*�_X�^��m���nu޷����~�V��b4
-��(���r����2CW���sQ���l��T�6[��3
��]x��\W�X)d�S���
-�QP���3��lL��uƅN��K�0����&���U87��#�GC��}%��e���.mq�\xW�����d�Z,�[M��D<�i����8�Z�
�=p�'q1�{��%,!�(�X��A��=k�$�,�-P��"ج1�i��.
�q���l�`�9?�9�<����r=1��Y�ND.���bE���C���&�<ȩ�c%��l%�^�P�
�T��X��NBS�
-O�rva��z���4�Q���Rl��V��
��=g��A�1�������-
-��s%.&���cJ1��(���:!]�7rs�q��@�����?�i�Mc2�F��%ߋ���
-��ܙ������T�'I�G`�vv<���T)����+/�-m��R/XMcd�{��]Xuu�
-��	.\��~����骯>���}	ќ�����Cv0ct�L���_hs�v�퀾������#�� ��u���ͺ��9u+�����"y.e���|o�l�n��,�:�$�pDT\�w(w*��@1��>���]��Qi�e��G5G��[;\�rL8葤i6��f��f�N�(����B[Β|�J�4
�I�}"4��I����v�#�z��f��-QcsP���q):IBA�q)�?{�kendstream
-endobj
-2064 0 obj <<
+xڍZK�۶��W�xS�g��bv�Ӥi��Ԟ4�i����5E*������x��YH#^⻸��w���<DyQ��,ݕ�W��W~x
+��92�>���>�w*�x��K��Y�����h�P�g���ב�c���ϟiӝ��o���M�������
+0�sT��M��̦RE���	N(N�Y����#�p��_�a���G��$����G��0�N�?OC1vr��ė3�8���a��(�W��Jü-�~�F��#KPx*�o�C��_�Z)��i�_/��g}�LT�0��ؚ�5��d��!M�bsW2�+)����/����Q ~��O�Mdh��������&���wZ�+����~��D۟�@Ӊ_�X��+�ĭ�X���>ᒸ��,�1wd����t"�5߮Rg��g�>�b�܌�ÖRw�v*����BƦ���A��s�:�x��_�J(Vkve;UJ	������_>���˵ţ�"�g�Z^�<wY�� 8�ݟ�
���LSZ�0�F+�S��,qaٟ
+[ܲ�6	`-˰?�x���q'H��о��y\("���5��*�kD���0���ؾ��k,��$s7�
+��<�d2����G���:!�H���R�E����wl�����1�P!�X�t��|6���_M�V6T�b"�ݯ��}�1�T�h:ஔ��A.V5Ol�Od 2B]{J�ǖp��.�V��S/��>h��@�5_�:���/��|Ύ�!��eZ�S+7#�����M�cTF3��"㑒�6f�ф�W���
+�$\^K�nE(̣m7�2^7"�>��M�X����v���
�hΝ4�á����7���\��NP�B�}'	cd�2T�?�=�k� AQ\l�Z�xM-D����k�ۦ��]�6�����ôP<e��0D���+�/��nf:�T���}��8W+�,��,��2���
����A곰릅ml��M�O�傇���%q�4r�"F�ɺ����e��E����/^sfP��ɶ9��לB��y͹ƺmN�eN����!,>�x8���rW챪�YI��g��uw�K��2�r�X�"��RvQp��0�èR7�+���2��?{�4@In����a6ɽG�ƺ}���(
�7;�,Ɛu�{~��v'�[�؎�4]C���Jܹ��χ0�%ڋj(d�֔����"�L���ج�,1�Ź��{tQ�t��
p
+�0�`bcfY���,����Z-�oP��`�XR�m�e�qaZ[:\cH��/���� �e�T"lk'/��X��fa��f`��x�Ų��?9��(��u��tU3�]�]���i�$��<am��wU�>�P�nu��AbU�N]�=� ���Z�{0B��������Xخ�1��	�9#`��݂�)J��v���Nv�k]�Y�˦j��k�̋r��
+ݼ�W7�O��)���q4jc�!{�jϖ`���+A�n�Fɨ"��V̀�d����40�ʉn��+6�*���b��|���"=��� ��<@�:d8j�5m�%�]����5�M�Z���?

���U��9��¦��p��6z"$+����a�e��r\�h�
�Ƶ�.�$RΏ�9��>��dc%k5f��l"�Z$b먺摁r��ܽ���\k�H\�S�mrD��H"$f��^���n���v����4g�/�O�<9)��!wx9f�٨�Y=7P	�k�m�g����%�=k|��ז�Q��M�r�uu<���8�F#��
+P���lo�p�1��W$�7�s��]�����ޮȖ�b{�3ɨ\o��$&�j6�d����D�7�'T��/��Z��[!1��;%u@�歅���f����<�dt��"O=����Ě�Cx��!L��i��������i'Ig#�-G�F�۞����jj�Vո\�?sbd[��"x���vl��"�d �-��ae]ׯS7��
+Ow�k��1
+�Y�Ҝ�*�C��f�CS�Q��M7]A�;5f���蘒o6Gr��h��7��x�C��<>Y�V,�y<*�Rƛ���x���=�;�t@��(��Q&8�HWs�(J����u��ܒ��+�	�ho�Q���($f;z����v��]v4�߽�].u����b��D��1�J,۪(u�M�z2H��Vș�X�9�A�������Bb��w�逺m{�e{��8ⒹwͲ�kN�&�P�6_>g��&���:.C`B���+K�ɭ��Q��1��*B.b�h�ӝ>�0S��]�I�?J:����@?�������Î�8����;����X�u�6��&���ȕt�ʆ8_Y����i�˫p�r�#��괝�5��N�jƸj�Z55�UwK�yt��{�B�j�<�6S���T��\�SCX�T�f=6$ks)����0��X��(
6+UC��:!1��;Av@�f���b����؈ݕBt����	𜩚�.��&��+�mP���">�
+�٢�A��E-l�E
�U��7MX��!�/�P�f�:��]<�'{(���᧑�� [[�.~�~�g�V
-'*���(~�/͏��nM�����d�&Ř6ڋ��XC[��Fې�2�P�Y���>
+��=#�Z�U�i�"Q�e(ai(?��7Or��{)�j��w�H����V�z<
+Q���m���y�j�9hT�����e������g�b1b�
�9ǟ�6���Z���x�ʾ��@H�ɷ�V�N��]�%��
+U�
��Y�0+}ߜU��pZ�����Bf:ƄKl��nT_':�"@�i���<�+��r�2�+{�k�_z�%u�s��U�^���֫<�Aci~_MQ�>�oHH��έɝUW
�
\�Bn�>Fj,����<����h��^ZQ��"Ͼ���iZ�^ܐ��w
6����7����3�ѹgG=�=�_yO�+��X��^���/��{T����krB�0�|%V���n��/!1G���������Zendstream
+endobj
+3288 0 obj <<
 /Type /Page
-/Contents 2065 0 R
-/Resources 2063 0 R
+/Contents 3289 0 R
+/Resources 3287 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2062 0 R
-/Annots [ 2069 0 R ]
+/Parent 3285 0 R
+/Annots [ 3343 0 R ]
 >> endobj
-2069 0 obj <<
+3343 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.612 583.608 442.915 592.519]
+/Rect [417.94 162.666 459.723 171.578]
 /Subtype /Link
-/A << /S /GoTo /D (template-http-accept) >>
->> endobj
-2066 0 obj <<
-/D [2064 0 R /XYZ 71.731 729.265 null]
->> endobj
-857 0 obj <<
-/D [2064 0 R /XYZ 71.731 718.306 null]
+/A << /S /GoTo /D (lifecycle-image) >>
 >> endobj
-318 0 obj <<
-/D [2064 0 R /XYZ 388.547 703.236 null]
+3290 0 obj <<
+/D [3288 0 R /XYZ 71.731 729.265 null]
 >> endobj
-858 0 obj <<
-/D [2064 0 R /XYZ 71.731 692.184 null]
+1158 0 obj <<
+/D [3288 0 R /XYZ 71.731 741.22 null]
 >> endobj
-322 0 obj <<
-/D [2064 0 R /XYZ 303.155 651.159 null]
+3291 0 obj <<
+/D [3288 0 R /XYZ 71.731 683.941 null]
 >> endobj
-2067 0 obj <<
-/D [2064 0 R /XYZ 71.731 638.988 null]
+3292 0 obj <<
+/D [3288 0 R /XYZ 89.664 666.008 null]
 >> endobj
-2068 0 obj <<
-/D [2064 0 R /XYZ 71.731 609.511 null]
+3293 0 obj <<
+/D [3288 0 R /XYZ 89.664 666.008 null]
 >> endobj
-2070 0 obj <<
-/D [2064 0 R /XYZ 71.731 583.608 null]
+3294 0 obj <<
+/D [3288 0 R /XYZ 71.731 637.948 null]
 >> endobj
-326 0 obj <<
-/D [2064 0 R /XYZ 195.293 546.392 null]
+3295 0 obj <<
+/D [3288 0 R /XYZ 89.664 622.172 null]
 >> endobj
-2071 0 obj <<
-/D [2064 0 R /XYZ 71.731 539.04 null]
+3296 0 obj <<
+/D [3288 0 R /XYZ 89.664 622.172 null]
 >> endobj
-2072 0 obj <<
-/D [2064 0 R /XYZ 341.835 526.268 null]
+3297 0 obj <<
+/D [3288 0 R /XYZ 71.731 620.015 null]
 >> endobj
-2073 0 obj <<
-/D [2064 0 R /XYZ 344.445 513.316 null]
+3298 0 obj <<
+/D [3288 0 R /XYZ 89.664 604.239 null]
 >> endobj
-2074 0 obj <<
-/D [2064 0 R /XYZ 475.283 513.316 null]
+3299 0 obj <<
+/D [3288 0 R /XYZ 89.664 604.239 null]
 >> endobj
-2075 0 obj <<
-/D [2064 0 R /XYZ 184.627 500.365 null]
+3300 0 obj <<
+/D [3288 0 R /XYZ 71.731 602.083 null]
 >> endobj
-2076 0 obj <<
-/D [2064 0 R /XYZ 277.677 500.365 null]
+3301 0 obj <<
+/D [3288 0 R /XYZ 89.664 586.307 null]
 >> endobj
-2077 0 obj <<
-/D [2064 0 R /XYZ 160.268 487.413 null]
+3302 0 obj <<
+/D [3288 0 R /XYZ 89.664 586.307 null]
 >> endobj
-2078 0 obj <<
-/D [2064 0 R /XYZ 71.731 480.275 null]
+3303 0 obj <<
+/D [3288 0 R /XYZ 71.731 584.15 null]
 >> endobj
-2079 0 obj <<
-/D [2064 0 R /XYZ 71.731 443.578 null]
+3304 0 obj <<
+/D [3288 0 R /XYZ 89.664 568.374 null]
 >> endobj
-2080 0 obj <<
-/D [2064 0 R /XYZ 279.491 430.626 null]
+3305 0 obj <<
+/D [3288 0 R /XYZ 89.664 568.374 null]
 >> endobj
-2081 0 obj <<
-/D [2064 0 R /XYZ 71.731 410.537 null]
+3306 0 obj <<
+/D [3288 0 R /XYZ 71.731 566.217 null]
 >> endobj
-2082 0 obj <<
-/D [2064 0 R /XYZ 71.731 392.604 null]
+3307 0 obj <<
+/D [3288 0 R /XYZ 89.664 550.441 null]
 >> endobj
-2083 0 obj <<
-/D [2064 0 R /XYZ 71.731 368.858 null]
+3308 0 obj <<
+/D [3288 0 R /XYZ 89.664 550.441 null]
 >> endobj
-2084 0 obj <<
-/D [2064 0 R /XYZ 71.731 299.02 null]
+3309 0 obj <<
+/D [3288 0 R /XYZ 71.731 535.333 null]
 >> endobj
-2085 0 obj <<
-/D [2064 0 R /XYZ 71.731 245.157 null]
+3310 0 obj <<
+/D [3288 0 R /XYZ 89.664 519.557 null]
 >> endobj
-2086 0 obj <<
-/D [2064 0 R /XYZ 71.731 230.213 null]
+3311 0 obj <<
+/D [3288 0 R /XYZ 89.664 519.557 null]
 >> endobj
-2087 0 obj <<
-/D [2064 0 R /XYZ 292.464 220.713 null]
+3312 0 obj <<
+/D [3288 0 R /XYZ 71.731 517.4 null]
 >> endobj
-2088 0 obj <<
-/D [2064 0 R /XYZ 76.712 192.42 null]
+3313 0 obj <<
+/D [3288 0 R /XYZ 89.664 501.624 null]
 >> endobj
-2089 0 obj <<
-/D [2064 0 R /XYZ 71.731 172.494 null]
+3314 0 obj <<
+/D [3288 0 R /XYZ 89.664 501.624 null]
 >> endobj
-2090 0 obj <<
-/D [2064 0 R /XYZ 243.096 160.838 null]
+3315 0 obj <<
+/D [3288 0 R /XYZ 71.731 486.516 null]
 >> endobj
-2091 0 obj <<
-/D [2064 0 R /XYZ 148.789 149.182 null]
+3316 0 obj <<
+/D [3288 0 R /XYZ 89.664 470.74 null]
 >> endobj
-2092 0 obj <<
-/D [2064 0 R /XYZ 71.731 121.286 null]
+3317 0 obj <<
+/D [3288 0 R /XYZ 89.664 470.74 null]
 >> endobj
-2063 0 obj <<
-/Font << /F23 733 0 R /F27 740 0 R /F38 963 0 R /F32 747 0 R /F44 1007 0 R /F33 834 0 R >>
-/ProcSet [ /PDF /Text ]
+3318 0 obj <<
+/D [3288 0 R /XYZ 71.731 455.632 null]
 >> endobj
-2096 0 obj <<
-/Length 2581      
-/Filter /FlateDecode
->>
-stream
-xڍYm��6��_a��
�I����94i��!���z(h��ՕD�Hu�����Hɹb?�$S�yy�*����6I�Y��t��|v��ij3���I�W,���`������V��.ڭW��i�śh�e��*��y:������V�n�L�x�E����V��l�������"��UE�����۽�9_m��v�E�̚�v�j�d���3V���,��eQ���f;��-�|��n��m<g��mQ
-�t�i�VDP����`�� O��l�n��N���Z	��+�<����5w'%�q�ž��!U5�Wn�k��Vw�iΠ���BĄ���Y,�y��Y����P�BX�r�����i��q�z^�7K#A�� �����ݢ��e�2I�u��Vzj��+�jGIal��QEQ��i>'�6�ӣ�5���佴��^�ki�oԊ�}Yh���y|�}�����F3:�^Z��u��E(�,�lDQW "�t�7�K�,tm��{���?6�|V�Ro�/̏��Ƃ�<��K欺�Ѓgĺ'g�����A��Ț"ʏ�y��yK�S�N�,�|��Xpܸ!��Q=�'�J0��-���o��2�1x!�v:�+��m�(x컎6�4����Zk�-�x~�n%n�-�XEC�k����o���OY�1��u�����ο�Z��b��*	qX1��(	�M���v~��R���DQʏ
��PI�e�t��)�����t�<����6S�7��z�.e�3c<\4��L���2�p������/q�V��� �QD�-�@�p�^��
���N����40��5%
7q3@*A\�IZ�!NZ�yi�|d�������X�J�hSqͅt䈶&&+x�hX�'/
�F��tx��&&RD�sA?���t��c�ka��W�1s~����pȹRh9'��z�R���_���{�$��1�9
,�A6=n���"(��ˍ�?J9�o�{�:�p�yEc!e�D[�n|ڂ5V](gP�DiB�{��AK^
-K�]�B݄�,�	r��S	�mř�?
!lj�S2�vs��D��|�r��Kaȵ�m���
@/2���xиޤ�����i}�wկ����I��L
p��2&�U���2=�����Eݺ�ԉ�Gn�Eʸ槏��~{-����� �͑a:�3}"����GT�B
��+1J4DȸH���jdDnWpY]p��NS����ɵ����a��=8k��c�y,���6�mK�Fgխ�o^��Oidnh���o�1`<G�>��IB�S<������޶�^�w>3V(*��~��5C��Ӗ�B�24�(�#�4�
-�T��mޓ��L@-jn��mo��@���D�|"�?_�����{ Sv6c�3�(��:J��ƛRya�R�=v`��+O���J����&��=u��Lv���o�IZ�aRl"u՘���bz���dCͱ�~
-j4丁)�����z�$���\����]����� �ㄸoؠ� �Fv�u�28!��<���*O���;*|<��4��T	�d��7���5�X�CY�^Ŵ�C�֬sE�Q�ڿ�6z
-�J.��0-tkܮW���z���߽�h�ɕ9czHVĉ�I�#���I�oU���q�������b��Mb�	�Yk�O���H��j��*Vi�@����I����8�M���z�A�v�<*X�vQ�%^����?�9��M���p���-B���fp�M�&����e��<�]mp��Se�a(���X̛�۶�3���
-�]�vF�M+��9w�
r�
-u\��
-
vx�i�3����0�%���[ۊ�Z��:���r�M�o��lr��r��2d��c��f�i���G��4:G��Dz>#��_�j7I{��6C+��������7��m8���g"r#��f#��ڽ���F`�	&2��a����&��
����_�� �H8�*+���TP�m5���\�+�\��<`[�� �+`��ӠI��}4����nj�	v�,,�ܠM�������]=���d|8���/Dz�H�y�ld���-hq`�������ê�M_3�Ir#��f�&ݽ��-�~���*8��ұ�*&9�?O�z�q�R��f|��q�g����cK��=�5@ä�-L��`�qtH��ڠ&��h��t���`�Sy�u��;�RN x�
-��i������bZ�4Z�-�+<���?&��Me�Qa�|����
���J>0;�
-��p-�#�)N�a�\p��u�ݡAX�	T�� g�$Σx��(��<7!t�!����P�BͨE��+�>�THRO�����6 >��vmֹ��K.�n�j�R�$��O;������M�"��8H�4�w泓9|v����hi�E�;@���"4qim����	�<J��P���X��n�n2�f`﫱U�6��4�V�G�e
-�%��?�dz��~���`�=J�����x���/gSgy�����Va�2�Br0�\�
-9<3(����mtZ�ǜ�QP4���[6�,?y]��zi8�E�
-�30�;�S�djbCA�*w��}���lm���H�%��y
-*�F��ʮ}_��'��A6endstream
-endobj
-2095 0 obj <<
-/Type /Page
-/Contents 2096 0 R
-/Resources 2094 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 2062 0 R
+3319 0 obj <<
+/D [3288 0 R /XYZ 89.664 439.856 null]
 >> endobj
-2097 0 obj <<
-/D [2095 0 R /XYZ 71.731 729.265 null]
+3320 0 obj <<
+/D [3288 0 R /XYZ 89.664 439.856 null]
 >> endobj
-330 0 obj <<
-/D [2095 0 R /XYZ 267.224 707.841 null]
+3321 0 obj <<
+/D [3288 0 R /XYZ 71.731 424.748 null]
 >> endobj
-2098 0 obj <<
-/D [2095 0 R /XYZ 71.731 704.871 null]
+3322 0 obj <<
+/D [3288 0 R /XYZ 89.664 408.972 null]
 >> endobj
-2099 0 obj <<
-/D [2095 0 R /XYZ 71.731 687.736 null]
+3323 0 obj <<
+/D [3288 0 R /XYZ 89.664 408.972 null]
 >> endobj
-2100 0 obj <<
-/D [2095 0 R /XYZ 266.919 667.393 null]
+3324 0 obj <<
+/D [3288 0 R /XYZ 71.731 380.912 null]
 >> endobj
-2101 0 obj <<
-/D [2095 0 R /XYZ 71.731 639.497 null]
+3325 0 obj <<
+/D [3288 0 R /XYZ 89.664 365.136 null]
 >> endobj
-2102 0 obj <<
-/D [2095 0 R /XYZ 383.539 613.594 null]
+3326 0 obj <<
+/D [3288 0 R /XYZ 89.664 365.136 null]
 >> endobj
-2103 0 obj <<
-/D [2095 0 R /XYZ 71.731 593.505 null]
+3327 0 obj <<
+/D [3288 0 R /XYZ 71.731 362.979 null]
 >> endobj
-2104 0 obj <<
-/D [2095 0 R /XYZ 71.731 536.718 null]
+3328 0 obj <<
+/D [3288 0 R /XYZ 89.664 347.203 null]
 >> endobj
-2105 0 obj <<
-/D [2095 0 R /XYZ 71.731 479.931 null]
+3329 0 obj <<
+/D [3288 0 R /XYZ 89.664 347.203 null]
 >> endobj
-2106 0 obj <<
-/D [2095 0 R /XYZ 71.731 436.095 null]
+3330 0 obj <<
+/D [3288 0 R /XYZ 71.731 345.046 null]
 >> endobj
-334 0 obj <<
-/D [2095 0 R /XYZ 234.314 398.879 null]
+3331 0 obj <<
+/D [3288 0 R /XYZ 89.664 329.271 null]
 >> endobj
-2107 0 obj <<
-/D [2095 0 R /XYZ 71.731 388.737 null]
+3332 0 obj <<
+/D [3288 0 R /XYZ 89.664 329.271 null]
 >> endobj
-2108 0 obj <<
-/D [2095 0 R /XYZ 392.964 365.803 null]
+3333 0 obj <<
+/D [3288 0 R /XYZ 71.731 316.22 null]
 >> endobj
-2109 0 obj <<
-/D [2095 0 R /XYZ 71.731 345.714 null]
+3334 0 obj <<
+/D [3288 0 R /XYZ 89.664 298.386 null]
 >> endobj
-2110 0 obj <<
-/D [2095 0 R /XYZ 71.731 314.83 null]
+3335 0 obj <<
+/D [3288 0 R /XYZ 89.664 298.386 null]
 >> endobj
-2111 0 obj <<
-/D [2095 0 R /XYZ 71.731 270.994 null]
+3336 0 obj <<
+/D [3288 0 R /XYZ 71.731 283.278 null]
 >> endobj
-2112 0 obj <<
-/D [2095 0 R /XYZ 71.731 253.061 null]
+3337 0 obj <<
+/D [3288 0 R /XYZ 89.664 267.502 null]
 >> endobj
-2113 0 obj <<
-/D [2095 0 R /XYZ 432.595 242.267 null]
+3338 0 obj <<
+/D [3288 0 R /XYZ 89.664 267.502 null]
 >> endobj
-2114 0 obj <<
-/D [2095 0 R /XYZ 104.388 229.315 null]
+3339 0 obj <<
+/D [3288 0 R /XYZ 71.731 265.345 null]
 >> endobj
-2115 0 obj <<
-/D [2095 0 R /XYZ 71.731 209.226 null]
+3340 0 obj <<
+/D [3288 0 R /XYZ 89.664 249.569 null]
 >> endobj
-2116 0 obj <<
-/D [2095 0 R /XYZ 155.496 198.431 null]
+3341 0 obj <<
+/D [3288 0 R /XYZ 89.664 249.569 null]
 >> endobj
-2117 0 obj <<
-/D [2095 0 R /XYZ 116.831 185.48 null]
+1157 0 obj <<
+/D [3288 0 R /XYZ 71.731 229.48 null]
 >> endobj
-2118 0 obj <<
-/D [2095 0 R /XYZ 71.731 179.091 null]
+602 0 obj <<
+/D [3288 0 R /XYZ 259.687 186.382 null]
 >> endobj
-338 0 obj <<
-/D [2095 0 R /XYZ 251.73 141.126 null]
+3342 0 obj <<
+/D [3288 0 R /XYZ 71.731 173.944 null]
 >> endobj
-2119 0 obj <<
-/D [2095 0 R /XYZ 71.731 130.983 null]
+3344 0 obj <<
+/D [3288 0 R /XYZ 444.847 151.872 null]
 >> endobj
-2120 0 obj <<
-/D [2095 0 R /XYZ 71.731 113.863 null]
+3345 0 obj <<
+/D [3288 0 R /XYZ 241.851 138.92 null]
 >> endobj
-2121 0 obj <<
-/D [2095 0 R /XYZ 71.731 113.863 null]
+1305 0 obj <<
+/D [3288 0 R /XYZ 71.731 136.764 null]
 >> endobj
-2094 0 obj <<
-/Font << /F33 834 0 R /F23 733 0 R /F44 1007 0 R /F27 740 0 R /F38 963 0 R /F32 747 0 R >>
+3287 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2124 0 obj <<
-/Length 2296      
+3348 0 obj <<
+/Length 270       
 /Filter /FlateDecode
 >>
 stream
-xڝYi��F��_!�"�H=<DQ2r�g�E��E-�%6�bk��˿>�7��f���Pu�zUՊg��gy��.�%�lV�_D����yce^Y��y�q�>Mg;�ۤ��q��r��׳<M�6Kf�����
-_�U�E�5��7]+ؙ��9���ӗE<�u�������i�������w��%�:�d�UFJ�N5;���"��(��J�k$ΗZ�q�>ɽ�8��.ۀJ�ݗ��}E[}W�?�(i��(*�o�t�}wb�}�5�����CC}��i��7!�6Eݕ#��4��:�/�7���`'p�	z�hQ1F���_.s+��k���>�M~��!���:�ue�y����P*)��޴�3`�$�?���q6w�#�����
-��Bd܏����~5�޽z��ZRʚ������u�q�Ȍ^"���:�(\�WL[q�I[b��_��n�إ�W�Llj�p��х�ލP�es��ڇ�t*j��r���Q��(On��`���������87̭�ǯ*��t����`�Pڠh@�&	w�J?ߓ�T���dW��r\sY��e��sN&p�f���$�M�_��e��;Q_N�%q��s}��R/iHlՌ=��HHm���֥�����Ϥ)I9(�'-�}�.s!��Zn��Mw>����Ɔ�L\���P;�}a�w�an��]Ӹ�S`������l �r`?�͇FsӐ�JVr��}]��L��W��.G�$�ֆt���U�rb�G7z�I��
K7��>� ��R�D?a��h�`+�d�����K��M��	��г�:,@�龀m����X��|u&m!B��ͮ�(��[�s�#s̔��G�
�>G�~:�>X�^���96)~}5dj�ʙ��x
��6K[\�X8]U��r���$̈́���o��������%��o]���1��$��17���)�7h��7�t)�H|O�voCH�gC��h�m�<Ҷ�"&��v��p�B�T?Q)N6J�I��p��h*�M��]!:n���+�ƽ	�`7a6�DD`8���?^:a�+���t{�����V����@��?R��nW�%��[�&Z�~�J ��"�
-C�iGnm!�f �:�!ն��(H�҃���V���XdPV�����0�C�8�f�gu�v91$�w*,]tr�m��ຳ=C�l6_�@� �BO����[��^z�LT�ՄRT�@�.t�0֫��@�)�G���;+�L��T!�:ꦞA�I�`��#��X���������|I������y'9�����G�$���%�[���ăD��Z0�&�'���D���%m��{G����l��Q��[�4��2��G�'h�X��17Gp�z%���|�����@A�Ҳ��<H��{��ũ]�ud���X-r�I<�	�.�(;�Hq��$��[�ml�o�A5d&=m�a��4�_���A�k���-V����M��3c����,��%?��CS�mv�E��TGU���)ڹ]R�N�dV��ƃ"��
�;
@Ku,��v��&\!))�B��zK���M)�kW�k0Ѳ���mn8�4Pq�'�S���%b؜�e���ჳ�+�$�Tn��`���S�|"1D+�7���!	"?Mi1��F�rx�#�hX�n���"�� �㠅�eP�.�)���$k,��N�6���V~�~��:��ƪ�bO��]�f����kyZ�xr�p��t�5s�T�0o*��˂�u�.к�qQ0^�5a(��q�G[Ѕp�V��A�8�[�r�����_E\W���"G0[�m❲�3�n`i���N���N?h��Lxx��LK�_�Y��4ƿ�+ �˄��w+�/�RX{_����4��ۗڠ߿�W�B$m�v����w>g���4&�h�9�zxq��?q>=_�8���
�Q��.���s
2�q�b�ɢ̷�7��88u\�����B5\��n�){��_��~��D��>���S��C �s����IfB�?��X���tJI��C�W�vQ��0��������ĖY��[���u؆1��H&P��H;�B�5���B���Sg��ca�.���$�'�ŞTq�8W�&�Y�ݚ������D��>��)U`>�Dv�;3)'\<r;[�u���Q
*�Z`�PT�S��f�Tc�?j������
8z��[�nBg��9Q��z��HU��h�y����~3�~��)i��b�#E�g=�k�z��q��/�����Y�EQb�H�����cM�endstream
+x�}��N�0��y
+�C�8n��:`�������R��`xz�6Y�)�ٿ�/6����F9T��z-$t>r-((� �~h��X����+�rf���
+�VP>?&/��G�K3�eR�d���nz.��W?U�Tފ���P�Ag�,S���R3T����y>2��n�K�&M��(���mS�Cl��V�5�$�F��ܡi�Ώ��$������I��FT���d�*�cxq�&�܈{㝳3�
+��o.��Ȝ\�V���8����[�\&v��|(endstream
 endobj
-2123 0 obj <<
+3347 0 obj <<
 /Type /Page
-/Contents 2124 0 R
-/Resources 2122 0 R
+/Contents 3348 0 R
+/Resources 3346 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2062 0 R
+/Parent 3285 0 R
+>> endobj
+3286 0 obj <<
+/Type /XObject
+/Subtype /Image
+/Width 501
+/Height 580
+/BitsPerComponent 8
+/ColorSpace /DeviceRGB
+/Length 49962     
+/Filter /FlateDecode
+>>
+stream
+x��}wT����E�,�]Q�,�L�k^sX�(f]#*�5cX3�0�9VW��5��\#fI��=���ӿ�f����s����k��n������7��`0�	��ѣ�����ԩ�E�`0L���`zg0�;��`0������`0L���`zg0,h&:�0i�$;;;��a0����+V腢u�e77���Ka0�3z�w���������`zg0�H�׮]kذ�ׯ_����U����/^��ɓ������;|�0��ǹs�$5|�p'''oo�ӧOK蚎O�:�����#F������t����ܹs��������p�]
suuE6m�4f��̙s�ڵ��ϟ׮]��L�K�w�Ι3g���bB�P�BDDDbb�}�J�(������Ǐ�wԨQ�7>v�Xݺu%I-Z���Ǐ���eʔQI��}��o���8�)�ՅDFF~���H
+	~���`x��`��O�>:t]�9rD���|��������ΰ@z��ޠAX���Z�i+++��7�y�b�@�E��qHH�$)�,�޸]L׸��mll�8�����"�D�,b��ũ�;(X�������w���;p���Z�j��w��`T!��������M���)S��x�ʕ��`���.\Hֻ��섄�ŋ��w�I�z�[��`��o�ӻ��#��w��ų��w���;�|�r��֭[u��C
+��>���{��)����`��9sF��СC�s�� r�ʕ-[�I�&	s������Bz�S����e�;wNsz?~|���]]]'N����`zg0�����Y�fa��E�`zg02�x��ʪX�b��4L���`zg0�;��`0�sQ0�;�a	PX����'y=$����ɛ���$���Ȕ��F;��a��;q�D��ą\R��(@�\���PȔ)S�gϞ+W�իW��p႟�����xw�X�Q~���ꑒ[$���#��&�7o�LJJ҄�cbb��fG�Y�d���LLL�@�2�X�Q�:�H1�
+O!	��������'ϛ7Ox4A��(�Wr��z��qq�?J��$#�!>>���k�ԩ�޽SG�'N��4i�\�]�lܸqc�j�`��;��*eH�Z��ur�*�]��#�%�(�+:��ܒ�z�:z���j��̊���Sm'��;F� v��ȑ�͛7\V�\��p��yGG�o��!U�:�H��Ӹ�8u�uֻ\�Q~��
�#���0�az�4^<����?���ߟ����;�, �l�
+ڧ:,W�TIt��")�����������p2���T):��ܢ�z$�;C^�tg0�L`�K��;��`dJ�Mw���|<����)
x6�#�𡡡\,���x6��t�MS��a�<�����]~�}�:w
+�q�Ʊ��`0�32��={v6�f
+�*�rM�o2�Fq���Ý�����O�>-IA�>� ����#��KAJ4'�"S��_K��ʇ2�_�=zt�ԩ-[�����X����DÆ
�W�>p��������s�bH�ReQ�	I�7��pѢE?~D
+HM��<}��5�Qɱ��T��ג<0��.]*W������3]��p�c{{�ɓ'�����*��J"�o��B
+���!"�+%R�*�V�J��Z��wC 99944\��E��ѣ�����ѣ8F:q���
6���/0������\��ՌAPVY �o����`�+��8BŔWJ�w���]d*幒�A�C:N�ԬY�;�[�n�o�f��6o�\�P!��N�8����--�Er�F1a:T2���>ͽ#��a�(�\�R")֜��L�<W�<�|(C,Z��r>v���q�޽�� ��~���� ��Y���,_����@���-U�
+yРA\�L��nݺ�*͚5c6(<�Q���
Kàx��9���ٙ�ۍ�޽{��`0������p*W���kDEE����1C#,,�\�2����/J;k֬*w�0�1|�p�\��k(P������\��AA��ׯ_��kЦ��Ǐsݳ(�W�+V�����u���Ŋ���+Z�hDD�'%%���/{*������\�Er������kӦMB��͛�tf͚�2)I�������ԩS��*/���@���m۶1��+Wfzgz�c�:ua"!����w��9��;w�w�N�G�
+
+z���ӧO4h0v�X�td�� %%eϞ=9r��oCx4Y#
+�K��y���*U��3������;\�v�aÆ0���E�Q�bQ�@�[�n��͛7,�����^�P!!�R�\�z��Q�4�w2��I"L�8���M��$6�ISr�U�Z���ŋ�<y���;�;����s�̙={�8���V�����0�$̥�N��3@ٲecbb��۷o�W�M�t��a��3B�`���%K���HJ���j�
+"""p�}�J�(�U���a�ppp��������QLw��
�^M�z���Ui��L'M���ǏC�9x�8�iӦ�nٲ��@@x��u���q��jժ�̙�����z���)��D���`zgzg��֭~{��1c�ԫWOB���߯U��x�����…0�q�G�>bĈƍ?KEÆ
�s�*�I�ށ��??���x!��?�j��s�/^�^��/�����?�z4� �\S|�;�~�h2�S�.��K�.���c��ϝ;׮]�ܹsch�#G�5j�Ξ=۶m�<y��o�6m"y����z
+q`�������bF��'��N5�=1r�ׯ�իW����֭_��S*@���X1g._�\�rf޼y�r��ˋDw����>}�d˖-{�������Q��&�N� �4㫛<-�,Y2,,L>�D���&M�������a��޺u}"��v�d
+��ʯ��A��m޼966��ѣ��
������}�v\����!�+�,ϕB4�ٳg�MF|	����M!�N���>R$���\�p�˗/3�3��G��	f��*�vϙ3G�,��.B�ϟ/���SN�w�ޥ5��K?����U�ђ���L��ӎ;2�3��G�7n�l�U�8Vi�ҥ+W�!���󚤬��(�4a�X�O��
�'���/^�(�6�;�\Mk�(�ޕ)�jժdf���t�Ç���/�B,�k�r��ޅ�׮]_�}����k�ڷo�#G����w�����0=z���]z߾};m�N�����
+!���ֻ���e��?u�ӧO�\:t�m*�
����p���0�3���E�0ki[�����4gΜr��]�6�%�̽ϝ;W����ŋ����p��m�V���;��.��ήp���\����%������P�v�ԉ����0/z�޽;������͛7nܠ�=zȹ���!0��+g�;��?�W���ݱc.�DW�rF]��w�Q�F8]�l�v��\93k�,'''^9�`zg�#��{�R�hQ�T�`�С<P�Pɺw��=[�l�u��q����*׽�KY~^�jN����u���w+++gg�bŊ��Ӈ׽3���H�޵�`zg0�3��L��w�w�������`0�3�E�QQQL��Aٲe��L�#�]i�J����0����r��g&^#���Eig͚5M���;CG�^�ʕ+3�QQQbW��`qo�w�^���s�\gg�۷o3��{�Fi4H��T\�n]�$O�w�w��P�n]�_���@8x𠝝��ܹs:Rߗ/_>�-[6��L�ܻw/k֬���$l ��ƒ�.�����*�+&�C� **
+�K�.
+��&N����2Bpp0z"j�
+ȑ#�֭[��={r�b�޽B�Ν;���lٲE`�]�3`��GG�ɓ'���ۑH׮]�ޙ�z��ŋ�s��u��1�b�hPPJ���[G����
�L������R�@���Α���)�V�^M}||���Ϟ=[�H����'�΅BJ�,I!�g���/^tuuU�D�Hd�ΝL�L�=��ׯ��=���֭���0J*D�0z�,Y�������L+	����>)))11Q��׬YS�R%__ߗ/_J"�mRa�
+!�R����S�������?]G!��w�.HNN

Eû.X�`�=�ϟ���4:#]�y��
ƌӰaC2�����o
+Fa�"���.̽gϞ�…0��e�0�6nܨ.ll$+��ѧP��΅B`~��K>���)^�8�����E�ǥK�ʕ+'ֿE+�#��q�1'O�{��$��2e�:tH��<bժU�,���c���b\�n]֬Y۷o/��*��^���/���ɓ'�SPL
+ٵk�{*��B��;�q�6mRw��@��ԩ�<2�p8s�ʹjժ\2Q�}�ԩ-[�����X�"�uz��y��}�ls�̩2>H�J�*�ϟ��ܾ}�`Q�#a�w#�ڵk(g�	��ဥ'pc�5�"�?���r����x��]�p#�ᨨ(�w����rQX��������f���˖-�Ilb��������_�o޼�������z�*WE����@v�1���D����F�Wz�d���̙3�f�ҥ�%K�V�V-))��_����:Vwtt�S��ŋ��3�	T<T?��2��D��O4�X[�i�7�v�X[[��ȗ/Nk֬�����Z��;�~塢�V�̍"E��Ю]��Ea|z�z�ʕ+.��r(�N(��Y�6F������9<<�{��-���k�ʜOI����~#��ի�88�]����1Ʃr�
�Y��+�Y3=�EDDpQyrF������s��vT��P��P�b6a#�w�؁�666t�+W.���}�*s"<%M�/_�O�<��?�����t�R���qܨQ#��qrr^n�z�lmm�XX�hi6�駙�AS�}���0r��e"xC2��rˡd;��a�8�.�U�Dx�2
�<�ݻw�����ܹsoݺE"*M�65e�~���?}������/]�T�Ƽy���?~�8bn߾�ٳgJe�!�*��(h��z�*gΜϟ?G8�1BT
+���Y�<Td(��?�D����qQd�k�?���y�Ħ��-��(_M�>D������D.Z�(��������hM��P�c��q���B>|HS���E���ؤIp;��#G�,[�,J�7���
+z2��/�z��0aƏ߻w�ojd��,S*2�#�]�۷o�4�<9������ϣ���A
+Q��P_���>D
+9I�ܢE:����4q�&�����ѣG���%���B�r���ϟ��.ohh(h�ޭC� a�b��Ίb*��(���G�ގ��ǫ�ř*d��,S*2�D�:uPn�/�0Ag����~�X��g�FH����t�޽D�
+�pƢz��Ȟd��ӧO����3g��B���f6ȋ"l�o��Е���_���(����z�ꩋ��?My��H�OCB.
+��?�����ٳg�@�q��
+ټy3��l۶������M���s��M�&�
+���P��Çqܻwo0|߾}5דQsC
+_�d�e��H�1jC�����\���ʕ+i��$��J�9R�:u*�;��L���>}Ze��W�hr	

�7�0�vP�ڴi�E��(��%H^��@�����#0O�<b]/���FB`ܸq��F��G�h�x��.
D�{�mۆ<`��Ra���m߾]III�U���*Js��7o���F���0h|�"EL�7Sh&���dɒ
+L�k�f�$<I�ߤI�BAS�0gggb�aÆq�`�������.
�z��5̛7�����d��>}jgggccCs����bxS^*��>}"�4�}p3����˴�n�ܹ\rS�2/�٧rK�����L��O�������<�o��幕�/WQ�Cu�E�_�E����W(�舳p�By�P�ݲe��1� 2ٯ_?nbC#22�6X�JF����e^��O��o�mT�3Q?�*wJ��a���UH?]�����҄		Q.tI$,�4�|ZAjvR�IIIٳg'��ٳ'�2��A��v�Z.
1�+x�W��O�%�f���L��O�|Gᷴ�l��T�Ve��r���/^����H
2MQ�>����KбcG�lv��Q��R���{]#t���V�6�dc�|g�–�47~S�3Q?������(ll��V�>:A�\��r��u�Ff4��Ԯ];ğ5k��RBBy�1�Ž(�U+�)nkC#""�>�xzz���\ �^��;��j�yP��DM���wj�f�@����8p ����� Z�]�J�T�֭[��WoݺE�,��y�`x�B�mۖ�������a�
3�����f�����Q�f���&���x�����W���p��sdx�<γ4� 99��_~���)S��\M��Y��͛7G�<3=�|-��[�h�,ׯ_?D@�e���Ã>00�k)��{�.����x��O�>q�04��c����#ȭ���*?�j���H�аaCuʔ)�8ݻw7�������r�aϞ=		��a��n�z�ҥZ7UF&�ׯ_����aÆ.\�*����K�/_��X=�x
�<�o������M��wg�K����׿��[�J���Y���ڵk7k֬C�!������Gt�^���ܹs���� @��K��=zt���M�6
:4  @���m߾}���?�<�jժ��uX�`⸹�=y��L�l�*U�����k�>�����[�dI�V�hW�E����Q�F]�v1b��ٳ׭[�|�2�xz�jRR�۷oAb��n޼�D@#0� ���͛׬Y�lٲ���_�uҤI���ː!C����y�����G�v�ڠ???�|===�d
+,����]U͚5�ׯߴiӶm�v����;6""���� ̌u�?s��ʕ+���m���Ņ��Yٲe˝;w�B��/.��mڴ�ܹs�޽8r��	&L�6m�ܹx����7nܱc�޽{�u�V��_�~�����k�/FW>`���-�̗/M�IP�|y�oJ��0����S��iذ!�5h��|��0R6q�L<GF�G��Q��=Q����,:���wȕ+X��?~pz#\�w>aoo��r�&M�����߾}�A�)�!z����7n�E������(:tX�K�.Z�(
+�)��
�$^Y�
+�݃~8��Rv-��OVݫ�ӧOi��Y₩�Z���7o�m������gϞ=0�`������[�n�2e�E*-=ev[�H�r���G�ի��?�nݺS�N={�>|��q����0^X�h������z��ѿ������W�^�{�.���X���c��H�Ta��vŽ`�:��֪���	��ԩSq��
v2�;���lٲ��s�N�[���h���Q�)�#D:�6m�5[}޼yӧO�8q�Q�
{��b`�5k֬e˖8����Q�^����;x�`ܸe˖S�N=|�И�x-�A5S��1#M
�[Hi�Kj��}��0M�:�|��	�'>>��˗`�����\t��}��MdqNBB�q۶m�f���+WNlQ���-\��Յ�@�HGH���	��7n�0/�[�y����H1ج��������;W��px����͛{��!|@Đ�[�nZ|V�r�
+I��jpXњ��X�����0�H3&��6d��j1�j�i� d02ax7hЀf�\]]gΜ��fO������Ǔ�����ҥK�󙆸t��&�Ʌ������]oܸ����=x� W�8�����@�R�Ҝ���S�Z��:thBB��������j8�NE���?��?r���6l���`
gϞ%A-؊��h?~�S�-i�y�&���E�:i�ƍ�D� s���ϟ',X��k�a4�}��q��d���5���W2&�������&MB2D���ǏG��e˦),o��u���'N���`s�o߾�$On.�_�ܹs?z��Jk8p���a���///��	��ӧO������02z�W�`A�D������zF�����T�;w��߆�reL�y�Fؿ־}{��ѐ���M/((H�ϯ���c�	��cbb4��v�ڸ�O�>���	n�T4�!FФ�p�ԩo�����u��вeK�m�<_�v��������}��ׯ_�9P�~}���0v�XA�j���8�ի�^0e���СC�uWpp��K��Q�D	a�3W�8x��	[�9s��d.]�d�y��[5�'�\zz�o���:t(3�4ZjK�������%�G&���$�#G�Ν;�}�6����;wpc��{�3�.2����Sd��5�a!8r��r7�6"�gϞ�iӦgϞ&E��ij��/_�Ч���eIII���Ǎ�o��?�@�3gNָ`0�����%_�~�l����<y���ѣGa�¤ߺu�W���?N���"� IgϞ=�S�w�^��...[�l��/�A/fgg'V�GGGa	:��X�b���*Ӝ8q�����(W����³pc���3�.'	ڷoOE�-[6v��`�����w��]q�Ν;
A�,:��񉎎>{�l�"EpګW�	&|K��ٻwoyq:���{R!x��%
+)Y����)��ի%
+�rf���ɛ7�p5""bԨQ��tvv����/qoݺ5�]�n]z�
+Enǽ���W���#x{a' �q��=خ
4}�GkkkaFt���0��ԩch��&V� R�5���~��Uyq:��?11���V�D!*ӧ8r�XL��Y�s��� ��<�5k�T�T�����˗�dnj�{��J/���Hv2999�U�#FN@�����Y�&5."yb!'''\����h+
+���Çz���ϟ�k׮G��%�{�n�݋�D����ի�.��zߗ
+��.QH�%Ҽ]{{{�Ӑ���������/�\��Ç�5kF6�<�o�NO6n�($�_���!}<(��@XX��u7M	S���/�p=�l���Я������]]];v�(89y�$�X
+\
+�9u��]�v�����x֬Y�F���8p }��*׀� Y�-�Y���2M������ѣG��T�#�P�B�t&hL����!�1=��_��80��Ieܽ{��Y��a���A����֬Y#�y:s�7LC��z7�-�ޓ���������H�j�*�왉��رCp���Mà�9��	www���������ɴ>skx����s�a0d����n�����Ν�:��s��2�o.8}����i͚5\sC�l��
4��<Z����;WWW���W�^����J�9ܚ0&e���Z��w�ԉ6R����#GZ�S���X;;;��aaa\�=�l��C�A�Κ5K�D�Rlmm�{���L�#�9s�pb0�b����.ז���Ht`$�i��HN��n���8y�dyVI���_~��/����q�,�N~��I`�3fp#e0t7���t�k���g$:0��4uc$��B7�w�x񢫫�<�.D�������O�8�t<<<2�F�o޼A�I�r�ܹ�H�
x+++3�uW�-#џ���HN�ԍ��*�Тt���k׮Ex�t��eʔAR†�L�W�^	6����2L�?a
+W�V-((��P�J//�V�ZM�6
ƶ��G�-#ן�&Ӂ�j�#>U����c��7k�L�Z�h�"$U�vm�i8ϟ?����ʰt�Rf�IC���P���u�m
Q�ti񩿿?���k˨ԟ��HN�ԍ��*<H��:����@��һw�H����ۖӂ�>}*�����`Ja�.]����G5�E�ӧO?|�0)����u�z��.\ň��>V��_@?��bԦ�Ժv��F�mQ� ..��֖�Q��`�0G���������رc\ :��������"��M�Ν�q�;�El����ój#ù���Z�n�����/��ϕ+
+vٲef��˗/#�����J��8`i�O����o�`����G=,_���,c3&6n�H�:<x`���v�r��㣯'O����8f�+W�����Ɔ��12gΜA%�����ƥa�jՊ\M�~Voܸ��
++|t��ǏQ����?~�h��������h_징�Q��ȑ#�(��������xK�w   �i�_��2�>i�...�Տ�dQ�J�=vL`PT�Z�|������בOaw�^@��4ib�o„	���FCJJ
+��;Q�!0`���$���A>K�*��4߼yckkk�ݺu6Gps`��ݳ���dhڣF�2�|^�p�����o�u��e����#�o޼9��p��QԷ�U�rQ{��1��ӧO#��+W�o��/F�M�6��j@:<���aLzg�\΄cǎ•�ӧO������>|�`�5��ْ�(����Ѱw�^�3((H�)���m۶YxMx��=��X[[[������`��ʹyY�)O�>)w�ڕ+�?��C��f�ʥ�`��r6V�\�|v��]�)_�z)�Ν���gTb���4E��EJK��Y�"""�ܹc^�C�\�rb�t��N��/^��*Bkoo��/��C i3�k^s��!C�"�"E� �g�rZ�lIոK�.\������˗�M�6��� :�;�L�ށ�۷��w�]:t<�mݺ������9sLD��\�}̘1ȧJ7���o߾H|ҤI�B	������d�Jаað���Ǐ'$$�,�W�\Y0�5��%K���v�7�:u�)q	��5D�>}��E�"�;w"��n�X\NNN�*���s.��ضm��k��ի�5j�ԩ�F�xM�Ds�ȑ���;w��ȕ+Wrr2q��ի&B����ӧM�δh��ܲe�!�������������k�̊����H`�+��suu55z����O�&s����S�;�� ̄k w��jL���;C���%�/���~�jՐ�������4�d04��m۶����7**���ĉ�FZ�h޼9.�ɓ�,����;88���x���{zzR
+����qㆩUoood�p7n��>ݚ/|||�z���_\M���2{��,Y�����M��Mp6lX�lY
�>���H���)d֬Y�C���GGG���������˗�c�T0*��q��=:��4HJJ"�}0K�4�����ҥKs�έ�n9r$-?6Yz'����ٳg%d.�+>s�I�;����w�ޝ&]������)� ����:�=��Ǐ���666<�.}w6��#3���۾��TUj֬IZ�b�^�Z��?���&s�ԝe͚!׮]���w�����ֲ	�;!&&FP�A��9i�U�2e��~�@�i"((�*�ʕ+�4$$$�,�Q^�"E6oތ�#F�)Q2�ǻV3��	۷o���ӳg�O�>eT&�c�?�`Ч6O?~<�
+9�J���=�1Ā���wߑ�ޡC�
+�-Iʉ>����jN;��;�J�۷/��,X�ĉ�Iڲ:h� #t"���\+�u��V�e.
!**�>��(Q����bް���$*��1���.\����G�[HH����h�]����3�S�?��dϞ��gT�cǎ��ǎ�Ұp�����7���i������h��y�w�֤�k
+

���%._�l�L�O�}���A��Aׯ_犡(�lٲqQX2޼yS�V-Zb^��_H�����{��њD>w�-�vtt\�x��2Y�@<��ݻ�~퍵p�|
+X�nlVF�óg�ʕ+G�yN�:�2N��ٕ�q�^W�0�i��LLL4t߽{G뮍0gBR!!!\1��Zkk뤤$.
K�ÇK�(�
+���!�`�.T�R�=z�K�p��G�I�]�6mʞ=;n�1o詌����Ԙ�P���ó0�䊡h�Թ�yriX�<yB��~~~��uL�����נx��=
�����{�ݻwK�.�dgg�k�.�er���F�=A&8�
+���/�%�ŋ�J��K�X��^W�9s�cooo�y��V�Z�}5h�@��?~�غuk�k>��^�k�HG�"��J��h����% 11���}}}_�z��dɀ/_�|rr2�~�q�FZ���]ҙ6m�I�i�F�gAZ��2N�Ԯ]�ۿ?�������i=���˗/�����K�_B߿�4ɇ���Ybbbr�ʅ�]�l�I �~����lAբ���d�[����2h?K޼y�(27�Q����!�Z����5	���z�1���u��їb�ٳg���C�@���H~�.l��!q�=zpUQFhh(�W�\��Ȭسg�����p��˗/ӮI�E�ӧO?|�0+������z���*Q����S�Lѯ�Yll,���(QB�	�V�����ʊ��kԨ��&M��١��+�E�)���#rHd�/_��ɰHǀ@.��������7�����3�s��!֠��z�Bj�g�6f��s��ͭ;M�\ ..�K#��zZ�ިQ#㨂߻w/22288�Z�j��,F��k���jժմiӢ��
��^�~]�zu<4���n��1�2e��U
+�|���P�W����sQd2�,����R'��Ç��=����]%�W�^�=@�F��N��K�.q�N������p��2-CK�n�ʥ��.gxZaX�`A�7/�ڵ)��0r�4iBu�=����$�L_�n].���:�qZ�VBb�ϥ���?~���G�x{{?y�D����ǎk���ȹs��K��1��Ɔ�B%^�|���P�^=-���B��>���z�O*L�
+x��m�
+ȏ�^~h�\tt���=c�<wȐ!�5��~��w.
9z��ѷo_X;����ݻ��[�_�~-[�,��2e
+�;��4M��y�Xj׮��)��ϟ[[[;99;[TT��Wc�;hS[��Ź(�ȓ'�����������Z��Ǐ�жo����3��S�'O�,PJ�r��!́#Npp����'N�H�K��ŗ:w����e���n޼��P
+`z�������#g��/�ٰan�x���vW�zu~w⧟~��\r����)�&M����j�j�ȑ0�Ϟ=۸qc"�ݻw_�x��Օ�������)"��իI����922Rʖ�.��=�(Y��BV��U[�d	�8�w
����lٲ�p&L���-062J���-Z�_��x��
���9r��-X��q�V���
�F5�С9pG��#вM*�R!��q͚5�*U����Y���t.;88(d��
*T�����Ӆ}��QE���fdX$qp��5�g��dɒ�ߚ�ȑ#9j䢐�[�n}�����S�~�~���o�K²f�JS(aaa(�;v��eX�h/bG6�	vt7nT�����T�(QB!���y���֘�Ӌ���|0�LS'�̙34�QYE&���`�L�3�P
5k�x��`oo_�n]2����`�к:&j9-�<y�X�b42��;�W�^����cǎ�S6mڤ.��.]"W򼡏�];���E���I�\~�����Q�$��:��(�Չm�ʥaj�dQM�޽mРA\\L��!11�R�J��F�3+��@-qR�9�<�2�A�s���Eav�I�k�P�ez�<z����5m�4�n޼I�D�
+Z�G#����9��:��1G�GUX5\L�:b߾}���666gϞ�_�2e
+��K�.��-Z��Fz���{��a�f�6m�Y���=c�ȑ4	���[�%�4�gϞ�^׮]��U�Ve���@
+�?���pӬ!*LNN�`�h'��]G�FU�X�6Ӊï_�N��2pf8p �1�|um�4�yy�dF���-Z�]l뱴�C�������Qһ����O�q�mf߾}�H�iypbԨQ
+_�X�={�!mϞ=���Y���x���5��Y�#F�@8~����w�5���E��y��u�_�~��>y;i�$dcܸq��K����� �^�ʙ3'�A@/�c�����={��N�޽{�K��������9<<�{��aaa�G���#b�.*��D�Dk����S�^�ʄ��ڨ+�.�+W�<��|�B BP
�4***k֬]�t���"�%�r�g�Z�j߿?�#���d�=�4
M��s���СN�����8ο0s�L�dذa�Œ��"�J�Az��E
+�Ǐ'�@��!t���M� ��R�H�m�x�"�H�D�)��Q�G$�%��٣M4L�-m__�9s�5���C*d���H�u�ԇ%J�.�ܹS^
Чh�����Qƞ�֜xX!�'6(|Ŋ��!OSw���Ç�E���d�_�]�y��)l�P�B%� h�xA������dʪ��%I[[[�D$D�(��2�:��D�^��;�:�r�QW�x�?~��"y�h�$�$�k{{{�*
+�AG��S����ґލi�)k�)��b��W#""F��.M�X}d*{zz�gA��s�N��J�5�۷�B;Ewܮ]�=z�#�	�^�� z���J�K��-�
+)h�r��/V/��:ub�i��U�68v�X�K��FΟ?��_	!*�wI}(^�8" P�ޗ.]*_����z7����5����
����i���C��
"jժe
+�rٲeȌ��4�*��;v|��5��A�5	+<�Cv���
+AoM.�@�
+)trrR7�.Q/�����Ϩkk�J���@�
սG�~`xBȺu�POڷo/���>�A�y%��Eb���+� ]����^�Zsr�Nn���f͚QS���/��ܹsT�y!S��\�c�K��U�_cb����j�������yZл�=e�9q�-ur�@�{'u/�i���	@�y���*�/_���5��*{34fmAۏ������ŋg��v�wf�4A�~0�����Ǚ�����D��ʠ�
,��n ���������:�r���0��~CN���õZ*T���pQ�8���I���”�ݬA;U[�n�����Z^,�%*��������;b]zm�{
m�ngwWf��w�Ң5.
+�wC���3gNA\���R�J�e��֘3g�1x�`�W���<x���ޕ״�އ�k#�䡉�3����(�jժ�irr2l	��_�>sE0G�mL�Z�I<�e�9rD.��0A�<y��FpQ���K�JII!����ʕ+R�x���'��&MRY�w)h�����\!$o޼qqqǏ�{��m@2#ɛ\�Dȃ\�Fr W2��c��ׯ3-�2�.լY����w�#""%���#���1�7oΨ��G�Y�f)���u/����+�4i���U�V#G�,[�,niܸ�75���J������B��7G��&�Dp��	�����.
+��]n,�Ec$6��4M�����A
+F�����׮]+�D3������^�z!K�.՜��i�H6�j��N!d„	������Tt:t - u�.y���\��[�›X�@�J�&�5���0Y�Faj���K�%�h��Ɠ��)�"7�=H��32֭[��.\X�{=!!���#w>�k�OW�ODaϸJ�o��D1F�BȮ]��f�J�2}رc�75�2
+���{��g�~���u��i�\PPӂ)<��Vu�w� �D4Fb�IN�{�����`�)))�].""Be��&M�dH��K
+�E��(ƨSu����Ç���Q�w�g��0��߿���I�@�E5j�`Z0e������]b,�Ec���[ħ����4U�Өk��ͺ���9������oݺe��U�R�;uꔅWi��Lr�ʅ,_�<ӂ)��۷xM...\�л�XR)#��ħi���3U>(����…#0�����
+���,nܸa��Y%ڞ&�F2Lȓ(�.^�޹pĠMC����{�._��h9s���铑sH�'9Xah///���Ea�(U���ӻ������&��*U"/$��arr������m����!x7`�,�3�Ν;�(��w���\Ý+V�0���Ǐ����FŊ�}<��cРAxSӧO�`z�w�ܱ������p�&�߽{�%K�����3Z&ϟ?��X�\9~_Z����(L�V�›j׮ӻ�h֬��[�n��ұcGu��m�5ۺ�y���]�ۿ~��7^�^�b���Cj"�Aƌ��WZ�w]@{d�e����i~���i	���x�b<�W�^�ʴ��`����3f� ���ch*:c�E���D�W�^q�ez��?����g�N׍)))������?z�h#�2z��2�����v�4hPDD�ZF:�B�u�&�M��bY?�{�J:�r	�4ѻwo�;v�X�d�<y�N&C�Νu�wX�r劎����Pt(@�IL�0/+$$��-ӻ�u떣�#���Q%��R�J'�U�V�����O~qZ�M�6�L����.�\rU�L/��L���ׯ_�U����޽�v)$''���"�;w�!äfFr.�дiS�� ���n��5��^�v��.�{��t�R�Y�o74a2w�\C��ݻwx����i�
4`z7z�w�ԩS��n޼����	����Xl)���eɒ�"��h���($R�~}Cg�։�)S�k�.0Az��i�N$���t�;iAm���������:z?q�D``�Ů����+Yq�5�1��ϟ[[[èNHH0h�7l؀�hтk�.����A���N�ٲe6l��k��������SRR��Ƀ�gΜ��K?~<�!���މ�i_��7o,�|�钛�[���C���ڡC���Nnj��[�n�t�z��E�\\\2��nЧ�כ9����ݛ+�`��������?;�bM�����Y���e�#���ѣ
��V�Z�)�ׯ��5<x@�_���%K
+�6m�k*�O�N!]�v͞=�p��T|P�~}�j�ĉ�Ks��qwwG*�I��lmmUF�<K�7���W���)������ݻwW������۷���P8��!6���2M���d{l߾���ܳg�������)/^亭����uȐ!�?�i�(P���888�5JX'/9'E7*THr�p� �%K�xxx�yF��*�I�%ϛ:z�вp�2��S�._���ʇ��z5j�Xx	,�t���E��c����kkkkTl�M������vZbb"�m�j������z����Ç�ˢԷ�%Kzyy�ܹS~*N�n����$n�
+�w)��#G���&y�<o�?NV�w�)�q$���$���_�2Mw�LTQTο��[�)�-[�z��I����A��}��j]ТE��zY9#�wط�S�!�u�2e����ƂʭwX�*�aqTF?K�7��,Y�,[��!0$�n�*��ե Ή���ށ
+*ங3gr5V6�-�t��	}�7��'%í~G�C�:t�Z�˼M�����hvT)�2��;v�Py*D�W����ӄ	$�/X��@�*d�C��$�R�7a���ޞ�4)� �H2�������e�~Z!,d�4�-�t���39�4Ķ��˗#�~��@�'q��1�8~�8ʐ8�E	�e[���|ԨQ\��𡡡XÆ
������SC���E�_�D	�����k'�� �P�$쯵��{���3g�#�͛7�>�4�-�t'9w�h�͍'%%!}��?bV���
���\�r45�_[[[�w��w�G���v��\�����/_�U����7�ʔ)�����?zO�ԩS,G�#��⬬��dɲm�6&:b�ws���o��̙��\��k�Ā�4��ŋE���ҥ���E�bzOy����IG�sG6mڔ�rL�fJ�����I���\�ɀϞ=����5j�@M�\���a��'h�j˖-��U��&k
Z��e˖������.��),�W�����)dذa8U��Iկ_�޽L��-�jժ)))F�<��݋���V�ZPP{T�U�T���lժմiӢ��5q��!�T�N��www�ˤ	��D��o��#���֭[����ܹsT���h�������]e��|i*0�$�Vy����j�jҤ	ӻ¨�t��i��$''�*���(�P�B���t�������_�rE��t֬Y�����ٳx"�D�&{��u$�7o^fi�ѯ_?��������z�����K�,)�
+�y�ƍ9r�`zW�ɓ'����JU�˗/���Qn[�h1}�t���^s|��%&&f���,\�0-H�2e��c��+W���}��s�����7Y�9Ҷm[�-��ӧO�Q���ӻ�u����-�E�]h�ȑ#���L�ʘ3g��b=�	A�^^^ǎ�v�#޿߷o_*�:u�h=Q��acc�D`&�/���o��1M�
j���i�n�:`�J��T�w��C[�!!!իW���4i[�z�w��ps�ʥ�Ϭ�"�:Rnݺ5���0��P�˖-���'N���رc��yuԣ,�q���H����\7�+@R���@��F�[�n͓'~׮]���nþ0��&((��]������#5��=z��jӿ�����F�_�t�n�x�������S�_i5G�ڵI�O_	^�p	�˗�k�v�e�y���N	��h� ��8p`�Z�V�d͚�^�z�w�fz��޽���E�Ŋ��"�3g�XYY���_�|�[�!@�+4h ���W��Ν��S�M��v�����	آ��*�ȳ�XfP��ׯ_��Ƨ�o��i���w�^L��#Gr�1`Y999�ŋ�\jٲ�|o��[�`��T�VM�9U����~u#���{$�A=W	-p��1�����z���=s�;���2a����;�D=�d8T�ZU>с�8������۷o�ϟ��֭�݄��0a�d�zI��۷v�����-@����|��x��=��;��:u�r�֫%SRRȰ�np�����1c�8���,^�X�y�&q{͚53�;�v�$$$D/��7VO��.]�/8��@�ϟ?gz�L�N�L[����̙�E
+��ݳ������dPDDDH��i��x.v���q�)���V�Bf�u릗�:t���ZݽJ��޵��fz7ez���V*,,�G4n��ٳg麝�GժU����-!�D�
+*|K�iN�ѐ3p�]�
6�kF"9r�@jw���ʐ^lٲE�;wn���@�O�<�;���Q鷔bbp1l�0��n��C�5m�4K�,ٳg�ׯ��I*O*�A�d�|M���;a߾}NNNx
+Q�V�Q������;wĕ�����X�~0�\��رc9��=���sU�����n/�@��`�H�r�u��E��/P��v��U�Re�֭�v�jժ���W�Xv΂�b�ֻ�G��Be�b��\�{��;mO@� a�G2NC�;H��9��7~�x�	��&���U�>V�w�v�h��]��T��a�+�;���ׯ�<�u��!!!�
�ӻ�D
�A�
+{{�	&��d���������YϞ=
�5U`M>�uL}�������G[��-l�]�m�һX4FarY2d�2�#�Y� �͛7oڴ)o޼*�b�3bܻw=�p��;w�dz7)z��r��y������f��M�,Y��Azѭ[7��1��ccc�c����<x���KSp&M�}�ҥŊ�coo�e˖���&�mۆB�G�+W=�J��������eU�}�j�TM�޻w������VVV�+̫����F
��Ţ1�K�4h�=88�L�2�wa�}Ϟ=8F-�бcG�wM����)S��kN���9s�dw�������$�����ߚ7o�q���
�r???�p�
+����Æ
C�e��B�
+5j�Hݙ �"�WΥ�p�U��#Fh�Pz��5M�xE��'yR8iذ�.�$$$���;w����|�jXXX��J�%I������,_�L�F�ߕ+W*лd��|�̀��.|c-\�0O�h���$����h��=��3��]�Vx)�	���ܹ311�̙3��S]����?^�hQT9��޽{��~���D���]]%���ׯQcQ�Puӻ�Tz'oz�N
��ˆ
n޼��S�zY9�y�fa�'Cs�>����+m�];N^�n��.X�
5nܘ����.���Ç��aQ�
+%����˯|���p	-���Nj-R���+W�t�;a��z��L͐||(X� ,�	&�HMБ�M���6m��� �7o3��8~�8�0MT�z�=��n��.�ѣG3g΄5%�����/lmm���]��~�t��tww�޽��e˄yEu��͗/��IeRL�4&^z��q���R3tqqi۶����<��.rcw��5�գh��b����#}5��k�@�7n�`zgzp��}��ժU3�#e�h�YaS,UbrLЈB��~�k�]���E��*NH��s�B�1�	pC̽�ϐ�̠A��N��_E
+$2ik���Z���e��aG1�3��v��ذa�ׯ_O��b�<q��ԩS�-J�����HJ��q�D�tp�m�6-�wp�?~����P�yܸqZ����v��Ť�!���K~uϝ;�y�bzgz7�`\@>F�@�|z�ѣG����..@��b�
+ez�QCٲe���y���w��N�:꽓>9�h�ڊk�@�'�!������>���v�ZW�R�k֬ɒ%�w����m�
+�q7q�D�*M�c�^�z��aÆ��ݔi�7�l׮�B~�O��c��7n|��)ƞ��Ds8��%��vu�9v�ؑ��(,#�DŽ��<	#��ׯ_��pvv6���w�5���O,D�9�	�ªF�i�{Q�w�֝*X��LHHҷ��߽{7���u�"<((�Y�f�/Z�@qh2 �%����c����4E��˘�M�v���;ɐ�)S��4h�������]�.]軛�p��'={�̗/���
,��%Kv��Ye��Q�w�/����Lí{7#�AsF�:�Ž�(��>|�ԭ	ƌCS����n�]�#F��Ó��…�U�F�9,�
6� ***gΜš
���Gz�,YR 8���s�9�3z:�������ɓ'�GÚ>V
z�cǎiQ�!)�m۶lٲ�=���v�С������#����+��U�3�PG�*'gH�hѢ~~~<�δ��n�~g��x�HNN&�S�Ҧ�X<~��t�&M��]�RX*�5��+W.((�t�Ұ�)</X�ɐ�t�ZX︱z��0'PL�L�L�F||<9h��^4|�[�xq��-�޽��Z�S6�3�nݺa@�z�j�1b6j�H�{oܸ���ћ)R$���u��<y��w�ڵ���ޙޙ�
+�0���Ž�inٲe�ޕ���B�BJ�(�����%>X�B�x���q��X~~~����˗߹s���a~���ѯ	+gX�V-�w��;�34v��m^�N��[�h���?N�!M��ɢW�^TVZ�(���۷z�w���;��.Z�(�5�B�J��1e����Ơ� Z�/]ӧOGA999����:�g�Ǐ�ޙ���CT0++�ׯ_s�3H�P��*R�t!4ĥK�h}�˗/��+`ӦM֩غu��o 11���]�*U�(x�b���p��asɰ��/2|�̙t�E[�BBB��+��ɓ���(�ٳg똔@�i��dz�Lz'�p#G��vg ����Hz�-e�1���=l�>h~׍7llllmmMʥ���֭[�<�v�{j�kw;�{��wXh`MĥڡU�V�����j2��흮�:u�w��L�/^��o�&M���% ?�h���w-4gȯSpp�d�̈#:w3fxzz��/P���1c��u�<�=z�1y{T���ӻ`����%''s��,+- 7A��@J�bՠ4q��M�Z�������DBBB����tzI����M��{z5gH[���Y2z��~��Bh���ׯ_�n�����͛�p*
+,(�	�ֻx�����lݺ�v�h*�+W.�[޷o_�y�̙��B���uq�����׶mۢ�
+*��%�vػw/y^�;��Ws��������2v�X��� �v��H
+ԭ�^��1�#0�S���
+T��͛��/x>���=f�~��H�ԩc^�7Ʌ����5��`@:88���:�5
+E�={v�4|ԁ��lmm�N��՜!sz���B����ƍ�׮]۴i�bŊ�G���R4Oݺu�SAd������/nܸ����!�k��2}�t��w�mj�/_���V�^��,�U��vʔ)�%x���[X����O�4����_sP	����K;�M�t6^���=��3����۷�9-��_�*UJ.�b�
+ts�m���o�ڵiʈ��o�+"���Oeʔ�H�7������P�!c��14Z������ʕ+f�ED�T��a|r����_��L��3gR}@����a��(C�{z5gPs`���P
+���~��ѣ8���nܸq�-��8]��'y,��_�x����Qu�?�w�^dddpp0^
mBdhP���g�V��M�c�L�hA����*U�m��@����
���ҒCл�3Æ
k޼�8d�ȑ-Z���/���?~�
+�
���ӛ���-gr����hԮ4�I;͊ˠ+VD��|�$2M{���y9`��wOKzDxx8M����o�߹sՌ�:աcǎf�j��
�7o��GRM4L@���8�J`�C=�����_�Oə3'ӻ%ok���Kttt�ΝUһy�]`z7H(Rò�6m��e�N��ׯ_
D�Ru��I���x���;�;�ZMIIiӦ���*����L	�y:k֬4c>~���9���_\nbn�]��
�G���1�w�wp8��ʞ=���ǎk^-���p�Dr(7n�H3r����e˖\n�&F䝜����o�'<�˗/ӻ�O�t�҅�Ȟ>}����֭[L���&R3�iee�΃s���ϟ;v�̒%��f;i�P�`ACлx9
+mY�)�m�6aN����*W�H����ԯ__�*��]��]�v����ɓY�b�*  ���ӻ�@���+GKJJ���A�)S�p����i������]�v�C����w///�LJ�:t2d]��ZxxxŊ+T��`��4��۷o�U�V�&M��u}�qvv�x�"����Q��/_���  o޼(�s��)Ǥ��%K��s�Q'L{�:uʘ�&�Mkok��{�Ν���#.]�LNW����-[ֺu됐P��3��Σ�7
+�R�޵}|qpp8x�8�|�� |3Z���nP9rD��y�&���a #!!�v�ڴ:��ٳF~z�f����ŋ�����W�@�;v�8ݕ
+����c��͛6m���!���	�2L�Z��9����ٳGriܸqa�c�bz7�u�R?~�������#Z��ݹĀ�O���3ww�K�.?
4��}||M���qN�
+��>jԨ�#G���|�b�(����<[��Q�ܰa����ӧ�.p��n�S�ٲeK�;;Ic�ɓ�\�N�/_&E&77��ׯgH�����@�0�iw$���W�V�jժ, ϼ�m��̽�	1�kP:����
+��_�|1SQ�w�#22E�������...�f��ܦ��;wҲP\j���Oٲe�@���I�����h�T����^��…��_$+gPz���۽{7�{zq��R}�1cF�kYL�zG@@��t�ʕ
+�25j�@�6m�pq��믤�ԩS���!���˗7�3L��ϟ?�%K<q��ᙲq1��׮]#w�
+���ϟO3���-^�HJJ�����������
+*0�[�߸q�6���O���1��}��Ay���O]��ׯ;99!Ύ;,��^�xQ�fMڸ��ᅴB���ɓ��{��ׯ_���&M���� ��������
+6�:{�|xY�j��W�-Z�P�@�M$W����������ݻw�ʕ��Z��fz��42
+�^�z�":���[�[��RSŊ���L$W�߿'nѺ-0���w��m���˗��@<�D�/_���m��nʮ��;��?~ڴ�2Btt4{;;�ӧO[,��������ge���w��5(�K\����!�pУG:&9�4�j2�����E���{��e��@�T�9r��ܹ�.3�ލ��U�V�`��O�0Ss�΍S�N�LbOII!�.�q�Ǐ7����s
M��]�d����ʍ��7o�é�O%�K�j2��09����������ŨY�d1��h�w�>{��VϞ=͂�3�+Am,^�8��v�Z�W�V���������_�n]R�U�10ñk�.#��o�����@���cǎ3�u��*�]�W��6�
+�N���9�����aZ���X�f�4����| ~�P��n���ի�9s>��z#DA�Ξ={r�CH��+ƕ[�lB����x�O����"0�q&O�,�/���[Z
+��b�M����*�9���3p�N�̙3�9iDl�S+W�4�����˗+Lά[��t*��&z5�IvF�x�߿�_��>y�$}:_�f��4=M���.��}||���1�!��^�zM�0n���[A��oO*�+&\���%K
+!��/^�� W�\*M�w�ލ8���
+ֻ�^#22R���ׯ_�t����_Ũ6������miĎ��1c���
+�������&�Ur�hPzG�m߾=�s���k��HG�}�R�&SZ��ƅ>�H�ټ�O��]lQ
0�ֻM*�R�Ә�X�zc�y��Uyq:ǘ+11\'\�t�B�G��G���L��+U�����/�d�yzz�;�Ǐ�*�ٳg[��Mկ_�&ۇb����Г3�m�k�.zW�1P�W��dgT.�DE���U��!z��65�&�?��]�v=z�Lh��R
+�^��0K&� ����B�aD�M�D�������{{{�Z;q����s@@��}`BB}����\z��
F%4�ji��]B���-%2)�s(C�;0l�0���&g4�w�^Mf��Q^��p�BP}zG�
6$�8�$���WWW�|aX}��Iڻ-��(�cQA8���
+a]+	�fnڴ)MzWHY88p �	UI�t/:�/^��i������0@��)Eki
+2���G�A22u��}��Yd���ݔ�}ɒ%9r�H�0�v�������~�<d�&s_���3�{���>|8����zu���ʕ+���چ����X��12����U�4���z�j�}���o	�w]гgO�s/�	lgg�k9uiÆ
��)R��~�tmIcz7Q�^�zu��IyU������:w�w�Ξ=kcc�y�HIA�}�j�>��у�f�V�Ly���ZzeL�fA�			�o����"<}��@���~L�u���s�
+Pt#F����ĸ��"|ذaR�/_���-Kfj)�(h3#ӻyI�:t�����M��X�F���d�w�U:,,�V,z�E�)�{
:�p�B�_�P!�g�/^�*�֭[[�,�
����;tmf�/0��_��C��!DGG�I���Cݢ�d
�;�[���$EDo��F�Ƥw�ۃ��PCл�vc�;��\鉗��.�)S��*U����Ǐ͚5��ػwo��K/N�8�!��6����W�X��#�[/��az#M����֭[�����%�iB�2�u�8~��{�F�h�YIII�^�:K�*��]c�)EDD�̙���
+��R� �ơw��BBB
���],Y��.��ի�T�6C�g�S5�w�x�xݸX��z9yL�bh6p׮]%/4o޼qqqǏG���۟={��Ya���A.h#9�����}wT���G�����9�,�.�#kD�#�E�P0c΂�9�(��(P1`Z�\@�`���;�>�aƁI�=u��=�5]կn�W]�ށ*oT�G�����V�ر#��BY�o<z��eS��gϞ��R.��Z�wkk����cX�m�J�N�H��a�.%90\R���3bW^�K~��E*��왲c�U�v���G�J=�N�:�ۡ�����ի�K@�?�D��!ɯd�H}����m�JURRM˄��pvE��Yu��=�
+<�%K��:Be�h��A;�m	ã�U�Tٴi�2�]*d
�w)p�S�t�7�ˋ�"�E��1&&&pF�Ξ={�ܹ0��_�V�\�o߾���
+�]�$��
hC�,� �{��h|NG0���aiiɟ�r���k������O��~��-Z�^�Y�����hO%'g$C�0z���GO����n�gĸ=�.�Ï�?��2c�V�
+�L1
$�kaaA�-,�N�XFA01ـ6 aД�/�I�cܡ�����1b�@Њ�=NFF�(J��+""B|u��N�G4�P�B�U�Vq�X+V����T�F��C7RNv���$^Я�yE�R�\�����4޿�
+��'��4��k`��.�fΜ9fffcƌ�NF��	�y� ����#-FJ~�ȑ��"ޚ7
+�D�Ǐ/��9_�|100�?�>}��{�����֖��$��*常8F�z��)44�S��"99�
5k�,�����p�Νe�@�:�������ܹsu��P�/0z�	�w�ޝҲˆ��h�VF����
��!;;��̵h����ׯ �~��Q�Ɂh8�����'�e����]�v��G��֭�7_�=�wNNN�̙3�m�3����MT�\9hx������нx�۬�����¬�+V����ޅE�nݢIZ.�g�HOOoٲe߾}�3Ha���h��/~��u�֤Ο?/��B�̙3�"k��6lP%���0v�XTy���*�����;w�d,�?��ЀhFeZ;##�V�>��'Ò<x���{F�P:E�	
+
+���c�f�(p�իWEV���PJ���_����i�ѣGU��H�S�L�ry���Q�֦0Z��@��-[v׮]���ݻG��'O���͛�5kҒ6��]�r劋�{�*UN�<�o�Ƶ۷o��RRR����/�?�|�

� �/��Ǐ(P�������yzF���J��E�ׯ_S��֭['$$к��ի�7�n���3�:e�+Y��ڵksrr��ACљ���+ ��>}�t�!_Pr�-��'�t��|?�
6����̘1xI-�g��
�:RSSk׮�fiҤɹs�(~{���E+,--mƌ�Z���l�ԩ�F-}��Ǐ)X�:BA�.]�el�.dʔ)�K��r|vvv.D�G�111�Z��7o�~��ϟi��Z�j�ׯ����;�)�/���ƍaب$k�޽�o��gΜ�5B��Z�P�h��ϟ�X�Ç�W�����/�t�K�4;��~ʹ��l
+?R�BZ�N��đ���ɓ���b��t.� �w���`�J^ѫW/�$ߡ�c�
��\�W@?�{ff&-�(Y�$�8��ܺu�����жm[z�p���߯'��q��&~~~��y00�,< 7775��Ç�={����O�˃J���"��ŋ�z�%JDGG�^�_�>|���!9eK�.��6�nݺ�e(�w>c����^C�N�:%���R^
+z(�?}�D�K�"E(�r�:u޾}+�JA�һ����Ӳu���
�w>#11�VP@?M���Ö��III���&ݳ��(����E�rwwth�7o�L�:�f)i�z��\s<qsssZ�蝷�:p�@��
+-��`y^ߤ;�1z�H��
hV�x�왧�'�
+��ޟ*���-3��蝟��@e˖Վ��ҥ��g�s�z%��ݻG�aij���&66V�uy����aøA�k׮⋜�vP��q��1z�->|H�ǎ��/fgg�+ݺuKd~�ܹz��,--���m�V��]�Q��ۗ�)a��ӧ��-Sk� (�6��;����wggg<��{|���X����#�׬YC����E����5>>�[�nT���C�RX<%Q�\94���;߰e�<�R�J}��Y��~��Mkkk�@x1Iw�233i�?�|��BL�۾}{z\�`��c�>}���A����k
+}̍������-��MLyūW�h[�@߷r^4�=!!�Y�f�~���V�~}�-]�+I�ji�ϔ)S���Q]����
+�z��x :���w�֩S��N�C��F������*�ĩǏ�w4�w),,L@��x���������j0.�u�`���q��;�g����3>�Ϻ��=���������ܡC�YI899���������?**J�M�D�5k֔�Ɓr%w��]@���@A��!� b�C�+Pgܿ?�w�
+ǽ|�r��آE��svv6T1�U#P�>e@ϗCÆ
ik������𤸃7n�(S�/\�phh�P,����m۶�^�%ٹs�hb�(Ѫ�������ԋ�f��޽�]M�8�ҠA�͛7���X�t�'XFE%žm�60v�n�hX�@���'��MB�����A4y�dz�0@�?�?>{�l�mss�����I��ӧO)���	1z�-�ܹcllU�������;�U�W�����Ԥ���D���﹭�������ڝVG�>}��V����ɓ�&�`jԨ�Q&7C^q��!����W@צ��Q�F�����)N���X����T�H4�ƍ�ڼJ�*�39te�4h�E{rrr@@��9)�{����f1{5�iӦ��gΜ��W		��?~��R
+o{{���H���-�{?y�kp�P/�Z�j�y� �&�����������Y7�4(@�ѣG��iii���B��w�hll�u�V�ƚ�|"�! 9�����}y�֭ٳgW�Z�n��������ɓ쵩�V��{��%�w�`ҤIh�ƍ��o%�����xXs�𦦦CSRR=z�`�Mٲey�h�p�ƍ�3gV�^��C�#�g�d�<x@�!u�ѻq��=�bCC�k׮��&���h�&�a���|��iZۦЭI���������s�T�xqܿ"K۷o�0���wܶ���1�����Z�`A�cǎ1�(П$a*�T����˗�N�ʽ0�]�F��0V�-�e�ʕ+uN�����UM��N"@��޽��$%%�����X��]�˗wvvvtttpp�_�~�ڵkԨQ�Z�ʕ+���V�P�\�rx Ւ%KΙ3G;�~�…�'R�Vn�h̘1���_�2j���;ms��<:��?�N���k��ἢw�e������=T`` �-'**�^�1�(���y�D��-""bܸq\�������׹s��S^�Nc���;]�;�����6`<�����C�b�(�/F|����9~�x����ӆ�…s���^���ill,�V�#fff�V����-[�����Z&���e#P�lh���l>[�G�
kd���ϟ?�qö]\\`�\_����
�V����xL�����uB�999p��3�B�ʕ+�*U¿�g���3�+MMK� YN�*U�����=��^�z���9۷o��.e�##�۠��iӦ�+���<88�����b��F������S�NM�>�iӦ���
+(P�^��c����1V�9:u�Dl�+z�T�?Q�'�T��SRR�޹sG��rp<+++33��Ȉ�������Z>�#�>H��1��VA�K0�p�d�ܱc���cݺu�5�ϋ�ڴi��a�.>z�CWx{{;99�{�(������~���Cx���I�x�-��}��w��C���c�$uo�V��(Z�n-�I�~�'�����pQ�\.	������ǟ?^r�&22��Օ4�l�?~�gi֬�޽{�U����t����3zg���z���ɓ�&MjԨe���A�L�2��^�
bbbd�E��++�~��q��ccc�Uat������}+�\�i|��-,,������%���Eq��yĈ`�Q�FI]�e�OOOye�,��ٳ'���5� **Jɠ%��w��B�
+A1�I���@�<�A����������.Y �r���/���v�����q������pG(���������u�G�J��L`u���ϟ?_�re�֭�ǏG���G)������ODDDZZcHA��Z��xB�ڜ���P@�/^��6�}�	�W�>p��u��������\��S��sŊs�bP��ɧO�^�~=PIn/Z�(X}ժU(p�ʕŊ���ʤ��0x���A+���w��q�L�2���:���������G��7�K�.NNN\�`I�޲e�Y�f���|��XQ4�T�'N�`��sPt�3f��N@�R�Μ8q�޽{?~�z  IO*�w�"����
+Z��qG(��Z�={�~�����@��/����;u�^z�@������Û7o��,���_�����/^������k�-�d94W�ڵ���������*�����D��233����	ʵW�D	�Lr�s��)�t��Ё~~~K�,���9s��{�&M�;-4���j߾��I�$yZ_I
+i|�m��ʤ�ӧO�Ƃ�u�*���ɟP��kԨѡC�1c�,]��СC�.]bk]�d6�{�V<���]�@�C7�U��o߾�^x(\����޹T��<���o4\&�j��@_ыB�1W>�4Α��4����oܴ��7 U&ɟ�!����͛8p�ܹ;v����#yу��(X���];سg�:��F��?&~����`ͩ�P�	&(�Ĩ�V�6lXٲeI�K��#G�(��q2-j
+
+�_������z�#�^zwqqINN~��э7@��!���ի���g̘���5dȐ^�z��������δs9��t��	W���o��g�Q���zMMM�g���Y���J��u�V���ܹs��0Wr���~4=�*�bԋ��RL����/9]Os�f��N�>}:���06
+�+W�_gggy4.��رc�o�Ν��r��ׯO�<Anٲu���![޴<Ƃ�5kb�ܶm[bb"S��7h����]kχLYYY�ׯ/W���\�	t�ڕd����
+ſs��U��u�����=|�pdd�9s$9�V�@HC��[(|�v+g$��JV�ޏ;6e�H&���Q��:xh��K��=�]�j�p��@�.]bbbĴ�F-�+x�B�бcG���͛�Jﲱed��HŁ����qc��U��bx���RtZ�R%|�g��6W\\\����nii�[�|����?�۫�z���㢖ɛ�nܸ���5������U۶m%gc����Ŋ������{�*��P�Έ��'s�!}�|+V������u��K�.��w�Na%��:99M�4�СCjL��5]���CBB�C���w��0E��D�B�w��2��g���H��˸1R�*tiw��u���M�[�_ծ][Wq�rrr���K�\.fn�-%� 2��Zw̙��$P�Q��ի'���f��HE��.�BPT�"E�zWv�܉ۃ��4�ӻll��3Rq`���e�����LI��	-�f[��w{ժU*T�7dڴiR�n;ף!�s5F��1255�ԩS�g�nݺ5E[�6��q���y��aK�ZH���ݻ-,,0�Ȓ�<W�õk��ׯ�N/�����
+.	�gz���7n7�KŖ��?�C&���č��Wq��A��;����aa�Y�h��Px76l��Ȑ=�Q�FtN\\�<�`���.	�����}}}%�x�)S���3666O</�ي�1"�Y��ԡл���P_h@�5i
+��_�� ���Q����g�0����qA]�J�R�er�?#F��_ƍ��W�I}��@o0:��I��rAJ�*�?Bޣ����+0��5k2�(x�
oܸ1}�tZ�E�C:a�%�OQw�����RZ��bbbB�z���ԂO^�/�ww�,\�������3�N�|�=�N4뮝��A�X��[��~ŗ@�������(��e����J�����g{�z��)Sh����f�ԩ���J�;7�niiy��5
+��z�!'"+�:00P2J�/���{ժUq���
p�ęa�������,4�J���e��999�*s����'Af����>�h�"�w:�ŋ�޹��ݻw�|����kk�m۶q�fffcƌ�pHH��>}�p2[��ˋ����]R��ҝ���A��JN�����Deʤ/g��5Z��qV�fΞ=�͟�ȹ�Mu��R`$�9P�3g�����111�yn�h�ԩS��ʽGc��|���ʜ��]��S��\3d�/^��ի��AC��Ib���3����͑���kooo�ylذ!p>v��Z��ݻw3Q0K����
+�B�V�TIC��1|��CCC((�m9����oݺ�Q�&@a�۶m+h������R�+W^�~=�-�^`�T���k�7F��]�V����֮]�:QϞ=�͛���}dd$cc����)R�ɓ'"�|��ƍ��l8�.di��ڜ�i�&F�BTTv���U
+���WH��� ��(==��ΎB�>}�q��D��ﰂ�ׯ_������������Y�2q��E
+��<�0zW;(��T��^�=&&&&�f�Ҳ�M�
+����@�̪Ϸ���R������`����D���ǽ{�?����y]=��]�HHH@������铺����������4j�����?4�(Tq�7o�lР�F����G,]�4<<�q���[�m�6t�nݺ�.]�Fj???eV�	� �!�Q_SSә3g�ݫ��x���'�?��]W�P���W�^���S�N�$�dQnvv�ܹsAJ�i��Ǡ$7J�>|�0|�p
+S�r刈�y��Vf�*�w
����FFF�������	߾}[�p!-*�W��ȋ�$/���J�,S
+�]pp���'��:0�VNNNvvv=z�������ù����׭[�ZL���+F�����.0z�f̘A�Y�2R4lؐ���]E,/Β����J�,SX��-Ra�x����%K�*T�2�^��9nx�͛7���z!�w����(*mmmMS��Xyq�r�`,�I6��/��͛GI��M�O�>uuu%ߢE� ���GMw����]WشiS�FX)�\��+ԪU�͛7�NSgI�_��M��@�e��̙3)
�I��ȑ#�
�bŊ���Ar�����+xF��B�:uВ�l����000�1c�b�U�Ʋ��dc(��Laa�ĉ����$�����&M��p�s�N� R��S(���7a���V��e��;
+��'OhY{�B�"##Y�������m�233=<<�<��^&�Wl۶��{��
�w��[�nhƹs�����������ի��↓=UsS�K�a�ƍ��E�o߾e
���:dZ��YwF�����ύ��`���/��ccc<x�Lp�4������e&J^�…���*T�p��U� ��f͚�^���]uл<ww�|\@;�nj��R�A�L��ǎ�DXx��1055�I�y� ++��X�|@��Uw�h�fLLL^��7�P�6l��m�c�+�S���q�]�t!7�٧imĈ��c���z�k֬�=�l?a��"��ߏ�S�N^m���
���8p@��-Vz�e�6m9*TH*�2�PD[36oެ�����m�	

Uݙe��o�l�
��V�K�9mڴ�E2/^��m����ܹC{!�”C�СC�D���@�mA��V�ѣG����a��
+<x@*Q� x��锝�T�R׮]S��===����FF*h����K�Dxx8w9B�b�h�Brr2>�lQp.
+.L��x�8h��ȑ#�y����ܷo_f���ҥKi�^-�-���ڐ+��uooo������<�����7G����D�����i5�l��1U�T9�����R���c�������;bĈ\��V�.<z�(��=++�F4�<�}��)���Lf���L�i(�0������M����*����=���Φ��J�q�n�(a+V��>�­��
##4߂�@tFFF��~��mH�����%K�T�-��Ą��9��ҫU�w�Z{۶m�V
+"���[*-���椦�2z�!BCCiC���N�����T�uI��5��d���?�R��j�
+7ֺukyEU�ZJF��!�={faa�;<y�$wp׮]��JhΠ5PFZccc_5��t�%y�����;wF�-[�L�O�����c���$�ʆ��
+V�'��R�o?~\^Q ������3�w���ףGɃ� �q\��N��ou��
��q„	�#T��r0z����


al��@
n�ر#E��S"-%q��a����������+-��e���>���H��ťK�(�����U&���aɒ%h��]����޽{�L(�w�vS;�������M�
+�x)a� D���hт�r�l���O��V���M�2E��2z�j׮�v;r�2�V�"EX
M !!��ʊֈ�;�ѣG���yݛ��O�~����x{{��^#G��=��]���=��������-[��fϝ;�M�HLL�d={�T�q��hΜ9��M�@o266.P��/ŕP�ꘚ��=�:��|`���h�q��)~d?�'�u��͛7�;�{(e��aQ���0�zB-���������ݻw�R�,Y�����999�x����˗/����ŋ�S{�S�N�	����߿{zz���Ç�f4�4i�T�z���0�OPEZ�h������󊈈ʻ!��ϟ.\�>�5��߶mI���#=����i\0`�ǏY�
+����.rРA­Epp0��~��&�g��W��b������/_�4jԈ֜���jđ#G*W�L�7o��_9;v�Y��%K�f�V?q�֭B�
+	7pl����/�*�w��`�"E
+(����\O�۷/�Z��2��/_^�Z5"�
+*�ڵK�M���7�2d�8q���@�n�:<������IXw���;J����_a��'���~�-�oW�^�o1"��
��!--
4޻woJ�G�K�1�+���o�-ZD�ppp�Q�%��6��Hβ��IŒi?�D����	=z�@sAO�~u��E���e�`�O����wvv600 �Ňv��9r$���o�ҥ�����o�~�ڵ���g�C(�|�2�]O��Z�s/[��˗/5�C�ޕGzz���9lI6���ϟ�!�%Ǐ�7y�Ö|��=��'Onٲ��׷gϞvvv���zk�֭W�X��=
+����s��:q7��W�^���ۻw�K�t�^]H�
+�����(A���Y\\���ѻ�سg-���}��~�&D�,�6�ϟ߱c��ٳЭ[7�N�{���u�ԩR�
+�AѢEi�~��H�"%J��������V�Zݺuq����m۶�ܹ3�>}�4hĈ����&M���3g�4$�ʕ+ׯ_6޾};�����aaa��3g���ƞ={622�ĉ�����ߵkWPPЦM�֬YO%L�8�w��͛7�\��$�J����3u�T������1zٲehz�%{{5j�@;�5j�…z��� P�G��5�����S�LM�o�nݺnݺ�������ӧOGێ3fذa����ϡ�1������O�bŊ�)�����(83n�t��qB�&MZ�j���ڿ< ���۷�cx�ćJ�,�g�����;w�||ͽNe��?�
+U��q��bŊ=}�T�{��]�x7P�~}"m%f����Y�&8
�	����[�x�h��→V����/���R�!�I1X����o���m�Fa����?���Çi;�J;���]I|��	�Mjf‰کw��':)�Y�Ă��q����3g����r��.]��������/^����[8�������[OJJ�w��͛7�\��	�)~��R�6l��A�/X�����i�`�^^^p���[����9۵k�iڴ)�g˖-�l!)9/`���Ш�ǏG	�/		�޿_'�\udff�m�Ph�5�d<
+�gϞp���Bk�/ZGp�o߾C����ƍ����5k����#��͛I���S�N���~��
�,�?~��5�`FF���HKK��܅�+���B�m�C�׸�h��]��۷���s�����ۊ����~p�h��\-F�J���8;;Kuy8�\~O�X)8�Q�`A��bXE�@��/_���3{R��ξv��P��NNN��/U������a�.>###T\�4���˗/1�v���t��.�w%E*bʔ)8hoo��e������qh����[�n��g�+>~��v�Z�x��
<�+y8���a�xuW���5jԠwsZ�;b�����(��d�T�Ȕ��ҥK*����B=�|��pᵰbD�X�`������x��爊�j۶-�V�f�D�KP;tISSS��.���z��Q�_��P�ޕř�c�|��z��8Q�J�߿���Ӓ%KBq������[�j�nݺuJJ
+�Z���Z0&��K�(A����n��{��6u!<<�¤[XX\�xQ�]�W�^�|w�����@�+���ޕmC����L�6
Gj֬�J��ϟ?����T̨Q�T��:t(J@��U.�YLL�[�6mbcc�HΪ_����Ƅ"�Z�ihS#`]�����^�]�ڵk�M�枠]~ggg
+Q���K��U��ʕC+q� � �aK�.ゃ�m��2Y��K������$|��&L�;�f͚�'ʲ�رc��̸�h��R?A�n%�aH^8g���AZ��j�*٫��$����!�hѢ�#@'����yК"y�`�6l���ž]�&�����={F	�*T���h���եhI-�G'�Sf��ڵ+
+�T����dy�Zp���t�?��fkk+K2ǎ�~�����R��񟰷�W@D�~���R/�n߾͵���zw��P�F����+W����H�j�p3G��*?D~��X�b�EN7>��EFB�#OC���F�B���KI���?4թ�5f�V666�X����0zW�͛�&1b�K{��U�@5w�\����&P�5C��hР}[�~���x)z���C

14��022R@�;v�͕�߿ǿ����>h~I�K]%K�?A;4鈉�	ݏ��=OC�����ٳ��6dG(ڜH��e��`h�uU���SE��NNN� y�ZFDD�{hѢ��s
+0z�%H�C���9=K����ߟ�/\����<yR]79x��Q�Fedd�=z֬Y?$RWf̘���r��O�G������5k�w�^|633��q��y�ɫ$�Y�\)-,IhU�V�����=OC$�����H��dG(�9��\��^(5jB^�1���A�}644ͫ�E[�l���}�����=F�����=
+^ԪU+U�lٲ%
+���>߾}����ԩ�U���cbb�[|�*������?A���E���.���޽ÿ�`x�,�i�WI���U��koo/9Տ���¢��Z����0Ԩu���F�\e�6��P�8q"n`�����`uJ�r��)��"�#fÓ�f��:
+�Ӯ]�?ߨ�?��w���w��Ν��+�p����
I>�#�C$y�kq�JIz��B��P��K�Ь���-h�S;�WZZl�2�nڴ�?�p��i�娈���΅�N�g�SU
+�B�̙�ږ�П!�cǎ"�����Z!���.\�T�-��۞���p�X�X���eZ�p��}j(Z#��SRR 1��9�������0�-[����Us\��P�kGGG�,�S/��_�Ŭ]�/_F�����9R�\�4)�C��+uֶ:Ǜ7o`�зb��j�*T�s�Κ(��˗��'%�:u���D�������ՋY�,���(�Ν;�E�*{T���W��J�򦒅(��͛7EY���dHk�O�;v��zkk�ӧO�������L]����*T����`�MLL�]Eaj�&�n߾�M&���u�[���:S�&����͛��לMj�۷G׭[�����i�/���I$�AYN��\
+�>}¸ohhH.^�*U��æ�����-\�0--�;H+�w=����Z��7o�6y@C��žo�[^�]�&}}}�^����h�&�����\h�߾}�8H�̰t�R��vݰa��L'O�D�4nܘ^���
��:�
+��;m\U�5k�2e^�|y��Y
+EA!�6�s�JE�� �^*
+����䅚ɵy�.hz���Wzf͚%i�+V��2���&y�������kUʹr�
+mo�e䴑�� i*�������СŎ��q�%Iޛ:u*��.]�:A-2�S�N��=zx{{׫W�رc�\��Gn�f8H�W�F����NX����Ρ��M���k	Rql�l�B�L�	�&e���m߾��m�?h׮�*Y�߿���A!�Ѽ�[��	���Oxd^�Q�Fh
+
�{����	xyP�L�={�ܹsi��r��}����.�{���p��� 
+
}@9��=����Ρ��M���k	�ql����M�F_)����I�`��Ũ�СC�q-��%��@�i3��Z���,��������G�0�rLJ,IA]2),,��‚�P�#G$y&�80���^x�(4�%���׮]���O((������M���k	�ql@�\h;%òi�&���W��^�AS ;;{�֭\fL�6���b�i�d�
+�������7nT�(^]2	��~M�J��={&�!������J�B#����l̘1�BA	�|���M��������J�C��l
+��6ܡA�+��%%%��䌌�իW�J9�vn�)h�nWb��'O����E���%��$�C����ZA	?$���ݙ�a���&�u�ڡ������x�bkkkj�Z�j����/3&@��֬Y�z�$���j	���gq	t�\�Xm������'�o?|��nneeE�ШQ�Çk(ؾ�A�g��:X������)#���KL�3�ze�w�ޥ�k�+ա����{��ijjJ-���GDD���{<22�<
+�0@]eJ	x&��&�El�`up;�H��o߾=e�:B��\]]oݺ%��SZ.URB���՘nXR,1���7/z��޽;�oܸ1W��ի����x�B��.W����|�|��X��z��<��|S2"�ɗ/_�[��[�H�tF�ɷ�욀T�o߾Q�瀀���%KKK&�x%�Ei��>}:~��رc��D��%K�ݻWŵpBXUË�:III���������L�A899�������jTT�%	�&����Mj�&oݺ�x��-[���pEa��ի�&P�K�g<}��)�"���s�Ε|����_�V�Z��:88$$$0fV�&�̙C��=�ؔ��Sl�h�7oBэ7���/R�w���!�ٳg_�p��|�/tl��gj�ڵkh�z��	�x�
4��ڭ[������H�0������پ}����
E�������ƍ�M6o����c�ҥ����0((vx=>>>�ѥK�&��p�v��aÆ���*W�<dȐ}��嚧�aÆ8����zb��A�o)�*�0"Sʼ��hF,*"==}���Ԥ06Q��M�-[600�q��8qÅ�+5�$���{���������U6l�;ܻw��3���BϞ=UL�� �۷o/^
�i�&���I�ӧO3rV �.��uvv^�r�s���qɒ%�YOL���5J��OA?�s�3����"E�<y�F^m��1�d�b��٪�����qy۶m��)��@�����_311k"`��r=�OwP�Moݺ���&@��g�ׯ_ǵu���k�@j
8C2��ۛ����h���Xk(o���57ojj
+�LII���y��
�N�%��i{�իW�x�NNN���������ФI4�3gXSȃd�]���˗3�ho>l�۷op�04dee��,��^�P!��G���!a��
+(ua�ر��E���(dS���CBBT$O��;g�ǎc$�9t��5�6I1X��u�˗/i��o>))��аr�ʌ�5��� Ur5�A5EFF)RD��l��Ɔ1�F���6�����âxb�m�Ҳ����S�^�޼�@�
�3��w</	�w��maaA˒��9sJ�(��	���p��* ϊ-z��A��K�Dxx8w��
+.�%Y����ϙ��Qv�\���(dРA�-EEE�`���…�m������СC��[�nEM���/\z�,�����322d'g��/�V���)��z777�͡��o��%�^�r�R�J�m�*U�����BG�W�NGd��9ǎ�~������s�U��B�=��!�U�
k˗/�w�9r��$��w��Ν;��;��휓��m۶Ν;K�/Qh?::Z*4J�������T@�;v�ptt�[�����N��'�D����P�FFF��t���T�U8���r�.{��=3z�?�SPn�d��9z�쉚�ڵ��;C�ۙ��r��8mϞ=��3�;7�niiy��5��<��?�B5k�Lj��	��(Vr���B%K.t�[�U����9U�VE!��`��zГ���H�	����K;P�f�\gN���8��E733�%�t$$$��¢O�>��Εi��M��{�N����r��HXXXɟ�s����?�o�>yW�~�=�
+�߿?�w�{`` �7n��{.p���;GP��!;[�ju��
��8pW={�l���e˖566��A��l�@��Ň�����L�\�~}.Ɨ�/j����� +����PNQk�j��4Gﶶ�(����angg�ϲ�C�Hp�B��l�"���i�^��9�T�R�޽1���7l؀kG�!nn�
\Ŋ�����������2~�b���.]����u��YhW�^���ӧ�3���2��!��J��{^�bx��݌��aذa�,�#���xxxH�$�㑑���bŊ�[��ʜ	?׬L�20T�{pp0-�7�Ӫ��~��ѻ��ddd�3�W1��b9ɗ;v������Ǐ�l��;�'�L��]]�]4Y��w42����'$���۷OI~�������w�����ԩ�m%��J�bc
+�I�>���H��nS1�:��}��;���Lѿe/�l�J�;��'�Mz��"����ѹwڏ��i�[ݺu���3gΐzoҤ�F�����4��Cz���]�t7�w��Մ���]ɹw.��H�<9e⦕�|����&g��ݕ�{�������ǏON>;::��ĉ���L�M��wI�#�����~��)\ۦMq�;�$������]I����J��~�zeԻ�(yY�N(V�������?��;>������Ç�䌾M��G���AAA�
+͕�s������&LЂz/Q��w��ɓ'�=	7՚N�ޓ��MLL����5��wI�۹s'���s�2��k׮^�z"{���]IE�#pvv�DZ�

ňP�L���(��;���ܹ3���	(Oǎ�ޕ�L��E���#�W�������feeAo�C�r&�~��U٥��lg
-�d��h6����'z�7oN{�5�rfʔ)����]9��VǍ'�$M��wx�\(3��ޡ᭭�!��7�u��L��νK�2���\I�	x��;-��,X0""B�c91�^��=�����
+���U�X��͍��޷o�.����RF�9خU������x�����C�F���CCô�4F�jigy!��3�0(����X�066�W��>��6�Y6 0�w��:u�X�P��$�K�iPDD6�*o�5k�d�Q�����&gϞ�k�W�Fح[7Aoh"�d|ځ����
+,�v�J2�Q�F��իW��������e����Si�X*m�@�T�����Y|x���74qprrB]�3b��4i"�EVڷ��˗3�t����$m
+;��(�oٲe�]�޽EP���Wt���t��\�el��ݝ��F����&+V�����$J�k֬j��~�%..O�����͛�X4�=z�Zڶm˚"O6ill�u�VFŚ���K�m����#L��^�~MU���$�6l���͸E���E�y��)k��ڤ��}dd$cc��ֽ��&߿�ˋ-*J�[�~����`����C�z�왙�ɸE]�}�v���Ѱ�6mb��?���<}�4�du!((Į�M޺u�V����Z�n-�%�R�s�;L'������N�G��&���?E�
+^�6Y�L���@�̪Ϸ����n�
�e˖�3����h�l�q�F�
(�Q�n��:䂖���7���۷{yyѻ'??����8��d���=<<�.]θZIDEEA�����G�.]Z-6�r�J���Pi��M���s�΅H�Ub����4��������(Zu��3gװDSʠR�Jj�I;�ɋ���ݠj�֭q�JJJ
+���tvv��J������ֶG����PMlBF�6	�l�6ٴiSQ��^�b=N��c����2XS0���ނ���*�����k����/f�:���/).�*�n�y�f�СCE_�/^PX�U���U[�l�gJw��d��'���Ǐ}Miٌ����ꕙ�I�EźWXҝ	x��J�r�����e���"�%oР3f>Hw&��OOO��&��25]�v���թS'�kɒ%̘y"ݙ�g�	���O�bxx��kZ�fM��…b�ԓ'O

MMM߽{nj�'ҝ	x��dɒ0�gϞ������
+(T��ȂS͘1��o߾̒y%ݙ�g�9޼y#����NZ:(�M�����Q���f̼��L�3����0�f͚����s�����ԩ�,��ҝ	x�b�̙�@OOO�ה�n��Ɗ�R��d͚5̒� �'N����ʕkժ�:�m��w5߾}[�@ss�,�T���먔��ŧO��%�V�/\�0---99�K�,��bbb��-�<��q��]J�,���@M���T)777R�̒u%�����������1w�<������a��}Mǎ�������F��ߧ��/^�`��$&&�:������ׯ_K�}�6k.m�I���a�;�����a�P��Ç3K����<���0�:��U�ַo��]�k׮�����_�~G���MLL�ޡ�%�
+���0�Y�f��`��|�R�\9������Ǎ3F45�0aj����,�o8t�M۶mYS0�
+�-�֯__���PA[[[T�ܹs����W�P�
+\�~�Y2����k<��~������G9+����W�ҥK�Y4sP�F�B�\]]�%��[��Z�z5k
+-��Ԭ>xh�Ʉ	�Q�����'�ݻnj�����u��eM��h"��Evvv�-а���b��#P��˗G}/^�(����_�Έ#�1��Y�J�ReMm�*P���7$$D����]�HOO�=�%J�HNNև*��Ġ��*U�+�����Բj�����򷡘��$22�H�"L�3(����)�Jٲe�ܹ�'�=z4�<u�T�#����3g�f�<GNN���C��s�������K�!�a����(K��X�\�'xzz�[�J�r�-ʭ�;~�x����?`��…8p���^�sƎkff6�|y��r2h� F��BXX����x���:%%�711Qա]<Gxa̤����x###�_PPP>����ʣw0���P@���������
+p����i'H�5����\�~�o�T�r�'$:R�zu:"{�9v����׭���S�Z5B�#���.�L���W�i�g�6mDP���TTg�ƍ̪��-[���r�7O��Ztt4�V� G�&&&YYY���
+�}ǎ���u��H��E�2��?���1Bq��SSSyW���~]��̠<����N�
+��f,X���+D�;U��ٴo+""Bա�9NNNz�E�y��������$I��ܻ���k� ���H�f͚�ݻW�	��(VҴ0�Pɒ����w��!{NժUQ�d-�L��ٳC�ŠI�}ĈR�> $$u�]��^�^�t����~zBB�p�aҤI�۷o�d>\nr���z۶mtpΜ9fff���3r�>}�p;W��6m*�Ӓ����Τ#aaa%<̝߯_?�ܾ}��]%�A��2(������$VO�>
����VU���^�zU?�aÆhx�"x��Qf�ő#G�/N���ϟ�VBCC9E�9��P������6l���vtt���F|�iӦ����h�ҥK��E�u	@]*W�����xR��ݽ{w���jY�Lew����]y�壢�֬Y3|��=z�������W�^�|y����r�…K�(Q�\9t�Z�jA4:;;��矸�k׮�{�4h�ȑ#Ǎ�������lٲիWoڴ)88xϞ=�:~�8�7H)&&�/�mܸqժUK�,�={6Jsrr*S���T>G�;H~ƌ.\`]�K�.�H����cP�>������?͛7�m�F�-Z����@��w����5
+4�����X���аJ�*�Z�:t(��p��C$<|��b:�}�V������ݿ�Xń'N<�P�B�dR�R%Bh����gϞ�����}������O�<����͸��s�΁7��á ,ϟ?����ׯ߾};11g��j:m�4ڷ.	sss��aÆ-_��p��٫W�޻w-�����RMKK{�������*h����p�'x��aR��ׯ_�b��9s���&N�8f��� �֭[ǎ[�n���iӦ m������8������s���P�;w�o�>̣*�m��^�Y�f�"0N�{���o0$%\rcccY�/[�l�5pB۶m{���1bĠA����ӽ{�N�:�i���ťI�&
6�]����}Ŋ����-�ˍ���!1����������u��i�n�Dۂ��2\]��oA����8\-�]z�N����%�m���fʊ1�����׻w��ڵkʔ)xeʔQ��O���
+\
�V�Zݺu�7oII��l�ƍ�ׯ_�V-�p%��N`������b��;P;nS��ѣ���_.'�I�F�y�#�����_��\'�r�̙����>}z��%h�…'O�ܻw/HuÆ
AAA<v��)�N�������>�
�&��U��%>�<&&t�������ބ��>(�ݻw���nxٲe�po�J�Z�`��!�u��{���Gemmm�����X@Pq�
+x���č7��ۗ�Y�߲e�n3]fee�k׎�gȐ!���� I���v��#Z�(u�l��BX���%K�AzA��������njLx���4x�/��*U}fffǎqŋ��?
�� ?h��˗�Ve/���#U�Ci;\\\]���8Z	�g�F �����a�vvvč�V���
�m��uw��MU�84�������Ϲ^"�G�=�����H��x���m�=������@oc�ͥ}k׮%���ѣ|�� ?����@�$J��]*T!z��A
6L�U���hԨj���]Bľ}�h1��}��)j�C�T)GA~�����4J]�k��B�9t7Y���"\�w��|@�1�/^��6l���u�������:j'�p��sss�OVϟ?U�W�?��Ċ�۷�rM�JLLį���jSi-�×/_�ԩ�<x�pk+544�w�e^aԨQ�;v�诌?^�S�
+@�T�(�/a1��?��F�%K��� �}��(�Zs{�322(8����Y�����x�p̈́�|����DG��(��@�[�֜.B�
4`M-><���#
+�
+			Ŋ�$8,������i( ���?��رcYS�_�~�����p;u�$�����߷��F���/y�A��������(�r:�ڵ����0t�P��d�J���ӧ+V$�Ur�2���n�:0*����(��P�ti.�����۬�
JNghh#�������M�
+��0�/���C�y�r�T,'%%���n�…\�Z8�
+022�����V�Z� A�>c���x�R~d���aÆ�G+e`"�~�jbb��z�`___ڳI$��p�N�����?�����)����x�7oޤ4
,�>�jժ0x��L �%S�L�4��"v���Edd���)��������LOOg�Aо}{��ѣGU/������@G����H�8q�EN�޽;{�ʠ?�|AAA�%%����@q��]J\��@��ž={(Q�a�t�ц�Aˠ�F�Z�@�3�.D<������s��B\>m�42��S�
+t�>����}�v��&O�3�.DDDDXZZ��5i�Dps�?��
+X�|9{�zx�j�wy�Iw�a�ڵFFFxvnnn�K���ɓ
P�_��Wb`"���^�s�Nu(+��t�~����E�w֬Y��ӈ��������,~;�>�.�
Wc�R�Iw!--�������q��֬YC/R۷o�6.1�9h��ݻw�X���g�]@x��iݺu��J�(!��������#���ۛ-�a�s��\j���Iwa!>>�T�Rxd5j�x��n����$T������A]HNN�B�𖖖L�YYY���4�ѪU+a�i@������c`b��"@RRRpp������3��fPNNN���=z�������bk��{k׮Ms>>>�Jl�^ЬY3ܼ���ĉَT�#;;���Ą�,
+�ˠ*U�$�oÆ
�Ӑ222�L�BQªV�z��9a�����)����Mdd$c��ƍ��h޼����ҥK����aPP�۶m�L�֭
�(���[��9MV��A����ԳgO�p�X�G��&]�L���@��*�ĉ���Ԥ����LԤ���;������]���˗t�߾}[�~=�~�t�P�1��J�D���r��iF��BPP���6m�:t�|ccc___�[|F||�o��F�������njā1c��F���H�����ٳI
>}�T���$<<��ɉ������͛����T///zMP�\��2B`
���
+(�ŵu�V�ƚ�|"PG۶m�G�G�mԨ����ҥK��<fϞ=�e���h�ĉ\�G1Iwwww�Ú��755����"��:t�~��D�`�e˖}��Y@U�3����;;;��``P�V/_����P�V-4�3gD@�����S�����ʕ+��6����nnn�ֻx��[�la;D������ԏ;�HXs�ڵ+�dѢE�5��_�����/_���B�
+k׮�f�/^xxxP,b�S�'Of�D���$CCCh0�����7(eڴiB�'O��߿�…��mmm7m�$��1�߿�2e
+A�>�����3���7�V�Z��5���x�����/\�0v�X
+�E]X�d���%���ϟ?��&x��z�JLLd�A�A���5��˗��u������3f̠}�5j�!=z$,�~�ꕏ�mS��K����30zg��_�x������Z�����/Z��^�z��+Wn���׮]�Uc�2d���)U�S�N�n�b����;�����ٳ�����_�>33��x��.]��(Q�c�bŊyxxDGGk;!**�C��*��а{��.Y7g`�Π+z?}����N�Z�T)�'@�������0oo�f͚���IƷ,X�`�>}�=*��h��={�888P]���nj#��!¥�����o߾x��E�Ag���%s�d߾}t�����k�G�o<�B_F��������W��z%��|�Y�J�z��
����������v~²e���{������Ç�Y�&�Z��ԩ3r�ȝ;w&%%	Ԁ�<y2k�,.~��y�0������5z���A� ����m۶���;��hѢ�jժU�d�ʕŊ���q��~ׯ_ߴiS)z�-�;~�ر�S�B��)S&44T��N�>6l(;�o�Pjj�͛7���J&L�ڵk�������
+Ǡ���2}����pA'�F+�ڵ��
XU�VݴiK����}z���QP���q|�̙��q����A�+_��q///z��5z����={(��,֬Y����˗���W�^AT߹s'>>����gΜ��GeCBB6o��4iR����a��a������_�)�t�"ϣ5F�ͭ���6`����h��AW�N��N�G���R��3m$���C�b���I��K$�4�׬Y�Z�j����@j>\y��Px�@}�/��t�ʕw�މ�P?|��z�j�a�ۆ
X:u��;\��)Oﲗ��ѿ~~~����w�x�+�X�@M�{���+V��K�ɣ^eʔ���i7l����ʿcǎ��}��6l���g@@�޽{��߼y#V�LNN޸qc�6m�SJ�(1~�x��r�� &�~��y��yժU���e˒�χzchmr&++kݺu��رc�&��ϟ㱺���ON۶m�$;;���޽���:�>k�,�����qE���r���ǎ�;w��W�_�|Y�b�,�7o�\����Ç�/vrr�^����v��)((���b`�-�8p@r�Lppp˖-�Y9i�z�j\9�$W�ԭ[��������vΜ9�[��3S�L{�d��ӧO�-�b���h�������g�N�0��*T�{��w����]F��^�^�X1��
*�''����%p��Wj�{�ƍ�����Q����wn&G��;ġ��YŊ���t���6o�<�>1��������6�С,��;F��}�:tHX�A��]�
+����̜9�X�…�4��ϟ��1(s����v��P�g�����;�weB��{�nʔ)=z���=x� $$��˫F��Δ�����w�����k�
��C��?�d
+w�·"""�ΝۡC��VE��ܹ�U��޽˺�v�f͚��5
+a��P���W�\Y�fM����V�*ֆ��]]]W�X��^�	J�W�lY���p��I���ãG�b��ׯ�>�ȓ͚5�8q�}��<yº���RikM�
2��QXXX@@��yÆ
��ͥ�$�x�W�>p��u����dzmG��]�|9#a͡V�Zh���Hޚ��/_�ܹs��	�4|
77�-Zp�F%Q�\��m�N�0a˖-/^dK�x�1cƠϺ��3������P�|�z	6NHH� _�z��I�z��Ѹq�%Kʋ�`ccӺu����o޼�…,����166޺u+�bM���<٦MM?ʴ��G�]�t�رc۶m[�h��ɓءCpx�J�
+*$��MLL�V�
+&>|���_HHHtt�300�noo��X�����5����}��������HOO���������?~|��-���}���ݻwC<�X��������9d�77��;�h���ѱ|��ʄ�׬Y�}��#G�سg�ŋ_�z��30��;;;�}��ӧO3NV���h�}����������R�sڪ�
�����1����Y;��\D+�˔)ȘY���.]�H-������C�[YY/^�T�R`�Z�jA���矝;wvww6lظq�f̘�p�•+Wnݺu�޽��)..�[U��� 7o�lР����c�ҥ��ጫ�DTT����O�n�J�.M����{��mjj*\�ϟ?gfffgg�����6�3g��R���A9@rK�۰aC�T����WHJJ
+
+
+���tvv�С�m%���dggףG(y���������Eendstream
+endobj
+3349 0 obj <<
+/D [3347 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2125 0 obj <<
-/D [2123 0 R /XYZ 71.731 729.265 null]
+3350 0 obj <<
+/D [3347 0 R /XYZ 71.731 696.359 null]
 >> endobj
-2126 0 obj <<
-/D [2123 0 R /XYZ 71.731 718.306 null]
+3346 0 obj <<
+/Font << /F33 1116 0 R /F32 1027 0 R >>
+/XObject << /Im1 3286 0 R >>
+/ProcSet [ /PDF /Text /ImageC ]
 >> endobj
-2127 0 obj <<
-/D [2123 0 R /XYZ 71.731 718.306 null]
+3353 0 obj <<
+/Length 2457      
+/Filter /FlateDecode
+>>
+stream
+xڍZk�۸��_a̗�����G��h�$�"Evw��(�EAK��$*�������q��3�2E�ǹ�>4�"��b�}ёD�d����~��*t+6nɦ������q�8��.^<>-�qL��n��#rH��c�����j&W�(	�;b?��xy��o���y������ݣ?0���x�oʄkFBE�"ܓ(L�T�\����`�ڑDK�?,��(X��0X^�Tp�I��~��ݷ��M�$9�/l�����O/���g��+���'|��a^����(4u��/L�˫h�EJK{�{Def��^�,���I��8KV	Y�ݳ�(XY�¥�!$�W��i#%�ɯ(U+&�AkF���WX]U�
+���BPe$u�C�����T^�O��kwY��������V5ωS̜H@��<�won"`��I�2��i���vɒ�gN���@n�sӾ�P��+k)r�'4�b9Kk�t���t{	��)w�}�?Ӽan[��s琧*��,�2�w�9���͘J%?1��Ih||��1��ch��^��E��L�݋&�y5PD��x/�X�@,s����PQ��I�����c:\�Qhx[i/y��X2�о��Gz�$J6����A��Ee�#��C���{�3���Z�Ϛ؄�p�Μ>��Oeڲ�+�\#�ٹ�#J�PX�htu������C�,̺��F'r:ZU���� $��0V���zB�����E3���o�,:$Z9wB��OB���L���6��Z����W9��|Fh
6�� M��g
X��$.Ou�<�$�w.��Ok��#W�wB٣�&f(j��X��:Լ}]TcHsdA�K�>nP��&L[!xK� ��s#)P��h����@v�>����ur�Ks�~�Zv�)o��D`�!�>�:�dOM>��'F�"�tKӔ)����5��#���1L��o'Qע�a��*��/!���#����G���QmUp��1Ȓ=�E[PQ?T_�Cg��ֲ���Em��T��x�2^S��UST^o'
+���QN�Z26��i�	C§��~�Ȅ���ĩf#_�cZ��H�ѩ�UT�z��փ���e�p�3�Gq%���X=����*c��ns�[@xQ�	e�[���5�O�iu�5�/�N�T�,:�5�b&]h�Mi`����2��14��My���2�h$N�sJ��)��S9j䥼S}3M�п=C���皁�W�U
+�R�gs1�:�N�a�w'�t3@ؘ0́]�n�զ�d���Ђ]?=0lu
+��=��3�b
+�a�%A�\��Ts{z���H������V/E�������M��M��e�<#$�f؊d��"�v�^��R1/��e��ȹϾ�΅hӚ��6X�B�&���l:�.y�Iќ/��C',,y�)��»$չ�+�����_ڳ��3
+���]��'��vގm�hF�	'���X�߿��'L�}��{���1 ���6��C'*�~~�$a���=�x��Ae�iK�)>nI�_��NH�����_(��UMߙ�����y��'���K�&�r�%8$>Ʈ2޻��=��$�%�p@��9�z��,y;&�!X1	L�3�p�pb�f�`aL�m[�J[C�l�Qմ�A�	H�F7�n�o]�>4<c�7SC�߃$x�0��cp�1��0�ٟݢ����EDŽ����+W_��yĨT���mw=.��!� �b)7�u=LyTA]aP_I^�z�1p���yc��*)�&�s�ۃ߾��yPŒ��qO�٪���ی�'��
+��a�x3Vrgx�[̽P]�~f���� ���)���������B�ᦻ����?U�S���fB8�_ư���>�泐@�5�Q�����O�W�-:�[՜
+���j�pT��\����4����r4��.s�jv�-nv����e^3���VP�?3)
��;+�R���&��(~$� \Da@v�h��]�鬱��n���F���Y�#���Sg
?��g��gm:�����Z�Gyn`��4R�����x���
}�5�+׻�'KL�̂��1=XʚTf��fڗ(ô,������4^B�y<��Kg�^p�V)����Y��˭���^�L{����Ľ�5;~�&�Q��v!9̽�C��kfM�h��Y������n�=�ּR�!��n��3����hp�}
���*%�v�sn��3.du?��l�!J���f���0����Ýs��&sm#Nվ�a��̀U�d|F}��<�':��~�6��8 �Cx?�Y��%Z��,~�g}?7�l;�;�S
+^�
�Ő2'�u���U̪�캊����[�A�ٴ����}�%���;mU�g3��
}*αռ��M�}���J|%a���=��R��DSef\x�m���v�bC���8^�|�*��D*��dL3���}�c��~{ �p���%�?CH�	"�Ĵv�ܟ�O���Xendstream
+endobj
+3352 0 obj <<
+/Type /Page
+/Contents 3353 0 R
+/Resources 3351 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 3285 0 R
 >> endobj
-2128 0 obj <<
-/D [2123 0 R /XYZ 71.731 675.303 null]
+3354 0 obj <<
+/D [3352 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2129 0 obj <<
-/D [2123 0 R /XYZ 71.731 675.303 null]
+606 0 obj <<
+/D [3352 0 R /XYZ 263.164 705.748 null]
 >> endobj
-2130 0 obj <<
-/D [2123 0 R /XYZ 71.731 618.516 null]
+3355 0 obj <<
+/D [3352 0 R /XYZ 71.731 693.31 null]
 >> endobj
-2131 0 obj <<
-/D [2123 0 R /XYZ 71.731 618.516 null]
+3356 0 obj <<
+/D [3352 0 R /XYZ 245.796 671.237 null]
 >> endobj
-2132 0 obj <<
-/D [2123 0 R /XYZ 71.731 587.631 null]
+3357 0 obj <<
+/D [3352 0 R /XYZ 71.731 664.099 null]
 >> endobj
-2133 0 obj <<
-/D [2123 0 R /XYZ 71.731 587.631 null]
+3358 0 obj <<
+/D [3352 0 R /XYZ 71.731 620.263 null]
 >> endobj
-2134 0 obj <<
-/D [2123 0 R /XYZ 71.731 556.747 null]
+3359 0 obj <<
+/D [3352 0 R /XYZ 71.731 602.331 null]
 >> endobj
-2135 0 obj <<
-/D [2123 0 R /XYZ 71.731 556.747 null]
+1159 0 obj <<
+/D [3352 0 R /XYZ 71.731 573.504 null]
 >> endobj
-2136 0 obj <<
-/D [2123 0 R /XYZ 208.955 545.953 null]
+610 0 obj <<
+/D [3352 0 R /XYZ 183.664 528.349 null]
 >> endobj
-2137 0 obj <<
-/D [2123 0 R /XYZ 134.365 494.147 null]
+3360 0 obj <<
+/D [3352 0 R /XYZ 71.731 515.911 null]
 >> endobj
-2138 0 obj <<
-/D [2123 0 R /XYZ 71.731 487.009 null]
+3361 0 obj <<
+/D [3352 0 R /XYZ 71.731 499.652 null]
 >> endobj
-2139 0 obj <<
-/D [2123 0 R /XYZ 266.07 476.214 null]
+3362 0 obj <<
+/D [3352 0 R /XYZ 71.731 457.973 null]
 >> endobj
-2140 0 obj <<
-/D [2123 0 R /XYZ 80.867 463.263 null]
+3363 0 obj <<
+/D [3352 0 R /XYZ 71.731 457.973 null]
 >> endobj
-2141 0 obj <<
-/D [2123 0 R /XYZ 242.2 463.263 null]
+1160 0 obj <<
+/D [3352 0 R /XYZ 71.731 375.129 null]
 >> endobj
-2142 0 obj <<
-/D [2123 0 R /XYZ 71.731 450.311 null]
+614 0 obj <<
+/D [3352 0 R /XYZ 198.969 329.875 null]
 >> endobj
-2143 0 obj <<
-/D [2123 0 R /XYZ 281.444 450.311 null]
+3364 0 obj <<
+/D [3352 0 R /XYZ 71.731 317.437 null]
 >> endobj
-2144 0 obj <<
-/D [2123 0 R /XYZ 71.731 430.222 null]
+3365 0 obj <<
+/D [3352 0 R /XYZ 408.485 308.316 null]
 >> endobj
-2145 0 obj <<
-/D [2123 0 R /XYZ 184.507 419.427 null]
+3366 0 obj <<
+/D [3352 0 R /XYZ 71.731 249.372 null]
 >> endobj
-2146 0 obj <<
-/D [2123 0 R /XYZ 71.731 386.386 null]
+3367 0 obj <<
+/D [3352 0 R /XYZ 71.731 236.421 null]
 >> endobj
-2147 0 obj <<
-/D [2123 0 R /XYZ 71.731 363.472 null]
+3368 0 obj <<
+/D [3352 0 R /XYZ 71.731 231.439 null]
 >> endobj
-2148 0 obj <<
-/D [2123 0 R /XYZ 71.731 318.939 null]
+3369 0 obj <<
+/D [3352 0 R /XYZ 89.664 210.682 null]
 >> endobj
-2149 0 obj <<
-/D [2123 0 R /XYZ 71.731 276.463 null]
+3370 0 obj <<
+/D [3352 0 R /XYZ 114.57 210.682 null]
 >> endobj
-2093 0 obj <<
-/D [2123 0 R /XYZ 71.731 234.854 null]
+3371 0 obj <<
+/D [3352 0 R /XYZ 454.93 210.682 null]
 >> endobj
-342 0 obj <<
-/D [2123 0 R /XYZ 461.484 197.639 null]
+3372 0 obj <<
+/D [3352 0 R /XYZ 71.731 195.574 null]
 >> endobj
-2150 0 obj <<
-/D [2123 0 R /XYZ 71.731 187.274 null]
+3373 0 obj <<
+/D [3352 0 R /XYZ 89.664 179.798 null]
 >> endobj
-2151 0 obj <<
-/D [2123 0 R /XYZ 93.589 151.611 null]
+3374 0 obj <<
+/D [3352 0 R /XYZ 71.731 177.641 null]
 >> endobj
-2122 0 obj <<
-/Font << /F33 834 0 R /F32 747 0 R /F27 740 0 R /F38 963 0 R /F23 733 0 R >>
+3375 0 obj <<
+/D [3352 0 R /XYZ 89.664 161.865 null]
+>> endobj
+3376 0 obj <<
+/D [3352 0 R /XYZ 71.731 146.757 null]
+>> endobj
+3377 0 obj <<
+/D [3352 0 R /XYZ 89.664 130.981 null]
+>> endobj
+3378 0 obj <<
+/D [3352 0 R /XYZ 71.731 123.843 null]
+>> endobj
+3351 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2154 0 obj <<
-/Length 2567      
+3381 0 obj <<
+/Length 1881      
 /Filter /FlateDecode
 >>
 stream
-xڕZ���������HO	�b�lc7�m�J�6��Hb�W9�l7}����H�a���x��T4�_4�F�6��xěl�����	���Y$g�䔕5������I2��M2;gi�
�4�m�8�e��P�:uF��bg�<
�竁ж.Iٜ������"��U�������OΒm��%W�Ss&��[#��d��B2�n�Z�����@��C��*�@ -ۆ��Oa�re�cD�§v���"��
L��@٘�ᒀ�n��6L�8�Q�n�{����~�����O����]��\e�)��`�n䪢�qN��i���K-�x�s��l�l��t;[Eq��j��pY�4	��:�B�i@'L�ea��r^�zTc�1m%b-���@�"��Om��n�
wx���BN*Q8��M;��%���"���Hn�*"g?��<^O0S�V�4�ę�-��#*��±K�h��ia�Բӣ��tF�Oq���O%������y��v��$�ȿn������!;\�/�+I��ŘFN8��Kf�6���C"��ڄA���K�A̔����
hIR���n�g��*��l��[{q櫄{9��;J��E|���(n�ᐺ3�4�͌Fˆ��*vX���5B���@�d�K�f���(��s;�Gĩۢ<>M�
��S��,ݳ95����\0�D?�� �8Ҕ�VJe�4J&�m��0�b��o�(f�b*��az3�4N>��0
-�?��T<�FM%�	Ca�ӛX���BA�t��Z<ia��ʹ@<����c��!��k�D��V�Y�I�S9��4���7��������m?��R�HD�Sd[k�?H%�}K�:�ˮ��������K�������;�Ȩ�LL�"���]�Z�Gqq�Z	����e�@�a�x}lg�G�}��b�-r��*�Ѱ6��؊|f�3*���>��up��mC1J478a��w}�cBp!���gw����l�Ǥk-K4�~�Zxt�̦=�Rf%쯩�\AÆ>�tI��N��5��X7PH�@��xd�u������sĽ�����F̶�$R=�˽�BO2R��<�ă���*���d��W�J��� �?����S(|�ce<:�ET���B�Q�(����ށl�ԥz��+{��xy4@P�ϭ;�w����r��<�r��Ұ�W���B�ЛdJ=�cK6f���0ԁ�;f�F��n��:��U�p�N�����l%Y]�Q�ZNt-�q~F���͒I�l7[#�)H�]e�L�}.j5jc�|\ m�n_Y��[^fAm�Vc<����J�E�&�����&��U
��#�d�$
-v����fi�����(CS�ј�tLM3�g5Ŧ姍����Ƶ
�0Y�����|Tycx<�*�qr���I*��ݜ����7q���Y�ߡ�B�L�CH=���BxQ?u��X��2	u��s����Tn�/��ʨ
'Y^%�U�'�`�U�;�\w�&�ު1��Mak��7cK7nr���Ѓ~sl��i�"
-�,V"��6�v�
�TG�K�M� M���^T�'�Ѿcj�X�ծ�V�cZcf֌k�%�p�m�ڵf�lk���#�好��$q��~���'#��Ī��|P6NX����q���\�xÇ���������w���������oo�����=�޽���v����ē����O�l���p����敐��.I���4��3O0�F)�i�4���<������Z��u+>[Q�.�~(��� ?�����ߪk�5okH�`�?�?��7,��2�r���ùhCp��@��~�����Ƅv�M8���+�F	�`FŢ'k�d�]�V;T2�t���Iy���8e
-㎫���4C}��uג��T_���.���N`��n�ꗏ��V`��eG'�Y��Fܽ�Vr�XW�Ѓ�ע�7��f9R����m���d����%t�"��{���K�
-��j��� \�H����jPY)�!X�X�G��
'�r�	`uGE)q��ұ·�|[NΥ�	���ԥ�*G��Mj��TIm0�_����H��>�2w��7��+�ꗏK���/%\�������a���q)�&2�*&�A;0\���<�6V}Ju�TU<����� ���xg��I.�
��ԭUŋ>瞧�P?+֛L�3���;�,�)��e��R�N1���6D�m\�ؔYU�	�a%��ko�=>ar?��u��E��r��q�e�a?�>��ih�Wi
�;K�����
-�IA@Vr|r���;������f��	�X�o�������	{g��ý�Q:�M���e�8v�����zl����*yA.�G��Xp�X�e��.s�ͨ��D�)�!›������KuSL��af�KG�gY��n���ȴ�ԍj��ML�
o��ز���O,;��6B%����#�(�b�؎Z�V"'���f&oD�������&3�xR�y"��y�m����%��xx'j �e����]�Y���Y�M�pM{غy��5�����{�ݟ8�_&��`m����L���"���ޅ!�l.��bz��ѳ:"endstream
-endobj
-2153 0 obj <<
+xڝXIo�8��W>�@�Z���5iZt���-f�遖i[�$zD*������H���NჵPo���=2���q�H�/YE�<��l��7�b���,�魹]_�z���U�����n��i���E�D�<��_'wr���$�l2���g^6{}y���-��L����_[�y��V��E�p���d�B�f�(�2e�_�8�MX�-�2��0a.(��+a^;�jL�i�ONc}ˌ_|Oʺ�ދ���l��5�|��f	����;��5+K���GZ���H�(�pΊ�����@�f��&��Zb
��I�2a�(�/��w?C��N#�"�cdE@R-�?!�;J+c��?X&�W��i,]1�{M�ږ�:�g5i����o>xx�O��&J�0l��lrm�
+ns��?u\��ī~���6�����t_���;��3���b��ZJ����B{�-Gßl �:�L%�A����ZJ�'�-�UС��D=�sY]�t>��t���GKi�b9�0MA�(����K�T>C��^���$��|��|���R:M`�m�1����S���*�~�l��*��5��	HRe�U��H��S��<�.L&�5�?���n�ښ��~�������+$�dSV�8�ݼ��̖(D
��\a`�[�A�I�r�|�o����
1���@����D	��x�-��	��D�{h��t�X�����6�eS��6����Tsx��R�J�_��F��%�~�z�-|BJ��ß��e|�t���>���b���`�)i��r���f?���.X�������hKo6���a�8�bl�����O�[�$���]��/ג���8�M��l7å�w�
+�T<SU��j"T�d��T�~�v֬����$�Բ��������u��&�\�tӓoہ�A�	�����?�ͣ+�%�*;mR?�}[���>��9tY�T��Bl���4��x.*�v��iX�E�8�i��x�˵ViڼL��R^Ř�"D�K��������5j6Þ%��j�~�3;'=>V_������m;�3r|@�fV;��`�K½1}'�M-wǑO����U�*�_���mkRM�0�pt����_AvC����˽�
EUi9=���oL��H7X���AiʼC��k!Hq�]ӬJ.�C^��f����F�Hř��q<p�,��=tkҲٲ��S#G
+�!I9�̽���!��u/�E�#m�3�
�ep�g6����=6��>���vjO���n-���Zz�,�f���GI>]�O3�����Oja�p�#��ൾ�-
.�N%S�R�W�n2�r�Z�^qd�R2��)��&��y>��(�}���E������g'٧���&i���mϽ%r.`Nj�Ǟ���l9{<����}u�3�*%ШL��8�*�M���_,S��^�Vf���*A�e/G����_�ȏ�v{�ˬ�ۣ�~XM��&��-�?4��՝7r����#���0q���$�u���HǬk�zc�"D
+5l��s��x Hğ�o������W������kϊo:�0��;;�<V�,ۗj����Xօ��ڛR�)��'���PY���N2���:W#G,j`��L�N�y>�d��]������v@�s7�k;�5yƃ)����F�ޥO�\���`��J�ࡘ&��7��)$T��sSZ��(��:o��`й�ڱn���n�R�p�easP�*�64�pq�6U��'���w
+���A�A��H���m��C9
$���nŇ{-Y�n���M�c�����&͞�l8�:AѾC�7�gsӑ����C��p_�?h7���2ZƋ��ݒ���,����b>�t�?T���X�endstream
+endobj
+3380 0 obj <<
 /Type /Page
-/Contents 2154 0 R
-/Resources 2152 0 R
+/Contents 3381 0 R
+/Resources 3379 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2062 0 R
+/Parent 3285 0 R
 >> endobj
-2155 0 obj <<
-/D [2153 0 R /XYZ 71.731 729.265 null]
+3382 0 obj <<
+/D [3380 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2156 0 obj <<
-/D [2153 0 R /XYZ 71.731 741.22 null]
+3383 0 obj <<
+/D [3380 0 R /XYZ 71.731 718.306 null]
 >> endobj
-2157 0 obj <<
-/D [2153 0 R /XYZ 71.731 718.306 null]
+3384 0 obj <<
+/D [3380 0 R /XYZ 71.731 690.311 null]
 >> endobj
-2158 0 obj <<
-/D [2153 0 R /XYZ 318.832 708.344 null]
+1243 0 obj <<
+/D [3380 0 R /XYZ 71.731 657.37 null]
 >> endobj
-2159 0 obj <<
-/D [2153 0 R /XYZ 115.447 695.392 null]
+618 0 obj <<
+/D [3380 0 R /XYZ 211.45 614.272 null]
 >> endobj
-2160 0 obj <<
-/D [2153 0 R /XYZ 71.731 682.441 null]
+3385 0 obj <<
+/D [3380 0 R /XYZ 71.731 605.45 null]
 >> endobj
-2161 0 obj <<
-/D [2153 0 R /XYZ 294.096 682.441 null]
+3386 0 obj <<
+/D [3380 0 R /XYZ 71.731 559.672 null]
 >> endobj
-859 0 obj <<
-/D [2153 0 R /XYZ 71.731 665.34 null]
+3387 0 obj <<
+/D [3380 0 R /XYZ 71.731 530.945 null]
 >> endobj
-346 0 obj <<
-/D [2153 0 R /XYZ 237.169 622.243 null]
+3388 0 obj <<
+/D [3380 0 R /XYZ 71.731 530.945 null]
 >> endobj
-2162 0 obj <<
-/D [2153 0 R /XYZ 71.731 610.071 null]
+3389 0 obj <<
+/D [3380 0 R /XYZ 71.731 453.083 null]
 >> endobj
-2163 0 obj <<
-/D [2153 0 R /XYZ 71.731 543.797 null]
+622 0 obj <<
+/D [3380 0 R /XYZ 333.287 413.71 null]
 >> endobj
-2164 0 obj <<
-/D [2153 0 R /XYZ 71.731 472.001 null]
+3390 0 obj <<
+/D [3380 0 R /XYZ 71.731 403.345 null]
 >> endobj
-2165 0 obj <<
-/D [2153 0 R /XYZ 519.885 448.255 null]
+3391 0 obj <<
+/D [3380 0 R /XYZ 71.731 362.602 null]
 >> endobj
-2166 0 obj <<
-/D [2153 0 R /XYZ 147.048 435.304 null]
+626 0 obj <<
+/D [3380 0 R /XYZ 411.1 323.329 null]
 >> endobj
-2167 0 obj <<
-/D [2153 0 R /XYZ 225.125 435.304 null]
+3392 0 obj <<
+/D [3380 0 R /XYZ 71.731 312.964 null]
 >> endobj
-2168 0 obj <<
-/D [2153 0 R /XYZ 71.731 428.165 null]
+3393 0 obj <<
+/D [3380 0 R /XYZ 71.731 270.164 null]
 >> endobj
-2169 0 obj <<
-/D [2153 0 R /XYZ 210.409 404.419 null]
+630 0 obj <<
+/D [3380 0 R /XYZ 328.439 232.948 null]
 >> endobj
-2170 0 obj <<
-/D [2153 0 R /XYZ 440.125 404.419 null]
+3394 0 obj <<
+/D [3380 0 R /XYZ 71.731 222.583 null]
 >> endobj
-2171 0 obj <<
-/D [2153 0 R /XYZ 183.531 391.468 null]
+3395 0 obj <<
+/D [3380 0 R /XYZ 71.731 166.831 null]
 >> endobj
-2172 0 obj <<
-/D [2153 0 R /XYZ 71.731 371.378 null]
+634 0 obj <<
+/D [3380 0 R /XYZ 427.527 129.616 null]
 >> endobj
-2173 0 obj <<
-/D [2153 0 R /XYZ 71.731 371.378 null]
+3396 0 obj <<
+/D [3380 0 R /XYZ 71.731 119.251 null]
 >> endobj
-2174 0 obj <<
-/D [2153 0 R /XYZ 71.731 354.195 null]
+3379 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-2175 0 obj <<
-/D [2153 0 R /XYZ 439.488 342.651 null]
+3399 0 obj <<
+/Length 1594      
+/Filter /FlateDecode
+>>
+stream
+xڝXmo�6��_a䓍Ŭ^,��amַ!ņ�Z��@˴-DQj����;J��&
+DrE��{������g�.��q4I�or�'o/|\1�%�ޚW��o�p�f�8�l��E�0�'�0`�(�lvOo���E5��7���ީ�8��W���4������7�a.�z~7&Z3
+*XvA�ټ�6��W��.���oNWs��\|�"���|���Ix7��4���������Oz�%+v�'�ޓ,--�̏���-�U��h�x^�	��<���VZ�̟���D��tT�&��~p�����€���s?`k̨k�gY?@�F�!������S��8�_f���=w����4[��,]B�'%?�Q�V�$�5���������X�1]������~�i�+7��DR��0?Z_ݳ?g��,�8����a�1?�Z���
+����髬���8��n�$�tڻ�y�	�L�$G���̈́��΂h�U�'J�B�	���	������lBrtL�(�B�3�o����B�ٽ���M[�s�4����w�wk�~'*q9L��m78)8
+�)��)�߆�U�X�&�m��~=��,S�;Q������w���Q
+"a�����!����d�2�]�d�4:�Q@V���� ����>�`b,��rT.�d�x���K֧�?R�����SS ����=䂪��RL�6fWZ@���P�1Q��h�ӧ����g֘�H�g�6�T�̮�ʷp%���5�$�Y4�i����e��X��H���V�t����,1Τ�eE�ѽh\=?��G�n��"�$�q��.���i'����R����~u�6�t�� Qq4�+
���4�	 �'���J$�8%�=خ��a�ɷ�h��,����T&�U%q�8��Kԅ�J��Jvɻ"� 	Ԅ�����(����B֮ܡ��y;-��t���曎|���*�����M�D�T�u����F=��N�(:��uʰ_Z�.O�D'+�Z�����^�0�kL�;8�H�&-��t�,�֦�9�ZX

Hu�Aþ@��^��D�����`0骁N��s&�� ����/���u��ᚅ����#/�`��R��&����=X"�\@�5Wf\O��6�%bNP���Ғ��_P�S��J�����ҿ��A�$�R���A�\q��m���M
+�ec���N��;3��Юf�D�����zjD�������B#z,�@�����<Uͩ���U8���D����Uo���tWfdo\��Ǻ.�_�xxx�*϶m<>��jz��8h�u�C-9]s����ay�
�.��֣*�H��q;KY��P}�q��VC�5������_�{`�j
��f���À�:?�5�C���ڦ�,Z�0�c#�F|�ԛ��'L󺆷�n�"�����Y-�!��X�	h�'��]�.6
n�&��\:�;a�������1�����=G���BCЗ�P�_ƫGW�9�����X9r_��T�	�dK��[.�.64Z�Ͱ��HK	�Be��f��+W6�o���#~[Z���_~��Y�d��,
+�,����{,�}��<endstream
+endobj
+3398 0 obj <<
+/Type /Page
+/Contents 3399 0 R
+/Resources 3397 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 3285 0 R
 >> endobj
-2176 0 obj <<
-/D [2153 0 R /XYZ 71.731 311.767 null]
+3400 0 obj <<
+/D [3398 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2177 0 obj <<
-/D [2153 0 R /XYZ 71.731 311.767 null]
+3401 0 obj <<
+/D [3398 0 R /XYZ 71.731 741.22 null]
 >> endobj
-2178 0 obj <<
-/D [2153 0 R /XYZ 71.731 262.293 null]
+3402 0 obj <<
+/D [3398 0 R /XYZ 71.731 688.254 null]
 >> endobj
-2179 0 obj <<
-/D [2153 0 R /XYZ 71.731 223.439 null]
+638 0 obj <<
+/D [3398 0 R /XYZ 319.902 651.039 null]
 >> endobj
-2180 0 obj <<
-/D [2153 0 R /XYZ 71.731 217.05 null]
+3403 0 obj <<
+/D [3398 0 R /XYZ 71.731 640.674 null]
 >> endobj
-2181 0 obj <<
-/D [2153 0 R /XYZ 71.731 146.562 null]
+3404 0 obj <<
+/D [3398 0 R /XYZ 71.731 597.873 null]
 >> endobj
-2182 0 obj <<
-/D [2153 0 R /XYZ 71.731 115.678 null]
+642 0 obj <<
+/D [3398 0 R /XYZ 284.583 560.658 null]
 >> endobj
-2152 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F38 963 0 R /F23 733 0 R /F32 747 0 R >>
-/ProcSet [ /PDF /Text ]
+3405 0 obj <<
+/D [3398 0 R /XYZ 71.731 550.293 null]
 >> endobj
-2185 0 obj <<
-/Length 2164      
-/Filter /FlateDecode
->>
-stream
-xڥY[��6~ϯp��1mR�$/�:EӦ�b�]`�)
-Y�mud�ե�ɯ��C���d�Y�s��Mt���E�D\ؖ�������O�{E͎�ٲt���^���lK�a0�f�uD��f�Ĝ�v�/�oNɥ�b��z�!��M[7��yy����ӂ��H��~x���R�AD�qp�9�3�E=w(�:�T�]*�����"i��9	��"�Ҭ=�D�V7���I����"��&�y`iI�Ќ��nA�\u�Wr��N��y��|^��:y��dk�$����^4���=�e�K�T&g��J�~ƭ�	eK�̐��Y���Q���9J�&�d�y��F#{k)S��2���#{J̛��d���v���6hYT��
�P��_ų,*�ѐF��(�,o������\���zKɆGf���
4��DqQ8P��c������v����aJm�����MJ>�!x�H=i\����e����M͸���T�������ݚ���Z[��FWFQ+�0iag�B��u����V�����-ʜN���
-�����@����-�������!�n��8�zh���\MN͹ 
2vJ!�����S��|6��j�ሏmD(ۘ���'�jLw�a�l"��n�Y^�j%ZX�]�
8qRF�Ak�S��$�iJQ�������?|������n��_,)���*��-�	h|S���
m@��1�e��d>�/SY$+�@x[mdQH��G˕��A,�>B�>)��G;xFp"��?2��c%�%!�j��3X�'�R�~�r�����;}�*��S%�|���2�xz�U����o��W���}0��R�����>I�r�d{�Iw���T'�_�j�wJ���=蜘D�q�׊���^��3�h���$�^�IeU��"��Z|����������V�,�8�d��\AF`:^�3W&�\�֎�Rz���`��X�\�!W����$�8����������qv��Ƀ��u��{�d��Z�����u�"f����[Tr���TBiP6@Y���x͇xyJ��x��40��c��jb�[t�|�?ʶs��Z�]^��(��^Ein�6��*�F&	��ɰcO��I�EZ�*�)n&?(=��E`�S�үqs����e#t�t;S�����V������N����w(r!���mg�Ćמ�~e���B���x�}H��!��V/�P��/��F#��`P���<�s�w��vPLƂ�u��^p9Hy;��+� ��N�
�d��؀
-	rll���Xz��z��C�/
-1�K�yz���wr�Ebv�;�=׼��x�;�Ğ��1�w:��?�Fyi�f�J�TB(�K����m��q	����TU��{68�����Ɠl��3�D#��N���x�֖/�Hs���������c��yn�1�mHh�{�Aȱ|�M��1a1�����<��۩�qΑ?��&n�1¶��7���TW?.
6,&<��=�n�4Yk����^�㒤j�t`p;'�֐���T}� �A���
-g�O��3u-I�/�uݨ�},�m�Ԗ}�2�b'��:WjS�C��|~������Ua��F?�eS0����YJ0��Q��o��������2�H�����6sp0k�7dg�]7����T#sg�(_8'6����я��v:ֵ� ��K��9�^�X�G������L�<����N���jZ�(ň-�V3]��\2����^���q�����c��hQOз��PkL!R���jp�
.F�~�6PA_=��c�!����X	d�b��~d�zҎV`<':#���˱J:�ǹ8)�l�4,'��0��[������
-�ȴ�2���l�@m�q��2mr�D��	�ER�f����,q�QE�	���,�Ʃ�TLM0-O�4�����JA�;�)('�=[PN�.��#�jk�t�	��@흧I�r"��TNݑ��c�Vs�ڱ�-.�	�N����s0�,b<�
��݄�S��Br��VPӚ�CZ5�UU_�2��7�#o7g������RV!�ͤ��c&U	?5���_şU�^c�d"�Χ12�3_r�?�����I��Ę	��:��O�k�!q��v��ax��F7!�o}f�,"!��(V���g�1���{�5endstream
-endobj
-2184 0 obj <<
-/Type /Page
-/Contents 2185 0 R
-/Resources 2183 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 2062 0 R
+3406 0 obj <<
+/D [3398 0 R /XYZ 71.731 509.549 null]
 >> endobj
-2186 0 obj <<
-/D [2184 0 R /XYZ 71.731 729.265 null]
+3407 0 obj <<
+/D [3398 0 R /XYZ 71.731 476.608 null]
 >> endobj
-2187 0 obj <<
-/D [2184 0 R /XYZ 71.731 657.37 null]
+646 0 obj <<
+/D [3398 0 R /XYZ 262.26 439.392 null]
 >> endobj
-2188 0 obj <<
-/D [2184 0 R /XYZ 278.723 646.575 null]
+3408 0 obj <<
+/D [3398 0 R /XYZ 71.731 429.027 null]
 >> endobj
-2189 0 obj <<
-/D [2184 0 R /XYZ 494.203 646.575 null]
+1244 0 obj <<
+/D [3398 0 R /XYZ 71.731 389.216 null]
 >> endobj
-2190 0 obj <<
-/D [2184 0 R /XYZ 280.087 633.624 null]
+650 0 obj <<
+/D [3398 0 R /XYZ 223.845 346.118 null]
 >> endobj
-2191 0 obj <<
-/D [2184 0 R /XYZ 71.731 620.672 null]
+3409 0 obj <<
+/D [3398 0 R /XYZ 71.731 333.947 null]
 >> endobj
-2192 0 obj <<
-/D [2184 0 R /XYZ 71.731 597.659 null]
+3410 0 obj <<
+/D [3398 0 R /XYZ 71.731 322.402 null]
 >> endobj
-2193 0 obj <<
-/D [2184 0 R /XYZ 71.731 529.326 null]
+654 0 obj <<
+/D [3398 0 R /XYZ 223.569 285.187 null]
 >> endobj
-2194 0 obj <<
-/D [2184 0 R /XYZ 71.731 503.611 null]
+3411 0 obj <<
+/D [3398 0 R /XYZ 71.731 277.834 null]
 >> endobj
-2195 0 obj <<
-/D [2184 0 R /XYZ 71.731 497.222 null]
+3412 0 obj <<
+/D [3398 0 R /XYZ 280.576 239.159 null]
 >> endobj
-2196 0 obj <<
-/D [2184 0 R /XYZ 178.27 485.679 null]
+3413 0 obj <<
+/D [3398 0 R /XYZ 71.731 206.083 null]
 >> endobj
-2197 0 obj <<
-/D [2184 0 R /XYZ 71.731 473.559 null]
+3414 0 obj <<
+/D [3398 0 R /XYZ 71.731 206.083 null]
 >> endobj
-2198 0 obj <<
-/D [2184 0 R /XYZ 71.731 452.689 null]
+3415 0 obj <<
+/D [3398 0 R /XYZ 71.731 118.288 null]
 >> endobj
-2199 0 obj <<
-/D [2184 0 R /XYZ 71.731 428.194 null]
+3397 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-2200 0 obj <<
-/D [2184 0 R /XYZ 71.731 421.056 null]
+3418 0 obj <<
+/Length 1970      
+/Filter /FlateDecode
+>>
+stream
+xڍXK�۸��W�t�����C�éle7;�M�ˇ�	�̐�=����4�n�ryʄ������
3��]��"x�/�Ƴ�|�Ϯ0��w�X�uoͧӻ��hv��hv��6Q�E��l��>g��_�c�j��r��b���W�WW;��\ˋ�-�s�˻NNa���>z�&Z31*�uF����m6�M�Ѣȫ��߾��rh�θ$�Zn�ŷe/x��j,�|�j�<c=��f��l�^����ت�z`�9�n��[�'��_<)Τ$��_d(�g:�}/���ݒdVw��ه�i�ך{_4�>�;�k��
�'DaG�YN��QX�5K2&YQS�Vi�0�.x
�C[h�Y{y�����������w@�X�YY|��n�C��:'�g{pN�ߝ�m����!�wfr�B@�6��9������DB4Eڳ�s�9�Ca��w�G@RMY2�?�H�f�Q.���i�u�h
��CAk=A�}6�i���i���/ڇ���o��H�DO�`7r�=��KDU�Ƨ&L�R��O�^��'�-�����e��~oTL���%��I��F��1d���8^�o/RTd��X!�_Ϲ����5Y�����Z���X�e�,`2����sj
+��*/ТL,��:�HAt�~�N"G'��Q�%��z�?�v�#��&<�$��Xuu�qoٱH�h���Wc$$� <
j�aʑ3",�"�P�l���ye�N��]�ݖ�x�fa������B([���['��_�YϹjq��m0(��T�J;���z�㦪x•b2/p!��bs �,���N��{��vF�'Ȁ��0�*���v���%�k�2`��?9�M�E�^�"��M8A�=�eI"��cM�W�E��.�Y�F��,.{A��o���$� U*^�@�*����8�]������g��A�Q�jX��.S!	����G�܎ZzX�8M���I8���j`��i������K�}I���L��h�{�?������q�r�+1I���r�H��ീZX@d1�r>�oJ`�.N��Eը$ʢ��_�"OM;@�t��O��*�)1�C�_հĠ��ӗ�Z9�01�����C���¼�k���ך�]ۑ�i2��G�S���2v����N\yi��M���������V�Vp�/��"�t�8�r||$�Fщ�L��a�R��Y=6X=>j������W�
+3��<�d��rA�Z���6���U��zRC�}쎞2�V�OQ�3"�W
7႔#KtU
�VS\Z��jT;
+q��"��דkn�� �G*� �\�
=��9�����#o�T�3�W[��R�b5�3�R�+`��ք�R4�UC�`K�����l'N�(^ȼĀ\��3�;GB��wi��fU�.d��ۥ�s	��J���hɮ����	bd.Pu��z�p],�C��eS�ĕ5��9U����]�-q��Q���:���>NW���/��Q����j�������bЊ�Ji���v�x�hx��.�MȔ���|�	�_L�J��?��E�Q\_�)lHQ�\�`�
+,觳������|Rw#�Ks�&S?�F�6��{�r�,��$�8Ov�v\u�#�]�v�����������{`��t�!�Q�j�I��t:%���S���� ��@ˏw�1���m{l�H@!|x1���Ś��@Bv	s.D��N�BPh�/S�����>Bk
�h0�=]%%�]�ܻ�O����F�Z�'��M���^���፶?jQ����ѷ�7,�A�`�{{��AlV��|o8��[��=������tiG�!
�M �ns��8>�2~��[|�BU�J��W��b.2pk�k �@��J��j��Qw0̑o9����5�4sQ��}��|#��&�P��;1=�
���cÊ����}s2iB��^ᐝՇ�O�d��{�`����n��cl�=?$!m���}d�j�?Y@�Qendstream
+endobj
+3417 0 obj <<
+/Type /Page
+/Contents 3418 0 R
+/Resources 3416 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 3436 0 R
 >> endobj
-2201 0 obj <<
-/D [2184 0 R /XYZ 71.731 410.162 null]
+3419 0 obj <<
+/D [3417 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2202 0 obj <<
-/D [2184 0 R /XYZ 71.731 405.181 null]
+658 0 obj <<
+/D [3417 0 R /XYZ 197.015 663.99 null]
 >> endobj
-2203 0 obj <<
-/D [2184 0 R /XYZ 81.694 382.366 null]
+3420 0 obj <<
+/D [3417 0 R /XYZ 71.731 656.071 null]
 >> endobj
-2204 0 obj <<
-/D [2184 0 R /XYZ 81.694 369.415 null]
+3421 0 obj <<
+/D [3417 0 R /XYZ 142.336 630.914 null]
 >> endobj
-2205 0 obj <<
-/D [2184 0 R /XYZ 71.731 367.258 null]
+3422 0 obj <<
+/D [3417 0 R /XYZ 143.113 617.963 null]
 >> endobj
-2206 0 obj <<
-/D [2184 0 R /XYZ 81.694 351.482 null]
+3423 0 obj <<
+/D [3417 0 R /XYZ 71.731 610.824 null]
 >> endobj
-2207 0 obj <<
-/D [2184 0 R /XYZ 81.694 325.579 null]
+3424 0 obj <<
+/D [3417 0 R /XYZ 354.159 600.03 null]
 >> endobj
-2208 0 obj <<
-/D [2184 0 R /XYZ 336.139 325.579 null]
+3425 0 obj <<
+/D [3417 0 R /XYZ 71.731 581.998 null]
 >> endobj
-2209 0 obj <<
-/D [2184 0 R /XYZ 464.726 325.579 null]
+662 0 obj <<
+/D [3417 0 R /XYZ 185.739 542.725 null]
 >> endobj
-2210 0 obj <<
-/D [2184 0 R /XYZ 81.694 312.628 null]
+3426 0 obj <<
+/D [3417 0 R /XYZ 71.731 535.372 null]
 >> endobj
-2211 0 obj <<
-/D [2184 0 R /XYZ 71.731 292.538 null]
+3427 0 obj <<
+/D [3417 0 R /XYZ 71.731 463.656 null]
 >> endobj
-2212 0 obj <<
-/D [2184 0 R /XYZ 298.906 281.743 null]
+3428 0 obj <<
+/D [3417 0 R /XYZ 71.731 432.772 null]
 >> endobj
-2213 0 obj <<
-/D [2184 0 R /XYZ 178.828 268.792 null]
+666 0 obj <<
+/D [3417 0 R /XYZ 198.349 395.557 null]
 >> endobj
-2214 0 obj <<
-/D [2184 0 R /XYZ 490.915 268.792 null]
+3429 0 obj <<
+/D [3417 0 R /XYZ 71.731 388.204 null]
 >> endobj
-2215 0 obj <<
-/D [2184 0 R /XYZ 71.731 235.751 null]
+3430 0 obj <<
+/D [3417 0 R /XYZ 71.731 344.448 null]
 >> endobj
-2216 0 obj <<
-/D [2184 0 R /XYZ 76.712 181.121 null]
+3431 0 obj <<
+/D [3417 0 R /XYZ 71.731 324.458 null]
 >> endobj
-2217 0 obj <<
-/D [2184 0 R /XYZ 81.694 163.188 null]
+3432 0 obj <<
+/D [3417 0 R /XYZ 71.731 280.623 null]
 >> endobj
-2218 0 obj <<
-/D [2184 0 R /XYZ 162.749 150.237 null]
+3433 0 obj <<
+/D [3417 0 R /XYZ 113.514 243.925 null]
 >> endobj
-2219 0 obj <<
-/D [2184 0 R /XYZ 81.694 137.285 null]
+1245 0 obj <<
+/D [3417 0 R /XYZ 71.731 226.824 null]
 >> endobj
-2183 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F38 963 0 R >>
+670 0 obj <<
+/D [3417 0 R /XYZ 256.243 183.727 null]
+>> endobj
+3434 0 obj <<
+/D [3417 0 R /XYZ 71.731 174.904 null]
+>> endobj
+3435 0 obj <<
+/D [3417 0 R /XYZ 71.731 147.06 null]
+>> endobj
+3416 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R /F35 1185 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2222 0 obj <<
-/Length 2389      
+3439 0 obj <<
+/Length 2329      
 /Filter /FlateDecode
 >>
 stream
-xڝYk��6�~�q7@l�ZkZ�-o�.� Y��>��ؠh���h��L:�T�-��w��P�<��%r8�3����?6۲h�c��֛t���V�#|���3�~ʲ3����__��l�6���0KV�(N��6^GY��=?�_����b�NW�$rϗ���Y���ŋ�����eY��Ϗ�޽z;��6�e�'��9#���V��E�(�ʬ��ܿ�����1��iR��q���O�pc}pϼ-���t�����$����n�q^xy�.��OӾ����*x����8_J^�l -�J��^X�u��>�O\�@�@S?HS�Q	���z3�
��
-��˜��+��� 78�Zje�3��.�ً��G��A%�&=��3J��V�X����I(�����2p�8�(Ȉ3>6�cŋ��Y���T`��Ȕ%��V{�r#a�4�G�2$\<c�h�R̸�˽�&��fg�H�]�ͨ|���'��X_���X2����a}0G�6���,J�-����^�
-��o��W������2��f,���Y%f������ߛ
|�|J�[��D,I(I%;�V"8�O6�xŢ8�f�v%��z��"����új4��K�����lm�̮xt�~9,b�E�T�Q椛�p�	dd!*��\����#>A�˳P�gt���)���b
�޸W�1���K�b�:k�G�-��J?�>�U���	�
c[��<k�b�uJy��u�i#|&����ͅ�e���:���2W��ɋ��Q�Ä�PT�S���]�P��.�"ϟ �I���3���*�a���L%�}] t羏.8���Ȳ�~����R�&6W��Ϻٹ�ձ���pq���p!6�$��u��+�2�WQ�m��v�׃D�¡�&�l��z��!p��R�/\Ia����V�Š-�)i��C�����z�F��D�yjTyɍiw����8(���9'����m�94G.U`
-�h�9Lt��zm�7�ߘ������k4��v����,}T�L��b����ȣ�����'Z�-��	zI���C���
-6���?L�
�㘁����(�N��NX����k�����#�Zy�d-�-ܙ���|�S$�WJPn���g������ �FW� 	->�!nVqhI�QXD(5���ƙ����<�ӹ�,e}[l�x���C�R.N|M�q�nN�GT�(��1:J4�խ�	/�Rլx�Rc^�b��B�V�)OR�e��Tm��8�ɓ�*t�`
�\g�E�294*o��&�p��G`&1��t��I�#�w��,s��(��V�
-����d���/%LRE�]�L�[�uI/��	�ԄN)�M��K�s`��ns�H�,�XF��%�g���DA�)�����2"���5<`��b`��"D�~o��3���g������O�,1�v��z��(��nܓ�#����šq�����r�ol���m'���~�Yj�F7�g7�8u�:@��f���\���[v���[<�^m�܍,���Q�qI��eB�’TN/CS�8�ʭ�;g�@�a�p��]��e@:s�fP��R�q���12a�M�0ShM��a�@)�H��
-��.=:#�����L���"�͢�#(�3�o�R_�(e���掘Y,7���9$��
�M8�W��j�i|�@o�W7Kj�	*�<� �=�rd�ވ�����2�|�pg��a%��랴J�YM�9왫�������`s�8o�n�:X>-+������A_������"Pha���{��ۖ��MW!^��W
o٬�<�;nӔ{w?�.2psY����V:Q���J��ɀ_�z6T\%��1�pA'�^	".��e�U�a@�l�pU;�̂ҩ�+���P��E{W����z_,�Qԇ`v=��s���gӖ�
1��y�[E1������5�G��%
;'�l�Yp~
�������s��i*y<lQ=/u��u�	����]�.�ح��UG�
�N�^�o���<O�?u%��Ҧ���ra/<�=$4�sC{�xU�U�#>����[v=�ɥ�DZ� z���w���pf4��J*�D��CHN�$�p\��|<��x�,��BU��=�Qӭ�wK��B��x��'�Z{�>�1�*��C�ٓp��L�87�=�QL�ԡ��]0��5�sCǕ���.>
-<���j:������?L�,�2�6�jIW��n؅H{�`���W�C�Z�S5bp��'B��?.R����W�P�BxF~ߪ�*:F_F?zD���O���K�����\�+�#�o�A,�9V[6��z���x�����:V�����0�CH�H�Ft�wo��-X�E�~�_��)�TK�Y�Z��1�>�od����Axendstream
+xڭYK��6�ϯ����ƒ,˞ۤwz+[�yM'�Tf�D[��D�HO���� E=l�fS}���>�p���p��A�%��&�e՛�����M�+��d�������8���&�=f�8��f��Q�M��S���� ���b%��&0ן�������V�d�ߧ����&q��U�욑QQ<�A��(���Vi�]�ڨM��P�n�ﳌ�ji>R)�6��9i���l�GQ�%|_�e�ޑ���;����
+Ri�k8G��`��%�x`��������MV�r�6��""��"\�y��ZZP�J��-h%�ss�R��פ��گ�b��8�q& �,4;�L��ǂ�™f�`��z7�|�qp<���&�ȉ
�ݤo��@��sC�������4�#؅��mq:���Q,�0��!��h7d�՞Y��V;�8�@�S�?�=y���|�i��h����ޠ�1��r�ɷ��/���j�,>	��a`������!�VF"�F�٘Zw�0�sY6�ݶ-�j����K�*�4�Y!h^����6O��m�h7�@>9h�lD_Bӂڲ/*�n��T,�g�=fđ�-��5<$�V"����W�����'�I��R�H*4����9R�̅�G��@��>F���5h[�o���l�N����p���Vᛊ��*	h�� ;~�ş����ȬP��w���
��p�R��8��x�o2^Ud�S@%�j��JH�q-�r?���I�HY�/��(�|Ђ�0����W�ݢ�=�:<^ &�@3�:��3�|t��A�h?u�����X�Y�lYp�&'�����^*����#�/,bM�жb�B9�2J������ᄖNu�h��N(�ɾ��UHU�cI��Vt��'�j��^���q��y�i�g�MFٞ`�?����d99/6ɼKr������N�e�	6Z�w\�wf�zݭ��`��Ǐ�(�}�g�x���>5 	�#0�F,�Z+�����j����U���<�Q�=�x(�g}&�e%r�G	�g!�'b��}���ā�Y�Ұ����w�]P���@����egj����ᐐ�V'�=���1?��J"rBiM).g����#�'��RZ��L���D��wiú^AYh���p�5mIy?N�^�r���@"6jJ*i��i��]k1睈�)+lՐ�����,i�F}��ԙ&|@Vu��0T<`�4��&y�1PE���T�#	�p��ĩ�p!0��5+Y�<����&��{�z�)]me�OJ]�\ڞ��"�v�+�����n-��N[[��,o��L�z�j�W�i���~[�k�8�9�SH�6݌�CS�jr���m���c��R_�V�&�/�Va�JK�J�J^�Cզ���sh��*�iݣ#��9��m͵�[�$H�ݢʟ�z|�'�b!��rn�#�nߴShcZ �I��H�{H�uy���u7�w#�a�)|�f�h$�H
+ȁ�S1p�/5g�}'�:�p�'R���F�i�a�����u|ڥ�֞[*3�b?���04^7��z�$8�w�Ķ�����ACb����z|���H�G}�[�4k�t'S�x���>X��]�ñ���ŀ���r�~�z_8%]Յ�Z#G�	��L;�9U�����x�9����ܢ MC�m��\N�!EWA�Cm,Ɋ�Ӿ���t�7���^����G����t��e�+hu��ֻ���l�Ќ��ʖ�����x�}�v�m)�Wkz]�����
�_8��6I�چW'r�3�Jg�٥��ˮ��E2R��hR���)7�L)w��v٭{��
o�8pi.���é�kY�c�ō��m��Rp'h��5��f	#�_h�?����~���=i/!A����;��Sͥ���0�^l��R`qŭ�����X�(����P�kJ����%�� `x�B\x�p.�mB��@�1G��E�Z����s��{"�F=��[�ܧ�俻0#�����8����zo�%�[+�
����<�?�7�~�Ɖd��$��\�GS�!R�1l�W#b<��W��k,1P{�,�i��_��m�i|ޚ`�+n�aB�M0L(��������T2[0i���7�w��F������Pp���������ޚKq���:Vv;�c壸z�Y��n·%@?��1KS�̦r����&�'z�R���q��T�]��������T��h�9��l�������tʺ���T\�B��ӂ�ܶ�]�|s@�����$���
��nZ	ݐIbӛS�>������LRN��:�p|�pn2�\�m�
ӫ��-��;���W����.�{��O7�endstream
 endobj
-2221 0 obj <<
+3438 0 obj <<
 /Type /Page
-/Contents 2222 0 R
-/Resources 2220 0 R
+/Contents 3439 0 R
+/Resources 3437 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2236 0 R
+/Parent 3436 0 R
 >> endobj
-2223 0 obj <<
-/D [2221 0 R /XYZ 71.731 729.265 null]
+3440 0 obj <<
+/D [3438 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2224 0 obj <<
-/D [2221 0 R /XYZ 71.731 718.306 null]
+674 0 obj <<
+/D [3438 0 R /XYZ 237.557 707.841 null]
 >> endobj
-860 0 obj <<
-/D [2221 0 R /XYZ 71.731 659.527 null]
+3441 0 obj <<
+/D [3438 0 R /XYZ 71.731 697.476 null]
 >> endobj
-350 0 obj <<
-/D [2221 0 R /XYZ 402.85 614.272 null]
+3442 0 obj <<
+/D [3438 0 R /XYZ 399.051 674.765 null]
 >> endobj
-2225 0 obj <<
-/D [2221 0 R /XYZ 71.731 610.442 null]
+3443 0 obj <<
+/D [3438 0 R /XYZ 71.731 661.813 null]
 >> endobj
-2226 0 obj <<
-/D [2221 0 R /XYZ 118.555 568.252 null]
+3444 0 obj <<
+/D [3438 0 R /XYZ 71.731 641.724 null]
 >> endobj
-2227 0 obj <<
-/D [2221 0 R /XYZ 71.731 514.555 null]
+678 0 obj <<
+/D [3438 0 R /XYZ 218.447 604.508 null]
 >> endobj
-2228 0 obj <<
-/D [2221 0 R /XYZ 71.731 463.865 null]
+3445 0 obj <<
+/D [3438 0 R /XYZ 71.731 594.143 null]
 >> endobj
-2229 0 obj <<
-/D [2221 0 R /XYZ 386.239 438.061 null]
+3446 0 obj <<
+/D [3438 0 R /XYZ 71.731 577.246 null]
 >> endobj
-2230 0 obj <<
-/D [2221 0 R /XYZ 107.706 425.11 null]
+3447 0 obj <<
+/D [3438 0 R /XYZ 219.242 566.451 null]
 >> endobj
-2231 0 obj <<
-/D [2221 0 R /XYZ 71.731 405.02 null]
+3448 0 obj <<
+/D [3438 0 R /XYZ 71.731 525.44 null]
 >> endobj
-2232 0 obj <<
-/D [2221 0 R /XYZ 71.731 356.204 null]
+3449 0 obj <<
+/D [3438 0 R /XYZ 71.731 510.496 null]
 >> endobj
-2233 0 obj <<
-/D [2221 0 R /XYZ 71.731 281.683 null]
+3450 0 obj <<
+/D [3438 0 R /XYZ 71.731 461.445 null]
 >> endobj
-2234 0 obj <<
-/D [2221 0 R /XYZ 71.731 226.953 null]
+3451 0 obj <<
+/D [3438 0 R /XYZ 312.346 435.542 null]
 >> endobj
-2235 0 obj <<
-/D [2221 0 R /XYZ 71.731 163.128 null]
+3452 0 obj <<
+/D [3438 0 R /XYZ 232.347 422.591 null]
 >> endobj
-2220 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F23 733 0 R /F44 1007 0 R /F38 963 0 R >>
-/ProcSet [ /PDF /Text ]
+3453 0 obj <<
+/D [3438 0 R /XYZ 71.731 420.434 null]
 >> endobj
-2239 0 obj <<
-/Length 2057      
-/Filter /FlateDecode
->>
-stream
-x��X[�ܶ~��F2S�к��A�q�h
-�ޗ�.��+�c����h{�4�n���B��}�;�L	���m��9<�=�6��%����,�+�v�:Z�����wy�أ�&_�E�EyQ,�y�ve��������gI�j��ɲ@��� $먠���N_V钶-^���O�~����|����I�ܚ�v����(��|���~�MvZK�'r��j�I�e��Xg)*��b��hSn�����Nl���w�68��eh�1�
�P�/�M6X�7ַ�6��4��2pKC�����l^�pK��7,��q_��f���ê���8Y���l�X/q����$�H[[e�����@�����DJ��q����K��2ն>��W�/���[�{�TK��x�SR&��őj=��l��Ϝ��:]r��9�J��7�h�qHL��F
-N
-K��G�ߓ��|�G����K�Oi^�&��ݹ%�U�{�R�Ѣ	��f�73�^�����@&�|H#+�Fq�0ӯ3}JZA~���7����*VvJdJ~�p��	\+�(��_�7�}�WS+�BO�5'�LD������ri��PqD��%d�<BB�Vi������_e���%NCـfdd���JAw���Mѿ0�65	�rڛ8�]�ؘcI��+�^�WF�S3��ء�B��=3!衽�q�����D�؝��[��m���]c�_�5R�W�j�~�틝]tjz7E+ܶ�����64�~��e��*�]/�Ҷ%�S'�:�����
�^b�,�E���*O#�.6��T����(�te4�|h�
��`���t�<��8=�d�ü���牞�0?]K�5-_@���T�A��ey��,������VӣMG��7�h�U�����}�I�����aG�֖����V!?`���2�����|Ž� ��o�����a�r~�t�e���8t��ȋ%[�����٢�#Q%@K<�+,I�^ac�Ҭa�i�6��D1�
�O�F��rR���5�a��B�����M�DV�%e9���;|�h��HbD�lG-��#܆Џ������R&~'�w*2��`OD���TU���\���,�+�S�^
-�Q\!|�W�Gv��D�́�&�3���^�O�v3q�u ��2Ҙ��)�#&V�Xu#i��$�-%�c�<�`�!��/n!���xg�	*v��O��C�t
-i��ͧ����+$�����[E���0Mn���@�k�����V0���@�\��M'�n3��!�l����UY�fC�Ю/�]�b�M�y�˸>b̝���%�����&晞�d����.�T
-�a�k-�1�{#�U�(fT��K���H���_j��X�G/F!�9MW�e��K�+]��|����5�/�zX~��%WֳhKQ�W�\�gE�J�hՂ���C���⚘#q�ƕ&������=��ܘ���G�
-��
-� H�Ԙ-��<��.j�9�<@H��&w҅<	�0g�Z�0t��$=�!��p
��j��н�3agW8Y�z�CU5����M�1�~�u�K��o�ﭮ���u��4pb��ЈE'�k]��
՝�������x/4�|&�X?��[����&l��_��3WL���+�N3#�E��VQR�O F�G��-J(c�5��r�a3R:!f���mֶ�5C���ҥo{`Pb������U�
@�I�����Z��bdž�����./z�9��&5�مT���+�}���īo߼uMN{7;#�:��q�2%�aX8[��6xz�|9�b06vZZ���1���#�A�����9����Q�����W��'� �Kqv��%�>�N��Xq{�5�����B(D8��d����p�e����4�W�7p�ݛ���!���;��D�	�7�f�70�e�����Gg],������F;���$����Q'��3�=�NnF�Y��'Щ4T@�`�rah�It�t�3y�$	�g�i���믕X�
-`Mo��{�C�t��|X2��/�J2���]��}.�v|Prendstream
-endobj
-2238 0 obj <<
-/Type /Page
-/Contents 2239 0 R
-/Resources 2237 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 2236 0 R
+3454 0 obj <<
+/D [3438 0 R /XYZ 71.731 405.49 null]
 >> endobj
-2240 0 obj <<
-/D [2238 0 R /XYZ 71.731 729.265 null]
+3455 0 obj <<
+/D [3438 0 R /XYZ 91.656 384.334 null]
 >> endobj
-2241 0 obj <<
-/D [2238 0 R /XYZ 71.731 741.22 null]
+3456 0 obj <<
+/D [3438 0 R /XYZ 71.731 344.782 null]
 >> endobj
-2242 0 obj <<
-/D [2238 0 R /XYZ 71.731 639.103 null]
+3457 0 obj <<
+/D [3438 0 R /XYZ 471.906 331.831 null]
 >> endobj
-2243 0 obj <<
-/D [2238 0 R /XYZ 71.731 479.636 null]
+3458 0 obj <<
+/D [3438 0 R /XYZ 71.731 290.82 null]
 >> endobj
-2244 0 obj <<
-/D [2238 0 R /XYZ 236.521 468.842 null]
+3459 0 obj <<
+/D [3438 0 R /XYZ 71.731 285.838 null]
 >> endobj
-2245 0 obj <<
-/D [2238 0 R /XYZ 400.196 468.842 null]
+3460 0 obj <<
+/D [3438 0 R /XYZ 81.694 265.081 null]
 >> endobj
-861 0 obj <<
-/D [2238 0 R /XYZ 71.731 448.752 null]
+3461 0 obj <<
+/D [3438 0 R /XYZ 490.427 265.081 null]
 >> endobj
-354 0 obj <<
-/D [2238 0 R /XYZ 369.417 405.655 null]
+3462 0 obj <<
+/D [3438 0 R /XYZ 71.731 252.03 null]
 >> endobj
-2246 0 obj <<
-/D [2238 0 R /XYZ 71.731 393.217 null]
+3463 0 obj <<
+/D [3438 0 R /XYZ 81.694 239.178 null]
 >> endobj
-2247 0 obj <<
-/D [2238 0 R /XYZ 412.808 384.096 null]
+3464 0 obj <<
+/D [3438 0 R /XYZ 197.339 226.227 null]
 >> endobj
-2248 0 obj <<
-/D [2238 0 R /XYZ 86.396 371.144 null]
+3465 0 obj <<
+/D [3438 0 R /XYZ 71.731 224.07 null]
 >> endobj
-2249 0 obj <<
-/D [2238 0 R /XYZ 71.731 364.006 null]
+3466 0 obj <<
+/D [3438 0 R /XYZ 81.694 213.275 null]
 >> endobj
-2250 0 obj <<
-/D [2238 0 R /XYZ 478.87 353.211 null]
+3467 0 obj <<
+/D [3438 0 R /XYZ 474.398 213.275 null]
 >> endobj
-2251 0 obj <<
-/D [2238 0 R /XYZ 117.658 340.26 null]
+3468 0 obj <<
+/D [3438 0 R /XYZ 71.731 198.167 null]
 >> endobj
-2252 0 obj <<
-/D [2238 0 R /XYZ 504.804 340.26 null]
+3469 0 obj <<
+/D [3438 0 R /XYZ 81.694 187.373 null]
 >> endobj
-2253 0 obj <<
-/D [2238 0 R /XYZ 71.731 320.17 null]
+3470 0 obj <<
+/D [3438 0 R /XYZ 373.716 187.373 null]
 >> endobj
-2254 0 obj <<
-/D [2238 0 R /XYZ 71.731 320.17 null]
+3471 0 obj <<
+/D [3438 0 R /XYZ 71.731 185.216 null]
 >> endobj
-862 0 obj <<
-/D [2238 0 R /XYZ 71.731 289.286 null]
+3472 0 obj <<
+/D [3438 0 R /XYZ 81.694 174.421 null]
 >> endobj
-358 0 obj <<
-/D [2238 0 R /XYZ 421.51 246.189 null]
+3473 0 obj <<
+/D [3438 0 R /XYZ 509.636 174.421 null]
 >> endobj
-2255 0 obj <<
-/D [2238 0 R /XYZ 71.731 233.751 null]
+3474 0 obj <<
+/D [3438 0 R /XYZ 71.731 159.313 null]
 >> endobj
-2256 0 obj <<
-/D [2238 0 R /XYZ 71.731 180.694 null]
+3475 0 obj <<
+/D [3438 0 R /XYZ 71.731 144.369 null]
 >> endobj
-2237 0 obj <<
-/Font << /F33 834 0 R /F38 963 0 R /F27 740 0 R /F23 733 0 R >>
+3437 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R /F44 1402 0 R /F35 1185 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2259 0 obj <<
-/Length 2652      
+3478 0 obj <<
+/Length 2222      
 /Filter /FlateDecode
 >>
 stream
-xڍYm�۸��_���Z��oW�A��9��;dۢh���h����Թ�_�!9C��X`-Q#r8/�<C��5���]�b��A������zv�'y��=��wd�=�z�dzCp�Ƴ��,Y�8If�8
-��h���k�>g���}�Y/����o���P�:��w���e�E���~����~�M���E�Hf�]�k��M��VI��?r��B��a�s����2�,�*i7�s�+�d�.2��=��х��e8U�D��Qp���{�$k?^e|m�)^�K�+�sqV��k��RxK�.Ye���+�VJw�\pDӂ���(8�{ԅs|YV�����G�,�(6[��n�.���s�gN���.r�y�U��N�.��lP��zՊ��Z�WJ�� .X��7(}r7���ʋ⵻��P%����a�'���S�Y�	^�xw�E��Z`�p��𪆷o��m`^n55�L�|f�ۄ�xy�� �"����G�U�( �(;7YeRjL�՜^k�9��f\��8��۠'M!����jE��D̅�K� ouM��lh7{Z���V��Zh��k�k���
-�4c�M�����k��7���e���C')���������o�(�e��`� S4��y�-�=\󋬽 �z�D�
FM�Bc���ə��8Be��d���2��Up���B(`Ј"��� g�g��lȄޖ5DQ��dդ�kY���Ns�:�gj�5��������{ ���5z(7VU�p��:�����^�k�] ��l5�p�j�X*�
��pc�:�ŎZJ����B#	o��j�N;��W'J�%�Ѽ�&�)���b���l�jV���N]���H���	7=��ʗ�E���*nm�L�(�L��d���,��)�r��zAA�.��~��T�
-+XA�\��!�0Qd��D }Yo�G�}>U���C/����rJ�Ւh�3�Ȱ��X��gy�־�a��<��*ˇN�"��*pB���-T��D�-ܬҍ�8��W�/�����?�8����0<�u\�Uf\��υ,��������A|mX!�1e4lj�}��H&�g��%E�Yvկ'���4̺H�����oFE�#k�7���2�st�(�0I)E�ۅ<�ͻ���_S<�Z'~l�ɬI�$�<�i!��3$|��E*ND�qן�����쮟5J�6���s�@��Ǎ<.�.�7=� �vC'9�$>��I^�״�"��)�Ћ'c[B��'�@+L��A�
-��F�fU(�teS������j:�|�Q�v-.���(h������j>{]�)|�%!���r7D�n�F�\��IE�k�.'��"\�ʎG���a`+w1�$N :=�q�F��t#Gqv�
-n�+9����z�25���g����Z��~3�Y�2l�n�
զ���ab}����O������̀W�C��۷��q߯c���#~(*S�&r����C$g��P�_�Ϻ�(Wy3��´��y��mį�<J�&��j241ʒ�NgA/gMōm�h���5��a���١2�[�=tL��>�Q�5@�Q�|��=q:]��5��eb�4Iso�v,|�kJ�B�
- ��"��$�P�jH��b�h�J
MO�WP�2��-h	
 �t�o�{�< I`�s��e��x&A�l��h�x�",	6AhV���Q����ͳ�c�1%R��uz`�h������4��+'5��\R�1=�/�F����4Z����^p�F.�����gŠn����X����ݪ��b�;����Ei38�HC���� � �{�#�ɐ��IXb*i��J����Wу%2�l|gc@��.M`�ƾDQ�惫��V�s{߾Y�YىS�Jӱ�?�O}*W�T�%w�����p��ֻ�NCU:m�)�����k��廇���V�����`���+mf�}���<�k��K�~��k��H{j^���N"��E�}�ӧa��{�dGX���q[J�<�@
-w:�=���:���m�������ȌO��������`�M�������Lk�Q���x:hڢD��Ρ]���ab��N���(��G��5"o_'���$�e�!X�k۞�1��o�9wa��G��$��x`�!&?��z“�P��������u�+�S�kCx�B�ޣ�*g%��6�p���zC/�v/�3<���H!SW42�j��^kח�]֞���4&���a��M�K�$��t0Ì�ж�ZaѲ����dc�R���L�,�7Ϻ��qF/͉����>T|X� @�����yv&�u��o-`6UFp;��S��W���K�[�I�:��DZ0�gϔ�a%�r�-w2�k\M���Z�G��䗇�U
+��߀n��?�\��l(����?ꦴ��`��.��M�Iv/�bG�9\$���9\�X뛸��ڃi��1|�6��*�Y=�j�}8�'K��t��g}&𾉪�s�d���Ú�TY�y��1�E!��+���Z�uS<��Tڍԏ�[����5+�)4ƣ=lCp��{�:��m�O���з��e�D[��.���J叝�^%�����}�{�u+2�l����
-%l�~�+�x��?�%;endstream
-endobj
-2258 0 obj <<
+xڝY˲���W���T%rDR����S�ĩ؉�rg���`���_�n��q�.H �}�q��7Y��/Y�����#}���a�ׯv�;���UB#"
�|uy��]����c���V�,���qu���|HW��?�%k:�n���[c��Qy��_��_EU��/y���/x�N��9��Mn�̨��r���q���.��n���?�v��Q�Kn^TO�^7�n��k&��m)x.6	<�Ϯ��I�7�a�e�m�M�4ϥ�K?7�m�ݚɎ�![Z�s��Y�G��${�0��#n�Z@�$��(>�k
+��U���N��w�qɮ`B5�#/y��~� 1��}����k	s%��d���s�z�J��-f4dZ�ъuBI]��f]�>��4챇�p/Xz����]�4���I��why@~����x�B��Mr^w��>�0�7S����|�g+
+^xok�+;���x��>+�\�n;�;W}E��Ҡ�(���B.~���4��b�w������5ؓ-Br��
MǤ��څ���>�_�v���
+q�?-o&B��hO��J-oT�'�eŵ��4LPk�vkL?
+X�]��9�����91y���@�!6�ٝ󦛐��FI>Fg��e�s�����)^����Va|�7��:F(�Xd�3�#��FzXE�1>�,8ߩ��	�ÏLP���$��E,JO{�DھYO�=�W�E�9�J�Q�]rV���o�b�pʆ��v���7��w�u�@����:4rS4�ӗ���8�GL�����$>��;��7Z����e��X;�;��y��vA���o���&�
�d���`g~����[��S�1��$m����8;b��R�����y�3I��^���W��֓ե��Bx"���m�!
+��2J�w�=�����������|��'��*���J�&���
+=UhC�1}���ޚ�����1��f���͵���֜d�|�؝��eA�~ނ(?��za��
�����8�Z@3(�FjYeF�v풼��;��T
+����Ú�Ť�YG4U�#Aӻ����=�ÎZu�2q/;������HS�yx.0���qq��;؏,1�2@����4.h' �&L̮
+m™+Y��n�EGC�/.�7ci_9}0�K2�|�E�}7+������|.��K5� ��P+,�+>(RPq�YxU�m�;��juǜpTn�*d<.�	��b��2��4�Iœy��&����|h��������\�o�^�v�ɑU���������t���(_i&2��
+�RI���N~�h�y{�q�	z��]�Q=�;V&��
+�����t'@��K��ݓ��顦���CrԐ�(�Hi؝����P��i4�m�����ĉh�Iȟ��)�c$�[/rF�n!��V}N�[�7S��sNȭSڅg'��!0�L��2,�1s,��e��99����wp��I��z�s�!�A�Oq�(�G��م?�G��HTX?P����,�D�@p��g�4��w����a#�+�z�K?������ր��v�Y�{��C�y0�A�ʚ��+hlF�d�ù����������I����
d��`7`sUu6�`����A9��X���Uu�J��&Ќc�&y_��SX.�1��m�@������=��)������^o��l��\��%w�9���e.Kr�ߛĜ@',��r�?\�/��52d�6™��o�+#昊5iV���p�y}����I3^����Ž�_8��z^����P}��[K^om�Ű#�n6�敽A��hOƇ�ȶ)��@�Vs����*hRI�»�ﳳH�Ͳ5aB-Բ�=h/�9�aj���@z|D��T������/ �Eũ���߽4nO{b�Ҡx�U�����Q�v�p�p\4gm���HN�V.�|ZRͽ�޼T*��3W}�wS\
� A��N.J��Ô���A����ܳta�1:�ІZ���>�4-|w�0/�ko�|ceQ*Q�jm�	
*x+��p+�p2���f���*�=N9k�j;���(.^��Zۙ�;H�r��3�xD#��t���)�i.Vڪ���V�G
�W#�XL�y��B(��fTt�<35�B_����OO��������x/�8�Q�Fce__G�Yȸ++� _�N�]<���Ci�����+Cf�*;��x��I���ѿ��+�èKYendstream
+endobj
+3477 0 obj <<
 /Type /Page
-/Contents 2259 0 R
-/Resources 2257 0 R
+/Contents 3478 0 R
+/Resources 3476 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2236 0 R
+/Parent 3436 0 R
 >> endobj
-2260 0 obj <<
-/D [2258 0 R /XYZ 71.731 729.265 null]
->> endobj
-2261 0 obj <<
-/D [2258 0 R /XYZ 71.731 718.306 null]
+3479 0 obj <<
+/D [3477 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2262 0 obj <<
-/D [2258 0 R /XYZ 71.731 620.573 null]
+3480 0 obj <<
+/D [3477 0 R /XYZ 71.731 718.306 null]
 >> endobj
-2263 0 obj <<
-/D [2258 0 R /XYZ 71.731 588.349 null]
+3481 0 obj <<
+/D [3477 0 R /XYZ 357.835 669.489 null]
 >> endobj
-2264 0 obj <<
-/D [2258 0 R /XYZ 71.731 517.893 null]
+3482 0 obj <<
+/D [3477 0 R /XYZ 173.678 643.587 null]
 >> endobj
-2265 0 obj <<
-/D [2258 0 R /XYZ 71.731 461.106 null]
+3483 0 obj <<
+/D [3477 0 R /XYZ 353.363 643.587 null]
 >> endobj
-2266 0 obj <<
-/D [2258 0 R /XYZ 71.731 435.203 null]
+3484 0 obj <<
+/D [3477 0 R /XYZ 71.731 641.43 null]
 >> endobj
-362 0 obj <<
-/D [2258 0 R /XYZ 284.626 397.988 null]
+3485 0 obj <<
+/D [3477 0 R /XYZ 71.731 626.486 null]
 >> endobj
-2267 0 obj <<
-/D [2258 0 R /XYZ 71.731 387.623 null]
+3486 0 obj <<
+/D [3477 0 R /XYZ 187.678 616.986 null]
 >> endobj
-2268 0 obj <<
-/D [2258 0 R /XYZ 445.066 364.912 null]
+3487 0 obj <<
+/D [3477 0 R /XYZ 71.731 565.778 null]
 >> endobj
-2269 0 obj <<
-/D [2258 0 R /XYZ 503.263 364.912 null]
+3488 0 obj <<
+/D [3477 0 R /XYZ 180.774 552.827 null]
 >> endobj
-2270 0 obj <<
-/D [2258 0 R /XYZ 261.538 351.96 null]
+3489 0 obj <<
+/D [3477 0 R /XYZ 391.53 552.827 null]
 >> endobj
-2271 0 obj <<
-/D [2258 0 R /XYZ 71.731 331.871 null]
+3490 0 obj <<
+/D [3477 0 R /XYZ 71.731 519.786 null]
 >> endobj
-2272 0 obj <<
-/D [2258 0 R /XYZ 71.731 331.871 null]
+3491 0 obj <<
+/D [3477 0 R /XYZ 104 483.088 null]
 >> endobj
-2273 0 obj <<
-/D [2258 0 R /XYZ 71.731 326.889 null]
+3492 0 obj <<
+/D [3477 0 R /XYZ 71.731 475.95 null]
 >> endobj
-2274 0 obj <<
-/D [2258 0 R /XYZ 89.664 306.132 null]
+682 0 obj <<
+/D [3477 0 R /XYZ 204.474 438.735 null]
 >> endobj
-2275 0 obj <<
-/D [2258 0 R /XYZ 71.731 298.994 null]
+3493 0 obj <<
+/D [3477 0 R /XYZ 71.731 431.382 null]
 >> endobj
-2276 0 obj <<
-/D [2258 0 R /XYZ 71.731 298.994 null]
+1246 0 obj <<
+/D [3477 0 R /XYZ 71.731 388.558 null]
 >> endobj
-2277 0 obj <<
-/D [2258 0 R /XYZ 119.054 288.199 null]
+686 0 obj <<
+/D [3477 0 R /XYZ 275.232 345.461 null]
 >> endobj
-2278 0 obj <<
-/D [2258 0 R /XYZ 147.008 288.199 null]
+3494 0 obj <<
+/D [3477 0 R /XYZ 71.731 333.289 null]
 >> endobj
-2279 0 obj <<
-/D [2258 0 R /XYZ 71.731 281.196 null]
+3495 0 obj <<
+/D [3477 0 R /XYZ 71.731 296.215 null]
 >> endobj
-2280 0 obj <<
-/D [2258 0 R /XYZ 284.172 270.266 null]
+690 0 obj <<
+/D [3477 0 R /XYZ 174.075 258.626 null]
 >> endobj
-2281 0 obj <<
-/D [2258 0 R /XYZ 401.68 244.364 null]
+3496 0 obj <<
+/D [3477 0 R /XYZ 71.731 248.483 null]
 >> endobj
-2282 0 obj <<
-/D [2258 0 R /XYZ 76.712 213.479 null]
+3497 0 obj <<
+/D [3477 0 R /XYZ 71.731 231.363 null]
 >> endobj
-2283 0 obj <<
-/D [2258 0 R /XYZ 89.664 195.547 null]
+3498 0 obj <<
+/D [3477 0 R /XYZ 71.731 189.585 null]
 >> endobj
-2284 0 obj <<
-/D [2258 0 R /XYZ 71.731 188.409 null]
+3499 0 obj <<
+/D [3477 0 R /XYZ 71.731 143.692 null]
 >> endobj
-2285 0 obj <<
-/D [2258 0 R /XYZ 71.731 188.409 null]
+3476 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R /F44 1402 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-2286 0 obj <<
-/D [2258 0 R /XYZ 71.731 171.225 null]
+3502 0 obj <<
+/Length 2299      
+/Filter /FlateDecode
+>>
+stream
+xڕYY��8~ϯh�%6��Z�����l/z�A�7�bgh���H�������[�*R��Y4Т(u~��o���l�`�#��zu����7G���U�#<d������>���.ح���M�A�^�l�(خ����?��'q6R��j9[��W�WGj�k��E!��}�ǫ�g��*��m�S�ܘ�PѦ���q�X��T��ռ���y��q_&[.�Jf~KZ��p&A���DţN����O��Z^�<+m^��������Kn���ҼH�������|�Y��h7��wBϓ�{{�+���,�(رٽ`_r�F�m�Z~VF��?P#g]TU\X�y�&��3�b_����Y�Uo��vf��s���V�<���,���N��$���l�z�X��Y��(����u��\�,�5K�*�Uἧy�a�[��jY��q��g�0J_~��E��:�Z��P�:i�Oy)�׌jM��3$`��~��΍O'R�;ٰ���/�^�Q�RN�r]�>T�dZ|&�XkL5X;��Ul�^aD|�-���K�<���0/Za����v"����(�h5{�b��P�A���1~�U&�؋Z�Mʳ�ԴF��I1Y$g������i�A�K�����S}��,y����}'	|"�*M#��y�S}-[�/�e�o��V5�>��PN
4ѯ��a���{R8��1��i��iY��1����S�ZeM�b��4'a��WNeQA�8�����Y�b$�vT�)�C�<b������Zz�؈[Ҩh�X7	Ђ%��RYy�{�
+6,Z�u7�����n54�i\�����VQ��jp���sV+#���7��n� ��gj-�NO-Tl!�-R�����h��2T��8(�~\�
+�e[ڼp#4I-�$VL�:�c�q�����i�{�[���"+�*���5v~W�D< ����<����8
+BY��߿N��l����`Z#��zc�FN �4�5^�v�Wd�V����������I2��Ȱ��D����N�� ��Oc\^87%�`�l�9G�*�q�?�q���+_�{q�l��@�(�h��ō�4~[��
+|�v����y��+W� ۑ����J�r@u�G@h�w@d"�'DA ��QJd~�ƨRX:�jFS���;z�D9�^�[��A(�\5P�|\uV��2c�{��[2�Phc�ȱ�tv���9���Au��g5����)D4���4��Bկ��5��g����&FM���-�ŕP.H;�S~\�@�
+���8�c^qQ.A ���BS�幗���k�7���04g�R-���Ꞙ��ǁ��آ�����HZ��k�#:�����hfIݬ�X)h��
��<��-iM���$�ќ�Ĝ�b�	Vwӽ�r����n�o�/�p�����~�;����2�����I]	[mց>5���Gͭ?�ҙ��uو&{����Y����� ӨZ�X����8	�M�=��`����	!0�hg���<��:3�ɢ�·�:�����[5���~G����Uy=���`���ی����Н`��常&};��0a~�,(�O�E����
+�,�|�~�P��m	
8����	懙߈s!��h�x��*$��k��I;�((�d���dGK\k�-�v`p��&ʨuS�<������)�qg,���
+�5�\���wO��O�ٷ�&������@`����������-O�B��Ѩ��Gi�ʞ������o�ȳ�3rh�;D�ꓫ�,�ˌ�����ݛ��K5���ʲK��Ĩ�iIY��G���~
+Ў��^�$s
+��;��,;���ݽM�R3m�S�؅`�j�ӽp��i�����@R�%&Z�zȺ'��8�e{�c��!�h��� Z�!��G�N�����sq�HK�3f�=���ݨ��,��k��:g��U�h���k��x;6$����΀����u�v���F�,�|��xe8��p�6%$���\l
+ӹ5�dO�k��k��)������qK��耧�
|�`E���x��&f�E��Yɨ3�p�B똷<�9!/V�'��	���z��]nzߩ)1(\��8����\�.D�/�O����R��g�,��W��S��>њ��RC�����;K
���� ��EY�?g�.M?�"�PX���f7����!*�4b�N�!�{�O!X=��:�$od��k��L��sW�(o޻��^��.럴��eo��7~���B'�N�.�w��ߵZ��O��-K�ܔ��L�?w�T�6؆�����������2r�������j���;P)endstream
+endobj
+3501 0 obj <<
+/Type /Page
+/Contents 3502 0 R
+/Resources 3500 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 3436 0 R
 >> endobj
-2287 0 obj <<
-/D [2258 0 R /XYZ 159.123 159.681 null]
+3503 0 obj <<
+/D [3501 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2288 0 obj <<
-/D [2258 0 R /XYZ 304.466 159.681 null]
+3504 0 obj <<
+/D [3501 0 R /XYZ 71.731 741.22 null]
 >> endobj
-2289 0 obj <<
-/D [2258 0 R /XYZ 71.731 152.543 null]
+3505 0 obj <<
+/D [3501 0 R /XYZ 71.731 718.306 null]
 >> endobj
-2290 0 obj <<
-/D [2258 0 R /XYZ 71.731 152.543 null]
+3506 0 obj <<
+/D [3501 0 R /XYZ 71.731 664.409 null]
 >> endobj
-2291 0 obj <<
-/D [2258 0 R /XYZ 119.054 141.748 null]
+694 0 obj <<
+/D [3501 0 R /XYZ 165.31 625.136 null]
 >> endobj
-2292 0 obj <<
-/D [2258 0 R /XYZ 76.712 105.883 null]
+3507 0 obj <<
+/D [3501 0 R /XYZ 71.731 617.783 null]
 >> endobj
-2257 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F23 733 0 R /F38 963 0 R /F32 747 0 R /F52 1222 0 R >>
-/ProcSet [ /PDF /Text ]
+3508 0 obj <<
+/D [3501 0 R /XYZ 71.731 597.873 null]
 >> endobj
-2295 0 obj <<
-/Length 1252      
-/Filter /FlateDecode
->>
-stream
-xڍWے�6}���ۚ�@�����N�ɦ���-�J� �2���/����Ѕ�{�U���ݧO��E���l��K#��{/�%��y�7|��C����������h����hs(7��zQo�(��$�����'t�9n����S�ǎ�N�J=x�U�9���5r�>�����zN���g�Mrs�.�6A��D�3Q���R�����,�l`1P�~B����d����֘K�`=c�7n�y�p?��ؠ��X��N������ղP�!h�����nj`����ٙaT�Ƃ��ma���ER��'ȶB=:j�R�(%1k=L��N�G`T.Lv�8M)�M��)!�l��vF�ԅ�����G�
-G���KS�J?Q��}�cm/���6:'.��Z}Wٛz�o�l�s�y#��چ�-jdb�#c��>�a4M
-���?�U$�
-�3�.�A�dD�>0�u�E��8�pab� b�}���.�?��5􄤊
-���
6xq�q�����I+Q�')�� �]�
a�u����p�����|{�ٗk���!��1���/w����z@B����V��8�2:��\g/����A� �D����y���mδ�$��$|�m��|h��%�uQ��ɝ�*F�3��;*=��B�6�"�n�r|YS�9T߫�i[���q��6jL������B+�ŗNw�{$Ό].փKȒ�R�gs@N*�A�p����3Nh�
-��TH���.H���꼛�0�a�lj������~�$��I�J'=�=,�e޴/��a$�
���8
-��~�(���]��y�X>k�2dW�B8x�C��KF΂H���+��/n�l���["�3����x��T���g����=�N��ο����	o𣏕3i���`�$b.����cq�Y����6G���9=2���:�
�
-�4
����0��6W�3lk��	��P-U�X�@<yq���G
-[��p��f��l��hV@�O6�yf�� �%�i!��`3_ΎPJ��7�I-�gg%�c��3�Y��Z��ct0������ik�)���9HQ�,^�8-B�R��9>���$��	�b�q�\U5Qx̦�ε=a����p��J�T*�,gC��@i��g�M�	�^VO�
-���V����v�3��$��5�Vby~����v]�9�%_a�J7��y||���v�э�(DL˕;w�j�_���˂��[��ziM��	4bx)^z���?��yendstream
-endobj
-2294 0 obj <<
-/Type /Page
-/Contents 2295 0 R
-/Resources 2293 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 2236 0 R
+3509 0 obj <<
+/D [3501 0 R /XYZ 71.731 548.125 null]
 >> endobj
-2296 0 obj <<
-/D [2294 0 R /XYZ 71.731 729.265 null]
+3510 0 obj <<
+/D [3501 0 R /XYZ 71.731 533.181 null]
 >> endobj
-366 0 obj <<
-/D [2294 0 R /XYZ 257.368 708.344 null]
+3511 0 obj <<
+/D [3501 0 R /XYZ 71.731 482.072 null]
 >> endobj
-2297 0 obj <<
-/D [2294 0 R /XYZ 71.731 699.706 null]
+3512 0 obj <<
+/D [3501 0 R /XYZ 71.731 436.08 null]
 >> endobj
-2298 0 obj <<
-/D [2294 0 R /XYZ 71.731 682.277 null]
+3513 0 obj <<
+/D [3501 0 R /XYZ 71.731 386.331 null]
 >> endobj
-2299 0 obj <<
-/D [2294 0 R /XYZ 71.731 682.277 null]
+698 0 obj <<
+/D [3501 0 R /XYZ 211.497 351.96 null]
 >> endobj
-2300 0 obj <<
-/D [2294 0 R /XYZ 106.501 671.482 null]
+3514 0 obj <<
+/D [3501 0 R /XYZ 71.731 343.323 null]
 >> endobj
-2301 0 obj <<
-/D [2294 0 R /XYZ 71.731 664.478 null]
+3515 0 obj <<
+/D [3501 0 R /XYZ 71.731 287.039 null]
 >> endobj
-2302 0 obj <<
-/D [2294 0 R /XYZ 234.877 653.549 null]
+3516 0 obj <<
+/D [3501 0 R /XYZ 71.731 243.203 null]
 >> endobj
-2303 0 obj <<
-/D [2294 0 R /XYZ 71.731 646.411 null]
+3517 0 obj <<
+/D [3501 0 R /XYZ 71.731 212.319 null]
 >> endobj
-2304 0 obj <<
-/D [2294 0 R /XYZ 71.731 623.497 null]
+3518 0 obj <<
+/D [3501 0 R /XYZ 71.731 181.435 null]
 >> endobj
-2305 0 obj <<
-/D [2294 0 R /XYZ 71.731 301.37 null]
+3519 0 obj <<
+/D [3501 0 R /XYZ 71.731 163.502 null]
 >> endobj
-2293 0 obj <<
-/Font << /F33 834 0 R /F23 733 0 R /F27 740 0 R /F38 963 0 R /F32 747 0 R >>
+3500 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R /F44 1402 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2308 0 obj <<
-/Length 1856      
+3522 0 obj <<
+/Length 1480      
 /Filter /FlateDecode
 >>
 stream
-xڥY]o�6}ϯ��R{p<K��64ݺe�:u�
�(h���H�+R��_�K���(��6�A�C]�{�d��~��&�o��H����z�UW�����UbW\�%�ޚ����������f9��G��f�\�F�e:�]��m���eA�����t��������JTL2~0_�7���d�ʒL���p�����^n�w�ˋ�p��]��С����G�4YON�fT����*����<�X,RZ����su׭�M�Ť9X7_E�Q3�k��	�f>UB*k�X�ٕ ܼN���%Uӥ��&�5�|��UM�Ϊ0`Ik�lwr^2�J��� �3�/u�-��7��4i�js,�V �5����DZf��aKPr��D�X�R���O��Ų�?�Qp�|nVn&=4�7��CM*�-���`��Ò7��^�н?�{��4]O��sXH��%��
��^���S5�,Oӛ�d�5�~�#bҾX�]z2g20�o�#��R/�0i�MM<��2 EEpVO,Y�����hR�,|�� ����I��ھAKi���TFdTf9=R�2( Vho<y�W�;�_`&�BH�
-�Rg˫M��T�6�q��^�^,&/l`�^�����zN����U�+
ǸTZ��t �rtM$V��UX��o�C�=)\"=H�R6���/�dN�����=&mXeD��&\�D1���G�d�!���sBWG��X<��q9�{��ah��ӛ_~��P��q�c�"�Q�@�+6X/zK��k��j�� �����Ԑs���޴��F�IY0�@]�$��e�T����b��#�|���L��r-�j��kU�#�Ȓ����4
-�!�}1�0�7N�+b~��7LYM	N&�y�:XC�}����+�Q�[=ܟuaO�1�F��}��FU5Y@��;SYQ���W�B��o����κ��+Y?%��'��I��6�T�B�f
/:6 �$6��!�՘��f6LU�q}pD���o��x�"Ĥ�pY���y�׋�~���>tĴ{c+�VK�]ES|��Fң�a���I����?ʱ�#E��Y���)�DT ��$ߗnª��y��ڇe�iW~�;�4��>�m�����&��h�i�p��4̸�I�J"�����p��yq��I�Hډv�s�m�`Vj��ڟ��1]��./�1�N���fG���H�����[ޯHOΥ��POy�V �]�b
-Q"���!u�ݻ�v��P�E� ���OL�vr�����z=Kq`���n����A#�������F��X_��&���7cLE��q���ufk�x��g����W�FNa�|�Awbǫ�!��Ѭ���������%2�n1���X��ÀWh[���WN���b�;ԞƆ�� c-BG+翏�Hz��jDW��
-���M���&Gtw?[�"�]��燜�k���c�ٍ����G�O�0F�;c��v_��]oգKw��ά�6��]��+8_�t�W�ž�P�G���|�{�<S�&�i}���	���!x�Kl��x���A�	�
�߳s�;�U���q��Yآ~�#�v��P��k�n�=Ӆx����)��{�S���Hr����YW-O�)�<Z�5E6��%X�3�xT�W��f+��]���~P����Pex(�>ξ�f�%�΍�E-��>#�+$ы����%q��H��3�����~�e���]Z֕�<��+A�S���%|�W�%��<��|�%.��:+�ݘE9������u6��^���E6ǣ����53{Z;GC�v����^��n����?�%�����9Ltv�vx���W�p������endstream
-endobj
-2307 0 obj <<
+xڥX˒�8��W�X�j��h��M�ӓ��,f3��T���٨A"���
+=@���`Y�{��+,|��m�m#��{/�ċ�|�/N��7�ܱ�[փ=7��h����hq8.�ȋ6��6
+�].�g�!G5��rƾ����Jʓ��О~��@˯�O7�am��.z��3F� ��q�Q������u�6��0lw�C����_x��E|�1$��ƌr�`}ۇ�/���ۇ���� �ݪ���Uܠ�V�.垰�/�2~�K&���]��tk�Q\�U+�WuO�2���/���儮����OjU�t���K8�V�RکJ����T�a<C]RBH����B����Ta�C�땁�b�,7���uRBO�J��%�
���H���Kl����\-"�[|����V��E�d,��2�T�Ug#A��UG��gdeCͫ���R��]?����Į|���:�W?�����):�&��w��L�^�9�?��-C����,�Gn�g8%��y�qs&�~R�t5W�3�UGn���:zeE��M���
��[\���LEo;����辮&�W`Ju��Ȱ�¶`
+.υH�j>X�ԓ�ڴ�� ����`(YR���vOӒ^ɹ> ����8&�|"*W*�!�R���$	�2�ғ�ʷ'%O��c(��Pxjr��T�Cϯ�1�=HΉ�YA��N��`m,4<,�4��5)a��WY
+��@��
+���pf��A�R� "��̅�#jW��H��=K���іz��0�)HF�Qv&%��g
bʤ�K�X�[�i7~�S&}~��	3�vy�\>ꌗt�
+��;յ�����Ti�X?7�p�����I�޹���yg�(�qb�MS���hP�V;��̌G?;�	f���&��c�щ���ez�㉢�1*�i
+86�Ս7X��ᣢ�?|�L�"�kZ�te�k���-�r�p�#4M�`����ȇ�*m9�:�Ě��DΊK��W3�_t�u|B�0c�h����k ��iĤ r�>P�sn��JA=
��b^�(T!p5���⒓�ױ>$b5�Չ�	�\+�1�K�a�~��-�"�ࠬg@G4���i�2��@�Ȭ��u�.�sN6�H9��o!ʭ�}��^D�����\�I�x�ƭϖ*8�kO�&�R����k���uJ>#r̐O.>�ȞW��p�㞪�e���5���&�U������H���ngz�i�;������܊%�"T�����|�/� ͓�G\C@�̔�ш2���9iyT�+�D�8�|B����h4�����@xW��q�
�����6�J��gq�����!��2�$����/�e��+!ځO�2{��^%��a�{[y�oC,3��U�A���!�]�[Q5�O�������فJ�ތ��������|�c���k��o��������Ͼ�뷌^�����Ce��߆s��ƞ��I�endstream
+endobj
+3521 0 obj <<
 /Type /Page
-/Contents 2308 0 R
-/Resources 2306 0 R
+/Contents 3522 0 R
+/Resources 3520 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2236 0 R
+/Parent 3436 0 R
 >> endobj
-2309 0 obj <<
-/D [2307 0 R /XYZ 71.731 729.265 null]
+3523 0 obj <<
+/D [3521 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2306 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R >>
-/ProcSet [ /PDF /Text ]
+702 0 obj <<
+/D [3521 0 R /XYZ 255.599 708.344 null]
 >> endobj
-2312 0 obj <<
-/Length 1377      
-/Filter /FlateDecode
->>
-stream
-xڝXMo�6��W8�D*bUVlg�.�۴�E�K�E�(���ȢW�⺿��8C���E���͛7o(G�P�E�U��o��&�e��p�����"�X��y�����$�m��M2��f�p$��l���:�g��w�}A���"NCo�����|���̍w��?~䱲$��.�6r����:y���W:L2\� 5�C��&��,j�<xA�?B�*'un�2�W��0~jj"��}V�w~z$�"�9(d�`&m���i���5���_�a�m&�q�<��ȃ�ԏS�ŏR�֧G�����0p;�ZR��߿�Q�]X(P�yiV�(�MM��&��Q�R$Q(!.o`!ߙς�q���Jq��'�3$G2���QC�'�8X#�Z	Y��M1�Dv-��/���r�8[~�-��@�V-�G���6���f�\�H!e��'(�e�뎷q2�ˆF�{VRUɊZ�W~���V�����8��P��K9$���t�����@*�F��1Q
@˨��#���Bi�P:�Ďj^�4%��"��ோ�)�=K��H�ԒeMIjM�R��A�F%)�,��ω���`P�ǰ�P� pU�*����%�b�����Д�����NE5F��
���;����E��dZ��|lt&.�����X�j�T��B�CI�_Iug�=�A%"��K�ߧ0
M�L�(
-My�4�Օ�=�~��v<ifĥ�3���ҟ$��5j&OP��(Z��|V��x�O�|��|h����v���V@&��n�\iBU�j9�]c����)O]���t���ɿI�)�˜J=(\:�7%Ab�֙vN�L�o�˚=w�mh�����ˬn��E�L�u��J%z���;�q�^?:e�_b����Z�&�-I�V'/s�����h����[�x��ybk|x��U��Ҥ�������N��:� �/�&���j�ddK�k��@�Kw�.�v/��I|.������L3^X�эw:����W6�j`ld4�\'��
-U��ٳSG���f�ț��� *;K�X�;�Y�$a�pK�,hu�N4|��7 ��omN����R�]E~sFW�)�Ч�A5H)�d]���r"�0_ �|�(��ɔ���e59��b�Q�t;D�\/v��XNIG�{xu=p=V�ח����9Z�|�۝� +�����I��0]W�I�e���"��Rv��)��]0D֨#T9lZY��ҟ��)d��쒬�B���z5�U��[�=ZB�D�t�X��vɤ��,u${�?杩�ܴ�����]W?;�_�^�uzW/I�+=����{�RM�h��oݒ�Oi��3�
-��29�K�8ҿ�`{;endstream
-endobj
-2311 0 obj <<
-/Type /Page
-/Contents 2312 0 R
-/Resources 2310 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 2236 0 R
+3524 0 obj <<
+/D [3521 0 R /XYZ 71.731 699.706 null]
 >> endobj
-2313 0 obj <<
-/D [2311 0 R /XYZ 71.731 729.265 null]
+1247 0 obj <<
+/D [3521 0 R /XYZ 71.731 605.564 null]
 >> endobj
-2310 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R >>
-/ProcSet [ /PDF /Text ]
+706 0 obj <<
+/D [3521 0 R /XYZ 159.597 562.467 null]
 >> endobj
-2316 0 obj <<
-/Length 1667      
-/Filter /FlateDecode
->>
-stream
-xڭXQs�6~����b��(pG&㸗��Nm'yh:��1�u����
-���d<c8!�O��~��?��ϟ,|w1�K�r���$.�����=�Ռ��2��y}{���l�rW�g���d�-��|>Y�w����,�v�T�4={���Y�8-2��[9�����v�����oG�[�s8[����Ip8g�.X���޲)�{�%)!0������eS�B���.'p;_�)����^L�(����b�P3�rC-��ǚ�%�
Bw��ө�HC<Uo�Ah����M*��ge�Yp:\�;���7��c'm��;�g�juT"��OT�r2��*`Y�+��1�hy"�Ee�n�Ҟ��$D=�T^�4*��`��U�7P5�"��˖">��yI,sI+��**f�i	�����ȀM����D�'g���/�0�����˸��:�Z�TE���ӈ��XQ�̔g�L��<�zB�BrǴ����-���d�i�ė�#��X��OX�
-�I{#L��cv�Ro�4�i�Ǖq����.��R��x��|MJqx�u��/m�d��%x,��۲߲��|�䊔^���m�� Y�?l(@�1T�?��t$������SX�!,2�c�4(?�YN1К�m^�e�6Eh�P�C���L��l����$e]��.Ϯ.ߜò��ֿ�8�>�\Rw�77�o/������u�����߳?걏�����͹9�����������?>`�V���\�ݩ%,�J2�$"�Ɉ�f�.�[�	���
�Wz�fX�jC�,Li�����~x�7�_`P�u�EU�����N�t���;b�P�a����%���I�#/�*3�.�k%j�4C!:���}�33���*�1��%�#��"eaz���R��oD)�;�C�&��
-=R�%I��;�Xv�g�=�~D0�O߿�v�}�20���P���zR�ܯ��酳
-����Y�h��*�~C�^�]�$���}e��e}���Dȇ�	_�����G	�("������S������]�$@�Ϥ�4�Y�J������䲓���)�xZ�����af�ZPS�j@h�ul�X�b�QwG6z
LzӮY$lF�T����N�/�k�81�$O4�՛|����A���t��n��6�3$����F�ŵ<<�l�M����>��"���0�S�O�%�WѸ��b�eBl��Pr�Z+,��"h�9���D�U��	���cY��ʪ(
-��9hot���4��ZvwѶ��2������:*:���{��
,<�a��W�@�@W�3ޚ�edwmi��q!�C�`qJ�a�Xn٫�'u{A�}���j7�Ŧ ����v��	U����+�'���wp�A�1�	h��B�i�1K+N�zB�������4lD
�j�0Z�^�	j�����0HVӶ��E/ifuE��-�bhv�`
-R��g��QB�*N���#�Os��z�~K<���ʉ��B�fj;�G�xr�ԉ�t�C�U�<�{
-�i��n�X��٠���g��p*z?�8$�q��u'0�C.�/4O\�A�3�띻ˇ�vTs
--"1�!Ǻ���'N��'��l�(hԯވ�V&F�*ۦ�U����X7_�K���v��{d,]Țj�8�|~���p���Qrendstream
-endobj
-2315 0 obj <<
-/Type /Page
-/Contents 2316 0 R
-/Resources 2314 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 2318 0 R
+3525 0 obj <<
+/D [3521 0 R /XYZ 71.731 550.029 null]
 >> endobj
-2317 0 obj <<
-/D [2315 0 R /XYZ 71.731 729.265 null]
+3526 0 obj <<
+/D [3521 0 R /XYZ 71.731 520.818 null]
 >> endobj
-2314 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R >>
+3527 0 obj <<
+/D [3521 0 R /XYZ 71.731 489.934 null]
+>> endobj
+3528 0 obj <<
+/D [3521 0 R /XYZ 71.731 433.147 null]
+>> endobj
+3529 0 obj <<
+/D [3521 0 R /XYZ 71.731 415.214 null]
+>> endobj
+3530 0 obj <<
+/D [3521 0 R /XYZ 71.731 384.33 null]
+>> endobj
+3531 0 obj <<
+/D [3521 0 R /XYZ 71.731 353.446 null]
+>> endobj
+3520 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2321 0 obj <<
-/Length 1814      
+3534 0 obj <<
+/Length 2140      
 /Filter /FlateDecode
 >>
 stream
-xڍXˮ�6��+�l"1��egy�$H��}��%�b#��H��]��;��37MגI�̙3g�6>�6i@���'�MV=�77��ݳ�W�p�n����l�6�6'r:D��u�)��x�F!9&����.h�X�݅�����}�I%*.y}3/��?���eI�������,'QJN��I�욅wa�	R�v�F�'$���w19h�ң��V��Re\�ڥޟ�鑫�|:�݆���>l#ߣ:4�Sw�v{�=!J��0�c�����]t"Q9�������#�I��\�ƥ��݋O�#��.T�ܼU���t}Ekz����
�9��H����5��"����A}�?}|�S/�k[V+���mk%���ǻT�����$��vծy�����	SW��?�8���ҸI��\*`�h����E0
-���p�BrB�g�V�͂hX��J�$U#��WD�eL"bu��Iֹ��Y*�Բ�*j�6r����y�������Y>ލ��KK��j�g��t�tp>FeP�5U�v���l&��`�Ƥ��9��flƈ҅�x5�R#b>=����K2N橔+
-z$�.j���*��*>&$���*-YXc�]�-Z�jv��뼍�$g�E|yi�I�x����aEGcہJ����E�N��ܢ
-�*SI�բ	)IA@Z�O�z}��hѲ�g��Y��.8%�t���];�Q�@��t�Սe�sS��0K�e�����`����Uaw4�o����#͇�7�X\� ���$�o���/�=�)���WQ�bT	�p^�|t��C�7v��}��]�m���e5���f9x�v��3��>�Բk���-�]tN��Gf-o,�@D�D	L�ײ���c��n�m�x=���u(�)t����2�H�X��ѯ`�<��~�W�\���QG��k�o���K�r����.���4N`�C�ͨzo���יw[�����<ϖ�X'��3��W��}鬾����fЁJ��z_ɿ�����9B��*p���: ��/H�?�*�����4�R�Έ�����v���`Rp炵l6�@]f�дZ)4�lƦ��#Ee��j%tx��L䶛�E�єSs�9jNRE+�[��5�|�[/���>5��j'k`/���ؒ�P�W�q��W�}q6�E$��].��XM���*����d}��i{��ޏĬ�j:�~L��=|���ߚo�QP�:LW��a�ruf�iAG`�_�y�����Q.C�>�Ǣ��=�7?�8W>��ޫ�t!����}�hG�U_Z!>�}�����ޛS� n�Hڔ����X�@᥆*�,�V7�F����Z�iz n�VTS��sE�L��)�:h]�Y�c�P���<��¦�K<��ֿ�7���׈��4�_H��Ң9n����~-���L}Z��C>!F�M�
U�4��X=�+��El�$0�dR����9�ve�ag���Oe��-����`}���ѽ�ѬX�Rv#k�ӁkYˮA�]�q�d��=�몫�}r3��:+q"iG���8@T�yș��"T�Yǒ�@�R�dv��I�Q�@���
�q������9�r�u:�̺q�+���%s�;�|��"�YX!��
h�<p�q���k��)�r�O�cT�3�tt���<����Mi���Y���ٛ��O.?�B
-n��jr\��n;K[�mm��u����ѻ�u[�Ŝ)�W�h�9r�rZ���Ph��Ò�eYz�K�$ٍ����^��`�f.��$�z�1H���pX���0	���!=���෴�t|w�endstream
-endobj
-2320 0 obj <<
+xڝYk��6��_�~�
\�zX��ضI�I�.z�}���bA[��TW��:�~����ܤ�����8sfH���E�I�`�q�8�ϼEo�~���8v�(���K'
+w�
�@«���� \�G���dW�B7��>�����̫T��r�d�|��>�f��>��`���j�-_�6��������b���P	�����}.Z�y0)���(�I����E�r|�[�[)�J�nv˪����^���������h�*�����4s�9>��)w�~a0�/pw~���]��W�a������A_/�0p�I��|��pFA��'os��ȫ��Dk�cS��FV���$��U)o��8(��!�a�Hȝ���:q�S�A�����]w�-���.��G�SR.�(p2-������r���h閵��_�u���l���7�?���|̝��u�Q��\�%�*eɛ��0��Iw>�
�?�V#������3�1s�i���E��������\��8$�`Т�ɪ{f��`UJHN����H;V`>\r4:gJa�����!'7(Oփ����t���B�CI�Im�d;�/׊ꝵﳐ���'�����g�^I�W*JC,��hjP�z��%@��۷��YSwg��z��t��`;�<T2��/��0v؀���z�;|�LQ	,Uwmh�)�(�j�
+�es%_A�I)tB�ۖe|���=��	V�U���
+�Y�	u�U���@��9����&�
?��J��V��\?��M��	h6BǮix%�+Aٚ3�;kf�#�
|<���H��ao
+�&;4%�?p��c{����?�<�o�E�܌ΊaS�Y�
+�'I����ޔ9���/�|��z��3�K�A1��MF�8�`����l�-���!�`4x��"[w�yp�eN��X1f	UT�d�@�����5�O�z�;�26K��Օp3�A�N3�=�%ߋ�B�)�R�(:�L��Dd7Y�lx 2��&�s�s��p�`�� e�
+�᥄�ϔ%�Qt@mL�~&���x�[�r����Op�`����������?�b�-���ƻxR�7������j?�B�������aA�ŋ�Ikb�U�0��TQCejאN�x^P�Vs�ߋiC��Mz=��f�ƻN5!2|�b�j�O蓢?�'�v�o�%�N	q��TJW�M�;eY�$;����Iw�EGV=W�J�P�A��gЩ9g�#kG]��v	�ڈ�&��N���
)?A���Ђ�Nz�
+Ƞ�(��
~��n�Љ���8�H�Q�o[SK�uw�i�i[�QܷGc;��T��Z�bM�Rg��f�ԍ�DE=�dNB¤ٔ56e�Ì.�>ʚ :�F
ZbP�V����:֛S��z�
+I1gMJAx ����
+'H����p��@��p��HM�Y�9)��@��a;q&���D	o!@㾸���J�.��M-��{��
n����0�,g(I���6�\��U�����©��J[���e@h�yր�`�m� �B�n��YV�q�l�NG���U
Z�fZ�[�y��4�9�v�3{���˙:��Ww����JɀӠ
S��s�=��N����|s������NP�2���4M}/G. �l��Z��}G`����>c��L�����"����o����zC?�����&4���9�9@��:�ۭ����;�>�ʷױ�x>4!I�CU�-��Z/�����M��6ee듪��Jv�M��=�"pJ�MB����IJ��6b ��l�i���G�����a���j:pE���n,a`���L��j��LwY���u�
+#���dž޿i������Ȃ�����E��'j��ң��xM�4���N�޲��/Ň���<[�}6}Mh�Ί*XMΨ�4\7
S���a���j�ߓΪ�����o)hRdT�|6�C�K�fPu�s|B��1�ʡ��Z>��Oy��c$�4�#�G�:���~Ӣ���Bh74s�
+�
+���+���/��?'p�J=����Y��qx�e���|�R�юy����+�7v�QM����':G�If'�����k�T�4(�J�HڥK�0Oa�ӷ����oxz���$G���B�V�a]%��Kͱ2������P��Of��/���C���&
+����$�.D��ܮ�Z��endstream
+endobj
+3533 0 obj <<
 /Type /Page
-/Contents 2321 0 R
-/Resources 2319 0 R
+/Contents 3534 0 R
+/Resources 3532 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2318 0 R
-/Annots [ 2325 0 R 2326 0 R 2327 0 R ]
+/Parent 3436 0 R
 >> endobj
-2325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.913 644.094 398.243 653.005]
-/Subtype /Link
-/A << /S /GoTo /D (cvs) >>
+3535 0 obj <<
+/D [3533 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [485.445 618.191 537.983 627.103]
-/Subtype /Link
-/A << /S /GoTo /D (tinderbox) >>
+1248 0 obj <<
+/D [3533 0 R /XYZ 71.731 718.306 null]
 >> endobj
-2327 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [71.731 605.24 267.724 614.151]
-/Subtype /Link
-/A << /S /GoTo /D (tinderbox) >>
+710 0 obj <<
+/D [3533 0 R /XYZ 366.546 703.236 null]
 >> endobj
-2322 0 obj <<
-/D [2320 0 R /XYZ 71.731 729.265 null]
+3536 0 obj <<
+/D [3533 0 R /XYZ 71.731 681.855 null]
 >> endobj
-863 0 obj <<
-/D [2320 0 R /XYZ 71.731 718.306 null]
+3537 0 obj <<
+/D [3533 0 R /XYZ 71.731 671.343 null]
 >> endobj
-370 0 obj <<
-/D [2320 0 R /XYZ 449.605 705.748 null]
+3538 0 obj <<
+/D [3533 0 R /XYZ 71.731 666.361 null]
 >> endobj
-2323 0 obj <<
-/D [2320 0 R /XYZ 71.731 701.917 null]
+3539 0 obj <<
+/D [3533 0 R /XYZ 71.731 661.38 null]
 >> endobj
-374 0 obj <<
-/D [2320 0 R /XYZ 159.442 666.375 null]
+3540 0 obj <<
+/D [3533 0 R /XYZ 71.731 638.889 null]
 >> endobj
-2324 0 obj <<
-/D [2320 0 R /XYZ 71.731 659.023 null]
+3541 0 obj <<
+/D [3533 0 R /XYZ 71.731 615.552 null]
 >> endobj
-2328 0 obj <<
-/D [2320 0 R /XYZ 71.731 600.258 null]
+3542 0 obj <<
+/D [3533 0 R /XYZ 354.338 599.776 null]
 >> endobj
-378 0 obj <<
-/D [2320 0 R /XYZ 141.108 563.043 null]
+3543 0 obj <<
+/D [3533 0 R /XYZ 71.731 597.619 null]
 >> endobj
-2329 0 obj <<
-/D [2320 0 R /XYZ 71.731 555.691 null]
+3544 0 obj <<
+/D [3533 0 R /XYZ 71.731 574.705 null]
 >> endobj
-2330 0 obj <<
-/D [2320 0 R /XYZ 71.731 535.78 null]
+3545 0 obj <<
+/D [3533 0 R /XYZ 71.731 569.724 null]
 >> endobj
-2331 0 obj <<
-/D [2320 0 R /XYZ 315.106 512.034 null]
+3546 0 obj <<
+/D [3533 0 R /XYZ 71.731 538.84 null]
 >> endobj
-2332 0 obj <<
-/D [2320 0 R /XYZ 86.396 486.131 null]
+3547 0 obj <<
+/D [3533 0 R /XYZ 74.222 484.209 null]
 >> endobj
-2333 0 obj <<
-/D [2320 0 R /XYZ 71.731 478.993 null]
+3548 0 obj <<
+/D [3533 0 R /XYZ 71.731 459.138 null]
 >> endobj
-2334 0 obj <<
-/D [2320 0 R /XYZ 225.881 455.247 null]
+3549 0 obj <<
+/D [3533 0 R /XYZ 136.02 443.363 null]
 >> endobj
-2335 0 obj <<
-/D [2320 0 R /XYZ 71.731 448.109 null]
+3550 0 obj <<
+/D [3533 0 R /XYZ 282.001 430.411 null]
 >> endobj
-382 0 obj <<
-/D [2320 0 R /XYZ 204.675 410.893 null]
+3551 0 obj <<
+/D [3533 0 R /XYZ 95.641 404.508 null]
 >> endobj
-2336 0 obj <<
-/D [2320 0 R /XYZ 71.731 403.541 null]
+3552 0 obj <<
+/D [3533 0 R /XYZ 71.731 403.101 null]
 >> endobj
-2337 0 obj <<
-/D [2320 0 R /XYZ 71.731 377.817 null]
+3553 0 obj <<
+/D [3533 0 R /XYZ 71.731 379.437 null]
 >> endobj
-2338 0 obj <<
-/D [2320 0 R /XYZ 247.56 377.817 null]
+3554 0 obj <<
+/D [3533 0 R /XYZ 105.325 363.661 null]
 >> endobj
-2339 0 obj <<
-/D [2320 0 R /XYZ 273.821 364.866 null]
+3555 0 obj <<
+/D [3533 0 R /XYZ 71.731 361.505 null]
 >> endobj
-2340 0 obj <<
-/D [2320 0 R /XYZ 71.731 357.728 null]
+3556 0 obj <<
+/D [3533 0 R /XYZ 71.731 338.59 null]
 >> endobj
-2341 0 obj <<
-/D [2320 0 R /XYZ 71.731 300.941 null]
+3557 0 obj <<
+/D [3533 0 R /XYZ 71.731 263.871 null]
 >> endobj
-386 0 obj <<
-/D [2320 0 R /XYZ 261.414 263.725 null]
+3558 0 obj <<
+/D [3533 0 R /XYZ 338.877 240.125 null]
 >> endobj
-2342 0 obj <<
-/D [2320 0 R /XYZ 71.731 256.373 null]
+3559 0 obj <<
+/D [3533 0 R /XYZ 74.222 209.24 null]
 >> endobj
-2343 0 obj <<
-/D [2320 0 R /XYZ 71.731 230.649 null]
+3560 0 obj <<
+/D [3533 0 R /XYZ 71.731 184.17 null]
 >> endobj
-2344 0 obj <<
-/D [2320 0 R /XYZ 358.612 230.649 null]
+3561 0 obj <<
+/D [3533 0 R /XYZ 71.731 135.353 null]
 >> endobj
-2319 0 obj <<
-/Font << /F33 834 0 R /F23 733 0 R /F27 740 0 R /F38 963 0 R >>
+3562 0 obj <<
+/D [3533 0 R /XYZ 302.952 124.558 null]
+>> endobj
+3532 0 obj <<
+/Font << /F23 1013 0 R /F27 1020 0 R /F32 1027 0 R /F33 1116 0 R /F35 1185 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2347 0 obj <<
-/Length 2071      
+3565 0 obj <<
+/Length 2740      
 /Filter /FlateDecode
 >>
 stream
-xڝYm��D��_�]|~���B�AKQB�"�����u��������]�*5~��y{�_���_�(����'�G�6_��g��o^=K��v�y
-ׁ��<+��.[��^�=�~�f�4���~q��J��(Ͷ������\$mW��-�H��&?����_V�d��ݏ�iI�I��� 6���ʣD�~�e�J�eSu�d
�[��>�o3�3M����w'&`g/U����0�_1��iϫdI��D]P^�;A[��y�~��;і���J2^��$ G�Bx�R��bpO+u����]�u�V�aI��7�]��')/7�׵]�7F3� �-�� �}���r
�-�㉕'u��tZwc�GZ��Y��F�^j�_3���>L��I��*ϗ��%B���f��p0��a��K@�&^^ٽ�o�P��7rd���iI� -��*'�6���87`\Jd���8]+��Tmg�A�1c-��<����Nj1�1C�]%���������_��18o揫0��kE�=K7�ݙr�4*ʖa���f�*��G�Ϊ�B�5�r��{^�M��S������^}b�3��t�ƕ�P����1���0G�Fc'<D)�3�᢫��S��^]AA�%�d;�����P�
���0C��l������3S����<��:��Im��p�7T�Ҍ\W�̱��c���(P�&�o��5�0M�g���rR�"ƒ��g������5��8��A����>�n7!Y�����<*�;�/u5+�=��K����r�{��8D!hQ�!;7�A�����)UK
��3a�t�Z�@�����$�~@����p'���L����6H{Xe�6��:8}`����7p�z�������C/A��Y|Le=��Gd{Ǣ�߱�1��4���j��U-T86�1�9q7�0�{t bN�W
`�us4Z�H��k��r�>��������NWb˰ΌB���\��ܗ�&��s���~�@�)��I�}iC�Z\�?��|_�M\[mݙ�56s��q��g@g����0�Cx@֓L�w�c��Ѯy�Ǵ�S����R�ޙ�FJ���ڗr��l��U����cV���Ib
@#�@>�KM�:��KHz�A�`
-�����d����5�c��x��Sn �-~�f�c�	�!�枙cNK��gc�c!&IL��k��@f7׼�dWL�-��z�!ί�¦r7���t�v|��1�6p6���*_t�|���~;���sN�h��@5�O��Q���Ɠ	�`2�ϦX;E�܌��������jҺ�y4
�t�<���4��Kρt�l�������7����	S
x�_��������l��N��ۼ��d(�}��m�.��[V}&�@�欧��O�|�"�?��	Ny�4���h-��ܘ�͠������p|��)V|�Љ�Q �l�"�(I��v܂�@Y#� TP��99��2��`��P�֘�������[��v�W�z��r0E��ގ�F�s������ǝp�N�]?1�8k�J�Y�����d��eC��K�+�-�\}R���ms�q��&�}m���n��|8Vz�L;
�����#%�ʾ�gx��,njmA;m�:��zj�]�ZYbL�v�~�ȱ�m^c�2j$5n�͈Y\��€닀�V^�fs��12��cR{�7*Nn��hS��h�W��9~���xJ���ixa��l6:�vG W�L�fW4Uk���$JR�C��+l�{��j�&�e{��uN>p~C�_b֔^�	�m�['���L졉3#ҹ��H����V��Z{ۮ�b	�1h~}���5�(`xC����c5l�r:��֦���8�_�4V��!���鯌�`��'�i�lg2�C���̷R�˺���3�_u@ A)ɮ��c�P2��Mc������4��0بZx�i�J���H�$F@�<��<�}9�U0��…A��F��z���5�PC~�B[���𚠤-�B�mc�7ӣ?�
���d�W��.�%E���aɤ$�i��)h�f�K2���Gendstream
-endobj
-2346 0 obj <<
+xڭZms۸��_�N?X��(�z��M&�9�t�8�ӁHHą"�<���xY��h�>t2Q6	,v�}�٥Ӌ9�K/6i�Y�G�K���"?��_�7?�H�Ss˴w��݋����b��֋����2]%[��"K���������L��>�f���u�?�J�/���YU���8MW����|�y�������d�]<i$�Y�m���U�^���m�X.����-�-F��b��)ןo>޼}w{_�;w�~��G�Qi�8[�~c��^��֜���!��:�F�Z_(����{4K9/p���t�Qц+�k>�Z\��
+�wM�,ٙ a.ǫ��<������!U�X���-��w�͍i�%m'p|
�KRi������b3��i�S�v�<����'�
+�6�R��~��=h9�ϑ�l+h�>U��#�x{����q:��~��i��F?ܽ}{�=��'�k�D�\��8�D
+�L��h��1W'��io�-O�Km�]����:����H�M�t{
����>���5�h:����5�<sV���hq�����۷�� �-��-{*��>յFf�#ǝ�.{����q�.�Ɯ)8��8ݎ�N��m?;�p��)'���'pÎe�I����m-w���A��5�	{1㊝X�q�����c
+�vu��K�����A�K^��*���[E�$����K���^0�/��2Yek�^Z����M}~β
+��'�s��d������t����{?�s^�iI�o6f�7��4O�ښ�s�~I�s�e�+�!�,ǵ�v?LҢ$T��z�;��|��,���	W���&Ɂ�cg��K"IN�B�Bà&�u�0M�V�	I�m߯��D��
+�zk�i�a�p���b��:~?E�Է�ܱ�ǟe۞_�f�����z�>W�%�����Y�s1��AfvR���ѫ%�7}o�`���А�S�@�����h�F�CJp[b�,s��,��v�Q�lK�K�����^��y����+�˓%.�!��-Xg�� MgnAu�	jڱ������`1�ؐ\&�hv#�W��/�;M�Sc����2S�fk��
+P,�\�Pip�
+��\N:P23�8�R�ՠg�*�r��&��J�U�G�>U��
+�$M���8~���������"�J֝x
+^�uQ;��U<f�5
�[t���C���dvld|�x���!����U��-&�#l����eBf5+ki�K�*D�=�-�|т��'P#?!Eɕf���1ɏ�+~T��l�!�Hl��}��K)���NG���=�%��.�ub�Gcu۹(�캰�����[IJ��ߺ�b&� =����~���B�
+��B�5ҁSY�M�@��Y
+�/��e������c���[�Ί~1#�Pwx��1U'"��������k����G٘��/f����$�P�����u� XPq�b�h�*�"���!��F�kj��.j�4���a���GI����;ا
K[?��Stf�
+<i�mT�<.���ˉ6�2G���Y@�D�DrZtJ6��ߓ-�����ǡ.hNUԖ�ԃ����\�$5N��(��S7�pq�x.R�c�Hs��q���#����T-g���S�O�4�hhe /�P�DW`�[��_��*�	G�җx�6<��NrY�,���M��?���#��A'��w�XeTf����Gd`�J�%[��z��X���E�2p
�Ba�a���u4�զ$�V�O=��I��hWdu3L�H�r������#)�:�����
�+WG��@���F��lp�M|�p�+��k
+&�f}a����ù^#��c�nC�2�Q���7ֵ
��/�
R�e�>�a�:�C9q�z�)����eD*�3��m�E)�G�Qpo�nd4
+�=�"���gb�x�B)[l�������rq"EC��I[�������;��/�J30��=	�������E�Nꐭ��v�� -q�A霖�y�����ɶ��d��Xnu��[�j��H�9�Hf�hf{^ �Wb�g�:�)��j`��2Y���W���n�u�o�X�D(
+�Q�S�������NX*ߩn�Y�=A�W9FP7�|���I�=�Fza�	�d�Egc��H�4�R�t_��o�q
�>9co0�A6v\r�@��S���r��%�|A�'���c���u��t����JDU�6�JP��Z�Y��XzU�^�[��庯����-+I�����I'H�f��3ͷ,X��T'F�6L�`�G���S�F�F��r�p���N���7:�Vփ&��Q��T?�l s�G�.�9'ȗo~��
+okG��8S�ܜ�zE�W����'���),��
+u�~��)#�*�'<��&�\�� %هXx��e����>�h���s�{RۉAT	2�*]�J�{��<���e��X{�L��ϐ��	t��e��o�#֛5X}Y���9�	rFį8�džqZJ����:M��:�g��ؒ�+��PC���HSL%e���m�d�^���xؐ6����&ZX���T?4��Ŕ>�K߾�!���&����l�J���>a<��"�oq�~�����A��]��Rz�U��45Y&س�Ŏ��y�{�هV)L�,��M��h��N�۾n�\D��I��S;$��)�t�OC	R��sg�AD�e�����.�r�01��ґ���|~�K��D����r�l�͓E�n���d�m�y��H�n���-H����:0�endstream
+endobj
+3564 0 obj <<
 /Type /Page
-/Contents 2347 0 R
-/Resources 2345 0 R
+/Contents 3565 0 R
+/Resources 3563 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2318 0 R
+/Parent 3590 0 R
 >> endobj
-2348 0 obj <<
-/D [2346 0 R /XYZ 71.731 729.265 null]
+3566 0 obj <<
+/D [3564 0 R /XYZ 71.731 729.265 null]
 >> endobj
-864 0 obj <<
-/D [2346 0 R /XYZ 71.731 718.306 null]
+3567 0 obj <<
+/D [3564 0 R /XYZ 71.731 662.351 null]
 >> endobj
-390 0 obj <<
-/D [2346 0 R /XYZ 320.829 703.236 null]
+3568 0 obj <<
+/D [3564 0 R /XYZ 400.167 638.605 null]
 >> endobj
-865 0 obj <<
-/D [2346 0 R /XYZ 71.731 692.184 null]
+3569 0 obj <<
+/D [3564 0 R /XYZ 95.641 599.751 null]
 >> endobj
-394 0 obj <<
-/D [2346 0 R /XYZ 205.304 651.159 null]
+3570 0 obj <<
+/D [3564 0 R /XYZ 376.884 599.751 null]
 >> endobj
-2349 0 obj <<
-/D [2346 0 R /XYZ 71.731 642.336 null]
+3571 0 obj <<
+/D [3564 0 R /XYZ 74.222 568.867 null]
 >> endobj
-2350 0 obj <<
-/D [2346 0 R /XYZ 482.087 629.6 null]
+3572 0 obj <<
+/D [3564 0 R /XYZ 71.731 543.796 null]
 >> endobj
-866 0 obj <<
-/D [2346 0 R /XYZ 71.731 585.665 null]
+3573 0 obj <<
+/D [3564 0 R /XYZ 71.731 509.988 null]
 >> endobj
-398 0 obj <<
-/D [2346 0 R /XYZ 317.599 540.51 null]
+3574 0 obj <<
+/D [3564 0 R /XYZ 105.883 484.184 null]
 >> endobj
-2351 0 obj <<
-/D [2346 0 R /XYZ 71.731 528.072 null]
+3575 0 obj <<
+/D [3564 0 R /XYZ 71.731 477.046 null]
 >> endobj
-2352 0 obj <<
-/D [2346 0 R /XYZ 71.731 493.048 null]
+3576 0 obj <<
+/D [3564 0 R /XYZ 213.092 414.446 null]
 >> endobj
-2353 0 obj <<
-/D [2346 0 R /XYZ 71.731 490.891 null]
+3577 0 obj <<
+/D [3564 0 R /XYZ 71.731 394.356 null]
 >> endobj
-2354 0 obj <<
-/D [2346 0 R /XYZ 71.731 485.91 null]
+3578 0 obj <<
+/D [3564 0 R /XYZ 71.731 324.991 null]
 >> endobj
-2355 0 obj <<
-/D [2346 0 R /XYZ 89.664 465.153 null]
+3579 0 obj <<
+/D [3564 0 R /XYZ 71.731 324.991 null]
 >> endobj
-2356 0 obj <<
-/D [2346 0 R /XYZ 128.408 465.153 null]
+3580 0 obj <<
+/D [3564 0 R /XYZ 74.222 282.939 null]
 >> endobj
-2357 0 obj <<
-/D [2346 0 R /XYZ 171.417 452.201 null]
+3581 0 obj <<
+/D [3564 0 R /XYZ 148.772 260.025 null]
 >> endobj
-2358 0 obj <<
-/D [2346 0 R /XYZ 71.731 450.045 null]
+3582 0 obj <<
+/D [3564 0 R /XYZ 71.731 258.617 null]
 >> endobj
-2359 0 obj <<
-/D [2346 0 R /XYZ 89.664 434.269 null]
+3583 0 obj <<
+/D [3564 0 R /XYZ 349.866 242.092 null]
 >> endobj
-2360 0 obj <<
-/D [2346 0 R /XYZ 71.731 406.209 null]
+3584 0 obj <<
+/D [3564 0 R /XYZ 95.641 203.238 null]
 >> endobj
-2361 0 obj <<
-/D [2346 0 R /XYZ 89.664 390.433 null]
+3585 0 obj <<
+/D [3564 0 R /XYZ 71.731 175.178 null]
 >> endobj
-2362 0 obj <<
-/D [2346 0 R /XYZ 128.408 390.433 null]
+3586 0 obj <<
+/D [3564 0 R /XYZ 199.959 154.421 null]
 >> endobj
-2363 0 obj <<
-/D [2346 0 R /XYZ 269.817 377.482 null]
+3587 0 obj <<
+/D [3564 0 R /XYZ 336.766 154.421 null]
 >> endobj
-2364 0 obj <<
-/D [2346 0 R /XYZ 71.731 370.343 null]
+3588 0 obj <<
+/D [3564 0 R /XYZ 71.731 141.37 null]
 >> endobj
-867 0 obj <<
-/D [2346 0 R /XYZ 71.731 339.459 null]
+3589 0 obj <<
+/D [3564 0 R /XYZ 393.541 123.537 null]
 >> endobj
-402 0 obj <<
-/D [2346 0 R /XYZ 252.009 296.362 null]
+3563 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F32 1027 0 R /F35 1185 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-2365 0 obj <<
-/D [2346 0 R /XYZ 71.731 283.924 null]
+3593 0 obj <<
+/Length 1922      
+/Filter /FlateDecode
+>>
+stream
+xڍX��۶���w��"��Óֵ/�sy;���I:��$� ��e���X�%�ݹ�H��ow�]�NB���%%��hM�E:Ɋ'�d_�<��"�%Ao��͓��8���zO6�IBS�2r∬�h����8y���� J����́���f�_!%sO�g����$����g��W�V�4^��*���~ͥ��dZ.���,P2\�8I��G^�Y��ip8�n���x�;���̛Y@���oE97���N����ˍ��e�����ˣ4��_G��p�	I�����ry�-��â>�f�*
+V�%�v��p�ʛ]Mkx���U��-P��m�e�fQ:=����\���7aR+7;�YN?��x��y%��'���nQeA�8?�������\Í�4"���z��u Ǫ3nbR���G\+j�Z	�1�%��%�qL�u�+O��d�%Wc���}�'�"%�4!�x=	"Jtm��=3n/��Oi&��*��z���.*|<|��^���]oooI`�"��NܩF��h1	05^Y�~T5G#��ve��$����]��g�b�T�	��N����l¨�����=r����=孛�����v��K�f4�����f�V���`�_q��#+�����ݤ����&\ZנY�"�Hָ+�x	�:!�j�cCxK��X
O��˘���P��$$�d��m2N;�Y��,���&�v���FS��"�tP��Jm%/0�0�4��V	�+��z�*q��˚WNJC���`p�����0
u}|6��!'��B�M��<W�"B�y��y�*Nu!�j{��c࿶g�@�	)*�բ��S9n~���^�:� u���U�էC;B�+�9�?�rQ�N�џ�Y���Y}C:��8��~���
ا�Wy���xi�W������^��������b���'�c(�Ѕ
������E2�{so�\Q��<����Q[�<�0�^펲�p��k�rZ��ixdS3�@����1ʗ�\�JU�RTq���bw�R�l�}uQQr�3�5WX�a�񹇑c��j�H�������nlz�'& H'�q�ϗ�Nz�\q��J.^8�Jhx�w`�:�|v�����N���s�y`硕ف��>��a�)�^�����5'@
+��6�j�E\CT�z_734h�ͤ�3��6f��*VM黜�������k�!�Ի�L�σ�B]u��L�X�(Y��v"��z]�o�tL/��x��eg�$��x�U�#ǽT[&��]	�v�~4�2��GC>��5���k��{���W�����m϶��"�R4��%%=��xk�^�|$L�8��0�Jmu��la5`*F���Z&��LC	�)�})M��9�.4��\���;��� lG|�O.t�h-|�o�Ezo+��Wr"�bȈAbDh��d{�F(�6\� ��ٸ�\��K�w-����0�O|l�����p��G���;C��mBy&Lm��Y�j�I>��I��ư���@�u����(���(�jO=\���b��}����
+��ƃ�	�ޢ�YF�H�9t�6t��>i�mQ�
*���5�m)}�	U�Z��7D�npR?G6P��ǼW:h�m�
v�*���(�mnH���G��2+�P0���� ��Z+;;(��J=�2~��ɨ#��Pp��+�$�[��K�O]{�+О؝1$#{_r3o�3=p��2?<��qe�%�`9�Wn�X
ex21�԰Ë���d�M|��{Y����d�n�j/��G���m��3P]@n�N�@����6{n|����<okB/��^�Q����KjQ���h~iF���&V��u,���B��
+�qV7�5�
��욆�+�x}�V{L3���c��J��g���:��Ȋ.?��]����4��u���c��]��?�M�endstream
+endobj
+3592 0 obj <<
+/Type /Page
+/Contents 3593 0 R
+/Resources 3591 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 3590 0 R
 >> endobj
-2366 0 obj <<
-/D [2346 0 R /XYZ 111.571 261.851 null]
+3594 0 obj <<
+/D [3592 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2367 0 obj <<
-/D [2346 0 R /XYZ 71.731 233.791 null]
+3595 0 obj <<
+/D [3592 0 R /XYZ 71.731 741.22 null]
 >> endobj
-2368 0 obj <<
-/D [2346 0 R /XYZ 71.731 228.81 null]
+3596 0 obj <<
+/D [3592 0 R /XYZ 71.731 718.306 null]
 >> endobj
-2369 0 obj <<
-/D [2346 0 R /XYZ 89.664 208.053 null]
+3597 0 obj <<
+/D [3592 0 R /XYZ 71.731 686.725 null]
 >> endobj
-2370 0 obj <<
-/D [2346 0 R /XYZ 89.664 208.053 null]
+3598 0 obj <<
+/D [3592 0 R /XYZ 176.985 660.822 null]
 >> endobj
-2371 0 obj <<
-/D [2346 0 R /XYZ 89.664 177.169 null]
+3599 0 obj <<
+/D [3592 0 R /XYZ 71.731 648.702 null]
 >> endobj
-2372 0 obj <<
-/D [2346 0 R /XYZ 71.731 177.169 null]
+3600 0 obj <<
+/D [3592 0 R /XYZ 71.731 627.547 null]
 >> endobj
-2345 0 obj <<
-/Font << /F23 733 0 R /F27 740 0 R /F33 834 0 R >>
-/ProcSet [ /PDF /Text ]
+3601 0 obj <<
+/D [3592 0 R /XYZ 71.731 607.621 null]
 >> endobj
-2375 0 obj <<
-/Length 3007      
-/Filter /FlateDecode
->>
-stream
-xڍZ[s�~�_�ٗJ;�;żm�M�t3Mw�f:M`��P�B�븿�W� @e�@�<Ĺ�;W"���/�+cT�pI*��]}yݝ�ɷobEqP$����7ߤ�]��"�{|����EqW�	:���c��݇3�22�I�r$�?Ѷ?ɟ_O���]���y���_
�<-QuL7e�4�BU9�3X':�4˄L��u���҉_q��$���1CY�#�Ʒ�1#�(^���q�X���(��r���!�Q��b՟�6�����Q�E��c��x���|���F�4LL������2QI����+9;ML�?��|�����^I��}��p�D��g�O"u���~���z/��G���l5��<?�~��)}���nM�
�����]�j�u���u3Ǻ����g\�yST���枌�S,)��2�Y�k�a��6��U����=�Բs�\;Ai?�am���%ʣ~��2�`��]�^�I�Vk�u75F��-���_���!�k��y��g�ZY�2�@Qt���$9X4��lS:�p�&+^�
-E���^
o�ʊ�
�gY��3�lRƽ�'B�n���`�JPk,<�	U�Ր_�(�����w\��U�x9c�uXrws����3i$S�
-y=��h�@f�S�O����5^��a��{��kywP��U*0��8L�������8	��{@�'e�L�*�LG��:�<�Ś����LF�#�u��}���/�1�O>ʿ܍�GJ�X|��J__���(�OC<d���<L�VF�9��$�J�m4F30	v����=U4!�U��G� ׂ�Ҡ�&	��d�Mg���*n�4�k^�����sS�7��=�ڜ��*�
��St,��7��wk$�:�06@�a�����ASGJ�j��3M�Ԋ���M��u��o��-��~���cZ(���T�B��Q�:�-6x�3��L���}��(��}��BΏJ�r��M�š�k��,��u��.o��mޟ����#g)��ri�'<D0�뺀���c����8��/AsP�ٶ9g��9	���s��9�>sZ��١��3�ŧ����5��=5;/�0�a���%�{�z	9�H�b��y)��(���0�#3����'�L��Ş<�P���[9��R�p����\󺽕o�VZ���m���B�}��ڝ^MR7�����-e#fzj����_�q,K�W�P�2���&�;�L:��M�ms6���al�2��E)G�I7�)PA�`J1�,�a�����q����7�Q'Z�Kj��V=V�gG�QJ��BU�Z\�<��g� �	W��ښ�m�9�}P�x��x�ű��?{�V�(M�u���M+6�-�.�I��P�B]��p���Z_�P�nu�b#��b��	nLhn��&�1���X7f����8�}c��'��F���߂�9ʫ�u���M��۹�#�:�M�D���3�W�֍�e!.VR/
ϋ�)��j�
-gk�{bjώ`�u�W�^��f"�JU; ,Qg�����	�D�B���x�S��EE�X9�Z��U䣧5t3�}VF(T���L�����K�P��s�cf-�?�-�{����y�Bua8,{�y"�+�sK-s�6��s�|M�1/h��tI� �r�c��OA�4���e̘A��9�"WF�53�TbW�nc�J�kGl�d~��:��&Ff�H�@IDɚ�m�8�}8����	��̎,�H:�3|T��<70	Ek�mi`���
���y��_�glFS?Q˽��c�f�l��VF�
-P�
3�n�p�3�++���9��-�xL���VdKgq=ō�����7͓�g>��s�o���Q��(��$!�*
-�������6n�>�Z�߉��l�N'̟��2�V��#o�����2�m�����N��4����Z�o{�:.WSK����J�۲�V�Kgg��
���@�*�a幮_�n�i���$R?Sٳ��9�%L���.Ƕ6�m�~�<���f�8���3%=�l��@��$Coe�`�L'�}��mx�xTZ�(N73�E�(M!<*8�����Q.o�G����E2���%I�5�|93�;���y�4AV��M;�$!;*
-a������>;Z�?|�].���� �b��I�屬Jۚ(u�mgz2H��V�_,�柠�x��3I���B�>8����m{�������ᚻ��gEߜ&�Pe�m�|�W9�x��w�qf*�S�^1��'wjO�;�Iu`4r��DB��y���<�oq$�)�T�S���gn��G��:����f��H�������Mt��=谙��3���!}�^ѝѼ7-�y�M�$q]�v"�Q������V��k�Ԧ�ᨺ_�- #d�k��K�D�m�ԭ�\$Q�SKX�M��=6$G������e8�C�+J�G���EB���N�=�n����C������/�訳��v�S3a]ć/�dW*P۠��6-:��,�(�E��R��ux�,j1�4�<i«���Bᾂ����ޒ�>K�GyG}V�[L�!_[�W�d�����ݦ��DUW�9���#�in�j�Τ�ZO�mR�i�����3�1'"�B����B�������8��gV=�JT��������L�ij�Oт��T���k�V�B<�Q�W������`y�N�X�i���6љ�Y��u�/��4�����8\t���ޓ��4�z"k��X� K��+$�����*�l���[6Gǯ�OƮ_=<t�oD1�!������>�7��>���h��D}j��[ba�c�=2���Nm�i )�x��S��Q��Gap�-���Y�Y���^hٵZ��9�4�)�:	�޿o��8�bp�k��ԁae@4���]]H����~ud�����mF�yO�I;��F��٦%�njԀ@������jR3~��q��)n{��\sJ�̵C�uiU���n,�u���#:����d���DEnVb����5����ڐendstream
-endobj
-2374 0 obj <<
-/Type /Page
-/Contents 2375 0 R
-/Resources 2373 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 2318 0 R
+3602 0 obj <<
+/D [3592 0 R /XYZ 115.567 584.309 null]
 >> endobj
-2376 0 obj <<
-/D [2374 0 R /XYZ 71.731 729.265 null]
+3603 0 obj <<
+/D [3592 0 R /XYZ 71.731 556.413 null]
 >> endobj
-2377 0 obj <<
-/D [2374 0 R /XYZ 71.731 741.22 null]
+3604 0 obj <<
+/D [3592 0 R /XYZ 408.097 543.462 null]
 >> endobj
-2378 0 obj <<
-/D [2374 0 R /XYZ 71.731 683.941 null]
+3605 0 obj <<
+/D [3592 0 R /XYZ 95.641 504.608 null]
 >> endobj
-2379 0 obj <<
-/D [2374 0 R /XYZ 89.664 666.008 null]
+3606 0 obj <<
+/D [3592 0 R /XYZ 330.04 491.656 null]
 >> endobj
-2380 0 obj <<
-/D [2374 0 R /XYZ 89.664 666.008 null]
+3607 0 obj <<
+/D [3592 0 R /XYZ 445.585 491.656 null]
 >> endobj
-2381 0 obj <<
-/D [2374 0 R /XYZ 71.731 637.948 null]
+3608 0 obj <<
+/D [3592 0 R /XYZ 74.222 460.772 null]
 >> endobj
-2382 0 obj <<
-/D [2374 0 R /XYZ 89.664 622.172 null]
+3609 0 obj <<
+/D [3592 0 R /XYZ 71.731 435.701 null]
 >> endobj
-2383 0 obj <<
-/D [2374 0 R /XYZ 89.664 622.172 null]
+3610 0 obj <<
+/D [3592 0 R /XYZ 71.731 417.768 null]
 >> endobj
-2384 0 obj <<
-/D [2374 0 R /XYZ 71.731 620.015 null]
+3611 0 obj <<
+/D [3592 0 R /XYZ 218.849 397.011 null]
 >> endobj
-2385 0 obj <<
-/D [2374 0 R /XYZ 89.664 604.239 null]
+3612 0 obj <<
+/D [3592 0 R /XYZ 71.731 394.854 null]
 >> endobj
-2386 0 obj <<
-/D [2374 0 R /XYZ 89.664 604.239 null]
+3613 0 obj <<
+/D [3592 0 R /XYZ 379.743 366.127 null]
 >> endobj
-2387 0 obj <<
-/D [2374 0 R /XYZ 71.731 602.083 null]
+3614 0 obj <<
+/D [3592 0 R /XYZ 71.731 341.056 null]
 >> endobj
-2388 0 obj <<
-/D [2374 0 R /XYZ 89.664 586.307 null]
+3615 0 obj <<
+/D [3592 0 R /XYZ 71.731 341.056 null]
 >> endobj
-2389 0 obj <<
-/D [2374 0 R /XYZ 89.664 586.307 null]
+3616 0 obj <<
+/D [3592 0 R /XYZ 71.731 318.277 null]
 >> endobj
-2390 0 obj <<
-/D [2374 0 R /XYZ 71.731 584.15 null]
+3617 0 obj <<
+/D [3592 0 R /XYZ 71.731 284.334 null]
 >> endobj
-2391 0 obj <<
-/D [2374 0 R /XYZ 89.664 568.374 null]
+3618 0 obj <<
+/D [3592 0 R /XYZ 71.731 266.401 null]
 >> endobj
-2392 0 obj <<
-/D [2374 0 R /XYZ 89.664 568.374 null]
+3619 0 obj <<
+/D [3592 0 R /XYZ 71.731 228.478 null]
+>> endobj
+3620 0 obj <<
+/D [3592 0 R /XYZ 71.731 192.613 null]
+>> endobj
+3621 0 obj <<
+/D [3592 0 R /XYZ 511.448 181.818 null]
+>> endobj
+3622 0 obj <<
+/D [3592 0 R /XYZ 74.222 150.934 null]
+>> endobj
+3591 0 obj <<
+/Font << /F33 1116 0 R /F35 1185 0 R /F27 1020 0 R /F32 1027 0 R /F23 1013 0 R /F44 1402 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3625 0 obj <<
+/Length 2501      
+/Filter /FlateDecode
+>>
+stream
+xڍYi�ۼ��_a�@ak�n��E��"o�&x��h[�$�����3ulR��ɹ�Q����v�����0MVY��_��?��b�$[������c��!�V��*o���Bo���c������u^|�l��_����x���u�^�%3O�� H֯6�����?�?�xw�$��;�2I4s.Á�C�10��(�5��y���p7p���"y+x��rӊ
����Q"V��yh�&X7��E}6oN�ɾ�ݝy��l����-k.��e�`��j�ע7O_j�	��u�&k$��Nyk�]|X��y�����ODɤ�t�E�A��V�ٙW����,�l�`\
+ܒs4���~��|�t���a_�C�B|A���)����O��_�:�
+T%̭h7�~}�o�ҝ��T�aX`US_$��BۏM��I�M.�n���32
�s+ˠm�AY���-��J[L�ƭ��[��
:��px�.^�i�%�~ѣ�f�i�vu��b�ϐ+8;��`zz�+��N4?<}��:�3>F	�X���ޣ�n���<�@󝹜���T�e_�w2��S+�ɲ����Z`b�.k�FR���5����h"׿XO�t���ZD0���rQ�r��e_ ���]�]p/<�M{�$-���wv���}�}r�R�����*!�.���M.Q�l�$GL�P�_-yт�!�Y��Vș:�=1b)��4=���8e��o�I��X/2d�Q�}U��qaq2���#������ۈ߹�f�c��(��3W�5H}k��VW����S%0�Jn�~c���;�\��*���b�W�(m��}?���뇱Ou�n�]ɓ��� 
�d0�2E�>�aR�������qx�$a��<�Vd�e��!���9?i��Ky�lZ�8����*���vY^���h�`U3��A�Ͻ�9;��*+E۵��匊s'�a.���L.U��/�Q�����A���)-�af��쟑:�4��%kG���Qkl�zNꥑ�9��&��,�����u`�$W,~��I%H�ڮ˂�-�Ȥ�� _��15���h�����!H�e������hj��ċ���Y�g�]�
+�!�A�p���׾��q��o�!x_Ԓ�U��:V6�`�!�6�r`�R��,5ʹ�G��	��t�5�ĝ}L0�m��K��(���Ud�<�u����)�o�洂�˔����ŭ�`;�����pS�tHa0�C�9##n>��	U��IE=T��`޵q/��z)2G3�SWs��5õ�'0{�գ�V��)q����j3�̴d��\������ �+��R7
+'w�Y�J��R�;�A���9h��^sX�]W,�����oP���a�<������xr��8_䂹tV���r!�ڔ�@u0���Yu'�2N]��I�VhB�Pw��/x�����C�������_���j.������P���+`/�^�\�1�j�<P�tL�_?�L��u��?6{��B)��D�%ܾ�Tj,�YK@�t��<U#�>�j�T�[���̻	�y��{�١���ijEy��-���9�
+5cMEE�;�Ԫ�y�-��\K�'`vz5�ѴV�!v`p���ڢ�E�������aw���F� Wf�`KM��o>��o����G��y:�eQ1�NDi�"���"鍯�f��W�ɓ�z�y���a��Vv�h�x!0a8�T~��B-����wj���FY�7����^��t��W9����}�g�D�s��
�9�k��*�ID���NP@�L\x�x��S��3����y�LR/��p֫���o"1Vq;'�e`��"У�ۍ�Y1�,�ޑY�g�V^�n��MG�<�|��V�<3�/9˙׼e�[�V�[�#+�oub��YS8x}!�݀c1�F�;�C�?����J��%&��`�mvL#�֙��C;�R�U��T#]�ڊ*�M��m��J�ȋb��fݷ���r�Li
+ڈ���T��K�Z���`p���!)���`vRiX�Cw(¬�U�t��t����Q6j���G{/	[tq���?���\����J��Y�~�4-�N7�X�h�O�p�����9��& r����xf󨮌��l3^|�_�#��I�^LCx�)+)xp8�Q��"��f
+�����4�-���ʎ/������H+�3��[��1�y2Q9�El5�p�#�z=��b,9d$��HVOv*��p�H�}��-i63�ǮV@���D�h���Ft��?�\���'~q\Gy���D1�"f��T.��,V;�
+���7��q� ��8��@��n�[,����XY|W���i��Cʣ��Y	����)��|��a�1�Q�c
�L����!�������~��^�7(o��>��}�Մ`�r�"��w$�;��d��,����yk�dƟ�6=q��]���;	����x��M?���x���_<���$��v��]�܇��Q�+�endstream
+endobj
+3624 0 obj <<
+/Type /Page
+/Contents 3625 0 R
+/Resources 3623 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 3590 0 R
+/Annots [ 3629 0 R ]
+>> endobj
+3629 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.174 662.351 330.987 671.263]
+/Subtype /Link
+/A << /S /GoTo /D (reporting) >>
+>> endobj
+3626 0 obj <<
+/D [3624 0 R /XYZ 71.731 729.265 null]
+>> endobj
+3627 0 obj <<
+/D [3624 0 R /XYZ 71.731 693.235 null]
+>> endobj
+3628 0 obj <<
+/D [3624 0 R /XYZ 148.323 677.46 null]
+>> endobj
+3630 0 obj <<
+/D [3624 0 R /XYZ 74.222 589.788 null]
+>> endobj
+3631 0 obj <<
+/D [3624 0 R /XYZ 71.731 564.717 null]
 >> endobj
-2393 0 obj <<
-/D [2374 0 R /XYZ 71.731 566.217 null]
+3632 0 obj <<
+/D [3624 0 R /XYZ 71.731 533.833 null]
 >> endobj
-2394 0 obj <<
-/D [2374 0 R /XYZ 89.664 550.441 null]
+3633 0 obj <<
+/D [3624 0 R /XYZ 71.731 510.919 null]
 >> endobj
-2395 0 obj <<
-/D [2374 0 R /XYZ 89.664 550.441 null]
+3634 0 obj <<
+/D [3624 0 R /XYZ 428.12 496.438 null]
 >> endobj
-2396 0 obj <<
-/D [2374 0 R /XYZ 71.731 535.333 null]
+3635 0 obj <<
+/D [3624 0 R /XYZ 71.731 479.338 null]
 >> endobj
-2397 0 obj <<
-/D [2374 0 R /XYZ 89.664 519.557 null]
+3636 0 obj <<
+/D [3624 0 R /XYZ 458.122 458.182 null]
 >> endobj
-2398 0 obj <<
-/D [2374 0 R /XYZ 89.664 519.557 null]
+3637 0 obj <<
+/D [3624 0 R /XYZ 71.731 395.318 null]
 >> endobj
-2399 0 obj <<
-/D [2374 0 R /XYZ 71.731 517.4 null]
+3638 0 obj <<
+/D [3624 0 R /XYZ 323.764 359.452 null]
 >> endobj
-2400 0 obj <<
-/D [2374 0 R /XYZ 89.664 501.624 null]
+3639 0 obj <<
+/D [3624 0 R /XYZ 71.731 344.344 null]
 >> endobj
-2401 0 obj <<
-/D [2374 0 R /XYZ 89.664 501.624 null]
+3640 0 obj <<
+/D [3624 0 R /XYZ 71.731 295.527 null]
 >> endobj
-2402 0 obj <<
-/D [2374 0 R /XYZ 71.731 486.516 null]
+3641 0 obj <<
+/D [3624 0 R /XYZ 351.43 284.732 null]
 >> endobj
-2403 0 obj <<
-/D [2374 0 R /XYZ 89.664 470.74 null]
+3642 0 obj <<
+/D [3624 0 R /XYZ 71.731 253.749 null]
 >> endobj
-2404 0 obj <<
-/D [2374 0 R /XYZ 89.664 470.74 null]
+3643 0 obj <<
+/D [3624 0 R /XYZ 378.982 240.897 null]
 >> endobj
-2405 0 obj <<
-/D [2374 0 R /XYZ 71.731 455.632 null]
+3644 0 obj <<
+/D [3624 0 R /XYZ 333.866 227.945 null]
 >> endobj
-2406 0 obj <<
-/D [2374 0 R /XYZ 89.664 439.856 null]
+3645 0 obj <<
+/D [3624 0 R /XYZ 71.731 207.856 null]
 >> endobj
-2407 0 obj <<
-/D [2374 0 R /XYZ 89.664 439.856 null]
+3646 0 obj <<
+/D [3624 0 R /XYZ 244.77 197.061 null]
 >> endobj
-2408 0 obj <<
-/D [2374 0 R /XYZ 71.731 424.748 null]
+3647 0 obj <<
+/D [3624 0 R /XYZ 74.222 166.177 null]
 >> endobj
-2409 0 obj <<
-/D [2374 0 R /XYZ 89.664 408.972 null]
+3648 0 obj <<
+/D [3624 0 R /XYZ 71.731 141.106 null]
 >> endobj
-2410 0 obj <<
-/D [2374 0 R /XYZ 89.664 408.972 null]
+3649 0 obj <<
+/D [3624 0 R /XYZ 95.641 112.379 null]
 >> endobj
-2411 0 obj <<
-/D [2374 0 R /XYZ 71.731 380.912 null]
+3623 0 obj <<
+/Font << /F33 1116 0 R /F32 1027 0 R /F27 1020 0 R /F23 1013 0 R /F44 1402 0 R /F35 1185 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-2412 0 obj <<
-/D [2374 0 R /XYZ 89.664 365.136 null]
+3652 0 obj <<
+/Length 2234      
+/Filter /FlateDecode
+>>
+stream
+xڕYm�۸��_�
+�,Y�-�(�M�+R�좇�w(h��ٕD�H�q~�͈CRo�ك?X���<���E���q�]�W��Mz��o����71�hI�Y�������n�7�����:N��Y%�.M�����/^���<H�hv���37��7Q���0��tv?_G��������� ]m��n���v�H�d�ܧ�f
JF�p�^�J2c��ƴ�կQ�6���0O�Y��Mɪ9�v3w����>��/�
���Ui0�\2��e��3&
+v(h������Tu&�Uq�o�Yhn�%vne��T8XQJ5\���$K��W3P��jŵ���Fς��8	����� �Y���N�2ޠEq�I����E��/[.iY԰��[��x7;-�Y�+���Uav�D�w�ِ�A�^h/J�+k�@T�l��
��ćJ���D�Hk����*��R\�UF.��Q�v�j�4mʪ�\(
+%��~�1�Yk��<p�����O�����_��˝�`���5�E�9�- ������gGь+��O�.�s�F�0k�����4������6p��;;�9�쩹����V�3��RK\�E�<���������-&�L�S���6��-�<�2+
+�M��,u�կ�x����
����(Jht�H�7����p�H�1NG�か2Y)�F�f�	c��g�}��e��~/�L��\f��K�|�
+
+Ϻ,^�8�n��і��˹��~���Mi�Qs%�:3e)�W�C\I���������Cr�/�P��,��4�����|z��L`h��
�.��*��ظ����F�Ķ1uл �keM@3�ڟ;4B�}znmI�!��ʩ�vJ-���a�O��EjA®|b�1Ϣ� 8���Γ��1��݈c���k�}��/��L�9:sɗ$+pU �AK³� ���5EO�����F?�v��m
+(�	��u�3]܈WjY��0����U��m��+Ve�P؜�^)E%��!��ؔ�eEW�):u�i@=��W~��Ѽ>bYƧ��A�%�3aU'�mٓ�����Hp�D�I8��֟��-�|mh.�r>@�_�hE=��"˾�85
��%�JU�8���+���#�6��w����8�j�P�� lZ��<�z`�se<�N�j68z��
+��.׃��$e��<�'J��Lô���zc9?��/Jg8��.�6��1�a�����P�<��¥��kj�l)���m�-�	�7��M"�|�8��┻N��=Ӻ��n�5:;�5�HWFA�m�lkz���/���s�ϳD��,�7�p��3A�as�,�Z~?�>��3��_���vz��_�;۠^���sz�u�n�����,�p�T�&��1hl��Tޢ��J���%��| ��U}=�5�Om��l�q��ip�����m�`��R7U�g�Z������t4}��n���e�FWN`_R��k�\�n&I�-����&���v���ts,:f���D�^���P��L�Q?!�#G���{��&�A淾���uc���@���g^݆o1��X�ۂU�B00�6��8�����pޔ�e�׳��L��*l�l�'�u<�&VЧ��U���{����ެb'�I��:40C���t6C��!�.Ж�^;���ߩO�����Nӣ=ڰ�F�w��É��C
*�}wj@/23�B���.��+�+��M'�����'��8/�_f|�AcL��`0#���|f@c��U��xx!�'�G�a*�;Us���,:ũ���BKz��=�,0��9���
+�ƴv�9'g��	�2H<A�<Yh�u�M����*k��2��*0��Kr��h�;�b�i؅Ͽ��!�'x�d$�t�E���ԧ:����V6Ej ����4��U�����:쓫�d���)���Co��Q�����G^׾���7<2��'�[":�6����T��7�� y�gu!��}���;
+��(�A
+y�3-�Lk�l֦�b��7yߺ�n�����2�ݗ��ȗ�s��a1�ˉq��ә� X�"�?r�z2k�ɵ���C�����qΡEv�\u��0���
�t���]m�$YM��`��E�����<�a��;�4L_�ܬxq��x"т�jn7�^��(�9�A�}�����g�N��g�>�[�ޅ�x���I~���4ن��IA�����o��SNendstream
+endobj
+3651 0 obj <<
+/Type /Page
+/Contents 3652 0 R
+/Resources 3650 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 3590 0 R
+/Annots [ 3670 0 R ]
 >> endobj
-2413 0 obj <<
-/D [2374 0 R /XYZ 89.664 365.136 null]
+3670 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [453.197 205.066 505.5 213.977]
+/Subtype /Link
+/A << /S /GoTo /D (template-specific) >>
 >> endobj
-2414 0 obj <<
-/D [2374 0 R /XYZ 71.731 362.979 null]
+3653 0 obj <<
+/D [3651 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2415 0 obj <<
-/D [2374 0 R /XYZ 89.664 347.203 null]
+3654 0 obj <<
+/D [3651 0 R /XYZ 175.87 695.392 null]
 >> endobj
-2416 0 obj <<
-/D [2374 0 R /XYZ 89.664 347.203 null]
+3655 0 obj <<
+/D [3651 0 R /XYZ 71.731 693.235 null]
 >> endobj
-2417 0 obj <<
-/D [2374 0 R /XYZ 71.731 345.046 null]
+3656 0 obj <<
+/D [3651 0 R /XYZ 71.731 670.321 null]
 >> endobj
-2418 0 obj <<
-/D [2374 0 R /XYZ 89.664 329.271 null]
+3657 0 obj <<
+/D [3651 0 R /XYZ 71.731 652.389 null]
 >> endobj
-2419 0 obj <<
-/D [2374 0 R /XYZ 89.664 329.271 null]
+3658 0 obj <<
+/D [3651 0 R /XYZ 71.731 629.475 null]
 >> endobj
-2420 0 obj <<
-/D [2374 0 R /XYZ 71.731 316.22 null]
+3659 0 obj <<
+/D [3651 0 R /XYZ 216.836 600.747 null]
 >> endobj
-2421 0 obj <<
-/D [2374 0 R /XYZ 89.664 298.386 null]
+3660 0 obj <<
+/D [3651 0 R /XYZ 71.731 598.59 null]
 >> endobj
-2422 0 obj <<
-/D [2374 0 R /XYZ 89.664 298.386 null]
+3661 0 obj <<
+/D [3651 0 R /XYZ 417.183 551.93 null]
 >> endobj
-2423 0 obj <<
-/D [2374 0 R /XYZ 71.731 283.278 null]
+3662 0 obj <<
+/D [3651 0 R /XYZ 71.731 549.773 null]
 >> endobj
-2424 0 obj <<
-/D [2374 0 R /XYZ 89.664 267.502 null]
+3663 0 obj <<
+/D [3651 0 R /XYZ 71.731 513.908 null]
 >> endobj
-2425 0 obj <<
-/D [2374 0 R /XYZ 89.664 267.502 null]
+3664 0 obj <<
+/D [3651 0 R /XYZ 74.222 459.278 null]
 >> endobj
-2426 0 obj <<
-/D [2374 0 R /XYZ 71.731 265.345 null]
+3665 0 obj <<
+/D [3651 0 R /XYZ 71.731 408.304 null]
 >> endobj
-2427 0 obj <<
-/D [2374 0 R /XYZ 89.664 249.569 null]
+3666 0 obj <<
+/D [3651 0 R /XYZ 71.731 338.565 null]
 >> endobj
-2428 0 obj <<
-/D [2374 0 R /XYZ 89.664 249.569 null]
+3667 0 obj <<
+/D [3651 0 R /XYZ 71.731 304.757 null]
 >> endobj
-868 0 obj <<
-/D [2374 0 R /XYZ 71.731 229.48 null]
+3668 0 obj <<
+/D [3651 0 R /XYZ 71.731 258.864 null]
 >> endobj
-406 0 obj <<
-/D [2374 0 R /XYZ 263.164 186.382 null]
+3669 0 obj <<
+/D [3651 0 R /XYZ 71.731 235.95 null]
 >> endobj
-2429 0 obj <<
-/D [2374 0 R /XYZ 71.731 173.944 null]
+3671 0 obj <<
+/D [3651 0 R /XYZ 71.731 195.103 null]
 >> endobj
-2430 0 obj <<
-/D [2374 0 R /XYZ 245.796 151.872 null]
+3672 0 obj <<
+/D [3651 0 R /XYZ 71.731 195.103 null]
 >> endobj
-2431 0 obj <<
-/D [2374 0 R /XYZ 71.731 144.734 null]
+3673 0 obj <<
+/D [3651 0 R /XYZ 71.731 172.613 null]
 >> endobj
-2373 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F23 733 0 R >>
+3650 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F32 1027 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2434 0 obj <<
-/Length 2365      
+3676 0 obj <<
+/Length 2662      
 /Filter /FlateDecode
 >>
 stream
-xڍYے�6}�W��%RՈ�E�����N��e�3N*�����5I������o�@�/rj�!At���70Z���QpH�'>�>]eՋpu�'�^Dv��.�ּ~x��m��N�i��Ϋ]��~�:$qpL��C���]AE�f��:
��g�ꋹ|�^��ʒl����o��49�crU'\3Q*>�J�m�1Hv�N�uF��g�����o�(]�{���1?����s��M��%���L�-����`ano
w*XV�7���י�
-�C.��̹M��4]E�f0�m�O�R��v���&N��⿶T<;g0+/��8+�8���xV(�t���Zs]в1W%�b����F���^ጌ�SuFV\ �5���b����2$+�#�R�x-
�8�w��A���Q��\�g5/X��Q����#6\�Ak�e��W`>QY��}��h/�'�{�IU+j�������}I�^	�u�G�?�0���<��z��f)��K�?��)���]�:J.����.+Y��Y��xق�Fb�!�>�:��綜���@��]H�Q)Q ���eI��T��=r�xu�W�*�,���	�Y�s	��Spϫ)��C��w`�~I��!kr���E�&:�/����tn(��5��4gJ��z��*"���̠e.�ǔ`hZ�S �֢mQlXzw��f��g̏�fRk��N<a���%����̔�!�8�LW�T����P�j���.�����F�!eA��3���Wpub�~W��1��d���~�Λ��T��;
-9�K���]�X(�9���]��0�4�sI�e�)3�Fq$�њ:ț�E(o�QJ��Y;O3/c�VX��N
�Ϟ����&[�+�e`�B�
-3�sK���v�aޝ�r�vİi��3 �K�5��~����tO�-e�o����P̑0
-wA�X��-�Ҟ�d�-���y����l���|�c�ѽ�&9�3
l1�<� L�)�l?����"�v.�XGe�bNM��*ٖj�s5�%��EM�~�)iJ����.�K��o/.�����"ޓ`HwY9W���v0	ݐ\�����6���m���]iY�p��/�VgaT��p�8�����h��E�������Oa���}��5t�O��K_����b�o���7ls��Oz~���Z%�n�.#����@
{ߙ��ts�e	%�Dy��눷�48���b��m_�����G�nguw F�����S.pL6T@���"S`}���(�
-��m�0�E���s����|
�P�߆*�kYN�n*���`�G���Rͫ�/K`�.ReX��Q6�{	��ok^�=��J�5���os�G.N�2�������ɍ(�Ќu�v\Ԉ��a�J7���F�TwK�O�:��m�]y�w���Â������Qp�G��Z�M��zl¯�z��im��팡n��f���}��N�PM�1��?�?uOQɏ`��nGI�Pz`���T�Z�%z������"PW��)[/��Un1F<�<�뺱��Ok���i���u�N27Ch��9�Q\tη��@Y���s-�.��h'���:�?��h��0!N˲4���2<�:��C�����0(f�lk��O�6ڤ(�:���~7'k��d�W��m�e��}��I��a�������R���7�ǖ�ޣ�Pc�s�ҝ}����D����s�#��f����i8��j���mva&A�S�c�?$W)2X�D\�Տ�(2#��&{��J�I���������
jw��x"�r��>�눹%���Z�d����õ,��T~�z��܍''�褻KK��m�c�3>?�{nhi$��ÚK�O���B1w�[
_���td8�L��
ֱ��`r�z���ƺV�f��y�l��֝A�Y\�|P�ngF�V�̉O�1�_�N�f�;v�6o�H������Ѷ�`����b�f�%�Ad&�N��)�XB�R�Iҵx�g�����k_�i?<�gD����|��ީ���%ΐW��q#p���{T�D
-�4t�2�3��Y��6ywx���<�m]�C�s�t�`5)'_|� R����Mi�;N��4���s<�UX�0��IM��Y���hj
+V��)�nݖ�}����P�x-\[����Q����fDJ�������b���iTaX'��GVO�	��/>����ϙ��+c^��e]o��`DNS=�B����g&��������|�c7�<��{v.�<�ͨ�A���^��N
-qt��:�w㞞�y����?�sw6:,����q*�dcg�`~��.H���g'
Tȧ%�|���ct��ٺ_2�j��� �q����FO%��e��endstream
+xڝZ[s�6~��Л��]�S�I��;M�i���m:��%����������N&#Rq.��w.�?���?[�d�G�!A��Õ7��/�|�b��,�5��^�
�نl�pv�0�����>a@�q0��~���5+���b�������=S���_yQPu�v����vy�O����zso4��٬ËJ⚱���r�$%�5	��S2$>��^�
Vv�WA;�%?U�O�\7�t~�3mQ�R�f�d궨�Ǽܩ�㞕�J�Y����<?���%�Z�
MS����̃z9=�}�]޼ݽTwVW��-�-K? }2-��5kx�U�1�ū��y�p?*�6V-�oK��j�^U5�s_-�x~�f�'�������e��jù�J���3c*<e=n���8Q߉щ�Gy����0��"�9z#c����.�x�y��O3Zrt
+�Br�y\���\
+niD���l(�r8�N�Z��Z���#�+�S+ػ{p�V�B;�@�[�
/�Q�NK��M��z�g����ӳ@tAe�Ds��D�k�ߙ;��k���3Fm�1ʠO�.
N��a7�AN�r|���8M-t��-�����vPg�(X��-M�z:0������ <%��N���r�9�7n���31CF�Rp	ߡ�=8"��R���ax���0�ٖ]P��,#S,�IqR*=+Nu��1�$c�5�	��,�M9���K�{	)U��C���ϑb���`Z�;��S�6������,�50����I}��r�EU=��wc��B��������/�o�9~���8�O)ݰ��O��铮��� ��T���F�eUڨC�4�AϵӾz��+��oS����+�1�����/H�)��,���9����������~R������p9V��l2��ؖ7�������B��P�>�d���5KgQW��ll$MSLO��xM�~Z�����K��������m�I2�n�$�L%��4`��߉)cw1]\�=em���7�����(?ME,^%�y�0&�U���j����K�+���o��8������
F��8E��~�Q��t�bv�̾K��l2~U֊�W=�1m
��q�IU�ʎ^�@�:�P�qa��<Ǔ�_�A��d��&��*M.sFx-W����� w�j�,�S)ۘ���k���O��j ��(ʼnΤ�~��2Eq堈����Ŕ�$��P�VT\�I���EID�xs�ƜEgi�H�gilB��4vQ�`�1�]f��dЊ�C�4���*�9��#����\�,:�D�Fe³N��'^?�X���٘��]Whr|�"h���m���f�����
�`�������,Ҩ���+�;]b�E^�_�F�چ�x?�.h�.���ƛ�J�}�A����7|&$����*�
W����4�fi�'���ڶ��2m��q�*Q���Š�9f��%���
Ɲ�����uM-%= ���dX�v���+�ۗw�����e����:��z�]��䖦0��mŽI���ر��
�i^��t���3�"cn�P�t5��1�6}��5R�V���x[�z��CU���t�04Z|.h#Νv�c����	����4����TGa9v������5E8C�Ш����/��C�X�G����hAe�iZ����2�5��6�}��,ᇑGVAp��Eg	�H�Dg	B��Q�`�n�� ��Uœ�%z��wWd!�ưv��f
�s�+�=�t�6mYN��G�M���t��G�D[���s�x����!�,�lw��hjXAv�GLu��N�&��82N��/�9]/����#����퀱���6k ����X�D��B�A�*�oW����2�����O�����hM��>ـO6{��|���t���K{�g���K�f$���WÙ�Pv��/��plbj��o��hcQE�5��{`��7`���$\uO|,��Z��?�
x�ؖ�N�K��0&�#��F��.������"T��\S�ϝ����s��T�t	�Y	'�"̐K}8-e�Vo'�j���@��5*��P�_�cY72?�� 
+����
�����Bj.S$�ږYY�<T\��M� ��s�:�?^B|8b��&X�
DFm�����\l�p�'�k����+����4-�pf��\4m�4�y9tD�AM�S�C�X�%#���H��|��G�����ai��(W/�(����e����#�N	p�t;�_�=lv���X��QG�o�|��Ḙ�_�|x���ۻ_߿��TH��0ֿ_�!�o����������f�qalp-%�_�:��_�m�79����Z���RƷ~w��P�-X�r���S�-�3'	�X����2@?'�.�h��$N�zyMwlP�Y��pi����F�.p�߹�?���,���V����mEu���됅���l�������L���#t��j��_��̘O�ޟ��O�V8�?;:BW���Q���9���1����B ��nh�7�=jj^�T8�z�5��~o��m1�"f`���K�(��&�ƻdy��gPu����ri��~�����9@���u��˓$Z�h�V�ڻe[�w�����_��%�?��5���WH�����c,��@�oendstream
 endobj
-2433 0 obj <<
+3675 0 obj <<
 /Type /Page
-/Contents 2434 0 R
-/Resources 2432 0 R
+/Contents 3676 0 R
+/Resources 3674 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2318 0 R
+/Parent 3590 0 R
+/Annots [ 3701 0 R ]
 >> endobj
-2435 0 obj <<
-/D [2433 0 R /XYZ 71.731 729.265 null]
+3701 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.95 213.963 256.138 222.874]
+/Subtype /Link
+/A << /S /GoTo /D (upgrade-cvs) >>
 >> endobj
-2436 0 obj <<
-/D [2433 0 R /XYZ 71.731 718.306 null]
+3677 0 obj <<
+/D [3675 0 R /XYZ 71.731 729.265 null]
 >> endobj
-869 0 obj <<
-/D [2433 0 R /XYZ 71.731 672.379 null]
+3678 0 obj <<
+/D [3675 0 R /XYZ 71.731 693.235 null]
 >> endobj
-410 0 obj <<
-/D [2433 0 R /XYZ 183.664 627.224 null]
+3679 0 obj <<
+/D [3675 0 R /XYZ 71.731 649.4 null]
 >> endobj
-2437 0 obj <<
-/D [2433 0 R /XYZ 71.731 614.786 null]
+3680 0 obj <<
+/D [3675 0 R /XYZ 71.731 626.486 null]
 >> endobj
-2438 0 obj <<
-/D [2433 0 R /XYZ 71.731 598.527 null]
+3681 0 obj <<
+/D [3675 0 R /XYZ 71.731 569.699 null]
 >> endobj
-2439 0 obj <<
-/D [2433 0 R /XYZ 71.731 556.848 null]
+3682 0 obj <<
+/D [3675 0 R /XYZ 71.731 546.785 null]
 >> endobj
-2440 0 obj <<
-/D [2433 0 R /XYZ 71.731 556.848 null]
+3683 0 obj <<
+/D [3675 0 R /XYZ 71.731 541.803 null]
 >> endobj
-870 0 obj <<
-/D [2433 0 R /XYZ 71.731 474.004 null]
+3684 0 obj <<
+/D [3675 0 R /XYZ 71.731 539.313 null]
 >> endobj
-414 0 obj <<
-/D [2433 0 R /XYZ 198.969 428.75 null]
+3685 0 obj <<
+/D [3675 0 R /XYZ 113.574 521.046 null]
 >> endobj
-2441 0 obj <<
-/D [2433 0 R /XYZ 71.731 416.312 null]
+3686 0 obj <<
+/D [3675 0 R /XYZ 149.549 508.095 null]
 >> endobj
-2442 0 obj <<
-/D [2433 0 R /XYZ 408.485 407.191 null]
+3687 0 obj <<
+/D [3675 0 R /XYZ 71.731 480.035 null]
 >> endobj
-2443 0 obj <<
-/D [2433 0 R /XYZ 71.731 348.247 null]
+3688 0 obj <<
+/D [3675 0 R /XYZ 113.574 464.259 null]
 >> endobj
-2444 0 obj <<
-/D [2433 0 R /XYZ 71.731 335.295 null]
+3689 0 obj <<
+/D [3675 0 R /XYZ 71.731 462.102 null]
 >> endobj
-2445 0 obj <<
-/D [2433 0 R /XYZ 71.731 330.314 null]
+3690 0 obj <<
+/D [3675 0 R /XYZ 113.574 446.326 null]
 >> endobj
-2446 0 obj <<
-/D [2433 0 R /XYZ 89.664 309.557 null]
+3691 0 obj <<
+/D [3675 0 R /XYZ 131.461 446.326 null]
 >> endobj
-2447 0 obj <<
-/D [2433 0 R /XYZ 114.57 309.557 null]
+3692 0 obj <<
+/D [3675 0 R /XYZ 349.56 446.326 null]
 >> endobj
-2448 0 obj <<
-/D [2433 0 R /XYZ 417.59 309.557 null]
+3693 0 obj <<
+/D [3675 0 R /XYZ 71.731 413.659 null]
 >> endobj
-2449 0 obj <<
-/D [2433 0 R /XYZ 71.731 294.449 null]
+3694 0 obj <<
+/D [3675 0 R /XYZ 100.623 358.655 null]
 >> endobj
-2450 0 obj <<
-/D [2433 0 R /XYZ 89.664 278.673 null]
+3695 0 obj <<
+/D [3675 0 R /XYZ 113.574 340.722 null]
 >> endobj
-2451 0 obj <<
-/D [2433 0 R /XYZ 71.731 276.516 null]
+3696 0 obj <<
+/D [3675 0 R /XYZ 423.868 340.722 null]
 >> endobj
-2452 0 obj <<
-/D [2433 0 R /XYZ 89.664 260.74 null]
+3697 0 obj <<
+/D [3675 0 R /XYZ 71.731 325.614 null]
 >> endobj
-2453 0 obj <<
-/D [2433 0 R /XYZ 71.731 245.632 null]
+3698 0 obj <<
+/D [3675 0 R /XYZ 164.384 287.05 null]
 >> endobj
-2454 0 obj <<
-/D [2433 0 R /XYZ 89.664 229.856 null]
+3699 0 obj <<
+/D [3675 0 R /XYZ 241.063 266.929 null]
 >> endobj
-2455 0 obj <<
-/D [2433 0 R /XYZ 71.731 222.718 null]
+3700 0 obj <<
+/D [3675 0 R /XYZ 71.731 229.071 null]
 >> endobj
-2456 0 obj <<
-/D [2433 0 R /XYZ 71.731 191.833 null]
+3702 0 obj <<
+/D [3675 0 R /XYZ 74.222 198.187 null]
 >> endobj
-2457 0 obj <<
-/D [2433 0 R /XYZ 71.731 163.007 null]
+3703 0 obj <<
+/D [3675 0 R /XYZ 71.731 173.116 null]
 >> endobj
-871 0 obj <<
-/D [2433 0 R /XYZ 71.731 130.065 null]
+3704 0 obj <<
+/D [3675 0 R /XYZ 426.089 157.34 null]
 >> endobj
-2432 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F23 733 0 R >>
+3705 0 obj <<
+/D [3675 0 R /XYZ 110.306 144.389 null]
+>> endobj
+3706 0 obj <<
+/D [3675 0 R /XYZ 265.274 144.389 null]
+>> endobj
+3707 0 obj <<
+/D [3675 0 R /XYZ 216.437 105.535 null]
+>> endobj
+3674 0 obj <<
+/Font << /F33 1116 0 R /F32 1027 0 R /F27 1020 0 R /F23 1013 0 R /F44 1402 0 R /F35 1185 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2460 0 obj <<
-/Length 1885      
+3710 0 obj <<
+/Length 2186      
 /Filter /FlateDecode
 >>
 stream
-xڭY�n7��+�$Ԛh^zt�N�"�X	Z�YP#J�3��8����=$%�
-/4yyx�=�t:��_:Z��"��l�d�rT5�f�=�y�*�-���t��f����<���<�w�"ϓ|>-�,Y��h��2�=�#��d���q���O�n�����S�&_׿��[��|�����1�6QPY>JI��"*3�Y�,��
-�D$����$���&�l|P�>�x���Gb��n���4K��\�n>O�1�Π��j�ꢓ/���0�F3u_��~Kw��z'z�{6˪�p����S�KP�`>U�m���w~�;o`�cG�f]v�k��l"<��\�!H�d�W��h�65�����z�L��ID5�0��@7;v�A�DK�Z�!6�l���V�!zXHa0���z���L �=ys���R�;��լ�
-0`��kRC����p�kڲ���Zw���=�\�q��Z��Ϗ�׷0���Ć�����\��"B�|��=������
@X����d���?�v���M���:�k����i����X�ٵ�]���)p�J< �X��|Y�2jY�����㠩��Nȡ��6�?b��b5�"�P�s]�3q6��u|���0�a)���p@����k¹�c��oӁ���Ifh������}������R��$R/}[��gL}"��%�s�� H���X�8AjEr<�*������(c�kf�`&�u<�!��11�2�J]A�̴oa�8�`Չ�'V��"噜%��L�>�u�}/h�:
�X�G0���6��ֿ�����m�߂yI^̅�Nu�)�u��5�4�Z��\x(��cf?tK9�ڬR��2����瑟�z���������"�5�6`��/z����5�ޢG��3�a�o8GաqY�Ԍ�bcԽn&�k����I*�ao`;�a:�������A�!�o
i`��t���4�ȹ��'v)77}�Rb�����(�;V\�#0�p���7|W�M�[fg��`>��j<���v�s��ٍ��Y��>���y=<G��R}Z��X��C���Z���
��x��TN����d�W����M�)g8j;G1��^�eX�Q�X��D��	�fn�(���Ve���C{�*(��֤lm~4�=^,?��ԡ����3�0�|�5*ڥ�`D����^岉"���Eha�z%Ds�`U	�[�r`>i�Z4YAm���2k���*�j*��r�&���������֫�N���E��v ���w@���8��ھ�X��2#l��sD�>�.AL��*h�Z���	�|D�U1��c:LfǢ�7j���}-K?�=68Ad}�{k�2<���b#��]*��R#3m��ę�F-��\h�4���JVf��/6w�md�bKF*v��	M���
-�z�y�Q��D�&ح�s��������4��h�`v��	�n?��yt��h'o�HcлS�+Q�|c~����"1�A�l�PX�ŝ�U���z'��$F�9��Q��H���CH@'����͖������F͑�
N}q�fa6���cߡ�k˳�tf ��������nh����$�'I^7X$����T�`�$>�
-�%�Lo��Se����C۶��[W�v�5h���{�=�;dd��̧��	:�<��l�S�7�D�
����p"���3��z��K-xq��jn���ޞ]��'�NN�I��s�b�R�>���!Ćgɱ�2�`��g�>�75�9ہiL-XQH!��O=8"�S�
���hmk����	��S�_�@"O���[�F۠6���N��ĝ�*8�z��
-�X�W�����(��2]<���$��K�-�Yf:P�K�Q�G�\��Mendstream
-endobj
-2459 0 obj <<
+xڝYYo�F~���C�I����<f�;p2G�Lvb����ؒ��+d3�Ouw��,�����캾�����\��b��\���_��+wu�7�<\��g��ۇ��wA�JY���*�8K�>����_6�M#�,��u|�nn��>�����?�//
+a��m=�on�������ᇫ��<�Y�/*Ik.���Q˔�(%݄ah�uZT(���q빛��l�v2���6�+\�j�E�뭷雂^�u?��Ǐ��~������SB�C[�g��}'�>����A�����ވV��R*���5�����W���Y�~�c��m��ZT�.g����.�ZK~�j��,��}�7�/D��Jm}le�[�nҊ��(/��ȝ���~u�{R��^���V���W0�K6���;Y�������γ���a'�i	�C���,8�.K�������os�d�ď4vc��v��ǃ;?����n�w���K������;�+�(����O�D\�"��\���o����`c�b)�P�
+Yv�����|�"0&���Qfg�˫N��^�hG8h�4fy���G�`��`��R'J�c�g�1�c6��
+��S_]x��?�,�*�^];�������@���7α�rx^v����� �W!E�R[Y�rGy�N�u�¤�����ť��w��n�m���1�fP�B����s�y)���5	�|AX��p��R��X�vB��m5���Pl:q��$itx��2�A	�p�9$_��
+���/�����������J/��q��<���������էa'�dw�/�a��u[8���)��hl����G:~�����!�-�ߺ	���v��C�H ����	KR���`1����^Tkeow�^!ŠZ�܃'Y�����Û��nհ]n�u����!�~; UK���u�Џ������E�}��8�E�MS��7�6�9
+�̿
+��e��e�q�p�T��5y��M�X�<q���tf����$�f��/e��h�ah@�T���h�p�Eok�Rp�e._M`�$>�6ɬ���4��.I0R8����ͱ	�_k���H|�VT�/OK��4,�K�Z�:����F4��g�����׾ʤ%��A7T�EWW���zIY�g��>c?��Z�G����b?�����w�@K-�jb[�ll��H��B&U�=؍�b 34�Nצk�s��-
Y�٤k����G�����Ի~eN̶�m�wS�X
߷�~2���\/78�H6I���Pټ�4&�P���zڕ�3�xo���T�E=[��"U|[��x�'���;��͔��	�l2�h��eW�5��d$�yE?P���|��B�5�4v�M g#�K��Su�������0����������]��\�<8h	dx��́&�\0ؽ{��ܟ����Ю�by�qN{�Q�5�<�1'5��b��|,렋��q�;R�k�~{6��P����q#��b�,'/�Y��"5�|����Fp�-���^[iv�R��,gDž�+a���S�e�2ㇰ�"�jy{�Cx=���fp���|d^��?$��	%n��<=Ͼ@D+�
���<���iѐSu��zcM,0�AN^�5\�6�y&��"�cƽd���P1	�g���y�Ѯq��5"�լ+�Qϡ��6�|Mf��g5�M�n]R��G�s���%;5�դS�[��KN�;U9��Q����C`�4)SaM^�m�����6���S(]��j�����������{���"���gA�� ����}P暌-���37� B�BYS^���1�����Y����v����8d�����|w�W�r�o�6���}����7�d>�0�90�D��@k%_]�o>g�롤��	j{�R�q�:��8���,7����| ��Gr*����X>@J]�֩'���9`���Ϝzi��
GG�>�B��gs�5,��K=����iƕ닽�그r<���g��TM��#q��8�-V{`G'@Š�ah�%L{�W��-�8r��jj]#�6��cZn:��=���hO�ז0H��b�޷�ʨ+�sL=О*0��d2���42D�i�qy�@k��,�c4���Mx���:�
���eSwrq`���0��:~�/�㒋?�p�çM��q��9���?�]<�endstream
+endobj
+3709 0 obj <<
 /Type /Page
-/Contents 2460 0 R
-/Resources 2458 0 R
+/Contents 3710 0 R
+/Resources 3708 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2318 0 R
+/Parent 3590 0 R
+/Annots [ 3723 0 R ]
 >> endobj
-2461 0 obj <<
-/D [2459 0 R /XYZ 71.731 729.265 null]
+3723 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [426.041 513.821 470.899 522.411]
+/Subtype /Link
+/A << /S /GoTo /D (security-mysql) >>
 >> endobj
-2462 0 obj <<
-/D [2459 0 R /XYZ 71.731 741.22 null]
+3711 0 obj <<
+/D [3709 0 R /XYZ 71.731 729.265 null]
 >> endobj
-418 0 obj <<
-/D [2459 0 R /XYZ 211.45 705.748 null]
+3712 0 obj <<
+/D [3709 0 R /XYZ 71.731 741.22 null]
 >> endobj
-2463 0 obj <<
-/D [2459 0 R /XYZ 71.731 696.925 null]
+3713 0 obj <<
+/D [3709 0 R /XYZ 71.731 718.306 null]
 >> endobj
-2464 0 obj <<
-/D [2459 0 R /XYZ 71.731 651.148 null]
+3714 0 obj <<
+/D [3709 0 R /XYZ 332.521 695.392 null]
 >> endobj
-2465 0 obj <<
-/D [2459 0 R /XYZ 71.731 622.42 null]
+3715 0 obj <<
+/D [3709 0 R /XYZ 71.731 654.545 null]
 >> endobj
-2466 0 obj <<
-/D [2459 0 R /XYZ 71.731 622.42 null]
+3716 0 obj <<
+/D [3709 0 R /XYZ 71.731 654.545 null]
 >> endobj
-2467 0 obj <<
-/D [2459 0 R /XYZ 71.731 544.558 null]
+3717 0 obj <<
+/D [3709 0 R /XYZ 71.731 629.609 null]
 >> endobj
-422 0 obj <<
-/D [2459 0 R /XYZ 333.287 505.186 null]
+3718 0 obj <<
+/D [3709 0 R /XYZ 71.731 593.609 null]
 >> endobj
-2468 0 obj <<
-/D [2459 0 R /XYZ 71.731 494.821 null]
+3719 0 obj <<
+/D [3709 0 R /XYZ 186.878 577.833 null]
 >> endobj
-2469 0 obj <<
-/D [2459 0 R /XYZ 71.731 454.077 null]
+3720 0 obj <<
+/D [3709 0 R /XYZ 392.754 577.833 null]
 >> endobj
-426 0 obj <<
-/D [2459 0 R /XYZ 411.1 414.805 null]
+3721 0 obj <<
+/D [3709 0 R /XYZ 71.731 562.844 null]
 >> endobj
-2470 0 obj <<
-/D [2459 0 R /XYZ 71.731 404.44 null]
+3722 0 obj <<
+/D [3709 0 R /XYZ 142.466 524.28 null]
 >> endobj
-2471 0 obj <<
-/D [2459 0 R /XYZ 71.731 361.639 null]
+3724 0 obj <<
+/D [3709 0 R /XYZ 74.222 476.264 null]
 >> endobj
-430 0 obj <<
-/D [2459 0 R /XYZ 328.439 324.423 null]
+3725 0 obj <<
+/D [3709 0 R /XYZ 71.731 451.193 null]
 >> endobj
-2472 0 obj <<
-/D [2459 0 R /XYZ 71.731 314.058 null]
+3726 0 obj <<
+/D [3709 0 R /XYZ 71.731 397.395 null]
 >> endobj
-2473 0 obj <<
-/D [2459 0 R /XYZ 71.731 258.306 null]
+3727 0 obj <<
+/D [3709 0 R /XYZ 71.731 397.395 null]
 >> endobj
-434 0 obj <<
-/D [2459 0 R /XYZ 427.527 221.091 null]
+3728 0 obj <<
+/D [3709 0 R /XYZ 71.731 374.615 null]
 >> endobj
-2474 0 obj <<
-/D [2459 0 R /XYZ 71.731 210.726 null]
+3729 0 obj <<
+/D [3709 0 R /XYZ 71.731 340.673 null]
 >> endobj
-2475 0 obj <<
-/D [2459 0 R /XYZ 71.731 167.925 null]
+3730 0 obj <<
+/D [3709 0 R /XYZ 231.49 296.937 null]
 >> endobj
-438 0 obj <<
-/D [2459 0 R /XYZ 319.902 130.71 null]
+3731 0 obj <<
+/D [3709 0 R /XYZ 71.731 281.828 null]
 >> endobj
-2476 0 obj <<
-/D [2459 0 R /XYZ 71.731 120.345 null]
+3732 0 obj <<
+/D [3709 0 R /XYZ 71.731 258.914 null]
 >> endobj
-2458 0 obj <<
-/Font << /F33 834 0 R /F23 733 0 R /F27 740 0 R >>
+3733 0 obj <<
+/D [3709 0 R /XYZ 71.731 231.736 null]
+>> endobj
+3734 0 obj <<
+/D [3709 0 R /XYZ 197.727 198.605 null]
+>> endobj
+3735 0 obj <<
+/D [3709 0 R /XYZ 328.437 198.605 null]
+>> endobj
+3736 0 obj <<
+/D [3709 0 R /XYZ 71.731 196.449 null]
+>> endobj
+3737 0 obj <<
+/D [3709 0 R /XYZ 71.731 181.505 null]
+>> endobj
+3738 0 obj <<
+/D [3709 0 R /XYZ 71.731 160.048 null]
+>> endobj
+3739 0 obj <<
+/D [3709 0 R /XYZ 516.411 118.277 null]
+>> endobj
+3708 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F32 1027 0 R /F23 1013 0 R /F44 1402 0 R /F35 1185 0 R /F48 1414 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2479 0 obj <<
-/Length 1571      
+3742 0 obj <<
+/Length 2204      
 /Filter /FlateDecode
 >>
 stream
-xڍXm��F�~���',�^̋�U�\�$�.j��DM?���F�K.���;��,����0/��<3��\��f�������Q8K�+wv�;o�<�X�Ȳ's��z�&fk����f?[�h>KB�����>��b釮2s����`No�÷,�����W�n��0��:	��dFN�q���&,X�Z�x�3ƛZ�YV��.�Ӧ�3Y�����}-O�u�pe�vn���ܻ�)W z��4�?􃲺��O����T{:l�7�y+p/����
-~��א�,Ҿĉ�V��TIs��e�3sn‚�ۏPoP�����"��3<*<Z��k���6�0������/�Y)0ȳl0�JDP
-�V�/�)G�<K������������Osk�)��Z�m��
��5��Q����8�Ll�Y=�]��C���A5�8s�*=�=���"txVֈ0! s4l4V��4y�<��~.K�T�3Y+YQfx�_��p���S��nІ�}�โ�z�K�(a�d9�-�I���i��ڔ{Y���J��E:c`t�����������v
-Ii�D*J5QE=�^t=`�ʦ�­Ae�ٽ.]�d����Ҵ������B����CD
���L�$�~����I!lu���ZJuIwHt�y��)Gu�j�o
-��~WME=c
(h��E�R�^��~`_s2u[dv�t4��=�,"���h�t[-
-��t���A�3���^'����"���N�t�<F��,
��S0�,�#�5�j�H7��VP��*
-Ӯ(�#_��G�Qݮ�~�<	�O��q�fA�[<���"�$+�Aos����QvX*�B<�-wʁ=��Mh7�bTK�
-o�O�f~��	�,8r��䢮��u��#��|�����C�ؙIW�L����?6A7�����v�X��q�`t^s���O���Y��HD&�0�Χ��h�Q�E��Jqj�hv8).�%�Ts���Uo�-�^��뺌�{s~T�t����Ã&y��hc�T{�s�[4�R�v�����h����`Pt������1�]�l��P�8�r����ɦ��%كB�n��d
��f����9�V�U�A�q�mc�b�%Q4V�uD/.�
��`B5W���Nh���@��\��@H�Ͻ�`�4�	��O	��D�Vȋ�MȾ��_��:.�����K�K��+�+B��`�:Ӷb��Һx��6���Ei^��,�33���Q6�Y���TÍ���8Bm�0e�yRL�Icʻ��V�'v*����!�_ш)3.�CdK��	��w�:%����W����Z�S��٢k-�v�<�biY�s�[��������d>�x��F�C���vY$>��0����t�2�����
�v�(�ۛ}sN�����7vY䆠��&)���j!��Ga�R�!�� 5%gk�������2{	����i�4Ea{��8���(Y���P�m{.�DЯZ*����/�vO�� ������vsPc��5��`S���,]�ܮn�:�6���BV	K���o<���O������2��O7cK��#�Zendstream
+xڕY�o����qhq6����.�Cn/�n�m�\�B�X0m�D�r�_ߡȑ���-�A25�3ø
+�����/!^n��
ݜ���޸��1$�E��Û���$$����q�!��9�G���<d���6
������t{K���������yQ0����u���.�ۿ�����7w�� I�_iRz�Q�$$Q�n�8$��������"��Σ۟w ��Q-t���^�LCʪL����eN�s��z��Y��Tr�CN/u�_�JH��Y��J0 n���&�7z���͖�^	71�)}���\�I��x��#��Iiԓ��Q�Iܠ'gE]�w9
c�J�Й�=ϯ����)HufՉg�n�!�$
kY�%o�Of�<�EQ��۹��_�O(uW�nH��q��n(�n U�`CP�2�?G�z����.�4����M�R�t:ߎ�z��y��O瞳��؄��
+�I����,��B�W����Uc�0_�f�0�����T:��_5��@\?�n��撑�kFZ2{�HK�K#Y�o3�lTz�ׅ|��~�*+�(#eY˅�-�	���8��	(��C�#$>Y��o^�+���);$�H<��3i�A����� 1
+�]����G��A�U��i6VP�Px6
6S~~_[[2%A���Y�����s�����AAmm$����܊���α��|m�K��|��5
V�?A�C�s�N���p+^ezFHm�(����	���.��7�k`�����5@�ha�Xwh޼�V���C2�ȳ����^S�km�R��	����g�/�(������7�0UD���\K>x~(<��.Uב'м�(��T����`���g���I��ǘ��� B�t�_i���"�+(/�@"������,�!h�1nlW�Ys18�|�Ǩ+Z����rH���&���<�ų��
�ͤ=*���p��/
Sm��@t+Y���[�-�T�wV��X?e�,G0H�9��^�wH�v������WݍC���n���kC]7v�C��U����T7�'w�6�˺]��qd�(Y���g�S'LL��U�*٥�X�$�RAgU"x�J,1���X3C�
W��q{�Jg� ��2���oB�E�`uά#װ^[�_0���"�>S��Z������d$�|4�چ�4(�֕l��=�\M
u�2�U��"8�P��80�Ո��}œX	��������<
<�5�n��������nt �*���������r#dk��:��58·]5�Ȗ�QX�Qc�[S]�1�蔫of��^n>�3���v�Ns��ؤ�Do�J%�c��F0�y�bxDU?/m�d-2Ś�<�/�����O`BA��tw���a&{��"���"��J��~>�I�'l��!�S)=���>:�\eN:���rN�W�
+S?/��V��ޒ#�"����*Ur����N���]ڗ\>j9��Glr=�/k��ːKcm��l4�X:��\�T�+��8�L]�c.1��I	�j�K�eL\o4�����+T��uPv�W'�r-<h��$@-�%(9 `�L����;=C������Ӫ���ƫ��z��A��j��U鎕���JU��4�фD����n3�Ʊ�wm󃔈�v�m��K
���$��Sf�X�)��q��YJՍA�FXl����?�{xQ�V�)��& ��Ŭ�<:]��:d"�=w���-�3�\��MY�߾e�xH�VU�Ys6�mpS⫫�W����j��a0���I�a���{#aO��fc�X�˕�������T
BA�=Gp0�/��U ��	�d��I�GA���@=`��pX2f�h�[����)�g|X|_W*����0Evנ�z�݊��O��d�4����\��{NF?5x��>�+s]�P��m'ZM���+W�2f�9%g��y����n�4�F�Fe!���f(��G��x���P����cڊ8���z6S��at5�R�ϛ�Ր6Ӌ�)�쐑3�3�ʰ����o��h�4��v�$ߘ�zW���4�����i��7r#J �������ÿnf�ز|����,Kk7mJ�5먨[wݫ�~u���J����`�|6��Eq���N�z$h1�q�7�UWh�C��}���Ě��1�������dQ�C/&��C��^�/ؒ������endstream
 endobj
-2478 0 obj <<
+3741 0 obj <<
 /Type /Page
-/Contents 2479 0 R
-/Resources 2477 0 R
+/Contents 3742 0 R
+/Resources 3740 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2496 0 R
->> endobj
-2480 0 obj <<
-/D [2478 0 R /XYZ 71.731 729.265 null]
->> endobj
-442 0 obj <<
-/D [2478 0 R /XYZ 284.583 663.99 null]
+/Parent 3788 0 R
+/Annots [ 3776 0 R ]
 >> endobj
-2481 0 obj <<
-/D [2478 0 R /XYZ 71.731 653.625 null]
+3776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.623 264.145 229.05 273.056]
+/Subtype /Link
+/A << /S /GoTo /D (gloss-mta) >>
 >> endobj
-2482 0 obj <<
-/D [2478 0 R /XYZ 71.731 612.882 null]
+3743 0 obj <<
+/D [3741 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2483 0 obj <<
-/D [2478 0 R /XYZ 71.731 579.94 null]
+3744 0 obj <<
+/D [3741 0 R /XYZ 71.731 741.22 null]
 >> endobj
-446 0 obj <<
-/D [2478 0 R /XYZ 262.26 542.725 null]
+3745 0 obj <<
+/D [3741 0 R /XYZ 187.785 640.897 null]
 >> endobj
-2484 0 obj <<
-/D [2478 0 R /XYZ 71.731 532.36 null]
+3746 0 obj <<
+/D [3741 0 R /XYZ 71.731 638.74 null]
 >> endobj
-872 0 obj <<
-/D [2478 0 R /XYZ 71.731 492.548 null]
+3747 0 obj <<
+/D [3741 0 R /XYZ 71.731 633.758 null]
 >> endobj
-450 0 obj <<
-/D [2478 0 R /XYZ 223.845 449.451 null]
+3748 0 obj <<
+/D [3741 0 R /XYZ 105.604 613.001 null]
 >> endobj
-2485 0 obj <<
-/D [2478 0 R /XYZ 71.731 437.279 null]
+3749 0 obj <<
+/D [3741 0 R /XYZ 140.184 613.001 null]
 >> endobj
-2486 0 obj <<
-/D [2478 0 R /XYZ 71.731 425.735 null]
+3750 0 obj <<
+/D [3741 0 R /XYZ 184.766 613.001 null]
 >> endobj
-454 0 obj <<
-/D [2478 0 R /XYZ 223.569 388.519 null]
+3751 0 obj <<
+/D [3741 0 R /XYZ 71.731 610.844 null]
 >> endobj
-2487 0 obj <<
-/D [2478 0 R /XYZ 71.731 381.167 null]
+3752 0 obj <<
+/D [3741 0 R /XYZ 105.604 595.068 null]
 >> endobj
-2488 0 obj <<
-/D [2478 0 R /XYZ 280.576 342.492 null]
+3753 0 obj <<
+/D [3741 0 R /XYZ 140.184 595.068 null]
 >> endobj
-2489 0 obj <<
-/D [2478 0 R /XYZ 71.731 309.416 null]
+3754 0 obj <<
+/D [3741 0 R /XYZ 185.563 595.068 null]
 >> endobj
-2490 0 obj <<
-/D [2478 0 R /XYZ 71.731 309.416 null]
+3755 0 obj <<
+/D [3741 0 R /XYZ 71.731 592.912 null]
 >> endobj
-2491 0 obj <<
-/D [2478 0 R /XYZ 71.731 221.621 null]
+3756 0 obj <<
+/D [3741 0 R /XYZ 105.604 577.136 null]
 >> endobj
-2492 0 obj <<
-/D [2478 0 R /XYZ 71.731 190.637 null]
+3757 0 obj <<
+/D [3741 0 R /XYZ 132.164 577.136 null]
 >> endobj
-458 0 obj <<
-/D [2478 0 R /XYZ 197.015 151.364 null]
+3758 0 obj <<
+/D [3741 0 R /XYZ 74.222 559.203 null]
 >> endobj
-2493 0 obj <<
-/D [2478 0 R /XYZ 71.731 143.445 null]
+3759 0 obj <<
+/D [3741 0 R /XYZ 71.731 534.132 null]
 >> endobj
-2494 0 obj <<
-/D [2478 0 R /XYZ 142.336 118.288 null]
+3760 0 obj <<
+/D [3741 0 R /XYZ 423.509 518.356 null]
 >> endobj
-2495 0 obj <<
-/D [2478 0 R /XYZ 143.113 105.337 null]
+3761 0 obj <<
+/D [3741 0 R /XYZ 159.83 505.405 null]
 >> endobj
-2477 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F23 733 0 R /F38 963 0 R >>
-/ProcSet [ /PDF /Text ]
+3762 0 obj <<
+/D [3741 0 R /XYZ 71.731 472.364 null]
 >> endobj
-2499 0 obj <<
-/Length 2012      
-/Filter /FlateDecode
->>
-stream
-xڍXY�۸~��P�C,U$�H�:�jle7;�M����d0$$b������8�4�-OY ������F<[ÿx���]
-?�!J��,�߭g���w����SV�9O��L��!:l���<ۤi�n��]�D�,���Ϗ%i4��U���Y�~�(�/n�����UY�z�ۻN��,�E�}�M�p�D�d�	����Q��X������\���SUN����	/�X��
�Ѳ�YQ"�ҽx�x��ƂUx�Ȳ�r��Rp�
��J��/L�-����V
J������뎇#�Q��
->�nZ���߫d ̲����m_PMX�%*�"��/^A�~[�e:2���Y�Km��`�
<d��.���ƃ���(�r�����aM���$�k�n��h��ҟ���_�ōhUx�����LO�ľ,���o����S)�$(����"���L%j�� KC�f�X�Cs)r]l�9.������%5�l���v�Ɉ�”�<;�`P�����n�P�Tԍ[�iN�"�U~"�5P��8�|`U�>�{cN�E�g���=|!ܽ��"�pl<��s/����Ke-	��#wcc��I�w���(I��vlX��*Єh����z1[)D:�=�	�~k�_B
-��P+Z9G��yn���v�ηP�ŧ9����\
�WBG]�BL��}��R7�����p�'A��{�
-��ү�
-l6^�X����H8�G
-<���a|��(������n�8"~#%���
-�����
-<룍��ݽ�k`��OྫC����vpF�[q�_�����0�6R'�_�,�!1�C�.^>��|<=��a|�F�ԴC��G���Q��������4Y��~H��h��<1����<��ѦV76��p19@���V^�s��bN�G�LJ�l�u.)�L�c(r���	�c���In�Y�NqK��W�Y��x�%��إt��D%�4���,��g5�߇N��h�wP-<A2�$7��'ԳD���k
��RU��Q��
n�s}�trAf���l����j��Jk��
�,���E��R})E�X�G$
-h(P
-,p���I�.�zKsʺC�8��
-�[��
e5fW��i6����/�Bw���ѯҸpbqJ�Q��Keg����BÒ]�4e0��R�U�^�%<�5R�9���\H�vu��i�1'6y���ht��~��:���>N�������瑷	ڡ�l��&�_@����m�\i�:��v�xhx��.�M�!H6�I�&x��髦B�@�$�_ߨ)�KQ�X���
-$�sأ�>T̥?��n0�+����5d�1�
-�P�:h!6��m@��u���]����1��v�}��U������./����	(A�����75X1;��p��CIc�c��Dx�jD��w9"��F/�R	�:��v��7��ܴ�PZ�8Dy��������y��ip|���^"+�ͱ�~��k��ch��v�r��9�{M�
p�.���9�~;��~m/��$��@�:�����a�K��/���fF�!
�����]
-�Q���8���� �^0�����@� �P?~5x��J���\���a�|ed]w?�i�!����댏�+a�)*���SX`��[l�p��`��N����<��n�k�!JwIpV��Z����j��~�����8��ߌ{�s-0��+�X��ud��a��ϫ��Q�7D)O��d��C�(CC�ꛪ��$�Ҝ�y+��������㘛z�P_q0�I1��11b��`�:t�:Ж���|�.Mv�.nA\�Hw�d��L�h��~f߀[bH>�4�[�
-�$I?�z��͍����M/���B0AZ�Q�5��Qj�K����pn3���l�}�h���������j#�|o6������\v|2��z���ӝ=&%II�fT�7�d���
-���%���π�h|��/_7�h�y��M�\+g�>Z'��������I�+W�endstream
-endobj
-2498 0 obj <<
-/Type /Page
-/Contents 2499 0 R
-/Resources 2497 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 2496 0 R
+3763 0 obj <<
+/D [3741 0 R /XYZ 110.854 448.618 null]
 >> endobj
-2500 0 obj <<
-/D [2498 0 R /XYZ 71.731 729.265 null]
+3764 0 obj <<
+/D [3741 0 R /XYZ 74.222 417.734 null]
 >> endobj
-2501 0 obj <<
-/D [2498 0 R /XYZ 71.731 718.306 null]
+3765 0 obj <<
+/D [3741 0 R /XYZ 71.731 392.663 null]
 >> endobj
-2502 0 obj <<
-/D [2498 0 R /XYZ 354.159 708.344 null]
+3766 0 obj <<
+/D [3741 0 R /XYZ 71.731 361.778 null]
 >> endobj
-2503 0 obj <<
-/D [2498 0 R /XYZ 71.731 690.311 null]
+3767 0 obj <<
+/D [3741 0 R /XYZ 71.731 338.864 null]
 >> endobj
-462 0 obj <<
-/D [2498 0 R /XYZ 185.739 651.039 null]
+3768 0 obj <<
+/D [3741 0 R /XYZ 160.936 323.088 null]
 >> endobj
-2504 0 obj <<
-/D [2498 0 R /XYZ 71.731 643.686 null]
+3769 0 obj <<
+/D [3741 0 R /XYZ 252.253 323.088 null]
 >> endobj
-2505 0 obj <<
-/D [2498 0 R /XYZ 71.731 571.97 null]
+3770 0 obj <<
+/D [3741 0 R /XYZ 324.163 323.088 null]
 >> endobj
-2506 0 obj <<
-/D [2498 0 R /XYZ 71.731 541.086 null]
+3771 0 obj <<
+/D [3741 0 R /XYZ 494.911 323.088 null]
 >> endobj
-466 0 obj <<
-/D [2498 0 R /XYZ 198.349 503.87 null]
+3772 0 obj <<
+/D [3741 0 R /XYZ 206.604 297.186 null]
 >> endobj
-2507 0 obj <<
-/D [2498 0 R /XYZ 71.731 496.518 null]
+3773 0 obj <<
+/D [3741 0 R /XYZ 269.796 297.186 null]
 >> endobj
-2508 0 obj <<
-/D [2498 0 R /XYZ 71.731 452.762 null]
+3774 0 obj <<
+/D [3741 0 R /XYZ 474.337 297.186 null]
 >> endobj
-2509 0 obj <<
-/D [2498 0 R /XYZ 71.731 432.772 null]
+3775 0 obj <<
+/D [3741 0 R /XYZ 71.731 277.096 null]
 >> endobj
-2510 0 obj <<
-/D [2498 0 R /XYZ 71.731 388.937 null]
+3777 0 obj <<
+/D [3741 0 R /XYZ 358.055 266.301 null]
 >> endobj
-2511 0 obj <<
-/D [2498 0 R /XYZ 113.514 352.239 null]
+3778 0 obj <<
+/D [3741 0 R /XYZ 145.982 253.35 null]
 >> endobj
-873 0 obj <<
-/D [2498 0 R /XYZ 71.731 335.138 null]
+3779 0 obj <<
+/D [3741 0 R /XYZ 74.222 235.417 null]
 >> endobj
-470 0 obj <<
-/D [2498 0 R /XYZ 246.672 292.041 null]
+3780 0 obj <<
+/D [3741 0 R /XYZ 71.731 210.346 null]
 >> endobj
-2512 0 obj <<
-/D [2498 0 R /XYZ 71.731 283.218 null]
+3781 0 obj <<
+/D [3741 0 R /XYZ 179.627 181.619 null]
 >> endobj
-2513 0 obj <<
-/D [2498 0 R /XYZ 71.731 255.373 null]
+3782 0 obj <<
+/D [3741 0 R /XYZ 416.129 181.619 null]
 >> endobj
-474 0 obj <<
-/D [2498 0 R /XYZ 229.58 218.158 null]
+3783 0 obj <<
+/D [3741 0 R /XYZ 71.731 161.529 null]
 >> endobj
-2514 0 obj <<
-/D [2498 0 R /XYZ 71.731 207.793 null]
+3784 0 obj <<
+/D [3741 0 R /XYZ 71.731 130.645 null]
 >> endobj
-2515 0 obj <<
-/D [2498 0 R /XYZ 399.051 185.082 null]
+3785 0 obj <<
+/D [3741 0 R /XYZ 239.142 119.851 null]
 >> endobj
-2516 0 obj <<
-/D [2498 0 R /XYZ 71.731 172.13 null]
+3786 0 obj <<
+/D [3741 0 R /XYZ 292.272 119.851 null]
 >> endobj
-2517 0 obj <<
-/D [2498 0 R /XYZ 71.731 152.041 null]
+3787 0 obj <<
+/D [3741 0 R /XYZ 438.891 119.851 null]
 >> endobj
-2497 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F23 733 0 R /F38 963 0 R >>
+3740 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F35 1185 0 R /F32 1027 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2520 0 obj <<
-/Length 1169      
+3792 0 obj <<
+/Length 2455      
 /Filter /FlateDecode
 >>
 stream
-xڍVM��6�ϯ���$6�e�6��M6�|T����A�����h0xf+��iZ����
��`K�6�+˳�l��o�~��"�&�������4(H����lҔ�ylSFv��o��w�裘eI����e{r˧����k������~:0K��إ�Ą6w�X�
I7�A��%[��P*#`o�lw�ۆ��-�����N�sdI��P���ߵ�p�گ��-�jt��{�^Tc)�Z�<Ȉ�m��z�ި����=�GK-��tбW�2����n�c�DK�G�=.��Jt��&C՚�MȔ�"s�N����T�>�΃W� K�ѻ�<аZY�gޞ�عr�(���6�K�r 2 �g��Qj�Y����V��q��|��I�jХeb|���S��D8��{����/~����=��n���D�a\β<�
-���*�
�
-^׋T����Ϣu�Q-�`�31��TN�:s����f��?,����6.��j����YYx]��ݥ��l��{x/:���mF\���R�/o��\K���"ʊPM��V�?G;�c(���j:��/	��#�נ�|����<[�8A?baղ|�R9�j�F�����\/��j�ArM�>&7���{����VT
-�l�+Af���q+j&ѭ%0'�M�1�a?�Jc�e�����-�7]��D�H�S��t����c�Um{���'���Zh<�7�y��z�jik�Ǩ��9O��&�иl��	�z��(�l�7�Բ��U-+~��,$~̤�ƌU̘��$O��@�_8��f�dI�h����!?H��X���b�0�q[KM츁-b�%t�ԑ�V
nq@߮!@V�mn���+[���
-O�-���5��v���"��o��y5��`a��̟��ak����Oha���5�	�)%y�۴�-4�ޕ��Y�o1�=��5b7]RE����Sk�����Ӂrŧo����eT}�X�#�r�Q\7�f�i%S7�a��O#����h ��L,�v9��iq�vA�p���z5vz�ux/���0�E����}��-fUa�I��8Q�R��n$�i�[���F@8�<�9PX �4���KH�g���k��$�
-�|T��W�Y�V7�v}����͎����7�����I:���k�����&�endstream
-endobj
-2519 0 obj <<
+xڝYY��~�_�<Y�ax��Kj��X;.g���� ��!	��=+��4�xi���f%�P����n��M����!$�^�#��tS4��O�{펽ݲ�������8��1�7��M�$Wr��i�y.پ�:֖է�>J��b^��̼�j��Q�55��݅a�}�K���ݯ�?<|��4H�9��g��=K-#���$�S��Znj�)�7*�
+��D19�ʰ��~)$��ӷ���]��6j�[#H^��żmn�D�f��\%�M�ۓ]*x��d���{\o%�Z�^�S��tK�4���}ń5�ÕJ{$7�o��_�a{��>����Z�ܪ�1�bA�JZ��++^`11Y����1H�8����L;&JH�6�1��R\���dǃ�
Csй�yw�u�+;�7��+W�
+f�Hk�`�/F��g�9딏A���2aeU��i<	9&����Pk�����ѩ��^{f��B��(8Z��~��[~����45�I��?�h7״�L�_��|+	�
Ή^?��CPfE�vYe#�3���I�z�|���[����xS@��Y�hW!�D�U&���W
+������@Ҷ\?jn�i�j|p�K=H���)�8I�+��"�F�]B�7�g@0��o5-�X� ���Ӏab��W���f����1&�Mu,���)�A0��y �XǼ%��*ͬɴV��\�5��*j���y��U1��W��Ƶ�TA%S_z�P���OV��b����$d%�Q�d�tL᭝�_V�ݲ��B5ܖ񲁁�xUȭ@I��������ϖ�m�+@q�I&�3ě�Zc��Q�@�X#i�q8<����ZY΅'��������f�p�d�Z��<UR͍j)�@`�ؒ��%�X��!{�l��`%�S��@���m������|o
+��J��)A�x4�_`a[zt��>������	� �t�அ�ra-��D���rD�j�s��KC|0�—��b%�
Xi!Q�W�4�	����{͉��ЖPP����ww�Eq��LCW!�Y��� "A��Ҵ�Y1MS�Dz��sU��]���EP~�IbLq
��qD	l��:��ꌢ��;��l4���wQd=�{��1y����g�$*�
+��qe��`U+�J����-�����y�\''}:�A2�����O�7�"��*
�Rv_>=����tK`Ks�E��L>�@��9w�t����n����L�2�r��	 �O@t�PH�W��I��3j|YÚӤGP��Љ���؝{�����~cیG�5�E9]�@A•yA�&�V��ʲ�@��g&A�&��U����o�͆	�\�0��3q�U��,�6-�5L��:_��rh�eƦ�*�}��L�+���
+�i��k
(�k����O.�����X2r�'��^�g��%ɓ̖�������\:��@
��Д���"�=��2MԠ$"Tab�k����^��ق r�2��t��ah[�‘������N�9(����5lI�l�o������z���O�؊�!^Y�v�Z������nZsh�uTtd^;#���
0�HtH&0�:���A�����y�‘�8�LgU:{��tm�+/�M�XN�@a�j�E��\ҲQ׹r����I�%�#��S���ww��K�}�Bv¦��;�b�`�yC�$$)5/h
^:W�&:��;L��Na| I�l�($YtT#��~�5ؔ����7��>��q��4�7!9�M�6���$�+��CN���ݷ�Gm�����	WCz�81�!�A�8�Ix4	�A5ڷ����{k�9ɏ�� �8�Y8��?dx�E1X�-,ۖ�yg�O��[u����zK��*�ذ��ɶ�����mm7�춒�)�
+Ԉ\�Rj�7��!���p��u�U�ް]l?�vbk�#X�*j��l_̪Nt�j��|��r2T*si����N��Ti]g��O�!�#�f����?�1��
+D������,	7Q���&��~?f��R����������ŷϺ�/�p������U�d
�:��u+?s�e��}��.��^U����݂��f4u�؆���N��<_�,���{7pa+ӡ���f��Ւ��q����Srow.�!�W��p��7�+�/��A=jڣCW�I�~���Q��t�2�n��'�6��\�����E�n��XV��{��#���f
+y���	�]�/
+��Y~�:'ל�Nym���+�q(�'u�u���W�Z}�ָ�f����=�x/�z���谛����/2�������P�y�Y*^��Κ$3Q�%ւ�v>(Uӹ��O�Ek��uP�"���T�C�]'7K�X���\��2�����Q(xT��'?�-�Q�ahe/���%��X�@x���~��g�4�I�un��5oy��,�Vendstream
+endobj
+3791 0 obj <<
 /Type /Page
-/Contents 2520 0 R
-/Resources 2518 0 R
+/Contents 3792 0 R
+/Resources 3790 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2496 0 R
+/Parent 3788 0 R
 >> endobj
-2521 0 obj <<
-/D [2519 0 R /XYZ 71.731 729.265 null]
+3793 0 obj <<
+/D [3791 0 R /XYZ 71.731 729.265 null]
 >> endobj
-478 0 obj <<
-/D [2519 0 R /XYZ 210.471 707.841 null]
+3794 0 obj <<
+/D [3791 0 R /XYZ 71.731 741.22 null]
 >> endobj
-2522 0 obj <<
-/D [2519 0 R /XYZ 71.731 697.476 null]
+3795 0 obj <<
+/D [3791 0 R /XYZ 71.731 698.381 null]
 >> endobj
-2523 0 obj <<
-/D [2519 0 R /XYZ 71.731 667.627 null]
+3796 0 obj <<
+/D [3791 0 R /XYZ 71.731 673.445 null]
 >> endobj
-2524 0 obj <<
-/D [2519 0 R /XYZ 71.731 623.791 null]
+3797 0 obj <<
+/D [3791 0 R /XYZ 71.731 650.396 null]
 >> endobj
-2525 0 obj <<
-/D [2519 0 R /XYZ 71.731 584.937 null]
+3798 0 obj <<
+/D [3791 0 R /XYZ 129.404 634.62 null]
 >> endobj
-2526 0 obj <<
-/D [2519 0 R /XYZ 71.731 569.993 null]
+3799 0 obj <<
+/D [3791 0 R /XYZ 219.884 634.62 null]
 >> endobj
-2527 0 obj <<
-/D [2519 0 R /XYZ 71.731 520.942 null]
+3800 0 obj <<
+/D [3791 0 R /XYZ 151.85 621.669 null]
 >> endobj
-482 0 obj <<
-/D [2519 0 R /XYZ 196.498 481.569 null]
+3801 0 obj <<
+/D [3791 0 R /XYZ 71.731 554.755 null]
 >> endobj
-2528 0 obj <<
-/D [2519 0 R /XYZ 71.731 474.217 null]
+3802 0 obj <<
+/D [3791 0 R /XYZ 71.731 531.841 null]
 >> endobj
-874 0 obj <<
-/D [2519 0 R /XYZ 71.731 431.393 null]
+3803 0 obj <<
+/D [3791 0 R /XYZ 397.697 503.113 null]
 >> endobj
-486 0 obj <<
-/D [2519 0 R /XYZ 180.187 388.295 null]
+3804 0 obj <<
+/D [3791 0 R /XYZ 267.515 477.21 null]
 >> endobj
-2529 0 obj <<
-/D [2519 0 R /XYZ 71.731 376.124 null]
+3805 0 obj <<
+/D [3791 0 R /XYZ 469.715 477.21 null]
 >> endobj
-2530 0 obj <<
-/D [2519 0 R /XYZ 71.731 376.124 null]
+3806 0 obj <<
+/D [3791 0 R /XYZ 71.731 457.121 null]
 >> endobj
-2518 0 obj <<
-/Font << /F33 834 0 R /F23 733 0 R /F27 740 0 R /F44 1007 0 R >>
+3807 0 obj <<
+/D [3791 0 R /XYZ 239.55 433.375 null]
+>> endobj
+3808 0 obj <<
+/D [3791 0 R /XYZ 74.222 402.491 null]
+>> endobj
+3809 0 obj <<
+/D [3791 0 R /XYZ 71.731 377.42 null]
+>> endobj
+3810 0 obj <<
+/D [3791 0 R /XYZ 245.279 361.644 null]
+>> endobj
+3811 0 obj <<
+/D [3791 0 R /XYZ 439.947 335.741 null]
+>> endobj
+3812 0 obj <<
+/D [3791 0 R /XYZ 71.731 333.584 null]
+>> endobj
+3813 0 obj <<
+/D [3791 0 R /XYZ 142.466 295.02 null]
+>> endobj
+3814 0 obj <<
+/D [3791 0 R /XYZ 74.222 247.004 null]
+>> endobj
+3815 0 obj <<
+/D [3791 0 R /XYZ 71.731 221.933 null]
+>> endobj
+3816 0 obj <<
+/D [3791 0 R /XYZ 71.731 186.068 null]
+>> endobj
+3817 0 obj <<
+/D [3791 0 R /XYZ 71.731 142.232 null]
+>> endobj
+3818 0 obj <<
+/D [3791 0 R /XYZ 410.099 131.437 null]
+>> endobj
+3790 0 obj <<
+/Font << /F33 1116 0 R /F32 1027 0 R /F27 1020 0 R /F35 1185 0 R /F23 1013 0 R /F44 1402 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2533 0 obj <<
-/Length 2064      
+3821 0 obj <<
+/Length 2200      
 /Filter /FlateDecode
 >>
 stream
-xڕYݮ�6��S����X�%����n�f���1P,v-�6SITE*����P��~�d �%�3���73<�j���.v1\�C��*+�mVx����ئi%�/���x���������u��M�&����l� ���1�����y��?�~��{/{=^��y�^>��`����~�Xo7�����	��V����f����;��x
-%X��¢$�E�QeE�s|�G˕�2?����>��:L��?���>���(�nWxF�٫���[����Gc���&�~a�_�7��?~v���U��+?���.�Ea07<��(���'�]P��W��Dkx���P��u��ZM6�UΛo;
|����q�	�0�w������X��[�S{-���V]��W�Kr��(P
-�vպ����v����Ji5
-�@6�p�]�����'|�E8������܍�H{}c/�B�,y�	r�Mں�
�?�V#��Y�؏�MF[hQ]��W]c0�B��l�5�u�x�*wJ׬��+weF��$.Q��C�}��-����%-�,�C�;	;�PViu����9�����&!F����?k�^e��K�a�^Yf�iP	9����`�{�lΫK#�z����@�[I���[���xa�pN��y�;��T� J���#$3���s\lj�<V@���Pr�؅�]����{�����a#��ά�Y���*��r"n7�~��D����J���Ob�{:׍|�3�2硬m^���ؙ3�4gf���x)m�� ��ƽ)`k�;�)���-ŏ��n����}koB_1�
�BLdK�(�i��gd���2�B˼,1�~3��e
-P
-&�w��8�`�����;[
-����AwK���$�ʶ�n�d�E��S�)*�<0i�wY�Eo���$[�el����=�f�U:/d���so�9�R��;'f��9�,K�
DF�Ä���ܸ&ԃB�HR���<P�� ��,ᾡ�U������j���PN�4�p����D�;.��ߧ�f�������!�C:)���s��`QAQ�/-�/(�(�5gX���I6�����m\�A�xw���j
+C���H����[А|jd�o��_}R�i�_��$�g���"�hG#�	����$o嚐>4�|��3�NLqu�^�����kc�&h6��) ��^9�}-}s�{T(�JR(�N��
9?Ci���`���]zoc��{[f��߫!�Ⱆʊc��=2��]��Z��Š�-�Ҙ!	w:7���k�U6C���	PY��KA,�VT�	փ�g׆��H#:�{��%s‰mM�-s��ɬ�	��O��+^�60)tn8�j���K�|�^!A�1˷"�����̙n�|gD(��k�1K��`ք����U�A~i���0�5�A���l\3�F�P��)���A�ɠt����Eo�L��ȹ�.
����&�"Nb���y�P0�IJ/�~��R�?K�+��~��8���mcCѾ��T���0Ô���0��i���X-K
-�k誕3�Y��)��hh0=OG�A�	�J��}#V�F�1^x�Am����7���9���&>۶��/�k�Ȧ���{L��p�t8D
-ڍ�����]{�)"'��֓���G<�H�~s��
"O���t��9�swe8M�)�m�_<qj����d�7��'�ZJJ���s �fU��¤��ҤO�H���B�Ùo*�2h\d)>�W 7�c�
-�i�;Bd������p����I�t�ۏ�Rw�܃idD��n��|��4!�?���h��&�M�Mx��H��,YJΪq*O:���2��q!����'�Z�����S�T��p�F@
-I�Q��E�F�Hś2@2R-4\�x����1���&��۪c#�i
��o��p��Ҥ;��-O��z���_xw�;�_UW�p�� {��
��~e������8���J	:eE��P�օ�%�~d�Z���1s'?r#��v��E|��篔�nZx�����~���n����O����yG�MD�T�x*��d0��?���endstream
-endobj
-2532 0 obj <<
+xڝY{o����>� ��X+.�h)�wuZ�X�[�Z`E�$�|�K�N�����,��50`��p���N,���%+�O�7	�w���w>���b�I�
��ͻ�{Ǚ��_:��~�R��%�&kϞlv���fOv������-Q�͑�w��0��:{?�ԛ��\k���ߛ��ec4����E%����]k��Zk�n��iÒ���2��i�8��ib;�Y���J?N���xo�j9~�KPL��Y���Btg"�B�=�(>k����g^&C*�	j.�4�N?Y��/���7�op���2`�5�S��O��3�������[Lw����'�}����E�:�{��_�
�o�@5��ަB�
+�6�R����K���q�.���{��$�����u�qVˬg��i)"t�1-�ku��094�~ƱU����8��q�?��
+�V<�w,��Sm�!e�P.�ل��Y6�=Z��dpǘt�Kx��`��9��N�H
+��5i�S(�X����xiG�K�V����m��q3�魾ʋ�TA1��i��DaE��v���tv���TÌ�8G P�����)N�vB}�,;(��E���DZ����1��Y�O�X��VtS�UV��6M�n٬����y��1G�*z��R������4p�f/8�اQ4XN�@�+y�:%!=:@�.�|��,�rW�@�4�Q�M��2R����%�'�_߲/��4��wI�D�kQh�%/G(:�5��^��J��}�˳ǜҩ!b<и��E'$��t�<��(���hQ�;^��,��m0��.��0�S�j,(	Ǣ�n���4[zS����Ԁ;�'e�b�bq�-Hg9qT#�)��kE�ھ�s����I�n!n�*�dP���-)�v��ouᇺ�"h/}sW&����4:�7:���jP��Ց�#���;�^?����̡wP�ҙ���H��V�'�-��%B(�P�C��V}����?T=��(x,:�C�17�*`�@�|��O�2)8ŸIꜳ��OQ��VB��u����P�<l�C��$gY����8�9o�ş?<\�<o������ui5�]U�m;B�A̋#�����Cϰ«4
+w�Ǎ13
+�*� ��Y���<�A/���������V`V�L[y����VǮ��瀼��R���NS�g�#��nN�&Y���C���]T/ �@��w��%���~C�5� ��h���k��C��خvgC	�%���^�%<ћ�3V�DW�^r�U��pᷢ}d�U�?K4ʪIkBVTuO�q5"���C���7h�T�,�zkD�kݘ�[C�-eݩ�۔,�_i K��d#㑿�['X�mϏf��\M�U��:°3�c�T24sHv=ј]�1�;�
��u��S�*�¤��2~/y"%��Q���qx8���$�8vn��t�m(i&���S��yy�f�|����`�����4�'Y%�Җ�:'/9�d�U���j.�j�B��a�`�U�����m�ʊ:�
�,9tQ�i.K�9�)m;bj'��,t�ǪP߾H�:kK|�੟W�ݨ��J��u
��9 ���|3�q���Vwsw�Q���!'�%�ƽFyޘ	Ġ\;��
º<n�O	�҇�dR�F�K�U�A�7�8 ���D�9_ŭ�m�Z�����n������]i��/�0f��rû���,zA��ar����=�.�����|@�_���[׮.n9��e���p�9�4?�twPj9о�R��!�C;(��D���Hڢ�%��Q�x+wH\�X���\�a,���4����Z`,��I� �m���y�i��s�pZM4�4M#��ǝ��N�$�ø�5ZD)�
�������7�ahƽ�H�6θ3z���d��J��v�MQfy��`��_�[]vC�h�H#�qG1 �mO\�a,�o�Bs�4�\eY|5j��"���0�&7_�H�޸�}q_a~G��5zT��[��Ne�Ģ����O�w��~�ů����~������Zr̫��j�H���~E��\b77�r��3\4��,im��Z���
�~����od�፡V�EcP��t^١�l�/~�c^m�\��WA:���<���X��3X�E�z�+�/Xt�P�s�dMW�7�$�ύ�
�f#�J{�a_����;I'endstream
+endobj
+3820 0 obj <<
 /Type /Page
-/Contents 2533 0 R
-/Resources 2531 0 R
+/Contents 3821 0 R
+/Resources 3819 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2496 0 R
+/Parent 3788 0 R
+/Annots [ 3827 0 R ]
 >> endobj
-2534 0 obj <<
-/D [2532 0 R /XYZ 71.731 729.265 null]
+3827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.599 598.59 496.902 607.502]
+/Subtype /Link
+/A << /S /GoTo /D (os-win32) >>
 >> endobj
-875 0 obj <<
-/D [2532 0 R /XYZ 71.731 718.306 null]
+3822 0 obj <<
+/D [3820 0 R /XYZ 71.731 729.265 null]
 >> endobj
-490 0 obj <<
-/D [2532 0 R /XYZ 366.546 703.236 null]
+3823 0 obj <<
+/D [3820 0 R /XYZ 71.731 718.306 null]
 >> endobj
-2535 0 obj <<
-/D [2532 0 R /XYZ 71.731 681.855 null]
+3824 0 obj <<
+/D [3820 0 R /XYZ 71.731 696.359 null]
 >> endobj
-2536 0 obj <<
-/D [2532 0 R /XYZ 71.731 671.343 null]
+3825 0 obj <<
+/D [3820 0 R /XYZ 71.731 673.31 null]
 >> endobj
-2537 0 obj <<
-/D [2532 0 R /XYZ 71.731 666.361 null]
+3826 0 obj <<
+/D [3820 0 R /XYZ 71.731 650.396 null]
 >> endobj
-2538 0 obj <<
-/D [2532 0 R /XYZ 71.731 661.38 null]
+3828 0 obj <<
+/D [3820 0 R /XYZ 71.731 593.609 null]
 >> endobj
-2539 0 obj <<
-/D [2532 0 R /XYZ 71.731 638.889 null]
+3829 0 obj <<
+/D [3820 0 R /XYZ 370.02 582.814 null]
 >> endobj
-2540 0 obj <<
-/D [2532 0 R /XYZ 71.731 615.552 null]
+3830 0 obj <<
+/D [3820 0 R /XYZ 74.222 551.93 null]
 >> endobj
-2541 0 obj <<
-/D [2532 0 R /XYZ 354.338 599.776 null]
+3831 0 obj <<
+/D [3820 0 R /XYZ 71.731 526.859 null]
 >> endobj
-2542 0 obj <<
-/D [2532 0 R /XYZ 71.731 597.619 null]
+3832 0 obj <<
+/D [3820 0 R /XYZ 71.731 495.975 null]
 >> endobj
-2543 0 obj <<
-/D [2532 0 R /XYZ 71.731 574.705 null]
+3833 0 obj <<
+/D [3820 0 R /XYZ 212.034 475.218 null]
 >> endobj
-2544 0 obj <<
-/D [2532 0 R /XYZ 71.731 569.724 null]
+3834 0 obj <<
+/D [3820 0 R /XYZ 71.731 473.061 null]
 >> endobj
-2545 0 obj <<
-/D [2532 0 R /XYZ 71.731 538.84 null]
+3835 0 obj <<
+/D [3820 0 R /XYZ 71.731 426.301 null]
 >> endobj
-2546 0 obj <<
-/D [2532 0 R /XYZ 74.222 484.209 null]
+3836 0 obj <<
+/D [3820 0 R /XYZ 297.791 413.45 null]
 >> endobj
-2547 0 obj <<
-/D [2532 0 R /XYZ 71.731 459.138 null]
+3837 0 obj <<
+/D [3820 0 R /XYZ 71.731 402.047 null]
 >> endobj
-2548 0 obj <<
-/D [2532 0 R /XYZ 136.02 443.363 null]
+3838 0 obj <<
+/D [3820 0 R /XYZ 71.731 402.047 null]
 >> endobj
-2549 0 obj <<
-/D [2532 0 R /XYZ 282.001 430.411 null]
+3839 0 obj <<
+/D [3820 0 R /XYZ 105.604 333.549 null]
 >> endobj
-2550 0 obj <<
-/D [2532 0 R /XYZ 95.641 404.508 null]
+3840 0 obj <<
+/D [3820 0 R /XYZ 74.222 315.616 null]
 >> endobj
-2551 0 obj <<
-/D [2532 0 R /XYZ 71.731 403.101 null]
+3841 0 obj <<
+/D [3820 0 R /XYZ 71.731 290.546 null]
 >> endobj
-2552 0 obj <<
-/D [2532 0 R /XYZ 71.731 379.437 null]
+3842 0 obj <<
+/D [3820 0 R /XYZ 300.601 274.77 null]
 >> endobj
-2553 0 obj <<
-/D [2532 0 R /XYZ 105.325 363.661 null]
+3843 0 obj <<
+/D [3820 0 R /XYZ 71.731 270.122 null]
 >> endobj
-2554 0 obj <<
-/D [2532 0 R /XYZ 71.731 361.505 null]
+3844 0 obj <<
+/D [3820 0 R /XYZ 113.574 251.856 null]
 >> endobj
-2555 0 obj <<
-/D [2532 0 R /XYZ 71.731 338.59 null]
+3845 0 obj <<
+/D [3820 0 R /XYZ 71.731 249.699 null]
 >> endobj
-2556 0 obj <<
-/D [2532 0 R /XYZ 71.731 263.871 null]
+3846 0 obj <<
+/D [3820 0 R /XYZ 113.574 233.923 null]
+>> endobj
+3847 0 obj <<
+/D [3820 0 R /XYZ 71.731 233.823 null]
+>> endobj
+3848 0 obj <<
+/D [3820 0 R /XYZ 113.574 215.99 null]
+>> endobj
+3849 0 obj <<
+/D [3820 0 R /XYZ 71.731 213.833 null]
+>> endobj
+3850 0 obj <<
+/D [3820 0 R /XYZ 113.574 198.057 null]
+>> endobj
+3851 0 obj <<
+/D [3820 0 R /XYZ 71.731 195.9 null]
+>> endobj
+3852 0 obj <<
+/D [3820 0 R /XYZ 113.574 180.125 null]
+>> endobj
+3853 0 obj <<
+/D [3820 0 R /XYZ 113.574 180.125 null]
+>> endobj
+3854 0 obj <<
+/D [3820 0 R /XYZ 137.584 180.125 null]
 >> endobj
-2557 0 obj <<
-/D [2532 0 R /XYZ 74.222 222.192 null]
+3855 0 obj <<
+/D [3820 0 R /XYZ 253.926 149.24 null]
 >> endobj
-2558 0 obj <<
-/D [2532 0 R /XYZ 71.731 197.121 null]
+3856 0 obj <<
+/D [3820 0 R /XYZ 71.731 137.121 null]
 >> endobj
-2559 0 obj <<
-/D [2532 0 R /XYZ 71.731 148.304 null]
+3857 0 obj <<
+/D [3820 0 R /XYZ 71.731 137.121 null]
 >> endobj
-2560 0 obj <<
-/D [2532 0 R /XYZ 207.132 111.607 null]
+3858 0 obj <<
+/D [3820 0 R /XYZ 71.731 114.341 null]
 >> endobj
-2531 0 obj <<
-/Font << /F23 733 0 R /F27 740 0 R /F32 747 0 R /F33 834 0 R /F38 963 0 R >>
+3819 0 obj <<
+/Font << /F33 1116 0 R /F32 1027 0 R /F27 1020 0 R /F35 1185 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2563 0 obj <<
-/Length 1914      
+3861 0 obj <<
+/Length 2678      
 /Filter /FlateDecode
 >>
 stream
-xڭXm��4�~���עm�׾ ��Vpp�N�BBn�撸�K������ۓ@+m����<3��x�Y�l��.���,����#��ͳW,qɲ������U��v�n����4ʂ�='��m��_�/�g^���2�����=�Oܽ�6�DY2���"����E��,~������^�,��m�A%i͵�q��.�i4[o� MZ����[��7ݺ��5l��|Zd��������/����{��k��漠��Ss.�㔽��%�?*��|���g�������'��NU������V��\F`t�,iUsG=,�p�4���QԬ,ф�$5�2��|�s�h�0�č���{�L�n#�@m�L���ńd����_�8�3Q�}�rR9�"��T�v*��nt�μ�6;�`�QeѮ���p���f���G"�̼Q�׆�i����Џg%���W�܊��&Czx��uj��v��C�6���Z���L�Rm��[�#����_ �@v��2:�
��^8�H3����Wtz	#�֩- a�*����|Ӂ�Q��0OƜ?_�p}�ZPI�������J[륕��;.�x!�/ڣ�h�@~���`�
-��;
��3���@D���T�X��^�ӣ`�l(dM�ȊB�R�)�9��2���E6X���a]li���
-}�O�)	?N�,��X�٧R�(
�m�A�>M��#w�v���k�4I�8�p��j���f�HY��^�+ �%h9!&I�tG�_ Cn7�zD������	˂3NF��)���\��������y����x�W�Y�� (��$k�6{E���8�)�p���b���߻0��F-��!�U
�G���%‹�j�=�/( I��ا�t��H���{�,�����%7����:�ǜ|9��Q��fŊ��J�3�5�:p���b���(�-Eɯx�1;�K[4F��+�T>�j-lY���!ݺHr�39kx��.p���(�B��w����-a��8�;��\q棫˜K��I<w<B�ŋ��^�C؊�9Z�w�╴J��ڃڱ:�|B�o׊�����Q(Z�ۘ6�Q(.��?^j�o��H#9�m��%�M��G�SB�$�+�Z�>��"@q��S޻N���f|�>[�+A��+��Jpw�'eX-M/�|�����u4�ʏ�D�5��J��u��@(��qP�+����k3MGz��qϩT�t�R�Ɋ(^Lt�҅ Oߌ� ��E����c�+k�Q�h���p���񲦑0n}���^큏rTܹ�z���#�0
6!y�@b��"-����3��v��P�%IY��خ�嶯��Y�w����O�A�ɪ������+Ӿ|��~ͤ}�柝����6A��̊‰Ԋ�`n���!�����ِ�s)�����i��F륡k4����������l�Jҥ�߻�����_��6H��d��t��IzƠ�r��t��v⨃h���n�n�6�
��[� -�  ��;V�#�]���4P'���{���Pf��}�S�LA4�����^"�S�Rt��/Q���-��6	�u"iy0�a���Lo��C��Z\!x���jؖ�1�t�S�j5R�����H0Ue��� f��<�q?�.�G�<u=l��[T��Y�m�!mO�!e���G\_�av�=j��vdT��0���&�lJ���h�`
�e1V��m�@f��\��Q��$ݹi�s~6�\�M�Jȟ�P��k�.���:T�Uߎ.oܯ�,�p���!�+���\���E��B���͹W�&`d����M7���5�e�b젣Y�%��g#ˊ?m�f��v�=�UԊ�.�{�wf|�ai�
-r��`<��ar�
�����n�մ9��A�!V�,}lh|-�_��nendstream
+xڭZ�n�8}��[l V,���Fzv{7����`��0#�D/Iu���[�I]��Ad�Y�SU��I���^��d��%;$ٶ�*�w�����ԭX�%�h���w�����������&-���'ϒ}�]=V�YܝN��ؗ�*+֋��^��~�����!���2M���r�^�����?����KP�����L�̂��"�n@��>�7#�>I}���l��)���z�?�2+�VΊ�뽽�G��N��l����~�H�L����Ś��5��T��R���>`��.�XW+'�*���Z��H |-Kҭ�����I�����+K�w��H-`�w�����}��v%�΃���`ao�^AV��ɽa���Sӝ����#��T�'�\]נe���hY���:-��9'�ބ�,O���k����_O�s։��������)�{m$��N�{�]/��ByK	��òd��A�.�X�<�`���PP�)*��%����IL�	�������ZQ����6��q�}�V�m��5���r��)�6��TK�H�AS�Ҧ�-�A�2�5�U�5V�+I)�n����D����(�:/��"����!�A���ă�H>����(���$���;�Q"���������Pg�;5�(�Ob-�.���T��҅��a݋�Υ�,��*{6j5c��5,܌�V�m{w��z�6,��Y���o���˭���56�h�j6.Z�O�� 3��p��ŀO�Am����ͪ�3ھ<�L$i��`
+>x
�۔���+_;B|T}�!ѹݤ"���p(�7e���:_�� ��x�����$����@Fwa��N��L}=����i4��LWy�a�Į
��Pc��뇾m�8����a���m�\�8Ӹ����Ș��^t�7L�a`ٴS�P�P�\�ǖ����ʰt�-ǣ�L�[(Q���W�f�
:hP��b�W{�Xۨb��m��՞+�ޮ���eE��RW�����ɻ�;X�/W�ڔx����|�ڷ�k�Z;ݫ�2h<$uT��G��Bd-���|�ѱ���x�FsS�6�4M����tjHi|�ۃ�k[��i����|�~x�Z�+]�.#S�{�Wb/�)c�T��E=���v{;)Lم-��H�ɼ�̝�<k��x�Y'��UH�{O�����Y������#��t�F^&z!��<�I��!R���I�-��kJa���3h7����V5��$�1�QQ[��FٌN�ܠ���f�qvkȳϢ���S-HE#v.��	AC=�KX9�j�[h?��n�}�j�rG@������l�V�����~0�<4�
�2�ʒ��+��MK˔����Z�����>p��|�m���X8�*Nu�
$No�Dj�9��y�V?���������ԇ�ˇT��t1؍�cl����	�n^NZ�I���e�Q\��` ������,�8�)�/���K��	&u�}}����3	�%���5f�q��i͔��"��!Co�����ɮ̋�P�x:*uz{;��.�S�J��������)D���E��ZU
CT:Ios�9�\(�6�f���r�,�|����ݖ��[)��J��we�}���ܯ��W,71�6�
�4�0)k������;K�E.X�:�4��
+j|�)�g�a�V)���b��!�w�E�L�0��7�d�N�t�uE|��Ժ�zm}��d>��n����NA��]b'�*�6� /hH���e��e�(}����r5�q����I�
]9�'�V��a�è�o�+��5e@��LL��N[��m���i'-�t��T.�\���o>xk˾)�H)@:���%�q憦��j8Ђ�a�n������
�cZ�ʆ3
+��u:S{�M;��ս�v;���! J�7Ԧ�%����'t�� �Ч�gj\4:J+��@'���
����Oj8	�^�`W��flP�SA��Ax|fd8],���g�>��	.�������h��*xW_�>N{ņ�H���r<w�� �l�x�m]�̞�^�>r<�uz<A��Mhou�m�™��9���q	][2�=�j���k��
�m0߇��^�Իi�4�n�*ȱFwUCc�H�D��o�l�g��L�r�1Nh�Q����Ib3��Rz�B]��8�S�Z�A�,������Vl̦.����fA
U#J*���G{{�G�@���H;.�zSpB%�̭�|Q�ć����E+������)�2h��΁I����!���L���§�[⾠�g0��׻$ϋ��_����9�p9�g��A0)7
+�����X���~��9Yw����`�oğ|���6y�+lx�J�`���81NrL,��<�h&c�0�DVTQ����k´��iŏ@u�]Eca�7�� ��oM[J�)��Q�U�^2�d�S�Iu�1�I�9&0�������!�h�Yk�@h�8����#�G@�_NX>�fRl���J�'v�S�uf�ޘ��ӑf���N���:���p�/d���Ij�E��p�#i&�8O�b&㭘2�2~��݂9}��
��>EO�f:��E1���օ��� � ��e��H"��8�z�4�%�R��F@э��L~��O2�G���=(�{�%’ɿJ�>Yg��I����x������2endstream
 endobj
-2562 0 obj <<
+3860 0 obj <<
 /Type /Page
-/Contents 2563 0 R
-/Resources 2561 0 R
+/Contents 3861 0 R
+/Resources 3859 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2496 0 R
->> endobj
-2564 0 obj <<
-/D [2562 0 R /XYZ 71.731 729.265 null]
+/Parent 3788 0 R
 >> endobj
-2565 0 obj <<
-/D [2562 0 R /XYZ 74.222 708.344 null]
+3862 0 obj <<
+/D [3860 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2566 0 obj <<
-/D [2562 0 R /XYZ 71.731 683.273 null]
+3863 0 obj <<
+/D [3860 0 R /XYZ 71.731 706.187 null]
 >> endobj
-2567 0 obj <<
-/D [2562 0 R /XYZ 71.731 649.465 null]
+3864 0 obj <<
+/D [3860 0 R /XYZ 71.731 677.36 null]
 >> endobj
-2568 0 obj <<
-/D [2562 0 R /XYZ 339.942 623.661 null]
+3865 0 obj <<
+/D [3860 0 R /XYZ 71.731 652.389 null]
 >> endobj
-2569 0 obj <<
-/D [2562 0 R /XYZ 325.965 610.71 null]
+3866 0 obj <<
+/D [3860 0 R /XYZ 71.731 616.523 null]
 >> endobj
-2570 0 obj <<
-/D [2562 0 R /XYZ 71.731 590.62 null]
+3867 0 obj <<
+/D [3860 0 R /XYZ 479.956 605.729 null]
 >> endobj
-2571 0 obj <<
-/D [2562 0 R /XYZ 74.222 561.893 null]
+3868 0 obj <<
+/D [3860 0 R /XYZ 421.526 592.777 null]
 >> endobj
-2572 0 obj <<
-/D [2562 0 R /XYZ 148.772 538.979 null]
+3869 0 obj <<
+/D [3860 0 R /XYZ 71.731 551.766 null]
 >> endobj
-2573 0 obj <<
-/D [2562 0 R /XYZ 71.731 537.571 null]
+3870 0 obj <<
+/D [3860 0 R /XYZ 71.731 536.822 null]
 >> endobj
-2574 0 obj <<
-/D [2562 0 R /XYZ 349.866 521.046 null]
+3871 0 obj <<
+/D [3860 0 R /XYZ 71.731 487.771 null]
 >> endobj
-2575 0 obj <<
-/D [2562 0 R /XYZ 95.641 482.192 null]
+3872 0 obj <<
+/D [3860 0 R /XYZ 74.222 443.935 null]
 >> endobj
-2576 0 obj <<
-/D [2562 0 R /XYZ 71.731 454.132 null]
+3873 0 obj <<
+/D [3860 0 R /XYZ 259.97 421.021 null]
 >> endobj
-2577 0 obj <<
-/D [2562 0 R /XYZ 215.182 433.375 null]
+3874 0 obj <<
+/D [3860 0 R /XYZ 71.731 405.913 null]
 >> endobj
-2578 0 obj <<
-/D [2562 0 R /XYZ 71.731 418.267 null]
+3875 0 obj <<
+/D [3860 0 R /XYZ 95.641 361.743 null]
 >> endobj
-2579 0 obj <<
-/D [2562 0 R /XYZ 95.641 389.539 null]
+3876 0 obj <<
+/D [3860 0 R /XYZ 71.731 361.743 null]
 >> endobj
-2580 0 obj <<
-/D [2562 0 R /XYZ 71.731 377.42 null]
+3877 0 obj <<
+/D [3860 0 R /XYZ 71.731 311.437 null]
 >> endobj
-2581 0 obj <<
-/D [2562 0 R /XYZ 74.222 333.35 null]
+3878 0 obj <<
+/D [3860 0 R /XYZ 309.199 290.68 null]
 >> endobj
-2582 0 obj <<
-/D [2562 0 R /XYZ 71.731 308.279 null]
+3879 0 obj <<
+/D [3860 0 R /XYZ 71.731 288.523 null]
 >> endobj
-2583 0 obj <<
-/D [2562 0 R /XYZ 71.731 290.346 null]
+3880 0 obj <<
+/D [3860 0 R /XYZ 71.731 257.639 null]
 >> endobj
-2584 0 obj <<
-/D [2562 0 R /XYZ 218.849 269.589 null]
+3881 0 obj <<
+/D [3860 0 R /XYZ 71.731 234.725 null]
 >> endobj
-2585 0 obj <<
-/D [2562 0 R /XYZ 71.731 267.432 null]
+3882 0 obj <<
+/D [3860 0 R /XYZ 336.008 205.998 null]
 >> endobj
-2586 0 obj <<
-/D [2562 0 R /XYZ 71.731 239.537 null]
+3883 0 obj <<
+/D [3860 0 R /XYZ 71.731 203.841 null]
 >> endobj
-2587 0 obj <<
-/D [2562 0 R /XYZ 71.731 239.537 null]
+3884 0 obj <<
+/D [3860 0 R /XYZ 246.006 183.084 null]
 >> endobj
-2588 0 obj <<
-/D [2562 0 R /XYZ 71.731 216.757 null]
+3885 0 obj <<
+/D [3860 0 R /XYZ 71.731 180.927 null]
 >> endobj
-2589 0 obj <<
-/D [2562 0 R /XYZ 71.731 182.815 null]
+3886 0 obj <<
+/D [3860 0 R /XYZ 71.731 158.013 null]
 >> endobj
-2590 0 obj <<
-/D [2562 0 R /XYZ 71.731 164.882 null]
+3887 0 obj <<
+/D [3860 0 R /XYZ 274.14 134.267 null]
 >> endobj
-2591 0 obj <<
-/D [2562 0 R /XYZ 71.731 126.959 null]
+3888 0 obj <<
+/D [3860 0 R /XYZ 515.452 121.315 null]
 >> endobj
-2561 0 obj <<
-/Font << /F33 834 0 R /F32 747 0 R /F27 740 0 R /F38 963 0 R >>
+3859 0 obj <<
+/Font << /F33 1116 0 R /F32 1027 0 R /F27 1020 0 R /F23 1013 0 R /F44 1402 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2594 0 obj <<
-/Length 2321      
+3891 0 obj <<
+/Length 1595      
 /Filter /FlateDecode
 >>
 stream
-xڅYY�ܸ~���!��5:������&��
��n	�+"�q�קHVQ�1k̃Du����	n|�n�w���p��d������"@����7�w��������|���s��K�����y�u���o�]���מy�
-n^����U����6���m�o�����o/ޟ,It��i��L͂��0ryL�}L��űf�鑡R�gӚ珿|4/�7/,���b�����W��7�]�I��-˚#������*c
]VU�6L6Of�s���tx�v5o����W��Ϝ��J��=lC3\���.�#���с�I�B�����k)��5�0���N��/H�e���Ч�9��	�#a�kc�Kヾ6�"�и�	�-��"y�r��g׷
-��e�Bh���Hl���VG��5˚˾�hu�YWЂ��~M-�
�b�lnI�x��vܨ@��9���(���;�Πhkְ�Y��[��'�����������}��>�����VP�Z��\a��9�z��"�Hԧ������q�l���V5��'&i@�:oEΏx�u�2M��\�����*ܝ�ӓB��羭g��&���竬��/;I�S�i��Z!ʇ�O�Ba�2t���`�g�ۆU�Ww,{�1g�!+�,��m��~vE�=��޼E[YB
-|
->���LB
����_( )�X{��0(�,y��QcYO/�Zș��=0b)�q!k�ȴD[s�l�K���-3&O��&���C��Y�4����ڦ�N�]�n�<����8r��<�� ��S�Z(
-W��)�Mݒ���~���?���fee��T9P��7�_��j���#Y���ѐjF��O��k�gqu�a���� x��܁%���2�-�͕��Y�P��u����1�5�S���U^L��S�u7�m���/��9}4�*�Z�R��%!�a.+Xs!ӪY���)F��)�~R�ǣ�Pp�����/8:֫�PfC��I6v�q�a��s��{�(�N���lF�dM��ӵ�$W,~[�I��Z�ӃƖ�l[�������K8�I��.)�o%e���ta��~@~��9��e��,r���
-޵�9�P��[C|!��{�H~Qn�k_��
��x�Fʀ)Z90U��ԅ�����E���.:��9Z�(�.�}���xC�wŀ8�f%�<��u��K��W�h8� �2%*Faqso�g2�7eO���t/���DRe41��T�.F�̤Ը�"nclˡz*�́%�2�n����|��{��1S��M��
-b����Ҵ��z����.����F��1�F�LP?�@)ѐ���:w.ک̫�7S�mW
��n!꛺E�ڰbtxEnl�A(.�\�Cdz��P��R������z<M�d�$�{�}X1����<�[b,�<p��
-D
�����	b�{�IG�4��!i;H���.d�	�/<^��`��&<X���4I���h%�����M���+ITr(���o)�U�ԥ��E2[�R�HX��Ny�%8N�:��Ӯ�~Z@㠀�
-��X�Kfz�Es��kV���
-���B–���B�Ɲl
-�j~��x����Ї��'
X8Ϗq����t��eD
-Q��0�2|��Û�5`C�b,��ޚ���/<�7���>(�{fu���y4��Di�"�Z�"����9���䡕��%�ϕnc�D�e���3����p6������YR��=��U���(!�jU��K��Qp.W�G�(k
�I��-�f((},+�����)7�s�UOeKe����4S��I�C�b0�K����������#.��_>�fc5�3�zѡ)��a6�Q��������b3�Am<�|�V�83�/˅7�g�Z����tSf���ȶD����O�J���c튞7i��$�iTo���$�y�I�8�`��x�|u�0����Pd���Z��֔clHT_Ŋ)���T�}���몥1���F��TDň��X���&���@��Ӕ6R�������0�j9m?\gĿR0�&��R�(��
-Q�O_�XwE�����s����=6�i��k��xo���	��6�	e6���U�,��/Gufԭc����_����$٬���=섋U�<8���|��E����!$5��ˇ�%�q�%R��YK1�J����K[��>�y2^9�B��-n�n=N\�hr�H������f���tH��3tnJ�E�����IQ4�솾k7��/��*N��>��?�F�����0���Q�'�s��Z��a}B�endstream
+xڝX_s�8ϧ�=4���i;��ir�6����M��� �1��~�[��{77~�V��o����l�9��c���p'�;�{����-a�݉�;���_����dp5�&�d4��=��@��V໽Y�ٸ�lh�'����qa��,���b��%	Q_W���ƅ�������'�Y����I0�)H����;ޣ�����v`
=�y�*������$Q��f���c"�ۚ��t��MgȄg�p�����H�$���tm�X"+�Ϸ�w���J.E��t}�	� >�5X��:�
+�%���,
+v�;�5A������]�Ġ�f��0}��5�6>N/�2ǥ�Ӈ��E
�d�D��j[(��Y��\QR.��IN�*Z���|#�DP�㡄�ŨfH o!�]��k�Z�I���dVu�	"\�B6#�>d���P�/�%�Jă|ђ܌����:Д�|�n|4i��uD�+�I�u�SaLR*�����X0��X��fd���/�o��@�+��RdM@v*�vW�7��B���$��!i3m��WZ%��J���(RΛ�"N����@$�[�Z�&P��
+Ds������N�Z(R�m޸<=����5	WR9)
�Ȃ:��׋�o���-��P>Q3�r��&�c^$�|���qm�u	��M����7%�>J���;�}�<tDz��~�R��X�Å�Es����T��%MřZ�B
Rd���(�.D�!�(���ē+���X�$�-�!U�qT�!IQ�<�Q�"��,s�#	n�J��Ng�����#�8�:�ș�G��^W�`�W����쏠��\��s���k�۱��O(ߟ�I��4jp��{�^��VO��J=�dJw�����d/��IS��^���?5��;�4�~CBKz�����rlk����-�L��;j2P1,�Q��GFC�^�P��ʼ(2�V���?L����{��ar�N�2�H���,曬��SL�y�a���:ɯg�o;�#6iJC��D7
��������Jte�>DF"R/�1�u��:-�/��e�v�n4b�Q�b���Y��i�Q)�	�ž�=���v�WP��:wh�9��ك���i��[��b
��nzz��$�F@��/[�ɜK�v҇���A|v���A���
Z�fF�aY3/c�Xh����x�C��H}�n;���3�Y!b�b0@D�Xk��Zt�\t`QNV�dop�\Q�>L?��H��7�>L/O�?L���xT��V�
��Š�wVf�;{.I;m��eF�.��a�UM��0��t]��V4�f�)�mH6%�N�.PM�EC���%ǵ���r4�ZFC�v�6��Mm�
+�vR�m
�[.`V��6�z:��OU6��K�겸��k�gi��)��2:�)v�����vX��B��ض�Tn�Z#�i��K����#*w�B=�+�r9Z�k�iV����B�Ku���2��vk�|�j�S�q?&W6�����U�c^?����0M�iBpd�v�X�V��v�奮�Ӝ��8t�*��콃����~i����nx�8�����r������j&y���P�?���endstream
 endobj
-2593 0 obj <<
+3890 0 obj <<
 /Type /Page
-/Contents 2594 0 R
-/Resources 2592 0 R
+/Contents 3891 0 R
+/Resources 3889 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2496 0 R
->> endobj
-2595 0 obj <<
-/D [2593 0 R /XYZ 71.731 729.265 null]
->> endobj
-2596 0 obj <<
-/D [2593 0 R /XYZ 71.731 718.306 null]
->> endobj
-2597 0 obj <<
-/D [2593 0 R /XYZ 511.448 708.344 null]
->> endobj
-2598 0 obj <<
-/D [2593 0 R /XYZ 74.222 677.46 null]
->> endobj
-2599 0 obj <<
-/D [2593 0 R /XYZ 71.731 639.437 null]
->> endobj
-2600 0 obj <<
-/D [2593 0 R /XYZ 148.323 623.661 null]
+/Parent 3788 0 R
 >> endobj
-2601 0 obj <<
-/D [2593 0 R /XYZ 71.731 603.572 null]
+3892 0 obj <<
+/D [3890 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2602 0 obj <<
-/D [2593 0 R /XYZ 74.222 535.99 null]
+3893 0 obj <<
+/D [3890 0 R /XYZ 71.731 718.306 null]
 >> endobj
-2603 0 obj <<
-/D [2593 0 R /XYZ 71.731 510.919 null]
+3894 0 obj <<
+/D [3890 0 R /XYZ 71.731 675.303 null]
 >> endobj
-2604 0 obj <<
-/D [2593 0 R /XYZ 71.731 480.035 null]
+3895 0 obj <<
+/D [3890 0 R /XYZ 71.731 610.71 null]
 >> endobj
-2605 0 obj <<
-/D [2593 0 R /XYZ 71.731 457.121 null]
+3896 0 obj <<
+/D [3890 0 R /XYZ 71.731 610.71 null]
 >> endobj
-2606 0 obj <<
-/D [2593 0 R /XYZ 428.12 442.64 null]
+3897 0 obj <<
+/D [3890 0 R /XYZ 71.731 585.773 null]
 >> endobj
-2607 0 obj <<
-/D [2593 0 R /XYZ 71.731 425.539 null]
+3898 0 obj <<
+/D [3890 0 R /XYZ 71.731 562.725 null]
 >> endobj
-2608 0 obj <<
-/D [2593 0 R /XYZ 71.731 341.519 null]
+3899 0 obj <<
+/D [3890 0 R /XYZ 71.731 523.935 null]
 >> endobj
-2609 0 obj <<
-/D [2593 0 R /XYZ 71.731 290.546 null]
+3900 0 obj <<
+/D [3890 0 R /XYZ 71.731 373.489 null]
 >> endobj
-2610 0 obj <<
-/D [2593 0 R /XYZ 71.731 241.729 null]
+3901 0 obj <<
+/D [3890 0 R /XYZ 71.731 341.156 null]
 >> endobj
-2611 0 obj <<
-/D [2593 0 R /XYZ 351.43 230.934 null]
+3902 0 obj <<
+/D [3890 0 R /XYZ 74.222 299.477 null]
 >> endobj
-2612 0 obj <<
-/D [2593 0 R /XYZ 71.731 199.95 null]
+3903 0 obj <<
+/D [3890 0 R /XYZ 71.731 274.406 null]
 >> endobj
-2613 0 obj <<
-/D [2593 0 R /XYZ 378.982 187.098 null]
+3904 0 obj <<
+/D [3890 0 R /XYZ 112.169 258.63 null]
 >> endobj
-2614 0 obj <<
-/D [2593 0 R /XYZ 333.866 174.147 null]
+3905 0 obj <<
+/D [3890 0 R /XYZ 71.731 225.589 null]
 >> endobj
-2615 0 obj <<
-/D [2593 0 R /XYZ 71.731 154.057 null]
+3906 0 obj <<
+/D [3890 0 R /XYZ 277.149 214.795 null]
 >> endobj
-2616 0 obj <<
-/D [2593 0 R /XYZ 244.77 143.263 null]
+3907 0 obj <<
+/D [3890 0 R /XYZ 95.641 175.94 null]
 >> endobj
-2617 0 obj <<
-/D [2593 0 R /XYZ 74.222 112.379 null]
+3908 0 obj <<
+/D [3890 0 R /XYZ 74.222 145.056 null]
 >> endobj
-2592 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F32 747 0 R /F23 733 0 R /F44 1007 0 R /F38 963 0 R >>
+3889 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F32 1027 0 R /F35 1185 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2620 0 obj <<
-/Length 2307      
+3911 0 obj <<
+/Length 1647      
 /Filter /FlateDecode
 >>
 stream
-xڕYko�����H�BxdI��@������4H`�i�G�̰�DE�vv���^����X`�E�ǹ�rҋ���i|��?�M��Wy�.��Û�ޥv������=����X\��7�����b���
��*�x,��6
��e6�VIt���n.��WQ���}���*��-��ٿx���Y�Z\�7�ŋFҘ���`��*^/��d/����,��q��O��00��l
3��26�z6�dm=�e��~Ƨ�ռ;6K#�MK�^�o�M��}���������Dm��>�eW�Vp����[����˛��9+�W�-�{��bn���$Hz��Y�$W���*�v�J��V�ɶbZȚ��ZW�zo��e�l1Q�֣�ժd.*�W
ުKs�8�mK��,�Y��U��?]]���z�[���$��M��*$.v�K	��">���|FKU5VT�ٯy��#�s�+y�4,db��0���o0��ׄ���>����dh\~���P���<�1��T*y�l��+v�q$��h����}d�t`���Y���c~��)x^B�
-k����D��4[g��\����TX��g%����I��8ߋ���3N�^�D��rw�0�C�-�q�x�R�o^+��&xSAR���S�*@&0O���7��T�nF=�+$=%L�~�m �m���\�����������iꔫi�����4��
�y-������Vbt>���s,t�����x���(�JT]�Y�eG�C�+�q���U�2�6܃�8ڏ�P�
-%<4�UD�{�.�L�ĒfI���R�	����F[3���K���]I#@��~�����������I�징(�L�nU��Rp�s��ˠ��=�A�����5����3T##�.�0~J̲�;�������qJ����-D���ħ��g��&������垦��g�S�؂���>��Q�m�v�q�����ˏ���l�7�Ĝ�1�i�()eip�ez>6B������l���w�$�;s��h/*�����3�fl�GA4Z6�+�R�"�����sY�tȯ���]?Q�ޒ����:nG`*��:$��Y`q��_�fbS7C� ��y�	���7�����O@��[/���K%�27}e,3k,<�W������PFqf�QQ��K�50�3n����	>72>Q�x�4
-�էF��%4���ᶔT�B�1��me�E����͌Y���Vq����N� '{
9������Wס�haH��ڜ��}͹Ӧ����43��5� ��BT1PȌ��'#T2�
-���Ĥ��2@����|SO�p�W#M�R�B�M���Hp�6蹱c��[��!GN�`/��ao���*�(}�X���W_���y�W���·%pM����:�凳Sjg`.�����J�4��l��� ��n٘�h�_��I�e�t��C;��sj�i1�@}��&t_z؈ZY�4�Y�/�C�v����fu>�X���*(�X�qל�R
-���L���rN��̦2>������A�C3)Y8�ah�!�ѝ� �SV=�%�5�c
-!�Yr�$���^S�	��i�jf!���v	Z�VnO�3�n���
ԋ�C�{^ �W�ں~J���&jL�XM� `�m��;߱8h�8�v+�8#̆g��(�I�Y^�/���s�ѥ�:�@)1GD�3�{r�Yr������E�-�K�P�P���)�p�],�jD(������i����q�k��G!j����I���hTF�."F"�3^�4���
�~�5��9(Y��ܙ6-w�s�mٸ�bn���m�<�B-�5e���(1J�+�A���m��*'�>�:?�磭�A��V���$-4���/�~s�
-�ⵦc!Ƚ�ԡ}M�g�~��|���h��=�hoA-s5MJ�յ+B�Z�`V��ŀ��N>�����z	�k����D��؉���z�`\+�-B{�U�?9
-��W�
-�-¯�a^��w��}�>!�#A1D``��,Na[h����o?���o.?��<�e ���`�-�3����ysRtҾ����6Y���zJ�._��{���tJgێ�7�?���xn�G�#`���:V�5���h>���?ib!�C���ǻ�1ZNM�J��֜QXM>UA��?��鞈
-�.(��nS�P�����I��r������u�5�}:�c����#�Ad���$Hln�*�Yu�k�����^����<[��<�-�J��wP��1���ro����L~�[e���͂V�����6]��|�Gendstream
-endobj
-2619 0 obj <<
+xڭXY��6~�_����V���E�6m�>���mQ�-�K�:��P<tY�<�~%
�o�
+V>���&�6!\��CI�"������7w��p5�;�y��{x����K��������J>!�1Z��ߝ�UE��}Z�(��מ��OT-޴ٿ�s��ޭ� v^�#��a�������V�8�x�mxSIC3��Z�b/�@I�Q�)��BO�{x�6=a�+��gI�m�F�sVz\��{}�E�-j�i)=���-_N��U5+k�\4i������\����0o��K씵�a�hpA轺=�5�;�bY+TjpД ���H�a�j���y;I)��Tm(���H�{�6��b�-�Zi}=S�ݴ$mN����"������&�9�n� -ď�S�T/4I�3^^�+x&�:ك8� ���<��G�����p|��y�r�P~Y'��]ɚ�8v��XX�z'P,.����)+�������|Dy:N�K�� �`N�B�e�N��qU�%��bmVM]��(���Dɓ�M[y��tv�"��A��M}>Ɍ��u�ZJP���qW��RE��(�%HS�T�ƹ����k���؛ssC?\�V.CS��s���	�Ú~�B�|�\0)k�r�
+�܀ۅ.i�T�������j��ŭI�/ǒs��),~�%A�J|��D���hh�Q�#�'���7�^�����^{�z�m��R����"{����xz�
+��0'�W��6�y
|.�0	f�v�Ӗ4��=C8��zKь����܌�h1��Fڃ�yE��Ѽ)~�X��X�Ҵ�
+��� �Ƅ�u ��~������%��g!�������ݶw>���]e;��A��`�A��C�@ں^�g]���x@��D���;�UB���\�6��v�6�|�`�{o�If�Fp��!RB��a�pY���Gz�-��"�0�M��I6��_�MOZ�i��c����FS�߭�7�tHﯴW�v�j��6���-�sQ7)�fU��B�'�,"����,�>5�i*�I-r|1�{#��X)�`1H��WF�Y���n�~��J��T�9��7Դ���4[y�R���PtP���:���-���Ml�-x�>56:vFЪ�ݤ	�aW�_,��I���h�4��P�Tsq�T��OwG��(ۂ�[P5�,xP�DN`������W9A��~�~�d��l)���:�����EVCN��W�F\Q�j��V�3=4e��`v�
Ni�^��1G��6����w��L5��q��0z���9�y6��i�9&˭9��˔�p08�L���O��̌���Jp��ZSƧ)ŪO�#aw��)��XY݇g�n|짾]���vw��D��fh�N�b�]�|��?a,ſ?��	�fΡk����\����_^�ݬ���~�%��4�Χ2���,B5eP5�39��?\�kgŚ�
+��Lg�u*(�� Ke�>�����3�r��؋���<鉖�D�H���<����<�%~¸k�X<-�Z���2.�N�
1����l'<Q^���:m�yi����ıթWV�p���N#W~���`��Q�Ě^ɖ�lUq\P}i��|�I.�±ws�]O2�f���#�D*���>��%����endstream
+endobj
+3910 0 obj <<
 /Type /Page
-/Contents 2620 0 R
-/Resources 2618 0 R
+/Contents 3911 0 R
+/Resources 3909 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2643 0 R
+/Parent 3788 0 R
 >> endobj
-2621 0 obj <<
-/D [2619 0 R /XYZ 71.731 729.265 null]
+3912 0 obj <<
+/D [3910 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2622 0 obj <<
-/D [2619 0 R /XYZ 71.731 706.187 null]
+3913 0 obj <<
+/D [3910 0 R /XYZ 494.253 708.344 null]
 >> endobj
-2623 0 obj <<
-/D [2619 0 R /XYZ 95.641 677.46 null]
+3914 0 obj <<
+/D [3910 0 R /XYZ 137.145 695.392 null]
 >> endobj
-2624 0 obj <<
-/D [2619 0 R /XYZ 151.242 651.557 null]
+3915 0 obj <<
+/D [3910 0 R /XYZ 71.731 695.293 null]
 >> endobj
-2625 0 obj <<
-/D [2619 0 R /XYZ 71.731 649.4 null]
+3916 0 obj <<
+/D [3910 0 R /XYZ 206.883 677.46 null]
 >> endobj
-2626 0 obj <<
-/D [2619 0 R /XYZ 71.731 626.486 null]
+3917 0 obj <<
+/D [3910 0 R /XYZ 170.898 664.508 null]
 >> endobj
-2627 0 obj <<
-/D [2619 0 R /XYZ 71.731 608.553 null]
+3918 0 obj <<
+/D [3910 0 R /XYZ 337.682 651.557 null]
 >> endobj
-2628 0 obj <<
-/D [2619 0 R /XYZ 71.731 572.688 null]
+3919 0 obj <<
+/D [3910 0 R /XYZ 71.731 649.4 null]
 >> endobj
-2629 0 obj <<
-/D [2619 0 R /XYZ 71.731 541.803 null]
+3920 0 obj <<
+/D [3910 0 R /XYZ 71.731 626.486 null]
 >> endobj
-2630 0 obj <<
-/D [2619 0 R /XYZ 71.731 518.889 null]
+3921 0 obj <<
+/D [3910 0 R /XYZ 71.731 621.504 null]
 >> endobj
-2631 0 obj <<
-/D [2619 0 R /XYZ 216.836 490.162 null]
+3922 0 obj <<
+/D [3910 0 R /XYZ 71.731 619.014 null]
 >> endobj
-2632 0 obj <<
-/D [2619 0 R /XYZ 71.731 488.005 null]
+3923 0 obj <<
+/D [3910 0 R /XYZ 113.574 600.747 null]
 >> endobj
-2633 0 obj <<
-/D [2619 0 R /XYZ 71.731 465.091 null]
+3924 0 obj <<
+/D [3910 0 R /XYZ 290.917 600.747 null]
 >> endobj
-2634 0 obj <<
-/D [2619 0 R /XYZ 71.731 434.207 null]
+3925 0 obj <<
+/D [3910 0 R /XYZ 295.341 600.747 null]
 >> endobj
-2635 0 obj <<
-/D [2619 0 R /XYZ 71.731 385.39 null]
+3926 0 obj <<
+/D [3910 0 R /XYZ 71.731 585.639 null]
 >> endobj
-2636 0 obj <<
-/D [2619 0 R /XYZ 71.731 349.524 null]
+3927 0 obj <<
+/D [3910 0 R /XYZ 113.574 569.863 null]
 >> endobj
-2637 0 obj <<
-/D [2619 0 R /XYZ 74.222 294.894 null]
+3928 0 obj <<
+/D [3910 0 R /XYZ 308.193 569.863 null]
 >> endobj
-2638 0 obj <<
-/D [2619 0 R /XYZ 71.731 243.92 null]
+3929 0 obj <<
+/D [3910 0 R /XYZ 389.786 569.863 null]
 >> endobj
-2639 0 obj <<
-/D [2619 0 R /XYZ 71.731 187.133 null]
+3930 0 obj <<
+/D [3910 0 R /XYZ 261.638 556.912 null]
 >> endobj
-2640 0 obj <<
-/D [2619 0 R /XYZ 71.731 153.325 null]
+3931 0 obj <<
+/D [3910 0 R /XYZ 199.621 531.009 null]
 >> endobj
-2641 0 obj <<
-/D [2619 0 R /XYZ 71.731 110.421 null]
+3932 0 obj <<
+/D [3910 0 R /XYZ 71.731 528.852 null]
 >> endobj
-2642 0 obj <<
-/D [2619 0 R /XYZ 71.731 110.421 null]
+3933 0 obj <<
+/D [3910 0 R /XYZ 113.574 513.076 null]
 >> endobj
-2618 0 obj <<
-/Font << /F33 834 0 R /F32 747 0 R /F27 740 0 R >>
+3934 0 obj <<
+/D [3910 0 R /XYZ 71.731 472.065 null]
+>> endobj
+3935 0 obj <<
+/D [3910 0 R /XYZ 113.574 456.289 null]
+>> endobj
+3936 0 obj <<
+/D [3910 0 R /XYZ 71.731 441.181 null]
+>> endobj
+3937 0 obj <<
+/D [3910 0 R /XYZ 113.574 425.405 null]
+>> endobj
+3909 0 obj <<
+/Font << /F33 1116 0 R /F32 1027 0 R /F27 1020 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2646 0 obj <<
-/Length 2225      
+3940 0 obj <<
+/Length 1962      
 /Filter /FlateDecode
 >>
 stream
-xڥY������
-�(p6����$������^�ɡ�f��h���i[XITD*{���C�CQ�}�NS�y|��ןy�ϟ%>IB�;��,-�y����oV�̒�����w�0���.g���Ə�V�	������ߋ˪b�!��\���$�zf�����G��T?�,}?Z\.7����������j�	�m���5c-�N�]D�
(�mI�ٴJ��'j��M�t}�b�����/�h��<p}�՗�U�$˟�ϙ��|�/����~��}+X�ԙ4������(Z�t��V�g�I?FLU�}�
-��W/�n�3o���f�y�Ma��~)��Y)dݤ2��7����غ��3��}E!F�3kE����K{�
Mv`������dM�%�5��1y���=4d��v^<�ߔ3�1��xȪթ��\I�3s���
-#�f+���auQl=�"W��q3���nT8�[�[��KZ�`Q�O��u�|�3�A`~�����P�!�r�7:H�|�5�~�Sy���h�y��A�L��Z��%�n:@h���L^˄����--���)���U`D�>f��O��*���^��D���cД��]�x�~���5������~�N)K�C&/�&��F����wTΤ�������(P#��&���Mfc(8�y4+���c0lx���&v�����\qSրpl��Ԭz�19�²SR��"+�WX]dBt���
���~�č��	=�4֭�B�C�U��2�_��h9$5�jPjV�XG>�/'��
-B@z�2%ຠYޚe�P-����[���K��A�N�3ǒ�D�^����@��DZ���D�vh��Hhjq��MH^�w��Rf������I�+&��~)$x�q�Mn�G���^��YG\t�T5;c�)sJhS�g�>�m�e��K�\�J�I�z�T���~�Еڬ��8�am̈́W
��l�����	��t]r�G_�8ޙ�PL�|������'�����@�ha�Ѽ��/OkɄ����ĐD|
-ݲOk]p�3'|���:G�ګ$k�I-��&/�3�|�>X���u�cz���rsC�J)
-hA���r����-���|X��\�1�����r����P���Օ�N9|s=Bm��7��[Ol�����+lH�F"�G���N�q� � ��mFcx��	^0��W݇-x&
���j�a�2��rϲt_��e-jÅ������e��ܾ^ޔ�9CWT
-/2=�tn\D�*�@s�#��*�4W52V�\��_06�G,/���l����=G�8Nv�Qy����^��r\_�n��B�L{�f!IO����g%Y��������p|EOKH"�[�T���mKez"�N X�.1c�;����T3�������
���q��y���I[ٚj��C�m%�MK:,�;��Z�T�ƋuD>��7 �5T(L�����>_��D��1W�~��ƥ��u�_���͑#�v�n�vhGO��.v8�a�A��T+nk:�R�9��AD��
a�^��S���������s�4�f���8���N4�H5#�v�}�b}tr�Jp����=�!Z�F�r�*��b����&�����Q��G1���xE���gkV꓌�,�Š�W���P�4��D$���h�C/$�p���cV�����gގ�A8�x^<y��kV΢ѡ�P�R��:������^2��u�@�����,��<���'m�F�d�v���5�|`���H:oCcI��$�@�(�	��G	N��؝s �e+�����.G-2R^+>���� `�О��Yם�h�E���{�6�I"L�$N��$�
-׺Ų͛��������	�z;^NE�$��k�I%�r7�np����xe
-���Jm�n'�0x��"6�yn��70��p���X�6�!
��
����5��u�
-�\�!z����	����y��̹�da�%��/U�����(v눒+�[3p��\_ۙl�F9��?as!�n&�f��yu[�u�Cxx[��A۬N�,}���-���+�'0��mG�k�M� 5\��Q��w��:�O�c�*��L�y�
-�$�&y&a���^�c{�a�n�ݦ���)Հ����F��Z,��%x�~��h츾�ܱ��\�X,�<y��Ꚃ,�b���ˠ��?Zm�d���?kuKF6
-GV�2*J����x����endstream
-endobj
-2645 0 obj <<
+xڍX[��F~ϯp�J����N�r�6J[�Qꪪ��°�Q�E,����w�������,,s�o��ol��M�Y�Ÿ3'�7i��ޜ���W�����9��+w��8r7����ë����ql���p��.s�`s���^׵����v焑����a�V�ulKv�-��B���m^���~��&fq�T{���x��
+����D��ҋs�u|�������p.��j���ʲ����yQ$z�W�M`u�Z7�X�R1�|w��������N{�rK��uI^
&�0�DO�9��ΕI�^��g�5#����Sh�΢MR�I�9O3at7<d�M=r���7�x;����E�'�3s
(`�	lR}��՚��V�p�M"���%��~R��jVKu��<'2{){MW
�tօ�����-%�)!)��g}C�g_�"�+���K�~��}�֍��a�L�/�i���m;_Hݬ80��w}E���B�/�OS�e�W����D;��E���]���Uy
+�{�#���W
��id���g+Ѫ4���c�jRVʾUؓ8�RjR��w����/��~O�ë�8��+XJQ�L�R΍�B���z!^D���S&���b�r���ـ���/��������^̢8^�Jڳm�P9��� ���1n8�/��>�r���0�'�1u�F�w�?v��^����YB{�Z2�g�<vY��׭��W��|�7�휻f�#UG哦B)����o{��XM�b:f�����ȤP�x`���T�hSs��ZI�L}�<"��'
+4��n�f����gi?�������0��:���T+$`�0x��L����E������m��{����8�������ec�ar aə���0�	#��g�VzX�v�ܨ�V64L�&�U�ڀ?4���I:���ɹ�J�F�h��$����"4-O���E@�R�9P�05��
��[8fjZ�7��"��a%�/�
+�h�@6�_r�r���� ��.��.u�}�ý�^�B�/�����^;Vu�"���n#�x��'��Έ�,��cG��\ �=a{�#�s`7��B��2�M�9�m�hk��`|?c:�3T�@$�3Y�w͊u�0��3�jl^6���4zF��Q8��"�I���F��"&�7�?唍�������D]�]��A�(&�ٛ BQ�ql7���";�2v$��9�i�k�Z�k��8�7�s������?���6.�m��r�W���7�*�==O2�3�_��o�H܌L���/��\�y�v�v1};�j���E�];X���;��17��(��Eu�w�1
+/�6�f�|y��=N�j딟o���xhP�5(�����Q}E�Ҁ�����f�Y�̺B������A�p ����Ž�c���P�‘�T��b�8�" B�o�SE`[sP��楓��HäȦ#4M:E�y4-9=>#���g�n��s��,��s�Z��5�g��F{�o&��l�+���5]��A�y��X��ז��7��$2���1���^�����@��J��>U�4b��c���>��!!8d�a�VqXO>���:� ��㢄�
h�i��tO����m�X���<�W�"����K�����W��W�>3FO���u�θ�	(�jdI�BJ����/���Ǘ�8\�᜼R�r2�L>���������H�4��ݳ�Ξ6��b�1�]�
i�y��w;p��V��ܹՁ+�^��{�gb5z�M��qs-Z�ȑ�7	����Ӫlr
+�H9�9�
�>��
+��Sv�H|2�̦��w�B$�VBX�"�<&;o9���]Q#r��;jj0�<�@7�9�k'>��LKc��]��v�E,���Z[z�O/��!���3�J���-
+��[�R����vendstream
+endobj
+3939 0 obj <<
 /Type /Page
-/Contents 2646 0 R
-/Resources 2644 0 R
+/Contents 3940 0 R
+/Resources 3938 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2643 0 R
-/Annots [ 2672 0 R ]
+/Parent 3963 0 R
+/Annots [ 3947 0 R 3948 0 R ]
 >> endobj
-2672 0 obj <<
+3947 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.623 262.849 229.05 271.761]
+/Rect [230.933 547.742 275.764 556.654]
 /Subtype /Link
-/A << /S /GoTo /D (gloss-mta) >>
->> endobj
-2647 0 obj <<
-/D [2645 0 R /XYZ 71.731 729.265 null]
->> endobj
-2648 0 obj <<
-/D [2645 0 R /XYZ 71.731 741.22 null]
+/A << /S /GoTo /D (installation) >>
 >> endobj
-2649 0 obj <<
-/D [2645 0 R /XYZ 71.731 718.306 null]
+3948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.088 547.742 393.92 556.654]
+/Subtype /Link
+/A << /S /GoTo /D (configuration) >>
 >> endobj
-2650 0 obj <<
-/D [2645 0 R /XYZ 71.731 693.235 null]
+3941 0 obj <<
+/D [3939 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2651 0 obj <<
-/D [2645 0 R /XYZ 376.236 677.46 null]
+1249 0 obj <<
+/D [3939 0 R /XYZ 71.731 718.306 null]
 >> endobj
-2652 0 obj <<
-/D [2645 0 R /XYZ 71.731 662.471 null]
+714 0 obj <<
+/D [3939 0 R /XYZ 358.696 703.236 null]
 >> endobj
-2653 0 obj <<
-/D [2645 0 R /XYZ 71.731 639.437 null]
+3942 0 obj <<
+/D [3939 0 R /XYZ 71.731 681.855 null]
 >> endobj
-2654 0 obj <<
-/D [2645 0 R /XYZ 71.731 585.639 null]
+1250 0 obj <<
+/D [3939 0 R /XYZ 71.731 658.391 null]
 >> endobj
-2655 0 obj <<
-/D [2645 0 R /XYZ 71.731 585.639 null]
+718 0 obj <<
+/D [3939 0 R /XYZ 233.175 615.294 null]
 >> endobj
-2656 0 obj <<
-/D [2645 0 R /XYZ 71.731 562.859 null]
+3943 0 obj <<
+/D [3939 0 R /XYZ 71.731 606.471 null]
 >> endobj
-2657 0 obj <<
-/D [2645 0 R /XYZ 71.731 528.917 null]
+3944 0 obj <<
+/D [3939 0 R /XYZ 135.183 593.735 null]
 >> endobj
-2658 0 obj <<
-/D [2645 0 R /XYZ 152.916 498.132 null]
+3945 0 obj <<
+/D [3939 0 R /XYZ 361.601 580.783 null]
 >> endobj
-2659 0 obj <<
-/D [2645 0 R /XYZ 71.731 497.424 null]
+3946 0 obj <<
+/D [3939 0 R /XYZ 71.731 560.694 null]
 >> endobj
-2660 0 obj <<
-/D [2645 0 R /XYZ 71.731 473.061 null]
+3949 0 obj <<
+/D [3939 0 R /XYZ 112.677 523.996 null]
 >> endobj
-2661 0 obj <<
-/D [2645 0 R /XYZ 71.731 442.177 null]
+1251 0 obj <<
+/D [3939 0 R /XYZ 71.731 490.955 null]
 >> endobj
-2662 0 obj <<
-/D [2645 0 R /XYZ 71.731 419.263 null]
+722 0 obj <<
+/D [3939 0 R /XYZ 537.833 447.858 null]
 >> endobj
-2663 0 obj <<
-/D [2645 0 R /XYZ 454.044 403.487 null]
+3950 0 obj <<
+/D [3939 0 R /XYZ 71.731 435.42 null]
 >> endobj
-2664 0 obj <<
-/D [2645 0 R /XYZ 71.731 375.427 null]
+3951 0 obj <<
+/D [3939 0 R /XYZ 149.399 426.298 null]
 >> endobj
-2665 0 obj <<
-/D [2645 0 R /XYZ 71.731 352.513 null]
+3952 0 obj <<
+/D [3939 0 R /XYZ 252.063 426.298 null]
 >> endobj
-2666 0 obj <<
-/D [2645 0 R /XYZ 71.731 321.629 null]
+3953 0 obj <<
+/D [3939 0 R /XYZ 71.731 401.228 null]
 >> endobj
-2667 0 obj <<
-/D [2645 0 R /XYZ 71.731 298.715 null]
+3954 0 obj <<
+/D [3939 0 R /XYZ 71.731 401.228 null]
 >> endobj
-2668 0 obj <<
-/D [2645 0 R /XYZ 160.936 282.939 null]
+1252 0 obj <<
+/D [3939 0 R /XYZ 71.731 333.733 null]
 >> endobj
-2669 0 obj <<
-/D [2645 0 R /XYZ 252.253 282.939 null]
+726 0 obj <<
+/D [3939 0 R /XYZ 207.49 267.506 null]
 >> endobj
-2670 0 obj <<
-/D [2645 0 R /XYZ 324.163 282.939 null]
+3955 0 obj <<
+/D [3939 0 R /XYZ 71.731 258.683 null]
 >> endobj
-2671 0 obj <<
-/D [2645 0 R /XYZ 71.731 275.801 null]
+3956 0 obj <<
+/D [3939 0 R /XYZ 71.731 243.79 null]
 >> endobj
-2673 0 obj <<
-/D [2645 0 R /XYZ 358.055 265.006 null]
+3957 0 obj <<
+/D [3939 0 R /XYZ 71.731 238.809 null]
 >> endobj
-2674 0 obj <<
-/D [2645 0 R /XYZ 145.982 252.055 null]
+3958 0 obj <<
+/D [3939 0 R /XYZ 89.664 218.051 null]
 >> endobj
-2675 0 obj <<
-/D [2645 0 R /XYZ 474.318 252.055 null]
+3959 0 obj <<
+/D [3939 0 R /XYZ 89.664 192.149 null]
 >> endobj
-2676 0 obj <<
-/D [2645 0 R /XYZ 155.964 239.103 null]
+3960 0 obj <<
+/D [3939 0 R /XYZ 71.731 189.992 null]
 >> endobj
-2677 0 obj <<
-/D [2645 0 R /XYZ 74.222 221.171 null]
+3961 0 obj <<
+/D [3939 0 R /XYZ 89.664 174.216 null]
 >> endobj
-2678 0 obj <<
-/D [2645 0 R /XYZ 71.731 196.1 null]
+1253 0 obj <<
+/D [3939 0 R /XYZ 71.731 154.126 null]
 >> endobj
-2679 0 obj <<
-/D [2645 0 R /XYZ 71.731 147.283 null]
+3962 0 obj <<
+/D [3939 0 R /XYZ 71.731 48.817 null]
 >> endobj
-2644 0 obj <<
-/Font << /F33 834 0 R /F32 747 0 R /F27 740 0 R /F38 963 0 R >>
+3938 0 obj <<
+/Font << /F23 1013 0 R /F27 1020 0 R /F35 1185 0 R /F32 1027 0 R /F55 1799 0 R /F33 1116 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2683 0 obj <<
-/Length 2553      
+3966 0 obj <<
+/Length 1773      
 /Filter /FlateDecode
 >>
 stream
-xڝYY��6~�_��K����De��:v�rϖ�y�HH��`�ʯ��
���)ט$}|�u7�<���>ۇp	,�ū���Vgx�흏3�8e;�������0\�a�O�ȏY��	����1�e��ix��O�m{��^/��|ӝ�E�ڧ�ߏ�/7��~����=:	�p�I�Y!i�\ʠ����F�2fK��3U�1�\K�
-Bv��f�=��g����`߯��]�q���_m`��7��{�i�/m����9��n�%ǹ�B]�ݻ6�
-�#�7���68Bo���I�ߤ
-v���>��[iZ)�
-ߜ�u <�Nj=�<��&���Ʒ��[�퓾L'Z9���q�B�>��dU�	bX�<�z"n���yZ��	GYl��&��s{kky`��bߘF�*-�+���]�ԭ�9:�g2��r�uō|��o���������^��}Z�KY�k����%��'�3-#*��L�� e*��Z6�r!U+�� �~ق�c�~��:���{0���KE���D�R=���w�^�d�J��W��6�O�:�����5.uť�_p�x����J����K�\Ȁ���T9�1|������O�|1ĝ�'�$",'����|QVsR2�۶k���(XK�ҮFh6�]��uk��Kt�G�i�f|K��ቮ�K�8B�VB��مgO0a�(Q�w���</Y%`��1L1�>��]ˬ²���1�����=jOm]ڻkݵ��#��@�����߬lovBQ|zA%�˞Kk #c����!!��m��{'��𖣺�t�X�P���D1�Rz���&��I�wߣ㦒�М���4Cx���w�`��hZ�R<"N
-��\���y��%S��x��M�,'�kLu�����0@�@r�:���t+�K�Y�6�a%���T���!s?
-�K��G��:{�%�;m�e�d[^�oE��޵8甠��%�D<L���:�OR`M���h�����g>�b4̇A���a�*����b�!��#s��:'hI�-����1�%+�5>�Z�ݎ���E�S�Hqdw�J�N�Wz2,�\z��[�Jg�T����6�:��E �9��%�,�
�oh?]�8`4�tI;\s�����ֽ�l��T��D���=O���Zk��Y���@ڴ���t�d!#�Ma=���cJ�dJ�������*��O������X�i^E���	a)�Y?��G�#<���(��-2��>��e���ɡŕ�&%N9󊷽�D�2mՀ�-Ԧ���Cz1�BW�̓ق5�IЗGSB�k`l\��ލ�u&OW�n����?Lf���Qk@�0z;�x	���t�8�q�1�=Q�i�b�f@����@�82���"�$�M���DKC�wd�Z:��Y���Q�mO������߰UVǝ����������"�gB l>)�ը7���ҝ��D����x}i2�k�.J5_?<<??ov����j�(��z��Zϙ�ǫ��+(ۺX �W�:�ͅ�L��x�-r��Ns�p�Ķ�f��������?��K�y�/9FY��mt�ږB�^R�=7Q
-Qu��!��bYMD��
��&����u��K��N�B��i{��>�0fG7n��I4�s��51!_� ��'�!��}�c	�����:�
-'��㰆c�l=�I
-9w�:�4!�;**&uh�'�}�*���_��m���
�jb���E��Y��!�ߪF�}hE�,	��Ʊ��h�k��TJ<�ɝ���������y�F��H*�,-�J'q��\|`��R���EI�
-�����ﷻ_~�V�������wzn�D,�����p�������{��ha[���͖ؒ0�`�z[:•
-GVw�g!z	hf˪�:���	Bc�(ꍵ�����3b�!�߻���{�AD����19�p�`��4դ���7�$�d�u��a"��[Kh2
-\��
-�|�iP��.��\��❑ߖ@���à
��Հn�&�֟���6��0���~��&��i��ЧI_�\+4Z��M�3LŁǼx5p�_�C�,�i�5��:8�Ȃ���œ�C�v��
-���>���Ki�͐�''H�Ze����|���}�cRذ��>_�]�DCd����fn�
��v)�q�@sP���ʙ��6٩@�nj980�F����@�>w!�����8������'��nN��:���eu�׽ި�&��>i��%��5���vL_�i�NΛ�ob)���O)�v�}��Y��O�đ�}e2�?.���;	����<s3Iɡ/��V.+@	�,�Fޤ巎����s۳�<w��z	������"�ez�oN�!�u�����I�>&�S���ȝH}�~CY��!�����L�2�!�X͆�@�L��x��"�����c���o�=�P�^j!{�rF��*�^��rZ�:�,|���r�H�onma��:sl�C�`M�%�40D��G	j�����pf)	?ZFP���~���̾��A¼�1�!���u��������endstream
-endobj
-2682 0 obj <<
+x��XYo�F~���CS@�ⵤ�A})lר�AS+r%mC���n���ٝYJ��8�T��3�ߜKo�����h�����w���W�і�ƞ�ۃ�E�D��v>}�%^2��M�?���p��J���|�:'��!�N=�Sv�\6˲lU��y����mϕ1K&�W�{v$�3��Z4{C��8��NX���'�IWd�<::��<8�dC]�mW-j�Ѡ-���#�G�E�����54�`�p�ַ�����Xȡǝ{�O��E��קy�B}�B^prtuz3�C�����CU4��i�z���`^1>���(2<�.e���,@��b��`�%!sC@�M@��ܩ�[��	��<���F�'s��Qe���W�v@���+�r[�y#[\������ܹ[
+Z+����7�Y���4�-M�\k&oE�^�Y&�p�w�8�l���\�ۃ=�%d��2�����l�S�y.	OU)YM8�5���h���V���:`
+%�`^��1���W���P-�Ų��n2������z�#���\ٟ)�}�͛{��]�/A���D+���5A�//E��F�LAǗtʪc/@H�����:�I�4T-�ε���M�-��.q�e�+uR�5��-��D����J��_��v(���S��Y?�������ءv�-l
+ ��.I�N���M�N��GZO��
+��UA �&�{
LA��r��w���{Kdl�h
+��.�)�@zvrvt4�J}5���W�ZV���9J;�sA��b~�V�c&����
+-�S+k�Ҏ�Y'�"�泰�������[H�����[��1ؐ=�;�@�+�-�f��zQ�	':�B����%>��:�I,��"Z�M@G�K@����@��pp*�B�'��d+�1
=�~s�������/Ϧ8%4�}v4�>:nT+ǹ������Īn�{Z~8�d�2{ 3G[���;~�L//5�oMl��{�s-B�aך֯��׷[��=�..�_M�vi�7�g'o�o_@{����1G0aG�9hH۽I�p����=�ya�ok;�b6	9��*�.Gm9���%A�o{6n�N5���:Y�ӰF�Pv��TB5�X����&��T�
+�6f�GV�e��A���VJ�Y���1J2_C��huoF/?�U�k�e~Y+��!�],zSek^[z��5�5�0�5�C���y󤜚����3��_��HQ�2T����e��$	�Vh������?���������7+D��R>
+�Sr�,���M+׺�l#��˚��fDY3��l��zZf���ǟt��e>^}�d'��*J����yHX[iRP��(�xteD�Ŋi7=��%���l�5�8��.��ڵy\�����r�(tE�2�D>�j)u��9M,Tj_Z�M����d��[��P�z�(46i�*��WsS����b��{���F�M׊$%jS�T$����,�05�)t!��T ����|S�n$�i'!x����2��L���yבi[ڗ+���
+���Pw8'���=���~d�vY�������`������oc2��qw��D�9n�	.���oY�7��7�yL�yg�6�/�ڊ@O��"����i�+��6�t��z�V�4,t��� ��c�vE����R��7�t�ž���b�g*G�um���f�W�,G�a;�څ�w!����f��lʔ��K3�옙y4=�(D�r�Ĝx�W�U���|��`6�h�����O����L��endstream
+endobj
+3965 0 obj <<
 /Type /Page
-/Contents 2683 0 R
-/Resources 2681 0 R
+/Contents 3966 0 R
+/Resources 3964 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2643 0 R
+/Parent 3963 0 R
 >> endobj
-2684 0 obj <<
-/D [2682 0 R /XYZ 71.731 729.265 null]
+3967 0 obj <<
+/D [3965 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2685 0 obj <<
-/D [2682 0 R /XYZ 71.731 741.22 null]
+730 0 obj <<
+/D [3965 0 R /XYZ 505.555 705.748 null]
 >> endobj
-2686 0 obj <<
-/D [2682 0 R /XYZ 71.731 718.306 null]
+3968 0 obj <<
+/D [3965 0 R /XYZ 71.731 693.31 null]
 >> endobj
-2687 0 obj <<
-/D [2682 0 R /XYZ 71.731 696.359 null]
+3969 0 obj <<
+/D [3965 0 R /XYZ 129.185 684.189 null]
 >> endobj
-2688 0 obj <<
-/D [2682 0 R /XYZ 71.731 673.31 null]
+1254 0 obj <<
+/D [3965 0 R /XYZ 71.731 620.263 null]
 >> endobj
-2689 0 obj <<
-/D [2682 0 R /XYZ 71.731 616.523 null]
+734 0 obj <<
+/D [3965 0 R /XYZ 370.33 577.166 null]
 >> endobj
-2690 0 obj <<
-/D [2682 0 R /XYZ 71.731 593.609 null]
+3970 0 obj <<
+/D [3965 0 R /XYZ 71.731 564.728 null]
 >> endobj
-2691 0 obj <<
-/D [2682 0 R /XYZ 129.404 577.833 null]
+3971 0 obj <<
+/D [3965 0 R /XYZ 71.731 530.909 null]
 >> endobj
-2692 0 obj <<
-/D [2682 0 R /XYZ 219.884 577.833 null]
+3972 0 obj <<
+/D [3965 0 R /XYZ 71.731 475.056 null]
 >> endobj
-2693 0 obj <<
-/D [2682 0 R /XYZ 151.85 564.882 null]
+3973 0 obj <<
+/D [3965 0 R /XYZ 139.576 463.153 null]
 >> endobj
-2694 0 obj <<
-/D [2682 0 R /XYZ 71.731 497.968 null]
+3974 0 obj <<
+/D [3965 0 R /XYZ 71.731 451.034 null]
 >> endobj
-2695 0 obj <<
-/D [2682 0 R /XYZ 71.731 475.054 null]
+3975 0 obj <<
+/D [3965 0 R /XYZ 71.731 383.898 null]
 >> endobj
-2696 0 obj <<
-/D [2682 0 R /XYZ 402.449 446.326 null]
+3976 0 obj <<
+/D [3965 0 R /XYZ 71.731 361.933 null]
 >> endobj
-2697 0 obj <<
-/D [2682 0 R /XYZ 267.515 420.423 null]
+3977 0 obj <<
+/D [3965 0 R /XYZ 71.731 292.74 null]
 >> endobj
-2698 0 obj <<
-/D [2682 0 R /XYZ 469.715 420.423 null]
+1255 0 obj <<
+/D [3965 0 R /XYZ 71.731 274.073 null]
 >> endobj
-2699 0 obj <<
-/D [2682 0 R /XYZ 71.731 405.315 null]
+738 0 obj <<
+/D [3965 0 R /XYZ 374.461 230.602 null]
 >> endobj
-2700 0 obj <<
-/D [2682 0 R /XYZ 71.731 382.401 null]
+3978 0 obj <<
+/D [3965 0 R /XYZ 71.731 218.43 null]
 >> endobj
-2701 0 obj <<
-/D [2682 0 R /XYZ 439.947 340.722 null]
+3979 0 obj <<
+/D [3965 0 R /XYZ 384.246 209.042 null]
 >> endobj
-2702 0 obj <<
-/D [2682 0 R /XYZ 71.731 338.565 null]
+3980 0 obj <<
+/D [3965 0 R /XYZ 71.731 183.971 null]
 >> endobj
-2703 0 obj <<
-/D [2682 0 R /XYZ 142.466 300.001 null]
+3981 0 obj <<
+/D [3965 0 R /XYZ 71.731 146.577 null]
 >> endobj
-2704 0 obj <<
-/D [2682 0 R /XYZ 74.222 251.985 null]
+3982 0 obj <<
+/D [3965 0 R /XYZ 155.845 133.625 null]
 >> endobj
-2705 0 obj <<
-/D [2682 0 R /XYZ 71.731 226.914 null]
+3983 0 obj <<
+/D [3965 0 R /XYZ 346.349 133.625 null]
 >> endobj
-2706 0 obj <<
-/D [2682 0 R /XYZ 71.731 191.049 null]
+3984 0 obj <<
+/D [3965 0 R /XYZ 427.296 133.625 null]
 >> endobj
-2707 0 obj <<
-/D [2682 0 R /XYZ 71.731 147.213 null]
+3985 0 obj <<
+/D [3965 0 R /XYZ 71.731 120.674 null]
 >> endobj
-2681 0 obj <<
-/Font << /F33 834 0 R /F32 747 0 R /F27 740 0 R /F38 963 0 R /F23 733 0 R /F44 1007 0 R >>
+3986 0 obj <<
+/D [3965 0 R /XYZ 71.731 107.722 null]
+>> endobj
+3987 0 obj <<
+/D [3965 0 R /XYZ 107.048 107.722 null]
+>> endobj
+1256 0 obj <<
+/D [3965 0 R /XYZ 71.731 100.584 null]
+>> endobj
+3964 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R /F32 1027 0 R /F35 1185 0 R /F55 1799 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2710 0 obj <<
-/Length 1993      
+3990 0 obj <<
+/Length 1670      
 /Filter /FlateDecode
 >>
 stream
-xڝYYo�F~ϯ�Z�/](�u����V�M(r%-�+�e��w����%�R�pg�{l&���Lcf��Z���ѫ�`o޽2�X��+4��W���=X��=Xo��sq�ms�����7iJ�~�-w2�1�u�'��6��C�Г��G��oF�d�����ϯ~Zk	\{f,��I!��-�UJ��N��8��S�K/�ͧ�9�ض�L�6�K�8���MC����f%�)&H>�=.�L^9B@<F	So#��&�6��.�%�
-	���'�D=Z̿�����~�g��B���llZ`?!��$JF��W��$#���h3��+��oⅳ��@1���$L��H�@r���X2m@Эx�%�}�(ث�ƖB�Z�L�*
�)>
-݋�<B�\��;P�B�KN����X�o�d
��c�!Q�y
-��8��C�ր��B�8ɢ$g�rF�4��'��.��,��,x��a��4;2N"m�:9�H+H|/.xM��5@}8/�cN�t\y�����d9��&$�����	qH�n�WJ�j�$y��s�\�4#>����>�?�[]�\w�P��9�E�Ґ�;�d���
�����z��hwE�|��a'~XkC��DO�2��a&DU����c��ݑ"'�����>��p�FY�d��<
-vy���qWH�7C|�	W��v�$����$�'���9x�����[bDx��w���l?�)/󛺮����t����o�^P"Z�C�jAA�7`K��5�HS��z|��i;)�BX��
-��Y��U�KUcY�+��y����!���%,�r4+�������<�%&��9�	���.ԁ��R��n*�NF��2���($�x"���x��a,�����JS��Rh�9��>N�M$���C��2Q={�F���9(���B�� y	��0�g�!����4�2��=�J��`Ǻ:�G�Ob������S�ի���PI��e�������%�B�iA�Ƥt�����l�1�Ȣ�T�r�d��6
-Ҁ������m��4YPc��ދw͜�”�|�[~n��Ѷ�fT�4Þ��?�����Kͱۅ����%]���}�P��{]F�y>����-M�M;"�߈l{Q�k{��Yo/�p��T�Ts�ae�	\\74���D2�h�/c�&��1wp�p����Q���
-ų$�ܬ=��SNQ亐j԰ѽ̆��Ԡs�>7�4�h�AJ].SE�޸���'̇���:D�pj�v0�yP��쑔
=Znx����v��q�9͉
5����p��'��K�b�Y�~�PD΋5^�m�3��W�Z�V���]?V�~O9׶�s�.���C1{x�����*`�躞y�t���0\�4^%Q?`�FHm�#�f��N�o\��*��tU��x@k�.�3x�D�x(!�ݏG���8žq�`���G�i�D��wb!�S�%Q?�F��c�f�,N�o,دŠrLUڹL��O}k�3kqZ�
-Q��H#����w�;�~��=/{����=��o���r�����n��nWxs7���z��]�Ǝi,�6���a�.z����iD�ʥv��[.����8@�z�阼�iPN_�,@�NDu%B�S�*0�4���J��R��v���^��}1��;lI�%v����vݱ5�mgeu2�\�~dpDk?:U_�ݏ����p�^����4$�t�d��Ey4��eFXex��-�����Y�9�wcy���37����Êu��M{90eD�4Y����ln
-%�����&ы��X�W���hj��E�O�ݚ��oS���KN�#v�h>l��.�w@�\�T,X|)��o7[�=��[�"���^RZ̈rbå�<����l�q�C�_����.F�t�
-���>τ&�
�A�	�[q�Ye�쁾�7n�vUݡ��:%5T���P�Ne�T�@1	R��ԍ�����̍�9;������#ך)Jۢ��@mN�&�Wendstream
+x��X[o�6~ϯ0�b��X%��aX�,I��ɐ�uh���ȢAII���}��bI��u@W`���H��\?~4��#��8�/q�0��=�7���=bV͒ak��tot����IB�7��=�$$�E��āכf�V+Vd��`�n����� �r0����\Q�b>�s����t�k�GN��4̮ٲ��{$r<�i�C7p�q�,;v"�&��o�u��_�`a�-�P�J{�^�2�z�U��%M��E�7�<��{]�^]_\�:����$5aÕ�	B�r�ॎ�}��.�n Ϟ���Wܮ����~V�8�?H�g���̈;�<�9�L�������~E��/+���5��W-��̵8��ľ�>-pcc�*� >��O%�XTvM��m6�9I@T4����EK�O�{ƌc���':�~Ћ!�a����UI!�6�(�$����B[��Wi��f1�B�����*��k�J��Q]�Q�g#�^0*y�6��ב���3�B^��R��Z���Y�����o�:����䗯�q��K��׿^�ݼ�:^����ѡ��XmuU/�ui�I�r�\��׍��j��K�!r�.��6:-&��l?������$kCZ%��Ro{g?����#���վ�Ic���mw���]�����*ڰ�N�9 �@y\���U�84���颫��U����s:�q�eM���<����3z�򑞩T�q=��`g8��lՌ#$GH�@��,`3�@
+��	'^8q]��ߩ�H�?88��?�?G��?�Z7�˗zz�������H�0�y�'I��o�6�ϓ����ՎMr�RӴ/~�8�p{������G=�>H��g�����w�`[Ǜ��+��h%���ޱ��ߝ\ߜN&��LjG��I�Y˾�wh~1�U�o_��E�%����/38��Ž2�����g��Mּ�e-�Y�Y��}�����=]�0`(2�46����������,��qn�i
+t��x�5s3�a�;�������*���d��L?GJ�İR�KQVÜ�c�3ӊ�n���`���<�O����soc���.TeW���x>1#�BJ�Vv�-�{\���yN���z^KE9͑l� ۷���K�Z�-�EM�'7��I��u2w�e���F&M+!�Ź&�r#8,�
+D�snc�x�Y3���@AA%�����{ym^��CF Hx����!��g3#pA��:���u���iUcӡ�qL��O��PQ��Ʊ
+��R+Yc�%�0�a�́ڹ[N��OѴRT�+�X݌T��u�l6!.�!���Ǩ�M�uB�Ga~���8Q��M%]����%OH�z��i�`�.Oj�e	���Q����
�?M/mP(s3�Mo�N����I�@)��j���d�b7	L::M���R�������
-R�6okФ��a&�Z���0�"X�'�좡�0�Ty��y��a�*g��68��8�m�P���e��|�(:z���7��Y��-�P�ca-kl:$��x��7�m�uز�IM�K���A�K�ofK�.+������"7�b묹�4�W��#}�{�ͱ�à���=���Vi��`�.+�rD�t�&w�&[{k������?���F�؉�T���b͒���/v\�*�`��s�tm��7fl�endstream
 endobj
-2709 0 obj <<
+3989 0 obj <<
 /Type /Page
-/Contents 2710 0 R
-/Resources 2708 0 R
+/Contents 3990 0 R
+/Resources 3988 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2643 0 R
+/Parent 3963 0 R
 >> endobj
-2711 0 obj <<
-/D [2709 0 R /XYZ 71.731 729.265 null]
+3991 0 obj <<
+/D [3989 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2712 0 obj <<
-/D [2709 0 R /XYZ 71.731 718.306 null]
+742 0 obj <<
+/D [3989 0 R /XYZ 189.38 683.368 null]
 >> endobj
-2713 0 obj <<
-/D [2709 0 R /XYZ 71.731 696.359 null]
+3992 0 obj <<
+/D [3989 0 R /XYZ 71.731 672.694 null]
 >> endobj
-2714 0 obj <<
-/D [2709 0 R /XYZ 71.731 673.31 null]
+3993 0 obj <<
+/D [3989 0 R /XYZ 234.639 661.808 null]
 >> endobj
-2715 0 obj <<
-/D [2709 0 R /XYZ 71.731 655.377 null]
+3994 0 obj <<
+/D [3989 0 R /XYZ 71.731 636.738 null]
 >> endobj
-2716 0 obj <<
-/D [2709 0 R /XYZ 71.731 632.463 null]
+3995 0 obj <<
+/D [3989 0 R /XYZ 71.731 534.274 null]
 >> endobj
-2717 0 obj <<
-/D [2709 0 R /XYZ 71.731 601.579 null]
+3996 0 obj <<
+/D [3989 0 R /XYZ 357.795 509.779 null]
 >> endobj
-2718 0 obj <<
-/D [2709 0 R /XYZ 71.731 578.665 null]
+3997 0 obj <<
+/D [3989 0 R /XYZ 71.731 497.659 null]
 >> endobj
-2719 0 obj <<
-/D [2709 0 R /XYZ 71.731 531.905 null]
+1257 0 obj <<
+/D [3989 0 R /XYZ 71.731 278.991 null]
 >> endobj
-2720 0 obj <<
-/D [2709 0 R /XYZ 297.791 519.054 null]
+746 0 obj <<
+/D [3989 0 R /XYZ 496.414 234.786 null]
 >> endobj
-2721 0 obj <<
-/D [2709 0 R /XYZ 71.731 507.651 null]
+3998 0 obj <<
+/D [3989 0 R /XYZ 71.731 222.348 null]
 >> endobj
-2722 0 obj <<
-/D [2709 0 R /XYZ 74.222 421.22 null]
+3999 0 obj <<
+/D [3989 0 R /XYZ 203.346 213.227 null]
 >> endobj
-2723 0 obj <<
-/D [2709 0 R /XYZ 71.731 396.15 null]
+4000 0 obj <<
+/D [3989 0 R /XYZ 71.731 193.137 null]
 >> endobj
-2724 0 obj <<
-/D [2709 0 R /XYZ 300.601 380.374 null]
+4001 0 obj <<
+/D [3989 0 R /XYZ 497.232 182.343 null]
 >> endobj
-2725 0 obj <<
-/D [2709 0 R /XYZ 71.731 375.726 null]
+4002 0 obj <<
+/D [3989 0 R /XYZ 71.731 123.399 null]
 >> endobj
-2726 0 obj <<
-/D [2709 0 R /XYZ 113.574 357.46 null]
+3988 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F27 1020 0 R /F35 1185 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-2727 0 obj <<
-/D [2709 0 R /XYZ 71.731 355.303 null]
+4005 0 obj <<
+/Length 1876      
+/Filter /FlateDecode
+>>
+stream
+xڭYK��6��W�D�ZK���$��Ҡ�[�-�6���T����-QZo�"������7Cm�Xÿl���]�����rQ��֋3�����X�-�����w��bqH�b�tZl�,=d�Ů��}�/��?�_�Ӛ�,Wy�NRs}Z�e—�2a����˜$�����w��ֲإ�}q�0�gbY��9����l�a�'0e�%W�̒��_�2_'_�Y�`��(��\݃]}P���!M���)U���Z�������	��;�+����ʬ�����l�H���Û�dn�t]C*$	��5���fv{S�k@p�������"����R�E's'��
+���CR1�L�0�_����V*g�/�\k�e��/i�����c��$'s�Ң8�HJ=G��Mn�&�[���L� .����TZ|�Z�h��jv�:!��i��Q9q�An�r
+�����'��*f|�#�/��e^B0�yE��溺@,f��)��VUM8�$��TF���O`��U��U9��Rm_�:�
+������T�Ē��C�]�?���/��\2>�2�)vY���U�7G$�}�g���5FA�>5v&td�1�e�m�yֶU�M����h��X)����
+�7i��TC��}X�t[�j'��͋���7�J���WU��l�!FXL
+|n�O�&�f���D�3ad�����.mj�������X�X��p�q�pi�*6�5�w�����ロ�ZHE��P�Q8rD?��2�1oĠ�x�UX����H�-�,����\Q$�4��f�aDl�bW���f�A�]rRI'e�@����%�D��	s���A'�sY���NO�6>���T�B��f�$��#����Ys��.�f�V���BV�#�r|5\\Iҩ2��%�Z�c
̕yi�]9����GB�$��);�����yq�׍MC׋��3ۢ;���o����ԯ��WL"����H�)̕/Q�8�yEF$���hoF�G�5��<BaP@'l&��g�00�2e�Aq�wOB�k��
�S�ԛ%+��)i4��u/9S��@m8DLuW�{��q�͝-�$�>��C�a��
+G�Ly��y�����u�&�҃b��>�l:�)�T�y4#0��o��06�T�5w(�ۓ�����Ґ������f�I}���Ҳ<hk>�I�=�!١�s<c$��LR���ʣ����4R��u���0���sj�Ũ�(�y�ˋ3��
����]�G��f�������DN��y�$
+)�q5S�\'C����}�U�����#c6�dl��k~z�d�����~��x��gt3��=�$���P��h��.�57k--A&r����(`vLYg�V�8�N�@(�a��Lh5;��$����K�٫��'/[Z�����(,IOM�E�JQg/�«}w3	����f�46�P���B�e� Bo�'pQ/|�*�#S��Z�3��3�X��*��g�<�&G�i	����C�u8Ѿ=:�n.;)���u3
t4��&5H6&��������q(|7���F}��-��|0���,�g�"��y$��mα� ��P*e����r�ɝ�U���f]g�`�u�������i|��DǘNө�"T�n�F�LJ����ݾj���~b�ie�}�S����[g�.1���4��	�C��9���#�?\�H��o������ך��}�[%�
+[Rs��xA�}]���|v�)�zh�A�n�sh�QF�T�F
L�'��m��Q	���$X㹏Z7�W���ƞ̓�mb	5ꚅw�"?��-5�V��<����U���F�����>�g��	[&(�}�Ν���ڷ���~&�3endstream
+endobj
+4004 0 obj <<
+/Type /Page
+/Contents 4005 0 R
+/Resources 4003 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 3963 0 R
 >> endobj
-2728 0 obj <<
-/D [2709 0 R /XYZ 113.574 339.527 null]
+4006 0 obj <<
+/D [4004 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2729 0 obj <<
-/D [2709 0 R /XYZ 71.731 339.427 null]
+4007 0 obj <<
+/D [4004 0 R /XYZ 71.731 718.306 null]
 >> endobj
-2730 0 obj <<
-/D [2709 0 R /XYZ 113.574 321.594 null]
+1313 0 obj <<
+/D [4004 0 R /XYZ 71.731 667.333 null]
 >> endobj
-2731 0 obj <<
-/D [2709 0 R /XYZ 71.731 319.437 null]
+4008 0 obj <<
+/D [4004 0 R /XYZ 71.731 634.59 null]
 >> endobj
-2732 0 obj <<
-/D [2709 0 R /XYZ 113.574 303.661 null]
+4009 0 obj <<
+/D [4004 0 R /XYZ 71.731 624.628 null]
 >> endobj
-2733 0 obj <<
-/D [2709 0 R /XYZ 71.731 301.504 null]
+4010 0 obj <<
+/D [4004 0 R /XYZ 135.985 614.994 null]
 >> endobj
-2734 0 obj <<
-/D [2709 0 R /XYZ 113.574 285.729 null]
+4011 0 obj <<
+/D [4004 0 R /XYZ 135.985 580.025 null]
 >> endobj
-2735 0 obj <<
-/D [2709 0 R /XYZ 113.574 285.729 null]
+4012 0 obj <<
+/D [4004 0 R /XYZ 71.731 523.437 null]
 >> endobj
-2736 0 obj <<
-/D [2709 0 R /XYZ 137.584 285.729 null]
+1314 0 obj <<
+/D [4004 0 R /XYZ 71.731 484.483 null]
 >> endobj
-2737 0 obj <<
-/D [2709 0 R /XYZ 253.926 254.844 null]
+4013 0 obj <<
+/D [4004 0 R /XYZ 71.731 449.684 null]
 >> endobj
-2738 0 obj <<
-/D [2709 0 R /XYZ 71.731 242.725 null]
+4014 0 obj <<
+/D [4004 0 R /XYZ 71.731 439.721 null]
+>> endobj
+4015 0 obj <<
+/D [4004 0 R /XYZ 135.985 430.087 null]
+>> endobj
+4016 0 obj <<
+/D [4004 0 R /XYZ 135.985 395.118 null]
+>> endobj
+4017 0 obj <<
+/D [4004 0 R /XYZ 71.731 361.843 null]
+>> endobj
+4018 0 obj <<
+/D [4004 0 R /XYZ 185.175 348.892 null]
+>> endobj
+4019 0 obj <<
+/D [4004 0 R /XYZ 71.731 335.94 null]
+>> endobj
+1258 0 obj <<
+/D [4004 0 R /XYZ 71.731 315.851 null]
+>> endobj
+750 0 obj <<
+/D [4004 0 R /XYZ 517.296 272.753 null]
+>> endobj
+4020 0 obj <<
+/D [4004 0 R /XYZ 71.731 260.315 null]
+>> endobj
+4021 0 obj <<
+/D [4004 0 R /XYZ 71.731 244.773 null]
+>> endobj
+4022 0 obj <<
+/D [4004 0 R /XYZ 71.731 187.269 null]
+>> endobj
+4023 0 obj <<
+/D [4004 0 R /XYZ 266.499 176.474 null]
+>> endobj
+4024 0 obj <<
+/D [4004 0 R /XYZ 240.935 150.571 null]
+>> endobj
+1259 0 obj <<
+/D [4004 0 R /XYZ 71.731 104.579 null]
+>> endobj
+4003 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F32 1027 0 R /F23 1013 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4027 0 obj <<
+/Length 589       
+/Filter /FlateDecode
+>>
+stream
+x�}Tˎ�0��+�+H�?0�ˉک�ꪥ��킀� e�if����t"������2#?F2�@�5�T��iE�O>�X@�d}��䫻!��
+��H�h�I&8(�I^����4U�������c)�>NdԞ�G3�v��}�;�����c�"��Maf���2�LZiS�TB�(�l��e�{��0	�N\�@�S7�y�r_{�+�JA"'`՚�y7bt��0�����w�.��3e��Rn*��n��R�5	�h���_���s�2u�1cS������_��1�Wc��`F�p
+Ѿ�M�eq���N���
DŽ'��?��*ɋ@7���\�3��L�+c����PP���l3�,]AmR�NZ�|�]������4ئs���(��Y�تv�[�kQU�yq$QX��ֆc�)���KWE�4�7������E���,�RlL1q}�{S�m��hI��Y���>��%����@1.�A�A~2�X���D��ae<�%IFÓ��Y_���^��;���0d��8$�T
+�6�C�&��RÜ'�%��e7�d�VJ���ɉ�����o����[�endstream
+endobj
+4026 0 obj <<
+/Type /Page
+/Contents 4027 0 R
+/Resources 4025 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 3963 0 R
+/Annots [ 4033 0 R ]
+>> endobj
+4033 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.525 630.825 186.3 637.679]
+/Subtype /Link
+/A << /S /GoTo /D (http-apache) >>
 >> endobj
-2739 0 obj <<
-/D [2709 0 R /XYZ 71.731 242.725 null]
+4028 0 obj <<
+/D [4026 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2740 0 obj <<
-/D [2709 0 R /XYZ 71.731 219.945 null]
+754 0 obj <<
+/D [4026 0 R /XYZ 107.109 683.368 null]
 >> endobj
-2741 0 obj <<
-/D [2709 0 R /XYZ 71.731 196.897 null]
+4029 0 obj <<
+/D [4026 0 R /XYZ 71.731 674.545 null]
 >> endobj
-2742 0 obj <<
-/D [2709 0 R /XYZ 71.731 168.07 null]
+4030 0 obj <<
+/D [4026 0 R /XYZ 71.731 654.67 null]
 >> endobj
-2743 0 obj <<
-/D [2709 0 R /XYZ 71.731 143.098 null]
+4031 0 obj <<
+/D [4026 0 R /XYZ 277.588 643.876 null]
 >> endobj
-2744 0 obj <<
-/D [2709 0 R /XYZ 71.731 112.214 null]
+4032 0 obj <<
+/D [4026 0 R /XYZ 395.734 643.876 null]
 >> endobj
-2708 0 obj <<
-/Font << /F33 834 0 R /F32 747 0 R /F27 740 0 R /F38 963 0 R >>
+4025 0 obj <<
+/Font << /F33 1116 0 R /F23 1013 0 R /F55 1799 0 R /F27 1020 0 R /F35 1185 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2747 0 obj <<
-/Length 2083      
+4036 0 obj <<
+/Length 2679      
 /Filter /FlateDecode
 >>
 stream
-xڝYio�F��_!("�C��4m�&r�"�S[MQ�E�"Wk�+�����,wfy���"pH.���͛����Lk��ŝ[n���=�›/�1�)�Ɯ�V/�/=o0��7XmǷfjϵf�;XE/�{�E��h�������Վ뛟���q�0�t9rx1���_F�~~�X	|oj�gޓBҜc)�ZʹoҞY�dR	9�<K�w~�N�ܹ쬦,_�Z�Pd����~Z�U�Bk�c#�~�E#��Pl:S^�0�{��٥�"��q֙~�#�>�雍�S��o��?DA"����ș
%�7r�E��n���*�cTy��(�������-��k�
&�Vٰ���[o�e��L�ZJ�.�;2|��J���0c�B_a=�va�&�������1{(J����ux�A�(M�D�r��p�#�[[,ܱlKr�H�����3�@;���������5�
�D�Ğ�h�P9FP"m�^@#!�rŵ��&���}{'�����S�=/�`:&%w)��
-��[���;�~����t�Q�qu���x
-���"e2�ӓ���k�F��|�?�W7�o���~�M���?	i|ʤ	������8Z8.���`VEL�� ���81�����&$��e%S�
-2m���K�Xn�,�!�Y�B�}"�,S =���-��lK�J�5#�|�Y��圑E/�I��r#��T꒘Έ�l��Ca��6�Ԕ���
-�L��d5,���< �'D��FP�C�Zv��F
g�H7�a��X�ܶ[�™M�C~��[��$
-" ����>:���'`s��'.���9x
��:sQ��<k�t-I�X3Ad�E������	�*t|3R��z�L��he�&����t+"y�H�`d*DH�,4!��3e7�ˢy��n�m�>,J�,.d�$�.QŲ���>&!В�S.;��}�B���`�q��}N��#�2�.�c`�����������>��9�[!:��nK�|��X�Ex���
^p�d�o�h�@�EY�O	��(z����ܠ����K��x�
`�%e�-�~L�6�=�f�a�F|YW��A�����Gp�=��xf�����]^.{^��xs�x�͆������+�ȶ`���lJ3R����W6�|���U��ћ�j�H�g�#H��;�٭ce��gM�9���P�B�5!�,����v�y����e%R���:�՚�r�/U�����z�Fd�9�#]"�VI�"iC\��'�[�jt��	-�O�zR�ЎH
-jZ*E`�;'+�ɟ0��k�]�юi�
-J����T1T�6ah#�Fk/k{�Q���
!��@e� pK\��튶���1h@�*9�5�Rӑ;��BQ#=���������{�vd��_���3!�0fr��ҝ��,��X��hb�¶�.�����)��|ak�3�K�]Y��2�u&�c���ݔp=��J-��T-��b*���T�n)��7ϭj-Z�5�
\c\@�3C�J��y���I�c׃��ʂ3����b��Gר�A�)�q�Ϝ���cBu߅<�Հ.J�T�X)5G�^<�G��Ÿ�N��<��� N����^��v��fez�{]9�H	��L��2�y��Q��k�1�-�y
-=�#�rB�㐮��8 ���Q����j���dۢ�3��mO�q�5zz6��3*u+������<����~P����8��[^��F}��_�lǶ��о�f�S;]��..�]�G}�A_`e�����_��F���?o�-�O,��[�{�?�Mƭ:���5�#��?wȩ�vG�v$��T��VJ�NL��jSsVS@�gT�`�y��������_&1�L�˘%jm���
6��0���K���(ȯV�{rJ���Y�C^�6�)��*"���Gܟn�Dd=�q��� ��%y^K��}���jl�r���Y7������RDM�hO����mz5����^��A21��É�-"S����y [��X�¾���B)д-oo8�������"Lf�̙>�;C=��gߝY�K�(��ԯ�'��rendstream
-endobj
-2746 0 obj <<
+xڝYi��F�>�B��[<%*��v�	�u�X`� h�-�^�nZ��}��/y�Ƙ�GuիW������#��.����h��7��o����p�!~�����Nl�.�`�������`�d�����
�l����]Ӱ*�?�/֕��a���{Xb�ؑ�&�܅l��}�8�����F]��<0��룺�������I��P/^���E���4u�J�y��2cJ� Z� ����
��1H��|�����zx��_�ޯ��+�[��x0Շjj�s�Ț_V�hIԎ�,�2x��.�p��'q-�';�G7�NڒURXYK��ޖ�^��F`İ�tO<����U�y�ԓ7���.���.3�졒�i®[�#�i��6�ll��Ug|4��0J.s�r�����I�W�k�:����$�D���6`+/Z^�;�|¾���H��‡uR���fz����6��Jf��[j�.�>��D�����{�o���8&
+�vg�����:�~}hOE.�|��%�%5<�gC���_F��@��zDӛ��-�x^@�m���n6[y���/���H�{����788|lw��v��������Ov%�U�{����Ps�����Ɖ�]��?�5/$A؝9p=D�"
+c�k�\�h�
+1�i {%9^N�]��6Al�Fh�Sv�G�R�_)��
+���\Ў�g��n�.h~TO�ڸ45ˁg; �T?;7��o��8+����5:����";|@��ӪZ/x`LK�6(v:3q���@��:a�� ހ�q*C;� ���ym�"�^.\?�o@��1�*h^�	O��i,��<V��7hV3������*Z��T���EmH��0��槶k�

�p7Z�3d��C�{����3�)܆=A�n5Kk1s�guk�=�#�Qq���f��AO���#T�޹����S?
{�̺]�?�>W.u��"�Jc�G�s�Ĩ���G��wO�NG&( (�w�m�25��Ge*t����z�n��3rh`f�g�m�
+�∄�U25jeީ�@�����9D�)�9m!-�����J�5��憍�L�Vj�>XQ���R(��S
U|�efq�����h=��^����X�=tMjѽ��@9��A�g�9R=t�'�r���b�D?~��]p'8	�/ۓ���='�F���IF9M�4ۥ��*C	"��(����{�@���5͏��g��@�B�>v�h���[8)�&�̼���c#�}�SmYOS��V#�Yuݿ~����zx�׼P!k}�y]!���]4򤇂�Rpse�[�1�`8Ha�2�g��he�ߝBt`���R��A{�6��J��1���z�pf`��V?�a$9������*-���V�*�@MP
 ���}`�9w�`on�]?�"@'�#�!����Lk9���\0���%D{-g
��}�dsH�ؓ�{Ʋ#7d�ТW2� �rA��e�.K�(��Ĭ
>,����kZ;57�����R�a]��j�����Β�L���Zo߅R��
+����	v_O��W���<}�Ӧly���P�h���j�h�Q`�_=��l�Ǟc+�c�V)���{xч���������~�6<�������nO���?h�1d���
�ڳU�]���Z�\�����je$����h�y��4���񵯮_������Ht�(C��{|�����,��z�C��'��N�(��[;��$�H�I�q��(v���Ԅs�����!�G��d���I۲��aq�xe���`�-�'-��0SS���"/�RuJ`�g�8���]�A�	a���E�0%���Hu}�b�3��1b�&��Q���):�u[0�2.�/��s0�LlN3o�m��

�]�vH��HsEe��%�n;l>`O,"�v;�h�z4-oj1�Y�Uʐ��.
��#B��Ӱe��6p��;�}ʅ�����j�Xd�tH؈x����pȧ����]��ք� 	��I!��L�i��:��U����������b%�W�T��D�_hs�%nll��4���A.]�$��WµP���4yI2`<�b�i*�<���R���I��x*ZM����܄��J�L���N�.�1�8L�)zҥ�b
+�>�/ij�j[*Æ��8W�Ϋ���TO�6�ֹo�����XL���<�;�yK���
��OΩ��>h�C8��O0]�N�#�1�+l��g%��Jff�1��B5�m�&ݠ�A�W�P(=g���vF�o'�,:����sG�������.�AUu��Z�U�'T|8��4�S����L%���c�x�).�	
+��
��T��"��1k�hI�.�{LR��3�N$=
␖��)�3��!$�W���1�2ͦZ�C:GA��{08X@Y�<�D�j[\���pR�)�Wm }�%u���|��i���6j����ʭl��_�d����شҳ��0$6�N�@K�ćUFv;uʒY�3#�j삃��t��t����Q�4@�[Aq�Iu��E~3_7�1��F���}�QW�-�+%`�L˓A�$m�OD������qXb:�Vj�5�
+B�u5�}p�q��'��K����3��ȑz��%��	�ׇ0}�1&n(`��ٷ�sc{۫_�����D~L\�,���y����|����endstream
+endobj
+4035 0 obj <<
 /Type /Page
-/Contents 2747 0 R
-/Resources 2745 0 R
+/Contents 4036 0 R
+/Resources 4034 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2643 0 R
+/Parent 3963 0 R
 >> endobj
-2748 0 obj <<
-/D [2746 0 R /XYZ 71.731 729.265 null]
+4037 0 obj <<
+/D [4035 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2749 0 obj <<
-/D [2746 0 R /XYZ 71.731 693.235 null]
+1260 0 obj <<
+/D [4035 0 R /XYZ 71.731 718.306 null]
 >> endobj
-2750 0 obj <<
-/D [2746 0 R /XYZ 95.641 649.066 null]
+758 0 obj <<
+/D [4035 0 R /XYZ 271.435 703.236 null]
 >> endobj
-2751 0 obj <<
-/D [2746 0 R /XYZ 71.731 649.066 null]
+4038 0 obj <<
+/D [4035 0 R /XYZ 71.731 682.175 null]
 >> endobj
-2752 0 obj <<
-/D [2746 0 R /XYZ 71.731 611.711 null]
+4039 0 obj <<
+/D [4035 0 R /XYZ 298.359 673.5 null]
 >> endobj
-2753 0 obj <<
-/D [2746 0 R /XYZ 71.731 588.797 null]
+1261 0 obj <<
+/D [4035 0 R /XYZ 71.731 660.449 null]
 >> endobj
-2754 0 obj <<
-/D [2746 0 R /XYZ 71.731 557.913 null]
+762 0 obj <<
+/D [4035 0 R /XYZ 365.87 615.294 null]
 >> endobj
-2755 0 obj <<
-/D [2746 0 R /XYZ 71.731 534.999 null]
+4040 0 obj <<
+/D [4035 0 R /XYZ 71.731 606.471 null]
 >> endobj
-2756 0 obj <<
-/D [2746 0 R /XYZ 71.731 504.115 null]
+4041 0 obj <<
+/D [4035 0 R /XYZ 71.731 580.783 null]
 >> endobj
-2757 0 obj <<
-/D [2746 0 R /XYZ 71.731 481.201 null]
+4042 0 obj <<
+/D [4035 0 R /XYZ 282.908 580.783 null]
 >> endobj
-2758 0 obj <<
-/D [2746 0 R /XYZ 432.277 465.425 null]
+4043 0 obj <<
+/D [4035 0 R /XYZ 341.687 580.783 null]
 >> endobj
-2759 0 obj <<
-/D [2746 0 R /XYZ 269.06 452.473 null]
+4044 0 obj <<
+/D [4035 0 R /XYZ 398.713 580.783 null]
 >> endobj
-2760 0 obj <<
-/D [2746 0 R /XYZ 71.731 388.548 null]
+4045 0 obj <<
+/D [4035 0 R /XYZ 71.731 578.626 null]
 >> endobj
-2761 0 obj <<
-/D [2746 0 R /XYZ 71.731 388.548 null]
+4046 0 obj <<
+/D [4035 0 R /XYZ 118.555 540.062 null]
 >> endobj
-2762 0 obj <<
-/D [2746 0 R /XYZ 71.731 365.769 null]
+4047 0 obj <<
+/D [4035 0 R /XYZ 71.731 509.785 null]
 >> endobj
-2763 0 obj <<
-/D [2746 0 R /XYZ 71.731 342.72 null]
+4048 0 obj <<
+/D [4035 0 R /XYZ 71.731 509.785 null]
 >> endobj
-2764 0 obj <<
-/D [2746 0 R /XYZ 71.731 303.931 null]
+4049 0 obj <<
+/D [4035 0 R /XYZ 71.731 490.079 null]
 >> endobj
-2765 0 obj <<
-/D [2746 0 R /XYZ 71.731 153.484 null]
+4050 0 obj <<
+/D [4035 0 R /XYZ 165.11 477.128 null]
 >> endobj
-2766 0 obj <<
-/D [2746 0 R /XYZ 71.731 121.151 null]
+4051 0 obj <<
+/D [4035 0 R /XYZ 71.731 469.99 null]
 >> endobj
-2745 0 obj <<
-/Font << /F33 834 0 R /F32 747 0 R /F27 740 0 R /F38 963 0 R >>
-/ProcSet [ /PDF /Text ]
+4052 0 obj <<
+/D [4035 0 R /XYZ 71.731 469.99 null]
 >> endobj
-2769 0 obj <<
-/Length 2007      
-/Filter /FlateDecode
->>
-stream
-xڭYi��D��_���b���Q��zla�B�����{؉m<c���y�s�ή�|���~�go�¿��x�&���s�u�����E
-O�~�)��Yud^�>z�6;g���E�E�V���6�����˲�yB>�+?r���<�fX�����H^��=/�^ڡk�h�q����[cAl��6�h��[�V�"gz��6r �q���P����i�<8�װ��%C\ڸ�}תS&�P�!�ȡpgU$��{ya��uz!-Vj�Ҋ[;���l�"׵xF�J���}g���э܌���ӧʢF�s,䱨lok��)a܉S�B	b�=����'�[/߿�����7Oԫ��O�?���˪H�?׮�)^�B���ҁ�	n<�Wq]U8��%��+�W�g2�}��c|4o�'��X�F�7()X�V�Q>eTߎ#��lx	'=��mU^1ň��g�`����0�O8���:
-�)r,�ڞ_	�DLs��ø.Ϙ�	f��w�8�u�*���t��#2$V���֖z�h�QrV��X�����m�pY���8�q/�$������ʯw�q���r���T�5����xW�yVF�˫N�N����,��0���Λ7d�B�J0� B��.r)������ ��)�L#�+�*�L^��[�(�@��㹩�P�3��@p�z1�:rʵaFT�1�����.h�r��lÍ��>����6�n��n��xPg	>�
-@5�8��*+RT��J�%��E^S��Y�B��/�������jP��5o�Q�t-�+��j�Z���(��_��A���_���n�UO��URĵ���!d���Y*��n��u28LU�'%ՠI���`a�%('G�1=��P$�K;��),A����������� �2�&Ӡ�
�(ML�~��UVi#
-( �:�L�بB%�*(g��F�!�e���<&���A'�y]:%�@h�;U-�Ԡ4SUݒҖ���+��Ս���-qBx�*td����,��n��|/T�>�ި��ö�z��'����Q���q�S]�r��&	"�Q*�֩��s��C�2?�
���-B?pBϟd~Zf�j�_���B�s���'ڄS��V�z����B�5tx�C�>�cp��r�릞�}?�0
-�A��=Ș⁠/�U�<u��|'򷗳��ͦ����ٜPw6/�,,�(i��~Xg��li�hC�6��M���I�t�����h��|ؤG�+�+>�V�]a�Z�K�!�a�!$�b��٫��ЉB�������R|$���ýX�ƾ����™�£!o�P�@�@QWrb ��
-Qnޥ���}�P(�$�3��|
�n�}b9�9�31T������q���i� 
0٧�L�и1 �L��TD\��u�zN��"%'@m��!A��}�~�ČMz�r�'2WC�v���`!��C(�����R�}�)«)���
-)�H�p�K"��4��P����AC��&�facd}�̮��ozvj~�:���,<��	�{���'%#����X������ͷ�</�<�C¡�i@k��c��Գ?}�?0N���63��<K�kƈ���S��Ҫ�l��1g1*�S�{(Ac�	�yQP�a��[���{���ݽ���b��z--
-����@M�����T0�s�Ψ?�t?�T���S�O�I<m<�L-��.n�̀�ԙ`��*��ݚ�H�c�Y ��b�7w
il�������������7-#l
-g�mB���vQ�`a���7L:]�i�>�����D���Q$>�-��߱Hz ��jP%%�ذ�NYq�����|��_d��.�¬��${=�M�2�ǻ<�R�Y߀�>���I�u��=ebd�D�o��"�z@�\��_V�~����������7�$�Ī�Dt�V����R������<zg��H;Ԫ��.�R�,�B�r5���p�T�ɈU��N�i��F^����z���C�"��!��;������_ƚ�hd$endstream
-endobj
-2768 0 obj <<
-/Type /Page
-/Contents 2769 0 R
-/Resources 2767 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 2643 0 R
+4053 0 obj <<
+/D [4035 0 R /XYZ 183.531 446.244 null]
 >> endobj
-2770 0 obj <<
-/D [2768 0 R /XYZ 71.731 729.265 null]
+4054 0 obj <<
+/D [4035 0 R /XYZ 229.448 446.244 null]
 >> endobj
-2771 0 obj <<
-/D [2768 0 R /XYZ 74.222 708.344 null]
+4055 0 obj <<
+/D [4035 0 R /XYZ 370.558 446.244 null]
 >> endobj
-2772 0 obj <<
-/D [2768 0 R /XYZ 71.731 683.273 null]
+4056 0 obj <<
+/D [4035 0 R /XYZ 460.28 446.244 null]
 >> endobj
-2773 0 obj <<
-/D [2768 0 R /XYZ 112.169 667.497 null]
+4057 0 obj <<
+/D [4035 0 R /XYZ 227.505 433.292 null]
 >> endobj
-2774 0 obj <<
-/D [2768 0 R /XYZ 71.731 634.456 null]
+4058 0 obj <<
+/D [4035 0 R /XYZ 395.852 433.292 null]
 >> endobj
-2775 0 obj <<
-/D [2768 0 R /XYZ 269.677 623.661 null]
+4059 0 obj <<
+/D [4035 0 R /XYZ 71.731 426.154 null]
 >> endobj
-2776 0 obj <<
-/D [2768 0 R /XYZ 477.496 597.758 null]
+4060 0 obj <<
+/D [4035 0 R /XYZ 460.101 415.36 null]
 >> endobj
-2777 0 obj <<
-/D [2768 0 R /XYZ 74.222 553.923 null]
+4061 0 obj <<
+/D [4035 0 R /XYZ 71.731 382.318 null]
 >> endobj
-2778 0 obj <<
-/D [2768 0 R /XYZ 71.731 517.958 null]
+4062 0 obj <<
+/D [4035 0 R /XYZ 71.731 382.318 null]
 >> endobj
-2779 0 obj <<
-/D [2768 0 R /XYZ 206.883 500.125 null]
+4063 0 obj <<
+/D [4035 0 R /XYZ 234.379 371.524 null]
 >> endobj
-2780 0 obj <<
-/D [2768 0 R /XYZ 71.731 472.065 null]
+4064 0 obj <<
+/D [4035 0 R /XYZ 71.731 358.572 null]
 >> endobj
-2781 0 obj <<
-/D [2768 0 R /XYZ 71.731 449.151 null]
+4065 0 obj <<
+/D [4035 0 R /XYZ 260.452 345.621 null]
 >> endobj
-2782 0 obj <<
-/D [2768 0 R /XYZ 71.731 444.169 null]
+4066 0 obj <<
+/D [4035 0 R /XYZ 71.731 338.483 null]
 >> endobj
-2783 0 obj <<
-/D [2768 0 R /XYZ 71.731 441.679 null]
+4067 0 obj <<
+/D [4035 0 R /XYZ 257.124 327.688 null]
 >> endobj
-2784 0 obj <<
-/D [2768 0 R /XYZ 113.574 423.412 null]
+4068 0 obj <<
+/D [4035 0 R /XYZ 358.713 327.688 null]
 >> endobj
-2785 0 obj <<
-/D [2768 0 R /XYZ 290.917 423.412 null]
+1262 0 obj <<
+/D [4035 0 R /XYZ 71.731 320.55 null]
 >> endobj
-2786 0 obj <<
-/D [2768 0 R /XYZ 295.341 423.412 null]
+766 0 obj <<
+/D [4035 0 R /XYZ 462 277.453 null]
 >> endobj
-2787 0 obj <<
-/D [2768 0 R /XYZ 71.731 408.304 null]
+4069 0 obj <<
+/D [4035 0 R /XYZ 71.731 265.015 null]
 >> endobj
-2788 0 obj <<
-/D [2768 0 R /XYZ 113.574 392.528 null]
+4070 0 obj <<
+/D [4035 0 R /XYZ 116.164 255.893 null]
 >> endobj
-2789 0 obj <<
-/D [2768 0 R /XYZ 388.114 392.528 null]
+4071 0 obj <<
+/D [4035 0 R /XYZ 420.011 255.893 null]
 >> endobj
-2790 0 obj <<
-/D [2768 0 R /XYZ 71.731 351.517 null]
+4072 0 obj <<
+/D [4035 0 R /XYZ 71.731 224.91 null]
 >> endobj
-2791 0 obj <<
-/D [2768 0 R /XYZ 113.574 335.741 null]
+4073 0 obj <<
+/D [4035 0 R /XYZ 170.28 212.058 null]
 >> endobj
-2792 0 obj <<
-/D [2768 0 R /XYZ 71.731 294.73 null]
+4074 0 obj <<
+/D [4035 0 R /XYZ 410.966 212.058 null]
 >> endobj
-2793 0 obj <<
-/D [2768 0 R /XYZ 113.574 278.954 null]
+4075 0 obj <<
+/D [4035 0 R /XYZ 71.731 166.065 null]
 >> endobj
-2794 0 obj <<
-/D [2768 0 R /XYZ 71.731 263.846 null]
+4076 0 obj <<
+/D [4035 0 R /XYZ 71.731 122.23 null]
 >> endobj
-2795 0 obj <<
-/D [2768 0 R /XYZ 113.574 248.07 null]
+4077 0 obj <<
+/D [4035 0 R /XYZ 71.731 122.23 null]
 >> endobj
-2767 0 obj <<
-/Font << /F33 834 0 R /F32 747 0 R /F27 740 0 R >>
+4034 0 obj <<
+/Font << /F23 1013 0 R /F27 1020 0 R /F35 1185 0 R /F44 1402 0 R /F32 1027 0 R /F33 1116 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2798 0 obj <<
-/Length 1603      
+4080 0 obj <<
+/Length 1407      
 /Filter /FlateDecode
 >>
 stream
-xڕX[o�6~ϯ0�����(K�7Clm�t�Z�e�0�m�D���d��>R�H��^�I�x.������@���u֑��
�I<˪�`v�o^���U��Cy�Gk�I��?�p�=[��@of۽�D�F�l���]6
�s���:����^�Z0�[���E�X�6`�D�B0󥃵ټ-0�rGx���K�V;��=��k[�;{��fdz��/���ߤ,�V��>��~ ����h�t��h
�	H`*�R�<�z������˿޾~�]f]?�v�i"��
-�ޚ�3A��"�=�=nbb����22��4�g~�F֣�N��µ�.�
-��,\��U,���6]�С]U�����X��È-`�e�0�
-�vS��(ç��X��U�-x\��uW|UAJY"6��)� ��>��מѪ/Rw���J�a*�E{���"�'������v]��2���	.i�4�L�_R���A��*����P�*2��Bެ6�#ze��	�mr$�A@P}�W���<Q�;�D�}⠡\�WM��HQ��PB4M^��ɢ��al���e����k�lP[��w?E4��zc=��YI����=�����U�•��h21& ]�{;|jD>�F�Ԅa�P5���(�rjRRkPQ���BM㺠�=��iT����
-u\Ԩ�p�!��A�pjI��`n��[K�hg]�mh�aM����R��y��=��	���6Ν�+���pn�'��[&j�e�*:�q��2v��a/���H[y�e ���Z[5뙎9���x�i��X4t�v�w%�t���s
��6�T�zv}�-lV�\�c�g�4&���d�MsWI�Co�q,����uϤ�S�aޖ‘���խ�k���)}��p��V���X��MC���{&�!�v�*�$C����)"�ܗ�/�����g��!6��.�fB���yqN5����Ny�e�Ƞ1��.m���t�W��[n��L@��*ݛG�G͹??7��D0�+6-�|�a�C�q��#s�U��UO!Ɋ�9p)�����z�V�m3~���z��R�Dׯo߿������4}�$�a�V��?)!���v%�Lb��?�fpP�J��*��:�.Pm�}ݥ��'��il�}6
�C}�;%b�L�+fU�"�ف��[�� *eYsӾ-���n���h.S�J�CPI8�e�wj���W+�7nG����1��	�%(_����<���F"� ��T#�m��%?1ND)H����{�ރP�|�����x�c���x,�R�85��s���װ�����qk=>�!��K�#���J^���Hh�[2�h��"���<Ѳ��
z���@�I�e �]��n,H�Su�6nH�Ӷ���~��/�s�����ߐ�⣏;�&���0������e�k@�X{���_�/����\��k��F����n�&�3x<�F�>�Ѫ���|�A߆�GCqyw�j����=r�VZ�ʁ���
���i��1�6�75�&��MB�Z�
������bY�ʴ���U�L���u�l��,V)H��ɟ>�~�I�ÇԜ~��)�5�bI�#������ۘ:endstream
+xڵWY��6~�_a����uZA`�m�-���
�ざ�6�Tu쑇��9�,{
d���)q8�73�Pt.rJ����DY�(��p����.��H��Di�3�A�Xŋ`����b�c/��di���NV˜Dq��T�{�m�e%� �Wޕ���
�>
����|-���5���M�[�Y�S���?7?�;A��U��oT5ּ�;�������K#湑CÔLuc�-���� Eۓ%�	N^k'��{T#.$����=LJ�vԬ�S��g&!����R������Գ"{�G�wo��JINpy�R�V�y��Φ6���^���~-�g\�Vr������q��PӈPɵ�À2=7��8�<8b����P�K�BL(�D��Ll��
+uJ
�13q�XA]b2��߲~��L��2-ՙ�
+��2�� C/x�rw����7d`~@���<�X-�P�ϷWV�6����ԔV}�>�[Qs�~�����7��j�W���Z�l��'�� Y�,�d���A
ܖQ��4�$	#��Z"'���.M_���V�n��^�]��FeW��N}�R�E�ua���яB�0<܋�r�吙-����0�{A���hk��4'���S ⌒��m|��9qHV���8ͺ�84���2j;ٝ�����y\����퀏��~��w/_�a�5䅷u����q\Z��C���'��4S�yeAӼ�K�a�"�4A���OJ33�0���1��5��'W��j�x���G��n�S��`Qۋr��=�	��a�6x.����b��z�z�~�W��K9]�������o��,�V��׶x�����o`Js�?<�iG�sipe�v<�mSM3����Л�{���N�C�g��lrס����4j���hM��i�&��qR�����ڢ2�Cp
N;c�1���y��:�C�XY��
8���.�����a�P�lOu@�e�6����mzB+�]��@7=�Z�>�%X4
4WƉ���<+-��6���P+�Nڶzs��9I�4a
+��bv[�l�_���7�U�旷YoS��E)4cH�(��e�r���q���}��:���ڟdp4ɏ���t4�.<�LK㫔�u�v�����,Us�+�3;�*K�6�y�~�p�+�ߥr�\��e�'�����x��r%~s`�c2�H�
+�w��_BB]}�&�
L���� �����W#	P|��ϔwJ�ؙR��(�0M�R��K�Zۄ�{m���о^.����ܓ�e�@V)Ĺ�ry���rf8���lY���%i�3wq����c���'+��5��b�O�@�m�#��R�c���$J"�9����n�?l��M�!	$����R+D��h�F�S���$+@�rߵO-��<�endstream
 endobj
-2797 0 obj <<
+4079 0 obj <<
 /Type /Page
-/Contents 2798 0 R
-/Resources 2796 0 R
+/Contents 4080 0 R
+/Resources 4078 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2819 0 R
+/Parent 4106 0 R
 >> endobj
-2799 0 obj <<
-/D [2797 0 R /XYZ 71.731 729.265 null]
+4081 0 obj <<
+/D [4079 0 R /XYZ 71.731 729.265 null]
 >> endobj
-876 0 obj <<
-/D [2797 0 R /XYZ 71.731 718.306 null]
+1263 0 obj <<
+/D [4079 0 R /XYZ 71.731 718.306 null]
 >> endobj
-494 0 obj <<
-/D [2797 0 R /XYZ 271.435 703.236 null]
+770 0 obj <<
+/D [4079 0 R /XYZ 155.521 676.38 null]
 >> endobj
-2800 0 obj <<
-/D [2797 0 R /XYZ 71.731 682.175 null]
+1264 0 obj <<
+/D [4079 0 R /XYZ 71.731 669.666 null]
 >> endobj
-2801 0 obj <<
-/D [2797 0 R /XYZ 298.359 673.5 null]
+774 0 obj <<
+/D [4079 0 R /XYZ 206.096 624.303 null]
 >> endobj
-877 0 obj <<
-/D [2797 0 R /XYZ 71.731 660.449 null]
+4082 0 obj <<
+/D [4079 0 R /XYZ 71.731 615.48 null]
 >> endobj
-498 0 obj <<
-/D [2797 0 R /XYZ 365.87 615.294 null]
+4083 0 obj <<
+/D [4079 0 R /XYZ 71.731 582.654 null]
 >> endobj
-2802 0 obj <<
-/D [2797 0 R /XYZ 71.731 606.471 null]
+4084 0 obj <<
+/D [4079 0 R /XYZ 71.731 572.692 null]
 >> endobj
-2803 0 obj <<
-/D [2797 0 R /XYZ 71.731 580.783 null]
+4085 0 obj <<
+/D [4079 0 R /XYZ 71.731 572.692 null]
 >> endobj
-2804 0 obj <<
-/D [2797 0 R /XYZ 159.421 567.832 null]
+4086 0 obj <<
+/D [4079 0 R /XYZ 71.731 561.784 null]
 >> endobj
-2805 0 obj <<
-/D [2797 0 R /XYZ 218.201 567.832 null]
+4087 0 obj <<
+/D [4079 0 R /XYZ 71.731 551.348 null]
 >> endobj
-2806 0 obj <<
-/D [2797 0 R /XYZ 275.227 567.832 null]
+4088 0 obj <<
+/D [4079 0 R /XYZ 71.731 538.472 null]
 >> endobj
-2807 0 obj <<
-/D [2797 0 R /XYZ 71.731 561.411 null]
+4089 0 obj <<
+/D [4079 0 R /XYZ 71.731 528.035 null]
 >> endobj
-2808 0 obj <<
-/D [2797 0 R /XYZ 71.731 561.411 null]
+4090 0 obj <<
+/D [4079 0 R /XYZ 71.731 516.379 null]
 >> endobj
-2809 0 obj <<
-/D [2797 0 R /XYZ 71.731 516.858 null]
+4091 0 obj <<
+/D [4079 0 R /XYZ 76.712 483.292 null]
 >> endobj
-2810 0 obj <<
-/D [2797 0 R /XYZ 71.731 516.858 null]
+4092 0 obj <<
+/D [4079 0 R /XYZ 71.731 468.348 null]
 >> endobj
-2811 0 obj <<
-/D [2797 0 R /XYZ 71.731 473.022 null]
+4093 0 obj <<
+/D [4079 0 R /XYZ 478.451 456.692 null]
 >> endobj
-2812 0 obj <<
-/D [2797 0 R /XYZ 71.731 429.187 null]
+4094 0 obj <<
+/D [4079 0 R /XYZ 447.921 445.035 null]
 >> endobj
-2813 0 obj <<
-/D [2797 0 R /XYZ 71.731 429.187 null]
+4095 0 obj <<
+/D [4079 0 R /XYZ 71.731 403.09 null]
 >> endobj
-2814 0 obj <<
-/D [2797 0 R /XYZ 234.379 418.392 null]
+4096 0 obj <<
+/D [4079 0 R /XYZ 71.731 393.127 null]
 >> endobj
-2815 0 obj <<
-/D [2797 0 R /XYZ 260.452 392.489 null]
+4097 0 obj <<
+/D [4079 0 R /XYZ 140.075 384.632 null]
 >> endobj
-2816 0 obj <<
-/D [2797 0 R /XYZ 71.731 385.351 null]
+1265 0 obj <<
+/D [4079 0 R /XYZ 71.731 324.627 null]
 >> endobj
-2817 0 obj <<
-/D [2797 0 R /XYZ 257.124 374.557 null]
+778 0 obj <<
+/D [4079 0 R /XYZ 275.663 279.373 null]
 >> endobj
-2818 0 obj <<
-/D [2797 0 R /XYZ 358.713 374.557 null]
+4098 0 obj <<
+/D [4079 0 R /XYZ 71.731 279.157 null]
 >> endobj
-2796 0 obj <<
-/Font << /F23 733 0 R /F27 740 0 R /F38 963 0 R /F32 747 0 R /F33 834 0 R >>
+4099 0 obj <<
+/D [4079 0 R /XYZ 71.731 260.587 null]
+>> endobj
+4100 0 obj <<
+/D [4079 0 R /XYZ 71.731 209.594 null]
+>> endobj
+4101 0 obj <<
+/D [4079 0 R /XYZ 71.731 184.523 null]
+>> endobj
+4102 0 obj <<
+/D [4079 0 R /XYZ 188.024 173.729 null]
+>> endobj
+4103 0 obj <<
+/D [4079 0 R /XYZ 181.907 160.777 null]
+>> endobj
+4104 0 obj <<
+/D [4079 0 R /XYZ 158.345 147.826 null]
+>> endobj
+4105 0 obj <<
+/D [4079 0 R /XYZ 71.731 48.817 null]
+>> endobj
+4078 0 obj <<
+/Font << /F23 1013 0 R /F27 1020 0 R /F35 1185 0 R /F44 1402 0 R /F33 1116 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2822 0 obj <<
-/Length 963       
+4109 0 obj <<
+/Length 645       
 /Filter /FlateDecode
 >>
 stream
-x��V�n�6}�W��J@E���KP�&�EIj`
���-�6I$9v�����")��~���93�3"�b�a/�(K�����+���[���l=&i�%`��i��"O�p/���E�$�QJo�xE�D�ԛU�W]��Jl��d����=k�kV���vY]�Q�V�d�\��i��>�������Ԅ��պ���<p����Q��,�~��L�.�{-�
-T��}�`DU*�֭"@c�Y���r^k��_��a�Hj���
5��ZH�~R��l�V��J}벒��Ɔ��*�rd���֒9&+�0 ؓ�_�]�ע}4�R� O�>o];o[fLP�A���w;�����<X�#b����T�"B�Va)J�W�vd�q�S/�xi:��^-t�I�i��
���<�4U.p*i^���Y�i����ia�_L�~E#B��h�r��(!�p�ߏWV��-p�ϔ
-}��B�M�ވ��;z1�ULS�0���Nl�j��%H�h�+y�����ɒ�k<ȑ_�S/�����z~� 8�Nr�t����#���g'�J;`�@P;I~]�㉲��1�&
-�2�`�s�w-4��j�-S�O�&j6��@y��l:�?#|53�|�C�2�N�]�K�$*7]5����Y1�(�F},��
RrD���"ןo�P�0t�Ph���7
-�_=|kBN7�t�\�cwE����r�ʎ�ʋs�FE���&:SU�o��A�!�0��;��R6�2��G`7D/��t�
�1u5����#����#���r�p;K�7����Ʒ�ו,5�)�,�Z�u���1_�Е�&(+r
0ꋆ�0����ԃ}��L��U'�y��*]5!��X�F�1�7l�#y�IfP�|�7�h������N��:Qͅ�.9Y:���f�_{���(��ٛ��w.�^�$��
-%�7�Mb4�Y��1��`�"�
���endstream
+xڽ��r�0��~
+�b�������d܉;�)�NӅ�a*.<n��W�K�x�^<,@���������E,�@���!�p+�G�Z���1�	q�bf��0f�П0+z��C��\F�ǩ%_����"�~�����/D���M+�mV����c߳�=���-�d-���}����q�B�cg�b����.���A6wɿ���gE��P
+}b���O���Vڔ�M!K���*
��S�VB�M@*��	ƕ(`Y��+�dM�
V9��r�b���k������o
&ƚҾ�9u�`S��ox�#,,�u�mW���7��=��V���Iø�Q�jġ1��C'��e7�38�t}��V8�:W��p��{w�:F�;�`>�Di�.�^�
�BB	2/�֘���L!^d����h�j�be�Y�o�wX (P7ZAY��h��WG�"�q��i�2Q�� r�%��+4��^{ǀ�P�"�ǘJ	���~fjk�B+�>����������K�{���t�̢�]s�R�k٭P���<d�&�K��tƿ0��滼����1�|ӿ�L<��������f�,D��|�ɤ�c>Ui|E�5����������V�����v�\d�3cz�={�ۅ��8U0:����k�c�o��endstream
 endobj
-2821 0 obj <<
+4108 0 obj <<
 /Type /Page
-/Contents 2822 0 R
-/Resources 2820 0 R
+/Contents 4109 0 R
+/Resources 4107 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2819 0 R
->> endobj
-2823 0 obj <<
-/D [2821 0 R /XYZ 71.731 729.265 null]
->> endobj
-916 0 obj <<
-/D [2821 0 R /XYZ 71.731 718.306 null]
+/Parent 4106 0 R
 >> endobj
-502 0 obj <<
-/D [2821 0 R /XYZ 155.521 676.38 null]
->> endobj
-917 0 obj <<
-/D [2821 0 R /XYZ 71.731 669.666 null]
->> endobj
-506 0 obj <<
-/D [2821 0 R /XYZ 206.612 624.303 null]
->> endobj
-2824 0 obj <<
-/D [2821 0 R /XYZ 71.731 615.48 null]
->> endobj
-2825 0 obj <<
-/D [2821 0 R /XYZ 71.731 582.654 null]
+4110 0 obj <<
+/D [4108 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2826 0 obj <<
-/D [2821 0 R /XYZ 71.731 572.692 null]
+4111 0 obj <<
+/D [4108 0 R /XYZ 71.731 741.22 null]
 >> endobj
-2827 0 obj <<
-/D [2821 0 R /XYZ 71.731 572.692 null]
+4112 0 obj <<
+/D [4108 0 R /XYZ 71.731 718.306 null]
 >> endobj
-2828 0 obj <<
-/D [2821 0 R /XYZ 71.731 561.784 null]
+4113 0 obj <<
+/D [4108 0 R /XYZ 158.345 659.527 null]
 >> endobj
-2829 0 obj <<
-/D [2821 0 R /XYZ 71.731 551.348 null]
+4114 0 obj <<
+/D [4108 0 R /XYZ 71.731 618.68 null]
 >> endobj
-2830 0 obj <<
-/D [2821 0 R /XYZ 71.731 538.472 null]
+4115 0 obj <<
+/D [4108 0 R /XYZ 71.731 593.609 null]
 >> endobj
-2831 0 obj <<
-/D [2821 0 R /XYZ 71.731 528.035 null]
+4116 0 obj <<
+/D [4108 0 R /XYZ 188.024 582.814 null]
 >> endobj
-2832 0 obj <<
-/D [2821 0 R /XYZ 71.731 516.379 null]
+4117 0 obj <<
+/D [4108 0 R /XYZ 158.345 556.912 null]
 >> endobj
-918 0 obj <<
-/D [2821 0 R /XYZ 71.731 477.015 null]
+4118 0 obj <<
+/D [4108 0 R /XYZ 71.731 516.065 null]
 >> endobj
-510 0 obj <<
-/D [2821 0 R /XYZ 276.18 431.761 null]
+4119 0 obj <<
+/D [4108 0 R /XYZ 71.731 490.994 null]
 >> endobj
-2833 0 obj <<
-/D [2821 0 R /XYZ 71.731 422.938 null]
+4120 0 obj <<
+/D [4108 0 R /XYZ 188.024 480.199 null]
 >> endobj
-2834 0 obj <<
-/D [2821 0 R /XYZ 71.731 390.112 null]
+4121 0 obj <<
+/D [4108 0 R /XYZ 181.907 467.248 null]
 >> endobj
-2835 0 obj <<
-/D [2821 0 R /XYZ 71.731 369.256 null]
+4122 0 obj <<
+/D [4108 0 R /XYZ 158.345 454.296 null]
 >> endobj
-2836 0 obj <<
-/D [2821 0 R /XYZ 188.024 356.404 null]
+4123 0 obj <<
+/D [4108 0 R /XYZ 71.731 413.45 null]
 >> endobj
-2837 0 obj <<
-/D [2821 0 R /XYZ 181.907 343.452 null]
+4124 0 obj <<
+/D [4108 0 R /XYZ 71.731 390.436 null]
 >> endobj
-2838 0 obj <<
-/D [2821 0 R /XYZ 158.345 330.501 null]
+4125 0 obj <<
+/D [4108 0 R /XYZ 188.024 377.584 null]
 >> endobj
-2839 0 obj <<
-/D [2821 0 R /XYZ 71.731 289.654 null]
+4126 0 obj <<
+/D [4108 0 R /XYZ 181.907 364.633 null]
 >> endobj
-2840 0 obj <<
-/D [2821 0 R /XYZ 71.731 266.64 null]
+4127 0 obj <<
+/D [4108 0 R /XYZ 158.345 351.681 null]
 >> endobj
-2841 0 obj <<
-/D [2821 0 R /XYZ 188.024 253.788 null]
+4128 0 obj <<
+/D [4108 0 R /XYZ 71.731 310.834 null]
 >> endobj
-2842 0 obj <<
-/D [2821 0 R /XYZ 181.907 240.837 null]
+4129 0 obj <<
+/D [4108 0 R /XYZ 71.731 285.763 null]
 >> endobj
-2843 0 obj <<
-/D [2821 0 R /XYZ 158.345 227.886 null]
+4130 0 obj <<
+/D [4108 0 R /XYZ 188.024 274.969 null]
 >> endobj
-2844 0 obj <<
-/D [2821 0 R /XYZ 71.731 187.039 null]
+4131 0 obj <<
+/D [4108 0 R /XYZ 181.907 262.017 null]
 >> endobj
-2845 0 obj <<
-/D [2821 0 R /XYZ 71.731 164.025 null]
+4132 0 obj <<
+/D [4108 0 R /XYZ 158.345 249.066 null]
 >> endobj
-2846 0 obj <<
-/D [2821 0 R /XYZ 188.024 151.173 null]
+4133 0 obj <<
+/D [4108 0 R /XYZ 71.731 208.219 null]
 >> endobj
-2847 0 obj <<
-/D [2821 0 R /XYZ 181.907 138.222 null]
+4134 0 obj <<
+/D [4108 0 R /XYZ 71.731 183.148 null]
 >> endobj
-2848 0 obj <<
-/D [2821 0 R /XYZ 158.345 125.27 null]
+4135 0 obj <<
+/D [4108 0 R /XYZ 188.024 172.354 null]
 >> endobj
-2849 0 obj <<
-/D [2821 0 R /XYZ 71.731 48.817 null]
+4136 0 obj <<
+/D [4108 0 R /XYZ 158.345 146.451 null]
 >> endobj
-2820 0 obj <<
-/Font << /F23 733 0 R /F27 740 0 R /F38 963 0 R /F33 834 0 R >>
+4107 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2852 0 obj <<
-/Length 666       
+4139 0 obj <<
+/Length 685       
 /Filter /FlateDecode
 >>
 stream
-x��V]o�0}�W�1�;v��[[V�iLH��ô71ձ���_?;����]�&���sϹq�,O�!������ʫ�g��?��nq0��^����$��li�c$ȷ"�8�VV|�/���9.<�
-t��º��T�1�J� �w?�ew�;�gӦ��D�aT:߲����^\�G �����Q8�o�o2L<0F��?���iu'����ZH�q`��V�-�j�$ؾ��i���3A���dE�n�V�N!��YJ�|
�p ��
-�TP��-'l9=�E��wt>�=����Y�Z�T��4�F
-�~+
-rQA]�S��j��,k	��νq�goJVHWpvu#jfD�z��wJ䛊re��z5���{e�Y�v��p�DI�2]���闚�g�Đ���<��셽<��v넁
j��4�y�^�.�1��HL}��_���&�̉��Z��f�}*�71` 8m€һ�2��	�nKuFOu��z?fn)/���^ Ŧ��'��S�g����
@x$�b�"�h�W?_7��h�몾����?��X�Si�hH}��:�. r#��b�٠!9��trF'����%7�����h��� �k�on�X@)�j� nC��>��՚4z/�����M(� F�ɳ�=��h`=x(b(��sǨc�_��ȶendstream
+xڽVMo�@��+|\����?nIhh��E���6`e�-{Q}w���$-�`��7���"�C-�������FŠ�b-��ɀ�N��b�g|˹�?��la�!�߹��'�5�����H�8}�&C��M(���J�R�*�3���G��y3�=�������L*������lW��.�?[|sT=s��w"�pX��$f���X���������	���>CW_Z����f2�(\&A�\)UW6EIXF+��0������8N+�
�����XՐ�����_�5�R5�N�����Y�2}�A���p�G�u��ڦC"���	E�S�2�#��5.�s< X�5#�1��Z����\߫��(�F�y.S����?����2g���f���2ԨY��&%4�/���w��$>E�:s�a�&Tm��<�NY��,12>� ���%��ވ>T�L����S���T��a���dL��}2�T�O�G}�Gy+����Q���l��W�Bmm���L:z��u��c���%�ٜ ��r=��0���W�������2
+B4Sr���a�\Ч�mg���_�U����CUF���ս="h6��6���K���TE�87�DO��cR#�Ѐ7�J
��߿	���u�^��!Gw8���ĺ$��?<u�:F�K���endstream
 endobj
-2851 0 obj <<
+4138 0 obj <<
 /Type /Page
-/Contents 2852 0 R
-/Resources 2850 0 R
+/Contents 4139 0 R
+/Resources 4137 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2819 0 R
+/Parent 4106 0 R
 >> endobj
-2853 0 obj <<
-/D [2851 0 R /XYZ 71.731 729.265 null]
+4140 0 obj <<
+/D [4138 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2854 0 obj <<
-/D [2851 0 R /XYZ 181.907 654.545 null]
+4141 0 obj <<
+/D [4138 0 R /XYZ 71.731 718.306 null]
 >> endobj
-2855 0 obj <<
-/D [2851 0 R /XYZ 158.345 641.594 null]
+4142 0 obj <<
+/D [4138 0 R /XYZ 158.345 659.527 null]
 >> endobj
-2856 0 obj <<
-/D [2851 0 R /XYZ 71.731 600.747 null]
+4143 0 obj <<
+/D [4138 0 R /XYZ 71.731 618.68 null]
 >> endobj
-2857 0 obj <<
-/D [2851 0 R /XYZ 71.731 575.676 null]
+4144 0 obj <<
+/D [4138 0 R /XYZ 71.731 593.609 null]
 >> endobj
-2858 0 obj <<
-/D [2851 0 R /XYZ 188.024 564.882 null]
+4145 0 obj <<
+/D [4138 0 R /XYZ 188.024 582.814 null]
 >> endobj
-2859 0 obj <<
-/D [2851 0 R /XYZ 182.306 551.93 null]
+4146 0 obj <<
+/D [4138 0 R /XYZ 181.907 569.863 null]
 >> endobj
-2860 0 obj <<
-/D [2851 0 R /XYZ 158.345 538.979 null]
+4147 0 obj <<
+/D [4138 0 R /XYZ 158.345 556.912 null]
 >> endobj
-2861 0 obj <<
-/D [2851 0 R /XYZ 71.731 498.132 null]
+4148 0 obj <<
+/D [4138 0 R /XYZ 71.731 516.065 null]
 >> endobj
-2862 0 obj <<
-/D [2851 0 R /XYZ 71.731 473.061 null]
+4149 0 obj <<
+/D [4138 0 R /XYZ 71.731 490.994 null]
 >> endobj
-2863 0 obj <<
-/D [2851 0 R /XYZ 188.024 462.267 null]
+4150 0 obj <<
+/D [4138 0 R /XYZ 188.024 480.199 null]
 >> endobj
-2864 0 obj <<
-/D [2851 0 R /XYZ 158.345 449.315 null]
+4151 0 obj <<
+/D [4138 0 R /XYZ 158.345 454.296 null]
 >> endobj
-2865 0 obj <<
-/D [2851 0 R /XYZ 71.731 408.468 null]
+4152 0 obj <<
+/D [4138 0 R /XYZ 71.731 413.45 null]
 >> endobj
-2866 0 obj <<
-/D [2851 0 R /XYZ 71.731 383.397 null]
+4153 0 obj <<
+/D [4138 0 R /XYZ 71.731 390.436 null]
 >> endobj
-2867 0 obj <<
-/D [2851 0 R /XYZ 188.024 372.603 null]
+4154 0 obj <<
+/D [4138 0 R /XYZ 188.024 377.584 null]
 >> endobj
-2868 0 obj <<
-/D [2851 0 R /XYZ 181.907 359.651 null]
+4155 0 obj <<
+/D [4138 0 R /XYZ 181.907 364.633 null]
 >> endobj
-2869 0 obj <<
-/D [2851 0 R /XYZ 158.345 346.7 null]
+4156 0 obj <<
+/D [4138 0 R /XYZ 158.345 351.681 null]
 >> endobj
-2870 0 obj <<
-/D [2851 0 R /XYZ 71.731 305.853 null]
+1266 0 obj <<
+/D [4138 0 R /XYZ 71.731 310.834 null]
 >> endobj
-2871 0 obj <<
-/D [2851 0 R /XYZ 71.731 280.782 null]
+782 0 obj <<
+/D [4138 0 R /XYZ 252.009 265.58 null]
 >> endobj
-2872 0 obj <<
-/D [2851 0 R /XYZ 188.024 269.988 null]
+4157 0 obj <<
+/D [4138 0 R /XYZ 71.731 253.409 null]
 >> endobj
-2873 0 obj <<
-/D [2851 0 R /XYZ 158.345 257.036 null]
+4158 0 obj <<
+/D [4138 0 R /XYZ 71.731 233.959 null]
 >> endobj
-2874 0 obj <<
-/D [2851 0 R /XYZ 71.731 216.189 null]
+4159 0 obj <<
+/D [4138 0 R /XYZ 188.024 221.107 null]
 >> endobj
-2875 0 obj <<
-/D [2851 0 R /XYZ 71.731 193.176 null]
+4160 0 obj <<
+/D [4138 0 R /XYZ 182.306 208.155 null]
 >> endobj
-2876 0 obj <<
-/D [2851 0 R /XYZ 188.024 180.324 null]
+4161 0 obj <<
+/D [4138 0 R /XYZ 158.345 195.204 null]
 >> endobj
-2877 0 obj <<
-/D [2851 0 R /XYZ 181.907 167.372 null]
+4162 0 obj <<
+/D [4138 0 R /XYZ 71.731 154.357 null]
 >> endobj
-2878 0 obj <<
-/D [2851 0 R /XYZ 158.345 154.421 null]
+4163 0 obj <<
+/D [4138 0 R /XYZ 71.731 129.286 null]
 >> endobj
-2879 0 obj <<
-/D [2851 0 R /XYZ 71.731 113.574 null]
+4164 0 obj <<
+/D [4138 0 R /XYZ 188.024 118.492 null]
 >> endobj
-2850 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R >>
+4165 0 obj <<
+/D [4138 0 R /XYZ 181.907 105.54 null]
+>> endobj
+4137 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2882 0 obj <<
-/Length 616       
+4168 0 obj <<
+/Length 713       
 /Filter /FlateDecode
 >>
 stream
-x��Vݏ�0�����>��b�zsꌷs17�,Y���tJ�N������J�nnᡀ���Ul�a����@�R#�:�1׿�:x��6k�f�Ao�`�:���p�6�cx�>%�,�b��"�c���ه�8a����~�W�	����y�R>�������D�K�T���3��G�sQ�sd�x;�.u
�����6��S���0��Ps���@LM6O��1U������Q
-���P����żR���R�ڃaaMMh�zA��a8*Y��
d� DG��$�
c+�ֲ4�
�t:9�s����E�I2�"�k��ZH��U	�d��\��h��U�r�k��\rW���3ҳl$A�9�j �e��^4���ڤ����v�"�X�xz��z�*{���V���Qqqe;�)_��C�Ge�?+�(���i�t�~�;O�a��)���a{5������M�T�nS{nl�.v@�y��ϓ�Ԓf�v��@V�pkgz=���e��Q�͊B�&
-�p�D�2q6����!a�`K��ݽ�?Ёt���6��K��`����:�L�p���x�}�m�1q���6�9�t}�c��!e9:�P�C�l'�͸��y��'��~�endstream
+xڽ�]o�0���+��llp���,j�LQ�}H�4�@�F�,Y��F�l٤*R����{�k����BB_]p�X�j�Yug2@�w�vb^����[1���5�������D[��}Q�y����b��#`�SZ�)7�ˢ��s*�(�H���ܙ9�g��.n*�5�k���j0�?)#~��?)��9P�ý��!Z�?���H׫��Z[bd,�,�V���%HKZ�Q9(�0c���Ѥ���P�ɖ�	�F�X�?%��	U�"�V&�g�€n=╴����D=����>H�U8J4�abdy=sbl_�۹ L�M���J���"��HM��s�Jh@
�T��K���f��*f��z��9س׋G����,WG�,�#�����P�t����t�$&ǪΫS��X%c�J!x��66:
��� ��(��kV<$��c)s
�T�&�G#(W��A*VP�e4�Jf
YY�h�u�ӌg�+
+�~rd�"3Ⱥ��% @���V�����N)8��]�1���ᑆ~�^w�~A�݃�|w���ř
+��r�ix3^5����X��f��26�T<�^�j0H�]��/�R����7�2]��4{��ӵ\�
+^�_����x�,��y�`k���`k�w����Aj�cm�VB���o��g�\'���iޝ�D(<y�؇*����I�db�����фc-endstream
 endobj
-2881 0 obj <<
+4167 0 obj <<
 /Type /Page
-/Contents 2882 0 R
-/Resources 2880 0 R
+/Contents 4168 0 R
+/Resources 4166 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2819 0 R
->> endobj
-2883 0 obj <<
-/D [2881 0 R /XYZ 71.731 729.265 null]
+/Parent 4106 0 R
 >> endobj
-2884 0 obj <<
-/D [2881 0 R /XYZ 71.731 718.306 null]
->> endobj
-2885 0 obj <<
-/D [2881 0 R /XYZ 188.024 708.344 null]
->> endobj
-2886 0 obj <<
-/D [2881 0 R /XYZ 71.731 667.497 null]
->> endobj
-2887 0 obj <<
-/D [2881 0 R /XYZ 71.731 642.426 null]
->> endobj
-2888 0 obj <<
-/D [2881 0 R /XYZ 188.024 631.631 null]
+4169 0 obj <<
+/D [4167 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2889 0 obj <<
-/D [2881 0 R /XYZ 181.907 618.68 null]
+4170 0 obj <<
+/D [4167 0 R /XYZ 158.345 708.344 null]
 >> endobj
-2890 0 obj <<
-/D [2881 0 R /XYZ 158.345 605.729 null]
+4171 0 obj <<
+/D [4167 0 R /XYZ 71.731 667.497 null]
 >> endobj
-2891 0 obj <<
-/D [2881 0 R /XYZ 71.731 564.882 null]
+4172 0 obj <<
+/D [4167 0 R /XYZ 71.731 642.426 null]
 >> endobj
-2892 0 obj <<
-/D [2881 0 R /XYZ 71.731 539.811 null]
+4173 0 obj <<
+/D [4167 0 R /XYZ 188.024 631.631 null]
 >> endobj
-2893 0 obj <<
-/D [2881 0 R /XYZ 188.024 529.016 null]
+4174 0 obj <<
+/D [4167 0 R /XYZ 182.306 618.68 null]
 >> endobj
-2894 0 obj <<
-/D [2881 0 R /XYZ 182.306 516.065 null]
+4175 0 obj <<
+/D [4167 0 R /XYZ 158.345 605.729 null]
 >> endobj
-2895 0 obj <<
-/D [2881 0 R /XYZ 158.345 503.113 null]
+4176 0 obj <<
+/D [4167 0 R /XYZ 71.731 564.882 null]
 >> endobj
-2896 0 obj <<
-/D [2881 0 R /XYZ 71.731 462.267 null]
+4177 0 obj <<
+/D [4167 0 R /XYZ 71.731 539.811 null]
 >> endobj
-2897 0 obj <<
-/D [2881 0 R /XYZ 71.731 439.253 null]
+4178 0 obj <<
+/D [4167 0 R /XYZ 188.024 529.016 null]
 >> endobj
-2898 0 obj <<
-/D [2881 0 R /XYZ 188.024 426.401 null]
+4179 0 obj <<
+/D [4167 0 R /XYZ 175.332 516.065 null]
 >> endobj
-2899 0 obj <<
-/D [2881 0 R /XYZ 181.907 413.45 null]
+4180 0 obj <<
+/D [4167 0 R /XYZ 158.345 503.113 null]
 >> endobj
-2900 0 obj <<
-/D [2881 0 R /XYZ 158.345 400.498 null]
+4181 0 obj <<
+/D [4167 0 R /XYZ 71.731 462.267 null]
 >> endobj
-2901 0 obj <<
-/D [2881 0 R /XYZ 71.731 359.651 null]
+4182 0 obj <<
+/D [4167 0 R /XYZ 71.731 439.253 null]
 >> endobj
-2902 0 obj <<
-/D [2881 0 R /XYZ 71.731 336.638 null]
+4183 0 obj <<
+/D [4167 0 R /XYZ 188.024 426.401 null]
 >> endobj
-2903 0 obj <<
-/D [2881 0 R /XYZ 188.024 323.786 null]
+4184 0 obj <<
+/D [4167 0 R /XYZ 158.345 400.498 null]
 >> endobj
-2904 0 obj <<
-/D [2881 0 R /XYZ 158.345 310.834 null]
+4185 0 obj <<
+/D [4167 0 R /XYZ 71.731 359.651 null]
 >> endobj
-2905 0 obj <<
-/D [2881 0 R /XYZ 71.731 269.988 null]
+4186 0 obj <<
+/D [4167 0 R /XYZ 71.731 336.638 null]
 >> endobj
-2906 0 obj <<
-/D [2881 0 R /XYZ 71.731 246.974 null]
+4187 0 obj <<
+/D [4167 0 R /XYZ 188.024 323.786 null]
 >> endobj
-2907 0 obj <<
-/D [2881 0 R /XYZ 188.024 234.122 null]
+4188 0 obj <<
+/D [4167 0 R /XYZ 181.907 310.834 null]
 >> endobj
-2908 0 obj <<
-/D [2881 0 R /XYZ 158.345 221.171 null]
+4189 0 obj <<
+/D [4167 0 R /XYZ 158.345 297.883 null]
 >> endobj
-2880 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R >>
+4166 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2911 0 obj <<
-/Length 2243      
+4192 0 obj <<
+/Length 2238      
 /Filter /FlateDecode
 >>
 stream
-xڭYK��6�ϯ0|Yh+�ܲ���yd�Yd��9${�%��$
-�4��-�ŗ$w�a�@[�(�ꫪ���*��|u���>�Ǵؗ��}������w9����Ӣ,�z����LJ�j�������ݪ��}��z>9)�.-v��s���}�Ӯf%������Mj���o�Ⳡ�jli7�$��w��/����ɿ������q�S��Ns@I�J�<�P!͋e�����\}%����"�2��l�W[�=�E���G��G�'y��
-v���?�2���`'}���?
/�="���$/7|��d�o��
-����RsU>����mh�7��
�(�~ـ�w�o~�rp�}}o>���w��|��	��]���:	�p7&�5�-sP�<h�{*Z6�6kn>+���F:|\39vL�l3�C��#hܺ�U����O����m6E,�v�;nu!ݙug�`p��ώ�
�4<)���St�n��"/�Ϸ���������
-Jڣҵ���<-K����E������j�gkܖ|Sq�7��4h�-�����7��~��/By���h��O ���Ct��(T���`y��H����R��H9Z�Seo�3�1'������{\	���'����.�y�n��r�B�N��A�&eڎ���ֵ�mKE��R�x�w�!l����#��V���`��ݫ���T����,HF�Dݼ����cäC�b��kl�3��S�2���¢���l��1��#u�%����c�W���='��5�3ˊJ�Fia_����.Swv(G���r���ߘ5�E�Z�+�\z�^3[(ZJ�q�AA%f ���<�cC�r\�ռ��QnM+i����مHtL�0��_l�䪶� 2���̔cuA;*H�%H!���;����6h��^�8�S�Νņ���rN��%���<��y!*%��e-���fB.jD6`F�i|��,��0.�m���h�.�İ�d(_����:l~��7�?Ŧ0�JȂM��@��2R	^Vv��j�@ü-�N>R�ҙr5���a��jH��0`)ڵJ4�%��{�NJtq��c���%`�k\~G���*�^rN 7���r��x��>{*(�����_.�W�)ɱ)��5�#�l��9����;Au���7��*���w��g��^.��DD(�������=V��������ht]"l�G�AgQ�=r�j�a@r!Gְ�jn�¨
-�JKǴ�7yܢ�ڞN�Z��P5�nS24մ�@����	��hI��A%���&����$��X����!6b^���y�S�m�W�<�q�8�ڶxk����H��5��Q��	�C������<�Z�]N�u�I�S�U�ԦvG��ʺ�#����q�TưK[EBd_�����~RP�~@^"��HD�����h3�ʞߟ���h����Ļ9[��C��ש���T�6ġ2��L�
��#9�[���m֖�_��'�3�2����+�%棃
-X�'�"4̘n�閞�y��=,����P�p2+��"p�<s�ف�RSS�a�)HU3ʀ�6xz�"�:yAC�/�-�t_�#]�}�-����c��oIY��5�0��j�
-&��5SM`���i=�󍑥��1�b4N�
-&A��<6�Sĺ�)�=X͠|�&*S�fھK#�N��1"a�g�Q�x�R��mk���a�'���p�� *yE��������om��H���).�^N�Gi�>��sPV����Psd[��
\�7h�׻���6_F<_
I�<%-�m:�A��g�v��)�¨Q�롛��G�����^d�=�����b^3�Pm�-m��h[��t�}���`���.�n
������2'�K�|W�5m��2"g���2��͏<7�=�ݍ�WȺ|K�w��)���D.��=z����MǾP�
-}��z�iAJ(~�|�;M�s;B�L��Y����c|�T��|e�7���7���?:���s�+7��@�U�vit�P!���lr�����&np��
��v��Ah�Zk� 
-eO�`��Ԧ�6�X�2���ptԏ��"�w3ɪ��Ԭ��(��'�Z
)i�T�U���:��!P��uX���>�e�qP(���_�݌����Ŗ�q�)����&g��Hj�;�C��5�*E��	c���:����컟��y���C����[�D������eq�gne��~*��b8�_���endstream
-endobj
-2910 0 obj <<
+xڭYK���ϯ0|�
���ܲۛ�<�tor��@K�͌$
+�4���)�ŗ$�s��bU}U�Uu�H�_��g�~����bQ6������.���]�9�ϼ��}rx�.6�^���%�.�4�����II�I��-^���wm+��z��V�s��ᅴ�/�Rs���CC�~��H�xk���J�J�����@�~qH���.6p�=J��:˲�|X��,���7"ʋ���4u[=�V;���s�g�.;��>�n����`�Ko>�#-ҏ�_��P�{��U}G>��Ί�j�A��L_�21w��\_��tE���O�IIq���z|�ݦ�������{sMs��&ۦ{���g|���:
+Wu��nL*k([f�|���wT4��ie���\K���EZ|]1�v\��j��DYGиq3�DK�p��'5:�l�X@�pw��B�3kϨA�4�ז�R�|��WZ%���"�'yV(�o����Q�"6�4G�k}wYR(/<q7����O��5Ԏ���q�]	��>lR�
��`�?�#���x�/o_��\[��Z�@,`u��h�Q����?��7?;���2�R��H9X�Seo�3�1'����-{��w�0�?N�9�1��W�_b�'ܢ��`������KʴC]3�kɛ�������-o�K���F�3-y[��Ӈ����T������,H�D=|<x{tñf�!��c��5���s�)��S�L[qaQ�za6G�ʘ��:��ڒUTP�1٩GG���������y�s����p��jt����;;����o>�dd����"{�����5=�K��-
%�8�����3��H�<�cCMr\�ռ͚A�nM#i����ٙHtL�0��_m�䪶4 2��̔cuC[*H�%H!���;����6h��^�8�S�έņ���r
+N��9��s���慨�z$�5z�.�	��lـ���ar��S¸ 8��b�$�:��
+���k��u��9�o�	~��yUB�+�:�J��V����mit��N��8��C?��!�
+|̀�h�*���<�꯱K��A�#���q�lp�����z�y
�AT5��4 �����SA���L=�z����I�M����`�N�ֱ7E��a���V[�Q�X[��׽��>�T�zq�'"B��f-���U��E�-�a�=���B�!W���9���W��F�PPUZZ����f
@��t��"\���v�������dOX�O@7�GK��
+*aX%ȝ6)^�&�u’��1�*����n����ц�;Ǒ���[���=�G�,.�{��F|
������khstA8.�]P�F5N=WeTR��s+�
+X�G��ʇ�\�.m�
	��0�k�7N�IA!d�y�,#�7M�x�+;�2]��y���j��a��0e�Sr�T�:U?9�*@՚8�B�s�	b���q gz����������Lu�RF|4~���\Z���y)B���8��I�n�I��7.��H.�-�	�'��8�n�k0���5V��Tփ�h��G+�Ӑ�6��º{��
+�"�Cn��?���Y��Xs

+�6�`�h_3������:�Y�!�s.F�ī`Ā��C�:E�{�R؃U�gok�2�o����4R�$^3 �V%��? 5�o[�m���;��1@8A�]����Qʇ(ڟ�}X���cLGʌ�\�Hq��r?J3�������8��耚"��Ũ��A��ކg��2��jHҦ)in�aʯ=�#M��F�
+�Y�4�.�{�ϟ{�v��_��y�D�C=�����o�m��ڮS�o#g�t��pkpXIE�<�<�)A�Y_[J�ݨi�f�	9�,��Ɍmz䩹�Yn��B��CX��{�LވE�%r�=M��=W|3H8"6A�B�+�::d�ަ)����5�4�����1r�]��:�m��R~��L���������<"l/�m�R$r�b�s�˙
+��
�f�K	U�n%q�3�oȗ��
(P�
B��X�Q(;Z���6�(���j�I]?���n�
�~�HV�׏�&��Fql?��jHI��
+�j��������8��B=���-ӏ�B��<G���fL�.�Ԑ�;LY�w@
59���ER;�>�4�d���:`$H���2�T�
+���>��?��_����l?�W>\��K��� 9���������,x؍%ٿNE��C�endstream
+endobj
+4191 0 obj <<
 /Type /Page
-/Contents 2911 0 R
-/Resources 2909 0 R
+/Contents 4192 0 R
+/Resources 4190 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2819 0 R
+/Parent 4106 0 R
 >> endobj
-2912 0 obj <<
-/D [2910 0 R /XYZ 71.731 729.265 null]
+4193 0 obj <<
+/D [4191 0 R /XYZ 71.731 729.265 null]
 >> endobj
-919 0 obj <<
-/D [2910 0 R /XYZ 71.731 718.306 null]
+1267 0 obj <<
+/D [4191 0 R /XYZ 71.731 718.306 null]
 >> endobj
-514 0 obj <<
-/D [2910 0 R /XYZ 531.42 703.236 null]
+786 0 obj <<
+/D [4191 0 R /XYZ 530.903 703.236 null]
 >> endobj
-2913 0 obj <<
-/D [2910 0 R /XYZ 71.731 682.175 null]
+4194 0 obj <<
+/D [4191 0 R /XYZ 71.731 682.175 null]
 >> endobj
-2914 0 obj <<
-/D [2910 0 R /XYZ 71.731 672.06 null]
+4195 0 obj <<
+/D [4191 0 R /XYZ 71.731 672.06 null]
 >> endobj
-2915 0 obj <<
-/D [2910 0 R /XYZ 71.731 662.097 null]
+4196 0 obj <<
+/D [4191 0 R /XYZ 71.731 662.097 null]
 >> endobj
-920 0 obj <<
-/D [2910 0 R /XYZ 71.731 638.283 null]
+1268 0 obj <<
+/D [4191 0 R /XYZ 71.731 638.283 null]
 >> endobj
-518 0 obj <<
-/D [2910 0 R /XYZ 168.205 594.97 null]
+790 0 obj <<
+/D [4191 0 R /XYZ 168.205 594.97 null]
 >> endobj
-2916 0 obj <<
-/D [2910 0 R /XYZ 71.731 586.147 null]
+4197 0 obj <<
+/D [4191 0 R /XYZ 71.731 586.147 null]
 >> endobj
-2917 0 obj <<
-/D [2910 0 R /XYZ 71.731 527.418 null]
+4198 0 obj <<
+/D [4191 0 R /XYZ 71.731 527.418 null]
 >> endobj
-2918 0 obj <<
-/D [2910 0 R /XYZ 71.731 485.64 null]
+4199 0 obj <<
+/D [4191 0 R /XYZ 71.731 485.64 null]
 >> endobj
-921 0 obj <<
-/D [2910 0 R /XYZ 71.731 415.902 null]
+1269 0 obj <<
+/D [4191 0 R /XYZ 71.731 415.902 null]
 >> endobj
-522 0 obj <<
-/D [2910 0 R /XYZ 312.796 370.747 null]
+794 0 obj <<
+/D [4191 0 R /XYZ 312.796 370.747 null]
 >> endobj
-2919 0 obj <<
-/D [2910 0 R /XYZ 71.731 358.576 null]
+4200 0 obj <<
+/D [4191 0 R /XYZ 71.731 358.576 null]
 >> endobj
-2920 0 obj <<
-/D [2910 0 R /XYZ 71.731 316.147 null]
+4201 0 obj <<
+/D [4191 0 R /XYZ 71.731 316.147 null]
 >> endobj
-2921 0 obj <<
-/D [2910 0 R /XYZ 71.731 285.262 null]
+4202 0 obj <<
+/D [4191 0 R /XYZ 71.731 285.262 null]
 >> endobj
-2922 0 obj <<
-/D [2910 0 R /XYZ 71.731 202.573 null]
+4203 0 obj <<
+/D [4191 0 R /XYZ 71.731 202.573 null]
 >> endobj
-2923 0 obj <<
-/D [2910 0 R /XYZ 71.731 171.688 null]
+4204 0 obj <<
+/D [4191 0 R /XYZ 71.731 171.688 null]
 >> endobj
-2924 0 obj <<
-/D [2910 0 R /XYZ 71.731 140.804 null]
+4205 0 obj <<
+/D [4191 0 R /XYZ 71.731 140.804 null]
 >> endobj
-2909 0 obj <<
-/Font << /F23 733 0 R /F27 740 0 R /F33 834 0 R >>
+4190 0 obj <<
+/Font << /F23 1013 0 R /F27 1020 0 R /F33 1116 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2927 0 obj <<
-/Length 2516      
+4208 0 obj <<
+/Length 2518      
 /Filter /FlateDecode
 >>
 stream
-xڭZK��6��W�|Y�JRD=F3{s����[�Jr�HH�I�����64^$�IUj�8 �ϯ�n*�m�/���q���z{w������
-�y�"�+Vv�*X����wow�����n7;]f��q��>̎��������_�ږ6��Xm��������͇���a.��R���]���QD1ޘ�XNI����⇓�;��w�J�k�o�^t���~���{��b��Yls�*r��|� ��0b��ܠS\,����� Ma>(P�$�|a�\eǔ��O�7mgW*n�T�U��5Q�
-�>�v ��5�6W,���*�"�L��('U7��E̶ʶ��As�~�0)���W��v�m����7D[Z�TI���ߧ���k�������m����h����5�]k>�DF
-g��gJ������"�K��e&BŞ(��h�	r�h����;�e{8/��1�r��
-ڣw1Z�R����zΐjvz��o_ƆT/�rRU��˟[\��˵�	2kgv��+�ۊJH��=��e>�N#���&�:���"�>�~�޺���c�y�������}@���Ak$[�X�1��2�L��ӻ�>�����褃
-�wmw�X^���(μ9�I�D*�HD�ʹV4��֒i��?���a\���_v5fY��;D��1p=�=T{�/�T�r�Z4��7o�[�[�5D܌���|��(͙����H0j�4+�U|��'�|6/܊�JɅw&\�3�՞J��(�w���;\�w��L�0P�WVm����4.�҆
-H©PTEWP����+���P(Y��x�%yM#C�V�_�;�m'Z�[���0�!c�+wBa
-1���Q'*`�E��2,�jgb\�8�Μ?.C(�m�`�)I��eչ�.����ξ���wE����i�(yU,G�Z�Htegc��-��w�,�H���?0]^zd��s�D/�^����0��� �x`�5�0���:�Q�8�W���a+��U��S�Ҟ)
_�8i=��T�."�O�0Lt�72
���4�6Q��l�@u�X�49���{�i;�M�X��!���i_�Q�a��i���Ag^�&����L���� ɶ�A�Z8�Yoww�Y[�����?�[�XHm���<�e0��6�f����俠�Ny��q��H	v��)��Ԁ�}g���x���]mmJ�f�xd]S�3��
o4����fܬw��|���3t�M�}����|3��gNg�#�Z*s���K��X"|�b��n��,���@��Y����
۶2�H/���=���'� �F{ر�a�9�WUȾ����
��@�qh�4ӕX4?8��j�A����t��z#X��Q�
��aP']��eÀɎ8*��b:J���]��{�E'��U������Ů��L�L'x�uo^�G��ye�P�?�bY�7�zǡ˝�H��֑��u�'��g�4״�3�[Q�_5���
-�8��ㆴ�������Ԫ���R��M*�G��k���qtbH�[�k�����
-�2�(&M�J]����EH�zB* �����A���in���}�>�Ih�n�צ�ơ�t����Fo/���#
���d�0�g�x�DP�\�h���
*.�j.\��V"�l&���Ls���{�6���v
C�u�1�<�\N�.�F�a_H��.�nj�OB��.���Ti]�!��u�/�����D
-��U�xh��I��\�N#ʎMپ'��?��%��Qg�?��t�M�9�*ڴ��	LR=gu��˜]n#��+lJim⠖A5��oG�|��UE��J�]�'������}��s�S��o���ӳa��lm��I�_��-�-$&1!	Z��X�cF���5�DRӟ���/�Ij?��Tg���X�����#�yr�6�]c�σ�6��[ZQ}�}�`^����%q���dZ����5�z-�f9V��_��G�"���E�MhV7���W���9�Uu��K�������%�,yW�h�KsM��Z��6>����o���[G-��\;<$yC@6�#������DaM�Y�с�
-nBQ���.�t���K��B0t�˟���XFl�/�F00NPƃ�4���Qnt���s�hz���`�!�Ʉ[���B4^�-�|#�j>���#Z�t�[�öo3:e�0xn�P�C'ĺ��.št��w���ϽD�S�P������t�e����f֒��@��;POpq���\����+)ו�^
-��4�qn�^W>�#��0��+HQ�eN�����M�@l7AQ��UM�}�GkT�@k�V{w����up�)U+��y �����.m{�y�~���(�½���ݏO/t�]� *�hL��
-����J�ڽ�Re��-2���7�A;'YjTA����
*����������{��<�#���[Z��F�E��y��A�*���Ac
�F%o�@��c��zJg��:C�$�:�U��1��~}���5�_2�1�a{\��.Z������G�Z,�endstream
+xڭZK�۸��WL��R����h&7�_�7�-+�Mes�HHD�$h��X�>
���*5i8d��_ݜ�f?��!���{����y����_޿��k{�:������7������|���������m���ͱ���U�Ѷdߖ�]�]�ݘ������n������+ox�/�EC[E㭹����t���__�=:���a�p�Vs�g����UGl�7���As��m_��|AXMN�կd��'�^�Z2���v�X��-�vTD�_�4��g�K;Ó��m��;��T�M�;�V>�$�^�t[(VX��������0�	F���<k����n�`#h�ߴ�}���f�+�Q�n�m�����/�f���I���ri�uD�V�l������t�S��ц�Ǿ3�+"#������ԒJvii�ĥz�:��H��,��Pt�I�/=�=��L�XA9Y��1��--W��p�6Z=�H5J;-hۗ�#������5Z���N'�r�$Ae퍤��H��T�D�N�l!��I�p1��ڢ�17��`z�����b�*�I8ԁ��
+8@�	��3%��l5ᡏ�<���3�/����1�����B/Tغ��S͊��'q���M�'R�W"�u��`a�DK��o��|���yg�s~�7XeAz�t�P�cz�{h�T\>q�>�u�Oo�-�,v�wk��E�|��͉����H0Z�[t+�U|�N]'`|�(���9L�t�t^{�XQ��>dN��F-΂\��5�}�>M�.���p.UFUi4Jk���p�5+����$oh��K�u�ʢ�E`+�x��2��qGT֠S���t��Z4j( �*�v&� ��3����*q��b;�LIZ�1/��57��5�~�m~@��EF�LE��r5�z@�;߬l�t��`	Fj��h����2� [_z&��}�ہp�A�I��� ��l�eЋ�z����/m�w���y
+"�IP��6'm�Vb\�>D$���O����V�	���&*�-�����O���qSsO��2��4���{�Q(/_��d&���8:����̟�y��1���(�]�k^g���n7����>�/��ԼU���4��kM BZ#% � d�m��a�O�Z�<&�u��8DR�;���\i@�t�q.h�ϗ|�7֧�i&�G6
������V�n�w[h&�Z�W�V7�qhl��f8~��o�����Y茾T�\�:�ۥ��x"|�fX��f�]��Ɂ�nf��ov]m����'��f�����A�����s���}��v�+&�)K,�����4ӕ�4?8��j�A����t���'X��Y����aP/]�Uˀ�N:��b:j�O��}��{�E��uR�����ũ��L��x�u�ިG��ye\P�?�fy��Z�8��g�(h�Hw��D�3EE�K:���*ΉS`�p
`��/P my�M���&�����#|�Z� �^>rz��X������S�e�m�&*���UH�&$I3��~Gp�� ��6�#e�9C��$O�8j�M#,�o�-b�0�>�Im�:�8L�%Ơ���"Z�9i��Mä�+���gp�ȶ�Y�l�iN6r��VX�Үq���#F�����ܥ0H9��Z<�����I���5��:��4����M�{v�ŒH��o;)z��$&g-i�ة-�OD�������9�D�ǩ�r=�����;>�����s^7!-!���:�Ͼæ��Zti�v����z51x�t��cһ��\o]�z���'G9GZ��(�����$e��ïL��B��!1�	I0ZM��T|3*
,o�$���4L5�(C�tH����:S�O��*���)�ϓ���p�r8L��	8�<_�Ԋ���[G��ȷ,����&3r��=�H���5˩v��<beJ��..�iB��٪p���m�A�����}B��L=���e��W+}ZkZΰhA��d�ηl�-���F�ɽv�DH�n #��R���EaM�Y��Q�	nCQ��.����lH��B�t��_���XFl��H%�b�����i�%��,�������.����|���C0%��	��A��輁[&�&&�j>��	-�[��#�`ۏ�2D"�n�¥b]��D'am�G�Rj��s/� Ts6p�((�|f,�.�Շ�d5���\�>93��k�&�J�Me2����1m��F���ם���<Lh�R4j��'p�*k|�0R�mP�uճc������:��ѝ��*�}\yJՉ�tQH줋��K��d�6�.�0K�tRiDƿ������C��J7s���t}b��qo�T�G��k�L���f0N�Eփu�=�l@c�d��6��Fsl��>O��&�����Ilэ��n^�tѧ*�wp���
�U�[sAPj�XA�;����k����I�+��3����>;<�����?S���.wR�!����_,�endstream
 endobj
-2926 0 obj <<
+4207 0 obj <<
 /Type /Page
-/Contents 2927 0 R
-/Resources 2925 0 R
+/Contents 4208 0 R
+/Resources 4206 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2819 0 R
+/Parent 4106 0 R
 >> endobj
-2928 0 obj <<
-/D [2926 0 R /XYZ 71.731 729.265 null]
+4209 0 obj <<
+/D [4207 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2929 0 obj <<
-/D [2926 0 R /XYZ 71.731 662.351 null]
+4210 0 obj <<
+/D [4207 0 R /XYZ 71.731 662.351 null]
 >> endobj
-2930 0 obj <<
-/D [2926 0 R /XYZ 71.731 592.613 null]
+4211 0 obj <<
+/D [4207 0 R /XYZ 71.731 592.613 null]
 >> endobj
-922 0 obj <<
-/D [2926 0 R /XYZ 71.731 535.826 null]
+1270 0 obj <<
+/D [4207 0 R /XYZ 71.731 535.826 null]
 >> endobj
-526 0 obj <<
-/D [2926 0 R /XYZ 237.066 492.728 null]
+798 0 obj <<
+/D [4207 0 R /XYZ 237.066 492.728 null]
 >> endobj
-2931 0 obj <<
-/D [2926 0 R /XYZ 71.731 480.29 null]
+4212 0 obj <<
+/D [4207 0 R /XYZ 71.731 480.29 null]
 >> endobj
-2932 0 obj <<
-/D [2926 0 R /XYZ 71.731 401.331 null]
+4213 0 obj <<
+/D [4207 0 R /XYZ 71.731 401.331 null]
 >> endobj
-923 0 obj <<
-/D [2926 0 R /XYZ 71.731 381.341 null]
+1271 0 obj <<
+/D [4207 0 R /XYZ 71.731 381.341 null]
 >> endobj
-530 0 obj <<
-/D [2926 0 R /XYZ 254.178 338.244 null]
+802 0 obj <<
+/D [4207 0 R /XYZ 254.178 338.244 null]
 >> endobj
-2933 0 obj <<
-/D [2926 0 R /XYZ 71.731 325.806 null]
+4214 0 obj <<
+/D [4207 0 R /XYZ 71.731 325.806 null]
 >> endobj
-2934 0 obj <<
-/D [2926 0 R /XYZ 71.731 231.838 null]
+4215 0 obj <<
+/D [4207 0 R /XYZ 71.731 231.838 null]
 >> endobj
-2935 0 obj <<
-/D [2926 0 R /XYZ 71.731 200.953 null]
+4216 0 obj <<
+/D [4207 0 R /XYZ 71.731 200.953 null]
 >> endobj
-2925 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F23 733 0 R >>
+4206 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2938 0 obj <<
-/Length 2673      
+4219 0 obj <<
+/Length 2675      
 /Filter /FlateDecode
 >>
 stream
-xڥَ���}�B��H��IQG�l�ᵽ��I8dk�,E�$���}����d�3v��R�ww����x���}
-�1Jv٢���,��ͧw��XK����ûo>���w���H��h��4�Y�x(����zeMY��Z'�f�>��~�]��q�e�n�I���]V�5C>Tm#��\����??������}t<�����z�׬�6�(�n9�A���g����~`����J6˛j�ACU�Op�9��^ڛ��hA�b��R��6��NRkO�[�P�����Z��N-���/�~�*�]�<I��*Ζ/�K�����'hi'�Q��]Yg3Q�׊�$O+>��U�-�D�L�z����e.wΛ��?�v-��Ϫd�V��ᬘ執k����A��O��T�Z�P20q���Qghc�3�DI�q9�����K[V��l��{[/g��,��l���Ue��%Q
-Z��b_�l���,4DdI���x^<���$3)�bh@�g��4q�L��Ga��{�3b.�a�2���Y�3��/`�Y�
��+���/���P�{�c�F	�ֵ�
��/n��l�*�o����ȡ�mG#1�t��/@.�+@K�D��|n�L�g�����qo�0�P
2c&�K�a���/��x)��l��@%�|ռR@���n��C�9Y����x� k���6^�"����v�1Z-2I�A��'Ey�yX�؁��W�k��ȓ��r&�
-�F>��Q��NVE���LHX�B�*T����q?�|�;�n���ul����]�j)����kɟ�U!@�*x�KGJ`�J�����.[R1g��*8�%~��m'#D�TG
���$P�2���᧝��<���<��e4��]@c�F$�]�T5��#��G��~mj�����󮬻T=�x��?D�t���4���x�
-��㇭�5�]0l}Z�a;A�A���0��q{��;���e*䶠�^�v�<2SMj��Ȟ�KtN t��������oJݪa|„0(�2=�<�]����c��AZ��仳�3��:�I���t���OL���c*��LF��֪�IٖK$����Q��O��
-A����������Eڿ��^#WU���Q��w�P�z�k��Np�F�(�}l�|	�S݇�>��>h#�ּ�&h;h����7Xg�����
"T���z1yAK>7���zv��4��8�:��
�1W7Ѡ(�j�iͫq����7�ei���&H(*\%����A'[C_ݍ�dم�7/T>Z���\�	���q��f�@�8��}���k�7����qu�,�v���e�����r����Tz�˅�h/��'^v�qx��{����nʀ�$k�ԙ�p[&ۘV��/o�al�����W��=/��ٞ��$Dkʛ\=�Z�c�J��am��)Հ	�TA%}
-���Y�����O�ZI��q<+O����bN��X�����C�����Q�XN��|oN��P�=t���/�dv�#��=�r�߰~���Þ���.�v���t�м�	�H���,5a�����ޅ��NH�"�Q��i�E�@�(A��ϴ��sT�Ok^_S�m��Q��`s��SO��������ܭ������ͩbSڥ^��U
�R�G�T�np�I� ���#T~m�H�~���6��m�Dž��=Rj���� *��?�PF�������9M�����$�h��*��i�+m&x(�D�IC/w#ÕWD�5k�1c����+M`�p��	�l�F�ڸ��i���w�@�q\�wŒ���z�E�o�sT]p���z{�H2�D��~�@?�w4	���Ӂ�u�c(��f�a�Lj���	�����bk������X3�ӑc5����0�V3�]����_�N�_�OWp7F��+�9��Q}\3�
��.�1
-Jޜ
r�ǼgjA��}J��h|�a��X��@w�����0��D���w��
�[IKdJf�ڲ�F�ʕ�@��i�se/�2��i,%�?��4�7V���+�'|r�O�c���<�/]h{ˌ�$�����}>�
4��T��L�$�7�d�i��ZLAu�LU>��\5A�A+�̑3��vI�J��X�1���C��w�f��=��2������g���.v��NFc���_K��G(d��;���gw�r:/�
-<��P�*芯���8ߴziPjU�o��&���q����]�څ?�9��Y�����}�J18��)�{�a�3tF*ß*ڀȡ�σT��cY��L��r�>��bGm�(]��Ǝ9W�
-<���*w��
-����,:$�E��D0\�{��Y0�G�h��)�Q>�y������m	���ސ�DhJ��e~#��(�#T�VzTy����g�S�w���$�n��bd������~	Zɧ5o�	�Z�<z7��ck�n"&�9�`;g�{j��2E
0��>��B�x���
3�8��M���x�T}�{z���]��zoo�D3�/�0�j��ReI\�T�.�
���Ё��*Z�di�2���~Я���")�i)8����]��@u�G��t�~��a���WmPS�Ԩ��o/��V�p�q�+G���ދ?q�sS_�����A�;�Yr���%�mw�R�)�_j�Aendstream
-endobj
-2937 0 obj <<
+xڥَ���}�B��H��IQG�l�ᵽ��I8dk�Y��I����Tuw5�`�3v��R�ww����x���}
+�1Jv٢���,��ͧw��X+����ûo>���w���H��(K��>M�C�,�-��^Y]�V�$�,?D���/��?>��lٮ���1��}S�V����>�yS˧?��[����w4[Y����t�s��XO�뤁�!J�[���^���l�7������W�fyS@u�P�4\�ջ��&�(��齒<���UԚ����J�ߞYU)6ةr-#�%���+�x���׫8[��/U�OB���u�DGe��vyd��D�\9�H�F~>�U�-�D�L�z����e�~w���?��
��O^2G+ϼ?kf���Z�p�ERj;��*R��d`�t�$��� g��pP�s���?,�4%��f���:�;�5�gIe;���(+�/��V�
+����e�de�!"K�����
p�K2����*�c@�:VO��T}��j��<#��+��ݲ��s�f�ؐ�ڲ�w�z!<�*ܻ�6J���tl��}qۦb3��~S�U�#���Ā����������A&���sÆ�$}6]��?�����W�3q^J�w�~�K�
e�%\T������tws�~m�E�����0^�$�ڀ�3��FԪȥu8F��v����i��L�v�"��IQ�rViv g��?1��l��I������n)�U�C<d&$<�B��5�S�\ܸ
,::4{��n�-�!����H�� ��*tg����t�ƨ4>뿨�%sF���Y�xٴ*BTNu��<�I��ȯ~ڹyɳ�/�3M�YF�4�iD1��'^窏��A��[�S{����we�w���m��"��h'�a+A���6��w���i͇�m-��\��W���c?�XD�wOx�y�D�ۂv������a���nR�+��G"{"8�.�9�Й_�{�{!�;ߔ�u���	�׾e4zJy�3�CmvK��ki�_�wg;gL
C�$�&��C��\�~bR����3��Z��G%e[.��Cd�;F�~?"L(D��>"#�fCd���i�s{]�\u]���Z'?�	B����w#8�Y$ZM�@���%0(NuL�� �����|Z�6����EڿB�`�r:>�fB6�P5�z���-���:���1[l�4J�8���6`�\�D��|�ѧ5��	�Z�@��=��W� ��p��ޠ�l
}u;��U�߼���o��>�ځ ��0���o�D��(�Zk�6@|�XHP/W��2h�ڼ]&�;h�*�.�[I��_.�D��x���<�}����[�W�vS�� Ys搹
+�e��i��~!��qZ���y�:>^{���2�� �s��H`uyS�GVIp�C)5=l��q:�0��J ��O!��5�sS���)uP�n{���S����F���t0�o�5��f(#�f-|�&���2ߛӡ4��j%>��(�]���}Ϥ��7��]8D�'di���A��@B G?��#4�a�6R#�8KM�z��0�w#���q��E�f�.�,*���3m�\��Ӛ��m�x�c�9p���kv��N
�w��A��bxv��T�)�R/O��=����"���\�$kzay����L�A?j��b�*������s�)�lj]��Sn	�n(#��Ahv���H~�|�P�U�G\!��j0<�f"攍�������+"Κ�h�1I��`��+M`�p��	�l�F�޸��
J�
���`����%�
+T#�E�o�sT]p���:{�H2�D��~�@?�w4I����	���P&�	�&�)�ҙ4T��v�~U)������
��f�)�#�<z"�=#".�a��Xͨp�6�q�[�g|�?]����W�!s�Q}\3�
��.�1
+4Jނ
r�ǼczA�䝇�B��>�Z��5# ��9V�
+�z%]a&���u��I�6��JZ"S2+���72U�4b�L�+;�ϕE�Oc%1�a��!���t/_	>�S8��1����̳�҅��̈Okىo�����@�1N��$I�x�Nv�L��$T�O�T�Ӛ�U����9�i�t��m��?14jwgo���Ø�"�ڪ�l��~�b�Z���`4��,A��Tw{�B��`�S랮vv�,��"���}P�����iI��M3,
�AU�d'�&^�va�1���8�3`B�0�!��5�S���])�W<Ew�1Lt��He��
�j����<H5��=v�5J�d-.�'0~1�,�-]������e�l�|9H��;t�j�q�zT��"�m"��=J��
ߣl4b��(�ּGM�vЊ��U�goHuX�?�%t�*��Io���Tk=�<%�y�w�3ߩ�;T��mm7�d12`Bň@PS���Ӛ��m�l�q汵i7�⎁�b���ҽ
+5یv���T�r���k��ܺa���'�^�ɖq�c��OQwOo����X���ݐ���%�{�C�[�,�K���eh���t`����iY������뮸�HJ�
+`�ӹ���ow�t�N�/^?l\ ���:��ğj=�w�E��Z�1�q���]�y�'�|na����^��k�"�|�z;B�T}J�_�Dendstream
+endobj
+4218 0 obj <<
 /Type /Page
-/Contents 2938 0 R
-/Resources 2936 0 R
+/Contents 4219 0 R
+/Resources 4217 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2973 0 R
+/Parent 4254 0 R
 >> endobj
-2939 0 obj <<
-/D [2937 0 R /XYZ 71.731 729.265 null]
+4220 0 obj <<
+/D [4218 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2940 0 obj <<
-/D [2937 0 R /XYZ 71.731 741.22 null]
+4221 0 obj <<
+/D [4218 0 R /XYZ 71.731 741.22 null]
 >> endobj
-2941 0 obj <<
-/D [2937 0 R /XYZ 71.731 718.306 null]
+4222 0 obj <<
+/D [4218 0 R /XYZ 71.731 718.306 null]
 >> endobj
-924 0 obj <<
-/D [2937 0 R /XYZ 71.731 688.254 null]
+1272 0 obj <<
+/D [4218 0 R /XYZ 71.731 688.254 null]
 >> endobj
-534 0 obj <<
-/D [2937 0 R /XYZ 201.827 645.157 null]
+806 0 obj <<
+/D [4218 0 R /XYZ 201.827 645.157 null]
 >> endobj
-2942 0 obj <<
-/D [2937 0 R /XYZ 71.731 636.334 null]
+4223 0 obj <<
+/D [4218 0 R /XYZ 71.731 636.334 null]
 >> endobj
-2943 0 obj <<
-/D [2937 0 R /XYZ 71.731 582.586 null]
+4224 0 obj <<
+/D [4218 0 R /XYZ 71.731 582.586 null]
 >> endobj
-2944 0 obj <<
-/D [2937 0 R /XYZ 71.731 577.605 null]
+4225 0 obj <<
+/D [4218 0 R /XYZ 71.731 577.605 null]
 >> endobj
-2945 0 obj <<
-/D [2937 0 R /XYZ 89.664 556.848 null]
+4226 0 obj <<
+/D [4218 0 R /XYZ 89.664 556.848 null]
 >> endobj
-2946 0 obj <<
-/D [2937 0 R /XYZ 71.731 528.788 null]
+4227 0 obj <<
+/D [4218 0 R /XYZ 71.731 528.788 null]
 >> endobj
-2947 0 obj <<
-/D [2937 0 R /XYZ 89.664 513.012 null]
+4228 0 obj <<
+/D [4218 0 R /XYZ 89.664 513.012 null]
 >> endobj
-2948 0 obj <<
-/D [2937 0 R /XYZ 71.731 485.326 null]
+4229 0 obj <<
+/D [4218 0 R /XYZ 71.731 485.326 null]
 >> endobj
-2949 0 obj <<
-/D [2937 0 R /XYZ 89.664 469.177 null]
+4230 0 obj <<
+/D [4218 0 R /XYZ 89.664 469.177 null]
 >> endobj
-2950 0 obj <<
-/D [2937 0 R /XYZ 71.731 467.02 null]
+4231 0 obj <<
+/D [4218 0 R /XYZ 71.731 467.02 null]
 >> endobj
-2951 0 obj <<
-/D [2937 0 R /XYZ 89.664 451.244 null]
+4232 0 obj <<
+/D [4218 0 R /XYZ 89.664 451.244 null]
 >> endobj
-2952 0 obj <<
-/D [2937 0 R /XYZ 71.731 449.087 null]
+4233 0 obj <<
+/D [4218 0 R /XYZ 71.731 449.087 null]
 >> endobj
-2953 0 obj <<
-/D [2937 0 R /XYZ 89.664 433.311 null]
+4234 0 obj <<
+/D [4218 0 R /XYZ 89.664 433.311 null]
 >> endobj
-2954 0 obj <<
-/D [2937 0 R /XYZ 71.731 431.154 null]
+4235 0 obj <<
+/D [4218 0 R /XYZ 71.731 431.154 null]
 >> endobj
-2955 0 obj <<
-/D [2937 0 R /XYZ 89.664 415.378 null]
+4236 0 obj <<
+/D [4218 0 R /XYZ 89.664 415.378 null]
 >> endobj
-2956 0 obj <<
-/D [2937 0 R /XYZ 71.731 400.987 null]
+4237 0 obj <<
+/D [4218 0 R /XYZ 71.731 400.987 null]
 >> endobj
-2957 0 obj <<
-/D [2937 0 R /XYZ 89.664 384.494 null]
+4238 0 obj <<
+/D [4218 0 R /XYZ 89.664 384.494 null]
 >> endobj
-2958 0 obj <<
-/D [2937 0 R /XYZ 71.731 371.443 null]
+4239 0 obj <<
+/D [4218 0 R /XYZ 71.731 371.443 null]
 >> endobj
-2959 0 obj <<
-/D [2937 0 R /XYZ 89.664 353.61 null]
+4240 0 obj <<
+/D [4218 0 R /XYZ 89.664 353.61 null]
 >> endobj
-2960 0 obj <<
-/D [2937 0 R /XYZ 71.731 351.453 null]
+4241 0 obj <<
+/D [4218 0 R /XYZ 71.731 351.453 null]
 >> endobj
-2961 0 obj <<
-/D [2937 0 R /XYZ 89.664 335.677 null]
+4242 0 obj <<
+/D [4218 0 R /XYZ 89.664 335.677 null]
 >> endobj
-2962 0 obj <<
-/D [2937 0 R /XYZ 71.731 294.666 null]
+4243 0 obj <<
+/D [4218 0 R /XYZ 71.731 294.666 null]
 >> endobj
-2963 0 obj <<
-/D [2937 0 R /XYZ 89.664 278.89 null]
+4244 0 obj <<
+/D [4218 0 R /XYZ 89.664 278.89 null]
 >> endobj
-2964 0 obj <<
-/D [2937 0 R /XYZ 71.731 237.879 null]
+4245 0 obj <<
+/D [4218 0 R /XYZ 71.731 237.879 null]
 >> endobj
-2965 0 obj <<
-/D [2937 0 R /XYZ 89.664 222.103 null]
+4246 0 obj <<
+/D [4218 0 R /XYZ 89.664 222.103 null]
 >> endobj
-2966 0 obj <<
-/D [2937 0 R /XYZ 71.731 206.995 null]
+4247 0 obj <<
+/D [4218 0 R /XYZ 71.731 206.995 null]
 >> endobj
-2967 0 obj <<
-/D [2937 0 R /XYZ 89.664 191.219 null]
+4248 0 obj <<
+/D [4218 0 R /XYZ 89.664 191.219 null]
 >> endobj
-2968 0 obj <<
-/D [2937 0 R /XYZ 71.731 176.111 null]
+4249 0 obj <<
+/D [4218 0 R /XYZ 71.731 176.111 null]
 >> endobj
-2969 0 obj <<
-/D [2937 0 R /XYZ 89.664 160.335 null]
+4250 0 obj <<
+/D [4218 0 R /XYZ 89.664 160.335 null]
 >> endobj
-2970 0 obj <<
-/D [2937 0 R /XYZ 71.731 158.178 null]
+4251 0 obj <<
+/D [4218 0 R /XYZ 71.731 158.178 null]
 >> endobj
-2971 0 obj <<
-/D [2937 0 R /XYZ 89.664 142.402 null]
+4252 0 obj <<
+/D [4218 0 R /XYZ 89.664 142.402 null]
 >> endobj
-2972 0 obj <<
-/D [2937 0 R /XYZ 71.731 135.264 null]
+4253 0 obj <<
+/D [4218 0 R /XYZ 71.731 135.264 null]
 >> endobj
-2936 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F23 733 0 R >>
+4217 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2976 0 obj <<
+4257 0 obj <<
 /Length 2137      
 /Filter /FlateDecode
 >>
 stream
-xڥYK��4��H��j&�v<I�Ӳ��P<Pp��J"�/${���iIݲ,;aj�&�,w��?}�-Nj5�ŋm�ڦ��W�}�ȫW���|�*�w8�Λ���Oߥ�b��ߧ���"�lW�d�ئ�j�%�����u��-�l�]��/���^�[fY$��6��4y_-���DS��oD�kŗ�?~��GgV�nW�]z�r�31=���ֻU���E�ܬ���$��������n5�����$ԭ�dEAc\H���Nt%W8�^��Bu��9�߇P�����!(Gԁ�o�B��^'�����$�R�;�h7+�g]inꦃ[Zى[����d����W=Y��"
-�_�9�dS�E�zg��fJ{��2�z#z�B�R��0��Q-;�e3��3 O�'�|Q�T��'�#��F[�^4M��y��a��I�G\�2YG}Gz�TPd��wnz9��ԩ:<1�U�)�M��[&;����46(��5�Ū��.���rr��Z�{a~>�,I8b]������S6�O��Ŭ%_��MZ��_vl�
��]t\�
-k�Ù
-���;5Rt�	c�т��ڳ��r��F]0Y���~�Z�;�����1xC��a���B���b�I����q��eKq�M�5	~��7�wɒ�Y�2�U�d&�t���h_]��0m!������W\�N�6��0QpBA��3� �A�H���O[g�aʦ?�p���>���b����nz\s�&���,B�=�Q{��y�S�a��8�,����6���`�#�;44lT…b�������}��7�@k��:�|¡���pAZ��7;�n����B�`RO��%��DY�Q;?��@йu�"@C��w!�&y~6���$oK�� �M9��vl��JE%�V�OY	5d&L�(r�?,(����r��\\��������8%�]�|��N3V1�i����Mexz��t]7.@��q��Z�czm(�W|\
j-�,�����;�Br9�4N�
���?�(i��P�I�'��
-�A��.  I��b��֫$�7�f�D���MS=��Bn��
-x�6��ī,�_Kƹ�g�f�s��N��p�qS��)Z]_,��޺)fL�!Y�Q��
-�z�F������8�U��8ҁP��as9>@R��G�k�ګ,=x�[�E��l2�25b�����R|_~�!����	+�‡��a
-�3�=�=��X7Y��-���{�zz�Ə0St���
�'Rgu��Pe1*��$8w�H�9ו��P���7�~���<�aV}�	�&��s9C(<蕽 �~)3����p�R�tQ���GI)�.�ƿ��z�oL�M;7�eq�r`C�5��Y�gm��Н�8@��h��ݕ����H���*
-WaL��I).�j'�@;	��^��w/Cj��w!iz�%c�}��j�A�<"H�����Ӡַ���KʦlꜺ��@U���-�R�Y�G�:��Ӯf���b�iv�ׁN�s���Bl�d�~���DZ�n���	���I��P=���5�#[����W��F�o�8�ul�Qn����TYY����~�9r�Ad�g6ޥ@�h�	�g�Q��F�
-d�Ο�0�=�tgNC��ӭt�@�f�
�;��ܹ\��	Xǃ�~�|��lus��ˌ=���+�A,\���o��b�k����;f�;�v�X�m���!��SY���Z�-&W/��L7_ʎx%#L���H8��	�ͫ�d���L6s�zreYa�Q�ĩ�W�i�;�A&t196���%_��A�P����XQRXng��Q�
-%	QM
-{[öl�hҏ��-��H����+F���X<?���:v��A�a7�)�]��+��s�!�U����Sq䈇"����Ll�x���C�����>��>>��a8��Ww{�%�U���k1=x�Gघ���
���k�Oz���41·�R+7G��d����[�pD4)�����_�x�L����%?R_������?�Y����{S!\&h�ݿv�Q+J=���,;��^	p��&����|����wiSe���Xe�@1Z��D��SD�%up������9p�[�����Ô���,٭�		1is��T�?����endstream
-endobj
-2975 0 obj <<
+xڥYߓ�6~��"�/%3�i��I��w��k�m�����]Ԇ�K��ʶd�!��vvf�H����d�����:^�S�I���6���g����{��r��yy��۷i:�.����~7KW�E�f�u�,6Y2�/��^4
�
+�y~�d��������{�v�e����s;�λyyղVԕ�A�R|�������;��t��nҋ�Ӝ��ɺ7�<��,���X.��j}�'YĤ`U����7˨�������%+
+�B��j��-��a�
+.���W���ޅ����<�A9�
+伯�a�L8��u�Iĥ�w��nV�Ϻ��Tu����.����b�1��?vd��(�~Q�8����.�U�8�N�40S�Ke�����B�Z�����^�j�)p/���y���՛����M�
+#��Z[�Q4M��y
��a��AT{\�<YF]Kz�T��F�Twr��Suxb��%R��%7L�����h�Q8�k�̎M�q]
+6�0���zɵ���|�Y�p���Q�Ձ��l`8G�YC���ț������,�śh?�V�o�3hg]{��h,��p�Qǵg+���2獪`�b+�l5L)��C�]��c��6#4��\���.
ž����W��$1˚���T_k�&�o��%/Y�2�U#�d&�t��^i_\��0m!�������\�V�6�r�(8� g��	w�� G$
+�s�ç�ٲߟ����.%���f?������b�=��G���m���¨����;-����4�h���+LzXeX�N�!�L�nWӰQ	���e
^�������Z�D�����ֆ�B<��t�7e� ���:�6�-$$������;�εK*-�
ɨ2���DK��)Y΃p�e���e6*
��?�Q�>3aRG�c�aA!��|����⢵�6o���)A�
+�c�t�	��~N=��n*������ajn��t���kC����jPk`�T�
&ܩ�[��a��������EIC$���'H�>1\�U�j�tI�L�`m�\$魱6�$��D��ヨ,��<�P�Wl��I�Ȳ��d�q|2n��1lj�0*1�7Eə��uU��2ﵛb6���G5(?\YM��4]��|r�����3�t ����\�����Q�Z��*K��|R+2��L����X��ۃz|�b��U�p��p��b�
+;�C��0M�ÞɞQX���c�GF٭W==��G�)ZE���j����@g����H�;R�ݜ���t(AB��F�|
+�nݎ0�]�
+�&��s9C(��=!�~)3����p�R�tQ���GI)�.��?	��z�oL�M;7�e��rw`C�5��Y�Gm�z�Н�0@��h��ܕ����H���*
+Wa���Q).�j'�@;	��^��w/Cj��w&iz�%c�}Ʊj�^�< H����kӠV����Kʦl윪;>��́�=�\�Y�W�Z���f���b�hv�ׁN�s���Ll��d�~����DZ�����	���I�F_=���5�#[����w��Z���8�u��An����Ty���S���6q��Ș�6ޥ@�h�	�'�A���
+d���0�ܸ9�}�$����k^�5��W��nr�r7'`-r�E��s��Յ�/3�ܺ��,{�0`p���U
+D�ͯ�v��EP��a b���ž�ljO	d�_�kA��H\�c�3�|);╌0�JF#U�H�&�6����˺�2}��a���e�m#D��B\M�q������0����|}��B
+��lEIa��l%+8�$D5)�m
۲��I?���ԫ��#	Gz�)Ҏb���{�HбKD���0
�O��B�_	՜I�]
���#G<����'bS�_D�v���8C����R`aÇ��!�'�J���c�$}�ʞ^�b}�"���������]gz{��QO���&�y�Vj��([��l��zkFe�Y���/2����^��K���q���R�����淦B8Oж�ảF�$z���Y�?xs��M4K���8m��Ҧ� gA��Z�b���j�2�zK���9-����s�j�����C�)�ϡY�Y,���ݞ��9��/���endstream
+endobj
+4256 0 obj <<
 /Type /Page
-/Contents 2976 0 R
-/Resources 2974 0 R
+/Contents 4257 0 R
+/Resources 4255 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2973 0 R
+/Parent 4254 0 R
 >> endobj
-2977 0 obj <<
-/D [2975 0 R /XYZ 71.731 729.265 null]
+4258 0 obj <<
+/D [4256 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2978 0 obj <<
-/D [2975 0 R /XYZ 71.731 644.419 null]
+4259 0 obj <<
+/D [4256 0 R /XYZ 71.731 644.419 null]
 >> endobj
-2979 0 obj <<
-/D [2975 0 R /XYZ 71.731 561.729 null]
+4260 0 obj <<
+/D [4256 0 R /XYZ 71.731 561.729 null]
 >> endobj
-925 0 obj <<
-/D [2975 0 R /XYZ 71.731 530.844 null]
+1273 0 obj <<
+/D [4256 0 R /XYZ 71.731 530.844 null]
 >> endobj
-538 0 obj <<
-/D [2975 0 R /XYZ 279.296 487.747 null]
+810 0 obj <<
+/D [4256 0 R /XYZ 279.296 487.747 null]
 >> endobj
-2980 0 obj <<
-/D [2975 0 R /XYZ 71.731 475.309 null]
+4261 0 obj <<
+/D [4256 0 R /XYZ 71.731 475.309 null]
 >> endobj
-2981 0 obj <<
-/D [2975 0 R /XYZ 71.731 422.253 null]
+4262 0 obj <<
+/D [4256 0 R /XYZ 71.731 422.253 null]
 >> endobj
-2982 0 obj <<
-/D [2975 0 R /XYZ 71.731 352.514 null]
+4263 0 obj <<
+/D [4256 0 R /XYZ 71.731 352.514 null]
 >> endobj
-926 0 obj <<
-/D [2975 0 R /XYZ 71.731 308.679 null]
+1274 0 obj <<
+/D [4256 0 R /XYZ 71.731 308.679 null]
 >> endobj
-542 0 obj <<
-/D [2975 0 R /XYZ 303.224 263.524 null]
+814 0 obj <<
+/D [4256 0 R /XYZ 303.224 263.524 null]
 >> endobj
-2983 0 obj <<
-/D [2975 0 R /XYZ 71.731 254.701 null]
+4264 0 obj <<
+/D [4256 0 R /XYZ 71.731 254.701 null]
 >> endobj
-2984 0 obj <<
-/D [2975 0 R /XYZ 71.731 208.924 null]
+4265 0 obj <<
+/D [4256 0 R /XYZ 71.731 208.924 null]
 >> endobj
-927 0 obj <<
-/D [2975 0 R /XYZ 71.731 165.088 null]
+1275 0 obj <<
+/D [4256 0 R /XYZ 71.731 165.088 null]
 >> endobj
-546 0 obj <<
-/D [2975 0 R /XYZ 394.793 121.991 null]
+818 0 obj <<
+/D [4256 0 R /XYZ 394.793 121.991 null]
 >> endobj
-2985 0 obj <<
-/D [2975 0 R /XYZ 71.731 109.553 null]
+4266 0 obj <<
+/D [4256 0 R /XYZ 71.731 109.553 null]
 >> endobj
-2974 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F23 733 0 R >>
+4255 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2988 0 obj <<
-/Length 1914      
+4269 0 obj <<
+/Length 1922      
 /Filter /FlateDecode
 >>
 stream
-xڝYߓ�6~��“���8�yK�\�N�䮝�4}�A�j�q��w��B8��{��	i�������"��p�	��.�Ώ�ER�����M�G��!�֘�o������=���b}����b���m-�ӿ�7UE˔}[�Fq����������e{�r��(�Cx��УeC�K��g��R����?ݼ{6f�덿ۮ_�njL�6��@�������_�Q��-�a<SW�.��59��juM�hj�_F����4em��C8�䍞Qf>y��Mx[N����SD4U�,�@�jaF���
. ��@<�a�ﴧ��/����R���hEQ���F«ex��z����i�����c�5�f�S��.x��&y�3m�+r8�T�~X�i�H��m6G�95떪���x�'w���N�M�<�M80��h�I"���?k��93�5G�Ir1��ZJo�$!,�zŸ{�����zbf�<��E�A��ϯrB�R`@�P���{9`�Y:��|յ2��L�^
��=��k��y�	���o�zS�/-�����MzF�-b�U��%d���nV������Y�}o-���H޹�Cri��l��u^j侴�n�~#\anV����X���;���Q.��ʆZ�*���^OU�$A^�RaOz&��h�Hm>3!w��kA����Ά�
KT���&#��0䇤/Z��=%��@%��6�[�-���#:d�����L=��8��C����u����W�RhT�Y>�B?�w�g��ul
-2/�zm�S]>�}���9T輒t�h��}g�:�7	/�����v`��Js����H�&
-�w!&8��������d�Q���}����VW|R_����ך��DEFr�x0PZC���0;	�dK�	lYLeb
��L�6u��I�t�V��)P N3�
-�IS�C݌2�lv`%‚q�F)=��9ڹB�s����mL�ȓ��%����U�x�䢯���ᰱxWr&�n�P�`�o|�� i�tY
-I@shZ{ڜ(uUrI��G'�V\OX?�����
-�`ѹEN	\���҃嗕ug��2�my���p��E�ˇ�[���/D��%ImF-����"��oB+�%P�!0{"����Q->Pۗ�������U����Zc��WcbE����Duj�VW�{����x\��"KS����u�-��I�N��.Iy�}9\KuӶUP�1�&P.�t@�&�⹦	�*��@;R�V��dt�j�����-�\Oo�'��tXB�S3�W��o���^�V�y���*�+��0����6mW��G�����4�Z���:xx��B�>�x��ij�k��R�r=Y3Z���J��k�q�d��V;(^�+r�{�R_w�ғg�of����a/������h^�6
���놎iTD�j֌Z1���tO����'/܀�H�2\)�д�Õ�ܑZ:���	��"�	�M�����뻻өs�([_�N[�p���Ӭ����n�w$��x�;��<XZR�%Cs�3u�h��-���X��\ЋJ�,QgT���X����c©'��R�$+A��+S���j�5����(ֹ�a��NJ�6��cM�x���`������*�2��*�1ٳ>���n��$���1t��W��sD�ޛ�R�\_/�)���Cδ&YB=������1).��<9%,?'����.;̜���D�溷��92��s��=�T����UI�r����'�G�����%��!�*�Z=��VU�O��q�d`��g<��s�ϊ#����x2�&�NS�^�΃�L棁��:�j��c1%
-3q�`f�
-oyj���
�?�AX֌eX��[9���/2������
7/�����G[?�p��M0���x�~�:�endstream
-endobj
-2987 0 obj <<
+xڝY�s�6~�_��K�C��ؾ�k/�k�?f.ig:�>( l��q����+�B@�v���i�������"��p�	�M���_�Nj��
+{����P���Cn�1�?_�>F�b����s���~ŋM����z��彭*Z����fރ����]�<.�ث��ƣT�yǓvz-�0^��?����.�~����٘G��^�njL_oz��`�Gww��_����y[h�x��D]D�k�����2���e���7��)k��©Pw%o�b0���s=o��rz�/<e��`MS���2C�r�0����W"��@<7���iOU5_�����8g�ъ�b�卄W�0�N5���m!�&9aΑ!4�k6͆�6967\�n�OM�g&ژk���T��_�i��
+��m��6�N���uKU�'m<�;��p��&h��$�J4�(��g����ޜƚ��$��I-��J��sY=�������zbf�<��E�A��ϯrB�R`�:��"���r�$�t����2��L�^
��=��k��y�	���o�zS�/-�i;��~��L�&=�"�Xp��f	y��b
7��
+H�d|��ƾw���{$��ȡ	��Y�	O6�:/5r_ZR7H��07��bnt�f|�Tb�(jxeC�GD��EOU�$A^�RaOz&��h�Hm>3!w��kA����Ά�
KT���&#��0䇤/Z��=%�+�@%��6�[�-���#:d�hL_��L=��8���}����u����W�RhT�Y>[�~�Ϟ�Ql
+2/�zm�S]>�}���9T輒t�h��}'�:�7	/�����v`��Js����H�&
+�w!&8����w���d�Q���]����VW|R_����ך��DEFr�x0PZC���0;	�dK�	lYLeb
��L�6u��I�t�V��)P N3�
+�IS�C݌2�l�g%‚q�F)=��9ڹB�s����mL�ȓ��%����U�x�䢯���ᰱx(�9�	7[(���7>�U��a�,��$�9���)uUrI��G'�V\OX?������`ѹE�	\���҃��ug��2�my���p��E����[���/D��K���Z[A�ER�߄VNK�� B`�D.K���Z|���yK�mi%J��%MC�ƪ�/�Ċ���F��Ժ��2�|!m��l!NSE��5�
�4[���,���\��H�r���m��rc�M�\���M��sMjUԩ�>v8���\�9����.wq3D[h%��ޢO��鰄�9�fd�0���(�	��f�,���!U$TUa����mڮ2���T�=�)x�i\�Ýu��j��}�� �gM����z�f�:[#(��ײ���
+�vP���X����OWts4q�ғg�of����a/������h^�6
���놎iTD�j֌Z1���tO����'/܀�H�2\)�д�Õ�ܑZ:���	��"�	�M����՛���s��/[_�N[o���Ӭ���Q��I�'^:�Nl/����n��@���L�<Z�l��zD,F^/�E%Y��3�Q�G��OZ��1�Ԋt�X�� ����v���9`�y���:��1��I)�fU}l���s���A�3y^�X|R�7&{����MW�dp48����|�u��/���&��
+�`�3�I���POsrp�$kL�s�:ON	��ω󾮳�N3���L?z���-9p�E����;(&xς-��?�}Q�:�j?t��Q�Q����s��{Ⱥ
+�V'�UU~�S�eE�?�X����d�����H?Bbj(������T����/��h������f�XL�Ą�L9�ٺ�[�Z��F�O�5�C���VE������!�n�o�ͫ�$�CF?$����΢*�`�ǟ�Z���;/endstream
+endobj
+4268 0 obj <<
 /Type /Page
-/Contents 2988 0 R
-/Resources 2986 0 R
+/Contents 4269 0 R
+/Resources 4267 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2973 0 R
+/Parent 4254 0 R
 >> endobj
-2989 0 obj <<
-/D [2987 0 R /XYZ 71.731 729.265 null]
+4270 0 obj <<
+/D [4268 0 R /XYZ 71.731 729.265 null]
 >> endobj
-2990 0 obj <<
-/D [2987 0 R /XYZ 71.731 662.351 null]
+4271 0 obj <<
+/D [4268 0 R /XYZ 71.731 662.351 null]
 >> endobj
-928 0 obj <<
-/D [2987 0 R /XYZ 71.731 618.516 null]
+1276 0 obj <<
+/D [4268 0 R /XYZ 71.731 618.516 null]
 >> endobj
-550 0 obj <<
-/D [2987 0 R /XYZ 182.287 575.418 null]
+822 0 obj <<
+/D [4268 0 R /XYZ 182.287 575.418 null]
 >> endobj
-2991 0 obj <<
-/D [2987 0 R /XYZ 71.731 566.595 null]
+4272 0 obj <<
+/D [4268 0 R /XYZ 71.731 566.595 null]
 >> endobj
-929 0 obj <<
-/D [2987 0 R /XYZ 71.731 481.964 null]
+1277 0 obj <<
+/D [4268 0 R /XYZ 71.731 481.964 null]
 >> endobj
-554 0 obj <<
-/D [2987 0 R /XYZ 188.364 438.866 null]
+826 0 obj <<
+/D [4268 0 R /XYZ 188.364 438.866 null]
 >> endobj
-2992 0 obj <<
-/D [2987 0 R /XYZ 71.731 430.043 null]
+4273 0 obj <<
+/D [4268 0 R /XYZ 71.731 430.043 null]
 >> endobj
-930 0 obj <<
-/D [2987 0 R /XYZ 71.731 371.315 null]
+1278 0 obj <<
+/D [4268 0 R /XYZ 71.731 371.315 null]
 >> endobj
-558 0 obj <<
-/D [2987 0 R /XYZ 365.182 328.217 null]
+830 0 obj <<
+/D [4268 0 R /XYZ 365.182 328.217 null]
 >> endobj
-2993 0 obj <<
-/D [2987 0 R /XYZ 71.731 319.394 null]
+4274 0 obj <<
+/D [4268 0 R /XYZ 71.731 319.394 null]
 >> endobj
-2994 0 obj <<
-/D [2987 0 R /XYZ 179.356 280.755 null]
+4275 0 obj <<
+/D [4268 0 R /XYZ 179.356 280.755 null]
 >> endobj
-2995 0 obj <<
-/D [2987 0 R /XYZ 71.731 273.617 null]
+4276 0 obj <<
+/D [4268 0 R /XYZ 71.731 273.617 null]
 >> endobj
-931 0 obj <<
-/D [2987 0 R /XYZ 71.731 203.879 null]
+1279 0 obj <<
+/D [4268 0 R /XYZ 71.731 203.879 null]
 >> endobj
-562 0 obj <<
-/D [2987 0 R /XYZ 433.251 160.781 null]
+834 0 obj <<
+/D [4268 0 R /XYZ 433.251 160.781 null]
 >> endobj
-2996 0 obj <<
-/D [2987 0 R /XYZ 71.731 148.61 null]
+4277 0 obj <<
+/D [4268 0 R /XYZ 71.731 148.61 null]
 >> endobj
-2997 0 obj <<
-/D [2987 0 R /XYZ 71.731 124.114 null]
+4278 0 obj <<
+/D [4268 0 R /XYZ 71.731 124.114 null]
 >> endobj
-2986 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R /F23 733 0 R >>
+4267 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R /F23 1013 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3000 0 obj <<
+4281 0 obj <<
 /Length 861       
 /Filter /FlateDecode
 >>
 stream
-xڕV]o�0}�WD<%RI�|�D}�혶��iۃIX
1�M)�~vl'��B"���{���X��+n�����0��Uϳ��C��e���6�]�����0���������D�����z���9?��O�z><>���E6u��FHo!�f��UrL*���b���}鍳V�n��"7{������C	=�0
��K� k�wd����Q�Xr��y��j�k<��GN��ߟ���	"{�m��}B��{�k��L=Vj‰z�ڳ3��+�T`�)�9�go�f
-V�5�j�"�ﴙ��^H.�j��
-D�m�#�b�U�������;یуL�L���@$���
��>�V�l
��܀|�ˈ�_�7����k��`l�Mɜo%���w��ho����A��:���rB�Ï�!
�S�K#����B�?�fj�}O����?�:�^�y�"'�	R��?vb�Fr卟��F$Bg=����?$L�N�q£���#X�׮vJ]���U^n
-�K f�o��XM��0/M���bߕ���T5�q2�L�8Ѡwd�K(�Mq�V*r�*���L�)6��oSr��741�`q�,��&#ۥ��sm�TH��(w��܉�M�}7�@M��_�Ն��a�c6ޣ����0�5ܿ1�|��E��-V
��Du��9�.(!����Im�Ss."�؜'��	�KL���jp�.M�
kJDY[�9~��u�r��
-3-d����3�y��T�RX��<!���҆�/�(�C��^�:�A+��u��Q4d�:��5�<�ސ��BuW
S{-Z�1�qn:�y$�k)n��oGa�& ~���n9�>E~�z�1"}��܅���?&H�?endstream
-endobj
-2999 0 obj <<
+xڕVQo�0~�WD<%RI��>юvL[W�tҴ��$��8��R����N @G�Dlǹ���|�'~�����Ǯ?
+�t��x��z�@o���Mz��A`�n<
+�diñ��;}+�~ۓ�DE�ߜ�z��Uχ�g5�w�ЦN���O$�`oP�!ǤP�_q�
+���ɗ�4i`�A����]�f�t?���HBw����pX#�#�<{G�j��?^������9�gֳG'��7���@D�k��L=Wej‰z�ڳ3
+�+��a�)^8�gW\3��P5ސ/w���X���H5��Q�E���n�dUp5���0��'���6ct?S�ӤA�t�����
��>�m
>�܀|�ˈ�_��"�lm�Z�:[hs��[�!��4F5����|}���18+��������9J�M��b�ß�5J>OgZ
�LƟ|�ί��v�������;�g#�������F$Bg=����?$L�N�q£���#X�׮vr]���E�W��%��7Lq�&Bd��&��i��ʈ�jo��
�8�&c�i�;R���bS\���\�
+qv1�h�M��۔\f��
M�#�2����v-<�T'��6��]?:w"b�jߍCP�pA��i��@�kX����(��d�}
�o�4_�r�dg�U�i(QliΩJ�3��pR[�����H 6�I!f-��+�����ܔ�ɰ���D�������w�Y�(%�-3�A�O�(:S��^Le���<G�	��5�6�tMD"]6���
Z����UFѐ��D�@���${Cz��]uۥhu�7ư�Y1th
�8H��R��=Dߎ��g�w�O햣�S���Ɗt
+<p��s��3.��endstream
+endobj
+4280 0 obj <<
 /Type /Page
-/Contents 3000 0 R
-/Resources 2998 0 R
+/Contents 4281 0 R
+/Resources 4279 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2973 0 R
+/Parent 4254 0 R
 >> endobj
-3001 0 obj <<
-/D [2999 0 R /XYZ 71.731 729.265 null]
+4282 0 obj <<
+/D [4280 0 R /XYZ 71.731 729.265 null]
 >> endobj
-3002 0 obj <<
-/D [2999 0 R /XYZ 71.731 718.306 null]
+4283 0 obj <<
+/D [4280 0 R /XYZ 71.731 718.306 null]
 >> endobj
-3003 0 obj <<
-/D [2999 0 R /XYZ 71.731 666.452 null]
+4284 0 obj <<
+/D [4280 0 R /XYZ 71.731 666.452 null]
 >> endobj
-3004 0 obj <<
-/D [2999 0 R /XYZ 71.731 624.458 null]
+4285 0 obj <<
+/D [4280 0 R /XYZ 71.731 624.458 null]
 >> endobj
-2998 0 obj <<
-/Font << /F33 834 0 R /F27 740 0 R >>
+4279 0 obj <<
+/Font << /F33 1116 0 R /F27 1020 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3007 0 obj <<
-/Length 1716      
+4288 0 obj <<
+/Length 1717      
 /Filter /FlateDecode
 >>
 stream
-xڭXێ�6}߯0���W��y˥I���l��"�%�""��D�������@�XX�F3�3g����&�(	��d��Ѧ8]��#<�x��ELjD�WzQ��,
6���ۻ��$��Q��;�(~�Ho�ʿ�k��y��}��s���� R�}/��y$I�;V�*�Ƥ�r��,�wx����Q%�}o����������M�����н��iw��іv���^�yS�.*x�.?����7^�Om��F<�7^����7��^�FF����~�?�=k����\�^gƴd-��-��i`���i�Q	�M
-��+���Ћ|����\��h/:V���W�ƌEA;����Z9,�G�f�o��Y]��$�ƒ��Q�-����<��좣b@��s�XQ���?�
- m�pf@"j_*�ֻ��ڎ���~��x��4r����h��p�%(
c�d�!1��;.1�1�c��ޔc�D������^ﱳX�2�|�e.�}�S�a Pw��l9w��{��m�f��Q!�Uu�\Y�B���<S���b��cŋ��d\�l���]�g���{��{�M�0g؁wë���픯sut�~�����QuY�-o�un"�i���z��|�K���>���ںU��(�煉j�)�j儭�{K�O@���c�z�<Q(���c{j���GL6�+
-H*hnB������d�n#?�X(:�g��dOn�FT��o���s��+!�K���9�{��e5y��.h�5y=��Q�եwa%�dr�e*��Ca&Ѥ��o��z鯞εnu�{�a��R�F_AH!8B}���-���Yv���R^Kž��ȯ�h_���M�.K��xw�)y�{�7'^����"N�/yYJ�J�'XF�����hWo��0�֦;���b���,D8L6�ȝ�3�:�F)q!�v�v	r]/%cL�W2M�;��\(gw6Dy����BѱVXyC�O1�k~�|O�(3�]�пvi�Ko�x������]�_�>������l���/IB��g�w����Z�ߊ��ǟ���OCn�*9N r����z��Ʌ�V���
F�5}�4�m�V���J�8w-�#/&pCݎ*z��lK�	�eLZ3��V�`*��#��rB����9!r�ۈ�$�j��4F؟
-�{�mS�SK2�~�Z��di9"��0��).Ð���O����q.��f�:9/N��'Gu��!�n�>�I��?���a<�k���*Qqd/<#�2����lý���kVN��k��W;,Il�T���xR#�s;���������V�M
-�3�������%Q����|j,{n\�1PZt�.��^�-j��(���Y��(n�[�7�j��Iׁ���!�2�J��x�Q]]�xޝ��	���B�����
-:$�D-�(M���A���v_$��+芌�:����S�P'3A����ǩ�>�&8Ġ�g���ݣjbm�jb�G=�4�0�P�mc�M����i?�㾢��z�Yc� �}�n�=��S���n=��0?�9��H@�n;�x�/tn�I��^
-3��'}����3�itv���5My����i�n���0o��V�����,����@1���fm���"�sG���dwD�-�
-���X�'0w��v������d5���)���@�M�0�q2d�\F�`\eendstream
-endobj
-3006 0 obj <<
+xڭXێ�6}߯0���W��y˥I���l��"�%�""��D�������@�XX�F3�3g����&�(	��d��Ѧ8]��#<�x��ELjD�WzQ��,
6���ۻ��$��Q��;�(~�Ho�ʿ�k��y��}��s���� R�}/��y$I�;V�*�Ƥ�r��,�wx����Q%�}o����������M�����н��iw��іv���^�yS�.*x�.?����7^�Om��F<�7^����7��^�FF����~�?�=k����\�^gƴd-��-��i`���i�Q�S@%���Xa�?�^��ό��:dG{ѱ�lܼ�7f,
+ډ\�0���a�H?�5�~{>���:� �ώZ�h9u�}䡴�`B�KŊJǿ�7��V0�i�3Q�Rɽ��%��v��?�s�0��^����+OPtD�V��,Ai$k����q�y�Q[���[$���Dm��z���
+���/s���"
���p4e˹c��#WnC5{���X�����R�\�䙺���+^��'��es$���J=��'���o�9��^uuwn�|��C��#�;Xg�w���Jly{�saOkF׳��]���Q�f�
�֭�VGi>/LTs�M��U+'l
�[z}R�H�+���B��67�S�����>b�Y]Q@RAs�����&v���:@��=�5${r�4�ʅ}�%�O_		\zT?�	��-���u�@C����̏��.�+�'����(SQ��c0�&E}3��K��p�u�{����+
�6�
+�@
+��Sen9>�HͲ����Z�(��TF~%D���h��pY"M?Ļ�Mɋ�#ȿ9����q���RZW�8�2��own6�@��x��A�6=�9��O7hd!�a��F���1��7J�)�{�K@��z)c
+��i2����B9��!ʻ��F������r��x�y]���{�u@��E����K�\z�ƛE~F�ϭ�J�2��!}�$oug�>�D~I�8�?+�#w���ڨ�V�6g=����|�r+V�q�f���۞��L.����:���m0*����m3��
WZƹkyO�y1��vT��T�e[�H8.cҚE�RSq&��"�F���	�K�F%QWk��1��T��[0o����2X���s��� #H�٥�I�Oq��4~�w�s�ؘ0�p��yq�5?	8�˝v��M�f���&�\#@� @�dV���#{���I���e�dg^�r2�_�U��aIb3��ܜœ��ہM,�F�.�W��oR����G��%.�j�/�Sc�s㊌������u��rnQ���EY`�/̒@�p3�r�T[�NҸD$τI7�� �P�Nƻ�������} O<O��6v�uVС I&j�Ei�-�
����"���]AWdt�	�����Z8�	�d�G8N�	5�! ?KMF�Uk3U3<�A�q����Zo{^hJ�5LN�y����K��9���t+��D�
+&�vp{�1�������G:tp�Q���|�scN�v��P��~>�'>$��N�����W�i�w�O3w�%|�y#��jD����g��G�q�W5k㍌9�;R�  �#��fh��0�P��O.��<���#W��h�?��'����7��H�规� !�&�Q�@�,��-r�?�)\�endstream
+endobj
+4287 0 obj <<
 /Type /Page
-/Contents 3007 0 R
-/Resources 3005 0 R
+/Contents 4288 0 R
+/Resources 4286 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2973 0 R
-/Annots [ 3054 0 R ]
+/Parent 4254 0 R
+/Annots [ 4334 0 R ]
 >> endobj
-3054 0 obj <<
+4334 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
 /Rect [375.699 108.101 435.474 117.012]
 /Subtype /Link
 /A << /S /GoTo /D (http-apache) >>
 >> endobj
-3008 0 obj <<
-/D [3006 0 R /XYZ 71.731 729.265 null]
+4289 0 obj <<
+/D [4287 0 R /XYZ 71.731 729.265 null]
 >> endobj
-932 0 obj <<
-/D [3006 0 R /XYZ 71.731 718.306 null]
+1280 0 obj <<
+/D [4287 0 R /XYZ 71.731 718.306 null]
 >> endobj
-566 0 obj <<
-/D [3006 0 R /XYZ 160.355 703.236 null]
+838 0 obj <<
+/D [4287 0 R /XYZ 160.355 703.236 null]
 >> endobj
-3009 0 obj <<
-/D [3006 0 R /XYZ 71.731 692.504 null]
+4290 0 obj <<
+/D [4287 0 R /XYZ 71.731 692.504 null]
 >> endobj
-570 0 obj <<
-/D [3006 0 R /XYZ 208.364 644.101 null]
+842 0 obj <<
+/D [4287 0 R /XYZ 208.364 644.101 null]
 >> endobj
-3010 0 obj <<
-/D [3006 0 R /XYZ 71.731 629.175 null]
+2881 0 obj <<
+/D [4287 0 R /XYZ 71.731 629.175 null]
 >> endobj
-574 0 obj <<
-/D [3006 0 R /XYZ 117.14 620.82 null]
+846 0 obj <<
+/D [4287 0 R /XYZ 117.14 620.82 null]
 >> endobj
-3011 0 obj <<
-/D [3006 0 R /XYZ 71.731 615.714 null]
+4291 0 obj <<
+/D [4287 0 R /XYZ 71.731 615.714 null]
 >> endobj
-3012 0 obj <<
-/D [3006 0 R /XYZ 71.731 610.733 null]
+4292 0 obj <<
+/D [4287 0 R /XYZ 71.731 610.733 null]
 >> endobj
-3013 0 obj <<
-/D [3006 0 R /XYZ 117.937 584.955 null]
+4293 0 obj <<
+/D [4287 0 R /XYZ 117.937 584.955 null]
 >> endobj
-3014 0 obj <<
-/D [3006 0 R /XYZ 289.502 572.003 null]
+4294 0 obj <<
+/D [4287 0 R /XYZ 289.502 572.003 null]
 >> endobj
-3015 0 obj <<
-/D [3006 0 R /XYZ 71.731 536.138 null]
+4295 0 obj <<
+/D [4287 0 R /XYZ 71.731 536.138 null]
 >> endobj
-578 0 obj <<
-/D [3006 0 R /XYZ 86.646 483.825 null]
+850 0 obj <<
+/D [4287 0 R /XYZ 86.646 483.825 null]
 >> endobj
-3016 0 obj <<
-/D [3006 0 R /XYZ 71.731 473.496 null]
+4296 0 obj <<
+/D [4287 0 R /XYZ 71.731 473.496 null]
 >> endobj
-582 0 obj <<
-/D [3006 0 R /XYZ 107.616 460.544 null]
+854 0 obj <<
+/D [4287 0 R /XYZ 107.616 460.544 null]
 >> endobj
-3017 0 obj <<
-/D [3006 0 R /XYZ 71.731 453.501 null]
+4297 0 obj <<
+/D [4287 0 R /XYZ 71.731 453.501 null]
 >> endobj
-3018 0 obj <<
-/D [3006 0 R /XYZ 71.731 448.519 null]
+4298 0 obj <<
+/D [4287 0 R /XYZ 71.731 448.519 null]
 >> endobj
-3019 0 obj <<
-/D [3006 0 R /XYZ 287.509 411.727 null]
+4299 0 obj <<
+/D [4287 0 R /XYZ 287.509 411.727 null]
 >> endobj
-3020 0 obj <<
-/D [3006 0 R /XYZ 422.881 411.727 null]
+4300 0 obj <<
+/D [4287 0 R /XYZ 422.881 411.727 null]
 >> endobj
-3021 0 obj <<
-/D [3006 0 R /XYZ 71.731 398.676 null]
+4301 0 obj <<
+/D [4287 0 R /XYZ 71.731 398.676 null]
 >> endobj
-3022 0 obj <<
-/D [3006 0 R /XYZ 71.731 384.728 null]
+4302 0 obj <<
+/D [4287 0 R /XYZ 71.731 384.728 null]
 >> endobj
-586 0 obj <<
-/D [3006 0 R /XYZ 320.85 369.286 null]
+858 0 obj <<
+/D [4287 0 R /XYZ 320.85 369.286 null]
 >> endobj
-3023 0 obj <<
-/D [3006 0 R /XYZ 71.731 356.664 null]
+4303 0 obj <<
+/D [4287 0 R /XYZ 71.731 356.664 null]
 >> endobj
-3024 0 obj <<
-/D [3006 0 R /XYZ 71.731 356.664 null]
+4304 0 obj <<
+/D [4287 0 R /XYZ 71.731 356.664 null]
 >> endobj
-3025 0 obj <<
-/D [3006 0 R /XYZ 71.731 356.664 null]
+4305 0 obj <<
+/D [4287 0 R /XYZ 71.731 356.664 null]
 >> endobj
-3026 0 obj <<
-/D [3006 0 R /XYZ 71.731 344.965 null]
+4306 0 obj <<
+/D [4287 0 R /XYZ 71.731 344.965 null]
 >> endobj
-3027 0 obj <<
-/D [3006 0 R /XYZ 111.582 328.439 null]
+4307 0 obj <<
+/D [4287 0 R /XYZ 111.582 328.439 null]
 >> endobj
-3028 0 obj <<
-/D [3006 0 R /XYZ 71.731 316.32 null]
+4308 0 obj <<
+/D [4287 0 R /XYZ 71.731 316.32 null]
 >> endobj
-3029 0 obj <<
-/D [3006 0 R /XYZ 71.731 316.32 null]
+4309 0 obj <<
+/D [4287 0 R /XYZ 71.731 316.32 null]
 >> endobj
-3030 0 obj <<
-/D [3006 0 R /XYZ 71.731 316.32 null]
+4310 0 obj <<
+/D [4287 0 R /XYZ 71.731 316.32 null]
 >> endobj
-3031 0 obj <<
-/D [3006 0 R /XYZ 71.731 304.118 null]
+4311 0 obj <<
+/D [4287 0 R /XYZ 71.731 304.118 null]
 >> endobj
-3032 0 obj <<
-/D [3006 0 R /XYZ 71.731 304.118 null]
+4312 0 obj <<
+/D [4287 0 R /XYZ 71.731 304.118 null]
 >> endobj
-3033 0 obj <<
-/D [3006 0 R /XYZ 71.731 304.118 null]
+4313 0 obj <<
+/D [4287 0 R /XYZ 71.731 304.118 null]
 >> endobj
-3034 0 obj <<
-/D [3006 0 R /XYZ 71.731 291.166 null]
+4314 0 obj <<
+/D [4287 0 R /XYZ 71.731 291.166 null]
 >> endobj
-3035 0 obj <<
-/D [3006 0 R /XYZ 111.582 274.641 null]
+4315 0 obj <<
+/D [4287 0 R /XYZ 111.582 274.641 null]
 >> endobj
-3036 0 obj <<
-/D [3006 0 R /XYZ 326.852 261.69 null]
+4316 0 obj <<
+/D [4287 0 R /XYZ 326.852 261.69 null]
 >> endobj
-3037 0 obj <<
-/D [3006 0 R /XYZ 71.731 249.57 null]
+4317 0 obj <<
+/D [4287 0 R /XYZ 71.731 249.57 null]
 >> endobj
-3038 0 obj <<
-/D [3006 0 R /XYZ 71.731 249.57 null]
+4318 0 obj <<
+/D [4287 0 R /XYZ 71.731 249.57 null]
 >> endobj
-3039 0 obj <<
-/D [3006 0 R /XYZ 71.731 249.57 null]
+4319 0 obj <<
+/D [4287 0 R /XYZ 71.731 249.57 null]
 >> endobj
-3040 0 obj <<
-/D [3006 0 R /XYZ 71.731 237.368 null]
+4320 0 obj <<
+/D [4287 0 R /XYZ 71.731 237.368 null]
 >> endobj
-3041 0 obj <<
-/D [3006 0 R /XYZ 111.582 220.843 null]
+4321 0 obj <<
+/D [4287 0 R /XYZ 111.582 220.843 null]
 >> endobj
-3042 0 obj <<
-/D [3006 0 R /XYZ 358.633 220.843 null]
+4322 0 obj <<
+/D [4287 0 R /XYZ 358.633 220.843 null]
 >> endobj
-3043 0 obj <<
-/D [3006 0 R /XYZ 156.682 207.892 null]
+4323 0 obj <<
+/D [4287 0 R /XYZ 156.682 207.892 null]
 >> endobj
-3044 0 obj <<
-/D [3006 0 R /XYZ 246.306 207.892 null]
+4324 0 obj <<
+/D [4287 0 R /XYZ 246.306 207.892 null]
 >> endobj
-3045 0 obj <<
-/D [3006 0 R /XYZ 319.322 207.892 null]
+4325 0 obj <<
+/D [4287 0 R /XYZ 319.322 207.892 null]
 >> endobj
-3046 0 obj <<
-/D [3006 0 R /XYZ 441.073 207.892 null]
+4326 0 obj <<
+/D [4287 0 R /XYZ 441.073 207.892 null]
 >> endobj
-3047 0 obj <<
-/D [3006 0 R /XYZ 158.615 194.94 null]
+4327 0 obj <<
+/D [4287 0 R /XYZ 158.615 194.94 null]
 >> endobj
-3048 0 obj <<
-/D [3006 0 R /XYZ 71.731 183.57 null]
+4328 0 obj <<
+/D [4287 0 R /XYZ 71.731 183.57 null]
 >> endobj
-3049 0 obj <<
-/D [3006 0 R /XYZ 71.731 183.57 null]
+4329 0 obj <<
+/D [4287 0 R /XYZ 71.731 183.57 null]
 >> endobj
-3050 0 obj <<
-/D [3006 0 R /XYZ 71.731 183.57 null]
+4330 0 obj <<
+/D [4287 0 R /XYZ 71.731 183.57 null]
 >> endobj
-3051 0 obj <<
-/D [3006 0 R /XYZ 71.731 157.667 null]
+4331 0 obj <<
+/D [4287 0 R /XYZ 71.731 157.667 null]
 >> endobj
-3052 0 obj <<
-/D [3006 0 R /XYZ 111.582 141.142 null]
+4332 0 obj <<
+/D [4287 0 R /XYZ 111.582 141.142 null]
 >> endobj
-3053 0 obj <<
-/D [3006 0 R /XYZ 71.731 121.052 null]
+4333 0 obj <<
+/D [4287 0 R /XYZ 71.731 121.052 null]
 >> endobj
-3055 0 obj <<
-/D [3006 0 R /XYZ 71.731 48.817 null]
+4335 0 obj <<
+/D [4287 0 R /XYZ 71.731 48.817 null]
 >> endobj
-3005 0 obj <<
-/Font << /F23 733 0 R /F27 740 0 R /F38 963 0 R /F32 747 0 R /F33 834 0 R >>
+4286 0 obj <<
+/Font << /F23 1013 0 R /F27 1020 0 R /F35 1185 0 R /F32 1027 0 R /F33 1116 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3058 0 obj <<
-/Length 1126      
+4338 0 obj <<
+/Length 1127      
 /Filter /FlateDecode
 >>
 stream
 xڕWMo�8��W=I@��(��S�A�Xߚ=�m�D-I%u��!e�օ���|�y�Hg�>�l�%�d��e1+�tv���-�eB
 �7�E�J6�|6���e���7��H�,��l��Q�E���l[�����l��6�f�[�t6'yB֙3�h�L2x#ؑd�-z��xN�4z#$��$���.܏�qO���A�7��Li�n�{�8�Иk�1�����3ol��^QCwT㷏#/���H�?E�TkYrj�AMWi�9��CSCP�ٖnɠP��Z��\n�L��߲���2�����ʀ���)ά=�%�`��Я�93T_���SD?
n�O��|iv�1
����M�P�N'ה�����$/��s�ZG��{H��Ό�����C����c���j(V�5�ߎ	��W������%F–m=���$������8��hC\q�Sz��0N�	�}v�{�s:r
��s�,|�<��Hs_�^�z„w�C��4XuK�P\4�7���Kp�h����M�	ɟ�ŵ���y��$�;+R�j.�\@��b��roz�@�Q����)��ڰz(c�PǪH�lS{�?�|e���g�f���g���1+�dw����2�	�c�����,	I�,}�p�Q�O�:aa|�2����&A����&Ũ�EL5T�J�
 ^R�!�kA������L!�㢈�[�1��֭`c=�-ԋ��2�����w��a�M���fe�K
-��]ɪ+
���n�Qv����H��t}wr� G�b(2��l:�N
��8[G�����_�T��(�
��T�º�f8��W/�0��j,Fk�M���"��yTiM��廌�4��T� �А�T�9�B�d���x6��n]| ��PO�lS���ߙS��qn��QYq)�,���䕁�����4�{�!������ɸ����^k 1K37���K�2D�ǫ�>�^�O�J�d�PS,[ƭ�q1U��pZ���(V���5A;���p���e��7`ܳ8^;���['�›��u�osS-i�;A�͡<v�I;e�Y��b�[�S��)Q[������qf��g���m���~�e����b>���
.(�:I�wb�[��@�O�u�����Q�endstream
+��]ɪ+
���n�Qv����H��t}wr� G�b(2��l:�N
��8[G�����_�T��(�
��T�º�f8��W/�0��j,Fk�M���"��yTiM��廌�4��T� �А�T�9�B�d���x6��n]| ��PO�lS���ߙS��qn��QYq)�,���䕁�����4�{�!������ɸ����^k 1K37���K�2D�ǫ�>�^�O�J�d�PS,[ƭ�q1U��pZ���(V���5A;���p���e��7`ܳ8^;���['�›��u�osS-i�;A�͡<v�I;e�Y��b�[�S��)Q[������qf��g���m���~�e����b>���
.(� K4�fi>
��f\��#�Rendstream
 endobj
-3057 0 obj <<
+4337 0 obj <<
 /Type /Page
-/Contents 3058 0 R
-/Resources 3056 0 R
+/Contents 4338 0 R
+/Resources 4336 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 2973 0 R
+/Parent 4254 0 R
 >> endobj
-3059 0 obj <<
-/D [3057 0 R /XYZ 71.731 729.265 null]
+4339 0 obj <<
+/D [4337 0 R /XYZ 71.731 729.265 null]
 >> endobj
-590 0 obj <<
-/D [3057 0 R /XYZ 86.646 651.05 null]
+862 0 obj <<
+/D [4337 0 R /XYZ 86.646 651.05 null]
 >> endobj
-3060 0 obj <<
-/D [3057 0 R /XYZ 71.731 640.72 null]
+4340 0 obj <<
+/D [4337 0 R /XYZ 71.731 640.72 null]
 >> endobj
-594 0 obj <<
-/D [3057 0 R /XYZ 91.098 627.769 null]
+866 0 obj <<
+/D [4337 0 R /XYZ 91.098 627.769 null]
 >> endobj
-3061 0 obj <<
-/D [3057 0 R /XYZ 71.731 620.571 null]
+4341 0 obj <<
+/D [4337 0 R /XYZ 71.731 620.571 null]
 >> endobj
-3062 0 obj <<
-/D [3057 0 R /XYZ 71.731 615.59 null]
+4342 0 obj <<
+/D [4337 0 R /XYZ 71.731 615.59 null]
 >> endobj
-3063 0 obj <<
-/D [3057 0 R /XYZ 101.34 604.855 null]
+4343 0 obj <<
+/D [4337 0 R /XYZ 101.34 604.855 null]
 >> endobj
-3064 0 obj <<
-/D [3057 0 R /XYZ 236.362 591.903 null]
+4344 0 obj <<
+/D [4337 0 R /XYZ 236.362 591.903 null]
 >> endobj
-3065 0 obj <<
-/D [3057 0 R /XYZ 284.401 591.903 null]
+4345 0 obj <<
+/D [4337 0 R /XYZ 284.401 591.903 null]
 >> endobj
-3066 0 obj <<
-/D [3057 0 R /XYZ 71.731 566.499 null]
+4346 0 obj <<
+/D [4337 0 R /XYZ 71.731 566.499 null]
 >> endobj
-598 0 obj <<
-/D [3057 0 R /XYZ 131.506 553.547 null]
+870 0 obj <<
+/D [4337 0 R /XYZ 131.506 553.547 null]
 >> endobj
-3067 0 obj <<
-/D [3057 0 R /XYZ 71.731 546.349 null]
+4347 0 obj <<
+/D [4337 0 R /XYZ 71.731 546.349 null]
 >> endobj
-3068 0 obj <<
-/D [3057 0 R /XYZ 71.731 541.368 null]
+4348 0 obj <<
+/D [4337 0 R /XYZ 71.731 541.368 null]
 >> endobj
-1010 0 obj <<
-/D [3057 0 R /XYZ 71.731 492.277 null]
+1406 0 obj <<
+/D [4337 0 R /XYZ 71.731 492.277 null]
 >> endobj
-602 0 obj <<
-/D [3057 0 R /XYZ 109.927 479.326 null]
+874 0 obj <<
+/D [4337 0 R /XYZ 109.927 479.326 null]
 >> endobj
-3069 0 obj <<
-/D [3057 0 R /XYZ 71.731 472.128 null]
+4349 0 obj <<
+/D [4337 0 R /XYZ 71.731 472.128 null]
 >> endobj
-3070 0 obj <<
-/D [3057 0 R /XYZ 71.731 467.146 null]
+4350 0 obj <<
+/D [4337 0 R /XYZ 71.731 467.146 null]
 >> endobj
-3071 0 obj <<
-/D [3057 0 R /XYZ 71.731 433.497 null]
+4351 0 obj <<
+/D [4337 0 R /XYZ 71.731 433.497 null]
 >> endobj
-606 0 obj <<
-/D [3057 0 R /XYZ 86.646 381.185 null]
+878 0 obj <<
+/D [4337 0 R /XYZ 86.646 381.185 null]
 >> endobj
-1085 0 obj <<
-/D [3057 0 R /XYZ 71.731 370.597 null]
+1483 0 obj <<
+/D [4337 0 R /XYZ 71.731 370.597 null]
 >> endobj
-610 0 obj <<
-/D [3057 0 R /XYZ 202.589 357.904 null]
+882 0 obj <<
+/D [4337 0 R /XYZ 202.589 357.904 null]
 >> endobj
-3072 0 obj <<
-/D [3057 0 R /XYZ 71.731 350.86 null]
+4352 0 obj <<
+/D [4337 0 R /XYZ 71.731 350.86 null]
 >> endobj
-3073 0 obj <<
-/D [3057 0 R /XYZ 71.731 345.879 null]
+4353 0 obj <<
+/D [4337 0 R /XYZ 71.731 345.879 null]
 >> endobj
-3074 0 obj <<
-/D [3057 0 R /XYZ 71.731 345.879 null]
+4354 0 obj <<
+/D [4337 0 R /XYZ 71.731 345.879 null]
 >> endobj
-3075 0 obj <<
-/D [3057 0 R /XYZ 277.567 322.038 null]
+4355 0 obj <<
+/D [4337 0 R /XYZ 277.567 322.038 null]
 >> endobj
-3076 0 obj <<
-/D [3057 0 R /XYZ 71.731 296.634 null]
+4356 0 obj <<
+/D [4337 0 R /XYZ 71.731 296.634 null]
 >> endobj
-614 0 obj <<
-/D [3057 0 R /XYZ 127.073 283.682 null]
+886 0 obj <<
+/D [4337 0 R /XYZ 127.073 283.682 null]
 >> endobj
-3077 0 obj <<
-/D [3057 0 R /XYZ 71.731 276.639 null]
+4357 0 obj <<
+/D [4337 0 R /XYZ 71.731 276.639 null]
 >> endobj
-3078 0 obj <<
-/D [3057 0 R /XYZ 71.731 271.657 null]
+4358 0 obj <<
+/D [4337 0 R /XYZ 71.731 271.657 null]
 >> endobj
-1654 0 obj <<
-/D [3057 0 R /XYZ 71.731 209.461 null]
+1985 0 obj <<
+/D [4337 0 R /XYZ 71.731 209.461 null]
 >> endobj
-618 0 obj <<
-/D [3057 0 R /XYZ 248.655 196.509 null]
+890 0 obj <<
+/D [4337 0 R /XYZ 248.655 196.509 null]
 >> endobj
-3079 0 obj <<
-/D [3057 0 R /XYZ 71.731 189.466 null]
+4359 0 obj <<
+/D [4337 0 R /XYZ 71.731 189.466 null]
 >> endobj
-3080 0 obj <<
-/D [3057 0 R /XYZ 71.731 184.484 null]
+4360 0 obj <<
+/D [4337 0 R /XYZ 71.731 184.484 null]
 >> endobj
-3081 0 obj <<
-/D [3057 0 R /XYZ 71.731 184.484 null]
+4361 0 obj <<
+/D [4337 0 R /XYZ 71.731 184.484 null]
 >> endobj
-3082 0 obj <<
-/D [3057 0 R /XYZ 175.969 173.595 null]
+4362 0 obj <<
+/D [4337 0 R /XYZ 175.969 173.595 null]
 >> endobj
-3083 0 obj <<
-/D [3057 0 R /XYZ 118.495 160.644 null]
+4363 0 obj <<
+/D [4337 0 R /XYZ 118.495 160.644 null]
 >> endobj
-3056 0 obj <<
-/Font << /F23 733 0 R /F27 740 0 R /F33 834 0 R >>
+4336 0 obj <<
+/Font << /F23 1013 0 R /F27 1020 0 R /F33 1116 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3086 0 obj <<
-/Length 1194      
+4366 0 obj <<
+/Length 1502      
 /Filter /FlateDecode
 >>
 stream
-xڍVKs�6��W�Vy&֊Ի����4�v���K�ZfdN$QKRθ���J�c�HS�|���"��UN�<���!��U��E��|�#(�dYHS
-�7i��e�6ۻ�Ya�e���tIT�q������JvF�����ӇG��J���,�MWJŒ������\\�6	�K�W�ZK�0�K���+#�i��I�V�FVk0#d��tk?�ѕ�A-s`x|`k�5I�Nv`�s4�}�����퇡�W4
�z���Fk4�9s�g
-��e������4��4�E���4 ����c�Ys��-�w���M	c������Vsj��9��V��-C��h�a]=�zTH�@B$��d(�sՠ��d9IH��0�|�3��Z,L�{m�^y� ��^Xh<d�����{�pW�/�W�;��s�i��#["ә����*;^Կ�I<�B��ߤ��;9��$G�0�2�wBLl^8d`5g�r��&a�ޤ��8�"���zG�əvY��+d����A=��UJ���"p6F��7�~0s�~��{:�l�z�}�8{�bYBt4�sI�7ok!mA�h�•����94�҆��˰H��害}��.�I��a�x+�w:���l����4\){n���-�'_�������"[�:`��>'�Ֆ=�^k%�n�4�%j�q�<cZ���=��3I�?G�{�$���bKF��u��I����Ʒ$�Gp����,4��0��q!���{x���1���u3/äJ3?7ړ���F�0)c���������=\���P��so��w�8�2�@��2�Ye�=C/\���߽w�O�9�2�.���}�	�����4����O_'���,����o���#:�S�A�����V`���;'����Cl�l9�DWc�$�6����w�4
��A�W�C��ږ^A�����G��%\f��U��邡����0eR ���q*x=Wf�W�v��h�E���������o��8z�Ɨ\]

S7XSА_��C���������)Ptّ�9�@����5���tm8
�(��f	�t�4̬�E�>�_�~b��E�=�-�j�	����W;k敔�˾�Vz�C�����ӿ��W7c`w?m�9>����o��Qb3����%�)���z#6�<���?��o�ʀ/�endstream
-endobj
-3085 0 obj <<
+xڕXKo�6��W�V��"���ۦi-���K�(h����$�����3�$;F�=H������ѲY��lłU�	x�̲�.���˧;�q�<��~��e���:�-�w��d�6i:�z#�:��x���9Ϛڨb��k���'��m@6���x2[r�l�d�G�墁Nv��ꦶ8�������i�i��q4/�
+�(�l���M�L�mg���T��e���b����%s�Ov�HJTC��Lg�~�����)�R�='�n)����ƌm�ƒ�@��A5 )�
+��%�dx2��<+D	�I��g� ��C�����悢���3��
+c\h�����X�����n�xZ	�ܡ�5���;���f�@$�t
+�i�*��'�䦗h��;ĈW.b����b��nK���;����M
��j�]Iq�w����*YS��xG��Y��gT���
�oy�O�����ȯ�p���I�𜁻�B,�j�3O3�X��W�8����� Z'�-�Q8?yվ
+��/��-QDwmk/ŐG8sџ�޹�p~��I�
+��x������⥏ձ�1�h�zD��4o"mA��E*
��u��nml��h��5�+��{��>y�5�9�j���Cg�>"�
e�dM��Pت&W���XdGhW�1|R-�E������H��P"��T�S5���g����K$=�p�@݉�[��`�
+o���I���A��Z�#�e��������o����������NhrP;s+
+��JR��I)���� �D(t?Iꏧ�_@;R�����so����`��)�Dq�Y�"�׉�R>q��&w��Sɰ��`)�t	=*wp	�ey��ILvd���ϞA�ǁ�/��p}R�GY�����3�Td��@|?��ۑ���DC���ᦱ
�!Q�
+�eRO$��lSzGCQ�V
+#���K�{�E��Զ0	DZkY�{��R�<4�"۩#�y��A���p�S�2�P4��Eh�}�w	�'z^�L��;�Ū����oKYc�+�N�1���tޑ9�����k(����,��!3vuS%��@�m�#>M��i�A-$��_�_�`��ͣ�m�E�<V�豼B��@I�����m��d�q���k���c��B��`���m)�n��Ne�fh&�R�o���{
`7]-�a��,-T}�:7��P��پ8�V�˔��{��"_$sQ��\��ԺVI���8?�?����֦�Z��:ᖒ�6��V�ϜG���o�?;��:�lG>�V�{%E�w�}��?��CS㡝Aˬ�/���a�-tu����en�Rd��Ov���w?�|Іټ�ΟWj�Kez_[�X���r�&_����]G�|��������	k0F����y��2s��0"C�F��v���7���/�Kʼn����ȱ+N0�Q�
{�VW;J,�"�?
=K��a�!-� �)�?�K[�8t>endstream
+endobj
+4365 0 obj <<
 /Type /Page
-/Contents 3086 0 R
-/Resources 3084 0 R
+/Contents 4366 0 R
+/Resources 4364 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 3113 0 R
+/Parent 4392 0 R
+/Annots [ 4383 0 R ]
 >> endobj
-3087 0 obj <<
-/D [3085 0 R /XYZ 71.731 729.265 null]
+4383 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.403 348.372 272.706 356.566]
+/Subtype /Link
+/A << /S /GoTo /D (security-webserver-mod-throttle) >>
 >> endobj
-1536 0 obj <<
-/D [3085 0 R /XYZ 71.731 718.306 null]
+4367 0 obj <<
+/D [4365 0 R /XYZ 71.731 729.265 null]
 >> endobj
-3088 0 obj <<
-/D [3085 0 R /XYZ 71.731 718.306 null]
+1856 0 obj <<
+/D [4365 0 R /XYZ 71.731 718.306 null]
 >> endobj
-622 0 obj <<
-/D [3085 0 R /XYZ 109.39 708.344 null]
+4368 0 obj <<
+/D [4365 0 R /XYZ 71.731 718.306 null]
 >> endobj
-3089 0 obj <<
-/D [3085 0 R /XYZ 71.731 703.183 null]
+894 0 obj <<
+/D [4365 0 R /XYZ 109.39 708.344 null]
 >> endobj
-3090 0 obj <<
-/D [3085 0 R /XYZ 71.731 698.202 null]
+4369 0 obj <<
+/D [4365 0 R /XYZ 71.731 703.183 null]
 >> endobj
-3091 0 obj <<
-/D [3085 0 R /XYZ 109.568 686.725 null]
+4370 0 obj <<
+/D [4365 0 R /XYZ 71.731 698.202 null]
 >> endobj
-3092 0 obj <<
-/D [3085 0 R /XYZ 524.797 663.412 null]
+4371 0 obj <<
+/D [4365 0 R /XYZ 109.568 686.725 null]
 >> endobj
-3093 0 obj <<
-/D [3085 0 R /XYZ 71.731 646.311 null]
+4372 0 obj <<
+/D [4365 0 R /XYZ 524.797 663.412 null]
 >> endobj
-3094 0 obj <<
-/D [3085 0 R /XYZ 191.435 636.812 null]
+4373 0 obj <<
+/D [4365 0 R /XYZ 71.731 646.311 null]
 >> endobj
-3095 0 obj <<
-/D [3085 0 R /XYZ 71.731 561.395 null]
+4374 0 obj <<
+/D [4365 0 R /XYZ 191.435 636.812 null]
 >> endobj
-626 0 obj <<
-/D [3085 0 R /XYZ 86.646 509.082 null]
+4375 0 obj <<
+/D [4365 0 R /XYZ 71.731 561.395 null]
 >> endobj
-3096 0 obj <<
-/D [3085 0 R /XYZ 71.731 498.753 null]
+898 0 obj <<
+/D [4365 0 R /XYZ 86.646 509.082 null]
 >> endobj
-630 0 obj <<
-/D [3085 0 R /XYZ 109.927 485.801 null]
+2763 0 obj <<
+/D [4365 0 R /XYZ 71.731 498.753 null]
 >> endobj
-3097 0 obj <<
-/D [3085 0 R /XYZ 71.731 480.695 null]
+902 0 obj <<
+/D [4365 0 R /XYZ 109.927 485.801 null]
 >> endobj
-3098 0 obj <<
-/D [3085 0 R /XYZ 71.731 475.714 null]
+4376 0 obj <<
+/D [4365 0 R /XYZ 71.731 480.695 null]
 >> endobj
-3099 0 obj <<
-/D [3085 0 R /XYZ 400.225 449.936 null]
+4377 0 obj <<
+/D [4365 0 R /XYZ 71.731 475.714 null]
 >> endobj
-3100 0 obj <<
-/D [3085 0 R /XYZ 91.656 436.984 null]
+4378 0 obj <<
+/D [4365 0 R /XYZ 400.225 449.936 null]
 >> endobj
-3101 0 obj <<
-/D [3085 0 R /XYZ 71.731 414.07 null]
+4379 0 obj <<
+/D [4365 0 R /XYZ 91.656 436.984 null]
 >> endobj
-634 0 obj <<
-/D [3085 0 R /XYZ 87.803 361.757 null]
+2913 0 obj <<
+/D [4365 0 R /XYZ 71.731 411.58 null]
 >> endobj
-3102 0 obj <<
-/D [3085 0 R /XYZ 71.731 351.17 null]
+906 0 obj <<
+/D [4365 0 R /XYZ 126.336 398.628 null]
 >> endobj
-638 0 obj <<
-/D [3085 0 R /XYZ 106.959 338.477 null]
+4380 0 obj <<
+/D [4365 0 R /XYZ 71.731 393.522 null]
 >> endobj
-3103 0 obj <<
-/D [3085 0 R /XYZ 71.731 331.433 null]
+4381 0 obj <<
+/D [4365 0 R /XYZ 71.731 388.541 null]
 >> endobj
-3104 0 obj <<
-/D [3085 0 R /XYZ 71.731 326.452 null]
+4382 0 obj <<
+/D [4365 0 R /XYZ 91.656 349.811 null]
 >> endobj
-3105 0 obj <<
-/D [3085 0 R /XYZ 132.503 315.563 null]
+4384 0 obj <<
+/D [4365 0 R /XYZ 71.731 300.994 null]
 >> endobj
-3106 0 obj <<
-/D [3085 0 R /XYZ 473.769 302.611 null]
+910 0 obj <<
+/D [4365 0 R /XYZ 87.803 248.681 null]
 >> endobj
-3107 0 obj <<
-/D [3085 0 R /XYZ 91.656 289.66 null]
+4385 0 obj <<
+/D [4365 0 R /XYZ 71.731 238.094 null]
 >> endobj
-3108 0 obj <<
-/D [3085 0 R /XYZ 71.731 266.746 null]
+914 0 obj <<
+/D [4365 0 R /XYZ 106.959 225.401 null]
 >> endobj
-642 0 obj <<
-/D [3085 0 R /XYZ 83.217 214.433 null]
+4386 0 obj <<
+/D [4365 0 R /XYZ 71.731 218.357 null]
 >> endobj
-3109 0 obj <<
-/D [3085 0 R /XYZ 71.731 203.846 null]
+4387 0 obj <<
+/D [4365 0 R /XYZ 71.731 213.376 null]
 >> endobj
-646 0 obj <<
-/D [3085 0 R /XYZ 121.773 191.152 null]
+4388 0 obj <<
+/D [4365 0 R /XYZ 132.503 202.487 null]
 >> endobj
-3110 0 obj <<
-/D [3085 0 R /XYZ 71.731 184.109 null]
+4389 0 obj <<
+/D [4365 0 R /XYZ 473.769 189.535 null]
 >> endobj
-3111 0 obj <<
-/D [3085 0 R /XYZ 71.731 179.127 null]
+4390 0 obj <<
+/D [4365 0 R /XYZ 91.656 176.584 null]
 >> endobj
-3112 0 obj <<
-/D [3085 0 R /XYZ 71.731 145.324 null]
+4391 0 obj <<
+/D [4365 0 R /XYZ 71.731 153.67 null]
 >> endobj
-3084 0 obj <<
-/Font << /F61 1454 0 R /F27 740 0 R /F38 963 0 R /F23 733 0 R /F44 1007 0 R /F33 834 0 R >>
+4364 0 obj <<
+/Font << /F55 1799 0 R /F27 1020 0 R /F35 1185 0 R /F23 1013 0 R /F44 1402 0 R /F33 1116 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3116 0 obj <<
-/Length 1609      
+4395 0 obj <<
+/Length 1259      
 /Filter /FlateDecode
 >>
 stream
-xڭX[o�6~ϯ��l �%�޷�]���-��-Ӳ�TIi���w(���I���L��wnv����E�� ���q|�ۍk(�0D8��~��u�E(���z��~w�y��;(����Iq<Ƌ��������-U���SD�b�=���TJ�r�e�Z��Z�(^�V���Ɋ8q��>�3Tl�‘���]x���(q���\-&���n��{���2��k.��'�F҃>��~��Ղ��d�}r��p�<������$���L?�~ȋ�i��f�	���a�W��I���"
���v�H,
��RI١��	�S]Wo6����
-�%��6/�Ս�P���|�����1.�o�oyQ����kE�Z�����(�7�QE�4Em}Ѕ΋1�.4�زi���}�6�U�`'!��.�W��!F�|�[%��u��/� XZ�,�����VG��5u�-�W���Z2��ه��ʼngԵV1~��(CYAJ�R#I�������K�9��C,f�]a���y�8(
-���]�$Vc��N���_^IA@9�V�	W\&��=
-��_w]��G�.� B^�^-R�f= j��70f�H�����ǧ�D �#�e��f&q��W$���8�,�{g��
�<�2�
-N�0/5����#4L*@y�_
-�r[{>�����Ơ�ě�2oS�̋�����P
-I��M��4I[���xڔ�f�:���H�!8�aR�AY�W7"�{�#H%]��I��T�-y�� {jl(��+�T�E[�&QO ���~ �ޕ�c�'�KN�< A]?�����	1�uO�O�`R����YfZ@�Cp\��&{h�`#��;��?+
-M��0�/9ܧ�h��oV���LR.�y���}ߝ�F����K��K�ܖ�Ӱu��fʸ���}���Tq��x5�$�)����8/�F8�ZUETsHF�ي\i���P�=vvyj��
-������l���B�$^��Bֳ�~�M���FJn#p�5�L[��6�jH�׮��&˨T4�^��������kK�%SFʒ'��:!��7���������yQ�)�q?�����9�W�"
--�^շ+�?Q�Q��DR5&=�xĆ���e"+�x��B-ďԴ�5��i���ݠ��݈zJn���͕IƊm'c�PF�C��?��Y)�B_
6����e�x�3��ˠ?BŮ/����e�3��C2U�
-;%	Z	
-�c�u�O�Aa�^�4�c�^���.��d��bW_�:�޳+��#*Hq��e�񃕤�?P�÷m�8�l�+����k�-I�I������~g�m�,)�`b��tUM,C[��dc����j�U?�����}����p�H?���\H�3�QS6^�>a��Qm�`�	�V�Ѣ�
-P۩x&�6�gݢQ�5�-[D�VI䤶�*(�Y�g��ڍ����a��/cd�kX˕��u���"�z�[��Hu�5��<Q;���*������XZ����w���o�]g+]n������q���4�U؎�3m�����kg�n��O��А��fɠU���4�=�'?F�]�<�bݓ�v��������%
-���/HsI����endstream
+xڭWK��6��Э2S")ꑛi��ƭ
��-˒���������,Y^o����p���el�������…D��̊��J��oXKx��#p����E!��#���=�q��"k{Nq)�Ck������o����P�S)�ZKB���3�낸6��u~l�BpQ�pGhaf�@�ؠ�$̵�F]c!�7����k���ث�v�m^<���Qo���%��q `��w��帰H�bs�t���҉ ���еk^5GQ��I�~��*p�5���Jy����ʌu�*M�16^dwMb`���E�_f��'ץB"|R�⠮I�s-+*
���ܴI��g��Ԟ�SW����Nb?��T4k���]"�!RHFi�T�ˑ�\�fm{|�8��i�3)0�`š����gy�M��q
�c�~ϋB��H���m������t@�� ��]��(�B���Y�Ǣ����ivy�Q�Ȏ|����M0pT��ED!0��/�l#��亂�~~�����1�.����F�N�ty�>���G(CaD��&�J����~�%��楆�Th��g-i�!E䀋���E�#� ��n\�h�rV�Kυ����Q��=o���JPIN�NW�Pp������!��`�����Z	�P���@F4��}��r$�w_:
+�ڐt��w�O�ى,@^@ef'�1!L�z���֖��X1�F�CN�U��
+���1jQ�l�>�㆓l�����R�X���O���Yt���J�̋���w�H�MRL��UY�8��qW����\Tz�4��Y�j#G�W�V�ݍ��[�PJj�=���;����l�p��Q*(kˢoW�GP}̷��!h� � /���}�*{���,=�'!��H5�L�u�����*�S�x�Cq8m�{��L��#R%<*̏GɆ�~����TP��g��A�U<a�S�4</�^�S��P��Ē_�m3�xz_f=\���δ�Qmv��a���Fy���gW�y���`�ne#��!��s��WY�0~����w��\���7D��|��+��� ��Ϣld�EʌL_�YHJa�'-LM���T�'��u�?M��I#e�x2��w/楑�ɵ!�V��A����a�04���k���_���ѦN1C��_��@_�������P�x��c�&=�xX��/�Zt"��X!��Y+S��m��4��ڬ�tލfa�&�kp�Y���k���./D!n¬%����������c�]e~����F�kendstream
 endobj
-3115 0 obj <<
+4394 0 obj <<
 /Type /Page
-/Contents 3116 0 R
-/Resources 3114 0 R
+/Contents 4395 0 R
+/Resources 4393 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 3113 0 R
-/Annots [ 3128 0 R 3144 0 R ]
+/Parent 4392 0 R
+/Annots [ 4410 0 R 4426 0 R ]
 >> endobj
-3128 0 obj <<
+4410 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.746 555.204 257.473 564.115]
+/Rect [224.746 433.782 257.473 442.694]
 /Subtype /Link
 /A << /S /GoTo /D (gloss-rdbms) >>
 >> endobj
-3144 0 obj <<
+4426 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.364 401.779 402.139 410.691]
+/Rect [342.364 280.358 387.195 289.269]
 /Subtype /Link
 /A << /S /GoTo /D (security-mysql) >>
 >> endobj
-3117 0 obj <<
-/D [3115 0 R /XYZ 71.731 729.265 null]
->> endobj
-3118 0 obj <<
-/D [3115 0 R /XYZ 71.731 741.22 null]
->> endobj
-650 0 obj <<
-/D [3115 0 R /XYZ 88.939 703.68 null]
->> endobj
-2680 0 obj <<
-/D [3115 0 R /XYZ 71.731 693.351 null]
->> endobj
-654 0 obj <<
-/D [3115 0 R /XYZ 193.573 680.4 null]
+4396 0 obj <<
+/D [4394 0 R /XYZ 71.731 729.265 null]
 >> endobj
-3119 0 obj <<
-/D [3115 0 R /XYZ 71.731 673.202 null]
+918 0 obj <<
+/D [4394 0 R /XYZ 83.217 703.68 null]
 >> endobj
-3120 0 obj <<
-/D [3115 0 R /XYZ 71.731 668.22 null]
+4397 0 obj <<
+/D [4394 0 R /XYZ 71.731 693.093 null]
 >> endobj
-3121 0 obj <<
-/D [3115 0 R /XYZ 91.656 644.534 null]
+922 0 obj <<
+/D [4394 0 R /XYZ 121.773 680.4 null]
 >> endobj
-3122 0 obj <<
-/D [3115 0 R /XYZ 91.656 631.583 null]
+4398 0 obj <<
+/D [4394 0 R /XYZ 71.731 673.356 null]
 >> endobj
-3123 0 obj <<
-/D [3115 0 R /XYZ 424.386 631.583 null]
+4399 0 obj <<
+/D [4394 0 R /XYZ 71.731 668.375 null]
 >> endobj
-3124 0 obj <<
-/D [3115 0 R /XYZ 101.898 618.631 null]
+4400 0 obj <<
+/D [4394 0 R /XYZ 71.731 634.571 null]
 >> endobj
-3125 0 obj <<
-/D [3115 0 R /XYZ 71.731 593.226 null]
+926 0 obj <<
+/D [4394 0 R /XYZ 88.939 582.259 null]
 >> endobj
-658 0 obj <<
-/D [3115 0 R /XYZ 106.052 580.275 null]
+3789 0 obj <<
+/D [4394 0 R /XYZ 71.731 571.929 null]
 >> endobj
-3126 0 obj <<
-/D [3115 0 R /XYZ 71.731 573.231 null]
+930 0 obj <<
+/D [4394 0 R /XYZ 193.573 558.978 null]
 >> endobj
-3127 0 obj <<
-/D [3115 0 R /XYZ 71.731 568.25 null]
+4401 0 obj <<
+/D [4394 0 R /XYZ 71.731 551.78 null]
 >> endobj
-3129 0 obj <<
-/D [3115 0 R /XYZ 91.656 544.409 null]
+4402 0 obj <<
+/D [4394 0 R /XYZ 71.731 546.799 null]
 >> endobj
-3130 0 obj <<
-/D [3115 0 R /XYZ 71.731 531.359 null]
+4403 0 obj <<
+/D [4394 0 R /XYZ 91.656 523.112 null]
 >> endobj
-3131 0 obj <<
-/D [3115 0 R /XYZ 71.731 516.415 null]
+4404 0 obj <<
+/D [4394 0 R /XYZ 91.656 510.161 null]
 >> endobj
-3132 0 obj <<
-/D [3115 0 R /XYZ 71.731 516.415 null]
+4405 0 obj <<
+/D [4394 0 R /XYZ 424.386 510.161 null]
 >> endobj
-3133 0 obj <<
-/D [3115 0 R /XYZ 71.731 501.406 null]
+4406 0 obj <<
+/D [4394 0 R /XYZ 101.898 497.209 null]
 >> endobj
-3134 0 obj <<
-/D [3115 0 R /XYZ 111.582 485.63 null]
+4407 0 obj <<
+/D [4394 0 R /XYZ 71.731 471.805 null]
 >> endobj
-3135 0 obj <<
-/D [3115 0 R /XYZ 71.731 473.51 null]
+934 0 obj <<
+/D [4394 0 R /XYZ 106.052 458.853 null]
 >> endobj
-3136 0 obj <<
-/D [3115 0 R /XYZ 71.731 473.51 null]
+4408 0 obj <<
+/D [4394 0 R /XYZ 71.731 451.81 null]
 >> endobj
-3137 0 obj <<
-/D [3115 0 R /XYZ 71.731 460.559 null]
+4409 0 obj <<
+/D [4394 0 R /XYZ 71.731 446.828 null]
 >> endobj
-3138 0 obj <<
-/D [3115 0 R /XYZ 111.582 444.783 null]
+4411 0 obj <<
+/D [4394 0 R /XYZ 91.656 422.988 null]
 >> endobj
-3139 0 obj <<
-/D [3115 0 R /XYZ 315.276 444.783 null]
+4412 0 obj <<
+/D [4394 0 R /XYZ 71.731 409.937 null]
 >> endobj
-3140 0 obj <<
-/D [3115 0 R /XYZ 71.731 432.664 null]
+4413 0 obj <<
+/D [4394 0 R /XYZ 71.731 394.993 null]
 >> endobj
-3141 0 obj <<
-/D [3115 0 R /XYZ 71.731 432.664 null]
+4414 0 obj <<
+/D [4394 0 R /XYZ 71.731 394.993 null]
 >> endobj
-3142 0 obj <<
-/D [3115 0 R /XYZ 71.731 419.712 null]
+4415 0 obj <<
+/D [4394 0 R /XYZ 71.731 379.984 null]
 >> endobj
-3143 0 obj <<
-/D [3115 0 R /XYZ 111.582 403.936 null]
+4416 0 obj <<
+/D [4394 0 R /XYZ 111.582 364.208 null]
 >> endobj
-3145 0 obj <<
-/D [3115 0 R /XYZ 71.731 381.022 null]
+4417 0 obj <<
+/D [4394 0 R /XYZ 71.731 352.089 null]
 >> endobj
-662 0 obj <<
-/D [3115 0 R /XYZ 85.51 328.709 null]
+4418 0 obj <<
+/D [4394 0 R /XYZ 71.731 352.089 null]
 >> endobj
-1594 0 obj <<
-/D [3115 0 R /XYZ 71.731 318.38 null]
+4419 0 obj <<
+/D [4394 0 R /XYZ 71.731 339.137 null]
 >> endobj
-666 0 obj <<
-/D [3115 0 R /XYZ 176.696 305.429 null]
+4420 0 obj <<
+/D [4394 0 R /XYZ 111.582 323.361 null]
 >> endobj
-3146 0 obj <<
-/D [3115 0 R /XYZ 71.731 298.231 null]
+4421 0 obj <<
+/D [4394 0 R /XYZ 315.276 323.361 null]
 >> endobj
-3147 0 obj <<
-/D [3115 0 R /XYZ 71.731 293.249 null]
+4422 0 obj <<
+/D [4394 0 R /XYZ 71.731 311.242 null]
 >> endobj
-3148 0 obj <<
-/D [3115 0 R /XYZ 71.731 293.249 null]
+4423 0 obj <<
+/D [4394 0 R /XYZ 71.731 311.242 null]
 >> endobj
-1869 0 obj <<
-/D [3115 0 R /XYZ 71.731 257.11 null]
+4424 0 obj <<
+/D [4394 0 R /XYZ 71.731 298.291 null]
 >> endobj
-670 0 obj <<
-/D [3115 0 R /XYZ 109.17 244.158 null]
+4425 0 obj <<
+/D [4394 0 R /XYZ 111.582 282.515 null]
 >> endobj
-3149 0 obj <<
-/D [3115 0 R /XYZ 71.731 239.053 null]
+4427 0 obj <<
+/D [4394 0 R /XYZ 71.731 259.601 null]
 >> endobj
-3150 0 obj <<
-/D [3115 0 R /XYZ 71.731 234.071 null]
+938 0 obj <<
+/D [4394 0 R /XYZ 85.51 207.288 null]
 >> endobj
-3151 0 obj <<
-/D [3115 0 R /XYZ 71.731 169.937 null]
+1930 0 obj <<
+/D [4394 0 R /XYZ 71.731 196.958 null]
 >> endobj
-674 0 obj <<
-/D [3115 0 R /XYZ 90.261 156.985 null]
+942 0 obj <<
+/D [4394 0 R /XYZ 176.696 184.007 null]
 >> endobj
-3152 0 obj <<
-/D [3115 0 R /XYZ 71.731 151.88 null]
+4428 0 obj <<
+/D [4394 0 R /XYZ 71.731 176.809 null]
 >> endobj
-3153 0 obj <<
-/D [3115 0 R /XYZ 71.731 146.898 null]
+4429 0 obj <<
+/D [4394 0 R /XYZ 71.731 171.828 null]
 >> endobj
-3154 0 obj <<
-/D [3115 0 R /XYZ 175.77 108.168 null]
+4430 0 obj <<
+/D [4394 0 R /XYZ 71.731 171.828 null]
 >> endobj
-3114 0 obj <<
-/Font << /F23 733 0 R /F27 740 0 R /F38 963 0 R /F33 834 0 R >>
+4393 0 obj <<
+/Font << /F23 1013 0 R /F27 1020 0 R /F35 1185 0 R /F33 1116 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3158 0 obj <<
-/Length 1103      
+4434 0 obj <<
+/Length 1157      
 /Filter /FlateDecode
 >>
 stream
-xڕVMo�8��W���@L�ò�ݓ�t�]4�&>�h��D
-$�l��;#����m"���{3d��/Zd���{o�E^߄�3���D�b�ݒ8�a<��J���w�b5���x��#NqH��~q<�(�4"a�8������d�M�(\��Ļ��E6XD0�S0��>�tf_�8�t�����*�dvb=���-��5����R*c�'�F�-��y��[EE���s
-���v�+���.8{��d^�Q8�*�2N�o�(
X%��	�Sڍ�R�ߩ�R�[D������ٔ����K��0Zۑ��4�p��~���2
-g�P:��E���f�8�5�n�om�R�
-����2�_��i�5x&v�X���^xU��+-''�䟙`�Vի���fz
-�h��:�~VL����D$ڳ�E�-���ݰ�'�-G�׼b�ި���Z݌׬6��}�^
-Cs㤇�a������x��˜�3���D��
-�VX���E��l�QC�Q��
-�	����2a��UV�� �$j�Q�m�
-$
-\T�
1���ޱ�)��n@�ڣ	\�x�`�0x����M�~���љ��C�҉�p�����g&ّ$�:��-6���6(R������n0�=���'.m�����W�m�1L	ϑ�ˡ��d�"[�32��aiL��z�0U2'���qJ�kl
-��~*FJSW�<�_
�hp�Q�O?������7a�
N_�����:���Gw���X>P��m��#�t��z���q�I�0��.������jа8�+��Z:e�S3*.�Ք�>|ᙝ�˳m�d]��X.�i1��H�W���%���0%�,.00L���L��0mJ�F���H�_�:��U�$����MF��6��I��|�
иO�΂�v�L�ݝ����04|����C�`��7L�����A��8��� ����
��tBy��v|D�
2P�Ep Pq��^e{�3iѿ$<*/�C/�ך(�����E���^���ktO��D��.R�e�Of����&';.w���k#;��|8��^�����.�f���b5�t����8����-�^F����P?���?endstream
+xڕVIo�6��W��jF�奷$3SL�Ij���F�%b(R �f2���q�%ۙI ��Ƿ|�ޒ�R��f댬��[���Y�^��N~�ʂ�r�"y�����,�d�)f����������m�vU�v��H�!�r9������$O�j�W6�g�ȯ����r��s�ͼ�M�����+�7�K��Y+��ˊZ�d�V���|�۹}�m�=�������T��B�{�u�&-��Ě�
����bS��ܾ$���P�/���ɪ���Y"��"��l�f�i*�[�aQ͠ϰ$/��b�(�7�T�;%�J�Ԫ���`��-
���S��M��Z��_>�e�`?��eê^C�p���P��X3k|�6(�2��c<��6$�gķE$P�+W�pI��x�>qm/�S�*�ߩ���+ٸ��3݃Oh�A5k��B��hUk���ʺ�5���j��>�-�Q�ud� ���c�W��m�Lz�k�ۈ��4��y��ꦯ��0xh&��6�~��R�3�Q��͉Ӧc�ʰ���b���p�P��`��ۻ��bě͒d���i���o\zN��$�t���0��y��=��H�<%�r�9Zl�z	�[�$�����V^�|��z�y��x���K������r<"7�‘�/�0���/Cj�^�ƍ1���b������[e�}Au�m�uԬ��;�Q-�k���/&%�̿Q˕�R}��y�w��$�F��T��I�#����&���X�Z.y����T�MLS�,���]�AsH�]}<:��c�Pa��
!�&����(��՗s��z
���v��M
<,?mJ�V�
��?�Q�M[¤<9n�Br� g*��kW��I
+ѷ���
+	1J��%�#�Z���7���[j����$E���L����X����E�� �ʳ��J���̓	d�7q��ӻcA��x�MD�
�L�`��ŦdNos�s�b�r����0�G�w��GV�X���eп�ZNQu�^P�޸�7���'Oe�����0��Ca��2����cPU���^�>�)k�_��;h{UhZn]��5�w?5#�m�O��`��#$�MS`���n��h�ܐM��8���Q����W��|���Y�:5G�s[�}�=rendstream
 endobj
-3157 0 obj <<
+4433 0 obj <<
 /Type /Page
-/Contents 3158 0 R
-/Resources 3156 0 R
+/Contents 4434 0 R
+/Resources 4432 0 R
 /MediaBox [0 0 609.714 789.041]
-/Parent 3113 0 R
+/Parent 4392 0 R
 >> endobj
-3159 0 obj <<
-/D [3157 0 R /XYZ 71.731 729.265 null]
+4435 0 obj <<
+/D [4433 0 R /XYZ 71.731 729.265 null]
 >> endobj
-678 0 obj <<
-/D [3157 0 R /XYZ 87.803 651.05 null]
+2313 0 obj <<
+/D [4433 0 R /XYZ 71.731 718.306 null]
 >> endobj
-3160 0 obj <<
-/D [3157 0 R /XYZ 71.731 639.646 null]
+946 0 obj <<
+/D [4433 0 R /XYZ 109.17 708.344 null]
 >> endobj
-682 0 obj <<
-/D [3157 0 R /XYZ 86.675 627.769 null]
+4436 0 obj <<
+/D [4433 0 R /XYZ 71.731 703.238 null]
 >> endobj
-3161 0 obj <<
-/D [3157 0 R /XYZ 71.731 622.27 null]
+4437 0 obj <<
+/D [4433 0 R /XYZ 71.731 698.257 null]
 >> endobj
-3162 0 obj <<
-/D [3157 0 R /XYZ 71.731 617.288 null]
+4438 0 obj <<
+/D [4433 0 R /XYZ 71.731 634.122 null]
 >> endobj
-3163 0 obj <<
-/D [3157 0 R /XYZ 71.731 617.288 null]
+950 0 obj <<
+/D [4433 0 R /XYZ 90.261 621.171 null]
 >> endobj
-3164 0 obj <<
-/D [3157 0 R /XYZ 119.841 604.855 null]
+4439 0 obj <<
+/D [4433 0 R /XYZ 71.731 616.065 null]
 >> endobj
-3165 0 obj <<
-/D [3157 0 R /XYZ 167.644 604.855 null]
+4440 0 obj <<
+/D [4433 0 R /XYZ 71.731 611.083 null]
 >> endobj
-3166 0 obj <<
-/D [3157 0 R /XYZ 249.411 604.855 null]
+4441 0 obj <<
+/D [4433 0 R /XYZ 175.77 572.354 null]
 >> endobj
-3167 0 obj <<
-/D [3157 0 R /XYZ 434.537 578.952 null]
+4442 0 obj <<
+/D [4433 0 R /XYZ 71.731 549.44 null]
 >> endobj
-3168 0 obj <<
-/D [3157 0 R /XYZ 71.731 543.086 null]
+954 0 obj <<
+/D [4433 0 R /XYZ 87.803 497.127 null]
 >> endobj
-686 0 obj <<
-/D [3157 0 R /XYZ 86.646 490.774 null]
+4443 0 obj <<
+/D [4433 0 R /XYZ 71.731 485.723 null]
 >> endobj
-3155 0 obj <<
-/D [3157 0 R /XYZ 71.731 480.444 null]
+958 0 obj <<
+/D [4433 0 R /XYZ 86.675 473.846 null]
 >> endobj
-690 0 obj <<
-/D [3157 0 R /XYZ 263.739 467.493 null]
+4444 0 obj <<
+/D [4433 0 R /XYZ 71.731 468.347 null]
 >> endobj
-3169 0 obj <<
-/D [3157 0 R /XYZ 71.731 460.295 null]
+4445 0 obj <<
+/D [4433 0 R /XYZ 71.731 463.365 null]
 >> endobj
-3170 0 obj <<
-/D [3157 0 R /XYZ 71.731 455.314 null]
+4446 0 obj <<
+/D [4433 0 R /XYZ 71.731 463.365 null]
 >> endobj
-3171 0 obj <<
-/D [3157 0 R /XYZ 71.731 406.223 null]
+4447 0 obj <<
+/D [4433 0 R /XYZ 119.841 450.932 null]
 >> endobj
-694 0 obj <<
-/D [3157 0 R /XYZ 165.299 393.271 null]
+4448 0 obj <<
+/D [4433 0 R /XYZ 167.644 450.932 null]
 >> endobj
-3172 0 obj <<
-/D [3157 0 R /XYZ 71.731 386.073 null]
+4449 0 obj <<
+/D [4433 0 R /XYZ 249.411 450.932 null]
 >> endobj
-3173 0 obj <<
-/D [3157 0 R /XYZ 71.731 381.092 null]
+4450 0 obj <<
+/D [4433 0 R /XYZ 434.537 425.029 null]
 >> endobj
-3174 0 obj <<
-/D [3157 0 R /XYZ 349.905 370.357 null]
+4451 0 obj <<
+/D [4433 0 R /XYZ 71.731 389.164 null]
 >> endobj
-3175 0 obj <<
-/D [3157 0 R /XYZ 71.731 334.492 null]
+962 0 obj <<
+/D [4433 0 R /XYZ 86.646 336.851 null]
 >> endobj
-698 0 obj <<
-/D [3157 0 R /XYZ 85.51 282.179 null]
+4431 0 obj <<
+/D [4433 0 R /XYZ 71.731 326.522 null]
 >> endobj
-3176 0 obj <<
-/D [3157 0 R /XYZ 71.731 271.591 null]
+966 0 obj <<
+/D [4433 0 R /XYZ 263.739 313.57 null]
 >> endobj
-3177 0 obj <<
-/D [3157 0 R /XYZ 71.731 271.591 null]
+4452 0 obj <<
+/D [4433 0 R /XYZ 71.731 306.372 null]
 >> endobj
-702 0 obj <<
-/D [3157 0 R /XYZ 103.282 258.898 null]
+4453 0 obj <<
+/D [4433 0 R /XYZ 71.731 301.391 null]
 >> endobj
-3178 0 obj <<
-/D [3157 0 R /XYZ 71.731 253.792 null]
+4454 0 obj <<
+/D [4433 0 R /XYZ 71.731 252.3 null]
 >> endobj
-3179 0 obj <<
-/D [3157 0 R /XYZ 71.731 248.811 null]
+970 0 obj <<
+/D [4433 0 R /XYZ 165.299 239.348 null]
 >> endobj
-3180 0 obj <<
-/D [3157 0 R /XYZ 71.731 248.811 null]
+4455 0 obj <<
+/D [4433 0 R /XYZ 71.731 232.151 null]
 >> endobj
-3181 0 obj <<
-/D [3157 0 R /XYZ 163.327 235.984 null]
+4456 0 obj <<
+/D [4433 0 R /XYZ 71.731 227.169 null]
 >> endobj
-3182 0 obj <<
-/D [3157 0 R /XYZ 403.504 223.033 null]
+4457 0 obj <<
+/D [4433 0 R /XYZ 349.905 216.434 null]
 >> endobj
-3183 0 obj <<
-/D [3157 0 R /XYZ 238.405 210.081 null]
+4458 0 obj <<
+/D [4433 0 R /XYZ 71.731 180.569 null]
 >> endobj
-3184 0 obj <<
-/D [3157 0 R /XYZ 240.895 210.081 null]
+4432 0 obj <<
+/Font << /F23 1013 0 R /F27 1020 0 R /F33 1116 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-3185 0 obj <<
-/D [3157 0 R /XYZ 289.632 210.081 null]
+4461 0 obj <<
+/Length 1611      
+/Filter /FlateDecode
+>>
+stream
+xڍX˲�6��+��=c��l�Ѯ��ɴ��t&�$��Z�e�ʤJR�����"@=�4w��@J&1���&�6K�KwQ��&��Y<)���g	�X��Q��p|��"[n��v9Y�vx��ët9I�h��&�c�/�t��싿��f��o����z�VœE
+��_��l����s\���&p�f�@�U��or�H�x�~���Bj�f�G�/���.����<si��*�5K��.�8s����R�F���+�3+���G�9��
+W�����6�d��7h�i<(��U���� I ��Crf����	�*Ot���JZ�*R3	�$��Ǔ�pY�ʰ��#o�<�!p��
+��>�����,�0V3�4\X���n
+���$��͜�� *a7�+w_�A|��O
+B�>�8�C`��Л�j�7y3ـS���Gݽ��EtM�1j���r��ݛ'Q�]�sl�,Ѝ#�v��s7�F�_�61�h��p��}S��7L�
��a���Ԝ�q�BT�n?�e��)Xk��~`���sw��҈C�o�39��̄���*o\1ؽ��3�gS�EGLNl�X�p�:��P
�W/��'g�t\4V�b���Ɔ-���U��.�:�R�ՐԞM\dQ��\J�;�w�h�r����Hi܁��$�sG�;\?���U!�O�����)>���*! 4J�N���,��*J6� ��ǩ�$��F�ԴV�0���-�jGb�. ;��G-,P��Z�f��se>Z�]3�UF�?b�8r��
+qD�-X��~D��mᙚ��0씦�Aj6Y�I�k�o�C��u����m[���f;�M�b�O�a�-4t>�`F��S��ɭ'\���^~;���P�.���@���ITCS�R[t[{�����6���,�(�F�m��|R�i�Y%N8��pW����漶���0�w�xxPgK�ur�����k5Wu��G�<���� ��y�����<�e�?�;��!��~Zw-�tB�ES~U� [�r�u�$��PnC��n�8�@:T���H(��[��_�-��9تB�h;?���"��:�^�KR�
+��@�	D��&��}�n�� èL��G�!��F�x�PЖ�jG,(���|��'�k;��F�V�/��"P5���y'G�M�E
y��ʮ9��D`��o��
+1#��iN�G���i,�I�%���������y�D1����ȓ�$|�1i�W�8�i^q7d���c�&�E�:���Kiϯ��W�f�Sp��أV��h7��zjO������VM�g��J�_�o,O"߉XG��A*���c�!5���NX�
2A���꧸�r�5z����������2[g���>d�MϽsm���[�sb?sc�����7��=ǃ���WP��*��c�~د�>	�4���ο�¼��L�(����D!DQt#G�!4�����1��rk�-����1�-:F�3%_X�V/(P� 0d��0d�ڤ��*(�5Ӷ���6�}�ͯ�6�a��n�4��Rz�����8w���O�K����5�C��0�R 
+��
e�4���}���_NV�h�ln~���nI����~�A��7�I+��fl���\���}āendstream
+endobj
+4460 0 obj <<
+/Type /Page
+/Contents 4461 0 R
+/Resources 4459 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 4392 0 R
 >> endobj
-3186 0 obj <<
-/D [3157 0 R /XYZ 434.219 210.081 null]
+4462 0 obj <<
+/D [4460 0 R /XYZ 71.731 729.265 null]
 >> endobj
-3187 0 obj <<
-/D [3157 0 R /XYZ 163.915 197.13 null]
+974 0 obj <<
+/D [4460 0 R /XYZ 85.51 703.236 null]
 >> endobj
-3188 0 obj <<
-/D [3157 0 R /XYZ 476.31 197.13 null]
+2764 0 obj <<
+/D [4460 0 R /XYZ 71.731 692.649 null]
 >> endobj
-3189 0 obj <<
-/D [3157 0 R /XYZ 132.363 184.178 null]
+978 0 obj <<
+/D [4460 0 R /XYZ 107.277 679.955 null]
 >> endobj
-3190 0 obj <<
-/D [3157 0 R /XYZ 71.731 161.264 null]
+4463 0 obj <<
+/D [4460 0 R /XYZ 71.731 674.85 null]
 >> endobj
-3156 0 obj <<
-/Font << /F23 733 0 R /F27 740 0 R /F33 834 0 R >>
-/ProcSet [ /PDF /Text ]
+4464 0 obj <<
+/D [4460 0 R /XYZ 71.731 669.868 null]
 >> endobj
-3193 0 obj <<
-/Length 1400      
-/Filter /FlateDecode
->>
-stream
-xڍWK��6��0r�ت$[~��&h�IZ���+����T��w(�P{��&)r��|C&�~�d�D�%���(]g����''���]�;V�u�f)�o|\d�M��.'���W��ޤ�IG�l7���x�������~���m�k��K�)�,�e���m<ez�d��l��Sng�t���%7VI�6��FiR�h�dC1�驕�ŝ��Ls?�]�C��]����Xi"�a_pg�e�?W�K��F��ה�M���z���E'�$��2�jf�T�y��T�,ͦߜv^����:�V	x�%���jL��*��)�'�Jښ�ڜ��O���I�e���ʯ���-�_���Ky��'�o����sT����k˄�s+�d��4Hz!������P{՜�e� [�r���X��[o$��
��V�����Dv8rQM8�Q�h�[U�t�!f$�\��i��軗��ݻ�5��Ρ0<��{��3M�0�8.n���19���4��TB�m���]	)U��{���Ƀ��c��0�>��5��_�C[��Us��-6�5��Bt�V�)���;D���+�#��i�U�ܖ�A��C�H�L1'~�Q��L��n.���*��4�b�MK�񬅵�����>M�j^{2Ҽ�̸�>
-Y��@pby�U)��(�_e��~��E0�ސQ+
�t#��8���.Ѻ�2m�E)$�;������tK�ʧ�+�N��( ���}��mAD����w�2�԰���:fa6���9�����d(=ʸ�ټ�&��
ח�:�b�?�P��yp�Qv�H��m
-��������6pTk��`������|	u��/�[�~���AX�I�Nv��_�ϲ^kjY)���?h�Eэ�C��<t�;'�nM�j>�ԋUg��U3_X������lX�@��f�����Y�P�e�6�J� ��.�K�8L1��Rx����8w�����Oҗt��Q�����U
-x!��[� �y��iO���B�/q_װT(���f��� ��hD�Ǒ7�U�����Em���h�.utQ�΅�
-�'�
-���$۫)Av��n􇺭̼@�t�0�Д��^����;��a����x�R����g���_��cvu���a���J�bփz>��snPHI ��	O�c�(�"
-6����?U�PWn��ÇF>�7D-�q��
-uJ�^0f�S47Mi�N��cK�0T�(�2ݢ���@U�yw&ȹ,�o(�E-��7����:<�{O6�^ܒ=�z-Zs"��U*ęԵ�5�­k��e����fx�lF
��ra\uݱ����ŋO��6�&��Obܱ趴�e�Z����836��&zZ_��@G�endstream
-endobj
-3192 0 obj <<
-/Type /Page
-/Contents 3193 0 R
-/Resources 3191 0 R
-/MediaBox [0 0 609.714 789.041]
-/Parent 3113 0 R
+4465 0 obj <<
+/D [4460 0 R /XYZ 378.867 644.09 null]
 >> endobj
-3194 0 obj <<
-/D [3192 0 R /XYZ 71.731 729.265 null]
+4466 0 obj <<
+/D [4460 0 R /XYZ 71.731 605.734 null]
 >> endobj
-706 0 obj <<
-/D [3192 0 R /XYZ 84.353 703.68 null]
+4467 0 obj <<
+/D [4460 0 R /XYZ 71.731 605.734 null]
 >> endobj
-3195 0 obj <<
-/D [3192 0 R /XYZ 71.731 693.351 null]
+982 0 obj <<
+/D [4460 0 R /XYZ 103.282 592.782 null]
 >> endobj
-710 0 obj <<
-/D [3192 0 R /XYZ 150.047 680.4 null]
+4468 0 obj <<
+/D [4460 0 R /XYZ 71.731 587.676 null]
 >> endobj
-3196 0 obj <<
-/D [3192 0 R /XYZ 71.731 673.202 null]
+4469 0 obj <<
+/D [4460 0 R /XYZ 71.731 582.695 null]
 >> endobj
-3197 0 obj <<
-/D [3192 0 R /XYZ 71.731 668.22 null]
+4470 0 obj <<
+/D [4460 0 R /XYZ 71.731 582.695 null]
 >> endobj
-3198 0 obj <<
-/D [3192 0 R /XYZ 192.963 644.534 null]
+4471 0 obj <<
+/D [4460 0 R /XYZ 163.327 569.868 null]
 >> endobj
-1327 0 obj <<
-/D [3192 0 R /XYZ 71.731 593.226 null]
+4472 0 obj <<
+/D [4460 0 R /XYZ 403.504 556.917 null]
 >> endobj
-714 0 obj <<
-/D [3192 0 R /XYZ 193.264 580.275 null]
+4473 0 obj <<
+/D [4460 0 R /XYZ 238.405 543.965 null]
 >> endobj
-3199 0 obj <<
-/D [3192 0 R /XYZ 71.731 573.077 null]
+4474 0 obj <<
+/D [4460 0 R /XYZ 240.895 543.965 null]
 >> endobj
-3200 0 obj <<
-/D [3192 0 R /XYZ 71.731 568.096 null]
+4475 0 obj <<
+/D [4460 0 R /XYZ 289.632 543.965 null]
 >> endobj
-3201 0 obj <<
-/D [3192 0 R /XYZ 71.731 508.544 null]
+4476 0 obj <<
+/D [4460 0 R /XYZ 434.219 543.965 null]
 >> endobj
-718 0 obj <<
-/D [3192 0 R /XYZ 84.353 456.231 null]
+4477 0 obj <<
+/D [4460 0 R /XYZ 163.915 531.014 null]
 >> endobj
-3202 0 obj <<
-/D [3192 0 R /XYZ 71.731 445.902 null]
+4478 0 obj <<
+/D [4460 0 R /XYZ 476.31 531.014 null]
 >> endobj
-722 0 obj <<
-/D [3192 0 R /XYZ 163.964 432.95 null]
+4479 0 obj <<
+/D [4460 0 R /XYZ 132.363 518.062 null]
 >> endobj
-3203 0 obj <<
-/D [3192 0 R /XYZ 71.731 425.753 null]
+4480 0 obj <<
+/D [4460 0 R /XYZ 71.731 495.148 null]
 >> endobj
-3204 0 obj <<
-/D [3192 0 R /XYZ 71.731 420.771 null]
+986 0 obj <<
+/D [4460 0 R /XYZ 84.353 442.835 null]
 >> endobj
-3205 0 obj <<
-/D [3192 0 R /XYZ 71.731 394.928 null]
+4481 0 obj <<
+/D [4460 0 R /XYZ 71.731 432.506 null]
 >> endobj
-3206 0 obj <<
-/D [3192 0 R /XYZ 71.731 384.965 null]
+990 0 obj <<
+/D [4460 0 R /XYZ 150.047 419.555 null]
 >> endobj
-3207 0 obj <<
-/D [3192 0 R /XYZ 71.731 321.918 null]
+4482 0 obj <<
+/D [4460 0 R /XYZ 71.731 412.357 null]
 >> endobj
-3208 0 obj <<
-/D [3192 0 R /XYZ 469.856 288.891 null]
+4483 0 obj <<
+/D [4460 0 R /XYZ 71.731 407.376 null]
 >> endobj
-3191 0 obj <<
-/Font << /F23 733 0 R /F27 740 0 R /F33 834 0 R >>
+4484 0 obj <<
+/D [4460 0 R /XYZ 192.963 383.689 null]
+>> endobj
+1785 0 obj <<
+/D [4460 0 R /XYZ 71.731 332.382 null]
+>> endobj
+994 0 obj <<
+/D [4460 0 R /XYZ 193.264 319.43 null]
+>> endobj
+4485 0 obj <<
+/D [4460 0 R /XYZ 71.731 312.232 null]
+>> endobj
+4486 0 obj <<
+/D [4460 0 R /XYZ 71.731 307.251 null]
+>> endobj
+4487 0 obj <<
+/D [4460 0 R /XYZ 71.731 247.699 null]
+>> endobj
+998 0 obj <<
+/D [4460 0 R /XYZ 84.353 195.386 null]
+>> endobj
+4488 0 obj <<
+/D [4460 0 R /XYZ 71.731 185.057 null]
+>> endobj
+1002 0 obj <<
+/D [4460 0 R /XYZ 163.964 172.106 null]
+>> endobj
+4489 0 obj <<
+/D [4460 0 R /XYZ 71.731 164.908 null]
+>> endobj
+4490 0 obj <<
+/D [4460 0 R /XYZ 71.731 159.927 null]
+>> endobj
+4491 0 obj <<
+/D [4460 0 R /XYZ 71.731 134.083 null]
+>> endobj
+4492 0 obj <<
+/D [4460 0 R /XYZ 71.731 124.121 null]
+>> endobj
+4459 0 obj <<
+/Font << /F23 1013 0 R /F27 1020 0 R /F33 1116 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1651 0 obj <<
+4495 0 obj <<
+/Length 617       
+/Filter /FlateDecode
+>>
+stream
+x�mTMs�0��W0�e����ў�����C�t�M*�
��\I����%ap<�e�ݷoK�)��
+'9
�~�|Yw"�s���+�����4�&��Ż�I����^$&8'UP�%N�,�W�C֘�m�%4[��q�WغO1�����o!�5�������G��ݰ��H5?�����Һ#��>Mۉ�Ǣ砬��Lk-��G��\9�Z���8d�%�)������TD�Z�:�z� n�M��q.0�@��Q�[�r.m�����r�=v$E��UI�SƵ��s��ʷ+�1�/�Y����|�ض{9"sYngc���[�SJ��O��K��7n��6ײ�g6�zy�4�;:!&��� {/��% ��v��Q;�xĘ�<�C�.]�}��݃�Z�:X{�1߃�F���0�D��m���G����ˋ�
g�̋����Zvx֪�b��:��&���c���p��Ai~wE���̨vߕ�zf��:���u��qn$��q�V�"R����Ŝ}��6�wU���N.�����Ğ���QjR~T?Q	n�uDµŧz\kn+f%.Iqu����i�iP��K�[�&)���g9� qyY�/з�^�	l�endstream
+endobj
+4494 0 obj <<
+/Type /Page
+/Contents 4495 0 R
+/Resources 4493 0 R
+/MediaBox [0 0 609.714 789.041]
+/Parent 4392 0 R
+>> endobj
+4496 0 obj <<
+/D [4494 0 R /XYZ 71.731 729.265 null]
+>> endobj
+4497 0 obj <<
+/D [4494 0 R /XYZ 71.731 678.109 null]
+>> endobj
+4498 0 obj <<
+/D [4494 0 R /XYZ 469.856 645.081 null]
+>> endobj
+4493 0 obj <<
+/Font << /F27 1020 0 R /F33 1116 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1979 0 obj <<
 /Type /Font
 /Subtype /Type1
 /BaseFont /ZapfDingbats
 >> endobj
-3209 0 obj <<
+4499 0 obj <<
 /Type /Encoding
 /Differences [ 0 /.notdef 1/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring 10/.notdef 11/breve/minus 13/.notdef 14/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl 22/.notdef 30/grave/quotesingle/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde 127/.notdef 128/Euro 129/.notdef 130/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 141/.notdef 147/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe 157/.notdef 159/Ydieresis 160/.notdef 161/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]
 >> endobj
-1454 0 obj <<
+1799 0 obj <<
 /Type /Font
 /Subtype /Type1
-/Encoding 3209 0 R
+/Encoding 4499 0 R
 /BaseFont /Courier-Bold
 >> endobj
-1222 0 obj <<
+1649 0 obj <<
 /Type /Font
 /Subtype /Type1
-/Encoding 3209 0 R
+/Encoding 4499 0 R
 /BaseFont /Courier-Oblique
 >> endobj
-1021 0 obj <<
+1414 0 obj <<
 /Type /Font
 /Subtype /Type1
-/Encoding 3209 0 R
+/Encoding 4499 0 R
 /BaseFont /Helvetica-Oblique
 >> endobj
-1007 0 obj <<
+1402 0 obj <<
 /Type /Font
 /Subtype /Type1
-/Encoding 3209 0 R
+/Encoding 4499 0 R
 /BaseFont /Helvetica
 >> endobj
-963 0 obj <<
+1185 0 obj <<
 /Type /Font
 /Subtype /Type1
-/Encoding 3209 0 R
+/Encoding 4499 0 R
 /BaseFont /Courier
 >> endobj
-834 0 obj <<
+1116 0 obj <<
 /Type /Font
 /Subtype /Type1
-/Encoding 3209 0 R
+/Encoding 4499 0 R
 /BaseFont /Times-Italic
 >> endobj
-747 0 obj <<
+1027 0 obj <<
 /Type /Font
 /Subtype /Type1
-/Encoding 3209 0 R
+/Encoding 4499 0 R
 /BaseFont /Times-Bold
 >> endobj
-740 0 obj <<
+1020 0 obj <<
 /Type /Font
 /Subtype /Type1
-/Encoding 3209 0 R
+/Encoding 4499 0 R
 /BaseFont /Times-Roman
 >> endobj
-733 0 obj <<
+1013 0 obj <<
 /Type /Font
 /Subtype /Type1
-/Encoding 3209 0 R
+/Encoding 4499 0 R
 /BaseFont /Helvetica-Bold
 >> endobj
-734 0 obj <<
+1014 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 4500 0 R
+/Kids [1006 0 R 1016 0 R 1022 0 R 1162 0 R 1282 0 R 1316 0 R]
+>> endobj
+1396 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 4500 0 R
+/Kids [1343 0 R 1398 0 R 1408 0 R 1449 0 R 1485 0 R 1545 0 R]
+>> endobj
+1594 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 4500 0 R
+/Kids [1577 0 R 1596 0 R 1623 0 R 1662 0 R 1701 0 R 1744 0 R]
+>> endobj
+1823 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 4500 0 R
+/Kids [1787 0 R 1825 0 R 1858 0 R 1903 0 R 1932 0 R 1948 0 R]
+>> endobj
+2021 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 4500 0 R
+/Kids [1987 0 R 2023 0 R 2045 0 R 2075 0 R 2099 0 R 2128 0 R]
+>> endobj
+2176 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 4500 0 R
+/Kids [2147 0 R 2178 0 R 2206 0 R 2234 0 R 2284 0 R 2315 0 R]
+>> endobj
+2406 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 3210 0 R
-/Kids [726 0 R 736 0 R 742 0 R 879 0 R 934 0 R 947 0 R]
+/Parent 4501 0 R
+/Kids [2357 0 R 2408 0 R 2446 0 R 2491 0 R 2524 0 R 2553 0 R]
 >> endobj
-1009 0 obj <<
+2623 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 3210 0 R
-/Kids [976 0 R 1012 0 R 1015 0 R 1054 0 R 1087 0 R 1147 0 R]
+/Parent 4501 0 R
+/Kids [2594 0 R 2625 0 R 2646 0 R 2677 0 R 2713 0 R 2733 0 R]
 >> endobj
-1200 0 obj <<
+2797 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 3210 0 R
-/Kids [1179 0 R 1202 0 R 1243 0 R 1288 0 R 1329 0 R 1416 0 R]
+/Parent 4501 0 R
+/Kids [2766 0 R 2799 0 R 2883 0 R 2915 0 R 2947 0 R 2975 0 R]
 >> endobj
-1497 0 obj <<
+3043 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 3210 0 R
-/Kids [1461 0 R 1499 0 R 1538 0 R 1566 0 R 1596 0 R 1618 0 R]
+/Parent 4501 0 R
+/Kids [3015 0 R 3045 0 R 3076 0 R 3114 0 R 3137 0 R 3157 0 R]
 >> endobj
-1690 0 obj <<
+3209 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 3210 0 R
-/Kids [1656 0 R 1692 0 R 1719 0 R 1729 0 R 1760 0 R 1787 0 R]
+/Parent 4501 0 R
+/Kids [3180 0 R 3211 0 R 3215 0 R 3219 0 R 3223 0 R 3243 0 R]
 >> endobj
-1868 0 obj <<
+3285 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 3210 0 R
-/Kids [1823 0 R 1871 0 R 1898 0 R 1934 0 R 1980 0 R 2015 0 R]
+/Parent 4501 0 R
+/Kids [3258 0 R 3288 0 R 3347 0 R 3352 0 R 3380 0 R 3398 0 R]
 >> endobj
-2062 0 obj <<
+3436 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 3211 0 R
-/Kids [2047 0 R 2064 0 R 2095 0 R 2123 0 R 2153 0 R 2184 0 R]
+/Parent 4502 0 R
+/Kids [3417 0 R 3438 0 R 3477 0 R 3501 0 R 3521 0 R 3533 0 R]
 >> endobj
-2236 0 obj <<
+3590 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 3211 0 R
-/Kids [2221 0 R 2238 0 R 2258 0 R 2294 0 R 2307 0 R 2311 0 R]
+/Parent 4502 0 R
+/Kids [3564 0 R 3592 0 R 3624 0 R 3651 0 R 3675 0 R 3709 0 R]
 >> endobj
-2318 0 obj <<
+3788 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 3211 0 R
-/Kids [2315 0 R 2320 0 R 2346 0 R 2374 0 R 2433 0 R 2459 0 R]
+/Parent 4502 0 R
+/Kids [3741 0 R 3791 0 R 3820 0 R 3860 0 R 3890 0 R 3910 0 R]
 >> endobj
-2496 0 obj <<
+3963 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 3211 0 R
-/Kids [2478 0 R 2498 0 R 2519 0 R 2532 0 R 2562 0 R 2593 0 R]
+/Parent 4502 0 R
+/Kids [3939 0 R 3965 0 R 3989 0 R 4004 0 R 4026 0 R 4035 0 R]
 >> endobj
-2643 0 obj <<
+4106 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 3211 0 R
-/Kids [2619 0 R 2645 0 R 2682 0 R 2709 0 R 2746 0 R 2768 0 R]
+/Parent 4502 0 R
+/Kids [4079 0 R 4108 0 R 4138 0 R 4167 0 R 4191 0 R 4207 0 R]
 >> endobj
-2819 0 obj <<
+4254 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 3211 0 R
-/Kids [2797 0 R 2821 0 R 2851 0 R 2881 0 R 2910 0 R 2926 0 R]
+/Parent 4502 0 R
+/Kids [4218 0 R 4256 0 R 4268 0 R 4280 0 R 4287 0 R 4337 0 R]
 >> endobj
-2973 0 obj <<
+4392 0 obj <<
 /Type /Pages
-/Count 6
-/Parent 3212 0 R
-/Kids [2937 0 R 2975 0 R 2987 0 R 2999 0 R 3006 0 R 3057 0 R]
+/Count 5
+/Parent 4503 0 R
+/Kids [4365 0 R 4394 0 R 4433 0 R 4460 0 R 4494 0 R]
 >> endobj
-3113 0 obj <<
+4500 0 obj <<
 /Type /Pages
-/Count 4
-/Parent 3212 0 R
-/Kids [3085 0 R 3115 0 R 3157 0 R 3192 0 R]
+/Count 36
+/Parent 4504 0 R
+/Kids [1014 0 R 1396 0 R 1594 0 R 1823 0 R 2021 0 R 2176 0 R]
 >> endobj
-3210 0 obj <<
+4501 0 obj <<
 /Type /Pages
 /Count 36
-/Parent 3213 0 R
-/Kids [734 0 R 1009 0 R 1200 0 R 1497 0 R 1690 0 R 1868 0 R]
+/Parent 4504 0 R
+/Kids [2406 0 R 2623 0 R 2797 0 R 3043 0 R 3209 0 R 3285 0 R]
 >> endobj
-3211 0 obj <<
+4502 0 obj <<
 /Type /Pages
 /Count 36
-/Parent 3213 0 R
-/Kids [2062 0 R 2236 0 R 2318 0 R 2496 0 R 2643 0 R 2819 0 R]
+/Parent 4504 0 R
+/Kids [3436 0 R 3590 0 R 3788 0 R 3963 0 R 4106 0 R 4254 0 R]
 >> endobj
-3212 0 obj <<
+4503 0 obj <<
 /Type /Pages
-/Count 10
-/Parent 3213 0 R
-/Kids [2973 0 R 3113 0 R]
+/Count 5
+/Parent 4504 0 R
+/Kids [4392 0 R]
 >> endobj
-3213 0 obj <<
+4504 0 obj <<
 /Type /Pages
-/Count 82
-/Kids [3210 0 R 3211 0 R 3212 0 R]
+/Count 113
+/Kids [4500 0 R 4501 0 R 4502 0 R 4503 0 R]
 >> endobj
-3214 0 obj <<
+4505 0 obj <<
 /Type /Outlines
 /First 3 0 R
-/Last 719 0 R
-/Count 27
+/Last 999 0 R
+/Count 30
+>> endobj
+1003 0 obj <<
+/Title 1004 0 R
+/A 1001 0 R
+/Parent 999 0 R
+>> endobj
+999 0 obj <<
+/Title 1000 0 R
+/A 997 0 R
+/Parent 4505 0 R
+/Prev 987 0 R
+/First 1003 0 R
+/Last 1003 0 R
+/Count -1
+>> endobj
+995 0 obj <<
+/Title 996 0 R
+/A 993 0 R
+/Parent 991 0 R
+>> endobj
+991 0 obj <<
+/Title 992 0 R
+/A 989 0 R
+/Parent 987 0 R
+/First 995 0 R
+/Last 995 0 R
+/Count -1
+>> endobj
+987 0 obj <<
+/Title 988 0 R
+/A 985 0 R
+/Parent 4505 0 R
+/Prev 975 0 R
+/Next 999 0 R
+/First 991 0 R
+/Last 991 0 R
+/Count -1
+>> endobj
+983 0 obj <<
+/Title 984 0 R
+/A 981 0 R
+/Parent 979 0 R
+>> endobj
+979 0 obj <<
+/Title 980 0 R
+/A 977 0 R
+/Parent 975 0 R
+/First 983 0 R
+/Last 983 0 R
+/Count -1
+>> endobj
+975 0 obj <<
+/Title 976 0 R
+/A 973 0 R
+/Parent 4505 0 R
+/Prev 963 0 R
+/Next 987 0 R
+/First 979 0 R
+/Last 979 0 R
+/Count -1
+>> endobj
+971 0 obj <<
+/Title 972 0 R
+/A 969 0 R
+/Parent 967 0 R
+>> endobj
+967 0 obj <<
+/Title 968 0 R
+/A 965 0 R
+/Parent 963 0 R
+/First 971 0 R
+/Last 971 0 R
+/Count -1
+>> endobj
+963 0 obj <<
+/Title 964 0 R
+/A 961 0 R
+/Parent 4505 0 R
+/Prev 955 0 R
+/Next 975 0 R
+/First 967 0 R
+/Last 967 0 R
+/Count -1
+>> endobj
+959 0 obj <<
+/Title 960 0 R
+/A 957 0 R
+/Parent 955 0 R
+>> endobj
+955 0 obj <<
+/Title 956 0 R
+/A 953 0 R
+/Parent 4505 0 R
+/Prev 939 0 R
+/Next 963 0 R
+/First 959 0 R
+/Last 959 0 R
+/Count -1
+>> endobj
+951 0 obj <<
+/Title 952 0 R
+/A 949 0 R
+/Parent 943 0 R
+/Prev 947 0 R
+>> endobj
+947 0 obj <<
+/Title 948 0 R
+/A 945 0 R
+/Parent 943 0 R
+/Next 951 0 R
+>> endobj
+943 0 obj <<
+/Title 944 0 R
+/A 941 0 R
+/Parent 939 0 R
+/First 947 0 R
+/Last 951 0 R
+/Count -2
+>> endobj
+939 0 obj <<
+/Title 940 0 R
+/A 937 0 R
+/Parent 4505 0 R
+/Prev 927 0 R
+/Next 955 0 R
+/First 943 0 R
+/Last 943 0 R
+/Count -1
+>> endobj
+935 0 obj <<
+/Title 936 0 R
+/A 933 0 R
+/Parent 931 0 R
+>> endobj
+931 0 obj <<
+/Title 932 0 R
+/A 929 0 R
+/Parent 927 0 R
+/First 935 0 R
+/Last 935 0 R
+/Count -1
+>> endobj
+927 0 obj <<
+/Title 928 0 R
+/A 925 0 R
+/Parent 4505 0 R
+/Prev 919 0 R
+/Next 939 0 R
+/First 931 0 R
+/Last 931 0 R
+/Count -1
+>> endobj
+923 0 obj <<
+/Title 924 0 R
+/A 921 0 R
+/Parent 919 0 R
+>> endobj
+919 0 obj <<
+/Title 920 0 R
+/A 917 0 R
+/Parent 4505 0 R
+/Prev 911 0 R
+/Next 927 0 R
+/First 923 0 R
+/Last 923 0 R
+/Count -1
+>> endobj
+915 0 obj <<
+/Title 916 0 R
+/A 913 0 R
+/Parent 911 0 R
+>> endobj
+911 0 obj <<
+/Title 912 0 R
+/A 909 0 R
+/Parent 4505 0 R
+/Prev 899 0 R
+/Next 919 0 R
+/First 915 0 R
+/Last 915 0 R
+/Count -1
+>> endobj
+907 0 obj <<
+/Title 908 0 R
+/A 905 0 R
+/Parent 903 0 R
+>> endobj
+903 0 obj <<
+/Title 904 0 R
+/A 901 0 R
+/Parent 899 0 R
+/First 907 0 R
+/Last 907 0 R
+/Count -1
+>> endobj
+899 0 obj <<
+/Title 900 0 R
+/A 897 0 R
+/Parent 4505 0 R
+/Prev 879 0 R
+/Next 911 0 R
+/First 903 0 R
+/Last 903 0 R
+/Count -1
+>> endobj
+895 0 obj <<
+/Title 896 0 R
+/A 893 0 R
+/Parent 883 0 R
+/Prev 891 0 R
+>> endobj
+891 0 obj <<
+/Title 892 0 R
+/A 889 0 R
+/Parent 883 0 R
+/Prev 887 0 R
+/Next 895 0 R
+>> endobj
+887 0 obj <<
+/Title 888 0 R
+/A 885 0 R
+/Parent 883 0 R
+/Next 891 0 R
+>> endobj
+883 0 obj <<
+/Title 884 0 R
+/A 881 0 R
+/Parent 879 0 R
+/First 887 0 R
+/Last 895 0 R
+/Count -3
+>> endobj
+879 0 obj <<
+/Title 880 0 R
+/A 877 0 R
+/Parent 4505 0 R
+/Prev 863 0 R
+/Next 899 0 R
+/First 883 0 R
+/Last 883 0 R
+/Count -1
+>> endobj
+875 0 obj <<
+/Title 876 0 R
+/A 873 0 R
+/Parent 867 0 R
+/Prev 871 0 R
+>> endobj
+871 0 obj <<
+/Title 872 0 R
+/A 869 0 R
+/Parent 867 0 R
+/Next 875 0 R
+>> endobj
+867 0 obj <<
+/Title 868 0 R
+/A 865 0 R
+/Parent 863 0 R
+/First 871 0 R
+/Last 875 0 R
+/Count -2
+>> endobj
+863 0 obj <<
+/Title 864 0 R
+/A 861 0 R
+/Parent 4505 0 R
+/Prev 851 0 R
+/Next 879 0 R
+/First 867 0 R
+/Last 867 0 R
+/Count -1
+>> endobj
+859 0 obj <<
+/Title 860 0 R
+/A 857 0 R
+/Parent 855 0 R
+>> endobj
+855 0 obj <<
+/Title 856 0 R
+/A 853 0 R
+/Parent 851 0 R
+/First 859 0 R
+/Last 859 0 R
+/Count -1
+>> endobj
+851 0 obj <<
+/Title 852 0 R
+/A 849 0 R
+/Parent 4505 0 R
+/Prev 843 0 R
+/Next 863 0 R
+/First 855 0 R
+/Last 855 0 R
+/Count -1
+>> endobj
+847 0 obj <<
+/Title 848 0 R
+/A 845 0 R
+/Parent 843 0 R
+>> endobj
+843 0 obj <<
+/Title 844 0 R
+/A 841 0 R
+/Parent 4505 0 R
+/Prev 839 0 R
+/Next 851 0 R
+/First 847 0 R
+/Last 847 0 R
+/Count -1
+>> endobj
+839 0 obj <<
+/Title 840 0 R
+/A 837 0 R
+/Parent 4505 0 R
+/Prev 787 0 R
+/Next 843 0 R
+>> endobj
+835 0 obj <<
+/Title 836 0 R
+/A 833 0 R
+/Parent 787 0 R
+/Prev 831 0 R
+>> endobj
+831 0 obj <<
+/Title 832 0 R
+/A 829 0 R
+/Parent 787 0 R
+/Prev 827 0 R
+/Next 835 0 R
+>> endobj
+827 0 obj <<
+/Title 828 0 R
+/A 825 0 R
+/Parent 787 0 R
+/Prev 823 0 R
+/Next 831 0 R
+>> endobj
+823 0 obj <<
+/Title 824 0 R
+/A 821 0 R
+/Parent 787 0 R
+/Prev 819 0 R
+/Next 827 0 R
+>> endobj
+819 0 obj <<
+/Title 820 0 R
+/A 817 0 R
+/Parent 787 0 R
+/Prev 815 0 R
+/Next 823 0 R
+>> endobj
+815 0 obj <<
+/Title 816 0 R
+/A 813 0 R
+/Parent 787 0 R
+/Prev 811 0 R
+/Next 819 0 R
+>> endobj
+811 0 obj <<
+/Title 812 0 R
+/A 809 0 R
+/Parent 787 0 R
+/Prev 807 0 R
+/Next 815 0 R
+>> endobj
+807 0 obj <<
+/Title 808 0 R
+/A 805 0 R
+/Parent 787 0 R
+/Prev 803 0 R
+/Next 811 0 R
+>> endobj
+803 0 obj <<
+/Title 804 0 R
+/A 801 0 R
+/Parent 787 0 R
+/Prev 799 0 R
+/Next 807 0 R
+>> endobj
+799 0 obj <<
+/Title 800 0 R
+/A 797 0 R
+/Parent 787 0 R
+/Prev 795 0 R
+/Next 803 0 R
+>> endobj
+795 0 obj <<
+/Title 796 0 R
+/A 793 0 R
+/Parent 787 0 R
+/Prev 791 0 R
+/Next 799 0 R
+>> endobj
+791 0 obj <<
+/Title 792 0 R
+/A 789 0 R
+/Parent 787 0 R
+/Next 795 0 R
+>> endobj
+787 0 obj <<
+/Title 788 0 R
+/A 785 0 R
+/Parent 4505 0 R
+/Prev 771 0 R
+/Next 839 0 R
+/First 791 0 R
+/Last 835 0 R
+/Count -12
+>> endobj
+783 0 obj <<
+/Title 784 0 R
+/A 781 0 R
+/Parent 771 0 R
+/Prev 779 0 R
+>> endobj
+779 0 obj <<
+/Title 780 0 R
+/A 777 0 R
+/Parent 771 0 R
+/Prev 775 0 R
+/Next 783 0 R
+>> endobj
+775 0 obj <<
+/Title 776 0 R
+/A 773 0 R
+/Parent 771 0 R
+/Next 779 0 R
+>> endobj
+771 0 obj <<
+/Title 772 0 R
+/A 769 0 R
+/Parent 4505 0 R
+/Prev 759 0 R
+/Next 787 0 R
+/First 775 0 R
+/Last 783 0 R
+/Count -3
+>> endobj
+767 0 obj <<
+/Title 768 0 R
+/A 765 0 R
+/Parent 759 0 R
+/Prev 763 0 R
+>> endobj
+763 0 obj <<
+/Title 764 0 R
+/A 761 0 R
+/Parent 759 0 R
+/Next 767 0 R
+>> endobj
+759 0 obj <<
+/Title 760 0 R
+/A 757 0 R
+/Parent 4505 0 R
+/Prev 715 0 R
+/Next 771 0 R
+/First 763 0 R
+/Last 767 0 R
+/Count -2
+>> endobj
+755 0 obj <<
+/Title 756 0 R
+/A 753 0 R
+/Parent 715 0 R
+/Prev 751 0 R
+>> endobj
+751 0 obj <<
+/Title 752 0 R
+/A 749 0 R
+/Parent 715 0 R
+/Prev 747 0 R
+/Next 755 0 R
+>> endobj
+747 0 obj <<
+/Title 748 0 R
+/A 745 0 R
+/Parent 715 0 R
+/Prev 743 0 R
+/Next 751 0 R
+>> endobj
+743 0 obj <<
+/Title 744 0 R
+/A 741 0 R
+/Parent 715 0 R
+/Prev 739 0 R
+/Next 747 0 R
+>> endobj
+739 0 obj <<
+/Title 740 0 R
+/A 737 0 R
+/Parent 715 0 R
+/Prev 735 0 R
+/Next 743 0 R
+>> endobj
+735 0 obj <<
+/Title 736 0 R
+/A 733 0 R
+/Parent 715 0 R
+/Prev 731 0 R
+/Next 739 0 R
+>> endobj
+731 0 obj <<
+/Title 732 0 R
+/A 729 0 R
+/Parent 715 0 R
+/Prev 727 0 R
+/Next 735 0 R
+>> endobj
+727 0 obj <<
+/Title 728 0 R
+/A 725 0 R
+/Parent 715 0 R
+/Prev 723 0 R
+/Next 731 0 R
 >> endobj
 723 0 obj <<
 /Title 724 0 R
 /A 721 0 R
-/Parent 719 0 R
+/Parent 715 0 R
+/Prev 719 0 R
+/Next 727 0 R
 >> endobj
 719 0 obj <<
 /Title 720 0 R
 /A 717 0 R
-/Parent 3214 0 R
-/Prev 707 0 R
-/First 723 0 R
-/Last 723 0 R
-/Count -1
+/Parent 715 0 R
+/Next 723 0 R
 >> endobj
 715 0 obj <<
 /Title 716 0 R
 /A 713 0 R
-/Parent 711 0 R
+/Parent 4505 0 R
+/Prev 711 0 R
+/Next 759 0 R
+/First 719 0 R
+/Last 755 0 R
+/Count -10
 >> endobj
 711 0 obj <<
 /Title 712 0 R
 /A 709 0 R
-/Parent 707 0 R
-/First 715 0 R
-/Last 715 0 R
-/Count -1
+/Parent 4505 0 R
+/Prev 587 0 R
+/Next 715 0 R
 >> endobj
 707 0 obj <<
 /Title 708 0 R
 /A 705 0 R
-/Parent 3214 0 R
-/Prev 699 0 R
-/Next 719 0 R
-/First 711 0 R
-/Last 711 0 R
-/Count -1
+/Parent 587 0 R
+/Prev 687 0 R
 >> endobj
 703 0 obj <<
 /Title 704 0 R
 /A 701 0 R
-/Parent 699 0 R
+/Parent 695 0 R
+/Prev 699 0 R
 >> endobj
 699 0 obj <<
 /Title 700 0 R
 /A 697 0 R
-/Parent 3214 0 R
-/Prev 687 0 R
-/Next 707 0 R
-/First 703 0 R
-/Last 703 0 R
-/Count -1
+/Parent 695 0 R
+/Next 703 0 R
 >> endobj
 695 0 obj <<
 /Title 696 0 R
 /A 693 0 R
-/Parent 691 0 R
+/Parent 687 0 R
+/Prev 691 0 R
+/First 699 0 R
+/Last 703 0 R
+/Count -2
 >> endobj
 691 0 obj <<
 /Title 692 0 R
 /A 689 0 R
 /Parent 687 0 R
-/First 695 0 R
-/Last 695 0 R
-/Count -1
+/Next 695 0 R
 >> endobj
 687 0 obj <<
 /Title 688 0 R
 /A 685 0 R
-/Parent 3214 0 R
-/Prev 679 0 R
-/Next 699 0 R
+/Parent 587 0 R
+/Prev 671 0 R
+/Next 707 0 R
 /First 691 0 R
-/Last 691 0 R
-/Count -1
+/Last 695 0 R
+/Count -2
 >> endobj
 683 0 obj <<
 /Title 684 0 R
 /A 681 0 R
-/Parent 679 0 R
+/Parent 671 0 R
+/Prev 679 0 R
 >> endobj
 679 0 obj <<
 /Title 680 0 R
 /A 677 0 R
-/Parent 3214 0 R
-/Prev 663 0 R
-/Next 687 0 R
-/First 683 0 R
-/Last 683 0 R
-/Count -1
+/Parent 671 0 R
+/Prev 675 0 R
+/Next 683 0 R
 >> endobj
 675 0 obj <<
 /Title 676 0 R
 /A 673 0 R
-/Parent 667 0 R
-/Prev 671 0 R
+/Parent 671 0 R
+/Next 679 0 R
 >> endobj
 671 0 obj <<
 /Title 672 0 R
 /A 669 0 R
-/Parent 667 0 R
-/Next 675 0 R
+/Parent 587 0 R
+/Prev 651 0 R
+/Next 687 0 R
+/First 675 0 R
+/Last 683 0 R
+/Count -3
 >> endobj
 667 0 obj <<
 /Title 668 0 R
 /A 665 0 R
-/Parent 663 0 R
-/First 671 0 R
-/Last 675 0 R
-/Count -2
+/Parent 651 0 R
+/Prev 663 0 R
 >> endobj
 663 0 obj <<
 /Title 664 0 R
 /A 661 0 R
-/Parent 3214 0 R
-/Prev 651 0 R
-/Next 679 0 R
-/First 667 0 R
-/Last 667 0 R
-/Count -1
+/Parent 651 0 R
+/Prev 659 0 R
+/Next 667 0 R
 >> endobj
 659 0 obj <<
 /Title 660 0 R
 /A 657 0 R
-/Parent 655 0 R
+/Parent 651 0 R
+/Prev 655 0 R
+/Next 663 0 R
 >> endobj
 655 0 obj <<
 /Title 656 0 R
 /A 653 0 R
 /Parent 651 0 R
-/First 659 0 R
-/Last 659 0 R
-/Count -1
+/Next 659 0 R
 >> endobj
 651 0 obj <<
 /Title 652 0 R
 /A 649 0 R
-/Parent 3214 0 R
-/Prev 643 0 R
-/Next 663 0 R
+/Parent 587 0 R
+/Prev 619 0 R
+/Next 671 0 R
 /First 655 0 R
-/Last 655 0 R
-/Count -1
+/Last 667 0 R
+/Count -4
 >> endobj
 647 0 obj <<
 /Title 648 0 R
 /A 645 0 R
-/Parent 643 0 R
+/Parent 619 0 R
+/Prev 643 0 R
 >> endobj
 643 0 obj <<
 /Title 644 0 R
 /A 641 0 R
-/Parent 3214 0 R
-/Prev 635 0 R
-/Next 651 0 R
-/First 647 0 R
-/Last 647 0 R
-/Count -1
+/Parent 619 0 R
+/Prev 639 0 R
+/Next 647 0 R
 >> endobj
 639 0 obj <<
 /Title 640 0 R
 /A 637 0 R
-/Parent 635 0 R
+/Parent 619 0 R
+/Prev 635 0 R
+/Next 643 0 R
 >> endobj
 635 0 obj <<
 /Title 636 0 R
 /A 633 0 R
-/Parent 3214 0 R
-/Prev 627 0 R
-/Next 643 0 R
-/First 639 0 R
-/Last 639 0 R
-/Count -1
+/Parent 619 0 R
+/Prev 631 0 R
+/Next 639 0 R
 >> endobj
 631 0 obj <<
 /Title 632 0 R
 /A 629 0 R
-/Parent 627 0 R
+/Parent 619 0 R
+/Prev 627 0 R
+/Next 635 0 R
 >> endobj
 627 0 obj <<
 /Title 628 0 R
 /A 625 0 R
-/Parent 3214 0 R
-/Prev 607 0 R
-/Next 635 0 R
-/First 631 0 R
-/Last 631 0 R
-/Count -1
+/Parent 619 0 R
+/Prev 623 0 R
+/Next 631 0 R
 >> endobj
 623 0 obj <<
 /Title 624 0 R
 /A 621 0 R
-/Parent 611 0 R
-/Prev 619 0 R
+/Parent 619 0 R
+/Next 627 0 R
 >> endobj
 619 0 obj <<
 /Title 620 0 R
 /A 617 0 R
-/Parent 611 0 R
+/Parent 587 0 R
 /Prev 615 0 R
-/Next 623 0 R
+/Next 651 0 R
+/First 623 0 R
+/Last 647 0 R
+/Count -7
 >> endobj
 615 0 obj <<
 /Title 616 0 R
 /A 613 0 R
-/Parent 611 0 R
+/Parent 587 0 R
+/Prev 611 0 R
 /Next 619 0 R
 >> endobj
 611 0 obj <<
 /Title 612 0 R
 /A 609 0 R
-/Parent 607 0 R
-/First 615 0 R
-/Last 623 0 R
-/Count -3
+/Parent 587 0 R
+/Prev 607 0 R
+/Next 615 0 R
 >> endobj
 607 0 obj <<
 /Title 608 0 R
 /A 605 0 R
-/Parent 3214 0 R
-/Prev 591 0 R
-/Next 627 0 R
-/First 611 0 R
-/Last 611 0 R
-/Count -1
+/Parent 587 0 R
+/Prev 603 0 R
+/Next 611 0 R
 >> endobj
 603 0 obj <<
 /Title 604 0 R
 /A 601 0 R
-/Parent 595 0 R
+/Parent 587 0 R
 /Prev 599 0 R
+/Next 607 0 R
 >> endobj
 599 0 obj <<
 /Title 600 0 R
 /A 597 0 R
-/Parent 595 0 R
+/Parent 587 0 R
+/Prev 595 0 R
 /Next 603 0 R
 >> endobj
 595 0 obj <<
 /Title 596 0 R
 /A 593 0 R
-/Parent 591 0 R
-/First 599 0 R
-/Last 603 0 R
-/Count -2
+/Parent 587 0 R
+/Prev 591 0 R
+/Next 599 0 R
 >> endobj
 591 0 obj <<
 /Title 592 0 R
 /A 589 0 R
-/Parent 3214 0 R
-/Prev 579 0 R
-/Next 607 0 R
-/First 595 0 R
-/Last 595 0 R
-/Count -1
+/Parent 587 0 R
+/Next 595 0 R
 >> endobj
 587 0 obj <<
 /Title 588 0 R
 /A 585 0 R
-/Parent 583 0 R
+/Parent 4505 0 R
+/Prev 507 0 R
+/Next 711 0 R
+/First 591 0 R
+/Last 707 0 R
+/Count -12
 >> endobj
 583 0 obj <<
 /Title 584 0 R
 /A 581 0 R
-/Parent 579 0 R
-/First 587 0 R
-/Last 587 0 R
-/Count -1
+/Parent 563 0 R
+/Prev 579 0 R
 >> endobj
 579 0 obj <<
 /Title 580 0 R
 /A 577 0 R
-/Parent 3214 0 R
-/Prev 571 0 R
-/Next 591 0 R
-/First 583 0 R
-/Last 583 0 R
-/Count -1
+/Parent 563 0 R
+/Prev 575 0 R
+/Next 583 0 R
 >> endobj
 575 0 obj <<
 /Title 576 0 R
 /A 573 0 R
-/Parent 571 0 R
+/Parent 563 0 R
+/Prev 571 0 R
+/Next 579 0 R
 >> endobj
 571 0 obj <<
 /Title 572 0 R
 /A 569 0 R
-/Parent 3214 0 R
+/Parent 563 0 R
 /Prev 567 0 R
-/Next 579 0 R
-/First 575 0 R
-/Last 575 0 R
-/Count -1
+/Next 575 0 R
 >> endobj
 567 0 obj <<
 /Title 568 0 R
 /A 565 0 R
-/Parent 3214 0 R
-/Prev 515 0 R
+/Parent 563 0 R
 /Next 571 0 R
 >> endobj
 563 0 obj <<
 /Title 564 0 R
 /A 561 0 R
-/Parent 515 0 R
-/Prev 559 0 R
+/Parent 507 0 R
+/Prev 551 0 R
+/First 567 0 R
+/Last 583 0 R
+/Count -5
 >> endobj
 559 0 obj <<
 /Title 560 0 R
 /A 557 0 R
-/Parent 515 0 R
-/Prev 555 0 R
-/Next 563 0 R
+/Parent 555 0 R
 >> endobj
 555 0 obj <<
 /Title 556 0 R
 /A 553 0 R
-/Parent 515 0 R
-/Prev 551 0 R
-/Next 559 0 R
+/Parent 551 0 R
+/First 559 0 R
+/Last 559 0 R
+/Count -1
 >> endobj
 551 0 obj <<
 /Title 552 0 R
 /A 549 0 R
-/Parent 515 0 R
+/Parent 507 0 R
 /Prev 547 0 R
-/Next 555 0 R
+/Next 563 0 R
+/First 555 0 R
+/Last 555 0 R
+/Count -1
 >> endobj
 547 0 obj <<
 /Title 548 0 R
 /A 545 0 R
-/Parent 515 0 R
+/Parent 507 0 R
 /Prev 543 0 R
 /Next 551 0 R
 >> endobj
 543 0 obj <<
 /Title 544 0 R
 /A 541 0 R
-/Parent 515 0 R
+/Parent 507 0 R
 /Prev 539 0 R
 /Next 547 0 R
 >> endobj
 539 0 obj <<
 /Title 540 0 R
 /A 537 0 R
-/Parent 515 0 R
-/Prev 535 0 R
+/Parent 507 0 R
+/Prev 511 0 R
 /Next 543 0 R
 >> endobj
 535 0 obj <<
 /Title 536 0 R
 /A 533 0 R
-/Parent 515 0 R
+/Parent 511 0 R
 /Prev 531 0 R
-/Next 539 0 R
 >> endobj
 531 0 obj <<
 /Title 532 0 R
 /A 529 0 R
-/Parent 515 0 R
+/Parent 511 0 R
 /Prev 527 0 R
 /Next 535 0 R
 >> endobj
 527 0 obj <<
 /Title 528 0 R
 /A 525 0 R
-/Parent 515 0 R
+/Parent 511 0 R
 /Prev 523 0 R
 /Next 531 0 R
 >> endobj
 523 0 obj <<
 /Title 524 0 R
 /A 521 0 R
-/Parent 515 0 R
+/Parent 511 0 R
 /Prev 519 0 R
 /Next 527 0 R
 >> endobj
 519 0 obj <<
 /Title 520 0 R
 /A 517 0 R
-/Parent 515 0 R
+/Parent 511 0 R
+/Prev 515 0 R
 /Next 523 0 R
 >> endobj
 515 0 obj <<
 /Title 516 0 R
 /A 513 0 R
-/Parent 3214 0 R
-/Prev 503 0 R
-/Next 567 0 R
-/First 519 0 R
-/Last 563 0 R
-/Count -12
+/Parent 511 0 R
+/Next 519 0 R
 >> endobj
 511 0 obj <<
 /Title 512 0 R
 /A 509 0 R
-/Parent 503 0 R
-/Prev 507 0 R
+/Parent 507 0 R
+/Next 539 0 R
+/First 515 0 R
+/Last 535 0 R
+/Count -6
 >> endobj
 507 0 obj <<
 /Title 508 0 R
 /A 505 0 R
-/Parent 503 0 R
-/Next 511 0 R
+/Parent 4505 0 R
+/Prev 451 0 R
+/Next 587 0 R
+/First 511 0 R
+/Last 563 0 R
+/Count -6
 >> endobj
 503 0 obj <<
 /Title 504 0 R
 /A 501 0 R
-/Parent 3214 0 R
-/Prev 495 0 R
-/Next 515 0 R
-/First 507 0 R
-/Last 511 0 R
-/Count -2
+/Parent 499 0 R
 >> endobj
 499 0 obj <<
 /Title 500 0 R
 /A 497 0 R
-/Parent 495 0 R
+/Parent 451 0 R
+/Prev 487 0 R
+/First 503 0 R
+/Last 503 0 R
+/Count -1
 >> endobj
 495 0 obj <<
 /Title 496 0 R
 /A 493 0 R
-/Parent 3214 0 R
+/Parent 487 0 R
 /Prev 491 0 R
-/Next 503 0 R
-/First 499 0 R
-/Last 499 0 R
-/Count -1
 >> endobj
 491 0 obj <<
 /Title 492 0 R
 /A 489 0 R
-/Parent 3214 0 R
-/Prev 391 0 R
+/Parent 487 0 R
 /Next 495 0 R
 >> endobj
 487 0 obj <<
 /Title 488 0 R
 /A 485 0 R
-/Parent 391 0 R
+/Parent 451 0 R
 /Prev 471 0 R
+/Next 499 0 R
+/First 491 0 R
+/Last 495 0 R
+/Count -2
 >> endobj
 483 0 obj <<
 /Title 484 0 R
@@ -11798,8 +17287,8 @@ endobj
 471 0 obj <<
 /Title 472 0 R
 /A 469 0 R
-/Parent 391 0 R
-/Prev 451 0 R
+/Parent 451 0 R
+/Prev 455 0 R
 /Next 487 0 R
 /First 475 0 R
 /Last 483 0 R
@@ -11808,224 +17297,221 @@ endobj
 467 0 obj <<
 /Title 468 0 R
 /A 465 0 R
-/Parent 451 0 R
+/Parent 455 0 R
 /Prev 463 0 R
 >> endobj
 463 0 obj <<
 /Title 464 0 R
 /A 461 0 R
-/Parent 451 0 R
+/Parent 455 0 R
 /Prev 459 0 R
 /Next 467 0 R
 >> endobj
 459 0 obj <<
 /Title 460 0 R
 /A 457 0 R
-/Parent 451 0 R
-/Prev 455 0 R
+/Parent 455 0 R
 /Next 463 0 R
 >> endobj
 455 0 obj <<
 /Title 456 0 R
 /A 453 0 R
 /Parent 451 0 R
-/Next 459 0 R
+/Next 471 0 R
+/First 459 0 R
+/Last 467 0 R
+/Count -3
 >> endobj
 451 0 obj <<
 /Title 452 0 R
 /A 449 0 R
-/Parent 391 0 R
-/Prev 419 0 R
-/Next 471 0 R
+/Parent 4505 0 R
+/Prev 279 0 R
+/Next 507 0 R
 /First 455 0 R
-/Last 467 0 R
+/Last 499 0 R
 /Count -4
 >> endobj
 447 0 obj <<
 /Title 448 0 R
 /A 445 0 R
-/Parent 419 0 R
-/Prev 443 0 R
+/Parent 279 0 R
+/Prev 415 0 R
 >> endobj
 443 0 obj <<
 /Title 444 0 R
 /A 441 0 R
-/Parent 419 0 R
+/Parent 431 0 R
 /Prev 439 0 R
-/Next 447 0 R
 >> endobj
 439 0 obj <<
 /Title 440 0 R
 /A 437 0 R
-/Parent 419 0 R
+/Parent 431 0 R
 /Prev 435 0 R
 /Next 443 0 R
 >> endobj
 435 0 obj <<
 /Title 436 0 R
 /A 433 0 R
-/Parent 419 0 R
-/Prev 431 0 R
+/Parent 431 0 R
 /Next 439 0 R
 >> endobj
 431 0 obj <<
 /Title 432 0 R
 /A 429 0 R
-/Parent 419 0 R
+/Parent 415 0 R
 /Prev 427 0 R
-/Next 435 0 R
+/First 435 0 R
+/Last 443 0 R
+/Count -3
 >> endobj
 427 0 obj <<
 /Title 428 0 R
 /A 425 0 R
-/Parent 419 0 R
+/Parent 415 0 R
 /Prev 423 0 R
 /Next 431 0 R
 >> endobj
 423 0 obj <<
 /Title 424 0 R
 /A 421 0 R
-/Parent 419 0 R
+/Parent 415 0 R
+/Prev 419 0 R
 /Next 427 0 R
 >> endobj
 419 0 obj <<
 /Title 420 0 R
 /A 417 0 R
-/Parent 391 0 R
-/Prev 415 0 R
-/Next 451 0 R
-/First 423 0 R
-/Last 447 0 R
-/Count -7
+/Parent 415 0 R
+/Next 423 0 R
 >> endobj
 415 0 obj <<
 /Title 416 0 R
 /A 413 0 R
-/Parent 391 0 R
+/Parent 279 0 R
 /Prev 411 0 R
-/Next 419 0 R
+/Next 447 0 R
+/First 419 0 R
+/Last 431 0 R
+/Count -4
 >> endobj
 411 0 obj <<
 /Title 412 0 R
 /A 409 0 R
-/Parent 391 0 R
+/Parent 279 0 R
 /Prev 407 0 R
 /Next 415 0 R
 >> endobj
 407 0 obj <<
 /Title 408 0 R
 /A 405 0 R
-/Parent 391 0 R
-/Prev 403 0 R
+/Parent 279 0 R
+/Prev 323 0 R
 /Next 411 0 R
 >> endobj
 403 0 obj <<
 /Title 404 0 R
 /A 401 0 R
-/Parent 391 0 R
+/Parent 355 0 R
 /Prev 399 0 R
-/Next 407 0 R
 >> endobj
 399 0 obj <<
 /Title 400 0 R
 /A 397 0 R
-/Parent 391 0 R
-/Prev 395 0 R
+/Parent 355 0 R
+/Prev 359 0 R
 /Next 403 0 R
 >> endobj
 395 0 obj <<
 /Title 396 0 R
 /A 393 0 R
-/Parent 391 0 R
-/Next 399 0 R
+/Parent 359 0 R
+/Prev 391 0 R
 >> endobj
 391 0 obj <<
 /Title 392 0 R
 /A 389 0 R
-/Parent 3214 0 R
-/Prev 319 0 R
-/Next 491 0 R
-/First 395 0 R
-/Last 487 0 R
-/Count -10
+/Parent 359 0 R
+/Prev 387 0 R
+/Next 395 0 R
 >> endobj
 387 0 obj <<
 /Title 388 0 R
 /A 385 0 R
-/Parent 371 0 R
+/Parent 359 0 R
 /Prev 383 0 R
+/Next 391 0 R
 >> endobj
 383 0 obj <<
 /Title 384 0 R
 /A 381 0 R
-/Parent 371 0 R
+/Parent 359 0 R
 /Prev 379 0 R
 /Next 387 0 R
 >> endobj
 379 0 obj <<
 /Title 380 0 R
 /A 377 0 R
-/Parent 371 0 R
+/Parent 359 0 R
 /Prev 375 0 R
 /Next 383 0 R
 >> endobj
 375 0 obj <<
 /Title 376 0 R
 /A 373 0 R
-/Parent 371 0 R
+/Parent 359 0 R
+/Prev 371 0 R
 /Next 379 0 R
 >> endobj
 371 0 obj <<
 /Title 372 0 R
 /A 369 0 R
-/Parent 319 0 R
-/Prev 359 0 R
-/First 375 0 R
-/Last 387 0 R
-/Count -4
+/Parent 359 0 R
+/Prev 367 0 R
+/Next 375 0 R
 >> endobj
 367 0 obj <<
 /Title 368 0 R
 /A 365 0 R
-/Parent 363 0 R
+/Parent 359 0 R
+/Prev 363 0 R
+/Next 371 0 R
 >> endobj
 363 0 obj <<
 /Title 364 0 R
 /A 361 0 R
 /Parent 359 0 R
-/First 367 0 R
-/Last 367 0 R
-/Count -1
+/Next 367 0 R
 >> endobj
 359 0 obj <<
 /Title 360 0 R
 /A 357 0 R
-/Parent 319 0 R
-/Prev 355 0 R
-/Next 371 0 R
+/Parent 355 0 R
+/Next 399 0 R
 /First 363 0 R
-/Last 363 0 R
-/Count -1
+/Last 395 0 R
+/Count -9
 >> endobj
 355 0 obj <<
 /Title 356 0 R
 /A 353 0 R
-/Parent 319 0 R
-/Prev 351 0 R
-/Next 359 0 R
+/Parent 323 0 R
+/Prev 343 0 R
+/First 359 0 R
+/Last 403 0 R
+/Count -3
 >> endobj
 351 0 obj <<
 /Title 352 0 R
 /A 349 0 R
-/Parent 319 0 R
+/Parent 343 0 R
 /Prev 347 0 R
-/Next 355 0 R
 >> endobj
 347 0 obj <<
 /Title 348 0 R
 /A 345 0 R
-/Parent 319 0 R
-/Prev 323 0 R
+/Parent 343 0 R
 /Next 351 0 R
 >> endobj
 343 0 obj <<
@@ -12033,27 +17519,32 @@ endobj
 /A 341 0 R
 /Parent 323 0 R
 /Prev 339 0 R
+/Next 355 0 R
+/First 347 0 R
+/Last 351 0 R
+/Count -2
 >> endobj
 339 0 obj <<
 /Title 340 0 R
 /A 337 0 R
 /Parent 323 0 R
-/Prev 335 0 R
+/Prev 331 0 R
 /Next 343 0 R
 >> endobj
 335 0 obj <<
 /Title 336 0 R
 /A 333 0 R
-/Parent 323 0 R
-/Prev 331 0 R
-/Next 339 0 R
+/Parent 331 0 R
 >> endobj
 331 0 obj <<
 /Title 332 0 R
 /A 329 0 R
 /Parent 323 0 R
 /Prev 327 0 R
-/Next 335 0 R
+/Next 339 0 R
+/First 335 0 R
+/Last 335 0 R
+/Count -1
 >> endobj
 327 0 obj <<
 /Title 328 0 R
@@ -12064,68 +17555,66 @@ endobj
 323 0 obj <<
 /Title 324 0 R
 /A 321 0 R
-/Parent 319 0 R
-/Next 347 0 R
+/Parent 279 0 R
+/Prev 319 0 R
+/Next 407 0 R
 /First 327 0 R
-/Last 343 0 R
+/Last 355 0 R
 /Count -5
 >> endobj
 319 0 obj <<
 /Title 320 0 R
 /A 317 0 R
-/Parent 3214 0 R
-/Prev 263 0 R
-/Next 391 0 R
-/First 323 0 R
-/Last 371 0 R
-/Count -6
+/Parent 279 0 R
+/Prev 315 0 R
+/Next 323 0 R
 >> endobj
 315 0 obj <<
 /Title 316 0 R
 /A 313 0 R
-/Parent 263 0 R
+/Parent 279 0 R
 /Prev 311 0 R
+/Next 319 0 R
 >> endobj
 311 0 obj <<
 /Title 312 0 R
 /A 309 0 R
-/Parent 263 0 R
+/Parent 279 0 R
 /Prev 307 0 R
 /Next 315 0 R
 >> endobj
 307 0 obj <<
 /Title 308 0 R
 /A 305 0 R
-/Parent 263 0 R
-/Prev 303 0 R
+/Parent 279 0 R
+/Prev 287 0 R
 /Next 311 0 R
 >> endobj
 303 0 obj <<
 /Title 304 0 R
 /A 301 0 R
-/Parent 263 0 R
+/Parent 295 0 R
 /Prev 299 0 R
-/Next 307 0 R
 >> endobj
 299 0 obj <<
 /Title 300 0 R
 /A 297 0 R
-/Parent 263 0 R
-/Prev 295 0 R
+/Parent 295 0 R
 /Next 303 0 R
 >> endobj
 295 0 obj <<
 /Title 296 0 R
 /A 293 0 R
-/Parent 263 0 R
+/Parent 287 0 R
 /Prev 291 0 R
-/Next 299 0 R
+/First 299 0 R
+/Last 303 0 R
+/Count -2
 >> endobj
 291 0 obj <<
 /Title 292 0 R
 /A 289 0 R
-/Parent 263 0 R
-/Prev 271 0 R
+/Parent 287 0 R
 /Next 295 0 R
 >> endobj
 287 0 obj <<
@@ -12133,6 +17622,10 @@ endobj
 /A 285 0 R
 /Parent 279 0 R
 /Prev 283 0 R
+/Next 307 0 R
+/First 291 0 R
+/Last 295 0 R
+/Count -2
 >> endobj
 283 0 obj <<
 /Title 284 0 R
@@ -12143,62 +17636,61 @@ endobj
 279 0 obj <<
 /Title 280 0 R
 /A 277 0 R
-/Parent 271 0 R
-/Prev 275 0 R
+/Parent 4505 0 R
+/Prev 43 0 R
+/Next 451 0 R
 /First 283 0 R
-/Last 287 0 R
-/Count -2
+/Last 447 0 R
+/Count -11
 >> endobj
 275 0 obj <<
 /Title 276 0 R
 /A 273 0 R
-/Parent 271 0 R
-/Next 279 0 R
+/Parent 223 0 R
+/Prev 267 0 R
 >> endobj
 271 0 obj <<
 /Title 272 0 R
 /A 269 0 R
-/Parent 263 0 R
-/Prev 267 0 R
-/Next 291 0 R
-/First 275 0 R
-/Last 279 0 R
-/Count -2
+/Parent 267 0 R
 >> endobj
 267 0 obj <<
 /Title 268 0 R
 /A 265 0 R
-/Parent 263 0 R
-/Next 271 0 R
+/Parent 223 0 R
+/Prev 255 0 R
+/Next 275 0 R
+/First 271 0 R
+/Last 271 0 R
+/Count -1
 >> endobj
 263 0 obj <<
 /Title 264 0 R
 /A 261 0 R
-/Parent 3214 0 R
-/Prev 39 0 R
-/Next 319 0 R
-/First 267 0 R
-/Last 315 0 R
-/Count -9
+/Parent 255 0 R
+/Prev 259 0 R
 >> endobj
 259 0 obj <<
 /Title 260 0 R
 /A 257 0 R
-/Parent 235 0 R
-/Prev 255 0 R
+/Parent 255 0 R
+/Next 263 0 R
 >> endobj
 255 0 obj <<
 /Title 256 0 R
 /A 253 0 R
-/Parent 235 0 R
+/Parent 223 0 R
 /Prev 251 0 R
-/Next 259 0 R
+/Next 267 0 R
+/First 259 0 R
+/Last 263 0 R
+/Count -2
 >> endobj
 251 0 obj <<
 /Title 252 0 R
 /A 249 0 R
-/Parent 235 0 R
-/Prev 247 0 R
+/Parent 223 0 R
+/Prev 231 0 R
 /Next 255 0 R
 >> endobj
 247 0 obj <<
@@ -12206,7 +17698,6 @@ endobj
 /A 245 0 R
 /Parent 235 0 R
 /Prev 243 0 R
-/Next 251 0 R
 >> endobj
 243 0 obj <<
 /Title 244 0 R
@@ -12224,217 +17715,221 @@ endobj
 235 0 obj <<
 /Title 236 0 R
 /A 233 0 R
-/Parent 39 0 R
-/Prev 195 0 R
+/Parent 231 0 R
 /First 239 0 R
-/Last 259 0 R
-/Count -6
+/Last 247 0 R
+/Count -3
 >> endobj
 231 0 obj <<
 /Title 232 0 R
 /A 229 0 R
-/Parent 195 0 R
+/Parent 223 0 R
 /Prev 227 0 R
+/Next 251 0 R
+/First 235 0 R
+/Last 235 0 R
+/Count -1
 >> endobj
 227 0 obj <<
 /Title 228 0 R
 /A 225 0 R
-/Parent 195 0 R
-/Prev 199 0 R
+/Parent 223 0 R
 /Next 231 0 R
 >> endobj
 223 0 obj <<
 /Title 224 0 R
 /A 221 0 R
-/Parent 199 0 R
-/Prev 211 0 R
+/Parent 43 0 R
+/Prev 191 0 R
+/First 227 0 R
+/Last 275 0 R
+/Count -6
 >> endobj
 219 0 obj <<
 /Title 220 0 R
 /A 217 0 R
-/Parent 211 0 R
+/Parent 191 0 R
 /Prev 215 0 R
 >> endobj
 215 0 obj <<
 /Title 216 0 R
 /A 213 0 R
-/Parent 211 0 R
+/Parent 191 0 R
+/Prev 195 0 R
 /Next 219 0 R
 >> endobj
 211 0 obj <<
 /Title 212 0 R
 /A 209 0 R
-/Parent 199 0 R
+/Parent 195 0 R
 /Prev 207 0 R
-/Next 223 0 R
-/First 215 0 R
-/Last 219 0 R
-/Count -2
 >> endobj
 207 0 obj <<
 /Title 208 0 R
 /A 205 0 R
-/Parent 199 0 R
+/Parent 195 0 R
 /Prev 203 0 R
 /Next 211 0 R
 >> endobj
 203 0 obj <<
 /Title 204 0 R
 /A 201 0 R
-/Parent 199 0 R
+/Parent 195 0 R
+/Prev 199 0 R
 /Next 207 0 R
 >> endobj
 199 0 obj <<
 /Title 200 0 R
 /A 197 0 R
 /Parent 195 0 R
-/Next 227 0 R
-/First 203 0 R
-/Last 223 0 R
-/Count -4
+/Next 203 0 R
 >> endobj
 195 0 obj <<
 /Title 196 0 R
 /A 193 0 R
-/Parent 39 0 R
-/Prev 155 0 R
-/Next 235 0 R
+/Parent 191 0 R
+/Next 215 0 R
 /First 199 0 R
-/Last 231 0 R
-/Count -3
+/Last 211 0 R
+/Count -4
 >> endobj
 191 0 obj <<
 /Title 192 0 R
 /A 189 0 R
-/Parent 155 0 R
-/Prev 187 0 R
+/Parent 43 0 R
+/Prev 163 0 R
+/Next 223 0 R
+/First 195 0 R
+/Last 219 0 R
+/Count -3
 >> endobj
 187 0 obj <<
 /Title 188 0 R
 /A 185 0 R
-/Parent 155 0 R
+/Parent 163 0 R
 /Prev 183 0 R
-/Next 191 0 R
 >> endobj
 183 0 obj <<
 /Title 184 0 R
 /A 181 0 R
-/Parent 155 0 R
+/Parent 163 0 R
 /Prev 179 0 R
 /Next 187 0 R
 >> endobj
 179 0 obj <<
 /Title 180 0 R
 /A 177 0 R
-/Parent 155 0 R
+/Parent 163 0 R
 /Prev 175 0 R
 /Next 183 0 R
 >> endobj
 175 0 obj <<
 /Title 176 0 R
 /A 173 0 R
-/Parent 155 0 R
+/Parent 163 0 R
 /Prev 171 0 R
 /Next 179 0 R
 >> endobj
 171 0 obj <<
 /Title 172 0 R
 /A 169 0 R
-/Parent 155 0 R
+/Parent 163 0 R
 /Prev 167 0 R
 /Next 175 0 R
 >> endobj
 167 0 obj <<
 /Title 168 0 R
 /A 165 0 R
-/Parent 155 0 R
-/Prev 163 0 R
+/Parent 163 0 R
 /Next 171 0 R
 >> endobj
 163 0 obj <<
 /Title 164 0 R
 /A 161 0 R
-/Parent 155 0 R
-/Prev 159 0 R
-/Next 167 0 R
+/Parent 43 0 R
+/Prev 111 0 R
+/Next 191 0 R
+/First 167 0 R
+/Last 187 0 R
+/Count -6
 >> endobj
 159 0 obj <<
 /Title 160 0 R
 /A 157 0 R
-/Parent 155 0 R
-/Next 163 0 R
+/Parent 111 0 R
+/Prev 143 0 R
 >> endobj
 155 0 obj <<
 /Title 156 0 R
 /A 153 0 R
-/Parent 39 0 R
-/Prev 103 0 R
-/Next 195 0 R
-/First 159 0 R
-/Last 191 0 R
-/Count -9
+/Parent 143 0 R
+/Prev 151 0 R
 >> endobj
 151 0 obj <<
 /Title 152 0 R
 /A 149 0 R
-/Parent 103 0 R
-/Prev 131 0 R
+/Parent 143 0 R
+/Prev 147 0 R
+/Next 155 0 R
 >> endobj
 147 0 obj <<
 /Title 148 0 R
 /A 145 0 R
-/Parent 131 0 R
-/Prev 143 0 R
+/Parent 143 0 R
+/Next 151 0 R
 >> endobj
 143 0 obj <<
 /Title 144 0 R
 /A 141 0 R
-/Parent 131 0 R
+/Parent 111 0 R
 /Prev 139 0 R
-/Next 147 0 R
+/Next 159 0 R
+/First 147 0 R
+/Last 155 0 R
+/Count -3
 >> endobj
 139 0 obj <<
 /Title 140 0 R
 /A 137 0 R
-/Parent 131 0 R
-/Prev 135 0 R
+/Parent 111 0 R
+/Prev 119 0 R
 /Next 143 0 R
 >> endobj
 135 0 obj <<
 /Title 136 0 R
 /A 133 0 R
-/Parent 131 0 R
-/Next 139 0 R
+/Parent 119 0 R
+/Prev 131 0 R
 >> endobj
 131 0 obj <<
 /Title 132 0 R
 /A 129 0 R
-/Parent 103 0 R
+/Parent 119 0 R
 /Prev 127 0 R
-/Next 151 0 R
-/First 135 0 R
-/Last 147 0 R
-/Count -4
+/Next 135 0 R
 >> endobj
 127 0 obj <<
 /Title 128 0 R
 /A 125 0 R
-/Parent 103 0 R
-/Prev 111 0 R
+/Parent 119 0 R
+/Prev 123 0 R
 /Next 131 0 R
 >> endobj
 123 0 obj <<
 /Title 124 0 R
 /A 121 0 R
-/Parent 111 0 R
-/Prev 119 0 R
+/Parent 119 0 R
+/Next 127 0 R
 >> endobj
 119 0 obj <<
 /Title 120 0 R
 /A 117 0 R
 /Parent 111 0 R
 /Prev 115 0 R
-/Next 123 0 R
+/Next 139 0 R
+/First 123 0 R
+/Last 135 0 R
+/Count -4
 >> endobj
 115 0 obj <<
 /Title 116 0 R
@@ -12445,3459 +17940,4748 @@ endobj
 111 0 obj <<
 /Title 112 0 R
 /A 109 0 R
-/Parent 103 0 R
-/Prev 107 0 R
-/Next 127 0 R
+/Parent 43 0 R
+/Prev 47 0 R
+/Next 163 0 R
 /First 115 0 R
-/Last 123 0 R
-/Count -3
+/Last 159 0 R
+/Count -5
 >> endobj
 107 0 obj <<
 /Title 108 0 R
 /A 105 0 R
-/Parent 103 0 R
-/Next 111 0 R
+/Parent 47 0 R
+/Prev 67 0 R
 >> endobj
 103 0 obj <<
 /Title 104 0 R
 /A 101 0 R
-/Parent 39 0 R
-/Prev 43 0 R
-/Next 155 0 R
-/First 107 0 R
-/Last 151 0 R
-/Count -5
+/Parent 67 0 R
+/Prev 99 0 R
 >> endobj
 99 0 obj <<
 /Title 100 0 R
 /A 97 0 R
-/Parent 63 0 R
+/Parent 67 0 R
 /Prev 95 0 R
+/Next 103 0 R
 >> endobj
 95 0 obj <<
 /Title 96 0 R
 /A 93 0 R
-/Parent 63 0 R
+/Parent 67 0 R
 /Prev 91 0 R
 /Next 99 0 R
 >> endobj
 91 0 obj <<
 /Title 92 0 R
 /A 89 0 R
-/Parent 63 0 R
+/Parent 67 0 R
 /Prev 87 0 R
 /Next 95 0 R
 >> endobj
 87 0 obj <<
 /Title 88 0 R
 /A 85 0 R
-/Parent 63 0 R
+/Parent 67 0 R
 /Prev 83 0 R
 /Next 91 0 R
 >> endobj
 83 0 obj <<
 /Title 84 0 R
 /A 81 0 R
-/Parent 63 0 R
+/Parent 67 0 R
 /Prev 79 0 R
 /Next 87 0 R
 >> endobj
 79 0 obj <<
 /Title 80 0 R
 /A 77 0 R
-/Parent 63 0 R
+/Parent 67 0 R
 /Prev 75 0 R
 /Next 83 0 R
 >> endobj
 75 0 obj <<
 /Title 76 0 R
 /A 73 0 R
-/Parent 63 0 R
+/Parent 67 0 R
 /Prev 71 0 R
 /Next 79 0 R
 >> endobj
 71 0 obj <<
 /Title 72 0 R
 /A 69 0 R
-/Parent 63 0 R
-/Prev 67 0 R
+/Parent 67 0 R
 /Next 75 0 R
 >> endobj
 67 0 obj <<
 /Title 68 0 R
 /A 65 0 R
-/Parent 63 0 R
-/Next 71 0 R
+/Parent 47 0 R
+/Prev 63 0 R
+/Next 107 0 R
+/First 71 0 R
+/Last 103 0 R
+/Count -9
 >> endobj
 63 0 obj <<
 /Title 64 0 R
 /A 61 0 R
-/Parent 43 0 R
+/Parent 47 0 R
 /Prev 59 0 R
-/First 67 0 R
-/Last 99 0 R
-/Count -9
+/Next 67 0 R
 >> endobj
 59 0 obj <<
 /Title 60 0 R
 /A 57 0 R
-/Parent 43 0 R
+/Parent 47 0 R
 /Prev 55 0 R
 /Next 63 0 R
 >> endobj
 55 0 obj <<
 /Title 56 0 R
 /A 53 0 R
-/Parent 43 0 R
+/Parent 47 0 R
 /Prev 51 0 R
 /Next 59 0 R
 >> endobj
 51 0 obj <<
 /Title 52 0 R
 /A 49 0 R
-/Parent 43 0 R
-/Prev 47 0 R
+/Parent 47 0 R
 /Next 55 0 R
 >> endobj
 47 0 obj <<
 /Title 48 0 R
 /A 45 0 R
 /Parent 43 0 R
-/Next 51 0 R
+/Next 111 0 R
+/First 51 0 R
+/Last 107 0 R
+/Count -6
 >> endobj
 43 0 obj <<
 /Title 44 0 R
 /A 41 0 R
-/Parent 39 0 R
-/Next 103 0 R
+/Parent 4505 0 R
+/Prev 19 0 R
+/Next 279 0 R
 /First 47 0 R
-/Last 63 0 R
+/Last 223 0 R
 /Count -5
 >> endobj
 39 0 obj <<
 /Title 40 0 R
 /A 37 0 R
-/Parent 3214 0 R
-/Prev 15 0 R
-/Next 263 0 R
-/First 43 0 R
-/Last 235 0 R
-/Count -5
+/Parent 19 0 R
+/Prev 35 0 R
 >> endobj
 35 0 obj <<
 /Title 36 0 R
 /A 33 0 R
-/Parent 15 0 R
+/Parent 19 0 R
 /Prev 31 0 R
+/Next 39 0 R
 >> endobj
 31 0 obj <<
 /Title 32 0 R
 /A 29 0 R
-/Parent 15 0 R
+/Parent 19 0 R
 /Prev 27 0 R
 /Next 35 0 R
 >> endobj
 27 0 obj <<
 /Title 28 0 R
 /A 25 0 R
-/Parent 15 0 R
+/Parent 19 0 R
 /Prev 23 0 R
 /Next 31 0 R
 >> endobj
 23 0 obj <<
 /Title 24 0 R
 /A 21 0 R
-/Parent 15 0 R
-/Prev 19 0 R
+/Parent 19 0 R
 /Next 27 0 R
 >> endobj
 19 0 obj <<
 /Title 20 0 R
 /A 17 0 R
-/Parent 15 0 R
-/Next 23 0 R
+/Parent 4505 0 R
+/Prev 15 0 R
+/Next 43 0 R
+/First 23 0 R
+/Last 39 0 R
+/Count -5
 >> endobj
 15 0 obj <<
 /Title 16 0 R
 /A 13 0 R
-/Parent 3214 0 R
+/Parent 4505 0 R
 /Prev 11 0 R
-/Next 39 0 R
-/First 19 0 R
-/Last 35 0 R
-/Count -5
+/Next 19 0 R
 >> endobj
 11 0 obj <<
 /Title 12 0 R
 /A 9 0 R
-/Parent 3214 0 R
+/Parent 4505 0 R
 /Prev 7 0 R
 /Next 15 0 R
 >> endobj
 7 0 obj <<
 /Title 8 0 R
 /A 5 0 R
-/Parent 3214 0 R
+/Parent 4505 0 R
 /Prev 3 0 R
 /Next 11 0 R
 >> endobj
 3 0 obj <<
 /Title 4 0 R
 /A 1 0 R
-/Parent 3214 0 R
+/Parent 4505 0 R
 /Next 7 0 R
 >> endobj
-3215 0 obj <<
-/Names [(1.0) 2 0 R (10.0) 494 0 R (10.36.1) 498 0 R (1000) 1855 0 R (1001) 1856 0 R (1002) 1857 0 R (1005) 1858 0 R (1007) 1860 0 R (1008) 1861 0 R (1009) 1862 0 R (1010) 1863 0 R (1011) 1864 0 R (1012) 1865 0 R (1013) 1866 0 R (1014) 1867 0 R (1015) 1874 0 R (1016) 1826 0 R (1019) 1875 0 R (1020) 1876 0 R (1021) 1877 0 R (1022) 1878 0 R (1023) 1879 0 R (1024) 1880 0 R (1025) 1881 0 R (1026) 1882 0 R (1027) 1883 0 R (1028) 1884 0 R (1029) 1885 0 R (1032) 1886 0 R (1033) 1887 0 R (1034) 1888 0 R (1035) 1889 0 R (1036) 1890 0 R (1037) 1891 0 R (1038) 1892 0 R (1039) 1893 0 R (1040) 1894 0 R (1043) 1895 0 R (1044) 1896 0 R (1045) 1901 0 R (1046) 1902 0 R (1047) 1903 0 R (1048) 1904 0 R (1049) 1905 0 R (1050) 1906 0 R (1051) 1907 0 R (1052) 1908 0 R (1053) 1909 0 R (1054) 1910 0 R (1055) 1911 0 R (1058) 1912 0 R (1059) 1913 0 R (1060) 1914 0 R (1061) 1915 0 R (1062) 1916 0 R (1063) 1917 0 R (1064) 1918 0 R (1065) 1919 0 R (1066) 1920 0 R (1067) 1921 0 R (1068) 1922 0 R (1069) 1923 0 R (1070) 1924 0 R (1071) 1925 0 R (1072) 1926 0 R (1073) 1927 0 R (1076) 1928 0 R (1077) 1929 0 R (1078) 1930 0 R (1079) 1931 0 R (1080) 1932 0 R (1081) 1937 0 R (1082) 1938 0 R (1083) 1939 0 R (1084) 1940 0 R (1085) 1941 0 R (1086) 1942 0 R (1087) 1943 0 R (1088) 1944 0 R (1089) 1945 0 R (1090) 1946 0 R (1091) 1947 0 R (1092) 1948 0 R (1093) 1949 0 R (1094) 1950 0 R (1095) 1951 0 R (1096) 1952 0 R (1097) 1953 0 R (1098) 1954 0 R (1099) 1955 0 R (11.0) 502 0 R (11.37.1) 506 0 R (11.38.1) 510 0 R (1100) 1956 0 R (1101) 1957 0 R (1102) 1958 0 R (1103) 1959 0 R (1104) 1960 0 R (1105) 1961 0 R (1106) 1962 0 R (1107) 1963 0 R (1108) 1964 0 R (1109) 1965 0 R (1110) 1966 0 R (1111) 1967 0 R (1112) 1968 0 R (1113) 1969 0 R (1114) 1970 0 R (1115) 1971 0 R (1116) 1972 0 R (1117) 1973 0 R (1120) 1974 0 R (1121) 1975 0 R (1122) 1976 0 R (1123) 1977 0 R (1124) 1978 0 R (1125) 1984 0 R (1126) 1985 0 R (1127) 1986 0 R (1128) 1987 0 R (1129) 1988 0 R (1130) 1989 0 R (1131) 1990 0 R (1133) 1992 0 R (1134) 1993 0 R (1136) 1995 0 R (1137) 1996 0 R (1139) 1998 0 R (1140) 1999 0 R (1141) 2000 0 R (1142) 2001 0 R (1143) 2002 0 R (1144) 2003 0 R (1147) 2004 0 R (1148) 2005 0 R (1149) 2006 0 R (1150) 2007 0 R (1151) 2008 0 R (1152) 2009 0 R (1153) 2010 0 R (1154) 2011 0 R (1155) 2012 0 R (1156) 2013 0 R (1157) 2018 0 R (1158) 2019 0 R (1159) 2020 0 R (1160) 1983 0 R (1161) 2021 0 R (1162) 2022 0 R (1165) 2023 0 R (1166) 2024 0 R (1167) 2025 0 R (1168) 2026 0 R (1169) 2027 0 R (1170) 2028 0 R (1171) 2029 0 R (1172) 2030 0 R (1173) 2031 0 R (1174) 2032 0 R (1175) 2033 0 R (1176) 2034 0 R (1177) 2035 0 R (1178) 2036 0 R (1179) 2037 0 R (1180) 2038 0 R (1181) 2039 0 R (1182) 2040 0 R (1183) 2041 0 R (1184) 2042 0 R (1185) 2043 0 R (1186) 2044 0 R (1187) 2045 0 R (1190) 2050 0 R (1191) 2051 0 R (1192) 2052 0 R (1193) 2053 0 R (1194) 2054 0 R (1195) 2055 0 R (1196) 2056 0 R (1197) 2057 0 R (1198) 2058 0 R (1199) 2059 0 R (12.0) 514 0 R (12.39.1) 518 0 R (12.40.1) 522 0 R (12.41.1) 526 0 R (12.42.1) 530 0 R (12.43.1) 534 0 R (12.44.1) 538 0 R (12.45.1) 542 0 R (12.46.1) 546 0 R (12.47.1) 550 0 R (12.48.1) 554 0 R (12.49.1) 558 0 R (12.50.1) 562 0 R (1206) 2067 0 R (1207) 2068 0 R (1209) 2070 0 R (1211) 2071 0 R (1212) 2072 0 R (1213) 2073 0 R (1214) 2074 0 R (1215) 2075 0 R (1216) 2076 0 R (1217) 2077 0 R (1218) 2078 0 R (1219) 2079 0 R (1220) 2080 0 R (1221) 2081 0 R (1222) 2082 0 R (1223) 2083 0 R (1224) 2084 0 R (1225) 2085 0 R (1226) 2086 0 R (1227) 2087 0 R (1228) 2088 0 R (1229) 2089 0 R (1230) 2090 0 R (1231) 2091 0 R (1232) 2092 0 R (1234) 2098 0 R (1235) 2099 0 R (1236) 2100 0 R (1237) 2101 0 R (1238) 2102 0 R (1239) 2103 0 R (1240) 2104 0 R (1241) 2105 0 R (1242) 2106 0 R (1244) 2107 0 R (1245) 2108 0 R (1246) 2109 0 R (1247) 2110 0 R (1248) 2111 0 R (1249) 2112 0 R (1250) 2113 0 R (1251) 2114 0 R (1252) 2115 0 R (1253) 2116 0 R (1254) 2117 0 R (1255) 2118 0 R (1257) 2119 0 R (1258) 2120 0 R (1259) 2121 0 R (1260) 2126 0 R (1261) 2127 0 R (1262) 2128 0 R (1263) 2129 0 R (1264) 2130 0 R (1265) 2131 0 R (1266) 2132 0 R (1267) 2133 0 R (1268) 2134 0 R (1269) 2135 0 R (1270) 2136 0 R (1271) 2137 0 R (1272) 2138 0 R (1273) 2139 0 R (1274) 2140 0 R (1275) 2141 0 R (1276) 2142 0 R (1277) 2143 0 R (1278) 2144 0 R (1279) 2145 0 R (1280) 2146 0 R (1281) 2147 0 R (1282) 2148 0 R (1283) 2149 0 R (1286) 2150 0 R (1287) 2151 0 R (1288) 2157 0 R (1289) 2158 0 R (1290) 2159 0 R (1291) 2160 0 R (1292) 2161 0 R (1295) 2162 0 R (1296) 2163 0 R (1297) 2164 0 R (1298) 2165 0 R (1299) 2166 0 R (13.0) 566 0 R (1300) 2167 0 R (1301) 2168 0 R (1302) 2169 0 R (1303) 2170 0 R (1304) 2171 0 R (1305) 2172 0 R (1306) 2173 0 R (1307) 2174 0 R (1308) 2175 0 R (1309) 2176 0 R (1314) 2178 0 R (1315) 2179 0 R (1316) 2180 0 R (1317) 2181 0 R (1318) 2182 0 R (1319) 2156 0 R (1321) 2187 0 R (1322) 2188 0 R (1323) 2189 0 R (1324) 2190 0 R (1325) 2191 0 R (1326) 2192 0 R (1327) 2193 0 R (1328) 2194 0 R (1329) 2195 0 R (1330) 2196 0 R (1331) 2197 0 R (1332) 2198 0 R (1333) 2199 0 R (1334) 2200 0 R (1335) 2201 0 R (1336) 2202 0 R (1337) 2203 0 R (1338) 2204 0 R (1339) 2205 0 R (1340) 2206 0 R (1341) 2207 0 R (1342) 2208 0 R (1343) 2209 0 R (1344) 2210 0 R (1345) 2211 0 R (1346) 2212 0 R (1347) 2213 0 R (1348) 2214 0 R (1349) 2215 0 R (1350) 2216 0 R (1351) 2217 0 R (1352) 2218 0 R (1353) 2219 0 R (1354) 2224 0 R (1357) 2225 0 R (1358) 2226 0 R (1359) 2227 0 R (1360) 2228 0 R (1361) 2229 0 R (1362) 2230 0 R (1363) 2231 0 R (1364) 2232 0 R (1365) 2233 0 R (1366) 2234 0 R (1367) 2235 0 R (1368) 2242 0 R (1369) 2243 0 R (1370) 2244 0 R (1371) 2245 0 R (1374) 2246 0 R (1375) 2247 0 R (1376) 2248 0 R (1377) 2249 0 R (1378) 2250 0 R (1379) 2251 0 R (1380) 2252 0 R (1381) 2253 0 R (1382) 2254 0 R (1385) 2255 0 R (1386) 2256 0 R (1387) 2261 0 R (1388) 2241 0 R (1389) 2262 0 R (1390) 2263 0 R (1391) 2264 0 R (1392) 2265 0 R (1393) 2266 0 R (1395) 2267 0 R (1396) 2268 0 R (1397) 2269 0 R (1398) 2270 0 R (1399) 2271 0 R (14.0) 570 0 R (14.50.55.2) 574 0 R (1400) 2272 0 R (1401) 2273 0 R (1402) 2274 0 R (1403) 2275 0 R (1404) 2276 0 R (1405) 2277 0 R (1406) 2278 0 R (1407) 2279 0 R (1408) 2280 0 R (1409) 2281 0 R (1410) 2282 0 R (1411) 2283 0 R (1412) 2284 0 R (1413) 2285 0 R (1414) 2286 0 R (1415) 2287 0 R (1416) 2288 0 R (1417) 2289 0 R (1418) 2290 0 R (1419) 2291 0 R (1420) 2292 0 R (1422) 2297 0 R (1423) 2298 0 R (1424) 2299 0 R (1425) 2300 0 R (1426) 2301 0 R (1427) 2302 0 R (1428) 2303 0 R (1429) 2304 0 R (1430) 2305 0 R (1435) 2324 0 R (144) 978 0 R (1440) 2329 0 R (1441) 2330 0 R (1442) 2331 0 R (1443) 2332 0 R (1444) 2333 0 R (1445) 2334 0 R (1448) 2336 0 R (1449) 2337 0 R (1450) 2338 0 R (1451) 2339 0 R (1452) 2340 0 R (1455) 2342 0 R (1456) 2343 0 R (1457) 2344 0 R (1462) 2349 0 R (1463) 2350 0 R (1466) 2351 0 R (1467) 2352 0 R (1468) 2353 0 R (1469) 2354 0 R (1470) 2355 0 R (1471) 2356 0 R (1472) 2357 0 R (1473) 2358 0 R (1474) 2359 0 R (1475) 2360 0 R (1476) 2361 0 R (1477) 2362 0 R (1478) 2363 0 R (1479) 2364 0 R (1482) 2365 0 R (1483) 2366 0 R (1484) 2367 0 R (1485) 2368 0 R (1486) 2369 0 R (1487) 2370 0 R (1488) 2371 0 R (15.0) 578 0 R (15.50.56.2) 582 0 R (15.50.56.24.3) 586 0 R (150) 1017 0 R (1509) 2378 0 R (151) 1018 0 R (1510) 2379 0 R (1511) 2380 0 R (1512) 2381 0 R (1513) 2382 0 R (1514) 2383 0 R (1515) 2384 0 R (1516) 2385 0 R (1517) 2386 0 R (1518) 2387 0 R (1519) 2388 0 R (152) 1019 0 R (1520) 2389 0 R (1521) 2390 0 R (1522) 2391 0 R (1523) 2392 0 R (1524) 2393 0 R (1525) 2394 0 R (1526) 2395 0 R (1527) 2396 0 R (1528) 2397 0 R (1529) 2398 0 R (153) 1022 0 R (1530) 2399 0 R (1531) 2400 0 R (1532) 2401 0 R (1533) 2402 0 R (1534) 2403 0 R (1535) 2404 0 R (1536) 2405 0 R (1537) 2406 0 R (1538) 2407 0 R (1539) 2408 0 R (1540) 2409 0 R (1541) 2410 0 R (1542) 2411 0 R (1543) 2412 0 R (1544) 2413 0 R (1545) 2414 0 R (1546) 2415 0 R (1547) 2416 0 R (1548) 2417 0 R (1549) 2418 0 R (155) 1024 0 R (1550) 2419 0 R (1551) 2420 0 R (1552) 2421 0 R (1553) 2422 0 R (1554) 2423 0 R (1555) 2424 0 R (1556) 2425 0 R (1557) 2426 0 R (1558) 2427 0 R (1559) 2428 0 R (156) 1025 0 R (1562) 2429 0 R (1563) 2430 0 R (1564) 2431 0 R (1565) 2436 0 R (1566) 2377 0 R (1569) 2437 0 R (157) 1026 0 R (1570) 2438 0 R (1571) 2439 0 R (158) 1027 0 R (1588) 2441 0 R (1589) 2442 0 R (159) 1028 0 R (1590) 2443 0 R (1591) 2444 0 R (1592) 2445 0 R (1593) 2446 0 R (1594) 2447 0 R (1595) 2448 0 R (1596) 2449 0 R (1597) 2450 0 R (1598) 2451 0 R (1599) 2452 0 R (16.0) 590 0 R (16.50.57.2) 594 0 R (16.50.58.2) 598 0 R (16.50.59.2) 602 0 R (160) 1029 0 R (1600) 2453 0 R (1601) 2454 0 R (1602) 2455 0 R (1603) 2456 0 R (1604) 2457 0 R (1607) 2463 0 R (1608) 2464 0 R (1609) 2465 0 R (161) 1030 0 R (1619) 2468 0 R (162) 1031 0 R (1622) 2470 0 R (1625) 2472 0 R (1628) 2474 0 R (163) 1032 0 R (1631) 2476 0 R (1634) 2481 0 R (1635) 2482 0 R (1638) 2484 0 R (1641) 2485 0 R (1642) 2486 0 R (1644) 2487 0 R (1645) 2488 0 R (1646) 2489 0 R (1655) 2491 0 R (1658) 2493 0 R (1659) 2494 0 R (166) 1034 0 R (1660) 2495 0 R (1661) 2501 0 R (1662) 2502 0 R (1665) 2504 0 R (1666) 2505 0 R (1669) 2507 0 R (1670) 2508 0 R (1671) 2509 0 R (1672) 2510 0 R (1673) 2511 0 R (1676) 2512 0 R (1679) 2514 0 R (1680) 2515 0 R (1681) 2516 0 R (1684) 2522 0 R (1685) 2523 0 R (1686) 2524 0 R (1687) 2525 0 R (1688) 2526 0 R (169) 1036 0 R (1691) 2528 0 R (1694) 2529 0 R (1695) 2530 0 R (1698) 2535 0 R (1699) 2536 0 R (17.0) 606 0 R (17.50.60.2) 610 0 R (17.50.61.2) 614 0 R (17.50.62.2) 618 0 R (17.50.63.2) 622 0 R (1701) 2538 0 R (1705) 2540 0 R (1707) 2541 0 R (1711) 2543 0 R (1713) 2544 0 R (1714) 2545 0 R (1718) 2547 0 R (172) 1038 0 R (1720) 2548 0 R (1721) 2549 0 R (1722) 2550 0 R (1726) 2552 0 R (1728) 2553 0 R (1732) 2555 0 R (1734) 2556 0 R (1738) 2558 0 R (1740) 2559 0 R (1741) 2560 0 R (1745) 2566 0 R (1747) 2567 0 R (1748) 2568 0 R (1749) 2569 0 R (175) 1040 0 R (1750) 2570 0 R (1754) 2572 0 R (1755) 2573 0 R (1757) 2574 0 R (1758) 2575 0 R (1762) 2577 0 R (1763) 2578 0 R (1765) 2579 0 R (1766) 2580 0 R (1770) 2582 0 R (1775) 2584 0 R (1776) 2585 0 R (1779) 2587 0 R (178) 1042 0 R (1783) 2589 0 R (1788) 2591 0 R (1790) 2596 0 R (1791) 2597 0 R (1795) 2599 0 R (1797) 2600 0 R (1798) 2601 0 R (18.0) 626 0 R (18.50.64.2) 630 0 R (1802) 2603 0 R (1807) 2605 0 R (1809) 2606 0 R (1810) 2607 0 R (1814) 2609 0 R (1816) 2610 0 R (1817) 2611 0 R (1818) 2612 0 R (1819) 2613 0 R (182) 1044 0 R (1820) 2614 0 R (1821) 2615 0 R (1822) 2616 0 R (1826) 2622 0 R (1828) 2623 0 R (1829) 2624 0 R (183) 1045 0 R (1833) 2626 0 R (1838) 2628 0 R (184) 1046 0 R (1843) 2630 0 R (1845) 2631 0 R (1849) 2633 0 R (185) 1047 0 R (1854) 2635 0 R (1856) 2636 0 R (1860) 2638 0 R (1865) 2640 0 R (1868) 2642 0 R (1872) 2650 0 R (1874) 2651 0 R (1878) 2653 0 R (188) 1057 0 R (1881) 2655 0 R (1885) 2657 0 R (1887) 2658 0 R (189) 1058 0 R (1891) 2660 0 R (1896) 2662 0 R (1898) 2663 0 R (19.0) 634 0 R (19.50.65.2) 638 0 R (190) 1049 0 R (1902) 2665 0 R (1907) 2667 0 R (1909) 2668 0 R (1910) 2669 0 R (1911) 2670 0 R (1912) 2671 0 R (1914) 2673 0 R (1915) 2674 0 R (1916) 2675 0 R (1917) 2676 0 R (192) 1059 0 R (1921) 2678 0 R (1923) 2679 0 R (1925) 2648 0 R (1929) 2688 0 R (193) 1060 0 R (1934) 2690 0 R (1936) 2691 0 R (1937) 2692 0 R (1938) 2693 0 R (194) 1061 0 R (1942) 2695 0 R (1944) 2696 0 R (1945) 2697 0 R (1946) 2698 0 R (195) 1062 0 R (1950) 2700 0 R (1952) 2701 0 R (1953) 2702 0 R (1954) 2703 0 R (1958) 2705 0 R (196) 1063 0 R (1960) 2706 0 R (1961) 2707 0 R (1963) 2685 0 R (1967) 2714 0 R (1972) 2716 0 R (1977) 2718 0 R (1979) 2719 0 R (1980) 2720 0 R (1981) 2721 0 R (1985) 2723 0 R (1987) 2724 0 R (1988) 2725 0 R (1989) 2726 0 R (199) 1064 0 R (1990) 2727 0 R (1991) 2728 0 R (1992) 2729 0 R (1993) 2730 0 R (1994) 2731 0 R (1995) 2732 0 R (1996) 2733 0 R (1997) 2734 0 R (1998) 2735 0 R (1999) 2736 0 R (2.0) 6 0 R (20.0) 642 0 R (20.50.66.2) 646 0 R (200) 1065 0 R (2000) 2737 0 R (2002) 2739 0 R (2006) 2741 0 R (2011) 2743 0 R (2016) 2749 0 R (2018) 2750 0 R (202) 1067 0 R (2026) 2753 0 R (203) 1068 0 R (2031) 2755 0 R (2036) 2757 0 R (2038) 2758 0 R (2039) 2759 0 R (204) 1069 0 R (2041) 2761 0 R (2045) 2763 0 R (2047) 2764 0 R (2048) 2765 0 R (2049) 2766 0 R (2053) 2772 0 R (2055) 2773 0 R (2056) 2774 0 R (2057) 2775 0 R (2058) 2776 0 R (2062) 2778 0 R (2064) 2779 0 R (2068) 2781 0 R (207) 1070 0 R (2070) 2782 0 R (2071) 2783 0 R (2072) 2784 0 R (2073) 2785 0 R (2074) 2786 0 R (2075) 2787 0 R (2076) 2788 0 R (2077) 2789 0 R (2078) 2790 0 R (2079) 2791 0 R (208) 1071 0 R (2080) 2792 0 R (2081) 2793 0 R (2082) 2794 0 R (2083) 2795 0 R (2086) 2800 0 R (2087) 2801 0 R (209) 1072 0 R (2090) 2802 0 R (2091) 2803 0 R (2092) 2804 0 R (2093) 2805 0 R (2094) 2806 0 R (2095) 2807 0 R (2096) 2808 0 R (2097) 2809 0 R (2098) 2810 0 R (2099) 2811 0 R (21.0) 650 0 R (21.50.67.2) 654 0 R (21.50.68.2) 658 0 R (210) 1073 0 R (2100) 2812 0 R (2101) 2813 0 R (2102) 2814 0 R (2103) 2815 0 R (2104) 2816 0 R (2105) 2817 0 R (2106) 2818 0 R (211) 1074 0 R (2111) 2824 0 R (2112) 2825 0 R (2113) 2826 0 R (2114) 2827 0 R (2115) 2828 0 R (2116) 2829 0 R (2117) 2830 0 R (2118) 2831 0 R (2119) 2832 0 R (212) 1075 0 R (2122) 2833 0 R (2123) 2834 0 R (2124) 2835 0 R (2125) 2836 0 R (2126) 2837 0 R (2127) 2838 0 R (2128) 2839 0 R (2129) 2840 0 R (213) 1076 0 R (2130) 2841 0 R (2131) 2842 0 R (2132) 2843 0 R (2133) 2844 0 R (2134) 2845 0 R (2135) 2846 0 R (2136) 2847 0 R (2137) 2848 0 R (2138) 2849 0 R (214) 1077 0 R (2141) 2854 0 R (2142) 2855 0 R (2143) 2856 0 R (2144) 2857 0 R (2145) 2858 0 R (2146) 2859 0 R (2147) 2860 0 R (2148) 2861 0 R (2149) 2862 0 R (215) 1078 0 R (2150) 2863 0 R (2151) 2864 0 R (2152) 2865 0 R (2153) 2866 0 R (2154) 2867 0 R (2155) 2868 0 R (2156) 2869 0 R (2157) 2870 0 R (2158) 2871 0 R (2159) 2872 0 R (2160) 2873 0 R (2161) 2874 0 R (2162) 2875 0 R (2163) 2876 0 R (2164) 2877 0 R (2165) 2878 0 R (2166) 2879 0 R (2167) 2884 0 R (2168) 2885 0 R (2169) 2886 0 R (2170) 2887 0 R (2171) 2888 0 R (2172) 2889 0 R (2173) 2890 0 R (2174) 2891 0 R (2175) 2892 0 R (2176) 2893 0 R (2177) 2894 0 R (2178) 2895 0 R (2179) 2896 0 R (218) 1079 0 R (2180) 2897 0 R (2181) 2898 0 R (2182) 2899 0 R (2183) 2900 0 R (2184) 2901 0 R (2185) 2902 0 R (2186) 2903 0 R (2187) 2904 0 R (2188) 2905 0 R (2189) 2906 0 R (219) 1080 0 R (2190) 2907 0 R (2191) 2908 0 R (2194) 2913 0 R (2195) 2914 0 R (2196) 2915 0 R (2199) 2916 0 R (22.0) 662 0 R (22.50.69.2) 666 0 R (22.50.70.2) 670 0 R (22.50.71.2) 674 0 R (220) 1081 0 R (2200) 2917 0 R (2201) 2918 0 R (2204) 2919 0 R (2205) 2920 0 R (2206) 2921 0 R (2207) 2922 0 R (2208) 2923 0 R (2209) 2924 0 R (2210) 2929 0 R (2211) 2930 0 R (2214) 2931 0 R (2215) 2932 0 R (2218) 2933 0 R (2219) 2934 0 R (222) 1083 0 R (2220) 2935 0 R (2221) 2941 0 R (2224) 2942 0 R (2225) 2943 0 R (2226) 2944 0 R (2227) 2945 0 R (2228) 2946 0 R (2229) 2947 0 R (223) 1084 0 R (2230) 2948 0 R (2231) 2949 0 R (2232) 2950 0 R (2233) 2951 0 R (2234) 2952 0 R (2235) 2953 0 R (2236) 2954 0 R (2237) 2955 0 R (2238) 2956 0 R (2239) 2957 0 R (224) 1090 0 R (2240) 2958 0 R (2241) 2959 0 R (2242) 2960 0 R (2243) 2961 0 R (2244) 2962 0 R (2245) 2963 0 R (2246) 2964 0 R (2247) 2965 0 R (2248) 2966 0 R (2249) 2967 0 R (225) 1091 0 R (2250) 2968 0 R (2251) 2969 0 R (2252) 2970 0 R (2253) 2971 0 R (2254) 2972 0 R (2255) 2940 0 R (2256) 2978 0 R (2257) 2979 0 R (226) 1056 0 R (2260) 2980 0 R (2261) 2981 0 R (2262) 2982 0 R (2265) 2983 0 R (2266) 2984 0 R (2269) 2985 0 R (2270) 2990 0 R (2273) 2991 0 R (2276) 2992 0 R (2279) 2993 0 R (228) 1092 0 R (2280) 2994 0 R (2281) 2995 0 R (2284) 2996 0 R (2285) 2997 0 R (2286) 3002 0 R (2287) 3003 0 R (2288) 3004 0 R (229) 1093 0 R (2290) 3009 0 R (2293) 3010 0 R (2294) 3011 0 R (2295) 3012 0 R (2296) 3013 0 R (2297) 3014 0 R (23.0) 678 0 R (23.50.72.2) 682 0 R (2302) 3017 0 R (2303) 3018 0 R (2304) 3019 0 R (2305) 3020 0 R (2306) 3021 0 R (2307) 3022 0 R (2309) 3023 0 R (2310) 3024 0 R (2311) 3025 0 R (2312) 3026 0 R (2313) 3027 0 R (2315) 3028 0 R (2316) 3029 0 R (2317) 3030 0 R (2318) 3031 0 R (2319) 3032 0 R (232) 1096 0 R (2320) 3033 0 R (2321) 3034 0 R (2322) 3035 0 R (2323) 3036 0 R (2325) 3037 0 R (2326) 3038 0 R (2327) 3039 0 R (2328) 3040 0 R (2329) 3041 0 R (233) 1097 0 R (2330) 3042 0 R (2331) 3043 0 R (2332) 3044 0 R (2333) 3045 0 R (2334) 3046 0 R (2335) 3047 0 R (2337) 3048 0 R (2338) 3049 0 R (2339) 3050 0 R (234) 1098 0 R (2340) 3051 0 R (2341) 3052 0 R (2342) 3053 0 R (2347) 3060 0 R (2348) 3061 0 R (2349) 3062 0 R (235) 1099 0 R (2350) 3063 0 R (2351) 3064 0 R (2352) 3065 0 R (2354) 3066 0 R (2355) 3067 0 R (2356) 3068 0 R (2359) 3069 0 R (236) 1100 0 R (2360) 3070 0 R (2366) 3072 0 R (2367) 3073 0 R (2368) 3074 0 R (2369) 3075 0 R (237) 1101 0 R (2372) 3077 0 R (2373) 3078 0 R (2377) 3079 0 R (2378) 3080 0 R (2379) 3081 0 R (238) 1102 0 R (2380) 3082 0 R (2381) 3083 0 R (2384) 3088 0 R (2385) 3089 0 R (2386) 3090 0 R (2387) 3091 0 R (2388) 3092 0 R (2389) 3093 0 R (239) 1103 0 R (2390) 3094 0 R (2394) 3096 0 R (2395) 3097 0 R (2396) 3098 0 R (2397) 3099 0 R (2398) 3100 0 R (24) 949 0 R (24.0) 686 0 R (24.50.73.2) 690 0 R (24.50.74.2) 694 0 R (240) 1104 0 R (2403) 3103 0 R (2404) 3104 0 R (2405) 3105 0 R (2406) 3106 0 R (2407) 3107 0 R (241) 1105 0 R (2412) 3110 0 R (2413) 3111 0 R (2419) 3119 0 R (242) 1106 0 R (2420) 3120 0 R (2421) 3121 0 R (2422) 3122 0 R (2423) 3123 0 R (2424) 3124 0 R (2427) 3126 0 R (2428) 3127 0 R (243) 1107 0 R (2430) 3129 0 R (2431) 3130 0 R (2433) 3131 0 R (2434) 3132 0 R (2435) 3133 0 R (2436) 3134 0 R (2438) 3135 0 R (2439) 3136 0 R (244) 1108 0 R (2440) 3137 0 R (2441) 3138 0 R (2442) 3139 0 R (2444) 3140 0 R (2445) 3141 0 R (2446) 3142 0 R (2447) 3143 0 R (245) 1109 0 R (2454) 3146 0 R (2455) 3147 0 R (2456) 3148 0 R (2459) 3149 0 R (246) 1110 0 R (2460) 3150 0 R (2462) 3151 0 R (2463) 3152 0 R (2464) 3153 0 R (2465) 3154 0 R (2469) 3160 0 R (247) 1111 0 R (2470) 3161 0 R (2471) 3162 0 R (2472) 3163 0 R (2473) 3164 0 R (2474) 3165 0 R (2475) 3166 0 R (2476) 3167 0 R (248) 1112 0 R (2482) 3169 0 R (2483) 3170 0 R (2487) 3172 0 R (2488) 3173 0 R (2489) 3174 0 R (249) 1113 0 R (2493) 3176 0 R (2494) 3177 0 R (2495) 3178 0 R (2496) 3179 0 R (2497) 3180 0 R (2498) 3181 0 R (2499) 3182 0 R (25) 950 0 R (25.0) 698 0 R (25.50.75.2) 702 0 R (250) 1114 0 R (2500) 3183 0 R (2501) 3184 0 R (2502) 3185 0 R (2503) 3186 0 R (2504) 3187 0 R (2505) 3188 0 R (2506) 3189 0 R (251) 1115 0 R (2511) 3196 0 R (2512) 3197 0 R (2513) 3198 0 R (2517) 3199 0 R (2518) 3200 0 R (252) 1116 0 R (2523) 3203 0 R (2524) 3204 0 R (2525) 3205 0 R (2526) 3208 0 R (2527) 3206 0 R (2528) 3207 0 R (253) 1117 0 R (254) 1118 0 R (256) 1120 0 R (257) 1121 0 R (258) 1122 0 R (259) 1123 0 R (26) 951 0 R (26.0) 706 0 R (26.50.76.2) 710 0 R (26.50.77.2) 714 0 R (260) 1124 0 R (261) 1125 0 R (263) 1127 0 R (264) 1128 0 R (265) 1129 0 R (266) 1130 0 R (267) 1131 0 R (269) 1133 0 R (27.0) 718 0 R (27.50.78.2) 722 0 R (270) 1134 0 R (272) 1136 0 R (273) 1137 0 R (275) 1139 0 R (276) 1151 0 R (278) 1153 0 R (279) 1154 0 R (28) 953 0 R (281) 1156 0 R (282) 1157 0 R (284) 1159 0 R (285) 1160 0 R (289) 1162 0 R (290) 1163 0 R (293) 1164 0 R (296) 1165 0 R (297) 1166 0 R (298) 1167 0 R (299) 1168 0 R (3.0) 10 0 R (300) 1169 0 R (301) 1170 0 R (302) 1171 0 R (303) 1172 0 R (304) 1173 0 R (307) 1174 0 R (31) 954 0 R (310) 1182 0 R (313) 1183 0 R (316) 1184 0 R (317) 1185 0 R (318) 1186 0 R (32) 955 0 R (321) 1187 0 R (322) 1188 0 R (325) 1189 0 R (328) 1190 0 R (329) 1191 0 R (33) 956 0 R (332) 1193 0 R (333) 1194 0 R (334) 1195 0 R (335) 1196 0 R (336) 1197 0 R (337) 1198 0 R (338) 1199 0 R (339) 1205 0 R (340) 1206 0 R (345) 1209 0 R (346) 1210 0 R (347) 1211 0 R (348) 1212 0 R (349) 1213 0 R (350) 1214 0 R (351) 1215 0 R (352) 1216 0 R (353) 1217 0 R (354) 1218 0 R (355) 1219 0 R (356) 1220 0 R (357) 1223 0 R (358) 1224 0 R (359) 1225 0 R (36) 957 0 R (360) 1226 0 R (361) 1227 0 R (362) 1228 0 R (363) 1229 0 R (364) 1230 0 R (365) 1231 0 R (366) 1232 0 R (367) 1233 0 R (368) 1234 0 R (369) 1235 0 R (37) 958 0 R (370) 1236 0 R (373) 1238 0 R (374) 1239 0 R (375) 1240 0 R (378) 1247 0 R (379) 1248 0 R (38) 959 0 R (380) 1249 0 R (381) 1250 0 R (383) 1252 0 R (384) 1253 0 R (385) 1254 0 R (386) 1255 0 R (387) 1256 0 R (388) 1257 0 R (389) 1258 0 R (39) 960 0 R (390) 1259 0 R (391) 1260 0 R (392) 1261 0 R (393) 1262 0 R (394) 1263 0 R (395) 1264 0 R (396) 1265 0 R (397) 1266 0 R (398) 1267 0 R (399) 1268 0 R (4.0) 14 0 R (4.1.1) 18 0 R (4.2.1) 22 0 R (4.3.1) 26 0 R (4.4.1) 30 0 R (4.5.1) 34 0 R (40) 961 0 R (401) 1269 0 R (402) 1270 0 R (403) 1271 0 R (404) 1272 0 R (405) 1273 0 R (406) 1274 0 R (409) 1276 0 R (41) 964 0 R (413) 1278 0 R (414) 1279 0 R (415) 1280 0 R (416) 1281 0 R (417) 1282 0 R (418) 1283 0 R (419) 1284 0 R (42) 965 0 R (420) 1285 0 R (421) 1286 0 R (422) 1292 0 R (423) 1246 0 R (424) 1293 0 R (425) 1294 0 R (426) 1295 0 R (427) 1296 0 R (428) 1297 0 R (429) 1298 0 R (43) 966 0 R (430) 1299 0 R (431) 1300 0 R (432) 1301 0 R (433) 1302 0 R (437) 1304 0 R (438) 1305 0 R (439) 1306 0 R (44) 967 0 R (440) 1307 0 R (441) 1308 0 R (442) 1309 0 R (443) 1310 0 R (444) 1311 0 R (445) 1312 0 R (446) 1313 0 R (45) 968 0 R (450) 1316 0 R (451) 1317 0 R (453) 1319 0 R (454) 1320 0 R (456) 1322 0 R (457) 1323 0 R (458) 1324 0 R (459) 1325 0 R (46) 969 0 R (460) 1332 0 R (461) 1333 0 R (462) 1334 0 R (463) 1335 0 R (464) 1291 0 R (465) 1336 0 R (466) 1337 0 R (467) 1338 0 R (468) 1339 0 R (469) 1340 0 R (47) 970 0 R (470) 1341 0 R (471) 1342 0 R (472) 1343 0 R (473) 1344 0 R (474) 1345 0 R (477) 1346 0 R (478) 1347 0 R (479) 1348 0 R (48) 971 0 R (480) 1349 0 R (481) 1350 0 R (482) 1351 0 R (483) 1352 0 R (484) 1353 0 R (485) 1354 0 R (487) 1355 0 R (488) 1356 0 R (489) 1357 0 R (49) 972 0 R (490) 1358 0 R (491) 1359 0 R (492) 1360 0 R (493) 1361 0 R (494) 1362 0 R (496) 1363 0 R (497) 1364 0 R (498) 1365 0 R (499) 1366 0 R (5.0) 38 0 R (5.10.1) 234 0 R (5.10.23.2) 238 0 R (5.10.24.2) 242 0 R (5.10.25.2) 246 0 R (5.10.26.2) 250 0 R (5.10.27.2) 254 0 R (5.10.28.2) 258 0 R (5.6.1) 42 0 R (5.6.1.2) 46 0 R (5.6.2.2) 50 0 R (5.6.3.2) 54 0 R (5.6.4.2) 58 0 R (5.6.5.1.3) 66 0 R (5.6.5.2) 62 0 R (5.6.5.2.3) 70 0 R (5.6.5.3.3) 74 0 R (5.6.5.4.3) 78 0 R (5.6.5.5.3) 82 0 R (5.6.5.6.3) 86 0 R (5.6.5.7.3) 90 0 R (5.6.5.8.3) 94 0 R (5.6.5.9.3) 98 0 R (5.7.1) 102 0 R (5.7.10.2) 150 0 R (5.7.6.2) 106 0 R (5.7.7.10.3) 114 0 R (5.7.7.11.3) 118 0 R (5.7.7.12.3) 122 0 R (5.7.7.2) 110 0 R (5.7.8.2) 126 0 R (5.7.9.13.3) 134 0 R (5.7.9.14.3) 138 0 R (5.7.9.15.3) 142 0 R (5.7.9.16.3) 146 0 R (5.7.9.2) 130 0 R (5.8.1) 154 0 R (5.8.11.2) 158 0 R (5.8.12.2) 162 0 R (5.8.13.2) 166 0 R (5.8.14.2) 170 0 R (5.8.15.2) 174 0 R (5.8.16.2) 178 0 R (5.8.17.2) 182 0 R (5.8.18.2) 186 0 R (5.8.19.2) 190 0 R (5.9.1) 194 0 R (5.9.20.17.3) 202 0 R (5.9.20.18.3) 206 0 R (5.9.20.19.1.4) 214 0 R (5.9.20.19.2.4) 218 0 R (5.9.20.19.3) 210 0 R (5.9.20.2) 198 0 R (5.9.20.20.3) 222 0 R (5.9.21.2) 226 0 R (5.9.22.2) 230 0 R (50) 973 0 R (500) 1367 0 R (501) 1368 0 R (502) 1369 0 R (503) 1370 0 R (504) 1371 0 R (505) 1372 0 R (506) 1373 0 R (507) 1374 0 R (509) 1375 0 R (51) 974 0 R (510) 1376 0 R (511) 1377 0 R (512) 1378 0 R (513) 1379 0 R (514) 1380 0 R (515) 1381 0 R (516) 1382 0 R (517) 1383 0 R (518) 1384 0 R (519) 1385 0 R (52) 979 0 R (520) 1386 0 R (521) 1387 0 R (523) 1388 0 R (524) 1389 0 R (525) 1390 0 R (526) 1391 0 R (527) 1392 0 R (528) 1393 0 R (529) 1394 0 R (53) 980 0 R (530) 1395 0 R (531) 1396 0 R (533) 1397 0 R (534) 1398 0 R (535) 1399 0 R (536) 1400 0 R (537) 1401 0 R (538) 1402 0 R (539) 1403 0 R (540) 1404 0 R (541) 1405 0 R (542) 1406 0 R (543) 1407 0 R (544) 1408 0 R (545) 1409 0 R (546) 1410 0 R (547) 1411 0 R (548) 1412 0 R (549) 1413 0 R (550) 1414 0 R (551) 1419 0 R (552) 1420 0 R (553) 1421 0 R (554) 1422 0 R (555) 1423 0 R (556) 1424 0 R (557) 1425 0 R (558) 1426 0 R (559) 1427 0 R (56) 981 0 R (560) 1428 0 R (561) 1429 0 R (562) 1430 0 R (565) 1432 0 R (566) 1433 0 R (568) 1435 0 R (569) 1436 0 R (57) 982 0 R (571) 1438 0 R (572) 1439 0 R (573) 1440 0 R (574) 1441 0 R (575) 1442 0 R (576) 1443 0 R (577) 1444 0 R (578) 1445 0 R (582) 1447 0 R (583) 1448 0 R (585) 1449 0 R (586) 1450 0 R (587) 1451 0 R (588) 1452 0 R (589) 1455 0 R (59) 983 0 R (590) 1456 0 R (591) 1457 0 R (592) 1458 0 R (593) 1459 0 R (595) 1464 0 R (596) 1465 0 R (597) 1466 0 R (598) 1467 0 R (599) 1468 0 R (6.0) 262 0 R (6.11.1) 266 0 R (6.12.1) 270 0 R (6.12.29.2) 274 0 R (6.12.30.2) 278 0 R (6.12.30.21.3) 282 0 R (6.12.30.22.3) 286 0 R (6.13.1) 290 0 R (6.14.1) 294 0 R (6.15.1) 298 0 R (6.16.1) 302 0 R (6.17.1) 306 0 R (6.18.1) 310 0 R (6.19.1) 314 0 R (60) 984 0 R (600) 1469 0 R (601) 1470 0 R (602) 1471 0 R (603) 1472 0 R (604) 1473 0 R (605) 1474 0 R (606) 1475 0 R (607) 1476 0 R (608) 1477 0 R (609) 1478 0 R (61) 985 0 R (611) 1479 0 R (612) 1480 0 R (613) 1481 0 R (616) 1483 0 R (617) 1484 0 R (618) 1485 0 R (619) 1486 0 R (62) 986 0 R (620) 1487 0 R (621) 1488 0 R (622) 1489 0 R (623) 1490 0 R (624) 1491 0 R (625) 1492 0 R (626) 1493 0 R (629) 1495 0 R (63) 987 0 R (630) 1496 0 R (631) 1502 0 R (632) 1503 0 R (633) 1504 0 R (636) 1506 0 R (637) 1507 0 R (638) 1508 0 R (64) 988 0 R (641) 1510 0 R (642) 1511 0 R (643) 1512 0 R (644) 1513 0 R (645) 1514 0 R (646) 1515 0 R (647) 1516 0 R (65) 989 0 R (650) 1518 0 R (651) 1519 0 R (652) 1520 0 R (653) 1521 0 R (654) 1522 0 R (657) 1524 0 R (658) 1525 0 R (659) 1526 0 R (66) 990 0 R (660) 1527 0 R (663) 1529 0 R (664) 1530 0 R (665) 1531 0 R (666) 1532 0 R (669) 1534 0 R (67) 991 0 R (670) 1535 0 R (671) 1541 0 R (672) 1542 0 R (675) 1544 0 R (676) 1545 0 R (677) 1546 0 R (678) 1547 0 R (68) 992 0 R (681) 1549 0 R (682) 1550 0 R (683) 1551 0 R (684) 1552 0 R (685) 1553 0 R (686) 1554 0 R (69) 993 0 R (690) 1556 0 R (691) 1557 0 R (692) 1558 0 R (693) 1559 0 R (694) 1560 0 R (695) 1561 0 R (698) 1563 0 R (7.0) 318 0 R (7.20.1) 322 0 R (7.20.31.2) 326 0 R (7.20.32.2) 330 0 R (7.20.33.2) 334 0 R (7.20.34.2) 338 0 R (7.20.35.2) 342 0 R (7.21.1) 346 0 R (7.22.1) 350 0 R (7.23.1) 354 0 R (7.24.1) 358 0 R (7.24.36.2) 362 0 R (7.24.36.23.3) 366 0 R (7.25.1) 370 0 R (7.25.37.2) 374 0 R (7.25.38.2) 378 0 R (7.25.39.2) 382 0 R (7.25.40.2) 386 0 R (70) 994 0 R (701) 1569 0 R (702) 1570 0 R (703) 1571 0 R (704) 1572 0 R (705) 1573 0 R (706) 1574 0 R (709) 1575 0 R (71) 995 0 R (710) 1576 0 R (711) 1577 0 R (714) 1579 0 R (715) 1580 0 R (718) 1582 0 R (719) 1583 0 R (72) 996 0 R (720) 1584 0 R (723) 1585 0 R (726) 1588 0 R (727) 1589 0 R (728) 1590 0 R (729) 1591 0 R (73) 997 0 R (730) 1592 0 R (731) 1593 0 R (734) 1600 0 R (738) 1602 0 R (739) 1603 0 R (74) 998 0 R (740) 1604 0 R (741) 1605 0 R (742) 1606 0 R (743) 1607 0 R (744) 1608 0 R (745) 1609 0 R (746) 1610 0 R (75) 999 0 R (750) 1612 0 R (751) 1613 0 R (752) 1614 0 R (753) 1615 0 R (754) 1616 0 R (755) 1621 0 R (758) 1623 0 R (76) 1000 0 R (761) 1626 0 R (762) 1627 0 R (763) 1628 0 R (764) 1629 0 R (768) 1631 0 R (769) 1632 0 R (770) 1633 0 R (771) 1634 0 R (772) 1635 0 R (773) 1636 0 R (775) 1638 0 R (776) 1639 0 R (777) 1640 0 R (778) 1641 0 R (779) 1642 0 R (780) 1643 0 R (781) 1644 0 R (782) 1645 0 R (783) 1646 0 R (784) 1647 0 R (785) 1648 0 R (786) 1649 0 R (79) 1001 0 R (790) 1652 0 R (791) 1653 0 R (793) 1659 0 R (795) 1660 0 R (798) 1662 0 R (799) 1663 0 R (8.0) 390 0 R (8.26.1) 394 0 R (8.27.1) 398 0 R (8.28.1) 402 0 R (8.29.1) 406 0 R (8.30.1) 410 0 R (8.31.1) 414 0 R (8.32.1) 418 0 R (8.32.41.2) 422 0 R (8.32.42.2) 426 0 R (8.32.43.2) 430 0 R (8.32.44.2) 434 0 R (8.32.45.2) 438 0 R (8.32.46.2) 442 0 R (8.32.47.2) 446 0 R (8.33.1) 450 0 R (8.33.48.2) 454 0 R (8.33.49.2) 458 0 R (8.33.50.2) 462 0 R (8.33.51.2) 466 0 R (8.34.1) 470 0 R (8.34.52.2) 474 0 R (8.34.53.2) 478 0 R (8.34.54.2) 482 0 R (8.35.1) 486 0 R (800) 1664 0 R (801) 1665 0 R (802) 1666 0 R (803) 1667 0 R (804) 1668 0 R (805) 1669 0 R (806) 1670 0 R (807) 1671 0 R (808) 1672 0 R (809) 1673 0 R (81) 1002 0 R (811) 1674 0 R (812) 1675 0 R (813) 1676 0 R (814) 1677 0 R (818) 1678 0 R (82) 1003 0 R (821) 1680 0 R (822) 1681 0 R (823) 1682 0 R (824) 1683 0 R (827) 1686 0 R (828) 1687 0 R (83) 1004 0 R (831) 1688 0 R (832) 1689 0 R (833) 1695 0 R (835) 1696 0 R (836) 1697 0 R (837) 1698 0 R (838) 1699 0 R (840) 1700 0 R (841) 1701 0 R (842) 1702 0 R (843) 1703 0 R (844) 1704 0 R (845) 1705 0 R (846) 1706 0 R (847) 1707 0 R (850) 1709 0 R (851) 1710 0 R (852) 1711 0 R (853) 1712 0 R (854) 1713 0 R (855) 1714 0 R (856) 1715 0 R (857) 1716 0 R (860) 1722 0 R (861) 1723 0 R (862) 1724 0 R (863) 1725 0 R (864) 1726 0 R (865) 1727 0 R (870) 1732 0 R (871) 1733 0 R (873) 1734 0 R (874) 1735 0 R (876) 1736 0 R (877) 1737 0 R (879) 1738 0 R (880) 1739 0 R (881) 1740 0 R (882) 1741 0 R (883) 1742 0 R (884) 1743 0 R (886) 1744 0 R (887) 1745 0 R (889) 1746 0 R (890) 1747 0 R (891) 1748 0 R (893) 1749 0 R (894) 1750 0 R (895) 1751 0 R (896) 1752 0 R (897) 1753 0 R (898) 1754 0 R (899) 1755 0 R (9.0) 490 0 R (901) 1756 0 R (902) 1757 0 R (904) 1758 0 R (905) 1764 0 R (906) 1765 0 R (908) 1766 0 R (909) 1767 0 R (910) 1768 0 R (912) 1769 0 R (913) 1770 0 R (915) 1771 0 R (916) 1772 0 R (918) 1773 0 R (919) 1774 0 R (921) 1775 0 R (922) 1776 0 R (923) 1777 0 R (924) 1778 0 R (925) 1779 0 R (927) 1780 0 R (928) 1781 0 R (933) 1783 0 R (934) 1784 0 R (935) 1785 0 R (940) 1792 0 R (941) 1793 0 R (942) 1794 0 R (943) 1795 0 R (944) 1796 0 R (945) 1797 0 R (946) 1798 0 R (947) 1799 0 R (948) 1800 0 R (949) 1801 0 R (952) 1803 0 R (953) 1804 0 R (954) 1805 0 R (955) 1806 0 R (956) 1807 0 R (957) 1808 0 R (958) 1809 0 R (959) 1810 0 R (960) 1811 0 R (961) 1812 0 R (962) 1813 0 R (963) 1814 0 R (964) 1815 0 R (965) 1816 0 R (966) 1817 0 R (967) 1818 0 R (968) 1819 0 R (969) 1820 0 R (970) 1821 0 R (971) 1827 0 R (972) 1790 0 R (973) 1828 0 R (974) 1829 0 R (975) 1830 0 R (976) 1831 0 R (977) 1832 0 R (978) 1833 0 R (979) 1834 0 R (980) 1835 0 R (981) 1836 0 R (982) 1837 0 R (983) 1838 0 R (984) 1839 0 R (985) 1840 0 R (986) 1841 0 R (987) 1842 0 R (988) 1843 0 R (989) 1844 0 R (990) 1845 0 R (991) 1846 0 R (992) 1847 0 R (993) 1848 0 R (994) 1849 0 R (995) 1850 0 R (996) 1851 0 R (997) 1852 0 R (998) 1853 0 R (999) 1854 0 R (Doc-Start) 730 0 R (about) 835 0 R (accountsettings) 2513 0 R (administration) 847 0 R (attachments) 2506 0 R (bonsai) 2323 0 R (bug_page) 867 0 R (bugreports) 870 0 R (bzldap) 1494 0 R (cmdline) 877 0 R (commenting) 2503 0 R (components) 851 0 R (configuration) 843 0 R (content-type) 1548 0 R (conventions) 840 0 R (copyright) 836 0 R (createnewusers) 1791 0 R (credits) 839 0 R (cust-change-permissions) 860 0 R (cust-hooks) 859 0 R (cust-templates) 858 0 R (customization) 857 0 R (cvs) 2328 0 R (dbdoc) 862 0 R (dbmodify) 861 0 R (defaultuser) 1782 0 R (dir) 2060 0 R (disclaimer) 837 0 R (emailsettings) 2517 0 R (extraconfig) 844 0 R (faq) 875 0 R (faq-db) 2686 0 R (faq-db-corrupted) 2689 0 R (faq-db-manualedit) 2694 0 R (faq-db-oracle) 2687 0 R (faq-db-permissions) 2699 0 R (faq-db-synchronize) 2704 0 R (faq-email) 2654 0 R (faq-email-mailif) 2664 0 R (faq-email-nomail) 2656 0 R (faq-email-nonreceived) 2677 0 R (faq-email-sendmailnow) 2666 0 R (faq-email-testing) 2659 0 R (faq-email-whine) 2661 0 R (faq-general) 2537 0 R (faq-general-bonsaitools) 2571 0 R (faq-general-bzmissing) 2557 0 R (faq-general-companies) 2546 0 R (faq-general-compare) 2554 0 R (faq-general-cookie) 2581 0 R (faq-general-license) 2539 0 R (faq-general-maintainers) 2551 0 R (faq-general-mysql) 2565 0 R (faq-general-perlpath) 2576 0 R (faq-general-support) 2542 0 R (faq-hacking) 2760 0 R (faq-hacking-bugzillabugs) 2771 0 R (faq-hacking-patches) 2780 0 R (faq-hacking-priority) 2777 0 R (faq-hacking-templatestyle) 2762 0 R (faq-mod-perl) 2583 0 R (faq-nt) 2712 0 R (faq-nt-bundle) 2715 0 R (faq-nt-dbi) 2722 0 R (faq-nt-easiest) 2713 0 R (faq-nt-mappings) 2717 0 R (faq-phb) 2586 0 R (faq-phb-backup) 2629 0 R (faq-phb-client) 2588 0 R (faq-phb-cost) 2639 0 R (faq-phb-data) 2608 0 R (faq-phb-email) 2602 0 R (faq-phb-emailapp) 2604 0 R (faq-phb-installtime) 2637 0 R (faq-phb-l10n) 2617 0 R (faq-phb-livebackup) 2632 0 R (faq-phb-maintenance) 2634 0 R (faq-phb-midair) 2627 0 R (faq-phb-priorities) 2590 0 R (faq-phb-reporting) 2598 0 R (faq-phb-reports) 2625 0 R (faq-security) 2641 0 R (faq-security-knownproblems) 2652 0 R (faq-security-mysql) 2649 0 R (faq-use) 2738 0 R (faq-use-accept) 2744 0 R (faq-use-attachment) 2752 0 R (faq-use-changeaddress) 2740 0 R (faq-use-close) 2756 0 R (faq-use-keyword) 2754 0 R (faq-use-query) 2742 0 R (general-advice) 1679 0 R (gfdl) 919 0 R (gfdl-0) 920 0 R (gfdl-1) 921 0 R (gfdl-10) 930 0 R (gfdl-2) 922 0 R (gfdl-3) 923 0 R (gfdl-4) 924 0 R (gfdl-5) 925 0 R (gfdl-6) 926 0 R (gfdl-7) 927 0 R (gfdl-8) 928 0 R (gfdl-9) 929 0 R (gfdl-howto) 931 0 R (gloss-a) 3015 0 R (gloss-apache) 3016 0 R (gloss-b) 3055 0 R (gloss-bugzilla) 1010 0 R (gloss-c) 3071 0 R (gloss-cgi) 1085 0 R (gloss-component) 3076 0 R (gloss-contrib) 1536 0 R (gloss-cpan) 1654 0 R (gloss-d) 3095 0 R (gloss-g) 3101 0 R (gloss-groups) 3102 0 R (gloss-j) 3108 0 R (gloss-javascript) 3109 0 R (gloss-m) 3112 0 R (gloss-mta) 2680 0 R (gloss-mysql) 3125 0 R (gloss-p) 3145 0 R (gloss-ppm) 1594 0 R (gloss-product) 1869 0 R (gloss-q) 3118 0 R (gloss-r) 3168 0 R (gloss-rdbms) 3155 0 R (gloss-regexp) 3171 0 R (gloss-s) 3175 0 R (gloss-t) 3190 0 R (gloss-target-milestone) 3195 0 R (gloss-tcl) 1327 0 R (gloss-z) 3201 0 R (gloss-zarro) 3202 0 R (glossary) 932 0 R (groups) 855 0 R (hintsandtips) 872 0 R (http) 1275 0 R (http-aol) 1315 0 R (http-apache) 1277 0 R (http-iis) 1303 0 R (index) 731 0 R (install-bzfiles) 1051 0 R (install-config-bugzilla) 1431 0 R (install-modules-chart-base) 1144 0 R (install-modules-dbd-mysql) 1141 0 R (install-modules-gd) 1143 0 R (install-modules-gd-graph) 1145 0 R (install-modules-gd-text-align) 1150 0 R (install-modules-mime-parser) 1177 0 R (install-modules-patchreader) 1176 0 R (install-modules-template) 1142 0 R (install-modules-xml-parser) 1175 0 R (install-mysql) 1048 0 R (install-perl) 1043 0 R (install-perlmodules) 1052 0 R (install-perlmodules-manual) 916 0 R (install-setupdatabase) 1237 0 R (install-setupdatabase-adduser) 1241 0 R (install-webserver) 1050 0 R (installation) 842 0 R (installing-bugzilla) 841 0 R (integration) 863 0 R (list) 869 0 R (localconfig) 1192 0 R (manageusers) 1763 0 R (milestones) 853 0 R (mod-throttle) 1555 0 R (modifyusers) 1802 0 R (modules-manual-download) 918 0 R (modules-manual-instructions) 917 0 R (myaccount) 866 0 R (mysql) 1207 0 R (newversions) 838 0 R (os-macosx) 1630 0 R (os-mandrake) 1661 0 R (os-specific) 845 0 R (os-win32) 1578 0 R (page.1) 729 0 R (page.10) 1245 0 R (page.11) 1290 0 R (page.12) 1331 0 R (page.13) 1418 0 R (page.14) 1463 0 R (page.15) 1501 0 R (page.16) 1540 0 R (page.17) 1568 0 R (page.18) 1598 0 R (page.19) 1620 0 R (page.2) 738 0 R (page.20) 1658 0 R (page.21) 1694 0 R (page.22) 1721 0 R (page.23) 1731 0 R (page.24) 1762 0 R (page.25) 1789 0 R (page.26) 1825 0 R (page.27) 1873 0 R (page.28) 1900 0 R (page.29) 1936 0 R (page.3) 744 0 R (page.30) 1982 0 R (page.31) 2017 0 R (page.32) 2049 0 R (page.33) 2066 0 R (page.34) 2097 0 R (page.35) 2125 0 R (page.36) 2155 0 R (page.37) 2186 0 R (page.38) 2223 0 R (page.39) 2240 0 R (page.4) 881 0 R (page.40) 2260 0 R (page.41) 2296 0 R (page.42) 2309 0 R (page.43) 2313 0 R (page.44) 2317 0 R (page.45) 2322 0 R (page.46) 2348 0 R (page.47) 2376 0 R (page.48) 2435 0 R (page.49) 2461 0 R (page.5) 936 0 R (page.50) 2480 0 R (page.51) 2500 0 R (page.52) 2521 0 R (page.53) 2534 0 R (page.54) 2564 0 R (page.55) 2595 0 R (page.56) 2621 0 R (page.57) 2647 0 R (page.58) 2684 0 R (page.59) 2711 0 R (page.6) 1089 0 R (page.60) 2748 0 R (page.61) 2770 0 R (page.62) 2799 0 R (page.63) 2823 0 R (page.64) 2853 0 R (page.65) 2883 0 R (page.66) 2912 0 R (page.67) 2928 0 R (page.68) 2939 0 R (page.69) 2977 0 R (page.7) 1149 0 R (page.70) 2989 0 R (page.71) 3001 0 R (page.72) 3008 0 R (page.73) 3059 0 R (page.74) 3087 0 R (page.75) 3117 0 R (page.76) 3159 0 R (page.77) 3194 0 R (page.8) 1181 0 R (page.9) 1204 0 R (param-LDAPBaseDN) 1528 0 R (param-LDAPbinddn) 1523 0 R (param-LDAPmailattribute) 1543 0 R (param-LDAPserver) 1517 0 R (param-LDAPuidattribute) 1533 0 R (param-loginmethod) 1509 0 R (parameters) 848 0 R (paranoid-security) 1708 0 R (patch-viewer) 1482 0 R (patches) 876 0 R (patchviewer) 871 0 R (patchviewer_bonsai_lxr) 2462 0 R (patchviewer_collapse) 2473 0 R (patchviewer_context) 2471 0 R (patchviewer_diff) 2469 0 R (patchviewer_link) 2475 0 R (patchviewer_unified_diff) 2483 0 R (patchviewer_view) 2467 0 R (permissionsettings) 2527 0 R (products) 850 0 R (query) 868 0 R (quicksearch) 2492 0 R (reporting) 874 0 R (scm) 2335 0 R (security-access) 1326 0 R (security-daemon) 1564 0 R (security-mysql) 1208 0 R (security-networking) 1562 0 R (table.1) 1005 0 R (table.2) 2177 0 R (table.3) 2372 0 R (table.4) 2440 0 R (table.5) 2466 0 R (table.6) 2490 0 R (table.7) 2751 0 R (template-http-accept) 2093 0 R (tinderbox) 2341 0 R (trouble-filetemp) 1717 0 R (troubleshooting) 846 0 R (upgrade-cvs) 943 0 R (upgrade-patches) 945 0 R (upgrade-tarball) 944 0 R (upgrading) 856 0 R (useradmin) 849 0 R (userpreferences) 873 0 R (using) 864 0 R (using-intro) 865 0 R (versions) 852 0 R (voting) 854 0 R (win32-code-bugmail) 1611 0 R (win32-code-changes) 1599 0 R (win32-code-checksetup) 1601 0 R (win32-http) 1622 0 R (win32-perl) 1581 0 R (win32-perlmodules) 1140 0 R]
-/Limits [(1.0) (win32-perlmodules)]
+4506 0 obj <<
+/Names [(1.0) 2 0 R (10.0) 586 0 R (10.32.1) 590 0 R (10.33.1) 594 0 R (10.34.1) 598 0 R (10.35.1) 602 0 R (10.36.1) 606 0 R (10.37.1) 610 0 R (10.38.1) 614 0 R (10.39.1) 618 0 R (10.39.59.2) 622 0 R (10.39.60.2) 626 0 R (10.39.61.2) 630 0 R (10.39.62.2) 634 0 R (10.39.63.2) 638 0 R (10.39.64.2) 642 0 R (10.39.65.2) 646 0 R (10.40.1) 650 0 R (10.40.66.2) 654 0 R (10.40.67.2) 658 0 R (10.40.68.2) 662 0 R (10.40.69.2) 666 0 R (10.41.1) 670 0 R (10.41.70.2) 674 0 R (10.41.71.2) 678 0 R (10.41.72.2) 682 0 R (10.42.1) 686 0 R (10.42.73.2) 690 0 R (10.42.74.2) 694 0 R (10.42.74.37.3) 698 0 R (10.42.74.38.3) 702 0 R (10.43.1) 706 0 R (100) 1384 0 R (1000) 2230 0 R (1001) 2231 0 R (1002) 2232 0 R (1003) 2237 0 R (1004) 2238 0 R (1005) 2239 0 R (1006) 2240 0 R (1007) 2241 0 R (1008) 2242 0 R (1009) 2243 0 R (101) 1385 0 R (1010) 2244 0 R (1011) 2245 0 R (1012) 2246 0 R (1013) 2247 0 R (1014) 2248 0 R (1015) 2249 0 R (1016) 2250 0 R (1017) 2251 0 R (1018) 2252 0 R (1019) 2253 0 R (102) 1386 0 R (1020) 2254 0 R (1021) 2255 0 R (1022) 2256 0 R (1023) 2257 0 R (1024) 2258 0 R (1025) 2259 0 R (1026) 2260 0 R (1027) 2261 0 R (1028) 2262 0 R (1029) 2263 0 R (103) 1387 0 R (1030) 2264 0 R (1031) 2265 0 R (1032) 2266 0 R (1033) 2267 0 R (1034) 2268 0 R (1035) 2269 0 R (1036) 2270 0 R (1037) 2271 0 R (1038) 2272 0 R (1039) 2273 0 R (104) 1388 0 R (1040) 2274 0 R (1041) 2275 0 R (1042) 2276 0 R (1043) 2277 0 R (1044) 2278 0 R (1045) 2279 0 R (1046) 2280 0 R (1047) 2281 0 R (1048) 2282 0 R (105) 1389 0 R (1051) 2287 0 R (1053) 2289 0 R (1054) 2290 0 R (1055) 2291 0 R (1056) 2292 0 R (1057) 2293 0 R (1058) 2294 0 R (1059) 2295 0 R (106) 1390 0 R (1060) 2296 0 R (1061) 2297 0 R (1062) 2298 0 R (1065) 2299 0 R (1066) 2300 0 R (1067) 2301 0 R (1068) 2302 0 R (1069) 2303 0 R (107) 1391 0 R (1070) 2304 0 R (1071) 2305 0 R (1072) 2306 0 R (1073) 2307 0 R (1074) 2308 0 R (1075) 2309 0 R (1078) 2310 0 R (1079) 2311 0 R (108) 1392 0 R (1080) 2312 0 R (1081) 2318 0 R (1082) 2319 0 R (1083) 2320 0 R (1084) 2321 0 R (1085) 2322 0 R (1086) 2323 0 R (1089) 2324 0 R (1090) 2325 0 R (1091) 2326 0 R (1092) 2327 0 R (1093) 2328 0 R (1094) 2329 0 R (1095) 2330 0 R (1096) 2331 0 R (1097) 2332 0 R (1098) 2333 0 R (1099) 2334 0 R (11.0) 710 0 R (1100) 2335 0 R (1101) 2336 0 R (1104) 2337 0 R (1105) 2338 0 R (1106) 2339 0 R (1107) 2340 0 R (111) 1393 0 R (1110) 2342 0 R (1111) 2343 0 R (1112) 2344 0 R (1113) 2345 0 R (1114) 2346 0 R (1115) 2347 0 R (1116) 2348 0 R (1117) 2349 0 R (1118) 2350 0 R (1119) 2351 0 R (1120) 2352 0 R (1121) 2353 0 R (1122) 2354 0 R (1123) 2355 0 R (1124) 2360 0 R (1125) 2361 0 R (1126) 2362 0 R (1127) 2363 0 R (1128) 2364 0 R (1129) 2365 0 R (113) 1394 0 R (1130) 2366 0 R (1131) 2367 0 R (1132) 2368 0 R (1133) 2369 0 R (1134) 2370 0 R (1135) 2371 0 R (1136) 2372 0 R (114) 1395 0 R (1141) 2375 0 R (1142) 2376 0 R (1144) 2377 0 R (1145) 2378 0 R (1146) 2379 0 R (1147) 2380 0 R (1149) 2381 0 R (115) 1345 0 R (1150) 2382 0 R (1151) 2383 0 R (1152) 2384 0 R (1153) 2385 0 R (1155) 2386 0 R (1156) 2387 0 R (1157) 2388 0 R (1158) 2389 0 R (1159) 2390 0 R (1160) 2391 0 R (1161) 2392 0 R (1164) 2394 0 R (1165) 2395 0 R (1166) 2396 0 R (1167) 2397 0 R (1168) 2398 0 R (1169) 2399 0 R (1170) 2400 0 R (1171) 2401 0 R (1172) 2402 0 R (1173) 2403 0 R (1174) 2404 0 R (1177) 2411 0 R (1180) 2413 0 R (1181) 2414 0 R (1182) 2415 0 R (1183) 2416 0 R (1184) 2417 0 R (1185) 2418 0 R (1186) 2419 0 R (1187) 2420 0 R (1188) 2421 0 R (1189) 2422 0 R (1190) 2423 0 R (1191) 2424 0 R (1192) 2425 0 R (1193) 2426 0 R (1196) 2428 0 R (1197) 2429 0 R (1198) 2430 0 R (1199) 2431 0 R (12.0) 714 0 R (12.44.1) 718 0 R (12.45.1) 722 0 R (12.46.1) 726 0 R (12.47.1) 730 0 R (12.48.1) 734 0 R (12.49.1) 738 0 R (12.50.1) 742 0 R (12.51.1) 746 0 R (12.52.1) 750 0 R (12.53.1) 754 0 R (1200) 2432 0 R (1203) 2434 0 R (1204) 2435 0 R (1205) 2436 0 R (1206) 2437 0 R (1207) 2438 0 R (1210) 2440 0 R (1211) 2441 0 R (1214) 2443 0 R (1217) 2449 0 R (1220) 2451 0 R (1221) 2452 0 R (1222) 2453 0 R (1223) 2454 0 R (1224) 2455 0 R (1225) 2456 0 R (1226) 2457 0 R (1227) 2458 0 R (1228) 2459 0 R (1229) 2460 0 R (1230) 2461 0 R (1231) 2462 0 R (1232) 2463 0 R (1233) 2464 0 R (1234) 2465 0 R (1235) 2466 0 R (1236) 2467 0 R (1237) 2468 0 R (1238) 2469 0 R (1239) 2470 0 R (1240) 2471 0 R (1241) 2472 0 R (1242) 2473 0 R (1243) 2474 0 R (1244) 2475 0 R (1245) 2476 0 R (1246) 2477 0 R (1247) 2478 0 R (1248) 2479 0 R (1249) 2480 0 R (1250) 2481 0 R (1253) 2483 0 R (1254) 2484 0 R (1255) 2485 0 R (1258) 2487 0 R (1259) 2488 0 R (1262) 2494 0 R (1263) 2495 0 R (1264) 2496 0 R (1265) 2497 0 R (1266) 2498 0 R (1267) 2499 0 R (1270) 2501 0 R (1273) 2503 0 R (1274) 2504 0 R (1277) 2506 0 R (1278) 2507 0 R (1279) 2508 0 R (1280) 2509 0 R (1283) 2511 0 R (1284) 2512 0 R (1285) 2513 0 R (1286) 2514 0 R (1287) 2515 0 R (1288) 2516 0 R (1289) 2517 0 R (1290) 2518 0 R (1293) 2520 0 R (1294) 2521 0 R (1295) 2522 0 R (1298) 2528 0 R (1299) 2529 0 R (13.0) 758 0 R (13.54.1) 762 0 R (13.55.1) 766 0 R (1300) 2530 0 R (1301) 2531 0 R (1302) 2532 0 R (1303) 2533 0 R (1304) 2534 0 R (1305) 2535 0 R (1306) 2536 0 R (1307) 2537 0 R (1308) 2538 0 R (1309) 2539 0 R (1310) 2540 0 R (1311) 2541 0 R (1312) 2542 0 R (1313) 2543 0 R (1316) 2544 0 R (1317) 2545 0 R (1318) 2546 0 R (1319) 2547 0 R (1320) 2548 0 R (1321) 2549 0 R (1324) 2550 0 R (1325) 2551 0 R (1326) 2556 0 R (1327) 2527 0 R (1329) 2557 0 R (1330) 2558 0 R (1331) 2559 0 R (1332) 2560 0 R (1333) 2561 0 R (1334) 2562 0 R (1335) 2563 0 R (1337) 2564 0 R (1338) 2565 0 R (1339) 2566 0 R (1340) 2567 0 R (1341) 2568 0 R (1342) 2569 0 R (1343) 2570 0 R (1344) 2571 0 R (1345) 2572 0 R (1346) 2573 0 R (1347) 2574 0 R (1348) 2575 0 R (1349) 2576 0 R (1350) 2577 0 R (1351) 2578 0 R (1352) 2579 0 R (1353) 2580 0 R (1354) 2581 0 R (1355) 2582 0 R (1356) 2583 0 R (1357) 2584 0 R (1358) 2585 0 R (1359) 2586 0 R (1360) 2587 0 R (1361) 2588 0 R (1362) 2589 0 R (1364) 2590 0 R (1365) 2591 0 R (1366) 2592 0 R (1367) 2597 0 R (1368) 2598 0 R (1369) 2599 0 R (1370) 2600 0 R (1371) 2601 0 R (1372) 2602 0 R (1374) 2603 0 R (1375) 2604 0 R (1376) 2605 0 R (1377) 2606 0 R (1378) 2607 0 R (1379) 2608 0 R (1380) 2609 0 R (1381) 2610 0 R (1382) 2611 0 R (1383) 2612 0 R (1384) 2613 0 R (1385) 2614 0 R (1386) 2615 0 R (1387) 2616 0 R (1388) 2617 0 R (1389) 2618 0 R (1390) 2619 0 R (1392) 2620 0 R (1394) 2621 0 R (1395) 2622 0 R (1396) 2629 0 R (1398) 2630 0 R (1399) 2631 0 R (14.0) 770 0 R (14.56.1) 774 0 R (14.57.1) 778 0 R (14.58.1) 782 0 R (1400) 2632 0 R (1402) 2633 0 R (1403) 2634 0 R (1404) 2635 0 R (1405) 2636 0 R (1406) 2637 0 R (1407) 2638 0 R (1408) 2639 0 R (1409) 2640 0 R (1410) 2641 0 R (1411) 2642 0 R (1412) 2643 0 R (1413) 2644 0 R (1416) 2649 0 R (1417) 2650 0 R (1418) 2628 0 R (1419) 2651 0 R (1420) 2652 0 R (1421) 2653 0 R (1422) 2654 0 R (1423) 2655 0 R (1424) 2656 0 R (1425) 2657 0 R (1426) 2658 0 R (1427) 2659 0 R (1429) 2661 0 R (1430) 2662 0 R (1432) 2664 0 R (1433) 2665 0 R (1435) 2667 0 R (1436) 2668 0 R (1437) 2669 0 R (1438) 2670 0 R (1439) 2671 0 R (1440) 2672 0 R (1443) 2673 0 R (1444) 2674 0 R (1445) 2675 0 R (1446) 2681 0 R (1447) 2682 0 R (1448) 2683 0 R (1449) 2684 0 R (1450) 2685 0 R (1451) 2686 0 R (1452) 2687 0 R (1453) 2688 0 R (1454) 2689 0 R (1455) 2690 0 R (1456) 2691 0 R (1457) 2692 0 R (1458) 2693 0 R (1461) 2694 0 R (1462) 2695 0 R (1463) 2696 0 R (1464) 2697 0 R (1465) 2698 0 R (1466) 2699 0 R (1467) 2700 0 R (1468) 2701 0 R (1469) 2702 0 R (1470) 2703 0 R (1471) 2704 0 R (1472) 2705 0 R (1473) 2706 0 R (1474) 2707 0 R (1475) 2708 0 R (1476) 2709 0 R (1477) 2710 0 R (1478) 2711 0 R (1479) 2716 0 R (1480) 2717 0 R (1481) 2718 0 R (1482) 2680 0 R (1483) 2719 0 R (1486) 2720 0 R (1487) 2721 0 R (1488) 2722 0 R (1489) 2723 0 R (1490) 2724 0 R (1491) 2725 0 R (1492) 2726 0 R (1493) 2727 0 R (1494) 2728 0 R (1495) 2729 0 R (15.0) 786 0 R (15.59.1) 790 0 R (15.60.1) 794 0 R (15.61.1) 798 0 R (15.62.1) 802 0 R (15.63.1) 806 0 R (15.64.1) 810 0 R (15.65.1) 814 0 R (15.66.1) 818 0 R (15.67.1) 822 0 R (15.68.1) 826 0 R (15.69.1) 830 0 R (15.70.1) 834 0 R (1500) 2736 0 R (1501) 2737 0 R (1502) 2738 0 R (1507) 2740 0 R (1510) 2742 0 R (1512) 2744 0 R (1513) 2745 0 R (1514) 2746 0 R (1515) 2747 0 R (1517) 2749 0 R (1518) 2750 0 R (1519) 2751 0 R (1520) 2752 0 R (1521) 2753 0 R (1522) 2754 0 R (1523) 2755 0 R (1524) 2756 0 R (1525) 2757 0 R (1526) 2758 0 R (1527) 2759 0 R (1531) 2761 0 R (1532) 2762 0 R (1537) 2770 0 R (1543) 2773 0 R (1544) 2774 0 R (1545) 2775 0 R (1546) 2776 0 R (1550) 2777 0 R (1551) 2778 0 R (1552) 2779 0 R (1553) 2780 0 R (1554) 2781 0 R (1558) 2782 0 R (1559) 2783 0 R (1561) 2784 0 R (1562) 2785 0 R (1563) 2786 0 R (1564) 2787 0 R (1565) 2788 0 R (1566) 2789 0 R (1571) 2792 0 R (1575) 2794 0 R (1576) 2795 0 R (1577) 2796 0 R (1582) 2802 0 R (1583) 2803 0 R (1584) 2804 0 R (1585) 2805 0 R (1589) 2808 0 R (1590) 2809 0 R (1591) 2810 0 R (1592) 2811 0 R (1593) 2812 0 R (1594) 2813 0 R (1596) 2814 0 R (1597) 2815 0 R (1598) 2816 0 R (1599) 2817 0 R (16.0) 838 0 R (1600) 2818 0 R (1601) 2819 0 R (1602) 2820 0 R (1603) 2821 0 R (1605) 2822 0 R (1606) 2823 0 R (1607) 2824 0 R (1608) 2825 0 R (1609) 2826 0 R (1610) 2827 0 R (1611) 2828 0 R (1612) 2829 0 R (1613) 2830 0 R (1614) 2831 0 R (1615) 2832 0 R (1616) 2833 0 R (1618) 2834 0 R (1619) 2835 0 R (1620) 2836 0 R (1621) 2837 0 R (1622) 2838 0 R (1623) 2839 0 R (1624) 2840 0 R (1625) 2841 0 R (1626) 2842 0 R (1627) 2843 0 R (1628) 2844 0 R (1629) 2845 0 R (1630) 2846 0 R (1632) 2847 0 R (1633) 2848 0 R (1634) 2849 0 R (1635) 2850 0 R (1636) 2851 0 R (1637) 2852 0 R (1638) 2853 0 R (1639) 2854 0 R (1640) 2855 0 R (1642) 2856 0 R (1643) 2857 0 R (1644) 2858 0 R (1645) 2859 0 R (1646) 2860 0 R (1647) 2861 0 R (1648) 2862 0 R (1649) 2863 0 R (1650) 2864 0 R (1651) 2865 0 R (1652) 2866 0 R (1653) 2867 0 R (1654) 2868 0 R (1655) 2869 0 R (1656) 2870 0 R (1657) 2871 0 R (1658) 2872 0 R (1659) 2873 0 R (1660) 2874 0 R (1661) 2875 0 R (1662) 2876 0 R (1663) 2877 0 R (1664) 2878 0 R (1665) 2879 0 R (1666) 2880 0 R (1667) 2886 0 R (1668) 2887 0 R (1669) 2888 0 R (1670) 2889 0 R (1671) 2890 0 R (1672) 2891 0 R (1673) 2892 0 R (1674) 2893 0 R (1675) 2894 0 R (1680) 2897 0 R (1681) 2898 0 R (1682) 2899 0 R (1684) 2901 0 R (1685) 2902 0 R (1686) 2903 0 R (1687) 2904 0 R (1692) 2906 0 R (1693) 2907 0 R (1697) 2909 0 R (1698) 2910 0 R (1699) 2911 0 R (17.0) 842 0 R (17.70.75.2) 846 0 R (1700) 2912 0 R (1705) 2918 0 R (1706) 2919 0 R (1710) 2922 0 R (1711) 2923 0 R (1712) 2924 0 R (1713) 2925 0 R (1714) 2926 0 R (1715) 2927 0 R (1716) 2928 0 R (1717) 2929 0 R (1718) 2930 0 R (1719) 2931 0 R (1722) 2933 0 R (1723) 2934 0 R (1724) 2935 0 R (1725) 2936 0 R (1726) 2937 0 R (1727) 2938 0 R (1728) 2939 0 R (1729) 2940 0 R (1730) 2941 0 R (1731) 2942 0 R (1732) 2943 0 R (1733) 2944 0 R (1734) 2950 0 R (1735) 2951 0 R (1736) 2952 0 R (1737) 2953 0 R (1738) 2954 0 R (1739) 2955 0 R (1740) 2956 0 R (1741) 2957 0 R (1742) 2958 0 R (1743) 2959 0 R (1744) 2960 0 R (1745) 2961 0 R (1748) 2963 0 R (1749) 2964 0 R (1750) 2965 0 R (1751) 2966 0 R (1752) 2967 0 R (1753) 2968 0 R (1754) 2969 0 R (1755) 2970 0 R (1756) 2971 0 R (1757) 2972 0 R (176) 1404 0 R (1760) 2978 0 R (1761) 2979 0 R (1762) 2980 0 R (1763) 2981 0 R (1764) 2982 0 R (1765) 2983 0 R (1766) 2984 0 R (1767) 2985 0 R (1768) 2986 0 R (1769) 2987 0 R (177) 1405 0 R (1770) 2988 0 R (1771) 2989 0 R (1772) 2990 0 R (1773) 2991 0 R (1774) 2992 0 R (1775) 2993 0 R (1776) 2994 0 R (1779) 2996 0 R (1780) 2997 0 R (1781) 2998 0 R (1782) 2999 0 R (1783) 3000 0 R (1784) 3001 0 R (1785) 3002 0 R (1786) 3003 0 R (1787) 3004 0 R (1788) 3005 0 R (1789) 3006 0 R (1790) 3007 0 R (1791) 3008 0 R (1792) 3009 0 R (1793) 3010 0 R (1794) 3011 0 R (1795) 3012 0 R (1796) 3013 0 R (1797) 3018 0 R (1798) 3019 0 R (1799) 3020 0 R (18.0) 850 0 R (18.70.76.2) 854 0 R (18.70.76.39.3) 858 0 R (1800) 3021 0 R (1801) 3022 0 R (1802) 3023 0 R (1803) 3024 0 R (1804) 3025 0 R (1805) 3026 0 R (1806) 3027 0 R (1807) 3028 0 R (1808) 3029 0 R (1809) 3030 0 R (1810) 3031 0 R (1811) 3032 0 R (1812) 3033 0 R (1813) 3034 0 R (1814) 3035 0 R (1815) 3036 0 R (1816) 3037 0 R (1817) 3038 0 R (1818) 3039 0 R (1819) 3040 0 R (182) 1410 0 R (1820) 3041 0 R (1821) 3042 0 R (1824) 3048 0 R (1825) 3049 0 R (1826) 3050 0 R (1827) 3051 0 R (1828) 3052 0 R (1829) 3053 0 R (183) 1411 0 R (1830) 3054 0 R (1833) 3055 0 R (1834) 3056 0 R (1835) 3057 0 R (1836) 3058 0 R (1837) 3059 0 R (1838) 3060 0 R (1839) 3061 0 R (184) 1412 0 R (1840) 3062 0 R (1841) 3063 0 R (1842) 3064 0 R (1843) 3065 0 R (1844) 3066 0 R (1845) 3067 0 R (1846) 3068 0 R (1847) 3069 0 R (1848) 3070 0 R (1849) 3071 0 R (185) 1415 0 R (1850) 3072 0 R (1855) 3074 0 R (1856) 3079 0 R (1857) 3080 0 R (1858) 3081 0 R (1859) 3082 0 R (1860) 3083 0 R (1861) 3084 0 R (1862) 3085 0 R (1863) 3086 0 R (1864) 3087 0 R (1865) 3088 0 R (1866) 3089 0 R (1867) 3090 0 R (1868) 3091 0 R (1869) 3092 0 R (187) 1417 0 R (1870) 3093 0 R (1871) 3094 0 R (1872) 3095 0 R (1873) 3096 0 R (1874) 3097 0 R (1875) 3098 0 R (1876) 3099 0 R (1877) 3100 0 R (1878) 3101 0 R (1879) 3102 0 R (188) 1418 0 R (1880) 3103 0 R (1881) 3104 0 R (1882) 3105 0 R (1883) 3106 0 R (1884) 3107 0 R (1885) 3108 0 R (1886) 3109 0 R (1887) 3110 0 R (1888) 3111 0 R (1889) 3112 0 R (189) 1419 0 R (1890) 3118 0 R (1891) 3119 0 R (1892) 3120 0 R (1893) 3121 0 R (1894) 3122 0 R (1895) 3123 0 R (1898) 3124 0 R (1899) 3125 0 R (19.0) 862 0 R (19.70.77.2) 866 0 R (19.70.78.2) 870 0 R (19.70.79.2) 874 0 R (190) 1420 0 R (1900) 3126 0 R (1901) 3127 0 R (1902) 3128 0 R (1903) 3129 0 R (1904) 3130 0 R (1905) 3131 0 R (1906) 3132 0 R (1907) 3133 0 R (1908) 3134 0 R (1909) 3135 0 R (191) 1421 0 R (1910) 3140 0 R (1911) 3117 0 R (1912) 3141 0 R (1913) 3142 0 R (1914) 3143 0 R (1915) 3144 0 R (1916) 3145 0 R (1917) 3146 0 R (1918) 3147 0 R (1919) 3148 0 R (192) 1422 0 R (1922) 3149 0 R (1923) 3150 0 R (1924) 3151 0 R (1925) 3152 0 R (1926) 3153 0 R (1927) 3154 0 R (1928) 3155 0 R (1929) 3161 0 R (193) 1423 0 R (1930) 3162 0 R (1933) 3163 0 R (1934) 3164 0 R (1935) 3165 0 R (1936) 3166 0 R (1937) 3167 0 R (1938) 3168 0 R (1939) 3169 0 R (194) 1424 0 R (1940) 3170 0 R (1941) 3171 0 R (1943) 3172 0 R (1944) 3173 0 R (1945) 3174 0 R (1946) 3175 0 R (1947) 3176 0 R (1948) 3177 0 R (1949) 3178 0 R (195) 1425 0 R (1950) 3184 0 R (1951) 3160 0 R (1953) 3185 0 R (1954) 3186 0 R (1955) 3187 0 R (1956) 3188 0 R (1957) 3189 0 R (1958) 3190 0 R (1959) 3191 0 R (1960) 3192 0 R (1961) 3193 0 R (1962) 3194 0 R (1963) 3195 0 R (1964) 3196 0 R (1965) 3197 0 R (1966) 3198 0 R (1967) 3199 0 R (1968) 3200 0 R (1970) 3201 0 R (1971) 3202 0 R (1972) 3203 0 R (1973) 3204 0 R (1974) 3205 0 R (1975) 3206 0 R (1976) 3207 0 R (1977) 3208 0 R (1978) 3183 0 R (198) 1427 0 R (1983) 3227 0 R (1988) 3232 0 R (1989) 3233 0 R (1990) 3234 0 R (1991) 3235 0 R (1992) 3236 0 R (1993) 3237 0 R (1994) 3238 0 R (1995) 3239 0 R (1998) 3246 0 R (1999) 3247 0 R (2.0) 6 0 R (20.0) 878 0 R (20.70.80.2) 882 0 R (20.70.81.2) 886 0 R (20.70.82.2) 890 0 R (20.70.83.2) 894 0 R (2000) 3248 0 R (2001) 3249 0 R (2002) 3250 0 R (2005) 3252 0 R (2006) 3253 0 R (2009) 3254 0 R (201) 1429 0 R (2010) 3255 0 R (2011) 3256 0 R (2016) 3261 0 R (2017) 3262 0 R (2020) 3263 0 R (2021) 3264 0 R (2022) 3265 0 R (2023) 3266 0 R (2024) 3267 0 R (2025) 3268 0 R (2026) 3269 0 R (2027) 3270 0 R (2028) 3271 0 R (2029) 3272 0 R (2030) 3273 0 R (2031) 3274 0 R (2032) 3275 0 R (2033) 3276 0 R (2036) 3277 0 R (2037) 3278 0 R (2038) 3279 0 R (2039) 3280 0 R (204) 1431 0 R (2040) 3281 0 R (2041) 3282 0 R (2042) 3283 0 R (2063) 3291 0 R (2064) 3292 0 R (2065) 3293 0 R (2066) 3294 0 R (2067) 3295 0 R (2068) 3296 0 R (2069) 3297 0 R (207) 1433 0 R (2070) 3298 0 R (2071) 3299 0 R (2072) 3300 0 R (2073) 3301 0 R (2074) 3302 0 R (2075) 3303 0 R (2076) 3304 0 R (2077) 3305 0 R (2078) 3306 0 R (2079) 3307 0 R (2080) 3308 0 R (2081) 3309 0 R (2082) 3310 0 R (2083) 3311 0 R (2084) 3312 0 R (2085) 3313 0 R (2086) 3314 0 R (2087) 3315 0 R (2088) 3316 0 R (2089) 3317 0 R (2090) 3318 0 R (2091) 3319 0 R (2092) 3320 0 R (2093) 3321 0 R (2094) 3322 0 R (2095) 3323 0 R (2096) 3324 0 R (2097) 3325 0 R (2098) 3326 0 R (2099) 3327 0 R (21.0) 898 0 R (21.70.84.2) 902 0 R (21.70.85.2) 906 0 R (210) 1435 0 R (2100) 3328 0 R (2101) 3329 0 R (2102) 3330 0 R (2103) 3331 0 R (2104) 3332 0 R (2105) 3333 0 R (2106) 3334 0 R (2107) 3335 0 R (2108) 3336 0 R (2109) 3337 0 R (2110) 3338 0 R (2111) 3339 0 R (2112) 3340 0 R (2113) 3341 0 R (2116) 3342 0 R (2118) 3344 0 R (2119) 3345 0 R (2122) 3350 0 R (2127) 3355 0 R (2128) 3356 0 R (2129) 3357 0 R (213) 1437 0 R (2130) 3358 0 R (2131) 3359 0 R (2134) 3360 0 R (2135) 3361 0 R (2136) 3362 0 R (2153) 3364 0 R (2154) 3365 0 R (2155) 3366 0 R (2156) 3367 0 R (2157) 3368 0 R (2158) 3369 0 R (2159) 3370 0 R (2160) 3371 0 R (2161) 3372 0 R (2162) 3373 0 R (2163) 3374 0 R (2164) 3375 0 R (2165) 3376 0 R (2166) 3377 0 R (2167) 3378 0 R (2168) 3383 0 R (2169) 3384 0 R (217) 1439 0 R (2172) 3385 0 R (2173) 3386 0 R (2174) 3387 0 R (218) 1440 0 R (2184) 3390 0 R (2187) 3392 0 R (219) 1441 0 R (2190) 3394 0 R (2193) 3396 0 R (2196) 3403 0 R (2199) 3405 0 R (22.0) 910 0 R (22.70.86.2) 914 0 R (220) 1442 0 R (2200) 3406 0 R (2203) 3408 0 R (2206) 3409 0 R (2207) 3410 0 R (2209) 3411 0 R (2210) 3412 0 R (2211) 3413 0 R (2220) 3415 0 R (2223) 3420 0 R (2224) 3421 0 R (2225) 3422 0 R (2226) 3423 0 R (2227) 3424 0 R (223) 1452 0 R (2230) 3426 0 R (2231) 3427 0 R (2234) 3429 0 R (2235) 3430 0 R (2236) 3431 0 R (2237) 3432 0 R (2238) 3433 0 R (224) 1453 0 R (2241) 3434 0 R (2244) 3441 0 R (2245) 3442 0 R (2246) 3443 0 R (2249) 3445 0 R (225) 1454 0 R (2250) 3446 0 R (2251) 3447 0 R (2252) 3448 0 R (2253) 3449 0 R (2254) 3450 0 R (2255) 3451 0 R (2256) 3452 0 R (2257) 3453 0 R (2258) 3454 0 R (2259) 3455 0 R (226) 1455 0 R (2260) 3456 0 R (2261) 3457 0 R (2262) 3458 0 R (2263) 3459 0 R (2264) 3460 0 R (2265) 3461 0 R (2266) 3462 0 R (2267) 3463 0 R (2268) 3464 0 R (2269) 3465 0 R (227) 1456 0 R (2270) 3466 0 R (2271) 3467 0 R (2272) 3468 0 R (2273) 3469 0 R (2274) 3470 0 R (2275) 3471 0 R (2276) 3472 0 R (2277) 3473 0 R (2278) 3474 0 R (2279) 3475 0 R (228) 1457 0 R (2280) 3480 0 R (2281) 3481 0 R (2282) 3482 0 R (2283) 3483 0 R (2284) 3484 0 R (2285) 3485 0 R (2286) 3486 0 R (2287) 3487 0 R (2288) 3488 0 R (2289) 3489 0 R (229) 1458 0 R (2290) 3490 0 R (2291) 3491 0 R (2294) 3493 0 R (2297) 3494 0 R (23.0) 918 0 R (23.70.87.2) 922 0 R (230) 1459 0 R (2300) 3496 0 R (2301) 3497 0 R (2302) 3498 0 R (2303) 3499 0 R (2304) 3505 0 R (2307) 3507 0 R (2308) 3508 0 R (2309) 3509 0 R (231) 1460 0 R (2310) 3510 0 R (2311) 3511 0 R (2312) 3512 0 R (2313) 3513 0 R (2315) 3514 0 R (2316) 3515 0 R (2317) 3516 0 R (2318) 3517 0 R (2319) 3518 0 R (2320) 3519 0 R (2322) 3524 0 R (2323) 3504 0 R (2326) 3525 0 R (2327) 3526 0 R (2328) 3527 0 R (2329) 3528 0 R (2330) 3529 0 R (2331) 3530 0 R (2332) 3531 0 R (2335) 3536 0 R (2336) 3537 0 R (2338) 3539 0 R (234) 1461 0 R (2342) 3541 0 R (2344) 3542 0 R (2348) 3544 0 R (235) 1462 0 R (2350) 3545 0 R (2351) 3546 0 R (2355) 3548 0 R (2357) 3549 0 R (2358) 3550 0 R (2359) 3551 0 R (2363) 3553 0 R (2365) 3554 0 R (2369) 3556 0 R (237) 1464 0 R (2371) 3557 0 R (2372) 3558 0 R (2376) 3560 0 R (2378) 3561 0 R (2379) 3562 0 R (238) 1465 0 R (2380) 3567 0 R (2381) 3568 0 R (2382) 3569 0 R (2383) 3570 0 R (2387) 3572 0 R (2389) 3573 0 R (239) 1466 0 R (2390) 3574 0 R (2391) 3575 0 R (2392) 3576 0 R (2393) 3577 0 R (2394) 3578 0 R (2395) 3579 0 R (2399) 3581 0 R (24) 1318 0 R (24.0) 926 0 R (24.70.88.2) 930 0 R (24.70.89.2) 934 0 R (2400) 3582 0 R (2402) 3583 0 R (2403) 3584 0 R (2407) 3586 0 R (2408) 3587 0 R (2409) 3588 0 R (2411) 3589 0 R (2412) 3596 0 R (2413) 3597 0 R (2414) 3598 0 R (2415) 3599 0 R (2416) 3600 0 R (2417) 3601 0 R (2418) 3602 0 R (2419) 3603 0 R (242) 1467 0 R (2420) 3604 0 R (2421) 3605 0 R (2422) 3606 0 R (2423) 3607 0 R (2427) 3609 0 R (243) 1468 0 R (2432) 3611 0 R (2433) 3612 0 R (2435) 3613 0 R (2437) 3615 0 R (244) 1469 0 R (2441) 3617 0 R (2446) 3619 0 R (2448) 3620 0 R (2449) 3621 0 R (245) 1470 0 R (2453) 3627 0 R (2455) 3628 0 R (2457) 3595 0 R (246) 1471 0 R (2461) 3631 0 R (2466) 3633 0 R (2468) 3634 0 R (2469) 3635 0 R (247) 1472 0 R (2470) 3636 0 R (2474) 3638 0 R (2475) 3639 0 R (2477) 3640 0 R (2478) 3641 0 R (2479) 3642 0 R (248) 1473 0 R (2480) 3643 0 R (2481) 3644 0 R (2482) 3645 0 R (2483) 3646 0 R (2487) 3648 0 R (2489) 3649 0 R (249) 1474 0 R (2490) 3654 0 R (2494) 3656 0 R (2499) 3658 0 R (25) 1319 0 R (25.0) 938 0 R (25.70.90.2) 942 0 R (25.70.91.2) 946 0 R (25.70.92.2) 950 0 R (250) 1475 0 R (2501) 3659 0 R (2505) 3661 0 R (2506) 3662 0 R (2508) 3663 0 R (251) 1476 0 R (2512) 3665 0 R (2517) 3667 0 R (2522) 3669 0 R (2526) 3672 0 R (2530) 3678 0 R (2535) 3680 0 R (254) 1477 0 R (2540) 3682 0 R (2542) 3683 0 R (2543) 3684 0 R (2544) 3685 0 R (2545) 3686 0 R (2546) 3687 0 R (2547) 3688 0 R (2548) 3689 0 R (2549) 3690 0 R (255) 1478 0 R (2550) 3691 0 R (2551) 3692 0 R (2552) 3693 0 R (2553) 3694 0 R (2554) 3695 0 R (2555) 3696 0 R (2556) 3697 0 R (2557) 3698 0 R (2558) 3699 0 R (2559) 3700 0 R (256) 1479 0 R (2564) 3703 0 R (2566) 3704 0 R (2567) 3705 0 R (2568) 3706 0 R (2569) 3707 0 R (2570) 3713 0 R (2571) 3714 0 R (2573) 3716 0 R (2577) 3718 0 R (2579) 3719 0 R (258) 1481 0 R (2580) 3720 0 R (2581) 3721 0 R (2582) 3722 0 R (2587) 3725 0 R (259) 1482 0 R (2590) 3727 0 R (2594) 3729 0 R (2596) 3730 0 R (26) 1320 0 R (26.0) 954 0 R (26.70.93.2) 958 0 R (260) 1488 0 R (2600) 3732 0 R (2602) 3733 0 R (2603) 3734 0 R (2604) 3735 0 R (2605) 3736 0 R (2606) 3737 0 R (2607) 3738 0 R (2608) 3739 0 R (2609) 3712 0 R (261) 1489 0 R (2611) 3745 0 R (2612) 3746 0 R (2613) 3747 0 R (2614) 3748 0 R (2615) 3749 0 R (2616) 3750 0 R (2617) 3751 0 R (2618) 3752 0 R (2619) 3753 0 R (262) 1451 0 R (2620) 3754 0 R (2621) 3755 0 R (2622) 3756 0 R (2623) 3757 0 R (2627) 3759 0 R (2629) 3760 0 R (2630) 3761 0 R (2631) 3762 0 R (2632) 3763 0 R (2636) 3765 0 R (264) 1490 0 R (2641) 3767 0 R (2643) 3768 0 R (2644) 3769 0 R (2645) 3770 0 R (2646) 3771 0 R (2647) 3772 0 R (2648) 3773 0 R (2649) 3774 0 R (265) 1491 0 R (2650) 3775 0 R (2652) 3777 0 R (2653) 3778 0 R (2657) 3780 0 R (2659) 3781 0 R (2660) 3782 0 R (2661) 3783 0 R (2662) 3784 0 R (2663) 3785 0 R (2664) 3786 0 R (2665) 3787 0 R (2667) 3795 0 R (2671) 3797 0 R (2673) 3798 0 R (2674) 3799 0 R (2675) 3800 0 R (2679) 3802 0 R (268) 1494 0 R (2681) 3803 0 R (2682) 3804 0 R (2683) 3805 0 R (2684) 3806 0 R (2685) 3807 0 R (2689) 3809 0 R (269) 1495 0 R (2691) 3810 0 R (2692) 3811 0 R (2693) 3812 0 R (2694) 3813 0 R (2698) 3815 0 R (27.0) 962 0 R (27.70.94.2) 966 0 R (27.70.95.2) 970 0 R (270) 1496 0 R (2700) 3816 0 R (2701) 3817 0 R (2702) 3818 0 R (2704) 3794 0 R (2708) 3825 0 R (271) 1497 0 R (2710) 3826 0 R (2712) 3828 0 R (2713) 3829 0 R (2717) 3831 0 R (272) 1498 0 R (2722) 3833 0 R (2723) 3834 0 R (2725) 3835 0 R (2726) 3836 0 R (2727) 3837 0 R (2728) 3838 0 R (2729) 3839 0 R (273) 1499 0 R (2733) 3841 0 R (2735) 3842 0 R (2736) 3843 0 R (2737) 3844 0 R (2738) 3845 0 R (2739) 3846 0 R (274) 1500 0 R (2740) 3847 0 R (2741) 3848 0 R (2742) 3849 0 R (2743) 3850 0 R (2744) 3851 0 R (2745) 3852 0 R (2746) 3853 0 R (2747) 3854 0 R (2748) 3855 0 R (275) 1501 0 R (2750) 3857 0 R (2754) 3863 0 R (2759) 3865 0 R (276) 1502 0 R (2761) 3866 0 R (2762) 3867 0 R (2763) 3868 0 R (2764) 3869 0 R (2765) 3870 0 R (2766) 3871 0 R (277) 1503 0 R (2770) 3873 0 R (2771) 3874 0 R (2773) 3875 0 R (278) 1504 0 R (2784) 3878 0 R (2785) 3879 0 R (279) 1505 0 R (2790) 3881 0 R (2792) 3882 0 R (2796) 3884 0 R (2797) 3885 0 R (2799) 3886 0 R (28) 1322 0 R (28.0) 974 0 R (28.70.96.2) 978 0 R (28.70.97.2) 982 0 R (280) 1506 0 R (2800) 3887 0 R (2801) 3888 0 R (2802) 3893 0 R (2803) 3894 0 R (2805) 3896 0 R (2809) 3898 0 R (281) 1507 0 R (2811) 3899 0 R (2812) 3900 0 R (2813) 3901 0 R (2817) 3903 0 R (2819) 3904 0 R (282) 1508 0 R (2820) 3905 0 R (2821) 3906 0 R (2822) 3907 0 R (2826) 3913 0 R (2827) 3914 0 R (2828) 3915 0 R (283) 1509 0 R (2830) 3916 0 R (2831) 3917 0 R (2832) 3918 0 R (2836) 3920 0 R (2838) 3921 0 R (2839) 3922 0 R (284) 1510 0 R (2840) 3923 0 R (2841) 3924 0 R (2842) 3925 0 R (2843) 3926 0 R (2844) 3927 0 R (2845) 3928 0 R (2846) 3929 0 R (2847) 3930 0 R (2848) 3931 0 R (2849) 3932 0 R (285) 1511 0 R (2850) 3933 0 R (2851) 3934 0 R (2852) 3935 0 R (2853) 3936 0 R (2854) 3937 0 R (2857) 3942 0 R (286) 1512 0 R (2860) 3943 0 R (2861) 3944 0 R (2862) 3945 0 R (2863) 3946 0 R (2866) 3949 0 R (2867) 1251 0 R (2869) 3950 0 R (287) 1513 0 R (2870) 3951 0 R (2871) 3952 0 R (2872) 3953 0 R (2873) 3954 0 R (2874) 1252 0 R (2877) 3955 0 R (2878) 3956 0 R (2879) 3957 0 R (288) 1514 0 R (2880) 3958 0 R (2881) 3959 0 R (2882) 3960 0 R (2883) 3961 0 R (2884) 1253 0 R (2886) 3968 0 R (2887) 3969 0 R (2888) 3962 0 R (2889) 1254 0 R (289) 1515 0 R (2891) 3970 0 R (2892) 3971 0 R (2893) 3972 0 R (2894) 3973 0 R (2895) 3974 0 R (2896) 3975 0 R (2897) 3976 0 R (2898) 3977 0 R (29.0) 986 0 R (29.70.98.2) 990 0 R (29.70.99.2) 994 0 R (290) 1516 0 R (2901) 3978 0 R (2902) 3979 0 R (2903) 3980 0 R (2904) 3981 0 R (2905) 3982 0 R (2906) 3983 0 R (2907) 3984 0 R (2908) 3985 0 R (2909) 3986 0 R (2910) 3987 0 R (2913) 3992 0 R (2914) 3993 0 R (2915) 3994 0 R (2916) 3995 0 R (2917) 3996 0 R (2918) 3997 0 R (292) 1518 0 R (2921) 3998 0 R (2922) 3999 0 R (2923) 4000 0 R (2924) 4001 0 R (2925) 4002 0 R (2926) 4007 0 R (2929) 4008 0 R (293) 1519 0 R (2930) 4009 0 R (2931) 4010 0 R (2932) 4011 0 R (2933) 4012 0 R (2936) 4013 0 R (2937) 4014 0 R (2938) 4015 0 R (2939) 4016 0 R (294) 1520 0 R (2940) 4017 0 R (2941) 4018 0 R (2942) 4019 0 R (2943) 1258 0 R (2945) 4020 0 R (2946) 4021 0 R (2947) 4022 0 R (2948) 4023 0 R (2949) 4024 0 R (295) 1521 0 R (2953) 4029 0 R (2954) 4030 0 R (2955) 4031 0 R (2956) 4032 0 R (296) 1522 0 R (2960) 4038 0 R (2961) 4039 0 R (2964) 4040 0 R (2965) 4041 0 R (2966) 4042 0 R (2967) 4043 0 R (2968) 4044 0 R (2969) 4045 0 R (297) 1523 0 R (2970) 4046 0 R (2971) 4047 0 R (2972) 4048 0 R (2973) 4049 0 R (2974) 4050 0 R (2975) 4051 0 R (2976) 4052 0 R (2977) 4053 0 R (2978) 4054 0 R (2979) 4055 0 R (2980) 4056 0 R (2981) 4057 0 R (2982) 4058 0 R (2983) 4059 0 R (2984) 4060 0 R (2985) 4061 0 R (2986) 4062 0 R (2987) 4063 0 R (2988) 4064 0 R (2989) 4065 0 R (299) 1525 0 R (2990) 4066 0 R (2991) 4067 0 R (2992) 4068 0 R (2995) 4069 0 R (2996) 4070 0 R (2997) 4071 0 R (2998) 4072 0 R (2999) 4073 0 R (3.0) 10 0 R (30.0) 998 0 R (30.70.100.2) 1002 0 R (300) 1526 0 R (3000) 4074 0 R (3001) 4075 0 R (3002) 4076 0 R (3003) 4077 0 R (3008) 4082 0 R (3009) 4083 0 R (301) 1527 0 R (3010) 4084 0 R (3011) 4085 0 R (3012) 4086 0 R (3013) 4087 0 R (3014) 4088 0 R (3015) 4089 0 R (3016) 4090 0 R (3017) 4091 0 R (3018) 4092 0 R (3019) 4093 0 R (302) 1528 0 R (3020) 4094 0 R (3021) 4095 0 R (3022) 4096 0 R (3023) 4097 0 R (3026) 4098 0 R (3027) 4099 0 R (3028) 4100 0 R (3029) 4101 0 R (303) 1529 0 R (3030) 4102 0 R (3031) 4103 0 R (3032) 4104 0 R (3033) 4112 0 R (3034) 4105 0 R (3036) 4113 0 R (3037) 4114 0 R (3038) 4115 0 R (3039) 4116 0 R (3040) 4117 0 R (3041) 4118 0 R (3042) 4119 0 R (3043) 4120 0 R (3044) 4121 0 R (3045) 4122 0 R (3046) 4123 0 R (3047) 4124 0 R (3048) 4125 0 R (3049) 4126 0 R (305) 1531 0 R (3050) 4127 0 R (3051) 4128 0 R (3052) 4129 0 R (3053) 4130 0 R (3054) 4131 0 R (3055) 4132 0 R (3056) 4133 0 R (3057) 4134 0 R (3058) 4135 0 R (3059) 4136 0 R (306) 1532 0 R (3060) 4141 0 R (3061) 4111 0 R (3063) 4142 0 R (3064) 4143 0 R (3065) 4144 0 R (3066) 4145 0 R (3067) 4146 0 R (3068) 4147 0 R (3069) 4148 0 R (3070) 4149 0 R (3071) 4150 0 R (3072) 4151 0 R (3073) 4152 0 R (3074) 4153 0 R (3075) 4154 0 R (3076) 4155 0 R (3077) 4156 0 R (308) 1534 0 R (3080) 4157 0 R (3081) 4158 0 R (3082) 4159 0 R (3083) 4160 0 R (3084) 4161 0 R (3085) 4162 0 R (3086) 4163 0 R (3087) 4164 0 R (3088) 4165 0 R (3089) 4170 0 R (309) 1535 0 R (3090) 4171 0 R (3091) 4172 0 R (3092) 4173 0 R (3093) 4174 0 R (3094) 4175 0 R (3095) 4176 0 R (3096) 4177 0 R (3097) 4178 0 R (3098) 4179 0 R (3099) 4180 0 R (31) 1323 0 R (3100) 4181 0 R (3101) 4182 0 R (3102) 4183 0 R (3103) 4184 0 R (3104) 4185 0 R (3105) 4186 0 R (3106) 4187 0 R (3107) 4188 0 R (3108) 4189 0 R (311) 1537 0 R (3111) 4194 0 R (3112) 4195 0 R (3113) 4196 0 R (3116) 4197 0 R (3117) 4198 0 R (3118) 4199 0 R (312) 1549 0 R (3121) 4200 0 R (3122) 4201 0 R (3123) 4202 0 R (3124) 4203 0 R (3125) 4204 0 R (3126) 4205 0 R (3127) 4210 0 R (3128) 4211 0 R (3131) 4212 0 R (3132) 4213 0 R (3135) 4214 0 R (3136) 4215 0 R (3137) 4216 0 R (3138) 4222 0 R (314) 1551 0 R (3141) 4223 0 R (3142) 4224 0 R (3143) 4225 0 R (3144) 4226 0 R (3145) 4227 0 R (3146) 4228 0 R (3147) 4229 0 R (3148) 4230 0 R (3149) 4231 0 R (315) 1552 0 R (3150) 4232 0 R (3151) 4233 0 R (3152) 4234 0 R (3153) 4235 0 R (3154) 4236 0 R (3155) 4237 0 R (3156) 4238 0 R (3157) 4239 0 R (3158) 4240 0 R (3159) 4241 0 R (3160) 4242 0 R (3161) 4243 0 R (3162) 4244 0 R (3163) 4245 0 R (3164) 4246 0 R (3165) 4247 0 R (3166) 4248 0 R (3167) 4249 0 R (3168) 4250 0 R (3169) 4251 0 R (317) 1554 0 R (3170) 4252 0 R (3171) 4253 0 R (3172) 4221 0 R (3173) 4259 0 R (3174) 4260 0 R (3177) 4261 0 R (3178) 4262 0 R (3179) 4263 0 R (318) 1555 0 R (3182) 4264 0 R (3183) 4265 0 R (3186) 4266 0 R (3187) 4271 0 R (3190) 4272 0 R (3193) 4273 0 R (3196) 4274 0 R (3197) 4275 0 R (3198) 4276 0 R (32) 1324 0 R (320) 1557 0 R (3201) 4277 0 R (3202) 4278 0 R (3203) 4283 0 R (3204) 4284 0 R (3205) 4285 0 R (3207) 4290 0 R (321) 1558 0 R (3211) 4291 0 R (3212) 4292 0 R (3213) 4293 0 R (3214) 4294 0 R (3219) 4297 0 R (3220) 4298 0 R (3221) 4299 0 R (3222) 4300 0 R (3223) 4301 0 R (3224) 4302 0 R (3226) 4303 0 R (3227) 4304 0 R (3228) 4305 0 R (3229) 4306 0 R (3230) 4307 0 R (3232) 4308 0 R (3233) 4309 0 R (3234) 4310 0 R (3235) 4311 0 R (3236) 4312 0 R (3237) 4313 0 R (3238) 4314 0 R (3239) 4315 0 R (3240) 4316 0 R (3242) 4317 0 R (3243) 4318 0 R (3244) 4319 0 R (3245) 4320 0 R (3246) 4321 0 R (3247) 4322 0 R (3248) 4323 0 R (3249) 4324 0 R (325) 1560 0 R (3250) 4325 0 R (3251) 4326 0 R (3252) 4327 0 R (3254) 4328 0 R (3255) 4329 0 R (3256) 4330 0 R (3257) 4331 0 R (3258) 4332 0 R (3259) 4333 0 R (326) 1561 0 R (3264) 4340 0 R (3265) 4341 0 R (3266) 4342 0 R (3267) 4343 0 R (3268) 4344 0 R (3269) 4345 0 R (3271) 4346 0 R (3272) 4347 0 R (3273) 4348 0 R (3276) 4349 0 R (3277) 4350 0 R (3283) 4352 0 R (3284) 4353 0 R (3285) 4354 0 R (3286) 4355 0 R (3289) 4357 0 R (329) 1562 0 R (3290) 4358 0 R (3294) 4359 0 R (3295) 4360 0 R (3296) 4361 0 R (3297) 4362 0 R (3298) 4363 0 R (33) 1325 0 R (3301) 4368 0 R (3302) 4369 0 R (3303) 4370 0 R (3304) 4371 0 R (3305) 4372 0 R (3306) 4373 0 R (3307) 4374 0 R (3312) 4376 0 R (3313) 4377 0 R (3314) 4378 0 R (3315) 4379 0 R (3318) 4380 0 R (3319) 4381 0 R (332) 1563 0 R (3320) 4382 0 R (3326) 4386 0 R (3327) 4387 0 R (3328) 4388 0 R (3329) 4389 0 R (333) 1564 0 R (3330) 4390 0 R (3335) 4398 0 R (3336) 4399 0 R (334) 1565 0 R (3342) 4401 0 R (3343) 4402 0 R (3344) 4403 0 R (3345) 4404 0 R (3346) 4405 0 R (3347) 4406 0 R (335) 1566 0 R (3350) 4408 0 R (3351) 4409 0 R (3353) 4411 0 R (3354) 4412 0 R (3356) 4413 0 R (3357) 4414 0 R (3358) 4415 0 R (3359) 4416 0 R (336) 1567 0 R (3361) 4417 0 R (3362) 4418 0 R (3363) 4419 0 R (3364) 4420 0 R (3365) 4421 0 R (3367) 4422 0 R (3368) 4423 0 R (3369) 4424 0 R (337) 1568 0 R (3370) 4425 0 R (3377) 4428 0 R (3378) 4429 0 R (3379) 4430 0 R (338) 1569 0 R (3382) 4436 0 R (3383) 4437 0 R (3385) 4438 0 R (3386) 4439 0 R (3387) 4440 0 R (3388) 4441 0 R (339) 1570 0 R (3392) 4443 0 R (3393) 4444 0 R (3394) 4445 0 R (3395) 4446 0 R (3396) 4447 0 R (3397) 4448 0 R (3398) 4449 0 R (3399) 4450 0 R (340) 1571 0 R (3405) 4452 0 R (3406) 4453 0 R (3410) 4455 0 R (3411) 4456 0 R (3412) 4457 0 R (3417) 4463 0 R (3418) 4464 0 R (3419) 4465 0 R (3421) 4466 0 R (3422) 4467 0 R (3423) 4468 0 R (3424) 4469 0 R (3425) 4470 0 R (3426) 4471 0 R (3427) 4472 0 R (3428) 4473 0 R (3429) 4474 0 R (343) 1572 0 R (3430) 4475 0 R (3431) 4476 0 R (3432) 4477 0 R (3433) 4478 0 R (3434) 4479 0 R (3439) 4482 0 R (3440) 4483 0 R (3441) 4484 0 R (3445) 4485 0 R (3446) 4486 0 R (3451) 4489 0 R (3452) 4490 0 R (3453) 4491 0 R (3454) 4498 0 R (3455) 4492 0 R (3456) 4497 0 R (346) 1581 0 R (349) 1582 0 R (352) 1583 0 R (353) 1584 0 R (354) 1585 0 R (357) 1586 0 R (358) 1587 0 R (36) 1326 0 R (361) 1588 0 R (364) 1589 0 R (365) 1590 0 R (366) 1591 0 R (367) 1592 0 R (368) 1593 0 R (37) 1327 0 R (371) 1599 0 R (372) 1600 0 R (376) 1602 0 R (377) 1603 0 R (378) 1604 0 R (379) 1605 0 R (38) 1328 0 R (380) 1606 0 R (381) 1607 0 R (382) 1608 0 R (383) 1609 0 R (384) 1610 0 R (387) 1612 0 R (388) 1613 0 R (39) 1329 0 R (392) 1616 0 R (393) 1617 0 R (394) 1618 0 R (395) 1619 0 R (396) 1620 0 R (397) 1621 0 R (398) 1626 0 R (399) 1627 0 R (4.0) 14 0 R (40) 1330 0 R (400) 1628 0 R (402) 1629 0 R (403) 1630 0 R (404) 1631 0 R (405) 1632 0 R (406) 1633 0 R (407) 1634 0 R (408) 1635 0 R (409) 1636 0 R (41) 1331 0 R (410) 1637 0 R (412) 1638 0 R (413) 1639 0 R (414) 1640 0 R (415) 1641 0 R (416) 1642 0 R (417) 1643 0 R (42) 1332 0 R (420) 1645 0 R (421) 1646 0 R (422) 1647 0 R (423) 1650 0 R (425) 1652 0 R (426) 1653 0 R (427) 1654 0 R (428) 1655 0 R (429) 1656 0 R (43) 1333 0 R (430) 1657 0 R (431) 1658 0 R (432) 1659 0 R (433) 1660 0 R (434) 1666 0 R (435) 1667 0 R (436) 1668 0 R (437) 1669 0 R (438) 1670 0 R (439) 1671 0 R (44) 1334 0 R (440) 1672 0 R (441) 1673 0 R (442) 1674 0 R (443) 1675 0 R (444) 1676 0 R (445) 1677 0 R (447) 1678 0 R (448) 1679 0 R (449) 1680 0 R (45) 1335 0 R (450) 1681 0 R (451) 1682 0 R (452) 1683 0 R (455) 1685 0 R (46) 1336 0 R (460) 1688 0 R (461) 1689 0 R (462) 1690 0 R (463) 1691 0 R (464) 1692 0 R (465) 1693 0 R (466) 1694 0 R (467) 1695 0 R (468) 1696 0 R (469) 1697 0 R (47) 1337 0 R (470) 1698 0 R (471) 1704 0 R (472) 1705 0 R (473) 1706 0 R (474) 1665 0 R (476) 1707 0 R (477) 1708 0 R (478) 1709 0 R (479) 1710 0 R (48) 1338 0 R (480) 1711 0 R (484) 1713 0 R (485) 1714 0 R (486) 1715 0 R (487) 1716 0 R (488) 1717 0 R (489) 1718 0 R (49) 1339 0 R (490) 1719 0 R (491) 1720 0 R (492) 1721 0 R (493) 1722 0 R (494) 1723 0 R (495) 1724 0 R (496) 1725 0 R (497) 1726 0 R (498) 1727 0 R (499) 1728 0 R (5.0) 18 0 R (5.1.1) 22 0 R (5.2.1) 26 0 R (5.3.1) 30 0 R (5.4.1) 34 0 R (5.5.1) 38 0 R (50) 1340 0 R (500) 1729 0 R (501) 1730 0 R (502) 1731 0 R (503) 1732 0 R (504) 1733 0 R (505) 1734 0 R (506) 1735 0 R (507) 1736 0 R (508) 1737 0 R (509) 1738 0 R (51) 1341 0 R (510) 1739 0 R (514) 1742 0 R (515) 1747 0 R (517) 1749 0 R (518) 1750 0 R (52) 1346 0 R (520) 1752 0 R (521) 1753 0 R (522) 1754 0 R (523) 1755 0 R (524) 1756 0 R (525) 1757 0 R (526) 1758 0 R (527) 1759 0 R (528) 1760 0 R (529) 1761 0 R (53) 1347 0 R (530) 1762 0 R (531) 1763 0 R (532) 1764 0 R (533) 1765 0 R (534) 1766 0 R (535) 1767 0 R (536) 1768 0 R (537) 1769 0 R (538) 1770 0 R (541) 1772 0 R (542) 1773 0 R (544) 1775 0 R (545) 1776 0 R (547) 1778 0 R (548) 1779 0 R (549) 1780 0 R (550) 1781 0 R (551) 1782 0 R (552) 1783 0 R (553) 1784 0 R (554) 1790 0 R (558) 1792 0 R (559) 1793 0 R (56) 1348 0 R (561) 1794 0 R (562) 1795 0 R (563) 1796 0 R (564) 1797 0 R (565) 1800 0 R (566) 1801 0 R (567) 1802 0 R (568) 1803 0 R (569) 1804 0 R (57) 1349 0 R (570) 1805 0 R (571) 1806 0 R (572) 1807 0 R (574) 1808 0 R (575) 1809 0 R (576) 1810 0 R (577) 1811 0 R (578) 1812 0 R (579) 1813 0 R (580) 1814 0 R (581) 1815 0 R (582) 1816 0 R (583) 1817 0 R (584) 1818 0 R (585) 1819 0 R (586) 1820 0 R (587) 1821 0 R (588) 1822 0 R (59) 1350 0 R (590) 1828 0 R (591) 1829 0 R (592) 1830 0 R (593) 1831 0 R (594) 1832 0 R (595) 1833 0 R (598) 1835 0 R (599) 1836 0 R (6.0) 42 0 R (6.10.1) 222 0 R (6.10.21.2) 226 0 R (6.10.22.2) 230 0 R (6.10.22.21.1.4) 238 0 R (6.10.22.21.2.4) 242 0 R (6.10.22.21.3) 234 0 R (6.10.22.21.3.4) 246 0 R (6.10.23.2) 250 0 R (6.10.24.2) 254 0 R (6.10.24.22.3) 258 0 R (6.10.24.23.3) 262 0 R (6.10.25.2) 266 0 R (6.10.25.24.3) 270 0 R (6.10.26.2) 274 0 R (6.6.1) 46 0 R (6.6.1.2) 50 0 R (6.6.2.2) 54 0 R (6.6.3.2) 58 0 R (6.6.4.2) 62 0 R (6.6.5.1.3) 70 0 R (6.6.5.2) 66 0 R (6.6.5.2.3) 74 0 R (6.6.5.3.3) 78 0 R (6.6.5.4.3) 82 0 R (6.6.5.5.3) 86 0 R (6.6.5.6.3) 90 0 R (6.6.5.7.3) 94 0 R (6.6.5.8.3) 98 0 R (6.6.5.9.3) 102 0 R (6.6.6.2) 106 0 R (6.7.1) 110 0 R (6.7.10.14.3) 146 0 R (6.7.10.15.3) 150 0 R (6.7.10.16.3) 154 0 R (6.7.10.2) 142 0 R (6.7.11.2) 158 0 R (6.7.7.2) 114 0 R (6.7.8.10.3) 122 0 R (6.7.8.11.3) 126 0 R (6.7.8.12.3) 130 0 R (6.7.8.13.3) 134 0 R (6.7.8.2) 118 0 R (6.7.9.2) 138 0 R (6.8.1) 162 0 R (6.8.12.2) 166 0 R (6.8.13.2) 170 0 R (6.8.14.2) 174 0 R (6.8.15.2) 178 0 R (6.8.16.2) 182 0 R (6.8.17.2) 186 0 R (6.9.1) 190 0 R (6.9.18.17.3) 198 0 R (6.9.18.18.3) 202 0 R (6.9.18.19.3) 206 0 R (6.9.18.2) 194 0 R (6.9.18.20.3) 210 0 R (6.9.19.2) 214 0 R (6.9.20.2) 218 0 R (60) 1351 0 R (600) 1837 0 R (601) 1838 0 R (602) 1839 0 R (603) 1840 0 R (604) 1841 0 R (605) 1842 0 R (606) 1843 0 R (607) 1844 0 R (608) 1845 0 R (61) 1352 0 R (611) 1847 0 R (612) 1848 0 R (613) 1849 0 R (614) 1850 0 R (615) 1851 0 R (618) 1853 0 R (619) 1854 0 R (62) 1353 0 R (620) 1855 0 R (623) 1862 0 R (624) 1863 0 R (625) 1864 0 R (626) 1865 0 R (627) 1866 0 R (628) 1867 0 R (629) 1868 0 R (632) 1870 0 R (633) 1871 0 R (634) 1872 0 R (635) 1873 0 R (636) 1874 0 R (639) 1876 0 R (64) 1354 0 R (640) 1877 0 R (641) 1878 0 R (642) 1879 0 R (645) 1881 0 R (646) 1882 0 R (647) 1883 0 R (648) 1884 0 R (65) 1355 0 R (651) 1886 0 R (652) 1887 0 R (653) 1888 0 R (654) 1889 0 R (657) 1891 0 R (658) 1892 0 R (659) 1893 0 R (66) 1356 0 R (660) 1894 0 R (663) 1896 0 R (664) 1897 0 R (665) 1898 0 R (666) 1899 0 R (667) 1900 0 R (668) 1901 0 R (669) 1906 0 R (67) 1357 0 R (670) 1907 0 R (671) 1908 0 R (672) 1909 0 R (673) 1910 0 R (674) 1911 0 R (677) 1912 0 R (678) 1913 0 R (679) 1914 0 R (682) 1916 0 R (685) 1918 0 R (686) 1919 0 R (687) 1920 0 R (69) 1358 0 R (690) 1921 0 R (693) 1924 0 R (694) 1925 0 R (695) 1926 0 R (696) 1927 0 R (697) 1928 0 R (698) 1929 0 R (699) 1935 0 R (7.0) 278 0 R (7.11.1) 282 0 R (7.12.1) 286 0 R (7.12.27.2) 290 0 R (7.12.28.2) 294 0 R (7.12.28.25.3) 298 0 R (7.12.28.26.3) 302 0 R (7.13.1) 306 0 R (7.14.1) 310 0 R (7.15.1) 314 0 R (7.16.1) 318 0 R (7.17.1) 322 0 R (7.17.29.2) 326 0 R (7.17.30.2) 330 0 R (7.17.30.27.3) 334 0 R (7.17.31.2) 338 0 R (7.17.32.2) 342 0 R (7.17.32.28.3) 346 0 R (7.17.32.29.3) 350 0 R (7.17.33.2) 354 0 R (7.17.33.30.10.4) 386 0 R (7.17.33.30.11.4) 390 0 R (7.17.33.30.12.4) 394 0 R (7.17.33.30.3) 358 0 R (7.17.33.30.4.4) 362 0 R (7.17.33.30.5.4) 366 0 R (7.17.33.30.6.4) 370 0 R (7.17.33.30.7.4) 374 0 R (7.17.33.30.8.4) 378 0 R (7.17.33.30.9.4) 382 0 R (7.17.33.31.3) 398 0 R (7.17.33.32.3) 402 0 R (7.18.1) 406 0 R (7.19.1) 410 0 R (7.20.1) 414 0 R (7.20.34.2) 418 0 R (7.20.35.2) 422 0 R (7.20.36.2) 426 0 R (7.20.37.2) 430 0 R (7.20.37.33.3) 434 0 R (7.20.37.34.3) 438 0 R (7.20.37.35.3) 442 0 R (7.21.1) 446 0 R (70) 1359 0 R (700) 1936 0 R (701) 1937 0 R (702) 1938 0 R (705) 1940 0 R (706) 1941 0 R (707) 1942 0 R (708) 1943 0 R (709) 1944 0 R (71) 1360 0 R (710) 1945 0 R (713) 1951 0 R (716) 1954 0 R (717) 1955 0 R (718) 1956 0 R (719) 1957 0 R (72) 1361 0 R (723) 1959 0 R (724) 1960 0 R (725) 1961 0 R (726) 1962 0 R (727) 1963 0 R (728) 1964 0 R (730) 1966 0 R (731) 1967 0 R (732) 1968 0 R (733) 1969 0 R (734) 1970 0 R (735) 1971 0 R (736) 1972 0 R (737) 1973 0 R (738) 1974 0 R (739) 1975 0 R (74) 1362 0 R (740) 1976 0 R (741) 1977 0 R (745) 1980 0 R (746) 1981 0 R (748) 1982 0 R (75) 1363 0 R (750) 1983 0 R (753) 1990 0 R (754) 1991 0 R (755) 1992 0 R (756) 1993 0 R (757) 1994 0 R (758) 1995 0 R (759) 1996 0 R (76) 1364 0 R (760) 1997 0 R (761) 1998 0 R (762) 1999 0 R (763) 2000 0 R (764) 2001 0 R (766) 2002 0 R (767) 2003 0 R (768) 2004 0 R (769) 2005 0 R (77) 1365 0 R (773) 2006 0 R (775) 2007 0 R (777) 2010 0 R (779) 2011 0 R (780) 2012 0 R (781) 2013 0 R (782) 2014 0 R (783) 2015 0 R (784) 2016 0 R (785) 2017 0 R (787) 2018 0 R (789) 2019 0 R (79) 1366 0 R (790) 2020 0 R (791) 2026 0 R (793) 2027 0 R (794) 2028 0 R (795) 2029 0 R (796) 2030 0 R (798) 2031 0 R (799) 2032 0 R (8.0) 450 0 R (8.22.1) 454 0 R (8.22.38.2) 458 0 R (8.22.39.2) 462 0 R (8.22.40.2) 466 0 R (8.23.1) 470 0 R (8.23.41.2) 474 0 R (8.23.42.2) 478 0 R (8.23.43.2) 482 0 R (8.24.1) 486 0 R (8.24.44.2) 490 0 R (8.24.45.2) 494 0 R (8.25.1) 498 0 R (8.25.46.2) 502 0 R (80) 1367 0 R (800) 2033 0 R (801) 2034 0 R (802) 2035 0 R (803) 2036 0 R (804) 2037 0 R (805) 2038 0 R (806) 2039 0 R (807) 2040 0 R (808) 2041 0 R (809) 2042 0 R (81) 1368 0 R (810) 2043 0 R (811) 2048 0 R (812) 2049 0 R (814) 2050 0 R (815) 2051 0 R (816) 2052 0 R (817) 2053 0 R (818) 2054 0 R (819) 2055 0 R (82) 1369 0 R (820) 2056 0 R (821) 2057 0 R (822) 2058 0 R (823) 2059 0 R (824) 2060 0 R (825) 2061 0 R (826) 2062 0 R (827) 2063 0 R (830) 2065 0 R (831) 2066 0 R (833) 2067 0 R (834) 2068 0 R (835) 2069 0 R (836) 2070 0 R (837) 2071 0 R (838) 2072 0 R (839) 2073 0 R (84) 1370 0 R (840) 2078 0 R (841) 2079 0 R (842) 2080 0 R (843) 2081 0 R (844) 2082 0 R (846) 2083 0 R (847) 2084 0 R (848) 2085 0 R (849) 2086 0 R (85) 1371 0 R (850) 2087 0 R (851) 2088 0 R (852) 2089 0 R (853) 2090 0 R (854) 2091 0 R (855) 2092 0 R (856) 2093 0 R (857) 2094 0 R (858) 2095 0 R (859) 2096 0 R (86) 1372 0 R (860) 2097 0 R (861) 2102 0 R (862) 2103 0 R (863) 2104 0 R (864) 2105 0 R (865) 2106 0 R (866) 2107 0 R (867) 2108 0 R (868) 2109 0 R (869) 2110 0 R (87) 1373 0 R (870) 2111 0 R (871) 2112 0 R (872) 2113 0 R (873) 2114 0 R (874) 2115 0 R (875) 2116 0 R (876) 2117 0 R (877) 2118 0 R (879) 2119 0 R (880) 2120 0 R (882) 2121 0 R (883) 2122 0 R (884) 2123 0 R (885) 2124 0 R (886) 2125 0 R (887) 2126 0 R (888) 2131 0 R (889) 2132 0 R (89) 1374 0 R (891) 2133 0 R (893) 2135 0 R (894) 2136 0 R (895) 2137 0 R (896) 2138 0 R (897) 2139 0 R (898) 2140 0 R (899) 2141 0 R (9.0) 506 0 R (9.26.1) 510 0 R (9.26.47.2) 514 0 R (9.26.48.2) 518 0 R (9.26.49.2) 522 0 R (9.26.50.2) 526 0 R (9.26.51.2) 530 0 R (9.26.52.2) 534 0 R (9.27.1) 538 0 R (9.28.1) 542 0 R (9.29.1) 546 0 R (9.30.1) 550 0 R (9.30.53.2) 554 0 R (9.30.53.36.3) 558 0 R (9.31.1) 562 0 R (9.31.54.2) 566 0 R (9.31.55.2) 570 0 R (9.31.56.2) 574 0 R (9.31.57.2) 578 0 R (9.31.58.2) 582 0 R (90) 1375 0 R (900) 2142 0 R (901) 2143 0 R (902) 2144 0 R (903) 2145 0 R (908) 2150 0 R (909) 2151 0 R (91) 1376 0 R (911) 2152 0 R (912) 2153 0 R (914) 2154 0 R (915) 2155 0 R (917) 2156 0 R (918) 2157 0 R (919) 2158 0 R (92) 1377 0 R (920) 2159 0 R (921) 2160 0 R (922) 2161 0 R (924) 2162 0 R (925) 2163 0 R (927) 2164 0 R (928) 2165 0 R (929) 2166 0 R (93) 1378 0 R (931) 2167 0 R (932) 2168 0 R (933) 2169 0 R (934) 2170 0 R (935) 2171 0 R (936) 2172 0 R (937) 2173 0 R (939) 2174 0 R (940) 2175 0 R (941) 2181 0 R (942) 2182 0 R (943) 2183 0 R (945) 2184 0 R (946) 2185 0 R (947) 2186 0 R (949) 2187 0 R (95) 1379 0 R (950) 2188 0 R (951) 2189 0 R (953) 2190 0 R (954) 2191 0 R (956) 2192 0 R (957) 2193 0 R (959) 2194 0 R (96) 1380 0 R (960) 2195 0 R (962) 2196 0 R (963) 2197 0 R (964) 2198 0 R (965) 2199 0 R (966) 2200 0 R (968) 2201 0 R (969) 2202 0 R (97) 1381 0 R (970) 2203 0 R (972) 2204 0 R (977) 2210 0 R (978) 2211 0 R (979) 2212 0 R (98) 1382 0 R (984) 2215 0 R (985) 2216 0 R (986) 2217 0 R (987) 2218 0 R (988) 2219 0 R (989) 2220 0 R (99) 1383 0 R (990) 2221 0 R (991) 2222 0 R (992) 2223 0 R (993) 2224 0 R (996) 2226 0 R (997) 2227 0 R (998) 2228 0 R (999) 2229 0 R (Doc-Start) 1010 0 R (about) 1117 0 R (accountsettings) 3435 0 R (administration) 1129 0 R (apache-addtype) 1895 0 R (attachments) 3428 0 R (bonsai) 3226 0 R (bug_page) 1156 0 R (bugreports) 1160 0 R (bzldap) 1846 0 R (charts) 3506 0 R (cmdline) 1261 0 R (cmdline-bugmail) 1262 0 R (commenting) 3425 0 R (components) 1133 0 R (configuration) 1125 0 R (conventions) 1122 0 R (copyright) 1118 0 R (createnewusers) 2214 0 R (credits) 1121 0 R (cust-change-permissions) 1149 0 R (cust-hooks) 1148 0 R (cust-templates) 1147 0 R (customization) 1146 0 R (cvs) 3231 0 R (dbdoc) 1151 0 R (dbmodify) 1150 0 R (defaultuser) 2209 0 R (dir) 2730 0 R (disclaimer) 1119 0 R (emailsettings) 3444 0 R (extraconfig) 1126 0 R (faq) 1248 0 R (faq-admin) 3671 0 R (faq-admin-cvsupdate) 3681 0 R (faq-admin-enable-unconfirmed) 3702 0 R (faq-admin-livebackup) 3679 0 R (faq-admin-midair) 3673 0 R (faq-db) 3744 0 R (faq-db-corrupted) 3796 0 R (faq-db-manualedit) 3801 0 R (faq-db-permissions) 3808 0 R (faq-db-synchronize) 3814 0 R (faq-email) 3726 0 R (faq-email-mailif) 3764 0 R (faq-email-nomail) 3728 0 R (faq-email-nonreceived) 3779 0 R (faq-email-sendmailnow) 3766 0 R (faq-email-testing) 3731 0 R (faq-email-whine) 3758 0 R (faq-general) 3538 0 R (faq-general-bonsaitools) 3580 0 R (faq-general-bzmissing) 3559 0 R (faq-general-companies) 3547 0 R (faq-general-compare) 3555 0 R (faq-general-cookie) 3608 0 R (faq-general-license) 3540 0 R (faq-general-maintainers) 3552 0 R (faq-general-mysql) 3571 0 R (faq-general-perlpath) 3585 0 R (faq-general-support) 3543 0 R (faq-hacking) 3895 0 R (faq-hacking-bugzillabugs) 3902 0 R (faq-hacking-patches) 3919 0 R (faq-hacking-priority) 3908 0 R (faq-hacking-templatestyle) 3897 0 R (faq-mod-perl) 3610 0 R (faq-nt) 3823 0 R (faq-nt-bundle) 3830 0 R (faq-nt-dbi) 3840 0 R (faq-nt-easiest) 3824 0 R (faq-nt-mappings) 3832 0 R (faq-phb) 3614 0 R (faq-phb-backup) 3657 0 R (faq-phb-client) 3616 0 R (faq-phb-cost) 3666 0 R (faq-phb-data) 3637 0 R (faq-phb-email) 3630 0 R (faq-phb-emailapp) 3632 0 R (faq-phb-installtime) 3664 0 R (faq-phb-l10n) 3647 0 R (faq-phb-maintenance) 3660 0 R (faq-phb-priorities) 3618 0 R (faq-phb-renameBugs) 3668 0 R (faq-phb-reporting) 3622 0 R (faq-phb-reports) 3655 0 R (faq-security) 3715 0 R (faq-security-knownproblems) 3724 0 R (faq-security-mysql) 3717 0 R (faq-use) 3856 0 R (faq-use-accept) 3872 0 R (faq-use-attachment) 3877 0 R (faq-use-changeaddress) 3858 0 R (faq-use-close) 3883 0 R (faq-use-keyword) 3880 0 R (faq-use-query) 3864 0 R (flag-askto) 2393 0 R (flag-type-attachment) 2412 0 R (flag-type-bug) 2427 0 R (flag-types) 2405 0 R (flag-values) 2374 0 R (flags) 1247 0 R (flags-about) 2373 0 R (flags-admin) 2433 0 R (flags-create) 2439 0 R (flags-create-field-active) 2486 0 R (flags-create-field-category) 2450 0 R (flags-create-field-cclist) 2500 0 R (flags-create-field-description) 2444 0 R (flags-create-field-multiplicable) 2505 0 R (flags-create-field-name) 2442 0 R (flags-create-field-requestable) 2489 0 R (flags-create-field-sortkey) 2482 0 R (flags-create-field-specific) 2502 0 R (flags-delete) 2510 0 R (flags-edit) 2519 0 R (flags-overview) 1136 0 R (flags-simpleexample) 2341 0 R (general-advice) 1250 0 R (gfdl) 1267 0 R (gfdl-0) 1268 0 R (gfdl-1) 1269 0 R (gfdl-10) 1278 0 R (gfdl-2) 1270 0 R (gfdl-3) 1271 0 R (gfdl-4) 1272 0 R (gfdl-5) 1273 0 R (gfdl-6) 1274 0 R (gfdl-7) 1275 0 R (gfdl-8) 1276 0 R (gfdl-9) 1277 0 R (gfdl-howto) 1279 0 R (gloss-a) 4295 0 R (gloss-apache) 4296 0 R (gloss-b) 4335 0 R (gloss-bugzilla) 1406 0 R (gloss-c) 4351 0 R (gloss-cgi) 1483 0 R (gloss-component) 4356 0 R (gloss-contrib) 1856 0 R (gloss-cpan) 1985 0 R (gloss-d) 4375 0 R (gloss-daemon) 2763 0 R (gloss-dos) 2913 0 R (gloss-g) 4384 0 R (gloss-groups) 4385 0 R (gloss-htaccess) 2881 0 R (gloss-j) 4391 0 R (gloss-javascript) 4397 0 R (gloss-m) 4400 0 R (gloss-mta) 3789 0 R (gloss-mysql) 4407 0 R (gloss-p) 4427 0 R (gloss-ppm) 1930 0 R (gloss-product) 2313 0 R (gloss-q) 4442 0 R (gloss-r) 4451 0 R (gloss-rdbms) 4431 0 R (gloss-regexp) 4454 0 R (gloss-s) 4458 0 R (gloss-service) 2764 0 R (gloss-t) 4480 0 R (gloss-target-milestone) 4481 0 R (gloss-tcl) 1785 0 R (gloss-z) 4487 0 R (gloss-zarro) 4488 0 R (glossary) 1280 0 R (groups) 1139 0 R (hintsandtips) 1244 0 R (http) 1684 0 R (http-aol) 1741 0 R (http-apache) 1687 0 R (http-iis) 1712 0 R (index) 1011 0 R (install-MTA) 1447 0 R (install-bzfiles) 1445 0 R (install-config-bugzilla) 1771 0 R (install-modules-chart-base) 1542 0 R (install-modules-dbd-mysql) 1539 0 R (install-modules-gd) 1541 0 R (install-modules-gd-graph) 1543 0 R (install-modules-gd-text-align) 1548 0 R (install-modules-mime-parser) 1575 0 R (install-modules-patchreader) 1574 0 R (install-modules-template) 1540 0 R (install-modules-xml-parser) 1573 0 R (install-mysql) 1443 0 R (install-perl) 1438 0 R (install-perlmodules) 1446 0 R (install-perlmodules-manual) 1263 0 R (install-perlmodules-nonroot) 2064 0 R (install-setupdatabase) 1615 0 R (install-setupdatabase-adduser) 1644 0 R (install-webserver) 1444 0 R (installation) 1124 0 R (installing-bugzilla) 1123 0 R (integration) 1152 0 R (lifecycle) 1157 0 R (lifecycle-image) 1305 0 R (list) 1159 0 R (localconfig) 1580 0 R (manageusers) 2213 0 R (milestones) 1135 0 R (modifyusers) 2225 0 R (modules-manual-download) 1265 0 R (modules-manual-instructions) 1264 0 R (modules-manual-optional) 1266 0 R (myaccount) 1155 0 R (mysql) 1611 0 R (newversions) 1120 0 R (nonroot) 1128 0 R (os-macosx) 1958 0 R (os-mandrake) 1984 0 R (os-specific) 1127 0 R (os-win32) 1915 0 R (page.1) 1009 0 R (page.10) 1625 0 R (page.100) 4270 0 R (page.101) 4282 0 R (page.102) 4289 0 R (page.103) 4339 0 R (page.104) 4367 0 R (page.105) 4396 0 R (page.106) 4435 0 R (page.107) 4462 0 R (page.108) 4496 0 R (page.11) 1664 0 R (page.12) 1703 0 R (page.13) 1746 0 R (page.14) 1789 0 R (page.15) 1827 0 R (page.16) 1860 0 R (page.17) 1905 0 R (page.18) 1934 0 R (page.19) 1950 0 R (page.2) 1018 0 R (page.20) 1989 0 R (page.21) 2025 0 R (page.22) 2047 0 R (page.23) 2077 0 R (page.24) 2101 0 R (page.25) 2130 0 R (page.26) 2149 0 R (page.27) 2180 0 R (page.28) 2208 0 R (page.29) 2236 0 R (page.3) 1024 0 R (page.30) 2286 0 R (page.31) 2317 0 R (page.32) 2359 0 R (page.33) 2410 0 R (page.34) 2448 0 R (page.35) 2493 0 R (page.36) 2526 0 R (page.37) 2555 0 R (page.38) 2596 0 R (page.39) 2627 0 R (page.4) 1164 0 R (page.40) 2648 0 R (page.41) 2679 0 R (page.42) 2715 0 R (page.43) 2735 0 R (page.44) 2768 0 R (page.45) 2801 0 R (page.46) 2885 0 R (page.47) 2917 0 R (page.48) 2949 0 R (page.49) 2977 0 R (page.5) 1284 0 R (page.50) 3017 0 R (page.51) 3047 0 R (page.52) 3078 0 R (page.53) 3116 0 R (page.54) 3139 0 R (page.55) 3159 0 R (page.56) 3182 0 R (page.57) 3213 0 R (page.58) 3217 0 R (page.59) 3221 0 R (page.6) 1487 0 R (page.60) 3225 0 R (page.61) 3245 0 R (page.62) 3260 0 R (page.63) 3290 0 R (page.64) 3349 0 R (page.65) 3354 0 R (page.66) 3382 0 R (page.67) 3400 0 R (page.68) 3419 0 R (page.69) 3440 0 R (page.7) 1547 0 R (page.70) 3479 0 R (page.71) 3503 0 R (page.72) 3523 0 R (page.73) 3535 0 R (page.74) 3566 0 R (page.75) 3594 0 R (page.76) 3626 0 R (page.77) 3653 0 R (page.78) 3677 0 R (page.79) 3711 0 R (page.8) 1579 0 R (page.80) 3743 0 R (page.81) 3793 0 R (page.82) 3822 0 R (page.83) 3862 0 R (page.84) 3892 0 R (page.85) 3912 0 R (page.86) 3941 0 R (page.87) 3967 0 R (page.88) 3991 0 R (page.89) 4006 0 R (page.9) 1598 0 R (page.90) 4028 0 R (page.91) 4037 0 R (page.92) 4081 0 R (page.93) 4110 0 R (page.94) 4140 0 R (page.95) 4169 0 R (page.96) 4193 0 R (page.97) 4209 0 R (page.98) 4220 0 R (page.99) 4258 0 R (param-LDAPBaseDN) 1880 0 R (param-LDAPbinddn) 1875 0 R (param-LDAPmailattribute) 1890 0 R (param-LDAPserver) 1869 0 R (param-LDAPuidattribute) 1885 0 R (param-loginmethod) 1861 0 R (parameters) 1130 0 R (paranoid-security) 1255 0 R (patch-viewer) 1834 0 R (patches) 1260 0 R (patchviewer) 1243 0 R (patchviewer_bonsai_lxr) 3404 0 R (patchviewer_collapse) 3395 0 R (patchviewer_context) 3393 0 R (patchviewer_diff) 3391 0 R (patchviewer_link) 3402 0 R (patchviewer_unified_diff) 3407 0 R (patchviewer_view) 3389 0 R (permissionsettings) 3492 0 R (products) 1132 0 R (query) 1158 0 R (quicksearch) 3401 0 R (quips) 1138 0 R (reporting) 1246 0 R (reports) 3495 0 R (scm) 3240 0 R (security) 1141 0 R (security-bugzilla) 1145 0 R (security-bugzilla-charset) 2905 0 R (security-bugzilla-charset-ex) 1312 0 R (security-mysql) 1143 0 R (security-mysql-account) 2769 0 R (security-mysql-account-anonymous) 1310 0 R (security-mysql-account-root) 1309 0 R (security-mysql-network) 2791 0 R (security-mysql-network-ex) 1311 0 R (security-mysql-root) 2772 0 R (security-os) 1142 0 R (security-os-accounts) 2741 0 R (security-os-chroot) 2760 0 R (security-os-ports) 2739 0 R (security-webserver) 1144 0 R (security-webserver-access) 1699 0 R (security-webserver-mod-throttle) 2896 0 R (svn) 3251 0 R (table.1) 1400 0 R (table.2) 3073 0 R (table.3) 3284 0 R (table.4) 3363 0 R (table.5) 3388 0 R (table.6) 3414 0 R (table.7) 3876 0 R (template-directory) 2921 0 R (template-edit) 2962 0 R (template-formats) 2973 0 R (template-http-accept) 2945 0 R (template-method) 2932 0 R (template-specific) 2995 0 R (tinderbox) 3241 0 R (trbl-index) 1259 0 R (trbl-relogin-everyone) 1257 0 R (trbl-relogin-everyone-restrict) 1314 0 R (trbl-relogin-everyone-share) 1313 0 R (trouble-filetemp) 1256 0 R (troubleshooting) 1249 0 R (upgrade-cvs) 1306 0 R (upgrade-patches) 1308 0 R (upgrade-tarball) 1307 0 R (upgrading) 1140 0 R (useradmin) 1131 0 R (userpreferences) 1245 0 R (using) 1153 0 R (using-intro) 1154 0 R (versions) 1134 0 R (voting) 1137 0 R (win32-code-changes) 1939 0 R (win32-http) 1946 0 R (win32-perl) 1917 0 R (win32-perl-modules) 1538 0 R]
+/Limits [(1.0) (win32-perl-modules)]
 >> endobj
-3216 0 obj <<
-/Kids [3215 0 R]
+4507 0 obj <<
+/Kids [4506 0 R]
 >> endobj
-3217 0 obj <<
-/Dests 3216 0 R
+4508 0 obj <<
+/Dests 4507 0 R
 >> endobj
-3218 0 obj <<
+4509 0 obj <<
 /Type /Catalog
-/Pages 3213 0 R
-/Outlines 3214 0 R
-/Names 3217 0 R
+/Pages 4504 0 R
+/Outlines 4505 0 R
+/Names 4508 0 R
 /PageMode /UseOutlines /URI<</Base()>>  /ViewerPreferences<<>> 
-/OpenAction 725 0 R
+/OpenAction 1005 0 R
 /PTEX.Fullbanner (This is pdfTeX, Version 3.14159-1.10b)
 >> endobj
-3219 0 obj <<
+4510 0 obj <<
 /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.10b)/Keywords()
-/CreationDate (D:20040303011900)
+/CreationDate (D:20050115122800)
 >> endobj
 xref
-0 3220
-0000000732 65535 f 
+0 4511
+0000001012 65535 f 
 0000000009 00000 n 
-0000016546 00000 n 
-0000468976 00000 n 
+0000023283 00000 n 
+0000710192 00000 n 
 0000000048 00000 n 
-0000000111 00000 n 
-0000090670 00000 n 
-0000468891 00000 n 
-0000000150 00000 n 
-0000000185 00000 n 
-0000125765 00000 n 
-0000468804 00000 n 
-0000000224 00000 n 
-0000000259 00000 n 
-0000128514 00000 n 
-0000468678 00000 n 
-0000000299 00000 n 
-0000000345 00000 n 
-0000128636 00000 n 
-0000468604 00000 n 
-0000000387 00000 n 
-0000000432 00000 n 
-0000129002 00000 n 
-0000468517 00000 n 
-0000000474 00000 n 
-0000000508 00000 n 
-0000129307 00000 n 
-0000468430 00000 n 
-0000000550 00000 n 
-0000000586 00000 n 
-0000132917 00000 n 
-0000468343 00000 n 
-0000000628 00000 n 
-0000000659 00000 n 
-0000134265 00000 n 
-0000468269 00000 n 
-0000000701 00000 n 
-0000000745 00000 n 
-0000138804 00000 n 
-0000468141 00000 n 
-0000000785 00000 n 
-0000000834 00000 n 
-0000138928 00000 n 
-0000468029 00000 n 
-0000000876 00000 n 
-0000000912 00000 n 
-0000140187 00000 n 
-0000467955 00000 n 
-0000000956 00000 n 
-0000000986 00000 n 
-0000143806 00000 n 
-0000467868 00000 n 
-0000001030 00000 n 
-0000001061 00000 n 
-0000144375 00000 n 
-0000467781 00000 n 
-0000001105 00000 n 
-0000001141 00000 n 
-0000144817 00000 n 
-0000467694 00000 n 
-0000001185 00000 n 
-0000001219 00000 n 
-0000145514 00000 n 
-0000467583 00000 n 
-0000001263 00000 n 
-0000001301 00000 n 
-0000156151 00000 n 
-0000467509 00000 n 
-0000001347 00000 n 
-0000001385 00000 n 
-0000156401 00000 n 
-0000467422 00000 n 
-0000001431 00000 n 
-0000001484 00000 n 
-0000156589 00000 n 
-0000467335 00000 n 
-0000001530 00000 n 
-0000001569 00000 n 
-0000157281 00000 n 
-0000467248 00000 n 
-0000001615 00000 n 
-0000001664 00000 n 
-0000159704 00000 n 
-0000467161 00000 n 
-0000001710 00000 n 
-0000001755 00000 n 
-0000159829 00000 n 
-0000467074 00000 n 
-0000001801 00000 n 
-0000001852 00000 n 
-0000160017 00000 n 
-0000466987 00000 n 
-0000001898 00000 n 
-0000001945 00000 n 
-0000160332 00000 n 
-0000466900 00000 n 
-0000001991 00000 n 
-0000002039 00000 n 
-0000160583 00000 n 
-0000466825 00000 n 
-0000002085 00000 n 
-0000002135 00000 n 
-0000160770 00000 n 
-0000466695 00000 n 
-0000002178 00000 n 
-0000002216 00000 n 
-0000161021 00000 n 
-0000466616 00000 n 
-0000002261 00000 n 
-0000002299 00000 n 
-0000164262 00000 n 
-0000466484 00000 n 
-0000002344 00000 n 
-0000002376 00000 n 
-0000164388 00000 n 
-0000466405 00000 n 
-0000002424 00000 n 
-0000002461 00000 n 
-0000166162 00000 n 
-0000466312 00000 n 
-0000002509 00000 n 
-0000002561 00000 n 
-0000169346 00000 n 
-0000466233 00000 n 
-0000002609 00000 n 
-0000002657 00000 n 
-0000170743 00000 n 
-0000466140 00000 n 
-0000002702 00000 n 
-0000002742 00000 n 
-0000171249 00000 n 
-0000466008 00000 n 
-0000002787 00000 n 
-0000002824 00000 n 
-0000171438 00000 n 
-0000465929 00000 n 
-0000002872 00000 n 
-0000002913 00000 n 
-0000175840 00000 n 
-0000465836 00000 n 
-0000002961 00000 n 
-0000003029 00000 n 
-0000176599 00000 n 
-0000465743 00000 n 
-0000003077 00000 n 
-0000003116 00000 n 
-0000180739 00000 n 
-0000465664 00000 n 
-0000003164 00000 n 
-0000003219 00000 n 
-0000188956 00000 n 
-0000465585 00000 n 
-0000003265 00000 n 
-0000003300 00000 n 
-0000189838 00000 n 
-0000465454 00000 n 
-0000003343 00000 n 
-0000003401 00000 n 
-0000190027 00000 n 
-0000465375 00000 n 
-0000003447 00000 n 
-0000003484 00000 n 
-0000193386 00000 n 
-0000465282 00000 n 
-0000003530 00000 n 
-0000003574 00000 n 
-0000194393 00000 n 
-0000465189 00000 n 
-0000003620 00000 n 
-0000003663 00000 n 
-0000194706 00000 n 
-0000465096 00000 n 
-0000003709 00000 n 
-0000003748 00000 n 
-0000195530 00000 n 
-0000465003 00000 n 
-0000003794 00000 n 
-0000003840 00000 n 
-0000203115 00000 n 
-0000464910 00000 n 
-0000003886 00000 n 
+0000000097 00000 n 
+0000099376 00000 n 
+0000710107 00000 n 
+0000000136 00000 n 
+0000000171 00000 n 
+0000176671 00000 n 
+0000710020 00000 n 
+0000000210 00000 n 
+0000000244 00000 n 
+0000176733 00000 n 
+0000709931 00000 n 
+0000000284 00000 n 
+0000000319 00000 n 
+0000179457 00000 n 
+0000709805 00000 n 
+0000000359 00000 n 
+0000000405 00000 n 
+0000179582 00000 n 
+0000709731 00000 n 
+0000000447 00000 n 
+0000000492 00000 n 
+0000179959 00000 n 
+0000709644 00000 n 
+0000000534 00000 n 
+0000000568 00000 n 
+0000180273 00000 n 
+0000709557 00000 n 
+0000000610 00000 n 
+0000000646 00000 n 
+0000183754 00000 n 
+0000709470 00000 n 
+0000000688 00000 n 
+0000000719 00000 n 
+0000186727 00000 n 
+0000709396 00000 n 
+0000000761 00000 n 
+0000000805 00000 n 
+0000192750 00000 n 
+0000709268 00000 n 
+0000000845 00000 n 
+0000000894 00000 n 
+0000192875 00000 n 
+0000709155 00000 n 
+0000000936 00000 n 
+0000000972 00000 n 
+0000194197 00000 n 
+0000709081 00000 n 
+0000001016 00000 n 
+0000001046 00000 n 
+0000197771 00000 n 
+0000708994 00000 n 
+0000001090 00000 n 
+0000001121 00000 n 
+0000198465 00000 n 
+0000708907 00000 n 
+0000001165 00000 n 
+0000001201 00000 n 
+0000198907 00000 n 
+0000708820 00000 n 
+0000001245 00000 n 
+0000001279 00000 n 
+0000199668 00000 n 
+0000708694 00000 n 
+0000001323 00000 n 
+0000001361 00000 n 
+0000210313 00000 n 
+0000708620 00000 n 
+0000001407 00000 n 
+0000001445 00000 n 
+0000210563 00000 n 
+0000708533 00000 n 
+0000001491 00000 n 
+0000001544 00000 n 
+0000210751 00000 n 
+0000708446 00000 n 
+0000001590 00000 n 
+0000001629 00000 n 
+0000211443 00000 n 
+0000708359 00000 n 
+0000001675 00000 n 
+0000001722 00000 n 
+0000213734 00000 n 
+0000708272 00000 n 
+0000001768 00000 n 
+0000001813 00000 n 
+0000213859 00000 n 
+0000708185 00000 n 
+0000001859 00000 n 
+0000001910 00000 n 
+0000214047 00000 n 
+0000708098 00000 n 
+0000001956 00000 n 
+0000002003 00000 n 
+0000214362 00000 n 
+0000708009 00000 n 
+0000002049 00000 n 
+0000002098 00000 n 
+0000214613 00000 n 
+0000707932 00000 n 
+0000002145 00000 n 
+0000002195 00000 n 
+0000214801 00000 n 
+0000707855 00000 n 
+0000002240 00000 n 
+0000002294 00000 n 
+0000218072 00000 n 
+0000707725 00000 n 
+0000002337 00000 n 
+0000002375 00000 n 
+0000218262 00000 n 
+0000707646 00000 n 
+0000002420 00000 n 
+0000002458 00000 n 
+0000218958 00000 n 
+0000707514 00000 n 
+0000002503 00000 n 
+0000002535 00000 n 
+0000219211 00000 n 
+0000707435 00000 n 
+0000002583 00000 n 
+0000002635 00000 n 
+0000222612 00000 n 
+0000707342 00000 n 
+0000002683 00000 n 
+0000002749 00000 n 
+0000223241 00000 n 
+0000707249 00000 n 
+0000002797 00000 n 
+0000002869 00000 n 
+0000223744 00000 n 
+0000707170 00000 n 
+0000002917 00000 n 
+0000002965 00000 n 
+0000228156 00000 n 
+0000707077 00000 n 
+0000003010 00000 n 
+0000003050 00000 n 
+0000228661 00000 n 
+0000706945 00000 n 
+0000003096 00000 n 
+0000003133 00000 n 
+0000228849 00000 n 
+0000706866 00000 n 
+0000003182 00000 n 
+0000003223 00000 n 
+0000233245 00000 n 
+0000706773 00000 n 
+0000003272 00000 n 
+0000003340 00000 n 
+0000235085 00000 n 
+0000706694 00000 n 
+0000003389 00000 n 
+0000003428 00000 n 
+0000240290 00000 n 
+0000706615 00000 n 
+0000003474 00000 n 
+0000003509 00000 n 
+0000243689 00000 n 
+0000706484 00000 n 
+0000003552 00000 n 
+0000003610 00000 n 
+0000243878 00000 n 
+0000706405 00000 n 
+0000003656 00000 n 
+0000003693 00000 n 
+0000244695 00000 n 
+0000706312 00000 n 
+0000003739 00000 n 
+0000003783 00000 n 
+0000248951 00000 n 
+0000706219 00000 n 
+0000003829 00000 n 
+0000003872 00000 n 
+0000249455 00000 n 
+0000706126 00000 n 
+0000003918 00000 n 
 0000003957 00000 n 
-0000203621 00000 n 
-0000464817 00000 n 
+0000250276 00000 n 
+0000706033 00000 n 
 0000004003 00000 n 
-0000004041 00000 n 
-0000204128 00000 n 
-0000464724 00000 n 
-0000004087 00000 n 
-0000004126 00000 n 
-0000207174 00000 n 
-0000464645 00000 n 
+0000004049 00000 n 
+0000255069 00000 n 
+0000705954 00000 n 
+0000004095 00000 n 
 0000004172 00000 n 
-0000004214 00000 n 
-0000207680 00000 n 
-0000464514 00000 n 
-0000004257 00000 n 
-0000004311 00000 n 
-0000207995 00000 n 
-0000464396 00000 n 
-0000004357 00000 n 
-0000004401 00000 n 
-0000208245 00000 n 
-0000464317 00000 n 
-0000004450 00000 n 
-0000004489 00000 n 
-0000208562 00000 n 
-0000464224 00000 n 
-0000004538 00000 n 
-0000004588 00000 n 
-0000210741 00000 n 
-0000464092 00000 n 
-0000004637 00000 n 
-0000004703 00000 n 
-0000210930 00000 n 
-0000464013 00000 n 
-0000004754 00000 n 
-0000004809 00000 n 
-0000211623 00000 n 
-0000463934 00000 n 
-0000004860 00000 n 
-0000004912 00000 n 
-0000215386 00000 n 
-0000463855 00000 n 
-0000004961 00000 n 
-0000005011 00000 n 
-0000215828 00000 n 
-0000463762 00000 n 
-0000005057 00000 n 
-0000005092 00000 n 
-0000220207 00000 n 
-0000463683 00000 n 
-0000005138 00000 n 
-0000005182 00000 n 
-0000221341 00000 n 
-0000463566 00000 n 
-0000005226 00000 n 
-0000005266 00000 n 
-0000221529 00000 n 
-0000463487 00000 n 
-0000005313 00000 n 
-0000005354 00000 n 
-0000221973 00000 n 
-0000463394 00000 n 
-0000005401 00000 n 
-0000005499 00000 n 
-0000224291 00000 n 
-0000463301 00000 n 
-0000005546 00000 n 
-0000005620 00000 n 
-0000224607 00000 n 
-0000463208 00000 n 
-0000005667 00000 n 
-0000005724 00000 n 
-0000225235 00000 n 
-0000463115 00000 n 
-0000005771 00000 n 
-0000005831 00000 n 
-0000227263 00000 n 
-0000463036 00000 n 
-0000005878 00000 n 
-0000005955 00000 n 
-0000230845 00000 n 
-0000462904 00000 n 
-0000005996 00000 n 
-0000006049 00000 n 
-0000230970 00000 n 
-0000462825 00000 n 
-0000006093 00000 n 
-0000006140 00000 n 
-0000237087 00000 n 
-0000462693 00000 n 
-0000006184 00000 n 
-0000006228 00000 n 
-0000237212 00000 n 
-0000462614 00000 n 
-0000006275 00000 n 
-0000006327 00000 n 
-0000240218 00000 n 
-0000462496 00000 n 
-0000006374 00000 n 
-0000006421 00000 n 
-0000240344 00000 n 
-0000462417 00000 n 
-0000006471 00000 n 
-0000006518 00000 n 
-0000241100 00000 n 
-0000462338 00000 n 
-0000006568 00000 n 
-0000006612 00000 n 
-0000247662 00000 n 
-0000462245 00000 n 
-0000006656 00000 n 
-0000006689 00000 n 
-0000250854 00000 n 
-0000462152 00000 n 
-0000006733 00000 n 
-0000006768 00000 n 
-0000251671 00000 n 
-0000462059 00000 n 
-0000006812 00000 n 
-0000006845 00000 n 
-0000252360 00000 n 
-0000461966 00000 n 
-0000006889 00000 n 
-0000006924 00000 n 
-0000255950 00000 n 
-0000461873 00000 n 
-0000006968 00000 n 
-0000006999 00000 n 
-0000257083 00000 n 
-0000461780 00000 n 
-0000007043 00000 n 
-0000007093 00000 n 
-0000262582 00000 n 
-0000461701 00000 n 
-0000007137 00000 n 
-0000007187 00000 n 
-0000277274 00000 n 
-0000461568 00000 n 
-0000007228 00000 n 
-0000007279 00000 n 
-0000277399 00000 n 
-0000461450 00000 n 
-0000007323 00000 n 
-0000007370 00000 n 
-0000277651 00000 n 
-0000461371 00000 n 
-0000007417 00000 n 
-0000007456 00000 n 
-0000282095 00000 n 
-0000461278 00000 n 
-0000007503 00000 n 
-0000007551 00000 n 
-0000282727 00000 n 
-0000461185 00000 n 
-0000007598 00000 n 
-0000007641 00000 n 
-0000283549 00000 n 
-0000461092 00000 n 
-0000007688 00000 n 
-0000007735 00000 n 
-0000288081 00000 n 
-0000461013 00000 n 
-0000007782 00000 n 
-0000007859 00000 n 
-0000291671 00000 n 
-0000460920 00000 n 
-0000007903 00000 n 
-0000007942 00000 n 
-0000300588 00000 n 
-0000460827 00000 n 
-0000007986 00000 n 
-0000008042 00000 n 
-0000304173 00000 n 
-0000460734 00000 n 
-0000008086 00000 n 
-0000008140 00000 n 
-0000304864 00000 n 
-0000460602 00000 n 
-0000008184 00000 n 
-0000008245 00000 n 
-0000308462 00000 n 
-0000460498 00000 n 
-0000008292 00000 n 
-0000008343 00000 n 
-0000311830 00000 n 
-0000460433 00000 n 
-0000008393 00000 n 
-0000008446 00000 n 
-0000321182 00000 n 
-0000460315 00000 n 
-0000008490 00000 n 
-0000008557 00000 n 
-0000321308 00000 n 
-0000460236 00000 n 
-0000008604 00000 n 
-0000008637 00000 n 
-0000321497 00000 n 
-0000460143 00000 n 
-0000008684 00000 n 
-0000008714 00000 n 
-0000322002 00000 n 
-0000460050 00000 n 
-0000008761 00000 n 
-0000008800 00000 n 
-0000322444 00000 n 
-0000459971 00000 n 
-0000008847 00000 n 
-0000008894 00000 n 
-0000325210 00000 n 
-0000459837 00000 n 
-0000008935 00000 n 
-0000008980 00000 n 
-0000325335 00000 n 
-0000459758 00000 n 
-0000009024 00000 n 
-0000009061 00000 n 
-0000325585 00000 n 
-0000459665 00000 n 
-0000009105 00000 n 
-0000009155 00000 n 
-0000326594 00000 n 
-0000459572 00000 n 
-0000009199 00000 n 
-0000009240 00000 n 
-0000333865 00000 n 
-0000459479 00000 n 
-0000009284 00000 n 
-0000009327 00000 n 
-0000336975 00000 n 
-0000459386 00000 n 
-0000009371 00000 n 
-0000009405 00000 n 
-0000337352 00000 n 
-0000459293 00000 n 
-0000009449 00000 n 
-0000009485 00000 n 
-0000340861 00000 n 
-0000459161 00000 n 
-0000009529 00000 n 
-0000009566 00000 n 
-0000341236 00000 n 
-0000459082 00000 n 
-0000009613 00000 n 
-0000009671 00000 n 
-0000341425 00000 n 
-0000458989 00000 n 
-0000009718 00000 n 
-0000009786 00000 n 
-0000341611 00000 n 
-0000458896 00000 n 
-0000009833 00000 n 
-0000009891 00000 n 
-0000341800 00000 n 
-0000458803 00000 n 
-0000009938 00000 n 
-0000010009 00000 n 
-0000341989 00000 n 
-0000458710 00000 n 
-0000010056 00000 n 
-0000010114 00000 n 
-0000344052 00000 n 
-0000458617 00000 n 
-0000010161 00000 n 
-0000010211 00000 n 
-0000344302 00000 n 
-0000458538 00000 n 
-0000010258 00000 n 
-0000010308 00000 n 
-0000344488 00000 n 
-0000458406 00000 n 
-0000010352 00000 n 
-0000010391 00000 n 
-0000344677 00000 n 
-0000458327 00000 n 
-0000010438 00000 n 
-0000010482 00000 n 
-0000345119 00000 n 
-0000458234 00000 n 
-0000010529 00000 n 
-0000010567 00000 n 
-0000347955 00000 n 
-0000458141 00000 n 
-0000010614 00000 n 
-0000010649 00000 n 
-0000348206 00000 n 
-0000458062 00000 n 
-0000010696 00000 n 
-0000010734 00000 n 
-0000348646 00000 n 
-0000457930 00000 n 
-0000010778 00000 n 
-0000010819 00000 n 
-0000348835 00000 n 
-0000457851 00000 n 
-0000010866 00000 n 
-0000010909 00000 n 
-0000350698 00000 n 
-0000457758 00000 n 
-0000010956 00000 n 
-0000010997 00000 n 
-0000351139 00000 n 
-0000457679 00000 n 
-0000011044 00000 n 
-0000011082 00000 n 
-0000351327 00000 n 
-0000457600 00000 n 
-0000011126 00000 n 
-0000011159 00000 n 
-0000354023 00000 n 
-0000457506 00000 n 
-0000011200 00000 n 
-0000011248 00000 n 
-0000391052 00000 n 
-0000457373 00000 n 
-0000011290 00000 n 
-0000011329 00000 n 
-0000391302 00000 n 
-0000457308 00000 n 
-0000011374 00000 n 
-0000011427 00000 n 
-0000393860 00000 n 
-0000457175 00000 n 
-0000011469 00000 n 
-0000011536 00000 n 
-0000393984 00000 n 
-0000457096 00000 n 
-0000011581 00000 n 
-0000011618 00000 n 
-0000394675 00000 n 
-0000457017 00000 n 
-0000011663 00000 n 
-0000011706 00000 n 
-0000403726 00000 n 
-0000456883 00000 n 
-0000011748 00000 n 
-0000011810 00000 n 
-0000404038 00000 n 
-0000456804 00000 n 
-0000011855 00000 n 
-0000011886 00000 n 
-0000404350 00000 n 
-0000456711 00000 n 
-0000011931 00000 n 
-0000011982 00000 n 
-0000407862 00000 n 
-0000456618 00000 n 
-0000012027 00000 n 
-0000012066 00000 n 
-0000408112 00000 n 
-0000456525 00000 n 
-0000012111 00000 n 
-0000012153 00000 n 
-0000411591 00000 n 
-0000456432 00000 n 
-0000012198 00000 n 
-0000012234 00000 n 
-0000416296 00000 n 
-0000456339 00000 n 
-0000012279 00000 n 
-0000012321 00000 n 
-0000416610 00000 n 
-0000456246 00000 n 
-0000012366 00000 n 
-0000012413 00000 n 
-0000416861 00000 n 
-0000456153 00000 n 
-0000012458 00000 n 
-0000012515 00000 n 
-0000419393 00000 n 
-0000456060 00000 n 
-0000012560 00000 n 
-0000012594 00000 n 
-0000419581 00000 n 
-0000455967 00000 n 
-0000012639 00000 n 
-0000012673 00000 n 
-0000419769 00000 n 
-0000455874 00000 n 
-0000012718 00000 n 
-0000012774 00000 n 
-0000420084 00000 n 
-0000455795 00000 n 
-0000012819 00000 n 
-0000012881 00000 n 
-0000423997 00000 n 
-0000455701 00000 n 
-0000012923 00000 n 
-0000012951 00000 n 
-0000424123 00000 n 
-0000455568 00000 n 
-0000012993 00000 n 
-0000013027 00000 n 
-0000424249 00000 n 
-0000455503 00000 n 
-0000013075 00000 n 
-0000013104 00000 n 
-0000424627 00000 n 
-0000455370 00000 n 
-0000013146 00000 n 
-0000013167 00000 n 
-0000424752 00000 n 
-0000455266 00000 n 
-0000013215 00000 n 
-0000013241 00000 n 
-0000425195 00000 n 
-0000455201 00000 n 
-0000013292 00000 n 
-0000013355 00000 n 
-0000428791 00000 n 
-0000455068 00000 n 
-0000013397 00000 n 
-0000013418 00000 n 
-0000428914 00000 n 
-0000454964 00000 n 
-0000013466 00000 n 
-0000013489 00000 n 
-0000429355 00000 n 
-0000454885 00000 n 
+0000258490 00000 n 
+0000705823 00000 n 
+0000004215 00000 n 
+0000004269 00000 n 
+0000258806 00000 n 
+0000705705 00000 n 
+0000004315 00000 n 
+0000004359 00000 n 
+0000258995 00000 n 
+0000705626 00000 n 
+0000004408 00000 n 
+0000004447 00000 n 
+0000259312 00000 n 
+0000705533 00000 n 
+0000004496 00000 n 
+0000004546 00000 n 
+0000262105 00000 n 
+0000705440 00000 n 
+0000004595 00000 n 
+0000004661 00000 n 
+0000266026 00000 n 
+0000705361 00000 n 
+0000004710 00000 n 
+0000004760 00000 n 
+0000266468 00000 n 
+0000705268 00000 n 
+0000004806 00000 n 
+0000004841 00000 n 
+0000270724 00000 n 
+0000705189 00000 n 
+0000004887 00000 n 
+0000004931 00000 n 
+0000271857 00000 n 
+0000705072 00000 n 
+0000004975 00000 n 
+0000005035 00000 n 
+0000271983 00000 n 
+0000704993 00000 n 
+0000005082 00000 n 
+0000005121 00000 n 
+0000272170 00000 n 
+0000704861 00000 n 
+0000005168 00000 n 
+0000005200 00000 n 
+0000272678 00000 n 
+0000704757 00000 n 
+0000005250 00000 n 
+0000005303 00000 n 
+0000272804 00000 n 
+0000704678 00000 n 
+0000005355 00000 n 
+0000005417 00000 n 
+0000274830 00000 n 
+0000704585 00000 n 
+0000005469 00000 n 
+0000005523 00000 n 
+0000275146 00000 n 
+0000704506 00000 n 
+0000005575 00000 n 
+0000005625 00000 n 
+0000278201 00000 n 
+0000704413 00000 n 
+0000005672 00000 n 
+0000005703 00000 n 
+0000279207 00000 n 
+0000704281 00000 n 
+0000005750 00000 n 
+0000005789 00000 n 
+0000279396 00000 n 
+0000704202 00000 n 
+0000005839 00000 n 
+0000005890 00000 n 
+0000282129 00000 n 
+0000704123 00000 n 
+0000005940 00000 n 
+0000005985 00000 n 
+0000286313 00000 n 
+0000703991 00000 n 
+0000006032 00000 n 
+0000006070 00000 n 
+0000286501 00000 n 
+0000703926 00000 n 
+0000006120 00000 n 
+0000006174 00000 n 
+0000289365 00000 n 
+0000703847 00000 n 
+0000006221 00000 n 
+0000006256 00000 n 
+0000293220 00000 n 
+0000703714 00000 n 
+0000006297 00000 n 
+0000006350 00000 n 
+0000293346 00000 n 
+0000703635 00000 n 
+0000006394 00000 n 
+0000006441 00000 n 
+0000302348 00000 n 
+0000703503 00000 n 
+0000006485 00000 n 
+0000006529 00000 n 
+0000302474 00000 n 
+0000703424 00000 n 
+0000006576 00000 n 
+0000006628 00000 n 
+0000302787 00000 n 
+0000703306 00000 n 
+0000006675 00000 n 
+0000006722 00000 n 
+0000302913 00000 n 
+0000703227 00000 n 
+0000006772 00000 n 
+0000006819 00000 n 
+0000303670 00000 n 
+0000703148 00000 n 
+0000006869 00000 n 
+0000006913 00000 n 
+0000313250 00000 n 
+0000703055 00000 n 
+0000006957 00000 n 
+0000006990 00000 n 
+0000314069 00000 n 
+0000702962 00000 n 
+0000007034 00000 n 
+0000007069 00000 n 
+0000314888 00000 n 
+0000702869 00000 n 
+0000007113 00000 n 
+0000007146 00000 n 
+0000318044 00000 n 
+0000702776 00000 n 
+0000007190 00000 n 
+0000007225 00000 n 
+0000318985 00000 n 
+0000702644 00000 n 
+0000007269 00000 n 
+0000007299 00000 n 
+0000319365 00000 n 
+0000702565 00000 n 
+0000007346 00000 n 
+0000007389 00000 n 
+0000323284 00000 n 
+0000702433 00000 n 
+0000007436 00000 n 
+0000007474 00000 n 
+0000323410 00000 n 
+0000702368 00000 n 
+0000007524 00000 n 
+0000007559 00000 n 
+0000324671 00000 n 
+0000702275 00000 n 
+0000007606 00000 n 
+0000007652 00000 n 
+0000327623 00000 n 
+0000702143 00000 n 
+0000007699 00000 n 
+0000007744 00000 n 
+0000327812 00000 n 
+0000702064 00000 n 
+0000007794 00000 n 
+0000007839 00000 n 
+0000328821 00000 n 
+0000701985 00000 n 
+0000007889 00000 n 
+0000007927 00000 n 
+0000329264 00000 n 
+0000701867 00000 n 
+0000007974 00000 n 
+0000008020 00000 n 
+0000329706 00000 n 
+0000701749 00000 n 
+0000008070 00000 n 
+0000008114 00000 n 
+0000329958 00000 n 
+0000701670 00000 n 
+0000008166 00000 n 
+0000008201 00000 n 
+0000332950 00000 n 
+0000701577 00000 n 
+0000008253 00000 n 
+0000008295 00000 n 
+0000333139 00000 n 
+0000701484 00000 n 
+0000008347 00000 n 
+0000008386 00000 n 
+0000335233 00000 n 
+0000701391 00000 n 
+0000008438 00000 n 
+0000008477 00000 n 
+0000335546 00000 n 
+0000701298 00000 n 
+0000008529 00000 n 
+0000008566 00000 n 
+0000337923 00000 n 
+0000701205 00000 n 
+0000008618 00000 n 
+0000008660 00000 n 
+0000338430 00000 n 
+0000701112 00000 n 
+0000008713 00000 n 
+0000008751 00000 n 
+0000338619 00000 n 
+0000701019 00000 n 
+0000008804 00000 n 
+0000008859 00000 n 
+0000338871 00000 n 
+0000700940 00000 n 
+0000008912 00000 n 
+0000008956 00000 n 
+0000339250 00000 n 
+0000700847 00000 n 
+0000009006 00000 n 
+0000009050 00000 n 
+0000339883 00000 n 
+0000700768 00000 n 
+0000009100 00000 n 
+0000009143 00000 n 
+0000342970 00000 n 
+0000700675 00000 n 
+0000009187 00000 n 
+0000009218 00000 n 
+0000344103 00000 n 
+0000700582 00000 n 
+0000009262 00000 n 
+0000009292 00000 n 
+0000344606 00000 n 
+0000700450 00000 n 
+0000009336 00000 n 
+0000009387 00000 n 
+0000348102 00000 n 
+0000700371 00000 n 
+0000009434 00000 n 
+0000009477 00000 n 
+0000349807 00000 n 
+0000700278 00000 n 
+0000009524 00000 n 
+0000009577 00000 n 
+0000352610 00000 n 
+0000700185 00000 n 
+0000009624 00000 n 
+0000009688 00000 n 
+0000353747 00000 n 
+0000700067 00000 n 
+0000009735 00000 n 
+0000009800 00000 n 
+0000353871 00000 n 
+0000699988 00000 n 
+0000009850 00000 n 
+0000009919 00000 n 
+0000355657 00000 n 
+0000699895 00000 n 
+0000009969 00000 n 
+0000010042 00000 n 
+0000355909 00000 n 
+0000699816 00000 n 
+0000010092 00000 n 
+0000010157 00000 n 
+0000360093 00000 n 
+0000699737 00000 n 
+0000010201 00000 n 
+0000010252 00000 n 
+0000372006 00000 n 
+0000699604 00000 n 
+0000010293 00000 n 
+0000010341 00000 n 
+0000372322 00000 n 
+0000699486 00000 n 
+0000010385 00000 n 
+0000010426 00000 n 
+0000372447 00000 n 
+0000699407 00000 n 
+0000010473 00000 n 
+0000010512 00000 n 
+0000372636 00000 n 
+0000699314 00000 n 
+0000010559 00000 n 
+0000010606 00000 n 
+0000373776 00000 n 
+0000699235 00000 n 
+0000010653 00000 n 
+0000010695 00000 n 
+0000376499 00000 n 
+0000699103 00000 n 
+0000010739 00000 n 
+0000010769 00000 n 
+0000376625 00000 n 
+0000699024 00000 n 
+0000010816 00000 n 
+0000010867 00000 n 
+0000376813 00000 n 
+0000698931 00000 n 
+0000010914 00000 n 
+0000010975 00000 n 
+0000378137 00000 n 
+0000698852 00000 n 
+0000011022 00000 n 
+0000011063 00000 n 
+0000381193 00000 n 
+0000698720 00000 n 
+0000011107 00000 n 
+0000011141 00000 n 
+0000381319 00000 n 
+0000698641 00000 n 
+0000011188 00000 n 
+0000011270 00000 n 
+0000390000 00000 n 
+0000698562 00000 n 
+0000011317 00000 n 
+0000011378 00000 n 
+0000390571 00000 n 
+0000698444 00000 n 
+0000011422 00000 n 
+0000011455 00000 n 
+0000390697 00000 n 
+0000698379 00000 n 
+0000011502 00000 n 
+0000011573 00000 n 
+0000394114 00000 n 
+0000698246 00000 n 
+0000011614 00000 n 
+0000011665 00000 n 
+0000394240 00000 n 
+0000698128 00000 n 
+0000011709 00000 n 
+0000011756 00000 n 
+0000394492 00000 n 
+0000698049 00000 n 
+0000011803 00000 n 
+0000011858 00000 n 
+0000395250 00000 n 
+0000697956 00000 n 
+0000011905 00000 n 
+0000011963 00000 n 
+0000399879 00000 n 
+0000697863 00000 n 
+0000012010 00000 n 
+0000012058 00000 n 
+0000403738 00000 n 
+0000697770 00000 n 
+0000012105 00000 n 
+0000012158 00000 n 
+0000404938 00000 n 
+0000697677 00000 n 
+0000012205 00000 n 
+0000012252 00000 n 
+0000413563 00000 n 
+0000697598 00000 n 
+0000012299 00000 n 
+0000012376 00000 n 
+0000414133 00000 n 
+0000697505 00000 n 
+0000012420 00000 n 
+0000012459 00000 n 
+0000423652 00000 n 
+0000697412 00000 n 
+0000012503 00000 n 
+0000012559 00000 n 
+0000427544 00000 n 
+0000697319 00000 n 
+0000012603 00000 n 
+0000012657 00000 n 
+0000431498 00000 n 
+0000697187 00000 n 
+0000012701 00000 n 
+0000012762 00000 n 
+0000432127 00000 n 
+0000697083 00000 n 
+0000012809 00000 n 
+0000012860 00000 n 
+0000435571 00000 n 
+0000697018 00000 n 
+0000012910 00000 n 
+0000012963 00000 n 
+0000444895 00000 n 
+0000696900 00000 n 
+0000013007 00000 n 
+0000013074 00000 n 
+0000445018 00000 n 
+0000696821 00000 n 
+0000013121 00000 n 
+0000013154 00000 n 
+0000445207 00000 n 
+0000696728 00000 n 
+0000013201 00000 n 
+0000013231 00000 n 
+0000447346 00000 n 
+0000696635 00000 n 
+0000013278 00000 n 
+0000013317 00000 n 
+0000447788 00000 n 
+0000696542 00000 n 
+0000013364 00000 n 
+0000013401 00000 n 
+0000448040 00000 n 
+0000696463 00000 n 
+0000013448 00000 n 
+0000013495 00000 n 
+0000450813 00000 n 
+0000696329 00000 n 
 0000013537 00000 n 
-0000013567 00000 n 
-0000429607 00000 n 
-0000454806 00000 n 
-0000013615 00000 n 
-0000013643 00000 n 
-0000429859 00000 n 
-0000454673 00000 n 
-0000013685 00000 n 
-0000013706 00000 n 
-0000429984 00000 n 
-0000454569 00000 n 
-0000013754 00000 n 
-0000013798 00000 n 
-0000430362 00000 n 
-0000454490 00000 n 
-0000013846 00000 n 
-0000013875 00000 n 
-0000430614 00000 n 
-0000454397 00000 n 
-0000013923 00000 n 
-0000013977 00000 n 
-0000432681 00000 n 
-0000454318 00000 n 
-0000014025 00000 n 
-0000014052 00000 n 
-0000433187 00000 n 
-0000454185 00000 n 
-0000014094 00000 n 
-0000014115 00000 n 
-0000433312 00000 n 
-0000454120 00000 n 
-0000014163 00000 n 
-0000014189 00000 n 
-0000433690 00000 n 
-0000453987 00000 n 
-0000014231 00000 n 
-0000014252 00000 n 
-0000433814 00000 n 
-0000453922 00000 n 
-0000014300 00000 n 
-0000014326 00000 n 
-0000434256 00000 n 
-0000453789 00000 n 
-0000014368 00000 n 
-0000014389 00000 n 
-0000434381 00000 n 
-0000453724 00000 n 
-0000014437 00000 n 
-0000014467 00000 n 
-0000437055 00000 n 
-0000453591 00000 n 
-0000014509 00000 n 
-0000014530 00000 n 
-0000437179 00000 n 
-0000453487 00000 n 
-0000014578 00000 n 
-0000014621 00000 n 
-0000437682 00000 n 
-0000453422 00000 n 
-0000014669 00000 n 
-0000014694 00000 n 
-0000438879 00000 n 
-0000453289 00000 n 
-0000014736 00000 n 
-0000014757 00000 n 
-0000439002 00000 n 
-0000453185 00000 n 
-0000014805 00000 n 
-0000014845 00000 n 
-0000439316 00000 n 
-0000453106 00000 n 
-0000014893 00000 n 
-0000014920 00000 n 
-0000439567 00000 n 
-0000453027 00000 n 
-0000014968 00000 n 
-0000014992 00000 n 
-0000441300 00000 n 
-0000452894 00000 n 
-0000015034 00000 n 
-0000015055 00000 n 
-0000441424 00000 n 
-0000452829 00000 n 
-0000015103 00000 n 
-0000015125 00000 n 
-0000441993 00000 n 
-0000452696 00000 n 
-0000015167 00000 n 
-0000015188 00000 n 
-0000442118 00000 n 
-0000452592 00000 n 
-0000015236 00000 n 
-0000015292 00000 n 
-0000442370 00000 n 
-0000452527 00000 n 
-0000015340 00000 n 
-0000015378 00000 n 
-0000442686 00000 n 
-0000452394 00000 n 
-0000015420 00000 n 
-0000015441 00000 n 
-0000442873 00000 n 
-0000452329 00000 n 
+0000013582 00000 n 
+0000450939 00000 n 
+0000696250 00000 n 
+0000013627 00000 n 
+0000013664 00000 n 
+0000451190 00000 n 
+0000696157 00000 n 
+0000013709 00000 n 
+0000013759 00000 n 
+0000452200 00000 n 
+0000696064 00000 n 
+0000013804 00000 n 
+0000013845 00000 n 
+0000459632 00000 n 
+0000695971 00000 n 
+0000013890 00000 n 
+0000013934 00000 n 
+0000513641 00000 n 
+0000695878 00000 n 
+0000013979 00000 n 
+0000014022 00000 n 
+0000514082 00000 n 
+0000695785 00000 n 
+0000014067 00000 n 
+0000014101 00000 n 
+0000514460 00000 n 
+0000695692 00000 n 
+0000014146 00000 n 
+0000014182 00000 n 
+0000517908 00000 n 
+0000695560 00000 n 
+0000014227 00000 n 
+0000014264 00000 n 
+0000518284 00000 n 
+0000695481 00000 n 
+0000014312 00000 n 
+0000014370 00000 n 
+0000518472 00000 n 
+0000695388 00000 n 
+0000014418 00000 n 
+0000014486 00000 n 
+0000518659 00000 n 
+0000695295 00000 n 
+0000014534 00000 n 
+0000014592 00000 n 
+0000518848 00000 n 
+0000695202 00000 n 
+0000014640 00000 n 
+0000014711 00000 n 
+0000521063 00000 n 
+0000695109 00000 n 
+0000014759 00000 n 
+0000014817 00000 n 
+0000521252 00000 n 
+0000695016 00000 n 
+0000014865 00000 n 
+0000014915 00000 n 
+0000521504 00000 n 
+0000694937 00000 n 
+0000014963 00000 n 
+0000015013 00000 n 
+0000521692 00000 n 
+0000694805 00000 n 
+0000015058 00000 n 
+0000015097 00000 n 
+0000521881 00000 n 
+0000694726 00000 n 
+0000015145 00000 n 
+0000015189 00000 n 
+0000524600 00000 n 
+0000694633 00000 n 
+0000015237 00000 n 
+0000015275 00000 n 
+0000525042 00000 n 
+0000694540 00000 n 
+0000015323 00000 n 
+0000015358 00000 n 
+0000525294 00000 n 
+0000694461 00000 n 
+0000015406 00000 n 
+0000015444 00000 n 
+0000525736 00000 n 
+0000694329 00000 n 
 0000015489 00000 n 
-0000015514 00000 n 
-0000445528 00000 n 
-0000452196 00000 n 
-0000015556 00000 n 
-0000015577 00000 n 
-0000445652 00000 n 
-0000452092 00000 n 
-0000015625 00000 n 
-0000015661 00000 n 
-0000445965 00000 n 
-0000452027 00000 n 
-0000015709 00000 n 
-0000015750 00000 n 
-0000446217 00000 n 
-0000451908 00000 n 
-0000015792 00000 n 
-0000015813 00000 n 
-0000446342 00000 n 
-0000451843 00000 n 
-0000015861 00000 n 
-0000015898 00000 n 
-0000016243 00000 n 
-0000016606 00000 n 
-0000015950 00000 n 
-0000016363 00000 n 
-0000016424 00000 n 
-0000016485 00000 n 
-0000000739 00000 f 
-0000449523 00000 n 
-0000449619 00000 n 
-0000017451 00000 n 
-0000017270 00000 n 
-0000016678 00000 n 
-0000017390 00000 n 
-0000000746 00000 f 
-0000449430 00000 n 
-0000090730 00000 n 
-0000076743 00000 n 
-0000017536 00000 n 
-0000090609 00000 n 
-0000077563 00000 n 
-0000000833 00000 f 
-0000449338 00000 n 
-0000077709 00000 n 
-0000077856 00000 n 
-0000078007 00000 n 
-0000078159 00000 n 
-0000078311 00000 n 
-0000078464 00000 n 
-0000078616 00000 n 
-0000078769 00000 n 
-0000078918 00000 n 
-0000079068 00000 n 
-0000079221 00000 n 
-0000079375 00000 n 
-0000079536 00000 n 
-0000079698 00000 n 
-0000079852 00000 n 
-0000080007 00000 n 
-0000080162 00000 n 
-0000080318 00000 n 
-0000080471 00000 n 
-0000080624 00000 n 
-0000080776 00000 n 
-0000080929 00000 n 
-0000081084 00000 n 
-0000081240 00000 n 
-0000081396 00000 n 
-0000081552 00000 n 
-0000081704 00000 n 
-0000081856 00000 n 
-0000082007 00000 n 
-0000082158 00000 n 
-0000082308 00000 n 
-0000082458 00000 n 
-0000082609 00000 n 
-0000082760 00000 n 
-0000082909 00000 n 
-0000083058 00000 n 
-0000083210 00000 n 
-0000083362 00000 n 
-0000083510 00000 n 
-0000083658 00000 n 
-0000083806 00000 n 
-0000083954 00000 n 
-0000084105 00000 n 
-0000084256 00000 n 
-0000084411 00000 n 
-0000084566 00000 n 
-0000084721 00000 n 
-0000084876 00000 n 
-0000085027 00000 n 
-0000085179 00000 n 
-0000085344 00000 n 
-0000085509 00000 n 
-0000085659 00000 n 
-0000085809 00000 n 
-0000085956 00000 n 
-0000086103 00000 n 
-0000086256 00000 n 
-0000086409 00000 n 
-0000086554 00000 n 
-0000086699 00000 n 
-0000086852 00000 n 
-0000087005 00000 n 
-0000087156 00000 n 
-0000087307 00000 n 
-0000087457 00000 n 
-0000087607 00000 n 
-0000087754 00000 n 
-0000087901 00000 n 
-0000088047 00000 n 
-0000088193 00000 n 
-0000088343 00000 n 
-0000088494 00000 n 
-0000088647 00000 n 
-0000088800 00000 n 
-0000088954 00000 n 
-0000089108 00000 n 
-0000089265 00000 n 
-0000089422 00000 n 
-0000089573 00000 n 
-0000089724 00000 n 
-0000089869 00000 n 
-0000090014 00000 n 
-0000090162 00000 n 
-0000090311 00000 n 
-0000090460 00000 n 
-0000000962 00000 f 
-0000449244 00000 n 
-0000128453 00000 n 
-0000128575 00000 n 
-0000128941 00000 n 
-0000129246 00000 n 
-0000132856 00000 n 
-0000134204 00000 n 
-0000138742 00000 n 
-0000138866 00000 n 
-0000160708 00000 n 
-0000189777 00000 n 
-0000207618 00000 n 
-0000221279 00000 n 
-0000230783 00000 n 
-0000230908 00000 n 
-0000237025 00000 n 
-0000247600 00000 n 
-0000250793 00000 n 
-0000251609 00000 n 
-0000252298 00000 n 
-0000255888 00000 n 
-0000257021 00000 n 
-0000262520 00000 n 
-0000277212 00000 n 
-0000277337 00000 n 
-0000291610 00000 n 
-0000300526 00000 n 
-0000304111 00000 n 
-0000304802 00000 n 
-0000321120 00000 n 
-0000325148 00000 n 
-0000325273 00000 n 
-0000325523 00000 n 
-0000326532 00000 n 
-0000333804 00000 n 
-0000336913 00000 n 
-0000337290 00000 n 
-0000338485 00000 n 
-0000344426 00000 n 
-0000348584 00000 n 
-0000351265 00000 n 
-0000353961 00000 n 
-0000390990 00000 n 
-0000391240 00000 n 
-0000119904 00000 n 
-0000114286 00000 n 
-0000090841 00000 n 
-0000119843 00000 n 
-0000114690 00000 n 
-0000114858 00000 n 
-0000115026 00000 n 
-0000115195 00000 n 
-0000115364 00000 n 
-0000115528 00000 n 
-0000115692 00000 n 
-0000115838 00000 n 
-0000115984 00000 n 
-0000116132 00000 n 
-0000116280 00000 n 
-0000116428 00000 n 
-0000116576 00000 n 
-0000116724 00000 n 
-0000116872 00000 n 
-0000117020 00000 n 
-0000117168 00000 n 
-0000117315 00000 n 
-0000117462 00000 n 
-0000117610 00000 n 
-0000117758 00000 n 
-0000117906 00000 n 
-0000118054 00000 n 
-0000118202 00000 n 
-0000118350 00000 n 
-0000118498 00000 n 
-0000118646 00000 n 
-0000118794 00000 n 
-0000118942 00000 n 
-0000119091 00000 n 
-0000119240 00000 n 
-0000119391 00000 n 
-0000119543 00000 n 
-0000119693 00000 n 
-0000393798 00000 n 
-0000393922 00000 n 
-0000394613 00000 n 
-0000403664 00000 n 
-0000403976 00000 n 
-0000404288 00000 n 
-0000407800 00000 n 
-0000408050 00000 n 
-0000411529 00000 n 
-0000416234 00000 n 
-0000416548 00000 n 
-0000416799 00000 n 
-0000419331 00000 n 
-0000419519 00000 n 
-0000419707 00000 n 
-0000420022 00000 n 
-0000423935 00000 n 
-0000125826 00000 n 
-0000124594 00000 n 
-0000120002 00000 n 
-0000125704 00000 n 
-0000124774 00000 n 
-0000124925 00000 n 
-0000125077 00000 n 
-0000125234 00000 n 
-0000125391 00000 n 
-0000125547 00000 n 
-0000267152 00000 n 
-0000270133 00000 n 
-0000271641 00000 n 
-0000130348 00000 n 
-0000128166 00000 n 
-0000125924 00000 n 
-0000128697 00000 n 
-0000128758 00000 n 
-0000128819 00000 n 
-0000128306 00000 n 
-0000128880 00000 n 
-0000129063 00000 n 
-0000129124 00000 n 
-0000129185 00000 n 
-0000129368 00000 n 
-0000129429 00000 n 
-0000129489 00000 n 
-0000129551 00000 n 
-0000129612 00000 n 
-0000001006 00000 f 
-0000449155 00000 n 
-0000129673 00000 n 
-0000129734 00000 n 
-0000129794 00000 n 
-0000129855 00000 n 
-0000129917 00000 n 
-0000129979 00000 n 
-0000130041 00000 n 
-0000130102 00000 n 
-0000130163 00000 n 
-0000130224 00000 n 
-0000130286 00000 n 
-0000134636 00000 n 
-0000132373 00000 n 
-0000130459 00000 n 
-0000132673 00000 n 
-0000132733 00000 n 
-0000132794 00000 n 
-0000132978 00000 n 
-0000133039 00000 n 
-0000133100 00000 n 
-0000133161 00000 n 
-0000133222 00000 n 
-0000133284 00000 n 
-0000133346 00000 n 
-0000133408 00000 n 
-0000133470 00000 n 
-0000133532 00000 n 
-0000133592 00000 n 
-0000133653 00000 n 
-0000133714 00000 n 
-0000133775 00000 n 
-0000133836 00000 n 
-0000133897 00000 n 
-0000133958 00000 n 
-0000134019 00000 n 
-0000134081 00000 n 
-0000134142 00000 n 
-0000134326 00000 n 
-0000134388 00000 n 
-0000134450 00000 n 
-0000134512 00000 n 
-0000134574 00000 n 
-0000001020 00000 f 
-0000449063 00000 n 
-0000132515 00000 n 
-0000449737 00000 n 
-0000429544 00000 n 
-0000135384 00000 n 
-0000135260 00000 n 
-0000134774 00000 n 
-0000140627 00000 n 
-0000137609 00000 n 
-0000135470 00000 n 
-0000138990 00000 n 
-0000139053 00000 n 
-0000139116 00000 n 
-0000001221 00000 f 
-0000448963 00000 n 
-0000139180 00000 n 
-0000137799 00000 n 
-0000139243 00000 n 
-0000139305 00000 n 
-0000139368 00000 n 
-0000139431 00000 n 
-0000139494 00000 n 
-0000139558 00000 n 
-0000139620 00000 n 
-0000139683 00000 n 
-0000139746 00000 n 
-0000137953 00000 n 
-0000139809 00000 n 
-0000138106 00000 n 
-0000139872 00000 n 
-0000138262 00000 n 
-0000139935 00000 n 
-0000138422 00000 n 
-0000139998 00000 n 
-0000138580 00000 n 
-0000140061 00000 n 
-0000140124 00000 n 
-0000140248 00000 n 
-0000140311 00000 n 
-0000140375 00000 n 
-0000140438 00000 n 
-0000140502 00000 n 
-0000140565 00000 n 
-0000144312 00000 n 
-0000144754 00000 n 
-0000145451 00000 n 
-0000145893 00000 n 
-0000143280 00000 n 
-0000140767 00000 n 
-0000143744 00000 n 
-0000143868 00000 n 
-0000143931 00000 n 
-0000143995 00000 n 
-0000144058 00000 n 
-0000144121 00000 n 
-0000144185 00000 n 
-0000144249 00000 n 
-0000144437 00000 n 
-0000144500 00000 n 
-0000143434 00000 n 
-0000144563 00000 n 
-0000144627 00000 n 
-0000144690 00000 n 
-0000144879 00000 n 
-0000144942 00000 n 
-0000145006 00000 n 
-0000145070 00000 n 
-0000145133 00000 n 
-0000145197 00000 n 
-0000145261 00000 n 
-0000145325 00000 n 
-0000145388 00000 n 
-0000145576 00000 n 
-0000145639 00000 n 
-0000145703 00000 n 
-0000143587 00000 n 
-0000145767 00000 n 
-0000145830 00000 n 
-0000429921 00000 n 
-0000152537 00000 n 
-0000148410 00000 n 
-0000146019 00000 n 
-0000149768 00000 n 
-0000149831 00000 n 
-0000149894 00000 n 
-0000149957 00000 n 
-0000150020 00000 n 
-0000148609 00000 n 
-0000148770 00000 n 
-0000150083 00000 n 
-0000150146 00000 n 
-0000150209 00000 n 
-0000150272 00000 n 
-0000150336 00000 n 
-0000150399 00000 n 
-0000150462 00000 n 
-0000150525 00000 n 
-0000150588 00000 n 
-0000150651 00000 n 
-0000150714 00000 n 
-0000150777 00000 n 
-0000150840 00000 n 
-0000150903 00000 n 
-0000150966 00000 n 
-0000151029 00000 n 
-0000151092 00000 n 
-0000151155 00000 n 
-0000151218 00000 n 
-0000151281 00000 n 
-0000151344 00000 n 
-0000151407 00000 n 
-0000151468 00000 n 
-0000148938 00000 n 
-0000151531 00000 n 
-0000151594 00000 n 
-0000151657 00000 n 
-0000151720 00000 n 
-0000151783 00000 n 
-0000151846 00000 n 
-0000149106 00000 n 
-0000151909 00000 n 
-0000151972 00000 n 
-0000152034 00000 n 
-0000152098 00000 n 
-0000152161 00000 n 
-0000149273 00000 n 
-0000152224 00000 n 
-0000152287 00000 n 
-0000149433 00000 n 
-0000152350 00000 n 
-0000152413 00000 n 
-0000149602 00000 n 
-0000152475 00000 n 
-0000208499 00000 n 
-0000156088 00000 n 
-0000156338 00000 n 
-0000156526 00000 n 
-0000157218 00000 n 
-0000157406 00000 n 
-0000157469 00000 n 
-0000154671 00000 n 
-0000152677 00000 n 
-0000155522 00000 n 
-0000155585 00000 n 
-0000155647 00000 n 
-0000154843 00000 n 
-0000155710 00000 n 
-0000155773 00000 n 
-0000155015 00000 n 
-0000155836 00000 n 
-0000155899 00000 n 
-0000155184 00000 n 
-0000155962 00000 n 
-0000156025 00000 n 
-0000155354 00000 n 
-0000156213 00000 n 
-0000156275 00000 n 
-0000156463 00000 n 
-0000156651 00000 n 
-0000156714 00000 n 
-0000156777 00000 n 
-0000156840 00000 n 
-0000156903 00000 n 
-0000156967 00000 n 
-0000157030 00000 n 
-0000157092 00000 n 
-0000157155 00000 n 
-0000157343 00000 n 
-0000159954 00000 n 
-0000160520 00000 n 
-0000160269 00000 n 
-0000161528 00000 n 
-0000159517 00000 n 
-0000157595 00000 n 
-0000159641 00000 n 
-0000159766 00000 n 
-0000159891 00000 n 
-0000160079 00000 n 
-0000160142 00000 n 
-0000160205 00000 n 
-0000160394 00000 n 
-0000160457 00000 n 
-0000160645 00000 n 
-0000160832 00000 n 
-0000160894 00000 n 
-0000160958 00000 n 
-0000161084 00000 n 
-0000161147 00000 n 
-0000161211 00000 n 
-0000161275 00000 n 
-0000161338 00000 n 
-0000161401 00000 n 
-0000161464 00000 n 
-0000449861 00000 n 
-0000166478 00000 n 
-0000163886 00000 n 
-0000161654 00000 n 
-0000164010 00000 n 
-0000164073 00000 n 
-0000164136 00000 n 
-0000164199 00000 n 
-0000164325 00000 n 
-0000164451 00000 n 
-0000164514 00000 n 
-0000164578 00000 n 
-0000164642 00000 n 
-0000164705 00000 n 
-0000164768 00000 n 
-0000164831 00000 n 
-0000164895 00000 n 
-0000164958 00000 n 
-0000165022 00000 n 
-0000165086 00000 n 
-0000165150 00000 n 
-0000001453 00000 f 
-0000448865 00000 n 
-0000165214 00000 n 
-0000165277 00000 n 
-0000165340 00000 n 
-0000165404 00000 n 
-0000165467 00000 n 
-0000165531 00000 n 
-0000165594 00000 n 
-0000165656 00000 n 
-0000165720 00000 n 
-0000165783 00000 n 
-0000165846 00000 n 
-0000165909 00000 n 
-0000165973 00000 n 
-0000166036 00000 n 
-0000166099 00000 n 
-0000166225 00000 n 
-0000166288 00000 n 
-0000166352 00000 n 
-0000166415 00000 n 
-0000172068 00000 n 
-0000168921 00000 n 
-0000166617 00000 n 
-0000169221 00000 n 
-0000169284 00000 n 
-0000169409 00000 n 
-0000169472 00000 n 
-0000169536 00000 n 
-0000169600 00000 n 
-0000169066 00000 n 
-0000169664 00000 n 
-0000169727 00000 n 
-0000169791 00000 n 
-0000169855 00000 n 
-0000169919 00000 n 
-0000169983 00000 n 
-0000170047 00000 n 
-0000170110 00000 n 
-0000170174 00000 n 
-0000170237 00000 n 
-0000170300 00000 n 
-0000170364 00000 n 
-0000170427 00000 n 
-0000170490 00000 n 
-0000170553 00000 n 
-0000170617 00000 n 
-0000170681 00000 n 
-0000170806 00000 n 
-0000170869 00000 n 
-0000170933 00000 n 
-0000170996 00000 n 
-0000171059 00000 n 
-0000171122 00000 n 
-0000171186 00000 n 
-0000171312 00000 n 
-0000171375 00000 n 
-0000171501 00000 n 
-0000171564 00000 n 
-0000171627 00000 n 
-0000171690 00000 n 
-0000171753 00000 n 
-0000171815 00000 n 
-0000171877 00000 n 
-0000171941 00000 n 
-0000172004 00000 n 
-0000177166 00000 n 
-0000174325 00000 n 
-0000172221 00000 n 
-0000174953 00000 n 
-0000175016 00000 n 
-0000175078 00000 n 
-0000175142 00000 n 
-0000175205 00000 n 
-0000175268 00000 n 
-0000175332 00000 n 
-0000175395 00000 n 
-0000175458 00000 n 
-0000175522 00000 n 
-0000175586 00000 n 
-0000175650 00000 n 
-0000175713 00000 n 
-0000175777 00000 n 
-0000175902 00000 n 
-0000175965 00000 n 
-0000176028 00000 n 
-0000176091 00000 n 
-0000176155 00000 n 
-0000176218 00000 n 
-0000176282 00000 n 
-0000176345 00000 n 
-0000176408 00000 n 
-0000176472 00000 n 
-0000174488 00000 n 
-0000176536 00000 n 
-0000176662 00000 n 
-0000176725 00000 n 
-0000174647 00000 n 
-0000176787 00000 n 
-0000176850 00000 n 
-0000174800 00000 n 
-0000176914 00000 n 
-0000176977 00000 n 
-0000177040 00000 n 
-0000177103 00000 n 
-0000180676 00000 n 
-0000445902 00000 n 
-0000185173 00000 n 
-0000179601 00000 n 
-0000177292 00000 n 
-0000179725 00000 n 
-0000179788 00000 n 
-0000179852 00000 n 
-0000179916 00000 n 
-0000179980 00000 n 
-0000180044 00000 n 
-0000180107 00000 n 
-0000180170 00000 n 
-0000180234 00000 n 
-0000180297 00000 n 
-0000180361 00000 n 
-0000180424 00000 n 
-0000180487 00000 n 
-0000180550 00000 n 
-0000180613 00000 n 
-0000180802 00000 n 
-0000180865 00000 n 
-0000180929 00000 n 
-0000180992 00000 n 
-0000181055 00000 n 
-0000181118 00000 n 
-0000181181 00000 n 
-0000181244 00000 n 
-0000181307 00000 n 
-0000181370 00000 n 
-0000181434 00000 n 
-0000181498 00000 n 
-0000181562 00000 n 
-0000181626 00000 n 
-0000181690 00000 n 
-0000181754 00000 n 
-0000181817 00000 n 
-0000181880 00000 n 
-0000181944 00000 n 
-0000182008 00000 n 
-0000182072 00000 n 
-0000182136 00000 n 
-0000182199 00000 n 
-0000182262 00000 n 
-0000182325 00000 n 
-0000182388 00000 n 
-0000182451 00000 n 
-0000182514 00000 n 
-0000182577 00000 n 
-0000182640 00000 n 
-0000182704 00000 n 
-0000182768 00000 n 
-0000182831 00000 n 
-0000182894 00000 n 
-0000182957 00000 n 
-0000183020 00000 n 
-0000183083 00000 n 
-0000183146 00000 n 
-0000183209 00000 n 
-0000183272 00000 n 
-0000183336 00000 n 
-0000183399 00000 n 
-0000183463 00000 n 
-0000183527 00000 n 
-0000183591 00000 n 
-0000183654 00000 n 
-0000183717 00000 n 
-0000183780 00000 n 
-0000183843 00000 n 
-0000183907 00000 n 
-0000183970 00000 n 
-0000184034 00000 n 
-0000184098 00000 n 
-0000184162 00000 n 
-0000184226 00000 n 
-0000184290 00000 n 
-0000184354 00000 n 
-0000184418 00000 n 
-0000184482 00000 n 
-0000184546 00000 n 
-0000184607 00000 n 
-0000184670 00000 n 
-0000184733 00000 n 
-0000184796 00000 n 
-0000184860 00000 n 
-0000184923 00000 n 
-0000184985 00000 n 
-0000185047 00000 n 
-0000185110 00000 n 
-0000190658 00000 n 
-0000187446 00000 n 
-0000185299 00000 n 
-0000188076 00000 n 
-0000188139 00000 n 
-0000188202 00000 n 
-0000188265 00000 n 
-0000188327 00000 n 
-0000188389 00000 n 
-0000188452 00000 n 
-0000188515 00000 n 
-0000188578 00000 n 
-0000188641 00000 n 
-0000188704 00000 n 
-0000188767 00000 n 
-0000188830 00000 n 
-0000188893 00000 n 
-0000189019 00000 n 
-0000189082 00000 n 
-0000187609 00000 n 
-0000189146 00000 n 
-0000189209 00000 n 
-0000187768 00000 n 
-0000189273 00000 n 
-0000189336 00000 n 
-0000189399 00000 n 
-0000189462 00000 n 
-0000189524 00000 n 
-0000189587 00000 n 
-0000189651 00000 n 
-0000189714 00000 n 
-0000187922 00000 n 
-0000189901 00000 n 
-0000189964 00000 n 
-0000190090 00000 n 
-0000190153 00000 n 
-0000190216 00000 n 
-0000190279 00000 n 
-0000001650 00000 f 
-0000448770 00000 n 
-0000190342 00000 n 
-0000190405 00000 n 
-0000190469 00000 n 
-0000190532 00000 n 
-0000190595 00000 n 
-0000195719 00000 n 
-0000193199 00000 n 
-0000190797 00000 n 
-0000193323 00000 n 
-0000193448 00000 n 
-0000193511 00000 n 
-0000193574 00000 n 
-0000193637 00000 n 
-0000193700 00000 n 
-0000193763 00000 n 
-0000193827 00000 n 
-0000193890 00000 n 
-0000193953 00000 n 
-0000194016 00000 n 
-0000194078 00000 n 
-0000194141 00000 n 
-0000194205 00000 n 
-0000194268 00000 n 
-0000194331 00000 n 
-0000194455 00000 n 
-0000194517 00000 n 
-0000194580 00000 n 
-0000194643 00000 n 
-0000194769 00000 n 
-0000194832 00000 n 
-0000194895 00000 n 
-0000194959 00000 n 
-0000195023 00000 n 
-0000195086 00000 n 
-0000195149 00000 n 
-0000195213 00000 n 
-0000195276 00000 n 
-0000195340 00000 n 
-0000195404 00000 n 
-0000195468 00000 n 
-0000195593 00000 n 
-0000195656 00000 n 
-0000449986 00000 n 
-0000200581 00000 n 
-0000198130 00000 n 
-0000195831 00000 n 
-0000198432 00000 n 
-0000198495 00000 n 
-0000198558 00000 n 
-0000198621 00000 n 
+0000015531 00000 n 
+0000528637 00000 n 
+0000694250 00000 n 
+0000015579 00000 n 
+0000015623 00000 n 
+0000528953 00000 n 
+0000694157 00000 n 
+0000015671 00000 n 
+0000015713 00000 n 
+0000534412 00000 n 
+0000694078 00000 n 
+0000015761 00000 n 
+0000015800 00000 n 
+0000534601 00000 n 
+0000693946 00000 n 
+0000015845 00000 n 
+0000015889 00000 n 
+0000534790 00000 n 
+0000693867 00000 n 
+0000015937 00000 n 
+0000015972 00000 n 
+0000537976 00000 n 
+0000693749 00000 n 
+0000016020 00000 n 
+0000016054 00000 n 
+0000538478 00000 n 
+0000693670 00000 n 
+0000016105 00000 n 
+0000016150 00000 n 
+0000540782 00000 n 
+0000693591 00000 n 
+0000016201 00000 n 
+0000016253 00000 n 
+0000540971 00000 n 
+0000693512 00000 n 
+0000016298 00000 n 
+0000016329 00000 n 
+0000544047 00000 n 
+0000693418 00000 n 
+0000016371 00000 n 
+0000016419 00000 n 
+0000601510 00000 n 
+0000693284 00000 n 
+0000016461 00000 n 
+0000016508 00000 n 
+0000601699 00000 n 
+0000693205 00000 n 
+0000016553 00000 n 
+0000016592 00000 n 
+0000602143 00000 n 
+0000693112 00000 n 
+0000016637 00000 n 
+0000016712 00000 n 
+0000602585 00000 n 
+0000693019 00000 n 
+0000016757 00000 n 
+0000016853 00000 n 
+0000605397 00000 n 
+0000692926 00000 n 
+0000016898 00000 n 
+0000016970 00000 n 
+0000605649 00000 n 
+0000692833 00000 n 
+0000017015 00000 n 
+0000017070 00000 n 
+0000606278 00000 n 
+0000692740 00000 n 
+0000017115 00000 n 
+0000017173 00000 n 
+0000609120 00000 n 
+0000692647 00000 n 
+0000017218 00000 n 
+0000017293 00000 n 
+0000609625 00000 n 
+0000692554 00000 n 
+0000017338 00000 n 
+0000017410 00000 n 
+0000613276 00000 n 
+0000692461 00000 n 
+0000017455 00000 n 
+0000017529 00000 n 
+0000614866 00000 n 
+0000692382 00000 n 
+0000017574 00000 n 
+0000017653 00000 n 
+0000618322 00000 n 
+0000692249 00000 n 
+0000017695 00000 n 
+0000017734 00000 n 
+0000618573 00000 n 
+0000692170 00000 n 
+0000017779 00000 n 
+0000017832 00000 n 
+0000620535 00000 n 
+0000692091 00000 n 
+0000017877 00000 n 
+0000017940 00000 n 
+0000623043 00000 n 
+0000691958 00000 n 
+0000017982 00000 n 
+0000018049 00000 n 
+0000623168 00000 n 
+0000691879 00000 n 
+0000018094 00000 n 
+0000018131 00000 n 
+0000624303 00000 n 
+0000691786 00000 n 
+0000018176 00000 n 
+0000018219 00000 n 
+0000629683 00000 n 
+0000691707 00000 n 
+0000018264 00000 n 
+0000018305 00000 n 
+0000635327 00000 n 
+0000691573 00000 n 
+0000018347 00000 n 
+0000018409 00000 n 
+0000635641 00000 n 
+0000691494 00000 n 
+0000018454 00000 n 
+0000018485 00000 n 
+0000635954 00000 n 
+0000691401 00000 n 
+0000018530 00000 n 
+0000018581 00000 n 
+0000639472 00000 n 
+0000691308 00000 n 
+0000018626 00000 n 
+0000018665 00000 n 
+0000639723 00000 n 
+0000691215 00000 n 
+0000018710 00000 n 
+0000018752 00000 n 
+0000643208 00000 n 
+0000691122 00000 n 
+0000018797 00000 n 
+0000018833 00000 n 
+0000647917 00000 n 
+0000691029 00000 n 
+0000018878 00000 n 
+0000018920 00000 n 
+0000648232 00000 n 
+0000690936 00000 n 
+0000018965 00000 n 
+0000019012 00000 n 
+0000648484 00000 n 
+0000690843 00000 n 
+0000019057 00000 n 
+0000019114 00000 n 
+0000651028 00000 n 
+0000690750 00000 n 
+0000019159 00000 n 
+0000019193 00000 n 
+0000651217 00000 n 
+0000690657 00000 n 
+0000019238 00000 n 
+0000019272 00000 n 
+0000651406 00000 n 
+0000690564 00000 n 
+0000019317 00000 n 
+0000019373 00000 n 
+0000651722 00000 n 
+0000690485 00000 n 
+0000019418 00000 n 
+0000019480 00000 n 
+0000655642 00000 n 
+0000690391 00000 n 
+0000019522 00000 n 
+0000019550 00000 n 
+0000655768 00000 n 
+0000690258 00000 n 
+0000019592 00000 n 
+0000019626 00000 n 
+0000655894 00000 n 
+0000690193 00000 n 
+0000019674 00000 n 
+0000019703 00000 n 
+0000656272 00000 n 
+0000690060 00000 n 
+0000019745 00000 n 
+0000019766 00000 n 
+0000656397 00000 n 
+0000689956 00000 n 
+0000019814 00000 n 
+0000019840 00000 n 
+0000656840 00000 n 
+0000689891 00000 n 
+0000019891 00000 n 
+0000019954 00000 n 
+0000660442 00000 n 
+0000689758 00000 n 
+0000019996 00000 n 
+0000020017 00000 n 
+0000660565 00000 n 
+0000689654 00000 n 
+0000020065 00000 n 
+0000020088 00000 n 
+0000661006 00000 n 
+0000689575 00000 n 
+0000020136 00000 n 
+0000020166 00000 n 
+0000661258 00000 n 
+0000689496 00000 n 
+0000020214 00000 n 
+0000020242 00000 n 
+0000661510 00000 n 
+0000689363 00000 n 
+0000020284 00000 n 
+0000020305 00000 n 
+0000661635 00000 n 
+0000689259 00000 n 
+0000020353 00000 n 
+0000020397 00000 n 
+0000662013 00000 n 
+0000689180 00000 n 
+0000020445 00000 n 
+0000020474 00000 n 
+0000662265 00000 n 
+0000689087 00000 n 
+0000020522 00000 n 
+0000020576 00000 n 
+0000664839 00000 n 
+0000689008 00000 n 
+0000020624 00000 n 
+0000020651 00000 n 
+0000665345 00000 n 
+0000688875 00000 n 
+0000020693 00000 n 
+0000020714 00000 n 
+0000665470 00000 n 
+0000688771 00000 n 
+0000020762 00000 n 
+0000020788 00000 n 
+0000665848 00000 n 
+0000688706 00000 n 
+0000020836 00000 n 
+0000020866 00000 n 
+0000666163 00000 n 
+0000688573 00000 n 
+0000020908 00000 n 
+0000020929 00000 n 
+0000666288 00000 n 
+0000688508 00000 n 
+0000020977 00000 n 
+0000021003 00000 n 
+0000668744 00000 n 
+0000688375 00000 n 
+0000021045 00000 n 
+0000021066 00000 n 
+0000668868 00000 n 
+0000688310 00000 n 
+0000021114 00000 n 
+0000021144 00000 n 
+0000669118 00000 n 
+0000688177 00000 n 
+0000021186 00000 n 
+0000021207 00000 n 
+0000669243 00000 n 
+0000688073 00000 n 
+0000021255 00000 n 
+0000021298 00000 n 
+0000669748 00000 n 
+0000688008 00000 n 
+0000021346 00000 n 
+0000021371 00000 n 
+0000670948 00000 n 
+0000687875 00000 n 
+0000021413 00000 n 
+0000021434 00000 n 
+0000671072 00000 n 
+0000687771 00000 n 
+0000021482 00000 n 
+0000021522 00000 n 
+0000672928 00000 n 
+0000687692 00000 n 
+0000021570 00000 n 
+0000021597 00000 n 
+0000673179 00000 n 
+0000687613 00000 n 
+0000021645 00000 n 
+0000021669 00000 n 
+0000673492 00000 n 
+0000687480 00000 n 
+0000021711 00000 n 
+0000021732 00000 n 
+0000673617 00000 n 
+0000687415 00000 n 
+0000021780 00000 n 
+0000021802 00000 n 
+0000674187 00000 n 
+0000687282 00000 n 
+0000021844 00000 n 
+0000021865 00000 n 
+0000674312 00000 n 
+0000687178 00000 n 
+0000021913 00000 n 
+0000021969 00000 n 
+0000674561 00000 n 
+0000687113 00000 n 
+0000022017 00000 n 
+0000022055 00000 n 
+0000676858 00000 n 
+0000686980 00000 n 
+0000022097 00000 n 
+0000022118 00000 n 
+0000676982 00000 n 
+0000686876 00000 n 
+0000022166 00000 n 
+0000022193 00000 n 
+0000677359 00000 n 
+0000686811 00000 n 
+0000022241 00000 n 
+0000022266 00000 n 
+0000678249 00000 n 
+0000686678 00000 n 
+0000022308 00000 n 
+0000022329 00000 n 
+0000678374 00000 n 
+0000686574 00000 n 
+0000022377 00000 n 
+0000022413 00000 n 
+0000678690 00000 n 
+0000686509 00000 n 
+0000022461 00000 n 
+0000022502 00000 n 
+0000678941 00000 n 
+0000686387 00000 n 
+0000022544 00000 n 
+0000022566 00000 n 
+0000679066 00000 n 
+0000686319 00000 n 
+0000022616 00000 n 
+0000022654 00000 n 
+0000022970 00000 n 
+0000023344 00000 n 
+0000022708 00000 n 
+0000023094 00000 n 
+0000023157 00000 n 
+0000023220 00000 n 
+0000001019 00000 f 
+0000683229 00000 n 
+0000683326 00000 n 
+0000024185 00000 n 
+0000023998 00000 n 
+0000023418 00000 n 
+0000024122 00000 n 
+0000001026 00000 f 
+0000683135 00000 n 
+0000099437 00000 n 
+0000084928 00000 n 
+0000024273 00000 n 
+0000099313 00000 n 
+0000085856 00000 n 
+0000001115 00000 f 
+0000683042 00000 n 
+0000086003 00000 n 
+0000086151 00000 n 
+0000086303 00000 n 
+0000086456 00000 n 
+0000086609 00000 n 
+0000086763 00000 n 
+0000086916 00000 n 
+0000087070 00000 n 
+0000087220 00000 n 
+0000087371 00000 n 
+0000087525 00000 n 
+0000087680 00000 n 
+0000087842 00000 n 
+0000088005 00000 n 
+0000088160 00000 n 
+0000088316 00000 n 
+0000088472 00000 n 
+0000088629 00000 n 
+0000088783 00000 n 
+0000088937 00000 n 
+0000089090 00000 n 
+0000089244 00000 n 
+0000089394 00000 n 
+0000089544 00000 n 
+0000089701 00000 n 
+0000089858 00000 n 
+0000090011 00000 n 
+0000090164 00000 n 
+0000090316 00000 n 
+0000090468 00000 n 
+0000090618 00000 n 
+0000090768 00000 n 
+0000090920 00000 n 
+0000091072 00000 n 
+0000091222 00000 n 
+0000091372 00000 n 
+0000091525 00000 n 
+0000091678 00000 n 
+0000091835 00000 n 
+0000091992 00000 n 
+0000092141 00000 n 
+0000092290 00000 n 
+0000092438 00000 n 
+0000092586 00000 n 
+0000092735 00000 n 
+0000092884 00000 n 
+0000093035 00000 n 
+0000093186 00000 n 
+0000093336 00000 n 
+0000093487 00000 n 
+0000093641 00000 n 
+0000093795 00000 n 
+0000093952 00000 n 
+0000094109 00000 n 
+0000094269 00000 n 
+0000094429 00000 n 
+0000094589 00000 n 
+0000094749 00000 n 
+0000094903 00000 n 
+0000095057 00000 n 
+0000095214 00000 n 
+0000095371 00000 n 
+0000095523 00000 n 
+0000095676 00000 n 
+0000095842 00000 n 
+0000096008 00000 n 
+0000096159 00000 n 
+0000096310 00000 n 
+0000096458 00000 n 
+0000096606 00000 n 
+0000096759 00000 n 
+0000096912 00000 n 
+0000097060 00000 n 
+0000097208 00000 n 
+0000097362 00000 n 
+0000097516 00000 n 
+0000097668 00000 n 
+0000097820 00000 n 
+0000097971 00000 n 
+0000098122 00000 n 
+0000098273 00000 n 
+0000098424 00000 n 
+0000098570 00000 n 
+0000098716 00000 n 
+0000098863 00000 n 
+0000099010 00000 n 
+0000099161 00000 n 
+0000001184 00000 f 
+0000682947 00000 n 
+0000179394 00000 n 
+0000179519 00000 n 
+0000179896 00000 n 
+0000180210 00000 n 
+0000183691 00000 n 
+0000186664 00000 n 
+0000192687 00000 n 
+0000192812 00000 n 
+0000215177 00000 n 
+0000243626 00000 n 
+0000258427 00000 n 
+0000271794 00000 n 
+0000293157 00000 n 
+0000293283 00000 n 
+0000299897 00000 n 
+0000310421 00000 n 
+0000314006 00000 n 
+0000314825 00000 n 
+0000317981 00000 n 
+0000318923 00000 n 
+0000340136 00000 n 
+0000344040 00000 n 
+0000344543 00000 n 
+0000356726 00000 n 
+0000371943 00000 n 
+0000372259 00000 n 
+0000373966 00000 n 
+0000381130 00000 n 
+0000390508 00000 n 
+0000394051 00000 n 
+0000394177 00000 n 
+0000414070 00000 n 
+0000423589 00000 n 
+0000427481 00000 n 
+0000426849 00000 n 
+0000444832 00000 n 
+0000450750 00000 n 
+0000450876 00000 n 
+0000451127 00000 n 
+0000452137 00000 n 
+0000459570 00000 n 
+0000456301 00000 n 
+0000514019 00000 n 
+0000514397 00000 n 
+0000160722 00000 n 
+0000148212 00000 n 
+0000099553 00000 n 
+0000160659 00000 n 
+0000149032 00000 n 
+0000149186 00000 n 
+0000149340 00000 n 
+0000149495 00000 n 
+0000149650 00000 n 
+0000149808 00000 n 
+0000149966 00000 n 
+0000150117 00000 n 
+0000150269 00000 n 
+0000150417 00000 n 
+0000150565 00000 n 
+0000150710 00000 n 
+0000150855 00000 n 
+0000151013 00000 n 
+0000151171 00000 n 
+0000151328 00000 n 
+0000151485 00000 n 
+0000151632 00000 n 
+0000151779 00000 n 
+0000001401 00000 f 
+0000682857 00000 n 
+0000151926 00000 n 
+0000152073 00000 n 
+0000152220 00000 n 
+0000152367 00000 n 
+0000152514 00000 n 
+0000152661 00000 n 
+0000152820 00000 n 
+0000152980 00000 n 
+0000153138 00000 n 
+0000153297 00000 n 
+0000153461 00000 n 
+0000153625 00000 n 
+0000153772 00000 n 
+0000153919 00000 n 
+0000154072 00000 n 
+0000154225 00000 n 
+0000154375 00000 n 
+0000154525 00000 n 
+0000154675 00000 n 
+0000154825 00000 n 
+0000154983 00000 n 
+0000155141 00000 n 
+0000155310 00000 n 
+0000155479 00000 n 
+0000155649 00000 n 
+0000155819 00000 n 
+0000155984 00000 n 
+0000156149 00000 n 
+0000156315 00000 n 
+0000156481 00000 n 
+0000156628 00000 n 
+0000156775 00000 n 
+0000156923 00000 n 
+0000157071 00000 n 
+0000157219 00000 n 
+0000157367 00000 n 
+0000157515 00000 n 
+0000157663 00000 n 
+0000157812 00000 n 
+0000157961 00000 n 
+0000158110 00000 n 
+0000158259 00000 n 
+0000158408 00000 n 
+0000158557 00000 n 
+0000158706 00000 n 
+0000158855 00000 n 
+0000159004 00000 n 
+0000159153 00000 n 
+0000159302 00000 n 
+0000159452 00000 n 
+0000159600 00000 n 
+0000159749 00000 n 
+0000159899 00000 n 
+0000160050 00000 n 
+0000160202 00000 n 
+0000160356 00000 n 
+0000160507 00000 n 
+0000517846 00000 n 
+0000521629 00000 n 
+0000525673 00000 n 
+0000534538 00000 n 
+0000540908 00000 n 
+0000543984 00000 n 
+0000601447 00000 n 
+0000601636 00000 n 
+0000602080 00000 n 
+0000602522 00000 n 
+0000603087 00000 n 
+0000605586 00000 n 
+0000606215 00000 n 
+0000606975 00000 n 
+0000609562 00000 n 
+0000613213 00000 n 
+0000613656 00000 n 
+0000618259 00000 n 
+0000618510 00000 n 
+0000620473 00000 n 
+0000622980 00000 n 
+0000623105 00000 n 
+0000624240 00000 n 
+0000629620 00000 n 
+0000635264 00000 n 
+0000635578 00000 n 
+0000635891 00000 n 
+0000639409 00000 n 
+0000639660 00000 n 
+0000643145 00000 n 
+0000647854 00000 n 
+0000648169 00000 n 
+0000648421 00000 n 
+0000650965 00000 n 
+0000651154 00000 n 
+0000651343 00000 n 
+0000651659 00000 n 
+0000655579 00000 n 
+0000176795 00000 n 
+0000172992 00000 n 
+0000160838 00000 n 
+0000176608 00000 n 
+0000173308 00000 n 
+0000173465 00000 n 
+0000173622 00000 n 
+0000173775 00000 n 
+0000173929 00000 n 
+0000174087 00000 n 
+0000174245 00000 n 
+0000174402 00000 n 
+0000174560 00000 n 
+0000174730 00000 n 
+0000174900 00000 n 
+0000175075 00000 n 
+0000175250 00000 n 
+0000175417 00000 n 
+0000175584 00000 n 
+0000175754 00000 n 
+0000175924 00000 n 
+0000176093 00000 n 
+0000176263 00000 n 
+0000176435 00000 n 
+0000459885 00000 n 
+0000361479 00000 n 
+0000364469 00000 n 
+0000368221 00000 n 
+0000377129 00000 n 
+0000377507 00000 n 
+0000378263 00000 n 
+0000390887 00000 n 
+0000612328 00000 n 
+0000612707 00000 n 
+0000181346 00000 n 
+0000179101 00000 n 
+0000176897 00000 n 
+0000179644 00000 n 
+0000179707 00000 n 
+0000179770 00000 n 
+0000179246 00000 n 
+0000179833 00000 n 
+0000180021 00000 n 
+0000180084 00000 n 
+0000180147 00000 n 
+0000180335 00000 n 
+0000180398 00000 n 
+0000180461 00000 n 
+0000180525 00000 n 
+0000180588 00000 n 
+0000180651 00000 n 
+0000180714 00000 n 
+0000180775 00000 n 
+0000180837 00000 n 
+0000180901 00000 n 
+0000180965 00000 n 
+0000181029 00000 n 
+0000181092 00000 n 
+0000181156 00000 n 
+0000181220 00000 n 
+0000181283 00000 n 
+0000186978 00000 n 
+0000183378 00000 n 
+0000181462 00000 n 
+0000183502 00000 n 
+0000183564 00000 n 
+0000183627 00000 n 
+0000183816 00000 n 
+0000183879 00000 n 
+0000183942 00000 n 
+0000184005 00000 n 
+0000184067 00000 n 
+0000184130 00000 n 
+0000184193 00000 n 
+0000184256 00000 n 
+0000184320 00000 n 
+0000184383 00000 n 
+0000184445 00000 n 
+0000184508 00000 n 
+0000184572 00000 n 
+0000184635 00000 n 
+0000184698 00000 n 
+0000184761 00000 n 
+0000184825 00000 n 
+0000184888 00000 n 
+0000184951 00000 n 
+0000185014 00000 n 
+0000185078 00000 n 
+0000185141 00000 n 
+0000185204 00000 n 
+0000185267 00000 n 
+0000185331 00000 n 
+0000185394 00000 n 
+0000185456 00000 n 
+0000185518 00000 n 
+0000185582 00000 n 
+0000185645 00000 n 
+0000185708 00000 n 
+0000185770 00000 n 
+0000185834 00000 n 
+0000185898 00000 n 
+0000185962 00000 n 
+0000186026 00000 n 
+0000186090 00000 n 
+0000186154 00000 n 
+0000186218 00000 n 
+0000186282 00000 n 
+0000186346 00000 n 
+0000186410 00000 n 
+0000186474 00000 n 
+0000186538 00000 n 
+0000186601 00000 n 
+0000186789 00000 n 
+0000186852 00000 n 
+0000186915 00000 n 
+0000683451 00000 n 
+0000188935 00000 n 
+0000188443 00000 n 
+0000187094 00000 n 
+0000188746 00000 n 
+0000001413 00000 f 
+0000682765 00000 n 
+0000188588 00000 n 
+0000188809 00000 n 
+0000188872 00000 n 
+0000661195 00000 n 
+0000194513 00000 n 
+0000191391 00000 n 
+0000189079 00000 n 
+0000192937 00000 n 
+0000193000 00000 n 
+0000193063 00000 n 
+0000001648 00000 f 
+0000682665 00000 n 
+0000193127 00000 n 
+0000191590 00000 n 
+0000193190 00000 n 
+0000193252 00000 n 
+0000193315 00000 n 
+0000193378 00000 n 
+0000193441 00000 n 
+0000193505 00000 n 
+0000193567 00000 n 
+0000193630 00000 n 
+0000193693 00000 n 
+0000191744 00000 n 
+0000193756 00000 n 
+0000191897 00000 n 
+0000193819 00000 n 
+0000192053 00000 n 
+0000193882 00000 n 
+0000192213 00000 n 
+0000193945 00000 n 
+0000192371 00000 n 
+0000194008 00000 n 
+0000192533 00000 n 
+0000194071 00000 n 
+0000194134 00000 n 
+0000194259 00000 n 
+0000194322 00000 n 
+0000194386 00000 n 
+0000194449 00000 n 
+0000197708 00000 n 
+0000198402 00000 n 
+0000198844 00000 n 
+0000199605 00000 n 
+0000214739 00000 n 
+0000200047 00000 n 
+0000197182 00000 n 
+0000194657 00000 n 
+0000197646 00000 n 
+0000197833 00000 n 
+0000197896 00000 n 
+0000197960 00000 n 
+0000198023 00000 n 
+0000198085 00000 n 
+0000198148 00000 n 
+0000198211 00000 n 
 0000198275 00000 n 
-0000198685 00000 n 
-0000198749 00000 n 
-0000198812 00000 n 
-0000198875 00000 n 
-0000198938 00000 n 
-0000199001 00000 n 
-0000199064 00000 n 
-0000199128 00000 n 
-0000199192 00000 n 
-0000199255 00000 n 
-0000199319 00000 n 
-0000199382 00000 n 
-0000199445 00000 n 
-0000199508 00000 n 
-0000199571 00000 n 
-0000199634 00000 n 
-0000199698 00000 n 
-0000199762 00000 n 
-0000199825 00000 n 
-0000199888 00000 n 
-0000199950 00000 n 
-0000200013 00000 n 
-0000200077 00000 n 
-0000200140 00000 n 
-0000200203 00000 n 
-0000200266 00000 n 
-0000200329 00000 n 
-0000200392 00000 n 
-0000200455 00000 n 
-0000200518 00000 n 
-0000432555 00000 n 
-0000204317 00000 n 
-0000202423 00000 n 
-0000200721 00000 n 
-0000202547 00000 n 
-0000202610 00000 n 
-0000202673 00000 n 
-0000202737 00000 n 
-0000202800 00000 n 
-0000202863 00000 n 
-0000202926 00000 n 
-0000202989 00000 n 
-0000203052 00000 n 
-0000203178 00000 n 
-0000203241 00000 n 
-0000203305 00000 n 
-0000203368 00000 n 
-0000203432 00000 n 
-0000203495 00000 n 
-0000203558 00000 n 
-0000203684 00000 n 
-0000203747 00000 n 
-0000203811 00000 n 
-0000203874 00000 n 
-0000203938 00000 n 
-0000204002 00000 n 
-0000204065 00000 n 
-0000204191 00000 n 
-0000204254 00000 n 
-0000209064 00000 n 
-0000206643 00000 n 
-0000204456 00000 n 
-0000207111 00000 n 
-0000207237 00000 n 
-0000207300 00000 n 
-0000207363 00000 n 
-0000207427 00000 n 
-0000207491 00000 n 
-0000207554 00000 n 
-0000207743 00000 n 
-0000207805 00000 n 
-0000207868 00000 n 
-0000207932 00000 n 
-0000208058 00000 n 
-0000208120 00000 n 
-0000208183 00000 n 
-0000208308 00000 n 
-0000208371 00000 n 
-0000208435 00000 n 
-0000208625 00000 n 
-0000206797 00000 n 
-0000206959 00000 n 
-0000208687 00000 n 
-0000208750 00000 n 
-0000208814 00000 n 
-0000208877 00000 n 
-0000208940 00000 n 
-0000209000 00000 n 
-0000438940 00000 n 
-0000212002 00000 n 
-0000210491 00000 n 
-0000209204 00000 n 
-0000210615 00000 n 
-0000210678 00000 n 
-0000210804 00000 n 
-0000210867 00000 n 
-0000210993 00000 n 
-0000211056 00000 n 
-0000211119 00000 n 
-0000211182 00000 n 
-0000211245 00000 n 
-0000211308 00000 n 
-0000211371 00000 n 
-0000211434 00000 n 
-0000211497 00000 n 
-0000211560 00000 n 
-0000211686 00000 n 
-0000211749 00000 n 
-0000211813 00000 n 
-0000211876 00000 n 
-0000211939 00000 n 
-0000217155 00000 n 
-0000214573 00000 n 
-0000212142 00000 n 
-0000215197 00000 n 
-0000215260 00000 n 
-0000215323 00000 n 
-0000215449 00000 n 
-0000214736 00000 n 
-0000214895 00000 n 
-0000215512 00000 n 
-0000215575 00000 n 
-0000215638 00000 n 
-0000215702 00000 n 
-0000215765 00000 n 
-0000215890 00000 n 
-0000215953 00000 n 
-0000216016 00000 n 
-0000216080 00000 n 
-0000216143 00000 n 
-0000216207 00000 n 
-0000215043 00000 n 
-0000216268 00000 n 
-0000216331 00000 n 
-0000216393 00000 n 
-0000216457 00000 n 
-0000216520 00000 n 
-0000216583 00000 n 
-0000216647 00000 n 
-0000216711 00000 n 
-0000216775 00000 n 
-0000216839 00000 n 
-0000216902 00000 n 
-0000216966 00000 n 
-0000000000 00000 f 
-0000446882 00000 n 
-0000217029 00000 n 
-0000217092 00000 n 
-0000430551 00000 n 
-0000222162 00000 n 
-0000219490 00000 n 
-0000217295 00000 n 
-0000219956 00000 n 
-0000220019 00000 n 
-0000220082 00000 n 
-0000220145 00000 n 
-0000220270 00000 n 
-0000220333 00000 n 
-0000220397 00000 n 
-0000220460 00000 n 
-0000220523 00000 n 
-0000220586 00000 n 
-0000220649 00000 n 
-0000220712 00000 n 
-0000220775 00000 n 
-0000220838 00000 n 
-0000220901 00000 n 
-0000220964 00000 n 
-0000221027 00000 n 
-0000221090 00000 n 
-0000221153 00000 n 
-0000221216 00000 n 
-0000221403 00000 n 
-0000221466 00000 n 
-0000221592 00000 n 
-0000221655 00000 n 
-0000221719 00000 n 
-0000221783 00000 n 
-0000219644 00000 n 
-0000219800 00000 n 
-0000221846 00000 n 
-0000221910 00000 n 
-0000222035 00000 n 
-0000222098 00000 n 
-0000450111 00000 n 
-0000225869 00000 n 
-0000224041 00000 n 
-0000222315 00000 n 
-0000224165 00000 n 
-0000224228 00000 n 
-0000224354 00000 n 
-0000224417 00000 n 
-0000224481 00000 n 
-0000224544 00000 n 
-0000224670 00000 n 
-0000224733 00000 n 
-0000224796 00000 n 
-0000224857 00000 n 
-0000224921 00000 n 
-0000224984 00000 n 
-0000225047 00000 n 
-0000225109 00000 n 
-0000225172 00000 n 
-0000225298 00000 n 
-0000225361 00000 n 
-0000225425 00000 n 
-0000225488 00000 n 
-0000225551 00000 n 
-0000225615 00000 n 
-0000225679 00000 n 
-0000225743 00000 n 
-0000225806 00000 n 
-0000227706 00000 n 
-0000227076 00000 n 
-0000226008 00000 n 
-0000227200 00000 n 
-0000227326 00000 n 
-0000227389 00000 n 
-0000227453 00000 n 
-0000227516 00000 n 
-0000227579 00000 n 
-0000227643 00000 n 
-0000232734 00000 n 
-0000230596 00000 n 
-0000227818 00000 n 
-0000230720 00000 n 
-0000231033 00000 n 
-0000231096 00000 n 
-0000231158 00000 n 
-0000231220 00000 n 
-0000231283 00000 n 
-0000231346 00000 n 
-0000231409 00000 n 
-0000231472 00000 n 
-0000231535 00000 n 
-0000231599 00000 n 
-0000231662 00000 n 
-0000231726 00000 n 
-0000231789 00000 n 
-0000231852 00000 n 
-0000231915 00000 n 
-0000231978 00000 n 
-0000232042 00000 n 
-0000232104 00000 n 
-0000232167 00000 n 
-0000232229 00000 n 
-0000232293 00000 n 
-0000232356 00000 n 
-0000232420 00000 n 
-0000232483 00000 n 
-0000232546 00000 n 
-0000232609 00000 n 
-0000232672 00000 n 
-0000237464 00000 n 
-0000235648 00000 n 
-0000232859 00000 n 
-0000235772 00000 n 
-0000235835 00000 n 
-0000235897 00000 n 
-0000235960 00000 n 
-0000236023 00000 n 
-0000236085 00000 n 
-0000236148 00000 n 
-0000236209 00000 n 
-0000236272 00000 n 
-0000236335 00000 n 
-0000236397 00000 n 
-0000236459 00000 n 
-0000236522 00000 n 
-0000236585 00000 n 
-0000236648 00000 n 
-0000236711 00000 n 
-0000236774 00000 n 
-0000236836 00000 n 
-0000236899 00000 n 
-0000236962 00000 n 
-0000237150 00000 n 
-0000237275 00000 n 
-0000237338 00000 n 
-0000237401 00000 n 
-0000242360 00000 n 
-0000239969 00000 n 
-0000237603 00000 n 
-0000240093 00000 n 
-0000240156 00000 n 
-0000240281 00000 n 
-0000240407 00000 n 
-0000240468 00000 n 
-0000240531 00000 n 
-0000240594 00000 n 
-0000240657 00000 n 
-0000240720 00000 n 
-0000240783 00000 n 
-0000240846 00000 n 
-0000240909 00000 n 
-0000240973 00000 n 
-0000241037 00000 n 
-0000241163 00000 n 
-0000241225 00000 n 
-0000241288 00000 n 
-0000241352 00000 n 
-0000241416 00000 n 
-0000241479 00000 n 
-0000241540 00000 n 
-0000241603 00000 n 
-0000241666 00000 n 
-0000241729 00000 n 
-0000241792 00000 n 
-0000241855 00000 n 
-0000241918 00000 n 
-0000241981 00000 n 
-0000242044 00000 n 
-0000242107 00000 n 
-0000242170 00000 n 
-0000242233 00000 n 
-0000242296 00000 n 
-0000248291 00000 n 
-0000245228 00000 n 
-0000242500 00000 n 
-0000245528 00000 n 
-0000245591 00000 n 
-0000245653 00000 n 
-0000245717 00000 n 
-0000245779 00000 n 
-0000245843 00000 n 
-0000245906 00000 n 
-0000245968 00000 n 
-0000246030 00000 n 
-0000246093 00000 n 
-0000246156 00000 n 
-0000246219 00000 n 
-0000246282 00000 n 
-0000246345 00000 n 
-0000246408 00000 n 
-0000246471 00000 n 
-0000246534 00000 n 
-0000246597 00000 n 
-0000246660 00000 n 
-0000246723 00000 n 
-0000246786 00000 n 
-0000246849 00000 n 
-0000246911 00000 n 
-0000246973 00000 n 
-0000247035 00000 n 
-0000247098 00000 n 
-0000247161 00000 n 
-0000247224 00000 n 
-0000247286 00000 n 
-0000247348 00000 n 
-0000247411 00000 n 
-0000247474 00000 n 
-0000247537 00000 n 
-0000247725 00000 n 
-0000245373 00000 n 
-0000247788 00000 n 
-0000247851 00000 n 
-0000247914 00000 n 
-0000247977 00000 n 
-0000248040 00000 n 
-0000248103 00000 n 
-0000248166 00000 n 
-0000248229 00000 n 
-0000450236 00000 n 
-0000439254 00000 n 
-0000252546 00000 n 
-0000250543 00000 n 
-0000248431 00000 n 
-0000250667 00000 n 
-0000250730 00000 n 
-0000250917 00000 n 
-0000250980 00000 n 
-0000251043 00000 n 
-0000251107 00000 n 
-0000251170 00000 n 
-0000251233 00000 n 
-0000251295 00000 n 
-0000251358 00000 n 
-0000251421 00000 n 
-0000251483 00000 n 
-0000251546 00000 n 
-0000251733 00000 n 
-0000251796 00000 n 
-0000251858 00000 n 
-0000251921 00000 n 
-0000251984 00000 n 
-0000252046 00000 n 
-0000252109 00000 n 
-0000252172 00000 n 
-0000252235 00000 n 
-0000252421 00000 n 
-0000252484 00000 n 
-0000257463 00000 n 
-0000255010 00000 n 
-0000252645 00000 n 
-0000255134 00000 n 
-0000255197 00000 n 
-0000255260 00000 n 
+0000198339 00000 n 
+0000198527 00000 n 
+0000198590 00000 n 
+0000197336 00000 n 
+0000198653 00000 n 
+0000198717 00000 n 
+0000198780 00000 n 
+0000198969 00000 n 
+0000199032 00000 n 
+0000199096 00000 n 
+0000199160 00000 n 
+0000199224 00000 n 
+0000199287 00000 n 
+0000199351 00000 n 
+0000199415 00000 n 
+0000199479 00000 n 
+0000199542 00000 n 
+0000199730 00000 n 
+0000199793 00000 n 
+0000199857 00000 n 
+0000197489 00000 n 
+0000199921 00000 n 
+0000199984 00000 n 
+0000661572 00000 n 
+0000206697 00000 n 
+0000202569 00000 n 
+0000200177 00000 n 
+0000203928 00000 n 
+0000203991 00000 n 
+0000204054 00000 n 
+0000204117 00000 n 
+0000204180 00000 n 
+0000202768 00000 n 
+0000202930 00000 n 
+0000204243 00000 n 
+0000204306 00000 n 
+0000204369 00000 n 
+0000204432 00000 n 
+0000204496 00000 n 
+0000204559 00000 n 
+0000204622 00000 n 
+0000204685 00000 n 
+0000204748 00000 n 
+0000204811 00000 n 
+0000204874 00000 n 
+0000204937 00000 n 
+0000205000 00000 n 
+0000205063 00000 n 
+0000205126 00000 n 
+0000205189 00000 n 
+0000205252 00000 n 
+0000205315 00000 n 
+0000205378 00000 n 
+0000205441 00000 n 
+0000205504 00000 n 
+0000205567 00000 n 
+0000205628 00000 n 
+0000203098 00000 n 
+0000205691 00000 n 
+0000205754 00000 n 
+0000205817 00000 n 
+0000205880 00000 n 
+0000205943 00000 n 
+0000206006 00000 n 
+0000203266 00000 n 
+0000206069 00000 n 
+0000206132 00000 n 
+0000206194 00000 n 
+0000206258 00000 n 
+0000206321 00000 n 
+0000203433 00000 n 
+0000206384 00000 n 
+0000206447 00000 n 
+0000203593 00000 n 
+0000206510 00000 n 
+0000206573 00000 n 
+0000203762 00000 n 
+0000206635 00000 n 
+0000259249 00000 n 
+0000210250 00000 n 
+0000210500 00000 n 
+0000210688 00000 n 
+0000211380 00000 n 
+0000211568 00000 n 
+0000211631 00000 n 
+0000208833 00000 n 
+0000206841 00000 n 
+0000209684 00000 n 
+0000209747 00000 n 
+0000209809 00000 n 
+0000209005 00000 n 
+0000209872 00000 n 
+0000209935 00000 n 
+0000209177 00000 n 
+0000209998 00000 n 
+0000210061 00000 n 
+0000209346 00000 n 
+0000210124 00000 n 
+0000210187 00000 n 
+0000209516 00000 n 
+0000210375 00000 n 
+0000210437 00000 n 
+0000210625 00000 n 
+0000210813 00000 n 
+0000210876 00000 n 
+0000210939 00000 n 
+0000211002 00000 n 
+0000211065 00000 n 
+0000211129 00000 n 
+0000211192 00000 n 
+0000211254 00000 n 
+0000211317 00000 n 
+0000211505 00000 n 
+0000213984 00000 n 
+0000214550 00000 n 
+0000214299 00000 n 
+0000215240 00000 n 
+0000213485 00000 n 
+0000211761 00000 n 
+0000213609 00000 n 
+0000213672 00000 n 
+0000213796 00000 n 
+0000213921 00000 n 
+0000214109 00000 n 
+0000214172 00000 n 
+0000214235 00000 n 
+0000214424 00000 n 
+0000214487 00000 n 
+0000214676 00000 n 
+0000214863 00000 n 
+0000214925 00000 n 
+0000214988 00000 n 
+0000215051 00000 n 
+0000215114 00000 n 
+0000683576 00000 n 
+0000219653 00000 n 
+0000217545 00000 n 
+0000215356 00000 n 
+0000218009 00000 n 
+0000218135 00000 n 
+0000218198 00000 n 
+0000217699 00000 n 
+0000218325 00000 n 
+0000218388 00000 n 
+0000218452 00000 n 
+0000218515 00000 n 
+0000218578 00000 n 
+0000218642 00000 n 
+0000218705 00000 n 
+0000218769 00000 n 
+0000218832 00000 n 
+0000218895 00000 n 
+0000219021 00000 n 
+0000219084 00000 n 
+0000217851 00000 n 
+0000219148 00000 n 
+0000219274 00000 n 
+0000219337 00000 n 
+0000219401 00000 n 
+0000219464 00000 n 
+0000219527 00000 n 
+0000219590 00000 n 
+0000224632 00000 n 
+0000222059 00000 n 
+0000219783 00000 n 
+0000222359 00000 n 
+0000222422 00000 n 
+0000222485 00000 n 
+0000222549 00000 n 
+0000222675 00000 n 
+0000222738 00000 n 
+0000222801 00000 n 
+0000222864 00000 n 
+0000222927 00000 n 
+0000222990 00000 n 
+0000223053 00000 n 
+0000223116 00000 n 
+0000223178 00000 n 
+0000223304 00000 n 
+0000223367 00000 n 
+0000223429 00000 n 
+0000223493 00000 n 
+0000223556 00000 n 
+0000223619 00000 n 
+0000223682 00000 n 
+0000223806 00000 n 
+0000223869 00000 n 
+0000223933 00000 n 
+0000001798 00000 f 
+0000682567 00000 n 
+0000223997 00000 n 
+0000222204 00000 n 
+0000224061 00000 n 
+0000224123 00000 n 
+0000224187 00000 n 
+0000224251 00000 n 
+0000224315 00000 n 
+0000224379 00000 n 
+0000224443 00000 n 
+0000224506 00000 n 
+0000224570 00000 n 
+0000229608 00000 n 
+0000226957 00000 n 
+0000224790 00000 n 
+0000227271 00000 n 
+0000227334 00000 n 
+0000227396 00000 n 
+0000227459 00000 n 
+0000227522 00000 n 
+0000227586 00000 n 
+0000227649 00000 n 
+0000227712 00000 n 
+0000227776 00000 n 
+0000227840 00000 n 
+0000227903 00000 n 
+0000227966 00000 n 
+0000228030 00000 n 
+0000228093 00000 n 
+0000228218 00000 n 
+0000228281 00000 n 
+0000228345 00000 n 
+0000228408 00000 n 
+0000228471 00000 n 
+0000228534 00000 n 
+0000228598 00000 n 
+0000228723 00000 n 
+0000227102 00000 n 
+0000228786 00000 n 
+0000228912 00000 n 
+0000228974 00000 n 
+0000229037 00000 n 
+0000229100 00000 n 
+0000229164 00000 n 
+0000229227 00000 n 
+0000229290 00000 n 
+0000229354 00000 n 
+0000229417 00000 n 
+0000229481 00000 n 
+0000229545 00000 n 
+0000381256 00000 n 
+0000235211 00000 n 
+0000232299 00000 n 
+0000229738 00000 n 
+0000232613 00000 n 
+0000232676 00000 n 
+0000232739 00000 n 
+0000232802 00000 n 
+0000232866 00000 n 
+0000232929 00000 n 
+0000232992 00000 n 
+0000233055 00000 n 
+0000233118 00000 n 
+0000233182 00000 n 
+0000233306 00000 n 
+0000233369 00000 n 
+0000233432 00000 n 
+0000233496 00000 n 
+0000233560 00000 n 
+0000233624 00000 n 
+0000233688 00000 n 
+0000233752 00000 n 
+0000233816 00000 n 
+0000233880 00000 n 
+0000233943 00000 n 
+0000234007 00000 n 
+0000234071 00000 n 
+0000234135 00000 n 
+0000234199 00000 n 
+0000234263 00000 n 
+0000234326 00000 n 
+0000234389 00000 n 
+0000234452 00000 n 
+0000234515 00000 n 
+0000234578 00000 n 
+0000234641 00000 n 
+0000234705 00000 n 
+0000234769 00000 n 
+0000234832 00000 n 
+0000234895 00000 n 
+0000234959 00000 n 
+0000232444 00000 n 
+0000235023 00000 n 
+0000235148 00000 n 
+0000241049 00000 n 
+0000237977 00000 n 
+0000235369 00000 n 
+0000238768 00000 n 
+0000238831 00000 n 
+0000238149 00000 n 
+0000238894 00000 n 
+0000238957 00000 n 
+0000238302 00000 n 
+0000239020 00000 n 
+0000239083 00000 n 
+0000239146 00000 n 
+0000239209 00000 n 
+0000239272 00000 n 
+0000239336 00000 n 
+0000239399 00000 n 
+0000239462 00000 n 
+0000239526 00000 n 
+0000239589 00000 n 
+0000239652 00000 n 
+0000239716 00000 n 
+0000239780 00000 n 
+0000239843 00000 n 
+0000239907 00000 n 
+0000239971 00000 n 
+0000240035 00000 n 
+0000240099 00000 n 
+0000240163 00000 n 
+0000240227 00000 n 
+0000240353 00000 n 
+0000240416 00000 n 
+0000238455 00000 n 
+0000240480 00000 n 
+0000240543 00000 n 
+0000238614 00000 n 
+0000240607 00000 n 
+0000240671 00000 n 
+0000240735 00000 n 
+0000240798 00000 n 
+0000240860 00000 n 
+0000240922 00000 n 
+0000240986 00000 n 
+0000678627 00000 n 
+0000245703 00000 n 
+0000243201 00000 n 
+0000241193 00000 n 
+0000243500 00000 n 
+0000243563 00000 n 
+0000243346 00000 n 
+0000243752 00000 n 
+0000243815 00000 n 
+0000243941 00000 n 
+0000244004 00000 n 
+0000244066 00000 n 
+0000244128 00000 n 
+0000001978 00000 f 
+0000682472 00000 n 
+0000244190 00000 n 
+0000244253 00000 n 
+0000244317 00000 n 
+0000244380 00000 n 
+0000244443 00000 n 
+0000244506 00000 n 
+0000244569 00000 n 
+0000244633 00000 n 
+0000244757 00000 n 
+0000244820 00000 n 
+0000244883 00000 n 
+0000244946 00000 n 
+0000245009 00000 n 
+0000245072 00000 n 
+0000245136 00000 n 
+0000245199 00000 n 
+0000245262 00000 n 
+0000245325 00000 n 
+0000245388 00000 n 
+0000245451 00000 n 
+0000245515 00000 n 
+0000245577 00000 n 
+0000245640 00000 n 
+0000683701 00000 n 
+0000250845 00000 n 
+0000248586 00000 n 
+0000245847 00000 n 
+0000248888 00000 n 
+0000249013 00000 n 
+0000249076 00000 n 
+0000249139 00000 n 
+0000249202 00000 n 
+0000249265 00000 n 
+0000249328 00000 n 
+0000249392 00000 n 
+0000249518 00000 n 
+0000249581 00000 n 
+0000249643 00000 n 
+0000249706 00000 n 
+0000249769 00000 n 
+0000249832 00000 n 
+0000249894 00000 n 
+0000249958 00000 n 
+0000250021 00000 n 
+0000250085 00000 n 
+0000250149 00000 n 
+0000250213 00000 n 
+0000250339 00000 n 
+0000250402 00000 n 
+0000250465 00000 n 
+0000250528 00000 n 
+0000250592 00000 n 
+0000248731 00000 n 
+0000250656 00000 n 
+0000250720 00000 n 
+0000250782 00000 n 
+0000664713 00000 n 
+0000255514 00000 n 
+0000252674 00000 n 
+0000250989 00000 n 
+0000252798 00000 n 
+0000252861 00000 n 
+0000252924 00000 n 
+0000252987 00000 n 
+0000253050 00000 n 
+0000253114 00000 n 
+0000253178 00000 n 
+0000253240 00000 n 
+0000253304 00000 n 
+0000253368 00000 n 
+0000253431 00000 n 
+0000253494 00000 n 
+0000253556 00000 n 
+0000253618 00000 n 
+0000253682 00000 n 
+0000253746 00000 n 
+0000253808 00000 n 
+0000253871 00000 n 
+0000253934 00000 n 
+0000253997 00000 n 
+0000254060 00000 n 
+0000254123 00000 n 
+0000254186 00000 n 
+0000254249 00000 n 
+0000254312 00000 n 
+0000254376 00000 n 
+0000254439 00000 n 
+0000254500 00000 n 
+0000254563 00000 n 
+0000254626 00000 n 
+0000254690 00000 n 
+0000254753 00000 n 
+0000254816 00000 n 
+0000254879 00000 n 
+0000254942 00000 n 
+0000255006 00000 n 
+0000255132 00000 n 
+0000255195 00000 n 
+0000255259 00000 n 
 0000255323 00000 n 
-0000255386 00000 n 
-0000255448 00000 n 
-0000255511 00000 n 
-0000255574 00000 n 
-0000255637 00000 n 
-0000255700 00000 n 
-0000255762 00000 n 
-0000255825 00000 n 
-0000256013 00000 n 
-0000256076 00000 n 
-0000256139 00000 n 
-0000256202 00000 n 
-0000256265 00000 n 
-0000256328 00000 n 
-0000256391 00000 n 
-0000256454 00000 n 
-0000256517 00000 n 
-0000256580 00000 n 
-0000256643 00000 n 
-0000256706 00000 n 
-0000256769 00000 n 
-0000256832 00000 n 
-0000256895 00000 n 
-0000256958 00000 n 
-0000257146 00000 n 
-0000257209 00000 n 
-0000257273 00000 n 
-0000257336 00000 n 
-0000257399 00000 n 
-0000262961 00000 n 
-0000259990 00000 n 
-0000257576 00000 n 
-0000260114 00000 n 
-0000260177 00000 n 
-0000260240 00000 n 
-0000260303 00000 n 
-0000260366 00000 n 
-0000260429 00000 n 
-0000260492 00000 n 
-0000260555 00000 n 
-0000260618 00000 n 
-0000260680 00000 n 
-0000260743 00000 n 
-0000260806 00000 n 
-0000260870 00000 n 
-0000260934 00000 n 
-0000260997 00000 n 
-0000261060 00000 n 
-0000261123 00000 n 
-0000261186 00000 n 
-0000261250 00000 n 
-0000261313 00000 n 
-0000261376 00000 n 
-0000261440 00000 n 
-0000261504 00000 n 
-0000261567 00000 n 
-0000261630 00000 n 
-0000261693 00000 n 
-0000261757 00000 n 
-0000261821 00000 n 
-0000261885 00000 n 
-0000261949 00000 n 
-0000262012 00000 n 
-0000262076 00000 n 
-0000262139 00000 n 
-0000262202 00000 n 
-0000262265 00000 n 
-0000262329 00000 n 
-0000262393 00000 n 
-0000262456 00000 n 
-0000262645 00000 n 
-0000262708 00000 n 
-0000262772 00000 n 
-0000262835 00000 n 
-0000262898 00000 n 
-0000267845 00000 n 
-0000265323 00000 n 
-0000263074 00000 n 
-0000265957 00000 n 
-0000266020 00000 n 
-0000266082 00000 n 
-0000266145 00000 n 
-0000266208 00000 n 
-0000266271 00000 n 
-0000266334 00000 n 
-0000266397 00000 n 
-0000266459 00000 n 
-0000265486 00000 n 
-0000266522 00000 n 
-0000266585 00000 n 
-0000265640 00000 n 
-0000266647 00000 n 
-0000266710 00000 n 
-0000265799 00000 n 
-0000266773 00000 n 
-0000266836 00000 n 
-0000266899 00000 n 
-0000266962 00000 n 
-0000267025 00000 n 
-0000267088 00000 n 
-0000267214 00000 n 
-0000267276 00000 n 
-0000267340 00000 n 
-0000267403 00000 n 
-0000267466 00000 n 
-0000267529 00000 n 
-0000267592 00000 n 
-0000267656 00000 n 
-0000267719 00000 n 
-0000267782 00000 n 
-0000271703 00000 n 
-0000269631 00000 n 
-0000267998 00000 n 
-0000269755 00000 n 
-0000269818 00000 n 
-0000269880 00000 n 
-0000269944 00000 n 
-0000270008 00000 n 
-0000270071 00000 n 
-0000270195 00000 n 
-0000270258 00000 n 
-0000270320 00000 n 
-0000270383 00000 n 
-0000270446 00000 n 
-0000270508 00000 n 
-0000270571 00000 n 
-0000270634 00000 n 
-0000270697 00000 n 
-0000270760 00000 n 
-0000270823 00000 n 
-0000270886 00000 n 
-0000270949 00000 n 
-0000271012 00000 n 
-0000271075 00000 n 
-0000271138 00000 n 
-0000271201 00000 n 
-0000271264 00000 n 
-0000271327 00000 n 
-0000271389 00000 n 
-0000271453 00000 n 
-0000271515 00000 n 
-0000271578 00000 n 
-0000274300 00000 n 
-0000273246 00000 n 
-0000271870 00000 n 
-0000273546 00000 n 
-0000273609 00000 n 
-0000273672 00000 n 
-0000273735 00000 n 
-0000273798 00000 n 
-0000273861 00000 n 
-0000273924 00000 n 
-0000273987 00000 n 
-0000274049 00000 n 
-0000274112 00000 n 
-0000274175 00000 n 
-0000274237 00000 n 
-0000273391 00000 n 
-0000450361 00000 n 
-0000279107 00000 n 
-0000276840 00000 n 
-0000274467 00000 n 
-0000277149 00000 n 
-0000277462 00000 n 
-0000277525 00000 n 
-0000276985 00000 n 
-0000277588 00000 n 
-0000277714 00000 n 
-0000277776 00000 n 
-0000277840 00000 n 
-0000277904 00000 n 
-0000277968 00000 n 
-0000278032 00000 n 
-0000278096 00000 n 
-0000278160 00000 n 
-0000278223 00000 n 
-0000278286 00000 n 
-0000278350 00000 n 
-0000278413 00000 n 
-0000278476 00000 n 
-0000278539 00000 n 
-0000278601 00000 n 
-0000278664 00000 n 
-0000278727 00000 n 
-0000278791 00000 n 
-0000278853 00000 n 
-0000278916 00000 n 
-0000278980 00000 n 
-0000279044 00000 n 
-0000288018 00000 n 
-0000283800 00000 n 
-0000281908 00000 n 
-0000279246 00000 n 
-0000282032 00000 n 
-0000282158 00000 n 
-0000282221 00000 n 
-0000282284 00000 n 
-0000282348 00000 n 
-0000282411 00000 n 
-0000282475 00000 n 
-0000282538 00000 n 
-0000282601 00000 n 
-0000282664 00000 n 
-0000282790 00000 n 
-0000282853 00000 n 
-0000282917 00000 n 
-0000282980 00000 n 
-0000283042 00000 n 
-0000283105 00000 n 
-0000283168 00000 n 
-0000283232 00000 n 
-0000283296 00000 n 
-0000283359 00000 n 
-0000283423 00000 n 
-0000283486 00000 n 
-0000283611 00000 n 
-0000283674 00000 n 
-0000283737 00000 n 
-0000288270 00000 n 
-0000286316 00000 n 
-0000283939 00000 n 
-0000286440 00000 n 
-0000286503 00000 n 
-0000286566 00000 n 
-0000286629 00000 n 
-0000286692 00000 n 
-0000286755 00000 n 
-0000286818 00000 n 
-0000286881 00000 n 
-0000286944 00000 n 
-0000287007 00000 n 
-0000287070 00000 n 
-0000287133 00000 n 
-0000287197 00000 n 
-0000287261 00000 n 
-0000287324 00000 n 
-0000287387 00000 n 
-0000287450 00000 n 
-0000287512 00000 n 
-0000287575 00000 n 
-0000287639 00000 n 
-0000287702 00000 n 
-0000287766 00000 n 
-0000287829 00000 n 
-0000287892 00000 n 
-0000287955 00000 n 
-0000288144 00000 n 
-0000288207 00000 n 
-0000293063 00000 n 
-0000291043 00000 n 
-0000288395 00000 n 
-0000291167 00000 n 
-0000291230 00000 n 
-0000291292 00000 n 
-0000291355 00000 n 
-0000291419 00000 n 
-0000291483 00000 n 
-0000291546 00000 n 
-0000291734 00000 n 
-0000291797 00000 n 
-0000291860 00000 n 
-0000291923 00000 n 
-0000291987 00000 n 
-0000292051 00000 n 
-0000292115 00000 n 
-0000292178 00000 n 
-0000292242 00000 n 
-0000292306 00000 n 
-0000292370 00000 n 
-0000292433 00000 n 
-0000292496 00000 n 
-0000292559 00000 n 
-0000292623 00000 n 
-0000292686 00000 n 
-0000292749 00000 n 
-0000292812 00000 n 
-0000292875 00000 n 
-0000292937 00000 n 
-0000293000 00000 n 
-0000297707 00000 n 
-0000295433 00000 n 
-0000293188 00000 n 
-0000295557 00000 n 
-0000295620 00000 n 
-0000295682 00000 n 
-0000295746 00000 n 
-0000295810 00000 n 
-0000295874 00000 n 
-0000295937 00000 n 
-0000296000 00000 n 
-0000296063 00000 n 
-0000296126 00000 n 
-0000296189 00000 n 
-0000296252 00000 n 
-0000296315 00000 n 
-0000296378 00000 n 
-0000296441 00000 n 
-0000296504 00000 n 
-0000296567 00000 n 
-0000296630 00000 n 
-0000296693 00000 n 
-0000296756 00000 n 
-0000296819 00000 n 
-0000296882 00000 n 
-0000296945 00000 n 
-0000297009 00000 n 
-0000297073 00000 n 
-0000297136 00000 n 
-0000297199 00000 n 
-0000297263 00000 n 
-0000297327 00000 n 
-0000297391 00000 n 
-0000297454 00000 n 
-0000297517 00000 n 
-0000297580 00000 n 
-0000297644 00000 n 
-0000301344 00000 n 
-0000300276 00000 n 
-0000297806 00000 n 
-0000300400 00000 n 
-0000300463 00000 n 
-0000300650 00000 n 
-0000300713 00000 n 
-0000300777 00000 n 
-0000300840 00000 n 
-0000300903 00000 n 
-0000300967 00000 n 
-0000301030 00000 n 
-0000301092 00000 n 
-0000301155 00000 n 
-0000301218 00000 n 
-0000301281 00000 n 
-0000450486 00000 n 
-0000305052 00000 n 
-0000303608 00000 n 
-0000301470 00000 n 
-0000303732 00000 n 
-0000303795 00000 n 
-0000303857 00000 n 
-0000303920 00000 n 
-0000303983 00000 n 
+0000255387 00000 n 
+0000255451 00000 n 
+0000259817 00000 n 
+0000257517 00000 n 
+0000255630 00000 n 
+0000257985 00000 n 
+0000258048 00000 n 
+0000258111 00000 n 
+0000258175 00000 n 
+0000258239 00000 n 
+0000258302 00000 n 
+0000258365 00000 n 
+0000258553 00000 n 
+0000258616 00000 n 
+0000258679 00000 n 
+0000258743 00000 n 
+0000258869 00000 n 
+0000258932 00000 n 
+0000259058 00000 n 
+0000259121 00000 n 
+0000259185 00000 n 
+0000259375 00000 n 
+0000257671 00000 n 
+0000257833 00000 n 
+0000259438 00000 n 
+0000259501 00000 n 
+0000259565 00000 n 
+0000259628 00000 n 
+0000259691 00000 n 
+0000259754 00000 n 
+0000671009 00000 n 
+0000262610 00000 n 
+0000261603 00000 n 
+0000259947 00000 n 
+0000261727 00000 n 
+0000261790 00000 n 
+0000261853 00000 n 
+0000261916 00000 n 
+0000261979 00000 n 
+0000262042 00000 n 
+0000262168 00000 n 
+0000262231 00000 n 
+0000262295 00000 n 
+0000262358 00000 n 
+0000262421 00000 n 
+0000262484 00000 n 
+0000262547 00000 n 
+0000267981 00000 n 
+0000265329 00000 n 
+0000262740 00000 n 
+0000265963 00000 n 
+0000266089 00000 n 
+0000265492 00000 n 
+0000265661 00000 n 
+0000266152 00000 n 
+0000266215 00000 n 
+0000266278 00000 n 
+0000266342 00000 n 
+0000266405 00000 n 
+0000266531 00000 n 
+0000266594 00000 n 
+0000266657 00000 n 
+0000266720 00000 n 
+0000266783 00000 n 
+0000266847 00000 n 
+0000265809 00000 n 
+0000266910 00000 n 
+0000266973 00000 n 
+0000267035 00000 n 
+0000267099 00000 n 
+0000267161 00000 n 
+0000267223 00000 n 
+0000267286 00000 n 
+0000267349 00000 n 
+0000267413 00000 n 
+0000267477 00000 n 
+0000267540 00000 n 
+0000267604 00000 n 
+0000000000 00000 f 
+0000680584 00000 n 
+0000267667 00000 n 
+0000267729 00000 n 
+0000267792 00000 n 
+0000267855 00000 n 
+0000267919 00000 n 
+0000662202 00000 n 
+0000272992 00000 n 
+0000270197 00000 n 
+0000268125 00000 n 
+0000270661 00000 n 
+0000270787 00000 n 
+0000270850 00000 n 
+0000270914 00000 n 
+0000270977 00000 n 
+0000271040 00000 n 
+0000271103 00000 n 
+0000271166 00000 n 
+0000271228 00000 n 
+0000271291 00000 n 
+0000271354 00000 n 
+0000271417 00000 n 
+0000271480 00000 n 
+0000271543 00000 n 
+0000271606 00000 n 
+0000271669 00000 n 
+0000271732 00000 n 
+0000271920 00000 n 
+0000272046 00000 n 
+0000270351 00000 n 
+0000270507 00000 n 
+0000272109 00000 n 
+0000272233 00000 n 
+0000272296 00000 n 
+0000272359 00000 n 
+0000272423 00000 n 
+0000272487 00000 n 
+0000272551 00000 n 
+0000272615 00000 n 
+0000272741 00000 n 
+0000272867 00000 n 
+0000272929 00000 n 
+0000683826 00000 n 
+0000276033 00000 n 
+0000274580 00000 n 
+0000273178 00000 n 
+0000274704 00000 n 
+0000274767 00000 n 
+0000274892 00000 n 
+0000274955 00000 n 
+0000275019 00000 n 
+0000275083 00000 n 
+0000275209 00000 n 
+0000275272 00000 n 
+0000275335 00000 n 
+0000275399 00000 n 
+0000275463 00000 n 
+0000275526 00000 n 
+0000275589 00000 n 
+0000275653 00000 n 
+0000275717 00000 n 
+0000275780 00000 n 
+0000275844 00000 n 
+0000275907 00000 n 
+0000275970 00000 n 
+0000279900 00000 n 
+0000277887 00000 n 
+0000276205 00000 n 
+0000278011 00000 n 
+0000278074 00000 n 
+0000278138 00000 n 
+0000278264 00000 n 
+0000278327 00000 n 
+0000278389 00000 n 
+0000278451 00000 n 
+0000278514 00000 n 
+0000278577 00000 n 
+0000278640 00000 n 
+0000278703 00000 n 
+0000278766 00000 n 
+0000278829 00000 n 
+0000278892 00000 n 
+0000278954 00000 n 
+0000279017 00000 n 
+0000279080 00000 n 
+0000279144 00000 n 
+0000279270 00000 n 
+0000279333 00000 n 
+0000279459 00000 n 
+0000279522 00000 n 
+0000279584 00000 n 
+0000279647 00000 n 
+0000279711 00000 n 
+0000279775 00000 n 
+0000279837 00000 n 
+0000283140 00000 n 
+0000281625 00000 n 
+0000280044 00000 n 
+0000281749 00000 n 
+0000281812 00000 n 
+0000281875 00000 n 
+0000281939 00000 n 
+0000282003 00000 n 
+0000282066 00000 n 
+0000282192 00000 n 
+0000282255 00000 n 
+0000282318 00000 n 
+0000282381 00000 n 
+0000282444 00000 n 
+0000282508 00000 n 
+0000282572 00000 n 
+0000282636 00000 n 
+0000282699 00000 n 
+0000282762 00000 n 
+0000282825 00000 n 
+0000282888 00000 n 
+0000282952 00000 n 
+0000283014 00000 n 
+0000283077 00000 n 
+0000286943 00000 n 
+0000285051 00000 n 
+0000283270 00000 n 
+0000285175 00000 n 
+0000285238 00000 n 
+0000285301 00000 n 
+0000285365 00000 n 
+0000285429 00000 n 
+0000285492 00000 n 
+0000285554 00000 n 
+0000285617 00000 n 
+0000285681 00000 n 
+0000285745 00000 n 
+0000285807 00000 n 
+0000285870 00000 n 
+0000285930 00000 n 
+0000285994 00000 n 
+0000286058 00000 n 
+0000286122 00000 n 
+0000286186 00000 n 
+0000286250 00000 n 
+0000286376 00000 n 
+0000286439 00000 n 
+0000286564 00000 n 
+0000286627 00000 n 
+0000286691 00000 n 
+0000286754 00000 n 
+0000286817 00000 n 
+0000286880 00000 n 
+0000290190 00000 n 
+0000288859 00000 n 
+0000287101 00000 n 
+0000289175 00000 n 
+0000289238 00000 n 
+0000289302 00000 n 
+0000289428 00000 n 
+0000289004 00000 n 
+0000289491 00000 n 
+0000289554 00000 n 
+0000289617 00000 n 
+0000289681 00000 n 
+0000289744 00000 n 
+0000289808 00000 n 
+0000289872 00000 n 
+0000289936 00000 n 
+0000289999 00000 n 
+0000290063 00000 n 
+0000290126 00000 n 
+0000295048 00000 n 
+0000292970 00000 n 
+0000290334 00000 n 
+0000293094 00000 n 
+0000293409 00000 n 
+0000293472 00000 n 
+0000293534 00000 n 
+0000293596 00000 n 
+0000293659 00000 n 
+0000293722 00000 n 
+0000293785 00000 n 
+0000293848 00000 n 
+0000293911 00000 n 
+0000293975 00000 n 
+0000294038 00000 n 
+0000294102 00000 n 
+0000294165 00000 n 
+0000294228 00000 n 
+0000294291 00000 n 
+0000294354 00000 n 
+0000294418 00000 n 
+0000294480 00000 n 
+0000294543 00000 n 
+0000294605 00000 n 
+0000294669 00000 n 
+0000294732 00000 n 
+0000294796 00000 n 
+0000294859 00000 n 
+0000294922 00000 n 
+0000294985 00000 n 
+0000683951 00000 n 
+0000299960 00000 n 
+0000298202 00000 n 
+0000295178 00000 n 
+0000298326 00000 n 
+0000298389 00000 n 
+0000298452 00000 n 
+0000298516 00000 n 
+0000298579 00000 n 
+0000298641 00000 n 
+0000298704 00000 n 
+0000298767 00000 n 
+0000298829 00000 n 
+0000298892 00000 n 
+0000298953 00000 n 
+0000299016 00000 n 
+0000299079 00000 n 
+0000299141 00000 n 
+0000299203 00000 n 
+0000299266 00000 n 
+0000299329 00000 n 
+0000299392 00000 n 
+0000299455 00000 n 
+0000299518 00000 n 
+0000299581 00000 n 
+0000299644 00000 n 
+0000299707 00000 n 
+0000299771 00000 n 
+0000299834 00000 n 
+0000304173 00000 n 
+0000302161 00000 n 
+0000300104 00000 n 
+0000302285 00000 n 
+0000302411 00000 n 
+0000302537 00000 n 
+0000302599 00000 n 
+0000302662 00000 n 
+0000302725 00000 n 
+0000302850 00000 n 
+0000302976 00000 n 
+0000303039 00000 n 
+0000303102 00000 n 
+0000303165 00000 n 
+0000303228 00000 n 
+0000303291 00000 n 
+0000303354 00000 n 
+0000303416 00000 n 
+0000303479 00000 n 
+0000303543 00000 n 
+0000303607 00000 n 
+0000303733 00000 n 
+0000303796 00000 n 
+0000303859 00000 n 
+0000303923 00000 n 
+0000303985 00000 n 
 0000304047 00000 n 
-0000304236 00000 n 
-0000304299 00000 n 
-0000304363 00000 n 
-0000304426 00000 n 
-0000304489 00000 n 
-0000304552 00000 n 
-0000304615 00000 n 
-0000304678 00000 n 
-0000304740 00000 n 
-0000304926 00000 n 
-0000304989 00000 n 
-0000310171 00000 n 
-0000307897 00000 n 
-0000305164 00000 n 
-0000308021 00000 n 
-0000308084 00000 n 
-0000308147 00000 n 
-0000308210 00000 n 
-0000308273 00000 n 
-0000308336 00000 n 
-0000308399 00000 n 
-0000308525 00000 n 
-0000308588 00000 n 
-0000308652 00000 n 
-0000308716 00000 n 
-0000308779 00000 n 
-0000308842 00000 n 
-0000308905 00000 n 
-0000308968 00000 n 
-0000309031 00000 n 
-0000309094 00000 n 
-0000309157 00000 n 
-0000309221 00000 n 
-0000309285 00000 n 
-0000309348 00000 n 
-0000309412 00000 n 
-0000309475 00000 n 
-0000309538 00000 n 
-0000309601 00000 n 
-0000309664 00000 n 
-0000309727 00000 n 
-0000309790 00000 n 
-0000309854 00000 n 
-0000309918 00000 n 
-0000309981 00000 n 
-0000310044 00000 n 
-0000310108 00000 n 
-0000312461 00000 n 
-0000311643 00000 n 
-0000310310 00000 n 
-0000311767 00000 n 
-0000311893 00000 n 
-0000311956 00000 n 
-0000312019 00000 n 
-0000312082 00000 n 
-0000312146 00000 n 
-0000312209 00000 n 
-0000312273 00000 n 
-0000312336 00000 n 
-0000312399 00000 n 
-0000314710 00000 n 
-0000314523 00000 n 
-0000312586 00000 n 
-0000314647 00000 n 
-0000316441 00000 n 
-0000316254 00000 n 
-0000314796 00000 n 
-0000316378 00000 n 
-0000318462 00000 n 
-0000318275 00000 n 
-0000316527 00000 n 
-0000318399 00000 n 
-0000450611 00000 n 
-0000322697 00000 n 
-0000320443 00000 n 
-0000318548 00000 n 
-0000321057 00000 n 
-0000321245 00000 n 
-0000321371 00000 n 
-0000320606 00000 n 
-0000320753 00000 n 
-0000320906 00000 n 
-0000321434 00000 n 
-0000321560 00000 n 
-0000321623 00000 n 
-0000321685 00000 n 
-0000321749 00000 n 
-0000321812 00000 n 
-0000321875 00000 n 
-0000321939 00000 n 
-0000322065 00000 n 
-0000322128 00000 n 
-0000322191 00000 n 
-0000322254 00000 n 
-0000322318 00000 n 
-0000322381 00000 n 
-0000322507 00000 n 
-0000322570 00000 n 
-0000322633 00000 n 
-0000327161 00000 n 
-0000324961 00000 n 
-0000322809 00000 n 
-0000325085 00000 n 
-0000325398 00000 n 
-0000325461 00000 n 
-0000325647 00000 n 
-0000325710 00000 n 
-0000325773 00000 n 
-0000325836 00000 n 
-0000325898 00000 n 
-0000325961 00000 n 
-0000326025 00000 n 
-0000326089 00000 n 
-0000326152 00000 n 
-0000326215 00000 n 
-0000326278 00000 n 
-0000326341 00000 n 
-0000326405 00000 n 
-0000326469 00000 n 
-0000326657 00000 n 
-0000326720 00000 n 
-0000326784 00000 n 
-0000326847 00000 n 
-0000326909 00000 n 
-0000326972 00000 n 
-0000327035 00000 n 
-0000327098 00000 n 
-0000334118 00000 n 
-0000330348 00000 n 
-0000327260 00000 n 
-0000330472 00000 n 
-0000330535 00000 n 
-0000330597 00000 n 
-0000330660 00000 n 
-0000330723 00000 n 
-0000330786 00000 n 
-0000330849 00000 n 
-0000330912 00000 n 
-0000330975 00000 n 
-0000331038 00000 n 
-0000331101 00000 n 
-0000331164 00000 n 
-0000331227 00000 n 
-0000331290 00000 n 
-0000331353 00000 n 
-0000331415 00000 n 
-0000331478 00000 n 
-0000331541 00000 n 
-0000331604 00000 n 
-0000331667 00000 n 
-0000331730 00000 n 
-0000331793 00000 n 
-0000331856 00000 n 
-0000331919 00000 n 
-0000331980 00000 n 
-0000332043 00000 n 
-0000332106 00000 n 
-0000332169 00000 n 
-0000332231 00000 n 
-0000332293 00000 n 
-0000332356 00000 n 
-0000332419 00000 n 
-0000332482 00000 n 
-0000332545 00000 n 
-0000332608 00000 n 
-0000332671 00000 n 
-0000332734 00000 n 
-0000332797 00000 n 
-0000332860 00000 n 
-0000332923 00000 n 
-0000332986 00000 n 
-0000333049 00000 n 
-0000333112 00000 n 
-0000333175 00000 n 
-0000333238 00000 n 
-0000333300 00000 n 
-0000333363 00000 n 
-0000333426 00000 n 
-0000333489 00000 n 
-0000333552 00000 n 
-0000333615 00000 n 
-0000333678 00000 n 
-0000333741 00000 n 
-0000333928 00000 n 
-0000333991 00000 n 
-0000334055 00000 n 
-0000338547 00000 n 
-0000336663 00000 n 
-0000334217 00000 n 
-0000336787 00000 n 
-0000336850 00000 n 
-0000337038 00000 n 
-0000337101 00000 n 
-0000337164 00000 n 
-0000337227 00000 n 
-0000337414 00000 n 
-0000337477 00000 n 
-0000337541 00000 n 
-0000337604 00000 n 
-0000337667 00000 n 
-0000337730 00000 n 
-0000337793 00000 n 
-0000337856 00000 n 
-0000337919 00000 n 
-0000337982 00000 n 
-0000338045 00000 n 
-0000338108 00000 n 
-0000338170 00000 n 
-0000338233 00000 n 
-0000338296 00000 n 
-0000338359 00000 n 
-0000338422 00000 n 
-0000342114 00000 n 
-0000340612 00000 n 
-0000338646 00000 n 
-0000340736 00000 n 
-0000340799 00000 n 
-0000340923 00000 n 
-0000340986 00000 n 
-0000341049 00000 n 
-0000341111 00000 n 
-0000341173 00000 n 
-0000341299 00000 n 
-0000341362 00000 n 
-0000341486 00000 n 
-0000341548 00000 n 
-0000341674 00000 n 
-0000341737 00000 n 
-0000341863 00000 n 
-0000341926 00000 n 
-0000342051 00000 n 
-0000345373 00000 n 
-0000343865 00000 n 
-0000342213 00000 n 
-0000343989 00000 n 
-0000344114 00000 n 
-0000344177 00000 n 
-0000344240 00000 n 
-0000344364 00000 n 
-0000344551 00000 n 
-0000344614 00000 n 
-0000344740 00000 n 
-0000344803 00000 n 
-0000344867 00000 n 
-0000344930 00000 n 
-0000344993 00000 n 
-0000345056 00000 n 
-0000345182 00000 n 
-0000345245 00000 n 
-0000345309 00000 n 
-0000450736 00000 n 
-0000349149 00000 n 
-0000347578 00000 n 
-0000345485 00000 n 
-0000347702 00000 n 
-0000347765 00000 n 
-0000347828 00000 n 
-0000347892 00000 n 
-0000348018 00000 n 
-0000348081 00000 n 
-0000348143 00000 n 
-0000348268 00000 n 
-0000348331 00000 n 
-0000348394 00000 n 
-0000348457 00000 n 
-0000348520 00000 n 
-0000348709 00000 n 
-0000348772 00000 n 
-0000348897 00000 n 
-0000348960 00000 n 
-0000349024 00000 n 
-0000349086 00000 n 
-0000351516 00000 n 
-0000350511 00000 n 
-0000349261 00000 n 
-0000350635 00000 n 
-0000350761 00000 n 
-0000350824 00000 n 
-0000350887 00000 n 
-0000350950 00000 n 
-0000351013 00000 n 
-0000351076 00000 n 
-0000351202 00000 n 
-0000351390 00000 n 
-0000351453 00000 n 
-0000355725 00000 n 
-0000353774 00000 n 
-0000351629 00000 n 
-0000353898 00000 n 
-0000354086 00000 n 
-0000354149 00000 n 
-0000354212 00000 n 
-0000354275 00000 n 
-0000354337 00000 n 
-0000354400 00000 n 
-0000354463 00000 n 
-0000354527 00000 n 
-0000354590 00000 n 
-0000354653 00000 n 
-0000354716 00000 n 
-0000354778 00000 n 
-0000354841 00000 n 
-0000354904 00000 n 
-0000354967 00000 n 
-0000355031 00000 n 
-0000355094 00000 n 
-0000355157 00000 n 
-0000355220 00000 n 
-0000355284 00000 n 
-0000355347 00000 n 
-0000355409 00000 n 
-0000355472 00000 n 
-0000355535 00000 n 
-0000355598 00000 n 
-0000355661 00000 n 
-0000359735 00000 n 
-0000357845 00000 n 
-0000355850 00000 n 
-0000357969 00000 n 
-0000358032 00000 n 
-0000358095 00000 n 
-0000358158 00000 n 
-0000358221 00000 n 
-0000358285 00000 n 
-0000358348 00000 n 
-0000358410 00000 n 
-0000358473 00000 n 
-0000358537 00000 n 
-0000358600 00000 n 
-0000358664 00000 n 
-0000358727 00000 n 
-0000358790 00000 n 
-0000358854 00000 n 
-0000358917 00000 n 
-0000358980 00000 n 
-0000359042 00000 n 
-0000359104 00000 n 
-0000359167 00000 n 
-0000359230 00000 n 
-0000359294 00000 n 
-0000359357 00000 n 
-0000359420 00000 n 
-0000359483 00000 n 
-0000359546 00000 n 
-0000359609 00000 n 
-0000359672 00000 n 
-0000363822 00000 n 
-0000362249 00000 n 
-0000359847 00000 n 
-0000362373 00000 n 
-0000362436 00000 n 
-0000362499 00000 n 
-0000362563 00000 n 
-0000362625 00000 n 
-0000362688 00000 n 
-0000362752 00000 n 
-0000362815 00000 n 
-0000362877 00000 n 
-0000362940 00000 n 
-0000363003 00000 n 
-0000363066 00000 n 
-0000363128 00000 n 
-0000363191 00000 n 
-0000363254 00000 n 
-0000363317 00000 n 
-0000363380 00000 n 
-0000363443 00000 n 
-0000363505 00000 n 
-0000363569 00000 n 
-0000363633 00000 n 
-0000363696 00000 n 
-0000363759 00000 n 
-0000367856 00000 n 
-0000366349 00000 n 
-0000363961 00000 n 
-0000366473 00000 n 
-0000366536 00000 n 
-0000366599 00000 n 
-0000366661 00000 n 
-0000366725 00000 n 
-0000366786 00000 n 
-0000366849 00000 n 
-0000366912 00000 n 
-0000366975 00000 n 
-0000367038 00000 n 
-0000367101 00000 n 
-0000367165 00000 n 
-0000367228 00000 n 
-0000367291 00000 n 
-0000367354 00000 n 
-0000367416 00000 n 
-0000367479 00000 n 
-0000367542 00000 n 
-0000367604 00000 n 
-0000367667 00000 n 
-0000367730 00000 n 
-0000367793 00000 n 
-0000450861 00000 n 
-0000372580 00000 n 
-0000370261 00000 n 
-0000367955 00000 n 
-0000370558 00000 n 
-0000370621 00000 n 
-0000370683 00000 n 
-0000370746 00000 n 
-0000370809 00000 n 
-0000370872 00000 n 
-0000370935 00000 n 
-0000370998 00000 n 
-0000371061 00000 n 
-0000371124 00000 n 
-0000371187 00000 n 
-0000371250 00000 n 
-0000371314 00000 n 
-0000371377 00000 n 
-0000371440 00000 n 
-0000371503 00000 n 
-0000371566 00000 n 
-0000371630 00000 n 
-0000371693 00000 n 
-0000371756 00000 n 
-0000371819 00000 n 
-0000371882 00000 n 
-0000371946 00000 n 
-0000372010 00000 n 
-0000372074 00000 n 
-0000370406 00000 n 
-0000372137 00000 n 
-0000372201 00000 n 
-0000372265 00000 n 
-0000372329 00000 n 
-0000372393 00000 n 
-0000372456 00000 n 
-0000372517 00000 n 
-0000437116 00000 n 
-0000376967 00000 n 
-0000375326 00000 n 
-0000372692 00000 n 
-0000375450 00000 n 
-0000375513 00000 n 
-0000375575 00000 n 
-0000375638 00000 n 
-0000375701 00000 n 
-0000375763 00000 n 
-0000375826 00000 n 
-0000375889 00000 n 
-0000375953 00000 n 
-0000376017 00000 n 
-0000376080 00000 n 
-0000376143 00000 n 
-0000376206 00000 n 
-0000376270 00000 n 
-0000376334 00000 n 
-0000376398 00000 n 
-0000376461 00000 n 
-0000376524 00000 n 
-0000376588 00000 n 
-0000376651 00000 n 
-0000376715 00000 n 
-0000376778 00000 n 
-0000376841 00000 n 
-0000376904 00000 n 
-0000381451 00000 n 
-0000379180 00000 n 
-0000377106 00000 n 
-0000379304 00000 n 
-0000379367 00000 n 
-0000379430 00000 n 
-0000379493 00000 n 
-0000379555 00000 n 
-0000379618 00000 n 
-0000379681 00000 n 
-0000379744 00000 n 
-0000379807 00000 n 
-0000379870 00000 n 
-0000379934 00000 n 
-0000379997 00000 n 
-0000380059 00000 n 
-0000380121 00000 n 
-0000380185 00000 n 
-0000380248 00000 n 
-0000380311 00000 n 
-0000380374 00000 n 
-0000380438 00000 n 
-0000380501 00000 n 
-0000380565 00000 n 
-0000380628 00000 n 
-0000380692 00000 n 
-0000380755 00000 n 
-0000380819 00000 n 
-0000380883 00000 n 
-0000380947 00000 n 
-0000381011 00000 n 
-0000381074 00000 n 
-0000381137 00000 n 
-0000381200 00000 n 
-0000381263 00000 n 
-0000381325 00000 n 
-0000381388 00000 n 
-0000385048 00000 n 
-0000383727 00000 n 
-0000381563 00000 n 
-0000383851 00000 n 
-0000383914 00000 n 
-0000383977 00000 n 
-0000384040 00000 n 
-0000384103 00000 n 
-0000384166 00000 n 
-0000384229 00000 n 
-0000384292 00000 n 
-0000384355 00000 n 
-0000384418 00000 n 
-0000384481 00000 n 
-0000384545 00000 n 
-0000384608 00000 n 
-0000384671 00000 n 
-0000384734 00000 n 
-0000384797 00000 n 
-0000384859 00000 n 
+0000304110 00000 n 
+0000310484 00000 n 
+0000307343 00000 n 
+0000304317 00000 n 
+0000307467 00000 n 
+0000307530 00000 n 
+0000307593 00000 n 
+0000307656 00000 n 
+0000307719 00000 n 
+0000307782 00000 n 
+0000307845 00000 n 
+0000307908 00000 n 
+0000307971 00000 n 
+0000308034 00000 n 
+0000308097 00000 n 
+0000308160 00000 n 
+0000308223 00000 n 
+0000308285 00000 n 
+0000308349 00000 n 
+0000308412 00000 n 
+0000308475 00000 n 
+0000308539 00000 n 
+0000308602 00000 n 
+0000308666 00000 n 
+0000308729 00000 n 
+0000308792 00000 n 
+0000308855 00000 n 
+0000308918 00000 n 
+0000308981 00000 n 
+0000309044 00000 n 
+0000309107 00000 n 
+0000309170 00000 n 
+0000309233 00000 n 
+0000309296 00000 n 
+0000309358 00000 n 
+0000309420 00000 n 
+0000309483 00000 n 
+0000309546 00000 n 
+0000309609 00000 n 
+0000309672 00000 n 
+0000309733 00000 n 
+0000309794 00000 n 
+0000309856 00000 n 
+0000309919 00000 n 
+0000309982 00000 n 
+0000310045 00000 n 
+0000310107 00000 n 
+0000310169 00000 n 
+0000310232 00000 n 
+0000310295 00000 n 
+0000310358 00000 n 
+0000315138 00000 n 
+0000312886 00000 n 
+0000310628 00000 n 
+0000313187 00000 n 
+0000313313 00000 n 
+0000313031 00000 n 
+0000313376 00000 n 
+0000313439 00000 n 
+0000313502 00000 n 
+0000313565 00000 n 
+0000313628 00000 n 
+0000313691 00000 n 
+0000313754 00000 n 
+0000313817 00000 n 
+0000313880 00000 n 
+0000313943 00000 n 
+0000314132 00000 n 
+0000314195 00000 n 
+0000314258 00000 n 
+0000314322 00000 n 
+0000314385 00000 n 
+0000314448 00000 n 
+0000314511 00000 n 
+0000314574 00000 n 
+0000314637 00000 n 
+0000314700 00000 n 
+0000314763 00000 n 
+0000314950 00000 n 
+0000315013 00000 n 
+0000315076 00000 n 
+0000672865 00000 n 
+0000320314 00000 n 
+0000317416 00000 n 
+0000315240 00000 n 
+0000317540 00000 n 
+0000317603 00000 n 
+0000317666 00000 n 
+0000317729 00000 n 
+0000317792 00000 n 
+0000317855 00000 n 
+0000317918 00000 n 
+0000318105 00000 n 
+0000318168 00000 n 
+0000318231 00000 n 
+0000318293 00000 n 
+0000318356 00000 n 
+0000318419 00000 n 
+0000318482 00000 n 
+0000318545 00000 n 
+0000318608 00000 n 
+0000318671 00000 n 
+0000318734 00000 n 
+0000318797 00000 n 
+0000318860 00000 n 
+0000319048 00000 n 
+0000319111 00000 n 
+0000319175 00000 n 
+0000319239 00000 n 
+0000319302 00000 n 
+0000319428 00000 n 
+0000319491 00000 n 
+0000319555 00000 n 
+0000319618 00000 n 
+0000319681 00000 n 
+0000319745 00000 n 
+0000319807 00000 n 
+0000319870 00000 n 
+0000319934 00000 n 
+0000319997 00000 n 
+0000320060 00000 n 
+0000320122 00000 n 
+0000320186 00000 n 
+0000320250 00000 n 
+0000325496 00000 n 
+0000322211 00000 n 
+0000320430 00000 n 
+0000322335 00000 n 
+0000322398 00000 n 
+0000322461 00000 n 
+0000322524 00000 n 
+0000322588 00000 n 
+0000322651 00000 n 
+0000322714 00000 n 
+0000322778 00000 n 
+0000322842 00000 n 
+0000322905 00000 n 
+0000322968 00000 n 
+0000323031 00000 n 
+0000323095 00000 n 
+0000323158 00000 n 
+0000323221 00000 n 
+0000323347 00000 n 
+0000323473 00000 n 
+0000323536 00000 n 
+0000323600 00000 n 
+0000323663 00000 n 
+0000323726 00000 n 
+0000323789 00000 n 
+0000323852 00000 n 
+0000323914 00000 n 
+0000323976 00000 n 
+0000324039 00000 n 
+0000324102 00000 n 
+0000324166 00000 n 
+0000324229 00000 n 
+0000324292 00000 n 
+0000324355 00000 n 
+0000324418 00000 n 
+0000324482 00000 n 
+0000324545 00000 n 
+0000324608 00000 n 
+0000324732 00000 n 
+0000324795 00000 n 
+0000324859 00000 n 
+0000324923 00000 n 
+0000324987 00000 n 
+0000325051 00000 n 
+0000325114 00000 n 
+0000325178 00000 n 
+0000325241 00000 n 
+0000325305 00000 n 
+0000325369 00000 n 
+0000325433 00000 n 
+0000684076 00000 n 
+0000330147 00000 n 
+0000327436 00000 n 
+0000325612 00000 n 
+0000327560 00000 n 
+0000327686 00000 n 
+0000327749 00000 n 
+0000327871 00000 n 
+0000327934 00000 n 
+0000327997 00000 n 
+0000328061 00000 n 
+0000328125 00000 n 
+0000328188 00000 n 
+0000328251 00000 n 
+0000328315 00000 n 
+0000328378 00000 n 
+0000328441 00000 n 
+0000328505 00000 n 
+0000328568 00000 n 
+0000328631 00000 n 
+0000328694 00000 n 
+0000328758 00000 n 
+0000328884 00000 n 
+0000328947 00000 n 
+0000329011 00000 n 
+0000329075 00000 n 
+0000329138 00000 n 
+0000329201 00000 n 
+0000329327 00000 n 
+0000329389 00000 n 
+0000329453 00000 n 
+0000329517 00000 n 
+0000329581 00000 n 
+0000329643 00000 n 
+0000329768 00000 n 
+0000329831 00000 n 
+0000329895 00000 n 
+0000330021 00000 n 
+0000330084 00000 n 
+0000335799 00000 n 
+0000332763 00000 n 
+0000330277 00000 n 
+0000332887 00000 n 
+0000333013 00000 n 
+0000333076 00000 n 
+0000333202 00000 n 
+0000333265 00000 n 
+0000333328 00000 n 
+0000333392 00000 n 
+0000333455 00000 n 
+0000333518 00000 n 
+0000333581 00000 n 
+0000333644 00000 n 
+0000333708 00000 n 
+0000333772 00000 n 
+0000333835 00000 n 
+0000333899 00000 n 
+0000333962 00000 n 
+0000334026 00000 n 
+0000334090 00000 n 
+0000334153 00000 n 
+0000334216 00000 n 
+0000334278 00000 n 
+0000334342 00000 n 
+0000334406 00000 n 
+0000334470 00000 n 
+0000334533 00000 n 
+0000334597 00000 n 
+0000334660 00000 n 
+0000334723 00000 n 
+0000334786 00000 n 
+0000334850 00000 n 
+0000334914 00000 n 
+0000334978 00000 n 
+0000335042 00000 n 
+0000335106 00000 n 
+0000335170 00000 n 
+0000335296 00000 n 
+0000335359 00000 n 
+0000335421 00000 n 
+0000335483 00000 n 
+0000335609 00000 n 
+0000335672 00000 n 
+0000335736 00000 n 
+0000340199 00000 n 
+0000337736 00000 n 
+0000335901 00000 n 
+0000337860 00000 n 
+0000337986 00000 n 
+0000338049 00000 n 
+0000338113 00000 n 
+0000338177 00000 n 
+0000338241 00000 n 
+0000338304 00000 n 
+0000338367 00000 n 
+0000338493 00000 n 
+0000338556 00000 n 
+0000338682 00000 n 
+0000338745 00000 n 
+0000338808 00000 n 
+0000338934 00000 n 
+0000338997 00000 n 
+0000339061 00000 n 
+0000339124 00000 n 
+0000339187 00000 n 
+0000339313 00000 n 
+0000339375 00000 n 
+0000339438 00000 n 
+0000339501 00000 n 
+0000339565 00000 n 
+0000339628 00000 n 
+0000339692 00000 n 
+0000339756 00000 n 
+0000339820 00000 n 
+0000339945 00000 n 
+0000340008 00000 n 
+0000340072 00000 n 
+0000344796 00000 n 
+0000342721 00000 n 
+0000340329 00000 n 
+0000342845 00000 n 
+0000342908 00000 n 
+0000343033 00000 n 
+0000343095 00000 n 
+0000343158 00000 n 
+0000343221 00000 n 
+0000343284 00000 n 
+0000343347 00000 n 
+0000343410 00000 n 
+0000343473 00000 n 
+0000343536 00000 n 
+0000343599 00000 n 
+0000343662 00000 n 
+0000343725 00000 n 
+0000343788 00000 n 
+0000343851 00000 n 
+0000343914 00000 n 
+0000343977 00000 n 
+0000344165 00000 n 
+0000344228 00000 n 
+0000344291 00000 n 
+0000344354 00000 n 
+0000344417 00000 n 
+0000344480 00000 n 
+0000344669 00000 n 
+0000344732 00000 n 
+0000350058 00000 n 
+0000347410 00000 n 
+0000344898 00000 n 
+0000347534 00000 n 
+0000347597 00000 n 
+0000347660 00000 n 
+0000347724 00000 n 
+0000347787 00000 n 
+0000347851 00000 n 
+0000347912 00000 n 
+0000347975 00000 n 
+0000348039 00000 n 
+0000348165 00000 n 
+0000348228 00000 n 
+0000348291 00000 n 
+0000348353 00000 n 
+0000348416 00000 n 
+0000348480 00000 n 
+0000348543 00000 n 
+0000348605 00000 n 
+0000348668 00000 n 
+0000348731 00000 n 
+0000348794 00000 n 
+0000348857 00000 n 
+0000348920 00000 n 
+0000348984 00000 n 
+0000349048 00000 n 
+0000349112 00000 n 
+0000349176 00000 n 
+0000349239 00000 n 
+0000349302 00000 n 
+0000349365 00000 n 
+0000349428 00000 n 
+0000349492 00000 n 
+0000349555 00000 n 
+0000349618 00000 n 
+0000349681 00000 n 
+0000349744 00000 n 
+0000349870 00000 n 
+0000349933 00000 n 
+0000349995 00000 n 
+0000354060 00000 n 
+0000352045 00000 n 
+0000350174 00000 n 
+0000352169 00000 n 
+0000352232 00000 n 
+0000352295 00000 n 
+0000352358 00000 n 
+0000352421 00000 n 
+0000352484 00000 n 
+0000352547 00000 n 
+0000352673 00000 n 
+0000352736 00000 n 
+0000352800 00000 n 
+0000352863 00000 n 
+0000352926 00000 n 
+0000352989 00000 n 
+0000353052 00000 n 
+0000353115 00000 n 
+0000353178 00000 n 
+0000353241 00000 n 
+0000353304 00000 n 
+0000353367 00000 n 
+0000353430 00000 n 
+0000353494 00000 n 
+0000353558 00000 n 
+0000353621 00000 n 
+0000353684 00000 n 
+0000353809 00000 n 
+0000353934 00000 n 
+0000353997 00000 n 
+0000684201 00000 n 
+0000356789 00000 n 
+0000355345 00000 n 
+0000354176 00000 n 
+0000355469 00000 n 
+0000355532 00000 n 
+0000355594 00000 n 
+0000355720 00000 n 
+0000355783 00000 n 
+0000355846 00000 n 
+0000355972 00000 n 
+0000356035 00000 n 
+0000356098 00000 n 
+0000356161 00000 n 
+0000356223 00000 n 
+0000356286 00000 n 
+0000356349 00000 n 
+0000356411 00000 n 
+0000356474 00000 n 
+0000356537 00000 n 
+0000356600 00000 n 
+0000356663 00000 n 
+0000361732 00000 n 
+0000359396 00000 n 
+0000356905 00000 n 
+0000360030 00000 n 
+0000360155 00000 n 
+0000360218 00000 n 
+0000360282 00000 n 
+0000360345 00000 n 
+0000360408 00000 n 
+0000360471 00000 n 
+0000360534 00000 n 
+0000360597 00000 n 
+0000360660 00000 n 
+0000360723 00000 n 
+0000360786 00000 n 
+0000359559 00000 n 
+0000360849 00000 n 
+0000360912 00000 n 
+0000359712 00000 n 
+0000360975 00000 n 
+0000361038 00000 n 
+0000359871 00000 n 
+0000361100 00000 n 
+0000361163 00000 n 
+0000361226 00000 n 
+0000361289 00000 n 
+0000361352 00000 n 
+0000361415 00000 n 
+0000361542 00000 n 
+0000361605 00000 n 
+0000361669 00000 n 
+0000365663 00000 n 
+0000363403 00000 n 
+0000361876 00000 n 
+0000363527 00000 n 
+0000363590 00000 n 
+0000363652 00000 n 
+0000363715 00000 n 
+0000363778 00000 n 
+0000363841 00000 n 
+0000363905 00000 n 
+0000363968 00000 n 
+0000364029 00000 n 
+0000364090 00000 n 
+0000364152 00000 n 
+0000364216 00000 n 
+0000364280 00000 n 
+0000364343 00000 n 
+0000364406 00000 n 
+0000364532 00000 n 
+0000364594 00000 n 
+0000364657 00000 n 
+0000364720 00000 n 
+0000364783 00000 n 
+0000364845 00000 n 
+0000364908 00000 n 
+0000364971 00000 n 
+0000365034 00000 n 
+0000365097 00000 n 
+0000365160 00000 n 
+0000365223 00000 n 
+0000365286 00000 n 
+0000365348 00000 n 
+0000365411 00000 n 
+0000365474 00000 n 
+0000365537 00000 n 
+0000365600 00000 n 
+0000368975 00000 n 
+0000367607 00000 n 
+0000365835 00000 n 
+0000367907 00000 n 
+0000367970 00000 n 
+0000368032 00000 n 
+0000368096 00000 n 
+0000368158 00000 n 
+0000368284 00000 n 
+0000368347 00000 n 
+0000368410 00000 n 
+0000368473 00000 n 
+0000368536 00000 n 
+0000368599 00000 n 
+0000368661 00000 n 
+0000368724 00000 n 
+0000368787 00000 n 
+0000368850 00000 n 
+0000368912 00000 n 
+0000367752 00000 n 
+0000374029 00000 n 
+0000371415 00000 n 
+0000369147 00000 n 
+0000371880 00000 n 
+0000372069 00000 n 
+0000372132 00000 n 
+0000372196 00000 n 
+0000372384 00000 n 
+0000372510 00000 n 
+0000372573 00000 n 
+0000372698 00000 n 
+0000371569 00000 n 
+0000372761 00000 n 
+0000372825 00000 n 
+0000372889 00000 n 
+0000372953 00000 n 
+0000371724 00000 n 
+0000373017 00000 n 
+0000373080 00000 n 
+0000373144 00000 n 
+0000373208 00000 n 
+0000373272 00000 n 
+0000373335 00000 n 
+0000373395 00000 n 
+0000373458 00000 n 
+0000373521 00000 n 
+0000373585 00000 n 
+0000373649 00000 n 
+0000373713 00000 n 
+0000373839 00000 n 
+0000373902 00000 n 
+0000665407 00000 n 
+0000676919 00000 n 
+0000378515 00000 n 
+0000375777 00000 n 
+0000374173 00000 n 
+0000376436 00000 n 
+0000376562 00000 n 
+0000376687 00000 n 
+0000375940 00000 n 
+0000376750 00000 n 
+0000376875 00000 n 
+0000376938 00000 n 
+0000377002 00000 n 
+0000377066 00000 n 
+0000377192 00000 n 
+0000377255 00000 n 
+0000377318 00000 n 
+0000377381 00000 n 
+0000377445 00000 n 
+0000377570 00000 n 
+0000377633 00000 n 
+0000377696 00000 n 
+0000377759 00000 n 
+0000377823 00000 n 
+0000377886 00000 n 
+0000377948 00000 n 
+0000378011 00000 n 
+0000376104 00000 n 
+0000378074 00000 n 
+0000378200 00000 n 
+0000376275 00000 n 
+0000378325 00000 n 
+0000378388 00000 n 
+0000378452 00000 n 
+0000684326 00000 n 
+0000386247 00000 n 
+0000380602 00000 n 
+0000378673 00000 n 
+0000381067 00000 n 
+0000381382 00000 n 
+0000381445 00000 n 
+0000381509 00000 n 
+0000381572 00000 n 
+0000380756 00000 n 
+0000380912 00000 n 
+0000381635 00000 n 
+0000381698 00000 n 
+0000381761 00000 n 
+0000381824 00000 n 
+0000381886 00000 n 
+0000381948 00000 n 
+0000382011 00000 n 
+0000382075 00000 n 
+0000382139 00000 n 
+0000382203 00000 n 
+0000382267 00000 n 
+0000382331 00000 n 
+0000382395 00000 n 
+0000382458 00000 n 
+0000382521 00000 n 
+0000382585 00000 n 
+0000382649 00000 n 
+0000382713 00000 n 
+0000382777 00000 n 
+0000382840 00000 n 
+0000382899 00000 n 
+0000382958 00000 n 
+0000383021 00000 n 
+0000383084 00000 n 
+0000383147 00000 n 
+0000383210 00000 n 
+0000383273 00000 n 
+0000383337 00000 n 
+0000383401 00000 n 
+0000383464 00000 n 
+0000383527 00000 n 
+0000383590 00000 n 
+0000383653 00000 n 
+0000383716 00000 n 
+0000383779 00000 n 
+0000383842 00000 n 
+0000383905 00000 n 
+0000383968 00000 n 
+0000384031 00000 n 
+0000384095 00000 n 
+0000384159 00000 n 
+0000384223 00000 n 
+0000384286 00000 n 
+0000384349 00000 n 
+0000384412 00000 n 
+0000384475 00000 n 
+0000384539 00000 n 
+0000384602 00000 n 
+0000384666 00000 n 
+0000384730 00000 n 
+0000384794 00000 n 
+0000384858 00000 n 
 0000384922 00000 n 
-0000384985 00000 n 
-0000389020 00000 n 
-0000387248 00000 n 
-0000385160 00000 n 
-0000387372 00000 n 
-0000387435 00000 n 
-0000387498 00000 n 
-0000387561 00000 n 
-0000387625 00000 n 
-0000387688 00000 n 
-0000387752 00000 n 
-0000387816 00000 n 
-0000387879 00000 n 
-0000387942 00000 n 
-0000388006 00000 n 
-0000388069 00000 n 
-0000388132 00000 n 
-0000388195 00000 n 
-0000388258 00000 n 
-0000388322 00000 n 
-0000388386 00000 n 
-0000388450 00000 n 
-0000388513 00000 n 
-0000388577 00000 n 
-0000388641 00000 n 
-0000388704 00000 n 
-0000388768 00000 n 
-0000388830 00000 n 
-0000388894 00000 n 
-0000388957 00000 n 
-0000392442 00000 n 
-0000390803 00000 n 
-0000389119 00000 n 
-0000390927 00000 n 
-0000391115 00000 n 
-0000391178 00000 n 
-0000391364 00000 n 
-0000391427 00000 n 
-0000391490 00000 n 
-0000391554 00000 n 
-0000391618 00000 n 
-0000391682 00000 n 
-0000391745 00000 n 
-0000391808 00000 n 
-0000391871 00000 n 
-0000391934 00000 n 
-0000391997 00000 n 
-0000392060 00000 n 
-0000392123 00000 n 
-0000392187 00000 n 
-0000392251 00000 n 
-0000392314 00000 n 
-0000392378 00000 n 
-0000450986 00000 n 
-0000395814 00000 n 
-0000393611 00000 n 
-0000392567 00000 n 
-0000393735 00000 n 
-0000394047 00000 n 
-0000394109 00000 n 
-0000394172 00000 n 
-0000394235 00000 n 
-0000394298 00000 n 
-0000394361 00000 n 
-0000394424 00000 n 
-0000394487 00000 n 
-0000394550 00000 n 
-0000394737 00000 n 
-0000394800 00000 n 
-0000394863 00000 n 
-0000394926 00000 n 
-0000394990 00000 n 
-0000395054 00000 n 
-0000395118 00000 n 
-0000395181 00000 n 
-0000395243 00000 n 
-0000395307 00000 n 
-0000395371 00000 n 
-0000395435 00000 n 
-0000395498 00000 n 
-0000395561 00000 n 
-0000395625 00000 n 
-0000395689 00000 n 
-0000395752 00000 n 
-0000398510 00000 n 
-0000396673 00000 n 
-0000395926 00000 n 
-0000396797 00000 n 
-0000396860 00000 n 
-0000396924 00000 n 
-0000396988 00000 n 
-0000397051 00000 n 
-0000397114 00000 n 
-0000397178 00000 n 
-0000397241 00000 n 
-0000397305 00000 n 
-0000397368 00000 n 
-0000397431 00000 n 
-0000397495 00000 n 
-0000397559 00000 n 
-0000397622 00000 n 
-0000397685 00000 n 
-0000397749 00000 n 
-0000397813 00000 n 
-0000397875 00000 n 
-0000397938 00000 n 
-0000398001 00000 n 
-0000398065 00000 n 
-0000398129 00000 n 
-0000398192 00000 n 
-0000398255 00000 n 
-0000398319 00000 n 
-0000398383 00000 n 
-0000398447 00000 n 
-0000401067 00000 n 
-0000399293 00000 n 
-0000398596 00000 n 
-0000399417 00000 n 
-0000399480 00000 n 
-0000399543 00000 n 
-0000399607 00000 n 
-0000399670 00000 n 
-0000399733 00000 n 
-0000399797 00000 n 
-0000399860 00000 n 
-0000399924 00000 n 
-0000399987 00000 n 
-0000400050 00000 n 
-0000400114 00000 n 
-0000400178 00000 n 
-0000400242 00000 n 
-0000400305 00000 n 
-0000400368 00000 n 
-0000400432 00000 n 
-0000400495 00000 n 
-0000400559 00000 n 
-0000400622 00000 n 
-0000400685 00000 n 
-0000400749 00000 n 
-0000400813 00000 n 
-0000400876 00000 n 
-0000400939 00000 n 
-0000401003 00000 n 
-0000404791 00000 n 
-0000403477 00000 n 
-0000401153 00000 n 
-0000403601 00000 n 
-0000403788 00000 n 
-0000403851 00000 n 
-0000403913 00000 n 
-0000404100 00000 n 
-0000404163 00000 n 
-0000404226 00000 n 
-0000404413 00000 n 
-0000404476 00000 n 
-0000404539 00000 n 
-0000404602 00000 n 
-0000404665 00000 n 
-0000404728 00000 n 
-0000408364 00000 n 
-0000407487 00000 n 
-0000404890 00000 n 
-0000407611 00000 n 
-0000407674 00000 n 
-0000407737 00000 n 
-0000407925 00000 n 
-0000407987 00000 n 
-0000408175 00000 n 
-0000408238 00000 n 
-0000408301 00000 n 
-0000413604 00000 n 
-0000411217 00000 n 
-0000408463 00000 n 
-0000411341 00000 n 
-0000411404 00000 n 
-0000411466 00000 n 
-0000411654 00000 n 
-0000411717 00000 n 
-0000411780 00000 n 
-0000411843 00000 n 
-0000411906 00000 n 
-0000411969 00000 n 
-0000412032 00000 n 
-0000412095 00000 n 
-0000412158 00000 n 
-0000412220 00000 n 
-0000412283 00000 n 
-0000412346 00000 n 
-0000412409 00000 n 
-0000412472 00000 n 
-0000412535 00000 n 
-0000412598 00000 n 
-0000412661 00000 n 
-0000412724 00000 n 
-0000412786 00000 n 
-0000412849 00000 n 
-0000412912 00000 n 
-0000412975 00000 n 
-0000413037 00000 n 
-0000413100 00000 n 
-0000413163 00000 n 
-0000413226 00000 n 
-0000413289 00000 n 
-0000413352 00000 n 
-0000413415 00000 n 
-0000413478 00000 n 
-0000413541 00000 n 
-0000451111 00000 n 
-0000416987 00000 n 
-0000415921 00000 n 
-0000413703 00000 n 
-0000416045 00000 n 
-0000416108 00000 n 
-0000416171 00000 n 
-0000416359 00000 n 
-0000416422 00000 n 
-0000416485 00000 n 
-0000416673 00000 n 
-0000416736 00000 n 
-0000416924 00000 n 
-0000420272 00000 n 
-0000419081 00000 n 
-0000417086 00000 n 
-0000419205 00000 n 
-0000419268 00000 n 
-0000419456 00000 n 
-0000419644 00000 n 
-0000419832 00000 n 
-0000419895 00000 n 
-0000419959 00000 n 
-0000420147 00000 n 
-0000420209 00000 n 
-0000421689 00000 n 
-0000421313 00000 n 
-0000420371 00000 n 
-0000421437 00000 n 
-0000421500 00000 n 
-0000421563 00000 n 
-0000421626 00000 n 
-0000427272 00000 n 
-0000423572 00000 n 
-0000421775 00000 n 
-0000423872 00000 n 
-0000424060 00000 n 
-0000424186 00000 n 
-0000424310 00000 n 
-0000424373 00000 n 
-0000424436 00000 n 
-0000424500 00000 n 
-0000424564 00000 n 
-0000424689 00000 n 
-0000424815 00000 n 
-0000424878 00000 n 
-0000424941 00000 n 
-0000425005 00000 n 
-0000425069 00000 n 
-0000425132 00000 n 
-0000425257 00000 n 
-0000425320 00000 n 
-0000425383 00000 n 
-0000425446 00000 n 
-0000425509 00000 n 
-0000425573 00000 n 
-0000425635 00000 n 
-0000425697 00000 n 
-0000425759 00000 n 
-0000425822 00000 n 
-0000425885 00000 n 
-0000425948 00000 n 
-0000426011 00000 n 
-0000426075 00000 n 
-0000426138 00000 n 
-0000426200 00000 n 
-0000426262 00000 n 
-0000426324 00000 n 
-0000426387 00000 n 
-0000426451 00000 n 
-0000426515 00000 n 
-0000426579 00000 n 
-0000426643 00000 n 
-0000426707 00000 n 
-0000426771 00000 n 
-0000426834 00000 n 
-0000426896 00000 n 
-0000426958 00000 n 
-0000427020 00000 n 
-0000427083 00000 n 
-0000427147 00000 n 
-0000423717 00000 n 
-0000427210 00000 n 
-0000430994 00000 n 
-0000428604 00000 n 
-0000427397 00000 n 
-0000428728 00000 n 
-0000428852 00000 n 
-0000428976 00000 n 
-0000429039 00000 n 
-0000429101 00000 n 
-0000429164 00000 n 
-0000429228 00000 n 
-0000429292 00000 n 
-0000429418 00000 n 
-0000429481 00000 n 
-0000429670 00000 n 
-0000429733 00000 n 
-0000429796 00000 n 
-0000430047 00000 n 
-0000430109 00000 n 
-0000430172 00000 n 
-0000430235 00000 n 
-0000430299 00000 n 
-0000430425 00000 n 
-0000430488 00000 n 
-0000430677 00000 n 
-0000430740 00000 n 
-0000430803 00000 n 
-0000430866 00000 n 
-0000430930 00000 n 
-0000434633 00000 n 
-0000432368 00000 n 
-0000431093 00000 n 
-0000432492 00000 n 
-0000432618 00000 n 
-0000432743 00000 n 
-0000432806 00000 n 
-0000432869 00000 n 
-0000432933 00000 n 
-0000432997 00000 n 
-0000433060 00000 n 
-0000433124 00000 n 
-0000433249 00000 n 
-0000433375 00000 n 
-0000433438 00000 n 
-0000433501 00000 n 
-0000433565 00000 n 
-0000433628 00000 n 
-0000433752 00000 n 
-0000433877 00000 n 
-0000433940 00000 n 
-0000434003 00000 n 
-0000434067 00000 n 
-0000434131 00000 n 
-0000434193 00000 n 
-0000434318 00000 n 
-0000434444 00000 n 
-0000434507 00000 n 
-0000434570 00000 n 
-0000451236 00000 n 
-0000439817 00000 n 
-0000436463 00000 n 
-0000434773 00000 n 
-0000436930 00000 n 
-0000436993 00000 n 
-0000437240 00000 n 
-0000437303 00000 n 
-0000437365 00000 n 
-0000437428 00000 n 
-0000437491 00000 n 
-0000437555 00000 n 
-0000437619 00000 n 
-0000437745 00000 n 
-0000437808 00000 n 
-0000436617 00000 n 
-0000437870 00000 n 
-0000437933 00000 n 
-0000437996 00000 n 
-0000438059 00000 n 
-0000438122 00000 n 
-0000438185 00000 n 
-0000438248 00000 n 
-0000438310 00000 n 
-0000438372 00000 n 
-0000438435 00000 n 
-0000438499 00000 n 
-0000438563 00000 n 
-0000438626 00000 n 
-0000438689 00000 n 
-0000438752 00000 n 
-0000436772 00000 n 
-0000438816 00000 n 
-0000439065 00000 n 
-0000439128 00000 n 
-0000439191 00000 n 
-0000439378 00000 n 
-0000439441 00000 n 
-0000439504 00000 n 
-0000439629 00000 n 
-0000439691 00000 n 
-0000439754 00000 n 
-0000442055 00000 n 
-0000443761 00000 n 
-0000441113 00000 n 
-0000439929 00000 n 
-0000441237 00000 n 
-0000441361 00000 n 
-0000441486 00000 n 
-0000441548 00000 n 
-0000441611 00000 n 
-0000441674 00000 n 
-0000441738 00000 n 
-0000441802 00000 n 
-0000441866 00000 n 
-0000441930 00000 n 
-0000442181 00000 n 
-0000442244 00000 n 
-0000442307 00000 n 
-0000442433 00000 n 
-0000442496 00000 n 
-0000442559 00000 n 
-0000442623 00000 n 
-0000442747 00000 n 
-0000442810 00000 n 
-0000442936 00000 n 
-0000442999 00000 n 
-0000443062 00000 n 
-0000443125 00000 n 
-0000443189 00000 n 
-0000443253 00000 n 
-0000443317 00000 n 
-0000443381 00000 n 
-0000443445 00000 n 
-0000443509 00000 n 
-0000443572 00000 n 
-0000443634 00000 n 
-0000443698 00000 n 
-0000446783 00000 n 
-0000445341 00000 n 
-0000443860 00000 n 
-0000445465 00000 n 
-0000445589 00000 n 
+0000384986 00000 n 
+0000385050 00000 n 
+0000385114 00000 n 
+0000385178 00000 n 
+0000385241 00000 n 
+0000385304 00000 n 
+0000385366 00000 n 
+0000385428 00000 n 
+0000385492 00000 n 
+0000385554 00000 n 
+0000385617 00000 n 
+0000385680 00000 n 
+0000385743 00000 n 
+0000385806 00000 n 
+0000385869 00000 n 
+0000385932 00000 n 
+0000385995 00000 n 
+0000386058 00000 n 
+0000386121 00000 n 
+0000386184 00000 n 
+0000655831 00000 n 
+0000391203 00000 n 
+0000388669 00000 n 
+0000386391 00000 n 
+0000389303 00000 n 
+0000389366 00000 n 
+0000389429 00000 n 
+0000389493 00000 n 
+0000389557 00000 n 
+0000389621 00000 n 
+0000389685 00000 n 
+0000389748 00000 n 
+0000389811 00000 n 
+0000389874 00000 n 
+0000388832 00000 n 
+0000389937 00000 n 
+0000390063 00000 n 
+0000390126 00000 n 
+0000390189 00000 n 
+0000388979 00000 n 
+0000390252 00000 n 
+0000390316 00000 n 
+0000390380 00000 n 
+0000390444 00000 n 
+0000390634 00000 n 
+0000390760 00000 n 
+0000390823 00000 n 
+0000389132 00000 n 
+0000390950 00000 n 
+0000391013 00000 n 
+0000391077 00000 n 
+0000391140 00000 n 
+0000665786 00000 n 
+0000396071 00000 n 
+0000393679 00000 n 
+0000391361 00000 n 
+0000393988 00000 n 
+0000394303 00000 n 
+0000394366 00000 n 
+0000393824 00000 n 
+0000394429 00000 n 
+0000394555 00000 n 
+0000394618 00000 n 
+0000394680 00000 n 
+0000394744 00000 n 
+0000394807 00000 n 
+0000394870 00000 n 
+0000394932 00000 n 
+0000394995 00000 n 
+0000395059 00000 n 
+0000395123 00000 n 
+0000395187 00000 n 
+0000395313 00000 n 
+0000395376 00000 n 
+0000395439 00000 n 
+0000395503 00000 n 
+0000395567 00000 n 
+0000395630 00000 n 
+0000395693 00000 n 
+0000395756 00000 n 
+0000395819 00000 n 
+0000395882 00000 n 
+0000395945 00000 n 
+0000396008 00000 n 
+0000410444 00000 n 
+0000400638 00000 n 
+0000398870 00000 n 
+0000396229 00000 n 
+0000398994 00000 n 
+0000399057 00000 n 
+0000399120 00000 n 
+0000399181 00000 n 
+0000399244 00000 n 
+0000399306 00000 n 
+0000399370 00000 n 
+0000399433 00000 n 
+0000399497 00000 n 
+0000399560 00000 n 
+0000399624 00000 n 
+0000399688 00000 n 
+0000399752 00000 n 
+0000399816 00000 n 
+0000399942 00000 n 
+0000400005 00000 n 
+0000400068 00000 n 
+0000400131 00000 n 
+0000400194 00000 n 
+0000400258 00000 n 
+0000400321 00000 n 
+0000400384 00000 n 
+0000400447 00000 n 
+0000400511 00000 n 
+0000400575 00000 n 
+0000406138 00000 n 
+0000403551 00000 n 
+0000400782 00000 n 
+0000403675 00000 n 
+0000403801 00000 n 
+0000403864 00000 n 
+0000403928 00000 n 
+0000403991 00000 n 
+0000404055 00000 n 
+0000404116 00000 n 
+0000404180 00000 n 
+0000404243 00000 n 
+0000404305 00000 n 
+0000404368 00000 n 
+0000404431 00000 n 
+0000404495 00000 n 
+0000404558 00000 n 
+0000404621 00000 n 
+0000404685 00000 n 
+0000404748 00000 n 
+0000404811 00000 n 
+0000404875 00000 n 
+0000405000 00000 n 
+0000405063 00000 n 
+0000405126 00000 n 
+0000405189 00000 n 
+0000405252 00000 n 
+0000405315 00000 n 
+0000405378 00000 n 
+0000405441 00000 n 
+0000405505 00000 n 
+0000405568 00000 n 
+0000405631 00000 n 
+0000405694 00000 n 
+0000405757 00000 n 
+0000405821 00000 n 
+0000405885 00000 n 
+0000405949 00000 n 
+0000406012 00000 n 
+0000406075 00000 n 
+0000410507 00000 n 
+0000408679 00000 n 
+0000406282 00000 n 
+0000408803 00000 n 
+0000408866 00000 n 
+0000408929 00000 n 
+0000408992 00000 n 
+0000409054 00000 n 
+0000409116 00000 n 
+0000409178 00000 n 
+0000409240 00000 n 
+0000409304 00000 n 
+0000409368 00000 n 
+0000409431 00000 n 
+0000409494 00000 n 
+0000409558 00000 n 
+0000409621 00000 n 
+0000409685 00000 n 
+0000409748 00000 n 
+0000409812 00000 n 
+0000409875 00000 n 
+0000409938 00000 n 
+0000410001 00000 n 
+0000410065 00000 n 
+0000410128 00000 n 
+0000410192 00000 n 
+0000410255 00000 n 
+0000410318 00000 n 
+0000410381 00000 n 
+0000684451 00000 n 
+0000415462 00000 n 
+0000413376 00000 n 
+0000410623 00000 n 
+0000413500 00000 n 
+0000413626 00000 n 
+0000413689 00000 n 
+0000413752 00000 n 
+0000413815 00000 n 
+0000413879 00000 n 
+0000413943 00000 n 
+0000414006 00000 n 
+0000414196 00000 n 
+0000414259 00000 n 
+0000414323 00000 n 
+0000414386 00000 n 
+0000414449 00000 n 
+0000414512 00000 n 
+0000414575 00000 n 
+0000414638 00000 n 
+0000414702 00000 n 
+0000414766 00000 n 
+0000414829 00000 n 
+0000414893 00000 n 
+0000414957 00000 n 
+0000415021 00000 n 
+0000415084 00000 n 
+0000415147 00000 n 
+0000415209 00000 n 
+0000415273 00000 n 
+0000415336 00000 n 
+0000415399 00000 n 
+0000420312 00000 n 
+0000417978 00000 n 
+0000415606 00000 n 
+0000418102 00000 n 
+0000418165 00000 n 
+0000418228 00000 n 
+0000418291 00000 n 
+0000418354 00000 n 
+0000418417 00000 n 
+0000418480 00000 n 
+0000418544 00000 n 
+0000418607 00000 n 
+0000418671 00000 n 
+0000418735 00000 n 
+0000418799 00000 n 
+0000418862 00000 n 
+0000418925 00000 n 
+0000418988 00000 n 
+0000419051 00000 n 
+0000419114 00000 n 
+0000419176 00000 n 
+0000419239 00000 n 
+0000419302 00000 n 
+0000419365 00000 n 
+0000419428 00000 n 
+0000419491 00000 n 
+0000419554 00000 n 
+0000419617 00000 n 
+0000419680 00000 n 
+0000419741 00000 n 
+0000419804 00000 n 
+0000419867 00000 n 
+0000419931 00000 n 
+0000419995 00000 n 
+0000420058 00000 n 
+0000420120 00000 n 
+0000420184 00000 n 
+0000420248 00000 n 
+0000424476 00000 n 
+0000422961 00000 n 
+0000420414 00000 n 
+0000423085 00000 n 
+0000423148 00000 n 
+0000423210 00000 n 
+0000423273 00000 n 
+0000423336 00000 n 
+0000423399 00000 n 
+0000423463 00000 n 
+0000423526 00000 n 
+0000423714 00000 n 
+0000423777 00000 n 
+0000423841 00000 n 
+0000423904 00000 n 
+0000423967 00000 n 
+0000424031 00000 n 
+0000424095 00000 n 
+0000424159 00000 n 
+0000424222 00000 n 
+0000424286 00000 n 
+0000424349 00000 n 
+0000424412 00000 n 
+0000428051 00000 n 
+0000426662 00000 n 
+0000424606 00000 n 
+0000426786 00000 n 
+0000426911 00000 n 
+0000426974 00000 n 
+0000427037 00000 n 
+0000427099 00000 n 
+0000427162 00000 n 
+0000427226 00000 n 
+0000427290 00000 n 
+0000427353 00000 n 
+0000427417 00000 n 
+0000427607 00000 n 
+0000427670 00000 n 
+0000427734 00000 n 
+0000427797 00000 n 
+0000427860 00000 n 
+0000427923 00000 n 
+0000427987 00000 n 
+0000432632 00000 n 
+0000431123 00000 n 
+0000428195 00000 n 
+0000431247 00000 n 
+0000431310 00000 n 
+0000431372 00000 n 
+0000431435 00000 n 
+0000431560 00000 n 
+0000431623 00000 n 
+0000431686 00000 n 
+0000431749 00000 n 
+0000431812 00000 n 
+0000431875 00000 n 
+0000431938 00000 n 
+0000432001 00000 n 
+0000432064 00000 n 
+0000432190 00000 n 
+0000432253 00000 n 
+0000432316 00000 n 
+0000432379 00000 n 
+0000432443 00000 n 
+0000432506 00000 n 
+0000432569 00000 n 
+0000436140 00000 n 
+0000434248 00000 n 
+0000432748 00000 n 
+0000434372 00000 n 
+0000434435 00000 n 
+0000434497 00000 n 
+0000434560 00000 n 
+0000434624 00000 n 
+0000434688 00000 n 
+0000434751 00000 n 
+0000434815 00000 n 
+0000434878 00000 n 
+0000434941 00000 n 
+0000435004 00000 n 
+0000435066 00000 n 
+0000435128 00000 n 
+0000435191 00000 n 
+0000435255 00000 n 
+0000435319 00000 n 
+0000435382 00000 n 
+0000435445 00000 n 
+0000435508 00000 n 
+0000435634 00000 n 
+0000435697 00000 n 
+0000435760 00000 n 
+0000435823 00000 n 
+0000435887 00000 n 
+0000435950 00000 n 
+0000436014 00000 n 
+0000436077 00000 n 
+0000684576 00000 n 
+0000438237 00000 n 
+0000438050 00000 n 
+0000436284 00000 n 
+0000438174 00000 n 
+0000440147 00000 n 
+0000439960 00000 n 
+0000438325 00000 n 
+0000440084 00000 n 
+0000442064 00000 n 
+0000441877 00000 n 
+0000440235 00000 n 
+0000442001 00000 n 
+0000445840 00000 n 
+0000444154 00000 n 
+0000442152 00000 n 
+0000444769 00000 n 
+0000444957 00000 n 
+0000445081 00000 n 
+0000444317 00000 n 
+0000444464 00000 n 
+0000444617 00000 n 
+0000445144 00000 n 
+0000445270 00000 n 
+0000445333 00000 n 
+0000445396 00000 n 
+0000445460 00000 n 
+0000445523 00000 n 
+0000445586 00000 n 
+0000445650 00000 n 
 0000445713 00000 n 
-0000445776 00000 n 
-0000445838 00000 n 
-0000446028 00000 n 
-0000446091 00000 n 
-0000446154 00000 n 
-0000446279 00000 n 
-0000446404 00000 n 
-0000446467 00000 n 
-0000446530 00000 n 
-0000446593 00000 n 
-0000446656 00000 n 
-0000446719 00000 n 
-0000446958 00000 n 
-0000451343 00000 n 
-0000451468 00000 n 
-0000451594 00000 n 
-0000451684 00000 n 
-0000451766 00000 n 
-0000469048 00000 n 
-0000506384 00000 n 
-0000506425 00000 n 
-0000506465 00000 n 
-0000506696 00000 n 
+0000445777 00000 n 
+0000447977 00000 n 
+0000448293 00000 n 
+0000447159 00000 n 
+0000445956 00000 n 
+0000447283 00000 n 
+0000447409 00000 n 
+0000447472 00000 n 
+0000447535 00000 n 
+0000447598 00000 n 
+0000447662 00000 n 
+0000447725 00000 n 
+0000447851 00000 n 
+0000447913 00000 n 
+0000448103 00000 n 
+0000448166 00000 n 
+0000448229 00000 n 
+0000452767 00000 n 
+0000450563 00000 n 
+0000448395 00000 n 
+0000450687 00000 n 
+0000451002 00000 n 
+0000451065 00000 n 
+0000451252 00000 n 
+0000451315 00000 n 
+0000451378 00000 n 
+0000451441 00000 n 
+0000451503 00000 n 
+0000451566 00000 n 
+0000451630 00000 n 
+0000451694 00000 n 
+0000451757 00000 n 
+0000451820 00000 n 
+0000451883 00000 n 
+0000451946 00000 n 
+0000452010 00000 n 
+0000452074 00000 n 
+0000452263 00000 n 
+0000452326 00000 n 
+0000452390 00000 n 
+0000452453 00000 n 
+0000452515 00000 n 
+0000452578 00000 n 
+0000452641 00000 n 
+0000452704 00000 n 
+0000684701 00000 n 
+0000460525 00000 n 
+0000459948 00000 n 
+0000455935 00000 n 
+0000452869 00000 n 
+0000456238 00000 n 
+0000456363 00000 n 
+0000456426 00000 n 
+0000456489 00000 n 
+0000456552 00000 n 
+0000456615 00000 n 
+0000456678 00000 n 
+0000456741 00000 n 
+0000456804 00000 n 
+0000456867 00000 n 
+0000456930 00000 n 
+0000456993 00000 n 
+0000457056 00000 n 
+0000457119 00000 n 
+0000457181 00000 n 
+0000457244 00000 n 
+0000457307 00000 n 
+0000457370 00000 n 
+0000457433 00000 n 
+0000457496 00000 n 
+0000457559 00000 n 
+0000457622 00000 n 
+0000457685 00000 n 
+0000457746 00000 n 
+0000457809 00000 n 
+0000457872 00000 n 
+0000457935 00000 n 
+0000457997 00000 n 
+0000458059 00000 n 
+0000458122 00000 n 
+0000458185 00000 n 
+0000458248 00000 n 
+0000458311 00000 n 
+0000458374 00000 n 
+0000458437 00000 n 
+0000458500 00000 n 
+0000458563 00000 n 
+0000458626 00000 n 
+0000458689 00000 n 
+0000458752 00000 n 
+0000458815 00000 n 
+0000458878 00000 n 
+0000458941 00000 n 
+0000459004 00000 n 
+0000459066 00000 n 
+0000459129 00000 n 
+0000459192 00000 n 
+0000459255 00000 n 
+0000459318 00000 n 
+0000459381 00000 n 
+0000459444 00000 n 
+0000459507 00000 n 
+0000459695 00000 n 
+0000456080 00000 n 
+0000459758 00000 n 
+0000459822 00000 n 
+0000510791 00000 n 
+0000460401 00000 n 
+0000460050 00000 n 
+0000510665 00000 n 
+0000510728 00000 n 
+0000515469 00000 n 
+0000513454 00000 n 
+0000510916 00000 n 
+0000513578 00000 n 
+0000513704 00000 n 
+0000513766 00000 n 
+0000513830 00000 n 
+0000513893 00000 n 
+0000513956 00000 n 
+0000514145 00000 n 
+0000514208 00000 n 
+0000514271 00000 n 
+0000514334 00000 n 
+0000514523 00000 n 
+0000514586 00000 n 
+0000514650 00000 n 
+0000514713 00000 n 
+0000514776 00000 n 
+0000514839 00000 n 
+0000514902 00000 n 
+0000514965 00000 n 
+0000515028 00000 n 
+0000515091 00000 n 
+0000515154 00000 n 
+0000515217 00000 n 
+0000515280 00000 n 
+0000515343 00000 n 
+0000515406 00000 n 
+0000518974 00000 n 
+0000517533 00000 n 
+0000515571 00000 n 
+0000517657 00000 n 
+0000517720 00000 n 
+0000517783 00000 n 
+0000517970 00000 n 
+0000518032 00000 n 
+0000518095 00000 n 
+0000518158 00000 n 
+0000518221 00000 n 
+0000518346 00000 n 
+0000518409 00000 n 
+0000518533 00000 n 
+0000518596 00000 n 
+0000518722 00000 n 
+0000518785 00000 n 
+0000518911 00000 n 
+0000522260 00000 n 
+0000520751 00000 n 
+0000519076 00000 n 
+0000520875 00000 n 
+0000520938 00000 n 
+0000521000 00000 n 
+0000521126 00000 n 
+0000521189 00000 n 
+0000521315 00000 n 
+0000521378 00000 n 
+0000521441 00000 n 
+0000521566 00000 n 
+0000521755 00000 n 
+0000521818 00000 n 
+0000521944 00000 n 
+0000522007 00000 n 
+0000522071 00000 n 
+0000522134 00000 n 
+0000522197 00000 n 
+0000525924 00000 n 
+0000524413 00000 n 
+0000522362 00000 n 
+0000524537 00000 n 
+0000524662 00000 n 
+0000524725 00000 n 
+0000524789 00000 n 
+0000524853 00000 n 
+0000524916 00000 n 
+0000524979 00000 n 
+0000525105 00000 n 
+0000525168 00000 n 
+0000525231 00000 n 
+0000525357 00000 n 
+0000525420 00000 n 
+0000525483 00000 n 
+0000525546 00000 n 
+0000525609 00000 n 
+0000525799 00000 n 
+0000525862 00000 n 
+0000684826 00000 n 
+0000530973 00000 n 
+0000528450 00000 n 
+0000526040 00000 n 
+0000528574 00000 n 
+0000528700 00000 n 
+0000528763 00000 n 
+0000528827 00000 n 
+0000528890 00000 n 
+0000529016 00000 n 
+0000529079 00000 n 
+0000529142 00000 n 
+0000529206 00000 n 
+0000529268 00000 n 
+0000529331 00000 n 
+0000529394 00000 n 
+0000529458 00000 n 
+0000529522 00000 n 
+0000529585 00000 n 
+0000529647 00000 n 
+0000529710 00000 n 
+0000529773 00000 n 
+0000529837 00000 n 
+0000529899 00000 n 
+0000529962 00000 n 
+0000530025 00000 n 
+0000530089 00000 n 
+0000530151 00000 n 
+0000530214 00000 n 
+0000530278 00000 n 
+0000530340 00000 n 
+0000530403 00000 n 
+0000530467 00000 n 
+0000530530 00000 n 
+0000530593 00000 n 
+0000530657 00000 n 
+0000530720 00000 n 
+0000530783 00000 n 
+0000530847 00000 n 
+0000530910 00000 n 
+0000535105 00000 n 
+0000533406 00000 n 
+0000531103 00000 n 
+0000533530 00000 n 
+0000533593 00000 n 
+0000533656 00000 n 
+0000533720 00000 n 
+0000533784 00000 n 
+0000533848 00000 n 
+0000533910 00000 n 
+0000533973 00000 n 
+0000534037 00000 n 
+0000534100 00000 n 
+0000534164 00000 n 
+0000534227 00000 n 
+0000534290 00000 n 
+0000534350 00000 n 
+0000534475 00000 n 
+0000534664 00000 n 
+0000534727 00000 n 
+0000534853 00000 n 
+0000534916 00000 n 
+0000534979 00000 n 
+0000535042 00000 n 
+0000538918 00000 n 
+0000537601 00000 n 
+0000535221 00000 n 
+0000537725 00000 n 
+0000537788 00000 n 
+0000537850 00000 n 
+0000537913 00000 n 
+0000538038 00000 n 
+0000538101 00000 n 
+0000538164 00000 n 
+0000538227 00000 n 
+0000538290 00000 n 
+0000538353 00000 n 
+0000538415 00000 n 
+0000538540 00000 n 
+0000538603 00000 n 
+0000538666 00000 n 
+0000538729 00000 n 
+0000538792 00000 n 
+0000538855 00000 n 
+0000541474 00000 n 
+0000540595 00000 n 
+0000539034 00000 n 
+0000540719 00000 n 
+0000540845 00000 n 
+0000541034 00000 n 
+0000541097 00000 n 
+0000541160 00000 n 
+0000541223 00000 n 
+0000541286 00000 n 
+0000541349 00000 n 
+0000541411 00000 n 
+0000545811 00000 n 
+0000543797 00000 n 
+0000541576 00000 n 
+0000543921 00000 n 
+0000544110 00000 n 
+0000544173 00000 n 
+0000544236 00000 n 
+0000544299 00000 n 
+0000544361 00000 n 
+0000544424 00000 n 
+0000544487 00000 n 
+0000544551 00000 n 
+0000544614 00000 n 
+0000544677 00000 n 
+0000544740 00000 n 
+0000544802 00000 n 
+0000544865 00000 n 
+0000544928 00000 n 
+0000544991 00000 n 
+0000545055 00000 n 
+0000545118 00000 n 
+0000545181 00000 n 
+0000545244 00000 n 
+0000545308 00000 n 
+0000545371 00000 n 
+0000545433 00000 n 
+0000545496 00000 n 
+0000545560 00000 n 
+0000545622 00000 n 
+0000545684 00000 n 
+0000545747 00000 n 
+0000550406 00000 n 
+0000548762 00000 n 
+0000545941 00000 n 
+0000548886 00000 n 
+0000548949 00000 n 
+0000549012 00000 n 
+0000549076 00000 n 
+0000549139 00000 n 
+0000549203 00000 n 
+0000549266 00000 n 
+0000549329 00000 n 
+0000549392 00000 n 
+0000549456 00000 n 
+0000549519 00000 n 
+0000549583 00000 n 
+0000549646 00000 n 
+0000549709 00000 n 
+0000549772 00000 n 
+0000549835 00000 n 
+0000549899 00000 n 
+0000549962 00000 n 
+0000550026 00000 n 
+0000550089 00000 n 
+0000550152 00000 n 
+0000550216 00000 n 
+0000550280 00000 n 
+0000550342 00000 n 
+0000684951 00000 n 
+0000554482 00000 n 
+0000552525 00000 n 
+0000550522 00000 n 
+0000552649 00000 n 
+0000552712 00000 n 
+0000552774 00000 n 
+0000552837 00000 n 
+0000552900 00000 n 
+0000552964 00000 n 
+0000553027 00000 n 
+0000553090 00000 n 
+0000553153 00000 n 
+0000553217 00000 n 
+0000553280 00000 n 
+0000553344 00000 n 
+0000553407 00000 n 
+0000553470 00000 n 
+0000553534 00000 n 
+0000553597 00000 n 
+0000553660 00000 n 
+0000553723 00000 n 
+0000553787 00000 n 
+0000553850 00000 n 
+0000553914 00000 n 
+0000553977 00000 n 
+0000554040 00000 n 
+0000554103 00000 n 
+0000554166 00000 n 
+0000554229 00000 n 
+0000554292 00000 n 
+0000554355 00000 n 
+0000554419 00000 n 
+0000558959 00000 n 
+0000557208 00000 n 
+0000554626 00000 n 
+0000557506 00000 n 
+0000557569 00000 n 
+0000557632 00000 n 
+0000557353 00000 n 
+0000557695 00000 n 
+0000557758 00000 n 
+0000557821 00000 n 
+0000557884 00000 n 
+0000557947 00000 n 
+0000558010 00000 n 
+0000558073 00000 n 
+0000558137 00000 n 
+0000558200 00000 n 
+0000558264 00000 n 
+0000558327 00000 n 
+0000558390 00000 n 
+0000558453 00000 n 
+0000558516 00000 n 
+0000558580 00000 n 
+0000558644 00000 n 
+0000558707 00000 n 
+0000558770 00000 n 
+0000558833 00000 n 
+0000558896 00000 n 
+0000562981 00000 n 
+0000561418 00000 n 
+0000559103 00000 n 
+0000561722 00000 n 
+0000561785 00000 n 
+0000561848 00000 n 
+0000561911 00000 n 
+0000561974 00000 n 
+0000562037 00000 n 
+0000562100 00000 n 
+0000562164 00000 n 
+0000562226 00000 n 
+0000562289 00000 n 
+0000562352 00000 n 
+0000562415 00000 n 
+0000562478 00000 n 
+0000562541 00000 n 
+0000562604 00000 n 
+0000562667 00000 n 
+0000562730 00000 n 
+0000561563 00000 n 
+0000562792 00000 n 
+0000562855 00000 n 
+0000562918 00000 n 
+0000568025 00000 n 
+0000565826 00000 n 
+0000563083 00000 n 
+0000566125 00000 n 
+0000566188 00000 n 
+0000566251 00000 n 
+0000566312 00000 n 
+0000566375 00000 n 
+0000566438 00000 n 
+0000566501 00000 n 
+0000566564 00000 n 
+0000566627 00000 n 
+0000566691 00000 n 
+0000566755 00000 n 
+0000566818 00000 n 
+0000566882 00000 n 
+0000566945 00000 n 
+0000567009 00000 n 
+0000567073 00000 n 
+0000567136 00000 n 
+0000567199 00000 n 
+0000567263 00000 n 
+0000567327 00000 n 
+0000567391 00000 n 
+0000567454 00000 n 
+0000567517 00000 n 
+0000567581 00000 n 
+0000565971 00000 n 
+0000567644 00000 n 
+0000567707 00000 n 
+0000567770 00000 n 
+0000567833 00000 n 
+0000567897 00000 n 
+0000567961 00000 n 
+0000572508 00000 n 
+0000570436 00000 n 
+0000568169 00000 n 
+0000570739 00000 n 
+0000570802 00000 n 
+0000570864 00000 n 
+0000570927 00000 n 
+0000570991 00000 n 
+0000571054 00000 n 
+0000571117 00000 n 
+0000571180 00000 n 
+0000571243 00000 n 
+0000571307 00000 n 
+0000571371 00000 n 
+0000571434 00000 n 
+0000570581 00000 n 
+0000571497 00000 n 
+0000571560 00000 n 
+0000571623 00000 n 
+0000571686 00000 n 
+0000571749 00000 n 
+0000571812 00000 n 
+0000571875 00000 n 
+0000571938 00000 n 
+0000572001 00000 n 
+0000572064 00000 n 
+0000572127 00000 n 
+0000572191 00000 n 
+0000572255 00000 n 
+0000572318 00000 n 
+0000572381 00000 n 
+0000572444 00000 n 
+0000578042 00000 n 
+0000574951 00000 n 
+0000572666 00000 n 
+0000575248 00000 n 
+0000575311 00000 n 
+0000575373 00000 n 
+0000575437 00000 n 
+0000575499 00000 n 
+0000575562 00000 n 
+0000575626 00000 n 
+0000575690 00000 n 
+0000575754 00000 n 
+0000575817 00000 n 
+0000575881 00000 n 
+0000575945 00000 n 
+0000576009 00000 n 
+0000576072 00000 n 
+0000576136 00000 n 
+0000576200 00000 n 
+0000576263 00000 n 
+0000576326 00000 n 
+0000576390 00000 n 
+0000576453 00000 n 
+0000576516 00000 n 
+0000576580 00000 n 
+0000576643 00000 n 
+0000576706 00000 n 
+0000576769 00000 n 
+0000576832 00000 n 
+0000576896 00000 n 
+0000576960 00000 n 
+0000577024 00000 n 
+0000577088 00000 n 
+0000577152 00000 n 
+0000577216 00000 n 
+0000577280 00000 n 
+0000575096 00000 n 
+0000577343 00000 n 
+0000577407 00000 n 
+0000577470 00000 n 
+0000577533 00000 n 
+0000577596 00000 n 
+0000577660 00000 n 
+0000577724 00000 n 
+0000577787 00000 n 
+0000577850 00000 n 
+0000577914 00000 n 
+0000577978 00000 n 
+0000685076 00000 n 
+0000669180 00000 n 
+0000582458 00000 n 
+0000580694 00000 n 
+0000578158 00000 n 
+0000580818 00000 n 
+0000580881 00000 n 
+0000580943 00000 n 
+0000581006 00000 n 
+0000581069 00000 n 
+0000581132 00000 n 
+0000581195 00000 n 
+0000581258 00000 n 
+0000581321 00000 n 
+0000581384 00000 n 
+0000581447 00000 n 
+0000581511 00000 n 
+0000581574 00000 n 
+0000581637 00000 n 
+0000581700 00000 n 
+0000581763 00000 n 
+0000581826 00000 n 
+0000581888 00000 n 
+0000581952 00000 n 
+0000582016 00000 n 
+0000582079 00000 n 
+0000582142 00000 n 
+0000582205 00000 n 
+0000582268 00000 n 
+0000582331 00000 n 
+0000582394 00000 n 
+0000587451 00000 n 
+0000584883 00000 n 
+0000582602 00000 n 
+0000585179 00000 n 
+0000585242 00000 n 
+0000585305 00000 n 
+0000585368 00000 n 
+0000585430 00000 n 
+0000585028 00000 n 
+0000585493 00000 n 
+0000585556 00000 n 
+0000585619 00000 n 
+0000585681 00000 n 
+0000585744 00000 n 
+0000585807 00000 n 
+0000585871 00000 n 
+0000585934 00000 n 
+0000585997 00000 n 
+0000586060 00000 n 
+0000586123 00000 n 
+0000586186 00000 n 
+0000586250 00000 n 
+0000586313 00000 n 
+0000586376 00000 n 
+0000586439 00000 n 
+0000586502 00000 n 
+0000586566 00000 n 
+0000586629 00000 n 
+0000586693 00000 n 
+0000586756 00000 n 
+0000586819 00000 n 
+0000586882 00000 n 
+0000586946 00000 n 
+0000587007 00000 n 
+0000587071 00000 n 
+0000587135 00000 n 
+0000587199 00000 n 
+0000587262 00000 n 
+0000587325 00000 n 
+0000587388 00000 n 
+0000592155 00000 n 
+0000590326 00000 n 
+0000587567 00000 n 
+0000590450 00000 n 
+0000590513 00000 n 
+0000590576 00000 n 
+0000590638 00000 n 
+0000590701 00000 n 
+0000590764 00000 n 
+0000590828 00000 n 
+0000590892 00000 n 
+0000590955 00000 n 
+0000591018 00000 n 
+0000591081 00000 n 
+0000591144 00000 n 
+0000591207 00000 n 
+0000591270 00000 n 
+0000591333 00000 n 
+0000591396 00000 n 
+0000591459 00000 n 
+0000591522 00000 n 
+0000591585 00000 n 
+0000591648 00000 n 
+0000591711 00000 n 
+0000591775 00000 n 
+0000591838 00000 n 
+0000591902 00000 n 
+0000591965 00000 n 
+0000592028 00000 n 
+0000592091 00000 n 
+0000595154 00000 n 
+0000593961 00000 n 
+0000592285 00000 n 
+0000594085 00000 n 
+0000594148 00000 n 
+0000594211 00000 n 
+0000594274 00000 n 
+0000594336 00000 n 
+0000594398 00000 n 
+0000594461 00000 n 
+0000594524 00000 n 
+0000594587 00000 n 
+0000594650 00000 n 
+0000594713 00000 n 
+0000594776 00000 n 
+0000594839 00000 n 
+0000594902 00000 n 
+0000594965 00000 n 
+0000595029 00000 n 
+0000595091 00000 n 
+0000598773 00000 n 
+0000596998 00000 n 
+0000595270 00000 n 
+0000597122 00000 n 
+0000597185 00000 n 
+0000597249 00000 n 
+0000597313 00000 n 
+0000597376 00000 n 
+0000597439 00000 n 
+0000597503 00000 n 
+0000597567 00000 n 
+0000597628 00000 n 
+0000597691 00000 n 
+0000597754 00000 n 
+0000597817 00000 n 
+0000597881 00000 n 
+0000597945 00000 n 
+0000598009 00000 n 
+0000598072 00000 n 
+0000598136 00000 n 
+0000598200 00000 n 
+0000598264 00000 n 
+0000598328 00000 n 
+0000598392 00000 n 
+0000598455 00000 n 
+0000598519 00000 n 
+0000598582 00000 n 
+0000598646 00000 n 
+0000598709 00000 n 
+0000603212 00000 n 
+0000600918 00000 n 
+0000598875 00000 n 
+0000601384 00000 n 
+0000601573 00000 n 
+0000601762 00000 n 
+0000601825 00000 n 
+0000601889 00000 n 
+0000601953 00000 n 
+0000601072 00000 n 
+0000601228 00000 n 
+0000602016 00000 n 
+0000602206 00000 n 
+0000602268 00000 n 
+0000602332 00000 n 
+0000602396 00000 n 
+0000602459 00000 n 
+0000602647 00000 n 
+0000602710 00000 n 
+0000602772 00000 n 
+0000602835 00000 n 
+0000602898 00000 n 
+0000602961 00000 n 
+0000603024 00000 n 
+0000603150 00000 n 
+0000685201 00000 n 
+0000607038 00000 n 
+0000605210 00000 n 
+0000603356 00000 n 
+0000605334 00000 n 
+0000605460 00000 n 
+0000605522 00000 n 
+0000605711 00000 n 
+0000605774 00000 n 
+0000605837 00000 n 
+0000605900 00000 n 
+0000605964 00000 n 
+0000606027 00000 n 
+0000606090 00000 n 
+0000606153 00000 n 
+0000606341 00000 n 
+0000606403 00000 n 
+0000606467 00000 n 
+0000606530 00000 n 
+0000606593 00000 n 
+0000606657 00000 n 
+0000606721 00000 n 
+0000606785 00000 n 
+0000606848 00000 n 
+0000606911 00000 n 
+0000610005 00000 n 
+0000608933 00000 n 
+0000607182 00000 n 
+0000609057 00000 n 
+0000609182 00000 n 
+0000609245 00000 n 
+0000609309 00000 n 
+0000609372 00000 n 
+0000609435 00000 n 
+0000609499 00000 n 
+0000609688 00000 n 
+0000609751 00000 n 
+0000609815 00000 n 
+0000609878 00000 n 
+0000609942 00000 n 
+0000613719 00000 n 
+0000612078 00000 n 
+0000610121 00000 n 
+0000612202 00000 n 
+0000612265 00000 n 
+0000612391 00000 n 
+0000612453 00000 n 
+0000612516 00000 n 
+0000612580 00000 n 
+0000612644 00000 n 
+0000612770 00000 n 
+0000612833 00000 n 
+0000612896 00000 n 
+0000612960 00000 n 
+0000613024 00000 n 
+0000613087 00000 n 
+0000613151 00000 n 
+0000613339 00000 n 
+0000613402 00000 n 
+0000613465 00000 n 
+0000613528 00000 n 
+0000613592 00000 n 
+0000615182 00000 n 
+0000614505 00000 n 
+0000613835 00000 n 
+0000614803 00000 n 
+0000614929 00000 n 
+0000614992 00000 n 
+0000615054 00000 n 
+0000615118 00000 n 
+0000614650 00000 n 
+0000621161 00000 n 
+0000618072 00000 n 
+0000615312 00000 n 
+0000618196 00000 n 
+0000618385 00000 n 
+0000618448 00000 n 
+0000618635 00000 n 
+0000618698 00000 n 
+0000618761 00000 n 
+0000618825 00000 n 
+0000618889 00000 n 
+0000618953 00000 n 
+0000619016 00000 n 
+0000619080 00000 n 
+0000619143 00000 n 
+0000619206 00000 n 
+0000619269 00000 n 
+0000619332 00000 n 
+0000619394 00000 n 
+0000619456 00000 n 
+0000619520 00000 n 
+0000619584 00000 n 
+0000619648 00000 n 
+0000619711 00000 n 
+0000619775 00000 n 
+0000619839 00000 n 
+0000619902 00000 n 
+0000619965 00000 n 
+0000620028 00000 n 
+0000620091 00000 n 
+0000620155 00000 n 
+0000620218 00000 n 
+0000620282 00000 n 
+0000620345 00000 n 
+0000620409 00000 n 
+0000620594 00000 n 
+0000620657 00000 n 
+0000620721 00000 n 
+0000620785 00000 n 
+0000620847 00000 n 
+0000620910 00000 n 
+0000620974 00000 n 
+0000621037 00000 n 
+0000621099 00000 n 
+0000624872 00000 n 
+0000622793 00000 n 
+0000621305 00000 n 
+0000622917 00000 n 
+0000623231 00000 n 
+0000623293 00000 n 
+0000623356 00000 n 
+0000623419 00000 n 
+0000623482 00000 n 
+0000623545 00000 n 
+0000623608 00000 n 
+0000623671 00000 n 
+0000623734 00000 n 
+0000623797 00000 n 
+0000623860 00000 n 
+0000623923 00000 n 
+0000623987 00000 n 
+0000624051 00000 n 
+0000624113 00000 n 
+0000624176 00000 n 
+0000624366 00000 n 
+0000624429 00000 n 
+0000624492 00000 n 
+0000624555 00000 n 
+0000624618 00000 n 
+0000624682 00000 n 
+0000624746 00000 n 
+0000624810 00000 n 
+0000685326 00000 n 
+0000627564 00000 n 
+0000625728 00000 n 
+0000625002 00000 n 
+0000625852 00000 n 
+0000625915 00000 n 
+0000625977 00000 n 
+0000626040 00000 n 
+0000626104 00000 n 
+0000626166 00000 n 
+0000626229 00000 n 
+0000626293 00000 n 
+0000626357 00000 n 
+0000626420 00000 n 
+0000626483 00000 n 
+0000626547 00000 n 
+0000626611 00000 n 
+0000626675 00000 n 
+0000626737 00000 n 
+0000626800 00000 n 
+0000626864 00000 n 
+0000626928 00000 n 
+0000626992 00000 n 
+0000627055 00000 n 
+0000627118 00000 n 
+0000627182 00000 n 
+0000627246 00000 n 
+0000627310 00000 n 
+0000627373 00000 n 
+0000627436 00000 n 
+0000627500 00000 n 
+0000630316 00000 n 
+0000628418 00000 n 
+0000627652 00000 n 
+0000628542 00000 n 
+0000628605 00000 n 
+0000628668 00000 n 
+0000628732 00000 n 
+0000628794 00000 n 
+0000628857 00000 n 
+0000628921 00000 n 
+0000628985 00000 n 
+0000629049 00000 n 
+0000629112 00000 n 
+0000629175 00000 n 
+0000629239 00000 n 
+0000629303 00000 n 
+0000629365 00000 n 
+0000629428 00000 n 
+0000629492 00000 n 
+0000629556 00000 n 
+0000629745 00000 n 
+0000629808 00000 n 
+0000629871 00000 n 
+0000629935 00000 n 
+0000629999 00000 n 
+0000630063 00000 n 
+0000630126 00000 n 
+0000630189 00000 n 
+0000630253 00000 n 
+0000632670 00000 n 
+0000631212 00000 n 
+0000630418 00000 n 
+0000631336 00000 n 
+0000631399 00000 n 
+0000631463 00000 n 
+0000631526 00000 n 
+0000631589 00000 n 
+0000631653 00000 n 
+0000631716 00000 n 
+0000631780 00000 n 
+0000631843 00000 n 
+0000631906 00000 n 
+0000631970 00000 n 
+0000632034 00000 n 
+0000632098 00000 n 
+0000632161 00000 n 
+0000632224 00000 n 
+0000632288 00000 n 
+0000632352 00000 n 
+0000632415 00000 n 
+0000632478 00000 n 
+0000632542 00000 n 
+0000632606 00000 n 
+0000636395 00000 n 
+0000635077 00000 n 
+0000632758 00000 n 
+0000635201 00000 n 
+0000635390 00000 n 
+0000635453 00000 n 
+0000635515 00000 n 
+0000635703 00000 n 
+0000635766 00000 n 
+0000635829 00000 n 
+0000636017 00000 n 
+0000636080 00000 n 
+0000636143 00000 n 
+0000636206 00000 n 
+0000636269 00000 n 
+0000636332 00000 n 
+0000639975 00000 n 
+0000639096 00000 n 
+0000636497 00000 n 
+0000639220 00000 n 
+0000639283 00000 n 
+0000639346 00000 n 
+0000639535 00000 n 
+0000639597 00000 n 
+0000639786 00000 n 
+0000639849 00000 n 
+0000639912 00000 n 
+0000645221 00000 n 
+0000642833 00000 n 
+0000640077 00000 n 
+0000642957 00000 n 
+0000643020 00000 n 
+0000643082 00000 n 
+0000643271 00000 n 
+0000643334 00000 n 
+0000643397 00000 n 
+0000643460 00000 n 
+0000643523 00000 n 
+0000643586 00000 n 
+0000643649 00000 n 
+0000643712 00000 n 
+0000643775 00000 n 
+0000643837 00000 n 
+0000643900 00000 n 
+0000643963 00000 n 
+0000644026 00000 n 
+0000644089 00000 n 
+0000644152 00000 n 
+0000644215 00000 n 
+0000644278 00000 n 
+0000644341 00000 n 
+0000644403 00000 n 
+0000644466 00000 n 
+0000644529 00000 n 
+0000644592 00000 n 
+0000644654 00000 n 
+0000644717 00000 n 
+0000644780 00000 n 
+0000644843 00000 n 
+0000644906 00000 n 
+0000644969 00000 n 
+0000645032 00000 n 
+0000645095 00000 n 
+0000645158 00000 n 
+0000685451 00000 n 
+0000648610 00000 n 
+0000647541 00000 n 
+0000645323 00000 n 
+0000647665 00000 n 
+0000647728 00000 n 
+0000647791 00000 n 
+0000647980 00000 n 
+0000648043 00000 n 
+0000648106 00000 n 
+0000648295 00000 n 
+0000648358 00000 n 
+0000648547 00000 n 
+0000651910 00000 n 
+0000650715 00000 n 
+0000648712 00000 n 
+0000650839 00000 n 
+0000650902 00000 n 
+0000651091 00000 n 
+0000651280 00000 n 
+0000651469 00000 n 
+0000651532 00000 n 
+0000651596 00000 n 
+0000651785 00000 n 
+0000651847 00000 n 
+0000653330 00000 n 
+0000652954 00000 n 
+0000652012 00000 n 
+0000653078 00000 n 
+0000653141 00000 n 
+0000653204 00000 n 
+0000653267 00000 n 
+0000658917 00000 n 
+0000655216 00000 n 
+0000653418 00000 n 
+0000655516 00000 n 
+0000655705 00000 n 
+0000655955 00000 n 
+0000656018 00000 n 
+0000656081 00000 n 
+0000656145 00000 n 
+0000656209 00000 n 
+0000656334 00000 n 
+0000656460 00000 n 
+0000656523 00000 n 
+0000656586 00000 n 
+0000656650 00000 n 
+0000656714 00000 n 
+0000656777 00000 n 
+0000656902 00000 n 
+0000656965 00000 n 
+0000657028 00000 n 
+0000657091 00000 n 
+0000657154 00000 n 
+0000657218 00000 n 
+0000657280 00000 n 
+0000657342 00000 n 
+0000657404 00000 n 
+0000657467 00000 n 
+0000657530 00000 n 
+0000657593 00000 n 
+0000657656 00000 n 
+0000657720 00000 n 
+0000657783 00000 n 
+0000657845 00000 n 
+0000657907 00000 n 
+0000657969 00000 n 
+0000658032 00000 n 
+0000658096 00000 n 
+0000658160 00000 n 
+0000658224 00000 n 
+0000658288 00000 n 
+0000658352 00000 n 
+0000658416 00000 n 
+0000658479 00000 n 
+0000658541 00000 n 
+0000658603 00000 n 
+0000658665 00000 n 
+0000658728 00000 n 
+0000658792 00000 n 
+0000655361 00000 n 
+0000658855 00000 n 
+0000662645 00000 n 
+0000660255 00000 n 
+0000659047 00000 n 
+0000660379 00000 n 
+0000660503 00000 n 
+0000660627 00000 n 
+0000660690 00000 n 
+0000660752 00000 n 
+0000660815 00000 n 
+0000660879 00000 n 
+0000660943 00000 n 
+0000661069 00000 n 
+0000661132 00000 n 
+0000661321 00000 n 
+0000661384 00000 n 
+0000661447 00000 n 
+0000661698 00000 n 
+0000661760 00000 n 
+0000661823 00000 n 
+0000661886 00000 n 
+0000661950 00000 n 
+0000662076 00000 n 
+0000662139 00000 n 
+0000662328 00000 n 
+0000662391 00000 n 
+0000662454 00000 n 
+0000662517 00000 n 
+0000662581 00000 n 
+0000666730 00000 n 
+0000664330 00000 n 
+0000662747 00000 n 
+0000664650 00000 n 
+0000664776 00000 n 
+0000664901 00000 n 
+0000664964 00000 n 
+0000665027 00000 n 
+0000665091 00000 n 
+0000665155 00000 n 
+0000665218 00000 n 
+0000665282 00000 n 
+0000665533 00000 n 
+0000665596 00000 n 
+0000665659 00000 n 
+0000665723 00000 n 
+0000665911 00000 n 
+0000665974 00000 n 
+0000666037 00000 n 
+0000664475 00000 n 
+0000666100 00000 n 
+0000666225 00000 n 
+0000666351 00000 n 
+0000666414 00000 n 
+0000666477 00000 n 
+0000666541 00000 n 
+0000666605 00000 n 
+0000666668 00000 n 
+0000685576 00000 n 
+0000671324 00000 n 
+0000668214 00000 n 
+0000666874 00000 n 
+0000668681 00000 n 
+0000668805 00000 n 
+0000668929 00000 n 
+0000668992 00000 n 
+0000669055 00000 n 
+0000669306 00000 n 
+0000669368 00000 n 
+0000669431 00000 n 
+0000669494 00000 n 
+0000669557 00000 n 
+0000669621 00000 n 
+0000669685 00000 n 
+0000669811 00000 n 
+0000669873 00000 n 
+0000668368 00000 n 
+0000669936 00000 n 
+0000669999 00000 n 
+0000670062 00000 n 
+0000670125 00000 n 
+0000670188 00000 n 
+0000670251 00000 n 
+0000670315 00000 n 
+0000670378 00000 n 
+0000670441 00000 n 
+0000670504 00000 n 
+0000670568 00000 n 
+0000670632 00000 n 
+0000670695 00000 n 
+0000670758 00000 n 
+0000670821 00000 n 
+0000668523 00000 n 
+0000670885 00000 n 
+0000671135 00000 n 
+0000671198 00000 n 
+0000671261 00000 n 
+0000674249 00000 n 
+0000674877 00000 n 
+0000672678 00000 n 
+0000671440 00000 n 
+0000672802 00000 n 
+0000672990 00000 n 
+0000673053 00000 n 
+0000673116 00000 n 
+0000673241 00000 n 
+0000673304 00000 n 
+0000673367 00000 n 
+0000673430 00000 n 
+0000673554 00000 n 
+0000673679 00000 n 
+0000673742 00000 n 
+0000673805 00000 n 
+0000673868 00000 n 
+0000673932 00000 n 
+0000673996 00000 n 
+0000674060 00000 n 
+0000674124 00000 n 
+0000674374 00000 n 
+0000674437 00000 n 
+0000674500 00000 n 
+0000674624 00000 n 
+0000674687 00000 n 
+0000674750 00000 n 
+0000674814 00000 n 
+0000679382 00000 n 
+0000676671 00000 n 
+0000674979 00000 n 
+0000676795 00000 n 
+0000677045 00000 n 
+0000677107 00000 n 
+0000677170 00000 n 
+0000677233 00000 n 
+0000677296 00000 n 
+0000677422 00000 n 
+0000677485 00000 n 
+0000677548 00000 n 
+0000677611 00000 n 
+0000677675 00000 n 
+0000677739 00000 n 
+0000677803 00000 n 
+0000677867 00000 n 
+0000677931 00000 n 
+0000677995 00000 n 
+0000678059 00000 n 
+0000678122 00000 n 
+0000678186 00000 n 
+0000678311 00000 n 
+0000678437 00000 n 
+0000678500 00000 n 
+0000678563 00000 n 
+0000678752 00000 n 
+0000678815 00000 n 
+0000678878 00000 n 
+0000679003 00000 n 
+0000679130 00000 n 
+0000679193 00000 n 
+0000679256 00000 n 
+0000679319 00000 n 
+0000680496 00000 n 
+0000680182 00000 n 
+0000679484 00000 n 
+0000680306 00000 n 
+0000680369 00000 n 
+0000680432 00000 n 
+0000680660 00000 n 
+0000685692 00000 n 
+0000685818 00000 n 
+0000685944 00000 n 
+0000686070 00000 n 
+0000686150 00000 n 
+0000686242 00000 n 
+0000710264 00000 n 
+0000763367 00000 n 
+0000763408 00000 n 
+0000763448 00000 n 
+0000763680 00000 n 
 trailer
 <<
-/Size 3220
-/Root 3218 0 R
-/Info 3219 0 R
+/Size 4511
+/Root 4509 0 R
+/Info 4510 0 R
 >>
 startxref
-506852
+763836
 %%EOF
diff --git a/docs/rel_notes.txt b/docs/rel_notes.txt
index d11b3ebabce869a50365fe36c9d22fead42dd81a..107b6e850351286c52be873e5be08ebfdc253e94 100644
--- a/docs/rel_notes.txt
+++ b/docs/rel_notes.txt
@@ -1,159 +1,907 @@
-2.18 has not been released yet - these are prerelease notes.
-
-Insert nice little intro for version 2.18 here.
-
-**************************
-*** ABOUT THIS VERSION ***
-**************************
-
-This is a development snapshot release of Bugzilla.  As such the remainder of
-these release notes have NOT been updated (we usually do this just prior to a
-stable release).  For information about a development snapshot release, the
-best source of information is on our website (http://www.bugzilla.org/) in
-the Status Updates area.  Development snapshot releases are NOT recommended
-for production use unless you have an expert Perl programmer on hand willing
-to combat any difficulties you run into, since there is no guarantee of
-stability during a development cycle.  You have been warned.
-
-
-Bug numbers referenced in this document are all on
-bugzilla.mozilla.org unless otherwise specified.
-
-*** Recommended Practice For The Upgrade ***
-
-As always, please ensure you have run checksetup.pl after
-replacing the files in your installation.
-
-It is recommended that you view the sanity check page
-(sanitycheck.cgi) both before the upgrade and after running
-checksetup.pl after the upgrade, to see if there are any
-problems with your installation.
-
-It is also recommended that if you can, you immediately fix
-any problems you find.  Be aware that if the sanity check page
-contains more errors after an upgrade, it doesn't necessarily
-mean there are more errors in your database, as additional
-tests are added to the sanity check over time, and it is likely
-those errors weren't being checked for in the old version.
-
-Failure to do this may mean that bugzilla will not
-work correctly.
-
-Administrators must make sure that certain files are
-inaccessible or confidential information might become
-available to enterprising individuals.  This includes the
-localconfig file and the entire data directory.  Please
-see the Bugzilla Guide for more information.
-
-*** Dependency Requirements ***
-
-MySQL v3.23.41
-Perl v5.6.0
-CGI v2.88
-DBI v1.32
-DBD::mysql v2.1010
-AppConfig v1.52
-Template Toolkit v2.08
-Text::Wrap v2001.0131
-File::Spec v0.82
-Date::Format v2.21
-Data::Dumper, File::Temp, CGI::Carp (any)
-GD v1.20 (optional)
-GD::Text::Align (any, optional)
-GD::Graph (any, optional)
-Chart::Base v0.99 (optional)
-XML::Parser (any, optional)
-
-*** Deprecated Features ***
-
-- (already happened - move this in 2.18 notes) This is
-  possibly the last stable release that will work with
-  MySQL version 3.22.  Soon Bugzilla will require at least
-  version 3.23.x.  The exact minimum version number required
-  has not yet been decided.
-  (bug 87958)
-
-- (already happened - move this in 2.18 notes) This is
-  possibly the last stable release to support the
-  shadow database.  The replacement (using MySQL's built in
-  replication) is not present in 2.16, but we expect that
-  very few sites use this feature, so we are not planning a
-  transition period.  If this would cause a problem for you,
-  please comment on the below bug.
-  (bug 124589)
-
-- Placing comments in localconfig is deprecated.  If you have done
-  this, they will likely get nuked with future version of
-  Bugzilla, as checksetup.pl will likely automatically rewrite localconfig
-  to automatically get the latest comments.
-  (bug 147776)
-
-*** Outstanding Issues Of Note ***
-
-These issues may have been fixed in later stable or development
-versions of Bugzilla.  If you are interested in tracking these
-bugs, please see the bug report numbers listed to find out the
-status of the fix for these bugs, or to obtain a patch that can
-fix the problem on your installation.
-
-- Renaming or removing keywords that are in use will not update
-  the "keyword cache" on bugs, and queries on keywords may not work
-  properly, until you rebuild the cache on the sanity check page
-  (sanitycheck.cgi).  The changer will receive a warning to do
-  this when altering the keyword.
-  (bug 69621)
-
-- Email notifications will not work out of the box if you are
-  using Postfix, Exim or possibly other non-SendMail mail
-  transfer agents, as Bugzilla sends mail by default in
-  "deferred" mode using the "-ODeliveryMode=deferred" command
-  line option, which needs to be supported by the sendmail
-  program.  To fix this, you can turn on the "sendmailnow"
-  parameter on the Edit Parameters page (editparams.cgi).
-  (bug 37765)
-
-- Users behind rotating transparent proxies or otherwise having
-  an IP that changes each URL fetch will find they need to log in
-  regularly.
-  (bug 20122)
-
-- If you search on any CC or added comments, as well as at least
-  one other of CC, added comments, assignee, reporter, etc, then
-  the search can be very slow.  This is because of limitations of
-  the MySQL optimiser.
-  (bug 96101)
-
-- It is recommended you use the high speed XS Stash of the Template
-  Toolkit, in order to achieve best performance.  However, there are
-  known problems with XS Stash and Perl 5.005_02 and lower.  If you
-  wish to use these older versions of Perl, please use the regular
-  stash.  You are asked which stash you want to use at Template Toolkit
-  installation time.
-  (bug 140674)
-
-- Querying on CC takes too long on big databases.
-  (bug 127200)
-
-- Attachment changes have no midair collision detection, unlike bug changes.
-  (bug 99215)
-
-- The email preferences option "Priority, status, severity, and/or milestone
-  changes" does not actually report status changes.  You can however use the
-  option "The bug is resolved or verified" to achieve part of this.
-  (bug 130821)
+***************************************
+*** The Bugzilla 2.18 Release Notes ***
+***************************************
+
+Table of Contents
+*****************
+
+- Introduction
+- Requirements
+    * Dependency Requirements
+- What's New?
+    * Generic Reporting
+    * Generic Charting
+    * Request System
+    * Enterprise Group Support
+    * User Wildcard Matching
+    * Support for "Insiders"
+    * Time Tracking
+    * Authentication module/LDAP improvements
+    * Improved localization support
+    * Patch Viewer
+    * Comment Reply Links
+    * Full-Text Search
+    * Email Address Munging
+    * Simple Search
+    * Miscellaneous Improvements
+    * All Changes
+- What's Changed?
+    * Flag Names
+    * New Saved Search User Interface
+    * Rules for changing fields
+- Removed Features
+- Code Changes Which May Affect Customizations
+- Recommended Practice for the Upgrade
+    * Note About Upgrading From MySQL With ISAM Tables
+    * Steps for Upgrading
+- Outstanding Issues (<======================== IMPORTANT, PLEASE READ)
+- Security Fixes In This Release
+- Detailed Version-To-Version Release Notes
+
+
+Introduction
+************
+
+This document contains the release notes for Bugzilla 2.18.  In this document
+recently added, changed, and removed features of Bugzilla are described.
+
+The 2.18 release is the first in a new stable series, containing the results
+of over two years of hard and dedicated work by volunteers all over the world
+under the lead of Dave Miller.
+
+
+Requirements
+************
+
+Dependency Requirements
+-----------------------
+
+Minimum software requirements:
+
+  MySQL v3.23.41         (changed from 2.16)
+  Perl v5.6.0            (changed from 2.16)  (Non-Windows platforms)
+  ActiveState Perl v5.8.1                     (Windows only)
+
+Required Perl modules:
+
+  AppConfig v1.52
+  CGI v2.93              (new since 2.16)    (changed from 2.17.7)
+  Data::Dumper (any)
+  Date::Format v2.21     (changed from 2.16)
+  DBI v1.36              (changed from 2.16)    (changed from 2.17.7)
+  DBD::mysql v2.1010     (changed from 2.16)
+  File::Spec v0.82
+  File::Temp (any)
+  Template Toolkit v2.08 (changed from 2.16)
+  Text::Wrap v2001.0131
+
+Optional Perl modules:
+
+  Chart::Base v1.0       (changed from 2.16) (changed from 2.17.7)
+  GD v1.20               (changed from 2.16)
+  GD::Graph (any)        (new since 2.16)
+  GD::Text::Align (any)  (new since 2.16)
+  Net::LDAP (any)        (new since 2.16)
+  PatchReader v0.9.4     (new since 2.16)    (changed from 2.17.7)
+  XML::Parser (any)
+
+
+What's New?
+***********
+
+Generic Reporting
+-----------------
+
+Bugzilla has a new mechanism for generating reports of the current state of
+the bug database.  It has two related parts: a table-based view, and several
+graphical views.
+
+The table-based view allows you to specify an x, y and z (multiple tables of
+data) axis to plot, and then restrict the bugs plotted using the standard
+query form.  You can view the resulting data as an HTML or CSV export (e.g.:
+for importing into a spreadsheet).
+
+There are also bar, line and pie charts, which are defined in a very similar
+way.  These views may be more appropriate for particular data types, and are
+suitable for saving and then putting into presentations or web pages.
+
+
+Generic Charting
+----------------
+
+Bugzilla has a new mechanism for generating charts (graphs over time) of any
+arbitrary search. This is known as "New Charts." Legacy data from the previous
+charting mechanism ("Old Charts") is migrated into the "New Charts" when you
+upgrade. The Old Charts mechanism remains, but is deprecated and will be 
+removed in a future version of Bugzilla.
+
+Individual users can see/create charts as long as they are a member of the 
+group specified in the Param 'chartgroup'. Data can be collected for 
+personal charts every seven days (or a longer period, as set by the user). 
+Charts created by an administrator can be made public (visible to all). Data 
+is collected for administrator charts every day (or a longer period, as set 
+by the admin).
+
+The data is collected by the collectstats.pl script, which an administrator 
+will need to arrange to be run once every day (see the manual). Chart data can
+be plotted in a number of different ways, and different data sets can be
+plotted on the same graph for comparison.
+
+Please see the Known Bugs section for some important limitations relating to
+access controls on charts.
+
+
+Request System
+---------------
+
+The Request System (RS) is a set of enhancements that adds powerful flag
+(superset of the old attachment status) features to the bugs.
+
+RS allows for four states: off, granted, denied, and (optionally) requested,
+where "granted" is the equivalent of "on". These additions mean it is no
+longer necessary to define a status to negate another status (e.g.
+"needs-work" to negate "has-review") because negation is built into each
+status via the status' "denied" state.  Bug statuses: Previously only
+attachments could have these kinds of statuses. RS enables them for bugs as
+well. This feature can be used to request and grant/deny certain properties
+for a bug, such as inclusion for a specific milestone or approval for checkin.
+This way, Bugzilla supports the natural decision-making process in your
+organization.
+
+- Requests: Flags can now optionally be made requestable, which means users
+  can ask other users to set them. When a user requests a flag, Bugzilla
+  emails the requestee and adds the request to a browsable queue so both the
+  requester and the requestee can keep track of its status. Once the
+  requestee fulfills the request by setting the flag to either granted or
+  denied, Bugzilla emails the requestee and removes the request from the
+  queue.  This feature supports workflow like the mozilla.org code review
+  and milestone approval processes, whereby code is peer reviewed before
+  being committed and patches get approved by product release managers for
+  inclusion in specific product releases.
+
+- Product/component specificity: Previously flags were product-specific, and
+  if you wanted the same flag for multiple products you had to define
+  multiple flags with the same name. Flags are now
+  product/component-specific, and a single flag can be enabled or disabled
+  for multiple product/component combinations via inclusions and exclusions
+  lists. Flags are enabled for all combinations on their inclusions list
+  except those that appear on their exclusions list.
+
+
+Enterprise Group Support
+------------------------
+
+Bugzilla is no longer limited to 55 access control groups. Administrators can
+define an arbitrary number of access groups composed of individual users or
+other groups.  The groups can be configured via the web interface to achieve a
+wide variety of access control policies. See the documentation section on
+'Groups And Group Controls' for details.
+
+
+User Wildcard Matching
+----------------------
+
+Sites can now enable the use of wildcards and substrings in bug entry and
+editing forms. If the user enters an incomplete username, he'll get a list of
+users that matched the given username.
+
+
+Support for "Insiders"
+----------------------
+
+If the 'insidergroup' parameter is defined, a specific group of users can be
+designated insiders who can designate comments and attachments as private to
+other insiders. These comments and attachments will be invisible to other
+users who are not members of the insiders group even if the bugs to which they
+apply are visible. Other insiders will see the comments and attachments with a
+visual tinting indicating that they are private.
+
+
+Time Tracking
+-------------
+
+Controls for tracking time spent fixing bugs are included in the bug form for
+members of the group specified by the 'timetrackinggroup' parameter. Any time
+comments are added to the bug, members of the time tracking group can add an
+amount of time they spent, and it's figured into the total and displayed at
+the top of the bug. Shown in the bug are your original estimate, the amount of
+time spent so far, the revised estimate of how much time is remaining, and
+your gain/loss on the original estimate.
+
+
+Authentication module/LDAP improvements
+---------------------------------------
+
+Bugzilla's authentication mechanisms have been modularized, making pluggable
+authentication schemes for Bugzilla a reality. Both the existing database and
+LDAP systems were ported as part of modularization process. Additionally, the
+CGI portion of the backend was redesigned to allow for authentication from
+other sources, including (theoretically) email, which will help Bug 94850.
+
+As part of this conversion, LDAP logins now use Perl's standard Net::LDAP
+module, which has no external library dependencies.
+
+
+Improved localization support
+-----------------------------
+
+Bugzilla administrators can now configure which languages are supported by
+their installations and automatically serve correct, localized content to
+users based on the HTTP 'Accept-Language' header sent from users' browsers.
+
+There are currently localized templates available for: Arabic, Belarusian,
+Chinese, French, German, Italian, Korean, Portuguese (Brazil) Spanish (Spain
+or Mexico) and Russian.  These localized template packs are third-party
+contributions, may only be available for specific versions, and may not be
+supported in the future. (http://www.bugzilla.org/download/#localizations)
+
+
+Patch Viewer
+------------
+
+Viewing and reviewing patches in Bugzilla is often difficult due to lack of
+context, improper format and the inherent readability issues that raw patches
+present. Patch Viewer is an enhancement to Bugzilla designed to fix that by
+offering increased context, linking to sections, and integrating with Bonsai,
+LXR and CVS.
+
+
+Comment Reply Links
+-------------------
+
+In Edit Bug, each bug comment now includes a convenient (reply) link that
+quotes the comment text into the textarea. This feature is only enabled in
+Javascript-capable browsers, but causes no inconvenience to other user agents.
+
+
+Full-Text Search
+----------------
+
+It is now possible to query the Bugzilla database using full-text searching,
+which spans comments and summaries, and which searches for substrings and stem
+variations of the search term. Basically, it's like using Google.
+
+
+Email Address Munging
+---------------------
+
+The fact that raw email addresses are displayed in Bugzilla makes it trivial
+for bots that spamharvest to spider through Bugzilla, in particular, through
+Bugzilla's buglists. This change adds HTML obfuscation of email addresses as
+they appear in the Bugzilla web pages.
+
+
+Google-like Bug Search
+----------------------
+
+Bugzilla now includes a very simple, Google-like "Find a Specific Bug" page,
+in addition to its advanced search page.
+
+
+Miscellaneous Improvements
+--------------------------
+
+- The "Assigned To" field on the new bug page is now prefilled with the default
+  component owner.
+
+- A bug alias column is now available in the buglist page.
+
+- Lists of bugs containing errors in the sanity check page now have a "view as
+  buglist" link in addition to the individual bug links.
+
+- Autolinkification Page - It's now possible to apply Bugzilla's comment
+  hyperlinking algorithm to any text you like. This should be useful for status
+  updates and other web pages which give lists of bugs. The bug links created
+  include the subject, status and resolution of the bug as a tooltip.
+
+- There are more <link> tags on the links toolbar for navigating quickly between
+  different areas.
+
+- Buglists are now available as comma-separated value files (CSV) and JavaScript
+  (JS) as well as HTML and RDF.
+
+- Keywords and dependencies can now be entered during initial bug entry.
+
+- A CSS id signature unique to each Bugzilla installation is now added to the
+  <body> tag on Bugzilla pages to allow custom end-user CSS to explicitly affect
+  Bugzilla.
+
+- Perl's path has been changed to a normal /usr/bin/perl from the original
+  legacy "bonsaitools" path specifier.
+
+- A new "always-require-login" parameter allows administrators to require a
+  login before being able to view any page, except the front page.
+
+- A developer may add an attachment, and also reassign a bug to himself as part
+  of that single action.
+
+- Bugzilla is now able to use the replication facilities provided by the
+  MySQL database to handle updates from the main database to the secondaries.
+
+- Mail handling is now between 125% to 175% faster.
+
+- Guided Bug Entry: You can see a sample enter_bug.cgi template at 
+  enter_bug.cgi?format=guided that "guides" users through the process of 
+  filing a "good" bug. It needs to be modified before use in your organization.
+
+- There is now a "Give me some help" link on the Advanced Search page that will
+  enable pop-up help for every field on the page.
+
+- The Bugzilla administrator can now forbid users from marking bugs RESOLVED 
+  when there are unresolved dependencies.
+
+
+All Changes
+-----------
+
+To see a list of EVERY bug that was fixed between 2.16 and 2.18 (over 1000),
+see: http://tinyurl.com/6m3e4
+
+
+What's Changed?
+***************
+
+
+Flag names
+----------
+
+Prerelease versions of Bugzilla 2.17 and 2.18 inadvertantly allowed
+commas and spaces in the names of flags, which due to the way they're
+processed, caused lots of internal havoc if you named flags to have
+any commas or spaces in them.  Having commas or spaces in the names
+can cause errors in the notification emails and in the bug activity
+log.  The ability to create new flags with these characters has been
+removed.  If you have any existing flags that you named that way,
+running checksetup will attempt to automatically rename them by
+replacing commas and spaces with underscores.
+
+
+New Saved Search User Interface
+-------------------------------
+
+In previous Bugzilla versions, you could specify on the search page that you 
+wanted to save a search and store it as a link in your footer. This option has
+now moved to the search results page (buglist.cgi), where you will see a 
+"Remember search" button with a box next to it to enter the name of the search.
+
+You can manage your saved searches on the Preferences page.
+
+
+Rules for changing fields
+-------------------------
+
+There have been some changes to the rules governing who can change which fields
+of a bug report.  The rules for Bugzilla version 2.16 and 2.18, along with
+differences between them, are listed below.  Bear in mind that there are other
+restrictions on bug manipulation besides the ones listed below.  In particular,
+the groups system enforces restrictions on who can create, edit, or even see
+any given bug.
+
+Bugzilla 2.16 rules:
+
+- anyone can make a null change;
+- anyone can add a comment;
+- anyone in the editbugs group can make any change;
+- the reporter can make any change to the status;
+- anyone in the canconfirm group can change the status
+  to any opened state (NEW, REOPENED, ASSIGNED).
+- anyone can change the status to any opened state
+  if the everconfirmed flag is set;
+- the owner, QA contact, or reporter can make any change
+  *except* changing the status to an opened state;
+- No other changes are permitted.
+
+[Note that these rules combine to allow the reporter to make any change
+to the bug.]
+
+Bugzilla 2.18 rules:
+
+- anyone can make a null change;
+- anyone can add a comment;
+- anyone in the editbugs group can make any change;
+- anyone in the canconfirm group can change the status
+  from UNCONFIRMED to any opened state;
+- the owner or QA contact can make any change;
+- the reporter can make any change *except*:
+  - changing the status from UNCONFIRMED to any opened state; or
+  - changing the target milestone; or
+  - changing the priority (unless the letsubmitterchoosepriority
+    parameter is set).
+- No other changes are permitted.
+
+The effective differences in the rules:
+
+- In 2.16, the reporter could always change anything about a bug.
+
+  In 2.18, the reporter can't:
+
+  - confirm the bug unless he is in the canconfirm group;
+  - change the target milestone;
+  - change the priority (unless the 'letsubmitterchoosepriority'
+    parameter is set;
+
+  (unless he is also the owner, the QA contact, or in the editbugs
+  group, in which case he can do all these things).
+
+- In 2.16, the owner or QA contact (if the 'useqacontact' parameter
+  is set) can't change the bug status to an opened status unless they
+  are also the reporter, or have editbugs or canconfirm, or the
+  everconfirmed flag is set on the bug).
+
+  In 2.18 the owner or QA contact can make any change to a bug.
+
+- In 2.16, a member of the canconfirm group can set the status
+  to any opened status.
+
+  In 2.18 this is only possible if the status was previously
+  the unconfirmed status.
+
+- In 2.16, the status can be set to anything by anybody
+  if the 'everconfirmed' flag is set.
+
+  In 2.18, this authorization code does not pay any attention
+  to the 'everconfirmed' flag.
 
-***********************************************
-*** USERS UPGRADING FROM 2.16.2 OR EARLIER  ***
-***********************************************
+
+Removed Features
+****************
+
+- Please note that Bugzilla no longer supports MySQL 3.22. The minimum required
+  version is now 3.23.41.                                      
+
+- The "shadow database" mechanism is no longer used. Instead, use MySQL's 
+  built-in replication feature.
+
+- If you have placed any comments in the localconfig file, they may be removed
+  by checksetup.pl.
+
+
+Code Changes Which May Affect Customizations
+********************************************
+
+- A mechanism (called "Template Hooks") for third party extensions to plug into
+  existing templates without having to patch or replace distributed templates
+  has been added. More information on this can be found in the documentation.
+
+- Header output now uses CGI.pm, in a step towards enabling mod_perl
+  compatibility. This change will affect users that had customized charsets in
+  their CGI files: previously the charset had to be added everywhere that
+  printed the Content-Type header; now it only needs changing in one spot, in
+  Bugzilla/CGI.pm.
+
+- $::FORM{} and $::COOKIE{} are deprecated. Use the $cgi methods to access
+  them.
+
+- $::userid is gone in favor of Bugzilla->user->id
+
+- ConnectToDatabase() is gone (it's done automatically when you initialize the
+  Bugzilla object)
+
+- quietly_check_login() and confirm_login() are gone, use Bugzilla->login()
+  with parameters for whether the login is required or not.
+
+- Use Bugzilla->user->login in place of $::COOKIE{Bugzilla_login}
+
+- You can tell if there's a user logged in or not by using
+  Bugzilla->user rather than looking for $::userid==0.
+  In new 2.18 code, use defined(Bugzilla->user) && (Bugzilla->user->id)
+  In 2.20, this will become just (Bugzilla->user->id)
+  In templates, always test [% IF user.id %] rather than [% IF user %]
+
+- SendSQL() and related calls are deprecated, and the various $dbh methods 
+  should be used instead, such as $dbh->prepare() and $dbh->execute(). 
+  Bugzilla->dbh is the $dbh handle to use.
+
+
+Recommended Practice for the Upgrade
+************************************
+
+Note About Upgrading From MySQL With ISAM Tables
+------------------------------------------------
+As previously noted in the Dependency Requirements MySQL is now required 
+to be at least version 3.23.41.  This implies that all tables of type ISAM will 
+be converted by the checksetup.pl script to MyISAM.
+
+
+Steps for Upgrading
+-------------------
+
+1) View the Sanity Check (sanitycheck.cgi) page on your installation before
+   upgrading.
+
+2) As with any upgrade it is recommended that you make a backup of the 
+   Bugzilla database before you upgrade, perhaps by using mysqldump.
+
+   Example:
+
+      mysqldump -u root -p --databases bugs > bugs.db.backup
+
+3) Replace the files in your installation, or you can try to use CVS to upgrade.
+   The Bugzilla.org website has instructions on how to do the actual 
+   installation.
+
+4) Make sure that you run checksetup.pl after you install the new version.
+
+5) View the Sanity Check page again after you run checksetup.pl.
+
+6) It is recommended that, if possible, you fix any problems you find
+   immediately. Failure to do this may mean that Bugzilla will not work 
+   correctly. Be aware that if the sanity check page contains more errors after
+   an upgrade, it doesn't necessarily mean there are more errors in your 
+   database, as additional tests are added to the sanity check over time, and 
+   it is possible that those errors weren't being checked for in the old 
+   version.
+
+
+Outstanding Issues
+******************
+
+These are known problems with the release that we think you should know about. 
+They each have a bug number for http://bugzilla.mozilla.org/
+
+- If at any time you upgraded from a version of Bugzilla between 2.17.4 -
+  2.17.7 to either 2.18rc3 or 2.19.1, you must manually fix your New Charts in
+  order for them to work. See the following link for instructions on how to do
+  this: https://bugzilla.mozilla.org/show_bug.cgi?id=276237#c18
+  If you are using 2.18rc3, but did not upgrade from version 2.17.4 or newer,
+  then you don't need to do this.
+
+- bug 37765: If you use an MTA other than sendmail (such as Postfix, Exim, 
+  etc.) you MUST turn on the "sendmailnow" parameter or Bugzilla will not send
+  e-mail correctly.
+
+- bug 276230: The support for restricting access to particular Categories of 
+  New Charts is not complete. You should treat the 'chartgroup' Param as the 
+  only access mechanism available. However, additionally, charts migrated from
+  Old Charts will be restricted to the groups that are marked MANDATORY for 
+  the corresponding Product. There is currently no way to change this 
+  restriction, and the groupings will not be updated if the group configuration
+  for the Product changes.
+
+- bug 69621: If you rename or remove a keyword that is in use on bugs, you will
+  need to rebuild the "keyword cache" by running sanitycheck.cgi and choosing
+  the option to rebuild the cache when it asks. Otherwise keywords may not show
+  up properly in search results.
+
+- (No Bug Number) If you have a lot of non-ASCII data in your Bugzilla (for 
+  example, if you use a translation of Bugzilla), don't enable the XS::Stash
+  option when you install the Template Toolkit, or your Bugzilla installation
+  may become slow. This problem is fixed in a not-yet-released version of the
+  Template Toolkit (after 2.14).
+
+- bug 266579: Users may be able to circumvent not having "canconfirm" privileges
+  in some circumstances.
+
+- bug 99215: Attachment changes have no mid-air collision detection, unlike bug
+  changes.
+
+- bug 57350: Searching using the "commenter is" option may be VERY slow. Note 
+  that searching for "field: comment, changed by: user@domain.com" is fast, 
+  though.
+
+- bug 178157: "Dependency changed" mails may not be sent during a mass-change.
+
+- bug 151509: Using the boolean chart option "contains the string" with the 
+  "flag name" field or certain other fields will cause Bugzilla to emit an 
+  error.
+
+- bug 225042: If sendmail dies while you are marking a bug as a duplicate, 
+  the duplicates table can become corrupted.
+
+- bug 234159: Bugzilla may sometimes send multiple notices in one email.
+
+- bug 237107: If you search for attachment information using the Boolean Charts
+  at the bottom of the Advanced Query page, bugs without attachments will not
+  show up in the result list.
+
+
+Security Fixes In This Release
+******************************
+
+Summary:     XSS in Internal Error messages in Bugzilla 2.16.7 and 2.18rc3
+CVE Name:    CAN-2004-1061
+Reference:   https://bugzilla.mozilla.org/show_bug.cgi?id=272620
+Details:
+     It is possible to send a carefully crafted URL to Bugzilla designed to
+trigger an error message.  The Internal Error message includes javascript code
+which displays the URL the user is visiting.  The javascript code does not
+escape the URL before displaying it, allowing scripts contained in the URL to
+be executed by the browser.  Many browsers do not allow unescaped URLs to be
+sent to a webserver (thus complying with RFC 2616 section 2.3.1 and RFC 2396
+section 2.4.3), and are thus immune to this issue.
+    Browsers which are known to be immune: Firefox 1.0, Mozilla 1.7.5,
+Camino 0.8.2, Netscape 7.2, Safari 1.2.4
+     Browsers known to be susceptible: Internet Explorer 6 SP2,
+Konqueror 3.2
+     Browsers not listed here have not been tested.
+
+
+Detailed Version-To-Version Release Notes
+*****************************************
+
+*********************************************************
+*** USERS UPGRADING FROM ALL VERSIONS PRIOR TO 2.16.7 ***
+*********************************************************
+
+*** Security fixes ***
+
+- It is possible to send a carefully crafted HTTP POST message to
+  process_bug.cgi which will remove keywords from a bug even if you don't have
+  permissions to edit all bug fields (the "editbugs" permission).  Such changes
+  are reported in "bug changed" email notifications, so they are easily
+  detected and reversed if someone abuses it.  Users are now prevented from
+  making changes to keywords if they do not have editbugs privileges. (bug
+  252638)
+
+*** Bug fixes of note ***
+
+- Enforce a minimum of 10 minutes between attempts to reset a password, so
+  we don't mailbomb the user if someone submits the form many times in a
+  row. (bug 250897)
+
+- Put products in alphabetical order on the create attachment status page.
+  (bug 251427)
+
+- Specify MyISAM as the table type when creating new tables.  MySQL 4.1 and
+  up default to InnoDB, which doesn't support some of the indexing methods
+  that we use. (bug 263165)
+
+*********************************************************
+*** USERS UPGRADING FROM ALL VERSIONS PRIOR TO 2.16.6 ***
+*********************************************************
+
+*** Security fixes ***
+
+- If Bugzilla is configured to hide entire products from some users, both
+  duplicates.cgi and the form for mass-editing a list of bugs in buglist.cgi
+  can disclose the names of those hidden products to such users.
+  (bugs 234825 and 234855)
+
+- Several administration CGIs echo invalid data back to the user without
+  escaping it.  (bug 235265)
+
+- A user with privileges to grant membership to any group (i.e. usually an
+  administrator) can trick editusers.cgi into executing arbitrary SQL.
+  (bug 244272)
+
+*** Bug fixes of note ***
+
+- Allow XML import to function when there are regexp metacharacters in product
+  names (bug 237591) 
+
+- Allow the bug_email.pl contrib script to work with useqacontact (bug 239912) 
+
+- Improve the error message used by checksetup.pl when the MySQL requirements
+  are not met (bug 240228) 
+
+- Elimnate the warning in checksetup.pl about the minimum sendmail version (bug
+  240060) 
+
+- $webservergroup now defaults to group 'apache' in new installations (bug
+  224477)
+
+- Correct a situation where a bugmail message could be sent twice to a user
+  being added to the CC list if the address was entered in a different case
+  than the user registered with.  (bug 117297)
+
+- Various documentation updates
+
+*********************************************************
+*** USERS UPGRADING FROM ALL VERSIONS PRIOR TO 2.16.4 ***
+*********************************************************
+
+*** Bug fixes of note ***
+
+- Fix a "used only once" warning that ocurred only in perl 5.00503
+  (bug 2321691)
+
+- When a user is creating a new account and enters an invalid email
+  address, the error page sent the "Content-type" header twice, causing
+  the second one to be visible at the top of the page.
+  (bug 137121)
+
+- An HTML encoding issue which only affected Internet Explorer was
+  corrected in the "Change several bugs at once" page.
+  (bug 181106)
+ 
+- During initial setup, using invalid characters in the administrator
+  password would present an error message stating your password was
+  too long or too short instead of telling you it had invalid
+  characters.
+  (bug 166755)
+
+- When a user reset their own password via an emailed token, the new
+  password in the first field would be accepted if the second password
+  field was left blank.
+  (bug 123077)
+
+- Reopening bugs from the "change several bugs at once" page now works.
+  (bug 95430)
+
+- Fix a regression in xml.cgi caused by the previous bugfix for MySQL
+  SUM() changes.  The original fix didn't work properly either.
+  (bug 225474)
+
+- No longer use server push with the "Safari" browser, which claims to
+  use the Mozilla layout engine but doesn't.
+  (bug 188712)
+
+- Creating a shadow database no longer fails with taint mode errors.
+  (bug 227510)
+  
+- If you change your cookiepath setting at some stage (because you have
+  moved the directory Bugzilla resides on your webserver), users can
+  have login cookies with the old cookiepath, and their browsers will
+  send multiple logincookies.  Bugzilla now uses the first rather than
+  the last in order to get the most specific cookie which will be the
+  correct one.
+  (bug 121419)	
+  
+- Fixed a regression caused by the previous DBD::mysql fixes, that
+  caused older versions of DBD::mysql to break due to not supporting
+  the new DBI syntax.
+  (bug 224815)
+
+- Bugzilla no longer sends out invalid dates for cookie expiry.  This
+  bug had no known user visible ramifications.
+  (bug 228706)
+  
+- Update the shadow database parameters description to tell the user
+  about permissions requirements for creating a shadow database.
+  (bug 227513)
+
+- Various documentation updates.
+
+*********************************************************
+*** USERS UPGRADING FROM ALL VERSIONS PRIOR TO 2.16.3 ***
+*********************************************************
 
 *** SECURITY ISSUES RESOLVED ***
 
-*** IMPORTANT CHANGES ***
+- A user with 'editproducts' privileges (i.e. usually an administrator)
+  can select arbitrary SQL to be run by the nightly statistics cron job
+  (collectstats.pl), by giving a product a special name.
+  (bug 214290)
 
-*** Other changes of note ***
+- A user with 'editkeywords' privileges (i.e. usually an administrator)
+  can inject arbitrary SQL via the URL used to edit an existing keyword.
+  (bug 219044)
+
+- When deleting products and the 'usebuggroups' parameter is on, the
+  privilege which allows someone to add people to the group which is
+  being deleted does not get removed, allowing people with that
+  privilege to get that privilege for the next group that is created
+  which reuses that group ID.  Note that this only allows someone who
+  had been granted privileges in the past to retain them.
+  (bug 219690)
+
+- If you know the email address of someone who has voted on a secure
+  bug, you can access the summary of that bug even if you do not have
+  sufficient permissions to view the bug itself.
+  (bug 209376)
 
 *** Bug fixes of note ***
 
+Perl 5.8.0 Compatibility fixes:
+
+- Two taint errors were fixed, one in process_bug.cgi, and 
+  another in post_bug.cgi.
+  (bugs 220332 and 177828)
+
+MySQL 4.0 Compatibility fixes:
+
+- A cosmetic fix was applied to votes.cgi (if there were no 
+  votes, the "0" was not displayed) due to a change in semantics 
+  in SUM() in MySQL 4.0.
+  (bug 217422)
+
+DBD::mysql > 2.1026 Compatibility fixes:
+
+- DBD::mysql versions after 2.1026 return the table list quoted, which
+  broke the existing "table exists" check in checksetup.pl, which caused
+  the second and subsequent attempts to run checksetup.pl to fail.
+  (bug 212095) 
+
+Miscellaneous bug fixes:
+
+- A Mozilla-specific reference was removed from one of the report
+  templates.
+  (bug 221626)
+
+- It was possible to enter a situation where you were unable to get to
+  editparams.cgi to turn the shutdownhtml param back off after you
+  turned it on when Apache was configured to run Bugzilla in suexec
+  mode.
+  (bug 213384)
+  
+- The processmail rescanall task would not send e-mails about more than
+  one bug to the same address.
+  (bug 219508)
+
+- If Bugzilla hadn't been accessed in the last hour when the
+  collectstats.pl or whineatnews.pl cron jobs ran, the versioncache
+  would get recreated with the file owner being the user the cron job
+  was running as (usually not the webserver user), causing subsequent
+  access to Bugzilla by the webserver to fail until the permissions were
+  fixed. Now if versioncache isn't readable when accessing from the
+  webserver, we pretend it doesn't exist and recreate it again.
+  (bug 160422)
+
+- The 'sendmailnow' param is now on by default in new installations
+  (this does not affect existing installations).
+  (bug 146087)
+
+- The 008filter.t test would fail if you had multiple language packs
+  installed. It now properly tests all of the installed language packs.
+  (bug 203318)
+
+- A few minor documentation changes were committed.
+
+*********************************************************
+*** USERS UPGRADING FROM ALL VERSIONS PRIOR TO 2.16.2 ***
+*********************************************************
+
+*** SECURITY ISSUES RESOLVED ***
+
+- A cross site scripting (XSS) vulnerability was fixed in which bug 
+  summaries were not properly filtered when a user viewed a dependency graph 
+  allowing JavaScript to be embedded on that page.
+  (bug 192661)
+  
+- Several XSS vulnerabilities were fixed in which user
+  input was not escaped when being displayed. A new 
+  test has been added to warn about unfiltered data in template
+  files (t/008filter.t).
+  (bug 192677)
+
+- An issue was fixed in which the QA contact was still treated as the QA
+  contact even after the 'useqacontact' setting was turned off. This also
+  allowed the QA contact to edit the security groups and view secured bugs that
+  he/she was allowed to access prior to the 'useqacontact' setting being
+  deactivated.
+  (bug 194394)
+  
+- Fixed a situation where an attacker (with local access to the webserver)
+  could overwrite any file on the webserver to which the webserver user
+  has write access by creating appropriately named symbolic links in the
+  data and webdot directories (world-writable in many configurations).
+  Bugzilla now uses File::Temp to create secure temporary files.  File::Temp
+  is part of the Perl distribution for Perl 5.6.1 and later, but if you're
+  using an older version of Perl you'll need to install it with CPAN.
+  (bug 197153)
+
+** IMPORTANT CHANGES ***
+
+- New module requirement: File::Temp, as mentioned above.
+
+*** Bug fixes of note ***
+
+- An issue was fixed in which administrator rights could be removed from an
+  administrator who deleted a product while the 'usebuggroups' setting is
+  activated.
+  (bug 157704) 
+  
+- Fixed an issue in which importxml.pl would fail the test suite when running
+  under perl 5.8.0 with the optional XML::Parse module. 
+  (bug 172331)
+  
+- There was previously a bug in CGI.pl in which the following warning 
+  would be given under certain conditions: 
+  "Character in "c" format wrapped at CGI.pl..." 
+  This is now fixed. In some cases the warning was filling up web server log
+  files.
+  (bug 194125)
+  
+- Fixed a bug in which long component names (in excess of 50 characters) would
+  be accepted when creating the component but would cause problems when trying
+  to use that component on a bug because it would get truncated. It is now no
+  longer possible to create components with names in excess of 50 characters. 
+  (bug 197180)
+  
+- Fixed a bug in checksetup.pl in which permissions were not being fixed 
+  on the 'data/comments' file, the quip file. 
+  (bug 160279)
+
 *****************************************************************
 *** USERS UPGRADING FROM 2.16.1 OR EARLIER, 2.14.4 OR EARLIER ***
 *****************************************************************
@@ -887,3 +1635,4 @@ Release notes were not compiled for versions of Bugzilla before
 The file 'UPGRADING-pre-2.8' contains instructions you may
 need to perform in addition to running 'checksetup.pl' if you
 are running a pre 2.8 version.
+
diff --git a/docs/txt/Bugzilla-Guide.txt b/docs/txt/Bugzilla-Guide.txt
index 076eb3ab0d4fff9ff6843df50829948be41d6cfc..f092e841bf36ddf2a95c0b86851938e62a094ea8 100644
--- a/docs/txt/Bugzilla-Guide.txt
+++ b/docs/txt/Bugzilla-Guide.txt
@@ -1,9 +1,9 @@
 
-The Bugzilla Guide - 2.17.7 Development Release
+The Bugzilla Guide - 2.18 Release
 
 The Bugzilla Team
 
-   2004-02-05
+   2005-01-14
 
    This is the documentation for Bugzilla, a bug-tracking system from
    mozilla.org. Bugzilla is an enterprise-class piece of software that
@@ -29,7 +29,7 @@ The Bugzilla Team
         2.2. Configuration
         2.3. Optional Additional Configuration
         2.4. OS-Specific Installation Notes
-        2.5. Troubleshooting
+        2.5. UNIX (non-root) Installation Notes
 
    3. Administering Bugzilla
 
@@ -39,43 +39,71 @@ The Bugzilla Team
         3.4. Components
         3.5. Versions
         3.6. Milestones
-        3.7. Voting
-        3.8. Groups and Group Security
-        3.9. Upgrading to New Releases
-
-   4. Customising Bugzilla
-
-        4.1. Template Customization
-        4.2. Template Hooks
-        4.3. Customizing Who Can Change What
-        4.4. Modifying Your Running System
-        4.5. MySQL Bugzilla Database Introduction
-        4.6. Integrating Bugzilla with Third-Party Tools
-
-   5. Using Bugzilla
-
-        5.1. Introduction
-        5.2. Create a Bugzilla Account
-        5.3. Anatomy of a Bug
-        5.4. Searching for Bugs
-        5.5. Bug Lists
-        5.6. Filing Bugs
-        5.7. Patch Viewer
-        5.8. Hints and Tips
-        5.9. User Preferences
-        5.10. Reports
+        3.7. Flags
+        3.8. Voting
+        3.9. Quips
+        3.10. Groups and Group Security
+        3.11. Upgrading to New Releases
+
+   4. Bugzilla Security
+
+        4.1. Operating System
+        4.2. MySQL
+        4.3. Webserver
+        4.4. Bugzilla
+
+   5. Customising Bugzilla
+
+        5.1. Template Customization
+        5.2. Template Hooks
+        5.3. Customizing Who Can Change What
+        5.4. Modifying Your Running System
+        5.5. MySQL Bugzilla Database Introduction
+        5.6. Integrating Bugzilla with Third-Party Tools
+
+   6. Using Bugzilla
+
+        6.1. Introduction
+        6.2. Create a Bugzilla Account
+        6.3. Anatomy of a Bug
+        6.4. Life Cycle of a Bug
+        6.5. Searching for Bugs
+        6.6. Bug Lists
+        6.7. Filing Bugs
+        6.8. Patch Viewer
+        6.9. Hints and Tips
+        6.10. User Preferences
+        6.11. Reports and Charts
+        6.12. Flags
 
    A. The Bugzilla FAQ
-   B. Contrib
+   B. Troubleshooting
 
-        B.1. Command-line Search Interface
+        B.1. General Advice
+        B.2. The Apache webserver is not serving Bugzilla pages
+        B.3. I installed a Perl module, but checksetup.pl claims it's not
+                installed!
 
-   C. Manual Installation of Perl Modules
+        B.4. Bundle::Bugzilla makes me upgrade to Perl 5.6.1
+        B.5. DBD::Sponge::db prepare failed
+        B.6. cannot chdir(/var/spool/mqueue)
+        B.7. Your vendor has not defined Fcntl macro O_NOINHERIT
+        B.8. Everybody is constantly being forced to relogin
+        B.9. Some users are constantly being forced to relogin
+        B.10. index.cgi doesn't show up unless specified in the URL
 
-        C.1. Instructions
-        C.2. Download Locations
+   C. Contrib
 
-   D. GNU Free Documentation License
+        C.1. Command-line Search Interface
+        C.2. Command-line 'Send Unsent Bug-mail' tool
+
+   D. Manual Installation of Perl Modules
+
+        D.1. Instructions
+        D.2. Download Locations
+        D.3. Optional Modules
+
+   E. GNU Free Documentation License
 
         0. Preamble
         1. Applicability and Definition
@@ -92,17 +120,26 @@ The Bugzilla Team
 
    Glossary
 
+   List of Figures
+   6-1. Lifecycle of a Bugzilla Bug
+
    List of Examples
    3-1. Upgrading using CVS
    3-2. Upgrading using the tarball
    3-3. Upgrading using patches
+   4-1. Assigning the MySQL "root" User a Password
+   4-2. Disabling the MySQL "anonymous" User
+   4-3. Disabling Networking in MySQL
+   4-4. Forcing Bugzilla to output a charset
+   B-1. Examples of urlbase/cookiepath pairs for sharing login cookies
+   B-2. Examples of urlbase/cookiepath pairs to restrict the login cookie
      _________________________________________________________________
 
 Chapter 1. About This Guide
 
 1.1. Copyright Information
 
-   This document is copyright (c) 2000-2004 by the various Bugzilla
+   This document is copyright (c) 2000-2005 by the various Bugzilla
    contributors who wrote it.
 
      Permission is granted to copy, distribute and/or modify this
@@ -110,7 +147,7 @@ Chapter 1. About This Guide
      Version 1.1 or any later version published by the Free Software
      Foundation; with no Invariant Sections, no Front-Cover Texts, and
      with no Back-Cover Texts. A copy of the license is included in
-     Appendix D.
+     Appendix E.
 
    If you have any questions regarding this document, its copyright, or
    publishing this document in non-electronic form, please contact the
@@ -143,9 +180,8 @@ Chapter 1. About This Guide
 
 1.3. New Versions
 
-   This is the 2.17.7 version of The Bugzilla Guide. It is so named to
-   match the current version of Bugzilla. This version of the guide, like
-   its associated Bugzilla version, is a development version.
+   This is the 2.18 version of The Bugzilla Guide. It is so named to
+   match the current version of Bugzilla.
 
    The latest version of this guide can always be found at
    http://www.bugzilla.org, or checked out via CVS by following the
@@ -172,10 +208,40 @@ Chapter 1. About This Guide
    efforts, numerous e-mail and IRC support sessions, and overall
    excellent contribution to the Bugzilla community:
 
-   Matthew P. Barnson, Kevin Brannen, Dawn Endico, Ben FrantzDale, Eric
-   Hanson, Tara Hernandez, Dave Lawrence, Zach Lipton, Gervase Markham,
-   Andrew Pearson, Joe Robins, Spencer Smith, Jacob Steenhagen, Ron
-   Teitelbaum, Terry Weissman, Martin Wulffeld.
+   Matthew P. Barnson <mbarnson@sisna.com>
+          for the Herculaean task of pulling together the Bugzilla Guide
+          and shepherding it to 2.14.
+
+   Terry Weissman <terry@mozilla.org>
+          for initially writing Bugzilla and creating the README upon
+          which the UNIX installation documentation is largely based.
+
+   Tara Hernandez <tara@tequilarists.org>
+          for keeping Bugzilla development going strong after Terry left
+          mozilla.org and for running landfill.
+
+   Dave Lawrence <dkl@redhat.com>
+          for providing insight into the key differences between Red
+          Hat's customized Bugzilla.
+
+   Dawn Endico <endico@mozilla.org>
+          for being a hacker extraordinaire and putting up with Matthew's
+          incessant questions and arguments on irc.mozilla.org in
+          #mozwebtools
+
+   Jacob Steenhagen <jake@bugzilla.org>
+          for taking over documentation during the 2.17 development
+          period.
+
+   Dave Miller <justdave@bugzilla.org>
+          for taking over as project lead when Tara stepped down and
+          continually pushing for the documentation to be the best it can
+          be.
+
+   Thanks also go to the following people for significant contributions
+   to this documentation: Kevin Brannen, Vlad Dascalu, Ben FrantzDale,
+   Eric Hanson, Zach Lipton, Gervase Markham, Andrew Pearson, Joe Robins,
+   Spencer Smith, Ron Teitelbaum, Shane Travis, Martin Wulffeld.
 
    Also, thanks are due to the members of the
    netscape.public.mozilla.webtools newsgroup. Without your discussions,
@@ -259,12 +325,15 @@ Chapter 2. Installing Bugzilla
    installing Bugzilla (and at regular intervals thereafter :-).
 
    In outline, the installation proceeds as follows:
-    1. Install Perl (5.6.0 or above)
+    1. Install Perl (5.6.0 or above for non-Windows platforms; 5.8.1 for
+       Windows)
     2. Install MySQL (3.23.41 or above)
     3. Install a Webserver
     4. Install Bugzilla
     5. Install Perl modules
-    6. Configure all of the above.
+    6. Install a Mail Transfer Agent (Sendmail 8.7 or above, or an MTA
+       that is Sendmail-compatible with at least this version)
+    7. Configure all of the above.
      _________________________________________________________________
 
 2.1.1. Perl
@@ -275,7 +344,7 @@ Chapter 2. Installing Bugzilla
    you don't have it and your OS doesn't provide official packages, visit
    http://www.perl.com. Although Bugzilla runs with Perl 5.6.0, it's a
    good idea to be using the latest stable version. As of this writing,
-   that is Perl 5.8.2.
+   that is Perl 5.8.3.
      _________________________________________________________________
 
 2.1.2. MySQL
@@ -317,14 +386,14 @@ Chapter 2. Installing Bugzilla
 2.1.4. Bugzilla
 
    Download a Bugzilla tarball (or check it out from CVS) and place it in
-   a suitable directory, writable by the default web server user
-   (probably "nobody"). Good locations are either directly in the main
-   web space for your web server or perhaps in /usr/local with a symbolic
-   link from the web space.
+   a suitable directory, accessible by the default web server user
+   (probably "apache" or "www"). Good locations are either directly in
+   the main web space for your web server or perhaps in /usr/local with a
+   symbolic link from the web space.
 
    Caution
 
-   The default Bugzilla distribution is not designed to be placed in a
+   The default Bugzilla distribution is NOT designed to be placed in a
    cgi-bin directory. This includes any directory which is configured
    using the ScriptAlias directive of Apache.
 
@@ -358,7 +427,7 @@ Chapter 2. Installing Bugzilla
    The preferred way of installing Perl modules is via CPAN on Unix, or
    PPM on Windows (see Section 2.4.1.2). These instructions assume you
    are using CPAN; if for some reason you need to install the Perl
-   modules manually, see Appendix C.
+   modules manually, see Appendix D.
    bash# perl -MCPAN -e 'install "<modulename>"'
 
    If you using Bundle::Bugzilla, invoke the magic CPAN command on it.
@@ -387,7 +456,7 @@ Chapter 2. Installing Bugzilla
     2. CGI (2.93)
     3. Data::Dumper (any)
     4. Date::Format (2.21)
-    5. DBI (1.32)
+    5. DBI (1.36)
     6. DBD::mysql (2.1010)
     7. File::Spec (0.82)
     8. File::Temp (any)
@@ -397,11 +466,11 @@ Chapter 2. Installing Bugzilla
    Optional Perl modules:
 
     1. GD (1.20) for bug charting
-    2. Chart::Base (0.99c) for bug charting
+    2. Chart::Base (1.0) for bug charting
     3. GD::Graph (any) for bug charting
     4. GD::Text::Align (any) for bug charting
     5. XML::Parser (any) for the XML interface
-    6. PatchReader (0.9.1) for pretty HTML view of patches
+    6. PatchReader (0.9.4) for pretty HTML view of patches
     7. MIME::Parser (any) for the optional email interface
      _________________________________________________________________
 
@@ -446,7 +515,7 @@ Chapter 2. Installing Bugzilla
    libgd the 2.x versions of the GD module won't work for you.
      _________________________________________________________________
 
-2.1.5.4. Chart::Base (0.99c)
+2.1.5.4. Chart::Base (1.0)
 
    The Chart::Base module is only required if you want graphical reports.
    Note that earlier versions that 0.99c used GIFs, which are no longer
@@ -479,13 +548,40 @@ Chapter 2. Installing Bugzilla
    interface located in the contrib directory.
      _________________________________________________________________
 
-2.1.5.9. PatchReader (0.9.1)
+2.1.5.9. PatchReader (0.9.4)
 
    The PatchReader module is only required if you want to use Patch
    Viewer, a Bugzilla feature to show code patches in your web browser in
    a more readable form.
      _________________________________________________________________
 
+2.1.6. Mail Transfer Agent (MTA)
+
+   Bugzilla is dependent on the availability of an e-mail system for its
+   user authentication and for other tasks.
+
+   On Linux, any Sendmail-compatible MTA (Mail Transfer Agent) will
+   suffice. Sendmail, Postfix, qmail and Exim are examples of common
+   MTAs. Sendmail is the original Unix MTA, but the others are easier to
+   configure, and therefore many people replace Sendmail with Postfix or
+   Exim. They are drop-in replacements, so that Bugzilla will not
+   distinguish between them.
+
+   If you are using Sendmail, version 8.7 or higher is required. If you
+   are using a Sendmail-compatible MTA, it must be congruent with at
+   least version 8.7 of Sendmail.
+
+   Consult the manual for the specific MTA you choose for detailed
+   installation instructions. Each of these programs will have their own
+   configuration files where you must configure certain parameters to
+   ensure that the mail is delivered properly. They are implemented as
+   services, and you should ensure that the MTA is in the auto-start list
+   of services for the machine.
+
+   If a simple mail sent with the command-line 'mail' program succeeds,
+   then Bugzilla should also be fine.
+     _________________________________________________________________
+
 2.2. Configuration
 
    Warning
@@ -493,7 +589,8 @@ Chapter 2. Installing Bugzilla
    Poorly-configured MySQL and Bugzilla installations have given
    attackers full access to systems in the past. Please take the security
    parts of these guidelines seriously, even for Bugzilla machines hidden
-   away behind your firewall.
+   away behind your firewall. Be certain to read Chapter 4 for some
+   important security tips.
      _________________________________________________________________
 
 2.2.1. localconfig
@@ -521,57 +618,72 @@ Chapter 2. Installing Bugzilla
 
 2.2.2. MySQL
 
-2.2.2.1. Security
+   Caution
 
-   MySQL ships as insecure by default. It allows anybody to on the local
-   machine full administrative capabilities without requiring a password;
-   the special MySQL root account (note: this is not the same as the
-   system root) also has no password. Also, many installations default to
-   running mysqld as the system root.
+   MySQL's default configuration is very insecure. Section 4.2 has some
+   good information for improving your installation's security.
+     _________________________________________________________________
 
-    1. To disable the anonymous user account and set a password for the
-       root user, execute the following. The root user password should be
-       different to the bugs user password you set in localconfig in the
-       previous section, and also different to the password for the
-       system root account on your machine.
+2.2.2.1. Allow large attachments
 
-  bash$ mysql mysql
-  mysql> DELETE FROM user WHERE user = '';
-  mysql> UPDATE user SET password = password('new_password') WHERE user = 'root
-';
-  mysql> FLUSH PRIVILEGES;
+   By default, MySQL will only accept packets up to 64Kb in size. If you
+   want to have attachments larger than this, you will need to modify
+   your /etc/my.cnf as below.
 
-       From this point forward, to run the mysql command-line client, you
-       will need to type mysql -u root -p and enter new_password when
-       prompted.
-    2. If you run MySQL on the same machine as your web server, you
-       should disable remote access to MySQL by adding the following to
-       your /etc/my.conf:
+   If you are using MySQL 4.0 or newer, enter:
+  [mysqld]
+  # Allow packets up to 1M
+  max_allowed_packet=1M
 
-  [myslqd]
-  # Prevent network access to MySQL.
-  skip-networking
+   If you are using an older version of MySQL, enter:
+  [mysqld]
+  # Allow packets up to 1M
+  set-variable = max_allowed_packet=1M
 
-    3. Consult the documentation that came with your system for
-       information on making mysqld run as an unprivileged user.
-    4. For added security, you could also run MySQL, or even all of
-       Bugzilla in a chroot jail; however, instructions for doing that
-       are beyond the scope of this document.
+   There is also a parameter in Bugzilla called 'maxattachmentsize'
+   (default = 1000 Kb) that controls the maximum allowable attachment
+   size. Attachments larger than either the 'max_allowed_packet' or
+   'maxattachmentsize' value will not be accepted by Bugzilla.
      _________________________________________________________________
 
-2.2.2.2. Allow large attachments
+2.2.2.2. Allow small words in full-text indexes
+
+   By default, words must be at least four characters in length in order
+   to be indexed by MySQL's full-text indexes. This causes a lot of
+   Bugzilla specific words to be missed, including "cc", "ftp" and "uri".
 
-   You need to configure MySQL to accept large packets, if you want to
-   have attachments larger than 64K. Add the text below to your
-   /etc/my.conf. There is also a parameter in Bugzilla for setting the
-   maximum allowable attachment size, (default 1MB). Bugzilla will only
-   accept attachments up to the lower of these two sizes.
+   MySQL can be configured to index those words by setting the
+   ft_min_word_len param to the minimum size of the words to index. This
+   can be done by modifying the /etc/my.cnf according to the example
+   below:
   [mysqld]
-  # Allow packets up to 1M
-  set-variable = max_allowed_packet=1M
+  # Allow small words in full-text indexes
+  ft_min_word_len=2
+
+   Rebuilding the indexes can be done based on documentation found at
+   http://www.mysql.com/doc/en/Fulltext_Fine-tuning.html.
+
+   Note
+
+   The ft_min_word_len parameter is only suported in MySQL v4 or higher.
+     _________________________________________________________________
+
+2.2.2.3. Permit attachments table to grow beyond 4GB
+
+   By default, MySQL will limit the size of a table to 4GB. This limit is
+   present even if the underlying filesystem has no such limit. To set a
+   higher limit, follow these instructions.
+
+   Run the MySQL command-line client and enter:
+  mysql> ALTER TABLE attachments
+          AVG_ROW_LENGTH=1000000, MAX_ROWS=20000;
+
+   The above command will change the limit to 20GB. Mysql will have to
+   make a temporary copy of your entire table to do this. Ideally, you
+   should do this when your attachments table is still small.
      _________________________________________________________________
 
-2.2.2.3. Add a user to MySQL
+2.2.2.4. Add a user to MySQL
 
    You need to add a new MySQL user for Bugzilla to use. (It's not safe
    to have Bugzilla use the MySQL root account.) The following
@@ -580,21 +692,29 @@ Chapter 2. Installing Bugzilla
    $db_pass password you set in localconfig in Section 2.2.1.
 
    We use an SQL GRANT command to create a "bugs" user. This also
-   restricts the "bugs" user to operations within a database called
+   restricts the "bugs"user to operations within a database called
    "bugs", and only allows the account to connect from "localhost".
    Modify it to reflect your setup if you will be connecting from another
    machine or as a different user.
 
-   Run the mysql command-line client and enter:
-  mysql> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,
-         DROP,REFERENCES ON bugs.* TO bugs@localhost
-         IDENTIFIED BY '$db_pass';
-  mysql> FLUSH PRIVILEGES;
+   Run the mysql command-line client.
 
-   Note
+   If you are using MySQL 4.0 or newer, enter:
+  mysql> GRANT SELECT, INSERT,
+         UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,
+         CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.*
+         TO bugs@localhost IDENTIFIED BY '$db_pass';
+  mysql> FLUSH PRIVILEGES;
 
-   If you are using MySQL 4, you need to add the LOCK TABLES and CREATE
-   TEMPORARY TABLES permissions to the list.
+   If you are using an older version of MySQL,the LOCK TABLES and CREATE
+   TEMPORARY TABLES permissions will be unavailable and should be removed
+   from the permissions list. In this case, the following command line
+   can be used:
+  mysql> GRANT SELECT, INSERT,
+         UPDATE, DELETE, INDEX, ALTER, CREATE, DROP,
+         REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY
+         '$db_pass';
+  mysql> FLUSH PRIVILEGES;
      _________________________________________________________________
 
 2.2.3. checksetup.pl
@@ -618,7 +738,10 @@ Chapter 2. Installing Bugzilla
 2.2.4. Web server
 
    Configure your web server according to the instructions in the
-   appropriate section. The Bugzilla Team recommends Apache.
+   appropriate section. The Bugzilla Team recommends Apache. No matter
+   what webserver you choose, make sure that sensitive information is not
+   remotely available by ensuring that the access controls in Section
+   4.3.1 are properly applied.
      _________________________________________________________________
 
 2.2.4.1. Apache httpd
@@ -641,22 +764,59 @@ Chapter 2. Installing Bugzilla
    Add index.cgi to the end of the DirectoryIndex line.
 
    checksetup.pl can set tighter permissions on Bugzilla's files and
-   directories if it knows what user the webserver runs as. Look for the
-   User line in httpd.conf, and place that value in the $webservergroup
+   directories if it knows what group the webserver runs as. Look for the
+   Group line in httpd.conf, and place that value in the $webservergroup
    variable in localconfig. Then rerun checksetup.pl.
      _________________________________________________________________
 
 2.2.4.2. Microsoft Internet Information Services
 
-   If you need, or for some reason even want, to use Microsoft's Internet
-   Information Services or Personal Web Server you should be able to. You
-   will need to configure them to know how to run CGI scripts. This is
-   described in Microsoft Knowledge Base article Q245225 for Internet
-   Information Services and Q231998 for Personal Web Server.
+   If you are running Bugzilla on Windows and choose to use Microsoft's
+   Internet Information Services or Personal Web Server you will need to
+   perform a number of other configuration steps as explained below. You
+   may also want to refer to the following Microsoft Knowledge Base
+   articles: 245225 "HOW TO: Configure and Test a PERL Script with IIS
+   4.0, 5.0, and 5.1" (for Internet Information Services) and 231998 "HOW
+   TO: FP2000: How to Use Perl with Microsoft Personal Web Server on
+   Windows 95/98" (for Personal Web Server).
+
+   You will need to create a virtual directory for the Bugzilla install.
+   Put the Bugzilla files in a directory that is named something other
+   than what you want your end-users accessing. That is, if you want your
+   users to access your Bugzilla installation through
+   "http://<yourdomainname>/Bugzilla", then do not put your Bugzilla
+   files in a directory named "Bugzilla". Instead, place them in a
+   different location, and then use the IIS Administration tool to create
+   a Virtual Directory named "Bugzilla" that acts as an alias for the
+   actual location of the files. When creating that virtual directory,
+   make sure you add the "Execute (such as ISAPI applications or CGI)"
+   access permission.
+
+   You will also need to tell IIS how to handle Bugzilla's .cgi files.
+   Using the IIS Administration tool again, open up the properties for
+   the new virtual directory and select the Configuration option to
+   access the Script Mappings. Create an entry mapping .cgi to:
+<full path to perl.exe >\perl.exe -x<full path to Bugzilla> -wT "%s" %s
+
+   For example:
+c:\perl\bin\perl.exe -xc:\bugzilla -wT "%s" %s
+
+   Note
+
+   The ActiveState install may have already created an entry for .pl
+   files that is limited to "GET,HEAD,POST". If so, this mapping should
+   be removed as Bugzilla's .pl files are not designed to be run via a
+   webserver.
+
+   IIS will also need to know that the index.cgi should be treated as a
+   default document. On the Documents tab page of the virtual directory
+   properties, you need to add index.cgi as a default document type. If
+   you wish, you may remove the other default document types for this
+   particular virtual directory, since Bugzilla doesn't use any of them.
 
    Also, and this can't be stressed enough, make sure that files such as
    localconfig and your data directory are secured as described in
-   Section 2.2.4.4.
+   Section 4.3.1.
      _________________________________________________________________
 
 2.2.4.3. AOL Server
@@ -704,50 +864,11 @@ Chapter 2. Installing Bugzilla
    data/webdot directory.
      _________________________________________________________________
 
-2.2.4.4. Web Server Access Controls
-
-   Users of Apache can skip this section because Bugzilla ships with
-   .htaccess files which restrict access in the manner required. Users of
-   other webservers, read on.
-
-   There are several files in the Bugzilla directory that should not be
-   accessible from the web. You need to configure your webserver so they
-   they aren't. Not doing this may reveal sensitive information such as
-   database passwords.
-
-     * In the main Bugzilla directory, you should:
-          + Block: *.pl, *localconfig*, runtests.sh
-          + But allow: localconfig.js, localconfig.rdf
-     * In data:
-          + Block everything
-          + But allow: duplicates.rdf
-     * In data/webdot:
-          + If you use a remote webdot server:
-               o Block everything
-               o But allow *.dot only for the remote webdot server
-          + Otherwise, if you use a local GraphViz:
-               o Block everything
-               o But allow: *.png, *.gif, *.jpg, *.map
-          + And if you don't use any dot:
-               o Block everything
-     * In Bugzilla:
-          + Block everything
-     * In template:
-          + Block everything
-
-   You should test to make sure that the files mentioned above are not
-   accessible from the Internet, especially your localconfig file which
-   contains your database password. To test, simply point your web
-   browser at the file; for example, to test mozilla.org's installation,
-   we'd try to access http://bugzilla.mozilla.org/localconfig. You should
-   get a 403 Forbidden error.
-     _________________________________________________________________
-
 2.2.5. Bugzilla
 
    Your Bugzilla should now be working. Access
    http://<your-bugzilla-server>/ - you should see the Bugzilla front
-   page. If not, consult the Troubleshooting section, Section 2.5.
+   page. If not, consult the Troubleshooting section, Appendix B.
 
    Log in with the administrator account you defined in the last
    checksetup.pl run. You should go through the parameters on the Edit
@@ -783,6 +904,12 @@ Chapter 2. Installing Bugzilla
 
    After two days have passed you'll be able to view bug graphs from the
    Reports page.
+
+   Note
+
+   Windows does not have 'cron', but it does have the Task Scheduler,
+   which performs the same duties. There are also third-party tools that
+   can be used to implement cron, such as nncron.
      _________________________________________________________________
 
 2.3.2. Dependency Charts
@@ -818,6 +945,12 @@ Chapter 2. Installing Bugzilla
    entry, in the same manner as explained above for bug graphs. This
    example runs it at 12.55am.
    55 0 * * * cd <your-bugzilla-directory> ; ./whineatnews.pl
+
+   Note
+
+   Windows does not have 'cron', but it does have the Task Scheduler,
+   which performs the same duties. There are also third-party tools that
+   can be used to implement cron, such as nncron.
      _________________________________________________________________
 
 2.3.4. Patch Viewer
@@ -912,52 +1045,21 @@ Chapter 2. Installing Bugzilla
           Ex. "mail"
      _________________________________________________________________
 
-2.3.6. Prevent users injecting malicious Javascript
+2.3.6. Serving Alternate Formats with the right MIME type
 
-   It is possible for a Bugzilla user to take advantage of character set
-   encoding ambiguities to inject HTML into Bugzilla comments. This could
-   include malicious scripts. Due to internationalization concerns, we
-   are unable to incorporate by default the code changes suggested by the
-   CERT advisory on this issue. If your installation is for an English
-   speaking audience only, making the change below will prevent this
-   problem.
+   Some Bugzilla pages have alternate formats, other than just plain
+   HTML. In particular, a few Bugzilla pages can output their contents as
+   either XUL (a special Mozilla format, that looks like a program GUI)
+   or RDF (a type of structured XML that can be read by various
+   programs).
 
-   Simply locate the following line in Bugzilla/CGI.pm:
-   $self->charset('');
+   In order for your users to see these pages correctly, Apache must send
+   them with the right MIME type. To do this, add the following lines to
+   your Apache configuration, either in the <VirtualHost> section for
+   your Bugzilla, or in the <Directory> section for your Bugzilla:
 
-   and change it to:
-   $self->charset('ISO-8859-1');
-     _________________________________________________________________
-
-2.3.7. mod_throttle
-
-   It is possible for a user, by mistake or on purpose, to access the
-   database many times in a row which can result in very slow access
-   speeds for other users. If your Bugzilla installation is experiencing
-   this problem, you may install the Apache module mod_throttle which can
-   limit connections by IP address. You may download this module at
-   http://www.snert.com/Software/mod_throttle/. Follow the instructions
-   to install into your Apache install. This module only functions with
-   the Apache web server! The command you need is ThrottleClientIP. See
-   the documentation for more information.
-     _________________________________________________________________
-
-2.3.8. TCP/IP Ports
-
-   A single-box Bugzilla only requires port 80, plus port 25 if you are
-   using the optional email interface. You should firewall all other
-   ports and/or disable services listening on them.
-     _________________________________________________________________
-
-2.3.9. Daemon Accounts
-
-   Many daemons, such as Apache's httpd and MySQL's mysqld default to
-   running as either "root" or "nobody". Running as "root" introduces
-   obvious security problems, but the problems introduced by running
-   everything as "nobody" may not be so obvious. Basically, if you're
-   running every daemon as "nobody" and one of them gets compromised,
-   they all get compromised. For this reason it is recommended that you
-   create a user account for each daemon.
+AddType application/vnd.mozilla.xul+xml .xul
+AddType text/xml .rdf
      _________________________________________________________________
 
 2.4. OS-Specific Installation Notes
@@ -974,66 +1076,54 @@ Chapter 2. Installing Bugzilla
 
 2.4.1. Microsoft Windows
 
-   Making Bugzilla work on Windows is still a painful processes. The
-   Bugzilla Team is working to make it easier, but that goal is not
-   considered a top priority. If you wish to run Bugzilla, we still
-   recommend doing so on a Unix based system such as GNU/Linux. As of
-   this writing, all members of the Bugzilla team and all known large
-   installations run on Unix based systems.
-
-   If after hearing all that, you have enough pain tolerance to attempt
-   installing Bugzilla on Win32, here are some pointers. Because this is
-   a development version of the guide, these instructions are subject to
-   change without notice. In fact, the Bugzilla Team hopes to have
-   Bugzilla reasonably close to "out of the box" compatibility with
-   Windows by the 2.18 release.
+   Making Bugzilla work on Windows is more difficult than making it work
+   on Unix. For that reason, we still recommend doing so on a Unix based
+   system such as GNU/Linux. That said, if you do want to get Bugzilla
+   running on Windows, you will need to make the following adjustments.
      _________________________________________________________________
 
 2.4.1.1. Win32 Perl
 
    Perl for Windows can be obtained from ActiveState. You should be able
    to find a compiled binary at
-   http://aspn.activestate.com/ASPN/Downloads/ActivePerl/.
+   http://aspn.activestate.com/ASPN/Downloads/ActivePerl/. The following
+   instructions assume that you are using version 5.8.1 of ActiveState.
      _________________________________________________________________
 
 2.4.1.2. Perl Modules on Win32
 
    Bugzilla on Windows requires the same perl modules found in Section
    2.1.5. The main difference is that windows uses PPM instead of CPAN.
-C:\perl> ppm <module name>
-
-   Note
-
-   The above syntax should work for all modules with the exception of
-   Template Toolkit. The Template Toolkit website suggests using the
-   instructions on OpenInteract's website.
-     _________________________________________________________________
-
-2.4.1.3. Code changes required to run on win32
+C:\perl> ppm install <module name>
 
-   As Bugzilla still doesn't run "out of the box" on Windows, code has to
-   be modified. This section lists the required changes.
-     _________________________________________________________________
+   The best source for the Windows PPM modules needed for Bugzilla is
+   probably the the Bugzilla Test Server (aka 'Landfill'), so you should
+   add the Landfill package repository as follows:
+ppm repository add landfill http://www.landfill.bugzilla.org/ppm/
 
-2.4.1.3.1. Changes to checksetup.pl
-
-   In checksetup.pl, the line reading:
-my $mysql_binaries = `which mysql`;
+   Note
 
-   to
-my $mysql_binaries = "D:\\mysql\\bin\\mysql";
+   The PPM repository stores modules in 'packages' that may have a
+   slightly different name than the module. If retrieving these modules
+   from there, you will need to pay attention to the information provided
+   when you run checksetup.pl as it will tell you what package you'll
+   need to install.
 
-   And you'll also need to change:
-my $webservergid = getgrnam($my_webservergroup)
+   Tip
 
-   to
-my $webservergid = '8'
+   If you are behind a corporate firewall, you will need to let the
+   ActiveState PPM utility know how to get through it to acccess the
+   repositories by setting the HTTP_proxy system environmental variable.
+   For more information on setting that variable, see the ActiveState
+   documentation.
      _________________________________________________________________
 
-2.4.1.3.2. Changes to BugMail.pm
+2.4.1.3. Code changes required to run on win32
 
-   To make bug email work on Win32 (until bug 84876 lands), the simplest
-   way is to have the Net::SMTP Perl module installed and change this:
+   Bugzilla on win32 is mostly supported out of the box; one remaining
+   issue is related to bug email. To make bug email work on Win32 (until
+   bug 49893 lands), the simplest way is to have the Net::SMTP Perl
+   module installed and change this line in the file Bugzilla/Bugmail.pm:
 open(SENDMAIL, "|/usr/lib/sendmail $sendmailparam -t -i") ||
   die "Can't open sendmail";
 
@@ -1065,14 +1155,14 @@ $smtp->quit;
    As is the case on Unix based systems, any web server should be able to
    handle Bugzilla; however, the Bugzilla Team still recommends Apache
    whenever asked. No matter what web server you choose, be sure to pay
-   attention to the security notes in Section 2.2.4.4. More information
-   on configuring specific web servers can be found in Section 2.2.4.
+   attention to the security notes in Section 4.3.1. More information on
+   configuring specific web servers can be found in Section 2.2.4.
 
    Note
 
    If using Apache on windows, you can set the ScriptInterpreterSource
    directive in your Apache config to avoid having to modify the first
-   line of every script to contain your path to perl instead of
+   line of every script to contain your path to perl perl instead of
    /usr/bin/perl.
      _________________________________________________________________
 
@@ -1098,8 +1188,8 @@ $smtp->quit;
    default, Fink creates its own directory tree at /sw where it installs
    most of the software that it installs. This means your libraries and
    headers will be at /sw/lib and /sw/include instead of /usr/lib and
-   /usr/include. When the Perl module config script asks where your
-   libgdi is, be sure to tell it /sw/lib.
+   /usr/include. When the Perl module config script asks where your libgd
+   is, be sure to tell it /sw/lib.
 
    Also available via Fink is expat. After using fink to install the
    expat package you will be able to install XML::Parser using CPAN.
@@ -1138,128 +1228,284 @@ bash# urpmi apache-modules
           for Bugzilla email integration
      _________________________________________________________________
 
-2.5. Troubleshooting
+2.5. UNIX (non-root) Installation Notes
 
-   This section gives solutions to common Bugzilla installation problems.
-   If none of the section headings seems to match your problem, read the
-   general advice.
+2.5.1. Introduction
+
+   If you are running a *NIX OS as non-root, either due to lack of access
+   (web hosts, for example) or for security reasons, this will detail how
+   to install Bugzilla on such a setup. It is recommended that you read
+   through the Section 2.1 first to get an idea on the installation steps
+   required. (These notes will reference to steps in that guide.)
      _________________________________________________________________
 
-2.5.1. General Advice
+2.5.2. MySQL
 
-   If you can't get checksetup.pl to run to completion, it normally
-   explains what's wrong and how to fix it. If you can't work it out, or
-   if it's being uncommunicative, post the errors in the
-   netscape.public.mozilla.webtools newsgroup.
+   You may have MySQL installed as root. If you're setting up an account
+   with a web host, a MySQL account needs to be set up for you. From
+   there, you can create the bugs account, or use the account given to
+   you.
 
-   If you have made it all the way through Section 2.1 (Installation) and
-   Section 2.2 (Configuration) but accessing the Bugzilla URL doesn't
-   work, the first thing to do is to check your webserver error log. For
-   Apache, this is often located at /etc/logs/httpd/error_log. The error
-   messages you see may be self-explanatory enough to enable you to
-   diagnose and fix the problem. If not, see below for some
-   commonly-encountered errors. If that doesn't help, post the errors to
-   the newsgroup.
+   Warning
+
+   You may have problems trying to set up GRANT permissions to the
+   database. If you're using a web host, chances are that you have a
+   separate database which is already locked down (or one big database
+   with limited/no access to the other areas), but you may want to ask
+   your system adminstrator what the security settings are set to, and/or
+   run the GRANT command for you.
+
+   Also, you will probably not be able to change the MySQL root user
+   password (for obvious reasons), so skip that step.
      _________________________________________________________________
 
-2.5.2. I installed a Perl module, but checksetup.pl claims it's not
-installed!
+2.5.2.1. Running MySQL as Non-Root
+
+2.5.2.1.1. The Custom Configuration Method
+
+   Create a file .my.cnf in your home directory (using /home/foo in this
+   example) as follows....
+[mysqld]
+datadir=/home/foo/mymysql
+socket=/home/foo/mymysql/thesock
+port=8081
 
-   You have two versions of Perl on your machine. You are installing
-   modules into one, and Bugzilla is using the other. Rerun the CPAN
-   commands (or manual compile) using the full path to Perl from the top
-   of checksetup.pl. This will make sure you are installing the modules
-   in the right place.
+[mysql]
+socket=/home/foo/mymysql/thesock
+port=8081
+
+[mysql.server]
+user=mysql
+basedir=/var/lib
+
+[safe_mysqld]
+err-log=/home/foo/mymysql/the.log
+pid-file=/home/foo/mymysql/the.pid
      _________________________________________________________________
 
-2.5.3. Bundle::Bugzilla makes me upgrade to Perl 5.6.1
+2.5.2.1.2. The Custom Built Method
 
-   Try executing perl -MCPAN -e 'install CPAN' and then continuing.
+   You can install MySQL as a not-root, if you really need to. Build it
+   with PREFIX set to /home/foo/mysql, or use pre-installed executables,
+   specifying that you want to put all of the data files in
+   /home/foo/mysql/data. If there is another MySQL server running on the
+   system that you do not own, use the -P option to specify a TCP port
+   that is not in use.
+     _________________________________________________________________
 
-   Certain older versions of the CPAN toolset were somewhat naive about
-   how to upgrade Perl modules. When a couple of modules got rolled into
-   the core Perl distribution for 5.6.1, CPAN thought that the best way
-   to get those modules up to date was to haul down the Perl distribution
-   itself and build it. Needless to say, this has caused headaches for
-   just about everybody. Upgrading to a newer version of CPAN with the
-   commandline above should fix things.
+2.5.2.1.3. Starting the Server
+
+   After your mysqld program is built and any .my.cnf file is in place,
+   you must initialize the databases (ONCE).
+              bash$
+              mysql_install_db
+
+   Then start the daemon with
+              bash$
+              safe_mysql &
+
+   After you start mysqld the first time, you then connect to it as
+   "root" and GRANT permissions to other users. (Again, the MySQL root
+   account has nothing to do with the *NIX root account.)
+
+   Note
+
+   You will need to start the daemons yourself. You can either ask your
+   system administrator to add them to system startup files, or add a
+   crontab entry that runs a script to check on these daemons and restart
+   them if needed.
+
+   Warning
+
+   Do NOT run daemons or other services on a server without first
+   consulting your system administrator! Daemons use up system resources
+   and running one may be in violation of your terms of service for any
+   machine on which you are a user!
      _________________________________________________________________
 
-2.5.4. DBD::Sponge::db prepare failed
+2.5.3. Perl
 
-   The following error message may appear due to a bug in DBD::mysql
-   (over which the Bugzilla team have no control):
- DBD::Sponge::db prepare failed: Cannot determine NUM_OF_FIELDS at D:/Perl/site
-/lib/DBD/mysql.pm line 248.
-  SV = NULL(0x0) at 0x20fc444
-  REFCNT = 1
-  FLAGS = (PADBUSY,PADMY)
+   On the extremely rare chance that you don't have Perl on the machine,
+   you will have to build the sources yourself. The following commands
+   should get your system installed with your own personal version of
+   Perl:
+        bash$
+        wget http://perl.com/CPAN/src/stable.tar.gz
+        bash$
+        tar zvxf stable.tar.gz
+        bash$
+        cd perl-5.8.1 (or whatever the version of Perl is called)
+        bash$
+        sh Configure -de -Dprefix=/home/foo/perl
+        bash$
+        make && make test && make install
 
-   To fix this, go to <path-to-perl>/lib/DBD/sponge.pm in your Perl
-   installation and replace
- my $numFields;
- if ($attribs->{'NUM_OF_FIELDS'}) {
-     $numFields = $attribs->{'NUM_OF_FIELDS'};
- } elsif ($attribs->{'NAME'}) {
-     $numFields = @{$attribs->{NAME}};
+   Once you have Perl installed into a directory (probably in
+   ~/perl/bin), you'll have to change the locations on the scripts, which
+   is detailed later on this page.
+     _________________________________________________________________
 
-   by
- my $numFields;
- if ($attribs->{'NUM_OF_FIELDS'}) {
-     $numFields = $attribs->{'NUM_OF_FIELDS'};
- } elsif ($attribs->{'NAMES'}) {
-     $numFields = @{$attribs->{NAMES}};
+2.5.4. Perl Modules
 
-   (note the S added to NAME.)
+   Installing the Perl modules as a non-root user is probably the hardest
+   part of the process. There are two different methods: a completely
+   independant Perl with its own modules, or personal modules using the
+   current (root installed) version of Perl. The independant method takes
+   up quite a bit of disk space, but is less complex, while the mixed
+   method only uses as much space as the modules themselves, but takes
+   more work to setup.
      _________________________________________________________________
 
-2.5.5. cannot chdir(/var/spool/mqueue)
+2.5.4.1. The Independant Method
 
-   If you are installing Bugzilla on SuSE Linux, or some other
-   distributions with "paranoid" security options, it is possible that
-   the checksetup.pl script may fail with the error:
-   cannot chdir(/var/spool/mqueue): Permission denied
+   The independant method requires that you install your own personal
+   version of Perl, as detailed in the previous section. Once installed,
+   you can start the CPAN shell with the following command:
 
-   This is because your /var/spool/mqueue directory has a mode of
-   "drwx------". Type chmod 755 /var/spool/mqueue as root to fix this
-   problem.
+            bash$
+            /home/foo/perl/bin/perl -MCPAN -e 'shell'
+
+   And then:
+
+            cpan>
+            install Bundle::Bugzilla
+
+   With this method, module installation will usually go a lot smoother,
+   but if you have any hang-ups, you can consult the next section.
      _________________________________________________________________
 
-2.5.6. Your vendor has not defined Fcntl macro O_NOINHERIT
+2.5.4.2. The Mixed Method
 
-   This is caused by a bug in the version of File::Temp that is
-   distributed with perl 5.6.0. Many minor variations of this error have
-   been reported:
-Your vendor has not defined Fcntl macro O_NOINHERIT, used
-at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 208.
+   First, you'll need to configure CPAN to install modules in your home
+   directory. The CPAN FAQ says the following on this issue:
 
-Your vendor has not defined Fcntl macro O_EXLOCK, used
-at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 210.
+5)  I am not root, how can I install a module in a personal directory?
 
-Your vendor has not defined Fcntl macro O_TEMPORARY, used
-at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233.
+    You will most probably like something like this:
 
-   Numerous people have reported that upgrading to version 5.6.1 or
-   higher solved the problem for them. A less involved fix is to apply
-   the following patch, which is also available as a patch file.
---- File/Temp.pm.orig   Thu Feb  6 16:26:00 2003
-+++ File/Temp.pm        Thu Feb  6 16:26:23 2003
-@@ -205,6 +205,7 @@
-     # eg CGI::Carp
-     local $SIG{__DIE__} = sub {};
-     local $SIG{__WARN__} = sub {};
-+    local *CORE::GLOBAL::die = sub {};
-     $bit = &$func();
-     1;
-   };
-@@ -226,6 +227,7 @@
-     # eg CGI::Carp
-     local $SIG{__DIE__} = sub {};
-     local $SIG{__WARN__} = sub {};
-+    local *CORE::GLOBAL::die = sub {};
-     $bit = &$func();
-     1;
-   };
+      o conf makepl_arg "LIB=~/myperl/lib \
+                         INSTALLMAN1DIR=~/myperl/man/man1 \
+                         INSTALLMAN3DIR=~/myperl/man/man3"
+    install Sybase::Sybperl
+
+    You can make this setting permanent like all "o conf" settings with "o conf
+ commit".
+
+    You will have to add ~/myperl/man to the MANPATH environment variable and a
+lso tell your Perl programs to
+    look into ~/myperl/lib, e.g. by including
+
+      use lib "$ENV{HOME}/myperl/lib";
+
+    or setting the PERL5LIB environment variable.
+
+    Another thing you should bear in mind is that the UNINST parameter should n
+ever be set if you are not root.
+
+   So, you will need to create a Perl directory in your home directory,
+   as well as the lib, man, man/man1, and man/man3 directories in that
+   Perl directory. Set the MANPATH variable and PERL5LIB variable, so
+   that the installation of the modules goes smoother. (Setting UNINST=0
+   in your "make install" options, on the CPAN first-time configuration,
+   is also a good idea.)
+
+   After that, go into the CPAN shell:
+
+            bash$
+            perl -MCPAN -e 'shell'
+
+   From there, you will need to type in the above "o conf" command and
+   commit the changes. Then you can run through the installation:
+
+            cpan>
+            install Bundle::Bugzilla
+
+   Most of the module installation process should go smoothly. However,
+   you may have some problems with Template. When you first start, you
+   will want to try to install Template with the XS Stash options on. If
+   this doesn't work, it may spit out C compiler error messages and croak
+   back to the CPAN shell prompt. So, redo the install, and turn it off.
+   (In fact, say no to all of the Template questions.) It may also start
+   failing on a few of the tests. If the total tests passed is a
+   reasonable figure (90+%), force the install with the following
+   command:
+
+            cpan>
+            force install Template
+
+   You may also want to install the other optional modules:
+          cpan>
+          install GD
+          cpan>
+          install Chart::Base
+          cpan>
+          install MIME::Parser
+     _________________________________________________________________
+
+2.5.5. HTTP Server
+
+   Ideally, this also needs to be installed as root and run under a
+   special webserver account. As long as the web server will allow the
+   running of *.cgi files outside of a cgi-bin, and a way of denying web
+   access to certain files (such as a .htaccess file), you should be good
+   in this department.
+     _________________________________________________________________
+
+2.5.5.1. Running Apache as Non-Root
+
+   You can run Apache as a non-root user, but the port will need to be
+   set to one above 1024. If you type httpd -V, you will get a list of
+   the variables that your system copy of httpd uses. One of those,
+   namely HTTPD_ROOT, tells you where that installation looks for its
+   config information.
+
+   From there, you can copy the config files to your own home directory
+   to start editing. When you edit those and then use the -d option to
+   override the HTTPD_ROOT compiled into the web server, you get control
+   of your own customized web server.
+
+   Note
+
+   You will need to start the daemons yourself. You can either ask your
+   system administrator to add them to system startup files, or add a
+   crontab entry that runs a script to check on these daemons and restart
+   them if needed.
+
+   Warning
+
+   Do NOT run daemons or other services on a server without first
+   consulting your system administrator! Daemons use up system resources
+   and running one may be in violation of your terms of service for any
+   machine on which you are a user!
+     _________________________________________________________________
+
+2.5.6. Bugzilla
+
+   If you had to install Perl modules as a non-root user (Section 2.5.4)
+   or to non-standard directories, you will need to change the scripts,
+   setting the correct location of the Perl modules:
+
+perl -pi -e
+        's@use strict\;@use strict\; use lib \"/home/foo/perl/lib\"\;@'
+        *cgi *pl Bug.pm processmail syncshadowdb
+
+   Change /home/foo/perl/lib to your personal Perl library directory. You
+   can probably skip this step if you are using the independant method of
+   Perl module installation.
+
+   When you run ./checksetup.pl to create the localconfig file, it will
+   list the Perl modules it finds. If one is missing, go back and
+   double-check the module installation from the CPAN shell, then delete
+   the localconfig file and try again.
+
+   Warning
+
+   The one option in localconfig you might have problems with is the web
+   server group. If you can't successfully browse to the index.cgi (like
+   a Forbidden error), you may have to relax your permissions, and blank
+   out the web server group. Of course, this may pose as a security risk.
+   Having a properly jailed shell and/or limited access to shell accounts
+   may lessen the security risk, but use at your own risk.
      _________________________________________________________________
 
 Chapter 3. Administering Bugzilla
@@ -1316,10 +1562,20 @@ Chapter 3. Administering Bugzilla
        that updates reach this readonly mirror. Consult your database
        documentation for more detail.
     6. shutdownhtml: If you need to shut down Bugzilla to perform
-       administration, enter some descriptive HTML here and anyone who
-       tries to use Bugzilla will receive a page to that effect.
-       Obviously, editparams.cgi will still be accessible so you can
-       remove the HTML and re-enable Bugzilla. :-)
+       administration, enter some descriptive text (with embedded HTML
+       codes, if you'd like) into this box. Anyone who tries to use
+       Bugzilla (including admins) will receive a page displaying this
+       text. Users can neither log in nor log out while shutdownhtml is
+       enabled.
+
+   Note
+
+   Although regular log-in capability is disabled while 'shutdownhtml' is
+   enabled, safeguards are in place to protect the unfortunate admin who
+   loses connection to Bugzilla. Should this happen to you, go directly
+   to the editparams.cgi (by typing the URL in manually, if necessary).
+   Doing this will prompt you to log in, and your name/password will be
+   accepted here (but nowhere else).
     7. passwordmail: Every time a user creates an account, the text of
        this parameter (with substitutions) is sent to the new user along
        with their password message.
@@ -1362,13 +1618,16 @@ Chapter 3. Administering Bugzilla
    users than having a developer mark a bug "fixed" without any comment
    as to what the fix was (or even that it was truly fixed!)
    13. supportwatchers: Turning on this option allows users to ask to
-       receive copies of all a particular other user's bug email. This
-       is, of course, subject to the groupset restrictions on the bug; if
-       the "watcher" would not normally be allowed to view a bug, the
-       watcher cannot get around the system by setting herself up to
-       watch the bugs of someone with bugs outside her privileges. They
-       would still only receive email updates for those bugs she could
-       normally view.
+       receive copies of bug mail sent to another user. Watching a user
+       with different group permissions is not a way to 'get around' the
+       system; copied emails are still subject to the normal groupset
+       permissions of a bug, and "watchers" will only be copied on emails
+       from bugs they would normally be allowed to view.
+   14. noresolveonopenblockers: This option will prevent users from
+       resolving bugs as FIXED if they have unresolved dependencies. Only
+       the FIXED resolution is affected. Users will be still able to
+       resolve bugs to resolutions other than FIXED if they have
+       unresolved dependent bugs.
      _________________________________________________________________
 
 3.2. User Administration
@@ -1444,16 +1703,21 @@ Chapter 3. Administering Bugzilla
        changes to bugs via the web interface. The HTML you type in this
        box is presented to the user when they attempt to perform these
        actions, and should explain why the account was disabled.
+       Users with disabled accounts will continue to receive mail from
+       Bugzilla; furthermore, they will not be able to log in themselves
+       to change their own preferences and stop it. If you want an
+       account (disabled or active) to stop receiving mail, add the
+       account name (one account per line) to the file data/nomail.
 
-       Warning
+   Note
 
-   Don't disable all the administrator accounts!
+   Even users whose accounts have been disabled can still submit bugs via
+   the e-mail gateway, if one exists. The e-mail gateway should not be
+   enabled for secure installations of Bugzilla.
 
-   Note
+       Warning
 
-   The user can still submit bugs via the e-mail gateway, if you set it
-   up, even if the disabled text field is filled in. The e-mail gateway
-   should not be enabled for secure installations of Bugzilla.
+   Don't disable all the administrator accounts!
      * <groupname>: If you have created some groups, e.g.
        "securitysensitive", then checkboxes will appear here to allow you
        to add users to, or remove them from, these groups.
@@ -1586,48 +1850,424 @@ Chapter 3. Administering Bugzilla
        which gives information about your milestones and what they mean.
      _________________________________________________________________
 
-3.7. Voting
+3.7. Flags
+
+   Flags are a way to attach a specific status to a bug or attachment,
+   either "+" or "-". The meaning of these symbols depends on the text
+   the flag itself, but contextually they could mean pass/fail,
+   accept/reject, approved/denied, or even a simple yes/no. If your site
+   allows requestable flags, then users may set a flag to "?" as a
+   request to another user that they look at the bug/attachment, and set
+   the flag to its correct status.
+     _________________________________________________________________
+
+3.7.1. A Simple Example
+
+   A developer might want to ask their manager, "Should we fix this bug
+   before we release version 2.0?" They might want to do this for a lot
+   of bugs, so it would be nice to streamline the process...
+
+   In Bugzilla, it would work this way:
+
+    1. The Bugzilla administrator creates a flag type called
+       "blocking2.0" that shows up on all bugs in your product.
+       It shows up on the "Show Bug" screen as the text "blocking2.0"
+       with a drop-down box next to it. The drop-down box contains four
+       values: an empty space, "?", "-", and "+".
+    2. The developer sets the flag to "?".
+    3. The manager sees the blocking2.0 flag with a "?" value.
+    4. If the manager thinks the feature should go into the product
+       before version 2.0 can be released, he sets the flag to "+".
+       Otherwise, he sets it to "-".
+    5. Now, every Bugzilla user who looks at the bug knows whether or not
+       the bug needs to be fixed before release of version 2.0.
+     _________________________________________________________________
+
+3.7.2. About Flags
+
+3.7.2.1. Values
+
+   Flags can have three values:
+
+   ?
+          A user is requesting that a status be set. (Think of it as 'A
+          question is being asked'.)
+
+   -
+          The status has been set negatively. (The question has been
+          answered "no".)
+
+   +
+          The status has been set positively. (The question has been
+          answered "yes".)
+
+   Actually, there's a fourth value a flag can have -- "unset" -- which
+   shows up as a blank space. This just means that nobody has expressed
+   an opinion (or asked someone else to express an opinion) about this
+   bug or attachment.
+     _________________________________________________________________
+
+3.7.3. Using flag requests
+
+   If a flag has been defined as 'requestable', users are allowed to set
+   the flag's status to "?". This status indicates that someone (aka "the
+   requester" is asking for someone else to set the flag to either "+" or
+   "-".
+
+   If a flag has been defined as 'specifically requestable', a text box
+   will appear next to the flag into which the requester may enter a
+   Bugzilla username. That named person (aka "the requestee") will
+   receive an email notifying them of the request, and pointing them to
+   the bug/attachment in question.
+
+   If a flag has not been defined as 'specifically requestable', then no
+   such text-box will appear. A request to set this flag cannot be made
+   of any specific individual, but must be asked "to the wind". A
+   requester may "ask the wind" on any flag simply by leaving the
+   text-box blank.
+     _________________________________________________________________
+
+3.7.4. Two Types of Flags
+
+   Flags can go in two places: on an attachment, or on a bug.
+     _________________________________________________________________
+
+3.7.4.1. Attachment Flags
+
+   Attachment flags are used to ask a question about a specific
+   attachment on a bug.
+
+   Many Bugzilla installations use this to request that one developer
+   "review" another developer's code before they check it in. They attach
+   the code to a bug report, and then set a flag on that attachment
+   called "review" to review?boss@domain.com. boss@domain.com is then
+   notified by email that he has to check out that attachment and approve
+   it or deny it.
+
+   For a Bugzilla user, attachment flags show up in two places:
+
+    1. On the list of attachments in the "Show Bug" screen, you can see
+       the current state of any flags that have been set to ?, +, or -.
+       You can see who asked about the flag (the requester), and who is
+       being asked (the requestee).
+    2. When you "Edit" an attachment, you can see any settable flag,
+       along with any flags that have already been set. This "Edit
+       Attachment" screen is where you set flags to ?, -, +, or unset
+       them.
+     _________________________________________________________________
+
+3.7.4.2. Bug Flags
+
+   Bug flags are used to set a status on the bug itself. You can see Bug
+   Flags in the "Show Bug" screen (editbug.cgi).
+
+   Only users with the ability to edit the bug may set flags on bugs.
+   This includes the owner, reporter, and any user with the editbugs
+   permission.
+     _________________________________________________________________
+
+3.7.5. Administering Flags
+
+   If you have the "editcomponents" permission, you will have "Edit: ...
+   | Flags | ..." in your page footer. Clicking on that link will bring
+   you to the "Administer Flag Types" page. Here, you can select whether
+   you want to create (or edit) a Bug flag, or an Attachment flag.
+
+   No matter which you choose, the interface is the same, so we'll just
+   go over it once.
+     _________________________________________________________________
+
+3.7.5.1. Creating a Flag
+
+   When you click on the "Create a Flag Type for..." link, you will be
+   presented with a form. Here is what the felds in the form mean:
+     _________________________________________________________________
+
+3.7.5.1.1. Name
+
+   This is the name of the flag. This will be displayed to Bugzilla users
+   who are looking at or setting the flag. The name may consist of any
+   valid Unicode character.
+     _________________________________________________________________
+
+3.7.5.1.2. Description
+
+   This describes the flag in more detail. At present, this doesn't whos
+   up anywhere helpful; ideally, it would be nice to have it show up as a
+   tooltip. This field can be as long as you like, and can contain any
+   character you want.
+     _________________________________________________________________
+
+3.7.5.1.3. Category
+
+   Default behaviour for a newly-created flag is to appear on products
+   and all components, which is why "__Any__:__Any__" is already entered
+   in the "Inclusions" box. If this is not your desired behaviour, you
+   must either set some exclusions (for products on which you don't want
+   the flag to appear), or you must remove "__Any__:__Any__" from the
+   Inclusions box and define products/components specifically for this
+   flag.
+
+   To create an Inclusion, select a Product from the top drop-down box.
+   You may also select a specific component from the bottom drop-down
+   box. (Setting "__Any__" for Product translates to, "all the products
+   in this Bugzilla". Selecting "__Any__" in the Component field means
+   "all components in the selected product.") Selections made, press
+   "Include", and your Product/Component pairing will show up in the
+   "Inclusions" box on the right.
+
+   To create an Exclusion, the process is the same; select a Product from
+   the top drop-down box, select a specific component if you want one,
+   and press "Exclude". The Product/Component pairing will show up in the
+   "Exclusions" box on the right.
+
+   This flag will and can be set for any products/components that
+   appearing in the "Inclusions" box (or which fall under the appropriate
+   "__Any__"). This flag will not appear (and therefore cannot be set) on
+   any products appearing in the "Exclusions" box. IMPORTANT: Exclusions
+   override inclusions.
+
+   You may select a Product without selecting a specific Component, but
+   it is illegal to select a Component without a Product, or to select a
+   Component that does not belong to the named Product. Doing so as of
+   this writing (2.18rc3) will raise an error... even if all your
+   products have a component by that name.
+
+   Example: Let's say you have a product called "Jet Plane" that has
+   thousands of components. You want to be able to ask if a problem
+   should be fixed in the next model of plane you release. We'll call the
+   flag "fixInNext". But, there's one component in "Jet Plane," called
+   "Pilot." It doesn't make sense to release a new pilot, so you don't
+   want to have the flag show up in that component. So, you include "Jet
+   Plane:__Any__" and you exclude "Jet Plane:Pilot".
+     _________________________________________________________________
+
+3.7.5.1.4. Sort Key
+
+   Flags normally show up in alphabetical order. If you want them to show
+   up in a different order, you can use this key set the order on each
+   flag. Flags with a lower sort key will appear before flags with a
+   higher sort key. Flags that have the same sort key will be sorted
+   alphabetically, but they will still be after flags with a lower sort
+   key, and before flags with a higher sort key.
+
+   Example: I have AFlag (Sort Key 100), BFlag (Sort Key 10), CFlag (Sort
+   Key 10), and DFlag (Sort Key 1). These show up in the order: DFlag,
+   BFlag, CFlag, AFlag.
+     _________________________________________________________________
+
+3.7.5.1.5. Active
+
+   Sometimes, you might want to keep old flag information in the Bugzilla
+   database, but stop users from setting any new flags of this type. To
+   do this, uncheck "active". Deactivated flags will still show up in the
+   UI if they are ?, +, or -, but they may only be cleared (unset), and
+   cannot be changed to a new value. Once a deactivated flag is cleared,
+   it will completely disappear from a bug/attachment, and cannot be set
+   again.
+     _________________________________________________________________
+
+3.7.5.1.6. Requestable
+
+   New flags are, by default, "requestable", meaning that they offer
+   users the "?" option, as well as "+" and "-". To remove the ? option,
+   uncheck "requestable".
+     _________________________________________________________________
+
+3.7.5.1.7. CC List
+
+   If you want certain users to be notified every time this flag is set
+   to ?, -, +, or unset, add them here. This is a comma-separated list of
+   email addresses that need not be restricted to Bugzilla usernames..
+     _________________________________________________________________
+
+3.7.5.1.8. Specifically Requestable
+
+   By default this box is checked for new flags, meaning that users may
+   make flag requests of specific individuals. Unchecking this box will
+   remove the text box next to a flag; if it is still requestable, then
+   requests may only be made "to the wind." Removing this after specific
+   requests have been made will not remove those requests; that data will
+   stay in the database (though it will no longer appear to the user).
+     _________________________________________________________________
+
+3.7.5.1.9. Multiplicable
+
+   Any flag with "Multiplicable" set (default for new flags is 'on') may
+   be set more than once. After being set once, an unset flag of the same
+   type will appear below it with "addl." (short for "additional") before
+   the name. There is no limit to the number of times a Multiplicable
+   flags may be set on the same bug/attachment.
+     _________________________________________________________________
+
+3.7.5.2. Deleting a Flag
+
+   When you are at the "Administer Flag Types" screen, you will be
+   presented with a list of Bug flags and a list of Attachment Flags.
+
+   To delete a flag, click on the "Delete" link next to the flag
+   description.
+
+   Warning
+
+   Once you delete a flag, it is gone from your Bugzilla. All the data
+   for that flag will be deleted. Everywhere that flag was set, it will
+   disappear, and you cannot get that data back. If you want to keep flag
+   data, but don't want anybody to set any new flags or change current
+   flags, unset "active" in the flag Edit form.
+     _________________________________________________________________
+
+3.7.5.3. Editing a Flag
+
+   To edit a flag's properties, just click on the "Edit" link next to the
+   flag's description. That will take you to the same form described in
+   the "Creating a Flag" section.
+     _________________________________________________________________
+
+3.8. Voting
+
+   Voting allows users to be given a pot of votes which they can allocate
+   to bugs, to indicate that they'd like them fixed. This allows
+   developers to gauge user need for a particular enhancement or bugfix.
+   By allowing bugs with a certain number of votes to automatically move
+   from "UNCONFIRMED" to "NEW", users of the bug system can help
+   high-priority bugs garner attention so they don't sit for a long time
+   awaiting triage.
+
+   To modify Voting settings:
+
+    1. Navigate to the "Edit product" screen for the Product you wish to
+       modify
+    2. Maximum Votes per person: Setting this field to "0" disables
+       voting.
+    3. Maximum Votes a person can put on a single bug: It should probably
+       be some number lower than the "Maximum votes per person". Don't
+       set this field to "0" if "Maximum votes per person" is non-zero;
+       that doesn't make any sense.
+    4. Number of votes a bug in this product needs to automatically get
+       out of the UNCONFIRMED state: Setting this field to "0" disables
+       the automatic move of bugs from UNCONFIRMED to NEW.
+    5. Once you have adjusted the values to your preference, click
+       "Update".
+     _________________________________________________________________
+
+3.9. Quips
+
+   Quips are small text messages that can be configured to appear next to
+   search results. A Bugzilla installation can have its own specific
+   quips. Whenever a quip needs to be displayed, a random selection is
+   made from the pool of already existing quips.
+
+   Quips are controlled by the enablequips parameter. It has several
+   possible values: on, approved, frozen or off. In order to enable quips
+   approval you need to set this parameter to "approved". In this way,
+   users are free to submit quips for addition but an administrator must
+   explicitly approve them before they are actually used.
+
+   In order to see the user interface for the quips, it is enough to
+   click on a quip when it is displayed together with the search results.
+   Or it can be seen directly in the browser by visiting the quips.cgi
+   URL (prefixed with the usual web location of the Bugzilla
+   installation). Once the quip interface is displayed, it is enough to
+   click the "view and edit the whole quip list" in order to see the
+   administration page. A page with all the quips available in the
+   database will be displayed.
+
+   Next to each tip there is a checkbox, under the "Approved" column.
+   Quips who have this checkbox checked are already approved and will
+   appear next to the search results. The ones that have it unchecked are
+   still preserved in the database but they will not appear on search
+   results pages. User submitted quips have initially the checkbox
+   unchecked.
+
+   Also, there is a delete link next to each quip, which can be used in
+   order to permanently delete a quip.
+     _________________________________________________________________
+
+3.10. Groups and Group Security
+
+   Groups allow the administrator to isolate bugs or products that should
+   only be seen by certain people. The association between products and
+   groups is controlled from the product edit page under "Edit Group
+   Controls."
+
+   If the makeproductgroups param is on, a new group will be
+   automatically created for every new product. It is primarily available
+   for backward compatibility with older sites.
+
+   Note that group permissions are such that you need to be a member of
+   all the groups a bug is in, for whatever reason, to see that bug.
+   Similarly, you must be a member of all of the entry groups for a
+   product to add bugs to a product and you must be a member of all of
+   the canedit groups for a product in order to make any change to bugs
+   in that product.
+
+   Note
+
+   By default, bugs can also be seen by the Assignee, the Reporter, and
+   by everyone on the CC List, regardless of whether or not the bug would
+   typically be viewable by them. Visibility to the Reporter and CC List
+   can be overridden (on a per-bug basis) by bringing up the bug, finding
+   the section that starts with "Users in the roles selected below..."
+   and un-checking the box next to either 'Reporter' or 'CC List' (or
+   both).
+     _________________________________________________________________
+
+3.10.1. Creating Groups
+
+   To create Groups:
+
+    1. Select the "groups" link in the footer.
+    2. Take a moment to understand the instructions on the "Edit Groups"
+       screen, then select the "Add Group" link.
+    3. Fill out the "Group", "Description", and "User RegExp" fields.
+       "User RegExp" allows you to automatically place all users who
+       fulfill the Regular Expression into the new group. When you have
+       finished, click "Add".
+       Users whose email addresses match the regular expression will
+       automatically be members of the group as long as their email
+       addresses continue to match the regular expression.
+
+   Note
 
-   Voting allows users to be given a pot of votes which they can allocate
-   to bugs, to indicate that they'd like them fixed. This allows
-   developers to gauge user need for a particular enhancement or bugfix.
-   By allowing bugs with a certain number of votes to automatically move
-   from "UNCONFIRMED" to "NEW", users of the bug system can help
-   high-priority bugs garner attention so they don't sit for a long time
-   awaiting triage.
+   This is a change from 2.16 where the regular expression resulted in a
+   user acquiring permanent membership in a group. To remove a user from
+   a group the user was in due to a regular expression in version 2.16 or
+   earlier, the user must be explicitly removed from the group.
 
-   To modify Voting settings:
+   Warning
 
-    1. Navigate to the "Edit product" screen for the Product you wish to
-       modify
-    2. Maximum Votes per person: Setting this field to "0" disables
-       voting.
-    3. Maximum Votes a person can put on a single bug: It should probably
-       be some number lower than the "Maximum votes per person". Don't
-       set this field to "0" if "Maximum votes per person" is non-zero;
-       that doesn't make any sense.
-    4. Number of votes a bug in this product needs to automatically get
-       out of the UNCONFIRMED state: Setting this field to "0" disables
-       the automatic move of bugs from UNCONFIRMED to NEW.
-    5. Once you have adjusted the values to your preference, click
-       "Update".
+   If specifying a domain in the regexp, make sure you end the regexp
+   with a $. Otherwise, when granting access to "@mycompany\.com", you
+   will allow access to 'badperson@mycompany.com.cracker.net'. You need
+   to use '@mycompany\.com$' as the regexp.
+    4. If you plan to use this group to directly control access to bugs,
+       check the "use for bugs" box. Groups not used for bugs are still
+       useful because other groups can include the group as a whole.
+    5. After you add your new group, edit the new group. On the edit
+       page, you can specify other groups that should be included in this
+       group and which groups should be permitted to add and delete users
+       from this group.
      _________________________________________________________________
 
-3.8. Groups and Group Security
+3.10.2. Assigning Users to Groups
 
-   Groups allow the administrator to isolate bugs or products that should
-   only be seen by certain people. The association between products and
-   groups is controlled from the product edit page under "Edit Group
-   Controls."
+   Users can become a member of a group in several ways.
 
-   If the makeproductgroups param is on, a new group will be
-   automatically created for every new product.
+    1. The user can be explicitly placed in the group by editing the
+       user's own profile
+    2. The group can include another group of which the user is a member.
+    3. The user's email address can match a regular expression that the
+       group specifies to automatically grant membership to the group.
+     _________________________________________________________________
+
+3.10.3. Assigning Group Controls to Products
 
    On the product edit page, there is a page to edit the "Group Controls"
-   for a product and determine which groups are applicable, default, and
-   mandatory for each product as well as controlling entry for each
-   product and being able to set bugs in a product to be totally
-   read-only unless some group restrictions are met.
+   for a product. This allows you to configure how a group relates to the
+   product. Groups may be applicable, default, and mandatory as well as
+   used to control entry or used to make bugs in the product totally
+   read-only unless the group restrictions are met.
 
    For each group, it is possible to specify if membership in that group
    is...
@@ -1647,36 +2287,73 @@ Chapter 3. Administering Bugzilla
     4. required in order to make any change to bugs in this product
        including comments.
 
-   To create Groups:
+   These controls are often described in this order, so a product that
+   requires a user to be a member of group "foo" to enter a bug and then
+   requires that the bug stay resticted to group "foo" at all times and
+   that only members of group "foo" can edit the bug even if they
+   otherwise could see the bug would have its controls summarized by...
 
-    1. Select the "groups" link in the footer.
-    2. Take a moment to understand the instructions on the "Edit Groups"
-       screen, then select the "Add Group" link.
-    3. Fill out the "Group", "Description", and "User RegExp" fields.
-       "User RegExp" allows you to automatically place all users who
-       fulfill the Regular Expression into the new group. When you have
-       finished, click "Add".
+foo: ENTRY, MANDATORY/MANDATORY, CANEDIT
+     _________________________________________________________________
 
-   Warning
+3.10.4. Common Applications of Group Controls
 
-   If specifying a domain in the regexp, make sure you end the regexp
-   with a $. Otherwise, when granting access to "@mycompany\.com", you
-   will allow access to 'badperson@mycompany.com.cracker.net'. You need
-   to use '@mycompany\.com$' as the regexp.
-    4. After you add your new group, edit the new group. On the edit
-       page, you can specify other groups that should be included in this
-       group and which groups should be permitted to add and delete users
-       from this group.
+3.10.4.1. General User Access With Security Group
 
-   Note that group permissions are such that you need to be a member of
-   all the groups a bug is in, for whatever reason, to see that bug.
-   Similarly, you must be a member of all of the entry groups for a
-   product to add bugs to a product and you must be a member of all of
-   the canedit groups for a product in order to make any change to bugs
-   in that product.
+   To permit any user to file bugs in each product (A, B, C...) and to
+   permit any user to submit those bugs into a security group....
+
+Product A...
+security: SHOWN/SHOWN
+Product B...
+security: SHOWN/SHOWN
+Product C...
+security: SHOWN/SHOWN
      _________________________________________________________________
 
-3.9. Upgrading to New Releases
+3.10.4.2. General User Access With A Security Product
+
+   To permit any user to file bugs in a Security product while keeping
+   those bugs from becoming visible to anyone outside the securityworkers
+   group unless a member of the securityworkers group removes that
+   restriction....
+
+Product Security...
+securityworkers: DEFAULT/MANDATORY
+     _________________________________________________________________
+
+3.10.4.3. Product Isolation With Common Group
+
+   To permit users of product A to access the bugs for product A, users
+   of product B to access product B, and support staff to access both, 3
+   groups are needed
+
+    1. Support: Contains members of the support staff.
+    2. AccessA: Contains users of product A and the Support group.
+    3. AccessB: Contains users of product B and the Support group.
+
+   Once these 3 groups are defined, the products group controls can be
+   set to..
+Product A...
+AccessA: ENTRY, MANDATORY/MANDATORY
+Product B...
+AccessB: ENTRY, MANDATORY/MANDATORY
+
+   Optionally, the support group could be permitted to make bugs
+   inaccessible to the users and could be permitted to publish bugs
+   relevant to all users in a common product that is read-only to anyone
+   outside the support group. That configuration could be...
+Product A...
+AccessA: ENTRY, MANDATORY/MANDATORY
+Support: SHOWN/NA
+Product B...
+AccessB: ENTRY, MANDATORY/MANDATORY
+Support: SHOWN/NA
+Product Common...
+Support: ENTRY, DEFAULT/MANDATORY, CANEDIT
+     _________________________________________________________________
+
+3.11. Upgrading to New Releases
 
    Warning
 
@@ -1703,7 +2380,7 @@ Chapter 3. Administering Bugzilla
 
    Revisions are normally released to fix security vulnerabilities and
    are distinguished by an increase in the third number. For example,
-   when 2.16.2 was released, it was a revision to 2.16.1.
+   when 2.16.6 was released, it was a revision to 2.16.5.
 
    Point releases are normally released when the Bugzilla team feels that
    there has been a significant amount of progress made between the last
@@ -1711,11 +2388,11 @@ Chapter 3. Administering Bugzilla
    stabilization period and release candidates, however the use of
    development versions or release candidates is beyond the scope of this
    document. Point releases can be distinguished by an increase in the
-   second number, or minor version. For example, 2.16.2 is a newer point
-   release than 2.14.5.
+   second number, or minor version. For example, 2.18.0 is a newer point
+   release than 2.16.5.
 
    The examples in this section are written as if you were updating to
-   version 2.16.2. The procedures are the same regardless if you are
+   version 2.18.1. The procedures are the same regardless if you are
    updating to a new point release or a new revision. However, the chance
    of running into trouble increases when upgrading to a new point
    release, escpecially if you've made local changes.
@@ -1740,7 +2417,7 @@ bash$ cd /var/www/html/bugzilla
 bash$ cvs login
 Logging in to :pserver:anonymous@cvs-mirror.mozilla.org:2401/cvsroot
 CVS password: anonymous
-bash$ cvs -q update -r BUGZILLA-2_16_2 -dP
+bash$ cvs -q update -r BUGZILLA-2_18_1 -dP
 P checksetup.pl
 P collectstats.pl
 P globals.pl
@@ -1765,19 +2442,20 @@ P template/en/default/list/quips.html.tmpl
    always available is to download the latest tarball. This is the most
    difficult option to use, especially if you have local changes.
 bash$ cd /var/www/html
-bash$ wget ftp://ftp.mozilla.org/pub/webtools/bugzilla-2.16.2.tar.gz
+bash$ wget ftp://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-2.18.1.tar.g
+z
 Output omitted
-bash$ tar xzvf bugzilla-2.16.2.tar.gz
-bugzilla-2.16.2/
-bugzilla-2.16.2/.cvsignore
-bugzilla-2.16.2/1x1.gif
+bash$ tar xzvf bugzilla-2.18.1.tar.gz
+bugzilla-2.18.1/
+bugzilla-2.18.1/.cvsignore
+bugzilla-2.18.1/1x1.gif
 Output truncated
-bash$ cd bugzilla-2.16.2
+bash$ cd bugzilla-2.18.1
 bash$ cp ../bugzilla/localconfig* .
 bash$ cp -r ../bugzilla/data .
 bash$ cd ..
 bash$ mv bugzilla bugzilla.old
-bash$ mv bugzilla-2.16.2 bugzilla
+bash$ mv bugzilla-2.18.1 bugzilla
 bash$ cd bugzilla
 bash$ ./checksetup.pl
 Output omitted
@@ -1807,10 +2485,11 @@ Output omitted
    Bugzilla that isn't really any version. This would also make it more
    difficult to upgrade in the future.
 bash$ cd /var/www/html/bugzilla
-bash$ wget ftp://ftp.mozilla.org/pub/webtools/bugzilla-2.16.1-to-2.16.2.diff.gz
+bash$ wget ftp://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-2.18.0-to-2.
+18.1.diff.gz
 Output omitted
-bash$ gunzip bugzilla-2.16.1-to-2.16.2.diff.gz
-bash$ patch -p1 < bugzilla-2.16.1-to-2.16.2.diff
+bash$ gunzip bugzilla-2.18.0-to-2.18.1.diff.gz
+bash$ patch -p1 < bugzilla-2.18.0-to-2.18.1.diff
 patching file checksetup.pl
 patching file collectstats.pl
 patching file globals.pl
@@ -1822,9 +2501,210 @@ patching file globals.pl
    difficult in the future.
      _________________________________________________________________
 
-Chapter 4. Customising Bugzilla
+Chapter 4. Bugzilla Security
+
+   While some of the items in this chapter are related to the operating
+   system Bugzilla is running on or some of the support software required
+   to run Bugzilla, it is all related to protecting your data. This is
+   not intended to be a comprehensive guide to securing Linux, Apache,
+   MySQL, or any other piece of software mentioned. There is no
+   substitute for active administration and monitoring of a machine. The
+   key to good security is actually right in the middle of the word: U R
+   It.
+
+   While programmers in general always strive to write secure code,
+   accidents can and do happen. The best approach to security is to
+   always assume that the program you are working with isn't 100% secure
+   and restrict its access to other parts of your machine as much as
+   possible.
+     _________________________________________________________________
+
+4.1. Operating System
+
+4.1.1. TCP/IP Ports
+
+   The TCP/IP standard defines more than 65,000 ports for sending and
+   receiving traffic. Of those, Bugzilla needs exactly one to operate
+   (different configurations and options may require up to 3). You should
+   audit your server and make sure that you aren't listening on any ports
+   you don't need to be. It's also highly recommended that the server
+   Bugzilla resides on, along with any other machines you administer, be
+   placed behind some kind of firewall.
+     _________________________________________________________________
+
+4.1.2. System User Accounts
+
+   Many daemons, such as Apache's httpd or MySQL's mysqld, run as either
+   "root" or "nobody". This is even worse on Windows machines where the
+   majority of services run as "SYSTEM". While running as "root" or
+   "SYSTEM" introduces obvious security concerns, the problems introduced
+   by running everything as "nobody" may not be so obvious. Basically, if
+   you run every daemon as "nobody" and one of them gets comprimised it
+   can comprimise every other daemon running as "nobody" on your machine.
+   For this reason, it is recommended that you create a user account for
+   each daemon.
+
+   Note
+
+   You will need to set the webservergroup option in localconfig to the
+   group your webserver runs as. This will allow ./checksetup.pl to set
+   file permissions on Unix systems so that nothing is world-writable.
+     _________________________________________________________________
+
+4.1.3. The chroot Jail
+
+   If your system supports it, you may wish to consider running Bugzilla
+   inside of a chroot jail. This option provides unpresidented security
+   by restricting anything running inside the jail from accessing any
+   information outside of it. If you wish to use this option, please
+   consult the documentation that came with your system.
+     _________________________________________________________________
+
+4.2. MySQL
+
+4.2.1. The MySQL System Account
+
+   As mentioned in Section 4.1.2, the MySQL daemon should run as a
+   non-privleged, unique user. Be sure to consult the MySQL documentation
+   or the documentation that came with your system for instructions.
+     _________________________________________________________________
+
+4.2.2. The MySQL "root" and "anonymous" Users
+
+   By default, MySQL comes with a "root" user with a blank password and
+   an "anonymous" user, also with a blank password. In order to protect
+   your data, the "root" user should be given a password and the
+   anonymous user should be disabled.
+
+   Example 4-1. Assigning the MySQL "root" User a Password
+bash$ mysql mysql
+mysql> UPDATE user SET password = password('new_password') WHERE user = 'root';
+mysql> FLUSH PRIVILEGES;
+
+   Example 4-2. Disabling the MySQL "anonymous" User
+bash$ mysql -u root -p mysql            (1)
+Enter Password: new_password
+mysql> DELETE FROM user WHERE user = '';
+mysql> FLUSH PRIVILEGES;
+
+   (1) 
+          This command assumes that you have already completed Example
+          4-1.
+     _________________________________________________________________
+
+4.2.3. Network Access
+
+   If MySQL and your webserver both run on the same machine and you have
+   no other reason to access MySQL remotely, then you should disable the
+   network access. This, along with the suggestion in Section 4.1.1, will
+   help protect your system from any remote vulnerabilites in MySQL.
+
+   Example 4-3. Disabling Networking in MySQL
+
+   Simply enter the following in /etc/my.conf:
+[myslqd]
+# Prevent network access to MySQL.
+skip-networking
+     _________________________________________________________________
+
+4.3. Webserver
+
+4.3.1. Disabling Remote Access to Bugzilla Configuration Files
+
+   There are many files that are placed in the Bugzilla directory area
+   that should not be accessable from the web. Because of the way
+   Bugzilla is currently layed out, the list of what should and should
+   not be accessible is rather complicated. A new installation method is
+   currently in the works which should solve this by allowing files that
+   shouldn't be accessible from the web to be placed in a directory
+   outside the webroot. See bug 44659 for more information.
+
+   Tip
+
+   Bugzilla ships with the ability to create .htaccess files that enforce
+   these rules. Instructions for enabling these directives in Apache can
+   be found in Section 2.2.4.1
+
+     * In the main Bugzilla directory, you should:
+          + Block: *.pl, *localconfig*, runtests.sh
+          + But allow: localconfig.js, localconfig.rdf
+     * In data:
+          + Block everything
+          + But allow: duplicates.rdf
+     * In data/webdot:
+          + If you use a remote webdot server:
+               o Block everything
+               o But allow *.dot only for the remote webdot server
+          + Otherwise, if you use a local GraphViz:
+               o Block everything
+               o But allow: *.png, *.gif, *.jpg, *.map
+          + And if you don't use any dot:
+               o Block everything
+     * In Bugzilla:
+          + Block everything
+     * In template:
+          + Block everything
+
+   Be sure to test that data that should not be accessed remotely is
+   properly blocked. Of particular intrest is the localconfig file which
+   contains your database password. Also, be aware that many editors
+   create temporary and backup files in the working directory and that
+   those should also not be accessable. For more information, see bug
+   186383 or Bugtraq ID 6501. To test, simply point your web browser at
+   the file; for example, to test mozilla.org's installation, we'd try to
+   access http://bugzilla.mozilla.org/localconfig. You should get a "403
+   Forbidden" error.
+
+   Tip
+
+   Be sure to check Section 2.2.4 for instructions specific to the
+   webserver you use.
+     _________________________________________________________________
+
+4.3.2. Using mod_throttle to Prevent a DOS
+
+   Note
+
+   This section only applies to people who have chosen the Apache
+   webserver. It may be possible to do similar things with other
+   webservers. Consult the documentation that came with your webserver to
+   find out.
+
+   It is possible for a user, by mistake or on purpose, to access the
+   database many times in a row which can result in very slow access
+   speeds for other users (effectively, a DOS attack). If your Bugzilla
+   installation is experiencing this problem, you may install the Apache
+   module mod_throttle which can limit connections by IP address. You may
+   download this module at http://www.snert.com/Software/mod_throttle/.
+   Follow the instructions to install into your Apache install. The
+   command you need is ThrottleClientIP. See the documentation for more
+   information.
+     _________________________________________________________________
+
+4.4. Bugzilla
+
+4.4.1. Prevent users injecting malicious Javascript
+
+   It is possible for a Bugzilla user to take advantage of character set
+   encoding ambiguities to inject HTML into Bugzilla comments. This could
+   include malicious scripts. Due to internationalization concerns, we
+   are unable to incorporate by default the code changes suggested by the
+   CERT advisory on this issue. If your installation is for an English
+   speaking audience only, making the change in Example 4-4 will prevent
+   this problem.
+
+   Example 4-4. Forcing Bugzilla to output a charset
+
+   Locate the following line in Bugzilla/CGI.pm:
+   $self->charset('');
+
+   and change it to:
+   $self->charset('ISO-8859-1');
+     _________________________________________________________________
+
+Chapter 5. Customising Bugzilla
 
-4.1. Template Customization
+5.1. Template Customization
 
    Administrators can configure the look and feel of Bugzilla without
    having to edit Perl files or face the nightmare of massive merge
@@ -1833,62 +2713,89 @@ Chapter 4. Customising Bugzilla
    Templatization also makes localized versions of Bugzilla possible, for
    the first time. It's possible to have Bugzilla's UI language
    determined by the user's browser. More information is available in
-   Section 4.1.5.
-     _________________________________________________________________
-
-4.1.1. What to Edit
-
-   The template directory structure is that there's a top level
-   directory, template, which contains a directory for each installed
-   localization. The default English templates are therefore in en.
-   Underneath that, there is the default directory and optionally the
-   custom directory. The default directory contains all the templates
-   shipped with Bugzilla, whereas the custom directory does not exist at
-   first and must be created if you want to use it.
-
-   There are two different ways of editing Bugzilla's templates, and
-   which you use depends mainly on the method you plan to use to upgrade
-   Bugzilla. The first method of making customizations is to directly
-   edit the templates in template/en/default. This is probably the best
-   method for small changes if you are going to use the CVS method of
-   upgrading, because if you then execute a cvs update, any template
-   fixes will get automagically merged into your modified versions.
-
-   If you use this method, your installation will break if CVS conflicts
-   occur.
-
-   The other method is to copy the templates to be modified into a
-   mirrored directory structure under template/en/custom. The templates
-   in this directory automatically override those in default. This is the
-   technique you need to use if you use the overwriting method of
-   upgrade, because otherwise your changes will be lost. This method is
-   also better if you are using the CVS method of upgrading and are going
-   to make major changes, because it is guaranteed that the contents of
-   this directory will not be touched during an upgrade, and you can then
-   decide whether to continue using your own templates, or make the
-   effort to merge your changes into the new versions by hand.
-
-   If you use this method, your installation may break if incompatible
-   changes are made to the template interface. If such changes are made
-   they will be documented in the release notes, provided you are using a
-   stable release of Bugzilla. If you use using unstable code, you will
-   need to deal with this one yourself, although if possible the changes
-   will be mentioned before they occur in the deprecations section of the
-   previous stable release's release notes.
+   Section 5.1.6.
+     _________________________________________________________________
+
+5.1.1. Template Directory Structure
+
+   The template directory structure starts with top level directory named
+   template, which contains a directory for each installed localization.
+   The next level defines the language used in the templates. Bugzilla
+   comes with English templates, so the directory name is en, and we will
+   discuss template/en throughout the documentation. Below template/en is
+   the default directory, which contains all the standard templates
+   shipped with Bugzilla.
+
+   Warning
+
+   A directory data/templates also exists; this is where Template Toolkit
+   puts the compiled versions of the templates from either the default or
+   custom directories. Do not directly edit the files in this directory,
+   or all your changes will be lost the next time Template Toolkit
+   recompiles the templates.
+     _________________________________________________________________
+
+5.1.2. Choosing a Customization Method
+
+   If you want to edit Bugzilla's templates, the first decision you must
+   make is how you want to go about doing so. There are two choices, and
+   which you use depends mainly on the scope of your modifications, and
+   the method you plan to use to upgrade Bugzilla.
+
+   The first method of making customizations is to directly edit the
+   templates found in template/en/default. This is probably the best way
+   to go about it if you are going to be upgrading Bugzilla through CVS,
+   because if you then execute a cvs update, any changes you have made
+   will be merged automagically with the updated versions.
+
+   Note
+
+   If you use this method, and CVS conflicts occur during an update, the
+   conflicted templates (and possibly other parts of your installation)
+   will not work until they are resolved.
+
+   The second method is to copy the templates to be modified into a
+   mirrored directory structure under template/en/custom. Templates in
+   this directory structure automatically override any identically-named
+   and identically-located templates in the default directory.
 
    Note
 
-   Don't directly edit the compiled templates in data/template/* - your
-   changes will be lost when Template Toolkit recompiles them.
+   The custom directory does not exist at first and must be created if
+   you want to use it.
+
+   The second method of customization should be used if you use the
+   overwriting method of upgrade, because otherwise your changes will be
+   lost. This method may also be better if you are using the CVS method
+   of upgrading and are going to make major changes, because it is
+   guaranteed that the contents of this directory will not be touched
+   during an upgrade, and you can then decide whether to continue using
+   your own templates, or make the effort to merge your changes into the
+   new versions by hand.
+
+   Using this method, your installation may break if incompatible changes
+   are made to the template interface. Such changes should be documented
+   in the release notes, provided you are using a stable release of
+   Bugzilla. If you use using unstable code, you will need to deal with
+   this one yourself, although if possible the changes will be mentioned
+   before they occur in the deprecations section of the previous stable
+   release's release notes.
 
    Note
 
-   It is recommended that you run ./checksetup.pl after any template
-   edits, especially if you've created a new file in the custom
-   directory.
+   Regardless of which method you choose, it is recommended that you run
+   ./checksetup.pl after creating or editing any templates in the
+   template/en/default directory, and after editing any templates in the
+   custom directory.
+
+   Warning
+
+   It is required that you run ./checksetup.pl after creating a new
+   template in the custom directory. Failure to do so will raise an
+   incomprehensible error message.
      _________________________________________________________________
 
-4.1.2. How To Edit Templates
+5.1.3. How To Edit Templates
 
    Note
 
@@ -1924,17 +2831,23 @@ Chapter 4. Customising Bugzilla
    status_whiteboard internally, but your users don't need to know that.
      _________________________________________________________________
 
-4.1.3. Template Formats
+5.1.4. Template Formats and Types
 
-   Some CGIs have the ability to use more than one template. For example,
-   buglist.cgi can output bug lists as RDF or two different forms of HTML
-   (complex and simple). (Try this out by appending &format=simple to a
-   buglist.cgi URL on your Bugzilla installation.) This mechanism, called
-   template 'formats', is extensible.
+   Some CGI's have the ability to use more than one template. For
+   example, buglist.cgi can output itself as RDF, or as two formats of
+   HTML (complex and simple). The mechanism that provides this feature is
+   extensible.
 
-   To see if a CGI supports multiple output formats, grep the CGI for
-   "GetFormat". If it's not present, adding multiple format support isn't
-   too hard - see how it's done in other CGIs, e.g. config.cgi.
+   Bugzilla can support different types of output, which again can have
+   multiple formats. In order to request a certain type, you can append
+   the &ctype=<contenttype> (such as rdf or html) to the <cginame>.cgi
+   URL. If you would like to retrieve a certain format, you can use the
+   &format=<format> (such as simple or complex) in the URL.
+
+   To see if a CGI supports multiple output formats and types, grep the
+   CGI for "GetFormat". If it's not present, adding multiple format/type
+   support isn't too hard - see how it's done in other CGIs, e.g.
+   config.cgi.
 
    To make a new format template for a CGI which supports this, open a
    current template for that CGI and take note of the INTERFACE comment
@@ -1945,17 +2858,24 @@ Chapter 4. Customising Bugzilla
    Write your template in whatever markup or text style is appropriate.
 
    You now need to decide what content type you want your template served
-   as. Open up the localconfig file and find the $contenttypes variable.
-   If your content type is not there, add it. Remember the three- or
-   four-letter tag assigned to you content type. This tag will be part of
-   the template filename.
+   as. The content types are defined in the Bugzilla/Constants.pm file in
+   the contenttypes constant. If your content type is not there, add it.
+   Remember the three- or four-letter tag assigned to your content type.
+   This tag will be part of the template filename.
+
+   Note
+
+   After adding or changing a content type, it's suitable to edit
+   Bugzilla/Constants.pm in order to reflect the changes. Also, the file
+   should be kept up to date after an upgrade if content types have been
+   customized in the past.
 
    Save the template as <stubname>-<formatname>.<contenttypetag>.tmpl.
    Try out the template by calling the CGI as
-   <cginame>.cgi?format=<formatname> .
+   <cginame>.cgi?format=<formatname>&ctype=<type> .
      _________________________________________________________________
 
-4.1.4. Particular Templates
+5.1.5. Particular Templates
 
    There are a few templates you may be particularly interested in
    customizing for your installation.
@@ -1980,45 +2900,81 @@ Chapter 4. Customising Bugzilla
    Bugzilla pages. Editing this is another way to quickly get a
    distinctive look and feel for your Bugzilla installation.
 
+   global/variables.none.tmpl: This defines a list of terms that may be
+   changed in order to "brand" the Bugzilla instance In this way, terms
+   like "bugs" can be replaced with "issues" across the whole Bugzilla
+   installation. The name "Bugzilla" and other words can be customized as
+   well.
+
+   list/table.html.tmpl: This template controls the appearance of the bug
+   lists created by Bugzilla. Editing this template allows per-column
+   control of the width and title of a column, the maximum display length
+   of each entry, and the wrap behaviour of long entries. For long bug
+   lists, Bugzilla inserts a 'break' every 100 bugs by default; this
+   behaviour is also controlled by this template, and that value can be
+   modified here.
+
    bug/create/user-message.html.tmpl: This is a message that appears near
    the top of the bug reporting page. By modifying this, you can tell
    your users how they should report bugs.
 
+   bug/process/midair.html.tmpl: This is the page used if two people
+   submit simultaneous changes to the same bug. The second person to
+   submit their changes will get this page to tell them what the first
+   person did, and ask if they wish to overwrite those changes or go back
+   and revisit the bug. The default title and header on this page read
+   "Mid-air collision detected!" If you work in the aviation industry, or
+   other environment where this might be found offensive (yes, we have
+   true stories of this happening) you'll want to change this to
+   something more appropriate for your environment.
+
    bug/create/create.html.tmpl and bug/create/comment.txt.tmpl: You may
-   wish to get bug submitters to give certain bits of structured
-   information, each in a separate input widget, for which there is not a
-   field in the database. The bug entry system has been designed in an
-   extensible fashion to enable you to define arbitrary fields and
-   widgets, and have their values appear formatted in the initial
-   Description, rather than in database fields. An example of this is the
-   mozilla.org guided bug submission form.
-
-   To make this work, create a custom template for enter_bug.cgi (the
-   default template, on which you could base it, is create.html.tmpl),
-   and either call it create.html.tmpl or use a format and call it
-   create-<formatname>.html.tmpl. Put it in the custom/bug/create
-   directory. In it, add widgets for each piece of information you'd like
-   collected - such as a build number, or set of steps to reproduce.
-
-   Then, create a template like custom/bug/create/comment.txt.tmpl, also
-   named after your format if you are using one, which references the
-   form fields you have created. When a bug report is submitted, the
-   initial comment attached to the bug report will be formatted according
-   to the layout of this template.
-
-   For example, if your enter_bug template had a field
+   not wish to go to the effort of creating custom fields in Bugzilla,
+   yet you want to make sure that each bug report contains a number of
+   pieces of important information for which there is not a special
+   field. The bug entry system has been designed in an extensible fashion
+   to enable you to add arbitrary HTML widgets, such as drop-down lists
+   or textboxes, to the bug entry page and have their values appear
+   formatted in the initial comment. A hidden field that indicates the
+   format should be added inside the form in order to make the template
+   functional. Its value should be the suffix of the template filename.
+   For example, if the file is called create-cust.html.tmpl, then
+   <input type="hidden" name="format" value="cust">
+
+   should be used inside the form.
+
+   An example of this is the mozilla.org guided bug submission form. The
+   code for this comes with the Bugzilla distribution as an example for
+   you to copy. It can be found in the files create-guided.html.tmpl and
+   comment-guided.html.tmpl.
+
+   So to use this feature, create a custom template for enter_bug.cgi.
+   The default template, on which you could base it, is
+   custom/bug/create/create.html.tmpl. Call it
+   create-<formatname>.html.tmpl, and in it, add widgets for each piece
+   of information you'd like collected - such as a build number, or set
+   of steps to reproduce.
+
+   Then, create a template like custom/bug/create/comment.txt.tmpl, and
+   call it comment-<formatname>.txt.tmpl. This template should reference
+   the form fields you have created using the syntax [% form.<fieldname>
+   %]. When a bug report is submitted, the initial comment attached to
+   the bug report will be formatted according to the layout of this
+   template.
+
+   For example, if your custom enter_bug template had a field
    <input type="text" name="buildid" size="30">
 
    and then your comment.txt.tmpl had
    BuildID: [% form.buildid %]
 
-   then
+   then something like
    BuildID: 20020303
 
-   would appear in the initial checkin comment.
+   would appear in the initial comment.
      _________________________________________________________________
 
-4.1.5. Configuring Bugzilla to Detect the User's Language
+5.1.6. Configuring Bugzilla to Detect the User's Language
 
    Bugzilla honours the user's Accept: HTTP header. You can install
    templates in other languages, and Bugzilla will pick the most
@@ -2034,7 +2990,12 @@ Chapter 4. Customising Bugzilla
    "en" if you don't want Engish to be the default language.
      _________________________________________________________________
 
-4.2. Template Hooks
+5.2. Template Hooks
+
+   Warning
+
+   Template Hooks require Template Toolkit version 2.12 or above, or the
+   application of a patch. See bug 239112 for details.
 
    Template hooks are a way for extensions to Bugzilla to insert code
    into the standard Bugzilla templates without modifying the template
@@ -2169,7 +3130,7 @@ s %]
        upgrading your customized Bugzilla installation easier.
      _________________________________________________________________
 
-4.3. Customizing Who Can Change What
+5.3. Customizing Who Can Change What
 
    Warning
 
@@ -2206,11 +3167,11 @@ s %]
    It's fairly obvious what this piece of code does.
 
    So, how does one go about changing this function? Well, simple changes
-   can be made just be removing pieces - for example, if you wanted to
+   can be made just by removing pieces - for example, if you wanted to
    prevent any user adding a comment to a bug, just remove the lines
-   marked "Allow anyone to change comments." And if you want the reporter
-   to have no special rights on bugs they have filed, just remove the
-   entire section which refers to him.
+   marked "Allow anyone to change comments." If you don't want the
+   Reporter to have any special rights on bugs they have filed, just
+   remove the entire section that deals with the Reporter.
 
    More complex customizations are not much harder. Basically, you add a
    check in the right place in the function, i.e. after all the variables
@@ -2228,7 +3189,9 @@ s %]
     }
 
    This says that only users in the group "quality_assurance" can change
-   the QA Contact field of a bug. Getting more weird:
+   the QA Contact field of a bug.
+
+   Getting more weird:
     if (($field eq "priority") &&
         (Bugzilla->user->email =~ /.*\@example\.com$/))
     {
@@ -2244,12 +3207,19 @@ s %]
    their email address is @example.com, they can only do so if the old
    value of the field was "P1". Not very useful, but illustrative.
 
+   Warning
+
+   If you are modifying process_bug.cgi in any way, do not change the
+   code that is bounded by DO_NOT_CHANGE blocks. Doing so could
+   compromise security, or cause your installation to stop working
+   entirely.
+
    For a list of possible field names, look in data/versioncache for the
    list called @::log_columns. If you need help writing custom rules for
    your organization, ask in the newsgroup.
      _________________________________________________________________
 
-4.4. Modifying Your Running System
+5.4. Modifying Your Running System
 
    Bugzilla optimizes database lookups by storing all relatively static
    information in the versioncache file, located in the data/
@@ -2258,16 +3228,16 @@ s %]
    If you make a change to the structural data in your database (the
    versions table for example), or to the "constants" encoded in
    defparams.pl, you will need to remove the cached content from the data
-   directory (by doing a "rm data/versioncache" ), or your changes won't
+   directory (by doing a rm data/versioncache), or your changes won't
    show up.
 
-   versioncache gets automatically regenerated whenever it's more than an
+   versioncache gets regenerated automatically whenever it's more than an
    hour old, so Bugzilla will eventually notice your changes by itself,
    but generally you want it to notice right away, so that you can test
    things.
      _________________________________________________________________
 
-4.5. MySQL Bugzilla Database Introduction
+5.5. MySQL Bugzilla Database Introduction
 
    This information comes straight from my life. I was forced to learn
    how Bugzilla organizes database because of nitpicky requests from
@@ -2324,7 +3294,7 @@ s %]
    tinyint definitions. The Adventure Awaits You!
      _________________________________________________________________
 
-4.5.1. Bugzilla Database Basics
+5.5.1. Bugzilla Database Basics
 
    If you were like me, at this point you're totally clueless about the
    internals of MySQL, and if it weren't for this executive order from
@@ -2348,7 +3318,7 @@ s %]
        mysql use bugs;
      _________________________________________________________________
 
-4.5.1.1. Bugzilla Database Tables
+5.5.1.1. Bugzilla Database Tables
 
    Imagine your MySQL database as a series of spreadsheets, and you won't
    be too far off. If you use this command:
@@ -2570,9 +3540,9 @@ s %]
    this. But you need to know this stuff anyway, right?
      _________________________________________________________________
 
-4.6. Integrating Bugzilla with Third-Party Tools
+5.6. Integrating Bugzilla with Third-Party Tools
 
-4.6.1. Bonsai
+5.6.1. Bonsai
 
    Bonsai is a web-based tool for managing CVS, the Concurrent Versioning
    System . Using Bonsai, administrators can control open/closed status
@@ -2582,7 +3552,7 @@ s %]
    Mozilla automated build management system.
      _________________________________________________________________
 
-4.6.2. CVS
+5.6.2. CVS
 
    CVS integration is best accomplished, at this point, using the
    Bugzilla Email Gateway.
@@ -2597,9 +3567,14 @@ s %]
    There is also a CVSZilla project, based upon somewhat dated Bugzilla
    code, to integrate CVS and Bugzilla through CVS' ability to email.
    Check it out at: http://homepages.kcbbs.gen.nz/~tonyg/.
+
+   Another system capable of CVS integration with Bugzilla is Scmbug.
+   This system provides generic integration of Source code Configuration
+   Management with Bugtracking. Check it out at:
+   http://freshmeat.net/projects/scmbug/.
      _________________________________________________________________
 
-4.6.3. Perforce SCM
+5.6.3. Perforce SCM
 
    You can find the project page for Bugzilla and Teamtrack Perforce
    integration (p4dti) at: http://www.ravenbrook.com/project/p4dti/ .
@@ -2615,7 +3590,16 @@ s %]
    for it. Please consult the pages linked above for further information.
      _________________________________________________________________
 
-4.6.4. Tinderbox/Tinderbox2
+5.6.4. Subversion
+
+   Subversion is a free/open-source version control system, designed to
+   overcome various limitations of CVS. Integration of Subversion with
+   Bugzilla is possible using Scmbug, a system providing generic
+   integration of Source Code Configuration Management with Bugtracking.
+   Scmbug is available at http://freshmeat.net/projects/scmbug/.
+     _________________________________________________________________
+
+5.6.5. Tinderbox/Tinderbox2
 
    Tinderbox is a continuous-build system which can integrate with
    Bugzilla - see http://www.mozilla.org/projects/tinderbox for details
@@ -2623,24 +3607,25 @@ s %]
    it in action.
      _________________________________________________________________
 
-Chapter 5. Using Bugzilla
+Chapter 6. Using Bugzilla
 
-5.1. Introduction
+6.1. Introduction
 
    This section contains information for end-users of Bugzilla. There is
    a Bugzilla test installation, called Landfill, which you are welcome
-   to play with (if it's up.) However, it does not necessarily have all
-   Bugzilla features enabled, and runs an up-to-the-minute version, so
-   some things may not quite work as this document describes.
+   to play with (if it's up). However, not all of the Bugzilla
+   installations there will necessarily have all Bugzilla features
+   enabled, and different installations run different versions, so some
+   things may not quite work as this document describes.
      _________________________________________________________________
 
-5.2. Create a Bugzilla Account
+6.2. Create a Bugzilla Account
 
    If you want to use Bugzilla, first you need to create an account.
    Consult with the administrator responsible for your installation of
    Bugzilla for the URL you should use to access it. If you're
    test-driving Bugzilla, use this URL:
-   http://landfill.bugzilla.org/bugzilla-tip/.
+   http://landfill.bugzilla.org/bugzilla-2.18-branch/.
 
     1. Click the "Open a new Bugzilla account" link, enter your email
        address and, optionally, your name in the spaces provided, then
@@ -2658,7 +3643,7 @@ Chapter 5. Using Bugzilla
    changes, you should not have to log in again.
      _________________________________________________________________
 
-5.3. Anatomy of a Bug
+6.3. Anatomy of a Bug
 
    The core of Bugzilla is the screen which displays a particular bug.
    It's a good place to explain some Bugzilla concepts. Bug 1 on Landfill
@@ -2734,12 +3719,24 @@ Chapter 5. Using Bugzilla
        discussion here, if you have something worthwhile to say.
      _________________________________________________________________
 
-5.4. Searching for Bugs
+6.4. Life Cycle of a Bug
+
+   The life cycle, also known as work flow, of a bug is currently
+   hardcoded into Bugzilla. Figure 6-1 contains a graphical repsentation
+   of this life cycle. If you wish to customize this image for your site,
+   the diagram file is available in Dia's native XML format.
+
+   Figure 6-1. Lifecycle of a Bugzilla Bug
+
+   [bzLifecycle.png]
+     _________________________________________________________________
+
+6.5. Searching for Bugs
 
    The Bugzilla Search page is is the interface where you can find any
    bug report, comment, or patch currently in the Bugzilla system. You
    can play with it here:
-   http://landfill.bugzilla.org/bugzilla-tip/query.cgi.
+   http://landfill.bugzilla.org/bugzilla-2.18-branch/query.cgi.
 
    The Search page has controls for selecting different possible values
    for all of the fields in a bug, as described above. For some fields,
@@ -2754,7 +3751,7 @@ Chapter 5. Using Bugzilla
    Charts help link on the Search page for more information.
      _________________________________________________________________
 
-5.5. Bug Lists
+6.6. Bug Lists
 
    If you run a search, a list of matching bugs will be returned.
 
@@ -2780,7 +3777,7 @@ Chapter 5. Using Bugzilla
    again later.
      _________________________________________________________________
 
-5.6. Filing Bugs
+6.7. Filing Bugs
 
    Years of bug writing experience has been distilled for your reading
    pleasure into the Bug Writing Guidelines. While some of the advice is
@@ -2813,7 +3810,7 @@ Chapter 5. Using Bugzilla
    Feel free to CC the person who duped it if they are not already CCed.
      _________________________________________________________________
 
-5.7. Patch Viewer
+6.8. Patch Viewer
 
    Viewing and reviewing patches in Bugzilla is often difficult due to
    lack of context, improper format and the inherent readability issues
@@ -2835,7 +3832,7 @@ Chapter 5. Using Bugzilla
    format it came from
      _________________________________________________________________
 
-5.7.1. Viewing Patches in Patch Viewer
+6.8.1. Viewing Patches in Patch Viewer
 
    The main way to view a patch in patch viewer is to click on the "Diff"
    link next to a patch in the Attachments list on a bug. You may also do
@@ -2843,7 +3840,7 @@ Chapter 5. Using Bugzilla
    button in the Edit Attachment screen.
      _________________________________________________________________
 
-5.7.2. Seeing the Difference Between Two Patches
+6.8.2. Seeing the Difference Between Two Patches
 
    To see the difference between two patches, you must first view the
    newer patch in Patch Viewer. Then select the older patch from the
@@ -2852,7 +3849,7 @@ Chapter 5. Using Bugzilla
    new or changed in the newer patch.
      _________________________________________________________________
 
-5.7.3. Getting More Context in a Patch
+6.8.3. Getting More Context in a Patch
 
    To get more context in a patch, you put a number in the textbox at the
    top of Patch Viewer ("Patch / File / [textbox]") and hit enter. This
@@ -2862,7 +3859,7 @@ Chapter 5. Using Bugzilla
    against files that were diffed using "cvs diff".
      _________________________________________________________________
 
-5.7.4. Collapsing and Expanding Sections of a Patch
+6.8.4. Collapsing and Expanding Sections of a Patch
 
    To view only a certain set of files in a patch (for example, if a
    patch is absolutely huge and you want to only review part of it at a
@@ -2872,7 +3869,7 @@ Chapter 5. Using Bugzilla
    the top of the page.
      _________________________________________________________________
 
-5.7.5. Linking to a Section of a Patch
+6.8.5. Linking to a Section of a Patch
 
    To link to a section of a patch (for example, if you want to be able
    to give someone a URL to show them which part you are talking about)
@@ -2881,7 +3878,7 @@ Chapter 5. Using Bugzilla
    Location in Mozilla works as well.)
      _________________________________________________________________
 
-5.7.6. Going to Bonsai and LXR
+6.8.6. Going to Bonsai and LXR
 
    To go to Bonsai to get blame for the lines you are interested in, you
    can click the "Lines XX-YY" link on the section header you are
@@ -2893,20 +3890,20 @@ Chapter 5. Using Bugzilla
    numbers are likely to rot).
      _________________________________________________________________
 
-5.7.7. Creating a Unified Diff
+6.8.7. Creating a Unified Diff
 
    If the patch is not in a format that you like, you can turn it into a
    unified diff format by clicking the "Raw Unified" link at the top of
    the page.
      _________________________________________________________________
 
-5.8. Hints and Tips
+6.9. Hints and Tips
 
    This section distills some Bugzilla tips and best practices that have
    been developed.
      _________________________________________________________________
 
-5.8.1. Autolinkification
+6.9.1. Autolinkification
 
    Bugzilla comments are plain text - so typing <U> will produce
    less-than, U, greater-than rather than underlined text. However,
@@ -2929,7 +3926,7 @@ Chapter 5. Using Bugzilla
    convenience of others.
      _________________________________________________________________
 
-5.8.2. Quicksearch
+6.9.2. Quicksearch
 
    Quicksearch is a single-text-box query tool which uses metacharacters
    to indicate what is to be searched. For example, typing "foo|bar" into
@@ -2941,7 +3938,7 @@ Chapter 5. Using Bugzilla
    Help link which details how to use it.
      _________________________________________________________________
 
-5.8.3. Comments
+6.9.3. Comments
 
    If you are changing the fields on a bug, only comment if either you
    have something pertinent to say, or Bugzilla requires it. Otherwise,
@@ -2957,7 +3954,7 @@ Chapter 5. Using Bugzilla
    art creations are not.
      _________________________________________________________________
 
-5.8.4. Attachments
+6.9.4. Attachments
 
    Use attachments, rather than comments, for large chunks of ASCII data,
    such as trace, debugging output files, or log files. That way, it
@@ -2978,59 +3975,263 @@ Chapter 5. Using Bugzilla
    'content-type' parameter on the URL, e.g. &content-type=text/plain.
      _________________________________________________________________
 
-5.9. User Preferences
+6.10. User Preferences
 
    Once you have logged in, you can customise various aspects of Bugzilla
    via the "Edit prefs" link in the page footer. The preferences are
    split into three tabs:
      _________________________________________________________________
 
-5.9.1. Account Settings
+6.10.1. Account Settings
+
+   On this tab, you can change your basic account information, including
+   your password, email address and real name. For security reasons, in
+   order to change anything on this page you must type your current
+   password into the "Password" field at the top of the page. If you
+   attempt to change your email address, a confirmation email is sent to
+   both the old and new addresses, with a link to use to confirm the
+   change. This helps to prevent account hijacking.
+     _________________________________________________________________
+
+6.10.2. Email Settings
+
+   This tab controls the amount of email Bugzilla sends you.
+
+   The first item on this page is marked "Users to watch". When you enter
+   one or more comma-delineated user accounts (usually email addresses)
+   into the text entry box, you will receive a copy of all the bugmail
+   those users are sent (security settings permitting). This powerful
+   functionality enables seamless transitions as developers change
+   projects or users go on holiday.
+
+   Note
+
+   The ability to watch other users may not be available in all Bugzilla
+   installations. If you don't see this feature, and feel that you need
+   it, speak to your administrator.
+
+   In general, users have almost complete control over how much (or how
+   little) email Bugzilla sends them. If you want to receive the maximum
+   amount of email possible, click the "Enable All Mail" button. If you
+   don't want to receive any email from Bugzilla at all, click the
+   "Disable All Mail" button.
+
+   Note
+
+   Your Bugzilla administrator can stop a user from receiving bugmail by
+   adding the user's name to the data/nomail file. This is a drastic step
+   best taken only for disabled accounts, as it overrides the the user's
+   individual mail preferences.
+
+   If you'd like to set your bugmail to something besides 'Completely ON'
+   and 'Completely OFF', the "Field/recipient specific options" table
+   allows you to do just that. The rows of the table define events that
+   can happen to a bug -- things like attachments being added, new
+   comments being made, the priority changing, etc. The columns in the
+   table define your relationship with the bug:
+
+     * Reporter - Where you are the person who initially reported the
+       bug. Your name/account appears in the "Reporter:" field.
+     * Assignee - Where you are the person who has been designated as the
+       one responsible for the bug. Your name/account appears in the
+       "Assigned To:" field of the bug.
+     * QA Contact - You are one of the designated QA Contacts for the
+       bug. Your account appears in the "QA Contact:" text-box of the
+       bug.
+     * CC - You are on the list CC List for the bug. Your account appears
+       in the "CC:" text box of the bug.
+     * Voter - You have placed one or more votes for the bug. Your
+       account appears only if someone clicks on the "Show votes for this
+       bug" link on the bug.
+
+   Note
+
+   Some columns may not be visible for your installation, depending on
+   your site's configuration.
+
+   To fine-tune your bugmail, decide the events for which you want to
+   receive bugmail; then decide if you want to receive it all the time
+   (enable the checkbox for every column), or only when you have a
+   certain relationship with a bug (enable the checkbox only for those
+   columns). For example: if you didn't want to receive mail when someone
+   added themselves to the CC list, you could uncheck all the boxes in
+   the "CC Field Changes" line. As another example, if you never wanted
+   to receive email on bugs you reported unless the bug was resolved, you
+   would un-check all boxes in the "Reporter" column except for the one
+   on the "The bug is resolved or verified" row.
+
+   Note
+
+   Bugzilla adds the "X-Bugzilla-Reason" header to all bugmail it sends,
+   describing the recipient's relationship (AssignedTo, Reporter,
+   QAContact, CC, or Voter) to the bug. This header can be used to do
+   further client-side filtering.
+
+   Two items not in the table ("Email me when someone asks me to set a
+   flag" and "Email me when someone sets a flag I asked for") define how
+   you want to receive bugmail with regards to flags. Their use is quite
+   straightforward; enable the checkboxes if you want Bugzilla to send
+   you mail under either of the above conditions.
+
+   By default, Bugzilla sends out email regardless of who made the
+   change... even if you were the one responsible for generating the
+   email in the first place. If you don't care to receive bugmail from
+   your own changes, check the box marked "Only email me reports of
+   changes made by other people".
+     _________________________________________________________________
+
+6.10.3. Permissions
+
+   This is a purely informative page which outlines your current
+   permissions on this installation of Bugzilla - what product groups you
+   are in, and whether you can edit bugs or perform various
+   administration functions.
+     _________________________________________________________________
+
+6.11. Reports and Charts
+
+   As well as the standard buglist, Bugzilla has two more ways of viewing
+   sets of bugs. These are the reports (which give different views of the
+   current state of the database) and charts (which plot the changes in
+   particular sets of bugs over time.)
+     _________________________________________________________________
+
+6.11.1. Reports
+
+   A report is a view of the current state of the bug database.
+
+   You can run either an HTML-table-based report, or a graphical
+   line/pie/bar-chart-based one. The two have different pages to define
+   them, but are close cousins - once you've defined and viewed a report,
+   you can switch between any of the different views of the data at will.
+
+   Both report types are based on the idea of defining a set of bugs
+   using the standard search interface, and then choosing some aspect of
+   that set to plot on the horizontal and/or vertical axes. You can also
+   get a form of 3-dimensional report by choosing to have multiple images
+   or tables.
+
+   So, for example, you could use the search form to choose "all bugs in
+   the WorldControl product", and then plot their severity against their
+   component to see which component had had the largest number of bad
+   bugs reported against it.
+
+   Once you've defined your parameters and hit "Generate Report", you can
+   switch between HTML, CSV, Bar, Line and Pie. (Note: Pie is only
+   available if you didn't define a vertical axis, as pie charts don't
+   have one.) The other controls are fairly self-explanatory; you can
+   change the size of the image if you find text is overwriting other
+   text, or the bars are too thin to see.
+     _________________________________________________________________
+
+6.11.2. Charts
+
+   A chart is a view of the state of the bug database over time.
+
+   Bugzilla currently has two charting systems - Old Charts and New
+   Charts. Old Charts have been part of Bugzilla for a long time; they
+   chart each status and resolution for each product, and that's all.
+   They are deprecated, and going away soon - we won't say any more about
+   them. New Charts are the future - they allow you to chart anything you
+   can define as a search.
+
+   Note
+
+   Both charting forms require the administrator to set up the
+   data-gathering script. If you can't see any charts, ask them whether
+   they have done so.
 
-   On this tab, you can change your basic account information, including
-   your password, email address and real name. For security reasons, in
-   order to change anything on this page you must type your current
-   password into the "Password" field at the top of the page. If you
-   attempt to change your email address, a confirmation email is sent to
-   both the old and new addresses, with a link to use to confirm the
-   change. This helps to prevent account hijacking.
+   An individual line on a chart is called a data set. All data sets are
+   organised into categories and subcategories. The data sets that
+   Bugzilla defines automatically use the Product name as a Category and
+   Component names as Subcategories, but there is no need for you to
+   follow that naming scheme with your own charts if you don't want to.
+
+   Data sets may be public or private. Everyone sees public data sets in
+   the list, but only their creator sees private data sets. Only
+   administrators can make data sets public. No two data sets, even two
+   private ones, can have the same set of category, subcategory and name.
+   So if you are creating private data sets, one idea is to have the
+   Category be your username.
      _________________________________________________________________
 
-5.9.2. Email Settings
+6.11.2.1. Creating Charts
 
-   On this tab you can reduce or increase the amount of email sent you
-   from Bugzilla, opting in our out depending on your relationship to the
-   bug and the change that was made to it.
+   You create a chart by selecting a number of data sets from the list,
+   and pressing Add To List for each. In the List Of Data Sets To Plot,
+   you can define the label that data set will have in the chart's
+   legend, and also ask Bugzilla to Sum a number of data sets (e.g. you
+   could Sum data sets representing RESOLVED, VERIFIED and CLOSED in a
+   particular product to get a data set representing all the resolved
+   bugs in that product.)
 
-   You can also do further filtering on the client side by using the
-   X-Bugzilla-Reason mail header which Bugzilla adds to all bugmail. This
-   tells you what relationship you have to the bug in question, and can
-   be any of Owner, Reporter, QAcontact, CClist, Voter and
-   WatchingComponent.
+   If you've erroneously added a data set to the list, select it using
+   the checkbox and click Remove. Once you add more than one data set, a
+   "Grand Total" line automatically appears at the bottom of the list. If
+   you don't want this, simply remove it as you would remove any other
+   line.
 
-   By entering user email names, delineated by commas, into the "Users to
-   watch" text entry box you can receive a copy of all the bugmail of
-   other users (security settings permitting.) This powerful
-   functionality enables seamless transitions as developers change
-   projects or users go on holiday.
+   You may also choose to plot only over a certain date range, and to
+   cumulate the results - that is, to plot each one using the previous
+   one as a baseline, so the top line gives a sum of all the data sets.
+   It's easier to try than to explain :-)
 
-   Note
+   Once a data set is in the list, one can also perform certain actions
+   on it. For example, one can edit the data set's parameters (name,
+   frequency etc.) if it's one you created or if you are an
+   administrator.
 
-   The ability to watch other users may not be available in all Bugzilla
-   installations. If you can't see it, ask your administrator.
+   Once you are happy, click Chart This List to see the chart.
      _________________________________________________________________
 
-5.9.3. Permissions
+6.11.2.2. Creating New Data Sets
 
-   This is a purely informative page which outlines your current
-   permissions on this installation of Bugzilla - what product groups you
-   are in, and whether you can edit bugs or perform various
-   administration functions.
+   You may also create new data sets of your own. To do this, click the
+   "create a new data set" link on the Create Chart page. This takes you
+   to a search-like interface where you can define the search that
+   Bugzilla will plot. At the bottom of the page, you choose the
+   category, sub-category and name of your new data set.
+
+   If you have sufficient permissions, you can make the data set public,
+   and reduce the frequency of data collection to less than the default
+   seven days.
      _________________________________________________________________
 
-5.10. Reports
+6.12. Flags
+
+   A flag is a kind of status that can be set on bugs or attachments to
+   indicate that the bugs/attachments are in a certain state. Each
+   installation can define its own set of flags that can be set on bugs
+   or attachments.
+
+   If your installation has defined a flag, you can set or unset that
+   flag, and if your administrator has enabled requesting of flags, you
+   can submit a request for another user to set the flag.
+
+   To set a flag, select either "+" or "-" from the drop-down menu next
+   to the name of the flag in the "Flags" list. The meaning of these
+   values are flag-specific and thus cannot be described in this
+   documentation, but by way of example, setting a flag named "review" to
+   "+" may indicate that the bug/attachment has passed review, while
+   setting it to "-" may indicate that the bug/attachment has failed
+   review.
 
-   To be written
+   To unset a flag, click its drop-down menu and select the blank value.
+
+   If your administrator has enabled requests for a flag, request a flag
+   by selecting "?" from the drop-down menu and then entering the
+   username of the user you want to set the flag in the text field next
+   to the menu.
+
+   A set flag appears in bug reports and on "edit attachment" pages with
+   the abbreviated username of the user who set the flag prepended to the
+   flag name. For example, if Jack sets a "review" flag to "+", it
+   appears as Jack: review [ + ]
+
+   A requested flag appears with the user who requested the flag
+   prepended to the flag name and the user who has been requested to set
+   the flag appended to the flag name within parentheses. For example, if
+   Jack asks Jill for review, it appears as Jack: review [ ? ] (Jill).
      _________________________________________________________________
 
 Appendix A. The Bugzilla FAQ
@@ -3052,11 +4253,12 @@ Appendix A. The Bugzilla FAQ
                 compatibility with this other tracking software? 
 
         A.1.7. Why MySQL? I'm interested in seeing Bugzilla run on
-                Oracle/Sybase/Msql/PostgreSQL/MSSQL. 
+                PostgreSQL/Sybase/Oracle/Msql/MSSQL. 
 
         A.1.8. What is /usr/bonsaitools/bin/perl? 
-        A.1.9. My perl is not located at /usr/bin/perl, is there an easy
-                way to change it everywhere it needs to be changed? 
+        A.1.9. My perl is located at /usr/local/bin/perl and not
+                /usr/bin/perl. Is there an easy to change that in all the
+                files that have this hard-coded? 
 
         A.1.10. Is there an easy way to change the Bugzilla cookie name? 
         A.1.11. Does bugzilla run under mod_perl? 
@@ -3075,8 +4277,8 @@ Appendix A. The Bugzilla FAQ
                 graphs, etc? You know, the type of stuff that management
                 likes to see. :) 
 
-        A.2.4. Is there email notification and if so, what do you see
-                when you get an email? 
+        A.2.4. Is there email notification? If so, what do you see when
+                you get an email? 
 
         A.2.5. Do users have to have any particular type of email
                 application? 
@@ -3093,112 +4295,119 @@ Appendix A. The Bugzilla FAQ
         A.2.8. Can a user create and save reports? Can they do this in
                 Word format? Excel format? 
 
-        A.2.9. Does Bugzilla provide record locking when there is
-                simultaneous access to the same bug? Does the second
-                person get a notice that the bug is in use or how are
-                they notified? 
-
-        A.2.10. Are there any backup features provided? 
-        A.2.11. Can users be on the system while a backup is in progress?
-                
-        A.2.12. What type of human resources are needed to be on staff to
+        A.2.9. Are there any backup features provided? 
+        A.2.10. What type of human resources are needed to be on staff to
                 install and maintain Bugzilla? Specifically, what type of
                 skills does the person need to have? I need to find out
-                if we were to go with Bugzilla, what types of individuals
-                would we need to hire and how much would that cost vs
-                buying an "out-of-the-box" solution? 
+                what types of individuals would we need to hire and how
+                much would that cost if we were to go with Bugzilla vs.
+                buying an "out-of-the-box" solution. 
 
-        A.2.13. What time frame are we looking at if we decide to hire
+        A.2.11. What time frame are we looking at if we decide to hire
                 people to install and maintain the Bugzilla? Is this
-                something that takes hours or weeks to install and a
-                couple of hours per week to maintain and customize or is
+                something that takes hours or days to install and a
+                couple of hours per week to maintain and customize, or is
                 this a multi-week install process, plus a full time job
                 for 1 person, 2 people, etc? 
 
-        A.2.14. Is there any licensing fee or other fees for using
+        A.2.12. Is there any licensing fee or other fees for using
                 Bugzilla? Any out-of-pocket cost other than the bodies
                 needed as identified above? 
 
-   3. Bugzilla Security
+        A.2.13. We don't like referring to problems as 'bugs'. Can we
+                change that? 
+
+   3. Administrative Questions
+
+        A.3.1. Does Bugzilla provide record locking when there is
+                simultaneous access to the same bug? Does the second
+                person get a notice that the bug is in use or how are
+                they notified? 
+
+        A.3.2. Can users be on the system while a backup is in progress? 
+        A.3.3. How can I update the code and the database using CVS? 
+        A.3.4. How do I make it so that bugs can have an UNCONFIRMED
+                status? 
+
+   4. Bugzilla Security
 
-        A.3.1. How do I completely disable MySQL security if it's giving
-                me problems (I've followed the instructions in the
-                installation section of this guide)? 
+        A.4.1. How do I completely disable MySQL security if it's giving
+                me problems? (I've followed the instructions in the
+                installation section of this guide...) 
 
-        A.3.2. Are there any security problems with Bugzilla? 
+        A.4.2. Are there any security problems with Bugzilla? 
 
-   4. Bugzilla Email
+   5. Bugzilla Email
 
-        A.4.1. I have a user who doesn't want to receive any more email
+        A.5.1. I have a user who doesn't want to receive any more email
                 from Bugzilla. How do I stop it entirely for this user? 
 
-        A.4.2. I'm evaluating/testing Bugzilla, and don't want it to send
+        A.5.2. I'm evaluating/testing Bugzilla, and don't want it to send
                 email to anyone but me. How do I do it? 
 
-        A.4.3. I want whineatnews.pl to whine at something other than new
+        A.5.3. I want whineatnews.pl to whine at something other than new
                 and reopened bugs. How do I do it? 
 
-        A.4.4. How do I set up the email interface to submit/change bugs
+        A.5.4. How do I set up the email interface to submit/change bugs
                 via email? 
 
-        A.4.5. Email takes FOREVER to reach me from Bugzilla -- it's
+        A.5.5. Email takes FOREVER to reach me from Bugzilla -- it's
                 extremely slow. What gives? 
 
-        A.4.6. How come email from Bugzilla changes never reaches me? 
+        A.5.6. How come email from Bugzilla changes never reaches me? 
 
-   5. Bugzilla Database
+   6. Bugzilla Database
 
-        A.5.1. I've heard Bugzilla can be used with Oracle? 
-        A.5.2. I think my database might be corrupted, or contain invalid
+        A.6.1. I think my database might be corrupted, or contain invalid
                 entries. What do I do? 
 
-        A.5.3. I want to manually edit some entries in my database. How? 
-        A.5.4. I think I've set up MySQL permissions correctly, but
+        A.6.2. I want to manually edit some entries in my database. How? 
+        A.6.3. I think I've set up MySQL permissions correctly, but
                 Bugzilla still can't connect. 
 
-        A.5.5. How do I synchronize bug information among multiple
+        A.6.4. How do I synchronize bug information among multiple
                 different Bugzilla databases? 
 
-   6. Bugzilla and Win32
+   7. Bugzilla and Win32
 
-        A.6.1. What is the easiest way to run Bugzilla on Win32
+        A.7.1. What is the easiest way to run Bugzilla on Win32
                 (Win98+/NT/2K)? 
 
-        A.6.2. Is there a "Bundle::Bugzilla" equivalent for Win32? 
-        A.6.3. CGI's are failing with a "something.cgi is not a valid
+        A.7.2. Is there a "Bundle::Bugzilla" equivalent for Win32? 
+        A.7.3. CGI's are failing with a "something.cgi is not a valid
                 Windows NT application" error. Why? 
 
-        A.6.4. I'm having trouble with the perl modules for NT not being
-                able to talk to to the database. 
+        A.7.4. I'm having trouble with the perl modules for NT not being
+                able to talk to the database. 
 
-   7. Bugzilla Usage
+   8. Bugzilla Usage
 
-        A.7.1. How do I change my user name (email address) in Bugzilla? 
-        A.7.2. The query page is very confusing. Isn't there a simpler
+        A.8.1. How do I change my user name (email address) in Bugzilla? 
+        A.8.2. The query page is very confusing. Isn't there a simpler
                 way to query? 
 
-        A.7.3. I'm confused by the behavior of the "accept" button in the
+        A.8.3. I'm confused by the behavior of the "Accept" button in the
                 Show Bug form. Why doesn't it assign the bug to me when I
                 accept it? 
 
-        A.7.4. I can't upload anything into the database via the "Create
+        A.8.4. I can't upload anything into the database via the "Create
                 Attachment" link. What am I doing wrong? 
 
-        A.7.5. How do I change a keyword in Bugzilla, once some bugs are
+        A.8.5. How do I change a keyword in Bugzilla, once some bugs are
                 using it? 
 
-        A.7.6. Why can't I close bugs from the "Change Several Bugs at
+        A.8.6. Why can't I close bugs from the "Change Several Bugs at
                 Once" page? 
 
-   8. Bugzilla Hacking
+   9. Bugzilla Hacking
 
-        A.8.1. What kind of style should I use for templatization? 
-        A.8.2. What bugs are in Bugzilla right now? 
-        A.8.3. How can I change the default priority to a null value? For
+        A.9.1. What kind of style should I use for templatization? 
+        A.9.2. What bugs are in Bugzilla right now? 
+        A.9.3. How can I change the default priority to a null value? For
                 instance, have the default priority be "---" instead of
                 "P2"? 
 
-        A.8.4. What's the best way to submit patches? What guidelines
+        A.9.4. What's the best way to submit patches? What guidelines
                 should I follow? 
 
 1. General Questions
@@ -3210,8 +4419,9 @@ Appendix A. The Bugzilla FAQ
 
    A.1.2. How do I get commercial support for Bugzilla?
 
-   http://bugzilla.org/consulting.html is a list of people and companies
-   who have asked us to list them as consultants for Bugzilla.
+   http:/www.bugzilla.org/support/consulting.html is a list of companies
+   and individuals who have asked us to list them as consultants for
+   Bugzilla.
 
    There are several experienced Bugzilla hackers on the mailing
    list/newsgroup who are willing to make themselves available for
@@ -3236,46 +4446,75 @@ Appendix A. The Bugzilla FAQ
    databases?
 
    We can't find any head-to-head comparisons of Bugzilla against other
-   defect-tracking software. If you know of one, please get in touch.
-   However, from the author's personal experience with other
-   bug-trackers, Bugzilla offers superior performance on commodity
-   hardware, better price (free!), more developer- friendly features
-   (such as stored queries, email integration, and platform
-   independence), improved scalability, open source code, greater
-   flexibility, and superior ease-of-use.
-
-   If you happen to be a commercial bug-tracker vendor, please step
-   forward with a list of advantages your product has over Bugzilla. We'd
-   be happy to include it in the "Competitors" section.
+   defect-tracking software. If you know of one, please get in touch. In
+   the experience of Matthew Barnson (the original author of this FAQ),
+   though, Bugzilla offers superior performance on commodity hardware,
+   better price (free!), more developer-friendly features (such as stored
+   queries, email integration, and platform independence), improved
+   scalability, greater flexibility, and superior ease-of-use when
+   compared to commercial bug-tracking software.
+
+   If you happen to be a vendor for commercial bug-tracking software, and
+   would like to submit a list of advantages your product has over
+   Bugzilla, simply send it to <documentation@bugzilla.org> and we'd be
+   happy to include the comparison in our documentation.
 
    A.1.6. Why doesn't Bugzilla offer this or that feature or
    compatibility with this other tracking software?
 
    It may be that the support has not been built yet, or that you have
-   not yet found it. Bugzilla is making tremendous strides in usability,
-   customizability, scalability, and user interface. It is widely
-   considered the most complete and popular open-source bug-tracking
-   software in existence.
-
-   That doesn't mean it can't use improvement! You can help the project
-   along by either hacking a patch yourself that supports the
-   functionality you require, or else submitting a "Request for
-   Enhancement" (RFE) using the bug submission interface at
-   bugzilla.mozilla.org.
+   not yet found it. While Bugzilla makes strides in usability,
+   customizability, scalability, and user interface with each release,
+   that doesn't mean it can't still use improvement!
+
+   The best way to make an enhancement request is to file a bug at
+   bugzilla.mozilla.org and set the Severity to 'enhancement'. Your
+   'request for enhancement' (RFE) will start out in the UNCONFIRMED
+   state, and will stay there until someone with the ability to COMFIRM
+   the bug reviews it. If that person feels it to be a good request that
+   fits in with Bugzilla's overall direction, the status will be changed
+   to NEW; if not, they will probably explain why and set the bug to
+   RESOLVED/WONTFIX. If someone else has made the same (or almost the
+   same) request before, your request will be marked RESOLVED/DUPLICATE,
+   and a pointer to the previous RFE will be added.
+
+   Even if your RFE gets approved, that doesn't mean it's going to make
+   it right into the next release; there are a limited number of
+   developers, and a whole lot of RFEs... some of which are quite
+   complex. If you're a code-hacking sort of person, you can help the
+   project along by making a patch yourself that supports the
+   functionality you require. If you have never contributed anything to
+   Bugzilla before, please be sure to read the Developers' Guide and
+   Contributors' Guide before going ahead.
 
    A.1.7. Why MySQL? I'm interested in seeing Bugzilla run on
-   Oracle/Sybase/Msql/PostgreSQL/MSSQL.
+   PostgreSQL/Sybase/Oracle/Msql/MSSQL.
 
    MySQL was originally chosen because it is free, easy to install, and
    was available for the hardware Netscape intended to run it on.
 
    There is currently work in progress to make Bugzilla work on
-   PostgreSQL and Sybase in the default distribution. You can track the
-   progress of these initiatives in bug 98304 and bug 173130
-   respectively.
-
-   Once both of these are done, adding support for additional database
-   servers should be trivial.
+   PostgreSQL; track the progress of this initiative in bug 98304.
+
+   Sybase support is no longer being worked on. Even if it eventually
+   happens, it's VERY unlikely to work without the end-user-company
+   having to stick a few developers on making several manual changes.
+   Sybase is just NOT very standards-compliant (despite all the hype),
+   and it turned out that way too much had to be changed to make it work
+   -- like moving half of the application logic into stored procedures to
+   get any kind of decent performance out of it. Bug 173130 is the
+   relevant bug.
+
+   Red Hat once ran a version of Bugzilla that worked on Oracle, but that
+   was long, long ago; that version (Bugzilla 2.8) is now obsolete,
+   insecure, and totally unsupported. Red Hat's current Bugzilla (based
+   on Bugzilla 2.17.1) uses PostgreSQL, and work is being done to merge
+   those changes into the main distribution. (See above.) At this time we
+   know of no recent ports of Bugzilla to Oracle. (In our honest opinion,
+   Bugzilla doesn't need what Oracle offers.)
+
+   Bug 237862 is a good bug to read through if you'd like to see what
+   progress is being made on general database compatibility.
 
    A.1.8. What is /usr/bonsaitools/bin/perl?
 
@@ -3289,21 +4528,46 @@ Appendix A. The Bugzilla FAQ
    anything else, such as Bonsai, using it and you don't intend to
    reinstall an older version of Bugzilla).
 
-   A.1.9. My perl is not located at /usr/bin/perl, is there an easy way
-   to change it everywhere it needs to be changed?
+   A.1.9. My perl is located at /usr/local/bin/perl and not
+   /usr/bin/perl. Is there an easy to change that in all the files that
+   have this hard-coded?
 
-   Yes, the following bit of perl magic will change all the shebang
-   lines. Be sure to change /usr/local/bin/perl to your path to the perl
-   binary.
+   The easiest way to get around this is to create a link from one to the
+   other: ln -s /usr/local/bin/perl /usr/bin/perl. If that's not an
+   option for you, the following bit of perl magic will change all the
+   shebang lines (that is to say, the line at the top of each file that
+   starts with '#!' and contains the path) to something else:
 perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
 
+   Sadly, this command-line won't work on Windows unless you also have
+   Cygwin. However, MySQL comes with a binary called replace which can do
+   the job:
+C:\mysql\bin\replace "#!/usr/bin/perl" "#!C:\perl\bin\perl" -- *.cgi *.pl
+
+   Note
+
+   If your perl path is something else again, just follow the above
+   examples and replace /usr/local/bin/perl with your own perl path.
+
+   If using Apache on Windows, you can avoid the whole problem by setting
+   the ScriptInterpreterSource directive to 'Registry'. (If using Apache
+   2 or higher, set it to 'Registry-Strict'.) ScriptInterperterSource
+   requires a registry entry
+   "HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command" to associate .cgi files
+   with your perl executable. If one does not already exist, create it
+   with a default value of "<full path to perl> -T", e.g.
+   "C:\Perl\bin\perl.exe -T".
+
    A.1.10. Is there an easy way to change the Bugzilla cookie name?
 
    At present, no.
 
    A.1.11. Does bugzilla run under mod_perl?
 
-   At present, no. This is being worked on.
+   At present, no. Work is slowly taking place to remove global
+   variables, use $cgi, and use DBI. These are all necessary for mod_perl
+   (as well as being good for other reasons). Visit bug 87406 to view the
+   discussion and progress.
 
 2. Managerial Questions
 
@@ -3327,7 +4591,8 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
    etc? You know, the type of stuff that management likes to see. :)
 
    Yes. Look at http://bugzilla.mozilla.org/report.cgi for samples of
-   what Bugzilla can do in reporting and graphing.
+   what Bugzilla can do in reporting and graphing. Fuller documentation
+   is provided in Section 6.11.
 
    If you can not get the reports you want from the included reporting
    scripts, it is possible to hook up a professional reporting package
@@ -3336,7 +4601,7 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
    implications. Even if you give read-only access to the bugs database
    it will bypass the secure bugs features of Bugzilla.
 
-   A.2.4. Is there email notification and if so, what do you see when you
+   A.2.4. Is there email notification? If so, what do you see when you
    get an email?
 
    Email notification is user-configurable. By default, the bug id and
@@ -3386,41 +4651,28 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
    other countries? Is it localizable?
 
    Yes. For more information including available translated templates,
-   see http://www.bugzilla.org/download.html#localizations. The admin
-   interfaces are still not included in these translated templates and is
-   therefore still English only. Also, there may be issues with the
-   charset not being declared. See bug 126226 for more information.
+   see http://www.bugzilla.org/download.html#localizations. Some admin
+   interfaces have been templatized (for easy localization) but many of
+   them are still available in English only. Also, there may be issues
+   with the charset not being declared. See bug 126226 for more
+   information.
 
    A.2.8. Can a user create and save reports? Can they do this in Word
    format? Excel format?
 
    Yes. No. Yes (using the CSV format).
 
-   A.2.9. Does Bugzilla provide record locking when there is simultaneous
-   access to the same bug? Does the second person get a notice that the
-   bug is in use or how are they notified?
-
-   Bugzilla does not lock records. It provides mid-air collision
-   detection, and offers the offending user a choice of options to deal
-   with the conflict.
-
-   A.2.10. Are there any backup features provided?
+   A.2.9. Are there any backup features provided?
 
    MySQL, the database back-end for Bugzilla, allows hot-backup of data.
    You can find strategies for dealing with backup considerations at
    http://www.mysql.com/doc/B/a/Backup.html.
 
-   A.2.11. Can users be on the system while a backup is in progress?
-
-   Yes. However, commits to the database must wait until the tables are
-   unlocked. Bugzilla databases are typically very small, and backups
-   routinely take less than a minute.
-
-   A.2.12. What type of human resources are needed to be on staff to
+   A.2.10. What type of human resources are needed to be on staff to
    install and maintain Bugzilla? Specifically, what type of skills does
-   the person need to have? I need to find out if we were to go with
-   Bugzilla, what types of individuals would we need to hire and how much
-   would that cost vs buying an "out-of-the-box" solution?
+   the person need to have? I need to find out what types of individuals
+   would we need to hire and how much would that cost if we were to go
+   with Bugzilla vs. buying an "out-of-the-box" solution.
 
    If Bugzilla is set up correctly from the start, continuing maintenance
    needs are minimal and can be done easily using the web interface.
@@ -3430,37 +4682,122 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
    available from skilled members of the newsgroup. Simple questions are
    answered there and then.
 
-   A.2.13. What time frame are we looking at if we decide to hire people
+   A.2.11. What time frame are we looking at if we decide to hire people
    to install and maintain the Bugzilla? Is this something that takes
-   hours or weeks to install and a couple of hours per week to maintain
-   and customize or is this a multi-week install process, plus a full
+   hours or days to install and a couple of hours per week to maintain
+   and customize, or is this a multi-week install process, plus a full
    time job for 1 person, 2 people, etc?
 
    It all depends on your level of commitment. Someone with much Bugzilla
    experience can get you up and running in less than a day, and your
    Bugzilla install can run untended for years. If your Bugzilla strategy
-   is critical to your business workflow, hire somebody with reasonable
-   UNIX or Perl skills to handle your process management and bug-tracking
-   maintenance & customization.
+   is critical to your business workflow, hire somebody to who has
+   reasonable Perl skills, and a familiarity with the operating system on
+   which Bugzilla will be running, and have them handle your process
+   management, bug-tracking maintenance, and local customization.
 
-   A.2.14. Is there any licensing fee or other fees for using Bugzilla?
+   A.2.12. Is there any licensing fee or other fees for using Bugzilla?
    Any out-of-pocket cost other than the bodies needed as identified
    above?
 
-   No. MySQL asks, if you find their product valuable, that you purchase
-   a support contract from them that suits your needs.
+   No. Bugzilla, Perl, the Template Toolkit, and all other support
+   software needed to make Bugzilla work can be downloaded for free.
+   MySQL -- the database used by Bugzilla -- is also open-source, but
+   they ask that if you find their product valuable, you purchase a
+   support contract from them that suits your needs.
+
+   A.2.13. We don't like referring to problems as 'bugs'. Can we change
+   that?
+
+   Yes! As of Bugzilla 2.18, it is a simple matter to change the word
+   'bug' into whatever word/phrase is used by your organization. See the
+   documentation on Customization for more details, specifically Section
+   5.1.5.
+
+3. Administrative Questions
+
+   A.3.1. Does Bugzilla provide record locking when there is simultaneous
+   access to the same bug? Does the second person get a notice that the
+   bug is in use or how are they notified?
+
+   Bugzilla does not lock records. It provides mid-air collision
+   detection -- which means that it warns a user when a commit is about
+   to conflict with commits recently made by another user, and offers the
+   second user a choice of options to deal with the conflict.
+
+   A.3.2. Can users be on the system while a backup is in progress?
+
+   Yes, but commits to the database must wait until the tables are
+   unlocked. Bugzilla databases are typically very small, and backups
+   routinely take less than a minute. If your database is larger, you may
+   want to look into alternate backup techniques, such as database
+   replication, or backing up from a read-only mirror. (Read up on these
+   in the MySQL docs on the MySQL site.)
+
+   A.3.3. How can I update the code and the database using CVS?
+
+    1. Make a backup of both your Bugzilla directory and the database.
+       For the Bugzilla directory this is as easy as doing cp -rp
+       bugzilla bugzilla.bak. For the database, there's a number of
+       options - see the MySQL docs and pick the one that fits you best
+       (the easiest is to just make a physical copy of the database on
+       the disk, but you have to have the database server shut down to do
+       that without risking dataloss).
+    2. Make the Bugzilla directory your current directory.
+    3. Use cvs -q update -AdP if you want to update to the tip or cvs -q
+       update -dP -rTAGNAME if you want a specific version (in that case
+       you'll have to replace TAGNAME with a CVS tag name such as
+       BUGZILLA-2_16_5).
+       If you've made no local changes, this should be very clean. If you
+       have made local changes, then watch the cvs output for C results.
+       If you get any lines that start with a C it means there were
+       conflicts between your local changes and what's in CVS. You'll
+       need to fix those manually before continuing.
+    4. After resolving any conflicts that the cvs update operation
+       generated, running ./checksetup.pl will take care of updating the
+       database for you as well as any other changes required for the new
+       version to operate.
+
+   Warning
+
+   Once you run checksetup.pl, the only way to go back is to restore the
+   database backups. You can't "downgrade" the system cleanly under most
+   circumstances.
+
+   See also the instructions in Example 3-1.
+
+   A.3.4. How do I make it so that bugs can have an UNCONFIRMED status?
+
+   To use the UNCONFIRMED status, you must have the 'usevotes' parameter
+   set to "On". You must then visit the editproducts.cgi page and set the
+   " Number of votes a bug in this product needs to automatically get out
+   of the UNCONFIRMED state" to be a non-zero number. (You will have to
+   do this for each product that wants to use the UNCONFIRMED state.) If
+   you do not actually want users to be able to vote for bugs entered
+   against this product, leave the "Maximum votes per person" value at
+   '0'.
 
-3. Bugzilla Security
+   There is work being done to decouple the UNCONFIRMED state from the
+   'usevotes' parameter for future versions of Bugzilla. Follow the
+   discussion and progress at bug 162060.
 
-   A.3.1. How do I completely disable MySQL security if it's giving me
-   problems (I've followed the instructions in the installation section
-   of this guide)?
+4. Bugzilla Security
 
-   Run MySQL like this: "mysqld --skip-grant-tables". Please remember
+   A.4.1. How do I completely disable MySQL security if it's giving me
+   problems? (I've followed the instructions in the installation section
+   of this guide...)
+
+   Run MySQL like this: mysqld --skip-grant-tables. Please remember that
    this makes MySQL as secure as taping a $100 to the floor of a football
    stadium bathroom for safekeeping.
 
-   A.3.2. Are there any security problems with Bugzilla?
+   Warning
+
+   This can't be stressed enough. Doing this is a bad idea. Please
+   consult Section 4.2 of this guide and the MySQL documentation for
+   better solutions.
+
+   A.4.2. Are there any security problems with Bugzilla?
 
    The Bugzilla code has undergone a reasonably complete security audit,
    and user-facing CGIs run under Perl's taint mode. However, it is
@@ -3468,44 +4805,81 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
    installation, and follow the recommended security guidelines found in
    The Bugzilla Guide.
 
-4. Bugzilla Email
+5. Bugzilla Email
 
-   A.4.1. I have a user who doesn't want to receive any more email from
+   A.5.1. I have a user who doesn't want to receive any more email from
    Bugzilla. How do I stop it entirely for this user?
 
-   The user should be able to set this in user email preferences (uncheck
-   all boxes) or you can add their email address to the data/nomail file.
+   The user can stop Bugzilla from sending any mail by unchecking all
+   boxes on the 'Edit prefs' -> 'Email settings' page. (As of 2.18,this
+   is made easier by the addition of a 'Disable All Mail' button.)
+   Alternately, you can add their email address to the data/nomail file
+   (one email address per line). This will override their personal
+   preferences, and they will never be sent mail again.
 
-   A.4.2. I'm evaluating/testing Bugzilla, and don't want it to send
+   A.5.2. I'm evaluating/testing Bugzilla, and don't want it to send
    email to anyone but me. How do I do it?
 
-   Edit the "newchangedmail" Param. Replace "To:" with "X-Real-To:",
-   replace "Cc:" with "X-Real-CC:", and add a "To: <youremailaddress>".
+   To disable email, set the
+   $enableSendMail
+
+   parameter to '0' in either BugMail.pm (2.18 and later) or processmail
+   (up to 2.16.x).
+
+   Note
+
+   Up to 2.16.x, changing
+   $enableSendMail
+
+   will only affect bugmail; email related to password changes, email
+   address changes, bug imports, flag changes, etc. will still be sent
+   out. As of the final release of 2.18, however, the above step will
+   disable all mail sent from Bugzilla for any purpose.
+
+   To have bugmail (and only bugmail) redirected to you instead of its
+   intended recipients, leave
+   $enableSendMail
+
+   alone; instead, edit the "newchangedmail" parameter as follows:
+
+     * Replace "To:" with "X-Real-To:"
+     * Replace "Cc:" with "X-Real-CC:"
+     * Add a "To: %lt;your_email_address>"
 
-   A.4.3. I want whineatnews.pl to whine at something other than new and
+   A.5.3. I want whineatnews.pl to whine at something other than new and
    reopened bugs. How do I do it?
 
-   Try Klaas Freitag's excellent patch for "whineatassigned"
-   functionality. You can find it in bug 6679. This patch is against an
-   older version of Bugzilla, so you must apply the diffs manually.
+   For older versions of Bugzilla, you may be able to apply Klaas
+   Freitag's patch for "whineatassigned", which can be found in bug 6679.
+   Note that this patch was made in 2000, so it may take some work to
+   apply cleanly to any releases of Bugzilla newer than that, but you can
+   use it as a starting point.
 
-   A.4.4. How do I set up the email interface to submit/change bugs via
+   An updated (and much-expanded) version of this functionality is due to
+   be released as part of Bugzilla 2.20; see bug 185090 for the
+   discussion, and for more up-to-date patches if you just can't wait.
+
+   A.5.4. How do I set up the email interface to submit/change bugs via
    email?
 
    You can find an updated README.mailif file in the contrib/ directory
    of your Bugzilla distribution that walks you through the setup.
 
-   A.4.5. Email takes FOREVER to reach me from Bugzilla -- it's extremely
+   A.5.5. Email takes FOREVER to reach me from Bugzilla -- it's extremely
    slow. What gives?
 
    If you are using sendmail, try enabling sendmailnow in editparams.cgi.
+   For earlier versions of sendmail, one could achieve significant
+   performance improvement in the UI (at the cost of delaying the sending
+   of mail) by setting this parameter to off. Sites with sendmail version
+   8.12 (or higher) should leave this on, as they will not see any
+   performance benefit.
 
    If you are using an alternate MTA, make sure the options given in
-   Bugzilla/BugMail.pm and any other place where sendmail is called from
-   are correct for your MTA. You should also ensure that the sendmailnow
-   param is set to on.
+   Bugzilla/BugMail.pm and any other place where sendmail is called are
+   correct for your MTA.
 
-   A.4.6. How come email from Bugzilla changes never reaches me?
+   A.5.6. How come email from Bugzilla changes never reaches me?
 
    Double-check that you have not turned off email in your user
    preferences. Confirm that Bugzilla is able to send email by visiting
@@ -3516,18 +4890,12 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
    sendmail in "/usr/lib/sendmail". Ensure sendmail lives in, or is
    symlinked to, "/usr/lib/sendmail".
 
-5. Bugzilla Database
-
-   A.5.1. I've heard Bugzilla can be used with Oracle?
+   If you are using an MTA other than sendmail the sendmailnow param must
+   be set to on or no mail will be sent.
 
-   Red Hat's old version of Bugzilla (based on 2.8) worked on Oracle, but
-   it is now so old as to be obsolete, and is totally unsupported. Red
-   Hat's newer version (based on 2.17.1 and soon to be merged into the
-   main distribution) runs on PostgreSQL. At this time we know of no
-   recent ports of Bugzilla to Oracle; to be honest, Bugzilla doesn't
-   need what Oracle offers.
+6. Bugzilla Database
 
-   A.5.2. I think my database might be corrupted, or contain invalid
+   A.6.1. I think my database might be corrupted, or contain invalid
    entries. What do I do?
 
    Run the "sanity check" utility (sanitycheck.cgi) from your web browser
@@ -3541,20 +4909,25 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
    of data. It is not exhaustive, and was created to do a basic check for
    the most common problems in Bugzilla databases.
 
-   A.5.3. I want to manually edit some entries in my database. How?
+   A.6.2. I want to manually edit some entries in my database. How?
 
    There is no facility in Bugzilla itself to do this. It's also
    generally not a smart thing to do if you don't know exactly what
-   you're doing. However, if you understand SQL you can use the mysql
+   you're doing. If you understand SQL, though, you can use the mysql
    command line utility to manually insert, delete and modify table
    information. There are also more intuitive GUI clients available.
    Personal favorites of the Bugzilla team are phpMyAdmin and MySQL
    Control Center.
 
-   A.5.4. I think I've set up MySQL permissions correctly, but Bugzilla
+   Remember, backups are your friend. Everyone makes mistakes, and it's
+   nice to have a safety net in case you mess something up. Consider
+   using mysqldump to make a duplicate of your database before altering
+   it manually.
+
+   A.6.3. I think I've set up MySQL permissions correctly, but Bugzilla
    still can't connect.
 
-   Try running MySQL from its binary: "mysqld --skip-grant-tables". This
+   Try running MySQL from its binary: mysqld --skip-grant-tables. This
    will allow you to completely rule out grant tables as the cause of
    your frustration. If this Bugzilla is able to connect at this point
    then you need to check that you have granted proper permission to the
@@ -3566,7 +4939,7 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
    should only be done when not connected to the external network as a
    troubleshooting step.
 
-   A.5.5. How do I synchronize bug information among multiple different
+   A.6.4. How do I synchronize bug information among multiple different
    Bugzilla databases?
 
    Well, you can synchronize or you can move bugs. Synchronization will
@@ -3582,21 +4955,33 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
    If you simply need to transfer bugs from one Bugzilla to another,
    checkout the "move.pl" script in the Bugzilla distribution.
 
-6. Bugzilla and Win32
+7. Bugzilla and Win32
 
-   A.6.1. What is the easiest way to run Bugzilla on Win32
+   A.7.1. What is the easiest way to run Bugzilla on Win32
    (Win98+/NT/2K)?
 
    Remove Windows. Install Linux. Install Bugzilla. The boss will never
-   know the difference.
+   know the difference. B^)
+
+   Seriously though, making Bugzilla work easily with Windows was one of
+   the major goals of the 2.18 milestone. If the necessary components are
+   in place (perl, a webserver, an MTA, etc.) then installation of
+   Bugzilla on a Windows box should be no more difficult than on any
+   other platform. As with any installation, we recommend that you
+   carefully and completely follow the installation instructions in
+   Section 2.4.1.
 
-   A.6.2. Is there a "Bundle::Bugzilla" equivalent for Win32?
+   While doing so, don't forget to check out the very excellent guide to
+   Installing Bugzilla on Microsoft Windows written by Byron Jones.
+   Thanks, Byron!
+
+   A.7.2. Is there a "Bundle::Bugzilla" equivalent for Win32?
 
    Not currently. Bundle::Bugzilla enormously simplifies Bugzilla
    installation on UNIX systems. If someone can volunteer to create a
    suitable PPM bundle for Win32, it would be appreciated.
 
-   A.6.3. CGI's are failing with a "something.cgi is not a valid Windows
+   A.7.3. CGI's are failing with a "something.cgi is not a valid Windows
    NT application" error. Why?
 
    Depending on what Web server you are using, you will have to configure
@@ -3610,15 +4995,15 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
      script file(s) to the executable for the script interpreter. For
      example, you might map the extension .py to Python.exe, the
      executable for the Python script interpreter. Note For the
-     ActiveState Perl script interpreter, the extension .pl is
+     ActiveState Perl script interpreter, the extension '.pl' is
      associated with PerlIS.dll by default. If you want to change the
      association of .pl to perl.exe, you need to change the application
      mapping. In the mapping, you must add two percent (%) characters to
      the end of the pathname for perl.exe, as shown in this example:
      c:\perl\bin\perl.exe %s %s"
 
-   A.6.4. I'm having trouble with the perl modules for NT not being able
-   to talk to to the database.
+   A.7.4. I'm having trouble with the perl modules for NT not being able
+   to talk to the database.
 
    Your modules may be outdated or inaccurate. Try:
 
@@ -3632,64 +5017,99 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
    check the ActiveState site for packages for installation through PPM.
    http://www.activestate.com/Packages/.
 
-7. Bugzilla Usage
+8. Bugzilla Usage
 
-   A.7.1. How do I change my user name (email address) in Bugzilla?
+   A.8.1. How do I change my user name (email address) in Bugzilla?
 
    New in 2.16 - go to the Account section of the Preferences. You will
    be emailed at both addresses for confirmation.
 
-   A.7.2. The query page is very confusing. Isn't there a simpler way to
+   A.8.2. The query page is very confusing. Isn't there a simpler way to
    query?
 
    The interface was simplified by a UI designer for 2.16. Further
    suggestions for improvement are welcome, but we won't sacrifice power
    for simplicity.
 
-   A.7.3. I'm confused by the behavior of the "accept" button in the Show
-   Bug form. Why doesn't it assign the bug to me when I accept it?
+   As of 2.18, there is also a 'simpler' search available. At the top of
+   the search page are two links; "Advanced Search" will take you to the
+   familiar full-power/full-complexity search page. The "Find a Specific
+   Bug" link will take you to a much-simplified page where you can pick a
+   product and status (open,closed, or both), then enter words that
+   appear in the bug you want to find. This search will scour the
+   'Summary' and 'Comment' fields, and return a list of bugs sorted so
+   that the bugs with the most hits/matches are nearer to the top.
 
-   The current behavior is acceptable to bugzilla.mozilla.org and most
-   users. You have your choice of patches to change this behavior,
-   however.
+   Note
 
-   Add a "and accept bug" radio button
-   "Accept" button automatically assigns to you
+   Matches in the Summary will 'trump' matches in comments, and bugs with
+   summary-matches will be placed higher in the buglist -- even if a
+   lower-ranked bug has more matches in the comments section.
 
-   Note that these patches are somewhat dated. You will need to apply
-   them manually.
+   Bugzilla uses a cookie to remember which version of the page you
+   visited last, and brings that page up when you next do a search. The
+   default page for new users (or after an upgrade) is the 'simple'
+   search.
 
-   A.7.4. I can't upload anything into the database via the "Create
+   A.8.3. I'm confused by the behavior of the "Accept" button in the Show
+   Bug form. Why doesn't it assign the bug to me when I accept it?
+
+   The current behavior is acceptable to bugzilla.mozilla.org and most
+   users. If you want to change this behavior, though, you have your
+   choice of patches:
+
+   Bug 35195 seeks to add an "...and accept the bug" checkbox to the UI.
+   It has two patches attached to it: attachment 8029 was originally
+   created for Bugzilla 2.12, while attachment 91372 is an updated
+   version for Bugzilla 2.16
+   Bug 37613 also provides two patches (against Bugzilla 2.12): one to
+   add a 'Take Bug' option, and the other to automatically reassign the
+   bug on 'Accept'.
+
+   These patches are all somewhat dated now, and cannot be applied
+   directly, but they are simple enough to provide a guide on how
+   Bugzilla can be customized and updated to suit your needs.
+
+   A.8.4. I can't upload anything into the database via the "Create
    Attachment" link. What am I doing wrong?
 
    The most likely cause is a very old browser or a browser that is
-   incompatible with file upload via POST. Download the latest Netscape,
-   Microsoft, or Mozilla browser to handle uploads correctly.
+   incompatible with file upload via POST. Download the latest version of
+   your favourite browser to handle uploads correctly.
 
-   A.7.5. How do I change a keyword in Bugzilla, once some bugs are using
+   A.8.5. How do I change a keyword in Bugzilla, once some bugs are using
    it?
 
    In the Bugzilla administrator UI, edit the keyword and it will let you
    replace the old keyword name with a new one. This will cause a problem
-   with the keyword cache. Run sanitycheck.cgi to fix it.
+   with the keyword cache; run sanitycheck.cgi to fix it.
 
-   A.7.6. Why can't I close bugs from the "Change Several Bugs at Once"
+   A.8.6. Why can't I close bugs from the "Change Several Bugs at Once"
    page?
 
-   The logic flow currently used is RESOLVED, then VERIFIED, then CLOSED.
-   You can mass-CLOSE bugs from the change several bugs at once page.
-   but, every bug listed on the page has to be in VERIFIED state before
-   the control to do it will show up on the form. You can also
-   mass-VERIFY, but every bug listed has to be RESOLVED in order for the
-   control to show up on the form. The logic behind this is that if you
-   pick one of the bugs that's not VERIFIED and try to CLOSE it, the bug
-   change will fail miserably (thus killing any changes in the list after
-   it while doing the bulk change) so it doesn't even give you the
-   choice.
+   Simple answer; you can.
+
+   The logic behind the page checks every bug in the list to determine
+   legal state changes, and then only shows you controls to do things
+   that could apply to every bug on the list. The reason for this is that
+   if you try to do something illegal to a bug, the whole process will
+   grind to a halt, and all changes after the failed one will also fail.
+   Since that isn't a good outcome, the page doesn't even present you
+   with the option.
 
-8. Bugzilla Hacking
+   In practical terms, that means that in order to mark multiple bugs as
+   CLOSED, then every bug on the page has to be either RESOLVED or
+   VERIFIED already; if this is not the case, then the option to close
+   the bugs will not appear on the page.
 
-   A.8.1. What kind of style should I use for templatization?
+   The rationale is that if you pick one of the bugs that's not VERIFIED
+   and try to CLOSE it, the bug change will fail miserably (thus killing
+   any changes in the list after it while doing the bulk change) so it
+   doesn't even give you the choice.
+
+9. Bugzilla Hacking
+
+   A.9.1. What kind of style should I use for templatization?
 
    Gerv and Myk suggest a 2-space indent, with embedded code sections on
    their own line, in line with outer tags. Like this:
@@ -3714,26 +5134,26 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
    existing templates in Bugzilla espouse both this and a 4-space style.
    Either is acceptable; the above is preferred.
 
-   A.8.2. What bugs are in Bugzilla right now?
+   A.9.2. What bugs are in Bugzilla right now?
 
    Try this link to view current bugs or requests for enhancement for
    Bugzilla.
 
-   You can view bugs marked for 2.18 release here. This list includes
-   bugs for the 2.18 release that have already been fixed and checked
+   You can view bugs marked for 2.18.1 release here. This list includes
+   bugs for the 2.18.1 release that have already been fixed and checked
    into CVS. Please consult the Bugzilla Project Page for details on how
    to check current sources out of CVS so you can have these bug fixes
    early!
 
-   A.8.3. How can I change the default priority to a null value? For
+   A.9.3. How can I change the default priority to a null value? For
    instance, have the default priority be "---" instead of "P2"?
 
    This is well-documented in bug 49862. Ultimately, it's as easy as
    adding the "---" priority field to your localconfig file in the
    appropriate area, re-running checksetup.pl, and then changing the
-   default priority in your browser using "editparams.cgi".
+   default priority in your browser using editparams.cgi.
 
-   A.8.4. What's the best way to submit patches? What guidelines should I
+   A.9.4. What's the best way to submit patches? What guidelines should I
    follow?
 
     1. Enter a bug into bugzilla.mozilla.org for the "Bugzilla" product.
@@ -3757,36 +5177,272 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
        successful open-source bug-tracking software on the planet :)
      _________________________________________________________________
 
-Appendix B. Contrib
+Appendix B. Troubleshooting
+
+   This section gives solutions to common Bugzilla installation problems.
+   If none of the section headings seems to match your problem, read the
+   general advice.
+     _________________________________________________________________
+
+B.1. General Advice
+
+   If you can't get checksetup.pl to run to completion, it normally
+   explains what's wrong and how to fix it. If you can't work it out, or
+   if it's being uncommunicative, post the errors in the
+   netscape.public.mozilla.webtools newsgroup.
+
+   If you have made it all the way through Section 2.1 (Installation) and
+   Section 2.2 (Configuration) but accessing the Bugzilla URL doesn't
+   work, the first thing to do is to check your webserver error log. For
+   Apache, this is often located at /etc/logs/httpd/error_log. The error
+   messages you see may be self-explanatory enough to enable you to
+   diagnose and fix the problem. If not, see below for some
+   commonly-encountered errors. If that doesn't help, post the errors to
+   the newsgroup.
+     _________________________________________________________________
+
+B.2. The Apache webserver is not serving Bugzilla pages
+
+   After you have run checksetup.pl twice, run testserver.pl
+   http://yoursite.yourdomain/yoururl to confirm that your webserver is
+   configured properly for Bugzilla.
+bash$ ./testserver.pl http://landfill.bugzilla.org/bugzilla-tip
+TEST-OK Webserver is running under group id in $webservergroup.
+TEST-OK Got ant picture.
+TEST-OK Webserver is executing CGIs.
+TEST-OK Webserver is preventing fetch of http://landfill.bugzilla.org/bugzilla-
+tip/localconfig.
+     _________________________________________________________________
+
+B.3. I installed a Perl module, but checksetup.pl claims it's not installed!
+
+   This could be caused by one of two things:
+
+    1. You have two versions of Perl on your machine. You are installing
+       modules into one, and Bugzilla is using the other. Rerun the CPAN
+       commands (or manual compile) using the full path to Perl from the
+       top of checksetup.pl. This will make sure you are installing the
+       modules in the right place.
+    2. The permissions on your library directories are set incorrectly.
+       They must, at the very least, be readable by the webserver user or
+       group. It is recommended that they be world readable.
+     _________________________________________________________________
+
+B.4. Bundle::Bugzilla makes me upgrade to Perl 5.6.1
+
+   Try executing perl -MCPAN -e 'install CPAN' and then continuing.
+
+   Certain older versions of the CPAN toolset were somewhat naive about
+   how to upgrade Perl modules. When a couple of modules got rolled into
+   the core Perl distribution for 5.6.1, CPAN thought that the best way
+   to get those modules up to date was to haul down the Perl distribution
+   itself and build it. Needless to say, this has caused headaches for
+   just about everybody. Upgrading to a newer version of CPAN with the
+   commandline above should fix things.
+     _________________________________________________________________
+
+B.5. DBD::Sponge::db prepare failed
+
+   The following error message may appear due to a bug in DBD::mysql
+   (over which the Bugzilla team have no control):
+ DBD::Sponge::db prepare failed: Cannot determine NUM_OF_FIELDS at D:/Perl/site
+/lib/DBD/mysql.pm line 248.
+  SV = NULL(0x0) at 0x20fc444
+  REFCNT = 1
+  FLAGS = (PADBUSY,PADMY)
+
+   To fix this, go to <path-to-perl>/lib/DBD/sponge.pm in your Perl
+   installation and replace
+ my $numFields;
+ if ($attribs->{'NUM_OF_FIELDS'}) {
+     $numFields = $attribs->{'NUM_OF_FIELDS'};
+ } elsif ($attribs->{'NAME'}) {
+     $numFields = @{$attribs->{NAME}};
+
+   with
+ my $numFields;
+ if ($attribs->{'NUM_OF_FIELDS'}) {
+     $numFields = $attribs->{'NUM_OF_FIELDS'};
+ } elsif ($attribs->{'NAMES'}) {
+     $numFields = @{$attribs->{NAMES}};
+
+   (note the S added to NAME.)
+     _________________________________________________________________
+
+B.6. cannot chdir(/var/spool/mqueue)
+
+   If you are installing Bugzilla on SuSE Linux, or some other
+   distributions with "paranoid" security options, it is possible that
+   the checksetup.pl script may fail with the error:
+   cannot chdir(/var/spool/mqueue): Permission denied
+
+   This is because your /var/spool/mqueue directory has a mode of
+   drwx------. Type chmod 755 /var/spool/mqueue as root to fix this
+   problem. This will allow any process running on your machine the
+   ability to read the /var/spool/mqueue directory.
+     _________________________________________________________________
+
+B.7. Your vendor has not defined Fcntl macro O_NOINHERIT
+
+   This is caused by a bug in the version of File::Temp that is
+   distributed with perl 5.6.0. Many minor variations of this error have
+   been reported:
+Your vendor has not defined Fcntl macro O_NOINHERIT, used
+at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 208.
+
+Your vendor has not defined Fcntl macro O_EXLOCK, used
+at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 210.
+
+Your vendor has not defined Fcntl macro O_TEMPORARY, used
+at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233.
+
+   Numerous people have reported that upgrading to version 5.6.1 or
+   higher solved the problem for them. A less involved fix is to apply
+   the following patch, which is also available as a patch file.
+--- File/Temp.pm.orig   Thu Feb  6 16:26:00 2003
++++ File/Temp.pm        Thu Feb  6 16:26:23 2003
+@@ -205,6 +205,7 @@
+     # eg CGI::Carp
+     local $SIG{__DIE__} = sub {};
+     local $SIG{__WARN__} = sub {};
++    local *CORE::GLOBAL::die = sub {};
+     $bit = &$func();
+     1;
+   };
+@@ -226,6 +227,7 @@
+     # eg CGI::Carp
+     local $SIG{__DIE__} = sub {};
+     local $SIG{__WARN__} = sub {};
++    local *CORE::GLOBAL::die = sub {};
+     $bit = &$func();
+     1;
+   };
+     _________________________________________________________________
+
+B.8. Everybody is constantly being forced to relogin
+
+   The most-likely cause is that the "cookiepath" parameter is not set
+   correctly in the Bugzilla configuration. You can change this (if
+   you're a Bugzilla administrator) from the editparams.cgi page via the
+   web.
+
+   The value of the cookiepath parameter should be the actual directory
+   containing your Bugzilla installation, as seen by the end-user's web
+   browser. Leading and trailing slashes are mandatory. You can also set
+   the cookiepath to any directory which is a parent of the Bugzilla
+   directory (such as '/', the root directory). But you can't put
+   something that isn't at least a partial match or it won't work. What
+   you're actually doing is restricting the end-user's browser to sending
+   the cookies back only to that directory.
+
+   How do you know if you want your specific Bugzilla directory or the
+   whole site?
+
+   If you have only one Bugzilla running on the server, and you don't
+   mind having other applications on the same server with it being able
+   to see the cookies (you might be doing this on purpose if you have
+   other things on your site that share authentication with Bugzilla),
+   then you'll want to have the cookiepath set to "/", or to a
+   sufficiently-high enough directory that all of the involved apps can
+   see the cookies.
+
+   Example B-1. Examples of urlbase/cookiepath pairs for sharing login
+   cookies
+
+             urlbase is http://bugzilla.mozilla.org/
+             cookiepath is /
+             urlbase is http://tools.mysite.tld/bugzilla/
+                     but you have http://tools.mysite.tld/someotherapp/
+     which shares
+                     authentication with your Bugzilla
+             cookiepath is /
+
+   On the other hand, if you have more than one Bugzilla running on the
+   server (some people do - we do on landfill) then you need to have the
+   cookiepath restricted enough so that the different Bugzillas don't
+   confuse their cookies with one another.
+
+   Example B-2. Examples of urlbase/cookiepath pairs to restrict the
+   login cookie
+
+             urlbase is http://landfill.bugzilla.org/bugzilla-tip/
+             cookiepath is /bugzilla-tip/
+             urlbase is http://landfill.bugzilla.org/bugzilla-2.16-branc
+     h/
+             cookiepath is /bugzilla-2.16-branch/
+
+   If you had cookiepath set to "/" at any point in the past and need to
+   set it to something more restrictive (i.e. "/bugzilla/"), you can
+   safely do this without requiring users to delete their
+   Bugzilla-related cookies in their browser (this is true starting with
+   Bugzilla 2.18 and Bugzilla 2.16.5).
+     _________________________________________________________________
+
+B.9. Some users are constantly being forced to relogin
+
+   First, make sure cookies are enabled in the user's browser.
+
+   If that doesn't fix the problem, it may be that the user's ISP
+   implements a rotating proxy server. This causes the user's effective
+   IP address (the address which the Bugzilla server perceives him coming
+   from) to change periodically. Since Bugzilla cookies are tied to a
+   specific IP address, each time the effective address changes, the user
+   will have to log in again.
+
+   If you are using 2.18, there is a parameter called "loginnetmask",
+   which you can use to set the number of bits of the user's IP address
+   to require to be matched when authenticating the cookies. If you set
+   this to something less than 32, then the user will be given a checkbox
+   for "Restrict this login to my IP address" on the login screen, which
+   defaults to checked. If they leave the box checked, Bugzilla will
+   behave the same as it did before, requiring an exact match on their IP
+   address to remain logged in. If they uncheck the box, then only the
+   left side of their IP address (up to the number of bits you specified
+   in the parameter) has to match to remain logged in.
+     _________________________________________________________________
+
+B.10. index.cgi doesn't show up unless specified in the URL
+
+   You probably need to set up your web server in such a way that it will
+   serve the index.cgi page as an index page.
+
+   If you are using Apache, you can do this by adding index.cgi to the
+   end of the DirectoryIndex line as mentioned in Section 2.2.4.1.
+     _________________________________________________________________
+
+Appendix C. Contrib
 
    There are a number of unofficial Bugzilla add-ons in the
    $BUGZILLA_ROOT/contrib/ directory. This section documents them.
      _________________________________________________________________
 
-B.1. Command-line Search Interface
+C.1. Command-line Search Interface
 
    There are a suite of Unix utilities for searching Bugzilla from the
-   command line. They live in the contrib/cmdline directory. However,
-   they have not yet been updated to work with 2.16
-   (post-templatisation.). There are three files - query.conf, buglist
-   and bugs.
+   command line. They live in the contrib/cmdline directory. There are
+   three files - query.conf, buglist and bugs.
+
+   Warning
+
+   These files pre-date the templatisation work done as part of the 2.16
+   release, and have not been updated.
 
    query.conf contains the mapping from options to field names and
    comparison types. Quoted option names are "grepped" for, so it should
    be easy to edit this file. Comments (#) have no effect; you must make
    sure these lines do not contain any quoted "option".
 
-   buglist is a shell script which submits a Bugzilla query and writes
-   the resulting HTML page to stdout. It supports both short options,
-   (such as "-Afoo" or "-Rbar") and long options (such as
-   "--assignedto=foo" or "--reporter=bar"). If the first character of an
-   option is not "-", it is treated as if it were prefixed with
-   "--default=".
+   buglist is a shell script that submits a Bugzilla query and writes the
+   resulting HTML page to stdout. It supports both short options, (such
+   as "-Afoo" or "-Rbar") and long options (such as "--assignedto=foo" or
+   "--reporter=bar"). If the first character of an option is not "-", it
+   is treated as if it were prefixed with "--default=".
 
    The column list is taken from the COLUMNLIST environment variable.
-   This is equivalent to the "Change Columns" option when you list bugs
-   in buglist.cgi. If you have already used Bugzilla, grep for COLUMNLIST
-   in your cookies file to see your current COLUMNLIST setting.
+   This is equivalent to the "Change Columns" option that is available
+   when you list bugs in buglist.cgi. If you have already used Bugzilla,
+   grep for COLUMNLIST in your cookies file to see your current
+   COLUMNLIST setting.
 
    bugs is a simple shell script which calls buglist and extracts the bug
    numbers from the output. Adding the prefix
@@ -3798,9 +5454,34 @@ B.1. Command-line Search Interface
    w3m -T text/html -dump
      _________________________________________________________________
 
-Appendix C. Manual Installation of Perl Modules
+C.2. Command-line 'Send Unsent Bug-mail' tool
+
+   Within the contrib directory exists a utility with the descriptive (if
+   compact) name of sendunsentbugmail.pl. The purpose of this script is,
+   simply, to send out any bug-related mail that should have been sent by
+   now, but for one reason or another has not.
+
+   To accomplish this task, sendunsentbugmail.pl uses the same mechanism
+   as the sanitycheck.cgi script; it it scans through the entire database
+   looking for bugs with changes that were made more than 30 minutes ago,
+   but where there is no record of anyone related to that bug having been
+   sent mail. Having compiled a list, it then uses the standard rules to
+   determine who gets mail, and sends it out.
+
+   As the script runs, it indicates the bug for which it is currently
+   sending mail; when it has finished, it gives a numerical count of how
+   many mails were sent and how many people were excluded. (Individual
+   user names are not recorded or displayed.) If the script produces no
+   output, that means no unsent mail was detected.
+
+   Usage: move the sendunsentbugmail.pl script up into the main
+   directory, ensure it has execute permission, and run it from the
+   command line (or from a cron job) with no parameters.
+     _________________________________________________________________
+
+Appendix D. Manual Installation of Perl Modules
 
-C.1. Instructions
+D.1. Instructions
 
    If you need to install Perl modules manually, here's how it's done.
    Download the module using the link given in the next section, and then
@@ -3812,110 +5493,148 @@ bash# perl Makefile.PL
 bash# make
 bash# make test
 bash# make install
+
+   Note
+
+   In order to compile source code under Windows you will need to obtain
+   a 'make' utility. The nmake utility provided with Microsoft Visual C++
+   may be used. As an alternative, there is a utility called dmake
+   available from CPAN which is written entirely in Perl. The majority of
+   the links given below, however, are to pre-compiled versions of the
+   modules, which can be installed on Windows simply by issuing the
+   following command once you have downloaded the PPD file (which may be
+   packaged within a ZIP file):
+
+          > ppm install <filename.ppd>
      _________________________________________________________________
 
-C.2. Download Locations
+D.2. Download Locations
 
-   Note: some modules are in the core distribution of ActiveState Perl
-   for Windows. Others are not available. No PPM links have been provided
-   in either of these two cases.
+   Note
+
+   Running Bugzilla on Windows requires the use of ActiveState Perl 5.8.1
+   or higher. Some modules already exist in the core distribution of
+   ActiveState Perl so no PPM link is given. (This is noted where it
+   occurs.)
+
+   AppConfig:
+
+           CPAN Download Page: http://search.cpan.org/src/ABW/AppConfig-1
+   .56/lib/AppConfig.pm
+           PPM Download Link: http://landfill.bugzilla.org/ppm/AppConfig.
+   ppd
+           Documentation: http://search.cpan.org/~abw/AppConfig-1.56/lib/
+   AppConfig.pm
 
    CGI:
 
            CPAN Download Page: http://search.cpan.org/dist/CGI.pm/
-           PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
-   /6xx-builds-only/CGI.zip
+           PPM Download Link: Part of core distribution.
            Documentation: http://www.perldoc.com/perl5.8.0/lib/CGI.html
 
-   TimeDate:
+   Data-Dumper:
+
+           CPAN Download Page: http://search.cpan.org/src/ILYAM/Data-Dump
+   er-2.121/Dumper.pm
+           PPM Download Page: Part of core distribution.
+           Documentation: http://search.cpan.org/~ilyam/Data-Dumper-2.121
+   /Dumper.pm
+
+   Date::Format (part of TimeDate):
 
            CPAN Download Page: http://search.cpan.org/dist/TimeDate/
-           PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
-   /6xx-builds-only/TimeDate.zip
+           PPM Download Link: http://landfill.bugzilla.org/ppm/TimeDate.p
+   pd
            Documentation: http://search.cpan.org/dist/TimeDate/lib/Date/F
    ormat.pm
 
    DBI:
 
            CPAN Download Page: http://search.cpan.org/dist/DBI/
-           PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
-   /6xx-builds-only/DBI.zip
+           PPM Download Link: http://landfill.bugzilla.org/ppm/DBI.ppd
            Documentation: http://dbi.perl.org/docs/
 
    DBD::mysql:
 
            CPAN Download Page: http://search.cpan.org/dist/DBD-mysql/
-           PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
-   /6xx-builds-only/DBD-Mysql.zip
+           PPM Download Link: http://landfill.bugzilla.org/ppm/DBD-mysql.
+   ppd
            Documentation: http://search.cpan.org/dist/DBD-mysql/lib/DBD/m
    ysql.pm
 
    File::Spec:
 
            CPAN Download Page: http://search.cpan.org/dist/File-Spec/
-           PPM Download Page: http://ppm.activestate.com/PPMPackages/zips
-   /6xx-builds-only/File-Spec.zip
+           PPM Download Page: Part of core distribution.
            Documentation: http://www.perldoc.com/perl5.8.0/lib/File/Spec.
    html
 
    File::Temp:
 
            CPAN Download Page: http://search.cpan.org/dist/File-Temp/
+           PPM Download Page: Part of core distribution.
            Documentation: http://www.perldoc.com/perl5.8.0/lib/File/Temp.
    html
 
-   Template Toolkit:
+   Template-Toolkit:
 
            CPAN Download Page: http://search.cpan.org/dist/Template-Toolk
    it/
-           PPM Download Link: http://openinteract.sourceforge.net/ppmpack
-   ages/5.6/Template-Toolkit.tar.gz
+           PPM Download Link: http://landfill.bugzilla.org/ppm/Template-T
+   oolkit.ppd
            Documentation: http://www.template-toolkit.org/docs.html
 
    Text::Wrap:
 
            CPAN Download Page: http://search.cpan.org/dist/Text-Tabs+Wrap
    /
+           PPM Download Link: Part of core distribution.
            Documentation: http://www.perldoc.com/perl5.8.0/lib/Text/Wrap.
    html
 
    GD:
 
            CPAN Download Page: http://search.cpan.org/dist/GD/
-           PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
-   /6xx-builds-only/GD.zip
+           PPM Download Link: http://landfill.bugzilla.org/ppm/GD.ppd
            Documentation: http://stein.cshl.org/WWW/software/GD/
+     _________________________________________________________________
+
+D.3. Optional Modules
 
    Chart::Base:
 
            CPAN Download Page: http://search.cpan.org/dist/Chart/
+           PPM Download Page: http://landfill.bugzilla.org/ppm/Chart.ppd
+           Documentation: http://search.cpan.org/src/CHARTGRP/Chart-2.3/d
+   oc/Documentation.pdf
 
    GD::Graph:
 
            CPAN Download Page: http://search.cpan.org/dist/GDGraph/
-           PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
-   /6xx-builds-only/GDGraph.zip
+           PPM Download Link: http://landfill.bugzilla.org/ppm/GDGraph.pp
+   d
            Documentation: http://search.cpan.org/dist/GDGraph/Graph.pm
 
-   GD::Text::Align:
+   GD::Text::Align (part of GD::Text::Util):
 
            CPAN Download Page: http://search.cpan.org/dist/GDTextUtil/
-           PPM Download Page: http://ppm.activestate.com/PPMPackages/zips
-   /6xx-builds-only/GDTextUtil.zip
+           PPM Download Page: http://landfill.bugzilla.org/ppm/GDTextUtil
+   .ppd
            Documentation: http://search.cpan.org/dist/GDTextUtil/Text/Ali
    gn.pm
 
-   MIME::Parser:
+   MIME::Parser (part of MIME-tools):
 
            CPAN Download Page: http://search.cpan.org/dist/MIME-tools/
            PPM Download Link: http://ppm.activestate.com/PPMPackages/zips
-   /6xx-builds-only/MIME-tools.zip
+   /8xx-builds-only/Windows/MIME-tools-5.411a.zip
            Documentation: http://search.cpan.org/dist/MIME-tools/lib/MIME
    /Parser.pm
 
    XML::Parser:
 
            CPAN Download Page: http://search.cpan.org/dist/XML-Parser/
+           PPM Download Link: Part of core distribution.
            Documentation: http://www.perldoc.com/perl5.6.1/lib/XML/Parser
    .html
 
@@ -3923,11 +5642,13 @@ C.2. Download Locations
 
            CPAN Download Page: http://search.cpan.org/author/JKEISER/Patc
    hReader/
+           PPM Download Link: http://landfill.bugzilla.org/ppm/PatchReade
+   r.ppd
            Documentation: http://www.johnkeiser.com/mozilla/Patch_Viewer.
    html
      _________________________________________________________________
 
-Appendix D. GNU Free Documentation License
+Appendix E. GNU Free Documentation License
 
    Version 1.1, March 2000
 
@@ -4394,6 +6115,16 @@ D
           mysqld, the MySQL server, and apache, a web server, are
           generally run as daemons.
 
+   DOS Attack
+          A DOS, or Denial of Service attack, is when a user attempts to
+          deny access to a web server by repeatadly accessing a page or
+          sending malformed requests to a webserver. This can be
+          effectively prevented by using mod_throttle as described in
+          Section 4.3.2. A D-DOS, or Distributed Denial of Service
+          attack, is when these requests come from multiple sources at
+          the same time. Unfortunately, these are much more difficult to
+          defend against.
+
 G
 
    Groups
@@ -4430,7 +6161,7 @@ M
 
         Privilege System
                 Much more detailed information about the suggestions in
-                Section 2.2.2.1.
+                Section 4.2.
 
 P
 
@@ -4474,6 +6205,13 @@ R
 
 S
 
+   Service
+          In Windows NT environment, a boot-time background application
+          is refered to as a service. These are generally managed through
+          the control pannel while logged in as an account with
+          "Administrator" level capabilities. For more information,
+          consult your Windows manual or the MSKB.
+
    SGML 
           SGML stands for "Standard Generalized Markup Language". Created
           in the 1980's to provide an extensible means to maintain
diff --git a/docs/xml/Bugzilla-Guide.xml b/docs/xml/Bugzilla-Guide.xml
index 07719e124c0402d79f6e9a147f69fd7a7a71b2da..b8d3ff1453bd82137bd12bd5e01992f761620739 100644
--- a/docs/xml/Bugzilla-Guide.xml
+++ b/docs/xml/Bugzilla-Guide.xml
@@ -1,4 +1,4 @@
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" [
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
 
 <!-- Include macros -->
 <!ENTITY about SYSTEM "about.xml">
@@ -9,10 +9,12 @@
 <!ENTITY glossary SYSTEM "glossary.xml">
 <!ENTITY installation SYSTEM "installation.xml">
 <!ENTITY administration SYSTEM "administration.xml">
+<!ENTITY security SYSTEM "security.xml">
 <!ENTITY using SYSTEM "using.xml">
 <!ENTITY integration SYSTEM "integration.xml">
 <!ENTITY index SYSTEM "index.xml">
 <!ENTITY customization SYSTEM "customization.xml">
+<!ENTITY troubleshooting SYSTEM "troubleshooting.xml">
 <!ENTITY patches SYSTEM "patches.xml">
 <!ENTITY introduction SYSTEM "introduction.xml">
 <!ENTITY modules SYSTEM "modules.xml">
@@ -21,28 +23,23 @@
      * bz-ver to current stable
      * bz-nexver to next stable
      * bz-date to the release date
-     * bz-devel to "IGNORE"
-     - COMPILE DOCS AND CHECKIN -
-       Also, tag and tarball before completing
-     * bz-ver to devel version
-     * bz-devel to "INCLUDE"
- 
-     For a devel release, simple bump bz-ver and bz-date
 -->
 
-<!ENTITY bz-ver "2.17.7">
-<!ENTITY bz-nextver "2.18">
-<!ENTITY bz-date "2004-02-05">
-<!ENTITY % bz-devel "INCLUDE">
+<!ENTITY bz-ver "2.18">
+<!ENTITY bz-nextver "2.18.1">
+<!ENTITY bz-date "2005-01-14">
+<!ENTITY current-year "2005">
 
+<!ENTITY landfillbase "http://landfill.bugzilla.org/bugzilla-2.18-branch/">
 <!ENTITY bz "http://www.bugzilla.org/">
 <!ENTITY bzg-bugs "<ulink url='http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla&amp;component=Documentation'>Bugzilla Documentation</ulink>">
 <!ENTITY mysql "http://www.mysql.com/">
-<!ENTITY newest-perl-ver "5.8.2">
+<!ENTITY newest-perl-ver "5.8.3">
 
 <!-- For minimum versions -->
 <!ENTITY min-mysql-ver "3.23.41">
 <!ENTITY min-perl-ver "5.6.0">
+<!ENTITY min-perl-ver-win "5.8.1">
 <!ENTITY min-template-ver "2.08">
 <!ENTITY min-file-temp-ver "any">
 <!ENTITY min-appconfig-ver "1.52">
@@ -50,17 +47,17 @@
 <!ENTITY min-file-spec-ver "0.82">
 <!ENTITY min-data-dumper-ver "any">
 <!ENTITY min-dbd-mysql-ver "2.1010">
-<!ENTITY min-dbi-ver "1.32">
+<!ENTITY min-dbi-ver "1.36">
 <!ENTITY min-date-format-ver "2.21">
 <!ENTITY min-cgi-ver "2.93">
 <!-- Optional modules -->
 <!ENTITY min-gd-ver "1.20">
 <!ENTITY min-gd-graph-ver "any">
 <!ENTITY min-gd-text-align-ver "any">
-<!ENTITY min-chart-base-ver "0.99c">
+<!ENTITY min-chart-base-ver "1.0">
 <!ENTITY min-xml-parser-ver "any">
 <!ENTITY min-mime-parser-ver "any">
-<!ENTITY min-patchreader-ver "0.9.1">
+<!ENTITY min-patchreader-ver "0.9.4">
 
 ]>
 
@@ -92,8 +89,7 @@
 <!-- Header -->
 
   <bookinfo>
-    <title>The Bugzilla Guide - &bz-ver; 
-    <![%bz-devel;[Development ]]>Release</title>
+    <title>The Bugzilla Guide - &bz-ver; Release</title>
 
     <authorgroup>
       <corpauthor>The Bugzilla Team</corpauthor>
@@ -140,6 +136,9 @@
 <!-- Administering Bugzilla -->
 &administration;
 
+<!-- Securing Bugzilla -->
+&security;
+
 <!-- Customizing Bugzilla -->
 &customization;
 
@@ -149,6 +148,9 @@
 <!-- Appendix: The Frequently Asked Questions -->
 &faq;
 
+<!-- Appendix: Troubleshooting -->
+&troubleshooting;
+
 <!-- Appendix: Custom Patches -->
 &patches;
 
diff --git a/docs/xml/CVS/Entries b/docs/xml/CVS/Entries
index 9cdfd96f663e92a6bef88ad2ba7fc6c4d64faea0..9fd8329b9dce3dafc526f53943b32d69ea4eb4ec 100644
--- a/docs/xml/CVS/Entries
+++ b/docs/xml/CVS/Entries
@@ -1,19 +1,21 @@
-/Bugzilla-Guide.xml/1.34/Thu Feb  5 05:13:24 2004//TBUGZILLA-2_17_7
-/about.xml/1.16/Sat Jan 24 18:31:00 2004//TBUGZILLA-2_17_7
-/administration.xml/1.32/Thu Jan 15 22:34:32 2004//TBUGZILLA-2_17_7
-/conventions.xml/1.9/Thu Jan 15 23:54:39 2004//TBUGZILLA-2_17_7
-/customization.xml/1.7/Sun Feb  8 08:25:38 2004//TBUGZILLA-2_17_7
-/dbschema.mysql/1.2/Wed May  8 23:19:09 2002//TBUGZILLA-2_17_7
-/faq.xml/1.24/Sat Jan 24 18:31:00 2004//TBUGZILLA-2_17_7
-/filetemp.patch/1.1/Wed Apr  2 00:40:56 2003//TBUGZILLA-2_17_7
-/gfdl.xml/1.9/Sat Jan 24 18:31:00 2004//TBUGZILLA-2_17_7
-/glossary.xml/1.15/Wed Jul  2 18:58:36 2003//TBUGZILLA-2_17_7
-/index.xml/1.4/Wed Apr 23 02:04:25 2003//TBUGZILLA-2_17_7
-/installation.xml/1.62/Thu Feb  5 01:30:47 2004//TBUGZILLA-2_17_7
-/integration.xml/1.12/Thu Jan 15 22:34:35 2004//TBUGZILLA-2_17_7
-/introduction.xml/1.5/Thu Jan 15 23:54:39 2004//TBUGZILLA-2_17_7
-/modules.xml/1.1/Sat Jan 24 18:31:00 2004//TBUGZILLA-2_17_7
-/patches.xml/1.17/Thu Jan 15 22:34:35 2004//TBUGZILLA-2_17_7
-/requiredsoftware.xml/1.6/Mon May 12 19:31:48 2003//TBUGZILLA-2_17_7
-/using.xml/1.18/Mon Feb  2 23:09:05 2004//TBUGZILLA-2_17_7
+/Bugzilla-Guide.xml/1.37.2.9/Sat Jan 15 04:43:12 2005//TBUGZILLA-2_18
+/about.xml/1.16.2.3/Tue Dec 21 20:43:12 2004//TBUGZILLA-2_18
+/administration.xml/1.34.2.8/Sat Dec 11 11:29:47 2004//TBUGZILLA-2_18
+/conventions.xml/1.9/Thu Jan 15 23:54:39 2004//TBUGZILLA-2_18
+/customization.xml/1.12.2.6/Tue Dec 28 21:51:59 2004//TBUGZILLA-2_18
+/dbschema.mysql/1.2/Wed May  8 23:19:09 2002//TBUGZILLA-2_18
+/faq.xml/1.27.2.4/Sat Jan 15 11:39:48 2005//TBUGZILLA-2_18
+/filetemp.patch/1.1/Wed Apr  2 00:40:56 2003//TBUGZILLA-2_18
+/gfdl.xml/1.9/Sat Jan 24 18:31:00 2004//TBUGZILLA-2_18
+/glossary.xml/1.15.2.1/Fri Dec  3 23:19:25 2004//TBUGZILLA-2_18
+/index.xml/1.4/Wed Apr 23 02:04:25 2003//TBUGZILLA-2_18
+/installation.xml/1.72.2.17/Mon Jan 10 07:31:03 2005//TBUGZILLA-2_18
+/integration.xml/1.12.2.1/Sat Sep  4 09:26:59 2004//TBUGZILLA-2_18
+/introduction.xml/1.5/Thu Jan 15 23:54:39 2004//TBUGZILLA-2_18
+/modules.xml/1.1.2.2/Mon Jan 10 07:13:52 2005//TBUGZILLA-2_18
+/patches.xml/1.17.2.4/Thu Nov 25 09:27:25 2004//TBUGZILLA-2_18
+/requiredsoftware.xml/1.6/Mon May 12 19:31:48 2003//TBUGZILLA-2_18
+/security.xml/1.2.2.1/Fri Dec  3 23:19:25 2004//TBUGZILLA-2_18
+/troubleshooting.xml/1.2.2.3/Tue Dec 21 20:55:52 2004//TBUGZILLA-2_18
+/using.xml/1.21.2.4/Mon Dec 20 10:25:41 2004//TBUGZILLA-2_18
 D
diff --git a/docs/xml/CVS/Tag b/docs/xml/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/docs/xml/CVS/Tag
+++ b/docs/xml/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/docs/xml/about.xml b/docs/xml/about.xml
index b594ce163a14cea84e3a389635b7b9fba47f03cc..0dbd535cff0fbf2e4078b53ccee277d4711fbc84 100644
--- a/docs/xml/about.xml
+++ b/docs/xml/about.xml
@@ -1,5 +1,6 @@
 <!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
 <!ENTITY conventions SYSTEM "conventions.xml"> ] > -->
+<!-- $Id: about.xml,v 1.16.2.3 2004/12/21 20:43:12 jake%bugzilla.org Exp $ -->
 
 <chapter id="about">
 <title>About This Guide</title>
@@ -7,7 +8,7 @@
   <section id="copyright">
     <title>Copyright Information</title>
 
-    <para>This document is copyright (c) 2000-2004 by the various
+    <para>This document is copyright (c) 2000-&current-year; by the various
     Bugzilla contributors who wrote it.</para>
     
     <blockquote>
@@ -64,10 +65,6 @@
     <para>
       This is the &bz-ver; version of The Bugzilla Guide. It is so named 
       to match the current version of Bugzilla. 
-      <![%bz-devel;[
-        This version of the guide, like its associated Bugzilla version, is a
-        development version. 
-      ]]>
     </para>
     <para>
       The latest version of this guide can always be found at <ulink
@@ -114,23 +111,89 @@
       contribution to the Bugzilla community:
     </para>
 
+    <!-- TODO: This is evil... there has to be a valid way to get this look -->
+    <variablelist>
+      <varlistentry>
+        <term>Matthew P. Barnson <email>mbarnson@sisna.com</email></term>
+        <listitem>
+          <para>for the Herculaean task of pulling together the Bugzilla Guide
+          and shepherding it to 2.14.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>Terry Weissman <email>terry@mozilla.org</email></term>
+        <listitem>
+          <para>for initially writing Bugzilla and creating the README upon
+          which the UNIX installation documentation is largely based.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>Tara Hernandez <email>tara@tequilarists.org</email></term>
+        <listitem>
+          <para>for keeping Bugzilla development going strong after Terry left
+          mozilla.org and for running landfill.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>Dave Lawrence <email>dkl@redhat.com</email></term>
+        <listitem>
+          <para>for providing insight into the key differences between Red
+          Hat's customized Bugzilla.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>Dawn Endico <email>endico@mozilla.org</email></term>
+        <listitem>
+          <para>for being a hacker extraordinaire and putting up with Matthew's
+          incessant questions and arguments on irc.mozilla.org in #mozwebtools
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>Jacob Steenhagen <email>jake@bugzilla.org</email></term>
+        <listitem>
+          <para>for taking over documentation during the 2.17 development
+          period.
+          </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+	<term>Dave Miller <email>justdave@bugzilla.org</email></term>
+	<listitem>
+          <para>for taking over as project lead when Tara stepped down and
+	  continually pushing for the documentation to be the best it can be.
+          </para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+
     <para>
+      Thanks also go to the following people for significant contributions 
+      to this documentation:
       <simplelist type="inline">
-        <member>Matthew P. Barnson</member>
         <member>Kevin Brannen</member>
-        <member>Dawn Endico</member>
+        <member>Vlad Dascalu</member>
         <member>Ben FrantzDale</member>
         <member>Eric Hanson</member>
-        <member>Tara Hernandez</member>
-        <member>Dave Lawrence</member>
         <member>Zach Lipton</member>
         <member>Gervase Markham</member>
         <member>Andrew Pearson</member>
         <member>Joe Robins</member>
         <member>Spencer Smith</member>
-        <member>Jacob Steenhagen</member>
         <member>Ron Teitelbaum</member>
-        <member>Terry Weissman</member>
+        <member>Shane Travis</member>
         <member>Martin Wulffeld</member>
       </simplelist>.
     </para>
@@ -167,3 +230,4 @@ sgml-parent-document:("Bugzilla-Guide.xml" "book" "chapter")
 sgml-shorttag:t 
 sgml-tag-region-if-active:t 
 End: -->
+
diff --git a/docs/xml/administration.xml b/docs/xml/administration.xml
index b261f4ee2ffd2856e33cd15575e52b12e59f3d23..67f818e1f58b2b1a98ff54a94ab1da7c4e3958c7 100644
--- a/docs/xml/administration.xml
+++ b/docs/xml/administration.xml
@@ -5,10 +5,12 @@
   <section id="parameters">
     <title>Bugzilla Configuration</title>
 
-    <para>Bugzilla is configured by changing various parameters, accessed
-    from the "Edit parameters" link in the page footer. Here are
-    some of the key parameters on that page. You should run down this
-    list and set them appropriately after installing Bugzilla.</para>
+    <para>
+      Bugzilla is configured by changing various parameters, accessed
+      from the "Edit parameters" link in the page footer. Here are
+      some of the key parameters on that page. You should run down this
+      list and set them appropriately after installing Bugzilla.
+    </para>
 
     <indexterm>
       <primary>checklist</primary>
@@ -17,188 +19,240 @@
     <procedure>
       <step>
         <para> 
-        <command>maintainer</command>:
-        The maintainer parameter is the email address of the person 
-        responsible for maintaining this
-        Bugzilla installation. The address need not be that of a valid Bugzilla
-        account.</para>
+          <command>maintainer</command>:
+
+          The maintainer parameter is the email address of the person 
+          responsible for maintaining this Bugzilla installation.
+          The address need not be that of a valid Bugzilla account.
+        </para>
       </step>
 
       <step>
         <para>
-        <command>urlbase</command>:
-        This parameter defines the fully qualified domain name and web 
-        server path to your Bugzilla installation.</para>
-
-        <para>For example, if your Bugzilla query page is
-        <filename>http://www.foo.com/bugzilla/query.cgi</filename>, 
-        set your <quote>urlbase</quote>
-        to <filename>http://www.foo.com/bugzilla/</filename>.</para>
+          <command>urlbase</command>:
+
+          This parameter defines the fully qualified domain name and web 
+          server path to your Bugzilla installation.
+        </para>
+
+        <para>
+          For example, if your Bugzilla query page is
+          <filename>http://www.foo.com/bugzilla/query.cgi</filename>, 
+          set your <quote>urlbase</quote>
+          to <filename>http://www.foo.com/bugzilla/</filename>.
+        </para>
       </step>
 
       <step>
         <para>
-        <command>makeproductgroups</command>:
-        This dictates whether or not to automatically create groups
-        when new products are created.
+          <command>makeproductgroups</command>:
+
+          This dictates whether or not to automatically create groups
+          when new products are created.
         </para>
       </step>
 
       <step>
         <para>
-        <command>useentrygroupdefault</command>:
-        Bugzilla products can have a group associated with them, so that
-        certain users can only see bugs in certain products. When this 
-        parameter is set to <quote>on</quote>, this 
-        causes the initial group controls on newly created products 
-        to place all newly-created bugs in the group 
-        having the same name as the product immediately.
-        After a product is initially created, the group controls
-        can be further adjusted without interference by 
-        this mechanism.</para>
+          <command>useentrygroupdefault</command>:
+
+          Bugzilla products can have a group associated with them, so that
+          certain users can only see bugs in certain products. When this 
+          parameter is set to <quote>on</quote>, this 
+          causes the initial group controls on newly created products 
+          to place all newly-created bugs in the group 
+          having the same name as the product immediately.
+          After a product is initially created, the group controls
+          can be further adjusted without interference by 
+          this mechanism.
+        </para>
       </step>
 
       <step>
         <para>
-        <command>shadowdb</command>:
-        You run into an interesting problem when Bugzilla reaches a
-        high level of continuous activity. MySQL supports only table-level
-        write locking. What this means is that if someone needs to make a
-        change to a bug, they will lock the entire table until the operation
-        is complete. Locking for write also blocks reads until the write is
-        complete. Note that more recent versions of mysql support row level
-        locking using different table types. These types are slower than the
-        standard type, and Bugzilla does not yet take advantage of features
-        such as transactions which would justify this speed decrease. The
-        Bugzilla team are, however, happy to hear about any experiences with
-        row level locking and Bugzilla.</para>
-
-        <para>The <quote>shadowdb</quote>
-        parameter was designed to get around this limitation. While only a
-        single user is allowed to write to a table at a time, reads can
-        continue unimpeded on a read-only shadow copy of the database.
-        Although your database size will double, a shadow database can cause
-        an enormous performance improvement when implemented on extremely
-        high-traffic Bugzilla databases.</para>
+          <command>shadowdb</command>:
+
+          You run into an interesting problem when Bugzilla reaches a
+          high level of continuous activity. MySQL supports only table-level
+          write locking. What this means is that if someone needs to make a
+          change to a bug, they will lock the entire table until the operation
+          is complete. Locking for write also blocks reads until the write is
+          complete. Note that more recent versions of mysql support row level
+          locking using different table types. These types are slower than the
+          standard type, and Bugzilla does not yet take advantage of features
+          such as transactions which would justify this speed decrease. The
+          Bugzilla team are, however, happy to hear about any experiences with
+          row level locking and Bugzilla.
+        </para>
+
+        <para>
+          The <quote>shadowdb</quote> parameter was designed to get around
+          this limitation. While only a single user is allowed to write to
+          a table at a time, reads can continue unimpeded on a read-only
+          shadow copy of the database. Although your database size will
+          double, a shadow database can cause an enormous performance
+          improvement when implemented on extremely high-traffic Bugzilla
+          databases.
+        </para>
         
         <para>
-        As a guide, on reasonably old hardware, mozilla.org began needing 
-        <quote>shadowdb</quote>
-        when they reached around 40,000 Bugzilla users with several hundred
-        Bugzilla bug changes and comments per day.</para>
-
-        <para>The value of the parameter defines the name of the 
-        shadow bug database. You will need to set the host and port settings
-        from the params page, and set up replication in your database server
-        so that updates reach this readonly mirror. Consult your database
-        documentation for more detail.</para>
+          As a guide, on reasonably old hardware, mozilla.org began needing 
+          <quote>shadowdb</quote> when they reached around 40,000 Bugzilla
+          users with several hundred Bugzilla bug changes and comments per day.
+        </para>
+
+        <para>
+          The value of the parameter defines the name of the shadow bug
+          database. You will need to set the host and port settings from
+          the params page, and set up replication in your database server
+          so that updates reach this readonly mirror. Consult your database
+          documentation for more detail.
+        </para>
       </step>
 
       <step>
         <para>
-        <command>shutdownhtml</command>:
+          <command>shutdownhtml</command>:
 
-        If you need to shut down Bugzilla to perform administration, enter
-        some descriptive HTML here and anyone who tries to use Bugzilla will
-        receive a page to that effect. Obviously, editparams.cgi will
-        still be accessible so you can remove the HTML and re-enable Bugzilla.
-        :-)
+          If you need to shut down Bugzilla to perform administration, enter
+          some descriptive text (with embedded HTML codes, if you'd like)
+          into this box. Anyone who tries to use Bugzilla (including admins)
+          will receive a page displaying this text. Users can neither log in
+          nor log out while shutdownhtml is enabled.
         </para>
+
+        <note>
+          <para>
+            Although regular log-in capability is disabled while 'shutdownhtml'
+            is enabled, safeguards are in place to protect the unfortunate 
+            admin who loses connection to Bugzilla. Should this happen to you,
+            go directly to the <filename>editparams.cgi</filename> (by typing
+            the URL in manually, if necessary). Doing this will prompt you to
+            log in, and your name/password will be accepted here (but nowhere
+            else). 
+          </para>
+        </note>
       </step>
 
       <step>
         <para>
-        <command>passwordmail</command>:
+          <command>passwordmail</command>:
 
-        Every time a user creates an account, the text of
-        this parameter (with substitutions) is sent to the new user along with
-        their password message.</para>
+          Every time a user creates an account, the text of this parameter
+          (with substitutions) is sent to the new user along with their
+          password message.
+        </para>
 
-        <para>Add any text you wish to the "passwordmail" parameter box. For
-        instance, many people choose to use this box to give a quick training
-        blurb about how to use Bugzilla at your site.</para>
+        <para>
+          Add any text you wish to the "passwordmail" parameter box. For
+          instance, many people choose to use this box to give a quick 
+          training blurb about how to use Bugzilla at your site.
+        </para>
       </step>
 
 
       <step>
         <para>
-	<command>movebugs</command>:
-
-	This option is an undocumented feature to allow moving bugs
-	between separate Bugzilla installations.  You will need to understand
-	the source code in order to use this feature.  Please consult
-	<filename>movebugs.pl</filename> in your Bugzilla source tree for
-	further documentation, such as it is.
-	</para>
+          <command>movebugs</command>:
+
+          This option is an undocumented feature to allow moving bugs
+          between separate Bugzilla installations.  You will need to understand
+          the source code in order to use this feature.  Please consult
+          <filename>movebugs.pl</filename> in your Bugzilla source tree for
+          further documentation, such as it is.
+        </para>
       </step>
 
       <step>
         <para>
-        <command>useqacontact</command>:
+          <command>useqacontact</command>:
 
-        This allows you to define an email address for each component, in
-        addition
-        to that of the default owner, who will be sent carbon copies of
-        incoming bugs.</para>
+          This allows you to define an email address for each component, 
+          in addition to that of the default owner, who will be sent
+          carbon copies of incoming bugs.
+        </para>
       </step>
+
       <step>
         <para>
-        <command>usestatuswhiteboard</command>:
-        This defines whether you wish to have a free-form, overwritable field
-        associated with each bug. The advantage of the Status Whiteboard is
-        that it can be deleted or modified with ease, and provides an
-        easily-searchable field for indexing some bugs that have some trait
-        in common.         
+          <command>usestatuswhiteboard</command>:
+
+          This defines whether you wish to have a free-form, overwritable field
+          associated with each bug. The advantage of the Status Whiteboard is
+          that it can be deleted or modified with ease, and provides an
+          easily-searchable field for indexing some bugs that have some trait
+          in common.         
         </para>
       </step>
 
       <step>
         <para>
-        <command>whinedays</command>:
-        Set this to the number of days you want to let bugs go
-        in the NEW or REOPENED state before notifying people they have
-        untouched new bugs. If you do not plan to use this feature, simply do
-        not set up the whining cron job described in the installation
-        instructions, or set this value to "0" (never whine).</para>
+          <command>whinedays</command>:
+
+          Set this to the number of days you want to let bugs go
+          in the NEW or REOPENED state before notifying people they have
+          untouched new bugs. If you do not plan to use this feature, simply 
+          do not set up the whining cron job described in the installation
+          instructions, or set this value to "0" (never whine).
+        </para>
       </step>
 
       <step>
         <para>
-        <command>commenton*</command>:
-        All these
-        fields allow you to dictate what changes can pass without comment,
-        and which must have a comment from the person who changed them.
-        Often, administrators will allow users to add themselves to the CC
-        list, accept bugs, or change the Status Whiteboard without adding a
-        comment as to their reasons for the change, yet require that most
-        other changes come with an explanation.</para>
-
-        <para>Set the "commenton" options according to your site policy. It
-        is a wise idea to require comments when users resolve, reassign, or
-        reopen bugs at the very least. 
+          <command>commenton*</command>:
+
+          All these fields allow you to dictate what changes can pass
+          without comment, and which must have a comment from the
+          person who changed them.  Often, administrators will allow
+          users to add themselves to the CC list, accept bugs, or
+          change the Status Whiteboard without adding a comment as to
+          their reasons for the change, yet require that most other
+          changes come with an explanation.
+        </para>
+
+        <para>
+          Set the "commenton" options according to your site policy. It
+          is a wise idea to require comments when users resolve, reassign, or
+          reopen bugs at the very least. 
+        </para>
+
         <note>
-          <para>It is generally far better to require a developer comment
-          when resolving bugs than not. Few things are more annoying to bug
-          database users than having a developer mark a bug "fixed" without
-          any comment as to what the fix was (or even that it was truly
-          fixed!)</para>
+          <para>
+            It is generally far better to require a developer comment
+            when resolving bugs than not. Few things are more annoying to bug
+            database users than having a developer mark a bug "fixed" without
+            any comment as to what the fix was (or even that it was truly
+            fixed!)
+          </para>
         </note>
-        </para>
       </step>
 
       <step>
         <para>
-        <command>supportwatchers</command>:
-
-        Turning on this option allows users to ask to receive copies of 
-        all a particular other user's bug email. This is, of
-        course, subject to the groupset restrictions on the bug; if the 
-        <quote>watcher</quote>
-        would not normally be allowed to view a bug, the watcher cannot get
-        around the system by setting herself up to watch the bugs of someone
-        with bugs outside her privileges. They would still only receive email
-        updates for those bugs she could normally view.</para>        
+          <command>supportwatchers</command>:
+
+          Turning on this option allows users to ask to receive copies 
+          of bug mail sent to another user.  Watching a user with
+          different group permissions is not a way to 'get around' the
+          system; copied emails are still subject to the normal groupset
+          permissions of a bug, and <quote>watchers</quote> will only be 
+          copied on emails from bugs they would normally be allowed to view. 
+        </para> 
+      </step>
+
+
+      <step>
+        <para>
+          <command>noresolveonopenblockers</command>:
+
+          This option will prevent users from resolving bugs as FIXED if
+          they have unresolved dependencies. Only the FIXED resolution
+          is affected. Users will be still able to resolve bugs to
+          resolutions other than FIXED if they have unresolved dependent
+          bugs.
+        </para>
       </step>
+
     </procedure>
   </section>
 
@@ -313,25 +367,35 @@
 
           <listitem>
             <para>
-            <emphasis>Disable Text</emphasis>: 
-            If you type anything in this box, including just a space, the
-            user is prevented from logging in, or making any changes to 
-            bugs via the web interface. 
-            The HTML you type in this box is presented to the user when
-            they attempt to perform these actions, and should explain
-            why the account was disabled.
-            <warning>
-              <para>Don't disable all the administrator accounts!</para>
-            </warning>
-
+              <emphasis>Disable Text</emphasis>: 
+              If you type anything in this box, including just a space, the
+              user is prevented from logging in, or making any changes to 
+              bugs via the web interface. 
+              The HTML you type in this box is presented to the user when
+              they attempt to perform these actions, and should explain
+              why the account was disabled.
+            </para>
+            <para>
+              Users with disabled accounts will continue to receive
+              mail from Bugzilla; furthermore, they will not be able
+              to log in themselves to change their own preferences and
+              stop it. If you want an account (disabled or active) to
+              stop receiving mail, add the account name (one account
+              per line) to the file <filename>data/nomail</filename>.
+            </para>
             <note>
-              <para>The user can still submit bugs via
-              the e-mail gateway, if you set it up, even if the disabled text
-              field is filled in. The e-mail gateway should 
-              <emphasis>not</emphasis>
-              be enabled for secure installations of Bugzilla.</para>
+              <para>
+                Even users whose accounts have been disabled can still
+                submit bugs via the e-mail gateway, if one exists.
+                The e-mail gateway should <emphasis>not</emphasis> be
+                enabled for secure installations of Bugzilla.
+              </para>
             </note>
-            </para>
+            <warning>
+              <para>
+                Don't disable all the administrator accounts!
+              </para>
+            </warning>
           </listitem>
 
           <listitem>
@@ -581,6 +645,419 @@
     </orderedlist>
   </section>
   
+ <section id="flags-overview">
+   <title>Flags</title>
+   
+   <para>
+     Flags are a way to attach a specific status to a bug or attachment, 
+     either <quote>+</quote> or <quote>-</quote>. The meaning of these symbols depends on the text
+     the flag itself, but contextually they could mean pass/fail, 
+     accept/reject, approved/denied, or even a simple yes/no. If your site
+     allows requestable flags, then users may set a flag to <quote>?</quote> as a 
+     request to another user that they look at the bug/attachment, and set
+     the flag to its correct status.
+   </para>
+
+   <section id="flags-simpleexample">
+     <title>A Simple Example</title>
+
+     <para>
+       A developer might want to ask their manager, 
+       <quote>Should we fix this bug before we release version 2.0?</quote> 
+       They might want to do this for a <emphasis>lot</emphasis> of bugs,
+       so it would be nice to streamline the process...
+     </para>
+     <para>
+       In Bugzilla, it would work this way:
+       <orderedlist>
+         <listitem>
+           <para>
+             The Bugzilla administrator creates a flag type called 
+             <quote>blocking2.0</quote> that shows up on all bugs in 
+             your product.
+           </para>
+ 
+           <para>
+             It shows up on the <quote>Show Bug</quote> screen
+             as the text <quote>blocking2.0</quote> with a drop-down box next
+             to it. The drop-down box contains four values: an empty space,
+             <quote>?</quote>, <quote>-</quote>, and <quote>+</quote>.
+           </para>
+         </listitem>
+         <listitem>
+           <para>The developer sets the flag to <quote>?</quote>.</para>
+         </listitem>
+         <listitem>
+           <para>
+             The manager sees the <computeroutput>blocking2.0</computeroutput>
+             flag with a <quote>?</quote> value.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             If the manager thinks the feature should go into the product
+             before version 2.0 can be released, he sets the flag to 
+             <quote>+</quote>. Otherwise, he sets it to <quote>-</quote>.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             Now, every Bugzilla user who looks at the bug knows whether or 
+             not the bug needs to be fixed before release of version 2.0.
+           </para>
+         </listitem>
+       </orderedlist>
+     </para>
+
+   </section>
+
+   <section id="flags-about">
+     <title>About Flags</title>
+
+     <section id="flag-values">
+       <title>Values</title>
+       <para>
+         Flags can have three values:
+         <variablelist>
+           <varlistentry>
+             <term><computeroutput>?</computeroutput></term>
+             <listitem><simpara>
+               A user is requesting that a status be set. (Think of it as 'A question is being asked'.)
+             </simpara></listitem>
+           </varlistentry>
+           <varlistentry>
+             <term><computeroutput>-</computeroutput></term>
+             <listitem><simpara>
+               The status has been set negatively. (The question has been answered <quote>no</quote>.)
+             </simpara></listitem>
+           </varlistentry>
+           <varlistentry>
+             <term><computeroutput>+</computeroutput></term>
+             <listitem><simpara>
+               The status has been set positively.
+               (The question has been answered <quote>yes</quote>.)
+             </simpara></listitem>
+           </varlistentry>
+         </variablelist>
+       </para>
+       <para>
+         Actually, there's a fourth value a flag can have -- 
+         <quote>unset</quote> -- which shows up as a blank space. This 
+         just means that nobody has expressed an opinion (or asked
+         someone else to express an opinion) about this bug or attachment.
+       </para>
+     </section>
+   </section>
+
+   <section id="flag-askto">
+     <title>Using flag requests</title>
+     <para>
+       If a flag has been defined as 'requestable', 
+       users are allowed to set the flag's status to <quote>?</quote>.
+       This status indicates that someone (aka <quote>the requester</quote> is asking
+       for someone else to set the flag to either <quote>+</quote> or <quote>-</quote>.
+     </para>
+     <para>
+       If a flag has been defined as 'specifically requestable', 
+       a text box will appear next to the flag into which the requester may
+       enter a Bugzilla username. That named person (aka <quote>the requestee</quote>)
+       will receive an email notifying them of the request, and pointing them
+       to the bug/attachment in question.
+     </para>
+     <para>
+       If a flag has <emphasis>not</emphasis> been defined as 'specifically requestable',
+       then no such text-box will appear. A request to set this flag cannot be made of
+       any specific individual, but must be asked <quote>to the wind</quote>.
+       A requester may <quote>ask the wind</quote> on any flag simply by leaving the text-box blank.
+     </para>
+   </section>
+
+   <section id="flag-types">
+     <title>Two Types of Flags</title>
+    
+     <para>
+       Flags can go in two places: on an attachment, or on a bug.
+     </para>
+
+     <section id="flag-type-attachment">
+       <title>Attachment Flags</title>
+      
+       <para>
+         Attachment flags are used to ask a question about a specific 
+         attachment on a bug.
+       </para>
+       <para>
+         Many Bugzilla installations use this to 
+         request that one developer <quote>review</quote> another 
+         developer's code before they check it in. They attach the code to
+         a bug report, and then set a flag on that attachment called
+         <quote>review</quote> to 
+         <computeroutput>review?boss@domain.com</computeroutput>.
+         boss@domain.com is then notified by email that
+         he has to check out that attachment and approve it or deny it.
+       </para>
+
+       <para>
+         For a Bugzilla user, attachment flags show up in two 
+         places:
+         <orderedlist>
+           <listitem>
+             <para>
+               On the list of attachments in the <quote>Show Bug</quote>
+               screen, you can see the current state of any flags that
+               have been set to ?, +, or -. You can see who asked about 
+               the flag (the requester), and who is being asked (the 
+               requestee).
+             </para>
+           </listitem>
+           <listitem>
+             <para>
+              When you <quote>Edit</quote> an attachment, you can 
+              see any settable flag, along with any flags that have 
+              already been set. This <quote>Edit Attachment</quote> 
+              screen is where you set flags to ?, -, +, or unset them.
+             </para>
+           </listitem>
+         </orderedlist>
+       </para>
+
+     </section>
+
+     <section id="flag-type-bug">
+       <title>Bug Flags</title>
+
+       <para>
+         Bug flags are used to set a status on the bug itself. You can 
+         see Bug Flags in the <quote>Show Bug</quote> screen 
+         (<filename>editbug.cgi</filename>).
+       </para>
+       <para>
+         Only users with the ability to edit the bug may 
+         set flags on bugs. This includes the owner, reporter, and 
+         any user with the <computeroutput>editbugs</computeroutput> 
+         permission.
+       </para>
+     </section>
+
+   </section>
+
+   <section id="flags-admin">
+     <title>Administering Flags</title>
+
+     <para>
+       If you have the <quote>editcomponents</quote> permission, you will
+       have <quote>Edit: ... | Flags | ...</quote> in your page footer.
+       Clicking on that link will bring you to the <quote>Administer 
+       Flag Types</quote> page. Here, you can select whether you want 
+       to create (or edit) a Bug flag, or an Attachment flag.
+     </para>
+     <para>
+       No matter which you choose, the interface is the same, so we'll 
+       just go over it once.
+     </para>
+
+     <section id="flags-create">
+       <title>Creating a Flag</title>
+       
+        <para>
+          When you click on the <quote>Create a Flag Type for...</quote>
+          link, you will be presented with a form. Here is what the felds in 
+          the form mean:
+        </para>
+
+        <section id="flags-create-field-name">
+          <title>Name</title>
+          <para>
+            This is the name of the flag. This will be displayed 
+            to Bugzilla users who are looking at or setting the flag. 
+            The name may consist of any valid Unicode character. 
+          </para>
+        </section>
+
+        <section id="flags-create-field-description">
+          <title>Description</title>
+          <para>
+            This describes the flag in more detail. At present, this doesn't
+            whos up anywhere helpful; ideally, it would be nice to have
+            it show up as a tooltip. This field 
+            can be as long as you like, and can contain any character you want.
+          </para>
+        </section>
+
+        <section id="flags-create-field-category">
+          <title>Category</title>
+
+          <para>
+            Default behaviour for a newly-created flag is to appear on
+            products and all components, which is why <quote>__Any__:__Any__</quote>
+            is already entered in the <quote>Inclusions</quote> box.
+            If this is not your desired behaviour, you must either set some
+            exclusions (for products on which you don't want the flag to appear),
+            or you must remove <quote>__Any__:__Any__</quote> from the Inclusions box
+            and define products/components specifically for this flag.
+          </para>
+
+          <para>
+            To create an Inclusion, select a Product from the top drop-down box.
+            You may also select a specific component from the bottom drop-down box.
+            (Setting <quote>__Any__</quote> for Product translates to, 
+            <quote>all the products in this Bugzilla</quote>.
+            Selecting  <quote>__Any__</quote> in the Component field means
+            <quote>all components in the selected product.</quote>) 
+            Selections made, press <quote>Include</quote>, and your
+            Product/Component pairing will show up in the <quote>Inclusions</quote> box on the right.
+          </para>
+
+          <para>
+            To create an Exclusion, the process is the same; select a Product from the
+            top drop-down box, select a specific component if you want one, and press
+            <quote>Exclude</quote>. The Product/Component pairing will show up in the 
+            <quote>Exclusions</quote> box on the right.
+          </para>
+
+          <para>
+            This flag <emphasis>will</emphasis> and <emphasis>can</emphasis> be set for any
+            products/components that appearing in the <quote>Inclusions</quote> box 
+            (or which fall under the appropriate <quote>__Any__</quote>). 
+            This flag <emphasis>will not</emphasis> appear (and therefore cannot be set) on
+            any products appearing in the <quote>Exclusions</quote> box.
+            <emphasis> IMPORTANT: Exclusions override inclusions.</emphasis>
+          </para>
+
+          <para>
+            You may select a Product without selecting a specific Component,
+            but it is illegal to select a Component without a Product, or to select a
+            Component that does not belong to the named Product. Doing so as of
+            this writing (2.18rc3) will raise an error... even if all your products
+            have a component by that name.
+          </para>
+
+          <para><emphasis>Example:</emphasis> Let's say you have a product called 
+            <quote>Jet Plane</quote> that has thousands of components. You want
+            to be able to ask if a problem should be fixed in the next model of 
+            plane you release. We'll call the flag <quote>fixInNext</quote>.
+            But, there's one component in <quote>Jet Plane,</quote> 
+            called <quote>Pilot.</quote> It doesn't make sense to release a 
+            new pilot, so you don't want to have the flag show up in that component.
+            So, you include <quote>Jet Plane:__Any__</quote> and you exclude 
+            <quote>Jet Plane:Pilot</quote>.
+          </para>
+        </section>
+
+        <section id="flags-create-field-sortkey">
+          <title>Sort Key</title>
+          <para>
+            Flags normally show up in alphabetical order. If you want them to 
+            show up in a different order, you can use this key set the order on each flag. 
+            Flags with a lower sort key will appear before flags with a higher
+            sort key. Flags that have the same sort key will be sorted alphabetically,
+            but they will still be after flags with a lower sort key, and before flags
+            with a higher sort key.
+          </para>
+          <para>
+            <emphasis>Example:</emphasis> I have AFlag (Sort Key 100), BFlag (Sort Key 10), 
+            CFlag (Sort Key 10), and DFlag (Sort Key 1). These show up in
+            the order: DFlag, BFlag, CFlag, AFlag.
+          </para>
+        </section>
+
+        <section id="flags-create-field-active">
+          <title>Active</title>
+          <para>
+            Sometimes, you might want to keep old flag information in the 
+            Bugzilla database, but stop users from setting any new flags of this type.
+            To do this, uncheck <quote>active</quote>. Deactivated
+            flags will still show up in the UI if they are ?, +, or -, but they
+            may only be cleared (unset), and cannot be changed to a new value.
+            Once a deactivated flag is cleared, it will completely disappear from a 
+            bug/attachment, and cannot be set again.
+          </para>
+        </section>
+
+        <section id="flags-create-field-requestable">
+          <title>Requestable</title>
+          <para>
+            New flags are, by default, <quote>requestable</quote>, meaning that they
+            offer users the <quote>?</quote> option, as well as <quote>+</quote>
+            and <quote>-</quote>.
+            To remove the ? option, uncheck <quote>requestable</quote>.
+          </para>
+        </section>
+
+        <section id="flags-create-field-cclist">
+          <title>CC List</title>
+
+          <para>
+            If you want certain users to be notified every time this flag is 
+            set to ?, -, +, or unset, add them here. This is a comma-separated 
+            list of email addresses that need not be restricted to Bugzilla usernames..
+          </para>
+        </section>
+
+        <section id="flags-create-field-specific">
+          <title>Specifically Requestable</title>
+          <para>
+            By default this box is checked for new flags, meaning that users may make
+            flag requests of specific individuals. Unchecking this box will remove the
+            text box next to a flag; if it is still requestable, then requests may
+            only be made <quote>to the wind.</quote> Removing this after specific
+            requests have been made will not remove those requests; that data will
+            stay in the database (though it will no longer appear to the user).
+          </para>
+        </section>
+
+        <section id="flags-create-field-multiplicable">
+          <title>Multiplicable</title>
+          <para>
+            Any flag with <quote>Multiplicable</quote> set (default for new flags is 'on')
+            may be set more than once. After being set once, an unset flag
+            of the same type will appear below it with <quote>addl.</quote> (short for 
+            <quote>additional</quote>) before the name. There is no limit to the number of
+            times a Multiplicable flags may be set on the same bug/attachment.
+          </para>
+        </section>
+
+      </section> <!-- flags-create -->
+
+      <section id="flags-delete">
+        <title>Deleting a Flag</title>
+
+        <para>
+          When you are at the <quote>Administer Flag Types</quote> screen,
+          you will be presented with a list of Bug flags and a list of Attachment
+          Flags.
+        </para>
+        <para>
+          To delete a flag, click on the <quote>Delete</quote> link next to
+          the flag description.
+        </para>
+        <warning>
+          <para>
+            Once you delete a flag, it is <emphasis>gone</emphasis> from
+            your Bugzilla. All the data for that flag will be deleted.
+            Everywhere that flag was set, it will disappear,
+            and you cannot get that data back. If you want to keep flag data,
+            but don't want anybody to set any new flags or change current flags,
+            unset <quote>active</quote> in the flag Edit form.
+          </para>
+        </warning>
+      </section>
+
+      <section id="flags-edit">
+        <title>Editing a Flag</title>
+        <para>
+          To edit a flag's properties, just click on the <quote>Edit</quote>
+          link next to the flag's description. That will take you to the same
+          form described in the <quote>Creating a Flag</quote> section.
+        </para>
+      </section>
+
+    </section> <!-- flags-admin -->
+
+    <!-- XXX We should add a "Uses of Flags" section, here, with examples. -->
+
+  </section> <!-- flags -->
+   
   <section id="voting">
     <title>Voting</title>
 
@@ -629,104 +1106,65 @@
     </orderedlist>
   </section>
 
-  <section id="groups">
-    <title>Groups and Group Security</title>
+  <section id="quips">
+    <title>Quips</title>
 
-    <para>Groups allow the administrator
-    to isolate bugs or products that should only be seen by certain people.
-    The association between products and groups is controlled from
-    the product edit page under <quote>Edit Group Controls.</quote>
+    <para>
+      Quips are small text messages that can be configured to appear
+      next to search results. A Bugzilla installation can have its own specific
+      quips. Whenever a quip needs to be displayed, a random selection
+      is made from the pool of already existing quips.
+    </para>
+  
+    <para>
+      Quips are controlled by the <emphasis>enablequips</emphasis> parameter.
+      It has several possible values: on, approved, frozen or off.
+      In order to enable quips approval you need to set this parameter
+      to "approved". In this way, users are free to submit quips for
+      addition but an administrator must explicitly approve them before
+      they are actually used.
     </para>
 
     <para>
-    If the makeproductgroups param is on, a new group will be automatically
-    created for every new product.
+      In order to see the user interface for the quips, it is enough to click
+      on a quip when it is displayed together with the search results. Or
+      it can be seen directly in the browser by visiting the quips.cgi URL
+      (prefixed with the usual web location of the Bugzilla installation).
+      Once the quip interface is displayed, it is enough to click the
+      "view and edit the whole quip list" in order to see the administration
+      page. A page with all the quips available in the database will
+      be displayed.
     </para>
-    
+
     <para>
-    On the product edit page, there is a page to edit the 
-    <quote>Group Controls</quote> 
-    for a product and determine which groups are applicable, default, 
-    and mandatory for each product as well as controlling entry 
-    for each product and being able to set bugs in a product to be 
-    totally read-only unless some group restrictions are met. 
+      Next to each tip there is a checkbox, under the
+      "Approved" column. Quips who have this checkbox checked are
+      already approved and will appear next to the search results.
+      The ones that have it unchecked are still preserved in the
+      database but they will not appear on search results pages.
+      User submitted quips have initially the checkbox unchecked.
     </para>
-    
+  
     <para>
-    For each group, it is possible to specify if membership in that
-    group is...
+      Also, there is a delete link next to each quip,
+      which can be used in order to permanently delete a quip.
     </para>
-    <orderedlist>
-      <listitem>
-        <para>
-        required for bug entry, 
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-        Not applicable to this product(NA),
-        a possible restriction for a member of the 
-        group to place on a bug in this product(Shown),
-        a default restriction for a member of the 
-        group to place on a bug in this product(Default),
-        or a mandatory restriction to be placed on bugs 
-        in this product(Mandatory).
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-        Not applicable by non-members to this product(NA),
-        a possible restriction for a non-member of the 
-        group to place on a bug in this product(Shown),
-        a default restriction for a non-member of the 
-        group to place on a bug in this product(Default),
-        or a mandatory restriction to be placed on bugs 
-        in this product when entered by a non-member(Mandatory).
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-        required in order to make <emphasis>any</emphasis> change
-        to bugs in this product <emphasis>including comments.</emphasis>
-        </para>
-      </listitem>
-    </orderedlist>
-    
-    <para>To create Groups:</para>
-
-    <orderedlist>
-      <listitem>
-        <para>Select the <quote>groups</quote>
-        link in the footer.</para>
-      </listitem>
+  </section>
 
-      <listitem>
-        <para>Take a moment to understand the instructions on the <quote>Edit
-        Groups</quote> screen, then select the <quote>Add Group</quote> link.</para>
-      </listitem>
+  <section id="groups">
+    <title>Groups and Group Security</title>
 
-      <listitem>
-        <para>Fill out the <quote>Group</quote>, <quote>Description</quote>, 
-         and <quote>User RegExp</quote> fields. 
-         <quote>User RegExp</quote> allows you to automatically
-         place all users who fulfill the Regular Expression into the new group. 
-         When you have finished, click <quote>Add</quote>.</para>
-         <warning>
-           <para>If specifying a domain in the regexp, make sure you end
-           the regexp with a $. Otherwise, when granting access to 
-           "@mycompany\.com", you will allow access to 
-           'badperson@mycompany.com.cracker.net'. You need to use 
-           '@mycompany\.com$' as the regexp.</para>
-         </warning>
-      </listitem>
-      <listitem>
-        <para>After you add your new group, edit the new group.  On the
-        edit page, you can specify other groups that should be included
-        in this group and which groups should be permitted to add and delete
-        users from this group.</para>
-      </listitem>
-    </orderedlist>
+    <para>Groups allow the administrator
+    to isolate bugs or products that should only be seen by certain people.
+    The association between products and groups is controlled from
+    the product edit page under <quote>Edit Group Controls.</quote>
+    </para>
 
+    <para>
+    If the makeproductgroups param is on, a new group will be automatically
+    created for every new product. It is primarily available for backward
+    compatibility with older sites. 
+    </para>
     <para>
       Note that group permissions are such that you need to be a member
       of <emphasis>all</emphasis> the groups a bug is in, for whatever
@@ -737,6 +1175,221 @@
       in order to make <emphasis>any</emphasis> change to bugs in that
       product.
     </para>    
+    <note>
+      <para>
+        By default, bugs can also be seen by the Assignee, the Reporter, and 
+        by everyone on the CC List, regardless of whether or not the bug would 
+        typically be viewable by them. Visibility to the Reporter and CC List can 
+        be overridden (on a per-bug basis) by bringing up the bug, finding the 
+        section that starts with <quote>Users in the roles selected below...</quote>
+        and un-checking the box next to either 'Reporter' or 'CC List' (or both).
+      </para>
+    </note>
+    <section>
+      <title>Creating Groups</title>
+      <para>To create Groups:</para>
+  
+      <orderedlist>
+        <listitem>
+          <para>Select the <quote>groups</quote>
+          link in the footer.</para>
+        </listitem>
+  
+        <listitem>
+          <para>Take a moment to understand the instructions on the <quote>Edit
+          Groups</quote> screen, then select the <quote>Add Group</quote> link.</para>
+        </listitem>
+  
+        <listitem>
+          <para>Fill out the <quote>Group</quote>, <quote>Description</quote>, 
+           and <quote>User RegExp</quote> fields. 
+           <quote>User RegExp</quote> allows you to automatically
+           place all users who fulfill the Regular Expression into the new group. 
+           When you have finished, click <quote>Add</quote>.</para>
+           <para>Users whose email addresses match the regular expression
+           will automatically be members of the group as long as their 
+           email addresses continue to match the regular expression.</para>
+           <note>
+             <para>This is a change from 2.16 where the regular expression
+             resulted in a user acquiring permanent membership in a group.
+             To remove a user from a group the user was in due to a regular
+             expression in version 2.16 or earlier, the user must be explicitly
+             removed from the group.</para>
+           </note>
+           <warning>
+             <para>If specifying a domain in the regexp, make sure you end
+             the regexp with a $. Otherwise, when granting access to 
+             "@mycompany\.com", you will allow access to 
+             'badperson@mycompany.com.cracker.net'. You need to use 
+             '@mycompany\.com$' as the regexp.</para>
+           </warning>
+        </listitem>
+        <listitem>
+          <para>If you plan to use this group to directly control
+          access to bugs, check the "use for bugs" box. Groups
+          not used for bugs are still useful because other groups
+          can include the group as a whole.</para>
+        </listitem>
+        <listitem>
+          <para>After you add your new group, edit the new group.  On the
+          edit page, you can specify other groups that should be included
+          in this group and which groups should be permitted to add and delete
+          users from this group.</para>
+        </listitem>
+      </orderedlist>
+  
+    </section>
+    <section>
+      <title>Assigning Users to Groups</title>
+      <para>Users can become a member of a group in several ways.</para>
+      <orderedlist>
+        <listitem>
+          <para>The user can be explicitly placed in the group by editing
+          the user's own profile</para>
+        </listitem>
+        <listitem>
+          <para>The group can include another group of which the user is
+          a member.</para>
+        </listitem>
+        <listitem>
+          <para>The user's email address can match a regular expression
+          that the group specifies to automatically grant membership to
+          the group.</para>
+        </listitem>
+      </orderedlist>
+    </section>
+    
+    <section>
+      <title>Assigning Group Controls to Products</title>
+      <para>
+      On the product edit page, there is a page to edit the 
+      <quote>Group Controls</quote> 
+      for a product. This  allows you to 
+      configure how a group relates to the product. 
+      Groups may be applicable, default, 
+      and mandatory as well as used to control entry 
+      or used to make bugs in the product
+      totally read-only unless the group restrictions are met. 
+      </para>
+      
+      <para>
+      For each group, it is possible to specify if membership in that
+      group is...
+      </para>
+      <orderedlist>
+        <listitem>
+          <para>
+          required for bug entry, 
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+          Not applicable to this product(NA),
+          a possible restriction for a member of the 
+          group to place on a bug in this product(Shown),
+          a default restriction for a member of the 
+          group to place on a bug in this product(Default),
+          or a mandatory restriction to be placed on bugs 
+          in this product(Mandatory).
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+          Not applicable by non-members to this product(NA),
+          a possible restriction for a non-member of the 
+          group to place on a bug in this product(Shown),
+          a default restriction for a non-member of the 
+          group to place on a bug in this product(Default),
+          or a mandatory restriction to be placed on bugs 
+          in this product when entered by a non-member(Mandatory).
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+          required in order to make <emphasis>any</emphasis> change
+          to bugs in this product <emphasis>including comments.</emphasis>
+          </para>
+        </listitem>
+      </orderedlist>
+      <para>These controls are often described in this order, so a 
+      product that requires a user to be a member of group "foo" 
+      to enter a bug and then requires that the bug stay resticted
+      to group "foo" at all times and that only members of group "foo"
+      can edit the bug even if they otherwise could see the bug would 
+      have its controls summarized by...</para>
+      <programlisting> 
+foo: ENTRY, MANDATORY/MANDATORY, CANEDIT
+      </programlisting>
+      
+    </section>
+    <section>
+    <title>Common Applications of Group Controls</title>
+      <section>
+      <title>General User Access With Security Group</title>
+      <para>To permit any user to file bugs in each product (A, B, C...) 
+      and to permit any user to submit those bugs into a security
+      group....</para>
+      <programlisting> 
+Product A...
+security: SHOWN/SHOWN
+Product B...
+security: SHOWN/SHOWN
+Product C...
+security: SHOWN/SHOWN
+      </programlisting>
+      </section>
+      <section>
+      <title>General User Access With A Security Product</title>
+      <para>To permit any user to file bugs in a Security product
+      while keeping those bugs from becoming visible to anyone
+      outside the securityworkers group unless a member of the
+      securityworkers group removes that restriction....</para>
+      <programlisting> 
+Product Security...
+securityworkers: DEFAULT/MANDATORY
+      </programlisting>
+      </section>
+      <section>
+      <title>Product Isolation With Common Group</title>
+      <para>To permit users of product A to access the bugs for
+      product A, users of product B to access product B, and support
+      staff to access both, 3 groups are needed</para>
+      <orderedlist>
+        <listitem>
+          <para>Support: Contains members of the support staff.</para>
+        </listitem>
+        <listitem>
+          <para>AccessA: Contains users of product A and the Support group.</para>
+        </listitem>
+        <listitem>
+          <para>AccessB: Contains users of product B and the Support group.</para>
+        </listitem>
+      </orderedlist>
+      <para>Once these 3 groups are defined, the products group controls
+      can be set to..</para>
+      <programlisting>
+Product A...
+AccessA: ENTRY, MANDATORY/MANDATORY
+Product B...
+AccessB: ENTRY, MANDATORY/MANDATORY
+      </programlisting>
+      <para>Optionally, the support group could be permitted to make
+      bugs inaccessible to the users and could be permitted to publish
+      bugs relevant to all users in a common product that is read-only
+      to anyone outside the support group. That configuration could
+      be...</para>
+      <programlisting>
+Product A...
+AccessA: ENTRY, MANDATORY/MANDATORY
+Support: SHOWN/NA
+Product B...
+AccessB: ENTRY, MANDATORY/MANDATORY
+Support: SHOWN/NA
+Product Common...
+Support: ENTRY, DEFAULT/MANDATORY, CANEDIT
+      </programlisting>
+      </section>
+    </section>
   </section>
 
   <section id="upgrading">
@@ -785,7 +1438,7 @@
 
     <para>Revisions are normally released to fix security vulnerabilities
     and are distinguished by an increase in the third number. For example,
-    when 2.16.2 was released, it was a revision to 2.16.1.
+    when 2.16.6 was released, it was a revision to 2.16.5.
     </para>
 
     <para>Point releases are normally released when the Bugzilla team feels
@@ -794,12 +1447,12 @@
     stabilization period and release candidates, however the use of 
     development versions or release candidates is beyond the scope of this
     document. Point releases can be distinguished by an increase in the
-    second number, or minor version. For example, 2.16.2 is a newer point
-    release than 2.14.5.
+    second number, or minor version. For example, 2.18.0 is a newer point
+    release than 2.16.5.
     </para>
 
     <para>The examples in this section are written as if you were updating
-    to version 2.16.2.  The procedures are the same regardless if you are
+    to version 2.18.1.  The procedures are the same regardless if you are
     updating to a new point release or a new revision.  However, the chance
     of running into trouble increases when upgrading to a new point release,
     escpecially if you've made local changes.
@@ -831,7 +1484,7 @@ bash$ <command>cd /var/www/html/bugzilla</command>
 bash$ <command>cvs login</command>
 Logging in to :pserver:anonymous@cvs-mirror.mozilla.org:2401/cvsroot
 CVS password: <command>anonymous</command>
-bash$ <command>cvs -q update -r BUGZILLA-2_16_2 -dP</command>
+bash$ <command>cvs -q update -r BUGZILLA-2_18_1 -dP</command>
 P checksetup.pl
 P collectstats.pl
 P globals.pl
@@ -867,19 +1520,19 @@ P template/en/default/list/quips.html.tmpl
 
       <programlisting>
 bash$ <command>cd /var/www/html</command>
-bash$ <command>wget ftp://ftp.mozilla.org/pub/webtools/bugzilla-2.16.2.tar.gz</command>
+bash$ <command>wget ftp://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-2.18.1.tar.gz</command>
 <emphasis>Output omitted</emphasis>
-bash$ <command>tar xzvf bugzilla-2.16.2.tar.gz</command>
-bugzilla-2.16.2/
-bugzilla-2.16.2/.cvsignore
-bugzilla-2.16.2/1x1.gif
+bash$ <command>tar xzvf bugzilla-2.18.1.tar.gz</command>
+bugzilla-2.18.1/
+bugzilla-2.18.1/.cvsignore
+bugzilla-2.18.1/1x1.gif
 <emphasis>Output truncated</emphasis>
-bash$ <command>cd bugzilla-2.16.2</command>
+bash$ <command>cd bugzilla-2.18.1</command>
 bash$ <command>cp ../bugzilla/localconfig* .</command>
 bash$ <command>cp -r ../bugzilla/data .</command>
 bash$ <command>cd ..</command>
 bash$ <command>mv bugzilla bugzilla.old</command>
-bash$ <command>mv bugzilla-2.16.2 bugzilla</command>
+bash$ <command>mv bugzilla-2.18.1 bugzilla</command>
 bash$ <command>cd bugzilla</command>
 bash$ <command>./checksetup.pl</command>
 <emphasis>Output omitted</emphasis>
@@ -920,10 +1573,10 @@ bash$ <command>./checksetup.pl</command>
 
       <programlisting>
 bash$ <command>cd /var/www/html/bugzilla</command>
-bash$ <command>wget ftp://ftp.mozilla.org/pub/webtools/bugzilla-2.16.1-to-2.16.2.diff.gz</command>
+bash$ <command>wget ftp://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-2.18.0-to-2.18.1.diff.gz</command>
 <emphasis>Output omitted</emphasis>
-bash$ <command>gunzip bugzilla-2.16.1-to-2.16.2.diff.gz</command>
-bash$ <command>patch -p1 &lt; bugzilla-2.16.1-to-2.16.2.diff</command>
+bash$ <command>gunzip bugzilla-2.18.0-to-2.18.1.diff.gz</command>
+bash$ <command>patch -p1 &lt; bugzilla-2.18.0-to-2.18.1.diff</command>
 patching file checksetup.pl
 patching file collectstats.pl
 patching file globals.pl
diff --git a/docs/xml/customization.xml b/docs/xml/customization.xml
index dd27b63fe343da832cb43b67058e46043c900551..14ac3f86a60943b36defe6280c0996a8a87a6932 100644
--- a/docs/xml/customization.xml
+++ b/docs/xml/customization.xml
@@ -18,45 +18,78 @@
       <xref linkend="template-http-accept"/>.
     </para>
     
-    <section>
-      <title>What to Edit</title>
+    <section id="template-directory">
+      <title>Template Directory Structure</title>
       <para>
-        The template directory structure is that there's a top level directory,
-        <filename>template</filename>, which contains a directory for
-        each installed localization. The default English templates are
-        therefore in <filename>en</filename>. Underneath that, there
-        is the <filename>default</filename> directory and optionally the 
-        <filename>custom</filename> directory. The <filename>default</filename>
-        directory contains all the templates shipped with Bugzilla, whereas
-        the <filename>custom</filename> directory does not exist at first and
-        must be created if you want to use it.
+        The template directory structure starts with top level directory 
+        named <filename>template</filename>, which contains a directory
+        for each installed localization. The next level defines the
+        language used in the templates. Bugzilla comes with English
+        templates, so the directory name is <filename>en</filename>,
+        and we will discuss <filename>template/en</filename> throughout
+        the documentation. Below <filename>template/en</filename> is the
+        <filename>default</filename> directory, which contains all the
+        standard templates shipped with Bugzilla.
       </para>
 
+      <warning>
+        <para>
+          A directory <filename>data/templates</filename> also exists;
+          this is where Template Toolkit puts the compiled versions of
+          the templates from either the default or custom directories.
+          <emphasis>Do not</emphasis> directly edit the files in this
+          directory, or all your changes will be lost the next time
+          Template Toolkit recompiles the templates.
+        </para>
+      </warning>
+    </section>
+
+    <section id="template-method">
+      <title>Choosing a Customization Method</title>
+      <para>
+        If you want to edit Bugzilla's templates, the first decision
+        you must make is how you want to go about doing so. There are two
+        choices, and which you use depends mainly on the scope of your 
+        modifications, and the method you plan to use to upgrade Bugzilla.
+      </para> 
+
       <para>
-        There are two different ways of editing Bugzilla's templates,
-        and which you use depends mainly on the method you plan to use to
-        upgrade Bugzilla. 
         The first method of making customizations is to directly edit the
-        templates in <filename>template/en/default</filename>. This is
-        probably the best method for small changes if you are going to use
-        the CVS method of upgrading, because if you then execute a
-        <command>cvs update</command>, any template fixes will get
-        automagically merged into your modified versions.
+        templates found in <filename>template/en/default</filename>.
+        This is probably the best way to go about it if you are going to
+        be upgrading Bugzilla through CVS, because if you then execute
+        a <command>cvs update</command>, any changes you have made will
+        be merged automagically with the updated versions.
       </para>
 
+      <note>
+        <para>
+          If you use this method, and CVS conflicts occur during an
+          update, the conflicted templates (and possibly other parts
+          of your installation) will not work until they are resolved.
+        </para>
+      </note>
+
       <para>
-        If you use this method, your installation will break if CVS conflicts
-        occur.
+        The second method is to copy the templates to be modified
+        into a mirrored directory structure under 
+        <filename>template/en/custom</filename>. Templates in this
+        directory structure automatically override any identically-named
+        and identically-located templates in the 
+        <filename>default</filename> directory. 
       </para>
 
+      <note>
+        <para>
+          The <filename>custom</filename> directory does not exist
+          at first and must be created if you want to use it.
+        </para>
+      </note>
+
       <para>
-        The other method is to copy the templates to be modified into a 
-        mirrored directory
-        structure under <filename>template/en/custom</filename>.  The templates
-        in this directory automatically override those in default.  
-        This is the technique you
-        need to use if you use the overwriting method of upgrade, because
-        otherwise your changes will be lost.  This method is also better if
+        The second method of customization should be used if you 
+        use the overwriting method of upgrade, because otherwise 
+        your changes will be lost.  This method may also be better if
         you are using the CVS method of upgrading and are going to make major
         changes, because it is guaranteed that the contents of this directory
         will not be touched during an upgrade, and you can then decide whether
@@ -65,9 +98,9 @@
       </para>
 
       <para>
-        If you use this method, your installation may break if incompatible
-        changes are made to the template interface.  If such changes are made
-        they will be documented in the release notes, provided you are using a
+        Using this method, your installation may break if incompatible
+        changes are made to the template interface.  Such changes should
+        be documented in the release notes, provided you are using a
         stable release of Bugzilla.  If you use using unstable code, you will
         need to deal with this one yourself, although if possible the changes
         will be mentioned before they occur in the deprecations section of the
@@ -76,21 +109,25 @@
 
       <note>
         <para>
-          Don't directly edit the compiled templates in 
-          <filename class="directory">data/template/*</filename> - your
-          changes will be lost when Template Toolkit recompiles them.
+          Regardless of which method you choose, it is recommended that
+          you run <command>./checksetup.pl</command> after creating or
+          editing any templates in the <filename>template/en/default</filename>
+          directory, and after editing any templates in the 
+          <filename>custom</filename> directory.
         </para>
       </note>
 
-      <note>
-        <para>It is recommended that you run <command>./checksetup.pl</command>
-        after any template edits, especially if you've created a new file in
-        the <filename class="directory">custom</filename> directory.
+      <warning>
+        <para>
+          It is <emphasis>required</emphasis> that you run 
+          <command>./checksetup.pl</command> after creating a new
+          template in the <filename>custom</filename> directory. Failure
+          to do so will raise an incomprehensible error message.
         </para>
-      </note>
+      </warning>
     </section>
     
-    <section>
+    <section id="template-edit">
       <title>How To Edit Templates</title>
       
       <note>
@@ -98,7 +135,7 @@
           If you are making template changes that you intend on submitting back
           for inclusion in standard Bugzilla, you should read the relevant
           sections of the 
-          <ulink url="http://www.bugzilla.org/developerguide.html">Developers'
+          <ulink url="http://www.bugzilla.org/docs/developer.html">Developers'
           Guide</ulink>.
         </para>
       </note>
@@ -132,9 +169,11 @@
       </para>
  
       <para>
-        Editing templates is a good way of doing a "poor man's custom fields".
+        Editing templates is a good way of doing a <quote>poor man's custom
+        fields</quote>.
         For example, if you don't use the Status Whiteboard, but want to have
-        a free-form text entry box for "Build Identifier", then you can just
+        a free-form text entry box for <quote>Build Identifier</quote>,
+        then you can just
         edit the templates to change the field labels. It's still be called
         status_whiteboard internally, but your users don't need to know that.
       </para>
@@ -142,22 +181,29 @@
     </section>
             
     
-    <section>
-      <title>Template Formats</title>
+    <section id="template-formats">
+      <title>Template Formats and Types</title>
       
       <para>
-        Some CGIs have the ability to use more than one template. For
-        example, buglist.cgi can output bug lists as RDF or two
-        different forms of HTML (complex and simple). (Try this out
-        by appending <filename>&amp;format=simple</filename> to a buglist.cgi
-        URL on your Bugzilla installation.) This
-        mechanism, called template 'formats', is extensible.
+        Some CGI's have the ability to use more than one template. For example,
+        <filename>buglist.cgi</filename> can output itself as RDF, or as two 
+        formats of HTML (complex and simple). The mechanism that provides this 
+        feature is extensible.
+      </para>
+
+      <para>
+        Bugzilla can support different types of output, which again can have 
+        multiple formats. In order to request a certain type, you can append 
+        the &amp;ctype=&lt;contenttype&gt; (such as rdf or html) to the 
+        <filename>&lt;cginame&gt;.cgi</filename> URL. If you would like to 
+        retrieve a certain format, you can use the &amp;format=&lt;format&gt; 
+        (such as simple or complex) in the URL.
       </para>
       
       <para>
-        To see if a CGI supports multiple output formats, grep the
-        CGI for "GetFormat". If it's not present, adding
-        multiple format support isn't too hard - see how it's done in
+        To see if a CGI supports multiple output formats and types, grep the
+        CGI for <quote>GetFormat</quote>. If it's not present, adding
+        multiple format/type support isn't too hard - see how it's done in
         other CGIs, e.g. config.cgi.
       </para>
       
@@ -176,22 +222,32 @@
       
       <para>
         You now need to decide what content type you want your template
-        served as. Open up the <filename>localconfig</filename> file and find the 
-        <filename>$contenttypes</filename>
-        variable. If your content type is not there, add it. Remember
-        the three- or four-letter tag assigned to you content type. 
+        served as. The content types are defined in the
+        <filename>Bugzilla/Constants.pm</filename> file in the 
+        <filename>contenttypes</filename>
+        constant. If your content type is not there, add it. Remember
+        the three- or four-letter tag assigned to your content type. 
         This tag will be part of the template filename.
       </para>
+
+      <note>
+        <para>
+          After adding or changing a content type, it's suitable to edit
+          <filename>Bugzilla/Constants.pm</filename> in order to reflect
+          the changes. Also, the file should be kept up to date after an
+          upgrade if content types have been customized in the past. 
+        </para>
+      </note>
       
       <para>
         Save the template as <filename>&lt;stubname&gt;-&lt;formatname&gt;.&lt;contenttypetag&gt;.tmpl</filename>. 
         Try out the template by calling the CGI as 
-        <filename>&lt;cginame&gt;.cgi?format=&lt;formatname&gt;</filename> .
+        <filename>&lt;cginame&gt;.cgi?format=&lt;formatname&gt;&amp;ctype=&lt;type&gt;</filename> .
       </para>       
     </section>
     
     
-    <section>
+    <section id="template-specific">
       <title>Particular Templates</title>
       
       <para>
@@ -215,7 +271,8 @@
 
       <para>
         <command>global/banner.html.tmpl</command>:
-        This contains the "banner", the part of the header that appears
+        This contains the <quote>banner</quote>, the part of the header
+        that appears
         at the top of all Bugzilla pages.  The default banner is reasonably
         barren, so you'll probably want to customize this to give your
         installation a distinctive look and feel.  It is recommended you
@@ -230,6 +287,26 @@
         your Bugzilla installation.
       </para>
 
+      <para>
+        <command>global/variables.none.tmpl</command>:
+        This defines a list of terms that may be changed in order to
+        <quote>brand</quote> the Bugzilla instance In this way, terms
+        like <quote>bugs</quote> can be replaced with <quote>issues</quote>
+        across the whole Bugzilla installation. The name
+        <quote>Bugzilla</quote> and other words can be customized as well.
+      </para>
+
+      <para>
+        <command>list/table.html.tmpl</command>:
+        This template controls the appearance of the bug lists created
+        by Bugzilla. Editing this template allows per-column control of 
+        the width and title of a column, the maximum display length of
+        each entry, and the wrap behaviour of long entries.
+        For long bug lists, Bugzilla inserts a 'break' every 100 bugs by
+        default; this behaviour is also controlled by this template, and
+        that value can be modified here.
+       </para>
+
       <para>
         <command>bug/create/user-message.html.tmpl</command>:
         This is a message that appears near the top of the bug reporting page.
@@ -237,51 +314,79 @@
         bugs.
       </para>
 
+      <para>
+        <command>bug/process/midair.html.tmpl</command>:
+        This is the page used if two people submit simultaneous changes to the
+        same bug.  The second person to submit their changes will get this page
+        to tell them what the first person did, and ask if they wish to
+        overwrite those changes or go back and revisit the bug.  The default
+        title and header on this page read "Mid-air collision detected!"  If
+        you work in the aviation industry, or other environment where this
+        might be found offensive (yes, we have true stories of this happening)
+        you'll want to change this to something more appropriate for your
+        environment.
+      </para>
+
       <para>
         <command>bug/create/create.html.tmpl</command> and
         <command>bug/create/comment.txt.tmpl</command>:
-        You may wish to get bug submitters to give certain bits of structured
-        information, each in a separate input widget, for which there is not a
-        field in the database. The bug entry system has been designed in an
-        extensible fashion to enable you to define arbitrary fields and widgets,
-        and have their values appear formatted in the initial
-        Description, rather than in database fields. An example of this
-        is the mozilla.org 
-        <ulink url="http://bugzilla.mozilla.org/enter_bug.cgi?format=guided">guided 
-        bug submission form</ulink>.
-      </para>
-
-      <para>
-        To make this work, create a custom template for 
-        <filename>enter_bug.cgi</filename> (the default template, on which you
-        could base it, is <filename>create.html.tmpl</filename>),
-        and either call it <filename>create.html.tmpl</filename> or use a format and
-        call it <filename>create-&lt;formatname&gt;.html.tmpl</filename>.
-        Put it in the <filename class="directory">custom/bug/create</filename>
-        directory. In it, add widgets for each piece of information you'd like
+        You may not wish to go to the effort of creating custom fields in
+        Bugzilla, yet you want to make sure that each bug report contains
+        a number of pieces of important information for which there is not
+        a special field. The bug entry system has been designed in an
+        extensible fashion to enable you to add arbitrary HTML widgets,
+        such as drop-down lists or textboxes, to the bug entry page
+        and have their values appear formatted in the initial comment.
+        A hidden field that indicates the format should be added inside
+        the form in order to make the template functional. Its value should
+        be the suffix of the template filename. For example, if the file
+        is called <filename>create-cust.html.tmpl</filename>, then
+        <programlisting>&lt;input type="hidden" name="format" value="cust"&gt;</programlisting>
+        should be used inside the form.
+      </para>
+
+      <para>  
+        An example of this is the mozilla.org 
+        <ulink url="http://landfill.bugzilla.org/bugzilla-tip/enter_bug.cgi?product=WorldControl&amp;format=guided">guided 
+        bug submission form</ulink>. The code for this comes with the Bugzilla
+        distribution as an example for you to copy. It can be found in the
+        files 
+        <filename>create-guided.html.tmpl</filename> and
+        <filename>comment-guided.html.tmpl</filename>.
+      </para>  
+
+      <para>
+        So to use this feature, create a custom template for 
+        <filename>enter_bug.cgi</filename>. The default template, on which you
+        could base it, is 
+        <filename>custom/bug/create/create.html.tmpl</filename>.
+        Call it <filename>create-&lt;formatname&gt;.html.tmpl</filename>, and
+        in it, add widgets for each piece of information you'd like
         collected - such as a build number, or set of steps to reproduce.
       </para>
 
       <para>
         Then, create a template like 
-        <filename>custom/bug/create/comment.txt.tmpl</filename>, also named
-        after your format if you are using one, which
-        references the form fields you have created. When a bug report is
+        <filename>custom/bug/create/comment.txt.tmpl</filename>, and call it 
+        <filename>comment-&lt;formatname&gt;.txt.tmpl</filename>. This 
+        template should reference the form fields you have created using
+        the syntax <filename>[% form.&lt;fieldname&gt; %]</filename>. When a 
+        bug report is
         submitted, the initial comment attached to the bug report will be
         formatted according to the layout of this template.
       </para> 
 
       <para>
-        For example, if your enter_bug template had a field
+        For example, if your custom enter_bug template had a field
         <programlisting>&lt;input type="text" name="buildid" size="30"&gt;</programlisting>
         and then your comment.txt.tmpl had
         <programlisting>BuildID: [% form.buildid %]</programlisting>
-        then
+        then something like
         <programlisting>BuildID: 20020303</programlisting>
-        would appear in the initial checkin comment.
-      </para>        
+        would appear in the initial comment.
+      </para>            
     </section>          
-    
+
 
     <section id="template-http-accept">
       <title>Configuring Bugzilla to Detect the User's Language</title>
@@ -308,6 +413,15 @@
   <section id="cust-hooks">
     <title>Template Hooks</title>
         
+    <warning>
+      <para>
+        Template Hooks require Template Toolkit version 2.12 or
+        above, or the application of a patch.  See <ulink
+        url="http://bugzilla.mozilla.org/show_bug.cgi?id=239112">bug
+        239112</ulink> for details.
+      </para>
+    </warning>
+       
     <para>
       Template hooks are a way for extensions to Bugzilla to insert code
       into the standard Bugzilla templates without modifying the template files
@@ -542,15 +656,15 @@
       <filename>CheckCanChangeField()</filename>,
       and is found in <filename>process_bug.cgi</filename> in your 
       Bugzilla directory. If you open that file and search for 
-      "sub CheckCanChangeField", you'll find it.
+      <quote>sub CheckCanChangeField</quote>, you'll find it.
     </para>
     
     <para>
       This function has been carefully commented to allow you to see exactly
-      how it works, and give you an idea of how to make changes to it. Certain
-      marked sections should not be changed - these are the "plumbing" which
-      makes the rest of the function work. In between those sections, you'll
-      find snippets of code like:
+      how it works, and give you an idea of how to make changes to it.
+      Certain marked sections should not be changed - these are
+      the <quote>plumbing</quote> which makes the rest of the function work.
+      In between those sections, you'll find snippets of code like:
       <programlisting>    # Allow the owner to change anything.
     if ($ownerid eq $whoid) {
         return 1;
@@ -560,11 +674,11 @@
       
     <para>
       So, how does one go about changing this function? Well, simple changes
-      can be made just be removing pieces - for example, if you wanted to 
+      can be made just by removing pieces - for example, if you wanted to 
       prevent any user adding a comment to a bug, just remove the lines marked
-      "Allow anyone to change comments." And if you want the reporter to have
-      no special rights on bugs they have filed, just remove the entire section
-      which refers to him.
+      <quote>Allow anyone to change comments.</quote> If you don't want the
+      Reporter to have any special rights on bugs they have filed, just
+      remove the entire section that deals with the Reporter.
     </para>
     
     <para>
@@ -583,7 +697,11 @@
         }
     }</programlisting>
       This says that only users in the group "quality_assurance" can change
-      the QA Contact field of a bug. Getting more weird:
+      the QA Contact field of a bug.
+    </para>
+
+    <para>
+      Getting more weird:
       <programlisting><![CDATA[    if (($field eq "priority") &&
         (Bugzilla->user->email =~ /.*\@example\.com$/))
     {
@@ -598,6 +716,15 @@
       and their email address is @example.com, they can only do so if the
       old value of the field was "P1". Not very useful, but illustrative.
     </para>
+
+    <warning>
+      <para>
+        If you are modifying <filename>process_bug.cgi</filename> in any
+        way, do not change the code that is bounded by DO_NOT_CHANGE blocks.
+        Doing so could compromise security, or cause your installation to
+        stop working entirely.
+      </para>
+    </warning>
     
     <para>
       For a list of possible field names, look in 
@@ -608,29 +735,29 @@
   </section>   
   
   <section id="dbmodify">
-      <title>Modifying Your Running System</title>
+    <title>Modifying Your Running System</title>
 
-      <para>Bugzilla optimizes database lookups by storing all relatively
-      static information in the 
-      <filename>versioncache</filename> file, located in the 
-      <filename class="directory">data/</filename>
-      subdirectory under your installation directory.</para>
-
-      <para>If you make a change to the structural data in your database (the
-      versions table for example), or to the 
-      <quote>constants</quote>
-
-      encoded in <filename>defparams.pl</filename>, you will need to remove 
-      the cached content from the data directory (by doing a 
-      <quote>rm data/versioncache</quote>
+      <para>
+        Bugzilla optimizes database lookups by storing all relatively
+        static information in the <filename>versioncache</filename>
+        file, located in the <filename class="directory">data/</filename>
+        subdirectory under your installation directory.
+      </para>
 
-      ), or your changes won't show up.</para>
+      <para>
+        If you make a change to the structural data in your database (the
+        versions table for example), or to the <quote>constants</quote>
+        encoded in <filename>defparams.pl</filename>, you will need to remove 
+        the cached content from the data directory (by doing a 
+        <command>rm data/versioncache</command>), or your changes won't show up.
+      </para>
 
-      <para> <filename>versioncache</filename> 
-      gets automatically regenerated whenever it's more than
-      an hour old, so Bugzilla will eventually notice your changes by itself,
-      but generally you want it to notice right away, so that you can test
-      things.</para>
+      <para>
+        <filename>versioncache</filename> gets regenerated automatically
+        whenever it's more than an hour old, so Bugzilla will eventually
+        notice your changes by itself, but generally you want it to notice
+        right away, so that you can test things.
+      </para>
     </section>
 
   <section id="dbdoc">
diff --git a/docs/xml/faq.xml b/docs/xml/faq.xml
index 2eba96a1819f3f7909fcb1383628bcee1730740f..fde17b8ea57d785dc853668e9c7ea3aafb4a1b1b 100644
--- a/docs/xml/faq.xml
+++ b/docs/xml/faq.xml
@@ -14,165 +14,204 @@
       <title>General Questions</title>
 
       <qandaentry>
-	<question id="faq-general-license">
-	  <para>
-	    What license is Bugzilla distributed under?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Bugzilla is covered by the Mozilla Public License.
-	    See details at <ulink url="http://www.mozilla.org/MPL/"/>.
-	  </para>
-	</answer>
+        <question id="faq-general-license">
+          <para>
+            What license is Bugzilla distributed under?
+          </para>
+        </question>
+        <answer>
+          <para>
+            Bugzilla is covered by the Mozilla Public License.
+            See details at <ulink url="http://www.mozilla.org/MPL/"/>.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-general-support">
-	  <para>
-	    How do I get commercial support for Bugzilla?
-	  </para>
-	</question>
-	<answer>
-          <para>
-            <ulink url="http://bugzilla.org/consulting.html"/>
-            is a list of people and companies who have asked us to list them
-            as consultants for Bugzilla.
-          </para>
-	  <para>
-	    There are several experienced
-	    Bugzilla hackers on the mailing list/newsgroup who are willing
-	    to make themselves available for generous compensation.
-	    Try sending a message to the mailing list asking for a volunteer.
-	  </para>
-	</answer>
+        <question id="faq-general-support">
+          <para>
+            How do I get commercial support for Bugzilla?
+          </para>
+        </question>
+        <answer>
+          <para>
+            <ulink url="http:/www.bugzilla.org/support/consulting.html"/>
+            is a list of companies and individuals who have asked us to
+            list them as consultants for Bugzilla.
+          </para>
+          <para>
+            There are several experienced
+            Bugzilla hackers on the mailing list/newsgroup who are willing
+            to make themselves available for generous compensation.
+            Try sending a message to the mailing list asking for a volunteer.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-general-companies">
-	  <para>
-	    What major companies or projects are currently using Bugzilla
-	    for bug-tracking?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    There are <emphasis>dozens</emphasis> of major companies with public
-	    Bugzilla sites to track bugs in their products. We have a fairly
+        <question id="faq-general-companies">
+          <para>
+            What major companies or projects are currently using Bugzilla
+            for bug-tracking?
+          </para>
+        </question>
+        <answer>
+          <para>
+            There are <emphasis>dozens</emphasis> of major companies with public
+            Bugzilla sites to track bugs in their products. We have a fairly
             complete list available on our website at
             <ulink url="http://bugzilla.org/installation-list/"/>. If you
             have an installation of Bugzilla and would like to be added to the
             list, whether it's a public install or not, simply e-mail
             Gerv <email>gerv@mozilla.org</email>.
-	  </para>
-	</answer>
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-general-maintainers">
-	  <para>
-	    Who maintains Bugzilla?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    A 
-      <ulink url="http://www.bugzilla.org/who_we_are.html">core team</ulink>,
-      led by Dave Miller (justdave@bugzilla.org).
-	  </para>
-	</answer>
+        <question id="faq-general-maintainers">
+          <para>
+            Who maintains Bugzilla?
+          </para>
+        </question>
+        <answer>
+          <para>
+            A <ulink url="http://www.bugzilla.org/developers/profiles.html">core
+            team</ulink>, led by Dave Miller (justdave@bugzilla.org).
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-general-compare">
-	  <para>
-	    How does Bugzilla stack up against other bug-tracking databases?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    We can't find any head-to-head comparisons of Bugzilla against
-	    other defect-tracking software. If you know of one, please
-      get in touch. However, from the author's personal
-	    experience with other bug-trackers, Bugzilla offers
-	    superior performance on commodity hardware, better price
-	    (free!), more developer- friendly features (such as stored
-	    queries, email integration, and platform independence),
-	    improved scalability, open source code, greater
-	    flexibility, and superior ease-of-use.
-	  </para>
-	  <para>
-	    If you happen to be a commercial bug-tracker vendor, please
-	    step forward with a list of advantages your product has over
-      Bugzilla. We'd be happy to include it in the "Competitors"
-      section.
-	  </para>
-	</answer>
+        <question id="faq-general-compare">
+          <para>
+            How does Bugzilla stack up against other bug-tracking databases?
+          </para>
+        </question>
+        <answer>
+          <para>
+            We can't find any head-to-head comparisons of Bugzilla against
+            other defect-tracking software. If you know of one, please get
+            in touch. In the experience of Matthew Barnson (the original
+            author of this FAQ), though, Bugzilla offers superior
+            performance on commodity hardware, better price (free!), more
+            developer-friendly features (such as stored queries, email
+            integration, and platform independence), improved scalability,
+            greater flexibility, and superior ease-of-use when compared
+            to commercial bug-tracking software.
+          </para>
+          <para>
+            If you happen to be a vendor for commercial bug-tracking
+            software, and would like to submit a list of advantages your
+            product has over Bugzilla, simply send it to 
+            <email>documentation@bugzilla.org</email> and we'd be happy to
+            include the comparison in our documentation.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-general-bzmissing">
-	  <para>
-	    Why doesn't Bugzilla offer this or that feature or compatibility
-	    with this other tracking software?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    It may be that the support has not been built yet, or that you
-	    have not yet found it. Bugzilla is making tremendous strides in
-	    usability, customizability, scalability, and user interface. It
-	    is widely considered the most complete and popular open-source
-	    bug-tracking software in existence.
-	  </para>
-	  <para>
-	    That doesn't mean it can't use improvement!
-	    You can help the project along by either hacking a patch yourself
-	    that supports the functionality you require, or else submitting a
-	    "Request for Enhancement" (RFE) using the bug submission interface
-	    at <ulink url="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla">bugzilla.mozilla.org</ulink>.
-	  </para>
-	</answer>
+        <question id="faq-general-bzmissing">
+          <para>
+            Why doesn't Bugzilla offer this or that feature or compatibility
+            with this other tracking software?
+          </para>
+        </question>
+        <answer>
+          <para>
+            It may be that the support has not been built yet, or that you
+            have not yet found it. While Bugzilla makes strides in usability,
+            customizability, scalability, and user interface with each release,
+            that doesn't mean it can't still use improvement!
+          </para>
+          <para>
+            The best way to make an enhancement request is to <ulink 
+            url="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla">file
+            a bug at bugzilla.mozilla.org</ulink> and set the Severity
+            to 'enhancement'. Your 'request for enhancement' (RFE) will
+            start out in the UNCONFIRMED state, and will stay there until
+            someone with the ability to COMFIRM the bug reviews it.
+            If that person feels it to be a good request that fits in with
+            Bugzilla's overall direction, the status will be changed to
+            NEW; if not, they will probably explain why and set the bug
+            to RESOLVED/WONTFIX. If someone else has made the same (or
+            almost the same) request before, your request will be marked
+            RESOLVED/DUPLICATE, and a pointer to the previous RFE will be
+            added.
+          </para>
+          <para>
+            Even if your RFE gets approved, that doesn't mean it's going
+            to make it right into the next release; there are a limited
+            number of developers, and a whole lot of RFEs... some of
+            which are <emphasis>quite</emphasis> complex. If you're a
+            code-hacking sort of person, you can help the project along
+            by making a patch yourself that supports the functionality
+            you require. If you have never contributed anything to
+            Bugzilla before, please be sure to read the 
+            <ulink url="http://www.bugzilla.org/docs/developer.html">Developers' Guide</ulink>
+            and
+            <ulink url="http://www.bugzilla.org/docs/contributor.html">Contributors' Guide</ulink>
+            before going ahead.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-general-mysql">
-	  <para>
-	    Why MySQL?  I'm interested in seeing Bugzilla run on
-	    Oracle/Sybase/Msql/PostgreSQL/MSSQL.
-	  </para>
-	</question>
-	<answer>
-	  <para>
+        <question id="faq-general-mysql">
+          <para>
+            Why MySQL?  I'm interested in seeing Bugzilla run on
+            PostgreSQL/Sybase/Oracle/Msql/MSSQL.
+          </para>
+        </question>
+        <answer>
+          <para>
             MySQL was originally chosen because it is free, easy to install,
             and was available for the hardware Netscape intended to run it on.
-	  </para>
+          </para>
           <para>
             There is currently work in progress to make Bugzilla work on
-            PostgreSQL and Sybase in the default distribution. You can track
-            the progress of these initiatives in <ulink
-            url="http://bugzilla.mozilla.org/show_bug.cgi?id=98304">bug 98304</ulink>
-            and <ulink
-            url="http://bugzilla.mozilla.org/show_bug.cgi?id=173130">bug 173130</ulink>
-            respectively.
+            PostgreSQL; track the progress of this initiative in <ulink
+            url="http://bugzilla.mozilla.org/show_bug.cgi?id=98304">bug 98304</ulink>.
           </para>
           <para>
-            Once both of these are done, adding support for additional
-            database servers should be trivial.
+            Sybase support is no longer being worked on.  Even if it eventually
+            happens, it's VERY unlikely to work without the end-user-company
+            having to stick a few developers on making several manual changes.
+            Sybase is just NOT very standards-compliant (despite all the hype),
+            and it turned out that way too much had to be changed to make it
+            work -- like moving half of the application logic into stored
+            procedures to get any kind of decent performance out of it.
+            <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=173130">Bug
+            173130</ulink> is the relevant bug.
           </para>
-	</answer>
+          <para>
+            Red Hat once ran a version of Bugzilla that worked on Oracle, 
+            but that was long, long ago; that version (Bugzilla 2.8) is
+            now obsolete, insecure, and totally unsupported. Red Hat's
+            current Bugzilla (based on Bugzilla 2.17.1) uses PostgreSQL,
+            and work is being done to merge those changes into the main
+            distribution. (See above.) At this time we know of no recent
+            ports of Bugzilla to Oracle. (In our honest opinion, Bugzilla
+            doesn't need what Oracle offers.)
+          </para>
+          <para>
+            <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=237862">Bug
+            237862</ulink> is a good bug to read through if you'd like to see
+            what progress is being made on general database compatibility.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-general-bonsaitools">
-	  <para>
-	    What is <filename>/usr/bonsaitools/bin/perl</filename>?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-            Bugzilla used to have the path to perl on the shebang line set to
-            <filename>/usr/bonsaitools/bin/perl</filename> because when
+        <question id="faq-general-bonsaitools">
+          <para>
+            What is <filename>/usr/bonsaitools/bin/perl</filename>?
+          </para>
+        </question>
+        <answer>
+          <para>
+            Bugzilla used to have the path to perl on the shebang line set
+            to <filename>/usr/bonsaitools/bin/perl</filename> because when
             Terry first started writing the code for mozilla.org he needed a
             version of Perl and other tools that were completely under his
             control. This location was abandoned for the 2.18 release in favor
@@ -182,52 +221,89 @@
             anything else, such as Bonsai, using it and you don't intend to
             reinstall an older version of Bugzilla).
           </para>
-	</answer>
+        </answer>
       </qandaentry>
 
       <qandaentry>
         <question id="faq-general-perlpath">
           <para>
-            My perl is not located at <filename>/usr/bin/perl</filename>, is
-            there an easy way to change it everywhere it needs to be changed?
+            My perl is located at <filename>/usr/local/bin/perl</filename>
+            and not <filename>/usr/bin/perl</filename>. Is there an easy
+            to change that in all the files that have this hard-coded?
           </para>
         </question>
         <answer>
           <para>
-            Yes, the following bit of perl magic will change all the shebang
-            lines. Be sure to change <filename>/usr/local/bin/perl</filename>
-            to your path to the perl binary.
+            The easiest way to get around this is to create a link from
+            one to the other:
+            <command>ln -s /usr/local/bin/perl /usr/bin/perl</command>.
+            If that's not an option for you, the following bit of perl
+            magic will change all the shebang lines (that is to say,
+            the line at the top of each file that starts with '#!' 
+            and contains the path) to something else:
           </para>
           <programlisting>
 perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
           </programlisting>
+          <para>
+            Sadly, this command-line won't work on Windows unless you
+            also have Cygwin. However, MySQL comes with a binary called
+            <command>replace</command> which can do the job:
+          </para>
+          <programlisting>
+C:\mysql\bin\replace "#!/usr/bin/perl" "#!C:\perl\bin\perl" -- *.cgi *.pl
+          </programlisting>
+          <note>
+            <para>
+              If your perl path is something else again, just follow the
+              above examples and replace
+              <filename>/usr/local/bin/perl</filename> with your own perl path.
+            </para>            
+          </note>
+          <para>
+            If using Apache on Windows, you can avoid the whole problem
+            by setting the <ulink
+            url="http://httpd.apache.org/docs-2.0/mod/core.html#scriptinterpretersource">
+            ScriptInterpreterSource</ulink> directive to 'Registry'.
+            (If using Apache 2 or higher, set it to 'Registry-Strict'.)
+            ScriptInterperterSource requires a registry entry
+            <quote>HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command</quote> to
+            associate .cgi files with your perl executable. If one does
+            not already exist, create it with a default value of
+           <quote>&lt;full path to perl&gt; -T</quote>, e.g.
+           <quote>C:\Perl\bin\perl.exe -T</quote>.
+          </para>
         </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-general-cookie">
-	  <para>
-	    Is there an easy way to change the Bugzilla cookie name?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    At present, no.
-	  </para>
-	</answer>
+        <question id="faq-general-cookie">
+          <para>
+            Is there an easy way to change the Bugzilla cookie name?
+          </para>
+        </question>
+        <answer>
+          <para>
+            At present, no.
+          </para>
+        </answer>
       </qandaentry>
       
       <qandaentry>
-	<question id="faq-mod-perl">
-	  <para>
-	    Does bugzilla run under <filename>mod_perl</filename>?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    At present, no. This is being worked on.
-	  </para>
-	</answer>
+        <question id="faq-mod-perl">
+          <para>
+            Does bugzilla run under <filename>mod_perl</filename>?
+          </para>
+        </question>
+        <answer>
+          <para>
+            At present, no. Work is slowly taking place to remove global
+            variables, use $cgi, and use DBI. These are all necessary for
+            mod_perl (as well as being good for other reasons). Visit 
+            <ulink url="https://bugzilla.mozilla.org/show_bug.cgi?id=87406">
+            bug 87406</ulink> to view the discussion and progress.
+          </para>
+        </answer>
       </qandaentry>
       
     </qandadiv>
@@ -236,115 +312,118 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
       <title>Managerial Questions</title>
 
       <qandaentry>
-	<question id="faq-phb-client">
-	  <para>
-	    Is Bugzilla web-based, or do you have to have specific software or
-	    a specific operating system on your machine?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    It is web and e-mail based.
-	  </para>
-	</answer>
+        <question id="faq-phb-client">
+          <para>
+            Is Bugzilla web-based, or do you have to have specific software or
+            a specific operating system on your machine?
+          </para>
+        </question>
+        <answer>
+          <para>
+            It is web and e-mail based.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-phb-priorities">
-	  <para>
-	    Does Bugzilla allow us to define our own priorities and levels? Do we
-	    have complete freedom to change the labels of fields and format of them, and
-	    the choice of acceptable values?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Yes. However, modifying some fields, notably those related to bug
-	    progression states, also require adjusting the program logic to
-	    compensate for the change.
-	  </para>
-	  <para>
-	    There is no GUI for adding fields to Bugzilla at this
-	    time. You can follow development of this feature in 
-	    <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=91037">bug 91037</ulink>
-	  </para>
-	</answer>
+        <question id="faq-phb-priorities">
+          <para>
+            Does Bugzilla allow us to define our own priorities and levels?
+            Do we have complete freedom to change the labels of fields and
+            format of them, and the choice of acceptable values?
+          </para>
+        </question>
+        <answer>
+          <para>
+            Yes. However, modifying some fields, notably those related to bug
+            progression states, also require adjusting the program logic to
+            compensate for the change.
+          </para>
+          <para>
+            There is no GUI for adding fields to Bugzilla at this
+            time. You can follow development of this feature in 
+            <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=91037">bug 91037</ulink>
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-phb-reporting">
-	  <para>
-	    Does Bugzilla provide any reporting features, metrics, graphs, etc? You
-	    know, the type of stuff that management likes to see. :)
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Yes. Look at <ulink url="http://bugzilla.mozilla.org/report.cgi"/>
+        <question id="faq-phb-reporting">
+          <para>
+            Does Bugzilla provide any reporting features, metrics, graphs,
+            etc? You know, the type of stuff that management likes to see. :)
+          </para>
+        </question>
+        <answer>
+          <para>
+            Yes. Look at <ulink url="http://bugzilla.mozilla.org/report.cgi"/>
             for samples of what Bugzilla can do in reporting and graphing.
-	  </para>
-	  <para>
+            Fuller documentation is provided in <xref linkend="reporting"/>.
+          </para>
+          <para>
             If you can not get the reports you want from the included reporting
             scripts, it is possible to hook up a professional reporting package
             such as Crystal Reports using ODBC. If you choose to do this,
             beware that giving direct access to the database does contain some
             security implications. Even if you give read-only access to the
             bugs database it will bypass the secure bugs features of Bugzilla.
-	  </para>
-	</answer>
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-phb-email">
-	  <para>
-	    Is there email notification and if so, what do you see when you get an
-	    email?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Email notification is user-configurable. By default, the bug id and 
-      summary of the bug report accompany each email notification, along with
-	    a list of the changes made.
-	  </para>
-	</answer>
+        <question id="faq-phb-email">
+          <para>
+            Is there email notification? If so, what do you see
+            when you get an email?
+          </para>
+        </question>
+        <answer>
+          <para>
+            Email notification is user-configurable. By default, the bug id
+            and summary of the bug report accompany each email notification,
+            along with a list of the changes made.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-phb-emailapp">
-	  <para>
-	    Do users have to have any particular
-	    type of email application?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Bugzilla email is sent in plain text, the most compatible mail format
-	    on the planet.
-	    <note>
-	      <para>
-		If you decide to use the bugzilla_email integration features
-		to allow Bugzilla to record responses to mail with the associated bug,
-		you may need to caution your users to set their mailer to "respond
-		to messages in the format in which they were sent". For security reasons
-		Bugzilla ignores HTML tags in comments, and if a user sends HTML-based
-		email into Bugzilla the resulting comment looks downright awful.
-	      </para>
-	    </note>
-	  </para>
-	</answer>
+        <question id="faq-phb-emailapp">
+          <para>
+            Do users have to have any particular
+            type of email application?
+          </para>
+        </question>
+        <answer>
+          <para>
+            Bugzilla email is sent in plain text, the most compatible
+            mail format on the planet.
+            <note>
+              <para>
+                If you decide to use the bugzilla_email integration features
+                to allow Bugzilla to record responses to mail with the
+                associated bug, you may need to caution your users to set
+                their mailer to <quote>respond to messages in the format in
+                which they were sent</quote>. For security reasons Bugzilla
+                ignores HTML tags in comments, and if a user sends HTML-based
+                email into Bugzilla the resulting comment looks downright awful.
+              </para>
+            </note>
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-phb-data">
-	  <para>
-	    Does Bugzilla allow data to be imported and exported? If I had outsiders
-	    write up a bug report using a MS Word bug template, could that template be
-	    imported into "matching" fields? If I wanted to take the results of a query
-	    and export that data to MS Excel, could I do that?
-	  </para>
-	</question>
-	<answer>
+        <question id="faq-phb-data">
+          <para>
+            Does Bugzilla allow data to be imported and exported? If I had
+            outsiders write up a bug report using a MS Word bug template,
+            could that template be imported into <quote>matching</quote>
+            fields? If I wanted to take the results of a query and export
+            that data to MS Excel, could I do that?
+          </para>
+        </question>
+        <answer>
           <para>
             Bugzilla can output buglists as HTML (the default), CSV or RDF.
             The link for CSV can be found at the bottom of the buglist in HTML
@@ -371,149 +450,285 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
             but these scripts are not currently supported and included for
             educational purposes.
           </para>
-	</answer>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-phb-l10n">
-	  <para>
-	    Has anyone converted Bugzilla to another language to be used in other
-	    countries? Is it localizable?
-	  </para>
-	</question>
-	<answer>
-	  <para>
+        <question id="faq-phb-l10n">
+          <para>
+            Has anyone converted Bugzilla to another language to be
+            used in other countries? Is it localizable?
+          </para>
+        </question>
+        <answer>
+          <para>
             Yes. For more information including available translated templates,
             see <ulink
             url="http://www.bugzilla.org/download.html#localizations"/>.
-            The admin interfaces are still not included in these translated
-            templates and is therefore still English only. Also, there may be
-            issues with the charset not being declared. See <ulink
+            Some admin interfaces have been templatized (for easy localization)
+            but many of them are still available in English only. Also, there
+            may be issues with the charset not being declared. See <ulink
             url="http://bugzilla.mozilla.org/show_bug.cgi?id=126266">bug 126226</ulink>
             for more information.
-	  </para>
-	</answer>
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-phb-reports">
-	  <para>
-	    Can a user create and save reports? Can they do this in Word format?
-	    Excel format?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Yes. No. Yes (using the CSV format).
-	  </para>
-	</answer>
+        <question id="faq-phb-reports">
+          <para>
+            Can a user create and save reports?
+            Can they do this in Word format? Excel format?
+          </para>
+        </question>
+        <answer>
+          <para>
+            Yes. No. Yes (using the CSV format).
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-phb-midair">
-	  <para>
-	     Does Bugzilla provide record locking when there is simultaneous access
-	    to the same bug? Does the second person get a notice that the bug is in use
-	    or how are they notified?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Bugzilla does not lock records. It provides mid-air collision detection,
-	    and offers the offending user a choice of options to deal with the conflict.
-	  </para>
-	</answer>
+        <question id="faq-phb-backup">
+          <para>
+            Are there any backup features provided?
+          </para>
+        </question>
+        <answer>
+          <para>
+            MySQL, the database back-end for Bugzilla, allows hot-backup
+            of data. You can find strategies for dealing with backup
+            considerations at <ulink
+            url="http://www.mysql.com/doc/B/a/Backup.html"/>.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-phb-backup">
-	  <para>
-	    Are there any backup features provided?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    MySQL, the database back-end for Bugzilla, allows hot-backup of data.
-	    You can find strategies for dealing with backup considerations
-	    at <ulink url="http://www.mysql.com/doc/B/a/Backup.html"/>.
-	  </para>
-	</answer>
+        <question id="faq-phb-maintenance">
+          <para>
+            What type of human resources are needed to be on staff to install
+            and maintain Bugzilla? Specifically, what type of skills does the
+            person need to have? I need to find out what types of individuals
+            would we need to hire and how much would that cost if we were to
+            go with Bugzilla vs. buying an <quote>out-of-the-box</quote>
+            solution.
+          </para>
+        </question>
+        <answer>
+          <para>
+            If Bugzilla is set up correctly from the start, continuing
+            maintenance needs are minimal and can be done easily using
+            the web interface.
+          </para>
+          <para>
+            Commercial Bug-tracking software typically costs somewhere
+            upwards of $20,000 or more for 5-10 floating licenses. Bugzilla
+            consultation is available from skilled members of the newsgroup.
+            Simple questions are answered there and then.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-phb-livebackup">
-	  <para>
-	    Can users be on the system while a backup is in progress?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Yes. However, commits to the database must wait
-	    until the tables are unlocked. Bugzilla databases are typically
-	    very small, and backups routinely take less than a minute.
-	  </para>
-	</answer>
+        <question id="faq-phb-installtime">
+          <para>
+            What time frame are we looking at if we decide to hire people
+            to install and maintain the Bugzilla? Is this something that
+            takes hours or days to install and a couple of hours per week
+            to maintain and customize, or is this a multi-week install process,
+            plus a full time job for 1 person, 2 people, etc?
+          </para>
+        </question>
+        <answer>
+          <para>
+            It all depends on your level of commitment. Someone with much
+            Bugzilla experience can get you up and running in less than a day,
+            and your Bugzilla install can run untended for years. If your
+            Bugzilla strategy is critical to your business workflow, hire
+            somebody to who has reasonable Perl skills, and a familiarity
+            with the operating system on which Bugzilla will be running,
+            and have them handle your process management, bug-tracking
+            maintenance, and local customization.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-phb-maintenance">
-	  <para>
-	    What type of human resources are needed to be on staff to install and
-	    maintain Bugzilla? Specifically, what type of skills does the person need to
-	    have? I need to find out if we were to go with Bugzilla, what types of
-	    individuals would we need to hire and how much would that cost vs buying an
-	    "out-of-the-box" solution?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    If Bugzilla is set up correctly from the start, continuing maintenance
-      needs are minimal and can be done easily using the web interface.
-	  </para>
-	  <para>
-	    Commercial Bug-tracking software typically costs somewhere upwards
-	    of $20,000 or more for 5-10 floating licenses. Bugzilla consultation
-	    is available from skilled members of the newsgroup. Simple questions
-      are answered there and then.
-	  </para>
-	</answer>
+        <question id="faq-phb-cost">
+          <para>
+            Is there any licensing fee or other fees for using Bugzilla? Any
+            out-of-pocket cost other than the bodies needed as identified above?
+          </para>
+        </question>
+        <answer>
+          <para>
+            No. Bugzilla, Perl, the Template Toolkit, and all other support
+            software needed to make Bugzilla work can be downloaded for free.
+            MySQL -- the database used by Bugzilla -- is also open-source, but
+            they ask that if you find their product valuable, you purchase a
+            support contract from them that suits your needs.
+          </para>
+        </answer>
+      </qandaentry>
+
+      <qandaentry>
+        <question id="faq-phb-renameBugs">
+          <para>
+            We don't like referring to problems as 'bugs'. Can we change that?
+          </para>
+        </question>
+        <answer>
+          <para>
+            Yes! As of Bugzilla 2.18, it is a simple matter to change the
+            word 'bug' into whatever word/phrase is used by your organization.
+            See the documentation on Customization for more details,
+            specifically <xref linkend="template-specific"/>.
+          </para>
+        </answer>      
+      </qandaentry>
+
+    </qandadiv>
+
+    <qandadiv id="faq-admin">
+      <title>Administrative Questions</title>
+
+      <qandaentry>
+        <question id="faq-admin-midair">
+          <para>
+            Does Bugzilla provide record locking when there is simultaneous
+            access to the same bug? Does the second person get a notice
+            that the bug is in use or how are they notified?
+          </para>
+        </question>
+        <answer>
+          <para>
+            Bugzilla does not lock records. It provides mid-air collision
+            detection -- which means that it warns a user when a commit is
+            about to conflict with commits recently made by another user,
+            and offers the second user a choice of options to deal with
+            the conflict.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-phb-installtime">
-	  <para>
-	    What time frame are we looking at if we decide to hire people to install
-	    and maintain the Bugzilla? Is this something that takes hours or weeks to
-	    install and a couple of hours per week to maintain and customize or is this
-	    a multi-week install process, plus a full time job for 1 person, 2 people,
-	    etc?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    It all depends on your level of commitment. Someone with much Bugzilla
-	    experience can get you up and running in less than a day, and
-	    your Bugzilla install can run untended for years. If your
-	    Bugzilla strategy is critical to your business workflow, hire somebody
-	    with reasonable UNIX or Perl skills to handle your process management and
-	    bug-tracking maintenance &amp; customization.
-	  </para>
-	</answer>
+        <question id="faq-admin-livebackup">
+          <para>
+            Can users be on the system while a backup is in progress?
+          </para>
+        </question>
+        <answer>
+          <para>
+            Yes, but commits to the database must wait until the tables
+            are unlocked. Bugzilla databases are typically very small,
+            and backups routinely take less than a minute. If your database
+            is larger, you may want to look into alternate backup
+            techniques, such as database replication, or backing up from
+            a read-only mirror. (Read up on these in the MySQL docs
+            on the MySQL site.)
+          </para>
+        </answer>
+      </qandaentry>
+
+      <qandaentry>
+        <question id="faq-admin-cvsupdate">
+          <para>
+            How can I update the code and the database using CVS?
+          </para>
+        </question>
+        <answer>
+          <para>
+            <orderedlist>
+              <listitem>
+                <para>
+                  Make a backup of both your Bugzilla directory and the
+                  database. For the Bugzilla directory this is as easy as
+                  doing <command>cp -rp bugzilla bugzilla.bak</command>.
+                  For the database, there's a number of options - see the
+                  MySQL docs and pick the one that fits you best (the easiest
+                  is to just make a physical copy of the database on the disk,
+                  but you have to have the database server shut down to do
+                  that without risking dataloss).
+                </para>
+              </listitem>
+
+              <listitem>
+                <para>
+                  Make the Bugzilla directory your current directory.
+                </para>
+              </listitem>
+
+              <listitem>
+                <para>
+                  Use <command>cvs -q update -AdP</command> if you want to
+                  update to the tip or
+                  <command>cvs -q update -dP -rTAGNAME</command>
+                  if you want a specific version (in that case you'll have to
+                  replace TAGNAME with a CVS tag name such as BUGZILLA-2_16_5).
+                </para>
+
+                <para>
+                  If you've made no local changes, this should be very clean.
+                  If you have made local changes, then watch the cvs output
+                  for C results. If you get any lines that start with a C
+                  it means there  were conflicts between your local changes
+                  and what's in CVS. You'll need to fix those manually before
+                  continuing.
+                </para>
+              </listitem>
+
+              <listitem>
+                <para>
+                  After resolving any conflicts that the cvs update operation
+                  generated, running <command>./checksetup.pl</command> will
+                  take care of updating the database for you as well as any
+                  other changes required for the new version to operate.
+                </para>
+
+                <warning>
+                  <para>
+                    Once you run checksetup.pl, the only way to go back is
+                    to restore the database backups. You can't
+                    <quote>downgrade</quote> the system cleanly under most
+                    circumstances.
+                  </para>
+                </warning>
+              </listitem>
+            </orderedlist>
+          </para>
+          <para>
+            See also the instructions in <xref linkend="upgrade-cvs"/>.
+          </para>      
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-phb-cost">
-	  <para>
-	    Is there any licensing fee or other fees for using Bugzilla? Any
-	    out-of-pocket cost other than the bodies needed as identified above?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    No. MySQL asks, if you find their product valuable, that you purchase
-	    a support contract from them that suits your needs.
-	  </para>
-	</answer>
+        <question id="faq-admin-enable-unconfirmed">
+          <para>
+            How do I make it so that bugs can have an UNCONFIRMED status?
+          </para>
+        </question>
+        <answer>
+          <para>
+            To use the UNCONFIRMED status, you must have the 'usevotes'
+            parameter set to <quote>On</quote>. You must then visit the
+            <filename>editproducts.cgi</filename> page and set the <quote>
+            Number of votes a bug in this product needs to automatically
+            get out of the UNCONFIRMED state</quote> to be a non-zero number.
+            (You will have to do this for each product that wants to use
+            the UNCONFIRMED state.) If you do not actually want users to be
+            able to vote for bugs entered against this product, leave the
+            <quote>Maximum votes per person</quote> value at '0'.
+          </para>            
+          <para>
+            There is work being done to decouple the UNCONFIRMED state from
+            the 'usevotes' parameter for future versions of Bugzilla.
+            Follow the discussion and progress at <ulink 
+            url="https://bugzilla.mozilla.org/show_bug.cgi?id=162060">bug
+            162060</ulink>.
+          </para>
+        </answer>
       </qandaentry>
     </qandadiv>
 
@@ -521,36 +736,46 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
       <title>Bugzilla Security</title>
 
       <qandaentry>
-	<question id="faq-security-mysql">
-	  <para>
-	    How do I completely disable MySQL security if it's giving me problems
-	    (I've followed the instructions in the installation section of this guide)?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Run MySQL like this: "mysqld --skip-grant-tables". Please remember <emphasis>this
-	    makes MySQL as secure as taping a $100 to the floor of a football stadium
-	    bathroom for safekeeping.</emphasis> 
-	  </para>
-	</answer>
+        <question id="faq-security-mysql">
+          <para>
+            How do I completely disable MySQL security if it's giving
+            me problems? (I've followed the instructions in the installation
+            section of this guide...)
+          </para>
+        </question>
+        <!-- Should we really even answer this question? -->
+        <answer>
+          <para>
+            Run MySQL like this: <command>mysqld --skip-grant-tables</command>.
+            Please remember that <emphasis>this makes MySQL as secure as
+            taping a $100 to the floor of a football stadium bathroom for
+            safekeeping.</emphasis> 
+          </para>
+          <warning>
+            <para>
+              This can't be stressed enough. Doing this is a bad idea.
+              Please consult <xref linkend="security-mysql"/> of this guide
+              and the MySQL documentation for better solutions.
+            </para>
+          </warning>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-security-knownproblems">
-	  <para>
-	    Are there any security problems with Bugzilla?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    The Bugzilla code has undergone a reasonably complete security audit,
-      and user-facing CGIs run under Perl's taint mode. However, 
-	    it is recommended that you closely examine permissions on your Bugzilla
-	    installation, and follow the recommended security guidelines found
-	    in The Bugzilla Guide.
-	  </para>
-	</answer>
+        <question id="faq-security-knownproblems">
+          <para>
+            Are there any security problems with Bugzilla?
+          </para>
+        </question>
+        <answer>
+          <para>
+            The Bugzilla code has undergone a reasonably complete security
+            audit, and user-facing CGIs run under Perl's taint mode. However, 
+            it is recommended that you closely examine permissions on your
+            Bugzilla installation, and follow the recommended security
+            guidelines found in The Bugzilla Guide.
+          </para>
+        </answer>
       </qandaentry>
     </qandadiv>
 
@@ -558,111 +783,175 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
       <title>Bugzilla Email</title>
 
       <qandaentry>
-	<question id="faq-email-nomail">
-	  <para>
-	    I have a user who doesn't want to receive any more email from Bugzilla.
-	    How do I stop it entirely for this user?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    The user should be able to set
-	    this in user email preferences (uncheck all boxes) or you can add
-            their email address to the <filename>data/nomail</filename> file.
-	  </para>
-	</answer>
+        <question id="faq-email-nomail">
+          <para>
+            I have a user who doesn't want to receive any more email
+            from Bugzilla. How do I stop it entirely for this user?
+          </para>
+        </question>
+        <answer>
+          <para>
+            The user can stop Bugzilla from sending any mail by unchecking
+            all boxes on the 'Edit prefs' -> 'Email settings' page.
+            (As of 2.18,this is made easier by the addition of a 'Disable
+            All Mail' button.) Alternately, you can add their email address
+            to the <filename>data/nomail</filename> file (one email address
+            per line). This will override their personal preferences, and
+            they will never be sent mail again.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-email-testing">
-	  <para>
-	    I'm evaluating/testing Bugzilla, and don't want it to send email to
-	    anyone but me. How do I do it?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Edit the "newchangedmail" Param. Replace "To:" with "X-Real-To:",
-	    replace "Cc:" with "X-Real-CC:", and add a "To: &lt;youremailaddress&gt;".
-	  </para>
-	</answer>
+        <question id="faq-email-testing">
+          <para>
+            I'm evaluating/testing Bugzilla, and don't want it to send email
+            to anyone but me. How do I do it?
+          </para>
+        </question>
+        <answer>
+          <para>
+            To disable email, set the
+            <programlisting>$enableSendMail</programlisting> parameter to '0'
+            in either <filename>BugMail.pm</filename> (2.18 and later) or 
+            <filename>processmail</filename> (up to 2.16.x).
+          </para>
+          <note>
+            <para>
+              Up to 2.16.x, changing
+              <programlisting>$enableSendMail</programlisting>
+              will only affect bugmail; email related to password changes,
+              email address changes, bug imports, flag changes, etc. will
+              still be sent out. As of the final release of 2.18, however,
+              the above step will disable <emphasis>all</emphasis> mail
+              sent from Bugzilla for any purpose.
+            </para>
+          </note>
+          <para>
+            To have bugmail (and only bugmail) redirected to you instead of
+            its intended recipients, leave
+            <programlisting>$enableSendMail</programlisting> alone;
+            instead, edit the <quote>newchangedmail</quote> parameter
+            as follows:
+          </para>
+          <itemizedlist>
+            <listitem>
+              <para>
+                Replace <quote>To:</quote> with <quote>X-Real-To:</quote>
+              </para>
+            </listitem>
+            <listitem>
+              <para>
+                Replace <quote>Cc:</quote> with <quote>X-Real-CC:</quote>
+              </para>
+            </listitem>
+            <listitem>
+              <para>
+                Add a <quote>To: %lt;your_email_address&gt;</quote>
+              </para>
+            </listitem>
+          </itemizedlist>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-email-whine">
-	  <para>
-	    I want whineatnews.pl to whine at something other than new and
-	    reopened bugs. How do I do it?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Try Klaas Freitag's excellent patch for "whineatassigned"
-            functionality. You can find it in <ulink
-            url="http://bugzilla.mozilla.org/show_bug.cgi?id=6679">bug 6679</ulink>. This
-	    patch is against an older version of Bugzilla, so you must apply
-	    the diffs manually.
-            <!-- TODO: Mention Joel's "Fine Whine" patch. -->
-	  </para>
-	</answer>
+        <question id="faq-email-whine">
+          <para>
+            I want whineatnews.pl to whine at something other than new and
+            reopened bugs. How do I do it?
+          </para>
+        </question>
+        <answer>
+          <para>
+            For older versions of Bugzilla, you may be able to apply 
+            Klaas Freitag's patch for <quote>whineatassigned</quote>,
+            which can be found in
+            <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=6679">bug
+            6679</ulink>. Note that this patch was made in 2000, so it may take
+            some work to apply cleanly to any releases of Bugzilla newer than
+            that, but you can use it as a starting point.
+          </para>
+
+          <para>
+            An updated (and much-expanded) version of this functionality is
+            due to be released as part of Bugzilla 2.20; see 
+            <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=185090">bug
+            185090</ulink> for the discussion, and for more up-to-date patches
+            if you just can't wait.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-email-mailif">
-	  <para>
-	    How do I set up the email interface to submit/change bugs via email?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    You can find an updated README.mailif file in the contrib/ directory
-	    of your Bugzilla distribution that walks you through the setup.
-	  </para>
-	</answer>
+        <question id="faq-email-mailif">
+          <para>
+            How do I set up the email interface to submit/change bugs via email?
+          </para>
+        </question>
+        <answer>
+          <para>
+            You can find an updated README.mailif file in the contrib/ directory
+            of your Bugzilla distribution that walks you through the setup.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-email-sendmailnow">
-	  <para>
-	    Email takes FOREVER to reach me from Bugzilla -- it's extremely slow.
-	    What gives?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    If you are using <application>sendmail</application>, try enabling
-            <option>sendmailnow</option> in <filename>editparams.cgi</filename>.
-            <!-- TODO provide more info about this, possibly a link to admin -->
-	  </para>
-	  <para>
-	    If you are using an alternate <glossterm linkend="gloss-mta">MTA</glossterm>,
-            make sure the options given in <filename>Bugzilla/BugMail.pm</filename>
-            and any other place where <application>sendmail</application> is called from
-	    are correct for your MTA. You should also ensure that the
-            <option>sendmailnow</option> param is set to <literal>on</literal>.
-	  </para>
-	</answer>
+        <question id="faq-email-sendmailnow">
+          <para>
+            Email takes FOREVER to reach me from Bugzilla -- it's
+            extremely slow. What gives?
+          </para>
+        </question>
+        <answer>
+          <para>
+            If you are using <application>sendmail</application>, try
+            enabling <option>sendmailnow</option> in
+            <filename>editparams.cgi</filename>. For earlier versions of
+            <application>sendmail</application>, one could achieve
+            significant performance improvement in the UI (at the cost of
+            delaying the sending of mail) by setting this parameter to
+            <literal>off</literal>. Sites with
+            <application>sendmail</application> version 8.12 (or higher)
+            should leave this <literal>on</literal>, as they will not see
+            any performance benefit.
+          </para>
+          <para>
+            If you are using an alternate
+            <glossterm linkend="gloss-mta">MTA</glossterm>, make sure the
+            options given in <filename>Bugzilla/BugMail.pm</filename>
+            and any other place where <application>sendmail</application>
+            is called are correct for your MTA.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-email-nonreceived">
-	  <para>
-	     How come email from Bugzilla changes never reaches me?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Double-check that you have not turned off email in your user preferences.
-	    Confirm that Bugzilla is able to send email by visiting the "Log In"
-	    link of your Bugzilla installation and clicking the "Email me a password"
-	    button after entering your email address.
-	  </para>
-	  <para>
-	    If you never receive mail from Bugzilla, chances are you do not have
-	    sendmail in "/usr/lib/sendmail". Ensure sendmail lives in, or is symlinked
-	    to, "/usr/lib/sendmail".
-	  </para>
-	</answer>
+        <question id="faq-email-nonreceived">
+          <para>
+             How come email from Bugzilla changes never reaches me?
+          </para>
+        </question>
+        <answer>
+          <para>
+            Double-check that you have not turned off email in your user
+            preferences. Confirm that Bugzilla is able to send email by
+            visiting the <quote>Log In</quote> link of your Bugzilla
+            installation and clicking the <quote>Email me a password</quote>
+            button after entering your email address.
+          </para>
+          <para>
+            If you never receive mail from Bugzilla, chances are you do
+            not have sendmail in "/usr/lib/sendmail". Ensure sendmail
+            lives in, or is symlinked to, "/usr/lib/sendmail".
+          </para>
+          <para>
+            If you are using an MTA other than
+            <application>sendmail</application> the
+            <option>sendmailnow</option> param must be set to
+            <literal>on</literal> or no mail will be sent.
+          </para>
+        </answer>
       </qandaentry>
     </qandadiv>
 
@@ -670,85 +959,77 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
       <title>Bugzilla Database</title>
 
       <qandaentry>
-	<question id="faq-db-oracle">
-	  <para>
-	    I've heard Bugzilla can be used with Oracle?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-            Red Hat's old version of Bugzilla (based on 2.8) worked on Oracle,
-            but it is now so old as to be obsolete, and is totally unsupported.
-            Red Hat's newer version (based on 2.17.1 and soon to be merged into
-            the main distribution) runs on PostgreSQL. At this time we know of
-            no recent ports of Bugzilla to Oracle; to be honest, Bugzilla
-            doesn't need what Oracle offers.
-	  </para>
-	</answer>
+        <question id="faq-db-corrupted">
+          <para>
+            I think my database might be corrupted, or contain
+            invalid entries. What do I do?
+          </para>
+        </question>
+        <answer>
+          <para>
+            Run the <quote>sanity check</quote> utility
+            (<filename>sanitycheck.cgi</filename>) from your web browser
+            to see! If it finishes without errors, you're
+            <emphasis>probably</emphasis> OK. If it doesn't come back
+            OK (i.e. any red letters), there are certain things
+            Bugzilla can recover from and certain things it can't. If
+            it can't auto-recover, I hope you're familiar with
+            mysqladmin commands or have installed another way to
+            manage your database. Sanity Check, although it is a good
+            basic check on your database integrity, by no means is a
+            substitute for competent database administration and
+            avoiding deletion of data. It is not exhaustive, and was
+            created to do a basic check for the most common problems
+            in Bugzilla databases.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-db-corrupted">
-	  <para>
-	    I think my database might be corrupted, or contain invalid entries. What
-	    do I do?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Run the <quote>sanity check</quote> utility
-	    (<filename>sanitycheck.cgi</filename>) from your web browser to see! 
-      If it finishes without errors, you're
-	    <emphasis>probably</emphasis> OK. If it doesn't come back
-	    OK (i.e. any red letters), there are certain things
-	    Bugzilla can recover from and certain things it can't. If
-	    it can't auto-recover, I hope you're familiar with
-	    mysqladmin commands or have installed another way to
-	    manage your database. Sanity Check, although it is a good
-	    basic check on your database integrity, by no means is a
-	    substitute for competent database administration and
-	    avoiding deletion of data. It is not exhaustive, and was
-	    created to do a basic check for the most common problems
-	    in Bugzilla databases.
-	  </para>
-	</answer>
-      </qandaentry>
+        <question id="faq-db-manualedit">
+          <para>
+            I want to manually edit some entries in my database. How?
+          </para>
+        </question>
+        <answer>
+          <para>
+            There is no facility in Bugzilla itself to do this. It's also
+            generally not a smart thing to do if you don't know exactly what
+            you're doing. If you understand SQL, though, you can use the
+            <command>mysql</command> command line utility to manually insert,
+            delete and modify table information. There are also more intuitive
+            GUI clients available. Personal favorites of the Bugzilla team
+            are <ulink url="http://www.phpmyadmin.net/">phpMyAdmin</ulink>
+            and <ulink url="http://www.mysql.com/products/mysqlcc/">MySQL
+            Control Center</ulink>.
+          </para>
 
-      <qandaentry>
-	<question id="faq-db-manualedit">
-	  <para>
-	    I want to manually edit some entries in my database. How?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	     There is no facility in Bugzilla itself to do this. It's also generally
-	    not a smart thing to do if you don't know exactly what you're doing.
-	    However, if you understand SQL you can use the <command>mysql</command>
-            command line utility to manually insert, delete and modify table
-            information. There are also more intuitive GUI clients available.
-            Personal favorites of the Bugzilla team are <ulink
-            url="http://www.phpmyadmin.net/">phpMyAdmin</ulink> and <ulink
-            url="http://www.mysql.com/downloads/gui-mycc.html">MySQL Control
-            Center</ulink>.
-	  </para>
-	</answer>
+          <para>
+            Remember, backups are your friend. Everyone makes mistakes, and
+            it's nice to have a safety net in case you mess something up.
+            Consider using <command>mysqldump</command> to make a duplicate
+            of your database before altering it manually.
+          </para>
+
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-db-permissions">
-	  <para>
-	    I think I've set up MySQL permissions correctly, but Bugzilla still can't
-	    connect.
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Try running MySQL from its binary: "mysqld --skip-grant-tables". This
-	    will allow you to completely rule out grant tables as the cause of your
-            frustration. If this Bugzilla is able to connect at this point then
-            you need to check that you have granted proper permission to the user
-            password combo defined in <filename>localconfig</filename>.
+        <question id="faq-db-permissions">
+          <para>
+            I think I've set up MySQL permissions correctly, but Bugzilla still
+            can't connect.
+          </para>
+        </question>
+        <answer>
+          <para>
+            Try running MySQL from its binary:
+            <command>mysqld --skip-grant-tables</command>.
+            This will allow you to completely rule out grant tables as the
+            cause of your frustration. If this Bugzilla is able to connect
+            at this point then you need to check that you have granted proper
+            permission to the user password combo defined in
+            <filename>localconfig</filename>.
           </para>
           <warning>
             <para>
@@ -757,34 +1038,36 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
               as a troubleshooting step.
             </para>
           </warning>
-	</answer>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-db-synchronize">
-	  <para>
-	    How do I synchronize bug information among multiple different Bugzilla
-	    databases?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Well, you can synchronize or you can move bugs. Synchronization will
-	    only work one way -- you can create a read-only copy of the database
-	    at one site, and have it regularly updated at intervals from the main
-	    database.
-	  </para>
-	  <para>
-	    MySQL has some synchronization features builtin to the latest releases.
-	    It would be great if someone looked into the possibilities there
-	    and provided a report to the newsgroup on how to effectively
-	    synchronize two Bugzilla installations.
-	  </para>
-	  <para>
-	    If you simply need to transfer bugs from one Bugzilla to another,
-	    checkout the "move.pl" script in the Bugzilla distribution.
-	  </para>
-	</answer>
+        <question id="faq-db-synchronize">
+          <para>
+            How do I synchronize bug information among multiple
+            different Bugzilla databases?
+          </para>
+        </question>
+        <answer>
+          <para>
+            Well, you can synchronize or you can move bugs.
+            Synchronization will only work one way -- you can create
+            a read-only copy of the database at one site, and have it
+            regularly updated at intervals from the main database.
+          </para>
+          <para>
+            MySQL has some synchronization features builtin to the
+            latest releases. It would be great if someone looked into
+            the possibilities there and provided a report to the
+            newsgroup on how to effectively synchronize two Bugzilla
+            installations.
+          </para>
+          <para>
+            If you simply need to transfer bugs from one Bugzilla to another,
+            checkout the <quote>move.pl</quote> script in the Bugzilla
+            distribution.
+          </para>
+        </answer>
       </qandaentry>
     </qandadiv>
 
@@ -792,108 +1075,126 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
       <title>Bugzilla and Win32</title>
 
       <qandaentry>
-	<question id="faq-nt-easiest">
-	  <para>
-	    What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Remove Windows. Install Linux. Install Bugzilla.
-	    The boss will never know the difference.
-	  </para>
-	</answer>
+        <question id="faq-nt-easiest">
+          <para>
+            What is the easiest way to run Bugzilla on Win32 (Win98+/NT/2K)?
+          </para>
+        </question>
+        <answer>
+          <para>
+            Remove Windows. Install Linux. Install Bugzilla.
+            The boss will never know the difference. B^)
+          </para>
+          <para>
+            Seriously though, making Bugzilla work easily with Windows
+            was one of the major goals of the 2.18 milestone. If the
+            necessary components are in place (perl, a webserver, an MTA, etc.)
+            then installation of Bugzilla on a Windows box should be no more
+            difficult than on any other platform. As with any installation,
+            we recommend that you carefully and completely follow the
+            installation instructions in <xref linkend="os-win32"/>.
+          </para>
+          <para>
+            While doing so, don't forget to check out the very excellent guide
+            to <ulink url="http://www.bugzilla.org/docs/win32install.html">
+            Installing Bugzilla on Microsoft Windows</ulink> written by
+            Byron Jones. Thanks, Byron!
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-nt-bundle">
-	  <para>
-	    Is there a "Bundle::Bugzilla" equivalent for Win32?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Not currently. Bundle::Bugzilla enormously simplifies Bugzilla
-	    installation on UNIX systems. If someone can volunteer to
-	    create a suitable PPM bundle for Win32, it would be appreciated.
-	  </para>
-	</answer>
+        <question id="faq-nt-bundle">
+          <para>
+            Is there a "Bundle::Bugzilla" equivalent for Win32?
+          </para>
+        </question>
+        <answer>
+          <para>
+            Not currently. Bundle::Bugzilla enormously simplifies Bugzilla
+            installation on UNIX systems. If someone can volunteer to
+            create a suitable PPM bundle for Win32, it would be appreciated.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-nt-mappings">
-	  <para>
-	    CGI's are failing with a "something.cgi is not a valid Windows NT
-	    application" error. Why?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Depending on what Web server you are using, you will have to configure
-	    the Web server to treat *.cgi files as CGI scripts. In IIS, you do this by
-	    adding *.cgi to the App Mappings with the &lt;path&gt;\perl.exe %s %s as the
-	    executable.
-	  </para>
-	  <para>
-	    Microsoft has some advice on this matter, as well:
-	    <blockquote>
-	      <para>
-		"Set application mappings. In the ISM, map the extension for the script
-		file(s) to the executable for the script interpreter. For example, you might
-		map the extension .py to Python.exe, the executable for the Python script
-		interpreter. Note For the ActiveState Perl script interpreter, the extension
-		.pl is associated with PerlIS.dll by default. If you want to change the
-		association of .pl to perl.exe, you need to change the application mapping.
-		In the mapping, you must add two percent (%) characters to the end of the
-		pathname for perl.exe, as shown in this example: c:\perl\bin\perl.exe %s %s"
-	      </para>
-	    </blockquote>
-	  </para>
-	</answer>
+        <question id="faq-nt-mappings">
+          <para>
+            CGI's are failing with a <quote>something.cgi is not a valid
+            Windows NT application</quote> error. Why?
+          </para>
+        </question>
+        <answer>
+          <para>
+            Depending on what Web server you are using, you will have to
+            configure the Web server to treat *.cgi files as CGI scripts.
+            In IIS, you do this by adding *.cgi to the App Mappings with
+            the &lt;path&gt;\perl.exe %s %s as the executable.
+          </para>
+          <para>
+            Microsoft has some advice on this matter, as well:
+            <blockquote>
+              <para>
+                <quote>Set application mappings. In the ISM, map the extension
+                for the script file(s) to the executable for the script
+                interpreter. For example, you might map the extension .py to
+                Python.exe, the executable for the Python script interpreter.
+                Note For the ActiveState Perl script interpreter, the extension
+                '.pl' is associated with PerlIS.dll by default. If you want
+                to change the association of .pl to perl.exe, you need to
+                change the application mapping. In the mapping, you must add
+                two percent (%) characters to the end of the pathname for
+                perl.exe, as shown in this example: 
+                <command>c:\perl\bin\perl.exe %s %s</command></quote>
+              </para>
+            </blockquote>
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-nt-dbi">
-	  <para>
-	    I'm having trouble with the perl modules for NT not being able to talk to
-	    to the database.
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Your modules may be outdated or inaccurate. Try:
-	    <orderedlist>
-	      <listitem>
-		<para>
-		  Hitting http://www.activestate.com/ActivePerl
-		</para>
-	      </listitem>
-	      <listitem>
-		<para>
-		  Download ActivePerl
-		</para>
-	      </listitem>
-	      <listitem>
-		<para>
-		  Go to your prompt
-		</para>
-	      </listitem>
-	      <listitem>
-		<para>
-		  Type 'ppm'
-		</para>
-	      </listitem>
-	      <listitem>
-		<para>
-		  <prompt>PPM></prompt> <command>install DBI DBD-mysql GD</command>
-		</para>
-	      </listitem>
-	    </orderedlist>
-	    I reckon TimeDate and Data::Dumper come with the activeperl. You can check
-	    the ActiveState site for packages for installation through PPM.
-	    <ulink url="http://www.activestate.com/Packages/"/>.
-	  </para>
-	</answer>
+        <question id="faq-nt-dbi">
+          <para>
+            I'm having trouble with the perl modules for NT not being
+            able to talk to the database.
+          </para>
+        </question>
+        <answer>
+          <para>
+            Your modules may be outdated or inaccurate. Try:
+            <orderedlist>
+              <listitem>
+                <para>
+                  Hitting http://www.activestate.com/ActivePerl
+                </para>
+              </listitem>
+              <listitem>
+                <para>
+                  Download ActivePerl
+                </para>
+              </listitem>
+              <listitem>
+                <para>
+                  Go to your prompt
+                </para>
+              </listitem>
+              <listitem>
+                <para>
+                  Type 'ppm'
+                </para>
+              </listitem>
+              <listitem>
+                <para>
+                  <prompt>PPM></prompt> <command>install DBI DBD-mysql GD</command>
+                </para>
+              </listitem>
+            </orderedlist>
+            I reckon TimeDate and Data::Dumper come with the activeperl.
+            You can check the ActiveState site for packages for installation
+            through PPM. <ulink url="http://www.activestate.com/Packages/"/>.
+          </para>
+        </answer>
       </qandaentry>
 
     </qandadiv>
@@ -902,108 +1203,167 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
       <title>Bugzilla Usage</title>
 
       <qandaentry>
-	<question id="faq-use-changeaddress">
-	  <para>
-	    How do I change my user name (email address) in Bugzilla?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    New in 2.16 - go to the Account section of the Preferences. You will
-      be emailed at both addresses for confirmation.
-	  </para>
-	</answer>
+        <question id="faq-use-changeaddress">
+          <para>
+            How do I change my user name (email address) in Bugzilla?
+          </para>
+        </question>
+        <answer>
+          <para>
+            New in 2.16 - go to the Account section of the Preferences. You
+            will be emailed at both addresses for confirmation.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-use-query">
-	  <para>
-	    The query page is very confusing. Isn't there a simpler way to query?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    The interface was simplified by a UI designer for 2.16. Further
-      suggestions for improvement are welcome, but we won't sacrifice power for
-      simplicity.
-	  </para>
-	</answer>
+        <question id="faq-use-query">
+          <para>
+            The query page is very confusing.
+            Isn't there a simpler way to query?
+          </para>
+        </question>
+        <answer>
+          <para>
+            The interface was simplified by a UI designer for 2.16. Further
+            suggestions for improvement are welcome, but we won't sacrifice
+            power for simplicity.
+          </para>
+          <para>
+            As of 2.18, there is also a 'simpler' search available. At the top
+            of the search page are two links; <quote>Advanced Search</quote>
+            will take you to the familiar full-power/full-complexity search
+            page. The <quote>Find a Specific Bug</quote> link will take you
+            to a much-simplified page where you can pick a product and
+            status (open,closed, or both), then enter words that appear in
+            the bug you want to find. This search will scour the 'Summary'
+            and 'Comment' fields, and return a list of bugs sorted so that
+            the bugs with the most hits/matches are nearer to the top.
+          </para>
+          <note>
+            <para>
+              Matches in the Summary will 'trump' matches in comments,
+              and bugs with summary-matches will be placed higher in
+              the buglist --  even if a lower-ranked bug has more matches
+              in the comments section.
+            </para>
+          </note>
+          <para>
+            Bugzilla uses a cookie to remember which version of the page
+            you visited last, and brings that page up when you next do a
+            search. The default page for new users (or after an upgrade)
+            is the 'simple' search.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-use-accept">
-	  <para>
-	    I'm confused by the behavior of the "accept" button in the Show Bug form.
-	    Why doesn't it assign the bug to me when I accept it?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    The current behavior is acceptable to bugzilla.mozilla.org and most
-	    users. You have your choice of patches to change this behavior, however.
-	    <simplelist>
-	      <member><ulink url="http://bugzilla.mozilla.org/showattachment.cgi?attach_id=8029">
-		Add a "and accept bug" radio button</ulink></member>
-	      <member><ulink url="http://bugzilla.mozilla.org/showattachment.cgi?attach_id=8153">
-		"Accept" button automatically assigns to you</ulink></member>
-	    </simplelist>
-	    Note that these patches are somewhat dated. You will need to apply
-      them manually.
-	  </para>
-	</answer>
+        <question id="faq-use-accept">
+          <para>
+            I'm confused by the behavior of the <quote>Accept</quote>
+            button in the Show Bug form. Why doesn't it assign the bug
+            to me when I accept it?
+          </para>
+        </question>
+        <answer>
+          <para>
+            The current behavior is acceptable to bugzilla.mozilla.org and
+            most users. If you want to change this behavior, though, you
+            have your choice of patches: 
+            <simplelist>
+              <member>
+                <ulink url="http://bugzilla.mozilla.org/show_bug?id=35195">Bug 35195</ulink>
+                seeks to add an <quote>...and accept the bug</quote> checkbox
+                to the UI. It has two patches attached to it: 
+                <ulink url="http://bugzilla.mozilla.org/showattachment.cgi?attach_id=8029">attachment 8029</ulink>
+                was originally created for Bugzilla 2.12, while 
+                <ulink url="http://bugzilla.mozilla.org/showattachment.cgi?attach_id=91372">attachment 91372</ulink>
+                is an updated version for Bugzilla 2.16
+              </member>
+              <member>
+                <ulink url="http://bugzilla.mozilla.org/show_bug?id=37613">Bug
+                37613</ulink> also provides two patches (against Bugzilla
+                2.12): one to add a 'Take Bug' option, and the other to
+                automatically reassign the bug on 'Accept'. 
+              </member>
+            </simplelist>
+            These patches are all somewhat dated now, and cannot be applied
+            directly, but they are simple enough to provide a guide on how
+            Bugzilla can be customized and updated to suit your needs.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-use-attachment">
-	  <para>
-	    I can't upload anything into the database via the "Create Attachment"
-	    link. What am I doing wrong?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    The most likely cause is a very old browser or a browser that is
-	    incompatible with file upload via POST. Download the latest Netscape,
-	    Microsoft, or Mozilla browser to handle uploads correctly.
-	  </para>
-	</answer>
+        <question id="faq-use-attachment">
+          <para>
+            I can't upload anything into the database via the
+            <quote>Create Attachment</quote> link. What am I doing wrong?
+          </para>
+        </question>
+        <answer>
+          <para>
+            The most likely cause is a very old browser or a browser that is
+            incompatible with file upload via POST. Download the latest version
+            of your favourite browser to handle uploads correctly.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-use-keyword">
-	  <para>
-	    How do I change a keyword in Bugzilla, once some bugs are using it?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    In the Bugzilla administrator UI, edit the keyword and it will let you
-	    replace the old keyword name with a new one. This will cause a problem
-	    with the keyword cache. Run sanitycheck.cgi to fix it.
-	  </para>
-	</answer>
+        <question id="faq-use-keyword">
+          <para>
+            How do I change a keyword in Bugzilla, once some bugs are using it?
+          </para>
+        </question>
+        <answer>
+          <para>
+            In the Bugzilla administrator UI, edit the keyword and
+            it will let you replace the old keyword name with a new one.
+            This will cause a problem with the keyword cache; run
+            <command>sanitycheck.cgi</command> to fix it.
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-    <question id="faq-use-close">
-      <para>
-        Why can't I close bugs from the "Change Several Bugs at Once" page?
-      </para>
-    </question>
-    <answer>
-      <para>
-        The logic flow currently used is RESOLVED, then VERIFIED, then CLOSED.
-        You <emphasis>can</emphasis> mass-CLOSE bugs from the change several
-        bugs at once page. <emphasis>but</emphasis>, every bug listed on the
-        page has to be in VERIFIED state before the control to do it will show
-        up on the form. You can also mass-VERIFY, but every bug listed has to be
-        RESOLVED in order for the control to show up on the form. The logic
-        behind this is that if you pick one of the bugs that's not VERIFIED and
-        try to CLOSE it, the bug change will fail miserably (thus killing any
-        changes in the list after it while doing the bulk change) so it doesn't
-        even give you the choice.
-      </para>
-    </answer>
+        <question id="faq-use-close">
+          <para>
+            Why can't I close bugs from the <quote>Change Several Bugs
+            at Once</quote> page?
+          </para>
+        </question>
+        <answer>
+          <para>
+            Simple answer; you can.
+          </para>
+
+          <para>
+            The logic behind the page checks every bug in the list to
+            determine legal state changes, and then only shows you controls
+            to do things that could apply to <emphasis>every</emphasis> bug
+            on the list. The reason for this is that if you try to do something
+            illegal to a bug, the whole process will grind to a halt, and all
+            changes after the failed one will <emphasis>also</emphasis> fail.
+            Since that isn't a good outcome, the page doesn't even present
+            you with the option.
+          </para>
+
+          <para>
+            In practical terms, that means that in order to mark
+            multiple bugs as CLOSED, then every bug on the page has to be
+            either RESOLVED or VERIFIED already; if this is not the case,
+            then the option to close the bugs will not appear on the page.
+          </para>
+
+          <para>
+            The rationale is that if you pick one of the bugs that's not
+            VERIFIED and try to CLOSE it, the bug change will fail
+            miserably (thus killing any changes in the list after it
+            while doing the bulk change) so it doesn't even give you the
+            choice.
+          </para>
+        </answer>
       </qandaentry>
 
 
@@ -1014,15 +1374,15 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
 
       <qandaentry>
         <question id="faq-hacking-templatestyle">
-	  <para>
-	    What kind of style should I use for templatization?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Gerv and Myk suggest a 2-space indent, with embedded code sections on
-	    their own line, in line with outer tags. Like this:</para>
-	    <programlisting><![CDATA[
+          <para>
+            What kind of style should I use for templatization?
+          </para>
+        </question>
+        <answer>
+          <para>
+            Gerv and Myk suggest a 2-space indent, with embedded code sections on
+            their own line, in line with outer tags. Like this:</para>
+            <programlisting><![CDATA[
 <fred>
 [% IF foo %]
   <bar>
@@ -1037,111 +1397,119 @@ perl -pi -e 's@#\!/usr/bin/perl@#\!/usr/local/bin/perl@' *cgi *pl
 </fred>
 ]]></programlisting>
 
-	<para> Myk also recommends you turn on PRE_CHOMP in the template
-	initialization to prevent bloating of HTML with unnecessary whitespace.
-	</para>
+        <para> Myk also recommends you turn on PRE_CHOMP in the template
+        initialization to prevent bloating of HTML with unnecessary whitespace.
+        </para>
 
-	<para>Please note that many have differing opinions on this subject,
-	and the existing templates in Bugzilla espouse both this and a 4-space
-	style. Either is acceptable; the above is preferred.</para>
-	</answer>
+        <para>Please note that many have differing opinions on this subject,
+        and the existing templates in Bugzilla espouse both this and a 4-space
+        style. Either is acceptable; the above is preferred.</para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-hacking-bugzillabugs">
-	  <para>
-	    What bugs are in Bugzilla right now?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    Try <ulink url="http://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;product=Bugzilla">
-	    this link</ulink> to view current bugs or requests for
-	    enhancement for Bugzilla.
-	  </para>
-	  <para>
-	    You can view bugs marked for &bz-nextver; release
-	    <ulink url="http://bugzilla.mozilla.org/buglist.cgi?product=Bugzilla&amp;target_milestone=Bugzilla+&bz-nextver;">here</ulink>.
-	    This list includes bugs for the &bz-nextver; release that have already
-	    been fixed and checked into CVS. Please consult the
-	    <ulink url="http://www.bugzilla.org/">
-	      Bugzilla Project Page</ulink> for details on how to
-	    check current sources out of CVS so you can have these
-	    bug fixes early!
-	  </para>
-	</answer>
+        <question id="faq-hacking-bugzillabugs">
+          <para>
+            What bugs are in Bugzilla right now?
+          </para>
+        </question>
+        <answer>
+          <para>
+            Try <ulink url="http://bugzilla.mozilla.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;product=Bugzilla">
+            this link</ulink> to view current bugs or requests for
+            enhancement for Bugzilla.
+          </para>
+          <para>
+            You can view bugs marked for &bz-nextver; release
+            <ulink url="http://bugzilla.mozilla.org/buglist.cgi?product=Bugzilla&amp;target_milestone=Bugzilla+&amp;bz-nextver;">here</ulink>.
+            This list includes bugs for the &bz-nextver; release that have already
+            been fixed and checked into CVS. Please consult the
+            <ulink url="http://www.bugzilla.org/">
+            Bugzilla Project Page</ulink> for details on how to
+            check current sources out of CVS so you can have these
+            bug fixes early!
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-hacking-priority">
-	  <para>
-	    How can I change the default priority to a null value?  For instance, have the default
-	    priority be "---" instead of "P2"?
-	  </para>
-	</question>
-	<answer>
-	  <para>
-	    This is well-documented in <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=49862">
-	    bug 49862</ulink>. Ultimately, it's as easy as adding the "---" priority field to your
-            localconfig file in the appropriate area, re-running checksetup.pl, and then changing the
-            default priority in your browser using "editparams.cgi". 
-	  </para>
-	</answer>
+        <question id="faq-hacking-priority">
+          <para>
+            How can I change the default priority to a null value?
+            For instance, have the default priority be <quote>---</quote>
+            instead of <quote>P2</quote>?
+          </para>
+        </question>
+        <answer>
+          <para>
+            This is well-documented in <ulink
+            url="http://bugzilla.mozilla.org/show_bug.cgi?id=49862">bug
+            49862</ulink>. Ultimately, it's as easy as adding the
+            <quote>---</quote> priority field to your localconfig file
+            in the appropriate area, re-running checksetup.pl, and then
+            changing the default priority in your browser using
+            <command>editparams.cgi</command>. 
+          </para>
+        </answer>
       </qandaentry>
 
       <qandaentry>
-	<question id="faq-hacking-patches">
-	  <para>
-	    What's the best way to submit patches?  What guidelines should I follow?
-	  </para>
-	</question>
-	<answer>
-	  <blockquote>
-	    <orderedlist>
-	      <listitem>
-		<para>
-		  Enter a bug into bugzilla.mozilla.org for the <quote><ulink
+        <question id="faq-hacking-patches">
+          <para>
+            What's the best way to submit patches?  What guidelines
+            should I follow?
+          </para>
+        </question>
+        <answer>
+          <blockquote>
+            <orderedlist>
+              <listitem>
+                <para>
+                  Enter a bug into bugzilla.mozilla.org for the <quote><ulink
                   url="http://bugzilla.mozilla.org/enter_bug.cgi?product=Bugzilla">Bugzilla</ulink></quote>
                   product.
-		</para>
-	      </listitem>
-	      <listitem>
-		<para>
-		  Upload your patch as a unified diff (having used "diff -u" against
-		  the <emphasis>current sources</emphasis> checked out of CVS),
-		  or new source file by clicking
-		  "Create a new attachment" link on the bug page you've just created, and
-		  include any descriptions of database changes you may make, into the bug
-		  ID you submitted in step #1. Be sure and click the "Patch" checkbox
-		  to indicate the text you are sending is a patch!
-		</para>
-	      </listitem>
-	      <listitem>
-		<para>
-		  Announce your patch and the associated URL
-		  (http://bugzilla.mozilla.org/show_bug.cgi?id=XXXXXX) for discussion in
-		  the newsgroup (netscape.public.mozilla.webtools). You'll get a really
-		  good, fairly immediate reaction to the implications of your patch,
-		  which will also give us an idea how well-received the change would
-		  be.
-		</para>
-	      </listitem>
-	      <listitem>
-		<para>
-		  If it passes muster with minimal modification, the person to whom
-		  the bug is assigned in Bugzilla is responsible for seeing the patch
-		  is checked into CVS.
-		</para>
-	      </listitem>
-	      <listitem>
-		<para>
-		  Bask in the glory of the fact that you helped write the most successful
-		  open-source bug-tracking software on the planet :)
-		</para>
-	      </listitem>
-	    </orderedlist>
-	  </blockquote>
-	</answer>
+                </para>
+              </listitem>
+              <listitem>
+                <para>
+                  Upload your patch as a unified diff (having used <quote>diff
+                  -u</quote> against the <emphasis>current sources</emphasis>
+                  checked out of CVS), or new source file by clicking
+                  <quote>Create a new attachment</quote> link on the bug
+                  page you've just created, and include any descriptions of
+                  database changes you may make, into the bug ID you submitted
+                  in step #1. Be sure and click the <quote>Patch</quote> checkbox
+                  to indicate the text you are sending is a patch!
+                </para>
+              </listitem>
+              <listitem>
+                <para>
+                  Announce your patch and the associated URL
+                  (http://bugzilla.mozilla.org/show_bug.cgi?id=XXXXXX)
+                  for discussion in the newsgroup
+                  (netscape.public.mozilla.webtools). You'll get a
+                  really good, fairly immediate reaction to the
+                  implications of your patch, which will also give us
+                  an idea how well-received the change would be.
+                </para>
+              </listitem>
+              <listitem>
+                <para>
+                  If it passes muster with minimal modification, the
+                  person to whom the bug is assigned in Bugzilla is
+                  responsible for seeing the patch is checked into CVS.
+                </para>
+              </listitem>
+              <listitem>
+                <para>
+                  Bask in the glory of the fact that you helped write
+                  the most successful open-source bug-tracking software
+                  on the planet :)
+                </para>
+              </listitem>
+            </orderedlist>
+          </blockquote>
+        </answer>
       </qandaentry>
 
 
diff --git a/docs/xml/glossary.xml b/docs/xml/glossary.xml
index 3893094c0b5b97552aa5d3585ea24896db296fc3..08ad45524dac0be69c98a5a9b2cb99bca4168715 100644
--- a/docs/xml/glossary.xml
+++ b/docs/xml/glossary.xml
@@ -3,7 +3,7 @@
   <glossdiv>
     <title>0-9, high ascii</title>
 
-    <glossentry>
+    <glossentry id="gloss-htaccess">
       <glossterm>.htaccess</glossterm>
 
       <glossdef>
@@ -195,7 +195,7 @@
   <glossdiv id="gloss-d">
     <title>D</title>
 
-    <glossentry>
+    <glossentry id="gloss-daemon">
       <glossterm>daemon</glossterm>
 
       <glossdef>
@@ -208,6 +208,23 @@
         a web server, are generally run as daemons.</para>
       </glossdef>
     </glossentry>
+    
+    <glossentry id="gloss-dos">
+      <glossterm>DOS Attack</glossterm>
+      
+      <glossdef>
+        <para>A DOS, or Denial of Service attack, is when a user attempts to
+        deny access to a web server by repeatadly accessing a page or sending
+        malformed requests to a webserver. This can be effectively prevented
+        by using <filename>mod_throttle</filename> as described in
+        <xref linkend="security-webserver-mod-throttle"/>. A D-DOS, or
+        Distributed Denial of Service attack, is when these requests come
+        from multiple sources at the same time. Unfortunately, these are much
+        more difficult to defend against.
+        </para>
+      </glossdef>
+    </glossentry>
+    
   </glossdiv>
 
   <glossdiv id="gloss-g">
@@ -393,6 +410,19 @@
   <glossdiv id="gloss-s">
     <title>S</title>
 
+    <glossentry id="gloss-service">
+      <glossterm>Service</glossterm>
+      
+      <glossdef>
+        <para>In Windows NT environment, a boot-time background application
+        is refered to as a service. These are generally managed through the
+        control pannel while logged in as an account with
+        <quote>Administrator</quote> level capabilities. For more
+        information, consult your Windows manual or the MSKB.
+        </para>
+      </glossdef>
+    </glossentry>
+
     <glossentry>
       <glossterm>
         <acronym>SGML</acronym>
@@ -520,4 +550,3 @@ sgml-shorttag:t
 sgml-tag-region-if-active:t
 End:
 -->
-
diff --git a/docs/xml/installation.xml b/docs/xml/installation.xml
index 2aa2496fc6c2e0382e468398d2de206e4063fc92..8e655396d35ff12f052d8863400a2036b973e2cd 100644
--- a/docs/xml/installation.xml
+++ b/docs/xml/installation.xml
@@ -1,5 +1,5 @@
 <!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"> -->
-<!-- $Id: installation.xml,v 1.62 2004/02/05 01:30:47 justdave%syndicomm.com Exp $ -->
+<!-- $Id: installation.xml,v 1.72.2.17 2005/01/10 07:31:03 travis%sedsystems.ca Exp $ -->
 <chapter id="installing-bugzilla">
   <title>Installing Bugzilla</title>
 
@@ -54,7 +54,8 @@
     <procedure>
       <step>
         <para><link linkend="install-perl">Install Perl</link>
-        (&min-perl-ver; or above)
+        (&min-perl-ver; or above for non-Windows platforms; &min-perl-ver-win;
+        for Windows)
         </para>
       </step>
       <step>
@@ -74,6 +75,12 @@
         <para><link linkend="install-perlmodules">Install Perl modules</link>
         </para>
       </step>
+      <step>
+        <para>
+          <link linkend="install-MTA">Install a Mail Transfer Agent</link>
+          (Sendmail 8.7 or above, or an MTA that is Sendmail-compatible with at least this version)
+        </para>
+      </step>
       <step>
         <para>Configure all of the above.
         </para>
@@ -149,8 +156,8 @@
 
       <para>
         Download a Bugzilla tarball (or check it out from CVS) and place
-        it in a suitable directory, writable by the default web server user 
-        (probably <quote>nobody</quote>). 
+        it in a suitable directory, accessible by the default web server user 
+        (probably <quote>apache</quote> or <quote>www</quote>). 
         Good locations are either directly in the main web space for your
         web server or perhaps in 
         <filename>/usr/local</filename>
@@ -158,7 +165,7 @@
       </para>
 
       <caution>
-        <para>The default Bugzilla distribution is not designed to be placed
+        <para>The default Bugzilla distribution is NOT designed to be placed
         in a <filename class="directory">cgi-bin</filename> directory. This
         includes any directory which is configured using the
         <option>ScriptAlias</option> directive of Apache.
@@ -214,7 +221,7 @@
       
       <para>
         The preferred way of installing Perl modules is via CPAN on Unix, 
-        or PPM on Windows (see <xref linkend="win32-perlmodules"/>). These
+        or PPM on Windows (see <xref linkend="win32-perl-modules"/>). These
         instructions assume you are using CPAN; if for some reason you need 
         to install the Perl modules manually, see 
         <xref linkend="install-perlmodules-manual"/>.
@@ -477,6 +484,32 @@
         </para>
       </section>
     </section>    
+    <section id="install-MTA">
+      <title>Mail Transfer Agent (MTA)</title>
+    
+      <para>Bugzilla is dependent on the availability of an e-mail system for its user
+      authentication and for other tasks. </para>
+    
+      <para>On Linux, any Sendmail-compatible MTA (Mail Transfer Agent) will suffice.
+      Sendmail, Postfix, qmail and Exim are examples of common MTAs. Sendmail is the 
+      original Unix MTA, but the others are easier to configure, and therefore many people
+      replace Sendmail with Postfix or Exim. They are drop-in replacements, so that Bugzilla
+      will not distinguish between them.</para>
+
+      <para>
+        If you are using Sendmail, version 8.7 or higher is required.
+        If you are using a Sendmail-compatible MTA, it must be congruent with at least version 8.7 of Sendmail.
+      </para>
+
+      <para>Consult the manual for the specific MTA you choose for detailed installation
+      instructions. Each of these programs will have their own configuration files where you must
+      configure certain parameters to ensure that the mail is delivered properly. They
+      are implemented as services, and you should ensure that the MTA is in the
+      auto-start list of services for the machine.</para>
+
+      <para>If a simple mail sent with the command-line 'mail' program succeeds, then
+      Bugzilla should also be fine.</para>
+    </section>  
   </section>
   
   
@@ -484,10 +517,13 @@
     <title>Configuration</title>
 
     <warning>
-      <para>Poorly-configured MySQL and Bugzilla installations have
-      given attackers full access to systems in the past. Please take the
-      security parts of these guidelines seriously, even for Bugzilla 
-      machines hidden away behind your firewall.</para>      
+      <para>
+        Poorly-configured MySQL and Bugzilla installations have
+        given attackers full access to systems in the past. Please take the
+        security parts of these guidelines seriously, even for Bugzilla 
+        machines hidden away behind your firewall. Be certain to read
+        <xref linkend="security"/> for some important security tips.
+      </para>      
     </warning>
 
     <section id="localconfig">
@@ -496,16 +532,16 @@
       <para>
         Once you run <filename>checksetup.pl</filename> with all the correct 
         modules installed, it displays a message about, and write out a 
-        file called, 
-        <filename>localconfig</filename>. This file contains the default
-        settings for a number of Bugzilla parameters.
+        file called, <filename>localconfig</filename>. This file contains
+        the default settings for a number of Bugzilla parameters.
       </para>
       
-      <para>Load this file in your editor. The only value you 
-      <emphasis>need</emphasis> to change is $db_pass, the password for
-      the user you will create for your database.
-      Pick a strong password (for simplicity, it should not contain
-      single quote characters) and put it here.
+      <para>
+        Load this file in your editor. The only value you 
+        <emphasis>need</emphasis> to change is $db_pass, the password for
+        the user you will create for your database. Pick a strong
+        password (for simplicity, it should not contain single quote
+        characters) and put it here.
       </para>
       
       <para>
@@ -519,135 +555,162 @@
         You may also wish to change the names of 
         the priorities, severities, operating systems and platforms for your
         installation. However, you can always change these after installation
-        has finished; if you then re-run 
-        <filename>checksetup.pl</filename>, the changes will get picked up.
+        has finished; if you then re-run <filename>checksetup.pl</filename>,
+        the changes will get picked up.
       </para>
     </section>
     
     <section id="mysql">
       <title>MySQL</title>
 
-      <section id="security-mysql">
-        <title>Security</title>
+      <caution>
+        <para>
+          MySQL's default configuration is very insecure.
+          <xref linkend="security-mysql"/> has some good information for
+          improving your installation's security.
+        </para>
+      </caution>
+     
+      <section id="install-setupdatabase">
+        <title>Allow large attachments</title>
+        
+        <para>
+          By default, MySQL will only accept packets up to 64Kb in size.
+          If you want to have attachments larger than this, you will need
+          to modify your <filename>/etc/my.cnf</filename> as below.
+        </para>
 
-        <para>MySQL ships as insecure by default.
-        It allows anybody to on the local machine full administrative 
-        capabilities without requiring a password; the special
-        MySQL root account (note: this is <emphasis>not</emphasis> the same as
-        the system root) also has no password.
-        Also, many installations default to running
-        <application>mysqld</application> as the system root.
+        <para>
+          If you are using MySQL 4.0 or newer, enter:
         </para>
+        <screen>  [mysqld]
+  # Allow packets up to 1M
+  max_allowed_packet=1M</screen>
 
-        <orderedlist>
-          <listitem>
-            <para>To disable the anonymous user account
-            and set a password for the root user, execute the following. The
-            root user password should be different to the bugs user password
-            you set in 
-            <filename>localconfig</filename> in the previous section, 
-            and also different to
-            the password for the system root account on your machine.
-            </para>
-            <screen>  <prompt>bash$</prompt> mysql mysql
-  <prompt>mysql&gt;</prompt> DELETE FROM user WHERE user = '';
-  <prompt>mysql&gt;</prompt> UPDATE user SET password = password('<replaceable>new_password</replaceable>') WHERE user = 'root';
-  <prompt>mysql&gt;</prompt> FLUSH PRIVILEGES;</screen>
-  
-            <para>From this point forward, to run the 
-            <filename>mysql</filename> command-line client, 
-            you will need to type
-            <command>mysql -u root -p</command> and enter
-            <replaceable>new_password</replaceable> when prompted.
-            </para>
-          </listitem>
+        <para>
+          If you are using an older version of MySQL, enter:
+        </para>
+        <screen>  [mysqld]
+  # Allow packets up to 1M
+  set-variable = max_allowed_packet=1M</screen>
 
-          <listitem>
-            <para>If you run MySQL on the same machine as your web server, you
-            should disable remote access to MySQL by adding
-            the following to your <filename>/etc/my.conf</filename>:
-            </para>
-            <programlisting>  [myslqd]
-  # Prevent network access to MySQL.
-  skip-networking</programlisting>
-          </listitem>
+        <para>
+          There is also a parameter in Bugzilla called 'maxattachmentsize'
+          (default = 1000 Kb) that controls the maximum allowable attachment
+          size. Attachments larger than <emphasis>either</emphasis> the 
+          'max_allowed_packet' or 'maxattachmentsize' value will not be
+          accepted by Bugzilla.
+        </para>
+      </section>
 
-          <listitem>
-            <para>Consult the documentation that came with your system for
-            information on making <application>mysqld</application> run as an
-            unprivileged user.
-            </para>
-          </listitem>
 
-          <listitem>
-            <para>For added security, you could also run MySQL, or even all 
-            of Bugzilla
-            in a chroot jail; however, instructions for doing that are beyond
-            the scope of this document.
-            </para>
-          </listitem>
 
-        </orderedlist>
+      <section>
+        <title>Allow small words in full-text indexes</title>
+
+        <para>By default, words must be at least four characters in length
+        in order to be indexed by MySQL's full-text indexes. This causes
+        a lot of Bugzilla specific words to be missed, including "cc",
+        "ftp" and "uri".</para>
 
+        <para>MySQL can be configured to index those words by setting the
+        ft_min_word_len param to the minimum size of the words to index.
+        This can be done by modifying the <filename>/etc/my.cnf</filename>
+        according to the example below:</para>
+
+        <screen>  [mysqld]
+  # Allow small words in full-text indexes
+  ft_min_word_len=2</screen>
+
+        <para>Rebuilding the indexes can be done based on documentation found at
+        <ulink url="http://www.mysql.com/doc/en/Fulltext_Fine-tuning.html"/>.
+        </para>
+
+        <note>
+          <para>
+            The ft_min_word_len parameter is only suported in MySQL v4 or higher.
+          </para>
+        </note>
       </section>
-      
-      <section id="install-setupdatabase">
-        <title>Allow large attachments</title>
-        
-        <para>You need to configure MySQL to accept large packets, if you
-        want to have attachments larger than 64K. Add the text
-        below to your
-        <filename>/etc/my.conf</filename>. 
-        There is also a parameter in Bugzilla
-        for setting the maximum allowable attachment size, (default 1MB).
-        Bugzilla will only accept attachments up to the lower of these two
-        sizes.
+
+      <section>
+        <title>Permit attachments table to grow beyond 4GB</title>
+
+        <para>
+          By default, MySQL will limit the size of a table to 4GB.
+          This limit is present even if the underlying filesystem
+          has no such limit.  To set a higher limit, follow these
+          instructions.
         </para>
 
-          <screen>  [mysqld]
-  # Allow packets up to 1M
-  set-variable = max_allowed_packet=1M</screen>
+        <para>
+          Run the <filename>MySQL</filename> command-line client and
+          enter:
+        </para>
+
+        <screen>  <prompt>mysql&gt;</prompt> ALTER TABLE attachments 
+          AVG_ROW_LENGTH=1000000, MAX_ROWS=20000;
+        </screen>
+
+        <para>
+          The above command will change the limit to 20GB. Mysql will have 
+          to make a temporary copy of your entire table to do this. Ideally, 
+          you should do this when your attachments table is still small.
+        </para>
       </section>
             
       <section id="install-setupdatabase-adduser">
         <title>Add a user to MySQL</title>
 
-        <para>You need to add a new MySQL user for
-        Bugzilla to use. (It's not safe to have Bugzilla use the MySQL root
-        account.) The following instructions assume the defaults in 
-        <filename>localconfig</filename>; 
-        if you changed those, you need to modify the 
-        SQL command appropriately. You will need the 
-        <replaceable>$db_pass</replaceable> password you set in
-        <filename>localconfig</filename> in 
-        <xref linkend="localconfig"/>.
+        <para>
+          You need to add a new MySQL user for Bugzilla to use.
+          (It's not safe to have Bugzilla use the MySQL root account.)
+          The following instructions assume the defaults in
+          <filename>localconfig</filename>; if you changed those,
+          you need to modify the SQL command appropriately. You will
+          need the <replaceable>$db_pass</replaceable> password you
+          set in <filename>localconfig</filename> in 
+          <xref linkend="localconfig"/>.
         </para>
 
-        <para>We use an SQL <command>GRANT</command> command to create a 
-        <quote>bugs</quote>
-        user. This also restricts the 
-        <quote>bugs</quote>
-        user to operations within a database called 
-        <quote>bugs</quote>, and only allows the account to connect from 
-        <quote>localhost</quote>. 
-        Modify it to reflect your setup if you will be connecting from
-        another machine or as a different user.</para>
+        <para>
+          We use an SQL <command>GRANT</command> command to create
+          a <quote>bugs</quote> user. This also restricts the 
+          <quote>bugs</quote>user to operations within a database
+          called <quote>bugs</quote>, and only allows the account
+          to connect from <quote>localhost</quote>. Modify it to
+          reflect your setup if you will be connecting from another
+          machine or as a different user.
+        </para>
         
-        <para>Run the <filename>mysql</filename> command-line client and
-        enter:</para>
+        <para>
+          Run the <filename>mysql</filename> command-line client.
+        </para>
+
+        <para>
+          If you are using MySQL 4.0 or newer, enter:
+        </para>
 
-        <screen>  <prompt>mysql&gt;</prompt> GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,
-         DROP,REFERENCES ON bugs.* TO bugs@localhost
-         IDENTIFIED BY '<replaceable>$db_pass</replaceable>';
+        <screen>  <prompt>mysql&gt;</prompt> GRANT SELECT, INSERT,
+         UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES,
+         CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.*
+         TO bugs@localhost IDENTIFIED BY '<replaceable>$db_pass</replaceable>';
   <prompt>mysql&gt;</prompt> FLUSH PRIVILEGES;</screen>
 
-        <note>
-          <para>If you are using MySQL 4, you need to add
-          the <computeroutput>LOCK TABLES</computeroutput> and 
-          <computeroutput>CREATE TEMPORARY TABLES</computeroutput> permissions
-          to the list.
-          </para>
-        </note>
+        <para>
+          If you are using an older version of MySQL,the
+          <computeroutput>LOCK TABLES</computeroutput> and 
+          <computeroutput>CREATE TEMPORARY TABLES</computeroutput>
+          permissions will be unavailable and should be removed from
+          the permissions list. In this case, the following command
+          line can be used:
+        </para>
+
+        <screen>  <prompt>mysql&gt;</prompt> GRANT SELECT, INSERT,
+         UPDATE, DELETE, INDEX, ALTER, CREATE, DROP,
+         REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY
+         '<replaceable>$db_pass</replaceable>';
+  <prompt>mysql&gt;</prompt> FLUSH PRIVILEGES;</screen>
       </section>      
     </section>
 
@@ -682,7 +745,10 @@
     <section id="http">
       <title>Web server</title>
       <para>Configure your web server according to the instructions in the
-      appropriate section. The Bugzilla Team recommends Apache.
+      appropriate section. The Bugzilla Team recommends Apache. No matter
+      what webserver you choose, make sure that sensitive information is
+      not remotely available by ensuring that the access controls in
+      <xref linkend="security-webserver-access"/> are properly applied.
       </para>
 
       <section id="http-apache">
@@ -717,8 +783,8 @@
           line.</para>
           
           <para><filename>checksetup.pl</filename> can set tighter permissions
-          on Bugzilla's files and directories if it knows what user the
-          webserver runs as. Look for the <computeroutput>User</computeroutput>
+          on Bugzilla's files and directories if it knows what group the
+          webserver runs as. Look for the <computeroutput>Group</computeroutput>
           line in <filename>httpd.conf</filename>, and place that value in
           the <replaceable>$webservergroup</replaceable> variable in
           <filename>localconfig</filename>. Then rerun
@@ -729,20 +795,82 @@
       <section id="http-iis">
         <title>Microsoft <productname>Internet Information Services</productname></title>
 
-        <para>If you need, or for some reason even want, to use Microsoft's
-        <productname>Internet Information Services</productname> or
-        <productname>Personal Web Server</productname> you should be able
-        to. You will need to configure them to know how to run CGI scripts.
-        This is described in Microsoft Knowledge Base article
-        <ulink url="http://support.microsoft.com/support/kb/articles/Q245/2/25.asp">Q245225</ulink>
-        for <productname>Internet Information Services</productname> and
-        <ulink url="http://support.microsoft.com/support/kb/articles/Q231/9/98.asp">Q231998</ulink>          
-        for <productname>Personal Web Server</productname>.
+        <para>
+          If you are running Bugzilla on Windows and choose to use
+          Microsoft's <productname>Internet Information Services</productname>
+          or <productname>Personal Web Server</productname> you will need
+          to perform a number of other configuration steps as explained below.
+          You may also want to refer to the following Microsoft Knowledge
+          Base articles: 
+          <ulink url="http://support.microsoft.com/default.aspx?scid=kb;en-us;245225">245225</ulink> 
+          <quote>HOW TO: Configure and Test a PERL Script with IIS 4.0,
+          5.0, and 5.1</quote> (for <productname>Internet Information
+          Services</productname>) and 
+          <ulink url="http://support.microsoft.com/default.aspx?scid=kb;en-us;231998">231998</ulink>          
+          <quote>HOW TO: FP2000: How to Use Perl with Microsoft Personal Web
+          Server on Windows 95/98</quote> (for <productname>Personal Web
+          Server</productname>).
+        </para>
+
+        <para>
+          You will need to create a virtual directory for the Bugzilla
+          install.  Put the Bugzilla files in a directory that is named
+          something <emphasis>other</emphasis> than what you want your
+          end-users accessing.  That is, if you want your users to access
+          your Bugzilla installation through 
+          <quote>http://&lt;yourdomainname&gt;/Bugzilla</quote>, then do
+          <emphasis>not</emphasis> put your Bugzilla files in a directory
+          named <quote>Bugzilla</quote>.  Instead, place them in a different
+          location, and then use the IIS Administration tool to create a
+          Virtual Directory named "Bugzilla" that acts as an alias for the
+          actual location of the files.  When creating that virtual directory,
+          make sure you add the <quote>Execute (such as ISAPI applications or
+          CGI)</quote> access permission.
+        </para>
+
+        <para>
+          You will also need to tell IIS how to handle Bugzilla's
+          .cgi files. Using the IIS Administration tool again, open up
+          the properties for the new virtual directory and select the
+          Configuration option to access the Script Mappings. Create an
+          entry mapping .cgi to:
+        </para>
+
+        <programlisting>
+&lt;full path to perl.exe &gt;\perl.exe -x&lt;full path to Bugzilla&gt; -wT "%s" %s
+        </programlisting>
+
+        <para>
+          For example:
+        </para>
+
+        <programlisting>
+c:\perl\bin\perl.exe -xc:\bugzilla -wT "%s" %s
+        </programlisting>
+
+        <note>
+          <para>
+            The ActiveState install may have already created an entry for
+            .pl files that is limited to <quote>GET,HEAD,POST</quote>. If
+            so, this mapping should be <emphasis>removed</emphasis> as
+            Bugzilla's .pl files are not designed to be run via a webserver.
+          </para>
+        </note>
+
+        <para>
+          IIS will also need to know that the index.cgi should be treated
+          as a default document.  On the Documents tab page of the virtual
+          directory properties, you need to add index.cgi as a default
+          document type.  If you  wish, you may remove the other default
+          document types for this particular virtual directory, since Bugzilla 
+          doesn't use any of them.
         </para>
 
-        <para>Also, and this can't be stressed enough, make sure that files such as
-        <filename>localconfig</filename> and your <filename class="directory">data</filename>
-        directory are secured as described in <xref linkend="security-access"/>.
+        <para>
+          Also, and this can't be stressed enough, make sure that files
+          such as <filename>localconfig</filename> and your
+          <filename class="directory">data</filename> directory are
+          secured as described in <xref linkend="security-webserver-access"/>.
         </para>
 
       </section>
@@ -810,137 +938,6 @@
         </note>
       </section>
       
-      <section id="security-access">
-        <title>Web Server Access Controls</title>
-
-        <para>Users of Apache can skip this section because
-        Bugzilla ships with <filename>.htaccess</filename> files which 
-        restrict access in the manner required. 
-        Users of other webservers, read on.
-        </para>
-
-        <para>There are several files in the Bugzilla directory
-        that should not be accessible from the web. You need to configure
-        your webserver so they they aren't. Not doing this may reveal
-        sensitive information such as database passwords.
-        </para>
-
-        <itemizedlist spacing="compact">
-          <listitem>
-            <para>In the main Bugzilla directory, you should:</para>
-            <itemizedlist spacing="compact">
-              <listitem>
-                <para>Block:
-                <simplelist type="inline">
-                  <member><filename>*.pl</filename></member>
-                  <member><filename>*localconfig*</filename></member>
-                  <member><filename>runtests.sh</filename></member>
-                </simplelist>
-                </para>
-              </listitem>
-              <listitem>
-                <para>But allow:
-                <simplelist type="inline">
-                  <member><filename>localconfig.js</filename></member>
-                  <member><filename>localconfig.rdf</filename></member>
-                </simplelist>
-                </para>
-              </listitem>
-            </itemizedlist>
-          </listitem>
-
-          <listitem>
-            <para>In <filename class="directory">data</filename>:</para>
-            <itemizedlist spacing="compact">
-              <listitem>
-                <para>Block everything</para>
-              </listitem>
-              <listitem>
-                <para>But allow:
-                <simplelist type="inline">
-                  <member><filename>duplicates.rdf</filename></member>
-                </simplelist>
-                </para>
-              </listitem>
-            </itemizedlist>
-          </listitem>
-
-          <listitem>
-            <para>In <filename class="directory">data/webdot</filename>:</para>
-            <itemizedlist spacing="compact">
-              <listitem>
-                <para>If you use a remote webdot server:</para>
-                <itemizedlist spacing="compact">
-                  <listitem>
-                    <para>Block everything</para>
-                  </listitem>
-                  <listitem>
-                    <para>But allow
-                    <simplelist type="inline">
-                      <member><filename>*.dot</filename></member>
-                    </simplelist>
-                    only for the remote webdot server</para>
-                  </listitem>
-                </itemizedlist>
-              </listitem>
-              <listitem>
-                <para>Otherwise, if you use a local GraphViz:</para>
-                <itemizedlist spacing="compact">
-                  <listitem>
-                    <para>Block everything</para>
-                  </listitem>
-                  <listitem>
-                    <para>But allow:
-                    <simplelist type="inline">
-                      <member><filename>*.png</filename></member>
-                      <member><filename>*.gif</filename></member>
-                      <member><filename>*.jpg</filename></member>
-                      <member><filename>*.map</filename></member>
-                    </simplelist>
-                    </para>
-                  </listitem>
-                </itemizedlist>
-              </listitem>
-              <listitem>
-                <para>And if you don't use any dot:</para>
-                <itemizedlist spacing="compact">
-                  <listitem>
-                    <para>Block everything</para>
-                  </listitem>
-                </itemizedlist>
-              </listitem>
-            </itemizedlist>
-          </listitem>
-
-          <listitem>
-            <para>In <filename class="directory">Bugzilla</filename>:</para>
-            <itemizedlist spacing="compact">
-              <listitem>
-                <para>Block everything</para>
-              </listitem>
-            </itemizedlist>
-          </listitem>
-
-          <listitem>
-            <para>In <filename class="directory">template</filename>:</para>
-            <itemizedlist spacing="compact">
-              <listitem>
-                <para>Block everything</para>
-              </listitem>
-            </itemizedlist>
-          </listitem>
-        </itemizedlist>
-
-        <para>You should test to make sure that the files mentioned above are
-        not accessible from the Internet, especially your
-        <filename>localconfig</filename> file which contains your database
-        password. To test, simply point your web browser at the file; for
-        example, to test mozilla.org's installation, we'd try to access
-        <ulink url="http://bugzilla.mozilla.org/localconfig"/>. You should
-        get a <errorcode>403</errorcode> <errorname>Forbidden</errorname>
-        error.
-        </para>
-      </section>
       
     </section>
     
@@ -1011,8 +1008,19 @@
       
       <programlisting>5 0 * * * cd &lt;your-bugzilla-directory&gt; ; ./collectstats.pl</programlisting>
 
-      <para>After two days have passed you'll be able to view bug graphs from
-      the Reports page.</para>
+      <para>
+        After two days have passed you'll be able to view bug graphs from
+        the Reports page.
+      </para>
+
+      <note>
+        <para>
+          Windows does not have 'cron', but it does have the Task
+          Scheduler, which performs the same duties. There are also
+          third-party tools that can be used to implement cron, such as
+          <ulink url="http://www.nncron.ru/">nncron</ulink>.
+        </para>
+      </note>
     </section>
 
     <section>
@@ -1072,14 +1080,21 @@
       which leave their bugs in the NEW or REOPENED state without triaging them.
       </para>
       <para>
-      
-      This can be done by
-      adding the following command as a daily crontab entry, in the same manner
-      as explained above for bug graphs. This example runs it at 12.55am. 
+        This can be done by adding the following command as a daily
+        crontab entry, in the same manner as explained above for bug
+        graphs. This example runs it at 12.55am. 
       </para>
 
       <programlisting>55 0 * * * cd &lt;your-bugzilla-directory&gt; ; ./whineatnews.pl</programlisting>
-      
+
+      <note>
+        <para>
+          Windows does not have 'cron', but it does have the Task
+          Scheduler, which performs the same duties. There are also
+          third-party tools that can be used to implement cron, such as
+          <ulink url="http://www.nncron.ru/">nncron</ulink>.
+        </para>
+      </note>
     </section>
 
     <section id="patch-viewer">
@@ -1227,73 +1242,28 @@
 
     </section>
     
-    <section id="content-type">
-
-      <title>Prevent users injecting malicious
-      Javascript</title>
-
-      <para>It is possible for a Bugzilla user to take advantage of character
-      set encoding ambiguities to inject HTML into Bugzilla comments. This
-      could include malicious scripts. 
-      Due to internationalization concerns, we are unable to
-      incorporate by default the code changes suggested by 
-      <ulink
-      url="http://www.cert.org/tech_tips/malicious_code_mitigation.html#3">
-      the CERT advisory</ulink> on this issue.
-      If your installation is for an English speaking audience only, making the
-      change below will prevent this problem. 
-      </para>
+    <section id="apache-addtype">
+      <title>Serving Alternate Formats with the right MIME type</title>
 
-      <para>Simply locate the following line in
-      <filename>Bugzilla/CGI.pm</filename>:
-      <programlisting>$self->charset('');</programlisting>
-      and change it to:
-      <programlisting>$self->charset('ISO-8859-1');</programlisting>
+      <para>
+        Some Bugzilla pages have alternate formats, other than just plain
+        <acronym>HTML</acronym>. In particular, a few Bugzilla pages can 
+        output their contents as either <acronym>XUL</acronym> (a special 
+        Mozilla format, that looks like a program <acronym>GUI</acronym>) 
+        or <acronym>RDF</acronym> (a type of structured <acronym>XML</acronym> 
+        that can be read by various programs).
       </para>
-    </section>    
-    
-    <section id="mod-throttle"
-    xreflabel="Using mod_throttle to prevent Denial of Service attacks">
-      <title>
-      <filename>mod_throttle</filename></title>
-
-      <para>It is possible for a user, by mistake or on purpose, to access
-      the database many times in a row which can result in very slow access
-      speeds for other users. If your Bugzilla installation is experiencing
-      this problem, you may install the Apache module 
-      <filename>mod_throttle</filename>
-      which can limit connections by IP address. You may download this module
-      at 
-      <ulink url="http://www.snert.com/Software/mod_throttle/"/>.
-      Follow the instructions to install into your Apache install. 
-      <emphasis>This module only functions with the Apache web
-      server!</emphasis>
-      The command you need is 
-      <command>ThrottleClientIP</command>. See the 
-      <ulink url="http://www.snert.com/Software/mod_throttle/">documentation</ulink>
-      for more information.</para>
-    </section>
-    
-    <section id="security-networking">
-      <title>TCP/IP Ports</title>
-
-      <para>A single-box Bugzilla only requires port 80, plus port 25 if
-      you are using the optional email interface. You should firewall all 
-      other ports and/or disable services listening on them.
+      <para>
+        In order for your users to see these pages correctly, Apache must 
+        send them with the right <acronym>MIME</acronym> type. To do this, 
+        add the following lines to your Apache configuration, either in the 
+        <computeroutput>&lt;VirtualHost&gt;</computeroutput> section for your
+        Bugzilla, or in the <computeroutput>&lt;Directory&gt;</computeroutput>
+        section for your Bugzilla:
       </para>
-    </section>
-
-    <section id="security-daemon">
-      <title>Daemon Accounts</title>
-
-      <para>Many daemons, such as Apache's httpd and MySQL's mysqld default to
-      running as either <quote>root</quote> or <quote>nobody</quote>. Running
-      as <quote>root</quote> introduces obvious security problems, but the
-      problems introduced by running everything as <quote>nobody</quote> may
-      not be so obvious. Basically, if you're running every daemon as
-      <quote>nobody</quote> and one of them gets compromised, they all get
-      compromised. For this reason it is recommended that you create a user
-      account for each daemon.
+      <para>
+        <screen>AddType application/vnd.mozilla.xul+xml .xul
+AddType text/xml .rdf</screen>
       </para>
     </section>    
   </section>
@@ -1315,108 +1285,97 @@
 
     <section id="os-win32">
       <title>Microsoft Windows</title>
-
-      <para>Making Bugzilla work on Windows is still a painful processes.
-      The Bugzilla Team is working to make it easier, but that goal is not
-      considered a top priority. If you wish to run Bugzilla, we still
-      recommend doing so on a Unix based system such as GNU/Linux. As of this
-      writing, all members of the Bugzilla team and all known large installations
-      run on Unix based systems.
-      </para>
-
-     <para>If after hearing all that, you have enough pain tolerance to attempt
-     installing Bugzilla on Win32, here are some pointers.
-     <![%bz-devel;[
-       Because this is a development version of the guide, these instructions
-       are subject to change without notice. In fact, the Bugzilla Team hopes
-       to have Bugzilla reasonably close to "out of
-       the box" compatibility with Windows by the 2.18 release.
-      ]]>
+      <para>
+        Making Bugzilla work on Windows is more difficult than making it
+        work on Unix.  For that reason, we still recommend doing so on a Unix 
+        based system such as GNU/Linux.  That said, if you do want to get
+        Bugzilla running on Windows, you will need to make the following
+        adjustments.
       </para>
 
       <section id="win32-perl">
         <title>Win32 Perl</title>
-
-        <para>Perl for Windows can be obtained from <ulink
-        url="http://www.activestate.com/">ActiveState</ulink>. You should be
-        able to find a compiled binary at <ulink
-        url="http://aspn.activestate.com/ASPN/Downloads/ActivePerl/"/>.
+        <para>
+          Perl for Windows can be obtained from 
+          <ulink url="http://www.activestate.com/">ActiveState</ulink>.
+           You should be able to find a compiled binary at <ulink 
+           url="http://aspn.activestate.com/ASPN/Downloads/ActivePerl/" />.
+           The following instructions assume that you are using version
+           5.8.1 of ActiveState.
         </para>
       </section>
 
-      <section id="win32-perlmodules">
+      <section id="win32-perl-modules">
         <title>Perl Modules on Win32</title>
 
-        <para>Bugzilla on Windows requires the same perl modules found in
-        <xref linkend="install-perlmodules"/>. The main difference is that
-        windows uses <glossterm linkend="gloss-ppm">PPM</glossterm> instead of
-        CPAN.
+        <para>
+          Bugzilla on Windows requires the same perl modules found in
+          <xref linkend="install-perlmodules"/>. The main difference is that
+          windows uses <glossterm linkend="gloss-ppm">PPM</glossterm> instead
+          of CPAN.
+        </para>
+
+        <programlisting>
+C:\perl&gt; <command>ppm install &lt;module name&gt;</command>
+        </programlisting>
+
+        <para>
+          The best source for the Windows PPM modules needed for Bugzilla
+          is probably the the Bugzilla Test Server (aka 'Landfill'), so 
+          you should add the Landfill package repository as follows:
         </para>
 
         <programlisting>
-C:\perl&gt; <command>ppm &lt;module name&gt;</command>
+<command>ppm repository add landfill http://www.landfill.bugzilla.org/ppm/</command>
         </programlisting>
 
         <note>
-          <para>The above syntax should work for all modules with the exception
-          of Template Toolkit. The <ulink
-          url="http://tt2.org/download.html#win32">Template Toolkit website</ulink>
-          suggests using the instructions on <ulink
-          url="http://openinteract.sourceforge.net/">OpenInteract's website</ulink>.
+          <para>
+            The PPM repository stores modules in 'packages' that may have
+            a slightly different name than the module.  If retrieving these
+            modules from there, you will need to pay attention to the information
+            provided when you run <command>checksetup.pl</command> as it will
+            tell you what package you'll need to install.
           </para>
         </note>
+
+        <tip>
+          <para>
+            If you are behind a corporate firewall, you will need to let the
+            ActiveState PPM utility know how to get through it to acccess
+            the repositories by setting the HTTP_proxy system environmental
+            variable. For more information on setting that variable, see
+            the ActiveState documentation.
+          </para>
+        </tip>
       </section>
 
       <section id="win32-code-changes">
         <title>Code changes required to run on win32</title>
 
-        <para>As Bugzilla still doesn't run "out of the box" on
-        Windows, code has to be modified. This section lists the required 
-        changes.
-        </para>
-
-        <section id="win32-code-checksetup">
-          <title>Changes to <filename>checksetup.pl</filename></title>
-
-          <para>In <filename>checksetup.pl</filename>, the line reading:</para>
-
-          <programlisting>
-my $mysql_binaries = `which mysql`;
-          </programlisting>
-          <para>to</para>
-          <programlisting>
-my $mysql_binaries = "D:\\mysql\\bin\\mysql";
-          </programlisting>
-
-          <para>And you'll also need to change:</para>
-
-          <programlisting>
-my $webservergid = getgrnam($my_webservergroup)
-          </programlisting>
-          <para>to</para>
-          <programlisting>
-my $webservergid = '8'
-          </programlisting>
-        </section>
-
-        <section id="win32-code-bugmail">
-          <title>Changes to <filename>BugMail.pm</filename></title>
-
-          <para>To make bug email work on Win32 (until
-          <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=84876">bug
-          84876</ulink> lands), the
+        <para>
+          Bugzilla on win32 is mostly supported out of the box; one
+          remaining issue is related to bug email. To make bug email
+          work on Win32 (until
+          <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=49893">bug
+          49893</ulink> lands), the
           simplest way is to have the Net::SMTP Perl module installed and 
-          change this:</para>
+          change this line in the file Bugzilla/Bugmail.pm:
+        </para>
 
-          <programlisting>
+        <programlisting>
 open(SENDMAIL, "|/usr/lib/sendmail $sendmailparam -t -i") ||
   die "Can't open sendmail";
 
 print SENDMAIL trim($msg) . "\n";
 close SENDMAIL;
-          </programlisting>
-          <para>to</para>
-          <programlisting>
+        </programlisting>
+
+        <para>
+          to
+        </para>
+
+        <programlisting>
 use Net::SMTP;
 my $smtp_server = 'smtp.mycompany.com';  # change this
 
@@ -1431,33 +1390,35 @@ $smtp->data();
 $smtp->datasend($msg);
 $smtp->dataend();
 $smtp->quit;
-          </programlisting>
-
-          <para>Don't forget to change the name of your SMTP server and the
-          domain of the sending email address (after the '@') in the above
-          lines of code.</para>
+        </programlisting>
 
-        </section>
-        
+        <para>
+          Don't forget to change the name of your SMTP server and the
+          domain of the sending email address (after the '@') in the
+          above lines of code.
+        </para>
       </section>
 
       <section id="win32-http">
         <title>Serving the web pages</title>
 
-        <para>As is the case on Unix based systems, any web server should be
-        able to handle Bugzilla; however, the Bugzilla Team still recommends
-        Apache whenever asked. No matter what web server you choose, be sure
-        to pay attention to the security notes in <xref linkend="security-access"/>.
-        More information on configuring specific web servers can be found in
-        <xref linkend="http"/>.
+        <para>
+          As is the case on Unix based systems, any web server should
+          be able to handle Bugzilla; however, the Bugzilla Team still
+          recommends Apache whenever asked. No matter what web server
+          you choose, be sure to pay attention to the security notes
+          in <xref linkend="security-webserver-access"/>. More
+          information on configuring specific web servers can be found
+          in <xref linkend="http"/>.
         </para>
 
         <note>
-          <para>If using Apache on windows, you can set the <ulink
-          url="http://httpd.apache.org/docs-2.0/mod/core.html#scriptinterpretersource">ScriptInterpreterSource</ulink>
-          directive in your Apache config to avoid having
-          to modify the first line of every script to contain your path to
-          perl instead of <filename>/usr/bin/perl</filename>.
+          <para>
+            If using Apache on windows, you can set the <ulink
+            url="http://httpd.apache.org/docs-2.0/mod/core.html#scriptinterpretersource">ScriptInterpreterSource</ulink>
+            directive in your Apache config to avoid having to modify
+            the first line of every script to contain your path to perl 
+            perl instead of <filename>/usr/bin/perl</filename>.
           </para>
         </note>
 
@@ -1495,7 +1456,7 @@ $smtp->quit;
         <filename class="directory">/sw/include</filename> instead of
         <filename class="directory">/usr/lib</filename> and
         <filename class="directory">/usr/include</filename>. When the
-        Perl module config script asks where your <filename>libgdi</filename>
+        Perl module config script asks where your <filename>libgd</filename>
         is, be sure to tell it
         <filename class="directory">/sw/lib</filename>.
         </para>
@@ -1560,182 +1521,352 @@ $smtp->quit;
   </section>
 
 
-  <section id="troubleshooting">
-    <title>Troubleshooting</title>
-    
-    <para>This section gives solutions to common Bugzilla installation
-    problems. If none of the section headings seems to match your
-    problem, read the general advice.
-    </para>
-    
-    <section id="general-advice">
-      <title>General Advice</title>
-      <para>
-        If you can't get <filename>checksetup.pl</filename> to run to 
-        completion, it normally explains what's wrong and how to fix it.
-        If you can't work it out, or if it's being uncommunicative, post 
-        the errors in the 
-        <ulink url="news://news.mozilla.org/netscape.public.mozilla.webtools">netscape.public.mozilla.webtools</ulink>
-        newsgroup.
-      </para>
+  <section id="nonroot">
+    <title>UNIX (non-root) Installation Notes</title>
 
-      <para>
-        If you have made it all the way through 
-        <xref linkend="installation"/> (Installation) and
-        <xref linkend="configuration"/> (Configuration) but 
-        accessing the Bugzilla URL doesn't work,
-        the first thing to do is to check your webserver error log. For
-        Apache, this is often located at
-        <filename>/etc/logs/httpd/error_log</filename>. The error messages
-        you see may be self-explanatory enough to enable you to diagnose and
-        fix the problem. If not, see below for some commonly-encountered 
-        errors. If that doesn't help, post the errors to the newsgroup.
-      </para>
-    </section>
-        
     <section>
-      <title>I installed a Perl module, but 
-      <filename>checksetup.pl</filename> claims it's not installed!</title>
-      
-      <para>
-        You have two versions of Perl on your machine. You are installing
-        modules into one, and Bugzilla is using the other. Rerun the CPAN
-        commands (or manual compile) using the full path to Perl from the 
-        top of <filename>checksetup.pl</filename>. This will make sure you 
-        are installing the modules in the right place.
-      </para>
+      <title>Introduction</title>
+
+      <para>If you are running a *NIX OS as non-root, either due
+      to lack of access (web hosts, for example) or for security
+      reasons, this will detail how to install Bugzilla on such
+      a setup. It is recommended that you read through the
+      <xref linkend="installation" />
+      first to get an idea on the installation steps required.
+      (These notes will reference to steps in that guide.)</para>
+
     </section>
+
+    <section>
+      <title>MySQL</title>
+
+      <para>You may have MySQL installed as root. If you're
+      setting up an account with a web host, a MySQL account
+      needs to be set up for you. From there, you can create
+      the bugs account, or use the account given to you.</para>
+
+      <warning>
+        <para>You may have problems trying to set up
+        <command>GRANT</command> permissions to the database.
+        If you're using a web host, chances are that you have a
+        separate database which is already locked down (or one big
+        database with limited/no access to the other areas), but you
+        may want to ask your system adminstrator what the security
+        settings are set to, and/or run the <command>GRANT</command>
+        command for you.</para>
+
+        <para>Also, you will probably not be able to change the MySQL
+        root user password (for obvious reasons), so skip that
+        step.</para>
+      </warning>
+
+      <section>
+        <title>Running MySQL as Non-Root</title>
+          <section>
+            <title>The Custom Configuration Method</title>
+              <para>Create a file .my.cnf in your 
+              home directory (using /home/foo in this example)
+              as follows....</para>
+              <programlisting>
+[mysqld]
+datadir=/home/foo/mymysql
+socket=/home/foo/mymysql/thesock
+port=8081
+
+[mysql]
+socket=/home/foo/mymysql/thesock
+port=8081
+
+[mysql.server]
+user=mysql
+basedir=/var/lib
+
+[safe_mysqld]
+err-log=/home/foo/mymysql/the.log
+pid-file=/home/foo/mymysql/the.pid
+              </programlisting>
+          </section>
+          <section>
+            <title>The Custom Built Method</title>
+    
+            <para>You can install MySQL as a not-root, if you really need to.
+            Build it with PREFIX set to <filename class="directory">/home/foo/mysql</filename>,
+            or use pre-installed executables, specifying that you want
+            to put all of the data files in <filename class="directory">/home/foo/mysql/data</filename>.
+            If there is another MySQL server running on the system that you
+            do not own, use the -P option to specify a TCP port that is not
+            in use.</para>
+          </section>
+    
+          <section>
+            <title>Starting the Server</title>
+            <para>After your mysqld program is built and any .my.cnf file is 
+            in place, you must initialize the databases (ONCE).</para>
+            <screen>
+              <prompt>bash$</prompt>
+              <command>mysql_install_db</command>
+            </screen>
+            <para>Then start the daemon with</para>
+            <screen>
+              <prompt>bash$</prompt>
+              <command>safe_mysql &amp;</command>
+            </screen>
+            <para>After you start mysqld the first time, you then connect to
+            it as "root" and <command>GRANT</command> permissions to other
+            users. (Again, the MySQL root account has nothing to do with
+            the *NIX root account.)</para>
     
+            <note>
+              <para>You will need to start the daemons yourself. You can either
+              ask your system administrator to add them to system startup files, or
+              add a crontab entry that runs a script to check on these daemons
+              and restart them if needed.</para>
+            </note>
+    
+            <warning>
+              <para>Do NOT run daemons or other services on a server without first
+              consulting your system administrator! Daemons use up system resources
+              and running one may be in violation of your terms of service for any
+              machine on which you are a user!</para>
+            </warning>
+          </section>
+      </section>
+
+    </section>
+
     <section>
-      <title>Bundle::Bugzilla makes me upgrade to Perl 5.6.1</title>
+      <title>Perl</title>
 
-      <para>
-      Try executing <command>perl -MCPAN -e 'install CPAN'</command>
-      and then continuing.
-      </para>
-      
-      <para>
-      Certain older versions of the CPAN toolset were somewhat naive about how
-      to upgrade Perl modules. When a couple of modules got rolled into the core
-      Perl distribution for 5.6.1, CPAN thought that the best way to get those
-      modules up to date was to haul down the Perl distribution itself and
-      build it. Needless to say, this has caused headaches for just about
-      everybody. Upgrading to a newer version of CPAN with the
-      commandline above should fix things.
-      </para>
+      <para>On the extremely rare chance that you don't have Perl on
+      the machine, you will have to build the sources
+      yourself. The following commands should get your system
+      installed with your own personal version of Perl:</para>
+
+      <screen>
+        <prompt>bash$</prompt>
+        <command>wget http://perl.com/CPAN/src/stable.tar.gz</command>
+        <prompt>bash$</prompt>
+        <command>tar zvxf stable.tar.gz</command>
+        <prompt>bash$</prompt>
+        <command>cd perl-5.8.1</command> (or whatever the version of Perl is called)
+        <prompt>bash$</prompt>
+        <command>sh Configure -de -Dprefix=/home/foo/perl</command>
+        <prompt>bash$</prompt>
+        <command>make &amp;&amp; make test &amp;&amp; make install</command>
+      </screen>
+
+      <para>Once you have Perl installed into a directory (probably
+      in <filename class="directory">~/perl/bin</filename>), you'll have to
+      change the locations on the scripts, which is detailed later on
+      this page.</para>
     </section>
 
+    <section id="install-perlmodules-nonroot">
+      <title>Perl Modules</title>
 
-    <section>
-      <title>DBD::Sponge::db prepare failed</title>
-      
-      <para>
-        The following error message may appear due to a bug in DBD::mysql
-        (over which the Bugzilla team have no control):
-      </para>
-      
-<programlisting><![CDATA[ DBD::Sponge::db prepare failed: Cannot determine NUM_OF_FIELDS at D:/Perl/site/lib/DBD/mysql.pm line 248.
-  SV = NULL(0x0) at 0x20fc444
-  REFCNT = 1
-  FLAGS = (PADBUSY,PADMY)
-]]></programlisting>
+      <para>Installing the Perl modules as a non-root user is probably the
+      hardest part of the process. There are two different methods: a
+      completely independant Perl with its own modules, or personal
+      modules using the current (root installed) version of Perl. The
+      independant method takes up quite a bit of disk space, but is
+      less complex, while the mixed method only uses as much space as the
+      modules themselves, but takes more work to setup.</para>
+
+      <section>
+        <title>The Independant Method</title>
+
+        <para>The independant method requires that you install your own
+        personal version of Perl, as detailed in the previous section. Once
+        installed, you can start the CPAN shell with the following
+        command:</para>
+
+        <para>
+          <screen>
+            <prompt>bash$</prompt>
+            <command>/home/foo/perl/bin/perl -MCPAN -e 'shell'</command>
+          </screen>
+        </para>
 
-      <para>
-        To fix this, go to 
-        <filename>&lt;path-to-perl&gt;/lib/DBD/sponge.pm</filename> 
-        in your Perl installation and replace
-      </para>
-        
-<programlisting><![CDATA[ my $numFields;
- if ($attribs->{'NUM_OF_FIELDS'}) {
-     $numFields = $attribs->{'NUM_OF_FIELDS'};
- } elsif ($attribs->{'NAME'}) {
-     $numFields = @{$attribs->{NAME}};
-]]></programlisting>
+        <para>And then:</para>
 
-      <para>
-        by
-      </para>
+        <para>
+          <screen>
+            <prompt>cpan&gt;</prompt>
+            <command>install Bundle::Bugzilla</command>
+          </screen>
+        </para>
 
-<programlisting><![CDATA[ my $numFields;
- if ($attribs->{'NUM_OF_FIELDS'}) {
-     $numFields = $attribs->{'NUM_OF_FIELDS'};
- } elsif ($attribs->{'NAMES'}) {
-     $numFields = @{$attribs->{NAMES}};
-]]></programlisting>
+        <para>With this method, module installation will usually go a lot
+        smoother, but if you have any hang-ups, you can consult the next
+        section.</para>
+      </section>
 
-      <para>
-        (note the S added to NAME.)      
-      </para>
+      <section>
+        <title>The Mixed Method</title>
+
+        <para>First, you'll need to configure CPAN to
+        install modules in your home directory. The CPAN FAQ says the
+        following on this issue:</para>
+
+        <para>
+          <programlisting>
+5)  I am not root, how can I install a module in a personal directory?
+
+    You will most probably like something like this:
+
+      o conf makepl_arg "LIB=~/myperl/lib \
+                         INSTALLMAN1DIR=~/myperl/man/man1 \
+                         INSTALLMAN3DIR=~/myperl/man/man3"
+    install Sybase::Sybperl
+
+    You can make this setting permanent like all "o conf" settings with "o conf commit".
+
+    You will have to add ~/myperl/man to the MANPATH environment variable and also tell your Perl programs to
+    look into ~/myperl/lib, e.g. by including
+
+      use lib "$ENV{HOME}/myperl/lib";
+
+    or setting the PERL5LIB environment variable.
+
+    Another thing you should bear in mind is that the UNINST parameter should never be set if you are not root.</programlisting>
+        </para>
+
+        <para>So, you will need to create a Perl directory in your home
+        directory, as well as the <filename class="directory">lib</filename>,
+        <filename class="directory">man</filename>,
+        <filename class="directory">man/man1</filename>, and
+        <filename class="directory">man/man3</filename> directories in that
+        Perl directory. Set the MANPATH variable and PERL5LIB variable, so
+        that the installation of the modules goes smoother. (Setting
+        UNINST=0 in your "make install" options, on the CPAN first-time
+        configuration, is also a good idea.)</para>
+
+        <para>After that, go into the CPAN shell:</para>
+
+        <para>
+          <screen>
+            <prompt>bash$</prompt>
+            <command>perl -MCPAN -e 'shell'</command>
+          </screen>
+        </para>
+
+        <para>From there, you will need to type in the above "o conf" command
+        and commit the changes. Then you can run through the installation:</para>
+
+        <para>
+          <screen>
+            <prompt>cpan&gt;</prompt>
+            <command>install Bundle::Bugzilla</command>
+          </screen>
+        </para>
+
+        <para>Most of the module installation process should go smoothly. However,
+        you may have some problems with Template. When you first start, you will
+        want to try to install Template with the XS Stash options on. If this
+        doesn't work, it may spit out C compiler error messages and croak back
+        to the CPAN shell prompt. So, redo the install, and turn it off. (In fact,
+        say no to all of the Template questions.) It may also start failing on a
+        few of the tests. If the total tests passed is a reasonable figure (90+%),
+        force the install with the following command:</para>
+
+        <para>
+          <screen>
+            <prompt>cpan&gt;</prompt>
+            <command>force install Template</command>
+          </screen>
+        </para>
+
+        <para>You may also want to install the other optional modules:</para>
+
+        <screen>
+          <prompt>cpan&gt;</prompt>
+          <command>install GD</command>
+          <prompt>cpan&gt;</prompt>
+          <command>install Chart::Base</command>
+          <prompt>cpan&gt;</prompt>
+          <command>install MIME::Parser</command>
+        </screen>
+
+      </section>
     </section>
-    
-    <section id="paranoid-security">
-      <title>cannot chdir(/var/spool/mqueue)</title>
-
-      <para>If you are installing Bugzilla on SuSE Linux, or some other
-      distributions with 
-      <quote>paranoid</quote>
-      security options, it is possible that the checksetup.pl script may fail
-      with the error: 
-<programlisting><![CDATA[cannot chdir(/var/spool/mqueue): Permission denied
-]]></programlisting>
-      </para>
-      
-      <para>
-      This is because your 
-      <filename>/var/spool/mqueue</filename>
-      directory has a mode of 
-      <quote>drwx------</quote>. Type 
-      <command>chmod 755 
-      <filename>/var/spool/mqueue</filename>
-      </command>
-      as root to fix this problem.
-      </para>
-    </section>    
 
-    <section id="trouble-filetemp">
-      <title>Your vendor has not defined Fcntl macro O_NOINHERIT</title>
+    <section>
+      <title>HTTP Server</title>
 
-      <para>This is caused by a bug in the version of
-      <productname>File::Temp</productname> that is distributed with perl
-      5.6.0. Many minor variations of this error have been reported:
-      </para>
+      <para>Ideally, this also needs to be installed as root and
+      run under a special webserver account. As long as
+      the web server will allow the running of *.cgi files outside of a
+      cgi-bin, and a way of denying web access to certain files (such as a
+      .htaccess file), you should be good in this department.</para>
+
+      <section>
+        <title>Running Apache as Non-Root</title>
 
-      <programlisting>Your vendor has not defined Fcntl macro O_NOINHERIT, used 
-at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 208.
+        <para>You can run Apache as a non-root user, but the port will need
+        to be set to one above 1024. If you type <command>httpd -V</command>,
+        you will get a list of the variables that your system copy of httpd
+        uses. One of those, namely HTTPD_ROOT, tells you where that
+        installation looks for its config information.</para>
 
-Your vendor has not defined Fcntl macro O_EXLOCK, used 
-at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 210.
+        <para>From there, you can copy the config files to your own home
+        directory to start editing. When you edit those and then use the -d
+        option to override the HTTPD_ROOT compiled into the web server, you
+        get control of your own customized web server.</para>
 
-Your vendor has not defined Fcntl macro O_TEMPORARY, used 
-at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233.</programlisting>
+        <note>
+          <para>You will need to start the daemons yourself. You can either
+          ask your system administrator to add them to system startup files, or
+          add a crontab entry that runs a script to check on these daemons
+          and restart them if needed.</para>
+        </note>
 
-      <para>Numerous people have reported that upgrading to version 5.6.1
-      or higher solved the problem for them. A less involved fix is to apply
-      the following patch, which is also
-      available as a <ulink url="../xml/filetemp.patch">patch file</ulink>.
+        <warning>
+          <para>Do NOT run daemons or other services on a server without first
+          consulting your system administrator! Daemons use up system resources
+          and running one may be in violation of your terms of service for any
+          machine on which you are a user!</para>
+        </warning>
+      </section>
+    </section>
+
+    <section>
+      <title>Bugzilla</title>
+
+      <para>If you had to install Perl modules as a non-root user
+      (<xref linkend="install-perlmodules-nonroot" />) or to non-standard
+      directories, you will need to change the scripts, setting the correct
+      location of the Perl modules:</para>
+
+      <para>
+        <programlisting>perl -pi -e
+        's@use strict\;@use strict\; use lib \"/home/foo/perl/lib\"\;@'
+        *cgi *pl Bug.pm processmail syncshadowdb</programlisting>
+
+        Change <filename class="directory">/home/foo/perl/lib</filename> to
+        your personal Perl library directory. You can probably skip this
+        step if you are using the independant method of Perl module
+        installation.
       </para>
 
-        <programlisting><![CDATA[--- File/Temp.pm.orig   Thu Feb  6 16:26:00 2003
-+++ File/Temp.pm        Thu Feb  6 16:26:23 2003
-@@ -205,6 +205,7 @@
-     # eg CGI::Carp
-     local $SIG{__DIE__} = sub {};
-     local $SIG{__WARN__} = sub {};
-+    local *CORE::GLOBAL::die = sub {};
-     $bit = &$func();
-     1;
-   };
-@@ -226,6 +227,7 @@
-     # eg CGI::Carp
-     local $SIG{__DIE__} = sub {};
-     local $SIG{__WARN__} = sub {};
-+    local *CORE::GLOBAL::die = sub {};
-     $bit = &$func();
-     1;
-   };]]></programlisting>
+      <para>When you run <command>./checksetup.pl</command> to create
+      the <filename>localconfig</filename> file, it will list the Perl
+      modules it finds. If one is missing, go back and double-check the
+      module installation from the CPAN shell, then delete the
+      <filename>localconfig</filename> file and try again.</para>
+
+      <warning>
+        <para>The one option in <filename>localconfig</filename> you
+        might have problems with is the web server group. If you can't
+        successfully browse to the <filename>index.cgi</filename> (like
+        a Forbidden error), you may have to relax your permissions,
+        and blank out the web server group. Of course, this may pose
+        as a security risk. Having a properly jailed shell and/or
+        limited access to shell accounts may lessen the security risk,
+        but use at your own risk.</para>
+      </warning>
     </section>
   </section>
+
 </chapter>
 
 <!-- Keep this comment at the end of the file
@@ -1758,4 +1889,3 @@ sgml-shorttag:t
 sgml-tag-region-if-active:t
 End:
 -->
-
diff --git a/docs/xml/integration.xml b/docs/xml/integration.xml
index 598baffca4e469dfa7a79eb462eb6475d79ba0cd..3aa49245c5556cf3efb901971b6775359724647d 100644
--- a/docs/xml/integration.xml
+++ b/docs/xml/integration.xml
@@ -38,6 +38,13 @@
     Bugzilla code, to integrate CVS and Bugzilla through CVS' ability to 
     email. Check it out at: <ulink url="http://homepages.kcbbs.gen.nz/~tonyg/"/>.
     </para>
+
+    <para>Another system capable of CVS integration with Bugzilla is
+    Scmbug. This system provides generic integration of Source code
+    Configuration Management with Bugtracking. Check it out at: <ulink
+    url="http://freshmeat.net/projects/scmbug/"/>.
+    </para>
+
   </section>
 
   <section id="scm"
@@ -66,6 +73,17 @@
     Please consult the pages linked above for further information.</para>
   </section>
 
+  <section id="svn"
+  xreflabel="Subversion, a compelling replacement for CVS">
+     <title>Subversion</title>
+     <para>Subversion is a free/open-source version control system,
+     designed to overcome various limitations of CVS. Integration of
+     Subversion with Bugzilla is possible using Scmbug, a system
+     providing generic integration of Source Code Configuration
+     Management with Bugtracking. Scmbug is available at <ulink
+     url="http://freshmeat.net/projects/scmbug/"/>.</para>
+  </section>
+
   <section id="tinderbox"
   xreflabel="Tinderbox, the Mozilla automated build management system">
     <title>Tinderbox/Tinderbox2</title>
diff --git a/docs/xml/modules.xml b/docs/xml/modules.xml
index c7624d639820b4dca0e35e2c80247695fc289dc3..d031b19c01794730ac3f55c4b5f65f0a7c776d53 100644
--- a/docs/xml/modules.xml
+++ b/docs/xml/modules.xml
@@ -4,9 +4,10 @@
   
   <section id="modules-manual-instructions">
     <title>Instructions</title>
-    <para>If you need to install Perl modules manually, here's how it's done.
-    Download the module using the link given in the next section, and then
-    apply this magic incantation, as root:
+    <para>
+      If you need to install Perl modules manually, here's how it's done.
+      Download the module using the link given in the next section, and then
+      apply this magic incantation, as root:
     </para>
 
     <para>  
@@ -17,127 +18,190 @@
 <prompt>bash#</prompt> make test
 <prompt>bash#</prompt> make install</screen>
     </para>
+    <note>
+      <para>
+        In order to compile source code under Windows you will need to obtain
+        a 'make' utility.  The <command>nmake</command> utility provided with
+        Microsoft Visual C++ may be used.  As an alternative, there is a
+        utility called <command>dmake</command> available from CPAN which is
+        written entirely in Perl. The majority of the links given below, however,
+        are to pre-compiled versions of the modules, which can be installed
+        on Windows simply by issuing the following command once you have
+        downloaded the PPD file (which may be packaged within a ZIP file):
+      </para>
+      <para>
+        <screen>
+          <prompt>&gt;</prompt> ppm install &lt;filename.ppd&gt;
+        </screen>
+      </para>
+    </note>
   </section>
     
   <section id="modules-manual-download">
     <title>Download Locations</title>
     
-    <para>Note: some modules are in the core distribution of
-    ActiveState Perl for Windows. Others are not available.
-    No PPM links have been provided in either of these two cases.
+    <note>
+      <para>
+        Running Bugzilla on Windows requires the use of ActiveState
+        Perl 5.8.1 or higher. Some modules already exist in the core
+        distribution of ActiveState Perl so no PPM link is given.
+        (This is noted where it occurs.)
+      </para>
+    </note>
+
+    <para>
+      AppConfig:
+      <literallayout>
+        CPAN Download Page: <ulink url="http://search.cpan.org/src/ABW/AppConfig-1.56/lib/AppConfig.pm"/>
+        PPM Download Link: <ulink url="http://landfill.bugzilla.org/ppm/AppConfig.ppd"/>
+        Documentation: <ulink url="http://search.cpan.org/~abw/AppConfig-1.56/lib/AppConfig.pm"/>
+      </literallayout>
     </para>
     
-    <para>CGI:
+    <para>
+      CGI:
       <literallayout>
         CPAN Download Page: <ulink url="http://search.cpan.org/dist/CGI.pm/"/>
-        PPM Download Link: <ulink url="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/CGI.zip"/>
+        PPM Download Link: Part of core distribution.
         Documentation: <ulink url="http://www.perldoc.com/perl5.8.0/lib/CGI.html"/>
       </literallayout>
     </para>
 
-    <para>TimeDate:
+    <para>
+      Data-Dumper:
+      <literallayout>
+        CPAN Download Page: <ulink url="http://search.cpan.org/src/ILYAM/Data-Dumper-2.121/Dumper.pm"/>
+        PPM Download Page: Part of core distribution.
+        Documentation: <ulink url="http://search.cpan.org/~ilyam/Data-Dumper-2.121/Dumper.pm"/>
+      </literallayout>
+    </para>
+    
+    <para>
+      Date::Format (part of TimeDate):
       <literallayout>
         CPAN Download Page: <ulink url="http://search.cpan.org/dist/TimeDate/"/>
-        PPM Download Link: <ulink url="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/TimeDate.zip"/>
+        PPM Download Link: <ulink url="http://landfill.bugzilla.org/ppm/TimeDate.ppd"/>
         Documentation: <ulink url="http://search.cpan.org/dist/TimeDate/lib/Date/Format.pm"/>
       </literallayout>
     </para>
 
-    <para>DBI:
+    <para>
+      DBI:
       <literallayout>
         CPAN Download Page: <ulink url="http://search.cpan.org/dist/DBI/"/>
-        PPM Download Link: <ulink url="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBI.zip"/>
+        PPM Download Link: <ulink url="http://landfill.bugzilla.org/ppm/DBI.ppd"/>
         Documentation: <ulink url="http://dbi.perl.org/docs/"/>
       </literallayout>
     </para>
 
-    <para>DBD::mysql:
+    <para>
+      DBD::mysql:
       <literallayout>
         CPAN Download Page: <ulink url="http://search.cpan.org/dist/DBD-mysql/"/>
-        PPM Download Link: <ulink url="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/DBD-Mysql.zip"/>
+        PPM Download Link: <ulink url="http://landfill.bugzilla.org/ppm/DBD-mysql.ppd"/>
         Documentation: <ulink url="http://search.cpan.org/dist/DBD-mysql/lib/DBD/mysql.pm"/>
       </literallayout>
     </para>
 
-    <para>File::Spec:
+    <para>
+      File::Spec:
       <literallayout>
         CPAN Download Page: <ulink url="http://search.cpan.org/dist/File-Spec/"/>
-        PPM Download Page: <ulink url="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/File-Spec.zip"/>
+        PPM Download Page: Part of core distribution.
         Documentation: <ulink url="http://www.perldoc.com/perl5.8.0/lib/File/Spec.html"/>
       </literallayout>
     </para>
 
-    <para>File::Temp:
+    <para>
+      File::Temp:
       <literallayout>
         CPAN Download Page: <ulink url="http://search.cpan.org/dist/File-Temp/"/>
+        PPM Download Page: Part of core distribution.
         Documentation: <ulink url="http://www.perldoc.com/perl5.8.0/lib/File/Temp.html"/>
       </literallayout>
     </para>
 
-    <para>Template Toolkit:
+    <para>
+      Template-Toolkit:
       <literallayout>
         CPAN Download Page: <ulink url="http://search.cpan.org/dist/Template-Toolkit/"/>
-        PPM Download Link: <ulink url="http://openinteract.sourceforge.net/ppmpackages/5.6/Template-Toolkit.tar.gz"/>
+        PPM Download Link: <ulink url="http://landfill.bugzilla.org/ppm/Template-Toolkit.ppd"/>
         Documentation: <ulink url="http://www.template-toolkit.org/docs.html"/>
       </literallayout>
     </para>
 
-    <para>Text::Wrap:
+    <para>
+       Text::Wrap:
       <literallayout>
         CPAN Download Page: <ulink url="http://search.cpan.org/dist/Text-Tabs+Wrap/"/>
+        PPM Download Link: Part of core distribution.
         Documentation: <ulink url="http://www.perldoc.com/perl5.8.0/lib/Text/Wrap.html"/>
       </literallayout>
     </para>
  
-    <para>GD:
+    <para>
+      GD:
       <literallayout>
         CPAN Download Page: <ulink url="http://search.cpan.org/dist/GD/"/>
-        PPM Download Link: <ulink url="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GD.zip"/>
+        PPM Download Link: <ulink url="http://landfill.bugzilla.org/ppm/GD.ppd"/>
         Documentation: <ulink url="http://stein.cshl.org/WWW/software/GD/"/>
       </literallayout>
     </para>
+  </section>
+
+  <section id="modules-manual-optional">
+    <title>Optional Modules</title>
 
-    <para>Chart::Base:
-      <!-- TODO: Chart::Base doesn't seem to have any documentation -->
+    <para>
+      Chart::Base:
       <literallayout>
         CPAN Download Page: <ulink url="http://search.cpan.org/dist/Chart/"/>
+        PPM Download Page: <ulink url="http://landfill.bugzilla.org/ppm/Chart.ppd"/>
+        Documentation: <ulink url="http://search.cpan.org/src/CHARTGRP/Chart-2.3/doc/Documentation.pdf"/>
       </literallayout>
     </para>
 
-     <para>GD::Graph:
+     <para>
+      GD::Graph:
       <literallayout>
         CPAN Download Page: <ulink url="http://search.cpan.org/dist/GDGraph/"/>
-        PPM Download Link: <ulink url="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDGraph.zip"/>
+        PPM Download Link: <ulink url="http://landfill.bugzilla.org/ppm/GDGraph.ppd"/>
         Documentation: <ulink url="http://search.cpan.org/dist/GDGraph/Graph.pm"/>
       </literallayout>
     </para>
 
-    <para>GD::Text::Align:
+    <para>
+      GD::Text::Align (part of GD::Text::Util):
       <literallayout>
         CPAN Download Page: <ulink url="http://search.cpan.org/dist/GDTextUtil/"/>
-        PPM Download Page: <ulink url="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/GDTextUtil.zip"/>
+        PPM Download Page: <ulink url="http://landfill.bugzilla.org/ppm/GDTextUtil.ppd"/>
         Documentation: <ulink url="http://search.cpan.org/dist/GDTextUtil/Text/Align.pm"/>
       </literallayout>
     </para>
 
-    <para>MIME::Parser:
+    <para>
+      MIME::Parser (part of MIME-tools):
       <literallayout>
         CPAN Download Page: <ulink url="http://search.cpan.org/dist/MIME-tools/"/>
-        PPM Download Link: <ulink url="http://ppm.activestate.com/PPMPackages/zips/6xx-builds-only/MIME-tools.zip"/>
+        PPM Download Link: <ulink url="http://ppm.activestate.com/PPMPackages/zips/8xx-builds-only/Windows/MIME-tools-5.411a.zip"/>
         Documentation: <ulink url="http://search.cpan.org/dist/MIME-tools/lib/MIME/Parser.pm"/>
       </literallayout>
     </para>
 
-   <para>XML::Parser:
+   <para>
+      XML::Parser:
       <literallayout>
         CPAN Download Page: <ulink url="http://search.cpan.org/dist/XML-Parser/"/>
+        PPM Download Link: Part of core distribution.
         Documentation: <ulink url="http://www.perldoc.com/perl5.6.1/lib/XML/Parser.html"/>
       </literallayout>
     </para>
 
-    <para>PatchReader:
+    <para>
+      PatchReader:
       <literallayout>
         CPAN Download Page: <ulink url="http://search.cpan.org/author/JKEISER/PatchReader/"/>
+        PPM Download Link: <ulink url="http://landfill.bugzilla.org/ppm/PatchReader.ppd"/>
         Documentation: <ulink url="http://www.johnkeiser.com/mozilla/Patch_Viewer.html"/>
       </literallayout>
     </para>
diff --git a/docs/xml/patches.xml b/docs/xml/patches.xml
index 6b755cbce3b8d81802046bce60c4ff367a090b0d..11a5ecf112c11fe1dc68d13ba82111bbfce2dcb2 100644
--- a/docs/xml/patches.xml
+++ b/docs/xml/patches.xml
@@ -2,53 +2,108 @@
 <appendix id="patches" xreflabel="Useful Patches and Utilities for Bugzilla">
   <title>Contrib</title>
 
-  <para>There are a number of unofficial Bugzilla add-ons in the 
-  <filename class="directory">$BUGZILLA_ROOT/contrib/</filename>
-  directory. This section documents them.</para>
+  <para>
+    There are a number of unofficial Bugzilla add-ons in the 
+    <filename class="directory">$BUGZILLA_ROOT/contrib/</filename>
+    directory. This section documents them.
+  </para>
 
   <section id="cmdline">
     <title>Command-line Search Interface</title>
 
-    <para>There are a suite of Unix utilities for searching Bugzilla from the 
-    command line. They live in the 
-    <filename class="directory">contrib/cmdline</filename> 
-    directory. However, they
-    have not yet been updated to work with 2.16 (post-templatisation.).
-    There are three files - <filename>query.conf</filename>, 
-    <filename>buglist</filename> and <filename>bugs</filename>.</para>
+    <para>
+      There are a suite of Unix utilities for searching Bugzilla from the 
+      command line. They live in the 
+      <filename class="directory">contrib/cmdline</filename> directory.
+      There are three files - <filename>query.conf</filename>,
+      <filename>buglist</filename> and <filename>bugs</filename>.
+    </para>
+
+    <warning>
+      <para>
+        These files pre-date the templatisation work done as part of the
+        2.16 release, and have not been updated.
+      </para>
+    </warning>
     
-    <para><filename>query.conf</filename> 
-    contains the mapping from options to field
-    names and comparison types. Quoted option names are "grepped" for, so it
-    should be easy to edit this file. Comments (#) have no effect; you must
-    make sure these lines do not contain any quoted "option".</para>
-
-    <para><filename>buglist</filename>
-    is a shell script which submits a Bugzilla query and writes
-    the resulting HTML page to stdout. It supports both short options, (such
-    as "-Afoo" or "-Rbar") and long options (such as "--assignedto=foo" or
-    "--reporter=bar"). If the first character of an option is not "-", it is
-    treated as if it were prefixed with "--default=".</para>
-
-    <para>The column list is taken from the COLUMNLIST environment variable.
-    This is equivalent to the "Change Columns" option when you list bugs in
-    buglist.cgi. If you have already used Bugzilla, grep for COLUMNLIST
-    in your cookies file to see your current COLUMNLIST setting.</para>
-
-    <para><filename>bugs</filename> is a simple shell script which calls
-    <filename>buglist</filename> and extracts the
-    bug numbers from the output. Adding the prefix
-    "http://bugzilla.mozilla.org/buglist.cgi?bug_id=" turns the bug list into
-    a working link if any bugs are found. Counting bugs is easy. Pipe the
-    results through 
-    <command>sed -e 's/,/ /g' | wc | awk '{printf $2 "\n"}'</command>
+    <para>
+      <filename>query.conf</filename> contains the mapping from
+      options to field names and comparison types. Quoted option names
+      are <quote>grepped</quote> for, so it should be easy to edit this
+      file. Comments (#) have no effect; you must make sure these lines
+      do not contain any quoted <quote>option</quote>.
+    </para>
+
+    <para>
+      <filename>buglist</filename> is a shell script that submits a
+      Bugzilla query and writes the resulting HTML page to stdout.
+      It supports both short options, (such as <quote>-Afoo</quote>
+      or <quote>-Rbar</quote>) and long options (such
+      as <quote>--assignedto=foo</quote> or <quote>--reporter=bar</quote>).
+      If the first character of an option is not <quote>-</quote>, it is
+      treated as if it were prefixed with <quote>--default=</quote>.
+    </para>
+
+    <para>
+      The column list is taken from the COLUMNLIST environment variable.
+      This is equivalent to the <quote>Change Columns</quote> option
+      that is available when you list bugs in buglist.cgi. If you have
+      already used Bugzilla, grep for COLUMNLIST in your cookies file
+      to see your current COLUMNLIST setting.
+    </para>
+
+    <para>
+      <filename>bugs</filename> is a simple shell script which calls
+      <filename>buglist</filename> and extracts the
+      bug numbers from the output. Adding the prefix
+      <quote>http://bugzilla.mozilla.org/buglist.cgi?bug_id=</quote>
+      turns the bug list into a working link if any bugs are found.
+      Counting bugs is easy. Pipe the results through 
+      <command>sed -e 's/,/ /g' | wc | awk '{printf $2 "\n"}'</command>
+    </para>
+
+    <para>
+      Akkana Peck says she has good results piping 
+      <filename>buglist</filename> output through 
+      <command>w3m -T text/html -dump</command>
     </para>
 
-    <para>Akkana Peck says she has good results piping 
-    <filename>buglist</filename> output through 
-    <command>w3m -T text/html -dump</command>
+  </section>
+
+  <section id="cmdline-bugmail">
+    <title>Command-line 'Send Unsent Bug-mail' tool</title>
+
+    <para>
+      Within the <filename class="directory">contrib</filename> directory
+      exists a utility with the descriptive (if compact) name
+      of <filename>sendunsentbugmail.pl</filename>. The purpose of this
+      script is, simply, to send out any bug-related mail that should
+      have been sent by now, but for one reason or another has not.
     </para>
 
+    <para>
+      To accomplish this task, <filename>sendunsentbugmail.pl</filename> uses
+      the same mechanism as the <filename>sanitycheck.cgi</filename> script; it
+      it scans through the entire database looking for bugs with changes that
+      were made more than 30 minutes ago, but where there is no record of
+      anyone related to that bug having been sent mail. Having compiled a list,
+      it then uses the standard rules to determine who gets mail, and sends it
+      out.
+    </para>
+
+    <para>
+      As the script runs, it indicates the bug for which it is currently
+      sending mail; when it has finished, it gives a numerical count of how
+      many mails were sent and how many people were excluded. (Individual
+      user names are not recorded or displayed.) If the script produces
+      no output, that means no unsent mail was detected.
+    </para>
+
+    <para>
+      <emphasis>Usage</emphasis>: move the sendunsentbugmail.pl script
+      up into the main directory, ensure it has execute permission, and run it
+      from the command line (or from a cron job) with no parameters.
+    </para>
   </section>
 
 </appendix>
diff --git a/docs/xml/security.xml b/docs/xml/security.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f9d04a443aaff2aab7c5e89cdc57224f734bcc3b
--- /dev/null
+++ b/docs/xml/security.xml
@@ -0,0 +1,411 @@
+<!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"> -->
+<!-- $Id: security.xml,v 1.2.2.1 2004/12/03 23:19:25 jake%bugzilla.org Exp $ -->
+
+<chapter id="security">
+<title>Bugzilla Security</title>
+
+  <para>While some of the items in this chapter are related to the operating
+  system Bugzilla is running on or some of the support software required to
+  run Bugzilla, it is all related to protecting your data. This is not
+  intended to be a comprehensive guide to securing Linux, Apache, MySQL, or
+  any other piece of software mentioned. There is no substitute for active
+  administration and monitoring of a machine. The key to good security is
+  actually right in the middle of the word: <emphasis>U R It</emphasis>.
+  </para>
+  
+  <para>While programmers in general always strive to write secure code,
+  accidents can and do happen. The best approach to security is to always
+  assume that the program you are working with isn't 100% secure and restrict
+  its access to other parts of your machine as much as possible.
+  </para>
+ 
+  <section id="security-os">
+  <title>Operating System</title>
+  
+    <section id="security-os-ports">
+    <title>TCP/IP Ports</title>
+    
+      <!-- TODO: Get exact number of ports -->
+      <para>The TCP/IP standard defines more than 65,000 ports for sending
+      and receiving traffic. Of those, Bugzilla needs exactly one to operate
+      (different configurations and options may require up to 3). You should
+      audit your server and make sure that you aren't listening on any ports
+      you don't need to be. It's also highly recommended that the server
+      Bugzilla resides on, along with any other machines you administer, be
+      placed behind some kind of firewall.
+      </para>
+    
+    </section>
+    
+    <section id="security-os-accounts">
+    <title>System User Accounts</title>
+    
+      <para>Many <glossterm linkend="gloss-daemon">daemons</glossterm>, such
+      as Apache's <filename>httpd</filename> or MySQL's
+      <filename>mysqld</filename>, run as either <quote>root</quote> or
+      <quote>nobody</quote>. This is even worse on Windows machines where the
+      majority of <glossterm linkend="gloss-service">services</glossterm>
+      run as <quote>SYSTEM</quote>. While running as <quote>root</quote> or
+      <quote>SYSTEM</quote> introduces obvious security concerns, the
+      problems introduced by running everything as <quote>nobody</quote> may
+      not be so obvious. Basically, if you run every daemon as
+      <quote>nobody</quote> and one of them gets comprimised it can
+      comprimise every other daemon running as <quote>nobody</quote> on your
+      machine. For this reason, it is recommended that you create a user
+      account for each daemon.
+      </para>
+    
+      <note>
+        <para>You will need to set the <option>webservergroup</option> option
+        in <filename>localconfig</filename> to the group your webserver runs
+        as. This will allow <filename>./checksetup.pl</filename> to set file
+        permissions on Unix systems so that nothing is world-writable.
+        </para>
+      </note>
+    
+    </section>
+    
+    <section id="security-os-chroot">
+    <title>The <filename>chroot</filename> Jail</title>
+    
+      <para>If your system supports it, you may wish to consider running
+      Bugzilla inside of a <filename>chroot</filename> jail. This option
+      provides unpresidented security by restricting anything running
+      inside the jail from accessing any information outside of it. If you
+      wish to use this option, please consult the documentation that came
+      with your system.
+      </para>
+      
+    </section>
+  
+  </section>
+  
+  
+  
+  <section id="security-mysql">
+  <title>MySQL</title>
+  
+    <section id="security-mysql-account">
+    <title>The MySQL System Account</title>
+    
+      <para>As mentioned in <xref linkend="security-os-accounts"/>, the MySQL
+      daemon should run as a non-privleged, unique user. Be sure to consult
+      the MySQL documentation or the documentation that came with your system
+      for instructions.
+      </para>
+    </section>
+    
+    <section id="security-mysql-root">
+    <title>The MySQL <quote>root</quote> and <quote>anonymous</quote> Users</title>
+    
+      <para>By default, MySQL comes with a <quote>root</quote> user with a
+      blank password and an <quote>anonymous</quote> user, also with a blank
+      password. In order to protect your data, the <quote>root</quote> user
+      should be given a password and the anonymous user should be disabled.
+      </para>
+      
+      <example id="security-mysql-account-root">
+      <title>Assigning the MySQL <quote>root</quote> User a Password</title>
+      
+        <screen>
+<prompt>bash$</prompt> mysql mysql
+<prompt>mysql&gt;</prompt> UPDATE user SET password = password('<replaceable>new_password</replaceable>') WHERE user = 'root';
+<prompt>mysql&gt;</prompt> FLUSH PRIVILEGES;
+        </screen>
+      </example>
+      
+      <example id="security-mysql-account-anonymous">
+      <title>Disabling the MySQL <quote>anonymous</quote> User</title>
+        <screen>
+<prompt>bash$</prompt> mysql -u root -p mysql           <co id="security-mysql-account-anonymous-mysql"/>
+<prompt>Enter Password:</prompt> <replaceable>new_password</replaceable>
+<prompt>mysql&gt;</prompt> DELETE FROM user WHERE user = '';
+<prompt>mysql&gt;</prompt> FLUSH PRIVILEGES;
+        </screen>
+        <calloutlist>
+          <callout arearefs="security-mysql-account-anonymous-mysql">
+            <para>This command assumes that you have already completed
+            <xref linkend="security-mysql-account-root"/>.
+            </para>
+          </callout>
+        </calloutlist>
+      </example>
+          
+    </section>
+    
+    <section id="security-mysql-network">
+    <title>Network Access</title>
+    
+      <para>If MySQL and your webserver both run on the same machine and you
+      have no other reason to access MySQL remotely, then you should disable
+      the network access. This, along with the suggestion in
+      <xref linkend="security-os-ports"/>, will help protect your system from
+      any remote vulnerabilites in MySQL.
+      </para>
+      
+      <example id="security-mysql-network-ex">
+      <title>Disabling Networking in MySQL</title>
+      
+        <para>Simply enter the following in <filename>/etc/my.conf</filename>:
+        <screen>
+[myslqd]
+# Prevent network access to MySQL.
+skip-networking
+        </screen>
+        </para>
+      </example>
+      
+    </section>
+
+
+<!-- For possible addition in the future: How to better control the bugs user
+    <section id="security-mysql-bugs">
+    <title>The bugs User</title>
+    
+    </section>
+-->
+  
+  </section>
+  
+  
+  
+  <section id="security-webserver">
+  <title>Webserver</title>
+
+    <section id="security-webserver-access">
+    <title>Disabling Remote Access to Bugzilla Configuration Files</title>
+    
+      <para>There are many files that are placed in the Bugzilla directory
+      area that should not be accessable from the web. Because of the way
+      Bugzilla is currently layed out, the list of what should and should not
+      be accessible is rather complicated. A new installation method is
+      currently in the works which should solve this by allowing files that
+      shouldn't be accessible from the web to be placed in a directory outside
+      the webroot. See 
+      <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=44659">bug 44659</ulink>
+      for more information.
+      </para>
+      
+      <tip>
+        <para>Bugzilla ships with the ability to create
+        <glossterm linkend="gloss-htaccess"><filename>.htaccess</filename></glossterm>
+        files that enforce these rules. Instructions for enabling these
+        directives in Apache can be found in <xref linkend="http-apache"/>
+        </para>
+      </tip>
+        
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>In the main Bugzilla directory, you should:</para>
+          <itemizedlist spacing="compact">
+            <listitem>
+              <para>Block:
+              <simplelist type="inline">
+                <member><filename>*.pl</filename></member>
+                <member><filename>*localconfig*</filename></member>
+                <member><filename>runtests.sh</filename></member>
+              </simplelist>
+              </para>
+            </listitem>
+            <listitem>
+              <para>But allow:
+              <simplelist type="inline">
+                <member><filename>localconfig.js</filename></member>
+                <member><filename>localconfig.rdf</filename></member>
+              </simplelist>
+              </para>
+            </listitem>
+          </itemizedlist>
+        </listitem>
+
+        <listitem>
+          <para>In <filename class="directory">data</filename>:</para>
+          <itemizedlist spacing="compact">
+            <listitem>
+              <para>Block everything</para>
+            </listitem>
+            <listitem>
+              <para>But allow:
+              <simplelist type="inline">
+                <member><filename>duplicates.rdf</filename></member>
+              </simplelist>
+              </para>
+            </listitem>
+          </itemizedlist>
+        </listitem>
+
+        <listitem>
+          <para>In <filename class="directory">data/webdot</filename>:</para>
+          <itemizedlist spacing="compact">
+            <listitem>
+              <para>If you use a remote webdot server:</para>
+              <itemizedlist spacing="compact">
+                <listitem>
+                  <para>Block everything</para>
+                </listitem>
+                <listitem>
+                  <para>But allow
+                  <simplelist type="inline">
+                    <member><filename>*.dot</filename></member>
+                  </simplelist>
+                  only for the remote webdot server</para>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+            <listitem>
+              <para>Otherwise, if you use a local GraphViz:</para>
+              <itemizedlist spacing="compact">
+                <listitem>
+                  <para>Block everything</para>
+                </listitem>
+                <listitem>
+                  <para>But allow:
+                  <simplelist type="inline">
+                    <member><filename>*.png</filename></member>
+                    <member><filename>*.gif</filename></member>
+                    <member><filename>*.jpg</filename></member>
+                    <member><filename>*.map</filename></member>
+                  </simplelist>
+                  </para>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+            <listitem>
+              <para>And if you don't use any dot:</para>
+              <itemizedlist spacing="compact">
+                <listitem>
+                  <para>Block everything</para>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </itemizedlist>
+        </listitem>
+
+        <listitem>
+          <para>In <filename class="directory">Bugzilla</filename>:</para>
+          <itemizedlist spacing="compact">
+            <listitem>
+              <para>Block everything</para>
+            </listitem>
+          </itemizedlist>
+        </listitem>
+
+        <listitem>
+          <para>In <filename class="directory">template</filename>:</para>
+          <itemizedlist spacing="compact">
+            <listitem>
+              <para>Block everything</para>
+            </listitem>
+          </itemizedlist>
+        </listitem>
+      </itemizedlist>
+
+      <para>Be sure to test that data that should not be accessed remotely is
+      properly blocked. Of particular intrest is the localconfig file which
+      contains your database password. Also, be aware that many editors
+      create temporary and backup files in the working directory and that
+      those should also not be accessable. For more information, see 
+      <ulink url="http://bugzilla.mozilla.org/show_bug.cgi?id=186383">bug 186383</ulink>
+      or
+      <ulink url="http://online.securityfocus.com/bid/6501">Bugtraq ID 6501</ulink>.
+      To test, simply point your web browser at the file; for example, to
+      test mozilla.org's installation, we'd try to access
+      <ulink url="http://bugzilla.mozilla.org/localconfig"/>. You should get
+      a <quote><errorcode>403</errorcode> <errorname>Forbidden</errorname></quote>
+      error.
+      </para>
+      
+      <tip>
+        <para>Be sure to check <xref linkend="http"/> for instructions
+        specific to the webserver you use.
+        </para>
+      </tip>
+    
+    </section>
+
+
+    <section id="security-webserver-mod-throttle">
+      <title>Using <filename>mod_throttle</filename> to Prevent a DOS</title>
+
+      <note>
+        <para>This section only applies to people who have chosen the Apache
+        webserver. It may be possible to do similar things with other
+        webservers. Consult the documentation that came with your webserver
+        to find out.
+        </para>
+      </note>
+
+      <para>It is possible for a user, by mistake or on purpose, to access
+      the database many times in a row which can result in very slow access
+      speeds for other users (effectively, a
+      <glossterm linkend="gloss-dos">DOS</glossterm> attack). If your
+      Bugzilla installation is experiencing this problem, you may install
+      the Apache module <filename>mod_throttle</filename> which can limit
+      connections by IP address. You may download this module at 
+      <ulink url="http://www.snert.com/Software/mod_throttle/"/>.
+      Follow the instructions to install into your Apache install. 
+      The command you need is 
+      <command>ThrottleClientIP</command>. See the 
+      <ulink url="http://www.snert.com/Software/mod_throttle/">documentation</ulink>
+      for more information.</para>
+    </section>
+
+      
+  </section>
+  
+  
+  <section id="security-bugzilla">
+  <title>Bugzilla</title>
+
+    <section id="security-bugzilla-charset">
+    <title>Prevent users injecting malicious Javascript</title>
+
+      <para>It is possible for a Bugzilla user to take advantage of character
+      set encoding ambiguities to inject HTML into Bugzilla comments. This
+      could include malicious scripts. 
+      Due to internationalization concerns, we are unable to
+      incorporate by default the code changes suggested by 
+      <ulink
+      url="http://www.cert.org/tech_tips/malicious_code_mitigation.html#3">the
+      CERT advisory</ulink> on this issue.
+      If your installation is for an English speaking audience only, making the
+      change in <xref linkend="security-bugzilla-charset-ex"/> will prevent
+      this problem. 
+      </para>
+
+      <example id="security-bugzilla-charset-ex">
+      <title>Forcing Bugzilla to output a charset</title>
+
+        <para>Locate the following line in
+        <filename>Bugzilla/CGI.pm</filename>:
+        <programlisting>$self->charset('');</programlisting>
+        and change it to:
+        <programlisting>$self->charset('ISO-8859-1');</programlisting>
+        </para>
+      </example>
+    </section>    
+    
+  </section>
+
+</chapter> 
+
+<!-- Keep this comment at the end of the file 
+Local variables: 
+mode: sgml 
+sgml-always-quote-attributes:t
+sgml-auto-insert-required-elements:t
+sgml-balanced-tag-edit:t
+sgml-exposed-tags:nil
+sgml-general-insert-case:lower
+sgml-indent-data:t 
+sgml-indent-step:2 
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil 
+sgml-minimize-attributes:nil
+sgml-namecase-general:t 
+sgml-omittag:t
+sgml-parent-document:("Bugzilla-Guide.xml" "book" "chapter")
+sgml-shorttag:t 
+sgml-tag-region-if-active:t 
+End: -->
+
diff --git a/docs/xml/troubleshooting.xml b/docs/xml/troubleshooting.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2f07a7cb65db295a49be991982169d9ead07d14c
--- /dev/null
+++ b/docs/xml/troubleshooting.xml
@@ -0,0 +1,331 @@
+<!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"> -->
+<!-- $Id: troubleshooting.xml,v 1.2.2.3 2004/12/21 20:55:52 jake%bugzilla.org Exp $ -->
+
+<appendix id="troubleshooting">
+<title>Troubleshooting</title>
+
+  <para>This section gives solutions to common Bugzilla installation
+  problems. If none of the section headings seems to match your
+  problem, read the general advice.
+  </para>
+    
+  <section id="general-advice">
+  <title>General Advice</title>
+    <para>If you can't get <filename>checksetup.pl</filename> to run to 
+    completion, it normally explains what's wrong and how to fix it.
+    If you can't work it out, or if it's being uncommunicative, post 
+    the errors in the 
+    <ulink url="news://news.mozilla.org/netscape.public.mozilla.webtools">netscape.public.mozilla.webtools</ulink>
+    newsgroup.
+    </para>
+
+    <para>If you have made it all the way through
+    <xref linkend="installation"/> (Installation) and
+    <xref linkend="configuration"/> (Configuration) but accessing the Bugzilla
+    URL doesn't work, the first thing to do is to check your webserver error
+    log. For Apache, this is often located at
+    <filename>/etc/logs/httpd/error_log</filename>. The error messages
+    you see may be self-explanatory enough to enable you to diagnose and
+    fix the problem. If not, see below for some commonly-encountered 
+    errors. If that doesn't help, post the errors to the newsgroup.
+    </para>
+  </section>
+        
+  <section>
+  <title>The Apache webserver is not serving Bugzilla pages</title>
+    <para>After you have run <command>checksetup.pl</command> twice,
+    run <command>testserver.pl http://yoursite.yourdomain/yoururl</command>
+    to confirm that your webserver is configured properly for
+    Bugzilla.
+    </para>
+    <programlisting>
+<prompt>bash$</prompt> ./testserver.pl http://landfill.bugzilla.org/bugzilla-tip
+TEST-OK Webserver is running under group id in $webservergroup.
+TEST-OK Got ant picture.
+TEST-OK Webserver is executing CGIs.
+TEST-OK Webserver is preventing fetch of http://landfill.bugzilla.org/bugzilla-tip/localconfig.
+</programlisting>
+  </section>
+
+  <section>
+  <title>I installed a Perl module, but 
+      <filename>checksetup.pl</filename> claims it's not installed!</title>
+      
+    <para>This could be caused by one of two things:</para>
+    <orderedlist>
+      <listitem>
+        <para>You have two versions of Perl on your machine. You are installing
+        modules into one, and Bugzilla is using the other. Rerun the CPAN
+        commands (or manual compile) using the full path to Perl from the 
+        top of <filename>checksetup.pl</filename>. This will make sure you 
+        are installing the modules in the right place.
+        </para>
+      </listitem>
+      <listitem>
+	<para>The permissions on your library directories are set incorrectly.
+	They must, at the very least, be readable by the webserver user or
+	group. It is recommended that they be world readable.
+        </para>
+      </listitem>
+    </orderedlist>
+  </section>
+    
+  <section>
+  <title>Bundle::Bugzilla makes me upgrade to Perl 5.6.1</title>
+
+    <para>Try executing <command>perl -MCPAN -e 'install CPAN'</command>
+    and then continuing.
+    </para>
+      
+    <para>Certain older versions of the CPAN toolset were somewhat naive about
+    how to upgrade Perl modules. When a couple of modules got rolled into the
+    core Perl distribution for 5.6.1, CPAN thought that the best way to get
+    those modules up to date was to haul down the Perl distribution itself and
+    build it. Needless to say, this has caused headaches for just about
+    everybody. Upgrading to a newer version of CPAN with the
+    commandline above should fix things.
+    </para>
+  </section>
+
+
+  <section>
+  <title>DBD::Sponge::db prepare failed</title>
+      
+    <para>The following error message may appear due to a bug in DBD::mysql
+    (over which the Bugzilla team have no control):
+    </para>
+      
+<programlisting><![CDATA[ DBD::Sponge::db prepare failed: Cannot determine NUM_OF_FIELDS at D:/Perl/site/lib/DBD/mysql.pm line 248.
+  SV = NULL(0x0) at 0x20fc444
+  REFCNT = 1
+  FLAGS = (PADBUSY,PADMY)
+]]></programlisting>
+
+    <para>To fix this, go to 
+    <filename>&lt;path-to-perl&gt;/lib/DBD/sponge.pm</filename> 
+    in your Perl installation and replace
+    </para>
+        
+<programlisting><![CDATA[ my $numFields;
+ if ($attribs->{'NUM_OF_FIELDS'}) {
+     $numFields = $attribs->{'NUM_OF_FIELDS'};
+ } elsif ($attribs->{'NAME'}) {
+     $numFields = @{$attribs->{NAME}};
+]]></programlisting>
+
+    <para>with</para>
+
+<programlisting><![CDATA[ my $numFields;
+ if ($attribs->{'NUM_OF_FIELDS'}) {
+     $numFields = $attribs->{'NUM_OF_FIELDS'};
+ } elsif ($attribs->{'NAMES'}) {
+     $numFields = @{$attribs->{NAMES}};
+]]></programlisting>
+
+     <para>(note the S added to NAME.)</para>
+  </section>
+    
+  <section id="paranoid-security">
+  <title>cannot chdir(/var/spool/mqueue)</title>
+
+    <para>If you are installing Bugzilla on SuSE Linux, or some other
+    distributions with <quote>paranoid</quote> security options, it is
+    possible that the checksetup.pl script may fail with the error: 
+<programlisting><![CDATA[cannot chdir(/var/spool/mqueue): Permission denied
+]]></programlisting>
+    </para>
+      
+    <para>This is because your <filename>/var/spool/mqueue</filename>
+    directory has a mode of <computeroutput>drwx------</computeroutput>.
+    Type <command>chmod 755 <filename>/var/spool/mqueue</filename></command>
+    as root to fix this problem. This will allow any process running on your
+    machine the ability to <emphasis>read</emphasis> the
+    <filename>/var/spool/mqueue</filename> directory.
+    </para>
+  </section>    
+
+  <section id="trouble-filetemp">
+  <title>Your vendor has not defined Fcntl macro O_NOINHERIT</title>
+
+    <para>This is caused by a bug in the version of
+    <productname>File::Temp</productname> that is distributed with perl
+    5.6.0. Many minor variations of this error have been reported:
+    </para>
+
+    <programlisting>Your vendor has not defined Fcntl macro O_NOINHERIT, used 
+at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 208.
+
+Your vendor has not defined Fcntl macro O_EXLOCK, used 
+at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 210.
+
+Your vendor has not defined Fcntl macro O_TEMPORARY, used 
+at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233.</programlisting>
+
+    <para>Numerous people have reported that upgrading to version 5.6.1
+    or higher solved the problem for them. A less involved fix is to apply
+    the following patch, which is also
+    available as a <ulink url="../xml/filetemp.patch">patch file</ulink>.
+    </para>
+
+    <programlisting><![CDATA[--- File/Temp.pm.orig   Thu Feb  6 16:26:00 2003
++++ File/Temp.pm        Thu Feb  6 16:26:23 2003
+@@ -205,6 +205,7 @@
+     # eg CGI::Carp
+     local $SIG{__DIE__} = sub {};
+     local $SIG{__WARN__} = sub {};
++    local *CORE::GLOBAL::die = sub {};
+     $bit = &$func();
+     1;
+   };
+@@ -226,6 +227,7 @@
+     # eg CGI::Carp
+     local $SIG{__DIE__} = sub {};
+     local $SIG{__WARN__} = sub {};
++    local *CORE::GLOBAL::die = sub {};
+     $bit = &$func();
+     1;
+   };]]></programlisting>
+  </section>
+
+  <section id="trbl-relogin-everyone">
+  <title>Everybody is constantly being forced to relogin</title>
+  
+  <para>The most-likely cause is that the <quote>cookiepath</quote> parameter
+  is not set correctly in the Bugzilla configuration.  You can change this (if
+  you're a Bugzilla administrator) from the editparams.cgi page via the web.
+  </para>
+
+  <para>The value of the cookiepath parameter should be the actual directory
+  containing your Bugzilla installation, <emphasis>as seen by the end-user's
+  web browser</emphasis>. Leading and trailing slashes are mandatory. You can
+  also set the cookiepath to any directory which is a parent of the Bugzilla
+  directory (such as '/', the root directory). But you can't put something
+  that isn't at least a partial match or it won't work. What you're actually
+  doing is restricting the end-user's browser to sending the cookies back only
+  to that directory.
+  </para>
+
+  <para>How do you know if you want your specific Bugzilla directory or the
+  whole site?
+  </para>
+
+  <para>If you have only one Bugzilla running on the server, and you don't
+  mind having other applications on the same server with it being able to see
+  the cookies (you might be doing this on purpose if you have other things on
+  your site that share authentication with Bugzilla), then you'll want to have
+  the cookiepath set to "/", or to a sufficiently-high enough directory that
+  all of the involved apps can see the cookies.
+  </para>
+
+  <example id="trbl-relogin-everyone-share">
+  <title>Examples of urlbase/cookiepath pairs for sharing login cookies</title>
+
+    <blockquote>
+      <literallayout>
+        urlbase is <ulink url="http://bugzilla.mozilla.org/"/>
+        cookiepath is /
+
+        urlbase is <ulink url="http://tools.mysite.tld/bugzilla/"/>
+                but you have http://tools.mysite.tld/someotherapp/ which shares
+                authentication with your Bugzilla
+        cookiepath is /
+      </literallayout>
+    </blockquote>
+  </example>
+          
+   <para>On the other hand, if you have more than one Bugzilla running on the
+   server (some people do - we do on landfill) then you need to have the
+   cookiepath restricted enough so that the different Bugzillas don't
+   confuse their cookies with one another.
+   </para>
+
+
+   <example id="trbl-relogin-everyone-restrict">
+   <title>Examples of urlbase/cookiepath pairs to restrict the login cookie</title>
+      <blockquote>
+        <literallayout>
+        urlbase is <ulink url="http://landfill.bugzilla.org/bugzilla-tip/"/>
+        cookiepath is /bugzilla-tip/
+
+        urlbase is <ulink url="http://landfill.bugzilla.org/bugzilla-2.16-branch/"/>
+        cookiepath is /bugzilla-2.16-branch/
+        </literallayout>
+      </blockquote>
+    </example>
+
+    <para>If you had cookiepath set to <quote>/</quote> at any point in the
+    past and need to set it to something more restrictive
+    (i.e. <quote>/bugzilla/</quote>), you can safely do this without
+    requiring users to delete their Bugzilla-related cookies in their
+    browser (this is true starting with 
+    Bugzilla 2.18 and Bugzilla 2.16.5).
+    </para>
+  </section>
+
+  <section>
+  <title>Some users are constantly being forced to relogin</title>
+
+    <para>First, make sure cookies are enabled in the user's browser.
+    </para>
+
+    <para>If that doesn't fix the problem, it may be that the user's ISP
+     implements a rotating proxy server. This causes the user's effective IP
+     address (the address which the Bugzilla server perceives him coming from)
+     to change periodically. Since Bugzilla cookies are tied to a specific IP
+     address, each time the effective address changes, the user will have to
+     log in again.
+     </para>
+
+     <para>If you are using 2.18, there is a
+     parameter called <quote>loginnetmask</quote>, which you can use to set
+     the number of bits of the user's IP address to require to be matched when
+     authenticating the cookies. If you set this to something less than 32,
+     then the user will be given a checkbox for <quote>Restrict this login to
+     my IP address</quote> on the login screen, which defaults to checked. If
+     they leave the box checked, Bugzilla will behave the same as it did
+     before, requiring an exact match on their IP address to remain logged in.
+     If they uncheck the box, then only the left side of their IP address (up
+     to the number of bits you specified in the parameter) has to match to
+     remain logged in.
+     </para>
+
+   </section>
+
+  <section id="trbl-index">
+  <title><filename>index.cgi</filename> doesn't show up unless specified in the URL</title>
+    <para>
+      You probably need to set up your web server in such a way that it
+      will serve the index.cgi page as an index page.
+    </para>
+    <para>
+      If you are using Apache, you can do this by adding 
+      <filename>index.cgi</filename> to the end of the 
+      <computeroutput>DirectoryIndex</computeroutput> line
+      as mentioned in <xref linkend="http-apache"/>.
+    </para>
+
+  </section>
+
+</appendix> 
+
+<!-- Keep this comment at the end of the file 
+Local variables: 
+mode: sgml 
+sgml-always-quote-attributes:t
+sgml-auto-insert-required-elements:t
+sgml-balanced-tag-edit:t
+sgml-exposed-tags:nil
+sgml-general-insert-case:lower
+sgml-indent-data:t 
+sgml-indent-step:2 
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil 
+sgml-minimize-attributes:nil
+sgml-namecase-general:t 
+sgml-omittag:t
+sgml-parent-document:("Bugzilla-Guide.xml" "book" "chapter")
+sgml-shorttag:t 
+sgml-tag-region-if-active:t 
+End: -->
+
+
diff --git a/docs/xml/using.xml b/docs/xml/using.xml
index 75932c19d1c7b6f6fc891a8a4c4fd2f598a8547c..a34194c1d81b52fcd590b841eac1e9c3fe64b074 100644
--- a/docs/xml/using.xml
+++ b/docs/xml/using.xml
@@ -5,13 +5,13 @@
 
   <section id="using-intro">
     <title>Introduction</title>
-    <para>This section contains information for end-users of Bugzilla. 
-    There is a Bugzilla test installation, called 
-    <ulink url="http://landfill.bugzilla.org/bugzilla-tip/">Landfill</ulink>, 
-    which you are welcome to play with (if it's up.) 
-    However, it does not necessarily
-    have all Bugzilla features enabled, and runs an up-to-the-minute version, 
-    so some things may not quite work as this document describes.</para>
+    <para>This section contains information for end-users of Bugzilla.  There
+    is a Bugzilla test installation, called
+    <ulink url="http://landfill.bugzilla.org/">Landfill</ulink>, which you are
+    welcome to play with (if it's up). However, not all of the Bugzilla
+    installations there will necessarily have all Bugzilla features enabled,
+    and different installations run different versions, so some things may not
+    quite work as this document describes.</para>
   </section>
       
   <section id="myaccount">
@@ -21,7 +21,7 @@
     Consult with the administrator responsible for your installation of
     Bugzilla for the URL you should use to access it. If you're
     test-driving Bugzilla, use this URL: 
-    <ulink url="http://landfill.bugzilla.org/bugzilla-tip/"/>.
+    <ulink url="&landfillbase;"/>.
     </para>
 
     <orderedlist>
@@ -67,7 +67,7 @@
     <para>The core of Bugzilla is the screen which displays a particular
     bug. It's a good place to explain some Bugzilla concepts. 
     <ulink
-    url="http://landfill.bugzilla.org/bugzilla-tip/show_bug.cgi?id=1">
+    url="&landfillbase;show_bug.cgi?id=1">
     Bug 1 on Landfill</ulink>
 
     is a good example. Note that the labels for most fields are hyperlinks;
@@ -261,13 +261,35 @@
     </orderedlist>
   </section>
 
+  <section id="lifecycle">
+    <title>Life Cycle of a Bug</title>
+
+    <para>
+      The life cycle, also known as work flow, of a bug is currently hardcoded
+      into Bugzilla. <xref linkend="lifecycle-image"/> contains a graphical
+      repsentation of this life cycle. If you wish to customize this image for
+      your site, the <ulink url="../images/bzLifecycle.xml">diagram file</ulink>
+      is available in <ulink url="http://www.gnome.org/projects/dia">Dia's</ulink>
+      native XML format.
+    </para>
+
+    <figure id="lifecycle-image">
+      <title>Lifecycle of a Bugzilla Bug</title>
+      <mediaobject>
+        <imageobject>
+          <imagedata fileref="../images/bzLifecycle.png" scale="66" />
+        </imageobject>
+      </mediaobject>
+    </figure>
+  </section>
+
   <section id="query">
     <title>Searching for Bugs</title>
 
     <para>The Bugzilla Search page is is the interface where you can find
     any bug report, comment, or patch currently in the Bugzilla system. You
     can play with it here: 
-    <ulink url="http://landfill.bugzilla.org/bugzilla-tip/query.cgi"/>.</para>
+    <ulink url="&landfillbase;query.cgi"/>.</para>
 
     <para>The Search page has controls for selecting different possible
     values for all of the fields in a bug, as described above. For some
@@ -344,7 +366,7 @@
     <para>Years of bug writing experience has been distilled for your
     reading pleasure into the 
     <ulink
-    url="http://landfill.bugzilla.org/bugzilla-tip/bugwritinghelp.html">
+    url="&landfillbase;page.cgi?id=bug-writing.html">
     Bug Writing Guidelines</ulink>. 
     While some of the advice is Mozilla-specific, the basic principles of
     reporting Reproducible, Specific bugs, isolating the Product you are
@@ -358,11 +380,11 @@
     <orderedlist>
       <listitem>
         <para>Go to 
-        <ulink url="http://landfill.bugzilla.org/bugzilla-tip/">
+        <ulink url="&landfillbase;">
         Landfill</ulink>
         in your browser and click 
         <ulink
-        url="http://landfill.bugzilla.org/bugzilla-tip/enter_bug.cgi">
+        url="&landfillbase;enter_bug.cgi">
         Enter a new bug report</ulink>.
         </para>
       </listitem>
@@ -619,30 +641,144 @@
     <section id="emailsettings">
       <title>Email Settings</title>
 
-      <para>On this tab you can reduce or increase the amount of email sent
-      you from Bugzilla, opting in our out depending on your relationship to
-      the bug and the change that was made to it. 
+      <para>
+        This tab controls the amount of email Bugzilla sends you.
       </para>
-      
+
+      <para>
+        The first item on this page is marked <quote>Users to watch</quote>.
+        When you enter one or more comma-delineated user accounts (usually email
+        addresses) into the text entry box, you will receive a copy of all the
+        bugmail those users are sent (security settings permitting).
+        This powerful functionality enables seamless transitions as developers
+        change projects or users go on holiday.
+      </para>
+
+      <note>
+        <para>
+          The ability to watch other users may not be available in all
+          Bugzilla installations. If you don't see this feature, and feel
+          that you need it, speak to your administrator.
+        </para>
+      </note>
+
+      <para>
+        In general, users have almost complete control over how much (or
+        how little) email Bugzilla sends them. If you want to receive the
+        maximum amount of email possible, click the <quote>Enable All 
+        Mail</quote> button. If you don't want to receive any email from
+        Bugzilla at all, click the <quote>Disable All Mail</quote> button.
+      </para>
+
+      <note>
+        <para>
+          Your Bugzilla administrator can stop a user from receiving
+          bugmail by adding the user's name to the 
+          <filename>data/nomail</filename> file. This is a drastic step
+          best taken only for disabled accounts, as it overrides the 
+          the user's individual mail preferences.
+        </para>
+      </note>
+  
+      <para>
+        If you'd like to set your bugmail to something besides
+        'Completely ON' and 'Completely OFF', the
+        <quote>Field/recipient specific options</quote> table
+        allows you to do just that. The rows of the table
+        define events that can happen to a bug -- things like
+        attachments being added, new comments being made, the
+        priority changing, etc. The columns in the table define
+        your relationship with the bug:
+      </para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>
+            Reporter - Where you are the person who initially
+            reported the bug. Your name/account appears in the
+            <quote>Reporter:</quote> field.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Assignee - Where you are the person who has been
+            designated as the one responsible for the bug. Your
+            name/account appears in the <quote>Assigned To:</quote>
+            field of the bug.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            QA Contact - You are one of the designated
+            QA Contacts for the bug. Your account appears in the 
+            <quote>QA Contact:</quote> text-box of the bug.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            CC - You are on the list CC List for the bug.
+            Your account appears in the <quote>CC:</quote> text box
+            of the bug.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            Voter - You have placed one or more votes for the bug.
+            Your account appears only if someone clicks on the 
+            <quote>Show votes for this bug</quote> link on the bug.
+          </para>
+        </listitem>
+      </itemizedlist>
+
+
+      <note>
+        <para>
+          Some columns may not be visible for your installation, depending
+          on your site's configuration.
+        </para>
+      </note>
+
       <para>
-      You can also do further filtering on the client side by 
-      using the X-Bugzilla-Reason mail header which Bugzilla
-      adds to all bugmail. This tells you what relationship you have to the
-      bug in question,
-      and can be any of Owner, Reporter, QAcontact, CClist, Voter and
-      WatchingComponent.</para>
-
-      <para>By entering user email names, delineated by commas, into the
-      "Users to watch" text entry box you can receive a copy of all the
-      bugmail of other users (security settings permitting.) This powerful
-      functionality enables seamless transitions as developers change
-      projects or users go on holiday.</para>
+        To fine-tune your bugmail, decide the events for which you want
+        to receive bugmail; then decide if you want to receive it all
+        the time (enable the checkbox for every column), or only when
+        you have a certain relationship with a bug (enable the checkbox
+        only for those columns). For example: if you didn't want to
+        receive mail when someone added themselves to the CC list, you
+        could uncheck all the boxes in the <quote>CC Field Changes</quote>
+        line. As another example, if you never wanted to receive email
+        on bugs you reported unless the bug was resolved, you would
+        un-check all boxes in the <quote>Reporter</quote> column
+        except for the one on the <quote>The bug is resolved or
+        verified</quote> row.
+      </para>
 
       <note>
-        <para>The ability to watch other users may not be available in all
-        Bugzilla installations. If you can't see it, ask your 
-        administrator.</para>
+        <para>
+          Bugzilla adds the <quote>X-Bugzilla-Reason</quote> header to
+          all bugmail it sends, describing the recipient's relationship
+          (AssignedTo, Reporter, QAContact, CC, or Voter) to the bug.
+          This header can be used to do further client-side filtering.
+        </para>
       </note>
+
+      <para>
+        Two items not in the table (<quote>Email me when someone
+        asks me to set a flag</quote> and <quote>Email me when someone
+        sets a flag I asked for</quote>) define how you want to
+        receive bugmail with regards to flags. Their use is quite
+        straightforward; enable the checkboxes if you want Bugzilla to
+        send you mail under either of the above conditions.
+      </para>
+
+      <para>
+        By default, Bugzilla sends out email regardless of who made the
+        change... even if you were the one responsible for generating
+        the email in the first place. If you don't care to receive bugmail
+        from your own changes, check the box marked <quote>Only email me
+        reports of changes made by other people</quote>.
+      </para>
+
     </section>
 
     <section id="permissionsettings">
@@ -654,11 +790,214 @@
       functions.</para>
     </section>
   </section>
+  
+  
   <section id="reporting">
-    <title>Reports</title>
-    <para><emphasis>To be written</emphasis></para>
+    <title>Reports and Charts</title>
+    
+    <para>As well as the standard buglist, Bugzilla has two more ways of
+    viewing sets of bugs. These are the reports (which give different
+    views of the current state of the database) and charts (which plot
+    the changes in particular sets of bugs over time.)</para>
+    
+    <section id="reports">
+      <title>Reports</title>
+      
+      <para>
+        A report is a view of the current state of the bug database.
+      </para>
+      
+      <para>
+        You can run either an HTML-table-based report, or a graphical
+        line/pie/bar-chart-based one. The two have different pages to
+        define them, but are close cousins - once you've defined and
+        viewed a report, you can switch between any of the different
+        views of the data at will.
+      </para>
+      
+      <para>
+        Both report types are based on the idea of defining a set of bugs
+        using the standard search interface, and then choosing some
+        aspect of that set to plot on the horizontal and/or vertical axes.
+        You can also get a form of 3-dimensional report by choosing to have
+        multiple images or tables.
+      </para>
+      
+      <para>
+        So, for example, you could use the search form to choose "all
+        bugs in the WorldControl product", and then plot their severity
+        against their component to see which component had had the largest
+        number of bad bugs reported against it. 
+      </para>
+      
+      <para>
+        Once you've defined your parameters and hit "Generate Report",
+        you can switch between HTML, CSV, Bar, Line and Pie. (Note: Pie
+        is only available if you didn't define a vertical axis, as pie
+        charts don't have one.) The other controls are fairly self-explanatory;
+        you can change the size of the image if you find text is overwriting
+        other text, or the bars are too thin to see.
+      </para>
+      
+    </section>
+    
+    <section id="charts">
+      <title>Charts</title>
+      
+      <para>
+        A chart is a view of the state of the bug database over time.
+      </para>
+      
+      <para>
+        Bugzilla currently has two charting systems - Old Charts and New 
+        Charts. Old Charts have been part of Bugzilla for a long time; they
+        chart each status and resolution for each product, and that's all.
+        They are deprecated, and going away soon - we won't say any more 
+        about them.
+        New Charts are the future - they allow you to chart anything you
+        can define as a search.
+      </para>
+      
+      <note>
+        <para>
+          Both charting forms require the administrator to set up the
+          data-gathering script. If you can't see any charts, ask them whether
+          they have done so.
+        </para>
+      </note>
+      
+      <para>
+        An individual line on a chart is called a data set.
+        All data sets are organised into categories and subcategories. The 
+        data sets that Bugzilla defines automatically use the Product name 
+        as a Category and Component names as Subcategories, but there is no 
+        need for you to follow that naming scheme with your own charts if 
+        you don't want to.
+      </para>
+      
+      <para>
+        Data sets may be public or private. Everyone sees public data sets in
+        the list, but only their creator sees private data sets. Only 
+        administrators can make data sets public.
+        No two data sets, even two private ones, can have the same set of 
+        category, subcategory and name. So if you are creating private data 
+        sets, one idea is to have the Category be your username.
+      </para>
+      
+      <section>
+        <title>Creating Charts</title>
+        
+        <para>
+          You create a chart by selecting a number of data sets from the
+          list, and pressing Add To List for each. In the List Of Data Sets
+          To Plot, you can define the label that data set will have in the
+          chart's legend, and also ask Bugzilla to Sum a number of data sets 
+          (e.g. you could Sum data sets representing RESOLVED, VERIFIED and 
+          CLOSED in a particular product to get a data set representing all 
+          the resolved bugs in that product.)
+        </para>
+
+        <para>
+          If you've erroneously added a data set to the list, select it
+          using the checkbox and click Remove. Once you add more than one 
+          data set, a "Grand Total" line
+          automatically appears at the bottom of the list. If you don't want
+          this, simply remove it as you would remove any other line.
+        </para>
+        
+        <para>
+          You may also choose to plot only over a certain date range, and
+          to cumulate the results - that is, to plot each one using the 
+          previous one as a baseline, so the top line gives a sum of all 
+          the data sets. It's easier to try than to explain :-)
+        </para>
+
+        <para>
+          Once a data set is in the list, one can also perform certain 
+          actions on it. For example, one can edit the
+          data set's parameters (name, frequency etc.) if it's one you
+          created or if you are an administrator.
+        </para>
+
+        <para>
+           Once you are happy, click Chart This List to see the chart.
+        </para>
+
+      </section>
+      
+      <section>
+        <title>Creating New Data Sets</title>
+        
+        <para>
+          You may also create new data sets of your own. To do this,
+          click the "create a new data set" link on the Create Chart page.
+          This takes you to a search-like interface where you can define
+          the search that Bugzilla will plot. At the bottom of the page,
+          you choose the category, sub-category and name of your new
+          data set. 
+        </para>
+
+        <para>
+          If you have sufficient permissions, you can make the data set public,
+          and reduce the frequency of data collection to less than the default
+          seven days.
+        </para>
+      </section>
+      
+    </section>
+    
   </section>
   
+  <section id="flags">
+    <title>Flags</title>
+    
+    <para>
+      A flag is a kind of status that can be set on bugs or attachments
+      to indicate that the bugs/attachments are in a certain state.
+      Each installation can define its own set of flags that can be set
+      on bugs or attachments.
+    </para>
+    
+    <para>
+      If your installation has defined a flag, you can set or unset that flag,
+      and if your administrator has enabled requesting of flags, you can submit
+      a request for another user to set the flag.
+    </para>
+    
+    <para>
+      To set a flag, select either "+" or "-" from the drop-down menu next to
+      the name of the flag in the "Flags" list.  The meaning of these values are
+      flag-specific and thus cannot be described in this documentation,
+      but by way of example, setting a flag named "review" to "+" may indicate
+      that the bug/attachment has passed review, while setting it to "-"
+      may indicate that the bug/attachment has failed review.
+    </para>
+    
+    <para>
+      To unset a flag, click its drop-down menu and select the blank value.
+    </para>
+    
+    <para>
+      If your administrator has enabled requests for a flag, request a flag
+      by selecting "?" from the drop-down menu and then entering the username
+      of the user you want to set the flag in the text field next to the menu.
+    </para>
+    
+    <para>
+      A set flag appears in bug reports and on "edit attachment" pages with the
+      abbreviated username of the user who set the flag prepended to the
+      flag name. For example, if Jack sets a "review" flag to "+", it appears
+      as Jack: review [ + ]
+    </para>
+  
+    <para>
+      A requested flag appears with the user who requested the flag prepended
+      to the flag name and the user who has been requested to set the flag
+      appended to the flag name within parentheses.  For example, if Jack
+      asks Jill for review, it appears as Jack: review [ ? ] (Jill).
+    </para>
+  </section>
+
 </chapter>
 
 <!-- Keep this comment at the end of the file
diff --git a/doeditparams.cgi b/doeditparams.cgi
index 3a89a0fd049019164b005e5db67920ee239549d7..679bd74e3ffe3782d82fd7fd8a4d46a764e77657 100755
--- a/doeditparams.cgi
+++ b/doeditparams.cgi
@@ -26,14 +26,12 @@ use strict;
 use lib qw(.);
 
 use Bugzilla;
+use Bugzilla::Constants;
 use Bugzilla::Config qw(:DEFAULT :admin $datadir);
 
 require "CGI.pl";
 
-use vars %::MFORM;
-
-ConnectToDatabase();
-confirm_login();
+Bugzilla->login(LOGIN_REQUIRED);
 
 my $cgi = Bugzilla->cgi;
 
@@ -52,13 +50,13 @@ my $howto = "";
 
 foreach my $i (GetParamList()) {
     my $name = $i->{'name'};
-    my $value = $::FORM{$name};
-    if (exists $::FORM{"reset-$name"}) {
+    my $value = $cgi->param($name);
+    if (defined $cgi->param("reset-$name")) {
         $value = $i->{'default'};
     } else {
         if ($i->{'type'} eq 'm') {
             # This simplifies the code below
-            $value = \@{$::MFORM{$name}};
+            $value = [ $cgi->param($name) ];
         } else {
             # Get rid of windows/mac-style line endings.
             $value =~ s/\r\n?/\n/g;
diff --git a/duplicates.cgi b/duplicates.cgi
index 5da90e7b95d32f089d4373786af85f9c8ae78819..744ad814730f2305edb1c59114536915e61d57f7 100644
--- a/duplicates.cgi
+++ b/duplicates.cgi
@@ -32,8 +32,6 @@ use lib qw(.);
 require "globals.pl";
 require "CGI.pl";
 
-use vars qw($buffer);
-
 use Bugzilla;
 use Bugzilla::Search;
 use Bugzilla::Config qw(:DEFAULT $datadir);
@@ -44,8 +42,8 @@ my $cgi = Bugzilla->cgi;
 # Go directly to the XUL version of the duplicates report (duplicates.xul)
 # if the user specified ctype=xul.  Adds params if they exist, and directs
 # the user to a signed copy of the script in duplicates.jar if it exists.
-if ($::FORM{'ctype'} && $::FORM{'ctype'} eq "xul") {
-    my $params = CanonicaliseParams($::buffer, ["format", "ctype"]);
+if (defined $cgi->param('ctype') && $cgi->param('ctype') eq "xul") {
+    my $params = CanonicaliseParams($cgi->query_string(), ["format", "ctype"]);
     my $url = (-e "duplicates.jar" ? "duplicates.jar!/" : "") . 
           "duplicates.xul" . ($params ? "?$params" : "") . "\n\n";
 
@@ -56,7 +54,6 @@ if ($::FORM{'ctype'} && $::FORM{'ctype'} eq "xul") {
 # Use global templatisation variables.
 use vars qw($template $vars);
 
-ConnectToDatabase();
 GetVersionTable();
 
 # collectstats.pl uses duplicates.cgi to generate the RDF duplicates stats.
@@ -66,12 +63,12 @@ if ($::ENV{'GATEWAY_INTERFACE'} eq "cmdline") {
     Bugzilla->login(LOGIN_OPTIONAL);
 }
 else {
-    Bugzilla->login(LOGIN_NORMAL);
+    Bugzilla->login();
 }
 
 Bugzilla->switch_to_shadow_db();
 
-use vars qw (%FORM $userid @legal_product);
+use vars qw ($userid @legal_product);
 
 my %dbmcount;
 my %count;
@@ -80,7 +77,7 @@ my %before;
 # Get params from URL
 sub formvalue {
     my ($name, $default) = (@_);
-    return $FORM{$name} || $default || "";
+    return $cgi->param($name) || $default || "";
 }
 
 my $sortby = formvalue("sortby");
@@ -218,7 +215,7 @@ if (scalar(%count)) {
     }
 
     # Restrict to product if requested
-    if ($::FORM{'product'}) {
+    if ($cgi->param('product')) {
         $params->param('product', join(',', @query_products));
     }
 
@@ -267,13 +264,14 @@ $vars->{'changedsince'} = $changedsince;
 $vars->{'maxrows'} = $maxrows;
 $vars->{'openonly'} = $openonly;
 $vars->{'reverse'} = $reverse;
-$vars->{'format'} = $::FORM{'format'};
+$vars->{'format'} = $cgi->param('format');
 $vars->{'query_products'} = \@query_products;
-$vars->{'products'} = \@::legal_product;
+my @selectable_products = GetSelectableProducts();
+$vars->{'products'} = \@selectable_products;
 
 
-my $format = 
-  GetFormat("reports/duplicates", $::FORM{'format'}, $::FORM{'ctype'});
+my $format = GetFormat("reports/duplicates", scalar($cgi->param('format')),
+                       scalar($cgi->param('ctype')));
 
 print $cgi->header($format->{'ctype'});
 
diff --git a/editcomponents.cgi b/editcomponents.cgi
index 1cac27a991a24f3c45401efe728b64f7a1cbbcdf..865350e9b27a1373fdc25f6e3fa9d7ddd2a4b13a 100755
--- a/editcomponents.cgi
+++ b/editcomponents.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl -wT
 # -*- Mode: perl; indent-tabs-mode: nil -*-
 #
 # The contents of this file are subject to the Mozilla Public
@@ -31,8 +31,10 @@ use lib ".";
 require "CGI.pl";
 require "globals.pl";
 
+use Bugzilla::Constants;
 use Bugzilla::Config qw(:DEFAULT $datadir);
 use Bugzilla::Series;
+use Bugzilla::Util;
 
 # Shut up misguided -w warnings about "used only once".  For some reason,
 # "use vars" chokes on me when I try it here.
@@ -45,7 +47,7 @@ sub sillyness {
 
 my $dobugcounts = (defined $::FORM{'dobugcounts'});
 
-
+my $cgi = Bugzilla->cgi;
 
 # TestProduct:    just returns if the specified product does exists
 # CheckProduct:   same check, optionally  emit an error text
@@ -161,6 +163,7 @@ sub EmitFormElements ($$$$$)
 sub PutTrailer (@)
 {
     my (@links) = ("Back to the <A HREF=\"query.cgi\">query page</A>", @_);
+    SendSQL("UNLOCK TABLES");
 
     my $count = $#links;
     my $num = 0;
@@ -195,8 +198,7 @@ sub PutTrailer (@)
 # Preliminary checks:
 #
 
-ConnectToDatabase();
-confirm_login();
+Bugzilla->login(LOGIN_REQUIRED);
 
 print Bugzilla->cgi->header();
 
@@ -454,16 +456,30 @@ if ($action eq 'new') {
     GetVersionTable();
 
     my @series;
-    my $prodcomp = "&product=$product&component=$component";
 
+    my $prodcomp = "&product=" . url_quote($product) . 
+                   "&component=" . url_quote($component);
+                    
     # For localisation reasons, we get the title of the queries from the
     # submitted form.
+    my $open_name = $cgi->param('open_name');
+    my $closed_name = $cgi->param('closed_name');
     my @openedstatuses = ("UNCONFIRMED", "NEW", "ASSIGNED", "REOPENED");
-    my $statuses = join("&", map { "bug_status=$_" } @openedstatuses);
-    push(@series, [$::FORM{'open_name'}, $statuses . $prodcomp]);
-
-    my $resolved = "field0-0-0=resolution&type0-0-0=notequals&value0-0-0=---";
-    push(@series, [$::FORM{'closed_name'}, $resolved . $prodcomp]);
+    my $statuses = 
+              join("&", map { "bug_status=" . url_quote($_) } @openedstatuses) . 
+              $prodcomp;
+    my $resolved = "field0-0-0=resolution&type0-0-0=notequals&value0-0-0=---" . 
+                   $prodcomp;
+
+    # trick_taint is ok here, as these variables aren't used as a command
+    # or in SQL unquoted
+    trick_taint($open_name);
+    trick_taint($closed_name);
+    trick_taint($statuses);
+    trick_taint($resolved);
+
+    push(@series, [$open_name, $statuses]);
+    push(@series, [$closed_name, $resolved]);
 
     foreach my $sdata (@series) {
         my $series = new Bugzilla::Series(undef, $product, $component,
@@ -666,7 +682,6 @@ if ($action eq 'delete') {
     SendSQL("DELETE FROM components
              WHERE id=$component_id");
     print "Components deleted.<P>\n";
-    SendSQL("UNLOCK TABLES");
 
     unlink "$datadir/versioncache";
     PutTrailer($localtrailer);
@@ -773,7 +788,6 @@ if ($action eq 'update') {
         unless ($description) {
             print "Sorry, I can't delete the description.";
             PutTrailer($localtrailer);
-            SendSQL("UNLOCK TABLES");
             exit;
         }
         SendSQL("UPDATE components
@@ -786,7 +800,6 @@ if ($action eq 'update') {
     if ($initialowner ne $initialownerold) {
         unless ($initialowner) {
             print "Sorry, I can't delete the initial owner.";
-            SendSQL("UNLOCK TABLES");
             PutTrailer($localtrailer);
             exit;
         }
@@ -794,7 +807,6 @@ if ($action eq 'update') {
         my $initialownerid = DBname_to_id($initialowner);
         unless ($initialownerid) {
             print "Sorry, you must use an existing Bugzilla account as initial owner.";
-            SendSQL("UNLOCK TABLES");
             PutTrailer($localtrailer);
             exit;
         }
@@ -809,7 +821,6 @@ if ($action eq 'update') {
         my $initialqacontactid = DBname_to_id($initialqacontact);
         if (!$initialqacontactid && $initialqacontact ne '') {
             print "Sorry, you must use an existing Bugzilla account as initial QA contact.";
-            SendSQL("UNLOCK TABLES");
             PutTrailer($localtrailer);
             exit;
         }
@@ -825,13 +836,11 @@ if ($action eq 'update') {
         unless ($component) {
             print "Sorry, but a component must have a name.";
             PutTrailer($localtrailer);
-            SendSQL("UNLOCK TABLES");
             exit;
         }
         if (TestComponent($product,$component)) {
             print "Sorry, component name '$component' is already in use.";
             PutTrailer($localtrailer);
-            SendSQL("UNLOCK TABLES");
             exit;
         }
 
@@ -841,7 +850,6 @@ if ($action eq 'update') {
         unlink "$datadir/versioncache";
         print "Updated component name.<BR>\n";
     }
-    SendSQL("UNLOCK TABLES");
 
     PutTrailer($localtrailer);
     exit;
@@ -856,6 +864,3 @@ if ($action eq 'update') {
 PutHeader("Error");
 print "I don't have a clue what you want.<BR>\n";
 
-foreach ( sort keys %::FORM) {
-    print "$_: $::FORM{$_}<BR>\n";
-}
diff --git a/editflagtypes.cgi b/editflagtypes.cgi
index 711828b6a768712b781d238bc840161e8d8bd7de..b172cd996a3a8acce1550d887ff7014edff92328 100755
--- a/editflagtypes.cgi
+++ b/editflagtypes.cgi
@@ -31,18 +31,16 @@ use lib ".";
 # Include the Bugzilla CGI and general utility library.
 require "CGI.pl";
 
-# Establish a connection to the database backend.
-ConnectToDatabase();
-
 # Use Bugzilla's flag modules for handling flag types.
 use Bugzilla;
+use Bugzilla::Constants;
 use Bugzilla::Flag;
 use Bugzilla::FlagType;
 
 use vars qw( $template $vars );
 
 # Make sure the user is logged in and is an administrator.
-confirm_login();
+Bugzilla->login(LOGIN_REQUIRED);
 UserInGroup("editcomponents")
   || ThrowUserError("authorization_failure", 
                     { action => "administer flag types" });
@@ -63,9 +61,11 @@ my $component_id;
 
 # Determine whether to use the action specified by the user or the default.
 my $action = $::FORM{'action'} || 'list';
+my @categoryActions;
 
-if ($::FORM{'categoryAction'}) {
-    processCategoryChange();
+if (@categoryActions = grep(/^categoryAction-.+/, keys(%::FORM))) {
+    $categoryActions[0] =~ s/^categoryAction-//;
+    processCategoryChange($categoryActions[0]);
     exit;
 }
 
@@ -76,7 +76,7 @@ elsif ($action eq 'edit')           { edit();           }
 elsif ($action eq 'insert')         { insert();         }
 elsif ($action eq 'update')         { update();         }
 elsif ($action eq 'confirmdelete')  { confirmDelete();  } 
-elsif ($action eq 'delete')         { &delete();        }
+elsif ($action eq 'delete')         { deleteType();     }
 elsif ($action eq 'deactivate')     { deactivate();     }
 else { 
     ThrowCodeError("action_unrecognized", { action => $action });
@@ -147,6 +147,7 @@ sub edit {
 }
 
 sub processCategoryChange {
+    my $categoryAction = shift;
     validateIsActive();
     validateIsRequestable();
     validateIsRequesteeble();
@@ -154,22 +155,22 @@ sub processCategoryChange {
     
     my @inclusions = $::MFORM{'inclusions'} ? @{$::MFORM{'inclusions'}} : ();
     my @exclusions = $::MFORM{'exclusions'} ? @{$::MFORM{'exclusions'}} : ();
-    if ($::FORM{'categoryAction'} eq "Include") {
+    if ($categoryAction eq 'include') {
         validateProduct();
         validateComponent();
         my $category = ($::FORM{'product'} || "__Any__") . ":" . ($::FORM{'component'} || "__Any__");
         push(@inclusions, $category) unless grep($_ eq $category, @inclusions);
     }
-    elsif ($::FORM{'categoryAction'} eq "Exclude") {
+    elsif ($categoryAction eq 'exclude') {
         validateProduct();
         validateComponent();
         my $category = ($::FORM{'product'} || "__Any__") . ":" . ($::FORM{'component'} || "__Any__");
         push(@exclusions, $category) unless grep($_ eq $category, @exclusions);
     }
-    elsif ($::FORM{'categoryAction'} eq "Remove Inclusion") {
+    elsif ($categoryAction eq 'removeInclusion') {
         @inclusions = map(($_ eq $::FORM{'inclusion_to_remove'} ? () : $_), @inclusions);
     }
-    elsif ($::FORM{'categoryAction'} eq "Remove Exclusion") {
+    elsif ($categoryAction eq 'removeExclusion') {
         @exclusions = map(($_ eq $::FORM{'exclusion_to_remove'} ? () : $_), @exclusions);
     }
     
@@ -310,6 +311,7 @@ sub update {
             AND (bugs.component_id = i.component_id OR i.component_id IS NULL))
         WHERE flags.type_id = $::FORM{'id'} 
         AND flags.bug_id = bugs.bug_id
+        AND flags.is_active = 1
         AND i.type_id IS NULL
     ");
     Bugzilla::Flag::clear(FetchOneColumn()) while MoreSQLData();
@@ -320,6 +322,7 @@ sub update {
         WHERE flags.type_id = $::FORM{'id'}
         AND flags.bug_id = bugs.bug_id
         AND flags.type_id = e.type_id 
+        AND flags.is_active = 1
         AND (bugs.product_id = e.product_id OR e.product_id IS NULL)
         AND (bugs.component_id = e.component_id OR e.component_id IS NULL)
     ");
@@ -342,7 +345,8 @@ sub confirmDelete
   validateID();
   # check if we need confirmation to delete:
   
-  my $count = Bugzilla::Flag::count({ 'type_id' => $::FORM{'id'} });
+  my $count = Bugzilla::Flag::count({ 'type_id' => $::FORM{'id'},
+                                      'is_active' => 1 });
   
   if ($count > 0) {
     $vars->{'flag_type'} = Bugzilla::FlagType::get($::FORM{'id'});
@@ -361,7 +365,7 @@ sub confirmDelete
 }
 
 
-sub delete {
+sub deleteType {
     validateID();
     
     SendSQL("LOCK TABLES flagtypes WRITE, flags WRITE, " . 
@@ -424,6 +428,7 @@ sub validateID {
 
 sub validateName {
     $::FORM{'name'}
+      && $::FORM{'name'} !~ /[ ,]/
       && length($::FORM{'name'}) <= 50
       || ThrowUserError("flag_type_name_invalid", { name => $::FORM{'name'} });
 }
@@ -463,7 +468,7 @@ sub validateComponent {
     defined($component_id)
       || ThrowCodeError("flag_type_component_nonexistent", 
                         { product   => $::FORM{'product'},
-                          component => $::FORM{'component'} });
+                          name => $::FORM{'component'} });
 }
 
 sub validateSortKey {
diff --git a/editgroups.cgi b/editgroups.cgi
index db35a5aa81caa4a7ef7b13bef892d7aabff99414..21498b0be4bcb57765c0139a13e79d15f83127fb 100755
--- a/editgroups.cgi
+++ b/editgroups.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl -wT
 # -*- Mode: perl; indent-tabs-mode: nil -*-
 #
 # The contents of this file are subject to the Mozilla Public
@@ -28,13 +28,13 @@
 use strict;
 use lib ".";
 
+use Bugzilla;
 use Bugzilla::Constants;
 require "CGI.pl";
 
 use vars qw($template $vars);
 
-ConnectToDatabase();
-confirm_login();
+Bugzilla->login(LOGIN_REQUIRED);
 
 print Bugzilla->cgi->header();
 
@@ -49,6 +49,30 @@ if (!UserInGroup("creategroups")) {
 
 my $action  = trim($::FORM{action} || '');
 
+# RederiveRegexp: update user_group_map with regexp-based grants
+sub RederiveRegexp ($$)
+{
+    my $regexp = shift;
+    my $gid = shift;
+    my $dbh = Bugzilla->dbh;
+    my $sth = $dbh->prepare("SELECT userid, login_name FROM profiles");
+    my $sthadd = $dbh->prepare("INSERT IGNORE INTO user_group_map
+                               (user_id, group_id, grant_type, isbless)
+                               VALUES (?, ?, ?, 0)");
+    my $sthdel = $dbh->prepare("DELETE FROM user_group_map
+                                WHERE user_id = ? AND group_id = ?
+                                AND grant_type = ? and isbless = 0");
+    $sth->execute();
+    while (my ($uid, $login) = $sth->fetchrow_array()) {
+        if (($regexp =~ /\S+/) && ($login =~ m/$regexp/i))
+        {
+            $sthadd->execute($uid, $gid, GRANT_REGEXP);
+        } else {
+            $sthdel->execute($uid, $gid, GRANT_REGEXP);
+        }
+    }
+}
+
 # TestGroup: check if the group name exists
 sub TestGroup ($)
 {
@@ -77,6 +101,7 @@ sub ShowError ($)
 sub PutTrailer (@)
 {
     my (@links) = ("Back to the <a href=\"./\">index</a>", @_);
+    SendSQL("UNLOCK TABLES");
 
     my $count = $#links;
     my $num = 0;
@@ -173,6 +198,7 @@ if ($action eq 'changeform') {
     PutHeader("Change Group");
 
     my $gid = trim($::FORM{group} || '');
+    detaint_natural($gid);
     unless ($gid) {
         ShowError("No group specified.<BR>" .
                   "Click the <b>Back</b> button and try again.");
@@ -181,7 +207,7 @@ if ($action eq 'changeform') {
     }
 
     SendSQL("SELECT id, name, description, userregexp, isactive, isbuggroup
-             FROM groups WHERE id=" . SqlQuote($gid));
+             FROM groups WHERE id=$gid");
     my ($group_id, $name, $description, $rexp, $isactive, $isbuggroup) 
         = FetchSQLData();
 
@@ -191,8 +217,8 @@ if ($action eq 'changeform') {
     if ($isbuggroup == 0) {
         print html_quote($name);
     } else {
-        print "<INPUT TYPE=HIDDEN NAME=\"oldname\" VALUE=" . 
-        html_quote($name) . ">
+        print "<INPUT TYPE=HIDDEN NAME=\"oldname\" VALUE=\"" . 
+        html_quote($name) . "\">
         <INPUT SIZE=60 NAME=\"name\" VALUE=\"" . html_quote($name) . "\">";
     }
     print "</TD></TR><TR><TH>Description:</TH><TD>";
@@ -249,7 +275,7 @@ if ($action eq 'changeform') {
              " LEFT JOIN group_group_map as B" .
              " ON B.member_id = groups.id" .
              " AND B.grantor_id = $group_id" .
-             " AND B.isbless" .
+             " AND B.isbless = 1" .
              " WHERE groups.id != $group_id ORDER by name");
 
     while (MoreSQLData()) {
@@ -268,6 +294,26 @@ if ($action eq 'changeform') {
 
     print "</TABLE><BR>";
     print "<INPUT TYPE=SUBMIT VALUE=\"Submit\">\n";
+    print <<EOF;
+<table width="76%" border="1">
+  <tr>
+    <td><p><strong>Conversion of groups created with Bugzilla versions 2.16 and
+        prior:</strong></p>
+          <ul>
+            <li>Remove all explicit memberships from this group: 
+              <input name="remove_explicit_members" type="submit" id="remove_explicit_members" value="Remove Memberships">
+</li>
+            <li>Remove all explicit memberships that are included in the above
+            regular expression: 
+              <input name="remove_explicit_members_regexp" type="submit" id="remove_explicit_members_regexp" value="Remove memberships included in regular expression"> 
+            </li>
+          </ul>          <p><br>            
+              </p>
+      </p></td>
+  </tr>
+</table>
+<BR>
+EOF
     print "<INPUT TYPE=HIDDEN NAME=\"action\" VALUE=\"postchanges\">\n";
     print "<INPUT TYPE=HIDDEN NAME=\"group\" VALUE=$gid>\n";
     print "</FORM>";
@@ -309,7 +355,7 @@ if ($action eq 'new') {
     # convert an undefined value in the inactive field to zero
     # (this occurs when the inactive checkbox is not checked
     # and the browser does not send the field to the server)
-    my $isactive = $::FORM{isactive} || 0;
+    my $isactive = $::FORM{isactive} ? 1 : 0;
 
     unless ($name) {
         ShowError("You must enter a name for the new group.<BR>" .
@@ -330,14 +376,6 @@ if ($action eq 'new') {
         exit;
     }
 
-    if ($isactive != 0 && $isactive != 1) {
-        ShowError("The active flag was improperly set.  There may be " . 
-                  "a problem with Bugzilla or a bug in your browser.<br>" . 
-                  "Please click the <b>Back</b> button and try again.");
-        PutFooter();
-        exit;
-    }
-
     if (!eval {qr/$regexp/}) {
         ShowError("The regular expression you entered is invalid. " .
                   "Please click the <b>Back</b> button and try again.");
@@ -371,6 +409,7 @@ if ($action eq 'new') {
                 CONTROLMAPNA . ", 0 " .
                 "FROM products");
     }
+    RederiveRegexp($regexp, $gid);
     print "OK, done.<p>\n";
     PutTrailer("<a href=\"editgroups.cgi?action=add\">add</a> another group",
                "back to the <a href=\"editgroups.cgi\">group list</a>");
@@ -386,13 +425,14 @@ if ($action eq 'new') {
 if ($action eq 'del') {
     PutHeader("Delete group");
     my $gid = trim($::FORM{group} || '');
+    detaint_natural($gid);
     unless ($gid) {
         ShowError("No group specified.<BR>" .
                   "Click the <b>Back</b> button and try again.");
         PutFooter();
         exit;
     }
-    SendSQL("SELECT id FROM groups WHERE id=" . SqlQuote($gid));
+    SendSQL("SELECT id FROM groups WHERE id=$gid");
     if (!FetchOneColumn()) {
         ShowError("That group doesn't exist.<BR>" .
                   "Click the <b>Back</b> button and try again.");
@@ -401,7 +441,7 @@ if ($action eq 'del') {
     }
     SendSQL("SELECT name,description " .
             "FROM groups " .
-            "WHERE id = " . SqlQuote($gid));
+            "WHERE id=$gid");
 
     my ($name, $desc) = FetchSQLData();
     print "<table border=1>\n";
@@ -483,6 +523,7 @@ You cannot delete this group while it is tied to a product.</B><BR>
 if ($action eq 'delete') {
     PutHeader("Deleting group");
     my $gid = trim($::FORM{group} || '');
+    detaint_natural($gid);
     unless ($gid) {
         ShowError("No group specified.<BR>" .
                   "Click the <b>Back</b> button and try again.");
@@ -491,7 +532,7 @@ if ($action eq 'delete') {
     }
     SendSQL("SELECT name " .
             "FROM groups " .
-            "WHERE id = " . SqlQuote($gid));
+            "WHERE id = $gid");
     my ($name) = FetchSQLData();
 
     my $cantdelete = 0;
@@ -544,8 +585,156 @@ if ($action eq 'delete') {
 #
 
 if ($action eq 'postchanges') {
+
+    # ZLL: Bug 181589: we need to have something to remove explictly listed users from
+    # groups in order for the conversion to 2.18 groups to work
+    if ($::FORM{remove_explicit_members}) {
+        PutHeader("Confirm: Remove All Explicit Members?");
+        my ($gid, $chgs) = doGroupChanges();
+        print "<br><br>\n";
+        if ($chgs) {
+            print "Group updated, please confirm removal:<p>\n";
+        }
+        confirmRemove(0,$gid);
+        PutFooter();
+        exit;
+    } elsif ($::FORM{remove_explicit_members_regexp}) {
+        PutHeader("Confirm: Remove Explicit Members in the Regular Expression?");
+        my ($gid, $chgs, $rexp) = doGroupChanges();
+        print "<br><br>\n";
+        if ($chgs) {
+            print "Group updated, please confirm removal:<p>\n";
+        }
+        confirmRemove(1, $gid, $rexp);
+        PutFooter();
+        exit;
+    }
+    
+   # if we got this far, the admin doesn't want to convert, so just save their changes
+   
     PutHeader("Updating group hierarchy");
+    my ($gid, $chgs) = doGroupChanges();
+    
+    if (!$chgs) {
+        print "You didn't change anything!<BR>\n";
+        print "If you really meant it, hit the <B>Back</B> button and try again.<p>\n";
+    } else {
+        print "Done.<p>\n";
+    }
+    PutTrailer("back to the <a href=\"editgroups.cgi\">group list</a>");
+    exit;
+}
+
+if (($action eq 'remove_all_regexp') || ($action eq 'remove_all')) {
+    # remove all explicit users from the group with gid $::FORM{group} 
+    # that match the regexp stored in the db for that group 
+    # or all of them period
+    my $dbh = Bugzilla->dbh;
+    my $gid = $::FORM{group};
+    detaint_natural($gid);
+    my $sth = $dbh->prepare("SELECT name, userregexp FROM groups
+                             WHERE id = ?");
+    $sth->execute($gid);
+    my ($name, $regexp) = $sth->fetchrow_array();
+    if ($action eq 'remove_all_regexp') {
+        PutHeader("Removing All Explicit Group Memberships Matching "
+                . "Group RegExp from \'" . html_quote($name) . "\'");
+    } else {
+        PutHeader("Removing All Explicit Group Memberships from \'"
+                . html_quote($name) . "\'");
+    }
+    $dbh->do("LOCK TABLES
+                  groups WRITE,
+                  profiles READ,
+                  user_group_map WRITE");
+    $sth = $dbh->prepare("SELECT user_group_map.user_id, profiles.login_name
+                             FROM user_group_map, profiles
+                             WHERE user_group_map.user_id = profiles.userid
+                             AND user_group_map.group_id = ?
+                             AND grant_type = ?
+                             AND isbless = 0");
+    $sth->execute($gid, GRANT_DIRECT);
+    my $sth2 = $dbh->prepare("DELETE FROM user_group_map
+                              WHERE user_id = ?
+                              AND isbless = 0
+                              AND group_id = ?");
+    if ($action eq 'remove_all_regexp') {
+        print "<br><b>Removing explicit memberships of users matching \'"
+              . html_quote($regexp) . "\'...</b><br>\n";
+    } else {
+        print "<br><b>Removing explicit membership</b><br>\n";
+    }
+    while ( my ($userid, $userlogin) = $sth->fetchrow_array() ) {
+        if ((($regexp =~ /\S/) && ($userlogin =~ m/$regexp/i))
+            || ($action eq 'remove_all'))
+        {
+            $sth2->execute($userid,$gid);
+            print html_quote($userlogin) . " removed<br>\n";
+        }
+    }
+    print "<br><b>Done</b><br>";
+
+    $sth = $dbh->prepare("UPDATE groups
+             SET last_changed = NOW()
+             WHERE id = ?");
+    $sth->execute($gid);
+    PutTrailer("back to the <a href=\"editgroups.cgi\">group list</a>");
+    exit;
+}
+
+
+
+
+#
+# No valid action found
+#
+
+PutHeader("Error");
+print "I don't have a clue what you want.<BR>\n";
+
+PutTrailer("<a href=editgroups.cgi>Try the group list</a>");
+
+# confirm if the user wants to remove the explicit users
+sub confirmRemove {
+    my ($remove_regexp_only, $group, $regexp) = @_;
+    
+    if (!$remove_regexp_only) { 
+        print "This option will remove ";
+        print "all explicitly defined users ";
+    } elsif ($regexp =~ /\S/) { 
+        print "This option will remove ";
+        print "all users included in the regular expression: " . 
+              html_quote($regexp) . " ";
+    } else {
+        print "<b>There is no regular expression defined.</b>\n";
+        print "No users will be removed<p>\n";
+        print "<a href=\"editgroups.cgi\">return to the Edit Groups page</a>\n";
+        return;
+    }
+    print "from group $::FORM{name}.<p>\n";
+    print "Generally, you will only need to do this when upgrading groups ";
+    print "created with Bugzilla versions 2.16 and prior. Use this option ";
+    print "with <b>extreme care</b> and consult the Bugzilla Guide for ";
+    print "further information.<p>\n";
+    
+    print "<FORM METHOD=POST ACTION=editgroups.cgi>\n";
+    print "<INPUT TYPE=HIDDEN NAME=\"group\" VALUE=$group>\n";
+    
+    if ($remove_regexp_only) {
+        print "<INPUT TYPE=HIDDEN NAME=\"action\" VALUE=\"remove_all_regexp\">\n";
+    } else {
+        print "<INPUT TYPE=HIDDEN NAME=\"action\" VALUE=\"remove_all\">\n";
+    }
+    
+    print "<INPUT NAME=\"confirm\" TYPE=SUBMIT VALUE=\"Confirm\">\n";
+    print "<p>Or <a href=\"editgroups.cgi\">return to the Edit Groups page</a>\n";
+    print "</FORM>";
+}
+
+# Helper sub to handle the making of changes to a group
+sub doGroupChanges {
     my $gid = trim($::FORM{group} || '');
+    detaint_natural($gid);
     unless ($gid) {
         ShowError("No group specified.<BR>" .
                   "Click the <b>Back</b> button and try again.");
@@ -575,6 +764,7 @@ if ($action eq 'postchanges') {
         }
         SendSQL("UPDATE groups SET userregexp = " . 
             SqlQuote($::FORM{"rexp"}) . " WHERE id = $gid");
+        RederiveRegexp($::FORM{"rexp"}, $gid);
     }
     if (($isbuggroup == 1) && ($::FORM{"oldisactive"} ne $::FORM{"isactive"})) {
         $chgs = 1;
@@ -622,28 +812,10 @@ if ($action eq 'postchanges') {
 
         }
     }
-    if (!$chgs) {
-        print "You didn't change anything!<BR>\n";
-        print "If you really meant it, hit the <B>Back</B> button and try again.<p>\n";
-    } else {
+    
+    if ($chgs) {
+        # mark the changes
         SendSQL("UPDATE groups SET last_changed = NOW() WHERE id = $gid");
-        print "Done.<p>\n";
     }
-    PutTrailer("back to the <a href=\"editgroups.cgi\">group list</a>");
-    exit;
+    return $gid, $chgs, $::FORM{"rexp"};
 }
-
-
-
-#
-# No valid action found
-#
-
-PutHeader("Error");
-print "I don't have a clue what you want.<BR>\n";
-
-foreach ( sort keys %::FORM) {
-    print "$_: $::FORM{$_}<BR>\n";
-}
-
-PutTrailer("<a href=editgroups.cgi>Try the group list</a>");
diff --git a/editkeywords.cgi b/editkeywords.cgi
index cf20d7a0744b0847fc7dd15d9ba2ebebb99b36cb..d46476dfa882e059d33c378a9d23bbf6b31868d1 100755
--- a/editkeywords.cgi
+++ b/editkeywords.cgi
@@ -25,8 +25,11 @@ use lib ".";
 
 require "CGI.pl";
 
+use Bugzilla::Constants;
 use Bugzilla::Config qw(:DEFAULT $datadir);
 
+my $cgi = Bugzilla->cgi;
+
 use vars qw($template $vars);
 
 
@@ -51,8 +54,7 @@ sub Validate ($$) {
 # Preliminary checks:
 #
 
-ConnectToDatabase();
-confirm_login();
+Bugzilla->login(LOGIN_REQUIRED);
 
 print Bugzilla->cgi->header();
 
@@ -62,11 +64,9 @@ unless (UserInGroup("editkeywords")) {
 }
 
 
-my $action  = trim($::FORM{action}  || '');
+my $action  = trim($cgi->param('action')  || '');
 $vars->{'action'} = $action;
 
-detaint_natural($::FORM{id});
-
 
 if ($action eq "") {
     my @keywords;
@@ -115,8 +115,8 @@ if ($action eq 'add') {
 if ($action eq 'new') {
     # Cleanups and valididy checks
 
-    my $name = trim($::FORM{name} || '');
-    my $description  = trim($::FORM{description}  || '');
+    my $name = trim($cgi->param('name') || '');
+    my $description  = trim($cgi->param('description')  || '');
 
     Validate($name, $description);
     
@@ -173,7 +173,9 @@ if ($action eq 'new') {
 #
 
 if ($action eq 'edit') {
-    my $id  = trim($::FORM{id} || 0);
+    my $id = trim($cgi->param('id'));
+    detaint_natural($id);
+
     # get data of keyword
     SendSQL("SELECT name,description
              FROM keyworddefs
@@ -211,9 +213,11 @@ if ($action eq 'edit') {
 #
 
 if ($action eq 'update') {
-    my $id = $::FORM{id};
-    my $name  = trim($::FORM{name} || '');
-    my $description  = trim($::FORM{description}  || '');
+    my $id = $cgi->param('id');
+    detaint_natural($id);
+
+    my $name  = trim($cgi->param('name') || '');
+    my $description  = trim($cgi->param('description')  || '');
 
     Validate($name, $description);
 
@@ -246,12 +250,13 @@ if ($action eq 'update') {
 
 
 if ($action eq 'delete') {
-    my $id = $::FORM{id};
+    my $id = $cgi->param('id');
+    detaint_natural($id);
 
     SendSQL("SELECT name FROM keyworddefs WHERE id=$id");
     my $name = FetchOneColumn();
 
-    if (!$::FORM{reallydelete}) {
+    if (!$cgi->param('reallydelete')) {
         SendSQL("SELECT count(*)
                  FROM keywords
                  WHERE keywordid = $id");
diff --git a/editmilestones.cgi b/editmilestones.cgi
index 7a77de155d9ebc1012d633d933dc767461c9fd6d..aaec24455eff8e487373b128ddb64157681b242c 100755
--- a/editmilestones.cgi
+++ b/editmilestones.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl -wT
 # -*- Mode: perl; indent-tabs-mode: nil -*-
 
 #
@@ -19,6 +19,7 @@ use lib ".";
 require "CGI.pl";
 require "globals.pl";
 
+use Bugzilla::Constants;
 use Bugzilla::Config qw(:DEFAULT $datadir);
 
 # TestProduct:  just returns if the specified product does exists
@@ -114,6 +115,7 @@ sub EmitFormElements ($$$)
 sub PutTrailer (@)
 {
     my (@links) = ("Back to the <A HREF=\"query.cgi\">query page</A>", @_);
+    SendSQL("UNLOCK TABLES");
 
     my $count = $#links;
     my $num = 0;
@@ -144,8 +146,7 @@ sub PutTrailer (@)
 # Preliminary checks:
 #
 
-ConnectToDatabase();
-confirm_login();
+Bugzilla->login(LOGIN_REQUIRED);
 
 print Bugzilla->cgi->header();
 
@@ -294,7 +295,7 @@ if ($action eq 'new') {
         PutTrailer($localtrailer);
         exit;
     }
-    if ($sortkey!~/^[0-9]+$/) {
+    if (!detaint_natural($sortkey)) {
         print "The sortkey for a milestone must be a number. Please press\n";
         print "<b>Back</b> and try again.\n";
         PutTrailer($localtrailer);
@@ -453,7 +454,6 @@ if ($action eq 'delete') {
              WHERE product_id=$product_id
                AND value=" . SqlQuote($milestone));
     print "Milestone deleted.<P>\n";
-    SendSQL("UNLOCK TABLES");
 
     unlink "$datadir/versioncache";
     PutTrailer($localtrailer);
@@ -519,6 +519,12 @@ if ($action eq 'update') {
                          products WRITE");
 
     if ($sortkey != $sortkeyold) {
+        if (!detaint_natural($sortkey)) {
+            print "The sortkey for a milestone must be a number. Please press\n";
+            print "<b>Back</b> and try again.\n";
+            PutTrailer($localtrailer);
+            exit;
+        }
         SendSQL("UPDATE milestones SET sortkey=$sortkey
                  WHERE product_id=" . $product_id . "
                    AND value=" . SqlQuote($milestoneold));
@@ -529,13 +535,11 @@ if ($action eq 'update') {
         unless ($milestone) {
             print "Sorry, I can't delete the milestone text.";
             PutTrailer($localtrailer);
-            SendSQL("UNLOCK TABLES");
             exit;
         }
         if (TestMilestone($product,$milestone)) {
             print "Sorry, milestone '$milestone' is already in use.";
             PutTrailer($localtrailer);
-            SendSQL("UNLOCK TABLES");
             exit;
         }
         SendSQL("UPDATE bugs
@@ -554,7 +558,6 @@ if ($action eq 'update') {
         unlink "$datadir/versioncache";
         print "Updated milestone.<BR>\n";
     }
-    SendSQL("UNLOCK TABLES");
 
     PutTrailer($localtrailer);
     exit;
@@ -569,6 +572,3 @@ if ($action eq 'update') {
 PutHeader("Error");
 print "I don't have a clue what you want.<BR>\n";
 
-foreach ( sort keys %::FORM) {
-    print "$_: $::FORM{$_}<BR>\n";
-}
diff --git a/editparams.cgi b/editparams.cgi
index dd61e9543774cac43138d4977e2f5cc39c171e41..8ffd76a08ef521368511edf5ecc818063f72231a 100755
--- a/editparams.cgi
+++ b/editparams.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl -wT
 # -*- Mode: perl; indent-tabs-mode: nil -*-
 #
 # The contents of this file are subject to the Mozilla Public
@@ -25,12 +25,12 @@
 use strict;
 use lib ".";
 
+use Bugzilla::Constants;
 use Bugzilla::Config qw(:DEFAULT :admin);
 
 require "CGI.pl";
 
-ConnectToDatabase();
-confirm_login();
+Bugzilla->login(LOGIN_REQUIRED);
 
 print Bugzilla->cgi->header();
 
diff --git a/editproducts.cgi b/editproducts.cgi
index 7afbcd9ad8e3f8f3c580212901304dc704d8530d..8b80cb0d11f6b616c40ee3636b2c65ba311fb927 100755
--- a/editproducts.cgi
+++ b/editproducts.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl -wT
 # -*- Mode: perl; indent-tabs-mode: nil -*-
 #
 # The contents of this file are subject to the Mozilla Public
@@ -137,7 +137,7 @@ sub EmitFormElements ($$$$$$$$)
     print "  <TD><INPUT SIZE=5 MAXLENGTH=5 NAME=\"maxvotesperbug\" VALUE=\"$maxvotesperbug\"></TD>\n";
 
     print "</TR><TR>\n";
-    print "  <TH ALIGN=\"right\">Number of votes a bug in this product needs to automatically get out of the <A HREF=\"bug_status.html#status\">UNCONFIRMED</A> state:</TH>\n";
+    print "  <TH ALIGN=\"right\">Number of votes a bug in this product needs to automatically get out of the <A HREF=\"page.cgi?id=fields.html#status\">UNCONFIRMED</A> state:</TH>\n";
     print "  <TD><INPUT SIZE=5 MAXLENGTH=5 NAME=\"votestoconfirm\" VALUE=\"$votestoconfirm\"></TD>\n";
 }
 
@@ -149,6 +149,7 @@ sub EmitFormElements ($$$$$$$$)
 sub PutTrailer (@)
 {
     my (@links) = ("Back to the <A HREF=\"query.cgi\">query page</A>", @_);
+    SendSQL("UNLOCK TABLES");
 
     my $count = $#links;
     my $num = 0;
@@ -179,8 +180,7 @@ sub PutTrailer (@)
 # Preliminary checks:
 #
 
-ConnectToDatabase();
-confirm_login();
+Bugzilla->login(LOGIN_REQUIRED);
 
 print Bugzilla->cgi->header();
 
@@ -272,6 +272,10 @@ if ($action eq 'add') {
     print "</TR><TR>\n";
     print "  <TH ALIGN=\"right\">Version:</TH>\n";
     print "  <TD><INPUT SIZE=64 MAXLENGTH=255 NAME=\"version\" VALUE=\"unspecified\"></TD>\n";
+    print "</TR><TR>\n";
+    print "  <TH ALIGN=\"right\">Create chart datasets for this product:</TH>\n";
+    print "  <TD><INPUT TYPE=CHECKBOX NAME=\"createseries\" VALUE=1></TD>";
+    print "</TR>\n";
 
     print "</TABLE>\n<HR>\n";
     print "<INPUT TYPE=SUBMIT VALUE=\"Add\">\n";
@@ -364,10 +368,14 @@ if ($action eq 'new') {
     # product as well.  -JMR, 2/16/00
     if (Param("makeproductgroups")) {
         # Next we insert into the groups table
+        my $productgroup = $product;
+        while (GroupExists($productgroup)) {
+            $productgroup .= '_';
+        }
         SendSQL("INSERT INTO groups " .
                 "(name, description, isbuggroup, last_changed) " .
                 "VALUES (" .
-                SqlQuote($product) . ", " .
+                SqlQuote($productgroup) . ", " .
                 SqlQuote("Access to bugs in the $product product") . ", 1, NOW())");
         SendSQL("SELECT last_insert_id()");
         my $gid = FetchOneColumn();
@@ -384,57 +392,46 @@ if ($action eq 'new') {
                 "($gid, $product_id, " . Param("useentrygroupdefault") .
                 ", " . CONTROLMAPDEFAULT . ", " .
                 CONTROLMAPNA . ", 0)");
-        
-        # Permit the new product to use any non-product bug groups.
-        SendSQL("SELECT groups.id, products.id IS NULL FROM groups " .
-                "LEFT JOIN products " .
-                "ON groups.name = products.name " .
-                "WHERE isactive != 0 AND isbuggroup != 0 ");
-        while (MoreSQLData()) {
-            my ($grpid, $nonproductgroup) = FetchSQLData();
-            if ($nonproductgroup) {
-                PushGlobalSQLState();
-                SendSQL("INSERT INTO group_control_map " .
-                        "(group_id, product_id, entry, " .
-                        "membercontrol, othercontrol, canedit) VALUES " .
-                        "($grpid, $product_id, 0, " .
-                        CONTROLMAPSHOWN . ", " .
-                        CONTROLMAPNA . ", 0)");
-                PopGlobalSQLState();
-            }
-        }
     }
 
-    # Insert default charting queries for this product.
-    # If they aren't using charting, this won't do any harm.
-    GetVersionTable();
-
-    my @series;
+    if ($::FORM{createseries}) {
+        # Insert default charting queries for this product.
+        # If they aren't using charting, this won't do any harm.
+        GetVersionTable();
 
-    # We do every status, every resolution, and an "opened" one as well.
-    foreach my $bug_status (@::legal_bug_status) {
-        push(@series, [$bug_status, "bug_status=$bug_status"]);
-    }
+        # $::FORM{'open_name'} and $product are sqlquoted by the series
+        # code and never used again here, so we can trick_taint them.
+        trick_taint($::FORM{'open_name'});
+        trick_taint($product);
+    
+        my @series;
+    
+        # We do every status, every resolution, and an "opened" one as well.
+        foreach my $bug_status (@::legal_bug_status) {
+            push(@series, [$bug_status, 
+                           "bug_status=" . url_quote($bug_status)]);
+        }
 
-    foreach my $resolution (@::legal_resolution) {
-        next if !$resolution;
-        push(@series, [$resolution, "resolution=$resolution"]);
-    }
+        foreach my $resolution (@::legal_resolution) {
+            next if !$resolution;
+            push(@series, [$resolution, "resolution=" .url_quote($resolution)]);
+        }
 
-    # For localisation reasons, we get the name of the "global" subcategory
-    # and the title of the "open" query from the submitted form.
-    my @openedstatuses = ("UNCONFIRMED", "NEW", "ASSIGNED", "REOPENED");
-    my $query = join("&", map { "bug_status=$_" } @openedstatuses);
-    push(@series, [$::FORM{'open_name'}, $query]);
-
-    foreach my $sdata (@series) {
-        my $series = new Bugzilla::Series(undef, $product, 
-                                          $::FORM{'subcategory'},
-                                          $sdata->[0], $::userid, 1,
-                                          $sdata->[1] . "&product=$product", 1);
-        $series->writeToDatabase();
+        # For localisation reasons, we get the name of the "global" subcategory
+        # and the title of the "open" query from the submitted form.
+        my @openedstatuses = OpenStates();
+        my $query = 
+               join("&", map { "bug_status=" . url_quote($_) } @openedstatuses);
+        push(@series, [$::FORM{'open_name'}, $query]);
+    
+        foreach my $sdata (@series) {
+            my $series = new Bugzilla::Series(undef, $product, 
+                            $::FORM{'subcategory'},
+                            $sdata->[0], $::userid, 1,
+                            $sdata->[1] . "&product=" . url_quote($product), 1);
+            $series->writeToDatabase();
+        }
     }
-
     # Make versioncache flush
     unlink "$datadir/versioncache";
 
@@ -677,8 +674,6 @@ if ($action eq 'delete') {
              WHERE id=$product_id");
     print "Product '$product' deleted.<BR>\n";
 
-    SendSQL("UNLOCK TABLES");
-
     unlink "$datadir/versioncache";
     PutTrailer($localtrailer);
     exit;
@@ -1051,7 +1046,6 @@ if ($action eq 'updategroupcontrols') {
         }
         print "added $count bugs<p>\n";
     }
-    SendSQL("UNLOCK TABLES");
     print "Group control updates done<P>\n";
 
     PutTrailer($localtrailer);
@@ -1086,12 +1080,24 @@ if ($action eq 'update') {
     CheckProduct($productold);
     my $product_id = get_product_id($productold);
 
-    if ($maxvotesperbug !~ /^\d+$/ || $maxvotesperbug <= 0) {
+    if (!detaint_natural($maxvotesperbug) || $maxvotesperbug == 0) {
         print "Sorry, the max votes per bug must be a positive integer.";
         PutTrailer($localtrailer);
         exit;
     }
 
+    if (!detaint_natural($votesperuser)) {
+        print "Sorry, the votes per user must be an integer >= 0.";
+        PutTrailer($localtrailer);
+        exit;
+    }
+
+    if (!detaint_natural($votestoconfirm)) {
+        print "Sorry, the votes to confirm must be an integer >= 0.";
+        PutTrailer($localtrailer);
+        exit;
+    }
+
     # Note that we got the $product_id using $productold above so it will
     # remain static even after we rename the product in the database.
 
@@ -1103,7 +1109,7 @@ if ($action eq 'update') {
                          milestones READ");
 
     if ($disallownew ne $disallownewold) {
-        $disallownew ||= 0;
+        $disallownew = $disallownew ? 1 : 0;
         SendSQL("UPDATE products
                  SET disallownew=$disallownew
                  WHERE id=$product_id");
@@ -1113,7 +1119,6 @@ if ($action eq 'update') {
     if ($description ne $descriptionold) {
         unless ($description) {
             print "Sorry, I can't delete the description.";
-            SendSQL("UNLOCK TABLES");
             PutTrailer($localtrailer);
             exit;
         }
@@ -1164,7 +1169,6 @@ if ($action eq 'update') {
                 "  AND product_id = $product_id");
         if (!FetchOneColumn()) {
             print "Sorry, the milestone $defaultmilestone must be defined first.";
-            SendSQL("UNLOCK TABLES");
             PutTrailer($localtrailer);
             exit;
         }
@@ -1180,36 +1184,25 @@ if ($action eq 'update') {
     if ($product ne $productold) {
         unless ($product) {
             print "Sorry, I can't delete the product name.";
-            SendSQL("UNLOCK TABLES");
             PutTrailer($localtrailer);
             exit;
         }
         if (TestProduct($product)) {
             print "Sorry, product name '$product' is already in use.";
-            SendSQL("UNLOCK TABLES");
             PutTrailer($localtrailer);
             exit;
         }
 
         SendSQL("UPDATE products SET name=$qp WHERE id=$product_id");
-        # Need to do an update to groups as well.  If there is 
-        # a corresponding bug group, we want to update it so it will 
-        # match in the future.  If there is no group, this
-        # update statement will do nothing, so no harm done.  -JMR, 3/8/00
-        SendSQL("UPDATE groups " .
-                "SET name = $qp, " .
-                "description = " .
-                SqlQuote("Access to bugs in the $product product") .
-                " WHERE name = $qpold");
-        
         print "Updated product name.<BR>\n";
     }
     unlink "$datadir/versioncache";
     SendSQL("UNLOCK TABLES");
 
     if ($checkvotes) {
-        print "Checking existing votes in this product for anybody who now has too many votes.";
+        # 1. too many votes for a single user on a single bug.
         if ($maxvotesperbug < $votesperuser) {
+            print "<br>Checking existing votes in this product for anybody who now has too many votes for a single bug.";
             SendSQL("SELECT votes.who, votes.bug_id " .
                     "FROM votes, bugs " .
                     "WHERE bugs.bug_id = votes.bug_id " .
@@ -1227,6 +1220,12 @@ if ($action eq 'update') {
                 print qq{<br>Removed votes for bug <A HREF="show_bug.cgi?id=$id">$id</A> from $name\n};
             }
         }
+
+        # 2. too many total votes for a single user.
+        # This part doesn't work in the general case because RemoveVotes
+        # doesn't enforce votesperuser (except per-bug when it's less
+        # than maxvotesperbug).  See RemoveVotes in globals.pl.
+        print "<br>Checking existing votes in this product for anybody who now has too many total votes.";
         SendSQL("SELECT votes.who, votes.vote_count FROM votes, bugs " .
                 "WHERE bugs.bug_id = votes.bug_id " .
                 " AND bugs.product_id = $product_id");
@@ -1246,7 +1245,7 @@ if ($action eq 'update') {
                         " AND bugs.product_id = $product_id " .
                         " AND votes.who = $who");
                 while (MoreSQLData()) {
-                    my $id = FetchSQLData();
+                    my ($id) = FetchSQLData();
                     RemoveVotes($id, $who,
                                 "The rules for voting on this product has changed; you had too many\ntotal votes, so all votes have been removed.");
                     my $name = DBID_to_name($who);
@@ -1254,20 +1253,18 @@ if ($action eq 'update') {
                 }
             }
         }
+        # 3. enough votes to confirm
         SendSQL("SELECT bug_id FROM bugs " .
                 "WHERE product_id = $product_id " .
                 "  AND bug_status = '$::unconfirmedstate' " .
                 "  AND votes >= $votestoconfirm");
-        my @list;
-        while (MoreSQLData()) {
-            push(@list, FetchOneColumn());
+        if (MoreSQLData()) {
+            print "<br>Checking unconfirmed bugs in this product for any which now have sufficient votes.";
         }
-        foreach my $id (@list) {
-            SendSQL("SELECT who FROM votes WHERE bug_id = $id");
-            my $who = FetchOneColumn();
-            CheckIfVotedConfirmed($id, $who);
+        while (MoreSQLData()) {
+            # The user id below is used for activity log purposes
+            CheckIfVotedConfirmed(FetchOneColumn(), Bugzilla->user->id);
         }
-
     }
 
     PutTrailer($localtrailer);
@@ -1280,6 +1277,8 @@ if ($action eq 'update') {
 
 if ($action eq 'editgroupcontrols') {
     my $product_id = get_product_id($product);
+    $product_id
+      || ThrowUserError("invalid_product_name", { product => $product });
     # Display a group if it is either enabled or has bugs for this product.
     SendSQL("SELECT id, name, entry, membercontrol, othercontrol, canedit, " .
             "isactive, COUNT(bugs.bug_id) " .
@@ -1444,7 +1443,7 @@ if ($action eq 'editgroupcontrols') {
     print "<TD>Shown</TD>\n";
     print "<TD>NA</TD>\n";
     print "<TD>Bugs in this product are permitted to be restricted to this ";
-    print "group.  Users who are a member of this group will be able ";
+    print "group.  Users who are members of this group will be able ";
     print "to place bugs in this group.</TD>\n";
     print "</TR><TR>";
     print "<TD>Shown</TD>\n";
@@ -1463,7 +1462,7 @@ if ($action eq 'editgroupcontrols') {
     print "<TD>Shown</TD>\n";
     print "<TD>Mandatory</TD>\n";
     print "<TD>Bugs in this product are permitted to be restricted to this ";
-    print "group.  Users who are a member of this group will be able ";
+    print "group.  Users who are members of this group will be able ";
     print "to place bugs in this group.";
     print "Non-members will be forced to restrict bugs to this group ";
     print "when they initially enter a bug in this product.";
@@ -1473,14 +1472,14 @@ if ($action eq 'editgroupcontrols') {
     print "<TD>NA</TD>\n";
     print "<TD>Bugs in this product are permitted to be restricted to this ";
     print "group and are placed in this group by default.";
-    print "Users who are a member of this group will be able ";
+    print "Users who are members of this group will be able ";
     print "to place bugs in this group.</TD>\n";
     print "</TR><TR>";
     print "<TD>Default</TD>\n";
     print "<TD>Default</TD>\n";
     print "<TD>Bugs in this product are permitted to be restricted to this ";
     print "group and are placed in this group by default.";
-    print "Users who are a member of this group will be able ";
+    print "Users who are members of this group will be able ";
     print "to place bugs in this group. Non-members will be able to ";
     print "restrict bugs to this group on entry and will do so by default ";
     print "</TD>\n";
@@ -1489,7 +1488,7 @@ if ($action eq 'editgroupcontrols') {
     print "<TD>Mandatory</TD>\n";
     print "<TD>Bugs in this product are permitted to be restricted to this ";
     print "group and are placed in this group by default.";
-    print "Users who are a member of this group will be able ";
+    print "Users who are members of this group will be able ";
     print "to place bugs in this group. Non-members will be forced ";
     print "to place bugs in this group on entry.";
     print "</TR><TR>";
@@ -1511,7 +1510,3 @@ if ($action eq 'editgroupcontrols') {
 
 PutHeader("Error");
 print "I don't have a clue what you want.<BR>\n";
-
-foreach ( sort keys %::FORM) {
-    print "$_: $::FORM{$_}<BR>\n";
-}
diff --git a/editusers.cgi b/editusers.cgi
index 9adc36922c39181a44c43f37a9556665930572c2..27b3ed7240f527410f59bea70b20983001584fe9 100755
--- a/editusers.cgi
+++ b/editusers.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl -wT
 # -*- Mode: perl; indent-tabs-mode: nil -*-
 #
 # The contents of this file are subject to the Mozilla Public
@@ -34,7 +34,9 @@ use lib ".";
 require "CGI.pl";
 require "globals.pl";
 
+use Bugzilla;
 use Bugzilla::User;
+use Bugzilla::Constants;
 
 # Shut up misguided -w warnings about "used only once".  "use vars" just
 # doesn't work for me.
@@ -89,7 +91,7 @@ sub EmitElement ($$)
     if ($editall) {
         print qq{<TD><INPUT SIZE=64 MAXLENGTH=255 NAME="$name" VALUE="$value"></TD>\n};
     } else {
-        print qq{<TD>$value</TD>\n};
+        print qq{<TD>$value<INPUT TYPE=HIDDEN  NAME="$name" VALUE="$value"></TD>\n};
     }
 }
 
@@ -136,8 +138,9 @@ sub EmitFormElements ($$$$)
     if($user ne "") {
         print "</TR><TR><TH VALIGN=TOP ALIGN=RIGHT>Group Access:</TH><TD><TABLE><TR>";
         SendSQL("SELECT groups.id, groups.name, groups.description, " .
-                "COUNT(user_id), " .
-                "MAX(isderived) " .
+                "MAX(IF(grant_type = " . GRANT_DIRECT . ", 1, 0))," .
+                "MAX(IF(grant_type = " . GRANT_DERIVED . ", 1, 0))," .
+                "MAX(IF(grant_type = " . GRANT_REGEXP . ", 1, 0))" .
                 "FROM groups " .
                 "LEFT JOIN user_group_map " .
                 "ON user_group_map.group_id = groups.id " .
@@ -151,10 +154,8 @@ sub EmitFormElements ($$$$)
             }
             print "<TD COLSPAN=2 ALIGN=LEFT><B>User is a member of these groups</B></TD>\n";
             while (MoreSQLData()) {
-                my ($groupid, $name, $description, $member, $isderived) = FetchSQLData();
-                next if (!$editall && !UserCanBlessGroup($name));
-                $isderived = $isderived || 0;
-                my $checked = $member - $isderived;
+                my ($groupid, $name, $description, $checked, $isderived, $isregexp) = FetchSQLData();
+                next unless ($editall || UserCanBlessGroup($name));
                 PushGlobalSQLState();
                 SendSQL("SELECT user_id " .
                         "FROM user_group_map " .
@@ -172,7 +173,7 @@ sub EmitFormElements ($$$$)
                 my $derivedbless = FetchOneColumn();
                 PopGlobalSQLState();
                 print "</TR><TR";
-                print ' bgcolor=#cccccc' if ($isderived);
+                print ' bgcolor=#cccccc' if ($isderived || $isregexp);
                 print ">\n";
                 print "<INPUT TYPE=HIDDEN NAME=\"oldgroup_$groupid\" VALUE=\"$checked\">\n";
                 print "<INPUT TYPE=HIDDEN NAME=\"oldbless_$groupid\" VALUE=\"$blchecked\">\n";
@@ -187,16 +188,16 @@ sub EmitFormElements ($$$$)
                 $checked = ($checked) ? "CHECKED" : "";
                 print "<TD ALIGN=CENTER>";
                 print '[' if ($isderived);
+                print '*' if ($isregexp);
                 print "<INPUT TYPE=CHECKBOX NAME=\"group_$groupid\" $checked VALUE=\"$groupid\">";
                 print ']' if ($isderived);
+                print '*' if ($isregexp);
                 print "</TD><TD><B>";
                 print ucfirst($name) . "</B>: $description</TD>\n";
-                }
             }
         }
         print "</TR></TABLE></TD>\n";
-    print "</TR></TABLE></TD>\n";
-
+    }
 }
 
 
@@ -208,6 +209,8 @@ sub EmitFormElements ($$$$)
 sub PutTrailer (@)
 {
     my (@links) = ("Back to the <a href=\"./\">index</a>");
+    SendSQL("UNLOCK TABLES");
+
     if($editall && Bugzilla::Auth->can_edit) {
           push(@links,
               "<a href=\"editusers.cgi?action=add\">add</a> a new user");
@@ -239,8 +242,7 @@ sub PutTrailer (@)
 # Preliminary checks:
 #
 
-ConnectToDatabase();
-confirm_login();
+Bugzilla->login(LOGIN_REQUIRED);
 
 print Bugzilla->cgi->header();
 
@@ -264,7 +266,7 @@ if (!$editall) {
 #
 my $user    = trim($::FORM{user}   || '');
 my $action  = trim($::FORM{action} || '');
-my $localtrailer = "<A HREF=\"editusers.cgi\">edit</A> more users";
+my $localtrailer = '<a href="editusers.cgi?">edit more users</a>';
 my $candelete = Param('allowuserdeletion');
 
 
@@ -320,10 +322,8 @@ if ($action eq 'list') {
           die "Unknown match type";
       }
       $query .= SqlQuote($matchstr) . " ORDER BY login_name";
-    } elsif (exists $::FORM{'query'}) {
-      $query = "SELECT login_name,realname,disabledtext " .
-          "FROM profiles WHERE " . $::FORM{'query'} . " ORDER BY login_name";
     } elsif (exists $::FORM{'group'}) {
+      detaint_natural($::FORM{'group'});
       $query = "SELECT DISTINCT login_name,realname,disabledtext " .
           "FROM profiles, user_group_map WHERE profiles.userid = user_group_map.user_id
            AND group_id=" . $::FORM{'group'} . " ORDER BY login_name";
@@ -351,12 +351,12 @@ if ($action eq 'list') {
         my $s = "";
         my $e = "";
         if ($disabledtext) {
-            $s = "<STRIKE>";
-            $e = "</STRIKE>";
+            $s = '<span class="bz_inactive">';
+            $e = '</span>';
         }
         $realname = ($realname ? html_quote($realname) : "<FONT COLOR=\"red\">missing</FONT>");
         print "<TR>\n";
-        print "  <TD VALIGN=\"top\"><A HREF=\"editusers.cgi?action=edit&user=", url_quote($user), "\"><B>$s$user$e</B></A></TD>\n";
+        print "  <TD VALIGN=\"top\"><A HREF=\"editusers.cgi?action=edit&user=", url_quote($user), "\"><B>$s", html_quote($user), "$e</B></A></TD>\n";
         print "  <TD VALIGN=\"top\">$s$realname$e</TD>\n";
         if ($candelete) {
             print "  <TD VALIGN=\"top\"><A HREF=\"editusers.cgi?action=del&user=", url_quote($user), "\">Delete</A></TD>\n";
@@ -368,7 +368,7 @@ if ($action eq 'list') {
         my $span = $candelete ? 3 : 2;
         print qq{
 <TD VALIGN="top" COLSPAN=$span ALIGN="right">
-    <A HREF=\"editusers.cgi?action=add\">Add a new user</A>
+    <A HREF=\"editusers.cgi?action=add\">add a new user</A>
 </TD>
 };
         print "</TR>";
@@ -477,11 +477,12 @@ if ($action eq 'new') {
     # Add the new user
     SendSQL("INSERT INTO profiles ( " .
             "login_name, cryptpassword, realname,  " .
-            "disabledtext" .
+            "emailflags, disabledtext" .
             " ) VALUES ( " .
             SqlQuote($user) . "," .
             SqlQuote(Crypt($password)) . "," .
             SqlQuote($realname) . "," .
+            SqlQuote(Bugzilla::Constants::DEFAULT_EMAIL_SETTINGS) . "," .
             SqlQuote($disabledtext) . ")" );
 
     #+++ send e-mail away
@@ -508,7 +509,7 @@ if ($action eq 'new') {
 #
 
 if ($action eq 'del') {
-    PutHeader("Delete user");
+    PutHeader("Delete user $user");
     if (!$candelete) {
         print "Sorry, deleting users isn't allowed.";
         PutTrailer();
@@ -660,10 +661,11 @@ if ($action eq 'delete') {
              WHERE login_name=" . SqlQuote($user));
     my $userid = FetchOneColumn();
 
+    Bugzilla->logout_user_by_id($userid);
     SendSQL("DELETE FROM profiles
              WHERE login_name=" . SqlQuote($user));
-    SendSQL("DELETE FROM logincookies
-             WHERE userid=" . $userid);
+    SendSQL("DELETE FROM user_group_map
+             WHERE user_id=" . $userid);
     print "User deleted.<BR>\n";
 
     PutTrailer($localtrailer);
@@ -679,7 +681,7 @@ if ($action eq 'delete') {
 #
 
 if ($action eq 'edit') {
-    PutHeader("Edit user");
+    PutHeader("Edit user $user");
     CheckUser($user);
 
     # get data of user
@@ -705,16 +707,23 @@ if ($action eq 'edit') {
         value_quote($disabledtext) . "\">\n";
     print "<INPUT TYPE=HIDDEN NAME=\"action\" VALUE=\"update\">\n";
     print "<INPUT TYPE=SUBMIT VALUE=\"Update\">\n";
-    print "<BR>User is a member of any groups shown with grey bars and
-           marked with brackets surrounding the membership checkbox as a 
-           result of a regular expression match 
-           or membership in another group.
-           User can bless any group 
-           marked with brackets surrounding the bless checkbox as a 
-           result of membership in another group.
+    print "<BR>User is a member of any groups shown with a check or grey bar.
+           A grey bar indicates indirect membership, either derived from other
+           groups (marked with square brackets) or via regular expression
+           (marked with '*').<p> 
+           Square brackets around the bless checkbox indicate the ability
+           to bless users (grant them membership in the group) as a result
+           of membership in another group.
        <BR>";
 
     print "</FORM>";
+    if ($candelete) {
+        print "<FORM METHOD=POST ACTION=editusers.cgi>\n";
+        print "<INPUT TYPE=SUBMIT VALUE=\"Delete User\">\n";
+        print "<INPUT TYPE=HIDDEN NAME=\"action\" VALUE=\"del\">\n";
+        print "<INPUT TYPE=HIDDEN NAME=\"user\" VALUE=\"$user\">\n";
+        print "</FORM>";
+    }
 
     my $x = $localtrailer;
     $x =~ s/more/other/;
@@ -727,25 +736,35 @@ if ($action eq 'edit') {
 #
 
 if ($action eq 'update') {
-    PutHeader("Updated user");
-
     my $userold               = trim($::FORM{userold}              || '');
     my $realname              = trim($::FORM{realname}             || '');
     my $realnameold           = trim($::FORM{realnameold}          || '');
     my $password              = $::FORM{password}                  || '';
     my $disabledtext          = trim($::FORM{disabledtext}         || '');
     my $disabledtextold       = trim($::FORM{disabledtextold}      || '');
+    my @localtrailers         = ($localtrailer);
+    $localtrailer = qq|<a href="editusers.cgi?action=edit&user=XXX">edit user again</a>|;
+    PutHeader("Updating user $userold" . ($realnameold && " ($realnameold)"));
 
     CheckUser($userold);
     SendSQL("SELECT userid FROM profiles
              WHERE login_name=" . SqlQuote($userold));
     my ($thisuserid) = FetchSQLData();
 
+    my $emailregexp = Param("emailregexp");
+    unless ($user =~ m/$emailregexp/) {
+        print "The user name entered must be a valid e-mail address. Please press\n";
+        print "<b>Back</b> and try again.\n";
+        PutTrailer($localtrailer);
+        exit;
+    }
+
     my @grpadd = ();
     my @grpdel = ();
     my $chggrp = 0;
     SendSQL("SELECT id, name FROM groups");
     while (my ($groupid, $name) = FetchSQLData()) {
+        next unless ($editall || UserCanBlessGroup($name));
         if ($::FORM{"oldgroup_$groupid"} != ($::FORM{"group_$groupid"} ? 1 : 0)) {
             # group membership changed
             PushGlobalSQLState();
@@ -754,11 +773,11 @@ if ($action eq 'update') {
                      WHERE user_id = $thisuserid
                      AND group_id = $groupid
                      AND isbless = 0
-                     AND isderived = 0");
+                     AND grant_type = " . GRANT_DIRECT);
             if ($::FORM{"group_$groupid"}) {
                 SendSQL("INSERT INTO user_group_map 
-                         (user_id, group_id, isbless, isderived)
-                         VALUES ($thisuserid, $groupid, 0, 0)");
+                         (user_id, group_id, isbless, grant_type)
+                         VALUES ($thisuserid, $groupid, 0," . GRANT_DIRECT . ")");
                 print "Added user to group $name<BR>\n";
                 push(@grpadd, $name);
             } else {
@@ -774,11 +793,11 @@ if ($action eq 'update') {
                      WHERE user_id = $thisuserid
                      AND group_id = $groupid
                      AND isbless = 1
-                     AND isderived = 0");
+                     AND grant_type = " . GRANT_DIRECT);
             if ($::FORM{"bless_$groupid"}) {
                 SendSQL("INSERT INTO user_group_map 
-                         (user_id, group_id, isbless, isderived)
-                         VALUES ($thisuserid, $groupid, 1, 0)");
+                         (user_id, group_id, isbless, grant_type)
+                         VALUES ($thisuserid, $groupid, 1," . GRANT_DIRECT . ")");
                 print "Granted user permission to bless group $name<BR>\n";
             } else {
                 print "Revoked user's permission to bless group $name<BR>\n";
@@ -812,7 +831,7 @@ if ($action eq 'update') {
                      FROM profiles
                      WHERE login_name=" . SqlQuote($userold));
             my $userid = FetchOneColumn();
-            InvalidateLogins($userid);
+            Bugzilla->logout_user_by_id($userid);
             print "Updated password.<BR>\n";
         } else {
             print "Did not update password: $passworderror<br>\n";
@@ -822,7 +841,7 @@ if ($action eq 'update') {
         SendSQL("UPDATE profiles
                  SET realname=" . SqlQuote($realname) . "
                  WHERE login_name=" . SqlQuote($userold));
-        print "Updated real name.<BR>\n";
+        print 'Updated real name to <q>' . html_quote($realname) . "</q>.<BR>\n";
     }
     if ($editall && $disabledtext ne $disabledtextold) {
         SendSQL("UPDATE profiles
@@ -832,17 +851,23 @@ if ($action eq 'update') {
                  FROM profiles
                  WHERE login_name=" . SqlQuote($userold));
         my $userid = FetchOneColumn();
-        InvalidateLogins($userid);
+        Bugzilla->logout_user_by_id($userid);
         print "Updated disabled text.<BR>\n";
     }
     if ($editall && $user ne $userold) {
         unless ($user) {
             print "Sorry, I can't delete the user's name.";
-            PutTrailer($localtrailer);
+            $userold = url_quote($userold);
+            $localtrailer =~ s/XXX/$userold/;
+            push @localtrailers, $localtrailer;
+            PutTrailer(@localtrailers);
             exit;
         }
         if (TestUser($user)) {
             print "Sorry, user name '$user' is already in use.";
+            $userold = url_quote($userold);
+            $localtrailer =~ s/XXX/$userold/;
+            push @localtrailers, $localtrailer;
             PutTrailer($localtrailer);
             exit;
         }
@@ -851,12 +876,16 @@ if ($action eq 'update') {
                  SET login_name=" . SqlQuote($user) . "
                  WHERE login_name=" . SqlQuote($userold));
 
-        print "Updated user's name.<BR>\n";
+        print q|Updated user's name to <a href="mailto:| .
+              url_quote($user) . '">' . html_quote($user) . "</a>.<BR>\n";
     }
     my $changeduser = new Bugzilla::User($thisuserid);
     $changeduser->derive_groups();
 
-    PutTrailer($localtrailer);
+    $user = url_quote($user);
+    $localtrailer =~ s/XXX/$user/;
+    push @localtrailers, $localtrailer;
+    PutTrailer(@localtrailers);
     exit;
 }
 
@@ -868,7 +897,3 @@ if ($action eq 'update') {
 
 PutHeader("Error");
 print "I don't have a clue what you want.<BR>\n";
-
-foreach ( sort keys %::FORM) {
-    print "$_: $::FORM{$_}<BR>\n";
-}
diff --git a/editversions.cgi b/editversions.cgi
index 9c4a5e5ea7556d6a4963a15530aae425eab34558..c426891edf2ea349e690fa90ce9c0ad237f46682 100755
--- a/editversions.cgi
+++ b/editversions.cgi
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl -wT
 # -*- Mode: perl; indent-tabs-mode: nil -*-
 #
 # The contents of this file are subject to the Mozilla Public
@@ -32,6 +32,7 @@ use lib ".";
 require "CGI.pl";
 require "globals.pl";
 
+use Bugzilla::Constants;
 use Bugzilla::Config qw(:DEFAULT $datadir);
 
 # TestProduct:  just returns if the specified product does exists
@@ -123,6 +124,7 @@ sub EmitFormElements ($$)
 sub PutTrailer (@)
 {
     my (@links) = ("Back to the <A HREF=\"query.cgi\">query page</A>", @_);
+    SendSQL("UNLOCK TABLES");
 
     my $count = $#links;
     my $num = 0;
@@ -153,8 +155,7 @@ sub PutTrailer (@)
 # Preliminary checks:
 #
 
-ConnectToDatabase();
-confirm_login();
+Bugzilla->login(LOGIN_REQUIRED);
 
 print Bugzilla->cgi->header();
 
@@ -170,9 +171,10 @@ unless (UserInGroup("editcomponents")) {
 #
 # often used variables
 #
-my $product = trim($::FORM{product} || '');
-my $version = trim($::FORM{version} || '');
-my $action  = trim($::FORM{action}  || '');
+my $cgi = Bugzilla->cgi;
+my $product = trim($cgi->param('product') || '');
+my $version = trim($cgi->param('version') || '');
+my $action  = trim($cgi->param('action')  || '');
 my $localtrailer;
 if ($version) {
     $localtrailer = "<A HREF=\"editversions.cgi?product=" . url_quote($product) . "\">edit</A> more versions";
@@ -443,7 +445,6 @@ if ($action eq 'delete') {
              WHERE product_id = $product_id
                AND value=" . SqlQuote($version));
     print "Version deleted.<P>\n";
-    SendSQL("UNLOCK TABLES");
 
     unlink "$datadir/versioncache";
     PutTrailer($localtrailer);
@@ -492,7 +493,7 @@ if ($action eq 'edit') {
 if ($action eq 'update') {
     PutHeader("Update version of $product");
 
-    my $versionold = trim($::FORM{versionold} || '');
+    my $versionold = trim($cgi->param('versionold') || '');
 
     CheckVersion($product,$versionold);
     my $product_id = get_product_id($product);
@@ -508,13 +509,11 @@ if ($action eq 'update') {
         unless ($version) {
             print "Sorry, I can't delete the version text.";
             PutTrailer($localtrailer);
-            SendSQL("UNLOCK TABLES");
             exit;
         }
         if (TestVersion($product,$version)) {
             print "Sorry, version '$version' is already in use.";
             PutTrailer($localtrailer);
-            SendSQL("UNLOCK TABLES");
             exit;
         }
         SendSQL("UPDATE bugs
@@ -529,7 +528,6 @@ if ($action eq 'update') {
         unlink "$datadir/versioncache";
         print "Updated version.<BR>\n";
     }
-    SendSQL("UNLOCK TABLES");
 
     PutTrailer($localtrailer);
     exit;
@@ -543,7 +541,3 @@ if ($action eq 'update') {
 
 PutHeader("Error");
 print "I don't have a clue what you want.<BR>\n";
-
-foreach ( sort keys %::FORM) {
-    print "$_: $::FORM{$_}<BR>\n";
-}
diff --git a/enter_bug.cgi b/enter_bug.cgi
index e55ccc58cd654bf6631ceb4541d2272b2396728a..0b30f65e697d9b67d71d359f1dae23fbf4a78ed1 100755
--- a/enter_bug.cgi
+++ b/enter_bug.cgi
@@ -44,7 +44,6 @@ use vars qw(
   $unconfirmedstate
   $template
   $vars
-  %COOKIE
   @enterable_products
   @legal_opsys
   @legal_platform
@@ -52,25 +51,21 @@ use vars qw(
   @legal_severity
   @legal_keywords
   $userid
-  %MFORM
   %versions
   $proddesc
 );
 
-# We have to connect to the database, even though we don't use it in this code,
-# because we might occasionally rebuild the version cache, which causes tokens
-# to get deleted from the database, which needs a database connection.
-ConnectToDatabase();
-
 # If we're using bug groups to restrict bug entry, we need to know who the 
 # user is right from the start. 
-confirm_login() if AnyEntryGroups();
+Bugzilla->login(LOGIN_REQUIRED) if AnyEntryGroups();
 
 my $cgi = Bugzilla->cgi;
 
-if (!defined $::FORM{'product'}) {
+my $product = $cgi->param('product');
+
+if (!defined $product) {
     GetVersionTable();
-    quietly_check_login();
+    Bugzilla->login();
 
     my %products;
 
@@ -89,27 +84,24 @@ if (!defined $::FORM{'product'}) {
         $vars->{'proddesc'} = \%products;
 
         $vars->{'target'} = "enter_bug.cgi";
-        $vars->{'format'} = $::FORM{'format'};
+        $vars->{'format'} = $cgi->param('format');
         
         print $cgi->header();
         $template->process("global/choose-product.html.tmpl", $vars)
           || ThrowTemplateError($template->error());
         exit;        
+    } else {
+        # Only one product exists
+        $product = (keys %products)[0];
     }
-
-    $::FORM{'product'} = (keys %products)[0];
-    $::MFORM{'product'} = [$::FORM{'product'}];
-
 }
 
-my $product = $::FORM{'product'};
-
 ##############################################################################
 # Useful Subroutines
 ##############################################################################
 sub formvalue {
     my ($name, $default) = (@_);
-    return $::FORM{$name} || $default || "";
+    return $cgi->param($name) || $default || "";
 }
 
 sub pickplatform {
@@ -124,34 +116,37 @@ sub pickplatform {
         #Intel x86
             /\(.*[ix0-9]86.*\)/ && do {return "PC";};
         #Versions of Windows that only run on Intel x86
-            /\(.*Windows 9.*\)/ && do {return "PC";};
-            /\(.*Win9.*\)/ && do {return "PC";};
-            /\(.*Windows 3.*\)/ && do {return "PC";};
-            /\(.*Win16.*\)/ && do {return "PC";};
+            /\(.*Win(?:dows )[39M].*\)/ && do {return "PC";};
+            /\(.*Win(?:dows )16.*\)/ && do {return "PC";};
         #Sparc
             /\(.*sparc.*\)/ && do {return "Sun";};
             /\(.*sun4.*\)/ && do {return "Sun";};
         #Alpha
-            /\(.*Alpha.*\)/i && do {return "DEC";};
+            /\(.*AXP.*\)/i && do {return "DEC";};
+            /\(.*[ _]Alpha.\D/i && do {return "DEC";};
+            /\(.*[ _]Alpha\)/i && do {return "DEC";};
         #MIPS
             /\(.*IRIX.*\)/i && do {return "SGI";};
             /\(.*MIPS.*\)/i && do {return "SGI";};
         #68k
             /\(.*68K.*\)/ && do {return "Macintosh";};
             /\(.*680[x0]0.*\)/ && do {return "Macintosh";};
+        #HP
+            /\(.*9000.*\)/ && do {return "HP";};
         #ARM
 #            /\(.*ARM.*\) && do {return "ARM";};
         #Stereotypical and broken
             /\(.*Macintosh.*\)/ && do {return "Macintosh";};
             /\(.*Mac OS [89].*\)/ && do {return "Macintosh";};
             /\(Win.*\)/ && do {return "PC";};
-            /\(.*Windows NT.*\)/ && do {return "PC";};
+            /\(.*Win(?:dows[ -])NT.*\)/ && do {return "PC";};
             /\(.*OSF.*\)/ && do {return "DEC";};
             /\(.*HP-?UX.*\)/i && do {return "HP";};
             /\(.*IRIX.*\)/i && do {return "SGI";};
             /\(.*(SunOS|Solaris).*\)/ && do {return "Sun";};
         #Braindead old browsers who didn't follow convention:
             /Amiga/ && do {return "Macintosh";};
+            /WinMosaic/ && do {return "PC";};
         }
     }
     # default
@@ -167,10 +162,12 @@ sub pickos {
             /\(.*IRIX.*\)/ && do {return "IRIX";};
             /\(.*OSF.*\)/ && do {return "OSF/1";};
             /\(.*Linux.*\)/ && do {return "Linux";};
+            /\(.*Solaris.*\)/ && do {return "Solaris";};
             /\(.*SunOS 5.*\)/ && do {return "Solaris";};
+            /\(.*SunOS.*sun4u.*\)/ && do {return "Solaris";};
             /\(.*SunOS.*\)/ && do {return "SunOS";};
             /\(.*HP-?UX.*\)/ && do {return "HP-UX";};
-            /\(.*BSD\/OS.*\)/ && do {return "BSDI";};
+            /\(.*BSD\/(?:OS|386).*\)/ && do {return "BSDI";};
             /\(.*FreeBSD.*\)/ && do {return "FreeBSD";};
             /\(.*OpenBSD.*\)/ && do {return "OpenBSD";};
             /\(.*NetBSD.*\)/ && do {return "NetBSD";};
@@ -184,12 +181,13 @@ sub pickos {
             /\(.*Windows NT 5\.1.*\)/ && do {return "Windows XP";};
             /\(.*Windows 2000.*\)/ && do {return "Windows 2000";};
             /\(.*Windows NT 5.*\)/ && do {return "Windows 2000";};
-            /\(.*Windows.*NT.*\)/ && do {return "Windows NT";};
             /\(.*Win.*9[8x].*4\.9.*\)/ && do {return "Windows ME";};
-            /\(.*Win98.*\)/ && do {return "Windows 98";};
-            /\(.*Win95.*\)/ && do {return "Windows 95";};
-            /\(.*Win16.*\)/ && do {return "Windows 3.1";};
-            /\(.*WinNT.*\)/ && do {return "Windows NT";};
+            /\(.*Win(?:dows )M[Ee].*\)/ && do {return "Windows ME";};
+            /\(.*Win(?:dows )98.*\)/ && do {return "Windows 98";};
+            /\(.*Win(?:dows )95.*\)/ && do {return "Windows 95";};
+            /\(.*Win(?:dows )16.*\)/ && do {return "Windows 3.1";};
+            /\(.*Win(?:dows[ -])NT.*\)/ && do {return "Windows NT";};
+            /\(.*Windows.*NT.*\)/ && do {return "Windows NT";};
             /\(.*32bit.*\)/ && do {return "Windows 95";};
             /\(.*16bit.*\)/ && do {return "Windows 3.1";};
             /\(.*Mac OS 9.*\)/ && do {return "Mac System 9.x";};
@@ -200,14 +198,15 @@ sub pickos {
             /\(.*Mac OS 8\.0.*\)/ && do {return "Mac System 8.0";};
             /\(.*Mac OS 8[^.].*\)/ && do {return "Mac System 8.0";};
             /\(.*Mac OS 8.*\)/ && do {return "Mac System 8.6";};
-            /\(.*Mac OS X.*\)/ && do {return "MacOS X";};
-            /\(.*Darwin.*\)/ && do {return "MacOS X";};
+            /\(.*Mac OS X.*\)/ && do {return "Mac OS X 10.0";};
+            /\(.*Darwin.*\)/ && do {return "Mac OS X 10.0";};
         # Silly
             /\(.*Mac.*PowerPC.*\)/ && do {return "Mac System 9.x";};
             /\(.*Mac.*PPC.*\)/ && do {return "Mac System 9.x";};
             /\(.*Mac.*68k.*\)/ && do {return "Mac System 8.0";};
         # Evil
             /Amiga/i && do {return "other";};
+            /WinMosaic/ && do {return "Windows 95";};
             /\(.*PowerPC.*\)/ && do {return "Mac System 9.x";};
             /\(.*PPC.*\)/ && do {return "Mac System 9.x";};
             /\(.*68K.*\)/ && do {return "Mac System 8.0";};
@@ -220,7 +219,7 @@ sub pickos {
 # End of subroutines
 ##############################################################################
 
-confirm_login() if (!(AnyEntryGroups()));
+Bugzilla->login(LOGIN_REQUIRED) if (!(AnyEntryGroups()));
 
 # We need to check and make sure
 # that the user has permission to enter a bug against this product.
@@ -242,7 +241,7 @@ if (0 == @{$::components{$product}}) {
 } 
 elsif (1 == @{$::components{$product}}) {
     # Only one component; just pick it.
-    $::FORM{'component'} = $::components{$product}->[0];
+    $cgi->param('component', $::components{$product}->[0]);
 }
 
 my @components;
@@ -268,7 +267,6 @@ $default{'component_'} = formvalue('component');
 
 $vars->{'assigned_to'} = formvalue('assigned_to');
 $vars->{'cc'} = formvalue('cc');
-$vars->{'reporter'} = $::COOKIE{'Bugzilla_login'};
 $vars->{'product'} = $product;
 $vars->{'bug_file_loc'} = formvalue('bug_file_loc', "http://");
 $vars->{'short_desc'} = formvalue('short_desc');
@@ -290,6 +288,8 @@ $vars->{'keywords'} = formvalue('keywords');
 $vars->{'dependson'} = formvalue('dependson');
 $vars->{'blocked'} = formvalue('blocked');
 
+$vars->{'commentprivacy'} = formvalue('commentprivacy');
+
 # Use the version specified in the URL, if one is supplied. If not,
 # then use the cookie-specified value. (Posting a bug sets a cookie
 # for the current version.) If no URL or cookie version, the default
@@ -299,25 +299,45 @@ $vars->{'blocked'} = formvalue('blocked');
 $vars->{'version'} = $::versions{$product} || [];
 if (formvalue('version')) {
     $default{'version'} = formvalue('version');
-} elsif (exists $::COOKIE{"VERSION-$product"} &&
-    lsearch($vars->{'version'}, $::COOKIE{"VERSION-$product"}) != -1) {
-    $default{'version'} = $::COOKIE{"VERSION-$product"};
+} elsif (defined $cgi->cookie("VERSION-$product") &&
+    lsearch($vars->{'version'}, $cgi->cookie("VERSION-$product")) != -1) {
+    $default{'version'} = $cgi->cookie("VERSION-$product");
 } else {
     $default{'version'} = $vars->{'version'}->[$#{$vars->{'version'}}];
 }
 
-# There must be at least one status in @status.
-my @status = "NEW";
+# List of status values for drop-down.
+my @status;
 
-if (UserInGroup("editbugs") || UserInGroup("canconfirm")) {
-    SendSQL("SELECT votestoconfirm FROM products WHERE name = " .
-            SqlQuote($product));
-    push(@status, $unconfirmedstate) if (FetchOneColumn());
+# Construct the list of allowable values.  There are three cases:
+# 
+#  case                                 values
+#  product does not have confirmation   NEW
+#  confirmation, user cannot confirm    UNCONFIRMED
+#  confirmation, user can confirm       NEW, UNCONFIRMED.
+
+SendSQL("SELECT votestoconfirm FROM products WHERE name = " .
+        SqlQuote($product));
+if (FetchOneColumn()) {
+    if (UserInGroup("editbugs") || UserInGroup("canconfirm")) {
+        push(@status, "NEW");
+    }
+    push(@status, $unconfirmedstate);
+} else {
+    push(@status, "NEW");
 }
 
 $vars->{'bug_status'} = \@status; 
-$default{'bug_status'} = $status[0];
 
+# Get the default from a template value if it is legitimate.
+# Otherwise, set the default to the first item on the list.
+
+if (formvalue('bug_status') && (lsearch(\@status, formvalue('bug_status')) >= 0)) {
+    $default{'bug_status'} = formvalue('bug_status');
+} else {
+    $default{'bug_status'} = $status[0];
+}
+ 
 SendSQL("SELECT DISTINCT groups.id, groups.name, groups.description, " .
         "membercontrol, othercontrol " .
         "FROM groups LEFT JOIN group_control_map " .
@@ -370,7 +390,8 @@ $vars->{'default'} = \%default;
 $vars->{'use_keywords'} = 1 if (@::legal_keywords);
 
 my $format = 
-  GetFormat("bug/create/create", $::FORM{'format'}, $::FORM{'ctype'});
+  GetFormat("bug/create/create", scalar $cgi->param('format'), 
+            scalar $cgi->param('ctype'));
 
 print $cgi->header($format->{'ctype'});
 $template->process($format->{'template'}, $vars)
diff --git a/globals.pl b/globals.pl
index 91fd0555456e9921b1147ead8faa79a4105e5afc..e6f68be8f33c55e9e33a8caa0c55f319358e8c73 100644
--- a/globals.pl
+++ b/globals.pl
@@ -33,6 +33,7 @@ use Bugzilla::Constants;
 use Bugzilla::Util;
 # Bring ChmodDataFile in until this is all moved to the module
 use Bugzilla::Config qw(:DEFAULT ChmodDataFile $localconfig $datadir);
+use Bugzilla::BugMail;
 
 # Shut up misguided -w warnings about "used only once".  For some reason,
 # "use vars" chokes on me when I try it here.
@@ -74,7 +75,7 @@ use DBI;
 
 use Date::Format;               # For time2str().
 use Date::Parse;               # For str2time().
-use RelationSet;
+use Bugzilla::RelationSet;
 
 # Use standard Perl libraries for cross-platform file/directory manipulation.
 use File::Spec;
@@ -128,7 +129,7 @@ sub AppendComment {
        # regexp verifies one or more digits, optionally followed by a period and
        # zero or more digits, OR we have a period followed by one or more digits
        if ($work_time !~ /^-?(?:\d+(?:\.\d*)?|\.\d+)$/) { 
-          ThrowUserError("need_numeric_value");
+          ThrowUserError("need_numeric_value", {}, "abort");
        }
     } else { $work_time = 0 };
 
@@ -354,8 +355,8 @@ sub GetVersionTable {
         $mtime = 0;
     }
     if (time() - $mtime > 3600) {
-        use Token;
-        Token::CleanTokenTable() if Bugzilla->dbwritesallowed;
+        use Bugzilla::Token;
+        Bugzilla::Token::CleanTokenTable() if Bugzilla->dbwritesallowed;
         GenerateVersionTable();
     }
     require "$datadir/versioncache";
@@ -411,13 +412,15 @@ sub InsertNewUser {
     my $cryptpassword = Crypt($password);
 
 
+    my $defaultflagstring = SqlQuote(Bugzilla::Constants::DEFAULT_EMAIL_SETTINGS); 
+
     # Insert the new user record into the database.            
     $username = SqlQuote($username);
     $realname = SqlQuote($realname);
     $cryptpassword = SqlQuote($cryptpassword);
     PushGlobalSQLState();
-    SendSQL("INSERT INTO profiles (login_name, realname, cryptpassword) 
-             VALUES ($username, $realname, $cryptpassword)");
+    SendSQL("INSERT INTO profiles (login_name, realname, cryptpassword, emailflags) 
+             VALUES ($username, $realname, $cryptpassword, $defaultflagstring)");
     PopGlobalSQLState();
 
     # Return the password to the calling code so it can be included 
@@ -425,42 +428,9 @@ sub InsertNewUser {
     return $password;
 }
 
-# Removes all entries from logincookies for $userid, except for the
-# optional $keep, which refers the logincookies.cookie primary key.
-# (This is useful so that a user changing their password stays logged in)
-sub InvalidateLogins {
-    my ($userid, $keep) = @_;
-
-    my $remove = "DELETE FROM logincookies WHERE userid = $userid";
-    if (defined $keep) {
-        $remove .= " AND cookie != " . SqlQuote($keep);
-    }
-    SendSQL($remove);
-}
-
 sub GenerateRandomPassword {
-    my ($size) = @_;
-
-    # Generated passwords are eight characters long by default.
-    $size ||= 8;
-
-    # The list of characters that can appear in a randomly generated password.
-    # Note that users can put any character into a password they choose
-    # themselves.
-    my @pwchars = (0..9, 'A'..'Z', 'a'..'z', '-', '_', '!', '@', '#', '$',
-        '%', '^', '*');
-
-    # The number of characters in the list.
-    my $pwcharslen = scalar(@pwchars);
-
-    # Generate the password.
-    my $password = "";
-    for ( my $i=0 ; $i<$size ; $i++ ) {
-        $password .= $pwchars[rand($pwcharslen)];
-    }
-
-    # Return the password.
-    return $password;
+    my $size = (shift or 10); # default to 10 chars if nothing specified
+    return join("", map{ ('0'..'9','a'..'z','A'..'Z')[rand 62] } (1..$size));
 }
 
 #
@@ -549,6 +519,17 @@ sub CanEnterProduct {
     return ($ret);
 }
 
+sub GetEnterableProducts {
+    my @products;
+    # XXX rewrite into pure SQL instead of relying on legal_products?
+    foreach my $p (@::legal_product) {
+        if (CanEnterProduct($p)) {
+            push @products, $p;
+        }
+    }
+    return (@products);
+}
+
 #
 # This function returns an alphabetical list of product names to which
 # the user can enter bugs.  If the $by_id parameter is true, also retrieves IDs
@@ -606,21 +587,23 @@ sub GetSelectableProductHash {
 
     PushGlobalSQLState();
     foreach my $table (@tables) {
-        # Why oh why can't we standardize on these names?!?
-        my $fld = ($table eq "components" ? "name" : "value");
-
-        my $query = "SELECT $fld, product_id FROM $table WHERE product_id IN " .
-                    "(" . join(",", keys %products) . ") ORDER BY $fld";
-        SendSQL($query);
-
         my %values;
         my %values_by_product;
 
-        while (MoreSQLData()) {
-            my ($name, $product_id) = FetchSQLData();
-            next unless $name;
-            $values{$name} = 1;
-            push @{$values_by_product{$products{$product_id}}}, $name;
+        if (scalar(keys %products)) {
+            # Why oh why can't we standardize on these names?!?
+            my $fld = ($table eq "components" ? "name" : "value");
+
+            my $query = "SELECT $fld, product_id FROM $table WHERE product_id " .
+                        "IN (" . join(",", keys %products) . ") ORDER BY $fld";
+            SendSQL($query);
+
+            while (MoreSQLData()) {
+                my ($name, $product_id) = FetchSQLData();
+                next unless $name;
+                $values{$name} = 1;
+                push @{$values_by_product{$products{$product_id}}}, $name;
+            }
         }
 
         $selectables->{"legal_$table"} = [sort keys %values];
@@ -801,7 +784,7 @@ sub DBNameToIdAndCheck {
     }
 
     ThrowUserError("invalid_username",
-                   { name => $name });
+                   { name => $name }, "abort");
 }
 
 
@@ -908,14 +891,16 @@ sub quoteUrls {
     $text =~ s~\b(mailto:|)?([\w\.\-\+\=]+\@[\w\-]+(?:\.[\w\-]+)+)\b
               ~<a href=\"mailto:$2\">$1$2</a>~igx;
 
-    # attachment links - handle both cases separatly for simplicity
+    # attachment links - handle both cases separately for simplicity
     $text =~ s~((?:^Created\ an\ |\b)attachment\s*\(id=(\d+)\))
-              ~GetAttachmentLink($2, $1)
+              ~($things[$count++] = GetAttachmentLink($2, $1)) &&
+               ("\0\0" . ($count-1) . "\0\0")
               ~egmx;
 
     $text =~ s~\b(attachment\s*\#?\s*(\d+))
-              ~GetAttachmentLink($2, $1)
-              ~egmx;
+              ~($things[$count++] = GetAttachmentLink($2, $1)) &&
+               ("\0\0" . ($count-1) . "\0\0")
+              ~egmxi;
 
     # This handles bug a, comment b type stuff. Because we're using /g
     # we have to do this in one pattern, and so this is semi-messy.
@@ -988,10 +973,10 @@ sub GetAttachmentLink {
     # Now that we know we've got all the information we're gonna get, let's
     # return the link (which is the whole reason we were called :)
     my ($title, $className) = @{$::attachlink{$attachid}};
-    # $title will be undefined if the bug didn't exist in the database.
+    # $title will be undefined if the attachment didn't exist in the database.
     if (defined $title) {
-        my $linkval = "attachment.cgi?id=$attachid&amp;action=view";
-        return qq{<a href="$linkval" class="$className" title="$title">$link_text</a>};
+        my $linkval = "attachment.cgi?id=$attachid";
+        return qq{<a href="$linkval" class="$className" title="$title">$link_text</a> [<a href="$linkval&amp;action=edit">edit</a>]};
     }
     else {
         return qq{$link_text};
@@ -1034,9 +1019,9 @@ sub GetBugLink {
                 $post = "</i>";
             }
             elsif (! IsOpenedState($bug_state)) {
-                $pre = "<strike>";
+                $pre = '<span class="bz_closed">';
                 $title .= " $bug_res";
-                $post = "</strike>";
+                $post = '</span>';
             }
             if (CanSeeBug($bug_num, $::userid)) {
                 $title .= " - $bug_desc";
@@ -1069,6 +1054,38 @@ sub GetBugLink {
     }
 }
 
+# CountOpenDependencies counts the number of open dependent bugs for a
+# list of bugs and returns a list of bug_id's and their dependency count
+# It takes one parameter:
+#  - A list of bug numbers whose dependencies are to be checked
+
+sub CountOpenDependencies {
+    my (@bug_list) = @_;
+    my @dependencies;
+    
+    # Make sure any unfetched data from a currently running query
+    # is saved off rather than overwritten
+    PushGlobalSQLState();
+   
+    SendSQL("SELECT blocked, count(bug_status) " .
+            "FROM bugs, dependencies " .
+            "WHERE blocked IN (" . (join "," , @bug_list) . ") " .
+            "AND bug_id = dependson " .
+            "AND bug_status IN ('" . (join "','", OpenStates())  . "') " .
+            "GROUP BY blocked ");
+   
+    while (MoreSQLData()) {
+        my ($bug_id, $dependencies) = FetchSQLData();
+        push(@dependencies, { bug_id       => $bug_id, 
+                              dependencies => $dependencies });
+    }
+
+    # All done with this sidetrip
+    PopGlobalSQLState();
+
+    return @dependencies;
+}
+
 sub GetLongDescriptionAsText {
     my ($id, $start, $end) = (@_);
     my $result = "";
@@ -1176,6 +1193,10 @@ sub SplitEnumType {
 }
 
 sub UserInGroup {
+    if ($_[1]) {
+        die "UserInGroup no longer takes a second parameter.";
+    }
+    
     return defined Bugzilla->user && defined Bugzilla->user->groups->{$_[0]};
 }
 
@@ -1353,32 +1374,26 @@ sub RemoveVotes {
 
             # Now lets send the e-mail to alert the user to the fact that their votes have
             # been reduced or removed.
-            my $sendmailparm = '-ODeliveryMode=deferred';
-            if (Param('sendmailnow')) {
-               $sendmailparm = '';
-            }
-            if (open(SENDMAIL, "|/usr/lib/sendmail $sendmailparm -t -i")) {
-                my %substs;
+            my %substs;
 
-                $substs{"to"} = $name;
-                $substs{"bugid"} = $id;
-                $substs{"reason"} = $reason;
+            $substs{"to"} = $name . Param('emailsuffix');
+            $substs{"bugid"} = $id;
+            $substs{"reason"} = $reason;
 
-                $substs{"votesremoved"} = $removedvotes;
-                $substs{"votesold"} = $oldvotes;
-                $substs{"votesnew"} = $newvotes;
+            $substs{"votesremoved"} = $removedvotes;
+            $substs{"votesold"} = $oldvotes;
+            $substs{"votesnew"} = $newvotes;
 
-                $substs{"votesremovedtext"} = $removedvotestext;
-                $substs{"votesoldtext"} = $oldvotestext;
-                $substs{"votesnewtext"} = $newvotestext;
+            $substs{"votesremovedtext"} = $removedvotestext;
+            $substs{"votesoldtext"} = $oldvotestext;
+            $substs{"votesnewtext"} = $newvotestext;
 
-                $substs{"count"} = $removedvotes . "\n    " . $newvotestext;
+            $substs{"count"} = $removedvotes . "\n    " . $newvotestext;
 
-                my $msg = PerformSubsts(Param("voteremovedmail"),
-                                        \%substs);
-                print SENDMAIL $msg;
-                close SENDMAIL;
-            }
+            my $msg = PerformSubsts(Param("voteremovedmail"),
+                                    \%substs);
+
+            Bugzilla::BugMail::MessageToMTA($msg);
         }
         SendSQL("SELECT SUM(vote_count) FROM votes WHERE bug_id = $id");
         my $v = FetchOneColumn();
@@ -1399,20 +1414,20 @@ sub DiffStrings {
     my @old = split(" ", $oldstr);
     my @new = split(" ", $newstr);
 
-    my (@remove, @add) = ();
+    # For each pair of (old, new) entries: 
+    # If they're equal, set them to empty. When done, @old contains entries
+    # that were removed; @new contains ones that got added.
 
-    # Find values that were removed
-    foreach my $value (@old) {
-        push (@remove, $value) if !grep($_ eq $value, @new);
-    }
-
-    # Find values that were added
-    foreach my $value (@new) {
-        push (@add, $value) if !grep($_ eq $value, @old);
+    foreach my $oldv (@old) {
+        foreach my $newv (@new) {
+            next if ($newv eq '');
+            if ($oldv eq $newv) {
+                $newv = $oldv = '';
+            }
+        }
     }
-
-    my $removed = join (", ", @remove);
-    my $added = join (", ", @add);
+    my $removed = join (", ", grep { $_ ne '' } @old);
+    my $added = join (", ", grep { $_ ne '' } @new);
 
     return ($removed, $added);
 }
@@ -1442,7 +1457,8 @@ sub FormatTimeUnit {
 
 # Constructs a format object from URL parameters. You most commonly call it 
 # like this:
-# my $format = GetFormat("foo/bar", $::FORM{'format'}, $::FORM{'ctype'});
+# my $format = GetFormat("foo/bar", scalar($cgi->param('format')),
+#                        scalar($cgi->param('ctype')));
 
 sub GetFormat {
     my ($template, $format, $ctype) = @_;
@@ -1461,7 +1477,7 @@ sub GetFormat {
 
     # Now check that the template actually exists. We only want to check
     # if the template exists; any other errors (eg parse errors) will
-    # end up being detected laer.
+    # end up being detected later.
     eval {
         Bugzilla->template->context->template($template);
     };
diff --git a/importxml.pl b/importxml.pl
index 5b0599e988cae18e40108488114a9726d0feab7d..277681a35e003a09ca73a5029e0529dc560fbbd9 100755
--- a/importxml.pl
+++ b/importxml.pl
@@ -61,6 +61,7 @@ use lib ($::path);
 
 use Bugzilla;
 use Bugzilla::Config qw(:DEFAULT $datadir);
+use Bugzilla::BugMail;
 
 use XML::Parser;
 use Data::Dumper;
@@ -71,7 +72,6 @@ require "CGI.pl";
 require "globals.pl";
 $::lockcount = 0;
 
-ConnectToDatabase();
 GetVersionTable();
 
 
@@ -114,11 +114,8 @@ sub MailMessage {
   $header.= "From: Bugzilla <$from>\n";
   $header.= "Subject: $subject\n\n";
 
-  open(SENDMAIL,
-    "|/usr/lib/sendmail -ODeliveryMode=background -t -i") ||
-      die "Can't open sendmail";
-  print SENDMAIL $header . $message . "\n";
-  close SENDMAIL;
+  my $sendmessage = $header . $message . "\n";
+  Bugzilla::BugMail::MessageToMTA($sendmessage);
 
   Log($subject . " sent to: $to");
 }
diff --git a/index.cgi b/index.cgi
index bbe936207f077b12cd5837d01cb961d1551d9a34..88393b41787700c13d33f2c8dcc617b1fe2f49ad 100755
--- a/index.cgi
+++ b/index.cgi
@@ -36,11 +36,9 @@ use vars qw(
   $vars
 );
 
-# Establish a connection to the database backend.
-ConnectToDatabase();
-
 # Check whether or not the user is logged in and, if so, set the $::userid 
-quietly_check_login('permit_anonymous');
+use Bugzilla::Constants;
+Bugzilla->login(LOGIN_OPTIONAL);
 
 ###############################################################################
 # Main Body Execution
diff --git a/js/CVS/Entries b/js/CVS/Entries
index 5f69f44f8cdcca4074139f87e869ea2ab5285570..95cb0b377901cc8f706c43035378df79bf421e4b 100644
--- a/js/CVS/Entries
+++ b/js/CVS/Entries
@@ -1,2 +1,2 @@
-/duplicates.js/1.2/Sun Jan 25 18:47:16 2004//TBUGZILLA-2_17_7
+/duplicates.js/1.2/Sun Jan 25 18:47:16 2004//TBUGZILLA-2_18
 D
diff --git a/js/CVS/Tag b/js/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/js/CVS/Tag
+++ b/js/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/long_list.cgi b/long_list.cgi
index 1f8126d19f9eb42ccd7c5154a6480eb7a320ebf0..657ff9e24f08106b673e60396fe619958d2cec03 100755
--- a/long_list.cgi
+++ b/long_list.cgi
@@ -28,14 +28,12 @@ use Bugzilla;
 
 require "CGI.pl";
 
-use vars qw($userid @legal_keywords %FORM);
+use vars qw($userid @legal_keywords);
 
 # Use global template variables.
 use vars qw($template $vars);
 
-ConnectToDatabase();
-
-quietly_check_login();
+Bugzilla->login();
 
 GetVersionTable();
 
@@ -69,9 +67,9 @@ my $generic_query = "
   WHERE assign.userid = bugs.assigned_to AND report.userid = bugs.reporter
     AND bugs.product_id=products.id AND bugs.component_id=components.id";
 
-my $buglist = $::FORM{'buglist'} || 
-              $::FORM{'bug_id'}  || 
-              $::FORM{'id'}      || "";
+my $buglist = $cgi->param('buglist') || 
+              $cgi->param('bug_id')  || 
+              $cgi->param('id')      || "";
 
 my @bugs;
 
diff --git a/move.pl b/move.pl
index d08830b2bdcd2faddd09e6712ef015cb2b7b261a..328671f8170898af8be2cbe8a933626fedbbbfd0 100755
--- a/move.pl
+++ b/move.pl
@@ -28,10 +28,11 @@ use lib qw(.);
 
 require "CGI.pl";
 
-use vars qw($template $userid %COOKIE);
+use vars qw($template $userid);
 
-use Bug;
 use Bugzilla;
+use Bugzilla::Constants;
+use Bugzilla::Bug;
 use Bugzilla::Config qw(:DEFAULT $datadir);
 use Bugzilla::BugMail;
 
@@ -43,8 +44,7 @@ unless ( Param("move-enabled") ) {
   exit;
 }
 
-ConnectToDatabase();
-confirm_login();
+Bugzilla->login(LOGIN_REQUIRED);
 
 my $cgi = Bugzilla->cgi;
 
@@ -79,7 +79,7 @@ sub Unlock {
     }
 }
 
-if ( !defined $::FORM{'buglist'} ) {
+if (!defined $cgi->param('buglist')) {
   print $cgi->header();
   PutHeader("Move Bugs");
   print "Move bugs either from the bug display page or perform a ";
@@ -90,7 +90,7 @@ if ( !defined $::FORM{'buglist'} ) {
   exit;
 }
 
-my $exporter = $::COOKIE{"Bugzilla_login"};
+my $exporter = Bugzilla->user->login;
 my $movers = Param("movers");
 $movers =~ s/\s?,\s?/|/g;
 $movers =~ s/@/\@/g;
@@ -105,8 +105,8 @@ unless ($exporter =~ /($movers)/) {
 my @bugs;
 
 print "<P>\n";
-foreach my $id (split(/:/, $::FORM{'buglist'})) {
-  my $bug = new Bug($id, $::userid);
+foreach my $id (split(/:/, scalar($cgi->param('buglist')))) {
+  my $bug = new Bugzilla::Bug($id, $::userid);
   push @bugs, $bug;
   if (!$bug->error) {
     my $exporterid = DBNameToIdAndCheck($exporter);
@@ -126,8 +126,8 @@ foreach my $id (split(/:/, $::FORM{'buglist'})) {
     SendSQL("UPDATE bugs SET resolution =\"MOVED\" where bug_id=\"$id\"");
 
     my $comment = "";
-    if (defined $::FORM{'comment'} && $::FORM{'comment'} !~ /^\s*$/) {
-        $comment .= $::FORM{'comment'} . "\n\n";
+    if (defined $cgi->param('comment') && $cgi->param('comment') !~ /^\s*$/) {
+        $comment .= $cgi->param('comment') . "\n\n";
     }
     $comment .= "Bug moved to " . Param("move-to-url") . ".\n\n";
     $comment .= "If the move succeeded, $exporter will receive a mail\n";
@@ -143,7 +143,7 @@ foreach my $id (split(/:/, $::FORM{'buglist'})) {
 }
 print "<P>\n";
 
-my $buglist = $::FORM{'buglist'};
+my $buglist = $cgi->param('buglist');
 $buglist =~ s/:/,/g;
 my $host = Param("urlbase");
 $host =~ s#http://([^/]+)/.*#$1#;
@@ -155,25 +155,20 @@ $from =~ s/@/\@/;
 $msg .= "From: Bugzilla <" . $from . ">\n";
 $msg .= "Subject: Moving bug(s) $buglist\n\n";
 
-my @fieldlist = (Bug::fields(), 'group', 'long_desc', 'attachment');
+my @fieldlist = (Bugzilla::Bug::fields(), 'group', 'long_desc', 'attachment');
 my %displayfields;
 foreach (@fieldlist) {
     $displayfields{$_} = 1;
 }
 
-$template->process("bug/show.xml.tmpl", { user => { login => $exporter },
-                                          bugs => \@bugs,
+$template->process("bug/show.xml.tmpl", { bugs => \@bugs,
                                           displayfields => \%displayfields,
                                         }, \$msg)
   || ThrowTemplateError($template->error());
 
 $msg .= "\n";
 
-open(SENDMAIL,
-  "|/usr/lib/sendmail -ODeliveryMode=background -t -i") ||
-    die "Can't open sendmail";
-print SENDMAIL $msg;
-close SENDMAIL;
+Bugzilla::BugMail::MessageToMTA($msg);
 
 my $logstr = "XML: bugs $buglist sent to $to";
 Log($logstr);
diff --git a/padlock.png b/padlock.png
new file mode 100644
index 0000000000000000000000000000000000000000..a8be3681c23d063eb995e479370fc85c57ad4cad
Binary files /dev/null and b/padlock.png differ
diff --git a/page.cgi b/page.cgi
index 91027ff4f77587ee91adf1e4ec1d9ae7e35e3cec..6e78317fc06f88cf215de5da79df44848aae115b 100755
--- a/page.cgi
+++ b/page.cgi
@@ -38,20 +38,23 @@ require "CGI.pl";
 
 use vars qw($template $vars);
 
-ConnectToDatabase();
-
-quietly_check_login();
+Bugzilla->login();
 
 my $cgi = Bugzilla->cgi;
 
-if ($::FORM{'id'}) {
+my $id = $cgi->param('id');
+if ($id) {
     # Remove all dodgy chars, and split into name and ctype.
-    $::FORM{'id'} =~ s/[^\w\-\.]//g;
-    $::FORM{'id'} =~ /(.*)\.(.*)/;
+    $id =~ s/[^\w\-\.]//g;
+    $id =~ /(.*)\.(.*)/;
+    if (!$2) {
+        # if this regexp fails to match completely, something bad came in
+        ThrowCodeError("bad_page_cgi_id", { "page_id" => $id });
+    }
 
     my $format = GetFormat("pages/$1", undef, $2);
     
-    $vars->{'form'} = \%::FORM; 
+    $cgi->param('id', $id);
 
     print $cgi->header($format->{'ctype'});
 
diff --git a/post_bug.cgi b/post_bug.cgi
index dbc102d3eeff5272168d4e88100ef990329f0b63..60807afb38bf7764e0811af97541a0af12300b05 100755
--- a/post_bug.cgi
+++ b/post_bug.cgi
@@ -30,7 +30,7 @@ use Bugzilla;
 use Bugzilla::Constants;
 require "CGI.pl";
 
-use Bug;
+use Bugzilla::Bug;
 
 use Bugzilla::User;
 
@@ -53,8 +53,7 @@ sub sillyness {
 # Use global template variables.
 use vars qw($vars $template);
 
-ConnectToDatabase();
-my $user = confirm_login();
+my $user = Bugzilla->login(LOGIN_REQUIRED);
 
 my $cgi = Bugzilla->cgi;
 
@@ -76,10 +75,6 @@ my $format = GetFormat("bug/create/comment", $::FORM{'format'}, "txt");
 $template->process($format->{'template'}, $vars, \$comment)
   || ThrowTemplateError($template->error());
 
-# Check that if required a description has been provided
-if (Param("commentoncreate") && !trim($::FORM{'comment'})) {
-    ThrowUserError("description_required");
-}
 ValidateComment($comment);
 
 my $product = $::FORM{'product'};
@@ -122,6 +117,13 @@ if (!defined $::FORM{'short_desc'} || trim($::FORM{'short_desc'}) eq "") {
     ThrowUserError("require_summary");
 }
 
+# Check that if required a description has been provided
+# This has to go somewhere after 'maketemplate' 
+#  or it breaks bookmarks with no comments.
+if (Param("commentoncreate") && !trim($::FORM{'comment'})) {
+    ThrowUserError("description_required");
+}
+
 # If bug_file_loc is "http://", the default, strip it out and use an empty
 # value. 
 $::FORM{'bug_file_loc'} = "" if $::FORM{'bug_file_loc'} eq 'http://';
@@ -255,7 +257,7 @@ foreach my $field ("dependson", "blocked") {
         my @validvalues;
         foreach my $id (split(/[\s,]+/, $::FORM{$field})) {
             next unless $id;
-            ValidateBugID($id, 1);
+            ValidateBugID($id, $field);
             push(@validvalues, $id);
         }
         $::FORM{$field} = join(",", @validvalues);
@@ -422,9 +424,15 @@ foreach my $grouptoadd (@groupstoadd) {
              VALUES ($id, $grouptoadd)");
 }
 
-# Add the comment
-SendSQL("INSERT INTO longdescs (bug_id, who, bug_when, thetext) 
-         VALUES ($id, $::userid, now(), " . SqlQuote($comment) . ")");
+# Add the initial comment, allowing for the fact that it may be private
+my $privacy = 0;
+if (Param("insidergroup") && UserInGroup(Param("insidergroup"))) {
+    $privacy = $::FORM{'commentprivacy'} ? 1 : 0;
+}
+
+SendSQL("INSERT INTO longdescs (bug_id, who, bug_when, thetext, isprivate) 
+         VALUES ($id, " . SqlQuote($user->id) . ", " . SqlQuote($timestamp) . 
+        ", " . SqlQuote($comment) . ", $privacy)");
 
 # Insert the cclist into the database
 foreach my $ccid (keys(%ccids)) {
@@ -478,7 +486,7 @@ if (defined $::FORM{'qa_contact'}) {
 }
 
 $vars->{'id'} = $id;
-my $bug = new Bug($id, $::userid);
+my $bug = new Bugzilla::Bug($id, $::userid);
 $vars->{'bug'} = $bug;
 
 ThrowCodeError("bug_error", { bug => $bug }) if $bug->error;
diff --git a/process_bug.cgi b/process_bug.cgi
index d81f866e581ffbbc1fb5b88e603e7cc31d7a4a66..4e273aa841ec010162523fb15c3ea9b8e03e344b 100755
--- a/process_bug.cgi
+++ b/process_bug.cgi
@@ -35,10 +35,9 @@ use Bugzilla;
 use Bugzilla::Constants;
 require "CGI.pl";
 
-use Bug;
+use Bugzilla::Bug;
 use Bugzilla::User;
-
-use RelationSet;
+use Bugzilla::RelationSet;
 
 # Use the Flag module to modify flag data if the user set flags.
 use Bugzilla::Flag;
@@ -56,8 +55,7 @@ use vars qw(%versions
           %legal_severity
            );
 
-ConnectToDatabase();
-my $user = confirm_login();
+my $user = Bugzilla->login(LOGIN_REQUIRED);
 my $whoid = $user->id;
 
 my $cgi = Bugzilla->cgi;
@@ -93,39 +91,27 @@ if (defined $::FORM{'id'}) {
 # Make sure there are bugs to process.
 scalar(@idlist) || ThrowUserError("no_bugs_chosen");
 
-# do a match on the fields if applicable
+$::FORM{'dontchange'} = '' unless exists $::FORM{'dontchange'};
 
-# The order of these function calls is important, as both Flag::validate
-# and FlagType::validate assume User::match_field has ensured that the values
-# in the requestee fields are legitimate user email addresses.
-&Bugzilla::User::match_field({
-    'qa_contact'                => { 'type' => 'single' },
-    'newcc'                     => { 'type' => 'multi'  },
-    'masscc'                    => { 'type' => 'multi'  },
-    'assigned_to'               => { 'type' => 'single' },
-    '^requestee(_type)?-(\d+)$' => { 'type' => 'single' },
-});
-# Validate flags, but only if the user is changing a single bug,
-# since the multi-change form doesn't include flag changes.
-if (defined $::FORM{'id'}) {
-    Bugzilla::Flag::validate(\%::FORM, $::FORM{'id'});
-    Bugzilla::FlagType::validate(\%::FORM, $::FORM{'id'});
+# Validate all timetracking fields
+foreach my $field ("estimated_time", "work_time", "remaining_time") {
+    if (defined $::FORM{$field}) {
+        my $er_time = trim($::FORM{$field});
+        if ($er_time ne $::FORM{'dontchange'}) {
+            Bugzilla::Bug::ValidateTime($er_time, $field);
+        }
+    }
 }
 
-# If we are duping bugs, let's also make sure that we can change 
-# the original.  This takes care of issue A on bug 96085.
-if (defined $::FORM{'dup_id'} && $::FORM{'knob'} eq "duplicate") {
-    ValidateBugID($::FORM{'dup_id'});
-
-    # Also, let's see if the reporter has authorization to see the bug
-    # to which we are duping.  If not we need to prompt.
-    DuplicateUserConfirm();
+if (UserInGroup(Param('timetrackinggroup'))) {
+    my $wk_time = $::FORM{'work_time'};
+    if ($::FORM{'comment'} =~ /^\s*$/ && $wk_time && $wk_time != 0) {
+        ThrowUserError('comment_required', undef, "abort");
+    }
 }
 
 ValidateComment($::FORM{'comment'});
 
-$::FORM{'dontchange'} = '' unless exists $::FORM{'dontchange'};
-
 # If the bug(s) being modified have dependencies, validate them
 # and rebuild the list with the validated values.  This is important
 # because there are situations where validation changes the value
@@ -137,13 +123,32 @@ foreach my $field ("dependson", "blocked") {
         my @validvalues;
         foreach my $id (split(/[\s,]+/, $::FORM{$field})) {
             next unless $id;
-            ValidateBugID($id, 1);
+            ValidateBugID($id, $field);
             push(@validvalues, $id);
         }
         $::FORM{$field} = join(",", @validvalues);
     }
 }
 
+# do a match on the fields if applicable
+
+# The order of these function calls is important, as both Flag::validate
+# and FlagType::validate assume User::match_field has ensured that the values
+# in the requestee fields are legitimate user email addresses.
+&Bugzilla::User::match_field({
+    'qa_contact'                => { 'type' => 'single' },
+    'newcc'                     => { 'type' => 'multi'  },
+    'masscc'                    => { 'type' => 'multi'  },
+    'assigned_to'               => { 'type' => 'single' },
+    '^requestee(_type)?-(\d+)$' => { 'type' => 'single' },
+});
+# Validate flags, but only if the user is changing a single bug,
+# since the multi-change form doesn't include flag changes.
+if (defined $::FORM{'id'}) {
+    Bugzilla::Flag::validate(\%::FORM, $::FORM{'id'});
+    Bugzilla::FlagType::validate(\%::FORM, $::FORM{'id'});
+}
+
 ######################################################################
 # End Data/Security Validation
 ######################################################################
@@ -188,12 +193,7 @@ CheckFormFieldDefined(\%::FORM, 'product');
 CheckFormFieldDefined(\%::FORM, 'version');
 CheckFormFieldDefined(\%::FORM, 'component');
 
-# check if target milestone is defined - matthew@zeroknowledge.com
-if ( Param("usetargetmilestone") ) {
-  CheckFormFieldDefined(\%::FORM, 'target_milestone');
-}
 
-#
 # This function checks if there is a comment required for a specific
 # function and tests, if the comment was given.
 # If comments are required for functions is defined by params.
@@ -261,6 +261,7 @@ if ((($::FORM{'id'} && $::FORM{'product'} ne $::oldproduct)
 
     my $mok = 1;   # so it won't affect the 'if' statement if milestones aren't used
     if ( Param("usetargetmilestone") ) {
+       CheckFormFieldDefined(\%::FORM, 'target_milestone');
        $mok = lsearch($::target_milestone{$prod}, $::FORM{'target_milestone'}) >= 0;
     }
 
@@ -278,23 +279,21 @@ if ((($::FORM{'id'} && $::FORM{'product'} ne $::oldproduct)
             # if its a valid option, otherwise we use the default where
             # thats appropriate
             $vars->{'versions'} = $::versions{$prod};
-            if (lsearch($::versions{$prod}, $::FORM{'version'}) != -1) {
+            if ($vok) {
                 $defaults{'version'} = $::FORM{'version'};
             }
             $vars->{'components'} = $::components{$prod};
-            if (lsearch($::components{$prod}, $::FORM{'component'}) != -1) {
+            if ($cok) {
                 $defaults{'component'} = $::FORM{'component'};
             }
-
             if (Param("usetargetmilestone")) {
                 $vars->{'use_target_milestone'} = 1;
                 $vars->{'milestones'} = $::target_milestone{$prod};
-                if (lsearch($::target_milestone{$prod},
-                            $::FORM{'target_milestone'}) != -1) {
+                if ($mok) {
                     $defaults{'target_milestone'} = $::FORM{'target_milestone'};
                 } else {
-                    SendSQL("SELECT defaultmilestone FROM products WHERE " .
-                            "name = " . SqlQuote($prod));
+                    SendSQL("SELECT defaultmilestone FROM products " .
+                            "WHERE name = " . SqlQuote($prod));
                     $defaults{'target_milestone'} = FetchOneColumn();
                 }
             }
@@ -304,7 +303,7 @@ if ((($::FORM{'id'} && $::FORM{'product'} ne $::oldproduct)
             $vars->{'defaults'} = \%defaults;
         }
         else {
-            $vars->{"verify_fields"} = 0;
+            $vars->{'verify_fields'} = 0;
         }
         
         $vars->{'verify_bug_group'} = (AnyDefaultGroups() 
@@ -330,8 +329,8 @@ my $qacontactid;
 # CheckCanChangeField() defines what users are allowed to change what bugs. You
 # can add code here for site-specific policy changes, according to the 
 # instructions given in the Bugzilla Guide and below. Note that you may also
-# have to update the Bug::user() function to give people access to the options
-# that they are permitted to change.
+# have to update the Bugzilla::Bug::user() function to give people access to the
+# options that they are permitted to change.
 #
 # CheckCanChangeField() should return true if the user is allowed to change this
 # field, and false if they are not.
@@ -364,14 +363,20 @@ sub CheckCanChangeField {
             }
         }
     }
-    
+
     # Return true if they haven't changed this field at all.
     if ($oldvalue eq $newvalue) {
         return 1;
     }    
     elsif (trim($oldvalue) eq trim($newvalue)) {
         return 1;
+    # numeric fields need to be compared using == 
+    } elsif (($field eq "estimated_time" || $field eq "remaining_time") &&
+             $oldvalue == $newvalue) {
+        return 1;
     }
+        
+    
     
     # A resolution change is always accompanied by a status change. So, we 
     # always OK resolution changes; if they really can't do this, we will 
@@ -405,12 +410,14 @@ sub CheckCanChangeField {
     }
     
     # Allow anyone with "canconfirm" to confirm bugs.
-    if (($field eq "bug_status") && 
-        ($oldvalue eq $::unconfirmedstate) &&
-        IsOpenedState($newvalue) &&
-        $UserInCanConfirmGroupSet) 
-    {
-        return 1;
+    if ($UserInCanConfirmGroupSet) {
+        if (($field eq "canconfirm") ||
+            (($field eq "bug_status") && 
+             ($oldvalue eq $::unconfirmedstate) &&
+             IsOpenedState($newvalue)))
+        {
+            return 1;
+        }
     }
     
     # START DO_NOT_CHANGE
@@ -420,6 +427,7 @@ sub CheckCanChangeField {
         SendSQL("SELECT reporter, assigned_to, qa_contact FROM bugs
                  WHERE bug_id = $bugid");
         ($reporterid, $ownerid, $qacontactid) = (FetchSQLData());
+        $lastbugid = $bugid;
     }    
     # END DO_NOT_CHANGE
 
@@ -473,8 +481,8 @@ sub DuplicateUserConfirm {
         return;
     }
 
-    my $dupe = trim($::FORM{'id'});
-    my $original = trim($::FORM{'dup_id'});
+    my $dupe = $::FORM{'id'};
+    my $original = $::FORM{'dup_id'};
     
     SendSQL("SELECT reporter FROM bugs WHERE bug_id = " . SqlQuote($dupe));
     my $reporter = FetchOneColumn();
@@ -502,7 +510,7 @@ sub DuplicateUserConfirm {
     $template->process("bug/process/confirm-duplicate.html.tmpl", $vars)
       || ThrowTemplateError($template->error());
     exit;
-} # end DuplicateUserConfirm()
+}
 
 if (defined $::FORM{'id'}) {
     # since this means that we were called from show_bug.cgi, now is a good
@@ -512,19 +520,23 @@ if (defined $::FORM{'id'}) {
     # (XXX those error checks need to happen too, but implementing them 
     # is more work in the current architecture of this script...)
     #
-    CheckFormField(\%::FORM, 'rep_platform', \@::legal_platform);
-    CheckFormField(\%::FORM, 'priority', \@::legal_priority);
-    CheckFormField(\%::FORM, 'bug_severity', \@::legal_severity);
+    CheckFormField(\%::FORM, 'product', \@::legal_product);
     CheckFormField(\%::FORM, 'component', 
                    \@{$::components{$::FORM{'product'}}});
-    CheckFormFieldDefined(\%::FORM, 'bug_file_loc');
-    CheckFormFieldDefined(\%::FORM, 'short_desc');
-    CheckFormField(\%::FORM, 'product', \@::legal_product);
     CheckFormField(\%::FORM, 'version', 
                    \@{$::versions{$::FORM{'product'}}});
+    if ( Param("usetargetmilestone") ) {
+        CheckFormField(\%::FORM, 'target_milestone', 
+                       \@{$::target_milestone{$::FORM{'product'}}});
+    }
+    CheckFormField(\%::FORM, 'rep_platform', \@::legal_platform);
     CheckFormField(\%::FORM, 'op_sys', \@::legal_opsys);
+    CheckFormField(\%::FORM, 'priority', \@::legal_priority);
+    CheckFormField(\%::FORM, 'bug_severity', \@::legal_severity);
+    CheckFormFieldDefined(\%::FORM, 'bug_file_loc');
+    CheckFormFieldDefined(\%::FORM, 'short_desc');
     CheckFormFieldDefined(\%::FORM, 'longdesclength');
-    
+
     if (trim($::FORM{'short_desc'}) eq "") {
         ThrowUserError("require_summary");
     }
@@ -535,7 +547,7 @@ if (defined $::FORM{action}) {
   $action = trim($::FORM{action});
 }
 if (Param("move-enabled") && $action eq Param("move-button-text")) {
-  $::FORM{'buglist'} = join (":", @idlist);
+  $cgi->param('buglist', join (":", @idlist));
   do "move.pl" || die "Error executing move.cgi: $!";
   PutFooter();
   exit;
@@ -618,6 +630,7 @@ sub ChangeResolution {
        ($str ne $::FORM{'dontchange'})) {
         DoComma();
         $::query .= "resolution = " . SqlQuote($str);
+        $::FORM{'resolution'} = $str; # Used later by CheckCanChangeField
     }
 }
 
@@ -651,9 +664,8 @@ while (my ($b, $isactive) = FetchSQLData()) {
     }
 }
 
-foreach my $field ("rep_platform", "priority", "bug_severity",          
-                   "summary", "bug_file_loc", "short_desc",
-                   "version", "op_sys",
+foreach my $field ("rep_platform", "priority", "bug_severity",
+                   "bug_file_loc", "short_desc", "version", "op_sys",
                    "target_milestone", "status_whiteboard") {
     if (defined $::FORM{$field}) {
         if (!$::FORM{'dontchange'}
@@ -687,7 +699,7 @@ if ($::FORM{'component'} ne $::FORM{'dontchange'}) {
     $comp_id = get_component_id($prod_id,
                                 $::FORM{'component'});
     $comp_id || ThrowCodeError("invalid_component", 
-                               {component => $::FORM{'component'},
+                               {name => $::FORM{'component'},
                                 product => $::FORM{'product'}});
     
     DoComma();
@@ -766,16 +778,8 @@ if (UserInGroup(Param('timetrackinggroup'))) {
         if (defined $::FORM{$field}) {
             my $er_time = trim($::FORM{$field});
             if ($er_time ne $::FORM{'dontchange'}) {
-                if ($er_time > 99999.99) {
-                    ThrowUserError("value_out_of_range", {field => $field});
-                }
-                if ($er_time =~ /^(?:\d+(?:\.\d*)?|\.\d+)$/) {
-                    DoComma();
-                    $::query .= "$field = " . SqlQuote($er_time);
-                } else {
-                    ThrowUserError("need_positive_number",
-                                   {field => $field});
-                }
+                DoComma();
+                $::query .= "$field = " . SqlQuote($er_time);
             }
         }
     }
@@ -891,6 +895,17 @@ SWITCH: for ($::FORM{'knob'}) {
                 ThrowUserError("resolving_remaining_time");
             }
         }
+        
+        # don't resolve as fixed while still unresolved blocking bugs
+        if (Param("noresolveonopenblockers") && ($::FORM{'resolution'} eq 'FIXED')) {
+           my @dependencies = CountOpenDependencies(@idlist);
+           if (scalar @dependencies > 0) {
+               ThrowUserError("still_unresolved_bugs", 
+                               { dependencies     => \@dependencies,
+                                 dependency_count => scalar @dependencies });
+            }          
+        }
+
         # Check here, because its the only place we require the resolution
         CheckFormField(\%::FORM, 'resolution', \@::settable_resolution);
         ChangeStatus('RESOLVED');
@@ -925,17 +940,15 @@ SWITCH: for ($::FORM{'knob'}) {
         SendSQL("SELECT initialowner FROM components " .
                 "WHERE components.id = $comp_id");
         my $newid = FetchOneColumn();
-        my $newname = DBID_to_name($newid);
         DoComma();
         $::query .= "assigned_to = $newid";
         if (Param("useqacontact")) {
             SendSQL("SELECT initialqacontact FROM components " .
                     "WHERE components.id = $comp_id");
             my $qacontact = FetchOneColumn();
-            if (defined $qacontact && $qacontact != 0) {
-                DoComma();
-                $::query .= "qa_contact = $qacontact";
-            }
+            $qacontact = 0 unless (defined $qacontact && $qacontact != 0);
+            DoComma();
+            $::query .= "qa_contact = $qacontact";
         }
         last SWITCH;
     };   
@@ -953,28 +966,22 @@ SWITCH: for ($::FORM{'knob'}) {
         last SWITCH;
     };
     /^duplicate$/ && CheckonComment( "duplicate" ) && do {
-        ChangeStatus('RESOLVED');
-        ChangeResolution('DUPLICATE');
-        CheckFormFieldDefined(\%::FORM,'dup_id');
-        my $num = trim($::FORM{'dup_id'});
-        SendSQL("SELECT bug_id FROM bugs WHERE bug_id = " . SqlQuote($num));
-        $num = FetchOneColumn();
-        if (!$num) {
-            ThrowUserError("dupe_invalid_bug_id")
-        }
-        if (!defined($::FORM{'id'}) || $num == $::FORM{'id'}) {
+        # Make sure we can change the original bug (issue A on bug 96085)
+        CheckFormFieldDefined(\%::FORM, 'dup_id');
+        ValidateBugID($::FORM{'dup_id'}, 'dup_id');
+
+        # Also, let's see if the reporter has authorization to see
+        # the bug to which we are duping. If not we need to prompt.
+        DuplicateUserConfirm();
+
+        $duplicate = $::FORM{'dup_id'};
+        if (!defined($::FORM{'id'}) || $duplicate == $::FORM{'id'}) {
             ThrowUserError("dupe_of_self_disallowed");
         }
-        my $checkid = trim($::FORM{'id'});
-        SendSQL("SELECT bug_id FROM bugs where bug_id = " .  SqlQuote($checkid));
-        $checkid = FetchOneColumn();
-        if (!$checkid) {
-            ThrowUserError("invalid_bug_id",
-                           { bug_id => $checkid });
-        }
-        $::FORM{'comment'} .= "\n\n*** This bug has been marked as a duplicate of $num ***";
-        $duplicate = $num;
-
+        ChangeStatus('RESOLVED');
+        ChangeResolution('DUPLICATE');
+        $::FORM{'comment'} .= "\n\n*** This bug has been marked " .
+                              "as a duplicate of $duplicate ***";
         last SWITCH;
     };
 
@@ -1008,6 +1015,9 @@ if ($::FORM{'keywords'}) {
 }
 
 my $keywordaction = $::FORM{'keywordaction'} || "makeexact";
+if (!grep($keywordaction eq $_, qw(add delete makeexact))) {
+    $keywordaction = "makeexact";
+}
 
 if ($::comma eq ""
     && (! @groupAdd) && (! @groupDel)
@@ -1147,6 +1157,24 @@ foreach my $id (@idlist) {
         }
         $i++;
     }
+
+    # When editing multiple bugs, users can specify a list of keywords to delete
+    # from bugs.  If the list matches the current set of keywords on those bugs,
+    # CheckCanChangeField above will fail to check permissions because it thinks
+    # the list hasn't changed.  To fix that, we have to call CheckCanChangeField
+    # again with old!=new if the keyword action is "delete" and old=new.
+    if ($keywordaction eq "delete"
+        && exists $::FORM{keywords}
+        && length(@keywordlist) > 0
+        && $::FORM{keywords} eq $oldhash{keywords}
+        && !CheckCanChangeField("keywords", $id, "old is not", "equal to new"))
+    {
+        $vars->{'oldvalue'} = $oldhash{keywords};
+        $vars->{'newvalue'} = "no keywords";
+        $vars->{'field'} = "keywords";
+        ThrowUserError("illegal_change", $vars, "abort");
+    }
+
     $oldhash{'product'} = get_product_name($oldhash{'product_id'});
     if (!CanEditProductId($oldhash{'product_id'})) {
         ThrowUserError("product_edit_denied",
@@ -1168,9 +1196,7 @@ foreach my $id (@idlist) {
         SendSQL("SELECT defaultmilestone FROM products WHERE name = " .
                 SqlQuote($oldhash{'product'}));
         if ($value eq FetchOneColumn()) {
-            ThrowUserError("milestone_required",
-                           { bug_id => $id },
-                           "abort");
+            ThrowUserError("milestone_required", { bug_id => $id }, "abort");
         }
     }   
     if (defined $::FORM{'delta_ts'} && $::FORM{'delta_ts'} ne $delta_ts) {
@@ -1264,26 +1290,17 @@ foreach my $id (@idlist) {
 
     delete $::FORM{'work_time'} unless UserInGroup(Param('timetrackinggroup'));
 
-    if ($::FORM{'work_time'} && $::FORM{'work_time'} > 99999.99) {
-        ThrowUserError("value_out_of_range", {field => 'work_time'});
-    }
     if ($::FORM{'comment'} || $::FORM{'work_time'}) {
-        if ($::FORM{'work_time'} && 
-            (!defined $::FORM{'comment'} || $::FORM{'comment'} =~ /^\s*$/)) {
-            SendSQL("UNLOCK TABLES");
-            ThrowUserError('comment_required');
-        } else {
-            AppendComment($id, $::COOKIE{'Bugzilla_login'}, $::FORM{'comment'},
-                          $::FORM{'commentprivacy'}, $timestamp, $::FORM{'work_time'});
-            if ($::FORM{'work_time'}) {
-                LogActivityEntry($id, "work_time", "", $::FORM{'work_time'},
-                                 $whoid, $timestamp);
-            }
-            $bug_changed = 1;
+        AppendComment($id, $::COOKIE{'Bugzilla_login'}, $::FORM{'comment'},
+                      $::FORM{'commentprivacy'}, $timestamp, $::FORM{'work_time'});
+        if ($::FORM{'work_time'}) {
+            LogActivityEntry($id, "work_time", "", $::FORM{'work_time'},
+                             $whoid, $timestamp);
         }
+        $bug_changed = 1;
     }
 
-    if (@::legal_keywords) {
+    if (@::legal_keywords && exists $::FORM{keywords}) {
         # There are three kinds of "keywordsaction": makeexact, add, delete.
         # For makeexact, we delete everything, and then add our things.
         # For add, we delete things we're adding (to make sure we don't
@@ -1752,12 +1769,20 @@ foreach my $id (@idlist) {
 # now show the next bug
 if ($next_bug) {
     if (detaint_natural($next_bug) && CanSeeBug($next_bug, $::userid)) {
-        my $bug = new Bug($next_bug, $::userid);
+        my $bug = new Bugzilla::Bug($next_bug, $::userid);
         ThrowCodeError("bug_error", { bug => $bug }) if $bug->error;
 
         # next.html.tmpl includes edit.html.tmpl, and therefore we
         # need $bug defined in $vars.
         $vars->{'bug'} = $bug;
+
+        # And we need to determine if Patch Viewer is installed, for
+        # Diff link (NB: Duplicate code with show_bug.cgi.)
+        eval {
+            require PatchReader;
+            $vars->{'patchviewerinstalled'} = 1;
+        };
+
         $template->process("bug/process/next.html.tmpl", $vars)
           || ThrowTemplateError($template->error());
 
diff --git a/productmenu.js b/productmenu.js
index d917d325c089dac6f2728a96dc31ec2067d25ded..e633ab3279d844c62fac8428a9f126f27500a840 100644
--- a/productmenu.js
+++ b/productmenu.js
@@ -203,19 +203,26 @@ function selectProduct( f , productfield, componentfield, blank ) {
     // - is_diff says if it's a full list or just a list of products that
     //   were added to the current selection.
     // - single indicates if a single item was selected
+    // - selectedIndex is the index of the first selected item
+    // - selectedValue is the value of the first selected item
     var sel = Array();
     var is_diff = 0;
     var single;
-
-    // if nothing selected, pick all
-    if ( f[productfield].selectedIndex == -1 ) {
-        for ( var i = 0 ; i < f[productfield].length ; i++ ) {
+    var selectedIndex = f[productfield].selectedIndex;
+    var selectedValue = f[productfield].options[selectedIndex].value;
+
+    // If nothing is selected, or the selected item is the "blank" value
+    // at the top of the list which represents all products on drop-down menus,
+    // then pick all products so we show all components.
+    if ( selectedIndex == -1 || !cpts[selectedValue])
+    {
+        for ( var i = blank ? 1 : 0 ; i < f[productfield].length ; i++ ) {
             sel[sel.length] = f[productfield].options[i].value;
         }
         single = 0;
     } else {
 
-        for ( i = 0 ; i < f[productfield].length ; i++ ) {
+        for ( i = blank ? 1 : 0 ; i < f[productfield].length ; i++ ) {
             if ( f[productfield].options[i].selected ) {
                 sel[sel.length] = f[productfield].options[i].value;
             }
diff --git a/query.cgi b/query.cgi
index 7786da96bd1adba8a673daf3b563227f7eb19668..4a305c1905a4da77a80b2c5a52b2f8a4d052094f 100755
--- a/query.cgi
+++ b/query.cgi
@@ -22,12 +22,16 @@
 #                 David Gardiner <david.gardiner@unisa.edu.au>
 #                 Matthias Radestock <matthias@sorted.org>
 #                 Gervase Markham <gerv@gerv.net>
+#                 Byron Jones <bugzilla@glob.com.au>
 
 use strict;
 use lib ".";
 
 require "CGI.pl";
 
+use Bugzilla::Constants;
+use Bugzilla::Search;
+
 use vars qw(
     @CheckOptionValues
     @legal_resolution
@@ -49,16 +53,14 @@ use vars qw(
     $vars
 );
 
-ConnectToDatabase();
-
 my $cgi = Bugzilla->cgi;
 
 if (defined $::FORM{"GoAheadAndLogIn"}) {
     # We got here from a login page, probably from relogin.cgi.  We better
     # make sure the password is legit.
-    confirm_login();
+    Bugzilla->login(LOGIN_REQUIRED);
 } else {
-    quietly_check_login();
+    Bugzilla->login();
 }
 
 my $user = Bugzilla->user;
@@ -83,14 +85,16 @@ if ($user) {
             my ($name, $cookiename, $value) = (@$ref);
             if ($value) {
                 my $qname = SqlQuote($name);
+                SendSQL("LOCK TABLES namedqueries WRITE");
                 SendSQL("SELECT query FROM namedqueries " .
                         "WHERE userid = $userid AND name = $qname");
                 my $query = FetchOneColumn();
                 if (!$query) {
-                    SendSQL("REPLACE INTO namedqueries " .
+                    SendSQL("INSERT INTO namedqueries " .
                             "(userid, name, query) VALUES " .
                             "($userid, $qname, " . SqlQuote($value) . ")");
                 }
+                SendSQL("UNLOCK TABLES");
             }
             $cgi->send_cookie(-name => $cookiename,
                               -expires => "Fri, 01-Jan-2038 00:00:00 GMT");
@@ -161,10 +165,18 @@ sub PrefillForm {
             $value = "";
         }
         
+        # If the name begins with field, type, or value, then it is part of
+        # the boolean charts. Because these are built different than the rest
+        # of the form, we don't need to save a default value. We do, however,
+        # need to indicate that we found something so the default query isn't
+        # added in if all we have are boolean chart items.
+        if ($name =~ m/^(?:field|type|value)/) {
+            $foundone = 1;
+        }
         # If the name ends in a number (which it does for the fields which
         # are part of the email searching), we use the array
         # positions to show the defaults for that number field.
-        if ($name =~ m/^(.+)(\d)$/ && defined($default{$1})) {
+        elsif ($name =~ m/^(.+)(\d)$/ && defined($default{$1})) {
             $foundone = 1;
             $default{$1}->[$2] = $value;
         }
@@ -392,19 +404,39 @@ if (($::FORM{'query_format'} || $::FORM{'format'} || "") eq "create-series") {
     $vars->{'category'} = Bugzilla::Chart::getVisibleSeries();
 }
 
+$vars->{'known_name'} = $cgi->param('known_name');
+
+
 # Add in the defaults.
 $vars->{'default'} = \%default;
 
-$vars->{'format'} = $::FORM{'format'};
-$vars->{'query_format'} = $::FORM{'query_format'};
+$vars->{'format'} = $cgi->param('format');
+$vars->{'query_format'} = $cgi->param('query_format');
+
+# Set default page to "specific" if none proviced
+if (!($cgi->param('query_format') || $cgi->param('format'))) {
+    if (defined $cgi->cookie('DEFAULTFORMAT')) {
+        $vars->{'format'} = $cgi->cookie('DEFAULTFORMAT');
+    } else {
+        $vars->{'format'} = 'specific';
+    }
+}
+
+# Set cookie to current format as default, but only if the format
+# one that we should remember.
+if (IsValidQueryType($vars->{'format'})) {
+    $cgi->send_cookie(-name => 'DEFAULTFORMAT',
+                      -value => $vars->{'format'},
+                      -expires => "Fri, 01-Jan-2038 00:00:00 GMT");
+}
 
 # Generate and return the UI (HTML page) from the appropriate template.
 # If we submit back to ourselves (for e.g. boolean charts), we need to
 # preserve format information; hence query_format taking priority over
 # format.
 my $format = GetFormat("search/search", 
-                       $::FORM{'query_format'} || $::FORM{'format'}, 
-                       $::FORM{'ctype'});
+                       $vars->{'query_format'} || $vars->{'format'}, 
+                       $cgi->param('ctype'));
 
 print $cgi->header($format->{'ctype'});
 
diff --git a/queryhelp.cgi b/queryhelp.cgi
deleted file mode 100755
index 60ebdd120f234bb1b174f2ec6578618bc2cc9f11..0000000000000000000000000000000000000000
--- a/queryhelp.cgi
+++ /dev/null
@@ -1,1530 +0,0 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# The contents of this file are subject to the Mozilla Public
-# License Version 1.1 (the "License"); you may not use this file
-# except in compliance with the License. You may obtain a copy of
-# the License at http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS
-# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-# implied. See the License for the specific language governing
-# rights and limitations under the License.
-#
-# The Original Code is the Bugzilla Bug Tracking System.
-#
-# The Initial Developer of the Original Code is Netscape Communications
-# Corporation. Portions created by Netscape are
-# Copyright (C) 1998 Netscape Communications Corporation. All
-# Rights Reserved.
-#
-# Contributor(s):         Brian Bober <boberb@rpi.edu>
-#                         Terry Weissman <terry@mozilla.org>
-#                         Tara Hernandez <tara@tequilarista.org>
-
-use strict;
-
-use lib qw(.);
-
-require "CGI.pl";
-
-ConnectToDatabase();
-quietly_check_login();
-
-GetVersionTable();
-
-print Bugzilla->cgi->header();
-
-PutHeader("Bugzilla Query Page Help","Help", "This page is to help you learn how to use the query form.");
-
-
-
-
-
-print qq{
-
-<br>
-
-<form action="none"> <!-- Cause NS4.x is stupid. Die NS4.x you eeeevil eeeevil program! -->
-
-<a name="top"></a>
-
-<p><center><b><font size="+2">Help Using The Bugzilla Query Form</font></b><br>January, 20 2001 - 
-<a href="mailto:netdemonz\@yahoo.com">Brian Bober (netdemon)</a>.  
-<BR><I>Further heavy mutiliations by <a href="mailto:tara\@tequilarista.org">Tara Heranandez</A>, April 20, 2001.</I></CENTER>
-
-<br><center><img width="329" height="220" src="ant.jpg" border="2" alt="Da Ant"></center>
-
-<p><br><center><h3>The Sections</h3></center>
-
-<p>The query page is broken down into the following sections:
-
-<p><a href="#bugsettings">Bug Settings</a> 
-<br><a href="#peopleinvolved">People Involved</a> 
-<br><a href="#textsearch">Text Search Options</a>
-<br><a href="#moduleoptions">Module Options</a> 
-<br><a href="#advancedquerying">Advanced Querying</a>
-<br><a href="#therest">The Bottom Of The Form</a>
-
-<p>&quot;I already know how to use <a href="http://www.mozilla.org/bugs/">Bugzilla</a>, but would like <a href="#info">information</a> about Bugzilla and the author of this document.&quot;
-<br>&quot;Ok, I am almost certain the bug I discovered isn't in Bugzilla, how do I <a href="enter_bug.cgi">submit</a> the bug?&quot; - <a href= "docs/html/Bugzilla-Guide.html#BUG_WRITING">Read the guidelines first</a>!
-
-<p><br><center><h3>Tips</h3></center>
-You don't have to fill out any field on the query page you don't need. Filling out fields will limit
-your search. On the list boxes, such as Status, you can Ctrl-Click to unselect an option. 
-Until you get better, you can use the "brute force" method where you enter a very simple query and search through 
-the long list of bugs manually. Just try not to overuse this method if you don't have to as you might be slowing down
-the search for other people if there are many people searching at the same time. Finally, I would recommend learning the Boolean Chart immediately because it is extremely 
-powerful. Also, there is a navigation bar at the <a href="#bottom">bottom</a> of 
-most Bugzilla pages, and important links at the <a href="index.cgi">front page</a>.
-
-
-
-<p>Back to the <a href="query.cgi">Query</a>. If you typed anything in the forms already, you might want to hit back on the
-browser. When you are all done reading, do a <a href="#samplequery">sample query</a>!
-
-};
-
-
-
-
-
-print qq{
-
-<a name="bugsettings"></a>
-
-<p><br><center><h3>Bug Settings</h3></center>
-
-<center>
-
-<table width="700" bgcolor="#00afff" border="0" cellpadding="0" cellspacing="0">
-<tr>
-<td align="center" height="200">
-<table cellspacing="0">
-<tr>
-<th align="left"><A HREF="queryhelp.cgi#status">Status</a>:</th>
-<th align="left"><A HREF="queryhelp.cgi#resolution">Resolution</a>:</th>
-<th align="left"><A HREF="queryhelp.cgi#platform">Platform</a>:</th>
-<th align="left"><A HREF="queryhelp.cgi#opsys">OpSys</a>:</th>
-<th align="left"><A HREF="queryhelp.cgi#priority">Priority</a>:</th>
-<th align="left"><A HREF="queryhelp.cgi#severity">Severity</a>:</th>
-</tr>
-<tr>
-<td align="left" valign="top">
-
-<SELECT NAME="bug_status" MULTIPLE SIZE="7">
-<OPTION VALUE="UNCONFIRMED">UNCONFIRMED
-<OPTION VALUE="NEW">NEW
-<OPTION VALUE="ASSIGNED">ASSIGNED
-<OPTION VALUE="REOPENED">REOPENED
-<OPTION VALUE="RESOLVED">RESOLVED
-<OPTION VALUE="VERIFIED">VERIFIED
-<OPTION VALUE="CLOSED">CLOSED
-</SELECT>
-
-</td>
-<td align="left" valign="top">
-<SELECT NAME="resolution" MULTIPLE SIZE="7">
-<OPTION VALUE="FIXED">FIXED
-<OPTION VALUE="INVALID">INVALID
-<OPTION VALUE="WONTFIX">WONTFIX
-<OPTION VALUE="LATER">LATER
-<OPTION VALUE="REMIND">REMIND
-<OPTION VALUE="DUPLICATE">DUPLICATE
-<OPTION VALUE="WORKSFORME">WORKSFORME
-};
-
-print '<OPTION VALUE="MOVED">MOVED' if Param('move-enabled');
-
-print qq{
-<OPTION VALUE="---">---
-</SELECT>
-
-</td>
-<td align="left" valign="top">
-<SELECT NAME="rep_platform" MULTIPLE SIZE="7">
-<OPTION VALUE="All">All
-<OPTION VALUE="DEC">DEC
-<OPTION VALUE="HP">HP
-<OPTION VALUE="Macintosh">Macintosh
-<OPTION VALUE="PC">PC
-<OPTION VALUE="SGI">SGI
-<OPTION VALUE="Sun">Sun
-<OPTION VALUE="Other">Other
-</SELECT>
-
-</td>
-<td align="left" valign="top">
-<SELECT NAME="op_sys" MULTIPLE SIZE="7">
-<OPTION VALUE="All">All
-<OPTION VALUE="Windows 3.1">Windows 3.1
-<OPTION VALUE="Windows 95">Windows 95
-<OPTION VALUE="Windows 98">Windows 98
-<OPTION VALUE="Windows ME">Windows ME
-<OPTION VALUE="Windows 2000">Windows 2000
-<OPTION VALUE="Windows NT">Windows NT
-<OPTION VALUE="Windows XP">Windows XP
-<OPTION VALUE="Mac System 7">Mac System 7
-<OPTION VALUE="Mac System 7.5">Mac System 7.5
-<OPTION VALUE="Mac System 7.6.1">Mac System 7.6.1
-<OPTION VALUE="Mac System 8.0">Mac System 8.0
-<OPTION VALUE="Mac System 8.5">Mac System 8.5
-<OPTION VALUE="Mac System 8.6">Mac System 8.6
-<OPTION VALUE="Mac System 9.0">Mac System 9.0
-<OPTION VALUE="Linux">Linux
-<OPTION VALUE="BSDI">BSDI
-<OPTION VALUE="FreeBSD">FreeBSD
-<OPTION VALUE="NetBSD">NetBSD
-<OPTION VALUE="OpenBSD">OpenBSD
-<OPTION VALUE="AIX">AIX
-<OPTION VALUE="BeOS">BeOS
-<OPTION VALUE="HP-UX">HP-UX
-<OPTION VALUE="IRIX">IRIX
-<OPTION VALUE="Neutrino">Neutrino
-<OPTION VALUE="OpenVMS">OpenVMS
-<OPTION VALUE="OS/2">OS/2
-<OPTION VALUE="OSF/1">OSF/1
-<OPTION VALUE="Solaris">Solaris
-<OPTION VALUE="SunOS">SunOS
-<OPTION VALUE="other">other
-</SELECT>
-
-</td>
-<td align="left" valign="top">
-<SELECT NAME="priority" MULTIPLE SIZE="7">
-<OPTION VALUE="P1">P1
-<OPTION VALUE="P2">P2
-<OPTION VALUE="P3">P3
-<OPTION VALUE="P4">P4
-<OPTION VALUE="P5">P5
-</SELECT>
-
-</td>
-<td align="left" valign="top">
-<SELECT NAME="bug_severity" MULTIPLE SIZE="7">
-<OPTION VALUE="blocker">blocker
-<OPTION VALUE="critical">critical
-<OPTION VALUE="major">major
-<OPTION VALUE="normal">normal
-<OPTION VALUE="minor">minor
-<OPTION VALUE="trivial">trivial
-<OPTION VALUE="enhancement">enhancement
-</SELECT>
-</td>
-</tr>
-</table>
-</td>
-</tr>
-</table>
-</center>
-
-<br>
-
-The <b>status</b> and <b>resolution</b> field define and track the
-life cycle of a bug. <b>Platform</b> and <b>opsys</b> describe the system
-which the bug is on. <b>Priority</b> and <b>Severity</b> are for tracking purposes.
-
-<a name="status"></a>
-<p><b>Status</b> 
-
-<ul>
-<li><b>UNCONFIRMED</b> - Nobody has validated that this bug needs to be fixed.  Users who have the correct
-permissions may confirm this bug, changing its state to NEW. You can view 
-<a href="userprefs.cgi?bank=permissions">your permissions</a> here.
-A bug may be directly resolved and marked RESOLVED but usually a bug will 
-be confirmed by the person to whom it is assigned. Usually, an UNCOMFIRMED bug
-will be left uncomfirmed until someone has verified that the bug the reporter
-submitted actually occurrs.
-
-<li><b>NEW</b> - This bug has recently been added to the assignee's list of bugs
-and must be processed. Bugs in this state may be accepted, and
-become ASSIGNED, passed on to someone else, and remain
-NEW, or resolved and marked RESOLVED.
-
-<li><b>ASSIGNED</b> - This bug is not yet resolved, but is assigned to someone who
-thinks they can fix it. From here bugs can be given to another person and become
-NEW, or resolved and become RESOLVED.
-
-<li><b>REOPENED</b> - The bug was once resolved, but the resolution was deemed
-incorrect.  For example, a WORKSFORME bug is
-REOPENED when more information shows up and the bug is now
-reproducible.  From here bugs are either marked ASSIGNED
-or RESOLVED.
-
-<li><b>RESOLVED</b> - A resolution has been made, and it is awaiting verification by
-the QA. From here bugs are either re-opened and become REOPENED, are marked 
-VERIFIED, or are closed for good and marked CLOSED.
-
-<li><b>VERIFIED</b>- QA has looked at the bug and the resolution and agrees that the
-appropriate action has been taken.
-
-<li><b>CLOSED</b> - The bug is considered dead, the resolution is correct, and the product the bug
-has been reported against is terminated or shipped. Any zombie
-bugs who choose to walk the earth again must do so by becoming
-REOPENED.  This state is rarely ever used.
-</ul>
-
-<a name="resolution"></a>
-<p><b>Resolution</b> 
-
-<p>The <b>resolution</b> field indicates what happened to this bug.
-
-<p>No resolution yet: All bugs which are in one of the "open" states (meaning the state
-has no associated resolution) 
-have the resolution set to blank. All other bugs
-will be marked with one of the following resolutions.
-
-<ul>
-<li><b>FIXED</b> - A fix for this bug is checked into the tree and tested.
-<li><b>INVALID</b> - The problem described is not a bug. 
-<li><b>WONTFIX</b> - The problem described is a bug which will never be fixed.
-<li><b>LATER</b> - The problem described is a bug which will not be fixed in this
-version of the product.
-<li><b>REMIND</b> - The problem described is a bug which will probably not be fixed in this
-version of the product, but might still be.
-<li><b>DUPLICATE</b> - The problem is a duplicate of an existing bug. Marking a bug
-duplicate requires the bug number of the duplicate and that number will be placed in the 
-bug description.
-<li><b>WORKSFORME</b> - All attempts at reproducing this bug were futile, reading the
-code produces no clues as to why this behavior would occur. If
-more information appears later, please re-assign the bug, for
-now, file it.
-};
-
-print '<li><b>MOVED</b> - The problem described might be a bug but is not a bug in this database,
-so it was transfered to a more appropriate database.'
-  if Param('move-enabled');
-
-print qq{
-</ul>
-
-<a name="platform"></a>
-<p><b>Platform</b>
-<p>The <b>platform</b> field is the hardware platform against which the bug was reported.  Legal
-platforms include but are not limited to:
-
-<ul>
-<li>All (happens on all platform; cross-platform bug)<br>
-<li>Macintosh
-<li>PC
-<li>Sun
-<li>HP
-</ul>
-<p><b>Note:</b> Selecting the option "All" does not select bugs assigned against all platforms.  It
-merely selects bugs that <b>occur</b> on all platforms.
-
-<a name="opsys"></a>
-<p><b>Operating System</b>
-<p>The <b>operating system</b> field is the operating system against which the bug was reported.  Legal
-operating systems include but are not limited to:
-
-<ul>
-<li>All (happens on all operating systems; cross-platform bug)
-<li>Windows 95
-<li>Windows 2000
-<li>Mac System 8.0
-<li>Linux
-<li>Other (Not in any of these OSes)<br>
-</ul>
-
-<p>Note that the operating system implies the platform, but not always.
-For example, Linux can run on PC and Macintosh and others.
-
-<a name="priority"></a>
-<p><b>Priority</b>
-
-<p>The <b>priority</b> field describes the importance and order in which a bug should be
-fixed.  This field is utilized by the programmers/engineers to
-prioritize their work.  The priorities are from P1 (Most important) to P5
-(Least important).
-
-<a name="severity"></a>
-<p><b>Severity</b>
-
-<p>The <b>Severity</b> field describes the impact of a bug.
-
-<ul>
-<li><b>Blocker</b> - Blocks development and/or testing work.<br>
-<li><b>Critical</b> - Crashes, loss of data, severe memory leak.<br>
-<li><b>Major</b> - Major loss of function.<br>
-<li><b>Normal</b> - This is the run of the mill bug.<br>
-<li><b>Minor</b> - Minor loss of function, or other problem where an easy workaround is present.<br>
-<li><b>Trivial</b> - Cosmetic problem like misspelled words or misaligned text.<br>
-<li><b>Enhancement</b> - Request for enhancement.<br>
-</ul>
-
-};
-
-
-
-
-
-
-
-
-
-
-
-
-print qq{
-<a name="peopleinvolved"></a>
-<p><br><center><h3>People Involved</h3></center>
-<center>
-
-
-<table width="390" bgcolor="#00afff" border="0" cellpadding="0" cellspacing="0">
-<tr>
-<td height="180" align="center">
-
-<table>
-<tr>
-<td valign="middle">Email:
-<input name="email1" size="25" value="">&nbsp;</td><td valign="top">matching as:<br>
-<SELECT NAME="emailtype1"><OPTION VALUE="regexp">regexp
-<OPTION VALUE="notregexp">not regexp
-<OPTION VALUE="substring">substring
-<OPTION VALUE="exact">exact
-</SELECT>
-</td>
-</tr>
-<tr>
-<td colspan="2" align="center">Will match any of the following selected fields:</td>
-</tr>
-<tr>
-<td colspan=2>
-<center>
-<input type="checkbox" name="emailassigned_to1" value="1">Assigned To
-<input type="checkbox" name="emailreporter1" value="1">Reporter
-
-<input type="checkbox" name="emailqa_contact1" value="1">QA Contact
-</center>
-</td>
-</tr>
-<tr>
-<td colspan=2 align="center">
-<input type="checkbox" name="emailcc1" value="1">CC
-<input type="checkbox" name="emaillongdesc1" value="1">Added comment
-</td>
-</tr>
-</table>
-
-</td>
-</tr>
-</table>
-</center>
-<br>
-
-This section has been made more complicated in order to make it more powerful. Unfortunately, 
-it is not the easiest to understand. What this section lets you do is search for bugs associated
-with a certain email address.
-
-<p>
-
-To search for bugs associated with an email address:
-
-<ul>
-  <li> Type a portion of an email address into the text field.
-  <li> Click the checkbox for the fields of the bug you expect the address will be within.
-</ul>
-
-<p>
-
-You can look for up to two different email addresses. If you specify
-both, then only bugs which match both emails will show up.  This is useful to
-find bugs that were, for example, created by Ralph and assigned to
-Fred.
-
-<p>
-
-You can also use the drop down menus to specify whether you want to
-match addresses by doing a substring match, by using <a href="http://www.mozilla.org/bugs/text-searching.html">Regular
-Expressions</a>, or by exactly matching a fully specified email address.
-
-
-};
-
-
-
-
-
-
-
-
-
-
-
-print qq{
-<a name="textsearch"></a>
-<p><br><center><h3>Text Search</h3></center>
-<center>
-
-
-
-<table width="610" bgcolor="#00afff" border="0" cellpadding="0" cellspacing="0">
-<tr>
-<td align="center" height="210" >
-
-<table>
-<tr>
-<td align="right"><a href="queryhelp.cgi#summaries">Bug summary</a>:</td>
-<td><input name="short_desc" size="30" value=""></td>
-<td><SELECT NAME="short_desc_type">
-<OPTION VALUE="substring">case-insensitive substring
-<OPTION VALUE="casesubstring">case-sensitive substring
-<OPTION VALUE="allwords">all words
-<OPTION VALUE="anywords">any words
-<OPTION VALUE="regexp">regular expression
-<OPTION VALUE="notregexp">not ( regular expression )
-</SELECT></TD>
-</tr>
-<tr>
-<td align="right"><a href="queryhelp.cgi#descriptions">A description entry</a>:</td>
-<td><input name="long_desc" size="30" value=""></td>
-<td><SELECT NAME="long_desc_type">
-<OPTION VALUE="substring">case-insensitive substring
-<OPTION VALUE="casesubstring">case-sensitive substring
-<OPTION VALUE="allwords">all words
-<OPTION VALUE="anywords">any words
-<OPTION VALUE="regexp">regular expression
-<OPTION VALUE="notregexp">not ( regular expression )
-</SELECT></TD>
-</tr>
-<tr>
-<td align="right"><a href="queryhelp.cgi#url">Associated URL</a>:</td>
-<td><input name="bug_file_loc" size="30" value=""></td>
-<td><SELECT NAME="bug_file_loc_type">
-<OPTION VALUE="substring">case-insensitive substring
-<OPTION VALUE="casesubstring">case-sensitive substring
-<OPTION VALUE="allwords">all words
-<OPTION VALUE="anywords">any words
-<OPTION VALUE="regexp">regular expression
-<OPTION VALUE="notregexp">not ( regular expression )
-</SELECT></TD>
-</tr>
-<tr>
-<td align="right"><a href="queryhelp.cgi#statuswhiteboard">Status whiteboard</a>:</td>
-<td><input name="status_whiteboard" size="30" value=""></td>
-<td><SELECT NAME="status_whiteboard_type">
-<OPTION VALUE="substring">case-insensitive substring
-<OPTION VALUE="casesubstring">case-sensitive substring
-<OPTION VALUE="allwords">all words
-<OPTION VALUE="anywords">any words
-<OPTION VALUE="regexp">regular expression
-<OPTION VALUE="notregexp">not ( regular expression )
-</SELECT></TD>
-</tr>
-
-<TR>
-<TD ALIGN="right"><A HREF="queryhelp.cgi#keywords">Keywords</A>:</TD>
-<TD><INPUT NAME="keywords" SIZE="30" VALUE=""></TD>
-<TD>
-<SELECT NAME="keywords_type"><OPTION VALUE="anywords">Any of the listed keywords set
-<OPTION VALUE="allwords">All of the listed keywords set
-<OPTION VALUE="nowords">None of the listed keywords set
-</SELECT></TD></TR>
-</table>
-</td></tr>
-</table>
-</center>
-<br>
-
-
-<p>In this section, you can enter values that are searched for in all the bugs (or whatever you
-limit the bugs to in other fields). 
-You might want to look at <a href="http://www.mozilla.org/bugs/text-searching.html">Bugzilla Text Searching</a>
-to see info on <a href="http://www.mozilla.org/bugs/text-searching.html">Regular Expressions</a> and text searching. The box next to these fields decides
-how a match will be determined.<br>
-
-<a name="summaries"></a>
-<h4>Bug summary</h4>
-<p>This lets you search the summaries. The summary is one line that attempts to sum up the bug.
-
-<a name="descriptions"></a>
-<h4>A description entry</h4>
-<p>This lets you search comments. Comments can be added by anybody. Comments are the largest
-searchable area in most bugs. If you really want to find a lot of matches, search the comments.
-<BR><B>Note:</B>Because comments can get quite extensive in bugs, doing this particular type
-of query can take a long time. 
-
-<a name="url"></a>
-<h4>Associated URL</h4>
-<p>This lets you search the url field. This contains the url of the web page the bug is
-about.
-
-<a name="statuswhiteboard"></a>
-<h4>Status Whiteboard</h4>
-<p>This lets you search the bug's status whiteboard. The status whiteboard contains general
-information that engineers add.
-};
-
-
-print qq{
-<a name="keywords"></a>
-<h4>Keywords</h4>
-<br><br>Each bug can have keywords specified. The bug reporter or a 
-user with the proper permissions can edit these keywords. The following is a list of the keywords that are
-stored on this version of Bugzilla:
-};
-
-my $tableheader = qq{
-<p><table border="1" cellpadding="4" cellspacing="0">
-<tr bgcolor="#6666FF">
-<th align="left">Name</th>
-<th align="left">Description</th>
-<th align="left">Bugs</th>
-</tr> 
-};
-
-print $tableheader;
-
-my $line_count = 0;
-my $max_table_size = 50;
-
-SendSQL("SELECT keyworddefs.name, keyworddefs.description, 
-                COUNT(keywords.bug_id)
-         FROM keyworddefs LEFT JOIN keywords ON keyworddefs.id=keywords.keywordid
-         GROUP BY keyworddefs.id
-         ORDER BY keyworddefs.name");
-
-while (MoreSQLData()) {
-    my ($name, $description, $bugs) = FetchSQLData();
-    if ($bugs) {
-        my $q = url_quote($name);
-        $bugs = qq{<A HREF="buglist.cgi?keywords=$q">$bugs</A>};
-    } else {
-        $bugs = "none";
-    }
-    if ($line_count == $max_table_size) {
-        print "</table>\n$tableheader";
-        $line_count = 0;
-    }
-    $line_count++;
-    print qq{
-<tr>
-<th>$name</th>
-<td>$description</td>
-<td align="right">$bugs</td>
-</tr>
-};
-}
-
-print "</table><p>\n";
-
-
-if (UserInGroup("editkeywords")) {
-    print qq{<p><a href="editkeywords.cgi">Edit keywords</a>\n};
-}
-
-
-
-
-
-
-
-
-
-
-
-
-my %default;
-my %type;
-
-print qq{
-<a name="moduleoptions"></a>
-<p><br><center><h3>Module Options</h3></center>
-
-<br>
-
-<p>Module options are where you select what product, module and version the bugs you want to 
-find describe. Selecting one or more of the products, versions, components, or milestones will limit your search.
-
-<p><a name="product"></a>
-<h4>Products</h4> 
-
-
-<p>Although all subprojects within the Mozilla project are similar, there are several seperate
-products being developed. Each product has its own components.
-
-};
-
-
-
-
-$line_count = 0;
-$max_table_size = 50;
-my @products;
-my $product;
-
-$tableheader =         qq{ <p><table border=0><tr><td>
-        <table border="1" width="100%" cellpadding="4" cellspacing="0">
-        <tr bgcolor="#6666FF">
-        <th align="left">Product</th>
-        <th align="left">Description</th></tr> };
-
-
-print qq{
-        $tableheader
-};
-
-
-SendSQL("SELECT name, description FROM products ORDER BY name");
-        while (MoreSQLData()) {
-
-        my ($product, $productdesc) = FetchSQLData();
-        next if (!CanEnterProduct($product));  
-        push (@products, $product);
-
-        $line_count++;
-        if ($line_count > $max_table_size) {
-                        print qq{
-                        </table>
-                        $tableheader
-                };
-                  $line_count=1;
-        }
-
-        print qq{ <tr><th>$product</th><td>$productdesc</td></tr> };
-
-
-}
-
-
-print qq{         
-
-</table></td></tr></table> };
-
-if (UserInGroup("editcomponents")) {
-    print qq{<p><a href="editproducts.cgi">Edit products</a><p>};
-}
-
-print qq{
-<p><a name="version"></a>
-<h4>Version</h4>
-
-<p>This is simply the version that the bugs you want to find are marked for. 
-Many of the bugs will be marked for another version and will have their milestones 
-entered instead (milestones explained below).
-
-};
-
-
-
-
- 
-$line_count = 0;
-$tableheader = qq{ 
-        <p>
-        <table border="1" width="100%" cellpadding="4" cellspacing="0">
-        <tr bgcolor="#6666FF">
-        <th align="left">Component</th>
-        <th align="left">Product</th>
-        <th align="left">Description</th></tr>
-};
-
-print qq{         
-<p><a name="component"></a>
-<h4>Component</h4>
-<p>Each product has components, against which bugs can be filed. Components are parts of 
-the product, and are assigned to a module owner. The following lists 
-components and their associated products:
-                $tableheader
-};
-foreach $product (@products)
-{
-
-    SendSQL("SELECT components.name, components.description " .
-            "FROM components, products " .
-            "WHERE components.product_id = products.id" .
-            " AND products.name = " . SqlQuote($product) .
-            "ORDER BY name");
-
-        while (MoreSQLData()) {
-
-                my ($component, $compdesc) = FetchSQLData();
-
-                $line_count++;
-                if ($line_count > $max_table_size) {
-                                print qq{
-                                </table>
-                                $tableheader
-                        };
-                        $line_count=0;
-                }
-                print qq{<tr><th>$component</th><td>$product</td><td>$compdesc</td></tr>};
-        }
-
-}
-
-print qq{</table>};
-if (UserInGroup("editcomponents")) {
-    print qq{<p><a href="editcomponents.cgi">Edit components</a><p>};
-}
-
-print qq{
-<p><a name="targetmilestone"></a>
-<h4>Milestone</h4>
-
-<p>Choosing this section lets you search through bugs that have their target milestones set to certain 
-values. Milestones are kind of like versions. They are specific tentative dates where a massive
-phasing out of bugs occur and a relatively stable release is produced. For example, Mozilla.org had milestones in the
-form of "M10" or "M18", but now are in the form of "Mozilla0.9".  Bugzilla milestones are in the form of "Bugzilla 2.12",
-"Bugzilla 2.14", etc.
-
-
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-print qq{
-<a name="incexcoptions"></a>
-<p><br><center><h3>Inclusion/Exclusion Options</h3></center>
-
-<center>
-
-
-<table width="480" bgcolor="#00afff" border="0" cellpadding="0" cellspacing="0">
-<tr>
-<td align="center"  height="260" >
-<table>
-
-<tr>
-<td>
-<SELECT NAME="bugidtype">
-<OPTION VALUE="include">Only
-<OPTION VALUE="exclude" >Exclude
-</SELECT>
-bugs numbered: 
-<INPUT TYPE="text" NAME="bug_id" VALUE="" SIZE=15>
-</td>
-</tr>
-<tr><td>&nbsp;</td></tr>
-<tr>
-<td colspan=2>
-Only bugs changed between <INPUT NAME="chfieldfrom" SIZE="10" VALUE="">
-and <INPUT NAME="chfieldto" SIZE="10" VALUE="Now">
-</td>
-</tr>
-<tr valign="top">
-<td>
-Where one or more of the following changed:
-</td><td>
-<SELECT NAME="chfield" MULTIPLE SIZE=4>
-    <OPTION VALUE="[Bug creation]">[Bug creation]
-    <OPTION VALUE="assigned_to">assigned_to
-    <OPTION VALUE="bug_file_loc">bug_file_loc
-    <OPTION VALUE="bug_severity">bug_severity
-    <OPTION VALUE="bug_status">bug_status
-    <OPTION VALUE="component">component
-    <OPTION VALUE="everconfirmed">everconfirmed
-    <OPTION VALUE="groupset">groupset
-    <OPTION VALUE="keywords">keywords
-    <OPTION VALUE="op_sys">op_sys
-    <OPTION VALUE="priority">priority
-    <OPTION VALUE="product">product
-    <OPTION VALUE="qa_contact">qa_contact
-    <OPTION VALUE="rep_platform">rep_platform
-    <OPTION VALUE="reporter">reporter
-    <OPTION VALUE="resolution">resolution
-    <OPTION VALUE="short_desc">short_desc
-    <OPTION VALUE="status_whiteboard">status_whiteboard
-    <OPTION VALUE="target_milestone">target_milestone
-    <OPTION VALUE="version">version
-    <OPTION VALUE="votes">votes
-</SELECT>
-</td>
-</tr>
-<tr>
-<td>
-and the result was: <INPUT NAME="chfieldvalue" SIZE="10">
-</td>
-</tr>
-<tr><td>&nbsp;</td></tr>
-<tr>
-<td>
-Containing at least <INPUT NAME=votes SIZE=3 VALUE=""> votes
-</td>
-</tr>
-<tr>
-<td>
-
-</td>
-</tr>
-</table>
-
-</td>
-</tr>
-</table>
-
-</center>
-<br>
-
-<p>Inclusion/Exclusion options is a powerful section that gives you the ability to include and
-exclude bugs based on values you enter.
-
-<P><b>[Only, Exclude] bugs numbered [text] </b>
-
-<p>This lets you put in a comma-delimited list of bugs you want to have your results chosen from, or those
-of which you want to exclude. It would be nice in the future if you could type in ranges, i.e. [1-1000] for 1
-to 1000. Unfortunately, you cannot do that as of now.
-
-<p><b>At least [text] votes</b>
-
-<p>With this, you can choose how many votes - at minimum - a bug has. 
-
-<a name="changedbetween">
-<p><b>Only bugs changed between</b></p>
-
-<p>Here you can choose what dates the bugs changed. "Now" can be used as an
-entry. Other entries should be in yyyy-mm-dd format, or in relative dates such
-as 1d or 2w or 3m or 4y, which respectively mean 1 day, 2 weeks, 3 months, 4
-years ago. 0d is last midnight, and 0w, 0m, 0y is the beginning of this week,
-month, or year.</p>
-
-<p><b>Where one or more of the following changed, and the result was</b></p>
-
-<p>With this you can specify which bug fields changed, and optionally to what
-value, between the dates specified above. Leaving blank will match any change.</p>
-
-
-};
-
-
-
-
-
-
-
-
-
-
-
-
-print qq{
-<a name="advancedquerying"></a>
-<p><br><center><h3>Advanced Querying Using "Boolean Charts"</h3></center>
-
-<p>The Bugzilla query page is designed to be reasonably easy to use.
-But, with such ease of use always comes some lack of power.  The
-Advanced Querying section is designed to let you do very powerful
-queries, but it's not the easiest thing to learn (or explain).
-<br>
-<p>
-<center>
-
-<table width="780" bgcolor="#00afff" border="0" cellpadding="0" cellspacing="0">
-<tr>
-<td align="center"  height="140" >
-<table>
-<tr><td>
-<table><tr><td>&nbsp;</td><td><SELECT NAME="field0-0-0"><OPTION SELECTED VALUE="noop">---
-<OPTION VALUE="groupset">groupset
-<OPTION VALUE="bug_id">Bug #
-<OPTION VALUE="short_desc">Summary
-<OPTION VALUE="product">Product
-<OPTION VALUE="version">Version
-<OPTION VALUE="rep_platform">Platform
-<OPTION VALUE="bug_file_loc">URL
-<OPTION VALUE="op_sys">OS/Version
-<OPTION VALUE="bug_status">Status
-<OPTION VALUE="status_whiteboard">Status Whiteboard
-<OPTION VALUE="keywords">Keywords
-<OPTION VALUE="resolution">Resolution
-<OPTION VALUE="bug_severity">Severity
-<OPTION VALUE="priority">Priority
-<OPTION VALUE="component">Component
-<OPTION VALUE="assigned_to">AssignedTo
-<OPTION VALUE="reporter">ReportedBy
-<OPTION VALUE="votes">Votes
-<OPTION VALUE="qa_contact">QAContact
-<OPTION VALUE="cc">CC
-<OPTION VALUE="dependson">BugsThisDependsOn
-<OPTION VALUE="blocked">OtherBugsDependingOnThis
-<OPTION VALUE="attachments.description">Attachment description
-<OPTION VALUE="attachments.thedata">Attachment data
-<OPTION VALUE="attachments.mimetype">Attachment mime type
-<OPTION VALUE="attachments.ispatch">Attachment is patch
-<OPTION VALUE="target_milestone">Target Milestone
-<OPTION VALUE="delta_ts">Last changed date
-<OPTION VALUE="(to_days(now()) - to_days(bugs.delta_ts))">Days since bug changed
-<OPTION VALUE="longdesc">Comment
-</SELECT><SELECT NAME="type0-0-0"><OPTION SELECTED VALUE="noop">---
-<OPTION VALUE="equals">equal to
-<OPTION VALUE="notequals">not equal to
-<OPTION VALUE="casesubstring">contains (case-sensitive) substring
-<OPTION VALUE="substring">contains (case-insensitive) substring
-<OPTION VALUE="notsubstring">does not contain (case-insensitive) substring
-<OPTION VALUE="regexp">contains regexp
-<OPTION VALUE="notregexp">does not contain regexp
-<OPTION VALUE="lessthan">less than
-<OPTION VALUE="greaterthan">greater than
-<OPTION VALUE="anywords">any words
-<OPTION VALUE="allwords">all words
-<OPTION VALUE="nowords">none of the words
-<OPTION VALUE="changedbefore">changed before
-<OPTION VALUE="changedafter">changed after
-<OPTION VALUE="changedto">changed to
-<OPTION VALUE="changedby">changed by
-</SELECT><INPUT NAME="value0-0-0" VALUE=""><INPUT TYPE="button" VALUE="Or" ><INPUT TYPE="button" VALUE="And" 
-        NAME="cmd-add0-1-0"></td></tr>
-    
-                <tr><td>&nbsp;</td><td align="center">
-         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-        <INPUT TYPE="button" VALUE="Add another boolean chart" NAME="cmd-add1-0-0">
-       
-        
-</td></tr>
-</table>
-</td></tr>
-</table>
-</td>
-</tr>
-</table>
-
-</center>
-<br>
-<p>The Advanced Query (or Boolean Chart) starts with a single "term".  A term is a
-combination of two pulldown menus and a text field.
-You choose items from the menus, specifying:
-<p>Field 1: Where to look for the search term<br>
-Field 2: How to determine what is a match<br>
-Field 3: What the search term is<br>
-<br>
-<center>
-
-<table width="790" bgcolor="#00afff" border="0" cellpadding="0" cellspacing="0">
-<tr>
-<td align="center" height="160" >
-<table>
-<tr><td>
-<table><tr><td>&nbsp;</td><td><SELECT NAME="field0-0-0"><OPTION SELECTED VALUE="noop">---
-<OPTION VALUE="groupset">groupset
-<OPTION VALUE="bug_id">Bug #
-<OPTION VALUE="short_desc">Summary
-<OPTION VALUE="product">Product
-<OPTION VALUE="version">Version
-<OPTION VALUE="rep_platform">Platform
-<OPTION VALUE="bug_file_loc">URL
-<OPTION VALUE="op_sys">OS/Version
-<OPTION VALUE="bug_status">Status
-<OPTION VALUE="status_whiteboard">Status Whiteboard
-<OPTION VALUE="keywords">Keywords
-<OPTION VALUE="resolution">Resolution
-<OPTION VALUE="bug_severity">Severity
-<OPTION VALUE="priority">Priority
-<OPTION VALUE="component">Component
-<OPTION VALUE="assigned_to">AssignedTo
-<OPTION VALUE="reporter">ReportedBy
-<OPTION VALUE="votes">Votes
-<OPTION VALUE="qa_contact">QAContact
-<OPTION VALUE="cc">CC
-<OPTION VALUE="dependson">BugsThisDependsOn
-<OPTION VALUE="blocked">OtherBugsDependingOnThis
-<OPTION VALUE="attachments.description">Attachment description
-<OPTION VALUE="attachments.thedata">Attachment data
-<OPTION VALUE="attachments.mimetype">Attachment mime type
-<OPTION VALUE="attachments.ispatch">Attachment is patch
-<OPTION VALUE="target_milestone">Target Milestone
-<OPTION VALUE="delta_ts">Last changed date
-<OPTION VALUE="(to_days(now()) - to_days(bugs.delta_ts))">Days since bug changed
-<OPTION VALUE="longdesc">Comment
-</SELECT><SELECT NAME="type0-0-0"><OPTION SELECTED VALUE="noop">---
-<OPTION VALUE="equals">equal to
-<OPTION VALUE="notequals">not equal to
-<OPTION VALUE="casesubstring">contains (case-sensitive) substring
-<OPTION VALUE="substring">contains (case-insensitive) substring
-<OPTION VALUE="notsubstring">does not contain (case-insensitive) substring
-<OPTION VALUE="regexp">contains regexp
-<OPTION VALUE="notregexp">does not contain regexp
-<OPTION VALUE="lessthan">less than
-<OPTION VALUE="greaterthan">greater than
-<OPTION VALUE="anywords">any words
-<OPTION VALUE="allwords">all words
-<OPTION VALUE="nowords">none of the words
-<OPTION VALUE="changedbefore">changed before
-<OPTION VALUE="changedafter">changed after
-<OPTION VALUE="changedto">changed to
-<OPTION VALUE="changedby">changed by
-</SELECT><INPUT NAME="value0-0-0" VALUE=""></td></tr><tr><td><b>OR</b></td><td><SELECT NAME="field0-0-1"><OPTION SELECTED VALUE="noop">---
-<OPTION VALUE="groupset">groupset
-<OPTION VALUE="bug_id">Bug #
-<OPTION VALUE="short_desc">Summary
-<OPTION VALUE="product">Product
-<OPTION VALUE="version">Version
-<OPTION VALUE="rep_platform">Platform
-<OPTION VALUE="bug_file_loc">URL
-<OPTION VALUE="op_sys">OS/Version
-<OPTION VALUE="bug_status">Status
-<OPTION VALUE="status_whiteboard">Status Whiteboard
-<OPTION VALUE="keywords">Keywords
-<OPTION VALUE="resolution">Resolution
-<OPTION VALUE="bug_severity">Severity
-<OPTION VALUE="priority">Priority
-<OPTION VALUE="component">Component
-<OPTION VALUE="assigned_to">AssignedTo
-<OPTION VALUE="reporter">ReportedBy
-<OPTION VALUE="votes">Votes
-<OPTION VALUE="qa_contact">QAContact
-<OPTION VALUE="cc">CC
-<OPTION VALUE="dependson">BugsThisDependsOn
-<OPTION VALUE="blocked">OtherBugsDependingOnThis
-<OPTION VALUE="attachments.description">Attachment description
-<OPTION VALUE="attachments.thedata">Attachment data
-<OPTION VALUE="attachments.mimetype">Attachment mime type
-<OPTION VALUE="attachments.ispatch">Attachment is patch
-<OPTION VALUE="target_milestone">Target Milestone
-<OPTION VALUE="delta_ts">Last changed date
-<OPTION VALUE="(to_days(now()) - to_days(bugs.delta_ts))">Days since bug changed
-<OPTION VALUE="longdesc">Comment
-</SELECT><SELECT NAME="type0-0-1"><OPTION SELECTED VALUE="noop">---
-<OPTION VALUE="equals">equal to
-<OPTION VALUE="notequals">not equal to
-<OPTION VALUE="casesubstring">contains (case-sensitive) substring
-<OPTION VALUE="substring">contains (case-insensitive) substring
-<OPTION VALUE="notsubstring">does not contain (case-insensitive) substring
-<OPTION VALUE="regexp">contains regexp
-<OPTION VALUE="notregexp">does not contain regexp
-<OPTION VALUE="lessthan">less than
-<OPTION VALUE="greaterthan">greater than
-<OPTION VALUE="anywords">any words
-<OPTION VALUE="allwords">all words
-<OPTION VALUE="nowords">none of the words
-<OPTION VALUE="changedbefore">changed before
-<OPTION VALUE="changedafter">changed after
-<OPTION VALUE="changedto">changed to
-<OPTION VALUE="changedby">changed by
-</SELECT><INPUT NAME="value0-0-1" VALUE=""><INPUT TYPE="button" VALUE="Or" NAME="cmd-add0-0-2" ONCLICK="document.forms[0].action='query.cgi#chart' ; document.forms[0].method='POST' ; return 1;"><INPUT TYPE="button" VALUE="And" 
-        NAME="cmd-add0-1-0" ONCLICK="document.forms[0].action='query.cgi#chart' ; document.forms[0].method='POST' ; return 1;"></td></tr>
-    
-                <tr><td>&nbsp;</td><td align="center">
-         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-        <INPUT TYPE="button" VALUE="Add another boolean chart" NAME="cmd-add1-0-0" ONCLICK="document.forms[0].action='query.cgi#chart' ; document.forms[0].method='POST' ; return 1;">
-       
-        
-</td></tr>
-</table>
-</td></tr>
-</table>
-</td>
-</tr>
-</table>
-
-</center>
-
-<br>
-<p>The real fun starts when you click on the "Or" or "And" buttons.  If
-you push the "Or" button, then you get a second term right under
-the first one.  You can then configure that term, and the result of
-the query will be anything that matches either of the terms.
-<br>
-<p>
-<center>
-
-<table width="790" bgcolor="#00afff" border="0" cellpadding="0" cellspacing="0">
-<tr>
-<td align="center" height="180" >
-
-<table>
-<tr><td>
-
-<table><tr><td>&nbsp;</td><td><SELECT NAME="field0-0-0"><OPTION SELECTED VALUE="noop">---
-<OPTION VALUE="groupset">groupset
-<OPTION VALUE="bug_id">Bug #
-<OPTION VALUE="short_desc">Summary
-<OPTION VALUE="product">Product
-<OPTION VALUE="version">Version
-<OPTION VALUE="rep_platform">Platform
-<OPTION VALUE="bug_file_loc">URL
-<OPTION VALUE="op_sys">OS/Version
-<OPTION VALUE="bug_status">Status
-<OPTION VALUE="status_whiteboard">Status Whiteboard
-<OPTION VALUE="keywords">Keywords
-<OPTION VALUE="resolution">Resolution
-<OPTION VALUE="bug_severity">Severity
-<OPTION VALUE="priority">Priority
-<OPTION VALUE="component">Component
-<OPTION VALUE="assigned_to">AssignedTo
-<OPTION VALUE="reporter">ReportedBy
-<OPTION VALUE="votes">Votes
-<OPTION VALUE="qa_contact">QAContact
-<OPTION VALUE="cc">CC
-<OPTION VALUE="dependson">BugsThisDependsOn
-<OPTION VALUE="blocked">OtherBugsDependingOnThis
-<OPTION VALUE="attachments.description">Attachment description
-<OPTION VALUE="attachments.thedata">Attachment data
-<OPTION VALUE="attachments.mimetype">Attachment mime type
-<OPTION VALUE="attachments.ispatch">Attachment is patch
-<OPTION VALUE="target_milestone">Target Milestone
-<OPTION VALUE="delta_ts">Last changed date
-<OPTION VALUE="(to_days(now()) - to_days(bugs.delta_ts))">Days since bug changed
-<OPTION VALUE="longdesc">Comment
-</SELECT><SELECT NAME="type0-0-0"><OPTION SELECTED VALUE="noop">---
-<OPTION VALUE="equals">equal to
-<OPTION VALUE="notequals">not equal to
-<OPTION VALUE="casesubstring">contains (case-sensitive) substring
-<OPTION VALUE="substring">contains (case-insensitive) substring
-<OPTION VALUE="notsubstring">does not contain (case-insensitive) substring
-<OPTION VALUE="regexp">contains regexp
-<OPTION VALUE="notregexp">does not contain regexp
-<OPTION VALUE="lessthan">less than
-<OPTION VALUE="greaterthan">greater than
-<OPTION VALUE="anywords">any words
-<OPTION VALUE="allwords">all words
-<OPTION VALUE="nowords">none of the words
-<OPTION VALUE="changedbefore">changed before
-<OPTION VALUE="changedafter">changed after
-<OPTION VALUE="changedto">changed to
-<OPTION VALUE="changedby">changed by
-</SELECT><INPUT NAME="value0-0-0" VALUE=""><INPUT TYPE="button" VALUE="Or" NAME="cmd-add0-0-1" ONCLICK="document.forms[0].action='query.cgi#chart' ; document.forms[0].method='POST' ; return 1;"></td></tr><tr><td>&nbsp;</td><td align="center" valign="middle"><b>AND</b></td></tr><tr><td>&nbsp;</td><td><SELECT NAME="field0-1-0"><OPTION SELECTED VALUE="noop">---
-<OPTION VALUE="groupset">groupset
-<OPTION VALUE="bug_id">Bug #
-<OPTION VALUE="short_desc">Summary
-<OPTION VALUE="product">Product
-<OPTION VALUE="version">Version
-<OPTION VALUE="rep_platform">Platform
-<OPTION VALUE="bug_file_loc">URL
-<OPTION VALUE="op_sys">OS/Version
-<OPTION VALUE="bug_status">Status
-<OPTION VALUE="status_whiteboard">Status Whiteboard
-<OPTION VALUE="keywords">Keywords
-<OPTION VALUE="resolution">Resolution
-<OPTION VALUE="bug_severity">Severity
-<OPTION VALUE="priority">Priority
-<OPTION VALUE="component">Component
-<OPTION VALUE="assigned_to">AssignedTo
-<OPTION VALUE="reporter">ReportedBy
-<OPTION VALUE="votes">Votes
-<OPTION VALUE="qa_contact">QAContact
-<OPTION VALUE="cc">CC
-<OPTION VALUE="dependson">BugsThisDependsOn
-<OPTION VALUE="blocked">OtherBugsDependingOnThis
-<OPTION VALUE="attachments.description">Attachment description
-<OPTION VALUE="attachments.thedata">Attachment data
-<OPTION VALUE="attachments.mimetype">Attachment mime type
-<OPTION VALUE="attachments.ispatch">Attachment is patch
-<OPTION VALUE="target_milestone">Target Milestone
-<OPTION VALUE="delta_ts">Last changed date
-<OPTION VALUE="(to_days(now()) - to_days(bugs.delta_ts))">Days since bug changed
-<OPTION VALUE="longdesc">Comment
-</SELECT><SELECT NAME="type0-1-0"><OPTION SELECTED VALUE="noop">---
-<OPTION VALUE="equals">equal to
-<OPTION VALUE="notequals">not equal to
-<OPTION VALUE="casesubstring">contains (case-sensitive) substring
-<OPTION VALUE="substring">contains (case-insensitive) substring
-<OPTION VALUE="notsubstring">does not contain (case-insensitive) substring
-<OPTION VALUE="regexp">contains regexp
-<OPTION VALUE="notregexp">does not contain regexp
-<OPTION VALUE="lessthan">less than
-<OPTION VALUE="greaterthan">greater than
-<OPTION VALUE="anywords">any words
-<OPTION VALUE="allwords">all words
-<OPTION VALUE="nowords">none of the words
-<OPTION VALUE="changedbefore">changed before
-<OPTION VALUE="changedafter">changed after
-<OPTION VALUE="changedto">changed to
-<OPTION VALUE="changedby">changed by
-</SELECT><INPUT NAME="value0-1-0" VALUE=""><INPUT TYPE="button" VALUE="Or" NAME="cmd-add0-1-1" ONCLICK="document.forms[0].action='query.cgi#chart' ; document.forms[0].method='POST' ; return 1;"><INPUT TYPE="button" VALUE="And" 
-        NAME="cmd-add0-2-0" ONCLICK="document.forms[0].action='query.cgi#chart' ; document.forms[0].method='POST' ; return 1;"></td></tr>
-    
-                <tr><td>&nbsp;</td><td align="center">
-         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-        <INPUT TYPE="button" VALUE="Add another boolean chart" NAME="cmd-add1-0-0" ONCLICK="document.forms[0].action='query.cgi#chart' ; document.forms[0].method='POST' ; return 1;">
-       
-        
-</td></tr>
-</table>
-</td></tr>
-</table>
-</td>
-</tr>
-</table>
-
-</center>
-<br>
-<p>You can push the "And" button, and get a new term below the
-original one - seperated by the word "AND", and now the result of 
-the query will be anything that matches both sets of terms.
-
-<p>You can keep clicking "And" and "Or", and get a page with many
-terms.  "Or" has higher precedence than "And".  You
-can think of the lines of "Or" as having parenthesis around them. 
-
-<br><p>
-<center>
-
-<table width="790" bgcolor="#00afff" border="0" cellpadding="0" cellspacing="0">
-<tr>
-<td align="center" height="170" >
-
-<table>
-<tr><td>
-<table><tr><td>&nbsp;</td><td><SELECT NAME="field0-0-0"><OPTION SELECTED VALUE="noop">---
-<OPTION VALUE="groupset">groupset
-<OPTION VALUE="bug_id">Bug #
-<OPTION VALUE="short_desc">Summary
-<OPTION VALUE="product">Product
-<OPTION VALUE="version">Version
-<OPTION VALUE="rep_platform">Platform
-<OPTION VALUE="bug_file_loc">URL
-<OPTION VALUE="op_sys">OS/Version
-<OPTION VALUE="bug_status">Status
-<OPTION VALUE="status_whiteboard">Status Whiteboard
-<OPTION VALUE="keywords">Keywords
-<OPTION VALUE="resolution">Resolution
-<OPTION VALUE="bug_severity">Severity
-<OPTION VALUE="priority">Priority
-<OPTION VALUE="component">Component
-<OPTION VALUE="assigned_to">AssignedTo
-<OPTION VALUE="reporter">ReportedBy
-<OPTION VALUE="votes">Votes
-<OPTION VALUE="qa_contact">QAContact
-<OPTION VALUE="cc">CC
-<OPTION VALUE="dependson">BugsThisDependsOn
-<OPTION VALUE="blocked">OtherBugsDependingOnThis
-<OPTION VALUE="attachments.description">Attachment description
-<OPTION VALUE="attachments.thedata">Attachment data
-<OPTION VALUE="attachments.mimetype">Attachment mime type
-<OPTION VALUE="attachments.ispatch">Attachment is patch
-<OPTION VALUE="target_milestone">Target Milestone
-<OPTION VALUE="delta_ts">Last changed date
-<OPTION VALUE="(to_days(now()) - to_days(bugs.delta_ts))">Days since bug changed
-<OPTION VALUE="longdesc">Comment
-</SELECT><SELECT NAME="type0-0-0"><OPTION SELECTED VALUE="noop">---
-<OPTION VALUE="equals">equal to
-<OPTION VALUE="notequals">not equal to
-<OPTION VALUE="casesubstring">contains (case-sensitive) substring
-<OPTION VALUE="substring">contains (case-insensitive) substring
-<OPTION VALUE="notsubstring">does not contain (case-insensitive) substring
-<OPTION VALUE="regexp">contains regexp
-<OPTION VALUE="notregexp">does not contain regexp
-<OPTION VALUE="lessthan">less than
-<OPTION VALUE="greaterthan">greater than
-<OPTION VALUE="anywords">any words
-<OPTION VALUE="allwords">all words
-<OPTION VALUE="nowords">none of the words
-<OPTION VALUE="changedbefore">changed before
-<OPTION VALUE="changedafter">changed after
-<OPTION VALUE="changedto">changed to
-<OPTION VALUE="changedby">changed by
-</SELECT><INPUT NAME="value0-0-0" VALUE=""><INPUT TYPE="button" VALUE="Or" NAME="cmd-add0-0-1" ONCLICK="document.forms[0].action='query.cgi#chart' ; document.forms[0].method='POST' ; return 1;"><INPUT TYPE="button" VALUE="And" 
-        NAME="cmd-add0-1-0" ONCLICK="document.forms[0].action='query.cgi#chart' ; document.forms[0].method='POST' ; return 1;"></td></tr>
-    
-                <tr>
-                <td colspan="2"><hr></td>
-                </tr><tr><td>&nbsp;</td><td>
-                <SELECT NAME="field1-0-0"><OPTION SELECTED VALUE="noop">---
-<OPTION VALUE="groupset">groupset
-<OPTION VALUE="bug_id">Bug #
-<OPTION VALUE="short_desc">Summary
-<OPTION VALUE="product">Product
-<OPTION VALUE="version">Version
-<OPTION VALUE="rep_platform">Platform
-<OPTION VALUE="bug_file_loc">URL
-<OPTION VALUE="op_sys">OS/Version
-<OPTION VALUE="bug_status">Status
-<OPTION VALUE="status_whiteboard">Status Whiteboard
-<OPTION VALUE="keywords">Keywords
-<OPTION VALUE="resolution">Resolution
-<OPTION VALUE="bug_severity">Severity
-<OPTION VALUE="priority">Priority
-<OPTION VALUE="component">Component
-<OPTION VALUE="assigned_to">AssignedTo
-<OPTION VALUE="reporter">ReportedBy
-<OPTION VALUE="votes">Votes
-<OPTION VALUE="qa_contact">QAContact
-<OPTION VALUE="cc">CC
-<OPTION VALUE="dependson">BugsThisDependsOn
-<OPTION VALUE="blocked">OtherBugsDependingOnThis
-<OPTION VALUE="attachments.description">Attachment description
-<OPTION VALUE="attachments.thedata">Attachment data
-<OPTION VALUE="attachments.mimetype">Attachment mime type
-<OPTION VALUE="attachments.ispatch">Attachment is patch
-<OPTION VALUE="target_milestone">Target Milestone
-<OPTION VALUE="delta_ts">Last changed date
-<OPTION VALUE="(to_days(now()) - to_days(bugs.delta_ts))">Days since bug changed
-<OPTION VALUE="longdesc">Comment
-</SELECT><SELECT NAME="type1-0-0"><OPTION SELECTED VALUE="noop">---
-<OPTION VALUE="equals">equal to
-<OPTION VALUE="notequals">not equal to
-<OPTION VALUE="casesubstring">contains (case-sensitive) substring
-<OPTION VALUE="substring">contains (case-insensitive) substring
-<OPTION VALUE="notsubstring">does not contain (case-insensitive) substring
-<OPTION VALUE="regexp">contains regexp
-<OPTION VALUE="notregexp">does not contain regexp
-<OPTION VALUE="lessthan">less than
-<OPTION VALUE="greaterthan">greater than
-<OPTION VALUE="anywords">any words
-<OPTION VALUE="allwords">all words
-<OPTION VALUE="nowords">none of the words
-<OPTION VALUE="changedbefore">changed before
-<OPTION VALUE="changedafter">changed after
-<OPTION VALUE="changedto">changed to
-<OPTION VALUE="changedby">changed by
-</SELECT><INPUT NAME="value1-0-0" VALUE=""><INPUT TYPE="button" VALUE="Or" NAME="cmd-add1-0-1" ONCLICK="document.forms[0].action='query.cgi#chart' ; document.forms[0].method='POST' ; return 1;"><INPUT TYPE="button" VALUE="And" 
-        NAME="cmd-add1-1-0" ONCLICK="document.forms[0].action='query.cgi#chart' ; document.forms[0].method='POST' ; return 1;"></td></tr>
-    
-                <tr><td>&nbsp;</td><td align="center">
-         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-        <INPUT TYPE="button" VALUE="Add another boolean chart" NAME="cmd-add2-0-0" ONCLICK="document.forms[0].action='query.cgi#chart' ; document.forms[0].method='POST' ; return 1;">
-       
-        
-</td></tr>
-</table>
-</td></tr>
-</table>
-</td>
-</tr>
-</table>
-
-
-</center>
-<br>
-<p>The most subtle thing to notice is the "Add another boolean chart" button.
-This is almost the same thing as the "And" button.  You want to use this when
-you use one of the fields where several items can be associated
-with a single bug - including: "Comments", "CC", and all the
-"changed [something]" entries.  If you have multiple terms that
-all are about one of these fields (such as one comment), it's ambiguous whether they are
-allowed to be about different instances of that field or about only that one instance.  So,
-to let you have it both ways, they always mean the same instance,
-unless the terms appear on different charts.
-
-<p>For example: if you search for "priority changed to P5" and
-"priority changed by person\@addr", it will only find bugs where the
-given person at some time changed the priority to P5.  However, if
-what you really want is to find all bugs where the milestone was
-changed at some time by the person, and someone (possibly someone
-else) at some time changed the milestone to P5, then you would put
-the two terms in two different charts.
-};
-
-
-print qq{
-<a name="therest"></a>
-<center><h3>The Rest of the Form</h3></center>
-<center>
-
-
-<table width="650" bgcolor="#00afff" border="0" cellpadding="0" cellspacing="0">
-<tr>
-<td align="center" height="190" >
-<table cellspacing="0" cellpadding="0">
-<tr>
-<td align="left">
-<INPUT TYPE="radio" NAME="cmdtype" VALUE="editnamed"> Load the remembered query:
-<select name="namedcmd"><OPTION VALUE="Assigned to me">Assigned to me</select><br>
-<INPUT TYPE="radio" NAME="cmdtype" VALUE="runnamed"> Run the remembered query:<br>
-<INPUT TYPE="radio" NAME="cmdtype" VALUE="forgetnamed"> Forget the remembered query:<br>
-<INPUT TYPE="radio" NAME="cmdtype" VALUE="asdefault"> Remember this as the default query<br>
-<INPUT TYPE="radio" NAME="cmdtype" VALUE="asnamed"> Remember this query, and name it:
-<INPUT TYPE="text" NAME="newqueryname"><br>
-<B>Sort By:</B>
-<SELECT NAME="order">
-<OPTION VALUE="Reuse same sort as last time">Reuse same sort as last time<OPTION VALUE="Bug Number">Bug Number<OPTION VALUE="'Importance'">'Importance'<OPTION VALUE="Assignee">Assignee</SELECT>
-</td>
-</tr>
-</table>
-<table>
-<tr>
-<td>
-<INPUT TYPE="button" VALUE="Reset back to the default query">
-</td>
-<td>
-<INPUT TYPE="button" VALUE="Submit query">
-</td>
-</tr>
-</table>
-</td>
-</tr>
-</table>
-
-
-
-</center>
-<br>
-<p>So you have gotten all that down, but "What is this junk at the bottom of the form?" 
-You can remember the current query as the default query page that is pulled up whenever you are
-logged on. There is also an ability to choose how you want your results sorted. When finished, 
-click "Submit".
-};
-
-
-
-
-print qq{
-
-<a name="info"></a>
-
-<br><center><h3>About This Document</h3></center>
-
-<p>Written and adapted from some older Bugzilla documents (by Terry Weissman, Tara Hernandez and others) by <a href="mailto:netdemonz\@yahoo.com">Brian Bober</a> 
-You can talk to me on irc.mozilla.org - #mozilla, #mozwebtools, #mozillazine, I go by the name netdemon.
-
-<P>Lots of Bugzilla use documention is available through Mozilla.org and other sites:
-<br><a href="http://www.mozilla.org/quality/help/beginning-duplicate-finding.html\"> 
-How To Find Previously Reported Bugs</a><br>
-<a href="http://www.mozilla.org/bugs/">Bugzilla General Information</a><br>
-<a href="http://www.mozilla.org/quality/help/bugzilla-helper.html">Mozilla Bug Report Form</a><br>
-<a href="http://www.mozilla.org/bugs/text-searching.html">Bugzilla Text Searching</a><br>
-<a href="http://www.mozilla.org/quality/bug-writing-guidelines.html">The Bug Reporting Guidelines</a><br>
-<p>My main motive for writing this was to help the engineers by giving new Bugzilla users a way to learn how to use the Bugzilla Query form. I 
-had done a rewrite of query.cgi, so I said, "What the heck, I'll write this too".
-
-<p><br><center><h3>Why Use This?</h3></center>
-
-<p>You probably looked at the Query page and said, "This page looks too difficult. Now that 
-I think about it, I don't really need to do a query". It is important to make sure that a bug
-doesn't have a duplicate before submitting it, as is stated clearly in 
-<a href="http://www.mozilla.org/quality/bug-writing-guidelines.html">The Bug Reporting Guidelines</a>. 
-The people reading your bugs are busy and usually swamped with bugs. Therefore, you are doing everyone 
-a huge favor to search for a duplicate. 
-
-
-
-};
-
-
-
-
-
-
-
-
-print qq{
-<a name="samplequery"></a>
-<p><br><center><h3>Sample Query</h3></center>
-
-<p>Ok. <b>So lets find a bug!</b>  We'll borrow the Mozilla.org database because it's handy. 
-<BR>First, lets make a <a target="_blank" href="http://bugzilla.mozilla.org/query.cgi">
-copy</a> of the query window so you can easily switch between this document and the query.
-<p>Do the following:
-<ul>
-<li>Go to the "Status" field in and select all fields (or deselect all fields).
-<li>In Text Search options, put Autoscroll in the summary and Panning in the description entry box 
-(meaning that panning is somewhere in the comments and the bug's summary has Autoscroll in it).
-</ul>
-<p>One of the results should have been <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=22775">bug 22775 - [RFE] AutoScroll/Panning support...</a>
-};
-
-print qq{
-<hr>
-
-<a name="bottom"></a>
-
-</form>
-
-};
-
-
-
-PutFooter();
diff --git a/quicksearchhack.html b/quicksearchhack.html
index 17c21e9556af75c9e0cd002d1109b37081710c8c..e4d387a818edaebfb65abe1d8af0f2eb7d8b4084 100644
--- a/quicksearchhack.html
+++ b/quicksearchhack.html
@@ -79,7 +79,7 @@ for access speed):
   <td rowspan="2"><tt>UNCO,NEW,...,CLOS,<br>FIX,DUP,...<i>(as first word)</i></tt></td>
   <td><tt>status</tt></td>
   <td>&nbsp;</td>
-  <td><a href="bug_status.html">Status</a> 
+  <td><a href="page.cgi?id=fields.html#status">Status</a> 
       <i>("bug_status")</i>
   </td>
 </tr>
@@ -87,35 +87,35 @@ for access speed):
   <td>&nbsp;</td>
   <td><tt>resolution</tt></td>
   <td>&nbsp;</td>
-  <td><a href="bug_status.html">Resolution</a></td>
+  <td><a href="page.cgi?id=fields.html#resolution">Resolution</a></td>
 </tr>
 <tr>
   <td>&nbsp;</td>
   <td><i>as-is</i></td>
   <td><tt>platform</tt></td>
   <td>&nbsp;</td>
-  <td><a href="bug_status.html#rep_platform">Platform</a> <i>("rep_platform")</i></td>
+  <td><a href="page.cgi?id=fields.html#rep_platform">Platform</a> <i>("rep_platform")</i></td>
 </tr>
 <tr>
   <td>&nbsp;</td>
   <td>&nbsp;</td>
   <td><tt>os</tt></td>
   <td><tt>opsys</tt></td>
-  <td><a href="bug_status.html#op_sys">OS</a> <i>("op_sys")</i></td>
+  <td><a href="page.cgi?id=fields.html#op_sys">OS</a> <i>("op_sys")</i></td>
 </tr>
 <tr>
   <td>&nbsp;</td>
   <td><tt>p1,p2</tt> <i>or</i> <tt>p1-2</tt></td>
   <td><tt>priority</tt></td>
   <td><tt>pri</tt></td>
-  <td><a href="bug_status.html#priority">Priority</a></td>
+  <td><a href="page.cgi?id=fields.html#priority">Priority</a></td>
 </tr>
 <tr>
   <td>&nbsp;</td>
   <td><tt>blo,cri,...,enh</tt></td>
   <td><tt>severity</tt></td>
   <td><tt>sev</tt></td>
-  <td><a href="bug_status.html#severity">Severity</a> <i>("bug_severity")</i></td>
+  <td><a href="page.cgi?id=fields.html#bug_severity">Severity</a> <i>("bug_severity")</i></td>
 </tr>
 
 <!-- People: AssignedTo, Reporter, QA Contact, CC, Added comment -->
@@ -126,7 +126,7 @@ for access speed):
   <td><b>@</b><i>owner</i></td>
   <td><tt>assignedto</tt></td>
   <td><tt>assignee, owner</tt></td>
-  <td><a href="bug_status.html#assigned_to">Assignee</a> <i>("assigned_to")</i></td>
+  <td><a href="page.cgi?id=fields.html#assigned_to">Assignee</a> <i>("assigned_to")</i></td>
 </tr>
 <tr>
   <td>&nbsp;</td>
diff --git a/quips.cgi b/quips.cgi
index 4559e7b911135fcf9e2b41f2ea5764e87c88e65b..9834665f9b3c572e3373b898f8e2b9823170580c 100755
--- a/quips.cgi
+++ b/quips.cgi
@@ -26,7 +26,6 @@
 use strict;
 
 use vars qw(
-  %FORM
   $userid
   $template
   $vars
@@ -36,8 +35,9 @@ use lib qw(.);
 
 require "CGI.pl";
 
-ConnectToDatabase();
-confirm_login();
+use Bugzilla::Constants;
+
+Bugzilla->login(LOGIN_REQUIRED);
 
 my $cgi = Bugzilla->cgi;
 
@@ -45,7 +45,7 @@ if (Param('enablequips') eq "off") {
     ThrowUserError("quips_disabled");
 }
     
-my $action = $::FORM{'action'} || "";
+my $action = $cgi->param('action') || "";
 
 if ($action eq "show") {
     # Read in the entire quip list
@@ -81,7 +81,7 @@ if ($action eq "add") {
     # Add the quip 
     my $approved = (Param('enablequips') eq "on") ? '1' : '0';
     $approved = 1 if(UserInGroup('admin'));
-    my $comment = $::FORM{"quip"};
+    my $comment = $cgi->param("quip");
     $comment || ThrowUserError("need_quip");
     $comment !~ m/</ || ThrowUserError("no_html_in_quips");
 
@@ -104,7 +104,7 @@ if ($action eq 'approve') {
     my @approved;
     my @unapproved;
     foreach my $quipid (keys %quips) {
-       my $form = ($::FORM{'quipid_'.$quipid}) ? 1 : 0;
+       my $form = $cgi->param('quipid_'.$quipid) ? 1 : 0;
        if($quips{$quipid} ne $form) {
            if($form) { push(@approved, $quipid); }
            else { push(@unapproved, $quipid); }
@@ -122,7 +122,7 @@ if ($action eq "delete") {
     if (!UserInGroup('admin')) {
         ThrowUserError("quips_edit_denied");
     }
-    my $quipid = $::FORM{"quipid"};
+    my $quipid = $cgi->param("quipid");
     ThrowCodeError("need_quipid") unless $quipid =~ /(\d+)/; 
     $quipid = $1;
 
diff --git a/relogin.cgi b/relogin.cgi
index b7ba4f61e332c4001a03a8c460fb440100413979..6843405c20ef8e8f7bd7e4d663f021f36fec66fe 100755
--- a/relogin.cgi
+++ b/relogin.cgi
@@ -30,11 +30,9 @@ use lib qw(.);
 require "CGI.pl";
 
 # We don't want to remove a random logincookie from the db, so
-# call quietly_check_login. If we're logged in after this, then
+# call Bugzilla->login(). If we're logged in after this, then
 # the logincookie must be correct
-
-ConnectToDatabase();
-quietly_check_login();
+Bugzilla->login();
 
 Bugzilla->logout();
 
diff --git a/report.cgi b/report.cgi
index 72e69a0fdaa58e5ffb89f553e4a7195cb3adfd58..a4df4d08fd4eb5ded47da89865029df1f4ab25ed 100755
--- a/report.cgi
+++ b/report.cgi
@@ -26,9 +26,10 @@ use lib ".";
 
 require "CGI.pl";
 
-use vars qw($template $vars);
+use vars qw($template $vars @legal_opsys @legal_platform @legal_severity);
 
 use Bugzilla;
+use Bugzilla::Constants;
 
 my $cgi = Bugzilla->cgi;
 
@@ -36,7 +37,7 @@ my $cgi = Bugzilla->cgi;
 if (grep(/^cmd-/, $cgi->param())) {
     my $params = $cgi->canonicalise_query("format", "ctype");
     my $location = "query.cgi?format=" . $cgi->param('query_format') . 
-      ($params ? "&$params" : "") . "\n\n";
+      ($params ? "&$params" : "");
 
     print $cgi->redirect($location);
     exit;
@@ -44,11 +45,9 @@ if (grep(/^cmd-/, $cgi->param())) {
 
 use Bugzilla::Search;
 
-ConnectToDatabase();
-
 GetVersionTable();
 
-confirm_login();
+Bugzilla->login(LOGIN_REQUIRED);
 
 Bugzilla->switch_to_shadow_db();
 
@@ -88,7 +87,7 @@ if (defined($height)) {
 # These shenanigans are necessary to make sure that both vertical and 
 # horizontal 1D tables convert to the correct dimension when you ask to
 # display them as some sort of chart.
-if ($::FORM{'format'} && $::FORM{'format'} eq "table") {
+if (defined $cgi->param('format') && $cgi->param('format') eq "table") {
     if ($col_field && !$row_field) {    
         # 1D *tables* should be displayed vertically (with a row_field only)
         $row_field = $col_field;
@@ -169,6 +168,12 @@ while (MoreSQLData()) {
     $col = "" if ($col eq $columns{''});
     $tbl = "" if ($tbl eq $columns{''});
     
+    # account for the fact that names may start with '_' or '.'.  Change this 
+    # so the template doesn't hide hash elements with those keys
+    $row =~ s/^([._])/ $1/;
+    $col =~ s/^([._])/ $1/;
+    $tbl =~ s/^([._])/ $1/;
+
     $data{$tbl}{$col}{$row}++;
     $names{"col"}{$col}++;
     $names{"row"}{$row}++;
@@ -179,29 +184,9 @@ while (MoreSQLData()) {
     $tbl_isnumeric &&= ($tbl =~ /^-?\d+(\.\d+)?$/o);
 }
 
-my @col_names;
-my @row_names;
-my @tbl_names;
-sub numerically { $a <=> $b }
-
-# Use the appropriate sort for each dimension
-if ($col_isnumeric) {
-    @col_names = sort numerically keys(%{$names{"col"}});
-} else {
-    @col_names = sort(keys(%{$names{"col"}}));
-}
-
-if ($row_isnumeric) {
-    @row_names = sort numerically keys(%{$names{"row"}});
-} else {
-    @row_names = sort(keys(%{$names{"row"}}));
-}
-
-if ($tbl_isnumeric) {
-    @tbl_names = sort numerically keys(%{$names{"tbl"}});
-} else {
-    @tbl_names = sort(keys(%{$names{"tbl"}}));
-}
+my @col_names = @{get_names($names{"col"}, $col_isnumeric, $col_field)};
+my @row_names = @{get_names($names{"row"}, $row_isnumeric, $row_field)};
+my @tbl_names = @{get_names($names{"tbl"}, $tbl_isnumeric, $tbl_field)};
 
 # The GD::Graph package requires a particular format of data, so once we've
 # gathered everything into the hashes and made sure we know the size of the
@@ -256,7 +241,7 @@ $vars->{'width'} = $width if $width;
 $vars->{'height'} = $height if $height;
 
 $vars->{'query'} = $query;
-$vars->{'debug'} = $::FORM{'debug'};
+$vars->{'debug'} = $cgi->param('debug');
 
 my $formatparam = $cgi->param('format');
 
@@ -283,7 +268,7 @@ if ($action eq "wrap") {
     # URLs in the HTML.
     $vars->{'buglistbase'} = $cgi->canonicalise_query(
                                  "x_axis_field", "y_axis_field", "z_axis_field",
-                                               "ctype", "format", @axis_fields);
+                               "ctype", "format", "query_format", @axis_fields);
     $vars->{'imagebase'}   = $cgi->canonicalise_query( 
                     $tbl_field, "action", "ctype", "format", "width", "height");
     $vars->{'switchbase'}  = $cgi->canonicalise_query( 
@@ -306,7 +291,7 @@ my $format = GetFormat("reports/report", $formatparam, $cgi->param('ctype'));
 # If we get a template or CGI error, it comes out as HTML, which isn't valid
 # PNG data, and the browser just displays a "corrupt PNG" message. So, you can
 # set debug=1 to always get an HTML content-type, and view the error.
-$format->{'ctype'} = "text/html" if $::FORM{'debug'};
+$format->{'ctype'} = "text/html" if $cgi->param('debug');
 
 my @time = localtime(time());
 my $date = sprintf "%04d-%02d-%02d", 1900+$time[5],$time[4]+1,$time[3];
@@ -316,7 +301,7 @@ print $cgi->header(-type => $format->{'ctype'},
 
 # Problems with this CGI are often due to malformed data. Setting debug=1
 # prints out both data structures.
-if ($::FORM{'debug'}) {
+if ($cgi->param('debug')) {
     require Data::Dumper;
     print "<pre>data hash:\n";
     print Data::Dumper::Dumper(%data) . "\n\n";
@@ -326,3 +311,43 @@ if ($::FORM{'debug'}) {
 
 $template->process("$format->{'template'}", $vars)
   || ThrowTemplateError($template->error());
+
+exit;
+
+
+sub get_names {
+    my ($names, $isnumeric, $field) = @_;
+  
+    # These are all the fields we want to preserve the order of in reports.
+    my %fields = ('priority'     => \@::legal_priority,
+                  'bug_severity' => \@::legal_severity,
+                  'rep_platform' => \@::legal_platform,
+                  'op_sys'       => \@::legal_opsys,
+                  'bug_status'   => \@::legal_bug_status,
+                  'resolution'   => \@::legal_resolution);
+    
+    my $field_list = $fields{$field};
+    my @sorted;
+    
+    if ($field_list) {
+        my @unsorted = keys %{$names};
+        
+        # Extract the used fields from the field_list, in the order they 
+        # appear in the field_list. This lets us keep e.g. severities in
+        # the normal order.
+        #
+        # This is O(n^2) but it shouldn't matter for short lists.
+        @sorted = map {lsearch(\@unsorted, $_) == -1 ? () : $_} @{$field_list};
+    }  
+    elsif ($isnumeric) {
+        # It's not a field we are preserving the order of, so sort it 
+        # numerically...
+        sub numerically { $a <=> $b }
+        @sorted = sort numerically keys(%{$names});
+    } else {
+        # ...or alphabetically, as appropriate.
+        @sorted = sort(keys(%{$names}));
+    }
+  
+    return \@sorted;
+}
diff --git a/reports.cgi b/reports.cgi
index 67274a6d569b1a6bb54251611422a821c643038e..685b16418d82e5f204e5d672f793732fb1b22296 100755
--- a/reports.cgi
+++ b/reports.cgi
@@ -40,7 +40,6 @@ use lib qw(.);
 use Bugzilla::Config qw(:DEFAULT $datadir);
 
 require "CGI.pl";
-use vars qw(%FORM); # globals from CGI.pl
 
 require "globals.pl";
 use vars qw(@legal_product); # globals from er, globals.pl
@@ -57,8 +56,7 @@ use Bugzilla;
 
 # If we're using bug groups for products, we should apply those restrictions
 # to viewing reports, as well.  Time to check the login in that case.
-ConnectToDatabase();
-quietly_check_login();
+Bugzilla->login();
 
 GetVersionTable();
 
@@ -71,7 +69,7 @@ my @myproducts;
 push( @myproducts, "-All-");
 push( @myproducts, GetSelectableProducts());
 
-if (! defined $FORM{'product'}) {
+if (! defined $cgi->param('product')) {
 
     print $cgi->header();
     PutHeader("Bug Charts");
@@ -79,29 +77,29 @@ if (! defined $FORM{'product'}) {
     PutFooter();
 
 } else {
+    my $product = $cgi->param('product');
 
     # For security and correctness, validate the value of the "product" form variable.
     # Valid values are those products for which the user has permissions which appear
     # in the "product" drop-down menu on the report generation form.
-    grep($_ eq $FORM{'product'}, @myproducts)
-      || ThrowUserError("invalid_product_name", {product => $FORM{'product'}});
+    grep($_ eq $product, @myproducts)
+      || ThrowUserError("invalid_product_name", {product => $product});
 
     # We don't want people to be able to view
     # reports for products they don't have permissions for...
-    if (($FORM{'product'} ne '-All-')
-      && (!CanEnterProduct($FORM{'product'}))) {
+    if (($product ne '-All-') && (!CanEnterProduct($product))) {
         ThrowUserError("report_access_denied");
     }
           
     # We've checked that the product exists, and that the user can see it
     # This means that is OK to detaint
-    trick_taint($FORM{'product'});
+    trick_taint($product);
 
     print $cgi->header(-Content_Disposition=>'inline; filename=bugzilla_report.html');
 
     PutHeader("Bug Charts");
 
-    show_chart();
+    show_chart($product);
 
     PutFooter();
 }
@@ -189,21 +187,25 @@ sub daily_stats_filename {
 }
 
 sub show_chart {
-    if (! $FORM{datasets}) {
+    my ($product) = @_;
+
+    if (! defined $cgi->param('datasets')) {
         ThrowUserError("missing_datasets");
     }
+    my $datasets = join('', $cgi->param('datasets'));
 
   print <<FIN;
 <center>
 FIN
 
     my $type = chart_image_type();
-    my $data_file = daily_stats_filename($FORM{product});
-    my $image_file = chart_image_name($data_file, $type);
+    my $data_file = daily_stats_filename($product);
+    my $image_file = chart_image_name($data_file, $type, $datasets);
     my $url_image = "$graph_dir/" . url_quote($image_file);
 
     if (! -e "$graph_dir/$image_file") {
-        generate_chart("$dir/$data_file", "$graph_dir/$image_file", $type);
+        generate_chart("$dir/$data_file", "$graph_dir/$image_file", $type,
+                       $product, $datasets);
     }
     
     print <<FIN;
@@ -223,7 +225,7 @@ sub chart_image_type {
 }
 
 sub chart_image_name {
-    my ($data_file, $type) = @_;
+    my ($data_file, $type, $datasets) = @_;
 
     # This routine generates a filename from the requested fields. The problem
     # is that we have to check the safety of doing this. We can't just require
@@ -232,15 +234,16 @@ sub chart_image_name {
     # Instead, just require that each field name consists only of letters
     # and number
 
-    if ($FORM{'datasets'} !~ m/[A-Za-z0-9:]/) {
-        die "Invalid datasets $FORM{'datasets'}";
+    if ($datasets !~ m/^[A-Za-z0-9:]+$/) {
+        die "Invalid datasets $datasets";
     }
+
     # Since we pass the tests, consider it OK
-    trick_taint($FORM{'datasets'});
+    trick_taint($datasets);
 
     # Cache charts by generating a unique filename based on what they
     # show. Charts should be deleted by collectstats.pl nightly.
-    my $id = join ("_", split (":", $FORM{datasets}));
+    my $id = join ("_", split (":", $datasets));
 
     return "${data_file}_${id}.$type";
 }
@@ -253,7 +256,7 @@ sub day_of_year {
 }
 
 sub generate_chart {
-    my ($data_file, $image_file, $type) = @_;
+    my ($data_file, $image_file, $type, $product, $datasets) = @_;
     
     if (! open FILE, $data_file) {
         ThrowCodeError("chart_data_not_generated");
@@ -261,7 +264,7 @@ sub generate_chart {
 
     my @fields;
     my @labels = qw(DATE);
-    my %datasets = map { $_ => 1 } split /:/, $FORM{datasets};
+    my %datasets = map { $_ => 1 } split /:/, $datasets;
 
     my %data = ();
     while (<FILE>) {
@@ -318,7 +321,7 @@ sub generate_chart {
 
     my %settings =
         (
-         "title" => "Status Counts for $FORM{'product'}",
+         "title" => "Status Counts for $product",
          "x_label" => "Dates",
          "y_label" => "Bug Counts",
          "legend_labels" => \@labels,
diff --git a/request.cgi b/request.cgi
index 3672e0449426da3e5d97234d898f51e7ad8246e6..55629e20e86c84b39db3b307d187d9f83f512280 100755
--- a/request.cgi
+++ b/request.cgi
@@ -31,9 +31,6 @@ use strict;
 use lib qw(.);
 require "CGI.pl";
 
-# Establish a connection to the database backend.
-ConnectToDatabase();
-
 # Use Bugzilla's Request module which contains utilities for handling requests.
 use Bugzilla::Flag;
 use Bugzilla::FlagType;
@@ -44,7 +41,7 @@ use Bugzilla::User;
 use vars qw($template $vars @legal_product @legal_components %components);
 
 # Make sure the user is logged in.
-quietly_check_login();
+Bugzilla->login();
 
 ################################################################################
 # Main Body Execution
@@ -58,8 +55,10 @@ exit;
 ################################################################################
 
 sub queue {
-    validateStatus();
-    validateGroup();
+    my $cgi = Bugzilla->cgi;
+    
+    validateStatus($cgi->param('status'));
+    validateGroup($cgi->param('group'));
     
     my $attach_join_clause = "flags.attach_id = attachments.attach_id";
     if (Param("insidergroup") && !UserInGroup(Param("insidergroup"))) {
@@ -82,8 +81,8 @@ sub queue {
     # should not have access.
     "            COUNT(DISTINCT ugmap.group_id) AS cntuseringroups, 
                 COUNT(DISTINCT bgmap.group_id) AS cntbugingroups, 
-                ((COUNT(DISTINCT ccmap.who) AND cclist_accessible) 
-                  OR ((bugs.reporter = $::userid) AND bugs.reporter_accessible) 
+                ((COUNT(DISTINCT ccmap.who) AND cclist_accessible = 1) 
+                  OR ((bugs.reporter = $::userid) AND bugs.reporter_accessible = 1) 
                   OR bugs.assigned_to = $::userid ) AS canseeanyway 
     " . 
     # Use the flags and flagtypes tables for information about the flags,
@@ -117,8 +116,11 @@ sub queue {
       AND       flags.bug_id        = bugs.bug_id
     ";
     
+    # Non-deleted flags only
+    $query .= " AND flags.is_active = 1 ";
+    
     # Limit query to pending requests.
-    $query .= " AND flags.status = '?' " unless $::FORM{'status'};
+    $query .= " AND flags.status = '?' " unless $cgi->param('status');
 
     # The set of criteria by which we filter records to display in the queue.
     my @criteria = ();
@@ -132,50 +134,53 @@ sub queue {
     
     # Filter requests by status: "pending", "granted", "denied", "all" 
     # (which means any), or "fulfilled" (which means "granted" or "denied").
-    if ($::FORM{'status'}) {
-        if ($::FORM{'status'} eq "+-") {
+    if ($cgi->param('status')) {
+        if ($cgi->param('status') eq "+-") {
             push(@criteria, "flags.status IN ('+', '-')");
-            push(@excluded_columns, 'status') unless $::FORM{'do_union'};
+            push(@excluded_columns, 'status') unless $cgi->param('do_union');
         }
-        elsif ($::FORM{'status'} ne "all") {
-            push(@criteria, "flags.status = '$::FORM{'status'}'");
-            push(@excluded_columns, 'status') unless $::FORM{'do_union'};
+        elsif ($cgi->param('status') ne "all") {
+            push(@criteria, "flags.status = '" . $cgi->param('status') . "'");
+            push(@excluded_columns, 'status') unless $cgi->param('do_union');
         }
     }
     
     # Filter results by exact email address of requester or requestee.
-    if (defined($::FORM{'requester'}) && $::FORM{'requester'} ne "") {
-        push(@criteria, "requesters.login_name = " . SqlQuote($::FORM{'requester'}));
-        push(@excluded_columns, 'requester') unless $::FORM{'do_union'};
+    if (defined $cgi->param('requester') && $cgi->param('requester') ne "") {
+        push(@criteria, "requesters.login_name = " . SqlQuote($cgi->param('requester')));
+        push(@excluded_columns, 'requester') unless $cgi->param('do_union');
     }
-    if (defined($::FORM{'requestee'}) && $::FORM{'requestee'} ne "") {
-        push(@criteria, "requestees.login_name = " . SqlQuote($::FORM{'requestee'}));
-        push(@excluded_columns, 'requestee') unless $::FORM{'do_union'};
+    if (defined $cgi->param('requestee') && $cgi->param('requestee') ne "") {
+        push(@criteria, "requestees.login_name = " .
+            SqlQuote($cgi->param('requestee')));
+        push(@excluded_columns, 'requestee') unless $cgi->param('do_union');
     }
     
     # Filter results by exact product or component.
-    if (defined($::FORM{'product'}) && $::FORM{'product'} ne "") {
-        my $product_id = get_product_id($::FORM{'product'});
+    if (defined $cgi->param('product') && $cgi->param('product') ne "") {
+        my $product_id = get_product_id($cgi->param('product'));
         if ($product_id) {
             push(@criteria, "bugs.product_id = $product_id");
-            push(@excluded_columns, 'product') unless $::FORM{'do_union'};
-            if (defined($::FORM{'component'}) && $::FORM{'component'} ne "") {
-                my $component_id = get_component_id($product_id, $::FORM{'component'});
+            push(@excluded_columns, 'product') unless $cgi->param('do_union');
+            if (defined $cgi->param('component') && $cgi->param('component') ne "") {
+                my $component_id = get_component_id($product_id, $cgi->param('component'));
                 if ($component_id) {
                     push(@criteria, "bugs.component_id = $component_id");
-                    push(@excluded_columns, 'component') unless $::FORM{'do_union'};
+                    push(@excluded_columns, 'component') unless $cgi->param('do_union');
                 }
-                else { ThrowCodeError("unknown_component", { component => $::FORM{component} }) }
+                else { ThrowUserError("component_not_valid", { 'product' => $cgi->param('product'),
+                                                               'name' => $cgi->param('component') }) }
             }
         }
-        else { ThrowCodeError("unknown_product", { product => $::FORM{product} }) }
+        else { ThrowUserError("product_doesnt_exist", { 'product' => $cgi->param('product') }) }
     }
     
     # Filter results by flag types.
-    if (defined($::FORM{'type'}) && !grep($::FORM{'type'} eq $_, ("", "all"))) {
+    my $form_type = $cgi->param('type');
+    if (defined $form_type && !grep($form_type eq $_, ("", "all"))) {
         # Check if any matching types are for attachments.  If not, don't show
         # the attachment column in the report.
-        my $types = Bugzilla::FlagType::match({ 'name' => $::FORM{'type'} });
+        my $types = Bugzilla::FlagType::match({ 'name' => $form_type });
         my $has_attachment_type = 0;
         foreach my $type (@$types) {
             if ($type->{'target_type'} eq "attachment") {
@@ -185,14 +190,14 @@ sub queue {
         }
         if (!$has_attachment_type) { push(@excluded_columns, 'attachment') }
         
-        push(@criteria, "flagtypes.name = " . SqlQuote($::FORM{'type'}));
-        push(@excluded_columns, 'type') unless $::FORM{'do_union'};
+        push(@criteria, "flagtypes.name = " . SqlQuote($form_type));
+        push(@excluded_columns, 'type') unless $cgi->param('do_union');
     }
     
     # Add the criteria to the query.  We do an intersection by default 
     # but do a union if the "do_union" URL parameter (for which there is no UI 
     # because it's an advanced feature that people won't usually want) is true.
-    my $and_or = $::FORM{'do_union'} ? " OR " : " AND ";
+    my $and_or = $cgi->param('do_union') ? " OR " : " AND ";
     $query .= " AND (" . join($and_or, @criteria) . ") " if scalar(@criteria);
     
     # Group the records by flag ID so we don't get multiple rows of data
@@ -204,17 +209,19 @@ sub queue {
     # Group the records, in other words order them by the group column
     # so the loop in the display template can break them up into separate
     # tables every time the value in the group column changes.
-    $::FORM{'group'} ||= "requestee";
-    if ($::FORM{'group'} eq "requester") {
+
+    my $form_group = $cgi->param('group');
+    $form_group ||= "requestee";
+    if ($form_group eq "requester") {
         $query .= " ORDER BY requesters.realname, requesters.login_name";
     }
-    elsif ($::FORM{'group'} eq "requestee") {
+    elsif ($form_group eq "requestee") {
         $query .= " ORDER BY requestees.realname, requestees.login_name";
     }
-    elsif ($::FORM{'group'} eq "category") {
+    elsif ($form_group eq "category") {
         $query .= " ORDER BY products.name, components.name";
     }
-    elsif ($::FORM{'group'} eq "type") {
+    elsif ($form_group eq "type") {
         $query .= " ORDER BY flagtypes.name";
     }
 
@@ -223,7 +230,7 @@ sub queue {
     
     # Pass the query to the template for use when debugging this script.
     $vars->{'query'} = $query;
-    $vars->{'debug'} = $::FORM{'debug'} ? 1 : 0;
+    $vars->{'debug'} = $cgi->param('debug') ? 1 : 0;
     
     SendSQL($query);
     my @requests = ();
@@ -257,12 +264,11 @@ sub queue {
     my $selectable = GetSelectableProductHash();
     $vars->{'products'} = $selectable->{legal_products};
     $vars->{'components'} = $selectable->{legal_components};
-    $vars->{'components_by_product'} = $selectable->{components};
+    $vars->{'components_by_product'} = $selectable->{components_by_product};
     
     $vars->{'excluded_columns'} = \@excluded_columns;
-    $vars->{'group_field'} = $::FORM{'group'};
+    $vars->{'group_field'} = $form_group;
     $vars->{'requests'} = \@requests;
-    $vars->{'form'} = \%::FORM;
     $vars->{'types'} = \@types;
 
     # Return the appropriate HTTP response headers.
@@ -278,18 +284,20 @@ sub queue {
 ################################################################################
 
 sub validateStatus {
-    return if !defined($::FORM{'status'});
+    my $status = $_[0];
+    return if !defined $status;
     
-    grep($::FORM{'status'} eq $_, qw(? +- + - all))
+    grep($status eq $_, qw(? +- + - all))
       || ThrowCodeError("flag_status_invalid",
-                        { status => $::FORM{'status'} });
+                        { status => $status });
 }
 
 sub validateGroup {
-    return if !defined($::FORM{'group'});
+    my $group = $_[0];
+    return if !defined $group;
     
-    grep($::FORM{'group'} eq $_, qw(requester requestee category type))
+    grep($group eq $_, qw(requester requestee category type))
       || ThrowCodeError("request_queue_group_invalid", 
-                        { group => $::FORM{'group'} });
+                        { group => $group });
 }
 
diff --git a/runtests.pl b/runtests.pl
index d5059fdc0925f1ebcd62e8e841df5171daaa3454..ad6898b2396ee056151aa9400d018bffd12c6e7c 100755
--- a/runtests.pl
+++ b/runtests.pl
@@ -34,7 +34,7 @@ foreach (@ARGV) {
         $verbose = 1;
     }
     else {
-        $onlytest = $_;
+        $onlytest = sprintf("%0.3d",$_);
     }
 }
 
diff --git a/sanitycheck.cgi b/sanitycheck.cgi
index 1d9a994b5f8752562580c50bff6ee33aa1656ac3..d7dc59770b0df91e1bbd509934bc2ed173abb86f 100755
--- a/sanitycheck.cgi
+++ b/sanitycheck.cgi
@@ -70,9 +70,7 @@ sub BugListLinks {
 # Start
 ###########################################################################
 
-ConnectToDatabase();
-
-confirm_login();
+Bugzilla->login(LOGIN_REQUIRED);
 
 my $cgi = Bugzilla->cgi;
 
@@ -99,18 +97,18 @@ PutHeader("Bugzilla Sanity Check");
 
 if (defined $cgi->param('rebuildvotecache')) {
     Status("OK, now rebuilding vote cache.");
-    SendSQL("lock tables bugs write, votes read");
-    SendSQL("update bugs set votes = 0, delta_ts=delta_ts");
-    SendSQL("select bug_id, sum(vote_count) from votes group by bug_id");
+    SendSQL("LOCK TABLES bugs WRITE, votes READ");
+    SendSQL("UPDATE bugs SET votes = 0, delta_ts = delta_ts");
+    SendSQL("SELECT bug_id, SUM(vote_count) FROM votes GROUP BY bug_id");
     my %votes;
     while (@row = FetchSQLData()) {
         my ($id, $v) = (@row);
         $votes{$id} = $v;
     }
     foreach my $id (keys %votes) {
-        SendSQL("update bugs set votes = $votes{$id}, delta_ts=delta_ts where bug_id = $id");
+        SendSQL("UPDATE bugs SET votes = $votes{$id}, delta_ts = delta_ts WHERE bug_id = $id");
     }
-    SendSQL("unlock tables");
+    SendSQL("UNLOCK TABLES");
     Status("Vote cache has been rebuilt.");
 }
 
@@ -243,6 +241,7 @@ foreach my $field (("bug_severity", "bug_status", "op_sys",
 #
 # FIXME: The excluded values parameter should go away - the QA contact
 #        fields should use NULL instead - see bug #109474.
+#        The same goes for series; no bug for that yet.
 
 sub CrossCheck {
     my $table = shift @_;
@@ -287,11 +286,8 @@ CrossCheck("keyworddefs", "id",
            ["keywords", "keywordid"]);
 
 CrossCheck("fielddefs", "fieldid",
-           ["bugs_activity", "fieldid"]);
-
-CrossCheck("attachments", "attach_id",
-           ["flags", "attach_id"],
-           ["bugs_activity", "attach_id"]);
+           ["bugs_activity", "fieldid"],
+           ['profiles_activity', 'fieldid']);
 
 CrossCheck("flagtypes", "id",
            ["flags", "type_id"]);
@@ -304,6 +300,7 @@ CrossCheck("bugs", "bug_id",
            ["longdescs", "bug_id"],
            ["dependencies", "blocked"],
            ["dependencies", "dependson"],
+           ['flags', 'bug_id'],
            ["votes", "bug_id"],
            ["keywords", "bug_id"],
            ["duplicates", "dupe_of", "dupe"],
@@ -311,27 +308,34 @@ CrossCheck("bugs", "bug_id",
 
 CrossCheck("groups", "id",
            ["bug_group_map", "group_id"],
+           ['category_group_map', 'group_id'],
            ["group_group_map", "grantor_id"],
            ["group_group_map", "member_id"],
            ["group_control_map", "group_id"],
            ["user_group_map", "group_id"]);
 
 CrossCheck("profiles", "userid",
+           ['profiles_activity', 'userid'],
+           ['profiles_activity', 'who'],
            ["bugs", "reporter", "bug_id"],
            ["bugs", "assigned_to", "bug_id"],
            ["bugs", "qa_contact", "bug_id", ["0"]],
            ["attachments", "submitter_id", "bug_id"],
+           ['flags', 'setter_id', 'bug_id'],
+           ['flags', 'requestee_id', 'bug_id'],
            ["bugs_activity", "who", "bug_id"],
            ["cc", "who", "bug_id"],
+           ['quips', 'userid'],
            ["votes", "who", "bug_id"],
            ["longdescs", "who", "bug_id"],
            ["logincookies", "userid"],
            ["namedqueries", "userid"],
+           ['series', 'creator', 'series_id', ['0']],
            ["watch", "watcher"],
            ["watch", "watched"],
            ["tokens", "userid"],
-           ["components", "initialowner", "name"],
            ["user_group_map", "user_id"],
+           ["components", "initialowner", "name"],
            ["components", "initialqacontact", "name", ["0"]]);
 
 CrossCheck("products", "id",
@@ -343,6 +347,12 @@ CrossCheck("products", "id",
            ["flaginclusions", "product_id", "type_id"],
            ["flagexclusions", "product_id", "type_id"]);
 
+CrossCheck('series', 'series_id',
+           ['series_data', 'series_id']);
+
+CrossCheck('series_categories', 'id',
+           ['series', 'category']);
+
 ###########################################################################
 # Perform double field referential (cross) checks
 ###########################################################################
@@ -401,8 +411,14 @@ sub DoubleCrossCheck {
     }
 }
 
+DoubleCrossCheck('attachments', 'bug_id', 'attach_id',
+                 ['flags', 'bug_id', 'attach_id'],
+                 ['bugs_activity', 'bug_id', 'attach_id']);
+
 DoubleCrossCheck("components", "product_id", "id",
-                 ["bugs", "product_id", "component_id", "bug_id"]);
+                 ["bugs", "product_id", "component_id", "bug_id"],
+                 ['flagexclusions', 'product_id', 'component_id'],
+                 ['flaginclusions', 'product_id', 'component_id']);
 
 DoubleCrossCheck("versions", "product_id", "value",
                  ["bugs", "product_id", "version", "bug_id"]);
@@ -418,13 +434,12 @@ DoubleCrossCheck("milestones", "product_id", "value",
 Status("Checking profile logins");
 
 my $emailregexp = Param("emailregexp");
-$emailregexp =~ s/'/\\'/g;
-SendSQL("SELECT userid, login_name FROM profiles " .
-        "WHERE login_name NOT REGEXP '" . $emailregexp . "'");
-
+SendSQL("SELECT userid, login_name FROM profiles");
 
 while (my ($id,$email) = (FetchSQLData())) {
-    Alert "Bad profile email address, id=$id,  &lt;$email&gt;."
+    unless ($email =~ m/$emailregexp/) {
+        Alert "Bad profile email address, id=$id,  &lt;$email&gt;."
+    }
 }
 
 ###########################################################################
@@ -439,7 +454,7 @@ sub AlertBadVoteCache {
     $offervotecacherebuild = 1;
 }
 
-SendSQL("SELECT bug_id,votes,keywords FROM bugs " .
+SendSQL("SELECT bug_id, votes, keywords FROM bugs " .
         "WHERE votes != 0 OR keywords != ''");
 
 my %votes;
@@ -457,7 +472,7 @@ while (@row = FetchSQLData()) {
 }
 
 Status("Checking cached vote counts");
-SendSQL("select bug_id, sum(vote_count) from votes group by bug_id");
+SendSQL("SELECT bug_id, SUM(vote_count) FROM votes GROUP BY bug_id");
 
 while (@row = FetchSQLData()) {
     my ($id, $v) = (@row);
diff --git a/show_activity.cgi b/show_activity.cgi
index e1697255b7091ef112e3b2f0e4474368a25a8bed..5ab4e366e69c87ab12aea251cc7d12ebf7c2f4a2 100755
--- a/show_activity.cgi
+++ b/show_activity.cgi
@@ -30,14 +30,12 @@ use vars qw ($template $vars);
 require "CGI.pl";
 my $cgi = Bugzilla->cgi;
 
-ConnectToDatabase();
-
 ###############################################################################
 # Begin Data/Security Validation
 ###############################################################################
 
 # Check whether or not the user is currently logged in. 
-quietly_check_login();
+Bugzilla->login();
 
 # Make sure the bug ID is a positive integer representing an existing
 # bug that the user is authorized to access.
diff --git a/show_bug.cgi b/show_bug.cgi
index c7a780404895e57a6df2884746e509ed5b637c77..2eb42d3c1a0519eb8cc458aa0e89899e465fa575 100755
--- a/show_bug.cgi
+++ b/show_bug.cgi
@@ -25,21 +25,20 @@ use strict;
 use lib qw(.);
 
 use Bugzilla;
+use Bugzilla::Constants;
 
 require "CGI.pl";
 
-ConnectToDatabase();
-
 use vars qw($template $vars $userid);
 
-use Bug;
+use Bugzilla::Bug;
 
 my $cgi = Bugzilla->cgi;
 
-if ($::FORM{'GoAheadAndLogIn'}) {
-    confirm_login();
+if ($cgi->param('GoAheadAndLogIn')) {
+    Bugzilla->login(LOGIN_REQUIRED);
 } else {
-    quietly_check_login();
+    Bugzilla->login();
 }
 
 # Editable, 'single' HTML bugs are treated slightly specially in a few places
@@ -47,14 +46,15 @@ my $single = !$cgi->param('format')
   && (!$cgi->param('ctype') || $cgi->param('ctype') eq 'html');
 
 # If we don't have an ID, _AND_ we're only doing a single bug, then prompt
-if (!defined $cgi->param('id') && $single) {
+if (!$cgi->param('id') && $single) {
     print Bugzilla->cgi->header();
     $template->process("bug/choose.html.tmpl", $vars) ||
       ThrowTemplateError($template->error());
     exit;
 }
 
-my $format = GetFormat("bug/show", $::FORM{'format'}, $::FORM{'ctype'});
+my $format = GetFormat("bug/show", scalar $cgi->param('format'), 
+                       scalar $cgi->param('ctype'));
 
 GetVersionTable();
 
@@ -65,10 +65,10 @@ if ($single) {
     # Its a bit silly to do the validation twice - that functionality should
     # probably move into Bug.pm at some point
     ValidateBugID($id);
-    push @bugs, new Bug($id, $userid);
+    push @bugs, new Bugzilla::Bug($id, $userid);
 } else {
     foreach my $id ($cgi->param('id')) {
-        my $bug = new Bug($id, $userid);
+        my $bug = new Bugzilla::Bug($id, $userid);
         push @bugs, $bug;
     }
 }
@@ -83,8 +83,8 @@ $vars->{'bugs'} = \@bugs;
 
 # Next bug in list (if there is one)
 my @bug_list;
-if ($::COOKIE{"BUGLIST"}) {
-    @bug_list = split(/:/, $::COOKIE{"BUGLIST"});
+if ($cgi->cookie("BUGLIST")) {
+    @bug_list = split(/:/, $cgi->cookie("BUGLIST"));
 }
 
 $vars->{'bug_list'} = \@bug_list;
@@ -93,13 +93,17 @@ $vars->{'bug_list'} = \@bug_list;
 # If no explicit list is defined, we show all fields. We then exclude any
 # on the exclusion list. This is so you can say e.g. "Everything except 
 # attachments" without listing almost all the fields.
-my @fieldlist = (Bug::fields(), 'group', 'long_desc', 'attachment');
+my @fieldlist = (Bugzilla::Bug::fields(), 'group', 'long_desc', 'attachment');
 my %displayfields;
 
 if ($cgi->param("field")) {
     @fieldlist = $cgi->param("field");
 }
 
+unless (UserInGroup(Param("timetrackinggroup"))) {
+    @fieldlist = grep($_ !~ /_time$/, @fieldlist);
+}
+
 foreach (@fieldlist) {
     $displayfields{$_} = 1;
 }
diff --git a/showdependencygraph.cgi b/showdependencygraph.cgi
index 6496bbc8e7e0c780eb40f531e6c04d862190bbb1..b11562e1e421dd234b915218a8806eabcfae3c46 100755
--- a/showdependencygraph.cgi
+++ b/showdependencygraph.cgi
@@ -31,9 +31,7 @@ use Bugzilla::Config qw(:DEFAULT $webdotdir);
 
 require "CGI.pl";
 
-ConnectToDatabase();
-
-quietly_check_login();
+Bugzilla->login();
 
 my $cgi = Bugzilla->cgi;
 
@@ -100,11 +98,11 @@ sub AddLink {
     }
 }
 
-$::FORM{'rankdir'} = "LR" if !defined $::FORM{'rankdir'};
+my $rankdir = $cgi->param('rankdir') || "LR";
 
-if (!defined($::FORM{'id'}) && !defined($::FORM{'doall'})) {
+if (!defined $cgi->param('id') && !defined $cgi->param('doall')) {
     ThrowCodeError("missing_bug_id");
-}    
+}
 
 my ($fh, $filename) = File::Temp::tempfile("XXXXXXXXXX",
                                            SUFFIX => '.dot',
@@ -113,13 +111,13 @@ my $urlbase = Param('urlbase');
 
 print $fh "digraph G {";
 print $fh qq{
-graph [URL="${urlbase}query.cgi", rankdir=$::FORM{'rankdir'}, size="64,64"]
+graph [URL="${urlbase}query.cgi", rankdir=$rankdir, size="64,64"]
 node [URL="${urlbase}show_bug.cgi?id=\\N", style=filled, color=lightgrey]
 };
 
 my %baselist;
 
-if ($::FORM{'doall'}) {
+if ($cgi->param('doall')) {
     SendSQL("SELECT blocked, dependson FROM dependencies");
 
     while (MoreSQLData()) {
@@ -127,7 +125,7 @@ if ($::FORM{'doall'}) {
         AddLink($blocked, $dependson, $fh);
     }
 } else {
-    foreach my $i (split('[\s,]+', $::FORM{'id'})) {
+    foreach my $i (split('[\s,]+', $cgi->param('id'))) {
         $i = trim($i);
         ValidateBugID($i);
         $baselist{$i} = 1;
@@ -179,7 +177,7 @@ foreach my $k (keys(%seen)) {
 
     my @params;
 
-    if ($summary ne "" && $::FORM{'showsummary'}) {
+    if ($summary ne "" && $cgi->param('showsummary')) {
         $summary =~ s/([\\\"])/\\$1/g;
         push(@params, qq{label="$k\\n$summary"});
     }
@@ -205,7 +203,7 @@ foreach my $k (keys(%seen)) {
 
     # Show the bug summary in tooltips only if not shown on 
     # the graph and it is non-empty (the user can see the bug)
-    if (!$::FORM{'showsummary'} && $summary ne "") {
+    if (!$cgi->param('showsummary') && $summary ne "") {
         $bugtitles{$k} .= " - $summary";
     }
 }
@@ -228,14 +226,19 @@ if ($webdotbase =~ /^https?:/) {
 
     # First, generate the png image file from the .dot source
 
-    my $dotfh;
     my ($pngfh, $pngfilename) = File::Temp::tempfile("XXXXXXXXXX",
                                                      SUFFIX => '.png',
                                                      DIR => $webdotdir);
-    open (DOT, '-|') or exec ($webdotbase, "-Tpng", $filename);
+    binmode $pngfh;
+    open(DOT, "$webdotbase -Tpng $filename|");
+    binmode DOT;
     print $pngfh $_ while <DOT>;
     close DOT;
     close $pngfh;
+    
+    # On Windows $pngfilename will contain \ instead of /
+    $pngfilename =~ s|\\|/|g if $^O eq 'MSWin32';
+    
     $vars->{'image_url'} = $pngfilename;
 
     # Then, generate a imagemap datafile that contains the corner data
@@ -245,7 +248,9 @@ if ($webdotbase =~ /^https?:/) {
     my ($mapfh, $mapfilename) = File::Temp::tempfile("XXXXXXXXXX",
                                                      SUFFIX => '.map',
                                                      DIR => $webdotdir);
-    open (DOT, '-|') or exec ($webdotbase, "-Tismap", $filename);
+    binmode $mapfh;
+    open(DOT, "$webdotbase -Tismap $filename|");
+    binmode DOT;
     print $mapfh $_ while <DOT>;
     close DOT;
     close $mapfh;
@@ -271,11 +276,11 @@ foreach my $f (@files)
     }
 }
 
-$vars->{'bug_id'} = $::FORM{'id'};
-$vars->{'multiple_bugs'} = ($::FORM{'id'} =~ /[ ,]/);
-$vars->{'doall'} = $::FORM{'doall'};
-$vars->{'rankdir'} = $::FORM{'rankdir'};
-$vars->{'showsummary'} = $::FORM{'showsummary'};
+$vars->{'bug_id'} = $cgi->param('id');
+$vars->{'multiple_bugs'} = ($cgi->param('id') =~ /[ ,]/);
+$vars->{'doall'} = $cgi->param('doall');
+$vars->{'rankdir'} = $rankdir;
+$vars->{'showsummary'} = $cgi->param('showsummary');
 
 # Generate and return the UI (HTML page) from the appropriate template.
 print $cgi->header();
diff --git a/showdependencytree.cgi b/showdependencytree.cgi
index d9f642a3e5249833f1855d45e9c7327dee4ae558..202043acdc538140cc4bb21f5609a3cc98cb7e63 100755
--- a/showdependencytree.cgi
+++ b/showdependencytree.cgi
@@ -31,11 +31,7 @@ require "CGI.pl";
 # Use global template variables.
 use vars qw($template $vars);
 
-use vars %::FORM;
-
-ConnectToDatabase();
-
-quietly_check_login();
+Bugzilla->login();
 
 my $cgi = Bugzilla->cgi;
 
@@ -52,12 +48,12 @@ $::userid = $::userid;
 
 # Make sure the bug ID is a positive integer representing an existing
 # bug that the user is authorized to access.
-ValidateBugID($::FORM{'id'});
-my $id = $::FORM{'id'};
+my $id = $cgi->param('id');
+ValidateBugID($id);
 
-my $hide_resolved = $::FORM{'hide_resolved'} ? 1 : 0;
+my $hide_resolved = $cgi->param('hide_resolved') ? 1 : 0;
 
-my $maxdepth = $::FORM{'maxdepth'} || 0;
+my $maxdepth = $cgi->param('maxdepth') || 0;
 if ($maxdepth !~ /^\d+$/) { $maxdepth = 0 };
 
 ################################################################################
diff --git a/sidebar.cgi b/sidebar.cgi
index cf801eba3337e93d2d0eaa43a4d4896ad66f83b5..73a22d1b339a80c81a1815e1b0fadac9634549d5 100755
--- a/sidebar.cgi
+++ b/sidebar.cgi
@@ -26,8 +26,7 @@ use vars qw(
   $vars
 );
 
-ConnectToDatabase();
-quietly_check_login();
+Bugzilla->login();
 
 my $cgi = Bugzilla->cgi;
 
diff --git a/skins/CVS/Entries b/skins/CVS/Entries
new file mode 100644
index 0000000000000000000000000000000000000000..cb47128bcdcf374030e486e8a2fc0e6d3abebaaf
--- /dev/null
+++ b/skins/CVS/Entries
@@ -0,0 +1 @@
+D/standard////
diff --git a/skins/CVS/Repository b/skins/CVS/Repository
new file mode 100644
index 0000000000000000000000000000000000000000..75689a7153df9fc69e703dd15901e39606e7dc92
--- /dev/null
+++ b/skins/CVS/Repository
@@ -0,0 +1 @@
+mozilla/webtools/bugzilla/skins
diff --git a/skins/CVS/Root b/skins/CVS/Root
new file mode 100644
index 0000000000000000000000000000000000000000..cdb6f4a0739a0dc53e628026726036377dec3637
--- /dev/null
+++ b/skins/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
diff --git a/skins/CVS/Tag b/skins/CVS/Tag
new file mode 100644
index 0000000000000000000000000000000000000000..f097cd0f145df13ad5d2db8b232194c8ac74d8fd
--- /dev/null
+++ b/skins/CVS/Tag
@@ -0,0 +1 @@
+TBUGZILLA-2_18
diff --git a/skins/standard/CVS/Entries b/skins/standard/CVS/Entries
new file mode 100644
index 0000000000000000000000000000000000000000..c0e6bb9a1ed8745ee626318c7e749699b62cbdab
--- /dev/null
+++ b/skins/standard/CVS/Entries
@@ -0,0 +1,4 @@
+/duplicates.css/1.2/Fri Nov 15 22:04:04 2002//TBUGZILLA-2_18
+/global.css/1.4.2.1/Sat Aug 28 08:46:14 2004//TBUGZILLA-2_18
+/show_multiple.css/1.1/Sat Aug 24 14:43:49 2002//TBUGZILLA-2_18
+D
diff --git a/skins/standard/CVS/Repository b/skins/standard/CVS/Repository
new file mode 100644
index 0000000000000000000000000000000000000000..b29987f3ed92b82961b8b68614557038f2a79c15
--- /dev/null
+++ b/skins/standard/CVS/Repository
@@ -0,0 +1 @@
+mozilla/webtools/bugzilla/skins/standard
diff --git a/skins/standard/CVS/Root b/skins/standard/CVS/Root
new file mode 100644
index 0000000000000000000000000000000000000000..cdb6f4a0739a0dc53e628026726036377dec3637
--- /dev/null
+++ b/skins/standard/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
diff --git a/skins/standard/CVS/Tag b/skins/standard/CVS/Tag
new file mode 100644
index 0000000000000000000000000000000000000000..576360fe0d440cfa86d33b930fe800e509d5e317
--- /dev/null
+++ b/skins/standard/CVS/Tag
@@ -0,0 +1 @@
+NBUGZILLA-2_18
diff --git a/skins/standard/duplicates.css b/skins/standard/duplicates.css
new file mode 100644
index 0000000000000000000000000000000000000000..9948b789ed5e2ab123171466434b658f368083f5
--- /dev/null
+++ b/skins/standard/duplicates.css
@@ -0,0 +1,34 @@
+/* The contents of this file are subject to the Mozilla Public
+ * License Version 1.1 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ * 
+ * Software distributed under the License is distributed on an "AS
+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ * implied. See the License for the specific language governing
+ * rights and limitations under the License.
+ * 
+ * The Original Code is the Bugzilla Bug Tracking System.
+ * 
+ * The Initial Developer of the Original Code is Netscape Communications
+ * Corporation. Portions created by Netscape are
+ * Copyright (C) 1998 Netscape Communications Corporation. All
+ * Rights Reserved.
+ * 
+ * Contributor(s): Myk Melez <myk@mozilla.org>
+ */
+
+tree#results-tree {
+  margin-right: 0px;
+  border-right-width: 0px;
+  margin-left: 0px;
+  border-left-width: 0px;
+}
+
+treechildren:-moz-tree-cell-text(resolution-FIXED) { 
+  text-decoration: line-through;
+}
+
+treecol#id_column { width: 6em; }
+treecol#duplicate_count_column { width: 5em; }
+treecol#duplicate_delta_column { width: 5em; }
diff --git a/skins/standard/global.css b/skins/standard/global.css
new file mode 100644
index 0000000000000000000000000000000000000000..47a1558d653d158053607925aad6512f26b9033e
--- /dev/null
+++ b/skins/standard/global.css
@@ -0,0 +1,175 @@
+/* The contents of this file are subject to the Mozilla Public
+  * License Version 1.1 (the "License"); you may not use this file
+  * except in compliance with the License. You may obtain a copy of
+  * the License at http://www.mozilla.org/MPL/
+  *
+  * Software distributed under the License is distributed on an "AS
+  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+  * implied. See the License for the specific language governing
+  * rights and limitations under the License.
+  *
+  * The Original Code is the Bugzilla Bug Tracking System.
+  *
+  * The Initial Developer of the Original Code is Netscape Communications
+  * Corporation. Portions created by Netscape are
+  * Copyright (C) 1998 Netscape Communications Corporation. All
+  * Rights Reserved.
+  *
+  * Contributor(s): Byron Jones <bugzilla@glob.com.au>
+  *                 Christian Reis <kiko@async.com.br>
+  *                 Vitaly Harisov <vitaly@rathedg.com>
+  *                 Svetlana Harisova <light@rathedg.com>
+  */
+
+/* banner (begin) */
+    #banner
+    {
+        text-align: center;        
+
+        width: 100%;
+        background: #000;
+
+        /* for Netscape 4 only */
+        border: 1px solid #fff;
+        border-bottom-width: 0.65em;
+    }
+
+    /* hide from NN4 */
+    div#banner
+    {
+        border-bottom-width: 0.2em;
+    }
+
+    #banner p
+    {
+        margin: 0;
+        padding: 0;
+    }
+
+    #banner-name
+    {
+        font-family: serif;
+        font-size: 255%;
+
+        color: #fff;
+    }
+
+    /* hide from NN4 */
+    p#banner-name
+    {
+        font-size: 300%;
+    }
+
+    #banner-version
+    {
+        font-size: 75%;
+        background: #fff;
+    }
+
+    /* hide from NN4 */
+    p#banner-version
+    {
+        font-size: 85%;
+    }
+/* banner (end) */
+
+/* footer (begin) */
+    #footer
+    {
+        float: left;
+    }
+
+    #footer form
+    {
+        background: #FFFFE0;
+        border: 1px solid #000;
+    }
+
+    #footer span
+    {
+        display: block;
+    }
+
+    #footer .btn, #footer .txt
+    {
+        font-size: 0.8em;
+    }
+
+    #footer #useful-links
+    {
+        padding: 0.3em;
+    }
+
+    /* hide from MSIE and NN4 */
+    [id]#footer #useful-links
+    {
+        margin: 0.3em;
+        display: table;
+    }
+
+    #footer #links-actions,
+    #footer #links-edit,
+    #footer #links-saved
+    {
+        display: table-row;
+    }
+
+    #footer .label
+    {
+        width: 7.2em;
+        display: block;
+        float: left;
+
+        vertical-align: baseline;
+
+        padding: 0.1em 0.2em;
+    }
+
+    #footer #links-actions .label
+    {
+        padding-top: 0.45em;
+    }
+
+    /* hide from MSIE and NN4 */
+    [id]#footer .label
+    {
+        display: table-cell;
+        float: none;
+        width: auto;
+
+        padding-top: 0;
+    }
+
+    #footer .links
+    {
+        display: block;
+
+        padding: 0.1em 0.2em;
+    }
+
+    /* hide from MSIE and NN4 */
+    [id]#footer .links
+    {
+        display: table-cell;
+
+        padding-top: 0;
+        
+        vertical-align: baseline;
+    }
+
+    /* hide from MSIE and NN4 */
+    #footer+*
+    {
+        clear: both;
+    }
+/* footer (end) */
+
+.bz_obsolete { text-decoration: line-through; }
+.bz_inactive { text-decoration: line-through; }
+.bz_closed { text-decoration: line-through; }
+.bz_private { color: darkred ; background : #f3eeee ; }
+.bz_disabled { color: #a0a0a0 ; }
+
+.bz_comment { background-color: #e0e0e0; }
+
+table#flags th, table#flags td { vertical-align: baseline; text-align: left; }
diff --git a/skins/standard/show_multiple.css b/skins/standard/show_multiple.css
new file mode 100644
index 0000000000000000000000000000000000000000..0e9bf1c7685c731898cd59dfd0a5fa0344cd6e7c
--- /dev/null
+++ b/skins/standard/show_multiple.css
@@ -0,0 +1 @@
+.bz_private { color:darkred }
diff --git a/t/001compile.t b/t/001compile.t
index 69df08b6ebaa2e46548840b2c28c7dd791927936..ee46a5a85ddafe18be9d1700b8aa897134824310 100644
--- a/t/001compile.t
+++ b/t/001compile.t
@@ -53,7 +53,7 @@ my $fh;
 }
 
 my @testitems = @Support::Files::testitems;
-my $perlapp = $^X;
+my $perlapp = "\"$^X\"";
 
 # Test the scripts by compiling them
 
diff --git a/t/002goodperl.t b/t/002goodperl.t
index 1cfb6a06f25a87172878fcd2babfb47abb989ea8..e9726cb8cd9c97a7d78943f353e7cc7f5c4fd317 100644
--- a/t/002goodperl.t
+++ b/t/002goodperl.t
@@ -48,7 +48,7 @@ foreach my $file (@testitems) {
     $file =~ m/.*\.(.*)/;
     my $ext = $1;
 
-    if ($file_line1 !~ m#/usr/bin/perl#) {
+    if ($file_line1 !~ m/^#\!/) {
         ok(1,"$file does not have a shebang");	
     } else {
         my $flags;
@@ -59,22 +59,21 @@ foreach my $file (@testitems) {
             ok(0, "$file is a module, but has a shebang");
             next;
         } elsif ($ext eq "cgi") {
-            # cgi files must be taint checked, but only the user-accessible
-            # ones have been checked so far
-            if ($file =~ m/^edit/) {
-                $flags = "w";
-            } else {
-                $flags = "wT";
-            }
+            # cgi files must be taint checked
+            $flags = "wT";
         } else {
             ok(0, "$file has shebang but unknown extension");
             next;
         }
 
-        if ($file_line1 =~ m#/usr/bin/perl -$flags#) {
-            ok(1,"$file uses -$flags");
+        if ($file_line1 =~ m#^\#\!/usr/bin/perl\s#) {
+            if ($file_line1 =~ m#\s-$flags#) {
+                ok(1,"$file uses standard perl location and -$flags");
+            } else {
+                ok(0,"$file is MISSING -$flags --WARNING");
+            }
         } else {
-            ok(0,"$file is MISSING -$flags --WARNING");
+            ok(0,"$file uses non-standard perl location");
         }
     }
 }
@@ -112,7 +111,7 @@ foreach my $file (@testitems) {
     my $lineno = 0;
     my $error = 0;
     
-    while (my $file_line = <FILE>) {
+    while (!$error && (my $file_line = <FILE>)) {
         $lineno++;
         if ($file_line =~ /Throw.*Error\("(.*?)"/) {
             if ($1 =~ /\s/) {
diff --git a/t/003safesys.t b/t/003safesys.t
index af7a457b78ae935a429887d6ca480afe1ccbd013..b4f41f61c4b43357af2bf86cd5a44a596335a33b 100644
--- a/t/003safesys.t
+++ b/t/003safesys.t
@@ -47,7 +47,7 @@ my $fh;
 }
 
 my @testitems = @Support::Files::testitems; 
-my $perlapp = $^X;
+my $perlapp = "\"$^X\"";
 
 foreach my $file (@testitems) {
     $file =~ s/\s.*$//; # nuke everything after the first space (#comment)
diff --git a/t/004template.t b/t/004template.t
index 6c753c0bd793853eb57be6b1222b90ccff2904d1..86b505c285ea245c59a977d818ecfeee379d3553 100644
--- a/t/004template.t
+++ b/t/004template.t
@@ -94,7 +94,9 @@ foreach my $include_path (@include_paths) {
         {
             html_linebreak => sub { return $_; },
             js        => sub { return $_ } ,
-            strike    => sub { return $_ } ,
+            inactive => [ sub { return sub { return $_; } }, 1] ,
+            closed => [ sub { return sub { return $_; } }, 1] ,
+            obsolete => [ sub { return sub { return $_; } }, 1] ,
             url_quote => sub { return $_ } ,
             css_class_quote => sub { return $_ } ,
             xml       => sub { return $_ } ,
@@ -104,6 +106,7 @@ foreach my $include_path (@include_paths) {
             unitconvert => sub { return $_ },
             time      => sub { return $_ } ,
             none      => sub { return $_ } ,
+            ics       => [ sub { return sub { return $_; } }, 1] ,
         },
     }
     );
diff --git a/t/007util.t b/t/007util.t
index b1592548016c552ca718d73fdfc0c6f589993eb1..48c925aa33becdf81ef2ede707039bf4961839fb 100644
--- a/t/007util.t
+++ b/t/007util.t
@@ -28,7 +28,7 @@ use lib 't';
 use Support::Files;
 
 BEGIN { 
-	use Test::More tests => 12;
+	use Test::More tests => 13;
 	use_ok(Bugzilla::Util);
 }
 
@@ -69,6 +69,7 @@ is(trim(" fg<*\$%>+=~~ "),'fg<*$%>+=~~','trim()');
 
 #format_time();
 is(format_time("20021123140436"),'2002-11-23 14:04 TEST','format_time("20021123140436")');
-is(format_time("2002.11.24 00:05:56"),'2002-11-24 00:05 TEST','format_time("2002.11.24 00:05:56")');
+is(format_time("2002.11.24 00:05"),'2002-11-24 00:05 TEST','format_time("2002.11.24 00:05")');
+is(format_time("2002.11.24 00:05:56"),'2002-11-24 00:05:56 TEST','format_time("2002.11.24 00:05:56")');
 
 
diff --git a/t/008filter.t b/t/008filter.t
index 722802bb82adc7f774f7adbd94bb9dcf0f1c5b9e..7457d6de10412d1ef825e2e9dd3ab10883475231 100644
--- a/t/008filter.t
+++ b/t/008filter.t
@@ -45,6 +45,7 @@ my $topdir = cwd;
 $/ = undef;
 
 foreach my $path (@Support::Templates::include_paths) {
+    $path =~ s|\\|/|g if $^O eq 'MSWin32';  # convert \ to / in path if on windows
     $path =~ m|template/([^/]+)/([^/]+)|;
     my $lang = $1;
     my $flavor = $2;
@@ -65,6 +66,19 @@ foreach my $path (@Support::Templates::include_paths) {
     }
     else {
         do "filterexceptions.pl";
+        if ($^O eq 'MSWin32') {
+          # filterexceptions.pl uses / separated paths, while 
+          # find_actual_files returns \ separated ones on Windows.
+          # Here, we convert the filter exception hash to use \.
+          foreach my $file (keys %safe) {
+            my $orig_file = $file;
+            $file =~ s|/|\\|g;
+            if ($file ne $orig_file) {
+              $safe{$file} = $safe{$orig_file};
+              delete $safe{$orig_file};
+            }
+          }
+        }
     }
     
     # We preprocess the %safe hash of lists into a hash of hashes. This allows
@@ -202,8 +216,9 @@ sub directive_ok {
     # Note: If a single directive prints two things, and only one is 
     # filtered, we may not catch that case.
     return 1 if $directive =~ /FILTER\ (html|csv|js|url_quote|css_class_quote|
-                                        quoteUrls|time|uri|xml|lower|
-                                        unitconvert|none)/x;
+                                        ics|quoteUrls|time|uri|xml|lower|
+                                        obsolete|inactive|closed|unitconvert|
+                                        none)/x;
 
     return 0;
 }
diff --git a/t/CVS/Entries b/t/CVS/Entries
index 9ef53c7833e63ffcc8ddcce616311f7168deca73..b93506f52c1ce868ae7abd261455f34d5fc7d2df 100644
--- a/t/CVS/Entries
+++ b/t/CVS/Entries
@@ -1,10 +1,10 @@
-/001compile.t/1.10/Mon Dec  9 22:32:09 2002//TBUGZILLA-2_17_7
-/002goodperl.t/1.12/Thu Mar 27 00:07:02 2003//TBUGZILLA-2_17_7
-/003safesys.t/1.5/Mon Dec  9 22:32:09 2002//TBUGZILLA-2_17_7
-/004template.t/1.30/Thu Feb  5 18:14:10 2004//TBUGZILLA-2_17_7
-/005no_tabs.t/1.12/Thu Jan 23 23:34:07 2003//TBUGZILLA-2_17_7
-/006spellcheck.t/1.3/Fri Jan 10 23:51:38 2003//TBUGZILLA-2_17_7
-/007util.t/1.4/Tue Jan 28 22:32:53 2003//TBUGZILLA-2_17_7
-/008filter.t/1.9/Thu Feb  5 18:14:10 2004//TBUGZILLA-2_17_7
-/009bugwords.t/1.2/Sat Nov  8 18:51:07 2003//TBUGZILLA-2_17_7
+/001compile.t/1.10.4.1/Sun Dec  5 14:13:15 2004//TBUGZILLA-2_18
+/002goodperl.t/1.13.2.2/Wed Sep  8 22:47:16 2004//TBUGZILLA-2_18
+/003safesys.t/1.5.4.1/Sun Dec  5 14:13:15 2004//TBUGZILLA-2_18
+/004template.t/1.32/Sat Mar 27 20:16:00 2004//TBUGZILLA-2_18
+/005no_tabs.t/1.12/Thu Jan 23 23:34:07 2003//TBUGZILLA-2_18
+/006spellcheck.t/1.3/Fri Jan 10 23:51:38 2003//TBUGZILLA-2_18
+/007util.t/1.4.2.1/Tue Jan 11 17:17:01 2005//TBUGZILLA-2_18
+/008filter.t/1.12.2.1/Mon Dec  6 17:14:05 2004//TBUGZILLA-2_18
+/009bugwords.t/1.2/Sat Nov  8 18:51:07 2003//TBUGZILLA-2_18
 D/Support////
diff --git a/t/CVS/Tag b/t/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/t/CVS/Tag
+++ b/t/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/t/Support/CVS/Entries b/t/Support/CVS/Entries
index a0516c61996be6ae4f3e67c8e2c6e8517d0cb624..beecca7e23361eab6d6e0f8b0388f3fbac8b6580 100644
--- a/t/Support/CVS/Entries
+++ b/t/Support/CVS/Entries
@@ -1,4 +1,4 @@
-/Files.pm/1.15/Mon Jan 12 22:52:37 2004//TBUGZILLA-2_17_7
-/Systemexec.pm/1.2/Fri Oct 19 22:39:51 2001//TBUGZILLA-2_17_7
-/Templates.pm/1.13/Sun Jan 11 17:12:19 2004//TBUGZILLA-2_17_7
+/Files.pm/1.15.2.1/Mon Dec  6 17:02:44 2004//TBUGZILLA-2_18
+/Systemexec.pm/1.2/Fri Oct 19 22:39:51 2001//TBUGZILLA-2_18
+/Templates.pm/1.13/Sun Jan 11 17:12:19 2004//TBUGZILLA-2_18
 D
diff --git a/t/Support/CVS/Tag b/t/Support/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/t/Support/CVS/Tag
+++ b/t/Support/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/t/Support/Files.pm b/t/Support/Files.pm
index ffadc562c43a9fb3fcd75ad36ab540a42e5fd58f..2e620204218aeffd8acba81bb3fd88ccd47ff5c5 100644
--- a/t/Support/Files.pm
+++ b/t/Support/Files.pm
@@ -23,6 +23,8 @@
 
 package Support::Files;
 
+use File::Find;
+
 # exclude_deps is a hash of arrays listing the files to be excluded
 # if a module is not available
 #
@@ -33,10 +35,8 @@ package Support::Files;
 );
 
 
-# XXX - this file should really be rewritten to use File::Find or similar
-$file = '*';
-@files = (glob($file), glob('Bugzilla/*.pm'), glob('Bugzilla/*/*.pm'),
-          glob('Bugzilla/*/*/*.pm'));
+@files = glob('*');
+find(sub { push(@files, $File::Find::name) if $_ =~ /\.pm$/;}, 'Bugzilla');
 
 sub have_pkg {
     my ($pkg) = @_;
diff --git a/template/CVS/Entries b/template/CVS/Entries
index c7e405985d951f988d006c6ae7dabdb080eff018..f63026a631e6317433f2d2e49e067da5bde523e6 100644
--- a/template/CVS/Entries
+++ b/template/CVS/Entries
@@ -1,2 +1,2 @@
-/.cvsignore/1.3/Tue May  7 21:33:53 2002//TBUGZILLA-2_17_7
+/.cvsignore/1.3/Tue May  7 21:33:53 2002//TBUGZILLA-2_18
 D/en////
diff --git a/template/CVS/Tag b/template/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/CVS/Tag
+++ b/template/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/CVS/Entries b/template/en/CVS/Entries
index e9b509f1649fc447a63c67bdc33c2f5b2d4bf28a..eb334ec822fcf2a1d3fcb510bf1e6e52d52a283f 100644
--- a/template/en/CVS/Entries
+++ b/template/en/CVS/Entries
@@ -1,2 +1,2 @@
-/.cvsignore/1.1/Wed Apr 24 07:29:49 2002//TBUGZILLA-2_17_7
+/.cvsignore/1.1/Wed Apr 24 07:29:49 2002//TBUGZILLA-2_18
 D/default////
diff --git a/template/en/CVS/Tag b/template/en/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/CVS/Tag
+++ b/template/en/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/CVS/Entries b/template/en/default/CVS/Entries
index 78d86ca9338127b80ed1450ccdd9aacb175fb900..4d75dc4d30058f37882cf1307202b887e6279e55 100644
--- a/template/en/default/CVS/Entries
+++ b/template/en/default/CVS/Entries
@@ -1,8 +1,8 @@
-/config.js.tmpl/1.4/Mon Jun 23 18:01:38 2003//TBUGZILLA-2_17_7
-/config.rdf.tmpl/1.4/Mon Jun 23 18:01:39 2003//TBUGZILLA-2_17_7
-/filterexceptions.pl/1.14/Tue Dec  9 23:12:33 2003//TBUGZILLA-2_17_7
-/index.html.tmpl/1.14/Sat Feb 14 10:54:51 2004//TBUGZILLA-2_17_7
-/sidebar.xul.tmpl/1.11/Thu Jul  3 21:31:53 2003//TBUGZILLA-2_17_7
+/config.js.tmpl/1.4/Mon Jun 23 18:01:38 2003//TBUGZILLA-2_18
+/config.rdf.tmpl/1.4/Mon Jun 23 18:01:39 2003//TBUGZILLA-2_18
+/filterexceptions.pl/1.16.2.2/Tue Sep 14 23:30:20 2004//TBUGZILLA-2_18
+/index.html.tmpl/1.16/Thu Mar 18 21:51:16 2004//TBUGZILLA-2_18
+/sidebar.xul.tmpl/1.12/Thu Mar 18 21:51:16 2004//TBUGZILLA-2_18
 D/account////
 D/admin////
 D/attachment////
diff --git a/template/en/default/CVS/Tag b/template/en/default/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/CVS/Tag
+++ b/template/en/default/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/account/CVS/Entries b/template/en/default/account/CVS/Entries
index eec48564ee51c497fa8736a801dca64018255c1d..750c2aefa37e19f8b754c5d8f6bcc2f3a1530817 100644
--- a/template/en/default/account/CVS/Entries
+++ b/template/en/default/account/CVS/Entries
@@ -1,7 +1,7 @@
-/cancel-token.txt.tmpl/1.5/Sun Sep 14 16:59:33 2003//TBUGZILLA-2_17_7
-/create.html.tmpl/1.8/Sun Jan 18 18:39:11 2004//TBUGZILLA-2_17_7
-/created.html.tmpl/1.5/Sun Jan 18 18:39:11 2004//TBUGZILLA-2_17_7
-/exists.html.tmpl/1.7/Sun Jan 18 18:39:11 2004//TBUGZILLA-2_17_7
+/cancel-token.txt.tmpl/1.6/Thu Mar 18 16:14:55 2004//TBUGZILLA-2_18
+/create.html.tmpl/1.8/Sun Jan 18 18:39:11 2004//TBUGZILLA-2_18
+/created.html.tmpl/1.5/Sun Jan 18 18:39:11 2004//TBUGZILLA-2_18
+/exists.html.tmpl/1.7/Sun Jan 18 18:39:11 2004//TBUGZILLA-2_18
 D/auth////
 D/email////
 D/password////
diff --git a/template/en/default/account/CVS/Tag b/template/en/default/account/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/account/CVS/Tag
+++ b/template/en/default/account/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/account/auth/CVS/Entries b/template/en/default/account/auth/CVS/Entries
index 7ea1d7bc50a60d08cb43f537f382f3320949646d..efcfd3d06c8bccc3ca397877e12ffe679bc97e9f 100644
--- a/template/en/default/account/auth/CVS/Entries
+++ b/template/en/default/account/auth/CVS/Entries
@@ -1,3 +1,3 @@
-/ldap-error.html.tmpl/1.2/Thu Jul  3 21:31:13 2003//TBUGZILLA-2_17_7
-/login.html.tmpl/1.5/Sun Jan 18 18:39:11 2004//TBUGZILLA-2_17_7
+/ldap-error.html.tmpl/1.3/Thu Mar 18 16:10:17 2004//TBUGZILLA-2_18
+/login.html.tmpl/1.8/Tue Jul  6 00:06:45 2004//TBUGZILLA-2_18
 D
diff --git a/template/en/default/account/auth/CVS/Tag b/template/en/default/account/auth/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/account/auth/CVS/Tag
+++ b/template/en/default/account/auth/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/account/auth/ldap-error.html.tmpl b/template/en/default/account/auth/ldap-error.html.tmpl
index cc21ba2778b7e40c95adec2f141308691075cc55..c719563c81e28d010f44b47a01aafd041ed1058e 100644
--- a/template/en/default/account/auth/ldap-error.html.tmpl
+++ b/template/en/default/account/auth/ldap-error.html.tmpl
@@ -45,6 +45,6 @@
     The LDAP server for authentication has not been defined.
 
   [% CASE %]
-    Unhandled authentication error: [% auth_err_tag FILTER html %]
+    Unhandled authentication error: <tt>[% auth_err_tag FILTER html %]</tt>
 
 [% END %]
diff --git a/template/en/default/account/auth/login.html.tmpl b/template/en/default/account/auth/login.html.tmpl
index 097af89559c0d4f93e94714cffbff4a12e290a90..a4757bc1c258edd8548dbe730afc9e8f48bf2043 100644
--- a/template/en/default/account/auth/login.html.tmpl
+++ b/template/en/default/account/auth/login.html.tmpl
@@ -79,17 +79,21 @@
         <td>
           <input type="checkbox" name="Bugzilla_restrictlogin"
                  checked="checked">
-          (Using this option increases security)
+          (Using this option improves security)
         </td>
       </tr>
     [% END %]
-    </tr>
   </table>
 
   [% PROCESS "global/hidden-fields.html.tmpl"
      exclude="^Bugzilla_(login|password|restrictlogin)$" %]
 
   <input type="submit" name="GoAheadAndLogIn" value="Login">
+  
+  <p>
+    (Note: you should make sure cookies are enabled for this site. 
+    Otherwise, you will frequently be required to re-login.)
+  </p>
 </form>
 
 [%# Allow the user to create a new account, or request a token to change
diff --git a/template/en/default/account/cancel-token.txt.tmpl b/template/en/default/account/cancel-token.txt.tmpl
index f014820ef5f2ec2a2556d09225af540e90937f08..de2278419409673b004005afc57c8a6f8666e2e4 100644
--- a/template/en/default/account/cancel-token.txt.tmpl
+++ b/template/en/default/account/cancel-token.txt.tmpl
@@ -70,7 +70,7 @@ Cancelled Because:
     The request to change the email address for your account
     to [% new_email %] has been cancelled.
 
-  [% ELSIF cancelaction == 'password_change_canceled' %]
+  [% ELSIF cancelaction == 'password_change_cancelled' %]
     You have requested cancellation.
 
   [% ELSIF cancelaction == 'user_logged_in' %]
diff --git a/template/en/default/account/email/CVS/Entries b/template/en/default/account/email/CVS/Entries
index 68fc24b10e1b3194814e15dd48dad48f617cb11f..3639e4076966676870f0496e02706218364b8d70 100644
--- a/template/en/default/account/email/CVS/Entries
+++ b/template/en/default/account/email/CVS/Entries
@@ -1,4 +1,4 @@
-/change-new.txt.tmpl/1.5/Sun Dec  7 21:12:41 2003//TBUGZILLA-2_17_7
-/change-old.txt.tmpl/1.6/Sun Dec  7 21:12:41 2003//TBUGZILLA-2_17_7
-/confirm.html.tmpl/1.8/Sun Jan 18 18:39:12 2004//TBUGZILLA-2_17_7
+/change-new.txt.tmpl/1.6/Wed Apr  7 07:24:33 2004//TBUGZILLA-2_18
+/change-old.txt.tmpl/1.7/Wed Apr  7 07:24:33 2004//TBUGZILLA-2_18
+/confirm.html.tmpl/1.9/Thu Mar 18 16:08:52 2004//TBUGZILLA-2_18
 D
diff --git a/template/en/default/account/email/CVS/Tag b/template/en/default/account/email/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/account/email/CVS/Tag
+++ b/template/en/default/account/email/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/account/email/change-new.txt.tmpl b/template/en/default/account/email/change-new.txt.tmpl
index 8841891f3796dbe1e2958a9a8a0e8077cc5f0782..7113504d8a17a01c8d4e16879075fa5dbb288f70 100644
--- a/template/en/default/account/email/change-new.txt.tmpl
+++ b/template/en/default/account/email/change-new.txt.tmpl
@@ -31,12 +31,12 @@ for the account [% oldemailaddress %] to your address.
 
 To confirm the change, visit the following link:
 
-[%+ Param('urlbase') %]token.cgi?a=cfmem&t=[% token FILTER url_quote %]
+[%+ Param('urlbase') %]token.cgi?t=[% token FILTER url_quote %]&a=cfmem
 
 If you are not the person who made this request, or you wish to cancel
 this request, visit the following link:
 
-[%+ Param('urlbase') %]token.cgi?a=cxlem&t=[% token FILTER url_quote %]
+[%+ Param('urlbase') %]token.cgi?t=[% token FILTER url_quote %]&a=cxlem
 
 If you do nothing, the request will lapse after [%+ max_token_age %] days 
 (at precisely [%+ time2str("%H:%M on the %o of %B, %Y", expiration_ts) %]).
diff --git a/template/en/default/account/email/change-old.txt.tmpl b/template/en/default/account/email/change-old.txt.tmpl
index 323f71373064e5c608b93427c09185ce891fb060..272f6d4e525975dd0b1bf392f3b14f7449d6ff3e 100644
--- a/template/en/default/account/email/change-old.txt.tmpl
+++ b/template/en/default/account/email/change-old.txt.tmpl
@@ -40,7 +40,7 @@ for your account to [%+ newemailaddress %].
 If you are not the person who made this request, or you wish to cancel
 this request, visit the following link:
 
-[%+ Param('urlbase') %]token.cgi?a=cxlem&t=[% token FILTER url_quote %]
+[%+ Param('urlbase') %]token.cgi?t=[% token FILTER url_quote %]&a=cxlem
 
 If you do nothing, and [%+ newemailaddress %] confirms this request, the
 change will be made permanent after [%+ max_token_age %] days (at precisely 
diff --git a/template/en/default/account/email/confirm.html.tmpl b/template/en/default/account/email/confirm.html.tmpl
index 9ae17493b777045bd6aac4456079ade5f163e4ba..232d8b3b778d3c1d4fc6939f61a41595a05fe656 100644
--- a/template/en/default/account/email/confirm.html.tmpl
+++ b/template/en/default/account/email/confirm.html.tmpl
@@ -39,7 +39,7 @@
       <td><input type="text" name="email" size="36"></td>
     </tr>
     <tr>
-      <th align="right"> </th>
+      <th align="right">&nbsp;</th>
       <td><input type="submit" value="Submit"></td>
     </tr>
   </table>
diff --git a/template/en/default/account/password/CVS/Entries b/template/en/default/account/password/CVS/Entries
index e027ad4a9efd628492ea89372428a88a78f6b655..f75e1bb36bbd8eccff64759200cfb59cead70ea7 100644
--- a/template/en/default/account/password/CVS/Entries
+++ b/template/en/default/account/password/CVS/Entries
@@ -1,3 +1,3 @@
-/forgotten-password.txt.tmpl/1.4/Sun Dec  7 21:12:42 2003//TBUGZILLA-2_17_7
-/set-forgotten-password.html.tmpl/1.6/Sun Jan 18 18:39:13 2004//TBUGZILLA-2_17_7
+/forgotten-password.txt.tmpl/1.5/Wed Apr  7 07:24:34 2004//TBUGZILLA-2_18
+/set-forgotten-password.html.tmpl/1.6/Sun Jan 18 18:39:13 2004//TBUGZILLA-2_18
 D
diff --git a/template/en/default/account/password/CVS/Tag b/template/en/default/account/password/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/account/password/CVS/Tag
+++ b/template/en/default/account/password/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/account/password/forgotten-password.txt.tmpl b/template/en/default/account/password/forgotten-password.txt.tmpl
index b5e15623155041d1963f9a02f868bc85e7ff108f..5ac3ed75c9ffba3524e40ca131bd68dae11ff75a 100644
--- a/template/en/default/account/password/forgotten-password.txt.tmpl
+++ b/template/en/default/account/password/forgotten-password.txt.tmpl
@@ -29,12 +29,12 @@ Subject:  [% terms.Bugzilla %] Change Password Request
 You have (or someone impersonating you has) requested to change your 
 [%+ terms.Bugzilla %] password. To complete the change, visit the following link:
 
-[%+ Param('urlbase') %]token.cgi?a=cfmpw&t=[% token FILTER url_quote %]
+[%+ Param('urlbase') %]token.cgi?t=[% token FILTER url_quote %]&a=cfmpw
 
 If you are not the person who made this request, or you wish to cancel
 this request, visit the following link:
 
-[%+ Param('urlbase') %]token.cgi?a=cxlpw&t=[% token FILTER url_quote %]
+[%+ Param('urlbase') %]token.cgi?t=[% token FILTER url_quote %]&a=cxlpw
 
 If you do nothing, the request will lapse after [%+ max_token_age +%] days (at 
 precisely [%+ time2str("%H:%M on the %o of %B, %Y", expiration_ts) -%]) or when you 
diff --git a/template/en/default/account/prefs/CVS/Entries b/template/en/default/account/prefs/CVS/Entries
index de668fb0b7e0818b37a72c45aa88c4c14549ba96..32f8d26560d085e6c41e94970167419a1e46d6e3 100644
--- a/template/en/default/account/prefs/CVS/Entries
+++ b/template/en/default/account/prefs/CVS/Entries
@@ -1,6 +1,7 @@
-/account.html.tmpl/1.4/Sun Jan 18 18:39:13 2004//TBUGZILLA-2_17_7
-/email.html.tmpl/1.12/Thu Jan 29 19:54:44 2004//TBUGZILLA-2_17_7
-/footer.html.tmpl/1.4/Sun Jan 18 18:39:13 2004//TBUGZILLA-2_17_7
-/permissions.html.tmpl/1.6/Sun Jan 18 18:39:13 2004//TBUGZILLA-2_17_7
-/prefs.html.tmpl/1.12/Sun Jan 18 18:39:13 2004//TBUGZILLA-2_17_7
+/account.html.tmpl/1.6/Thu Mar 18 16:11:27 2004//TBUGZILLA-2_18
+/email.html.tmpl/1.13.2.3/Sat Nov 20 12:18:00 2004//TBUGZILLA-2_18
+/footer.html.tmpl/1.5/Thu Mar 18 21:51:16 2004//TBUGZILLA-2_18
+/permissions.html.tmpl/1.6/Sun Jan 18 18:39:13 2004//TBUGZILLA-2_18
+/prefs.html.tmpl/1.15/Thu May 13 16:04:26 2004//TBUGZILLA-2_18
+/saved-searches.html.tmpl/1.2.2.2/Sat Dec 25 19:39:47 2004//TBUGZILLA-2_18
 D
diff --git a/template/en/default/account/prefs/CVS/Tag b/template/en/default/account/prefs/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/account/prefs/CVS/Tag
+++ b/template/en/default/account/prefs/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/account/prefs/account.html.tmpl b/template/en/default/account/prefs/account.html.tmpl
index 54789ab2bb5461f34ed0453112dc2d388e0778ea..dc936d43cbdd4a0f4cc43cda5ab64c16d87e5d5c 100644
--- a/template/en/default/account/prefs/account.html.tmpl
+++ b/template/en/default/account/prefs/account.html.tmpl
@@ -21,7 +21,6 @@
 
 [%# INTERFACE:
   # realname: string. The user's real name, if any.
-  # login:    string. The user's Bugzilla login email address.
   # login_change_date: string. The date the email change will be complete. (optional)
   # new_login_name:    string. The user's new Bugzilla login whilst not confirmed. (optional)
   #%]
@@ -36,7 +35,7 @@
     <th align="right">Password:</th>
     <td>
       <input type="hidden" name="Bugzilla_login" 
-             value="[% login FILTER html %]">
+             value="[% user.login FILTER html %]">
       <input type="password" name="Bugzilla_password">
     </td>
   </tr>              
@@ -79,7 +78,7 @@
       [% ELSE %]
         <tr>
           <th align="right">Confirmed email address:</th>
-          <td>[% login FILTER html %]
+          <td>[% user.login FILTER html %]</td>
         </tr>
         <tr>
           <th align="right">Completion date:</th>
diff --git a/template/en/default/account/prefs/email.html.tmpl b/template/en/default/account/prefs/email.html.tmpl
index cb5f8c9b77042d2d5a0ae47a73c5b3dd2a56aabe..ded4d30e36b5375caffbe27dbd36eed6ed10bb9d 100644
--- a/template/en/default/account/prefs/email.html.tmpl
+++ b/template/en/default/account/prefs/email.html.tmpl
@@ -18,6 +18,7 @@
   #
   # Contributor(s): Gervase Markham <gerv@gerv.net>
   #                 Myk Melez <myk@mozilla.org>
+  #                 Shane H. W. Travis <travis@sedsystems.ca>
   #%]
 
 [%# INTERFACE:
@@ -35,6 +36,7 @@
 [% PROCESS global/variables.none.tmpl %]
 
 [% useqacontact = Param('useqacontact') %]
+[% usevotes = Param('usevotes') %]
 
 <table>
   [% IF Param('supportwatchers') %]
@@ -48,8 +50,8 @@
       <td colspan="4">
         If you want to help cover for someone when they're on vacation, or if
         you need to do the QA related to all of their [% terms.bugs %], you can tell
-        [%+ terms.Bugzilla %] to send mail related to their [% terms.bugs %] to you also.  List the
-        email addresses of any users you wish to watch here, separated by
+        [%+ terms.Bugzilla %] to send mail related to their [% terms.bugs %] to you, too.  List the
+        email addresses of any accounts you wish to watch here, separated by
         commas.
       </td>
     </tr>
@@ -140,7 +142,7 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb
 
 <table width="100%" border="1">
   <tr>
-    <td colspan="[% useqacontact ? '5' : '4' %]" align="center" width="50%">
+    <td colspan="[% (useqacontact AND usevotes) ? '5' : ((useqacontact OR usevotes) ? '4' : '3') %]" align="center" width="50%">
       <b>When my relationship to this [% terms.bug %] is:</b>
     </td>
     <td rowspan="2" width="50%">
@@ -163,9 +165,11 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb
     <td align="center" width="10%">
       <b>CC</b>
     </td>
-    <td align="center" width="10%">
-      <b>Voter</b>
-    </td>
+    [% IF usevotes %]
+      <td align="center" width="10%">
+        <b>Voter</b>
+      </td>
+    [% END %]
   </tr>
 
 [% bugLabelLower = BLOCK %]
@@ -196,6 +200,7 @@ document.write('<input type="button" value="Disable All Mail" onclick="SetCheckb
       [% FOREACH role = [ "Reporter", "Owner", "QAcontact", "CClist", "Voter" ]
        %]
         [% NEXT IF role == "QAcontact" AND NOT useqacontact %]
+        [% NEXT IF role == "Voter" AND NOT usevotes %]
         <td align="center">
           <input type="checkbox" name="email[% role %][% reason.name %]" value="on"
             [% " checked" IF $role.${reason.name} %]>
diff --git a/template/en/default/account/prefs/footer.html.tmpl b/template/en/default/account/prefs/footer.html.tmpl
index a040765b7410b2f4c0308ce471c20fe901fae704..e4046217a855438a066d7ed28b6803e31f2d2cc9 100644
--- a/template/en/default/account/prefs/footer.html.tmpl
+++ b/template/en/default/account/prefs/footer.html.tmpl
@@ -22,8 +22,8 @@
 [%# INTERFACE:
   # mybugslink: boolean. True if the user wishes the My Bugs link to appear.
   # queries: array of hashes. May be empty. Each hash has two members:
-  #   name:   string. The name of the query.
-  #   footer: boolean. True if the query appears in the footer.
+  #   name:   string. The name of the search.
+  #   footer: boolean. True if the search appears in the footer.
   #%]
 
 [% PROCESS global/variables.none.tmpl %]
@@ -45,10 +45,10 @@
   [% IF queries.size %]
     [% FOREACH query = queries %]
       <tr>
-        <th align="right">Your query named '[% query.name FILTER html %]':</th>
+        <th align="right">Your search named '[% query.name FILTER html %]':</th>
         <td>
           <select name="query-[% loop.index %]">
-            <option value="0">should only appear in the query page</option>
+            <option value="0">should only appear in the search page</option>
             <option value="1"
               [% " selected" IF query.footer %]>
               should appear on the footer of every page
@@ -66,7 +66,7 @@
       <td colspan="4">
         <br>
         If you create remembered queries using the
-        <a href="query.cgi">query page</a>,
+        <a href="query.cgi">search page</a>,
         you can then come to this page and choose to have some of them
         appear in the footer of each [% terms.Bugzilla %] page.
         <br>
diff --git a/template/en/default/account/prefs/prefs.html.tmpl b/template/en/default/account/prefs/prefs.html.tmpl
index 2b0d2b85036ad89ba6a507a59da863231e6d6888..00e7f89131b60a3d43898b23814139d9ca567e95 100644
--- a/template/en/default/account/prefs/prefs.html.tmpl
+++ b/template/en/default/account/prefs/prefs.html.tmpl
@@ -20,7 +20,6 @@
   #%]
 
 [%# INTERFACE:
-  # login: string. The user's Bugzilla login email address.
   # tabs: List of hashes. May not be empty. Each hash has three members:
   #   name: string. Name of the tab (used internally.)
   #   description: string. Description of the tab (used in tab title.)
@@ -35,7 +34,7 @@
   #                message if required (which Perl still evaluates as True).
   #%]
 
-[% filtered_login = login FILTER html %]
+[% filtered_login = user.login FILTER html %]
 [% PROCESS global/header.html.tmpl
    title = "User Preferences"
    h2 = filtered_login
@@ -53,6 +52,8 @@
               saveable => "1" },
             { name => "email", description => "Email settings", 
               saveable => "1" },
+            { name => "saved-searches", description => "Saved searches", 
+              saveable => "1" },
             { name => "permissions", description => "Permissions", 
               saveable => "0" } ] %]
 
diff --git a/template/en/default/account/prefs/saved-searches.html.tmpl b/template/en/default/account/prefs/saved-searches.html.tmpl
new file mode 100644
index 0000000000000000000000000000000000000000..a99b9ed8514858728de33fd957641529b4fb0490
--- /dev/null
+++ b/template/en/default/account/prefs/saved-searches.html.tmpl
@@ -0,0 +1,85 @@
+[%# 1.0@bugzilla.org %]
+[%# The contents of this file are subject to the Mozilla Public
+  # License Version 1.1 (the "License"); you may not use this file
+  # except in compliance with the License. You may obtain a copy of
+  # the License at http://www.mozilla.org/MPL/
+  #
+  # Software distributed under the License is distributed on an "AS
+  # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+  # implied. See the License for the specific language governing
+  # rights and limitations under the License.
+  #
+  # The Original Code is the Bugzilla Bug Tracking System.
+  #
+  # The Initial Developer of the Original Code is Netscape Communications
+  # Corporation. Portions created by Netscape are
+  # Copyright (C) 1998 Netscape Communications Corporation. All
+  # Rights Reserved.
+  #
+  # Contributor(s): Gervase Markham <gerv@gerv.net>
+  #%]
+
+<p>Your saved searches are as follows:</p>
+
+<blockquote>
+  <table border="1" cellpadding="3">  
+    <tr>
+      <th>
+        Search
+      </th>
+      <th>
+        Run
+      </th>
+      <th>
+        Edit
+      </th>
+      <th>
+        Forget
+      </th>
+      <th>
+        Show in
+        Footer
+      </th>
+    </tr>
+    <tr>
+      <td>My Bugs</td>
+      <td>
+        [% filtered_username = user.login FILTER url_quote %]
+        <a href="[% Param('mybugstemplate').replace('%userid%', filtered_username) %]">Run</a>
+      </td>
+      <td>
+        &nbsp;
+      </td>
+      <td>
+        &nbsp;
+      </td>
+      <td align="center">
+        <input type="checkbox" 
+               name="showmybugslink"
+               value="1"
+               [% " checked" IF user.showmybugslink %]>
+      </td>
+    </tr>
+    [% FOREACH q = queries %]
+      <tr>
+        <td>[% q.name FILTER html %]</td>
+        <td>
+          <a href="buglist.cgi?[% q.query FILTER html %]">Run</a>
+        </td>
+        <td>
+          <a href="query.cgi?[% q.query FILTER html %]&known_name=[% q.name FILTER url_quote %]">Edit</a>
+        </td>
+        <td>
+          <a href="buglist.cgi?cmdtype=dorem&amp;remaction=forget&amp;namedcmd=
+                   [% q.name FILTER html %]">Forget</a>
+        </td>
+        <td align="center">
+          <input type="checkbox" 
+                 name="linkinfooter_[% q.name FILTER html %]"
+                 value="1"
+                 [% " checked" IF q.linkinfooter %]>
+        </td>
+      </tr>
+    [% END %]
+  </table>
+</blockquote>
diff --git a/template/en/default/admin/CVS/Tag b/template/en/default/admin/CVS/Tag
index 5bffe0985ded5ca8a231e44af76e791a2456f4ec..f097cd0f145df13ad5d2db8b232194c8ac74d8fd 100644
--- a/template/en/default/admin/CVS/Tag
+++ b/template/en/default/admin/CVS/Tag
@@ -1 +1 @@
-TBUGZILLA-2_17_7
+TBUGZILLA-2_18
diff --git a/template/en/default/admin/flag-type/CVS/Entries b/template/en/default/admin/flag-type/CVS/Entries
index c2913810a1d1d28e7f998a55d2631235ae9c06b8..6a1861fe18287f2b8f2e5abe43253c9cfb98963d 100644
--- a/template/en/default/admin/flag-type/CVS/Entries
+++ b/template/en/default/admin/flag-type/CVS/Entries
@@ -1,4 +1,4 @@
-/confirm-delete.html.tmpl/1.5/Sun Jan 18 18:39:14 2004//TBUGZILLA-2_17_7
-/edit.html.tmpl/1.6/Sun Jan 18 18:39:14 2004//TBUGZILLA-2_17_7
-/list.html.tmpl/1.7/Sun Jan 18 18:39:14 2004//TBUGZILLA-2_17_7
+/confirm-delete.html.tmpl/1.5/Sun Jan 18 18:39:14 2004//TBUGZILLA-2_18
+/edit.html.tmpl/1.6.2.3/Sat Jan  8 18:35:23 2005//TBUGZILLA-2_18
+/list.html.tmpl/1.8/Sat Jul 10 14:51:24 2004//TBUGZILLA-2_18
 D
diff --git a/template/en/default/admin/flag-type/CVS/Tag b/template/en/default/admin/flag-type/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/admin/flag-type/CVS/Tag
+++ b/template/en/default/admin/flag-type/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/admin/flag-type/edit.html.tmpl b/template/en/default/admin/flag-type/edit.html.tmpl
index 4b4e64a165c91bf1730b4548d6e3dc588dc27b1d..b5da2f52342d6589836f2d714a8c8b59b55623ee 100644
--- a/template/en/default/admin/flag-type/edit.html.tmpl
+++ b/template/en/default/admin/flag-type/edit.html.tmpl
@@ -21,7 +21,7 @@
 
 [% PROCESS global/variables.none.tmpl %]
 
-[%# The javascript and header_html blocks get used in header.html.tmpl. %]
+[%# The javascript block gets used in header.html.tmpl. %]
 [% javascript = BLOCK %]
   var usetms = 0; // do we have target milestone?
   var first_load = 1; // is this the first time we load the page?
@@ -33,10 +33,6 @@
   [% END %]
 [% END %]
 
-[% header_html = BLOCK %]
-  <script language="JavaScript" type="text/javascript" src="productmenu.js"></script>
-[% END %]
-
 [% IF type.target_type == "bug" %]
   [% title = BLOCK %]Create Flag Type for [% terms.Bugs %][% END %]
   [% typeLabelLowerPlural = BLOCK %][% terms.bugs %][% END %]
@@ -59,7 +55,8 @@
     table#form th { text-align: right; vertical-align: baseline; white-space: nowrap; }
     table#form td { text-align: left; vertical-align: baseline; }
   "
-  onload="selectProduct(forms[0], 'product', 'component', '__Any__');"
+  onload="selectProduct(document.forms[0], 'product', 'component', '__Any__');"
+  javascript_urls=["productmenu.js"]
 %]
 
 <form method="post" action="editflagtypes.cgi">
@@ -118,18 +115,18 @@
                           [% item FILTER html %]</option>
                 [% END %]
               </select><br>
-              <input type="submit" name="categoryAction" value="Include">
-              <input type="submit" name="categoryAction" value="Exclude">
+              <input type="submit" name="categoryAction-include" value="Include">
+              <input type="submit" name="categoryAction-exclude" value="Exclude">
             </td>
             <td style="vertical-align: top;">
               <b>Inclusions:</b><br>
               [% PROCESS "global/select-menu.html.tmpl" name="inclusion_to_remove" multiple="1" size="4" options=type.inclusions %]<br>
-              <input type="submit" name="categoryAction" value="Remove Inclusion">
+              <input type="submit" name="categoryAction-removeInclusion" value="Remove Inclusion">
             </td>
             <td style="vertical-align: top;">
               <b>Exclusions:</b><br>
               [% PROCESS "global/select-menu.html.tmpl" name="exclusion_to_remove" multiple="1" size="4" options=type.exclusions %]<br>
-              <input type="submit" name="categoryAction" value="Remove Exclusion">
+              <input type="submit" name="categoryAction-removeExclusion" value="Remove Exclusion">
             </td>
           </tr>
         </table>
@@ -166,7 +163,14 @@
     <tr>
       <th>CC List:</th>
       <td>
-        if requestable, who should get carbon copied on email notification of requests<br>
+        if requestable, who should get carbon copied on email notification of requests.
+        This is a comma-separated list of full e-mail addresses which do not
+        need to be [% terms.Bugzilla %] logins.
+        [% IF Param('emailsuffix') %]
+          Note that the configured emailsuffix
+          <kbd>[% Param('emailsuffix') %]</kbd> will <em>not</em> be appended
+          to these addresses, so you should add it explicitly if so desired.
+        [% END %]<br>
         <input type="text" name="cc_list" value="[% type.cc_list FILTER html %]" size="80" maxlength="200">
       </td>
     </tr>
diff --git a/template/en/default/admin/flag-type/list.html.tmpl b/template/en/default/admin/flag-type/list.html.tmpl
index 0185df0c79f82b1d5698051949429b44976aeefa..44cbf36c29ab5bccba75e1fc4d5cc35fb89d051c 100644
--- a/template/en/default/admin/flag-type/list.html.tmpl
+++ b/template/en/default/admin/flag-type/list.html.tmpl
@@ -98,7 +98,7 @@
         <td>
           <a href="editflagtypes.cgi?action=copy&amp;id=[% type.id %]">Copy</a>
           | <a href="editflagtypes.cgi?action=confirmdelete&amp;id=[% type.id %]"
-               onclick="return confirmDelete([% type.id %], '[% type.name FILTER js %]',
+               onclick="return confirmDelete([% type.id %], '[% type.name FILTER js FILTER html %]',
                                              [% type.flag_count %]);">Delete</a>
         </td>
       </tr>
diff --git a/template/en/default/admin/groups/CVS/Entries b/template/en/default/admin/groups/CVS/Entries
index 71f3976b5e9dd21d8701e4b91066d1bf0507611c..438d4330c1e20082e89581a35bca4c3401b7cf68 100644
--- a/template/en/default/admin/groups/CVS/Entries
+++ b/template/en/default/admin/groups/CVS/Entries
@@ -1,2 +1,2 @@
-/create.html.tmpl/1.2/Sun Jan 18 18:39:14 2004//TBUGZILLA-2_17_7
+/create.html.tmpl/1.3/Thu Mar 18 16:21:56 2004//TBUGZILLA-2_18
 D
diff --git a/template/en/default/admin/groups/CVS/Tag b/template/en/default/admin/groups/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/admin/groups/CVS/Tag
+++ b/template/en/default/admin/groups/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/admin/groups/create.html.tmpl b/template/en/default/admin/groups/create.html.tmpl
index 09dfafd1f8cf08aff62638044e804b3e44cd611e..239d7f9840dfda34b5af4f4069a9b623b805311c 100644
--- a/template/en/default/admin/groups/create.html.tmpl
+++ b/template/en/default/admin/groups/create.html.tmpl
@@ -50,7 +50,7 @@
 
 <p><b>Name</b> is what is used with the UserInGroup() function in any
 customized cgi files you write that use a given group.  It can also be used
-by people submitting [% terms.bugs %] by email to limit a [% terms.bug %] to
+by people submitting [% terms.bugs %] by email to limit [% terms.abug %] to
 a certain set of groups. It may not contain any spaces.</p>
 
 <p><b>Description</b> is what will be shown in the [% terms.bug %] reports
diff --git a/template/en/default/admin/keywords/CVS/Entries b/template/en/default/admin/keywords/CVS/Entries
index 0c5689434f570c44a87b89f6c247e369d7923d0f..6db0a8407e4bf49fccfc1b679c04ac3277cd2ad5 100644
--- a/template/en/default/admin/keywords/CVS/Entries
+++ b/template/en/default/admin/keywords/CVS/Entries
@@ -1,7 +1,7 @@
-/confirm-delete.html.tmpl/1.3/Sun Jan 18 18:39:15 2004//TBUGZILLA-2_17_7
-/create.html.tmpl/1.4/Sun Jan 18 18:39:15 2004//TBUGZILLA-2_17_7
-/created.html.tmpl/1.2/Sun Jan 18 18:39:15 2004//TBUGZILLA-2_17_7
-/edit.html.tmpl/1.3/Sun Jan 18 18:39:15 2004//TBUGZILLA-2_17_7
-/list.html.tmpl/1.3/Sun Jan 18 18:39:15 2004//TBUGZILLA-2_17_7
-/rebuild-cache.html.tmpl/1.3/Sun Jan 18 18:39:15 2004//TBUGZILLA-2_17_7
+/confirm-delete.html.tmpl/1.3/Sun Jan 18 18:39:15 2004//TBUGZILLA-2_18
+/create.html.tmpl/1.4/Sun Jan 18 18:39:15 2004//TBUGZILLA-2_18
+/created.html.tmpl/1.2/Sun Jan 18 18:39:15 2004//TBUGZILLA-2_18
+/edit.html.tmpl/1.3/Sun Jan 18 18:39:15 2004//TBUGZILLA-2_18
+/list.html.tmpl/1.4/Fri Mar 19 21:26:00 2004//TBUGZILLA-2_18
+/rebuild-cache.html.tmpl/1.3/Sun Jan 18 18:39:15 2004//TBUGZILLA-2_18
 D
diff --git a/template/en/default/admin/keywords/CVS/Tag b/template/en/default/admin/keywords/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/admin/keywords/CVS/Tag
+++ b/template/en/default/admin/keywords/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/admin/keywords/list.html.tmpl b/template/en/default/admin/keywords/list.html.tmpl
index 367990fd0bf65454639f4fe95f93dcc9cf7847f9..d73e529e308816d33cadafafb35ca04247845a4e 100755
--- a/template/en/default/admin/keywords/list.html.tmpl
+++ b/template/en/default/admin/keywords/list.html.tmpl
@@ -52,8 +52,10 @@
   </table>
 [% END %]
 
+[% PROCESS table_header %]
+
 [% FOREACH keyword = keywords %]
-  [% IF loop.count() % max_table_size == 1 %]
+  [% IF !loop.first() && loop.count() % max_table_size == 1 %]
     [% PROCESS table_header %]
   [% END %]
 
diff --git a/template/en/default/admin/products/CVS/Tag b/template/en/default/admin/products/CVS/Tag
index 5bffe0985ded5ca8a231e44af76e791a2456f4ec..f097cd0f145df13ad5d2db8b232194c8ac74d8fd 100644
--- a/template/en/default/admin/products/CVS/Tag
+++ b/template/en/default/admin/products/CVS/Tag
@@ -1 +1 @@
-TBUGZILLA-2_17_7
+TBUGZILLA-2_18
diff --git a/template/en/default/admin/products/groupcontrol/CVS/Entries b/template/en/default/admin/products/groupcontrol/CVS/Entries
index 3f86dec75486b12df42f7f9e6f9b4313c8f51842..4f0df99a9b3f76e370c9af4389280806e379970e 100644
--- a/template/en/default/admin/products/groupcontrol/CVS/Entries
+++ b/template/en/default/admin/products/groupcontrol/CVS/Entries
@@ -1,3 +1,3 @@
-/confirm-edit.html.tmpl/1.5/Mon Feb  2 21:57:28 2004//TBUGZILLA-2_17_7
-/edit.html.tmpl/1.3/Sun Jan 18 18:39:16 2004//TBUGZILLA-2_17_7
+/confirm-edit.html.tmpl/1.5/Mon Feb  2 21:57:28 2004//TBUGZILLA-2_18
+/edit.html.tmpl/1.3/Sun Jan 18 18:39:16 2004//TBUGZILLA-2_18
 D
diff --git a/template/en/default/admin/products/groupcontrol/CVS/Tag b/template/en/default/admin/products/groupcontrol/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/admin/products/groupcontrol/CVS/Tag
+++ b/template/en/default/admin/products/groupcontrol/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/attachment/CVS/Entries b/template/en/default/attachment/CVS/Entries
index 4bb911dc5137dfaf32dfa73be9a3a81745559358..61a72fc38607dabba9296730c3baefe3040edeb6 100644
--- a/template/en/default/attachment/CVS/Entries
+++ b/template/en/default/attachment/CVS/Entries
@@ -1,11 +1,12 @@
-/content-types.html.tmpl/1.4/Sun Jan 18 18:39:16 2004//TBUGZILLA-2_17_7
-/create.html.tmpl/1.17/Sun Jan 18 18:39:16 2004//TBUGZILLA-2_17_7
-/created.html.tmpl/1.10/Sun Jan 18 18:39:16 2004//TBUGZILLA-2_17_7
-/diff-file.html.tmpl/1.2/Sun Jan 18 18:39:16 2004//TBUGZILLA-2_17_7
-/diff-footer.html.tmpl/1.2/Sun Jan 18 18:39:16 2004//TBUGZILLA-2_17_7
-/diff-header.html.tmpl/1.4/Fri Jan 30 08:48:13 2004//TBUGZILLA-2_17_7
-/edit.html.tmpl/1.23/Thu Feb  5 18:14:11 2004//TBUGZILLA-2_17_7
-/list.html.tmpl/1.16/Thu Feb  5 18:14:11 2004//TBUGZILLA-2_17_7
-/show-multiple.html.tmpl/1.13/Thu Feb  5 18:14:11 2004//TBUGZILLA-2_17_7
-/updated.html.tmpl/1.11/Mon Feb  2 21:57:29 2004//TBUGZILLA-2_17_7
+/choose.html.tmpl/1.2/Tue Apr 13 20:31:27 2004//TBUGZILLA-2_18
+/content-types.html.tmpl/1.4/Sun Jan 18 18:39:16 2004//TBUGZILLA-2_18
+/create.html.tmpl/1.17/Sun Jan 18 18:39:16 2004//TBUGZILLA-2_18
+/created.html.tmpl/1.10/Sun Jan 18 18:39:16 2004//TBUGZILLA-2_18
+/diff-file.html.tmpl/1.2.2.1/Thu Sep  9 22:25:07 2004//TBUGZILLA-2_18
+/diff-footer.html.tmpl/1.2/Sun Jan 18 18:39:16 2004//TBUGZILLA-2_18
+/diff-header.html.tmpl/1.4.2.3/Thu Nov  4 23:16:59 2004//TBUGZILLA-2_18
+/edit.html.tmpl/1.24.2.2/Thu Sep 23 21:45:45 2004//TBUGZILLA-2_18
+/list.html.tmpl/1.17.2.1/Thu Sep  9 22:25:07 2004//TBUGZILLA-2_18
+/show-multiple.html.tmpl/1.15/Sun May 30 15:52:13 2004//TBUGZILLA-2_18
+/updated.html.tmpl/1.11/Mon Feb  2 21:57:29 2004//TBUGZILLA-2_18
 D
diff --git a/template/en/default/attachment/CVS/Tag b/template/en/default/attachment/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/attachment/CVS/Tag
+++ b/template/en/default/attachment/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/attachment/choose.html.tmpl b/template/en/default/attachment/choose.html.tmpl
new file mode 100644
index 0000000000000000000000000000000000000000..628dafb96926ccaa19de60598f74041253c8f658
--- /dev/null
+++ b/template/en/default/attachment/choose.html.tmpl
@@ -0,0 +1,43 @@
+[%# 1.0@bugzilla.org %]
+[%# The contents of this file are subject to the Mozilla Public
+  # License Version 1.1 (the "License"); you may not use this file
+  # except in compliance with the License. You may obtain a copy of
+  # the License at http://www.mozilla.org/MPL/
+  #
+  # Software distributed under the License is distributed on an "AS
+  # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+  # implied. See the License for the specific language governing
+  # rights and limitations under the License.
+  #
+  # The Original Code is the Bugzilla Bug Tracking System.
+  #
+  # The Initial Developer of the Original Code is Netscape Communications
+  # Corporation. Portions created by Netscape are
+  # Copyright (C) 1998 Netscape Communications Corporation. All
+  # Rights Reserved.
+  #
+  # Contributor(s): Gavin Shelley <bugzilla@chimpychompy.org>
+  #%]
+
+[% PROCESS global/variables.none.tmpl %]
+
+[% PROCESS global/header.html.tmpl
+   title = "Locate attachment"
+ %]
+
+<form method="get" action="attachment.cgi">
+  <p>Access an attachment by entering its ID into the form below:</p>
+  <p>Attachment ID: <input name="id" size="6">
+  <button name="action" value="edit">&nbsp;Edit&nbsp;</button>
+  <button name="action" value="view">View</button>
+  </p>
+</form>
+
+<form method="get" action="show_bug.cgi">
+  <p>Or, access it from the list of attachments in its associated [% terms.bug %] report:</p>
+  <p>[% terms.Bug %] ID: <input name="id" size="6">
+  <input type="submit" name="action" value="View">
+  </p>
+</form>
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/template/en/default/attachment/diff-file.html.tmpl b/template/en/default/attachment/diff-file.html.tmpl
index ffd525db5434027da1dd844f064c4c2ea037d3e7..75078b6792e198df7b0f97a5c6f60ccc567b4cbf 100644
--- a/template/en/default/attachment/diff-file.html.tmpl
+++ b/template/en/default/attachment/diff-file.html.tmpl
@@ -71,7 +71,7 @@ incremental_restore()
       </a>
     [% END %]
   [% END %] 
-  (<a name="[% file.filename FILTER html %]_sec[% section_num %]"><a href="#[% file.filename FILTER html %]_sec[% section_num %]">Link Here</a></a>)
+  (<a name="[% file.filename FILTER html %]_sec[% section_num %]" href="#[% file.filename FILTER html %]_sec[% section_num %]">Link Here</a>)
   </th></tr>
   [% FOREACH group = section.groups %]
     [% IF group.context %]
diff --git a/template/en/default/attachment/diff-header.html.tmpl b/template/en/default/attachment/diff-header.html.tmpl
index ff0f414a74e82b12e1ded7ecd7aa7bed0ce33bde..f6fb807a86d7ce0f193eadc939cdd17095ba8f85 100644
--- a/template/en/default/attachment/diff-header.html.tmpl
+++ b/template/en/default/attachment/diff-header.html.tmpl
@@ -24,57 +24,78 @@
 [% PROCESS global/variables.none.tmpl %]
 
 [% title = BLOCK %]
-  Attachment #[% attachid %] for [% terms.Bug %] #[% bugid %]
+  [% IF attachid %]
+Attachment #[% attachid %] for [% terms.bug %] #[% bugid %]
+  [% ELSE %]
+Interdiff of #[% oldid %] and #[% newid %] for #[% terms.bug %] #[% bugid %]
+  [% END %]
 [% END %]
 
 [% style = BLOCK %]
 .file_head {
-  font-size: x-large;
   font-weight: bold;
-  background-color: #d3d3d3;
+  font-size: 1em;
+  background-color: #c3c3c3;
   border: 1px solid black;
   width: 100%;
 }
+
+.file_head a {
+  text-decoration: none; 
+  font-family: monospace; 
+  font-size: 1.1em;
+}
+
 .file_collapse {
   display: none;
 }
+
 .section_head {
   width: 100%;
-  font-weight: bold;
-  background-color: #d3d3d3;
+  background-color: #f0f0f0;
   border: 1px solid black;
   text-align: left;
 }
+
 table.file_table {
   table-layout: fixed;
   width: 100%;
   empty-cells: show;
   border-spacing: 0px;
   border-collapse: collapse;
+  /* draw border below last open context section in listing */
+  border-bottom: 1px solid black;
 }
+
 tbody.file td {
   border-left: 1px dashed black;
   border-right: 1px dashed black;
   width: 50%;
 }
+
 tbody.file pre {
   display: inline;
   white-space: -moz-pre-wrap;
   font-size: 0.9em;
 }
+
 tbody.file pre:empty {
   display: block;
   height: 1em;
 }
+
 .changed {
   background-color: lightblue;
 }
+
 .added {
   background-color: lightgreen;
 }
+
 .removed {
   background-color: #FFCC99;
 }
+
 .warning {
   color: red
 }
@@ -182,21 +203,21 @@ tbody.file pre:empty {
 
 [% onload = 'restore_all(); document.checkboxform.restore_indicator.checked = true' %]
 
+[% BLOCK viewurl %]attachment.cgi?id=[% id %][% END %]
+[% BLOCK editurl %][% PROCESS viewurl %]&amp;action=edit[% END %]
+[% BLOCK diffurl %][% PROCESS viewurl %]&amp;action=diff[% END %]
+
 [% IF headers %]
   [% h1 = BLOCK %]
     [% IF attachid %]
-      [% description FILTER html %] (#[% attachid %])
+      Attachment #[% attachid %]: [% description FILTER html %]
     [% ELSE %]
-      [% old_url = url('attachment.cgi', action = 'diff', id = oldid) %]
-      [% new_url = url('attachment.cgi', action = 'diff', id = newid) %]
       Diff Between 
-      <a href="[% old_url %]">[% old_desc FILTER html %]</a>
-      (<a href="[% old_url %]">#[% oldid %]</a>)
+       #[% oldid %]: <a href="[% PROCESS diffurl id=oldid %]">[% old_desc FILTER html %]</a>
       and 
-      <a href="[% new_url %]">[% new_desc FILTER html %]</a>
-      (<a href="[% new_url %]">#[% newid %]</a>)
+       #[% newid %]: <a href="[% PROCESS diffurl id=newid %]">[% new_desc FILTER html %]</a>
     [% END %]
-    for <a href="show_bug.cgi?id=[% bugid %]">[% terms.Bug %] #[% bugid %]</a>
+    for <a href="show_bug.cgi?id=[% bugid %]">[% terms.bug %] #[% bugid %]</a>
   [% END %]
   [% h2 = BLOCK %]
     [% bugsummary FILTER html %]
@@ -221,18 +242,14 @@ tbody.file pre:empty {
 [% IF attachid %]
   [%# HEADER %]
   [% IF headers %]
-    [% USE url('attachment.cgi', id = attachid) %]
-    <a href="[% url() %]">View</a>
-    | <a href="[% url(action = 'edit') %]">Edit</a>
-    [% USE url('attachment.cgi', id = attachid, context = context,
-                                 collapsed = collapsed, headers = headers,
-                                 action = 'diff') %]
-    | <a href="[% url(format = 'raw') %]">Raw Unified</a>
+    <a href="[% PROCESS viewurl id=attachid %]">View</a>
+    | <a href="[% PROCESS editurl id=attachid %]">Edit</a>
+    | <a href="[% PROCESS diffurl id=attachid %]&amp;context=[% context FILTER html %]&amp;collapsed=[% collapsed FILTER html %]&amp;headers=[% headers FILTER html %]&amp;format=raw">Raw&nbsp;Unified</a>
   [% END %]
-  [% IF other_patches %]
+  [% IF other_patches.size > 0 %]
     [% IF headers %] |[%END%]
     Differences between
-    <form style="display: inline">
+    <form style="display: inline" action="">
       <select name="oldid">
       [% FOREACH patch = other_patches %]
         <option value="[% patch.id %]"
@@ -250,13 +267,8 @@ tbody.file pre:empty {
   <br>
 [% ELSE %]
   [% IF headers %]
-    [% USE url('attachment.cgi', newid = newid, oldid = oldid, action = 'interdiff') %]
-    <a href="[% url(format = 'raw') %]">Raw Unified</a>
-    [% IF attachid %]
-    <br>
-    [% ELSE %]
+    <a href="attachment.cgi?oldid=[% oldid %]&amp;newid=[% newid %]&amp;action=interdiff&amp;format=raw">Raw Unified</a>
     |
-    [% END %]
   [% END %]
 [% END %]
   
@@ -271,23 +283,24 @@ tbody.file pre:empty {
    onclick="return expand_all()">Expand All</a>
 
 [% IF do_context %]
+  [%# only happens for normal viewing, not interdiff %]
   | <span style='font-weight: bold'>Context:</span>
   [% IF context == "patch" %]
     (<strong>Patch</strong> / 
   [% ELSE %]
-    (<a href="[% url(context = '') %]">Patch</a> / 
+    (<a href="[% PROCESS diffurl id=attachid %]&amp;headers=[% headers FILTER html %]">Patch</a> / 
   [% END %]
   [% IF context == "file" %]
     <strong>File</strong> /
   [% ELSE %]
-    <a href="[% url(context = 'file') %]">File</a> / 
+    <a href="[% PROCESS diffurl id=attachid %]&amp;headers=[% headers FILTER html %]&amp;context=file">File</a> / 
   [% END %]
 
   [% IF context == "patch" || context == "file" %]
     [% context = 3 %]
   [% END %]
   [%# textbox for context %]
-  <form style="display: inline"><input type="hidden" name="action" value="diff"><input type="hidden" name="id" value="[% attachid %]"><input type="hidden" name="collapsed" value="[% collapsed FILTER html %]"><input type="hidden" name="headers" value="[% headers FILTER html %]"><input type="text" name="context" value="[% context FILTER html %]" size="3"></form>)
+  <form style="display: inline" action=""><input type="hidden" name="action" value="diff"><input type="hidden" name="id" value="[% attachid %]"><input type="hidden" name="collapsed" value="[% collapsed FILTER html %]"><input type="hidden" name="headers" value="[% headers FILTER html %]"><input type="text" name="context" value="[% context FILTER html %]" size="3"></form>)
 [% END %]
 
 [% IF warning %]
@@ -302,10 +315,12 @@ tbody.file pre:empty {
   [%+ terms.Bugzilla %] when comparing patches made against different revisions.
   [% END %]
 </h2>
+[% ELSE %]
+    <br><br>
 [% END %]
  
 [%# Restore Stuff %]
-<form name="checkboxform">
+<form name="checkboxform" action="">
 <input type="checkbox" name="restore_indicator" style="display: none">
 
 
diff --git a/template/en/default/attachment/edit.html.tmpl b/template/en/default/attachment/edit.html.tmpl
index 19cc06550429b576bc79a2c3139981c4739f2b2c..eaf09890799397721e83f09f57a24080012574c6 100644
--- a/template/en/default/attachment/edit.html.tmpl
+++ b/template/en/default/attachment/edit.html.tmpl
@@ -24,7 +24,7 @@
 [%# Define strings that will serve as the title and header of this page %]
 [% title = BLOCK %]Edit Attachment #[% attachid %] for [% terms.Bug %] #[% bugid %][% END %]
 [% h1 = BLOCK %]Edit Attachment #[% attachid %] for
-  [%+ GetBugLink(bugid, "$terms.Bugs $bugid") %][% END %]
+  [%+ GetBugLink(bugid, "$terms.Bug $bugid") %][% END %]
 [% h2 = BLOCK %][% bugsummary FILTER html %][% END %]
 
 [% PROCESS global/header.html.tmpl
@@ -34,7 +34,7 @@
   style = "
     table.attachment_info th { text-align: right; vertical-align: top; }
     table.attachment_info td { text-align: left; vertical-align: top; }
-    #noview { text-align: left; vertical-align: center; }
+    #noview { text-align: left; vertical-align: middle; }
 
     table#flags th, table#flags td { font-size: small; vertical-align: baseline; text-align: left; }
   "
@@ -247,9 +247,9 @@
       [% IF isviewable %]
         <td width="75%">
           <textarea id="editFrame" name="comment" style="height: 400px; width: 100%; display: none;" cols="80" wrap="soft"></textarea>
-          <iframe id="viewFrame" src="attachment.cgi?id=[% attachid %]&amp;action=view" style="height: 400px; width: 100%;">
+          <iframe id="viewFrame" src="attachment.cgi?id=[% attachid %]" style="height: 400px; width: 100%;">
             <b>You cannot view the attachment while editing it because your browser does not support IFRAMEs.
-            <a href="attachment.cgi?id=[% attachid %]&amp;action=view">View the attachment on a separate page</a>.</b>
+            <a href="attachment.cgi?id=[% attachid %]">View the attachment on a separate page</a>.</b>
           </iframe>
           <script type="application/x-javascript" language="JavaScript">
             <!--
@@ -276,8 +276,7 @@
             able to display.
           </b></p>
           <p><b>
-            <a href="attachment.cgi?id=[% attachid %]&amp;action=view">Download
-            the attachment</a>.
+            <a href="attachment.cgi?id=[% attachid %]">Download the attachment</a>.
           </b></p>
         </td>
       [% END %]
diff --git a/template/en/default/attachment/list.html.tmpl b/template/en/default/attachment/list.html.tmpl
index 1ef6cab12c916aaa596cfc061b05eaee8c909417..d5741d6a2cd2a5be4c110999fa946b7b1f14080e 100644
--- a/template/en/default/attachment/list.html.tmpl
+++ b/template/en/default/attachment/list.html.tmpl
@@ -36,7 +36,7 @@
         [% IF !attachment.isprivate || canseeprivate %]
     <tr [% "class=\"bz_private\"" IF attachment.isprivate %]>
       <td valign="top">
-        <a href="attachment.cgi?id=[% attachment.attachid %]&amp;action=view" [% "class=\"bz_obsolete\"" IF attachment.isobsolete %]>[% attachment.description FILTER html %]</a>
+        <a href="attachment.cgi?id=[% attachment.attachid %]">[% attachment.description FILTER html FILTER obsolete(attachment.isobsolete) %]</a>
       </td>
 
       <td valign="top">
diff --git a/template/en/default/attachment/show-multiple.html.tmpl b/template/en/default/attachment/show-multiple.html.tmpl
index 48f03dff133e1d7e2176a312f6ebfdc5fdecf1e8..e7043a1420d3a8092f5d65470b0a9b68107eafb9 100644
--- a/template/en/default/attachment/show-multiple.html.tmpl
+++ b/template/en/default/attachment/show-multiple.html.tmpl
@@ -46,11 +46,7 @@
     </tr>
     <tr>
       <td valign="top">
-        [% IF a.isobsolete %]
-          <strike>[% a.description FILTER html %]</strike>
-        [% ELSE %]
-          [% a.description FILTER html %]
-        [% END %]
+        [% a.description FILTER html FILTER obsolete(a.isobsolete) %]
       </td>
 
       <td valign="top">
@@ -65,11 +61,18 @@
       <td valign="top">[% a.datasize FILTER unitconvert %]</td>
 
       <td valign="top">
-        [% IF a.statuses.size == 0 %]
-          <i>none</i>
+        [% IF a.flags.size == 0 %]
+          <i>no flags</i>
         [% ELSE %]
-          [% FOREACH s = a.statuses %]
-            [% s FILTER html FILTER replace('\s', '&nbsp;') %]<br>
+          [% FOREACH flag = a.flags %]
+            [% IF flag.setter %]
+              [% flag.setter.nick FILTER html %]:
+            [% END %]
+            [%+ flag.type.name FILTER html %][% flag.status %]
+            [% IF flag.status == "?" && flag.requestee %]
+              ([% flag.requestee.nick FILTER html %])
+            [% END %]
+            [% ", " IF !loop.last %]
           [% END %]
         [% END %]
       </td>
diff --git a/template/en/default/bug/CVS/Entries b/template/en/default/bug/CVS/Entries
index 1527e0bbc8b5726881a5c6393bfe00d085a17bab..f8b912d15749cad0f04f264729b2434afda2f128 100644
--- a/template/en/default/bug/CVS/Entries
+++ b/template/en/default/bug/CVS/Entries
@@ -1,14 +1,14 @@
-/choose.html.tmpl/1.6/Sun Jan 18 18:39:17 2004//TBUGZILLA-2_17_7
-/comments.html.tmpl/1.9/Sun Jan 18 18:39:17 2004//TBUGZILLA-2_17_7
-/dependency-graph.html.tmpl/1.9/Sun Jan 18 18:39:17 2004//TBUGZILLA-2_17_7
-/dependency-tree.html.tmpl/1.10/Mon Feb  2 21:57:29 2004//TBUGZILLA-2_17_7
-/edit.html.tmpl/1.38/Mon Feb  2 21:57:29 2004//TBUGZILLA-2_17_7
-/knob.html.tmpl/1.2/Sun Jan 18 18:39:18 2004//TBUGZILLA-2_17_7
-/navigate.html.tmpl/1.5/Sun Jan 18 18:39:23 2004//TBUGZILLA-2_17_7
-/show-multiple.html.tmpl/1.15/Mon Feb  2 21:57:29 2004//TBUGZILLA-2_17_7
-/show.html.tmpl/1.5/Sun Jan 18 18:39:23 2004//TBUGZILLA-2_17_7
-/show.xml.tmpl/1.3/Tue Jun  3 09:48:05 2003//TBUGZILLA-2_17_7
-/time.html.tmpl/1.2/Sun Jan 18 18:39:23 2004//TBUGZILLA-2_17_7
+/choose.html.tmpl/1.6/Sun Jan 18 18:39:17 2004//TBUGZILLA-2_18
+/comments.html.tmpl/1.11.2.1/Sat Oct  9 20:39:20 2004//TBUGZILLA-2_18
+/dependency-graph.html.tmpl/1.9/Sun Jan 18 18:39:17 2004//TBUGZILLA-2_18
+/dependency-tree.html.tmpl/1.13/Sat Jun 26 12:38:28 2004//TBUGZILLA-2_18
+/edit.html.tmpl/1.40.2.5/Sat Jan 15 04:24:08 2005//TBUGZILLA-2_18
+/knob.html.tmpl/1.6.2.2/Tue Dec 14 01:35:54 2004//TBUGZILLA-2_18
+/navigate.html.tmpl/1.6/Thu Mar 18 21:51:17 2004//TBUGZILLA-2_18
+/show-multiple.html.tmpl/1.15.2.1/Sat Jan 15 04:24:08 2005//TBUGZILLA-2_18
+/show.html.tmpl/1.6.2.4/Tue Nov  2 22:54:12 2004//TBUGZILLA-2_18
+/show.xml.tmpl/1.3.2.2/Mon Dec  6 17:08:20 2004//TBUGZILLA-2_18
+/time.html.tmpl/1.2/Sun Jan 18 18:39:23 2004//TBUGZILLA-2_18
 D/activity////
 D/create////
 D/process////
diff --git a/template/en/default/bug/CVS/Tag b/template/en/default/bug/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/bug/CVS/Tag
+++ b/template/en/default/bug/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/bug/activity/CVS/Entries b/template/en/default/bug/activity/CVS/Entries
index b6f97ecd2d523667a6e45b3376a71e8246be22e9..b0e5a5d5b34ef1e9cdfbe019d6005fa9805a1eb7 100644
--- a/template/en/default/bug/activity/CVS/Entries
+++ b/template/en/default/bug/activity/CVS/Entries
@@ -1,3 +1,3 @@
-/show.html.tmpl/1.7/Mon Feb  2 21:57:29 2004//TBUGZILLA-2_17_7
-/table.html.tmpl/1.6/Sun Jan 18 18:39:24 2004//TBUGZILLA-2_17_7
+/show.html.tmpl/1.7/Mon Feb  2 21:57:29 2004//TBUGZILLA-2_18
+/table.html.tmpl/1.7.2.1/Thu Dec  2 22:28:25 2004//TBUGZILLA-2_18
 D
diff --git a/template/en/default/bug/activity/CVS/Tag b/template/en/default/bug/activity/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/bug/activity/CVS/Tag
+++ b/template/en/default/bug/activity/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/bug/activity/table.html.tmpl b/template/en/default/bug/activity/table.html.tmpl
index b020e49acfdd1481fcb57e685d9838506a2d8fa5..3aa398e7af2e4c33aa962f27aed7758f58e1153b 100644
--- a/template/en/default/bug/activity/table.html.tmpl
+++ b/template/en/default/bug/activity/table.html.tmpl
@@ -39,11 +39,11 @@
 
 [% IF incomplete_data %]
   <p>
-    There used to be a [% terms.bug %] in [% terms.Bugzilla %] which caused activity data
-    to be lost if there was a large number of cc's or dependencies.  That
-    has been fixed, however, there was some data already lost on this [% terms.bug %] that
-    could not be regenerated.  The changes that the script could not
-    reliably determine are prefixed by '?'.
+    There used to be an issue in <a href="http://www.bugzilla.org/">Bugzilla</a>
+    which caused activity data to be lost if there were a large number of cc's
+    or dependencies.  That has been fixed, but some data was already lost in
+    your activity table that could not be regenerated.  The changes that the
+    script could not reliably determine are prefixed by '?'.
   </p>
 [% END %]
 
diff --git a/template/en/default/bug/comments.html.tmpl b/template/en/default/bug/comments.html.tmpl
index 9448008d10b3e90f9e8714592ed49fe7dae4664c..160d828108b0fd5455dcea3e3ac70ca27095405d 100644
--- a/template/en/default/bug/comments.html.tmpl
+++ b/template/en/default/bug/comments.html.tmpl
@@ -32,6 +32,11 @@
 
 [% PROCESS bug/time.html.tmpl %]
 
+[%# Note: this template is used in multiple places; if you use this hook,
+  # make sure you are aware of this fact.
+  #%]  
+[% Hook.process("aftercomments") %]
+
 [%############################################################################%]
 [%# Block for individual comments                                            #%]
 [%############################################################################%]
@@ -41,17 +46,19 @@
     <div [% "class=\"bz_private\"" IF comment.isprivate %]>
       [% IF count > 0 %]
         <br>
-        ------- <i>Additional Comment
-        <a name="c[% count %]" href="#c[% count %]">#[% count %]</a> From 
-        <a href="mailto:[% comment.email FILTER html %]">
-          [% comment.name FILTER html %]</a>
-        [%+ comment.time FILTER time %] 
-        </i>
-        [% IF mode == "edit" %]
-        <script type="text/javascript" language="JavaScript"><!-- 
-          addReplyLink([% count %]); //--></script>
-        [% END %]
-        -------
+        <span class="bz_comment">
+          ------- <i>Additional Comment
+          <a name="c[% count %]" href="#c[% count %]">#[% count %]</a> From 
+          <a href="mailto:[% comment.email FILTER html %]">
+            [% comment.name FILTER html %]</a>
+          [%+ comment.time FILTER time %] 
+          </i>
+          [% IF mode == "edit" %]
+          <script type="text/javascript" language="JavaScript"><!-- 
+            addReplyLink([% count %]); //--></script>
+          [% END %]
+          -------
+        </span>
       [% END %]
         
       [% IF mode == "edit" && isinsider %]
@@ -60,6 +67,7 @@
                  value="[% comment.isprivate %]">
           <input type="hidden" name="when-[% count %]" value="[% comment.when %]">
           <input type="checkbox" name="isprivate-[% count %]" value="1"
+                 id="isprivate-[% count %]"
           [% " checked=\"checked\"" IF comment.isprivate %]> Private
         </i>
       [% END %]
diff --git a/template/en/default/bug/create/CVS/Entries b/template/en/default/bug/create/CVS/Entries
index 1791595b2e0e721f5755793cc3e5945577fdb7d5..2de50cca4b3f13a27a6dfc128ccf9c68b0ce9387 100644
--- a/template/en/default/bug/create/CVS/Entries
+++ b/template/en/default/bug/create/CVS/Entries
@@ -1,8 +1,8 @@
-/comment-guided.txt.tmpl/1.1/Wed Oct 23 22:15:16 2002//TBUGZILLA-2_17_7
-/comment.txt.tmpl/1.2/Mon May  6 19:17:06 2002//TBUGZILLA-2_17_7
-/create-guided.html.tmpl/1.16/Tue Jan 20 00:08:42 2004//TBUGZILLA-2_17_7
-/create.html.tmpl/1.25/Tue Feb  3 20:05:07 2004//TBUGZILLA-2_17_7
-/created.html.tmpl/1.8/Sun Jan 18 18:39:25 2004//TBUGZILLA-2_17_7
-/make-template.html.tmpl/1.6/Sun Jan 18 18:39:25 2004//TBUGZILLA-2_17_7
-/user-message.html.tmpl/1.3/Sun Jan 18 18:39:25 2004//TBUGZILLA-2_17_7
+/comment-guided.txt.tmpl/1.2/Thu Mar  4 23:22:01 2004//TBUGZILLA-2_18
+/comment.txt.tmpl/1.2/Mon May  6 19:17:06 2002//TBUGZILLA-2_18
+/create-guided.html.tmpl/1.18.2.1/Tue Jul 20 04:20:17 2004//TBUGZILLA-2_18
+/create.html.tmpl/1.30.2.3/Fri Jan  7 20:31:43 2005//TBUGZILLA-2_18
+/created.html.tmpl/1.8/Sun Jan 18 18:39:25 2004//TBUGZILLA-2_18
+/make-template.html.tmpl/1.6/Sun Jan 18 18:39:25 2004//TBUGZILLA-2_18
+/user-message.html.tmpl/1.4/Sun Mar  7 23:27:31 2004//TBUGZILLA-2_18
 D
diff --git a/template/en/default/bug/create/CVS/Tag b/template/en/default/bug/create/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/bug/create/CVS/Tag
+++ b/template/en/default/bug/create/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/bug/create/comment-guided.txt.tmpl b/template/en/default/bug/create/comment-guided.txt.tmpl
index 9ef4f1b51faa7a550f6054902d47fb09cc580f86..c66a550e15ff8779c082275ab6491b439bcbb51c 100644
--- a/template/en/default/bug/create/comment-guided.txt.tmpl
+++ b/template/en/default/bug/create/comment-guided.txt.tmpl
@@ -23,7 +23,8 @@
   #   fields on a template from enter_bug.cgi.) It can be used to pull out 
   #   various custom fields and format an initial Description entry from them. 
   #%]  
-User-Agent:       [%+ user_agent %]
+[% USE Bugzilla %]
+User-Agent:       [%+ Bugzilla.cgi.user_agent() %]
 Build Identifier: [%+ form.buildid %]
 
 [%+ form.comment IF form.comment %]
diff --git a/template/en/default/bug/create/create-guided.html.tmpl b/template/en/default/bug/create/create-guided.html.tmpl
index 4266b328e1ab8f1ce2da97fe07611704e32d913e..f7affee109120874a6aa09ddc37f1427853a5590 100644
--- a/template/en/default/bug/create/create-guided.html.tmpl
+++ b/template/en/default/bug/create/create-guided.html.tmpl
@@ -38,9 +38,9 @@
   <font color="red">
     This is a template used on mozilla.org - it, along with the
     comment-guided.txt.tmpl template, are included as a demo of what it's
-    possible to do with custom templates in general, and custom [% terms.bug %] entry
-    templates in particular. It is recommended that this template be
-    customised if you want to use it on your [% terms.Bugzilla %] installation.
+    possible to do with custom templates in general, and custom [% terms.bug %]
+    entry templates in particular. You will need to alter the text of this
+    template if you want to use it on your [% terms.Bugzilla %] installation.
   </font>
 </p>
 
@@ -73,12 +73,12 @@ function PutDescription() {
                padding: 2px">
     <font color="#990000">
       <b>
-        Note: This is a tool for reporting [% terms.bugs %] in software from mozilla.org.
-        Use Netscape's
-        <a href="http://help.netscape.com/forms/bug-client.html">[% terms.bug %] reporting
-        form</a> to report [% terms.bugs %] with Netscape products like Navigator 4.x.
-        Netscape products have a blue and black N in the top right hand
-        corner.
+        Note: This is a tool for reporting [% terms.bugs %] in software from
+        mozilla.org. Use Netscape's
+        <a href="http://help.netscape.com/forms/bug-client.html">[% terms.bug %]
+        reporting form</a> to report [% terms.bugs %] with Netscape products
+        like Navigator 4.x. Netscape products have a blue and black N in the 
+        top right hand corner.
       </b>
     </font>
   </div>
@@ -97,13 +97,14 @@ function PutDescription() {
          Netscape [% matches.0 %] Feedback Center.</a>
       </b>
     </font>
-    This form is only for reporting [% terms.bugs %] in the Mozilla web browser and other
-    products from mozilla.org. To report [% terms.abug %] you find in
-    Netscape [% matches.0 %] with this form,
-    you must reproduce it first in a
-    <a href="http://ftp.mozilla.org/pub/mozilla/nightly/latest/">
-    recent build</a> of Mozilla to make sure the problem hasn't been
-    fixed already.
+    This form is only for reporting [% terms.bugs %] in the Mozilla web browser
+    and other products from mozilla.org. To report [% terms.abug %] you find 
+    in Netscape [% matches.0 %] with this form, you must reproduce it first in 
+    a recent build of
+    <a href="http://ftp.mozilla.org/pub/mozilla.org/mozilla/nightly/latest/">Mozilla</a>,
+    <a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/">Firefox</a> or
+    <a href="http://ftp.mozilla.org/pub/mozilla.org/camino/nightly/latest/">Camino</a>
+    to make sure the problem hasn't been fixed already.
   </div>
 [% END %]
 
@@ -115,9 +116,13 @@ function PutDescription() {
   fixing it. Please note that <strong>we do not accept [% terms.bug %] reports by
   email</strong> - please do not email developers or mozilla.org staff
   with [% terms.bug %] reports. <font color="red">Also, please do not
-  file Mozilla [% terms.bugs %] on copies of Mozilla older than two weeks - first,
-  download a
-  <a href="http://ftp.mozilla.org/pub/mozilla/nightly/latest/">newer build</a>
+  file [% terms.bugs %] on browser/email software older than two weeks - first,
+  download a newer build of
+  <a href="http://ftp.mozilla.org/pub/mozilla.org/mozilla/nightly/latest/">Mozilla</a>,
+  <a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/">Firefox</a>,
+  <a href="http://ftp.mozilla.org/pub/mozilla.org/camino/nightly/latest/">Camino</a>
+  or  
+  <a href="http://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/">Thunderbird</a>
   and check that the problem is still present.
   </font>
 </p>
@@ -129,7 +134,7 @@ function PutDescription() {
   Please see if your [% terms.bug %] has already been reported.
   <font color="red">Please don't skip this step.</font>
   50% of the [% terms.bugs %] filed in
-  [% terms.Bugzilla %] are duplicates, and this wastes a lot of our QA engineers' time.
+  [%+ terms.Bugzilla %] are duplicates, and this wastes a lot of our QA engineers' time.
 </p>
 
 [%# Stop NS 4.x and all v.3 browsers from getting <iframe> code %]
@@ -154,6 +159,7 @@ function PutDescription() {
 
   <form action="buglist.cgi" method="get" target="somebugs">
     <input type="hidden" name="format" value="simple">
+    <input type="hidden" name="order" value="relevance desc">
     <input type="hidden" name="bug_status" value="__open__">
     <input type="hidden" name="product" value="[% product FILTER html %]">
     <input type="text" name="content" size="40">
diff --git a/template/en/default/bug/create/create.html.tmpl b/template/en/default/bug/create/create.html.tmpl
index 1a6f9de118fab875f8d56c1c55dadd8bbc32c5f4..6745cd6f198f97a6e89f250b10c1c36300db094b 100644
--- a/template/en/default/bug/create/create.html.tmpl
+++ b/template/en/default/bug/create/create.html.tmpl
@@ -18,13 +18,17 @@
   #
   # Contributor(s): Gervase Markham <gerv@gerv.net>
   #                 Ville Skyttä <ville.skytta@iki.fi>
+  #                 Shane H. W. Travis <travis@sedsystems.ca>
   #%]
 
+[% PROCESS global/variables.none.tmpl %]
+
 [% PROCESS global/header.html.tmpl
-  title = "Enter Bug"
-  h2 = "This page lets you enter a new bug into Bugzilla."
+  title = "Enter $terms.Bug"
+  h2 = "This page lets you enter a new $terms.bug into ${terms.Bugzilla}."
   onload="set_assign_to();"
 %]
+[% USE Bugzilla %]
 
 <script type="text/javascript" language="JavaScript">
 <!--
@@ -42,7 +46,7 @@ function set_assign_to() {
     // Based on the selected component, fill the "Assign To:" field
     // with the default component owner.
     var form = document.Create;
-    assigned_to = form.assigned_to.value
+    var assigned_to = form.assigned_to.value;
     var index = -1;
     if (form.component.type == 'select-one') {
         index = form.component.selectedIndex;
@@ -89,7 +93,7 @@ function set_assign_to() {
 
   <tr>
     <td align="right" valign="top"><strong>Reporter:</strong></td>
-    <td valign="top">[% reporter FILTER html %]</td>
+    <td valign="top">[% Bugzilla.user.login FILTER html %]</td>
 
     <td align="right" valign="top"><strong>Product:</strong></td>
     <td valign="top">[% product FILTER html %]</td>
@@ -159,22 +163,23 @@ function set_assign_to() {
     <td colspan="3"></td>
   </tr>
 
-[% IF bug_status.size > 1 %]
   <tr>
+[% IF bug_status.size <= 1 %]
+  <input type="hidden" name="bug_status" 
+         value="[% default.bug_status FILTER html %]">
+    <td align="right" valign="top"><strong>Initial State:</strong></td>
+    <td valign="top">[% default.bug_status FILTER html %]</td>
+[% ELSE %]
     [% sel = { description => 'Initial State', name => 'bug_status' } %]
     [% INCLUDE select %]
-
+[% END %]
     <td colspan="2"></td>
   </tr>
-[% ELSE %]
-  <input type="hidden" name="bug_status" 
-         value="[% default.bug_status FILTER html %]">
-[% END %]
 
   <tr>
     <td align="right">
       <strong>
-        <a href="bug_status.html#assigned_to">Assign To</a>:
+        <a href="page.cgi?id=fields.html#assigned_to">Assign To</a>:
       </strong>
     </td>
     <td colspan="3">
@@ -233,6 +238,22 @@ function set_assign_to() {
     </td>
   </tr>
 
+  [% IF Param("insidergroup") && UserInGroup(Param("insidergroup")) %]
+    <tr>
+      <td></td>
+      <td colspan="3">
+        &nbsp;&nbsp;
+        <input type="checkbox" id="commentprivacy" name="commentprivacy"
+          [% " checked=\"checked\"" IF commentprivacy %]>
+        <label for="commentprivacy">
+          Initial Description is Private
+        </label>
+      </td>
+    </tr>
+  [% ELSE %]
+    <input type="hidden" name="commentprivacy" value="0">
+  [% END %]
+
   [% IF UserInGroup('editbugs') %]
     [% IF use_keywords %]
       <tr>
@@ -331,7 +352,8 @@ function set_assign_to() {
   [% IF sel.description %]
   <td align="right">
     <strong>
-      <a href="bug_status.html#[% sel.name %]">[% sel.description %]</a>:
+      <a href="page.cgi?id=fields.html#[% sel.name %]">
+        [% sel.description %]</a>:
     </strong>
   </td>
   [% END %]
diff --git a/template/en/default/bug/create/user-message.html.tmpl b/template/en/default/bug/create/user-message.html.tmpl
index 7a3678853d232d301be80f859be929b197d3fc67..dbbd114e4426d6fb2a1439a6f6563e4a5f283c53 100644
--- a/template/en/default/bug/create/user-message.html.tmpl
+++ b/template/en/default/bug/create/user-message.html.tmpl
@@ -30,7 +30,8 @@
 
 [% PROCESS global/variables.none.tmpl %]
 
-Before reporting [% terms.abug %], please read the <a href="bugwritinghelp.html">
+Before reporting [% terms.abug %], please read the 
+<a href="page.cgi?id=bug-writing.html">
 [% terms.bug %] writing guidelines</a>, please look at the list of
 <a href="duplicates.cgi">most frequently reported [% terms.bugs %]</a>, and please
 <a href="query.cgi">search</a> for the [% terms.bug %].
diff --git a/template/en/default/bug/dependency-tree.html.tmpl b/template/en/default/bug/dependency-tree.html.tmpl
index 7d32c8acc612684a086e3f9cae863ac84a359a08..0e6b9d1b26eb780d8646d7f4274452e6068ad3d6 100644
--- a/template/en/default/bug/dependency-tree.html.tmpl
+++ b/template/en/default/bug/dependency-tree.html.tmpl
@@ -21,12 +21,11 @@
   #                 Myk Melez <myk@mozilla.org>
   #%]
 
-[% INCLUDE global/variables.none.tmpl %]
+[% PROCESS global/variables.none.tmpl %]
 
 [% PROCESS global/header.html.tmpl
    title = "Dependency tree for $terms.Bug $bugid"
    h1    = "Dependency tree for <a href=\"show_bug.cgi?id=$bugid\">$terms.Bug $bugid</a>"
-   style = "strike { background-color: #d9d9d9; color: #000000; }"
 %]
 
 [% PROCESS depthControlToolbar %]
@@ -90,7 +89,10 @@
   [% FOREACH dep_id = tree.$bug_id.dependencies %]
     [% dep = tree.$dep_id %]
     <li>
-      [% "<strike>" IF !dep.open %]
+      [% "<script>document.write('<a href=\"#\" class=\"toggle\" onclick=\"listToggle(event); return false\">[-]</a>')</script>"
+         IF dep.dependencies.size > 0 && !dep.seen %]
+      [% isclosed = !dep.open %]
+      [% FILTER closed(isclosed) %]
       <a href="show_bug.cgi?id=[% dep_id %]">[% dep_id %]
         [[% IF dep.milestone %][% dep.milestone FILTER html %], [% END %]
         [% dep.assignee_email FILTER html %]] -
@@ -99,7 +101,7 @@
         [% ELSE %]
           [% dep.summary FILTER html %].</a>
         [% END %]
-      [% "</strike>" IF !dep.open %]
+      [% END %]
       [% INCLUDE display_tree bug_id=dep_id
            IF dep.dependencies.size > 0 && !dep.seen %]
     </li>
@@ -111,6 +113,40 @@
 [%# Block for depth control toolbar                                         #%]
 [%###########################################################################%]
 
+ <script type="text/javascript" language="JavaScript">
+if (!Node) {
+    /* MSIE doesn't define Node, so provide a compatibility array */
+    var Node = { TEXT_NODE: 3, };
+}
+
+function toggleDisplay(node)
+{
+    var display = node.style.display;
+    if (display == "none") {
+        node.style.display =
+           ("oldDisplay" in node) ? node.oldDisplay : "block";
+        return true;
+    }
+
+    node.oldDisplay = display;
+    node.style.display = "none";
+    return false;
+}
+
+function listToggle(event)
+{
+    var node = event.target;
+    if (node.nodeType == Node.TEXT_NODE)
+        node = node.parentNode;
+    var toggle = node.nextSibling;
+    while (toggle && toggle.tagName != "UL")
+      toggle = toggle.nextSibling;
+    if (toggle) {
+      node.firstChild.data = toggleDisplay(toggle) ? "[-]" : "[+]";
+    }
+}
+
+ </script>
 [% BLOCK depthControlToolbar %]
  <table cellpadding="3" border="0" cellspacing="0" bgcolor="#d0d0d0">
  <tr>
@@ -209,4 +245,5 @@
    </td>
  </tr>
 </table>
+
 [% END %]
diff --git a/template/en/default/bug/edit.html.tmpl b/template/en/default/bug/edit.html.tmpl
index e912196ca48f750a6ba7dd0f4ef8047df47a2c09..35344c88dd4c8881a3013b7f0d631a09c1420176 100644
--- a/template/en/default/bug/edit.html.tmpl
+++ b/template/en/default/bug/edit.html.tmpl
@@ -52,6 +52,12 @@
 
     replytext = "(In reply to comment #" + id + ")\n" + replytext + "\n";
 
+    [% IF Param("insidergroup") && UserInGroup(Param("insidergroup")) %]
+      if (document.getElementById('isprivate-'+id).checked) {
+          document.getElementById('newcommentprivacy').checked = 'checked';
+      }
+    [% END %]
+
     /* <textarea id="comment"> */
     var textarea = document.getElementById('comment');
     textarea.value += replytext;
@@ -179,9 +185,9 @@
       [% PROCESS select selname => "component" accesskey => "m" %]
 
       <td align="right">
-        <b><u>V</u>ersion:</b>
+        <b>Version:</b>
       </td>
-      [% PROCESS select selname => "version" accesskey => "v" %]
+      [% PROCESS select selname => "version" %]
 
       <td rowspan="4" align="right" valign="top">
         <b>CC:</b>
@@ -205,14 +211,14 @@
     <tr>
       <td align="right">
         <b>
-          <a href="bug_status.html">Status</a>:
+          <a href="page.cgi?id=fields.html#status">Status</a>:
         </b>
       </td>
       <td>[% bug.bug_status FILTER html %]</td>
       <td>&nbsp;</td>
 
       <td align="right">
-        <b><a href="bug_status.html#priority">Pr<u>i</u>ority</a>:</b>
+        <b><a href="page.cgi?id=fields.html#priority">Pr<u>i</u>ority</a>:</b>
       </td>
       [% PROCESS select selname => "priority" accesskey => "i" %]
     </tr>
@@ -220,7 +226,7 @@
     <tr>
       <td align="right">
         <b>
-          <a href="bug_status.html">Resolution</a>:
+          <a href="page.cgi?id=fields.html#resolution">Resolution</a>:
         </b>
       </td>
       <td>
@@ -232,16 +238,16 @@
       <td>&nbsp;</td>
 
       <td align="right">
-        <b><a href="bug_status.html#severity">S<u>e</u>verity</a>:</b>
+        <b><a href="page.cgi?id=fields.html#bug_severity">Severity</a>:</b>
       </td>
-      [% PROCESS select selname = "bug_severity" accesskey => "e" %]
+      [% PROCESS select selname = "bug_severity" %]
 
     </tr>
 
     <tr>
       <td align="right">
         <b>
-          <a href="bug_status.html#assigned_to">Assigned&nbsp;To</a>:
+          <a href="page.cgi?id=fields.html#assigned_to">Assigned&nbsp;To</a>:
         </b>
       </td>
       <td>[% bug.assigned_to.identity FILTER html %]</td>
@@ -253,11 +259,10 @@
             [% IF bug.milestoneurl %]
               <a href="[% bug.milestoneurl FILTER html %]">
             [% END %]
-            <u>T</u>arget Milestone:
-            [% "</a>" IF bug.milestoneurl %]
+            Target Milestone[% "</a>" IF bug.milestoneurl %]:
           </b>
         </td>
-        [% PROCESS select selname = "target_milestone" accesskey => "t" %]
+        [% PROCESS select selname = "target_milestone" %]
       [% ELSE %]
         <td colspan="3">&nbsp;</td>
       [% END %]
@@ -272,7 +277,7 @@
        </td>
        <td colspan="7">
          <input name="qa_contact" accesskey="q"
-                value="[% bug.qa_contact.email FILTER html %]" size="60">
+                value="[% bug.qa_contact.login FILTER html %]" size="60">
        </td>
      </tr>
    [% END %]
@@ -280,7 +285,8 @@
   <tr>
     <td align="right">
       <b>
-        [% IF bug.bug_file_loc %]
+        [% IF bug.bug_file_loc 
+           AND NOT bug.bug_file_loc.match("^(javascript|data)") %]
           <a href="[% bug.bug_file_loc FILTER html %]"><u>U</u>RL</a>:
         [% ELSE %]
           <u>U</u>RL:
@@ -405,8 +411,8 @@
 
   <table>
     <tr>
-    [% PROCESS dependencies accesskey = "d"
-       dep = { title => "<u>d</u>epends on", fieldname => "dependson" } %]
+    [% PROCESS dependencies 
+       dep = { title => "depends on", fieldname => "dependson" } %]
       <td rowspan="2">
         <a href="showdependencytree.cgi?id=[% bug.bug_id %]">Show
         dependency tree</a>
@@ -429,7 +435,7 @@
   <table>
     <tr>
       <th>
-        <a href="votehelp.html">Votes</a>:
+        <a href="page.cgi?id=voting.html">Votes</a>:
       </th>
       <td>
         [% bug.votes %]&nbsp;&nbsp;&nbsp;
@@ -447,7 +453,8 @@
   <br>
   <b>Additional <u>C</u>omments:</b>
   [% IF Param("insidergroup") && UserInGroup(Param("insidergroup")) %]
-    <input type="checkbox" name="commentprivacy" value="1"> Private
+    <input type="checkbox" name="commentprivacy" value="1"
+           id="newcommentprivacy"> Private
   [% END %]
   <br>
   <a name="add_comment"></a>
diff --git a/template/en/default/bug/knob.html.tmpl b/template/en/default/bug/knob.html.tmpl
index 1e922c1127dfcb1dfaa3ada3a1a86dbce8f058e6..1a4ac8d797ed486fc37a4e412a49b57fa07e868d 100644
--- a/template/en/default/bug/knob.html.tmpl
+++ b/template/en/default/bug/knob.html.tmpl
@@ -25,17 +25,20 @@
 [%# *** Knob *** %]
 
   <br>
-  <input type="radio" name="knob" value="none" checked="checked">
-  Leave as <b>[% bug.bug_status FILTER html %]&nbsp;
-              [% bug.resolution FILTER html %]</b>
+  <input type="radio" id="knob-leave" name="knob" value="none" checked="checked">
+  <label for="knob-leave">
+    Leave as <b>[% bug.bug_status FILTER html %]&nbsp;
+                [% bug.resolution FILTER html %]</b>
+  </label>
   <br>
 
   [% knum = 1 %]
 
-  [% IF bug.bug_status == "UNCONFIRMED" &&
-        bug.user.canconfirm %]
-    <input type="radio" name="knob" value="confirm">
-    Confirm [% terms.bug %] (change status to <b>NEW</b>)
+  [% IF bug.isunconfirmed && bug.user.canconfirm %]
+    <input type="radio" id="knob-confirm" name="knob" value="confirm">
+    <label for="knob-confirm">
+      Confirm [% terms.bug %] (change status to <b>NEW</b>)
+    </label>
     <br>
     [% knum = knum + 1 %]
   [% END %]
@@ -43,82 +46,110 @@
   [% IF bug.user.canedit %]
     [% IF bug.isopened %]
       [% IF bug.bug_status != "ASSIGNED" && bug.user.canconfirm %]
-        <input type="radio" name="knob" value="accept">
-        Accept [% terms.bug %] (
-        [% IF bug.isunconfirmed %]confirm [% terms.bug %], [% END %]change
-        status to <b>ASSIGNED</b>)
+        <input type="radio" id="knob-accept" name="knob" value="accept">
+        <label for="knob-accept">
+          Accept [% terms.bug %] (
+          [% IF bug.isunconfirmed %]confirm [% terms.bug %], [% END %]change
+          status to <b>ASSIGNED</b>)
+        </label>
         <br>
         [% knum = knum + 1 %]
       [% END %]
 
       [% IF bug.resolution %]
-        <input type="radio" name="knob" value="clearresolution">
-        Clear the resolution (remove the current resolution of
-        <b>[% bug.resolution FILTER html %]</b>)<br>
+        <input type="radio" id="knob-clear" name="knob" value="clearresolution">
+        <label for="knob-clear">
+          Clear the resolution (remove the current resolution of
+          <b>[% bug.resolution FILTER html %]</b>)
+        </label>
+        <br>
         [% knum = knum + 1 %]
       [% END %]
 
-      <input type="radio" name="knob" value="resolve">
-      Resolve [% terms.bug %], changing <a href="bug_status.html">resolution</a> to
+      <input type="radio" id="knob-resolve" name="knob" value="resolve">
+      <label for="knob-resolve">
+        Resolve [% terms.bug %], changing 
+        <a href="page.cgi?id=fields.html#resolution">resolution</a> to
+      </label>  
       <select name="resolution"
               onchange="document.changeform.knob[[% knum %]].checked=true">
-      [% FOREACH r = bug.choices.resolution %]
-        <option value="[% r FILTER html %]">[% r FILTER html %]</option>
-      [% END %]
+        [% FOREACH r = bug.choices.resolution %]
+          <option value="[% r FILTER html %]">[% r FILTER html %]</option>
+        [% END %]
       </select>
       <br>
       [% knum = knum + 1 %]
 
-      <input type="radio" name="knob" value="duplicate">
-      Resolve [% terms.bug %], mark it as duplicate of [% terms.bug %] #
+      <input type="radio" id="knob-duplicate" name="knob" value="duplicate">
+      <label for="knob-duplicate">
+        Resolve [% terms.bug %], mark it as duplicate of [% terms.bug %] #
+      </label>
       <input name="dup_id" size="6"
              onchange="if (this.value != '')
                        {document.changeform.knob[[% knum %]].checked=true}">
       <br>
       [% knum = knum + 1 %]
 
-      <input type="radio" name="knob" value="reassign">
-      <a href="bug_status.html#assigned_to">Reassign</a> [% terms.bug %] to
+      <input type="radio" id="knob-reassign" name="knob" value="reassign">
+      <label for="knob-reassign">
+        <a href="page.cgi?id=fields.html#assigned_to">Reassign</a> 
+        [% terms.bug %] to
+      </label>
       <input name="assigned_to" size="32"
-             onchange="if ((this.value != '[% bug.assigned_to.email FILTER js %]') &&
+             onchange="if ((this.value != '[% bug.assigned_to.login FILTER js FILTER html %]') &&
                             (this.value != '')) {
                          document.changeform.knob[[% knum %]].checked=true;
                        }"
-             value="[% bug.assigned_to.email FILTER html %]">
+             value="[% bug.assigned_to.login FILTER html %]">
       <br>
       [% IF bug.isunconfirmed && bug.user.canconfirm %]
-        &nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" name="andconfirm">
-        and confirm [% terms.bug %] (change status to <b>NEW</b>)
+        &nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" id="andconfirm" name="andconfirm">
+        <label for="andconfirm">
+          and confirm [% terms.bug %] (change status to <b>NEW</b>)
+        </label>
         <br>
       [% END %]
       [% knum = knum + 1 %]
 
-      <input type="radio" name="knob" value="reassignbycomponent">
-      Reassign [% terms.bug %] to owner
-      [% " and QA contact" IF Param('useqacontact') %]
-      of selected component
+      <input type="radio" id="knob-reassign-cmp" name="knob" value="reassignbycomponent">
+      <label for="knob-reassign-cmp">
+        Reassign [% terms.bug %] to owner
+        [% " and QA contact" IF Param('useqacontact') %]
+        of selected component
+      </label>
       <br>
       [% IF bug.isunconfirmed && bug.user.canconfirm %]
-        &nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" name="compconfirm">
-        and confirm [% terms.bug %] (change status to <b>NEW</b>)
+        &nbsp;&nbsp;&nbsp;&nbsp;<input type="checkbox" id="compconfirm" name="compconfirm">
+        <label for="compconfirm">
+          and confirm [% terms.bug %] (change status to <b>NEW</b>)
+        </label>
         <br>
       [% END %]
       [% knum = knum + 1 %]
     [% ELSE %]
       [% IF bug.resolution != "MOVED" ||
            (bug.resolution == "MOVED" && bug.user.canmove) %]
-        <input type="radio" name="knob" value="reopen"> Reopen [% terms.bug %]
+        <input type="radio" id="knob-reopen" name="knob" value="reopen">
+        <label for="knob-reopen">
+          Reopen [% terms.bug %]
+        </label>
         <br>
         [% knum = knum + 1 %]
       [% END %]
       [% IF bug.bug_status == "RESOLVED" %]
-        <input type="radio" name="knob" value="verify">
-        Mark [% terms.bug %] as <b>VERIFIED</b><br>
+        <input type="radio" id="knob-verify" name="knob" value="verify">
+        <label for="knob-verify">
+          Mark [% terms.bug %] as <b>VERIFIED</b>
+        </label>
+        <br>
         [% knum = knum + 1 %]
       [% END %]
       [% IF bug.bug_status != "CLOSED" %]
-        <input type="radio" name="knob" value="close">
-        Mark [% terms.bug %] as <b>CLOSED</b><br>
+        <input type="radio" id="knob-close" name="knob" value="close">
+        <label for="knob-close">
+          Mark [% terms.bug %] as <b>CLOSED</b>
+        </label>
+        <br>
         [% knum = knum + 1 %]
       [% END %]
     [% END %]
diff --git a/template/en/default/bug/navigate.html.tmpl b/template/en/default/bug/navigate.html.tmpl
index d7c8d507db3d4adc7fab5ca1d6654ed7f30c92e6..68b894b0c5f53b9d216a9045e0074519265e275b 100644
--- a/template/en/default/bug/navigate.html.tmpl
+++ b/template/en/default/bug/navigate.html.tmpl
@@ -56,5 +56,5 @@
   &nbsp;&nbsp;<a href="buglist.cgi?regetlastlist=1">Show list</a>
 [% END %]
 
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="query.cgi">Query page</a>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="query.cgi">Search page</a>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="enter_bug.cgi">Enter new [% terms.bug %]</a>
diff --git a/template/en/default/bug/process/CVS/Entries b/template/en/default/bug/process/CVS/Entries
index bf2b73850b0c5124b01ad495652d0be675e5729b..142e12ad15f4cd82a1b8b6ebb3f158b995d10bce 100644
--- a/template/en/default/bug/process/CVS/Entries
+++ b/template/en/default/bug/process/CVS/Entries
@@ -1,8 +1,8 @@
-/bugmail.html.tmpl/1.4/Sun Jan 18 18:39:25 2004//TBUGZILLA-2_17_7
-/confirm-duplicate.html.tmpl/1.8/Mon Feb  2 21:57:30 2004//TBUGZILLA-2_17_7
-/header.html.tmpl/1.3/Sun Jan 18 18:39:25 2004//TBUGZILLA-2_17_7
-/midair.html.tmpl/1.10/Mon Feb  2 21:57:30 2004//TBUGZILLA-2_17_7
-/next.html.tmpl/1.4/Sun Jan 18 18:39:26 2004//TBUGZILLA-2_17_7
-/results.html.tmpl/1.7/Sun Jan 18 18:39:26 2004//TBUGZILLA-2_17_7
-/verify-new-product.html.tmpl/1.13/Mon Jan 26 10:12:32 2004//TBUGZILLA-2_17_7
+/bugmail.html.tmpl/1.4/Sun Jan 18 18:39:25 2004//TBUGZILLA-2_18
+/confirm-duplicate.html.tmpl/1.8/Mon Feb  2 21:57:30 2004//TBUGZILLA-2_18
+/header.html.tmpl/1.3/Sun Jan 18 18:39:25 2004//TBUGZILLA-2_18
+/midair.html.tmpl/1.10/Mon Feb  2 21:57:30 2004//TBUGZILLA-2_18
+/next.html.tmpl/1.5/Wed May 12 05:03:27 2004//TBUGZILLA-2_18
+/results.html.tmpl/1.7/Sun Jan 18 18:39:26 2004//TBUGZILLA-2_18
+/verify-new-product.html.tmpl/1.14/Thu Mar 18 21:51:18 2004//TBUGZILLA-2_18
 D
diff --git a/template/en/default/bug/process/CVS/Tag b/template/en/default/bug/process/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/bug/process/CVS/Tag
+++ b/template/en/default/bug/process/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/bug/process/next.html.tmpl b/template/en/default/bug/process/next.html.tmpl
index 771f5c59e2891809420e76bb7d0cdb14461a18be..1cd9328a16a49fb189be4d0569f98945ae4e4cac 100644
--- a/template/en/default/bug/process/next.html.tmpl
+++ b/template/en/default/bug/process/next.html.tmpl
@@ -32,6 +32,30 @@
   <a href="show_bug.cgi?id=[% bug.bug_id %]">[% bug.bug_id %]</a>:
 </p>
 
+<hr>
+<table border="0" cellspacing="0" width="100%">
+  <tr>
+    <td valign="top" align="left" nowrap="nowrap">
+      <font size="+1">
+        <b>[%+ terms.Bugzilla %] [%+ terms.Bug %] [%+ bug.bug_id %]</b>
+      </font>
+    </td>
+    <td valign="middle" align="left">
+      &nbsp;
+    </td>
+    <td valign="middle" align="left">
+      [% bug.short_desc FILTER html %]
+    </td>
+    <td valign="middle" align="right">
+      Last modified: [% bug.delta_ts FILTER time %]
+    </td>
+  </tr>
+</table>
+
+[% PROCESS bug/navigate.html.tmpl %]
+
+<hr>
+
 [% PROCESS "bug/edit.html.tmpl" %]
 
 <hr>
diff --git a/template/en/default/bug/process/verify-new-product.html.tmpl b/template/en/default/bug/process/verify-new-product.html.tmpl
index 297cad1f61e961b3edc34c4b969cfb606fb0cfe0..33acceebe5c6d398dc77f42684822ff88079692c 100644
--- a/template/en/default/bug/process/verify-new-product.html.tmpl
+++ b/template/en/default/bug/process/verify-new-product.html.tmpl
@@ -102,7 +102,7 @@
 
 </form>
 <hr>
-<a href="query.cgi">Cancel and Return to the Query Page</a>
+<a href="query.cgi">Cancel and Return to the Search Page</a>
 
 [% PROCESS global/footer.html.tmpl %]
 
diff --git a/template/en/default/bug/show-multiple.html.tmpl b/template/en/default/bug/show-multiple.html.tmpl
index d9e3ed54650d1fcd10a2d9af32a6510ae9414fd8..bf2a14ede62876a19fa0e7cbc60982343c098742 100644
--- a/template/en/default/bug/show-multiple.html.tmpl
+++ b/template/en/default/bug/show-multiple.html.tmpl
@@ -111,8 +111,13 @@
     <tr>
       <td colspan="4">
         <b>URL:</b>&nbsp;
-        <a href="[% bug.bug_file_loc FILTER html %]">
-                 [% bug.bug_file_loc FILTER html %]</a>
+        [% IF bug.bug_file_loc 
+           AND NOT bug.bug_file_loc.match("^(javascript|data)") %]
+          <a href="[% bug.bug_file_loc FILTER html %]">
+                   [% bug.bug_file_loc FILTER html %]</a>
+        [% ELSE %]
+          [% bug.bug_file_loc FILTER html %]
+        [% END %]
     </tr>
 
     <tr>
diff --git a/template/en/default/bug/show.html.tmpl b/template/en/default/bug/show.html.tmpl
index 3ef31af3fee05ffd7b4ad6ee637dee0a9bf93143..8db59a9800444047e56d2f65e1af68e119fdffa3 100644
--- a/template/en/default/bug/show.html.tmpl
+++ b/template/en/default/bug/show.html.tmpl
@@ -28,18 +28,16 @@
 
 [% filtered_desc = bug.short_desc FILTER html %]
 [% filtered_timestamp = bug.delta_ts FILTER time %]
-[% bodyattrs = BLOCK %]class='bz_bug [% bug.bug_status 
-  FILTER css_class_quote %] [%+ bug.component 
-  FILTER css_class_quote %] [%+ bug.bug_id 
-  FILTER css_class_quote %]' 
-[% END %]
 [% PROCESS global/header.html.tmpl
   title = "$terms.Bug $bug.bug_id - $bug.short_desc"
   h1 = "$terms.Bugzilla $terms.Bug $bug.bug_id"
   h2 = filtered_desc
   h3 = "Last modified: $filtered_timestamp"
-  style_urls = [ "css/edit_bug.css" ]
-  bodyattrs = bodyattrs
+  bodyclasses = ['bz_bug',
+                 "bz_status_$bug.bug_status",
+                 "bz_component_$bug.component",
+                 "bz_bug_$bug.bug_id"
+                ]
 %]
 
 [% PROCESS bug/navigate.html.tmpl %]
diff --git a/template/en/default/bug/show.xml.tmpl b/template/en/default/bug/show.xml.tmpl
index 45ef1712a8ea7089e06c69e3912deb5e4248bf5f..a8227031b7e507ac5cb48d44f3d162ab32ad9063 100644
--- a/template/en/default/bug/show.xml.tmpl
+++ b/template/en/default/bug/show.xml.tmpl
@@ -26,7 +26,7 @@
           urlbase="[% Param('urlbase') %]"
           maintainer="[% Param('maintainer') FILTER xml %]"
 [% IF user %]
-          exporter="[% user.login FILTER xml %]"
+          exporter="[% user.email FILTER xml %]"
 [% END %]
 >
 
@@ -53,6 +53,7 @@
 
       [% IF displayfields.long_desc %]
         [% FOREACH c = bug.longdescs %]
+          [% NEXT IF c.isprivate && !UserInGroup(Param("insidergroup")) %]
           <long_desc>
             <who>[% c.email FILTER xml %]</who>
             <bug_when>[% c.time FILTER time FILTER xml %]</bug_when>
@@ -63,6 +64,7 @@
       
       [% IF displayfields.attachment %]
         [% FOREACH a = bug.attachments %]
+          [% NEXT IF a.isprivate && !UserInGroup(Param("insidergroup")) %]
           <attachment>
             <attachid>[% a.attachid %]</attachid>
             <date>[% a.date FILTER time FILTER xml %]</date>
diff --git a/template/en/default/bug/votes/CVS/Entries b/template/en/default/bug/votes/CVS/Entries
index fa0c680c720ac9d303dedf10f8fad9a4c6eba27b..b9561d8462d1cdc87eeba6fcc427940fdf89c064 100644
--- a/template/en/default/bug/votes/CVS/Entries
+++ b/template/en/default/bug/votes/CVS/Entries
@@ -1,4 +1,4 @@
-/delete-all.html.tmpl/1.6/Sun Jan 18 18:39:26 2004//TBUGZILLA-2_17_7
-/list-for-bug.html.tmpl/1.9/Sun Jan 18 18:39:26 2004//TBUGZILLA-2_17_7
-/list-for-user.html.tmpl/1.12/Sun Jan 18 18:39:26 2004//TBUGZILLA-2_17_7
+/delete-all.html.tmpl/1.6/Sun Jan 18 18:39:26 2004//TBUGZILLA-2_18
+/list-for-bug.html.tmpl/1.9/Sun Jan 18 18:39:26 2004//TBUGZILLA-2_18
+/list-for-user.html.tmpl/1.15.2.1/Sat Jan  8 18:24:52 2005//TBUGZILLA-2_18
 D
diff --git a/template/en/default/bug/votes/CVS/Tag b/template/en/default/bug/votes/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/bug/votes/CVS/Tag
+++ b/template/en/default/bug/votes/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/bug/votes/list-for-user.html.tmpl b/template/en/default/bug/votes/list-for-user.html.tmpl
index abbf3f49c194a319b265ecce6d69bed6b2bd063f..9bb3a1dd63684cc440a5719a3d13c5f569a5b0e8 100644
--- a/template/en/default/bug/votes/list-for-user.html.tmpl
+++ b/template/en/default/bug/votes/list-for-user.html.tmpl
@@ -21,10 +21,12 @@
 
 [% PROCESS global/variables.none.tmpl %]
 
-[% h2 = voting_user.login FILTER html %]
-[% PROCESS global/header.html.tmpl
-           title = "Show Votes"
- %]
+[% IF !header_done %]
+  [% h2 = voting_user.login FILTER html %]
+  [% PROCESS global/header.html.tmpl title = "Show Votes" %]
+[% ELSE %]
+  <hr>
+[% END %]
 
 [% canedit = 1 IF voting_user.login == user.login %]
 
@@ -44,9 +46,9 @@
     <table cellspacing="4">
       <tr>
         <td></td>
+        <th>Votes</th>
         <th>[% terms.Bug %] #</th>
         <th>Summary</th>
-        <th>Votes</th>
       </tr>
 
       [% onevoteproduct = 0 %]
@@ -75,17 +77,6 @@
         [% FOREACH bug = product.bugs %]
           <tr>
             <td></td>
-            <td>
-              [% "<strike>" IF NOT bug.opened %]
-                <a href="show_bug.cgi?id=[% bug.id %]">
-                  [% bug.id %]</a>
-              [% "</strike>" IF NOT bug.opened %]
-            </td>
-            <td>
-              <a href="votes.cgi?action=show_bug&amp;bug_id=[% bug.id %]">
-                [% bug.summary FILTER html %]
-              </a>
-            </td>
             <td align="right">
               [% IF canedit %]
                 [% IF product.onevoteonly %]
@@ -99,6 +90,16 @@
                 [% bug.count %]
               [% END %]
             </td>
+            <td align="right">
+              [% isclosed = !bug.opened %]
+                <a href="show_bug.cgi?id=[% bug.id %]">
+                  [% bug.id FILTER closed(isclosed) %]</a>
+            </td>
+            <td>
+              <a href="votes.cgi?action=show_bug&amp;bug_id=[% bug.id %]">
+                [% bug.summary FILTER html %]
+              </a>
+            </td>
           </tr>
         [% END %]
 
@@ -141,7 +142,7 @@
 [% END %]
 
 <p>
-  <a href="votehelp.html">Help with voting</a>.
+  <a href="page.cgi?id=voting.html">Help with voting</a>.
 </p>
 
 [% PROCESS global/footer.html.tmpl %]
diff --git a/template/en/default/filterexceptions.pl b/template/en/default/filterexceptions.pl
index 05b52c5b80cb29970535cfc7695e45b1315cf624..20c5a7823626c5570b6909a4e958d00350c09e7b 100644
--- a/template/en/default/filterexceptions.pl
+++ b/template/en/default/filterexceptions.pl
@@ -174,7 +174,7 @@
 'reports/series-common.html.tmpl' => [
   'sel.name', 
   'sel.accesskey', 
-  '"onchange=\'$sel.onchange\'" IF sel.onchange', 
+  '"onchange=\"$sel.onchange\"" IF sel.onchange', 
 ],
 
 'reports/chart.csv.tmpl' => [
@@ -197,7 +197,7 @@
 'list/edit-multiple.html.tmpl' => [
   'group.id', 
   'group.description',
-  'group.description FILTER strike', 
+  'group.description FILTER inactive', 
   'knum', 
   'menuname', 
 ],
@@ -450,6 +450,7 @@
 
 'attachment/show-multiple.html.tmpl' => [
   'a.attachid', 
+  'flag.status'
 ],
 
 'attachment/updated.html.tmpl' => [
@@ -459,9 +460,8 @@
 
 'attachment/diff-header.html.tmpl' => [
   'attachid',
+  'id',
   'bugid',
-  'old_url',
-  'new_url',
   'oldid',
   'newid',
   'style',
diff --git a/template/en/default/flag/CVS/Entries b/template/en/default/flag/CVS/Entries
index 4331fc2d773f8d15dfb81dfa970e9e3270c7b2b1..2f2a64f5d32fa6866b1a5be006b8678603067486 100644
--- a/template/en/default/flag/CVS/Entries
+++ b/template/en/default/flag/CVS/Entries
@@ -1,2 +1,2 @@
-/list.html.tmpl/1.12/Sun Jan 18 18:39:27 2004//TBUGZILLA-2_17_7
+/list.html.tmpl/1.12.2.2/Tue Dec 28 23:50:57 2004//TBUGZILLA-2_18
 D
diff --git a/template/en/default/flag/CVS/Tag b/template/en/default/flag/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/flag/CVS/Tag
+++ b/template/en/default/flag/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/flag/list.html.tmpl b/template/en/default/flag/list.html.tmpl
index 1b99bfb6d57f6f02e3e6071706416274312a6b38..cfec38144fcfa1ba7a99bf4d2e6ff0a1ce47dcc5 100644
--- a/template/en/default/flag/list.html.tmpl
+++ b/template/en/default/flag/list.html.tmpl
@@ -21,6 +21,7 @@
 
 <script type="text/javascript">
 <!-- 
+  var stored_onload = window.onload;
   // Enables or disables a requestee field depending on whether or not
   // the user is requesting the corresponding flag.
   function toggleRequesteeField(flagField)
@@ -56,6 +57,9 @@
             inputElement.disabled = true;
       }
     }
+    if (stored_onload) {
+        stored_onload();
+    }
   }
   window.onload = disableRequesteeFields;
 // -->
@@ -100,7 +104,7 @@
             [% IF type.is_active %]
               <option value="+" [% "selected" IF flag.status == "+" %]>+</option>
               <option value="-" [% "selected" IF flag.status == "-" %]>-</option>
-              [% IF type.is_requestable %]
+              [% IF type.is_requestable || flag.status == "?" %]
                 <option value="?" [% "selected" IF flag.status == "?" %]>?</option>
               [% END %]
             [% ELSE %]
diff --git a/template/en/default/global/CVS/Entries b/template/en/default/global/CVS/Entries
index d53a3fcc928ccc9f5279872f8fe8cb56341774c5..c97c7f947144dc000b938789437e13911aaff69d 100644
--- a/template/en/default/global/CVS/Entries
+++ b/template/en/default/global/CVS/Entries
@@ -1,19 +1,19 @@
-/banner.html.tmpl/1.6/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_17_7
-/choose-product.html.tmpl/1.10/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_17_7
-/code-error.html.tmpl/1.36/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_17_7
-/confirm-user-match.html.tmpl/1.7/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_17_7
-/field-descs.none.tmpl/1.2/Thu Jul  3 21:31:50 2003//TBUGZILLA-2_17_7
-/footer.html.tmpl/1.11/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_17_7
-/header.html.tmpl/1.23/Tue Feb  3 22:08:24 2004//TBUGZILLA-2_17_7
-/help-header.html.tmpl/1.3/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_17_7
-/help.html.tmpl/1.3/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_17_7
-/hidden-fields.html.tmpl/1.8/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_17_7
-/initialize.none.tmpl/1.1/Sun Jan 11 17:12:14 2004//TBUGZILLA-2_17_7
-/message.html.tmpl/1.7/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_17_7
-/messages.html.tmpl/1.20/Thu Feb 12 22:32:57 2004//TBUGZILLA-2_17_7
-/select-menu.html.tmpl/1.4/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_17_7
-/site-navigation.html.tmpl/1.10/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_17_7
-/useful-links.html.tmpl/1.22/Mon Feb  2 23:35:59 2004//TBUGZILLA-2_17_7
-/user-error.html.tmpl/1.49/Thu Feb 12 22:32:57 2004//TBUGZILLA-2_17_7
-/variables.none.tmpl/1.1/Thu Jul  3 21:32:11 2003//TBUGZILLA-2_17_7
+/banner.html.tmpl/1.8/Tue Jun 22 21:07:38 2004//TBUGZILLA-2_18
+/choose-product.html.tmpl/1.10/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_18
+/code-error.html.tmpl/1.39.2.3/Mon Jan  3 20:55:54 2005//TBUGZILLA-2_18
+/confirm-user-match.html.tmpl/1.7.2.1/Sat Nov 20 14:29:23 2004//TBUGZILLA-2_18
+/field-descs.none.tmpl/1.2.2.1/Tue Dec 21 09:10:14 2004//TBUGZILLA-2_18
+/footer.html.tmpl/1.12/Tue Jun 22 21:07:38 2004//TBUGZILLA-2_18
+/header.html.tmpl/1.24.2.4/Tue Nov  2 22:54:12 2004//TBUGZILLA-2_18
+/help-header.html.tmpl/1.3/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_18
+/help.html.tmpl/1.3/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_18
+/hidden-fields.html.tmpl/1.8/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_18
+/initialize.none.tmpl/1.1/Sun Jan 11 17:12:14 2004//TBUGZILLA-2_18
+/message.html.tmpl/1.7/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_18
+/messages.html.tmpl/1.22.2.1/Fri Jan  7 21:33:30 2005//TBUGZILLA-2_18
+/select-menu.html.tmpl/1.4/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_18
+/site-navigation.html.tmpl/1.10/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_18
+/useful-links.html.tmpl/1.27.2.1/Mon Sep 27 22:55:30 2004//TBUGZILLA-2_18
+/user-error.html.tmpl/1.61.2.9/Fri Jan  7 21:33:30 2005//TBUGZILLA-2_18
+/variables.none.tmpl/1.1/Thu Jul  3 21:32:11 2003//TBUGZILLA-2_18
 D
diff --git a/template/en/default/global/CVS/Tag b/template/en/default/global/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/global/CVS/Tag
+++ b/template/en/default/global/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/global/banner.html.tmpl b/template/en/default/global/banner.html.tmpl
index a7cc7c6e10404d1b06fcfe12afeae2e662fad48d..42ccce1aafa33160d08e64aa758e625df31bc147 100644
--- a/template/en/default/global/banner.html.tmpl
+++ b/template/en/default/global/banner.html.tmpl
@@ -18,23 +18,21 @@
   #
   # Contributor(s): Gervase Markham <gerv@gerv.net>
   #                 Matthew Tuck <matty@chariot.net.au>
+  #                 Vitaly Harisov  <vitaly@rathedg.com>
   #%]
 
 [%# Migration note: this file corresponds to the old Param 'bannerhtml' %]
 
 [% PROCESS global/variables.none.tmpl %]
 
-    <table bgcolor="#000000" width="100%" border="0" cellpadding="0"
-           cellspacing="0">
-      <tr>
-        <td>
-          <center><font color="#FFFFFF" size="8">
-            This is [% terms.Bugzilla %]
-          </font></center>
-        </td>
-      </tr>
-    </table>
-
-    <center><font size="-1">
-      <a href="http://www.bugzilla.org/">Bugzilla</a> Version [% VERSION %]
-    </font></center>
+    <div id="banner">
+    <div class="intro"></div>
+      <p id="banner-name">
+        <span>This is [% terms.Bugzilla %]</span>
+      </p>
+      <p id="banner-version">
+        <a href="http://www.bugzilla.org/"><span>Bugzilla</span></a>
+        <span>Version [% VERSION %]</span>
+      </p>
+    <div class="outro"></div>
+    </div>
diff --git a/template/en/default/global/code-error.html.tmpl b/template/en/default/global/code-error.html.tmpl
index 342d67102d17c560231b2664bb8000839e942938..91acc8f064ecc91149f6c549673b10941ac810ee 100644
--- a/template/en/default/global/code-error.html.tmpl
+++ b/template/en/default/global/code-error.html.tmpl
@@ -56,6 +56,11 @@
   [% ELSIF error == "authres_unhandled" %]
     An authorization handler return value was not handled by the login code.
 
+  [% ELSIF error == "bad_page_cgi_id" %]
+    [% title = "Invalid Page ID" %]
+    The ID <code>[% page_id FILTER html %]</code> is not a
+    valid page identifier.
+
   [% ELSIF error == "bug_error" %]
     Trying to retrieve [% terms.bug %] [%+ bug.bug_id FILTER html %] returned 
     the error [% bug.error FILTER html %].
@@ -120,7 +125,7 @@
          
   [% ELSIF error == "invalid_component" %]
     [% title = "Invalid Component" %]
-    The [% component FILTER html %] component doesn't exist in the 
+    The [% name FILTER html %] component doesn't exist in the 
     [% product FILTER html %] product.
     
   [% ELSIF error == "invalid_dimensions" %]
@@ -149,7 +154,7 @@
     is invalid.
   
   [% ELSIF error == "flag_type_component_nonexistent" %]
-    The component <em>[% component FILTER html %]</em> does not exist
+    The component <em>[% name FILTER html %]</em> does not exist
     in the product <em>[% product FILTER html %]</em>.
   
   [% ELSIF error == "flag_type_component_without_product" %]
@@ -225,14 +230,6 @@
        I could not figure out what you wanted to do.
     [% END %]
 
-  [% ELSIF error == "unknown_component" %]
-    [% title = "Unknown Component" %]
-    There is no component named <em>[% component FILTER html %]</em>.
-
-  [% ELSIF error == "unknown_product" %]
-    [% title = "Unknown Product" %]
-    There is no product named <em>[% product FILTER html %]</em>.
-
   [% ELSE %]
     [% title = "Internal error" %]
     An internal error has occured, but [% terms.Bugzilla %] doesn't know
@@ -254,7 +251,10 @@
     the time this message appeared.
   </p>
   <script type="text/javascript"> <!--
-    document.write("<p>URL: " + document.location + "</p>");
+    document.write("<p>URL: " + 
+                    document.location.href.replace(/&/g,"&amp;")
+                                          .replace(/</g,"&lt;")
+                                          .replace(/>/g,"&gt;") + "</p>");
   // -->
   </script>
 </tt>
diff --git a/template/en/default/global/confirm-user-match.html.tmpl b/template/en/default/global/confirm-user-match.html.tmpl
index 59346c4cdc6fbf2f03ca4cb38f621784abff5509..25859cc0aaca0b16ce8d41b114d1a1501cd755e6 100644
--- a/template/en/default/global/confirm-user-match.html.tmpl
+++ b/template/en/default/global/confirm-user-match.html.tmpl
@@ -97,7 +97,7 @@
                     <select name="[% field.key FILTER html %]"
                      id="[% field.key FILTER html %]">
                       [% FOREACH match = query.value.users %]
-                        <option value="[% match.email FILTER html %]">
+                        <option value="[% match.login FILTER html %]">
                          [%- match.identity FILTER html -%]
                         </option>
                       [% END %]
@@ -118,7 +118,7 @@
                        multiple="multiple" size="[% query.value.users.size %]">
                       [% END %]
                       [% FOREACH match = query.value.users %]
-                        <option value="[% match.email FILTER html %]">
+                        <option value="[% match.login FILTER html %]">
                          [%- match.identity FILTER html -%]
                         </option>
                       [% END %]
diff --git a/template/en/default/global/field-descs.none.tmpl b/template/en/default/global/field-descs.none.tmpl
index 7a21ca056a6825988037913234e9d6e3d69fed7e..da804ca87bd14e457d715392b744ff86ecc6152b 100644
--- a/template/en/default/global/field-descs.none.tmpl
+++ b/template/en/default/global/field-descs.none.tmpl
@@ -26,6 +26,7 @@
 [% field_descs = { "[Bug creation]"       => "[$terms.Bug creation]",
                    "alias"                => "Alias",
                    "assigned_to"          => "Assignee",
+                   "blocked"              => "Blocks",
                    "bug_file_loc"         => "URL",
                    "bug_id"               => "$terms.Bug ID",
                    "bug_severity"         => "Severity",
@@ -37,6 +38,8 @@
                    "component"            => "Component",
                    "creation_ts"          => "$terms.Bug Creation time",
                    "delta_ts"             => "Last Changed time",
+                   "dependson"            => "Depends on",
+                   "dup_id"               => "Duplicate",
                    "estimated_time"       => "Orig. Est.",
                    "everconfirmed"        => "Ever confirmed?",
                    "groupset"             => "Groupset",
diff --git a/template/en/default/global/footer.html.tmpl b/template/en/default/global/footer.html.tmpl
index 4bde601d8fbee226f039e326578ad67fb7b8bd24..fc10166213074d93803ab5c13b84bb3e39ef4d81 100644
--- a/template/en/default/global/footer.html.tmpl
+++ b/template/en/default/global/footer.html.tmpl
@@ -17,6 +17,7 @@
   # Rights Reserved.
   #
   # Contributor(s): Gervase Markham <gerv@gerv.net>
+  #                 Svetlana Harisova <light@rathedg.com>
   #%]
 
 [%# INTERFACE:
@@ -30,13 +31,8 @@
   # 'footerhtml'
   #%]
 
-<table border="0">
-  <tr>
-    <td bgcolor="#000000" valign="top">
-      <table border="0" cellpadding="10" cellspacing="0" width="100%"
-             bgcolor="lightyellow">
-        <tr>
-          <td>
+<div id="footer">
+  <div class="intro"></div>
 
 [%# Migration note: the old param 'blurbhtml' goes here %]
 
@@ -44,11 +40,8 @@
 
            [% PROCESS "global/useful-links.html.tmpl" %]
 
-          </td>
-        </tr>
-      </table>
-    </td>
-  </tr>
-</table>
+  <div class="outro"></div>
+</div>
+
 </body>
 </html>
diff --git a/template/en/default/global/header.html.tmpl b/template/en/default/global/header.html.tmpl
index c64001bd488646864849cc0ff9c8c0f539e96af6..ff283396fa27e19e4f9a5f4e4492b8c59f50924e 100644
--- a/template/en/default/global/header.html.tmpl
+++ b/template/en/default/global/header.html.tmpl
@@ -28,6 +28,7 @@
   # h3: string. Right-aligned subheader.
   # bgcolor: string. the page's background color ("#rrggbb").
   # bodyattrs: any extra attributes for the <body> tag
+  # bodyclasses: array of extra CSS classes for the <body>
   # onload: string. JavaScript code to run when the page finishes loading.
   # javascript: string. Javascript to go in the header.
   # style: string. CSS style.
@@ -73,6 +74,8 @@
 
     [%+ INCLUDE "global/help-header.html.tmpl" %]
 
+    <link href="css/global.css" rel="stylesheet" type="text/css">
+
     [% IF style %]
       <style type="text/css">
         [% style %]
@@ -92,8 +95,11 @@
   #%]
 
   <body bgcolor="[% bgcolor %]" onload="[% onload %]"
-   id="[% Param('urlbase').replace('^https?://','').replace('/$','').replace('[@:/.]','-') %]"
-   [% bodyattrs %]>
+        class="[% Param('urlbase').replace('^https?://','').replace('/$','').replace('[-~@:/.]+','-') %]
+               [% FOREACH class = bodyclasses %]
+                 [% ' ' %][% class FILTER css_class_quote %]
+               [% END %]"
+        [% bodyattrs %]>
 
 [%# Migration note: the following file corresponds to the old Param
   # 'bannerhtml'
diff --git a/template/en/default/global/messages.html.tmpl b/template/en/default/global/messages.html.tmpl
index 7fc93f01387ee0804c37590d667914ece1c49c9b..b007af2e189fc3752359ccaeab3213f991d4cbe0 100644
--- a/template/en/default/global/messages.html.tmpl
+++ b/template/en/default/global/messages.html.tmpl
@@ -29,29 +29,29 @@
 
 [% message = BLOCK %]
   [% IF    message_tag == "buglist_adding_field" %]
-    [% title = "Adding field to query page..." %]
+    [% title = "Adding field to search page..." %]
     [% link  = "Click here if the page does not redisplay automatically." %]
 
   [% ELSIF message_tag == "buglist_load_named_query" %]
     [% title = BLOCK %]
-      Loading your query named [% namedcmd FILTER html %]
+      Loading your search named [% namedcmd FILTER html %]
     [% END %]
     [% link  = "Click here if the page does not redisplay automatically." %]
 
   [% ELSIF message_tag == "buglist_updated_named_query" %]
-    OK, your query named <code>[% queryname FILTER html %]</code> is updated.
+    OK, your search named <code>[% queryname FILTER html %]</code> is updated.
 
   [% ELSIF message_tag == "buglist_new_default_query" %]
-    OK, you now have a new default query.  You may
-    also bookmark the result of any individual query.
+    OK, you now have a new default search.  You may
+    also bookmark the result of any individual search.
 
   [% ELSIF message_tag == "buglist_new_named_query" %]
-    OK, you have a new query named <code>[% queryname FILTER html %]</code>.
+    OK, you have a new search named <code>[% queryname FILTER html %]</code>.
 
   [% ELSIF message_tag == "buglist_query_gone" %]
-    [% title = "Query is gone" %]
-    [% link  = "Go back to the query page." %]
-    OK, the <b>[% namedcmd FILTER html %]</b> query is gone.
+    [% title = "Search is gone" %]
+    [% link  = "Go back to the search page." %]
+    OK, the <b>[% namedcmd FILTER html %]</b> search is gone.
 
   [% ELSIF message_tag == "buglist_sorted_by_relevance" %]
     [% terms.Bugs %] on this list are sorted by relevance, with the most
@@ -60,7 +60,7 @@
 
   [% ELSIF message_tag == "change_columns" %]
     [% title = "Change columns" %]
-    Resubmitting your query with new columns...
+    Resubmitting your search with new columns...
     Click <a href="[% redirect_url FILTER html %]">here</a>
     if the page does not automatically refresh.
 
@@ -94,7 +94,7 @@
     [% title = "$terms.Bugzilla Login Changed" %]
     Your [% terms.Bugzilla %] login has been changed.
 
-  [% ELSIF message_tag == "password_change_canceled" %]
+  [% ELSIF message_tag == "password_change_cancelled" %]
     [% title = "Cancel Request to Change Password" %]
     Your request has been cancelled.
 
@@ -135,6 +135,12 @@
       <a href="editflagtypes.cgi">Back to flag types.</a>
     </p>
     
+  [% ELSIF message_tag == "product_invalid" %]
+    [% title = "$terms.Bugzilla Component Descriptions" %]
+    The product <em>[% product FILTER html %]</em> does not exist
+    or you don't have access to it. The following is a list of the
+    products you can choose from.
+
   [% ELSIF message_tag == "series_created" %]
     [% title = "Series Created" %]
       The series <em>[% series.category FILTER html %] /
diff --git a/template/en/default/global/useful-links.html.tmpl b/template/en/default/global/useful-links.html.tmpl
index f9415df9bb8af665ee3c5d58dd1585c376f2df43..b87988cb688a901503498c4166d5ba655019fa1b 100644
--- a/template/en/default/global/useful-links.html.tmpl
+++ b/template/en/default/global/useful-links.html.tmpl
@@ -17,6 +17,7 @@
   # Rights Reserved.
   #
   # Contributor(s): Gervase Markham <gerv@gerv.net>
+  #                 Svetlana Harisova <light@rathedg.com>
   #%]
 
 [%# Migration note: this whole file corresponds to the old %commandmenu% 
@@ -25,18 +26,16 @@
 [% PROCESS global/variables.none.tmpl %]
 
 <form method="get" action="show_bug.cgi">
-  <table width="100%">
-    <tr>
-      <td>
-        Actions:
-      </td>
-      
-      <td valign="middle" nowrap="nowrap">
+<div id="useful-links">
+  <div id="links-actions">
+    <div class="label">Actions:</div>
+    <div class="links">
+        <a href="[% Param('urlbase') %]">Home</a> | 
         <a href="enter_bug.cgi">New</a> | 
         <a href="query.cgi">Search</a> |
         
-        <input type="submit" value="Find"> [% terms.bug %] # 
-        <input name="id" size="6"> | 
+        <input class="btn" type="submit" value="Find"> [% terms.bug %] # 
+        <input class="txt" name="id" size="6"> | 
         
         <a href="report.cgi">Reports</a> 
         
@@ -48,47 +47,55 @@
         [% END %]
         
         [% IF user && Param('usevotes') %]
-          | <a href="votes.cgi?action=show_user">My Votes</a>
+          | <a href="votes.cgi?action=show_user">My&nbsp;Votes</a>
         [% END %]      
-      </td>
-
-      <td>&nbsp;</td>
+        
+        [% IF user.login %] 
+            [% ' | <a href="sanitycheck.cgi">Sanity&nbsp;check</a>' 
+                                                  IF user.groups.tweakparams %]
+            | <a href="relogin.cgi">Log&nbsp;out</a>&nbsp;
+              [% user.login FILTER html %]
+        [% ELSE %]
+            [% IF Param('createemailregexp') %]
+              | <a href="createaccount.cgi">New&nbsp;Account</a>
+            [% END %]
+            | <a href="query.cgi?GoAheadAndLogIn=1">Log&nbsp;In</a>
+        [% END %]
+    </div>
+  </div>
       
     [% IF user.login %] 
+  <div id="links-edit">
+    <div class="label">Edit:</div>
+    <div class="links">
 
-      <td valign="middle">
-        Edit <a href="userprefs.cgi">prefs</a>
-        [% ', <a href="editparams.cgi">parameters</a>' 
-                                                   IF user.groups.tweakparams %]
-        [% ', <a href="editusers.cgi">users</a>'     IF user.groups.editusers 
+        <a href="userprefs.cgi">Prefs</a>
+        [% ' | <a href="editparams.cgi">Parameters</a>' 
+                                                  IF user.groups.tweakparams %]
+        [% ' | <a href="editusers.cgi">Users</a>'     IF user.groups.editusers 
                                                   || user.can_bless %]
-        [% ', <a href="editproducts.cgi">products</a>' 
-                                                IF user.groups.editcomponents %]
-        [% ', <a href="editflagtypes.cgi">flags</a>'
-                                                IF user.groups.editcomponents %]
-        [% ', <a href="editgroups.cgi">groups</a>' 
-                                                  IF user.groups.creategroups %]
-        [% ', <a href="editkeywords.cgi">keywords</a>' 
-                                                  IF user.groups.editkeywords %]
-        [% Hook.process("edit") %]
-        [% ' | <a href="sanitycheck.cgi">Sanity&nbsp;check</a>' 
-                                                   IF user.groups.tweakparams %]
-
-        | <a href="relogin.cgi">Log&nbsp;out</a>&nbsp;
-          [% user.login FILTER html %]
-      </td>
-    </tr> 
+        [% ' | <a href="editproducts.cgi">Products</a>' 
+                                               IF user.groups.editcomponents %]
+        [% ' | <a href="editflagtypes.cgi">Flags</a>'
+                                               IF user.groups.editcomponents %]
+        [% ' | <a href="editgroups.cgi">Groups</a>' 
+                                                 IF user.groups.creategroups %]
+        [% ' | <a href="editkeywords.cgi">Keywords</a>' 
+                                                 IF user.groups.editkeywords %]
+    </div>
+  </div>
+    [% END %]
+    
 
     [%# Saved searches %]
     
-    <tr>
+  <div id="links-saved">
+    <div class="label">
       [% IF user.showmybugslink OR user.queries.size %]
-        <td>
           Saved&nbsp;Searches:
-        </td>
       [% END %]
-      
-      <td colspan="3">
+    </div>
+    <div class="links">
         [% IF user.showmybugslink %]
           [% filtered_username = user.login FILTER url_quote %]
           <a href="[% Param('mybugstemplate').replace('%userid%', filtered_username) %]">My&nbsp;[% terms.Bugs %]</a>
@@ -102,18 +109,7 @@
             [% print_pipe = 1 %]
           [% END %]
         [% END %]
-      </td>
-    </tr>
-
-    [% ELSE %]
-      <td valign="middle" align="right">
-        [% IF Param('createemailregexp') %]
-          <a href="createaccount.cgi">New&nbsp;Account</a> |
-        [% END %]
-        <a href="query.cgi?GoAheadAndLogIn=1">Log&nbsp;In</a>
-      </td>
-    </tr>
-    [% END %]
-
-  </table>
+    </div>
+  </div>
+</div>
 </form>
diff --git a/template/en/default/global/user-error.html.tmpl b/template/en/default/global/user-error.html.tmpl
index 3fa735cc37ea0dd8b6bacd08b4ae9b6af4438ba1..3d1df2d756a944da3d03ddd0cebc4c3b41a090be 100644
--- a/template/en/default/global/user-error.html.tmpl
+++ b/template/en/default/global/user-error.html.tmpl
@@ -41,7 +41,7 @@
 [% error_message = BLOCK %]
   [% IF    error == "account_creation_disabled" %]
     [% title = "Account Creation Disabled" %]
-    Account self-creation has been disabled or restricted.
+    User account creation has been disabled or restricted.
     <hr>
     New accounts must be created by an administrator.
 
@@ -118,9 +118,7 @@
 
   [% ELSIF error == "buglist_parameters_required" %]
     [% title = "Parameters Required" %]
-    [% url   = "query.cgi" %]
-    [% link  = "Please use the search form to specify some search criteria." %]
-    This script is not meant to be invoked without any search terms.
+    You may not search, or create saved searches, without any search terms.
 
   [% ELSIF error == "bugs_not_changed" %]
     [% title = BLOCK %][% terms.Bugs %] Not Changed[% END %]
@@ -154,16 +152,9 @@
     [% title = "Description Required" %]
     You must provide a description of the [% terms.bug %].
 
-  [% ELSIF error == "dupe_invalid_bug_id" %]
-    [% title = BLOCK %]Valid [% terms.Bug %] Number Required[% END %]
-    You must specify a valid [% terms.bug %] number of which this 
-    [%+ terms.bug %] is a duplicate.  The [% terms.bug %] has not been changed.
-
   [% ELSIF error == "dupe_of_self_disallowed" %]
-    [% title = "Nice Try..." %]
-    Nice try, [% user.login FILTER html %], but it doesn't
-    really make sense to mark [% terms.abug %] as a duplicate of itself,
-    does it?
+    [% title = "Cannot mark $terms.abug as a duplicate of itself" %]
+    You can't mark [% terms.abug %] as a duplicate of itself.
 
   [% ELSIF error == "email_change_in_progress" %]
     [% title = "Email Change Already In Progress" %]
@@ -190,7 +181,8 @@
     KB.
     If your attachment is an image, try converting it to a compressable
     format like JPG or PNG, or put it elsewhere on the web and
-    link to it from the [% terms.bug %]'s URL field or in a comment on the [% terms.bug %].
+    link to it from the [% terms.bug %]'s URL field or a comment in 
+    the [% terms.bug %].
 
   [% ELSIF error == "flag_requestee_unauthorized" %]
     [% title = "Flag Requestee Not Authorized" %]
@@ -199,9 +191,9 @@
     for <code>[% flag_type.name FILTER html %]</code> on [% terms.bug %] 
     [% bug_id FILTER html -%]
     [% IF attach_id %], attachment [% attach_id FILTER html %][% END %], 
-    but that [% terms.bug %]&bnsp;
-    has been restricted to users in certain groups, and the user you asked
-    isn't in all the groups to which the [% terms.bug %] has been restricted.
+    but that [% terms.bug %] has been restricted to users in certain groups, 
+    and the user you asked isn't in all the groups to which 
+    the [% terms.bug %] has been restricted.
     Please choose someone else to ask, or make the [% terms.bug %] accessible to users
     on its CC: list and add that user to the list.
 
@@ -227,7 +219,8 @@
 
   [% ELSIF error == "flag_type_name_invalid" %]
     [% title = "Flag Type Name Invalid" %]
-    The name <em>[% name FILTER html %]</em> must be 1-50 characters long.
+    The name <em>[% name FILTER html %]</em> must be 1-50 characters long
+    and must not contain any spaces or commas.
 
   [% ELSIF error == "format_not_found" %]
     [% title = "Format Not Found" %]
@@ -240,7 +233,7 @@
     It cannot be <em>[% sortkey FILTER html %]</em>.
   
   [% ELSIF error == "illegal_at_least_x_votes" %]
-    [% title = "Your Query Makes No Sense" %]
+    [% title = "Your Search Makes No Sense" %]
     The <em>At least ___ votes</em> field must be a simple number. 
     You entered <tt>[% value FILTER html %]</tt>, which isn't.
     
@@ -254,7 +247,7 @@
     [%+ bug_id FILTER html %].
          
   [% ELSIF error == "illegal_attachment_is_patch" %]
-    [% title = "Your Query Makes No Sense" %]
+    [% title = "Your Search Makes No Sense" %]
     The only legal values for the <em>Attachment is patch</em> field are
     0 and 1.
          
@@ -268,7 +261,7 @@
     sufficiently empowered user, may change that field.
   
   [% ELSIF error == "illegal_changed_in_last_x_days" %]
-    [% title = "Your Query Makes No Sense" %]
+    [% title = "Your Search Makes No Sense" %]
     The <em>Changed in last ___ days</em> field must be a simple number. 
     You entered <tt>[% value FILTER html %]</tt>, which isn't.
     
@@ -278,7 +271,7 @@
     
   [% ELSIF error == "illegal_email_address" %]
     [% title = "Invalid Email Address" %]
-    The e-mail address you entered(<b>[% addr FILTER html %]</b>) 
+    The e-mail address you entered (<b>[% addr FILTER html %]</b>) 
     didn't pass our syntax checking for a legal email address. 
     [%+ Param('emailregexpdesc') %]
     It must also not contain any of these special characters:
@@ -295,13 +288,13 @@
     [% groupname FILTER html %]&quot; is illegal.
 
   [% ELSIF error == "illegal_is_obsolete" %]
-    [% title = "Your Query Makes No Sense" %]
+    [% title = "Your Search Makes No Sense" %]
     The only legal values for the <em>Attachment is obsolete</em> field are
     0 and 1.
 
   [% ELSIF error == "illegal_query_name" %]
-    [% title = "Illegal Query Name" %]
-    The name of your query cannot contain any of the following characters: 
+    [% title = "Illegal Search Name" %]
+    The name of your search cannot contain any of the following characters: 
     &lt;, &gt;, &amp;.
 
   [% ELSIF error == "illegal_series_creation" %]
@@ -328,25 +321,28 @@
     [% title = "Invalid Attachment ID" %]
     The attachment id [% attach_id FILTER html %] is invalid.
 
-  [% ELSIF error == "invalid_bug_id" %]
-    [% title = BLOCK %]Invalid [% terms.Bug %] ID[% END %]
-    The [% terms.bug %] id [% bug_id FILTER html %] is invalid.
-
   [% ELSIF error == "invalid_bug_id_non_existent" %]
     [% title = BLOCK %]Invalid [% terms.Bug %] ID[% END %]
     [% terms.Bug %] #[% bug_id FILTER html %] does not exist.
     
   [% ELSIF error == "invalid_bug_id_or_alias" %]
     [% title = BLOCK %]Invalid [% terms.Bug %] ID[% END %]
-    The '[% terms.bug %] number' <em>[% bug_id FILTER html %]</em> is invalid.
-    [% IF Param("usebugaliases") %]
-      It is neither [% terms.abug %] number nor an alias to [% terms.abug %]
-      number.
+    [% IF bug_id %]
+      '[% bug_id FILTER html %]' is not a valid [% terms.bug %] number
+      [% IF Param("usebugaliases") %]
+        nor an alias to [% terms.abug %] number
+      [% END %].
+    [% ELSE %]
+      [% IF field %]
+        The '[% field_descs.$field FILTER html %]' field
+        cannot be empty.
+      [% END %]
+      You must enter a valid [% terms.bug %] number!
     [% END %]
-    If you are trying to use QuickSearch, you need to enable JavaScript 
-    in your browser. To help us fix this limitation, add your comments to 
-    <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=70907">b<!--
-    word broken up to pass test 009 -->ug 70907</a>.
+    <noscript>
+      If you are trying to use QuickSearch, you need to enable
+      JavaScript in your browser.
+    </noscript>
 
   [% ELSIF error == "invalid_changedsince" %]
     [% title = "Invalid 'Changed Since'" %]
@@ -373,10 +369,10 @@
     [% END %]
     ).
 
-  [% ELSIF error == "invalid_maxrow" %]
+  [% ELSIF error == "invalid_maxrows" %]
     [% title = "Invalid Max Rows" %]
-    The maximum number of rows, '[% maxrows FILTER html %]', must be a positive
-    integer.
+    The maximum number of rows, '[% maxrows FILTER html %]', must be
+    a positive integer.
 
   [% ELSIF error == "invalid_product_name" %]
     [% title = "Invalid Product Name" %]
@@ -460,7 +456,7 @@
     You must specify one or more datasets to plot.
     
   [% ELSIF error == "missing_email_type" %]
-    [% title = "Your Query Makes No Sense" %]
+    [% title = "Your Search Makes No Sense" %]
     You must specify one or more fields in which to search for
     <tt>[% email FILTER html %]</tt>.
     
@@ -473,8 +469,8 @@
     You did not specify a name for this series.
                 
   [% ELSIF error == "missing_query" %]
-    [% title = "Missing Query" %]
-    The query named <em>[% queryname FILTER html %]</em> does not
+    [% title = "Missing Search" %]
+    The search named <em>[% queryname FILTER html %]</em> does not
     exist.
         
   [% ELSIF error == "must_be_patch" %]
@@ -581,7 +577,7 @@
 
   [% ELSIF error == "old_password_required" %]
     [% title = "Old Password Required" %]
-    You must enter your old password to change email address.
+    You must enter your old password to change your email address.
 
   [% ELSIF error == "passwords_dont_match" %]
     [% title = "Passwords Don't Match" %]
@@ -604,18 +600,14 @@
     Patches cannot be more than [% Param('maxpatchsize') %] KB in size.
     Try breaking your patch into several pieces.
 
-  [% ELSIF error == "product_access_denied" %]
-    [% title = "Access Denied" %]
-    You do not have the permissions necessary to access that product.
-
   [% ELSIF error == "product_edit_denied" %]
     [% title = "Product Edit Access Denied" %]
     You are not permitted to edit [% terms.bugs %] in product 
     [% product FILTER html %].
 
   [% ELSIF error == "query_name_missing" %]
-    [% title = "No Query Name Specified" %]
-    You must enter a name for your query.
+    [% title = "No Search Name Specified" %]
+    You must enter a name for your search.
 
   [% ELSIF error == "quips_disabled" %]
     [% title = "Quips Disabled" %]
@@ -627,9 +619,9 @@
 
   [% ELSIF error == "reassign_to_empty" %]
     [% title = "Illegal Reassignment" %]
-    You cannot reassign to [% terms.abug %] to nobody. Unless you
-    intentionally cleared out the "Reassign [% terms.bug %] to"
-    field, [% Param("browserbugmessage") %]
+    To reassign [% terms.abug %], you must provide an address for
+    the new owner. If you did not intentionally clear out the 
+    "Reassign [% terms.bug %] to" field, [% Param("browserbugmessage") %]
 
   [% ELSIF error == "report_access_denied" %]
     [% title = "Access Denied" %]
@@ -642,7 +634,7 @@
 
   [% ELSIF error == "require_new_password" %]
     [% title = "New Password Needed" %]
-    You cannot change your password without submitting a new one.
+    You cannot change your password without choosing a new one.
 
   [% ELSIF error == "require_summary" %]
     [% title = "Summary Needed" %]
@@ -657,6 +649,12 @@
     [% title = "Access Denied" %]
     You do not have the permissions necessary to run a sanity check.
 
+  [% ELSIF error == "search_content_without_matches" %]
+    [% title = "Illegal Search" %]
+    The "content" field can only be used with "matches" search 
+    and the "matches" search can only be used with the "content"
+    field.
+
   [% ELSIF error == "series_already_exists" %]
     [% title = "Series Already Exists" %]
       A series named <em>[% series.category FILTER html %] /
@@ -668,6 +666,32 @@
     Sorry - sidebar.cgi currently only supports Mozilla based web browsers.
     <a href="http://www.mozilla.org">Upgrade today</a>. :-)
 
+  [% ELSIF error == "still_unresolved_bugs" %]
+    [% IF dependency_count == 1 %]
+      [% terms.Bug %]# <a href="show_bug.cgi?id=[% dependencies.0.bug_id FILTER none %]">[% dependencies.0.bug_id FILTER none %]</a>
+      has still [% dependencies.0.dependencies FILTER html %] unresolved
+      [% IF dependencies.0.dependencies == 1 %]
+        dependency
+      [% ELSE %]
+        dependencies
+      [% END %]. Show
+      <a href="showdependencytree.cgi?id=[% dependencies.0.bug_id FILTER none %]">Dependency Tree</a>.
+    [% ELSE %]
+      There are [% dependency_count FILTER none %] open [% terms.bugs %] which
+      have unresolved dependencies.
+      <br>
+      [% FOREACH bug = dependencies %]
+        [% terms.Bug %]# <a href="show_bug.cgi?id=[% bug.bug_id FILTER none %]">[% bug.bug_id FILTER none %]</a>
+        has [% bug.dependencies FILTER html %] open
+        [% IF bug.dependencies == 1 %]
+          dependency.
+        [% ELSE %]
+          dependencies.
+        [% END %]
+        (<a href="showdependencytree.cgi?id=[% bug.bug_id FILTER none %]">Dependency Tree</a>)<br>
+      [% END %]
+    [% END %]
+
   [% ELSIF error == "too_many_votes_for_bug" %]
     [% title = "Illegal Vote" %]
     You may only use at most [% max FILTER html %] votes for a single
@@ -686,6 +710,11 @@
     The token you submitted does not exist, has expired, or has
     been cancelled.
 
+  [% ELSIF error == "too_soon_for_new_token" %]
+    [% title = "Too Soon For New Token" %]
+    You have requested a password token too recently to request
+    another.  Please wait a while and try again.
+
   [% ELSIF error == "unknown_keyword" %]
     [% title = "Unknown Keyword" %]
     <code>[% keyword FILTER html %]</code> is not a known keyword.
@@ -752,7 +781,7 @@
   
 [% USE Bugzilla %]
 [% namedcmd = Bugzilla.cgi.param("namedcmd") %]
-[% IF namedcmd %]
+[% IF namedcmd AND error != "missing_query" %]
   <p>  
     Alternatively, you can    
     <a href="buglist.cgi?cmdtype=dorem&amp;remaction=forget&amp;namedcmd=
@@ -764,7 +793,7 @@
       [% END %]
     [% END %]
     
-    this saved search: '[% namedcmd FILTER html %]'.
+    the saved search '[% namedcmd FILTER html %]'.
   </p>
 [% END %]            
 
diff --git a/template/en/default/index.html.tmpl b/template/en/default/index.html.tmpl
index b8ea79826eea37377383334f47847f82ab957f25..5422061fdd1e3623be666f3d26177545846de07a 100644
--- a/template/en/default/index.html.tmpl
+++ b/template/en/default/index.html.tmpl
@@ -60,7 +60,7 @@ function addSidebar() {
 
   But it all boils down to a choice of:
   <p>
-  <a href="query.cgi">Query existing [% terms.bug %] reports</a><br>
+  <a href="query.cgi">Search existing [% terms.bug %] reports</a><br>
   <a href="enter_bug.cgi">Enter a new [% terms.bug %] report</a><br>
   <a href="report.cgi">Summary reports and charts</a><br>
   </p><p>
@@ -79,7 +79,7 @@ function addSidebar() {
   <form name="f" action="show_bug.cgi" method="get"
       onsubmit="QuickSearch(f.id.value); return false;">
   <p>
-  Enter a [% terms.bug %] # or some search terms:<br>
+  Enter [% terms.abug %] # or some search terms:<br>
   <input type="text" name="id">
   <input type="submit" value="Show">
   <a href="quicksearch.html">[Help]</a>
diff --git a/template/en/default/list/CVS/Entries b/template/en/default/list/CVS/Entries
index 28d84e9d71b868a9bbc6afcb75ce00cd046a4c79..e3748054c971a2df46f74eccae39c0d0094fa38c 100644
--- a/template/en/default/list/CVS/Entries
+++ b/template/en/default/list/CVS/Entries
@@ -1,11 +1,12 @@
-/change-columns.html.tmpl/1.12/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_17_7
-/edit-multiple.html.tmpl/1.13/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_17_7
-/list-simple.html.tmpl/1.7/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_17_7
-/list.csv.tmpl/1.3/Thu Jul  3 21:31:55 2003//TBUGZILLA-2_17_7
-/list.html.tmpl/1.24/Sun Feb 29 16:19:05 2004//TBUGZILLA-2_17_7
-/list.js.tmpl/1.2/Sat Nov  8 18:04:36 2003//TBUGZILLA-2_17_7
-/list.rdf.tmpl/1.4/Fri Nov 21 23:15:40 2003//TBUGZILLA-2_17_7
-/quips.html.tmpl/1.12/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_17_7
-/server-push.html.tmpl/1.4/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_17_7
-/table.html.tmpl/1.16/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_17_7
+/change-columns.html.tmpl/1.12/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_18
+/edit-multiple.html.tmpl/1.17.2.4/Fri Jan  7 21:24:21 2005//TBUGZILLA-2_18
+/list-simple.html.tmpl/1.7.2.1/Thu Oct 21 19:16:04 2004//TBUGZILLA-2_18
+/list.csv.tmpl/1.3/Thu Jul  3 21:31:55 2003//TBUGZILLA-2_18
+/list.html.tmpl/1.25.2.1/Sat Dec 25 19:39:48 2004//TBUGZILLA-2_18
+/list.ics.tmpl/1.3/Tue Mar 16 21:18:41 2004//TBUGZILLA-2_18
+/list.js.tmpl/1.2/Sat Nov  8 18:04:36 2003//TBUGZILLA-2_18
+/list.rdf.tmpl/1.4/Fri Nov 21 23:15:40 2003//TBUGZILLA-2_18
+/quips.html.tmpl/1.12/Sun Jan 18 18:39:28 2004//TBUGZILLA-2_18
+/server-push.html.tmpl/1.5/Thu Mar 18 21:51:19 2004//TBUGZILLA-2_18
+/table.html.tmpl/1.16.2.6/Fri Dec 31 10:56:20 2004//TBUGZILLA-2_18
 D
diff --git a/template/en/default/list/CVS/Tag b/template/en/default/list/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/list/CVS/Tag
+++ b/template/en/default/list/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/list/edit-multiple.html.tmpl b/template/en/default/list/edit-multiple.html.tmpl
index e35f66584add398b374199c1d2b868c7eb18a893..b2be4104650366b2813007250d71cffc9881a238 100644
--- a/template/en/default/list/edit-multiple.html.tmpl
+++ b/template/en/default/list/edit-multiple.html.tmpl
@@ -70,7 +70,7 @@
 
     <th>
       <label for="rep_platform">
-        <a href="bug_status.html#rep_platform">Platform</a>:
+        <a href="page.cgi?id=fields.html#rep_platform">Platform</a>:
       </label>
     </th>
     <td>
@@ -80,7 +80,7 @@
 
     <th>
       <label for="priority">
-        <a href="bug_status.html#priority">Priority</a>:
+        <a href="page.cgi?id=fields.html#priority">Priority</a>:
       </label>
     </th>
     <td>
@@ -99,7 +99,7 @@
 
     <th>
       <label for="bug_severity">
-        <a href="bug_status.html#severity">Severity</a>:
+        <a href="page.cgi?id=fields.html#bug_severity">Severity</a>:
       </label>
     </th>
     <td>
@@ -108,15 +108,16 @@
     </td>
 
   </tr>
-  <tr>
-
-    <th><label for="target_milestone">Target Milestone:</label></th>
-    <td colspan="3">
-      [% PROCESS selectmenu menuname = "target_milestone"
-                            menuitems = targetmilestones %]
-    </td>
 
-  </tr>
+  [% IF Param("usetargetmilestone") %]
+    <tr>
+      <th><label for="target_milestone">Target Milestone:</label></th>
+      <td colspan="3">
+        [% PROCESS selectmenu menuname = "target_milestone"
+                              menuitems = targetmilestones %]
+      </td>
+    </tr>
+  [% END %]
 
   [% IF UserInGroup(Param("timetrackinggroup")) %]
     <tr>
@@ -184,8 +185,6 @@
 
 </table>
 
-<input type="hidden" name="multiupdate" value="Y">
-
 <label for="comment"><b>Additional Comments:</b></label><br>
 <textarea id="comment" name="comment" rows="5" cols="80" wrap="hard"></textarea><br>
 
@@ -221,7 +220,7 @@
         [% IF group.isactive %]
           [% group.description %]
         [% ELSE %]
-          [% group.description FILTER strike %]
+          [% group.description FILTER inactive %]
         [% END %]
       </td>
 
@@ -231,8 +230,8 @@
   </table>
 
   [% IF foundinactive %]
-    <font size="-1">(Note: [% terms.Bugs %] may not be added to <strike>inactive
-    groups</strike>, only removed.)</font><br>
+    <font size="-1">(Note: [% terms.Bugs %] may not be added to [% FILTER inactive %]inactive
+    groups[% END %], only removed.)</font><br>
   [% END %]
 
 [% END %]
@@ -251,14 +250,15 @@
   </label><br>
 [% END %]
 
-[% knum = knum + 1 %]
-<input id="knob-accept" type="radio" name="knob" value="accept">
-<label for="knob-accept">
-  Accept [% terms.bugs %] (change status to <b>ASSIGNED</b>)
-</label><br>
-
-[%# If all the bugs being changed are open, allow the user to close them. %]
+[%# If all the bugs being changed are open, allow the user to accept them,
+    clear their resolution or resolve them. %]
 [% IF !bugstatuses.containsany(closedstates) %]
+  [% knum = knum + 1 %]
+  <input id="knob-accept" type="radio" name="knob" value="accept">
+  <label for="knob-accept">
+    Accept [% terms.bugs %] (change status to <b>ASSIGNED</b>)
+  </label><br>
+
   [% knum = knum + 1 %]
   <input id="knob-clearresolution" type="radio" name="knob" value="clearresolution">
   <label for="knob-clearresolution">Clear the resolution</label><br>
@@ -266,7 +266,7 @@
   [% knum = knum + 1 %]
   <input id="knob-resolve" type="radio" name="knob" value="resolve">
   <label for="knob-resolve">
-    Resolve [% terms.bugs %], changing <a href="bug_status.html">resolution</a> to
+    Resolve [% terms.bugs %], changing <a href="page.cgi?id=fields.html#resolution">resolution</a> to
   </label>
   <select name="resolution" onchange="document.forms.changeform.knob[[% knum %]].checked=true">
     [% FOREACH resolution = resolutions %]
@@ -291,16 +291,18 @@
     [% knum = knum + 1 %]
     <input id="knob-verify" type="radio" name="knob" value="verify">
     <label for="knob-verify">Mark [% terms.bugs %] as <b>VERIFIED</b></label><br>
-  [% ELSIF bugstatuses.contains('VERIFIED') %]
-    [% knum = knum + 1 %]
-    <input id="knob-close" type="radio" name="knob" value="close">
-    <label for="knob-close">Mark [% terms.bugs %] as <b>CLOSED</b></label><br>
   [% END %]
 [% END %]
 
+[% IF !bugstatuses.containsany(openstates) AND !bugstatuses.contains('CLOSED') %]
+  [% knum = knum + 1 %]
+  <input id="knob-close" type="radio" name="knob" value="close">
+  <label for="knob-close">Mark [% terms.bugs %] as <b>CLOSED</b></label><br>
+[% END %]
+
 [% knum = knum + 1 %]
 <input id="knob-reassign" type="radio" name="knob" value="reassign">
-<label for="knob-reassign"><a href="bug_status.html#assigned_to">
+<label for="knob-reassign"><a href="page.cgi?id=fields.html#assigned_to">
   Reassign</a> [% terms.bugs %] to
 </label>
 <input name="assigned_to"
diff --git a/template/en/default/list/list-simple.html.tmpl b/template/en/default/list/list-simple.html.tmpl
index 27271ac5b13c327b5c69088aa2f8e020244f23a5..9c37e77f9502bb7eb7731e0f9f7d953286b94440 100644
--- a/template/en/default/list/list-simple.html.tmpl
+++ b/template/en/default/list/list-simple.html.tmpl
@@ -41,6 +41,7 @@
 
   <head>
     <title>[% title %]</title>
+    <base href="[% Param("urlbase") %]">
     <link href="css/buglist.css" rel="stylesheet" type="text/css">
   </head>
 
diff --git a/template/en/default/list/list.html.tmpl b/template/en/default/list/list.html.tmpl
index 82cf5dbfdb80dd819577cef256667fff5bbcdc06..5a3926c5e587e3e18ab439f6894b7c10c124f16d 100644
--- a/template/en/default/list/list.html.tmpl
+++ b/template/en/default/list/list.html.tmpl
@@ -22,6 +22,7 @@
 [%# INTERFACE:
   # searchtype: string. Type of search - either "series", "saved" or undef.
   # ...
+  # defaultsavename: string. The default name for saving the query.
   #%]
 
 [%############################################################################%]
@@ -139,6 +140,8 @@
       <td valign="middle">
         <a href="buglist.cgi?
         [% urlquerypart FILTER html %]&amp;ctype=csv">CSV</a> |
+        <a href="buglist.cgi?
+        [% urlquerypart FILTER html %]&amp;ctype=ics">iCalendar</a> |
         <a href="colchange.cgi?
         [% urlquerypart FILTER html %]">Change&nbsp;Columns</a> |
 
@@ -157,7 +160,11 @@
     [% END %]
     
     <td valign="middle">
-      <a href="query.cgi?[% urlquerypart FILTER html %]">Edit&nbsp;Search</a>
+        [% editqueryname = searchname OR defaultsavename OR '' %]
+        <a href="query.cgi?[% urlquerypart FILTER html %]
+        [% IF editqueryname != '' %]&amp;known_name=
+            [% editqueryname FILTER url_quote %]
+        [% END %]">Edit&nbsp;Search</a>
     </td>
       
     [% IF searchtype == "saved" %]
@@ -177,7 +184,8 @@
                  value="[% urlquerypart FILTER html %]">
           <input type="hidden" name="cmdtype" value="doit">
           <input type="hidden" name="remtype" value="asnamed">
-          <input type="text" name="newqueryname" size="20"> 
+          <input type="text" name="newqueryname" size="20"
+                 value="[% defaultsavename FILTER html %]"> 
         </form> 
       </td>
     [% END %]  
diff --git a/template/en/default/list/list.ics.tmpl b/template/en/default/list/list.ics.tmpl
new file mode 100644
index 0000000000000000000000000000000000000000..27dc1b401ed9a5b7fb980b5197fceb365095b9c7
--- /dev/null
+++ b/template/en/default/list/list.ics.tmpl
@@ -0,0 +1,103 @@
+[%# 1.0@bugzilla.org %]
+[%# The contents of this file are subject to the Mozilla Public
+  # License Version 1.1 (the "License"); you may not use this file
+  # except in compliance with the License. You may obtain a copy of
+  # the License at http://www.mozilla.org/MPL/
+  #
+  # Software distributed under the License is distributed on an "AS
+  # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+  # implied. See the License for the specific language governing
+  # rights and limitations under the License.
+  #
+  # The Original Code is the Bugzilla Bug Tracking System.
+  #
+  # The Initial Developer of the Original Code is Netscape Communications
+  # Corporation. Portions created by Netscape are
+  # Copyright (C) 1998 Netscape Communications Corporation. All
+  # Rights Reserved.
+  #
+  # Contributor(s): William Jon McCann <mccann@jhu.edu>
+  #%]
+[% PROCESS global/variables.none.tmpl %]
+BEGIN:VCALENDAR
+CALSCALE:GREGORIAN
+[%+ PROCESS ics_prodid +%]
+VERSION:2.0
+[% FOREACH bug = bugs %]
+BEGIN:VTODO
+[%+ PROCESS ics_dtstart +%]
+[%+ PROCESS ics_summary +%]
+[%+ PROCESS ics_uid base_url=Param('urlbase') bug_id=bug.bug_id +%]
+[%+ PROCESS ics_url base_url=Param('urlbase') bug_id=bug.bug_id +%]
+[%+ PROCESS ics_status bug_status = bug.bug_status +%]
+[%+ PROCESS ics_dtstamp +%]
+[% IF bug.changeddate %]
+[%+ bug.changeddate FILTER ics('LAST-MODIFIED') +%]
+[% END %]
+[% IF bug.percentage_complete %]
+[%+ bug.percentage_complete FILTER format('%d') FILTER ics('PERCENT-COMPLETE') +%]
+[% END %]
+[% IF bug.product %]
+[%+ bug.product FILTER ics('X-BUGZILLA-PRODUCT') +%]
+[% END %]
+[% IF bug.component %]
+[%+ bug.component FILTER ics('X-BUGZILLA-COMPONENT') +%]
+[% END %]
+[% IF bug.version %]
+[%+ bug.version FILTER ics('X-BUGZILLA-VERSION') +%]
+[% END %]
+[% IF bug.keywords %]
+[%+ bug.keywords FILTER ics('X-BUGZILLA-KEYWORDS') +%]
+[% END %]
+END:VTODO
+[% END %]
+END:VCALENDAR
+
+[% BLOCK ics_prodid %]
+  [% "-//Mozilla/Bugzilla $VERSION//EN" FILTER ics('PRODID') %]
+[% END %]
+
+[% BLOCK ics_uid %]
+  [% "${bug_id}@${base_url}" FILTER uri FILTER ics('UID') %]
+[% END %]
+
+[% BLOCK ics_url %]
+  [% "${base_url}show_bug.cgi?id=${bug_id}" FILTER uri FILTER ics('URL;VALUE=URI') %]
+[% END %]
+
+[% BLOCK ics_dtstart %]
+  [% bug.opendate FILTER ics('DTSTART') %]
+[% END %]
+
+[% BLOCK ics_dtstamp %]
+  [% currenttime FILTER ics('DTSTAMP') %]
+[% END %]
+
+[% BLOCK ics_status %]
+  [% status = "" %]
+  [% FOREACH state = closedstates %]
+    [% IF bug_status == state %]
+      [% status = 'COMPLETED' %]
+      [% LAST %]
+    [% END %]
+  [% END %]
+  [% IF NOT status %]
+    [% IF bug_status == 'ASSIGNED' %]
+      [% status = 'IN-PROGRESS' %]
+    [% ELSE %]
+      [% status = 'NEEDS-ACTION' %]
+    [% END %]
+  [% END %]
+  [% status FILTER ics('STATUS') %]
+[% END %]
+
+[% BLOCK ics_summary %]
+  [% IF bug.short_desc %]
+    [% summary = bug.short_desc %]
+  [% ELSIF bug.short_short_desc %]
+    [% summary = bug.short_short_desc %]
+  [% ELSE %]
+    [% summary = "$terms.Bug $bug.bug_id" %]
+  [% END %]
+  [% summary FILTER ics('SUMMARY') %]
+[% END %]
diff --git a/template/en/default/list/server-push.html.tmpl b/template/en/default/list/server-push.html.tmpl
index 162818e94c6c759c90851587bbfad594ad34adac..4fb88e9b441656005fa888674730519344290a32 100644
--- a/template/en/default/list/server-push.html.tmpl
+++ b/template/en/default/list/server-push.html.tmpl
@@ -20,7 +20,7 @@
   #%]
 
 [%# INTERFACE:
-  # debug: boolean. True if we want the query displayed while we wait.
+  # debug: boolean. True if we want the search displayed while we wait.
   # query: string. The SQL query which makes the buglist.
   #%]
 
@@ -28,7 +28,7 @@
 
 <html>
   <head>
-    <title>[% terms.Bugzilla %] is pondering your query</title>
+    <title>[% terms.Bugzilla %] is pondering your search</title>
   </head>
   <body>
     <h1 style="margin-top: 20%; text-align: center;">Please stand by ...</h1>
diff --git a/template/en/default/list/table.html.tmpl b/template/en/default/list/table.html.tmpl
index fa2ca77665ebe5de6eafb39f1b3fac10a9cb7912..b89a4bbb131671d3155bd404de473014a050ea23 100644
--- a/template/en/default/list/table.html.tmpl
+++ b/template/en/default/list/table.html.tmpl
@@ -74,6 +74,9 @@
 [% tableheader = BLOCK %]
   <table class="bz_buglist" cellspacing="0" cellpadding="4" width="100%">
     <colgroup>
+      [% IF dotweak %]
+        <col class="bz_checkbox_column">
+      [% END %]
       <col class="bz_id_column">
       [% FOREACH id = displaycolumns %]
       <col class="bz_[% id FILTER css_class_quote %]_column">
@@ -84,12 +87,14 @@
       [% IF dotweak %]
       <th>&nbsp;</th>
       [% END %]
-      <th colspan="[% splitheader ? 2 : 1 %]">
+      <th colspan="[% splitheader ? 2 : 1 %]" class="first-child">
         [% IF sorted_by_relevance %]
           ID
         [% ELSE %]
           <a href="buglist.cgi?
-                    [% urlquerypart FILTER html %]&amp;order=bugs.bug_id">ID</a>
+                    [% urlquerypart FILTER html %]&amp;order=bugs.bug_id
+                    [%-#%]&amp;query_based_on=
+                    [% defaultsavename OR searchname FILTER html %]">ID</a>
         [% END %]
       </th>
 
@@ -128,7 +133,9 @@
     [% ELSE %]
       <a href="buglist.cgi?[% urlquerypart FILTER html %]&amp;order=
         [% column.name FILTER url_quote FILTER html %]
-        [% ",$qorder" FILTER html IF order %]">
+        [% ",$qorder" FILTER html IF order %]
+        [%-#%]&amp;query_based_on=
+        [% defaultsavename OR searchname FILTER html %]">
           [%- abbrev.$id.title || field_descs.$id || column.title -%]</a>
     [% END %]
   </th>
@@ -140,26 +147,31 @@
 [%############################################################################%]
 
 [% FOREACH bug = bugs %]
-  [% FLUSH IF loop.count() % 10 == 1 %]
+  [% count = loop.count() %]
+  [% FLUSH IF count % 10 == 1 %]
 
   [%# At the beginning of every hundred bugs in the list, start a new table. %]
-  [% IF loop.count() % 100 == 1 %]
+  [% IF count % 100 == 1 %]
     [% tableheader %]
   [% END %]
 
-  <tr class="bz_[% bug.bug_severity FILTER css_class_quote %]
-             bz_[% bug.priority FILTER css_class_quote %]
-             bz_[% bug.bug_status FILTER css_class_quote %]
-             bz_[% bug.resolution FILTER css_class_quote %]
-             [%+ "bz_secure" IF bug.isingroups %]">
+  <tr class="bz_[% bug.bug_severity FILTER css_class_quote -%]
+             bz_[% bug.priority FILTER css_class_quote -%]
+             bz_[% bug.bug_status FILTER css_class_quote -%]
+             [%+ "bz_$bug.resolution" FILTER css_class_quote IF bug.resolution -%]
+             [%+ "bz_secure" IF bug.isingroups -%]
+             [%+ count % 2 == 1 ? "bz_odd" : "bz_even" -%]
+             ">
+             
 
     [% IF dotweak %]
     <td>
       <input type="checkbox" name="id_[% bug.bug_id %]">
     </td>
     [% END %]
-    <td>
+    <td class="first-child">
       <a href="show_bug.cgi?id=[% bug.bug_id %]">[% bug.bug_id %]</a>
+      <span style="display: none">[%+ '[SEC]' IF bug.secure_mode %]</span>
     </td>
 
     [% FOREACH column = displaycolumns %]
@@ -188,4 +200,3 @@
   [% END %]
 
 [% END %]
-
diff --git a/template/en/default/pages/CVS/Entries b/template/en/default/pages/CVS/Entries
index 47453d61c4b1fdf5dc37da8870325132a3c86683..71a7f1f4a8c6b001124f1d007513f19f7ad60083 100644
--- a/template/en/default/pages/CVS/Entries
+++ b/template/en/default/pages/CVS/Entries
@@ -1,3 +1,6 @@
-/linked.html.tmpl/1.4/Sun Jan 18 18:39:29 2004//TBUGZILLA-2_17_7
-/linkify.html.tmpl/1.4/Sun Jan 18 18:39:29 2004//TBUGZILLA-2_17_7
+/bug-writing.html.tmpl/1.2/Thu Mar 18 16:21:57 2004//TBUGZILLA-2_18
+/fields.html.tmpl/1.2.2.1/Thu Nov 11 15:03:36 2004//TBUGZILLA-2_18
+/linked.html.tmpl/1.7/Sat Apr 17 04:41:19 2004//TBUGZILLA-2_18
+/linkify.html.tmpl/1.4/Sun Jan 18 18:39:29 2004//TBUGZILLA-2_18
+/voting.html.tmpl/1.2/Thu Mar 18 16:21:57 2004//TBUGZILLA-2_18
 D
diff --git a/template/en/default/pages/CVS/Tag b/template/en/default/pages/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/pages/CVS/Tag
+++ b/template/en/default/pages/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/pages/bug-writing.html.tmpl b/template/en/default/pages/bug-writing.html.tmpl
new file mode 100644
index 0000000000000000000000000000000000000000..c007b043b41fb511660cd79fa01f8395d91d9b4c
--- /dev/null
+++ b/template/en/default/pages/bug-writing.html.tmpl
@@ -0,0 +1,390 @@
+[%# 1.0@bugzilla.org %]
+[%# The contents of this file are subject to the Mozilla Public
+  # License Version 1.1 (the "License"); you may not use this file
+  # except in compliance with the License. You may obtain a copy of
+  # the License at http://www.mozilla.org/MPL/
+  #
+  # Software distributed under the License is distributed on an "AS
+  # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+  # implied. See the License for the specific language governing
+  # rights and limitations under the License.
+  #
+  # The Original Code is the Bugzilla Bug Tracking System.
+  #
+  # The Initial Developer of the Original Code is Netscape Communications
+  # Corporation. Portions created by Netscape are
+  # Copyright (C) 1998 Netscape Communications Corporation. All
+  # Rights Reserved.
+  #
+  # Contributor(s): Eli Goldberg <eli@prometheus-music.com>
+  #                 Gervase Markham <gerv@gerv.net>
+  #                 Claudius Gayle
+  #                 Peter Mock
+  #                 Chris Pratt
+  #                 Tom Schutter
+  #                 Chris Yeh
+  #%]
+  
+[% PROCESS global/variables.none.tmpl %] 
+[% INCLUDE global/header.html.tmpl title = "$terms.Bug Writing Guidelines" %] 
+
+<h3>Why You Should Read This</h3>
+
+<blockquote>
+  <p>Simply put, the more effectively you report [% terms.abug %], the more
+  likely an
+  engineer will actually fix it.</p>
+
+  <p>These guidelines are a general tutorial to teach novice and
+  intermediate [% terms.bug %] reporters how to compose effective 
+  [% terms.bug %] reports. Not
+  every sentence may precisely apply to your software project.</p>
+</blockquote>
+
+<h3>How to Write a Useful [% terms.Bug %] Report</h3>
+
+<blockquote>
+  <p>Useful [% terms.bug %] reports are ones that get [% terms.bugs %] fixed. 
+  A useful [% terms.bug %] report normally has two qualities:</p>
+
+  <ol>
+    <li><b>Reproducible.</b> If an engineer can't see the [% terms.bug %]
+    herself to prove that it exists, she'll probably stamp your [% terms.bug %]
+    report "WORKSFORME" or "INVALID" and move on to the next [% terms.bug %].
+    Every detail you can provide helps.<br>
+    <br>
+    </li>
+
+    <li><b>Specific.</b> The quicker the engineer can isolate the 
+    [% terms.bug %] to a specific area, the more likely she'll expediently 
+    fix it. (If a programmer or tester has to decipher [% terms.abug %], 
+    they may spend more time cursing the submitter than solving the 
+    problem.)<br>
+    <br>
+    [ <a href="#tips" name="Anchor">Tell Me More</a> ]</li>
+  </ol>
+
+  <p>Let's say the application you're testing is a web browser. You crash
+  at foo.com, and want to write up a [% terms.bug %] report:</p>
+
+  <blockquote>
+    <p><b>BAD:</b> "My browser crashed. I think I was on www.foo.com. I
+    play golf with Bill Gates, so you better fix this problem, or I'll
+    report you to him. By the way, your Back icon looks like a squashed
+    rodent. UGGGLY. And my grandmother's home page is all messed up in your
+    browser. Thx 4 UR help."</p>
+
+    <p><b>GOOD:</b> "I crashed each time I went to www.foo.com, using the
+    2002-02-25 build on a Windows 2000 system. I also rebooted into Linux,
+    and reproduced this problem using the 2002-02-24 Linux build.</p>
+
+    <p>It again crashed each time upon drawing the Foo banner at the top of
+    the page. I broke apart the page, and discovered that the following
+    image link will crash the application reproducibly, unless you remove
+    the "border=0" attribute:</p>
+
+    <p><tt>&lt;IMG SRC="http://www.foo.com/images/topics/topicfoos.gif"
+    width="34" height="44" border="0" alt="News"&gt;</tt></p>
+  </blockquote>
+</blockquote>
+
+<h3>How to Enter your Useful [% terms.Bug %] Report 
+    into [% terms.Bugzilla %]:</h3>
+
+<blockquote>
+  <p>Before you enter your [% terms.bug %], use [% terms.Bugzilla %]'s 
+  <a href="query.cgi">search page</a> to determine whether the defect 
+  you've discovered is a known, already-reported [% terms.bug %]. If 
+  your [% terms.bug %] is the 37th duplicate of a known issue,
+  you're more likely to annoy the engineer. (Annoyed engineers fix fewer
+  [% terms.bugs %].)</p>
+
+  <p>Next, be sure to reproduce your [% terms.bug %] using a recent build. 
+  Engineers tend to be most interested in problems affecting the code base 
+  that they're actively working on. After all, the [% terms.bug %] you're 
+  reporting may already be fixed.</p>
+
+  <p>If you've discovered a new [% terms.bug %] using a current build, report 
+  it in [% terms.Bugzilla %]:</p>
+
+  <ol>
+    <li>From your [% terms.Bugzilla %] main page, choose 
+    "<a href="enter_bug.cgi">Enter a new [% terms.bug %]</a>".</li>
+
+    <li>Select the product that you've found a [% terms.bug %] in.</li>
+
+    <li>Enter your e-mail address, password, and press the "Login" button.
+    (If you don't yet have a password, leave the password field empty, and
+    press the "E-mail me a password" button instead. You'll quickly receive
+    an e-mail message with your password.)</li>
+  </ol>
+
+  <p>Now, fill out the form. Here's what it all means:</p>
+
+  <p><b>Where did you find the [% terms.bug %]?</b></p>
+
+  <blockquote>
+    <p><b>Product: In which product did you find the [% terms.bug %]?</b><br>
+     You just specified this on the last page, so you can't edit it
+    here.</p>
+
+    <p><b>Version: In which product version did you find 
+          the [% terms.bug %]?</b><br>
+     (If applicable)</p>
+
+    <p><b>Component: In which component does the [% terms.bug %] 
+          exist?</b><br>
+    [% terms.Bugzilla %] requires that you select a component to enter 
+    a [% terms.bug %]. (Not sure which to choose? Click on the Component link. 
+    You'll see a description of each component, to help you make the best 
+    choice.)</p>
+
+    <p><b>OS: On which Operating System (OS) did you find 
+          this [% terms.bug %]?</b>
+    (e.g. Linux, Windows 2000, Mac OS 9.)<br>
+    If you know the [% terms.bug %] happens on all OSs, choose 'All'. 
+    Otherwise, select the OS that you found the [% terms.bug %] on, or 
+    "Other" if your OS isn't listed.</p>
+  </blockquote>
+
+  <p><b>How important is the [% terms.bug %]?</b></p>
+
+  <blockquote>
+    <p><b>Severity: How damaging is the [% terms.bug %]?</b><br>
+     This item defaults to 'normal'. If you're not sure what severity your
+    [% terms.bug %] deserves, click on the Severity link. You'll see a
+    description of each severity rating.<br>
+    </p>
+  </blockquote>
+
+  <p><b>Who will be following up on the [% terms.bug %]?</b></p>
+
+  <blockquote>
+    <p><b>Assigned To: Which engineer should be responsible for fixing
+    this [% terms.bug %]?</b><br>
+    [% terms.Bugzilla %] will automatically assign the [% terms.bug %] to a
+    default engineer upon submitting [% terms.abug %] report. If you'd prefer
+    to directly assign the [% terms.bug %] to someone else, enter their e-mail
+    address into this field. (To see the list of default engineers for each
+    component, click on the Component link.)</p>
+
+    <p><b>Cc: Who else should receive e-mail updates on changes to this
+    [% terms.bug %]?</b><br>
+     List the full e-mail addresses of other individuals who should receive
+    an e-mail update upon every change to the [% terms.bug %] report. You can
+    enter as many e-mail addresses as you'd like, separated by spaces or 
+    commas, as long as those people have [% terms.Bugzilla %] accounts.</p>
+  </blockquote>
+
+  <p><b>What else can you tell the engineer about the [% terms.bug %]?</b></p>
+
+  <blockquote>
+    <p><b>Summary:</b> <b>How would you describe the [% terms.bug %], in 
+    approximately 60 or fewer characters?</b><br>
+     A good summary should <b>quickly and uniquely identify [% terms.abug %]
+    report</b>. Otherwise, an engineer cannot meaningfully identify your
+    [% terms.bug %] by its summary, and will often fail to pay attention to 
+    your [% terms.bug %] report when skimming through a 10 
+    page [% terms.bug %] list.<br>
+    <br>
+     A useful summary might be "<tt>PCMCIA install fails on Tosh Tecra
+    780DVD w/ 3c589C</tt>". "<tt>Software fails</tt>" or "<tt>install
+    problem</tt>" would be examples of a bad summary.<br>
+    <br>
+     [ <a href="#summary">Tell Me More</a> ]<br>
+    <br>
+     <b>Description:</b><br>
+     Please provide a detailed problem report in this field. Your 
+     [% terms.bug %]'s recipients will most likely expect the following 
+     information:</p>
+
+    <blockquote>
+      <p><b>Overview Description:</b> More detailed expansion of
+      summary.</p>
+
+      <blockquote>
+<pre>
+Drag-selecting any page crashes Mac builds in NSGetFactory
+</pre>
+      </blockquote>
+
+      <p><b>Steps to Reproduce:</b> Minimized, easy-to-follow steps that
+      will trigger the [% terms.bug %]. Include any special setup steps.</p>
+
+      <blockquote>
+<pre>
+1) View any web page. (I used the default sample page,
+resource:/res/samples/test0.html)
+
+2) Drag-select the page. (Specifically, while holding down 
+the mouse button, drag the mouse pointer downwards from any 
+point in the browser's content region to the bottom of the 
+browser's content region.)                   
+</pre>
+      </blockquote>
+
+      <p><b>Actual Results:</b> What the application did after performing
+      the above steps.</p>
+
+      <blockquote>
+<pre>
+The application crashed. Stack crawl appended below from MacsBug.
+</pre>
+      </blockquote>
+
+      <p><b>Expected Results:</b> What the application should have done,
+      were the [% terms.bug %] not present.</p>
+
+      <blockquote>
+<pre>
+The window should scroll downwards. Scrolled content should be selected. 
+(Or, at least, the application should not crash.)
+</pre>
+      </blockquote>
+
+      <p><b>Build Date &amp; Platform:</b> Date and platform of the build
+      that you first encountered the [% terms.bug %] in.</p>
+
+      <blockquote>
+<pre>
+Build 2002-03-15 on Mac OS 9.0
+</pre>
+      </blockquote>
+
+      <p><b>Additional Builds and Platforms:</b> Whether or not 
+      the [% terms.bug %] takes place on other platforms (or browsers, 
+      if applicable).</p>
+
+      <blockquote>
+<pre>
+- Also Occurs On        
+Mozilla (2002-03-15 build on Windows NT 4.0) 
+
+- Doesn't Occur On        
+Mozilla (2002-03-15 build on Red Hat Linux; feature not supported)        
+Internet Explorer 5.0 (shipping build on Windows NT 4.0)        
+Netscape Communicator 4.5 (shipping build on Mac OS 9.0)
+</pre>
+      </blockquote>
+
+      <p><b>Additional Information:</b> Any other debugging information.
+      For crashing [% terms.bugs %]:</p>
+
+      <ul>
+        <li><b>Win32:</b> if you receive a Dr. Watson error, please note
+        the type of the crash, and the module that the application crashed
+        in. (e.g. access violation in apprunner.exe)</li>
+
+        <li><b>Mac OS:</b> if you're running MacsBug, please provide the
+        results of a <b>how</b> and an <b>sc</b>:</li>
+      </ul>
+
+      <blockquote>
+<pre>
+*** MACSBUG STACK CRAWL OF CRASH (Mac OS)
+Calling chain using A6/R1 links 
+Back chain  ISA  Caller 
+00000000    PPC  0BA85E74   
+03AEFD80    PPC  0B742248   
+03AEFD30    PPC  0B50FDDC  NSGetFactory+027FC
+PowerPC unmapped memory exception at 0B512BD0 NSGetFactory+055F0
+</pre>
+      </blockquote>
+    </blockquote>
+  </blockquote>
+
+  <p>You're done!<br>
+  <br>
+   After double-checking your entries for any possible errors, press the
+  "Commit" button, and your [% terms.bug %] report will now be in 
+  the [% terms.Bugzilla %] database.<br>
+  </p>
+</blockquote>
+<hr>
+
+<h3>More Information on Writing Good [% terms.Bugs %]</h3>
+
+<blockquote>
+  <p><b><a name="tips"></a> 1. General Tips for a Useful [% terms.Bug %] 
+     Report</b></p>
+
+  <blockquote>
+    <p><b>Use an explicit structure, so your [% terms.bug %] reports are easy
+    to skim.</b> [% terms.Bug %] report users often need immediate access to 
+    specific sections of your [% terms.bug %]. If your [% terms.Bugzilla %] 
+    installation supports the [% terms.Bugzilla %] Helper, use it.</p>
+
+    <p><b>Avoid cuteness if it costs clarity.</b> Nobody will be laughing
+    at your funny [% terms.bug %] title at 3:00 AM when they can't remember how 
+    to find your [% terms.bug %].</p>
+
+    <p><b>One [% terms.bug %] per report.</b> Completely different people 
+    typically fix, verify, and prioritize different [% terms.bugs %]. If you 
+    mix a handful of [% terms.bugs %] into a single report, the right people 
+    probably won't discover your [% terms.bugs %] in a timely fashion, or at 
+    all. Certain [% terms.bugs %] are also more important than others. It's 
+    impossible to prioritize [% terms.abug %] report when
+    it contains four different issues, all of differing importance.</p>
+
+    <p><b>No [% terms.bug %] is too trivial to report.</b> Unless you're 
+    reading the source code, you can't see actual software [% terms.bugs %], 
+    like a dangling pointer -- you'll see their visible manifestations, such 
+    as the segfault when the application finally crashes. Severe software 
+    problems can manifest themselves in superficially trivial ways. File them
+    anyway.<br>
+    </p>
+  </blockquote>
+
+  <p><b><a name="summary"></a>2. How and Why to Write Good [% terms.Bug %]
+  Summaries</b></p>
+
+  <blockquote>
+    <p><b>You want to make a good first impression on the [% terms.bug %]
+    recipient.</b> Just like a New York Times headline guides readers
+    towards a relevant article from dozens of choices, will 
+    your [% terms.bug %] summary suggest that your [% terms.bug %] report is 
+    worth reading from dozens or hundreds of choices?</p>
+
+    <p>Conversely, a vague [% terms.bug %] summary like <tt>install 
+    problem</tt> forces anyone reviewing installation [% terms.bugs %] to waste 
+    time opening up your [% terms.bug %] to determine whether it matters.</p>
+
+    <p><b>Your [% terms.bug %] will often be searched by its summary.</b> Just 
+    as you'd find web pages with Google by searching by keywords through 
+    intuition, so will other people locate your [% terms.bugs %]. 
+    Descriptive [% terms.bug %] summaries are
+    naturally keyword-rich, and easier to find.</p>
+
+    <p>For example, you'll find a [% terms.bug %] titled "<tt>Dragging icons 
+    from List View to gnome-terminal doesn't paste path</tt>" if you search on
+    "List", "terminal", or "path". Those search keywords wouldn't have
+    found a [% terms.bug %] titled "<tt>Dragging icons doesn't paste</tt>".</p>
+
+    <p>Ask yourself, "Would someone understand my [% terms.bug %] from just 
+    this summary?" If so, you've written a fine summary.</p>
+
+    <p><b>Don't write titles like these:</b></p>
+
+    <ol>
+      <li>"Can't install" - Why can't you install? What happens when you
+      try to install?</li>
+
+      <li>"Severe Performance Problems" - ...and they occur when you do
+      what?</li>
+
+      <li>"back button does not work" - Ever? At all?</li>
+    </ol>
+
+    <p><b>Good [% terms.bug %] titles:</b></p>
+
+    <ol>
+      <li>"1.0 upgrade installation fails if Mozilla M18 package present" -
+      Explains problem and the context.</li>
+
+      <li>"RPM 4 installer crashes if launched on Red Hat 6.2 (RPM 3)
+      system" - Explains what happens, and the context.</li>
+    </ol>
+  </blockquote>
+</blockquote>
+
+[% INCLUDE global/footer.html.tmpl %]
diff --git a/template/en/default/pages/fields.html.tmpl b/template/en/default/pages/fields.html.tmpl
new file mode 100644
index 0000000000000000000000000000000000000000..ac91b44d591e09e0ccae51b97a25a00ad5c2c067
--- /dev/null
+++ b/template/en/default/pages/fields.html.tmpl
@@ -0,0 +1,307 @@
+[%# 1.0@bugzilla.org %]
+[%# The contents of this file are subject to the Mozilla Public
+  # License Version 1.1 (the "License"); you may not use this file
+  # except in compliance with the License. You may obtain a copy of
+  # the License at http://www.mozilla.org/MPL/
+  #
+  # Software distributed under the License is distributed on an "AS
+  # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+  # implied. See the License for the specific language governing
+  # rights and limitations under the License.
+  #
+  # The Original Code is the Bugzilla Bug Tracking System.
+  #
+  # The Initial Developer of the Original Code is Netscape Communications
+  # Corporation. Portions created by Netscape are
+  # Copyright (C) 1998 Netscape Communications Corporation. All
+  # Rights Reserved.
+  #
+  # Contributor(s): Terry Weissman <terry@mozilla.org>
+  #                 Gervase Markham <gerv@gerv.net>
+  #%]
+
+[% PROCESS global/variables.none.tmpl %]
+[% INCLUDE global/header.html.tmpl title = "A $terms.Bug's Life Cycle" %]
+
+<p>
+The <b>status</b> and <b>resolution</b> fields define and track the life
+cycle of [% terms.abug %].  
+</p>
+
+<a name="status"></a>
+<a name="resolution"></a>
+
+<table border="1" cellpadding="4">
+  <tr align="center" valign="top">
+    <td width="50%">
+      <h1>STATUS</h1>
+    </td>
+
+    <td>
+      <h1>RESOLUTION</h1>
+    </td>
+  </tr>
+
+  <tr valign="top">
+    <td>The <b>status</b> field indicates the general health of a 
+    [% terms.bug %]. Only certain status transitions are allowed.</td>
+
+    <td>The <b>resolution</b> field indicates what happened to this
+    [% terms.bug %].</td>
+  </tr>
+
+  <tr valign="top">
+    <td>
+      <dl>
+        <dt>
+          <b>UNCONFIRMED</b>
+        </dt>
+        <dd>
+          This [% terms.bug %] has recently been added to the database. 
+          Nobody has validated that this [% terms.bug %] is true. Users
+          who have the "canconfirm" permission set may confirm
+          this [% terms.bug %], changing its state to NEW. Or, it may be
+          directly resolved and marked RESOLVED.
+        </dd>
+
+        <dt>
+          <b>NEW</b>
+        </dt>
+        <dd>
+          This [% terms.bug %] has recently been added to the assignee's
+          list of [% terms.bugs %] and must be processed. [% terms.Bugs %] in
+          this state may be accepted, and become <b>ASSIGNED</b>, passed
+          on to someone else, and remain <b>NEW</b>, or resolved and marked
+          <b>RESOLVED</b>.
+        </dd>
+
+        <dt>
+          <b>ASSIGNED</b>
+        </dt>
+        <dd>
+          This [% terms.bug %] is not yet resolved, but is assigned to the 
+          proper person. From here [% terms.bugs %] can be given to another 
+          person and become <b>NEW</b>, or resolved and become <b>RESOLVED</b>.
+        </dd>
+
+        <dt>
+          <b>REOPENED</b>
+        </dt>
+        <dd>
+          This [% terms.bug %] was once resolved, but the resolution was 
+          deemed incorrect. For example, a <b>WORKSFORME</b> [% terms.bug %] is
+          <b>REOPENED</b> when more information shows up and
+          the [% terms.bug %] is now reproducible. From here [% terms.bugs %] are
+          either marked <b>ASSIGNED</b> or <b>RESOLVED</b>.
+        </dd>
+      </dl>
+    </td>
+
+    <td>
+      <dl>
+        <dd>
+          No resolution yet. All [% terms.bugs %] which are in one of 
+          these "open" states have the resolution set to blank. All 
+          other [% terms.bugs %] will be marked with one of the following 
+          resolutions.
+        </dd>
+      </dl>
+    </td>
+  </tr>
+
+  <tr valign="top">
+    <td>
+      <dl>
+        <dt>
+          <b>RESOLVED</b>
+        </dt>
+        <dd>
+          A resolution has been taken, and it is awaiting verification by
+          QA. From here [% terms.bugs %] are either re-opened and become 
+          <b>REOPENED</b>, are marked <b>VERIFIED</b>, or are closed for
+          good and marked <b>CLOSED</b>.
+        </dd>
+
+        <dt>
+          <b>VERIFIED</b>
+        </dt>
+        <dd>
+          QA has looked at the [% terms.bug %] and the resolution and 
+          agrees that the appropriate resolution has been taken. [% terms.Bugs %] remain
+          in this state until the product they were reported
+          against actually ships, at which point they become
+          <b>CLOSED</b>.
+        </dd>
+
+        <dt>
+          <b>CLOSED</b>
+        </dt>
+        <dd>
+          The [% terms.bug %] is considered dead, the resolution is correct. 
+          Any zombie [% terms.bugs %] who choose to walk the earth again must 
+          do so by becoming <b>REOPENED</b>.
+        </dd>
+      </dl>
+    </td>
+
+    <td>
+      <dl>
+        <dt>
+          <b>FIXED</b>
+        </dt>
+        <dd>
+          A fix for this [% terms.bug %] is checked into the tree and 
+          tested.
+        </dd>
+
+        <dt>
+          <b>INVALID</b>
+        </dt>
+        <dd>
+          The problem described is not [% terms.abug %].
+        </dd>
+
+        <dt>
+          <b>WONTFIX</b>
+        </dt>
+        <dd>
+          The problem described is [% terms.abug %] which will never be 
+          fixed.
+        </dd>
+
+        <dt>
+         <b>DUPLICATE</b>
+        </dt>
+        <dd>
+          The problem is a duplicate of an existing [% terms.bug %].
+          Marking [% terms.abug %] duplicate requires the [% terms.bug %]#
+          of the duplicating [% terms.bug %] and will at least put
+          that [% terms.bug %] number in the description field.
+        </dd>
+
+        <dt>
+          <b>WORKSFORME</b>
+        </dt>
+        <dd>
+          All attempts at reproducing this [% terms.bug %] were futile, 
+          and reading the code produces no clues as to why the described
+          behavior would occur. If more information appears later,
+          the [% terms.bug %] can be reopened.
+        </dd>
+
+        <dt>
+          <b>MOVED</b>
+        </dt>
+        <dd>
+          The problem was specific to a related product 
+          whose [% terms.bugs %] are tracked in
+          another [% terms.bug %] database.
+          The [% terms.bug %] has been moved to that database.
+        </dd>
+      </dl>
+    </td>
+  </tr>
+</table>
+
+<h2><a name="bug_severity">Severity</a></h2>
+This field describes the impact of [% terms.abug %]. 
+
+<table>
+  <tr>
+    <th>Blocker</th>
+
+    <td>Blocks development and/or testing work</td>
+  </tr>
+
+  <tr>
+    <th>Critical</th>
+
+    <td>crashes, loss of data, severe memory leak</td>
+  </tr>
+
+  <tr>
+    <th>Major</th>
+
+    <td>major loss of function</td>
+  </tr>
+
+  <tr>
+    <th>Minor</th>
+
+    <td>minor loss of function, or other problem where easy
+    workaround is present</td>
+  </tr>
+
+  <tr>
+    <th>Trivial</th>
+
+    <td>cosmetic problem like misspelled words or misaligned
+    text</td>
+  </tr>
+
+  <tr>
+    <th>Enhancement</th>
+
+    <td>Request for enhancement</td>
+</table>
+
+<h2><a name="priority">Priority</a></h2>
+This field describes the importance and order in which [% terms.abug %]
+should be fixed. This field is utilized by the
+programmers/engineers to prioritize their work to be done. The
+available priorities range from <b>P1</b> (most important) to 
+<b>P5</b> (least important.) 
+
+
+<h2><a name="rep_platform">Platform</a></h2>
+This is the hardware platform against which the [% terms.bug %] was
+reported. Legal platforms include: 
+
+<ul>
+  <li>All (happens on all platforms; cross-platform [% terms.bug %])</li>
+
+  <li>Macintosh</li>
+
+  <li>PC</li>
+
+  <li>Sun</li>
+
+  <li>HP</li>
+</ul>
+<b>Note:</b> When searching, selecting the option "All" does not 
+select [% terms.bugs %]
+assigned against any platform. It merely selects [% terms.bugs %] that are
+marked as occurring on all platforms, i.e. are designated "All". 
+
+<h2><a name="op_sys">Operating System</a></h2>
+This is the operating system against which the [% terms.bug %] was
+reported. Legal operating systems include: 
+
+<ul>
+  <li>All (happens on all operating systems; cross-platform
+  [% terms.bug %])</li>
+
+  <li>Windows 95</li>
+
+  <li>Mac System 8.0</li>
+
+  <li>Linux</li>
+</ul>
+Sometimes the operating system implies the platform, but not
+always. For example, Linux can run on PC and Macintosh and
+others. 
+
+<h2><a name="assigned_to">Assigned To</a></h2>
+
+<p>
+This is the person in charge of resolving the [% terms.bug %]. Every time
+this field changes, the status changes to <b>NEW</b> to make it
+easy to see which new [% terms.bugs %] have appeared on a person's list.</p>
+
+<p>
+The default status for queries is set to NEW, ASSIGNED and
+REOPENED. When searching for [% terms.bugs %] that have been resolved or
+verified, remember to set the status field appropriately. 
+</p>
+
+[% INCLUDE global/footer.html.tmpl %]
diff --git a/template/en/default/pages/linked.html.tmpl b/template/en/default/pages/linked.html.tmpl
index 2a3521a35810c5fec4aaea482f6022c63c1dc274..fcb5ee9d0dd41b8003a564ede9d78e861650dd3c 100644
--- a/template/en/default/pages/linked.html.tmpl
+++ b/template/en/default/pages/linked.html.tmpl
@@ -21,6 +21,8 @@
   #%]
 
 [% INCLUDE global/header.html.tmpl title = "Your Linkified Text" %]
+[% USE Bugzilla %]
+[% cgi = Bugzilla.cgi %]
 
 <p>
   Copy and paste the text below:
@@ -30,7 +32,7 @@
 
 <p>
 <pre>
-[%- form.text FILTER quoteUrls FILTER html -%]
+[%- cgi.param("text") FILTER quoteUrls FILTER html -%]
 </pre>
 </p>
 
@@ -45,7 +47,7 @@
 
 <p>
 <pre>
-[%- form.text FILTER quoteUrls -%]
+[%- cgi.param("text") FILTER quoteUrls -%]
 </pre>
 </p>
 
diff --git a/template/en/default/pages/voting.html.tmpl b/template/en/default/pages/voting.html.tmpl
new file mode 100644
index 0000000000000000000000000000000000000000..f1d768307f9a943a21dba00b365676e31fb72c4a
--- /dev/null
+++ b/template/en/default/pages/voting.html.tmpl
@@ -0,0 +1,65 @@
+[%# 1.0@bugzilla.org %]
+[%# The contents of this file are subject to the Mozilla Public
+  # License Version 1.1 (the "License"); you may not use this file
+  # except in compliance with the License. You may obtain a copy of
+  # the License at http://www.mozilla.org/MPL/
+  #
+  # Software distributed under the License is distributed on an "AS
+  # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+  # implied. See the License for the specific language governing
+  # rights and limitations under the License.
+  #
+  # The Original Code is the Bugzilla Bug Tracking System.
+  #
+  # The Initial Developer of the Original Code is Netscape Communications
+  # Corporation. Portions created by Netscape are
+  # Copyright (C) 1998 Netscape Communications Corporation. All
+  # Rights Reserved.
+  #
+  # Contributor(s): Terry Weissman <terry@mozilla.org>
+  #                 Gervase Markham <gerv@gerv.net>
+  #%]
+
+[% PROCESS global/variables.none.tmpl %]
+[% INCLUDE global/header.html.tmpl title = "Voting" %]
+
+<p>[% terms.Bugzilla %] has a "voting" feature. Each product allows users to 
+have a certain number of votes. (Some products may not allow any, which means 
+you can't vote on things in that product at all.) With your vote, you indicate
+which [% terms.bugs %] you think are the most important to be fixed.</p>
+
+<p>Depending on how the administrator has configured the relevant product,
+you may be able to vote for the same [% terms.bug %] more than one time. But 
+remember, you only have so many votes to use in total! So, you can either vote 
+a little for many [% terms.bugs %], or vote a lot for a few [% terms.bugs %].
+</p>
+
+<p>To look at votes:</p>
+
+<ul>
+  <li>Go to the query page. Do a normal query, but enter 1 in the "At least
+  ___ votes" field. This will show you items that match your query that
+  have at least one vote.</li>
+</ul>
+
+<p>To vote for [% terms.abug %]:</p>
+
+<ul>
+  <li>Bring up the [% terms.bug %] in question.</li>
+
+  <li>Click on the "Vote for this [% terms.bug %]" link that appears just 
+  above the "Additional Comments" field. (If no such link appears, then voting 
+  may not be allowed in this [% terms.bug %]'s product.)</li>
+
+  <li>Indicate how many votes you want to give this [% terms.bug %]. This page 
+  also displays how many votes you've given to other [% terms.bugs %], so you 
+  may rebalance your votes as necessary.</li>
+</ul>
+
+<p>You will automatically get email notifying you of any changes that occur
+on [% terms.bugs %] you vote for.</p>
+
+<p>You may review your votes at any time by clicking on the "<a href=
+"votes.cgi?action=show_user">My Votes</a>" link in the page footer.</p>
+
+[% INCLUDE global/footer.html.tmpl %]
diff --git a/template/en/default/reports/CVS/Entries b/template/en/default/reports/CVS/Entries
index 9e5fcb37116b8a42fb49c6c716f796fef717dd3f..256491cfed5cbd64cdd5b800c3dce4be8a77ac10 100644
--- a/template/en/default/reports/CVS/Entries
+++ b/template/en/default/reports/CVS/Entries
@@ -1,22 +1,22 @@
-/chart.csv.tmpl/1.1/Wed Jun 25 23:23:01 2003//TBUGZILLA-2_17_7
-/chart.html.tmpl/1.2/Sun Jan 18 18:39:30 2004//TBUGZILLA-2_17_7
-/chart.png.tmpl/1.3/Sat Jan 24 21:40:31 2004//TBUGZILLA-2_17_7
-/components.html.tmpl/1.8/Sun Jan 18 18:39:30 2004//TBUGZILLA-2_17_7
-/create-chart.html.tmpl/1.8/Thu Feb 12 22:32:58 2004//TBUGZILLA-2_17_7
-/duplicates-simple.html.tmpl/1.4/Sun Jan 18 18:39:30 2004//TBUGZILLA-2_17_7
-/duplicates-table.html.tmpl/1.10/Sun Jan 18 18:39:30 2004//TBUGZILLA-2_17_7
-/duplicates.html.tmpl/1.14/Sun Jan 18 18:39:30 2004//TBUGZILLA-2_17_7
-/duplicates.rdf.tmpl/1.1/Tue Nov  5 01:54:15 2002//TBUGZILLA-2_17_7
-/edit-series.html.tmpl/1.5/Thu Feb 12 22:32:57 2004//TBUGZILLA-2_17_7
-/keywords.html.tmpl/1.6/Sun Jan 18 18:39:30 2004//TBUGZILLA-2_17_7
-/menu.html.tmpl/1.5/Sun Jan 18 18:39:30 2004//TBUGZILLA-2_17_7
-/report-bar.png.tmpl/1.4/Thu Jul  3 21:32:03 2003//TBUGZILLA-2_17_7
-/report-line.png.tmpl/1.5/Sat Jan 24 21:40:31 2004//TBUGZILLA-2_17_7
-/report-pie.png.tmpl/1.3/Mon Jan  6 07:54:22 2003//TBUGZILLA-2_17_7
-/report-table.csv.tmpl/1.5/Sat Sep  6 19:23:16 2003//TBUGZILLA-2_17_7
-/report-table.html.tmpl/1.9/Sun Jan 18 18:39:30 2004//TBUGZILLA-2_17_7
-/report.csv.tmpl/1.2/Mon Jan  6 07:54:22 2003//TBUGZILLA-2_17_7
-/report.html.tmpl/1.10/Sun Jan 18 18:39:30 2004//TBUGZILLA-2_17_7
-/series-common.html.tmpl/1.2/Sun Jan 18 18:39:30 2004//TBUGZILLA-2_17_7
-/series.html.tmpl/1.4/Thu Feb 12 22:32:58 2004//TBUGZILLA-2_17_7
+/chart.csv.tmpl/1.1/Wed Jun 25 23:23:01 2003//TBUGZILLA-2_18
+/chart.html.tmpl/1.2/Sun Jan 18 18:39:30 2004//TBUGZILLA-2_18
+/chart.png.tmpl/1.3/Sat Jan 24 21:40:31 2004//TBUGZILLA-2_18
+/components.html.tmpl/1.8/Sun Jan 18 18:39:30 2004//TBUGZILLA-2_18
+/create-chart.html.tmpl/1.8.2.2/Tue Sep 14 23:30:21 2004//TBUGZILLA-2_18
+/duplicates-simple.html.tmpl/1.4/Sun Jan 18 18:39:30 2004//TBUGZILLA-2_18
+/duplicates-table.html.tmpl/1.11/Tue Mar 16 23:53:01 2004//TBUGZILLA-2_18
+/duplicates.html.tmpl/1.14/Sun Jan 18 18:39:30 2004//TBUGZILLA-2_18
+/duplicates.rdf.tmpl/1.1/Tue Nov  5 01:54:15 2002//TBUGZILLA-2_18
+/edit-series.html.tmpl/1.5/Thu Feb 12 22:32:57 2004//TBUGZILLA-2_18
+/keywords.html.tmpl/1.6/Sun Jan 18 18:39:30 2004//TBUGZILLA-2_18
+/menu.html.tmpl/1.6/Tue Jul  6 01:12:29 2004//TBUGZILLA-2_18
+/report-bar.png.tmpl/1.4/Thu Jul  3 21:32:03 2003//TBUGZILLA-2_18
+/report-line.png.tmpl/1.5/Sat Jan 24 21:40:31 2004//TBUGZILLA-2_18
+/report-pie.png.tmpl/1.3/Mon Jan  6 07:54:22 2003//TBUGZILLA-2_18
+/report-table.csv.tmpl/1.5/Sat Sep  6 19:23:16 2003//TBUGZILLA-2_18
+/report-table.html.tmpl/1.9/Sun Jan 18 18:39:30 2004//TBUGZILLA-2_18
+/report.csv.tmpl/1.2/Mon Jan  6 07:54:22 2003//TBUGZILLA-2_18
+/report.html.tmpl/1.10/Sun Jan 18 18:39:30 2004//TBUGZILLA-2_18
+/series-common.html.tmpl/1.2.2.1/Tue Sep 14 23:30:21 2004//TBUGZILLA-2_18
+/series.html.tmpl/1.4.2.2/Tue Sep 14 23:30:21 2004//TBUGZILLA-2_18
 D
diff --git a/template/en/default/reports/CVS/Tag b/template/en/default/reports/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/reports/CVS/Tag
+++ b/template/en/default/reports/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/reports/create-chart.html.tmpl b/template/en/default/reports/create-chart.html.tmpl
index 28776662ab90cd58f22173ef973fff601f6c5300..445c7b9cb63777809a9097877b679c559385bf87 100644
--- a/template/en/default/reports/create-chart.html.tmpl
+++ b/template/en/default/reports/create-chart.html.tmpl
@@ -60,14 +60,6 @@ function subcatSelected() {
 [% gttext = "Grand Total" %]
 
 <form method="get" action="chart.cgi" name="chartform">  
-  <p>
-    <span style="color: red">
-      Note: this new charting system is in beta. This means that retention of
-      data or defined data sets is on a best-efforts basis only, and cannot be
-      guaranteed. Please file any [% terms.bugs %] you find or enhancement 
-      ideas you think of.
-    </span>
-  </p>
   
   <table cellpadding="2" cellspacing="2" border="0">
     [% IF NOT category OR category.size == 0 %]
@@ -79,9 +71,9 @@ function subcatSelected() {
     [% ELSE %]
       <tr>
         <th>Category:</th>
-        <noscript><th></th></noscript>
+        <th></th>
         <th>Sub-category:</th>
-        <noscript><th></th></noscript>
+        <th></th>
         <th>Name:</th>
         <th><br>
         </th>
@@ -93,30 +85,34 @@ function subcatSelected() {
                                          onchange = "catSelected();
                                                      subcatSelected();" } %]
                                    
-        <noscript>
-          <td>
+        <td>
+          <noscript>
             <input type="submit" name="action-assemble" value="Update --&gt;">
-          </td>
-        </noscript>
+          </noscript>
+        </td>
         
         [% PROCESS series_select sel = { name => 'subcategory', 
                                          size => 5,
                                          onchange = "subcatSelected()" } %]
                                    
-        <noscript>
-          <td>
-            <input type="submit" name="action-assemble" value="Update --%gt;">
-          </td>
-        </noscript>
+        <td>
+          <noscript>
+            <input type="submit" name="action-assemble" value="Update --&gt;">
+          </noscript>
+        </td>
         
         <td align="left">
           <label for="name" accesskey="N">
             <select name="name" id="name" style="width: 15em"
                     size="5" multiple="multiple"
+                    [%+ "disabled=\"disabled\"" UNLESS name.keys.size %]>
               [% FOREACH x = name.keys.sort %]
                 <option value="[% name.$x FILTER html %]">
                   [% x FILTER html %]</option>
               [% END %]
+              [% UNLESS name.keys.size %]
+                <option value="" disabled="disabled"></option>
+              [% END %]
             </select>
           </label>
         </td>
@@ -130,6 +126,8 @@ function subcatSelected() {
 
   <script language="JavaScript" type="text/javascript">
     document.chartform.category[0].selected = true;
+    document.chartform.subcategory.disabled = '';
+    document.chartform.name.disabled = '';
     catSelected();
     subcatSelected();
   </script>
@@ -144,7 +142,6 @@ function subcatSelected() {
         <th></th>
         <th>Data Set</th>
         <th></th>
-        <th></th>
       </tr>
       
       [%# The external loop has two counters; one which keeps track of where we
@@ -189,18 +186,6 @@ function subcatSelected() {
                      value="[% series.series_id %]">
             </td>
 
-            <td align="center">
-              [% IF NOT series.public %]
-                [% IF series.isSubscribed(user.id) %]
-                  <input type="submit" value="Unsubscribe" style="width: 12ex;"
-                         name="action-unsubscribe[% series.series_id %]">
-                [% ELSE %]
-                  <input type="submit" value="Subscribe" style="width: 12ex;"
-                         name="action-subscribe[% series.series_id %]">
-                [% END %]
-              [% END %]
-            </td>
-
             <td align="center">
               [% IF user.id == series.creator OR UserInGroup("admin") %]
                <a href="chart.cgi?action=edit&series_id=
@@ -233,7 +218,6 @@ function subcatSelected() {
             <i>[% gttext FILTER html %]</i>
           </td>
           <td></td>
-          <td></td>
         </tr>
       [% END %]
       <tr>
@@ -255,7 +239,7 @@ function subcatSelected() {
         </td>
 
         <td></td>
-        <td valign="bottom" colspan="2"> 
+        <td valign="bottom"> 
           <b>Date Range:</b> 
           <input type="text" size="12" name="datefrom" 
             value="[% time2str("%Y-%m-%d", chart.datefrom) IF chart.datefrom%]">
@@ -274,23 +258,9 @@ function subcatSelected() {
   [% END %]  
 </form>
 
-<h4>How Subscriptions Work</h4>
-
-<p>
-Administrators may mark data sets as public, which then show up in everyone's
-list. All others are not public, and you must explicitly subscribe to them in
-order for them to appear in your list.
-</p>
-
-<p>
-When you 
 [% IF UserInGroup('editbugs') %]
-  <a href="query.cgi?format=create-series">create a new data set</a>,
-[% ELSE %]
-  create a new data set,
+  <h3><a href="query.cgi?format=create-series">Create New Data Set</a></h3>
 [% END %]                 
-you are automatically subscribed to it. When the last person unsubscribes 
-from a data set, data stops being collected.
-</p>
 
 [% PROCESS global/footer.html.tmpl %]
+
diff --git a/template/en/default/reports/duplicates-table.html.tmpl b/template/en/default/reports/duplicates-table.html.tmpl
index f8ea3a457b9c9f3ad66736dbb723f0188cda6e4f..6017a1e4e2c05929bd7a1615b7e9ab6fcbe60e17 100644
--- a/template/en/default/reports/duplicates-table.html.tmpl
+++ b/template/en/default/reports/duplicates-table.html.tmpl
@@ -120,9 +120,8 @@
     <tr [% "class='resolved'" IF bug.resolution != "" %]>
       <td>
         <center>
-          [% "<strike>" IF bug.resolution != "" %]
-          <a href="show_bug.cgi?id=[% bug.id %]">[% bug.id %]</a>
-          [% "</strike>" IF bug.resolution != "" %]
+          [% isclosed = bug.resolution != "" %]
+          <a href="show_bug.cgi?id=[% bug.id %]">[% bug.id FILTER closed(isclosed) %]</a>
         </center>
       </td>
 
diff --git a/template/en/default/reports/menu.html.tmpl b/template/en/default/reports/menu.html.tmpl
index 7481790fd07fca5f6d1a33f56b16e53c165a448a..5ac1516d5edd0901dfea0bc6e898ed6db9d10d66 100644
--- a/template/en/default/reports/menu.html.tmpl
+++ b/template/en/default/reports/menu.html.tmpl
@@ -64,10 +64,12 @@
     plot the status and/or resolution of [% terms.bugs %] against
     time, for each product in your database.
   </li>
-  <li>
-    <strong><a href="chart.cgi">New Charts</a></strong> - 
-    plot any arbitrary search against time. Far more powerful.
-  </li>
+  [% IF UserInGroup(Param("chartgroup")) %]
+    <li>
+      <strong><a href="chart.cgi">New Charts</a></strong> - 
+      plot any arbitrary search against time. Far more powerful.
+    </li>
+  [% END %]
 </ul>
 
 [% PROCESS global/footer.html.tmpl %]
diff --git a/template/en/default/reports/series-common.html.tmpl b/template/en/default/reports/series-common.html.tmpl
index e10edd9e43221a380b0ca5a3be7084781906441b..06b6af87098a45bafe92dfd1a6de1357f979b0f2 100644
--- a/template/en/default/reports/series-common.html.tmpl
+++ b/template/en/default/reports/series-common.html.tmpl
@@ -30,7 +30,7 @@
 [% subcategory = category.${default.category} %]
 [% name = subcategory.${default.subcategory} %]
 
-<script>
+<script type="text/javascript">
 [%# This structure holds details of the series the user can select from. %]
 var series = {
 [% FOREACH c = category.keys.sort %]
@@ -102,7 +102,8 @@ function checkNewState() {
     <label for="[% sel.name %]" accesskey="[% sel.accesskey %]">
       <select name="[% sel.name %]" id="[% sel.name %]"
               size="[% sel.size %]" style="width: 15em"
-              [%+ "onchange='$sel.onchange'" IF sel.onchange %]>
+              [%+ "disabled=\"disabled\"" UNLESS ${sel.name}.keys.size || newtext %]
+              [%+ "onchange=\"$sel.onchange\"" IF sel.onchange %]>
         [% FOREACH x = ${sel.name}.keys.sort %]
           <option value="[% x FILTER html %]"
             [% " selected" IF default.${sel.name} == x %]>
@@ -110,6 +111,8 @@ function checkNewState() {
         [% END %]
         [% IF newtext %]
           <option value="">[% newtext FILTER html %]</option>
+        [% ELSIF NOT ${sel.name}.keys.size %]
+          <option value="" disabled="disabled"></option>
         [% END %]
       </select>
     </label>
diff --git a/template/en/default/reports/series.html.tmpl b/template/en/default/reports/series.html.tmpl
index 94eb02e9f2960d6957b955f234362f853739466b..d7580807024973242a605ea183ebdc1db148d8bb 100644
--- a/template/en/default/reports/series.html.tmpl
+++ b/template/en/default/reports/series.html.tmpl
@@ -36,7 +36,7 @@
   <tbody>
     <tr>
       <th>Category:</th>
-      <noscript><th></th></noscript>
+      <th></th>
       <th>Sub-category:</th>
       <th>Name:</th>
       <td></td>
@@ -45,11 +45,11 @@
       [% PROCESS series_select sel = { name => 'category',
                                        size => 5,
                                        onchange => "catSelected()" } %]
-        <noscript>
-          <td>
-            <input type="submit" name="action-edit" value="Update -->">
-          </td>
-        </noscript>
+        <td>
+          <noscript>
+            <input type="submit" name="action-edit" value="Update --&gt;">
+          </noscript>
+        </td>
         
       [% PROCESS series_select sel = { name => 'subcategory', 
                                        size => 5,
@@ -65,10 +65,13 @@
         <input type="text" size="2" name="frequency"
                value="[% (default.frequency.0 OR 7) FILTER html %]">
         <span style="font-weight: bold;">&nbsp;day(s)</span><br>
+        [%# Change 'admin' here and in Series.pm, or remove the check
+            completely, if you want to change who can make series public. %]
         [% IF UserInGroup('admin') %]      
           <input type="checkbox" name="public"
                  [% "checked='checked'" IF default.public.0 %]>
-          <span style="font-weight: bold;">Visible to all</span> 
+          <span style="font-weight: bold;">Visible to all<br>
+          (within group restrictions)</span> 
         [% END %]
       </td>
     </tr>
@@ -78,7 +81,7 @@
         <input type="text" style="width: 100%" name="newcategory" 
                maxlength="64" value="[% default.newcategory.0 FILTER html %]">
       </td>
-        <noscript><td></td></noscript>
+        <td></td>
       <td>
         <input type="text" style="width: 100%" name="newsubcategory"
                maxlength="64" 
diff --git a/template/en/default/request/CVS/Entries b/template/en/default/request/CVS/Entries
index 8240a6cd97c9eee3e3460a4d2c9c2671c004ea84..bc4af643dd5f247bbdc1a68ec91f10e6f27019c8 100644
--- a/template/en/default/request/CVS/Entries
+++ b/template/en/default/request/CVS/Entries
@@ -1,3 +1,3 @@
-/email.txt.tmpl/1.4/Mon Dec  1 12:24:33 2003//TBUGZILLA-2_17_7
-/queue.html.tmpl/1.9/Sun Jan 18 18:39:38 2004//TBUGZILLA-2_17_7
+/email.txt.tmpl/1.4/Mon Dec  1 12:24:33 2003//TBUGZILLA-2_18
+/queue.html.tmpl/1.10.2.1/Tue Dec 14 02:29:58 2004//TBUGZILLA-2_18
 D
diff --git a/template/en/default/request/CVS/Tag b/template/en/default/request/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/request/CVS/Tag
+++ b/template/en/default/request/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/request/queue.html.tmpl b/template/en/default/request/queue.html.tmpl
index c509324ed98db7f19d04b1d4bcca85718d65e67c..387110c506fa724d5e4129fe3d9d0e5003c2c965 100644
--- a/template/en/default/request/queue.html.tmpl
+++ b/template/en/default/request/queue.html.tmpl
@@ -21,7 +21,10 @@
 
 [% PROCESS global/variables.none.tmpl %]
 
-[%# The javascript and header_html blocks get used in header.html.tmpl. %]
+[% USE Bugzilla %]
+[% cgi = Bugzilla.cgi %]
+
+[%# The javascript block gets used in header.html.tmpl. %]
 [% javascript = BLOCK %]
   var usetms = 0; // do we have target milestone?
   var first_load = 1; // is this the first time we load the page?
@@ -33,10 +36,6 @@
   [% END %]
 [% END %]
 
-[% header_html = BLOCK %]
-  <script language="JavaScript" type="text/javascript" src="productmenu.js"></script>
-[% END %]
-
 [% filter_form = BLOCK %]
 <form action="request.cgi" method="get">
   <input type="hidden" name="action" value="queue">
@@ -44,14 +43,14 @@
   <table id="filter">
     <tr>
       <th>Requester:</th>
-      <td><input type="text" name="requester" value="[% form.requester FILTER html %]" size="20"></td>
+      <td><input type="text" name="requester" value="[% cgi.param('requester') FILTER html %]" size="20"></td>
       <th>Product:</th>
       <td>
         <select name="product" onchange="selectProduct(this.form, 'product', 'component', 'Any');">
           <option value="">Any</option>
           [% FOREACH item = products %]
             <option value="[% item FILTER html %]"
-                    [% "selected" IF form.product == item %]>[% item FILTER html %]</option>
+                    [% "selected" IF cgi.param('product') == item %]>[% item FILTER html %]</option>
           [% END %]
         </select>
       </td>
@@ -60,7 +59,7 @@
         [% PROCESS "global/select-menu.html.tmpl"
                     name="type"
                     options=types
-                    default=form.type %]
+                    default=cgi.param('type') %]
       </td>
 
       [%# We could let people see a "queue" of non-pending requests. %]
@@ -70,20 +69,20 @@
         [%# PROCESS "global/select-menu.html.tmpl"
                     name="status"
                     options=["all", "?", "+-", "+", "-"]
-                    default=form.status %]
+                    default=cgi.param('status') %]
       </td>
       -->
 
     </tr>
     <tr>
       <th>Requestee:</th>
-      <td><input type="text" name="requestee" value="[% form.requestee FILTER html %]" size="20"></td>
+      <td><input type="text" name="requestee" value="[% cgi.param('requestee') FILTER html %]" size="20"></td>
       <th>Component:</th>
       <td>
         <select name="component">
           <option value="">Any</option>
           [% FOREACH item = components %]
-            <option value="[% item FILTER html %]" [% "selected" IF form.component == item %]>
+            <option value="[% item FILTER html %]" [% "selected" IF cgi.param('component') == item %]>
               [% item FILTER html %]</option>
           [% END %]
         </select>
@@ -96,7 +95,7 @@
             "Flag" => 'type' ,
             "Product/Component" => 'category'
           } %]
-        [% PROCESS "global/select-menu.html.tmpl" name="group" options=groups default=form.group %]
+        [% PROCESS "global/select-menu.html.tmpl" name="group" options=groups default=cgi.param('group') %]
       </td>
       <td><input type="submit" value="Filter"></td>
     </tr>
@@ -128,6 +127,8 @@
     table.requests th { text-align: left; }
     table#filter th { text-align: right; }
   "
+  onload="selectProduct(document.forms[0], 'product', 'component', 'Any');"
+  javascript_urls=["productmenu.js"]
 %]
 
 [% IF debug %]
diff --git a/template/en/default/search/CVS/Entries b/template/en/default/search/CVS/Entries
index 7f8d7a3064230d4959dcfe5d54fd0a01b85a5654..e65b66c4519b403706e8d56ce9f0a582cb63e9da 100644
--- a/template/en/default/search/CVS/Entries
+++ b/template/en/default/search/CVS/Entries
@@ -1,12 +1,12 @@
-/boolean-charts.html.tmpl/1.7/Sun Jan 18 18:39:39 2004//TBUGZILLA-2_17_7
-/form.html.tmpl/1.22/Sun Jan 18 18:39:39 2004//TBUGZILLA-2_17_7
-/knob.html.tmpl/1.14/Sun Jan 18 18:39:39 2004//TBUGZILLA-2_17_7
-/search-create-series.html.tmpl/1.8/Thu Feb 12 22:33:07 2004//TBUGZILLA-2_17_7
-/search-help.html.tmpl/1.4/Sun Jan 18 18:39:39 2004//TBUGZILLA-2_17_7
-/search-report-graph.html.tmpl/1.7/Sun Jan 18 18:39:39 2004//TBUGZILLA-2_17_7
-/search-report-select.html.tmpl/1.4/Sun Jan 18 18:39:39 2004//TBUGZILLA-2_17_7
-/search-report-table.html.tmpl/1.8/Sun Jan 18 18:39:39 2004//TBUGZILLA-2_17_7
-/search-specific.html.tmpl/1.3/Sun Jan 18 18:39:39 2004//TBUGZILLA-2_17_7
-/search.html.tmpl/1.18/Sun Jan 18 18:39:39 2004//TBUGZILLA-2_17_7
-/tabs.html.tmpl/1.3/Wed Feb  4 15:30:49 2004//TBUGZILLA-2_17_7
+/boolean-charts.html.tmpl/1.8.2.1/Sat Dec 11 00:28:22 2004//TBUGZILLA-2_18
+/form.html.tmpl/1.24.2.1/Sat Dec 11 00:28:22 2004//TBUGZILLA-2_18
+/knob.html.tmpl/1.15.2.1/Sat Dec 25 19:39:48 2004//TBUGZILLA-2_18
+/search-advanced.html.tmpl/1.18.2.2/Sat Dec 11 00:28:22 2004//TBUGZILLA-2_18
+/search-create-series.html.tmpl/1.8.2.1/Sun Aug 29 23:14:14 2004//TBUGZILLA-2_18
+/search-help.html.tmpl/1.4/Sun Jan 18 18:39:39 2004//TBUGZILLA-2_18
+/search-report-graph.html.tmpl/1.7/Sun Jan 18 18:39:39 2004//TBUGZILLA-2_18
+/search-report-select.html.tmpl/1.4/Sun Jan 18 18:39:39 2004//TBUGZILLA-2_18
+/search-report-table.html.tmpl/1.8/Sun Jan 18 18:39:39 2004//TBUGZILLA-2_18
+/search-specific.html.tmpl/1.7.2.2/Sat Dec 25 19:39:48 2004//TBUGZILLA-2_18
+/tabs.html.tmpl/1.4/Wed Jul  7 06:02:33 2004//TBUGZILLA-2_18
 D
diff --git a/template/en/default/search/CVS/Tag b/template/en/default/search/CVS/Tag
index 4c69ac9851e31b085f6c7a8a21ce458fe9ccb4a4..576360fe0d440cfa86d33b930fe800e509d5e317 100644
--- a/template/en/default/search/CVS/Tag
+++ b/template/en/default/search/CVS/Tag
@@ -1 +1 @@
-NBUGZILLA-2_17_7
+NBUGZILLA-2_18
diff --git a/template/en/default/search/boolean-charts.html.tmpl b/template/en/default/search/boolean-charts.html.tmpl
index 292c62eeb10bc19785d2ee5c760ff1d5f440b8ed..19ae7bb0e6a0441e0f200a53de5567890b784fc2 100644
--- a/template/en/default/search/boolean-charts.html.tmpl
+++ b/template/en/default/search/boolean-charts.html.tmpl
@@ -45,8 +45,7 @@
 
   <p>
     <strong>
-      <a name="chart" href="queryhelp.cgi#advancedquerying">
-      Advanced Querying Using Boolean Charts</a>:
+      Advanced Searching Using Boolean Charts:
     </strong>
   </p>
 
diff --git a/template/en/default/search/form.html.tmpl b/template/en/default/search/form.html.tmpl
index 4f2d6bbebdeaa065e902ea1f6497472ef9bded90..f0f3c5ae4dff7e918418cec1986434f84eb1d2c0 100644
--- a/template/en/default/search/form.html.tmpl
+++ b/template/en/default/search/form.html.tmpl
@@ -332,7 +332,8 @@ function selectProduct(f) {
 [% PROCESS "global/field-descs.none.tmpl" %]
 
 [%# If we resubmit to ourselves, we need to know if we are using a format. %]
-<input type="hidden" name="query_format" value="[% format FILTER html %]">
+[% thisformat = query_format != '' ? query_format : format %]
+<input type="hidden" name="query_format" value="[% thisformat FILTER html %]">
 
 [%# *** Summary *** %]
 
@@ -350,6 +351,10 @@ function selectProduct(f) {
     <td>
       <input name="short_desc" size="40" accesskey="s"
              value="[% default.short_desc.0 FILTER html %]">
+      <script language="JavaScript" type="text/javascript"> <!--
+          document.forms['queryform'].short_desc.focus(); 
+      // -->
+      </script>
     </td>
     <td>
       [% IF button_name %]
@@ -508,7 +513,7 @@ function selectProduct(f) {
     <td>
       <table>
         <tr>
-          <th align="left"><a href="queryhelp.cgi#status">St<u>a</u>tus</a>:</th>
+          <th align="left">St<u>a</u>tus:</th>
         </tr>
         <tr valign="top">
           [% PROCESS select sel = { name => 'bug_status',
@@ -521,7 +526,7 @@ function selectProduct(f) {
       <table>
         <tr>
           <th align="left">
-            <a href="queryhelp.cgi#resolution"><u>R</u>esolution</a>:
+            <u>R</u>esolution:
           </th>
         </tr>
         <tr valign="top">
@@ -534,7 +539,7 @@ function selectProduct(f) {
     <td>
       <table>
         <tr>
-          <th align="left"><a href="queryhelp.cgi#severity">S<u>e</u>verity</a>:</th>
+          <th align="left">S<u>e</u>verity:</th>
         </tr>
         <tr valign="top">
           [% PROCESS select sel = { name => 'bug_severity',
@@ -546,7 +551,7 @@ function selectProduct(f) {
     <td>
       <table>
         <tr>
-          <th align="left"><a href="queryhelp.cgi#priority">Pr<u>i</u>ority</a>:</th>
+          <th align="left">Pr<u>i</u>ority:</th>
         </tr>
         <tr valign="top">
           [% PROCESS select sel = { name => 'priority',
@@ -558,7 +563,7 @@ function selectProduct(f) {
     <td>
       <table>
         <tr>
-          <th align="left"><a href="queryhelp.cgi#platform"><u>H</u>ardware</a>:</th>
+          <th align="left"><u>H</u>ardware:</th>
         </tr>
         <tr valign="top">
           [% PROCESS select sel = { name => 'rep_platform',
@@ -570,7 +575,7 @@ function selectProduct(f) {
     <td>
       <table>
         <tr>
-          <th align="left"><a href="queryhelp.cgi#opsys"><u>O</u>S</a>:</th>
+          <th align="left"><u>O</u>S:</th>
         </tr>
         <tr valign="top">
           [% PROCESS select sel = { name => 'op_sys',
@@ -592,7 +597,7 @@ function selectProduct(f) {
       <fieldset>
         <legend>
           <strong>
-            <a href="queryhelp.cgi#peopleinvolved">Email</a> and Numbering
+            Email and Numbering
           </strong>
         </legend>
 
@@ -734,7 +739,7 @@ function selectProduct(f) {
   <dd>
     <input name="chfieldfrom" size="10" value="[% default.chfieldfrom.0 FILTER html %]">
     and <input name="chfieldto" size="10" value="[% default.chfieldto.0 FILTER html %]">
-    <br>(YYYY-MM-DD or <a href="queryhelp.cgi#changedbetween">relative dates</a>)
+    <br>(YYYY-MM-DD or relative dates)
   </dd>
   <dt>where one or more of the following changed:</dt>
   <dd>
diff --git a/template/en/default/search/knob.html.tmpl b/template/en/default/search/knob.html.tmpl
index b94f8e3ce42086b36f3c3e7ffbe42508c79870fc..6c87cc4b9cfbb66ff344d9c8c7c876f49ff7d28a 100644
--- a/template/en/default/search/knob.html.tmpl
+++ b/template/en/default/search/knob.html.tmpl
@@ -21,6 +21,15 @@
   #                 Jouni Heikniemi <jouni@heikniemi.net>
   #%]
 
+[%# INTERFACE:
+  # (incomplete!)
+  # ...
+  # known_name: string. Possibly known stored name for the query being
+  #                     edited. This value is just passed through in a
+  #                     hidden field.
+  #%]
+
+
 [% PROCESS global/variables.none.tmpl %]
 
 [%# This is not necessary for English templates, but useful for localisers. %]
@@ -46,6 +55,10 @@
 
 <p>  
   <input type="submit" value="[% button_name FILTER html %]">
+  [% IF known_name %]
+    <input type="hidden" name="query_based_on" 
+           value="[% known_name FILTER html %]">
+  [% END %]
 </p>
 
 <p>
@@ -60,6 +73,6 @@
 [% IF userdefaultquery %]
   <p>
     <a href="query.cgi?nukedefaultquery=1">
-      Set my default query back to the system default</a>.
+      Set my default search back to the system default</a>.
   </p>
 [% END %]
diff --git a/template/en/default/search/search.html.tmpl b/template/en/default/search/search-advanced.html.tmpl
similarity index 87%
rename from template/en/default/search/search.html.tmpl
rename to template/en/default/search/search-advanced.html.tmpl
index bbed6c2d6eae0f37b752cda6d7b6a0781430a180..92c9640cf201f45b8a2a6421f6d9ef502a2eaff1 100644
--- a/template/en/default/search/search.html.tmpl
+++ b/template/en/default/search/search-advanced.html.tmpl
@@ -55,14 +55,9 @@
 [% IF NOT help %]
   [% IF cgi.user_agent("Mozilla/5") %]
     <script type="text/javascript"> <!--
-      document.write("<p><a href='query.cgi?help=1'>Give me some help</a> (reloads page.)</p>");
+      document.write("<p><a href='query.cgi?help=1&amp;format=advanced'>Give me some help</a> (reloads page.)</p>");
       // -->
     </script>
-    <noscript>
-      <p><a href="queryhelp.cgi">Give me help</a> with this form.</p>
-    </noscript>
-  [% ELSE %]
-      <p><a href="queryhelp.cgi">Give me help</a> with this form.</p>
   [% END %]
 [% ELSE %]
   <p>
@@ -86,10 +81,6 @@
 
 [% PROCESS "search/boolean-charts.html.tmpl" %]
 
-<p>
-  Give me a <a href="queryhelp.cgi">clue</a> about how to use this form.
-</p>
-
 </form>
 
 [% PROCESS "search/search-help.html.tmpl" IF help %]
diff --git a/template/en/default/search/search-create-series.html.tmpl b/template/en/default/search/search-create-series.html.tmpl
index b0a5b43155911797bfdaf0802b2868f6de8e8282..6caf6da09649966817dd2ba67961e78ed05b2e22 100644
--- a/template/en/default/search/search-create-series.html.tmpl
+++ b/template/en/default/search/search-create-series.html.tmpl
@@ -32,11 +32,6 @@
   onload = "selectProduct(document.forms['chartform']);"
 %]
 
-<p style="color: red">
-  Note: there is currently a restriction that data sets will only count public
-  [%+ terms.bugs %] (those not in any group).
-</p>
-
 <form method="get" action="chart.cgi" name="chartform">
   
 [% PROCESS search/form.html.tmpl %]
diff --git a/template/en/default/search/search-specific.html.tmpl b/template/en/default/search/search-specific.html.tmpl
index 5b1d8bedf69c7485066cc611c3f39239ba4384d9..e57566bd0555b5d45631aef1de901a25b19e2edd 100644
--- a/template/en/default/search/search-specific.html.tmpl
+++ b/template/en/default/search/search-specific.html.tmpl
@@ -38,8 +38,8 @@
 
 <p>
 Find a specific [% terms.bug %] by entering words that describe it.  
-[% terms.Bugzilla %] will search [% terms.bug %] summaries, descriptions, and
-comments for those words and return a list of matching [% terms.bugs %] sorted
+[% terms.Bugzilla %] will search [% terms.bug %] descriptions and comments
+for those words and return a list of matching [% terms.bugs %] sorted
 by relevance.
 </p>
 
@@ -48,8 +48,9 @@ For example, if the [% terms.bug %] you are looking for is a browser crash when
 for "crash secure SSL flash".
 </p>
 
-<form method="get" action="buglist.cgi">
+<form name="queryform" method="get" action="buglist.cgi">
 <input type="hidden" name="query_format" value="specific">
+<input type="hidden" name="order" value="relevance desc">
 
 <table>
   <tr>
@@ -57,7 +58,7 @@ for "crash secure SSL flash".
       <b><label for="bug_status">Status:</label></b>
     </td>
     <td>
-      <select name="bug_status">
+      <select name="bug_status" id="bug_status">
         [% FOREACH s = ['open', 'closed', 'all'] %]
             <option value="__[% s %]__" 
                   [% " selected" IF default.bug_status.0 == "__${s}__" %]>
@@ -72,7 +73,7 @@ for "crash secure SSL flash".
       <b><label for="product">Product:</label></b>
     </td>
     <td>
-      <select name="product">
+      <select name="product" id="product">
         <option value="">All</option>
         [% FOREACH p = product %]
           <option value="[% p.name FILTER html %]"
@@ -87,16 +88,25 @@ for "crash secure SSL flash".
       <b><label for="content">Words:</label></b>
     </td>
     <td>
-      <input name="content" size="40" 
+      <input name="content" size="40" id="content"
              value="[% default.content.0 FILTER html %]">
+      <script language="JavaScript" type="text/javascript"> <!--
+          document.forms['queryform'].content.focus(); 
+      // -->
+      </script>
     </td>
   </tr>
   <tr>
     <td></td>
     <td>
       <input type="submit" value="Search">
+      [% IF known_name %]
+        <input type="hidden" name="query_based_on" 
+               value="[% known_name FILTER html %]">
+      [% END %]
     </td>
-
+  </tr>
+</table>
 </form>
 
 [% PROCESS global/footer.html.tmpl %]
diff --git a/template/en/default/search/tabs.html.tmpl b/template/en/default/search/tabs.html.tmpl
index ac3c72f2fd72959f4702ac9761a4aaad1f22b051..06b22f7a282d082c27fefc699a2f71ff4c06a0f9 100644
--- a/template/en/default/search/tabs.html.tmpl
+++ b/template/en/default/search/tabs.html.tmpl
@@ -26,10 +26,10 @@
   #   description: string. Description of the tab (used in tab title).
   #%]
 
-[% tabs = [ { name => '__DEFAULT__', description => "Advanced Search" },
-            { name => 'specific', description => "Find a Specific $terms.Bug " } ] %]
+[% tabs = [ { name => 'specific', description => "Find a Specific $terms.Bug " },
+            { name => 'advanced', description => "Advanced Search" } ] %]
 
-[% current_tab = query_format || format || "__DEFAULT__" %]
+[% current_tab = query_format || format || "advanced" %]
 
 <center>
   <table cellspacing="0" cellpadding="10" border="0" width="100%">
@@ -43,9 +43,7 @@
           </td>
         [% ELSE %]
           <td align="center" bgcolor="#BBBBEE" class="unselected_tab">
-            <a href="query.cgi
-              [% IF tab.name != "__DEFAULT__" %]?format=[% tab.name %][% END %]"
-            >
+            <a href="query.cgi?format=[% tab.name %]" >
               [% tab.description %]
             </a>
           </td>
diff --git a/template/en/default/sidebar.xul.tmpl b/template/en/default/sidebar.xul.tmpl
index 0d91b8401e22ef7c4da2a854d5f9507c74e5f04e..3e467b199e8f471cf59ec04a691a07523fe5291e 100644
--- a/template/en/default/sidebar.xul.tmpl
+++ b/template/en/default/sidebar.xul.tmpl
@@ -64,13 +64,13 @@ function normal_keypress_handler( aEvent ) {
 
 ]]></script>
 
-  <textbox id="query-field" class="descriptive-content" value="enter query" onfocus="this.setSelectionRange(0,this.value.length)"/>
+  <textbox id="query-field" class="descriptive-content" value="enter search" onfocus="this.setSelectionRange(0,this.value.length)"/>
 
   <separator class="groove"/>
 
   <box autostretch="never" valign="top">
     <box orient="vertical" flex="1">
-      <text class="text-link" onclick="load_relative_url('query.cgi')" value="new query"/>
+      <text class="text-link" onclick="load_relative_url('query.cgi')" value="new search"/>
       <text class="text-link" onclick="load_relative_url('report.cgi')" value="reports"/>
       <text class="text-link" onclick="load_relative_url('enter_bug.cgi')" value="new [% terms.bug %]"/>
       <separator class="thin"/>
diff --git a/testagent.cgi b/testagent.cgi
new file mode 100755
index 0000000000000000000000000000000000000000..2d558d2b984e3799d6ad5802fc2d2290bb474c34
--- /dev/null
+++ b/testagent.cgi
@@ -0,0 +1,24 @@
+#!/usr/bin/perl -wT
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# Contributor(s): Joel Peshkin <bugreport@peshkin.net>
+
+# This script is used by servertest.pl to confirm that cgi scripts
+# are being run instead of shown. This script does not rely on database access
+# or correct params.
+
+use strict;
+print "content-type:text/plain\n\n";
+print "OK\n";
+exit;
+
diff --git a/testserver.pl b/testserver.pl
new file mode 100755
index 0000000000000000000000000000000000000000..3ce9f598bfd975a2b0c504bb4122b8c69a7e5e7c
--- /dev/null
+++ b/testserver.pl
@@ -0,0 +1,171 @@
+#!/usr/bin/perl -w
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# Contributor(s): Joel Peshkin <bugreport@peshkin.net>
+#                 Byron Jones <byron@glob.com.au>
+
+# testserver.pl is involked with the baseurl of the Bugzilla installation
+# as its only argument.  It attempts to troubleshoot as many installation
+# issues as possible.
+
+use Socket;
+my $envpath = $ENV{'PATH'};
+use lib ".";
+use strict;
+require "globals.pl";
+eval "require LWP; require LWP::UserAgent;";
+my $lwp = $@ ? 0 : 1;
+
+$ENV{'PATH'}= $envpath;
+
+if ((@ARGV != 1) || ($ARGV[0] !~ /^https?:/))
+{
+    print "Usage: $0 <URL to this Bugzilla installation>\n";
+    print "e.g.:  $0 http://www.mycompany.com/bugzilla\n";
+    exit(1);
+}
+
+
+# Try to determine the GID used by the webserver.
+my @pscmds = ('ps -eo comm,gid', 'ps -acxo command,gid');
+my $sgid = 0;
+if ($^O !~ /MSWin32/i) {
+    foreach my $pscmd (@pscmds) {
+        open PH, "$pscmd 2>/dev/null |";
+        while (my $line = <PH>) {
+            if ($line =~ /^(?:\S*\/)?(?:httpd|apache)\s+(\d+)$/) {
+                $sgid = $1 if $1 > $sgid;
+            }
+        }
+        close(PH);
+    }
+}
+
+# Determine the numeric GID of $webservergroup
+my $webgroupnum = 0;
+if ($::webservergroup =~ /^(\d+)$/) {
+    $webgroupnum = $1;
+} else {
+    eval { $webgroupnum = (getgrnam $::webservergroup) || 0; };
+}
+
+# Check $webservergroup against the server's GID
+if ($sgid > 0) {
+    if ($::webservergroup eq "") {
+        print 
+"WARNING \$webservergroup is set to an empty string.
+That is a very insecure practice. Please refer to the
+Bugzilla documentation.\n";
+    } elsif ($webgroupnum == $sgid) {
+        print "TEST-OK Webserver is running under group id in \$webservergroup.\n";
+    } else {
+        print 
+"TEST-WARNING Webserver is running under group id not matching \$webservergroup.
+This if the tests below fail, this is probably the problem.
+Please refer to the webserver configuration section of the Bugzilla guide. 
+If you are using virtual hosts or suexec, this warning may not apply.\n";
+    }
+} elsif ($^O !~ /MSWin32/i) {
+   print
+"TEST-WARNING Failed to find the GID for the 'httpd' process, unable
+to validate webservergroup.\n";
+}
+
+
+# Try to fetch a static file (ant.jpg)
+$ARGV[0] =~ s/\/$//;
+my $url = $ARGV[0] . "/ant.jpg";
+if (fetch($url)) {
+    print "TEST-OK Got ant picture.\n";
+} else {
+    print 
+"TEST-FAILED Fetch of ant.jpg failed
+Your webserver could not fetch $url.
+Check your webserver configuration and try again.\n";
+    exit(1);
+}
+
+# Try to execute a cgi script
+my $response = fetch($ARGV[0] . "/testagent.cgi");
+if ($response =~ /^OK/) {
+    print "TEST-OK Webserver is executing CGIs.\n";
+} elsif ($response =~ /^#!/) {
+    print 
+"TEST-FAILED Webserver is fetching rather than executing CGI files.
+Check the AddHandler statement in your httpd.conf file.\n";
+    exit(1);
+} else {
+    print "TEST-FAILED Webserver is not executing CGI files.\n"; 
+}
+
+# Make sure that webserver is honoring .htaccess files
+$::localconfig =~ s~^\./~~;
+$url = $ARGV[0] . "/$::localconfig";
+$response = fetch($url);
+if ($response) {
+    print 
+"TEST-FAILED Webserver is permitting fetch of $url.
+This is a serious security problem.
+Check your webserver configuration.\n";
+    exit(1);
+} else {
+    print "TEST-OK Webserver is preventing fetch of $url.\n";
+}
+
+sub fetch {
+    my $url = shift;
+    my $rtn;
+    if ($lwp) {
+        my $req = HTTP::Request->new(GET => $url);
+        my $ua = LWP::UserAgent->new;
+        my $res = $ua->request($req);
+        $rtn = ($res->is_success ? $res->content : undef);
+    } elsif ($url =~ /^https:/i) {
+        die("You need LWP installed to use https with testserver.pl");
+    } else {
+        my($host, $port, $file) = ('', 80, '');
+        if ($url =~ m#^http://([^:]+):(\d+)(/.*)#i) {
+            ($host, $port, $file) = ($1, $2, $3);
+        } elsif ($url =~ m#^http://([^/]+)(/.*)#i) {
+            ($host, $file) = ($1, $2);
+        } else {
+            die("Cannot parse url");
+        }
+
+        my $proto = getprotobyname('tcp');
+        socket(SOCK, PF_INET, SOCK_STREAM, $proto);
+        my $sin = sockaddr_in($port, inet_aton($host));
+        if (connect(SOCK, $sin)) {
+            binmode SOCK;
+            select((select(SOCK), $| = 1)[0]);
+
+            # get content
+    
+            print SOCK "GET $file HTTP/1.0\015\012host: $host:$port\015\012\015\012";
+            my $header = '';
+            while (defined(my $line = <SOCK>)) {
+                last if $line eq "\015\012";
+                $header .= $line;
+            }
+            my $content = '';
+            while (defined(my $line = <SOCK>)) {
+                $content .= $line;
+            }
+
+            my ($status) = $header =~ m#^HTTP/\d+\.\d+ (\d+)#;
+            $rtn = (($status =~ /^2\d\d/) ? $content : undef);
+        }
+    }
+    return($rtn);
+}
+
diff --git a/token.cgi b/token.cgi
index b02a932d7264068f46b338e698b676053f9ed31c..36508f0a538a2543a69b5357ecf36cb955c8253c 100755
--- a/token.cgi
+++ b/token.cgi
@@ -32,18 +32,18 @@ use lib qw(.);
 use vars qw($template $vars);
 
 use Bugzilla;
+use Bugzilla::Constants;
+
 my $cgi = Bugzilla->cgi;
 
 # Include the Bugzilla CGI and general utility library.
 require "CGI.pl";
 
-# Establish a connection to the database backend.
-ConnectToDatabase();
-quietly_check_login('permit_anonymous');
+Bugzilla->login(LOGIN_OPTIONAL);
 
-# Use the "Token" module that contains functions for doing various
+# Use the "Bugzilla::Token" module that contains functions for doing various
 # token-related tasks.
-use Token;
+use Bugzilla::Token;
 
 use Bugzilla::User;
 
@@ -72,7 +72,7 @@ if ($cgi->param('t')) {
   }
 
 
-  Token::CleanTokenTable();
+  Bugzilla::Token::CleanTokenTable();
 
   # Make sure the token exists in the database.
   SendSQL( "SELECT tokentype FROM tokens WHERE token = $::quotedtoken" );
@@ -80,17 +80,17 @@ if ($cgi->param('t')) {
 
   # Make sure the token is the correct type for the action being taken.
   if ( grep($::action eq $_ , qw(cfmpw cxlpw chgpw)) && $tokentype ne 'password' ) {
-    Token::Cancel($::token, "wrong_token_for_changing_passwd");
+    Bugzilla::Token::Cancel($::token, "wrong_token_for_changing_passwd");
     ThrowUserError("wrong_token_for_changing_passwd");
   }
   if ( ($::action eq 'cxlem') 
       && (($tokentype ne 'emailold') && ($tokentype ne 'emailnew')) ) {
-    Token::Cancel($::token, "wrong_token_for_cancelling_email_change");
+    Bugzilla::Token::Cancel($::token, "wrong_token_for_cancelling_email_change");
     ThrowUserError("wrong_token_for_cancelling_email_change");
   }
   if ( grep($::action eq $_ , qw(cfmem chgem)) 
       && ($tokentype ne 'emailnew') ) {
-    Token::Cancel($::token, "wrong_token_for_confirming_email_change");
+    Bugzilla::Token::Cancel($::token, "wrong_token_for_confirming_email_change");
     ThrowUserError("wrong_token_for_confirming_email_change");
   }
 }
@@ -157,7 +157,7 @@ exit;
 ################################################################################
 
 sub requestChangePassword {
-    Token::IssuePasswordToken($cgi->param('loginname'));
+    Bugzilla::Token::IssuePasswordToken($cgi->param('loginname'));
 
     $vars->{'message'} = "password_change_request";
 
@@ -175,8 +175,8 @@ sub confirmChangePassword {
 }
 
 sub cancelChangePassword {    
-    $vars->{'message'} = "password_change_canceled";
-    Token::Cancel($::token, $vars->{'message'});
+    $vars->{'message'} = "password_change_cancelled";
+    Bugzilla::Token::Cancel($::token, $vars->{'message'});
 
     print $cgi->header();
     $template->process("global/message.html.tmpl", $vars)
@@ -201,7 +201,7 @@ sub changePassword {
     SendSQL("DELETE FROM tokens WHERE token = $::quotedtoken");
     SendSQL("UNLOCK TABLES");
 
-    InvalidateLogins($userid);
+    Bugzilla->logout_user_by_id($userid);
 
     $vars->{'message'} = "password_changed";
 
@@ -236,8 +236,8 @@ sub changeEmail {
     # The new email address should be available as this was 
     # confirmed initially so cancel token if it is not still available
     if (! ValidateNewUser($new_email,$old_email)) {
-        $vars->{'email'} = $new_email; # Needed for Token::Cancel's mail
-        Token::Cancel($::token,"account_exists");
+        $vars->{'email'} = $new_email; # Needed for Bugzilla::Token::Cancel's mail
+        Bugzilla::Token::Cancel($::token,"account_exists");
         ThrowUserError("account_exists", { email => $new_email } );
     } 
 
@@ -308,7 +308,7 @@ sub cancelChangeEmail {
 
     $vars->{'old_email'} = $old_email;
     $vars->{'new_email'} = $new_email;
-    Token::Cancel($::token, $vars->{'message'});
+    Bugzilla::Token::Cancel($::token, $vars->{'message'});
 
     SendSQL("LOCK TABLES tokens WRITE");
     SendSQL("DELETE FROM tokens 
diff --git a/userprefs.cgi b/userprefs.cgi
index 9a1a9371726a4d32d2d87d7930ad85a5e5b13105..1c9cf2068852cb33efa27e6739efeb739a51d965 100755
--- a/userprefs.cgi
+++ b/userprefs.cgi
@@ -19,36 +19,27 @@
 #                 David Miller <justdave@syndicomm.com>
 #                 Christopher Aillon <christopher@aillon.com>
 #                 Gervase Markham <gerv@gerv.net>
+#                 Vlad Dascalu <jocuri@softhome.net>
 
 use strict;
 
 use lib qw(.);
 
 use Bugzilla;
+use Bugzilla::Constants;
+use Bugzilla::Search;
 
 require "CGI.pl";
 
-use RelationSet;
+use Bugzilla::RelationSet;
 
 # Use global template variables.
 use vars qw($template $vars $userid);
 
-# The default email flags leave all email on.
-my $defaultflagstring = "ExcludeSelf~on~";
-
 my @roles = ("Owner", "Reporter", "QAcontact", "CClist", "Voter");
 my @reasons = ("Removeme", "Comments", "Attachments", "Status", "Resolved", 
                "Keywords", "CC", "Other", "Unconfirmed");
 
-foreach my $role (@roles) {
-    foreach my $reason (@reasons) {
-        $defaultflagstring .= "email$role$reason~on~";
-    }
-}
-
-# Remove final "~".
-chop $defaultflagstring;
-
 ###############################################################################
 # Each panel has two functions - panel Foo has a DoFoo, to get the data 
 # necessary for displaying the panel, and a SaveFoo, to save the panel's 
@@ -78,18 +69,20 @@ sub DoAccount {
 }
 
 sub SaveAccount {
-    my $pwd1 = $::FORM{'new_password1'};
-    my $pwd2 = $::FORM{'new_password2'};
+    my $cgi = Bugzilla->cgi;
+
+    my $pwd1 = $cgi->param('new_password1');
+    my $pwd2 = $cgi->param('new_password2');
 
-    if ($::FORM{'Bugzilla_password'} ne "" || 
+    if ($cgi->param('Bugzilla_password') ne "" || 
         $pwd1 ne "" || $pwd2 ne "") 
     {
-        my $old = SqlQuote($::FORM{'Bugzilla_password'});
+        my $old = SqlQuote($cgi->param('Bugzilla_password'));
         SendSQL("SELECT cryptpassword FROM profiles WHERE userid = $userid");
         my $oldcryptedpwd = FetchOneColumn();
         $oldcryptedpwd || ThrowCodeError("unable_to_retrieve_password");
 
-        if (crypt($::FORM{'Bugzilla_password'}, $oldcryptedpwd) ne 
+        if (crypt($cgi->param('Bugzilla_password'), $oldcryptedpwd) ne 
                   $oldcryptedpwd) 
         {
             ThrowUserError("old_password_incorrect");
@@ -97,29 +90,31 @@ sub SaveAccount {
 
         if ($pwd1 ne "" || $pwd2 ne "")
         {
-            $::FORM{'new_password1'} || ThrowUserError("new_password_missing");
+            $cgi->param('new_password1')
+              || ThrowUserError("new_password_missing");
             ValidatePassword($pwd1, $pwd2);
         
             my $cryptedpassword = SqlQuote(Crypt($pwd1));
             SendSQL("UPDATE profiles 
                      SET    cryptpassword = $cryptedpassword 
                      WHERE  userid = $userid");
+
             # Invalidate all logins except for the current one
-            InvalidateLogins($userid, $::COOKIE{"Bugzilla_logincookie"});
+            Bugzilla->logout(LOGOUT_KEEP_CURRENT);
         }
     }
 
-    if(Param("allowemailchange") && $::FORM{'new_login_name'}) {
-        my $old_login_name = $::FORM{'Bugzilla_login'};
-        my $new_login_name = trim($::FORM{'new_login_name'});
+    if(Param("allowemailchange") && $cgi->param('new_login_name')) {
+        my $old_login_name = $cgi->param('Bugzilla_login');
+        my $new_login_name = trim($cgi->param('new_login_name'));
 
         if($old_login_name ne $new_login_name) {
-            $::FORM{'Bugzilla_password'} 
+            $cgi->param('Bugzilla_password') 
               || ThrowCodeError("old_password_required");
 
-            use Token;
+            use Bugzilla::Token;
             # Block multiple email changes for the same user.
-            if (Token::HasEmailChangeToken($userid)) {
+            if (Bugzilla::Token::HasEmailChangeToken($userid)) {
                 ThrowUserError("email_change_in_progress");
             }
 
@@ -129,7 +124,7 @@ sub SaveAccount {
             ValidateNewUser($new_login_name)
               || ThrowUserError("account_exists", {email => $new_login_name});
 
-            Token::IssueEmailChangeToken($userid,$old_login_name,
+            Bugzilla::Token::IssueEmailChangeToken($userid,$old_login_name,
                                                  $new_login_name);
 
             $vars->{'email_changes_saved'} = 1;
@@ -137,14 +132,14 @@ sub SaveAccount {
     }
 
     SendSQL("UPDATE profiles SET " .
-            "realname = " . SqlQuote(trim($::FORM{'realname'})) .
+            "realname = " . SqlQuote(trim($cgi->param('realname'))) .
             " WHERE userid = $userid");
 }
 
 
 sub DoEmail {
     if (Param("supportwatchers")) {
-        my $watcheduserSet = new RelationSet;
+        my $watcheduserSet = new Bugzilla::RelationSet;
         $watcheduserSet->mergeFromDB("SELECT watched FROM watch WHERE" .
                                     " watcher=$userid");
         $vars->{'watchedusers'} = $watcheduserSet->toString();
@@ -154,16 +149,6 @@ sub DoEmail {
 
     my ($flagstring) = FetchSQLData();
 
-    # If the emailflags haven't been set before, that means that this user 
-    # hasn't been to the email pane of userprefs.cgi since the change to 
-    # use emailflags. Create a default flagset for them, based on
-    # static defaults. 
-    if (!$flagstring) {
-        $flagstring = $defaultflagstring;
-        SendSQL("UPDATE profiles SET emailflags = " .
-                SqlQuote($flagstring) . " WHERE userid = $userid");
-    }
-
     # The 255 param is here, because without a third param, split will
     # trim any trailing null fields, which causes Perl to eject lots of
     # warnings. Any suitably large number would do.
@@ -207,15 +192,16 @@ sub DoEmail {
 # Note: we no longer store "off" values in the database.
 sub SaveEmail {
     my $updateString = "";
+    my $cgi = Bugzilla->cgi;
     
-    if (defined $::FORM{'ExcludeSelf'}) {
+    if (defined $cgi->param('ExcludeSelf')) {
         $updateString .= 'ExcludeSelf~on';
     } else {
         $updateString .= 'ExcludeSelf~';
     }
     
     foreach my $flag (qw(FlagRequestee FlagRequester)) {
-        $updateString .= "~$flag~" . (defined($::FORM{$flag}) ? "on" : "");
+        $updateString .= "~$flag~" . (defined $cgi->param($flag) ? "on" : "");
     }
     
     foreach my $role (@roles) {
@@ -226,14 +212,14 @@ sub SaveEmail {
             
             # If the form field for this preference is defined, then we
             # know the checkbox was checked, so set the value to "on".
-            $updateString .= "on" if defined $::FORM{"email$role$reason"};
+            $updateString .= "on" if defined $cgi->param("email$role$reason");
         }
     }
             
     SendSQL("UPDATE profiles SET emailflags = " . SqlQuote($updateString) . 
             " WHERE userid = $userid");
 
-    if (Param("supportwatchers") && exists $::FORM{'watchedusers'}) {
+    if (Param("supportwatchers") && defined $cgi->param('watchedusers')) {
         # Just in case.  Note that this much locking is actually overkill:
         # we don't really care if anyone reads the watch table.  So 
         # some small amount of contention could be gotten rid of by
@@ -241,12 +227,12 @@ sub SaveEmail {
         SendSQL("LOCK TABLES watch WRITE, profiles READ");
 
         # what the db looks like now
-        my $origWatchedUsers = new RelationSet;
+        my $origWatchedUsers = new Bugzilla::RelationSet;
         $origWatchedUsers->mergeFromDB("SELECT watched FROM watch WHERE" .
                                        " watcher=$userid");
 
         # Update the database to look like the form
-        my $newWatchedUsers = new RelationSet($::FORM{'watchedusers'});
+        my $newWatchedUsers = new Bugzilla::RelationSet($cgi->param('watchedusers'));
         my @CCDELTAS = $origWatchedUsers->generateSqlDeltas(
                                                          $newWatchedUsers, 
                                                          "watch", 
@@ -289,21 +275,67 @@ sub DoPermissions {
 
 # No SavePermissions() because this panel has no changeable fields.
 
+
+sub DoSavedSearches() {
+    # 2004-12-13 - colin.ogilvie@gmail.com, bug 274397
+    # Need to work around the possibly missing query_format=advanced
+    $vars->{'user'} = Bugzilla->user;
+    my @queries = @{Bugzilla->user->queries};
+    my @newqueries;
+    foreach my $q (@queries) {
+        if ($q->{'query'} =~ /query_format=([^&]*)/) {
+            my $format = $1;
+            if (!IsValidQueryType($format)) {
+                if ($format eq "") {
+                    $q->{'query'} =~ s/query_format=/query_format=advanced/;
+                }
+                else {
+                    $q->{'query'} .= '&query_format=advanced';
+                }
+            }
+        } else {
+            $q->{'query'} .= '&query_format=advanced';
+        }
+        push @newqueries, $q;
+    }
+    $vars->{'queries'} = \@newqueries;
+}
+
+sub SaveSavedSearches() {
+    my $cgi = Bugzilla->cgi;
+    my $dbh = Bugzilla->dbh;
+    my @queries = @{Bugzilla->user->queries};
+    my $sth = $dbh->prepare("UPDATE namedqueries SET linkinfooter = ?
+                          WHERE userid = ?
+                          AND name = ?");
+    foreach my $q (@queries) {
+        my $linkinfooter = 
+            defined($cgi->param("linkinfooter_$q->{'name'}")) ? 1 : 0;
+            $sth->execute($linkinfooter, $userid, $q->{'name'});
+    }
+
+    Bugzilla->user->flush_queries_cache;
+    
+    my $showmybugslink = defined($cgi->param("showmybugslink")) ? 1 : 0;
+    $dbh->do("UPDATE profiles SET mybugslink = $showmybugslink " . 
+             "WHERE userid = " . Bugzilla->user->id);    
+    Bugzilla->user->{'showmybugslink'} = $showmybugslink;
+}
+
+
 ###############################################################################
 # Live code (not subroutine definitions) starts here
 ###############################################################################
 
-ConnectToDatabase();
-confirm_login();
+Bugzilla->login(LOGIN_REQUIRED);
 
 GetVersionTable();
 
 my $cgi = Bugzilla->cgi;
 
-$vars->{'login'} = $::COOKIE{'Bugzilla_login'};
-$vars->{'changes_saved'} = $::FORM{'dosave'};
+$vars->{'changes_saved'} = $cgi->param('dosave');
 
-my $current_tab_name = $::FORM{'tab'} || "account";
+my $current_tab_name = $cgi->param('tab') || "account";
 
 # The SWITCH below makes sure that this is valid
 trick_taint($current_tab_name);
@@ -313,12 +345,12 @@ $vars->{'current_tab_name'} = $current_tab_name;
 # Do any saving, and then display the current tab.
 SWITCH: for ($current_tab_name) {
     /^account$/ && do {
-        SaveAccount() if $::FORM{'dosave'};
+        SaveAccount() if $cgi->param('dosave');
         DoAccount();
         last SWITCH;
     };
     /^email$/ && do {
-        SaveEmail() if $::FORM{'dosave'};
+        SaveEmail() if $cgi->param('dosave');
         DoEmail();
         last SWITCH;
     };
@@ -326,6 +358,11 @@ SWITCH: for ($current_tab_name) {
         DoPermissions();
         last SWITCH;
     };
+    /^saved-searches$/ && do {
+        SaveSavedSearches() if $cgi->param('dosave');
+        DoSavedSearches();
+        last SWITCH;
+    };
     ThrowUserError("unknown_tab",
                    { current_tab_name => $current_tab_name });
 }
diff --git a/votehelp.html b/votehelp.html
deleted file mode 100644
index 5d49d469fc7c34b9be49c85b1405a1d4a614371f..0000000000000000000000000000000000000000
--- a/votehelp.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<!--
-     The contents of this file are subject to the Mozilla Public
-     License Version 1.1 (the "License"); you may not use this file
-     except in compliance with the License. You may obtain a copy of
-     the License at http://www.mozilla.org/MPL/
-    
-     Software distributed under the License is distributed on an "AS
-     IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-     implied. See the License for the specific language governing
-     rights and limitations under the License.
-    
-     The Original Code is the Bugzilla Bug Tracking System.
-    
-     The Initial Developer of the Original Code is Netscape Communications
-     Corporation. Portions created by Netscape are
-     Copyright (C) 1998 Netscape Communications Corporation. All
-     Rights Reserved.
-    
-     Contributor(s): 
-
-     Contributor(s): Terry Weissman <terry@mozilla.org>
--->
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Bugzilla Voting</title>
-</head>
-
-<body>
-<h1>Bugzilla Voting</h1>
-
-<p>
-Bugzilla has a "voting" feature.  Each product allows users to have a
-certain number of votes.  (Some products may not allow any, which
-means you can't vote on things in that product at all.) With your
-vote, you indicate which bugs you think are the most important to be
-fixed.
-</p>
-
-<p>
-Depending on how the administrator has configured the relevant
-product, you may be able to vote for the same bug more than one time.
-But remember, you only have so many votes to use in total!  So, you
-can either vote a little for many bugs, or vote a lot for a few bugs.
-</p>
-
-<p>
-To look at votes:
-</p>
-
-<ul>
-  <li> Go to the query page.  Do a normal query, but enter 1 in the
-       "At least ___ votes" field.  This will show you items that
-       match your query that have at least one vote.</li>
-</ul>
-
-<p>
-To vote for a bug:
-</p>
-
-<ul>
-  <li> Bring up the bug in question.</li>
-  <li> Click on the "Vote for this bug" link that appears just above
-       the "Additional Comments" field.  (If no such link appears,
-       then voting may not be allowed in this bug's product.)</li>
-  <li> Indicate how many votes you want to give this bug.  This page
-       also displays how many votes you've given to other bugs, so you
-       may rebalance your votes as necessary.</li>
-</ul>
-
-<p>
-You will automatically get email notifying you of any changes that
-occur on bugs you vote for.
-</p>
-
-<p>
-You may review your votes at any time by clicking on the "<a
-href="votes.cgi?action=show_user">My Votes</a>" link in
-the page footer.
-</p>
-</body>
-</html>
diff --git a/votes.cgi b/votes.cgi
index ed7f6ad5197f2be4e7c1acfd5e463ea222b6323c..bbdbb34502f62059a61b04faafc1fd39a2b6ad3c 100644
--- a/votes.cgi
+++ b/votes.cgi
@@ -27,14 +27,13 @@ use strict;
 use lib ".";
 
 use Bugzilla;
+use Bugzilla::Constants;
 
 require "CGI.pl";
 
 # Use global template variables
 use vars qw($template $vars);
 
-ConnectToDatabase();
-
 my $cgi = Bugzilla->cgi;
 
 # If the action is show_bug, you need a bug_id.
@@ -45,16 +44,16 @@ my $cgi = Bugzilla->cgi;
 #
 # If no action is defined, we default to show_bug if a bug_id is given,
 # otherwise to show_user.
-my $action = $::FORM{'action'} || 
-                                 ($::FORM{'bug_id'} ? "show_bug" : "show_user");
+my $bug_id = $cgi->param('bug_id');
+my $action = $cgi->param('action') || ($bug_id ? "show_bug" : "show_user");
 
 if ($action eq "show_bug" ||
-    ($action eq "show_user" && defined($::FORM{'user'}))) 
+    ($action eq "show_user" && defined $cgi->param('user')))
 {
-    quietly_check_login();
+    Bugzilla->login();
 }
 else {
-    confirm_login();
+    Bugzilla->login(LOGIN_REQUIRED);
 }
 
 ################################################################################
@@ -63,9 +62,8 @@ else {
 
 # Make sure the bug ID is a positive integer representing an existing
 # bug that the user is authorized to access.
-if (defined $::FORM{'bug_id'}) {
-  ValidateBugID($::FORM{'bug_id'});
-}
+
+ValidateBugID($bug_id) if defined $bug_id;
 
 ################################################################################
 # End Data/Security Validation
@@ -91,9 +89,8 @@ exit;
 sub show_bug {
     my $cgi = Bugzilla->cgi;
 
-    my $bug_id = $::FORM{'bug_id'} 
-      || ThrowCodeError("missing_bug_id");
-      
+    ThrowCodeError("missing_bug_id") unless defined $bug_id;
+
     my $total = 0;
     my @users;
     
@@ -125,9 +122,9 @@ sub show_user {
     my $cgi = Bugzilla->cgi;
 
     # If a bug_id is given, and we're editing, we'll add it to the votes list.
-    my $bug_id = $::FORM{'bug_id'} || "";
-        
-    my $name = $::FORM{'user'} || Bugzilla->user->login;
+    $bug_id ||= "";
+    
+    my $name = $cgi->param('user') || Bugzilla->user->login;
     my $who = DBNameToIdAndCheck($name);
     my $userid = Bugzilla->user ? Bugzilla->user->id : 0;
     
@@ -237,18 +234,19 @@ sub record_votes {
     # Build a list of bug IDs for which votes have been submitted.  Votes
     # are submitted in form fields in which the field names are the bug 
     # IDs and the field values are the number of votes.
-    my @buglist = grep {/^[1-9][0-9]*$/} keys(%::FORM);
+
+    my @buglist = grep {/^[1-9][0-9]*$/} $cgi->param();
 
     # If no bugs are in the buglist, let's make sure the user gets notified
     # that their votes will get nuked if they continue.
     if (scalar(@buglist) == 0) {
-        if (!defined($::FORM{'delete_all_votes'})) {
+        if (!defined $cgi->param('delete_all_votes')) {
             print $cgi->header();
             $template->process("bug/votes/delete-all.html.tmpl", $vars)
               || ThrowTemplateError($template->error());
             exit();
         }
-        elsif ($::FORM{'delete_all_votes'} == 0) {
+        elsif ($cgi->param('delete_all_votes') == 0) {
             print $cgi->redirect("votes.cgi");
             exit();
         }
@@ -259,9 +257,11 @@ sub record_votes {
     # to access, and make sure the number of votes submitted is also
     # a non-negative integer (a series of digits not preceded by a
     # minus sign).
+    my %votes;
     foreach my $id (@buglist) {
       ValidateBugID($id);
-      detaint_natural($::FORM{$id})
+      $votes{$id} = $cgi->param($id);
+      detaint_natural($votes{$id}) 
         || ThrowUserError("votes_must_be_nonnegative");
     }
 
@@ -286,14 +286,14 @@ sub record_votes {
         while (MoreSQLData()) {
             my ($id, $prod, $max) = FetchSQLData();
             $prodcount{$prod} ||= 0;
-            $prodcount{$prod} += $::FORM{$id};
+            $prodcount{$prod} += $votes{$id};
             
             # Make sure we haven't broken the votes-per-bug limit
-            ($::FORM{$id} <= $max)               
+            ($votes{$id} <= $max)               
               || ThrowUserError("too_many_votes_for_bug",
                                 {max => $max, 
                                  product => $prod, 
-                                 votes => $::FORM{$id}});
+                                 votes => $votes{$id}});
         }
 
         # Make sure we haven't broken the votes-per-product limit
@@ -313,8 +313,12 @@ sub record_votes {
     # for products that only allow one vote per bug).  In that case, we still
     # need to clear the user's votes from the database.
     my %affected;
-    SendSQL("LOCK TABLES bugs write, votes write, products read, cc read,
-             fielddefs read, user_group_map read, bug_group_map read");
+    SendSQL("LOCK TABLES bugs WRITE, bugs_activity WRITE, votes WRITE, 
+             longdescs WRITE, profiles READ, products READ, components READ, 
+             cc READ, dependencies READ, groups READ, fielddefs READ, 
+             namedqueries READ, watch READ, 
+             profiles AS watchers READ, profiles AS watched READ, 
+             user_group_map READ, bug_group_map READ");
     
     # Take note of, and delete the user's old votes from the database.
     SendSQL("SELECT bug_id FROM votes WHERE who = $who");
@@ -327,22 +331,22 @@ sub record_votes {
     
     # Insert the new values in their place
     foreach my $id (@buglist) {
-        if ($::FORM{$id} > 0) {
+        if ($votes{$id} > 0) {
             SendSQL("INSERT INTO votes (who, bug_id, vote_count) 
-                     VALUES ($who, $id, $::FORM{$id})");
+                     VALUES ($who, $id, ".$votes{$id}.")");
         }
-        
         $affected{$id} = 1;
     }
     
     # Update the cached values in the bugs table
+    print $cgi->header();
     foreach my $id (keys %affected) {
         SendSQL("SELECT sum(vote_count) FROM votes WHERE bug_id = $id");
-        my $v = FetchOneColumn();
-        $v ||= 0;
+        my $v = FetchOneColumn() || 0;
         SendSQL("UPDATE bugs SET votes = $v, delta_ts=delta_ts 
                  WHERE bug_id = $id");
-        CheckIfVotedConfirmed($id, $who);
+        my $confirmed = CheckIfVotedConfirmed($id, $who);
+        $vars->{'header_done'} = 1 if $confirmed;
     }
 
     SendSQL("UNLOCK TABLES");
diff --git a/whineatnews.pl b/whineatnews.pl
index 57a8235830002ed4e2bd645d54517af3ada2ac85..8e73e1b6d2f9578e8871806f0c2b11b3e7342498 100755
--- a/whineatnews.pl
+++ b/whineatnews.pl
@@ -31,7 +31,7 @@ use strict;
 
 require "globals.pl";
 
-ConnectToDatabase();
+use Bugzilla::BugMail;
 
 SendSQL("select bug_id,short_desc,login_name from bugs,profiles where " .
         "(bug_status = 'NEW' or bug_status = 'REOPENED') and " . 
@@ -70,10 +70,7 @@ foreach my $email (sort (keys %bugs)) {
         $msg .= "    -> ${urlbase}show_bug.cgi?id=$i\n";
     }
 
-    my $sendmailparam = Param('sendmailnow') ? '' : "-ODeliveryMode=deferred";
-    open SENDMAIL, "|/usr/lib/sendmail $sendmailparam -t -i"
-        or die "Can't open sendmail";
-    print SENDMAIL $msg;
-    close SENDMAIL;
+    Bugzilla::BugMail::MessageToMTA($msg);
+
     print "$email      " . join(" ", @{$bugs{$email}}) . "\n";
 }