From e42a394d2ffb1e961edb187217deeb3ad723d4e2 Mon Sep 17 00:00:00 2001
From: Rob <rob@synchro.net>
Date: Sun, 20 Sep 2020 20:52:14 -0700
Subject: [PATCH] Remove the old Java Telnet app that we haven't used - in a
 decade?

---
 web/root/telnet/BUGS                          |   19 -
 web/root/telnet/CHANGES                       |  563 -----
 web/root/telnet/COPYING                       |  333 ---
 web/root/telnet/COPYING.LIB                   |  462 ----
 web/root/telnet/CharDisplay.html              |   16 -
 web/root/telnet/CharDisplayTest.class         |  Bin 4437 -> 0 bytes
 web/root/telnet/CharDisplayTest.java          |  163 --
 .../Documentation/Source/CharDisplayTest.html |  495 ----
 .../Source/allclasses-frame.html              |   61 -
 .../Documentation/Source/appWrapper.html      |  637 ------
 .../Documentation/Source/deprecated-list.html |   91 -
 .../Source/display/CharDisplay.html           | 1563 -------------
 .../Source/display/SoftFont.html              |  242 --
 .../Source/display/Terminal.html              |  528 -----
 .../Source/display/TerminalHost.html          |  178 --
 .../Source/display/package-frame.html         |   43 -
 .../Source/display/package-summary.html       |  131 --
 .../Source/display/package-tree.html          |  117 -
 .../Documentation/Source/display/vt320.html   |  842 -------
 .../telnet/Documentation/Source/help-doc.html |  146 --
 .../Source/images/blue-ball-small.gif         |  Bin 255 -> 0 bytes
 .../Documentation/Source/images/blue-ball.gif |  Bin 925 -> 0 bytes
 .../Source/images/class-index.gif             |  Bin 1497 -> 0 bytes
 .../Documentation/Source/images/constrct.gif  |  Bin 1565 -> 0 bytes
 .../Source/images/constructor-index.gif       |  Bin 1711 -> 0 bytes
 .../Source/images/constructors.gif            |  Bin 1565 -> 0 bytes
 .../Source/images/cyan-ball-small.gif         |  Bin 255 -> 0 bytes
 .../Documentation/Source/images/cyan-ball.gif |  Bin 925 -> 0 bytes
 .../Source/images/error-index.gif             |  Bin 1438 -> 0 bytes
 .../Source/images/exception-index.gif         |  Bin 1707 -> 0 bytes
 .../Documentation/Source/images/field_ix.gif  |  Bin 1443 -> 0 bytes
 .../Documentation/Source/images/fields.gif    |  Bin 1241 -> 0 bytes
 .../Source/images/green-ball-small.gif        |  Bin 102 -> 0 bytes
 .../Source/images/green-ball.gif              |  Bin 886 -> 0 bytes
 .../Source/images/interface-index.gif         |  Bin 1648 -> 0 bytes
 .../Source/images/magenta-ball-small.gif      |  Bin 104 -> 0 bytes
 .../Source/images/magenta-ball.gif            |  Bin 896 -> 0 bytes
 .../Source/images/method-index.gif            |  Bin 1588 -> 0 bytes
 .../Documentation/Source/images/methods.gif   |  Bin 1403 -> 0 bytes
 .../Source/images/package-index.gif           |  Bin 1607 -> 0 bytes
 .../Source/images/red-ball-small.gif          |  Bin 255 -> 0 bytes
 .../Documentation/Source/images/red-ball.gif  |  Bin 527 -> 0 bytes
 .../Source/images/variable-index.gif          |  Bin 1576 -> 0 bytes
 .../Documentation/Source/images/variables.gif |  Bin 1241 -> 0 bytes
 .../Source/images/yellow-ball-small.gif       |  Bin 255 -> 0 bytes
 .../Source/images/yellow-ball.gif             |  Bin 925 -> 0 bytes
 .../Documentation/Source/index-all.html       |  801 -------
 .../telnet/Documentation/Source/index.html    |   25 -
 .../Source/modules/BSXModule.html             |  596 -----
 .../Source/modules/ButtonBar.html             |  636 ------
 .../Documentation/Source/modules/Module.html  |  235 --
 .../Source/modules/MudConnector.html          |  571 -----
 .../Documentation/Source/modules/Script.html  |  348 ---
 .../Source/modules/TextLabel.html             |  523 -----
 .../Source/modules/package-frame.html         |   45 -
 .../Source/modules/package-summary.html       |  136 --
 .../Source/modules/package-tree.html          |  124 -
 .../Documentation/Source/overview-frame.html  |   40 -
 .../Source/overview-summary.html              |  108 -
 .../Documentation/Source/overview-tree.html   |  139 --
 .../telnet/Documentation/Source/package-list  |    3 -
 .../telnet/Documentation/Source/packages.html |   26 -
 .../telnet/Documentation/Source/proxy.html    |  252 --
 .../Documentation/Source/serialized-form.html | 1635 -------------
 .../Source/socket/StatusPeer.html             |  181 --
 .../Documentation/Source/socket/TelnetIO.html |  408 ----
 .../Source/socket/TelnetWrapper.html          |  679 ------
 .../Source/socket/TimedOutException.html      |  228 --
 .../Source/socket/package-frame.html          |   50 -
 .../Source/socket/package-summary.html        |  138 --
 .../Source/socket/package-tree.html           |  115 -
 .../Documentation/Source/stylesheet.css       |   29 -
 .../telnet/Documentation/Source/telnet.html   |  955 --------
 web/root/telnet/Documentation/images/bin.gif  |  Bin 1272 -> 0 bytes
 .../telnet/Documentation/images/border.gif    |  Bin 459 -> 0 bytes
 .../telnet/Documentation/images/check.gif     |  Bin 230 -> 0 bytes
 .../telnet/Documentation/images/checkS.gif    |  Bin 139 -> 0 bytes
 web/root/telnet/Documentation/images/doc.gif  |  Bin 922 -> 0 bytes
 .../telnet/Documentation/images/flash.gif     |  Bin 167 -> 0 bytes
 web/root/telnet/Documentation/images/left.gif |  Bin 497 -> 0 bytes
 web/root/telnet/Documentation/images/mail.gif |  Bin 1069 -> 0 bytes
 web/root/telnet/Documentation/images/star.gif |  Bin 227 -> 0 bytes
 .../telnet/Documentation/images/testit.gif    |  Bin 727 -> 0 bytes
 web/root/telnet/Documentation/images/user.gif |  Bin 788 -> 0 bytes
 web/root/telnet/Documentation/index.html      |  696 ------
 web/root/telnet/Documentation/user.html       |  288 ---
 .../telnet/Documentation/whatis.telnet.html   |   31 -
 web/root/telnet/INSTALL                       |   55 -
 web/root/telnet/IOtest.class                  |  Bin 1589 -> 0 bytes
 web/root/telnet/IOtest.java                   |   61 -
 web/root/telnet/Makefile                      |  178 --
 web/root/telnet/README                        |   55 -
 web/root/telnet/REVISION                      |   20 -
 web/root/telnet/TODO                          |   22 -
 web/root/telnet/appWrapper.class              |  Bin 5619 -> 0 bytes
 web/root/telnet/appWrapper.java               |  256 ---
 web/root/telnet/classes.zip                   |  Bin 85685 -> 0 bytes
 web/root/telnet/display/CharDisplay.class     |  Bin 19835 -> 0 bytes
 web/root/telnet/display/CharDisplay.java      | 1297 -----------
 web/root/telnet/display/SoftFont.class        |  Bin 10793 -> 0 bytes
 web/root/telnet/display/SoftFont.java         | 1005 --------
 web/root/telnet/display/Terminal.class        |  Bin 509 -> 0 bytes
 web/root/telnet/display/Terminal.java         |   70 -
 web/root/telnet/display/TerminalHost.class    |  Bin 255 -> 0 bytes
 web/root/telnet/display/TerminalHost.java     |   43 -
 web/root/telnet/display/vt320.class           |  Bin 30926 -> 0 bytes
 web/root/telnet/display/vt320.java            | 2021 -----------------
 web/root/telnet/examples/bbs.html             |   33 -
 web/root/telnet/examples/bbs2.html            |   29 -
 web/root/telnet/examples/bbs3.html            |   26 -
 web/root/telnet/examples/lh.html              |   34 -
 web/root/telnet/examples/mg.html              |   49 -
 web/root/telnet/examples/tapp.html            |   21 -
 web/root/telnet/frame.class                   |  Bin 817 -> 0 bytes
 web/root/telnet/frame.java                    |   49 -
 web/root/telnet/ibmtest.html                  |   31 -
 web/root/telnet/index.download.html           |  182 --
 web/root/telnet/index.ssjs                    |    2 -
 web/root/telnet/modules/BSXModule.class       |  Bin 10405 -> 0 bytes
 web/root/telnet/modules/BSXModule.java        |  562 -----
 web/root/telnet/modules/ButtonBar.class       |  Bin 6731 -> 0 bytes
 web/root/telnet/modules/ButtonBar.java        |  388 ----
 web/root/telnet/modules/Module.class          |  Bin 419 -> 0 bytes
 web/root/telnet/modules/Module.java           |   61 -
 web/root/telnet/modules/MudConnector.class    |  Bin 7696 -> 0 bytes
 web/root/telnet/modules/MudConnector.java     |  300 ---
 web/root/telnet/modules/Script.class          |  Bin 2809 -> 0 bytes
 web/root/telnet/modules/Script.java           |  176 --
 web/root/telnet/modules/TextLabel.class       |  Bin 1975 -> 0 bytes
 web/root/telnet/modules/TextLabel.java        |  109 -
 web/root/telnet/modules/UserDialog.class      |  Bin 1313 -> 0 bytes
 web/root/telnet/modules/bsx/BSXDisplay.class  |  Bin 5672 -> 0 bytes
 web/root/telnet/modules/bsx/BSXDisplay.java   |  213 --
 web/root/telnet/modules/bsx/BSXGraphic.class  |  Bin 573 -> 0 bytes
 web/root/telnet/modules/bsx/BSXGraphic.java   |   20 -
 .../telnet/modules/bsx/BSXInputStream.class   |  Bin 1436 -> 0 bytes
 .../telnet/modules/bsx/BSXInputStream.java    |   60 -
 web/root/telnet/modules/bsx/BSXObject.class   |  Bin 440 -> 0 bytes
 web/root/telnet/modules/bsx/BSXObject.java    |   14 -
 web/root/telnet/modules/bsx/BSXPolygon.class  |  Bin 2219 -> 0 bytes
 web/root/telnet/modules/bsx/BSXPolygon.java   |   45 -
 web/root/telnet/modules/bsx/BSXScene.class    |  Bin 568 -> 0 bytes
 web/root/telnet/modules/bsx/BSXScene.java     |   17 -
 web/root/telnet/socket/StatusPeer.class       |  Bin 277 -> 0 bytes
 web/root/telnet/socket/StatusPeer.java        |   47 -
 web/root/telnet/socket/TelnetIO.class         |  Bin 9052 -> 0 bytes
 web/root/telnet/socket/TelnetIO.java          |  614 -----
 web/root/telnet/socket/TelnetWrapper.class    |  Bin 5705 -> 0 bytes
 web/root/telnet/socket/TelnetWrapper.java     |  396 ----
 .../telnet/socket/TimedOutException.class     |  Bin 434 -> 0 bytes
 web/root/telnet/socket/TimedOutException.java |   19 -
 web/root/telnet/telnet.class                  |  Bin 10936 -> 0 bytes
 web/root/telnet/telnet.java                   |  576 -----
 web/root/telnet/tools/Makefile                |   43 -
 web/root/telnet/tools/mrelayd                 |  Bin 16535 -> 0 bytes
 web/root/telnet/tools/mrelayd.c               |  566 -----
 web/root/telnet/tools/mrelayd.exe             |  Bin 39936 -> 0 bytes
 web/root/telnet/tools/proxy.class             |  Bin 3592 -> 0 bytes
 web/root/telnet/tools/proxy.java              |  225 --
 web/root/telnet/tools/redirector.class        |  Bin 1966 -> 0 bytes
 web/root/telnet/tools/relayd                  |  Bin 16896 -> 0 bytes
 web/root/telnet/tools/relayd.c                |  448 ----
 web/root/telnet/tools/relayd.exe              |  Bin 38400 -> 0 bytes
 163 files changed, 27109 deletions(-)
 delete mode 100644 web/root/telnet/BUGS
 delete mode 100644 web/root/telnet/CHANGES
 delete mode 100644 web/root/telnet/COPYING
 delete mode 100644 web/root/telnet/COPYING.LIB
 delete mode 100644 web/root/telnet/CharDisplay.html
 delete mode 100644 web/root/telnet/CharDisplayTest.class
 delete mode 100644 web/root/telnet/CharDisplayTest.java
 delete mode 100644 web/root/telnet/Documentation/Source/CharDisplayTest.html
 delete mode 100644 web/root/telnet/Documentation/Source/allclasses-frame.html
 delete mode 100644 web/root/telnet/Documentation/Source/appWrapper.html
 delete mode 100644 web/root/telnet/Documentation/Source/deprecated-list.html
 delete mode 100644 web/root/telnet/Documentation/Source/display/CharDisplay.html
 delete mode 100644 web/root/telnet/Documentation/Source/display/SoftFont.html
 delete mode 100644 web/root/telnet/Documentation/Source/display/Terminal.html
 delete mode 100644 web/root/telnet/Documentation/Source/display/TerminalHost.html
 delete mode 100644 web/root/telnet/Documentation/Source/display/package-frame.html
 delete mode 100644 web/root/telnet/Documentation/Source/display/package-summary.html
 delete mode 100644 web/root/telnet/Documentation/Source/display/package-tree.html
 delete mode 100644 web/root/telnet/Documentation/Source/display/vt320.html
 delete mode 100644 web/root/telnet/Documentation/Source/help-doc.html
 delete mode 100644 web/root/telnet/Documentation/Source/images/blue-ball-small.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/blue-ball.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/class-index.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/constrct.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/constructor-index.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/constructors.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/cyan-ball-small.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/cyan-ball.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/error-index.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/exception-index.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/field_ix.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/fields.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/green-ball-small.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/green-ball.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/interface-index.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/magenta-ball-small.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/magenta-ball.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/method-index.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/methods.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/package-index.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/red-ball-small.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/red-ball.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/variable-index.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/variables.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/yellow-ball-small.gif
 delete mode 100644 web/root/telnet/Documentation/Source/images/yellow-ball.gif
 delete mode 100644 web/root/telnet/Documentation/Source/index-all.html
 delete mode 100644 web/root/telnet/Documentation/Source/index.html
 delete mode 100644 web/root/telnet/Documentation/Source/modules/BSXModule.html
 delete mode 100644 web/root/telnet/Documentation/Source/modules/ButtonBar.html
 delete mode 100644 web/root/telnet/Documentation/Source/modules/Module.html
 delete mode 100644 web/root/telnet/Documentation/Source/modules/MudConnector.html
 delete mode 100644 web/root/telnet/Documentation/Source/modules/Script.html
 delete mode 100644 web/root/telnet/Documentation/Source/modules/TextLabel.html
 delete mode 100644 web/root/telnet/Documentation/Source/modules/package-frame.html
 delete mode 100644 web/root/telnet/Documentation/Source/modules/package-summary.html
 delete mode 100644 web/root/telnet/Documentation/Source/modules/package-tree.html
 delete mode 100644 web/root/telnet/Documentation/Source/overview-frame.html
 delete mode 100644 web/root/telnet/Documentation/Source/overview-summary.html
 delete mode 100644 web/root/telnet/Documentation/Source/overview-tree.html
 delete mode 100644 web/root/telnet/Documentation/Source/package-list
 delete mode 100644 web/root/telnet/Documentation/Source/packages.html
 delete mode 100644 web/root/telnet/Documentation/Source/proxy.html
 delete mode 100644 web/root/telnet/Documentation/Source/serialized-form.html
 delete mode 100644 web/root/telnet/Documentation/Source/socket/StatusPeer.html
 delete mode 100644 web/root/telnet/Documentation/Source/socket/TelnetIO.html
 delete mode 100644 web/root/telnet/Documentation/Source/socket/TelnetWrapper.html
 delete mode 100644 web/root/telnet/Documentation/Source/socket/TimedOutException.html
 delete mode 100644 web/root/telnet/Documentation/Source/socket/package-frame.html
 delete mode 100644 web/root/telnet/Documentation/Source/socket/package-summary.html
 delete mode 100644 web/root/telnet/Documentation/Source/socket/package-tree.html
 delete mode 100644 web/root/telnet/Documentation/Source/stylesheet.css
 delete mode 100644 web/root/telnet/Documentation/Source/telnet.html
 delete mode 100644 web/root/telnet/Documentation/images/bin.gif
 delete mode 100644 web/root/telnet/Documentation/images/border.gif
 delete mode 100644 web/root/telnet/Documentation/images/check.gif
 delete mode 100644 web/root/telnet/Documentation/images/checkS.gif
 delete mode 100644 web/root/telnet/Documentation/images/doc.gif
 delete mode 100644 web/root/telnet/Documentation/images/flash.gif
 delete mode 100644 web/root/telnet/Documentation/images/left.gif
 delete mode 100644 web/root/telnet/Documentation/images/mail.gif
 delete mode 100644 web/root/telnet/Documentation/images/star.gif
 delete mode 100644 web/root/telnet/Documentation/images/testit.gif
 delete mode 100644 web/root/telnet/Documentation/images/user.gif
 delete mode 100644 web/root/telnet/Documentation/index.html
 delete mode 100644 web/root/telnet/Documentation/user.html
 delete mode 100644 web/root/telnet/Documentation/whatis.telnet.html
 delete mode 100644 web/root/telnet/INSTALL
 delete mode 100644 web/root/telnet/IOtest.class
 delete mode 100644 web/root/telnet/IOtest.java
 delete mode 100644 web/root/telnet/Makefile
 delete mode 100644 web/root/telnet/README
 delete mode 100644 web/root/telnet/REVISION
 delete mode 100644 web/root/telnet/TODO
 delete mode 100644 web/root/telnet/appWrapper.class
 delete mode 100644 web/root/telnet/appWrapper.java
 delete mode 100644 web/root/telnet/classes.zip
 delete mode 100644 web/root/telnet/display/CharDisplay.class
 delete mode 100644 web/root/telnet/display/CharDisplay.java
 delete mode 100644 web/root/telnet/display/SoftFont.class
 delete mode 100644 web/root/telnet/display/SoftFont.java
 delete mode 100644 web/root/telnet/display/Terminal.class
 delete mode 100644 web/root/telnet/display/Terminal.java
 delete mode 100644 web/root/telnet/display/TerminalHost.class
 delete mode 100644 web/root/telnet/display/TerminalHost.java
 delete mode 100644 web/root/telnet/display/vt320.class
 delete mode 100644 web/root/telnet/display/vt320.java
 delete mode 100644 web/root/telnet/examples/bbs.html
 delete mode 100644 web/root/telnet/examples/bbs2.html
 delete mode 100644 web/root/telnet/examples/bbs3.html
 delete mode 100644 web/root/telnet/examples/lh.html
 delete mode 100644 web/root/telnet/examples/mg.html
 delete mode 100644 web/root/telnet/examples/tapp.html
 delete mode 100644 web/root/telnet/frame.class
 delete mode 100644 web/root/telnet/frame.java
 delete mode 100644 web/root/telnet/ibmtest.html
 delete mode 100644 web/root/telnet/index.download.html
 delete mode 100644 web/root/telnet/index.ssjs
 delete mode 100644 web/root/telnet/modules/BSXModule.class
 delete mode 100644 web/root/telnet/modules/BSXModule.java
 delete mode 100644 web/root/telnet/modules/ButtonBar.class
 delete mode 100644 web/root/telnet/modules/ButtonBar.java
 delete mode 100644 web/root/telnet/modules/Module.class
 delete mode 100644 web/root/telnet/modules/Module.java
 delete mode 100644 web/root/telnet/modules/MudConnector.class
 delete mode 100644 web/root/telnet/modules/MudConnector.java
 delete mode 100644 web/root/telnet/modules/Script.class
 delete mode 100644 web/root/telnet/modules/Script.java
 delete mode 100644 web/root/telnet/modules/TextLabel.class
 delete mode 100644 web/root/telnet/modules/TextLabel.java
 delete mode 100644 web/root/telnet/modules/UserDialog.class
 delete mode 100644 web/root/telnet/modules/bsx/BSXDisplay.class
 delete mode 100644 web/root/telnet/modules/bsx/BSXDisplay.java
 delete mode 100644 web/root/telnet/modules/bsx/BSXGraphic.class
 delete mode 100644 web/root/telnet/modules/bsx/BSXGraphic.java
 delete mode 100644 web/root/telnet/modules/bsx/BSXInputStream.class
 delete mode 100644 web/root/telnet/modules/bsx/BSXInputStream.java
 delete mode 100644 web/root/telnet/modules/bsx/BSXObject.class
 delete mode 100644 web/root/telnet/modules/bsx/BSXObject.java
 delete mode 100644 web/root/telnet/modules/bsx/BSXPolygon.class
 delete mode 100644 web/root/telnet/modules/bsx/BSXPolygon.java
 delete mode 100644 web/root/telnet/modules/bsx/BSXScene.class
 delete mode 100644 web/root/telnet/modules/bsx/BSXScene.java
 delete mode 100644 web/root/telnet/socket/StatusPeer.class
 delete mode 100644 web/root/telnet/socket/StatusPeer.java
 delete mode 100644 web/root/telnet/socket/TelnetIO.class
 delete mode 100644 web/root/telnet/socket/TelnetIO.java
 delete mode 100644 web/root/telnet/socket/TelnetWrapper.class
 delete mode 100644 web/root/telnet/socket/TelnetWrapper.java
 delete mode 100644 web/root/telnet/socket/TimedOutException.class
 delete mode 100644 web/root/telnet/socket/TimedOutException.java
 delete mode 100644 web/root/telnet/telnet.class
 delete mode 100644 web/root/telnet/telnet.java
 delete mode 100644 web/root/telnet/tools/Makefile
 delete mode 100644 web/root/telnet/tools/mrelayd
 delete mode 100644 web/root/telnet/tools/mrelayd.c
 delete mode 100755 web/root/telnet/tools/mrelayd.exe
 delete mode 100644 web/root/telnet/tools/proxy.class
 delete mode 100644 web/root/telnet/tools/proxy.java
 delete mode 100644 web/root/telnet/tools/redirector.class
 delete mode 100644 web/root/telnet/tools/relayd
 delete mode 100644 web/root/telnet/tools/relayd.c
 delete mode 100755 web/root/telnet/tools/relayd.exe

diff --git a/web/root/telnet/BUGS b/web/root/telnet/BUGS
deleted file mode 100644
index e627e4b613..0000000000
--- a/web/root/telnet/BUGS
+++ /dev/null
@@ -1,19 +0,0 @@
-The Java(tm) Telnet Applet
-
-There are still some bugs we know of and we will draw attention to during
-development. Take a look at http://www.first.gmd.de/persons/leo/java/Telnet
-from time to time to get new versions or mail to leo@first.gmd.de to get
-notified of new versions.
-
-Report bugs to leo@first.gmd.de stating the Operating System you use plus
-the Web browser or Applet Viewer version. Attach the java console log if
-possible.
-
-Known BUGS:
-
-  * There is still a bug when you try to resize the window too much.
-      SYMPTOMS: The font/screen rssize gets switched off and the font
-                is set to default
-      WORKAROUND: None yet.
-
-  * Redraw problems on Win* platforms.
diff --git a/web/root/telnet/CHANGES b/web/root/telnet/CHANGES
deleted file mode 100644
index 9b0e4fa5bd..0000000000
--- a/web/root/telnet/CHANGES
+++ /dev/null
@@ -1,563 +0,0 @@
-1999-04-09  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* modules/MudConnector.java: Patched to make it compilable with jdk 1.2
-
-	* modules/ButtonBar.java:
-	There was a bug, when adding an input field the button event handler was not
-	initialized. :-(
-
-1999-03-20  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* display/vt320.java:
-	When linefeeding, we may cross from top into the scrolling region.
-	bug found & fixed by Greg Doughty <gmdoughty@lucent.com>
-
-	* display/CharDisplay.java:
-	small fixes by Greg Doughty <gmdoughty@lucent.com>
-	(drawline & brightness for bold attribute)
-
-1999-03-04  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* telnet.java: Default connection goes to the web server
-
-1999-03-03  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* display/vt320.java:
-	why did we ignore control-Fx ? seems to have been introduced by 1.22 (Rays patches)
-
-1999-03-01  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* display/vt320.java:
-	backspace did not backspace in some editors (ESC[P should delete at least 1 char)
-	originmode renamed to moveoutsidemargins, some places in code fixed.
-	(vi O command).
-
-1998-12-01  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* display/vt320.java: \xxxx escapes
-
-	* telnet.java: localecho = no/yes/auto (auto is default)
-
-1998-08-07  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* display/CharDisplay.java: *** empty log message ***
-
-1998-03-18  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* display/CharDisplay.java: patched a scrollbar bug
-
-1998-03-07  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* display/vt320.java: *** empty log message ***
-
-	* display/vt320.java: added documentation. a bit ;)
-
-	* display/vt320.java:
-	some changes and additions to function key handling (contributed by Mike Scott <MIMS@chevron.com>, cleaned up by me :)
-
-1998-02-24  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* modules/ButtonBar.java: text is cleared after send
-
-1998-02-23  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* display/vt320.java:
-	bugfix for unEscape, while even number of chars, it had to end with a
-	backslash :(
-
-1998-02-17  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* display/vt320.java: argl, ESC  wasn't replaced
-
-	* display/vt320.java: ARGH. unEscape did not work
-
-1998-02-09  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* socket/TelnetIO.java, telnet.java, display/CharDisplay.java:
-	*** empty log message ***
-
-	* telnet.java: download for executables
-
-1997-12-16  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* socket/TelnetIO.java, telnet.java: *** empty log message ***
-
-	* socket/TelnetIO.java, modules/BSXModule.java:
-	a new module, back from the very first version of the telnet ;-)
-
-	* display/CharDisplay.java: *** empty log message ***
-
-	* telnet.java: BSX has been added to the modules list for compiling
-
-	* modules/ButtonBar.java: *** empty log message ***
-
-1997-11-07  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* display/vt320.java: ESC [ G  added
-
-	* display/vt320.java: ESC [ d implemented
-
-1997-11-04  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* modules/ButtonBar.java:
-	ButtonBar text input field accept the return key now!
-
-1997-11-03  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* display/vt320.java: some more originmode fixes
-
-	* display/SoftFont.java: added 0x2666 , BLACK DIAMOND?
-
-	* display/vt320.java: ESC M fixed
-	scrollregions/cursorpositioning fixed
-	didn't scroll when in last line... fixed
-
-1997-11-03  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* modules/Script.java: Script now includes dialog popup support
-
-	* display/vt320.java: documentation for F-keys
-
-1997-10-31  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* display/SoftFont.java, display/vt320.java:
-	ESC [ P fixed (vanishing text in vi I think),
-	ESC [ @ added (cmdline editing bash),
-	statusline handling removed again (too broken for good),
-	misc characterset fixes
-
-1997-10-30  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* modules/Script.java:
-	Included support for Dialog prompting, after an idea from
-	-> albert s boyers <boyers@minniemouse.cemax.com>
-
-	* display/CharDisplay.java: *** empty log message ***
-
-	* telnet.java: My version of index.html got corrupted.
-	I have removed the output of module names from telnet.java.
-
-1997-10-15  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* display/vt320.java: hmm, don't need CSI Pn $ - ?
-
-1997-10-15  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* display/CharDisplay.java, display/vt320.java:
-	First try on a status line.
-
-1997-10-14  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* display/CharDisplay.java: *** empty log message ***
-
-1997-10-13  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* display/vt320.java: prelim statusline support
-
-	* display/CharDisplay.java:
-	windowBase doesn't belong into calc. of the X cursorposition, Leo!!!
-
-1997-10-10  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* display/CharDisplay.java: scrollback buffer bug fixed
-
-1997-10-08  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* modules/ButtonBar.java: Switched back to FlowLayout.
-
-1997-10-07  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* display/CharDisplay.java: selectionend underflows fixed too
-
-1997-09-30  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* display/vt320.java: 8 bit CSI was wrong
-	RI added
-
-	* display/CharDisplay.java:
-	fix selection overflows when resizing on Win*
-
-1997-09-05  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* display/vt320.java: a bit more debugoutput
-
-1997-09-05  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* socket/TelnetWrapper.java: *** empty log message ***
-
-1997-09-05  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* socket/TimedOutException.java: new file by George Ruban
-
-	* socket/TelnetIO.java: George Ruban added available
-
-1997-08-30  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* display/SoftFont.java:
-	square root, black square added. one char fixed
-
-	* display/CharDisplay.java:
-	colors by default darker so brightness works better ;)
-
-	* display/vt320.java:
-	fixed focus problem in NS4 by using display.requestFocus instead of just requestFocus
-
-1997-08-29  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* display/vt320.java: debuyg off
-
-	* display/vt320.java:
-	report chars >0x100, where no softfont is present.
-	fixed 1 character, added DARK SHADE, BLACK SQUARE, SQUARE ROOT
-
-1997-08-18  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* modules/ButtonBar.java: *** empty log message ***
-
-	* modules/ButtonBar.java: GridLayout error
-
-	* modules/ButtonBar.java: changing the configuration...
-
-	* display/CharDisplay.java:
-	small bugfix, setting the font only once in paint()
-
-	* telnet.java:
-	First attempts to ease module configuration (configuration file)
-
-1997-08-17  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* display/vt320.java: @ can now be generated on german keyboards
-
-1997-08-07  Marcus Meissner  <marcus@tanis.first.gmd.de>
-
-	* display/vt320.java: added origin mode (vor ESC [ .. H).
-	fixed tabsetting.
-	(two vttest problems)
-
-	* display/CharDisplay.java:
-	deleteLine fixed... was copying one line too many
-
-1997-08-02  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java: gr mapping broken
-
-1997-07-25  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java:
-	basic charset handling fixed, charset G2/G3 switchers added. (still lacking)
-
-1997-07-24  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* modules/ButtonBar.java: gridLayout for ButtonBar
-
-	* modules/ButtonBar.java: *** empty log message ***
-
-	* display/CharDisplay.java:
-	I have fixed the scrollBar bug. Expect a strange looking scrollbar under
-	Windows 95!, but it works as expected!
-
-	* telnet.java, appWrapper.java:
-	There is a bug I cannot explain, when using the "startButton" with
-	appWrapper. The telnet window will black out when iconizing the
-	browser window. However, resizing the telnet window redisplays its
-	contents.
-
-1997-07-21  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java: changed bare ESC to \u001b
-
-1997-07-10  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java: --debugoutput
-
-	* display/CharDisplay.java:
-	deleteLine: in case of a specified scroll area, deleteLine's bottom was 1 too less (second part of emacs ^K bug)
-
-1997-07-09  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java: debug off
-
-1997-07-09  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* modules/TextLabel.java: a simple applet to display text labels
-
-1997-07-09  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java:
-	CSI Pn M was deleting one less line than desired.... one part of emacs ^K problem fixed
-
-1997-07-08  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* modules/ButtonBar.java, appWrapper.java:
-	reattaching applet when clicking on the space on the web browser
-
-	* modules/ButtonBar.java, appWrapper.java, frame.java, telnet.java:
-	Closing the frame of a detached window destroys it!
-
-1997-07-04  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/SoftFont.java: decreased memory usage...
-
-	* display/vt320.java:
-	use 8bit control chars only when not using ibmcharset...
-
-	* display/SoftFont.java: *** empty log message ***
-
-	* display/SoftFont.java:
-	speed up for softfonts by directly specifying fillrects (not complete)
-
-1997-07-01  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* telnet.java, appWrapper.java: *** empty log message ***
-
-	* modules/ButtonBar.java:
-	When no parent window was created, destroy applet window.
-
-	* appWrapper.java: *** empty log message ***
-
-1997-07-01  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java:
-	oops, some TSTATE_xxx weren't switching back to TSTATE_DATA
-
-1997-06-30  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* appWrapper.java: added more documentation, more changes to come
-
-1997-06-29  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* appWrapper.java:
-	The appWrapper can now only display a button to launch the applet
-
-1997-06-29  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java: use 8bit control chars even when using ibmcharset
-
-	* display/SoftFont.java: *** empty log message ***
-
-	* display/vt320.java:
-	use cp431 (doslatin1us) instead of cp850 (doslatin1) ... most bbs systems
-	seem to use this.
-
-	* display/CharDisplay.java: - added softfont capability.
-	  CharDisplay is now able to display softfonts (rendered by SoftFont) and
-	  standard fonts so the loss of speed should be marginal.
-	- some cleanups in paint()
-
-	* display/SoftFont.java:
-	a softfont emulator capable to display usually missing UNICODE characters
-	(currently used for line and boxdrawings in the IBM PC charset)
-
-1997-06-09  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java:
-	don't handle chars as bit-8-set VT sequences when using the IBM charset
-
-1997-06-08  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java:
-	hmm, telnet linefeed string changed from \r\0 to \r\n (CR LF?) (RFC 1123)
-
-1997-05-27  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* display/CharDisplay.java: there was a nullpointer bug
-
-	* tools/proxy.java: added date and time logging
-
-1997-05-27  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java:
-	a lot of additions and fixes done by "Ray Whitmer <raywhitmer@itsnet.com>"
-	- key handling (esp. function key, return etc.)
-	- Emulation fixes (a lot of them)
-	- VMS additions
-
-1997-05-27  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* socket/TelnetIO.java, display/vt320.java, appWrapper.java, telnet.java:
-	included version information for online retrieval
-
-1997-05-27  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java: *** empty log message ***
-
-1997-05-27  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* display/CharDisplay.java: documentation for setScrollbar()
-
-1997-05-26  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* display/CharDisplay.java, display/vt320.java:
-	moved the scrollbar to the character display
-
-1997-05-20  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java: changed VTibmcharset to VTcharset
-
-	* display/vt320.java: added docu
-
-	* display/vt320.java: - scratch any \r input from terminal
-	- ibm charset mapping added
-
-1997-05-08  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java:
-	added restore default color (fore and background) in ESC [ Pn* m
-
-1997-05-06  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java: fixed insertmode ESC [ 4 l/h
-
-1997-05-05  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* display/CharDisplay.java: some more documentation
-
-	* display/CharDisplay.java:
-	implemented colors: bright + black reveals as dark gray (foreground only)
-
-	* display/CharDisplay.java, display/vt320.java:
-	added a border to the character display
-	cursorposition is now set and retrieved by setCursorPos() and getCursorPos()
-	necessary for future adaption to JDK 1.1
-
-1997-04-29  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* telnet.java:
-	return now sends \r\n to the terminal and \r\0 to the server.
-
-1997-04-18  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java: ESC [ L fixed ... messed up 'vi' o command
-
-1997-04-15  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* tools/proxy.java:
-	the connecting client gets a message when the remote host is
-	not available.
-
-1997-04-14  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* telnet.java: telnet will not connect if no host is given as parameter
-
-	* tools/proxy.java: the proxy does not exit when a host is unavailable
-
-	* socket/TelnetIO.java:
-	bugfix: lost connection is now detected immediately
-
-	* modules/MudConnector.java: 3D-status bar and info Button
-
-	* display/CharDisplay.java: rudimentary support for copy&paste
-
-	* telnet.java: added compilation of MudConnector to Makefile
-
-1997-04-10  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/CharDisplay.java:
-	deleteLine ... nicht size.height, sondern bottom.
-	fixt ein 'vim' Problem
-
-1997-04-04  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* telnet.java: telnet.java does not exit when no destination is given.
-
-	* modules/ButtonBar.java, modules/MudConnector.java:
-	MudConnector is a new module designed for Andrew Cowans www.mudconnect.com
-	It loads a file of muds plus addresses to connect to. WOrks only in
-	connection with a proxy server!
-
-1997-04-04  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* socket/TelnetIO.java: SGI problem fixed.
-
-	* socket/TelnetIO.java: *** empty log message ***
-
-1997-03-24  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* modules/Script.java, modules/ButtonBar.java, modules/Module.java:
-	module interface changed: receive() now returns a String or null
-
-	* telnet.java:
-	removed the script module from testpage and changed the module interface
-	slightly
-
-1997-03-19  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* modules/Module.java, modules/Script.java, modules/ButtonBar.java:
-	Modules are now notified of connect() and disconnect()
-
-	* telnet.java:
-	added notification of modules upon connect and disconnect
-
-1997-03-19  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java:
-	delete left frtom cursor was leaving out 1 element
-
-	* display/vt320.java: use enough tabs....
-
-1997-03-18  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java: total reformatiert auf zweier spaces
-
-1997-03-18  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* display/CharDisplay.java: fixed a bug when resizing the screen
-
-1997-03-18  msmeissn  <msmeissn@tanis.first.gmd.de>
-
-	* display/vt320.java: layout(0 statt display.resize9)
-
-	* display/vt320.java: und nochnmal
-
-	* display/vt320.java: ESC [ nr P added
-	first try at 132/80 resize
-
-1997-03-18  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* display/CharDisplay.java: *** empty log message ***
-
-	* modules/ButtonBar.java:
-	It seems that \27 != ^[ (escape). Now the \e escape should work.
-
-	* display/vt320.java:
-	Don't initialize, when a character display exists.
-	This should fix the detaching problem, where the screen was blank after
-	it was added to the external frame.
-
-1997-03-17  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* modules/ButtonBar.java: added documentation for the \e character
-
-1997-03-13  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* display/vt320.java: fixed bug in documentation VTrows default is 24
-
-1997-03-12  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* modules/ButtonBar.java: fixed bug in send text from input field
-
-	* telnet.java: minor changes
-
-1997-03-05  Matthias L. Jugel  <leo@tanis.first.gmd.de>
-
-	* modules/Script.java, modules/ButtonBar.java, display/vt320.java:
-	added documentation
-
-	* modules/ButtonBar.java:
-	moved the documentation from index.html to this source file
-
-	* telnet.java: fixed bug in connect
-
-	* modules/ButtonBar.java: port number bug
-
-	* display/vt320.java: documentation changes
-
-	* CharDisplayTest.java, IOtest.java, appWrapper.java, display/CharDisplay.java, display/Terminal.java, display/TerminalHost.java, display/vt320.java, modules/ButtonBar.java, modules/Module.java, modules/Script.java, socket/StatusPeer.java, socket/TelnetIO.java, telnet.java, tools/proxy.java:
-	Initial CVS Registering
-
-	This is the java(tm) Telnet Applet
-
-
-	* CharDisplayTest.java, IOtest.java, appWrapper.java, display/CharDisplay.java, display/Terminal.java, display/TerminalHost.java, display/vt320.java, modules/ButtonBar.java, modules/Module.java, modules/Script.java, socket/StatusPeer.java, socket/TelnetIO.java, telnet.java, tools/proxy.java:
-	New file.
-
diff --git a/web/root/telnet/COPYING b/web/root/telnet/COPYING
deleted file mode 100644
index 32e6f4083f..0000000000
--- a/web/root/telnet/COPYING
+++ /dev/null
@@ -1,333 +0,0 @@
-GNU GENERAL PUBLIC LICENSE
-
-Version 2, June 1991
-
-Copyright (C) 1989, 1991 Free Software Foundation, Inc.  675
-Mass Ave, Cambridge, MA 02139, USA
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-
-Preamble
-
-The licenses for most software are designed to take away your freedom to
-share and change it. By contrast, the GNU General Public License is intended
-to guarantee your freedom to share and change free software--to make sure
-the software is free for all its users. This General Public License applies
-to most of the Free Software Foundation's software and to any other program
-whose authors commit to using it. (Some other Free Software Foundation
-software is covered by the GNU Library General Public License instead.) You
-can apply it to your programs, too.
-
-When we speak of free software, we are referring to freedom, not price. Our
-General Public Licenses are designed to make sure that you have the freedom
-to distribute copies of free software (and charge for this service if you
-wish), that you receive source code or can get it if you want it, that you
-can change the software or use pieces of it in new free programs; and that
-you know you can do these things.
-
-To protect your rights, we need to make restrictions that forbid anyone to
-deny you these rights or to ask you to surrender the rights. These
-restrictions translate to certain responsibilities for you if you distribute
-copies of the software, or if you modify it.
-
-For example, if you distribute copies of such a program, whether gratis or
-for a fee, you must give the recipients all the rights that you have. You
-must make sure that they, too, receive or can get the source code. And you
-must show them these terms so they know their rights.
-
-We protect your rights with two steps: (1) copyright the software, and (2)
-offer you this license which gives you legal permission to copy, distribute
-and/or modify the software.
-
-Also, for each author's protection and ours, we want to make certain that
-everyone understands that there is no warranty for this free software. If
-the software is modified by someone else and passed on, we want its
-recipients to know that what they have is not the original, so that any
-problems introduced by others will not reflect on the original authors'
-reputations.
-
-Finally, any free program is threatened constantly by software patents. We
-wish to avoid the danger that redistributors of a free program will
-individually obtain patent licenses, in effect making the program
-proprietary. To prevent this, we have made it clear that any patent must be
-licensed for everyone's free use or not licensed at all.
-
-The precise terms and conditions for copying, distribution and modification
-follow.
-
-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-0. This License applies to any program or other work which contains a notice
-placed by the copyright holder saying it may be distributed under the terms
-of this General Public License. The "Program", below, refers to any such
-program or work, and a "work based on the Program" means either the Program
-or any derivative work under copyright law: that is to say, a work
-containing the Program or a portion of it, either verbatim or with
-modifications and/or translated into another language. (Hereinafter,
-translation is included without limitation in the term "modification".) Each
-licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not covered
-by this License; they are outside its scope. The act of running the Program
-is not restricted, and the output from the Program is covered only if its
-contents constitute a work based on the Program (independent of having been
-made by running the Program). Whether that is true depends on what the
-Program does.
-
-1. You may copy and distribute verbatim copies of the Program's source code
-as you receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice and
-disclaimer of warranty; keep intact all the notices that refer to this
-License and to the absence of any warranty; and give any other recipients of
-the Program a copy of this License along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and you
-may at your option offer warranty protection in exchange for a fee.
-
-2. You may modify your copy or copies of the Program or any portion of it,
-thus forming a work based on the Program, and copy and distribute such
-modifications or work under the terms of Section 1 above, provided that you
-also meet all of these conditions:
-
-   * a) You must cause the modified files to carry prominent notices stating
-     that you changed the files and the date of any change.
-
-   * b) You must cause any work that you distribute or publish, that in
-     whole or in part contains or is derived from the Program or any part
-     thereof, to be licensed as a whole at no charge to all third parties
-     under the terms of this License.
-
-   * c) If the modified program normally reads commands interactively when
-     run, you must cause it, when started running for such interactive use
-     in the most ordinary way, to print or display an announcement including
-     an appropriate copyright notice and a notice that there is no warranty
-     (or else, saying that you provide a warranty) and that users may
-     redistribute the program under these conditions, and telling the user
-     how to view a copy of this License. (Exception: if the Program itself
-     is interactive but does not normally print such an announcement, your
-     work based on the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If identifiable
-sections of that work are not derived from the Program, and can be
-reasonably considered independent and separate works in themselves, then
-this License, and its terms, do not apply to those sections when you
-distribute them as separate works. But when you distribute the same sections
-as part of a whole which is a work based on the Program, the distribution of
-the whole must be on the terms of this License, whose permissions for other
-licensees extend to the entire whole, and thus to each and every part
-regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest your
-rights to work written entirely by you; rather, the intent is to exercise
-the right to control the distribution of derivative or collective works
-based on the Program.
-
-In addition, mere aggregation of another work not based on the Program with
-the Program (or with a work based on the Program) on a volume of a storage
-or distribution medium does not bring the other work under the scope of this
-License.
-
-3. You may copy and distribute the Program (or a work based on it, under
-Section 2) in object code or executable form under the terms of Sections 1
-and 2 above provided that you also do one of the following:
-
-   * a) Accompany it with the complete corresponding machine-readable source
-     code, which must be distributed under the terms of Sections 1 and 2
-     above on a medium customarily used for software interchange; or,
-
-   * b) Accompany it with a written offer, valid for at least three years,
-     to give any third party, for a charge no more than your cost of
-     physically performing source distribution, a complete machine-readable
-     copy of the corresponding source code, to be distributed under the
-     terms of Sections 1 and 2 above on a medium customarily used for
-     software interchange; or,
-
-   * c) Accompany it with the information you received as to the offer to
-     distribute corresponding source code. (This alternative is allowed only
-     for noncommercial distribution and only if you received the program in
-     object code or executable form with such an offer, in accord with
-     Subsection b above.)
-
-The source code for a work means the preferred form of the work for making
-modifications to it. For an executable work, complete source code means all
-the source code for all modules it contains, plus any associated interface
-definition files, plus the scripts used to control compilation and
-installation of the executable. However, as a special exception, the source
-code distributed need not include anything that is normally distributed (in
-either source or binary form) with the major components (compiler, kernel,
-and so on) of the operating system on which the executable runs, unless that
-component itself accompanies the executable.
-
-If distribution of executable or object code is made by offering access to
-copy from a designated place, then offering equivalent access to copy the
-source code from the same place counts as distribution of the source code,
-even though third parties are not compelled to copy the source along with
-the object code.
-
-4. You may not copy, modify, sublicense, or distribute the Program except as
-expressly provided under this License. Any attempt otherwise to copy,
-modify, sublicense or distribute the Program is void, and will automatically
-terminate your rights under this License. However, parties who have received
-copies, or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-5. You are not required to accept this License, since you have not signed
-it. However, nothing else grants you permission to modify or distribute the
-Program or its derivative works. These actions are prohibited by law if you
-do not accept this License. Therefore, by modifying or distributing the
-Program (or any work based on the Program), you indicate your acceptance of
-this License to do so, and all its terms and conditions for copying,
-distributing or modifying the Program or works based on it.
-
-6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the original
-licensor to copy, distribute or modify the Program subject to these terms
-and conditions. You may not impose any further restrictions on the
-recipients' exercise of the rights granted herein. You are not responsible
-for enforcing compliance by third parties to this License.
-
-7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot distribute so
-as to satisfy simultaneously your obligations under this License and any
-other pertinent obligations, then as a consequence you may not distribute
-the Program at all. For example, if a patent license would not permit
-royalty-free redistribution of the Program by all those who receive copies
-directly or indirectly through you, then the only way you could satisfy both
-it and this License would be to refrain entirely from distribution of the
-Program.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply and
-the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any patents
-or other property right claims or to contest validity of any such claims;
-this section has the sole purpose of protecting the integrity of the free
-software distribution system, which is implemented by public license
-practices. Many people have made generous contributions to the wide range of
-software distributed through that system in reliance on consistent
-application of that system; it is up to the author/donor to decide if he or
-she is willing to distribute software through any other system and a
-licensee cannot impose that choice.
-
-This section is intended to make thoroughly clear what is believed to be a
-consequence of the rest of this License.
-
-8. If the distribution and/or use of the Program is restricted in certain
-countries either by patents or by copyrighted interfaces, the original
-copyright holder who places the Program under this License may add an
-explicit geographical distribution limitation excluding those countries, so
-that distribution is permitted only in or among countries not thus excluded.
-In such case, this License incorporates the limitation as if written in the
-body of this License.
-
-9. The Free Software Foundation may publish revised and/or new versions of
-the General Public License from time to time. Such new versions will be
-similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-10. If you wish to incorporate parts of the Program into other free programs
-whose distribution conditions are different, write to the author to ask for
-permission. For software which is copyrighted by the Free Software
-Foundation, write to the Free Software Foundation; we sometimes make
-exceptions for this. Our decision will be guided by the two goals of
-preserving the free status of all derivatives of our free software and of
-promoting the sharing and reuse of software generally.
-
-NO WARRANTY
-
-11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
-THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO
-THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
-PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
-CORRECTION.
-
-12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO
-LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR
-THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-END OF TERMS AND CONDITIONS
-
-How to Apply These Terms to Your New Programs
-
-If you develop a new program, and you want it to be of the greatest possible
-use to the public, the best way to achieve this is to make it free software
-which everyone can redistribute and change under these terms.
-
-To do so, attach the following notices to the program. It is safest to
-attach them to the start of each source file to most effectively convey the
-exclusion of warranty; and each file should have at least the "copyright"
-line and a pointer to where the full notice is found.
-
-one line to give the program's name and an idea of what it does.
-Copyright (C) 19yy  name of author
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this when
-it starts in an interactive mode:
-
-Gnomovision version 69, Copyright (C) 19yy name of author
-Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
-type `show w'.  This is free software, and you are welcome
-to redistribute it under certain conditions; type `show c'
-for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may be
-called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
-Yoyodyne, Inc., hereby disclaims all copyright
-interest in the program `Gnomovision'
-(which makes passes at compilers) written
-by James Hacker.
-
-signature of Ty Coon, 1 April 1989
-Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General Public
-License instead of this License.
diff --git a/web/root/telnet/COPYING.LIB b/web/root/telnet/COPYING.LIB
deleted file mode 100644
index ed7233fe00..0000000000
--- a/web/root/telnet/COPYING.LIB
+++ /dev/null
@@ -1,462 +0,0 @@
-GNU LIBRARY GENERAL PUBLIC LICENSE
-
-Version 2, June 1991
-
-Copyright (C) 1991 Free Software Foundation, Inc.
-675 Mass Ave, Cambridge, MA 02139, USA
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-
-[This is the first released version of the library GPL.  It is
- numbered 2 because it goes with version 2 of the ordinary GPL.]
-
-Preamble
-
-The licenses for most software are designed to take away your freedom to
-share and change it. By contrast, the GNU General Public Licenses are
-intended to guarantee your freedom to share and change free software--to
-make sure the software is free for all its users.
-
-This license, the Library General Public License, applies to some specially
-designated Free Software Foundation software, and to any other libraries
-whose authors decide to use it. You can use it for your libraries, too.
-
-When we speak of free software, we are referring to freedom, not price. Our
-General Public Licenses are designed to make sure that you have the freedom
-to distribute copies of free software (and charge for this service if you
-wish), that you receive source code or can get it if you want it, that you
-can change the software or use pieces of it in new free programs; and that
-you know you can do these things.
-
-To protect your rights, we need to make restrictions that forbid anyone to
-deny you these rights or to ask you to surrender the rights. These
-restrictions translate to certain responsibilities for you if you distribute
-copies of the library, or if you modify it.
-
-For example, if you distribute copies of the library, whether gratis or for
-a fee, you must give the recipients all the rights that we gave you. You
-must make sure that they, too, receive or can get the source code. If you
-link a program with the library, you must provide complete object files to
-the recipients so that they can relink them with the library, after making
-changes to the library and recompiling it. And you must show them these
-terms so they know their rights.
-
-Our method of protecting your rights has two steps: (1) copyright the
-library, and (2) offer you this license which gives you legal permission to
-copy, distribute and/or modify the library.
-
-Also, for each distributor's protection, we want to make certain that
-everyone understands that there is no warranty for this free library. If the
-library is modified by someone else and passed on, we want its recipients to
-know that what they have is not the original version, so that any problems
-introduced by others will not reflect on the original authors' reputations.
-
-Finally, any free program is threatened constantly by software patents. We
-wish to avoid the danger that companies distributing free software will
-individually obtain patent licenses, thus in effect transforming the program
-into proprietary software. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-Most GNU software, including some libraries, is covered by the ordinary GNU
-General Public License, which was designed for utility programs. This
-license, the GNU Library General Public License, applies to certain
-designated libraries. This license is quite different from the ordinary one;
-be sure to read it in full, and don't assume that anything in it is the same
-as in the ordinary license.
-
-The reason we have a separate public license for some libraries is that they
-blur the distinction we usually make between modifying or adding to a
-program and simply using it. Linking a program with a library, without
-changing the library, is in some sense simply using the library, and is
-analogous to running a utility program or application program. However, in a
-textual and legal sense, the linked executable is a combined work, a
-derivative of the original library, and the ordinary General Public License
-treats it as such.
-
-Because of this blurred distinction, using the ordinary General Public
-License for libraries did not effectively promote software sharing, because
-most developers did not use the libraries. We concluded that weaker
-conditions might promote sharing better.
-
-However, unrestricted linking of non-free programs would deprive the users
-of those programs of all benefit from the free status of the libraries
-themselves. This Library General Public License is intended to permit
-developers of non-free programs to use free libraries, while preserving your
-freedom as a user of such programs to change the free libraries that are
-incorporated in them. (We have not seen how to achieve this as regards
-changes in header files, but we have achieved it as regards changes in the
-actual functions of the Library.) The hope is that this will lead to faster
-development of free libraries.
-
-The precise terms and conditions for copying, distribution and modification
-follow. Pay close attention to the difference between a "work based on the
-library" and a "work that uses the library". The former contains code
-derived from the library, while the latter only works together with the
-library.
-
-Note that it is possible for a library to be covered by the ordinary General
-Public License rather than by this special one.
-
-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-0. This License Agreement applies to any software library which contains a
-notice placed by the copyright holder or other authorized party saying it
-may be distributed under the terms of this Library General Public License
-(also called "this License"). Each licensee is addressed as "you".
-
-A "library" means a collection of software functions and/or data prepared so
-as to be conveniently linked with application programs (which use some of
-those functions and data) to form executables.
-
-The "Library", below, refers to any such software library or work which has
-been distributed under these terms. A "work based on the Library" means
-either the Library or any derivative work under copyright law: that is to
-say, a work containing the Library or a portion of it, either verbatim or
-with modifications and/or translated straightforwardly into another
-language. (Hereinafter, translation is included without limitation in the
-term "modification".)
-
-"Source code" for a work means the preferred form of the work for making
-modifications to it. For a library, complete source code means all the
-source code for all modules it contains, plus any associated interface
-definition files, plus the scripts used to control compilation and
-installation of the library.
-
-Activities other than copying, distribution and modification are not covered
-by this License; they are outside its scope. The act of running a program
-using the Library is not restricted, and output from such a program is
-covered only if its contents constitute a work based on the Library
-(independent of the use of the Library in a tool for writing it). Whether
-that is true depends on what the Library does and what the program that uses
-the Library does.
-
-1. You may copy and distribute verbatim copies of the Library's complete
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the notices
-that refer to this License and to the absence of any warranty; and
-distribute a copy of this License along with the Library.
-
-You may charge a fee for the physical act of transferring a copy, and you
-may at your option offer warranty protection in exchange for a fee.
-
-2. You may modify your copy or copies of the Library or any portion of it,
-thus forming a work based on the Library, and copy and distribute such
-modifications or work under the terms of Section 1 above, provided that you
-also meet all of these conditions:
-
-   * a) The modified work must itself be a software library.
-
-   * b) You must cause the files modified to carry prominent notices stating
-     that you changed the files and the date of any change.
-
-   * c) You must cause the whole of the work to be licensed at no charge to
-     all third parties under the terms of this License.
-
-   * d) If a facility in the modified Library refers to a function or a
-     table of data to be supplied by an application program that uses the
-     facility, other than as an argument passed when the facility is
-     invoked, then you must make a good faith effort to ensure that, in the
-     event an application does not supply such function or table, the
-     facility still operates, and performs whatever part of its purpose
-     remains meaningful. (For example, a function in a library to compute
-     square roots has a purpose that is entirely well-defined independent of
-     the application. Therefore, Subsection 2d requires that any
-     application-supplied function or table used by this function must be
-     optional: if the application does not supply it, the square root
-     function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If identifiable
-sections of that work are not derived from the Library, and can be
-reasonably considered independent and separate works in themselves, then
-this License, and its terms, do not apply to those sections when you
-distribute them as separate works. But when you distribute the same sections
-as part of a whole which is a work based on the Library, the distribution of
-the whole must be on the terms of this License, whose permissions for other
-licensees extend to the entire whole, and thus to each and every part
-regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest your
-rights to work written entirely by you; rather, the intent is to exercise
-the right to control the distribution of derivative or collective works
-based on the Library.
-
-In addition, mere aggregation of another work not based on the Library with
-the Library (or with a work based on the Library) on a volume of a storage
-or distribution medium does not bring the other work under the scope of this
-License.
-
-3. You may opt to apply the terms of the ordinary GNU General Public License
-instead of this License to a given copy of the Library. To do this, you must
-alter all the notices that refer to this License, so that they refer to the
-ordinary GNU General Public License, version 2, instead of to this License.
-(If a newer version than version 2 of the ordinary GNU General Public
-License has appeared, then you can specify that version instead if you
-wish.) Do not make any other change in these notices.
-
-Once this change is made in a given copy, it is irreversible for that copy,
-so the ordinary GNU General Public License applies to all subsequent copies
-and derivative works made from that copy.
-
-This option is useful when you wish to copy part of the code of the Library
-into a program that is not a library.
-
-4. You may copy and distribute the Library (or a portion or derivative of
-it, under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you accompany it with the complete
-corresponding machine-readable source code, which must be distributed under
-the terms of Sections 1 and 2 above on a medium customarily used for
-software interchange.
-
-If distribution of object code is made by offering access to copy from a
-designated place, then offering equivalent access to copy the source code
-from the same place satisfies the requirement to distribute the source code,
-even though third parties are not compelled to copy the source along with
-the object code.
-
-5. A program that contains no derivative of any portion of the Library, but
-is designed to work with the Library by being compiled or linked with it, is
-called a "work that uses the Library". Such a work, in isolation, is not a
-derivative work of the Library, and therefore falls outside the scope of
-this License.
-
-However, linking a "work that uses the Library" with the Library creates an
-executable that is a derivative of the Library (because it contains portions
-of the Library), rather than a "work that uses the library". The executable
-is therefore covered by this License. Section 6 states terms for
-distribution of such executables.
-
-When a "work that uses the Library" uses material from a header file that is
-part of the Library, the object code for the work may be a derivative work
-of the Library even though the source code is not. Whether this is true is
-especially significant if the work can be linked without the Library, or if
-the work is itself a library. The threshold for this to be true is not
-precisely defined by law.
-
-If such an object file uses only numerical parameters, data structure
-layouts and accessors, and small macros and small inline functions (ten
-lines or less in length), then the use of the object file is unrestricted,
-regardless of whether it is legally a derivative work. (Executables
-containing this object code plus portions of the Library will still fall
-under Section 6.)
-
-Otherwise, if the work is a derivative of the Library, you may distribute
-the object code for the work under the terms of Section 6. Any executables
-containing that work also fall under Section 6, whether or not they are
-linked directly with the Library itself.
-
-6. As an exception to the Sections above, you may also compile or link a
-"work that uses the Library" with the Library to produce a work containing
-portions of the Library, and distribute that work under terms of your
-choice, provided that the terms permit modification of the work for the
-customer's own use and reverse engineering for debugging such modifications.
-
-You must give prominent notice with each copy of the work that the Library
-is used in it and that the Library and its use are covered by this License.
-You must supply a copy of this License. If the work during execution
-displays copyright notices, you must include the copyright notice for the
-Library among them, as well as a reference directing the user to the copy of
-this License. Also, you must do one of these things:
-
-   * a) Accompany the work with the complete corresponding machine-readable
-     source code for the Library including whatever changes were used in the
-     work (which must be distributed under Sections 1 and 2 above); and, if
-     the work is an executable linked with the Library, with the complete
-     machine-readable "work that uses the Library", as object code and/or
-     source code, so that the user can modify the Library and then relink to
-     produce a modified executable containing the modified Library. (It is
-     understood that the user who changes the contents of definitions files
-     in the Library will not necessarily be able to recompile the
-     application to use the modified definitions.)
-
-   * b) Accompany the work with a written offer, valid for at least three
-     years, to give the same user the materials specified in Subsection 6a,
-     above, for a charge no more than the cost of performing this
-     distribution.
-
-   * c) If distribution of the work is made by offering access to copy from
-     a designated place, offer equivalent access to copy the above specified
-     materials from the same place.
-
-   * d) Verify that the user has already received a copy of these materials
-     or that you have already sent this user a copy.
-
-For an executable, the required form of the "work that uses the Library"
-must include any data and utility programs needed for reproducing the
-executable from it. However, as a special exception, the source code
-distributed need not include anything that is normally distributed (in
-either source or binary form) with the major components (compiler, kernel,
-and so on) of the operating system on which the executable runs, unless that
-component itself accompanies the executable.
-
-It may happen that this requirement contradicts the license restrictions of
-other proprietary libraries that do not normally accompany the operating
-system. Such a contradiction means you cannot use both them and the Library
-together in an executable that you distribute.
-
-7. You may place library facilities that are a work based on the Library
-side-by-side in a single library together with other library facilities not
-covered by this License, and distribute such a combined library, provided
-that the separate distribution of the work based on the Library and of the
-other library facilities is otherwise permitted, and provided that you do
-these two things:
-
-   * a) Accompany the combined library with a copy of the same work based on
-     the Library, uncombined with any other library facilities. This must be
-     distributed under the terms of the Sections above.
-
-   * b) Give prominent notice with the combined library of the fact that
-     part of it is a work based on the Library, and explaining where to find
-     the accompanying uncombined form of the same work.
-
-8. You may not copy, modify, sublicense, link with, or distribute the
-Library except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense, link with, or distribute the Library
-is void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such parties
-remain in full compliance.
-
-9. You are not required to accept this License, since you have not signed
-it. However, nothing else grants you permission to modify or distribute the
-Library or its derivative works. These actions are prohibited by law if you
-do not accept this License. Therefore, by modifying or distributing the
-Library (or any work based on the Library), you indicate your acceptance of
-this License to do so, and all its terms and conditions for copying,
-distributing or modifying the Library or works based on it.
-
-10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the original
-licensor to copy, distribute, link with or modify the Library subject to
-these terms and conditions. You may not impose any further restrictions on
-the recipients' exercise of the rights granted herein. You are not
-responsible for enforcing compliance by third parties to this License.
-
-11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot distribute so
-as to satisfy simultaneously your obligations under this License and any
-other pertinent obligations, then as a consequence you may not distribute
-the Library at all. For example, if a patent license would not permit
-royalty-free redistribution of the Library by all those who receive copies
-directly or indirectly through you, then the only way you could satisfy both
-it and this License would be to refrain entirely from distribution of the
-Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any patents
-or other property right claims or to contest validity of any such claims;
-this section has the sole purpose of protecting the integrity of the free
-software distribution system which is implemented by public license
-practices. Many people have made generous contributions to the wide range of
-software distributed through that system in reliance on consistent
-application of that system; it is up to the author/donor to decide if he or
-she is willing to distribute software through any other system and a
-licensee cannot impose that choice.
-
-This section is intended to make thoroughly clear what is believed to be a
-consequence of the rest of this License.
-
-12. If the distribution and/or use of the Library is restricted in certain
-countries either by patents or by copyrighted interfaces, the original
-copyright holder who places the Library under this License may add an
-explicit geographical distribution limitation excluding those countries, so
-that distribution is permitted only in or among countries not thus excluded.
-In such case, this License incorporates the limitation as if written in the
-body of this License.
-
-13. The Free Software Foundation may publish revised and/or new versions of
-the Library General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Library does not specify a license version
-number, you may choose any version ever published by the Free Software
-Foundation.
-
-14. If you wish to incorporate parts of the Library into other free programs
-whose distribution conditions are incompatible with these, write to the
-author to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals of
-preserving the free status of all derivatives of our free software and of
-promoting the sharing and reuse of software generally.
-
-NO WARRANTY
-
-15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
-THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO
-THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY
-PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
-CORRECTION.
-
-16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO
-LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR
-THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER
-SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-END OF TERMS AND CONDITIONS
-
-How to Apply These Terms to Your New Libraries
-
-If you develop a new library, and you want it to be of the greatest possible
-use to the public, we recommend making it free software that everyone can
-redistribute and change. You can do so by permitting redistribution under
-these terms (or, alternatively, under the terms of the ordinary General
-Public License).
-
-To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-one line to give the library's name and an idea of what it does.
-Copyright (C) year  name of author
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public
-License as published by the Free Software Foundation; either
-version 2 of the License, or (at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with this library; if not, write to the
-Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
-MA 02139, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
-Yoyodyne, Inc., hereby disclaims all copyright interest in
-the library `Frob' (a library for tweaking knobs) written
-by James Random Hacker.
-
-signature of Ty Coon, 1 April 1990
-Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/web/root/telnet/CharDisplay.html b/web/root/telnet/CharDisplay.html
deleted file mode 100644
index 4bb7245cc3..0000000000
--- a/web/root/telnet/CharDisplay.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>The JAVA Telnet Applet: Test drive</TITLE>
-</HEAD>
-
-<H1>The JAVA Telnet Applet: Test drive</H1>
-
-<P>&copy; 1996, 97 <A HREF="mailto:leo@first.gmd.de">Matthias L. Jugel</A>,
-<A HREF="mailto:msmeissn@cip.informatik.uni-erlangen.de">Marcus 
-Mei&szlig;ner</A> 
-<P>
-<CENTER>
-<TABLE BORDER>
-<APPLET CODE="CharDisplayTest.class" WIDTH=600 HEIGHT=480> </APPLET>
-</TABLE>
-</HTML>
diff --git a/web/root/telnet/CharDisplayTest.class b/web/root/telnet/CharDisplayTest.class
deleted file mode 100644
index fd452d3061032f8b309f22e70227c6c688dfc676..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4437
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

diff --git a/web/root/telnet/CharDisplayTest.java b/web/root/telnet/CharDisplayTest.java
deleted file mode 100644
index 2cfbf7704c..0000000000
--- a/web/root/telnet/CharDisplayTest.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/**
- * CharDisplayTest
- * --
- * $Id: CharDisplayTest.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Mon Feb 17 20:11:20 1997 by Matthias L. Jugel :$
- *
- * This file is part of "The Java Telnet Applet".
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be 
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-import java.applet.Applet;
-import java.awt.Button;
-import java.awt.Panel;
-import java.awt.Event;
-import java.awt.FlowLayout;
-import java.awt.BorderLayout;
-import java.awt.Choice;
-import java.awt.TextField;
-import java.awt.Font;
-
-import display.CharDisplay;
-
-/**
- * CharDisplayTest -- a test applet to show the display/CharDisplay features
- * --
- * @version	$Id: CharDisplayTest.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * @author	Matthias L. Jugel, Marcus Mei�ner
- */
-public class CharDisplayTest extends Applet
-{
-  CharDisplay display = new CharDisplay(80, 24, "Courier", 14);
-
-  Panel buttons = new Panel();
-  Button info = new Button("Information");
-  Button chars = new Button("Character Table");
-  Button attr = new Button("Attributes");
-  Choice fonts = new Choice();
-  TextField from = new TextField("0", 4);
-
-  public void init()
-  {
-    setLayout(new BorderLayout());
-    fonts.addItem("Helvetica");
-    fonts.addItem("TimesRoman");
-    fonts.addItem("Courier");
-    fonts.addItem("Dialog");
-    fonts.addItem("DialogInput");
-    fonts.addItem("ZapfDingBats");
-    fonts.addItem("default");
-    buttons.add(info);
-    buttons.add(chars);
-    buttons.add(attr);
-    buttons.add(fonts);
-    buttons.add(from);
-    add("North", buttons);
-    display.setResizeStrategy(CharDisplay.RESIZE_FONT);
-    add("Center", display);
-    Info();
-  }
-  
-  public boolean handleEvent(Event evt)
-  {
-    if(evt.target == info) { Info(); return true; }
-    if(evt.target == chars) { CharacterTable(); return true; }
-    if(evt.target == attr) { Attributes(); return true; }
-    if(evt.id == Event.ACTION_EVENT && 
-       (evt.target == fonts || evt.target == from))
-    {
-      remove(display);
-      display = new CharDisplay(80, 24, fonts.getSelectedItem(), 12);
-      add("Center", display);
-      CharacterTable();
-      layout();
-      return true;
-    }
-    return false;
-  }
-
-  private void Clear()
-  {
-    display.deleteArea(0, 0, 80, 24);
-  }
-    
-  private void Info()
-  {
-    Clear();
-    display.putString(4, 1, "CharDisplay.class Information", CharDisplay.INVERT);
-    display.putString(4, 3, "Version: "+display.version, CharDisplay.BOLD);
-    display.putString(4, 5, "This class implements several hardware features needed to implement");
-    display.putString(4, 6, "a video terminal.");
-    display.putString(4, 7, "This includes simple operations, such as putting and inserting single");
-    display.putString(4, 8, "characters or strings on the screen, character attributes and colors.");
-    display.putString(4, 9, "Special features like inserting lines, scrolling text up or down and");
-    display.putString(4,10, "defining scrollareas help implementing terminal emulations.");
-    display.redraw();
-  }
-    
-  private void CharacterTable()
-  {
-    int ch = (new Integer(from.getText())).intValue();
-    
-    Clear();
-    display.putString( 4, 1, "Character Table", CharDisplay.INVERT);
-    for(int c = 1; c < 80; c += 6)
-      for(int l = 3; l < 23; l++)
-      {
-	display.putString(c, l, ""+ch, CharDisplay.INVERT);
-	display.putChar(c+4, l, (char)ch++);
-      }
-    display.markLine(3, 20);
-    display.redraw();
-  }
-
-  private void Attributes()
-  {
-    int c = 4, l = 8;
-    
-    Clear();
-    display.putString( 4, 1, "Character attributes", CharDisplay.INVERT);
-    display.putString( 4, 3, "Normal", CharDisplay.NORMAL);
-    display.putString(22, 3, "Bold", CharDisplay.BOLD);
-    display.putString(40, 3, "Underline", CharDisplay.UNDERLINE);
-    display.putString(58, 3, "Invert", CharDisplay.INVERT);
-
-    display.putString( 4, 5, "Black", 1 << 3 | 8 << 7);
-    display.putString(13, 5, "Red", 2 << 3);
-    display.putString(22, 5, "Green", 3 << 3);
-    display.putString(31, 5, "Yellow", 4 << 3);
-    display.putString(40, 5, "Blue", 5 << 3);
-    display.putString(49, 5, "Magenta", 6 << 3);
-    display.putString(58, 5, "Cyan", 7 << 3);
-    display.putString(67, 5, "LightGray", 8 << 3);
-    
-    for(int bg = 1; bg <= 8; bg++)
-    {
-      for(int fg = 1; fg <= 8; fg++)
-      {
-	for(int a = 0; a <= 7; a++)
-	{
-	  display.putChar(c++, l, '@', (fg << 3) | (bg << 7) | a);
-	  display.redraw();
-	}
-	c++;
-      }
-      l += 2; c = 4;
-    }
-    
-  }
-}
diff --git a/web/root/telnet/Documentation/Source/CharDisplayTest.html b/web/root/telnet/Documentation/Source/CharDisplayTest.html
deleted file mode 100644
index 4baba482e6..0000000000
--- a/web/root/telnet/Documentation/Source/CharDisplayTest.html
+++ /dev/null
@@ -1,495 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:33 CEST 1999 -->
-<TITLE>
-: Class  CharDisplayTest
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="appWrapper.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="proxy.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="CharDisplayTest.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.awt.Component">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-Class  CharDisplayTest</H2>
-<PRE>
-java.lang.Object
-  |
-  +--java.awt.Component
-        |
-        +--java.awt.Container
-              |
-              +--java.awt.Panel
-                    |
-                    +--java.applet.Applet
-                          |
-                          +--<B>CharDisplayTest</B>
-</PRE>
-<HR>
-<DL>
-<DT>public class <B>CharDisplayTest</B><DT>extends java.applet.Applet</DL>
-
-<P>
-CharDisplayTest -- a test applet to show the display/CharDisplay features
- --
-<P>
-<DL>
-<DT><B>Version: </B><DD>$Id: CharDisplayTest.html,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $</DD>
-<DT><B>Author: </B><DD>Matthias L. Jugel, Marcus Mei�ner</DD>
-<DT><B>See Also: </B><DD><A HREF="serialized-form.html#CharDisplayTest">Serialized Form</A></DL>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Fields inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>BOTTOM_ALIGNMENT,  
-CENTER_ALIGNMENT,  
-LEFT_ALIGNMENT,  
-RIGHT_ALIGNMENT,  
-TOP_ALIGNMENT</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="CharDisplayTest.html#CharDisplayTest()">CharDisplayTest</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="CharDisplayTest.html#handleEvent(java.awt.Event)">handleEvent</A></B>(java.awt.Event&nbsp;evt)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="CharDisplayTest.html#init()">init</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.applet.Applet"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.applet.Applet</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>destroy, 
-getAppletContext, 
-getAppletInfo, 
-getAudioClip, 
-getAudioClip, 
-getCodeBase, 
-getDocumentBase, 
-getImage, 
-getImage, 
-getLocale, 
-getParameter, 
-getParameterInfo, 
-isActive, 
-newAudioClip, 
-play, 
-play, 
-resize, 
-resize, 
-setStub, 
-showStatus, 
-start, 
-stop</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Panel"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Panel</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>addNotify</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Container</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>add, 
-add, 
-add, 
-add, 
-add, 
-addContainerListener, 
-addImpl, 
-countComponents, 
-deliverEvent, 
-doLayout, 
-findComponentAt, 
-findComponentAt, 
-getAlignmentX, 
-getAlignmentY, 
-getComponent, 
-getComponentAt, 
-getComponentAt, 
-getComponentCount, 
-getComponents, 
-getInsets, 
-getLayout, 
-getMaximumSize, 
-getMinimumSize, 
-getPreferredSize, 
-insets, 
-invalidate, 
-isAncestorOf, 
-layout, 
-list, 
-list, 
-locate, 
-minimumSize, 
-paint, 
-paintComponents, 
-paramString, 
-preferredSize, 
-print, 
-printComponents, 
-processContainerEvent, 
-processEvent, 
-remove, 
-remove, 
-removeAll, 
-removeContainerListener, 
-removeNotify, 
-setFont, 
-setLayout, 
-update, 
-validate, 
-validateTree</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>action, 
-add, 
-addComponentListener, 
-addFocusListener, 
-addInputMethodListener, 
-addKeyListener, 
-addMouseListener, 
-addMouseMotionListener, 
-addPropertyChangeListener, 
-addPropertyChangeListener, 
-bounds, 
-checkImage, 
-checkImage, 
-coalesceEvents, 
-contains, 
-contains, 
-createImage, 
-createImage, 
-disable, 
-disableEvents, 
-dispatchEvent, 
-enable, 
-enable, 
-enableEvents, 
-enableInputMethods, 
-firePropertyChange, 
-getBackground, 
-getBounds, 
-getBounds, 
-getColorModel, 
-getComponentOrientation, 
-getCursor, 
-getDropTarget, 
-getFont, 
-getFontMetrics, 
-getForeground, 
-getGraphics, 
-getHeight, 
-getInputContext, 
-getInputMethodRequests, 
-getLocation, 
-getLocation, 
-getLocationOnScreen, 
-getName, 
-getParent, 
-getPeer, 
-getSize, 
-getSize, 
-getToolkit, 
-getTreeLock, 
-getWidth, 
-getX, 
-getY, 
-gotFocus, 
-hasFocus, 
-hide, 
-imageUpdate, 
-inside, 
-isDisplayable, 
-isDoubleBuffered, 
-isEnabled, 
-isFocusTraversable, 
-isLightweight, 
-isOpaque, 
-isShowing, 
-isValid, 
-isVisible, 
-keyDown, 
-keyUp, 
-list, 
-list, 
-list, 
-location, 
-lostFocus, 
-mouseDown, 
-mouseDrag, 
-mouseEnter, 
-mouseExit, 
-mouseMove, 
-mouseUp, 
-move, 
-nextFocus, 
-paintAll, 
-postEvent, 
-prepareImage, 
-prepareImage, 
-printAll, 
-processComponentEvent, 
-processFocusEvent, 
-processInputMethodEvent, 
-processKeyEvent, 
-processMouseEvent, 
-processMouseMotionEvent, 
-remove, 
-removeComponentListener, 
-removeFocusListener, 
-removeInputMethodListener, 
-removeKeyListener, 
-removeMouseListener, 
-removeMouseMotionListener, 
-removePropertyChangeListener, 
-removePropertyChangeListener, 
-repaint, 
-repaint, 
-repaint, 
-repaint, 
-requestFocus, 
-reshape, 
-setBackground, 
-setBounds, 
-setBounds, 
-setComponentOrientation, 
-setCursor, 
-setDropTarget, 
-setEnabled, 
-setForeground, 
-setLocale, 
-setLocation, 
-setLocation, 
-setName, 
-setSize, 
-setSize, 
-setVisible, 
-show, 
-show, 
-size, 
-toString, 
-transferFocus</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>clone, 
-equals, 
-finalize, 
-getClass, 
-hashCode, 
-notify, 
-notifyAll, 
-wait, 
-wait, 
-wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="CharDisplayTest()"><!-- --></A><H3>
-CharDisplayTest</H3>
-<PRE>
-public <B>CharDisplayTest</B>()</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="init()"><!-- --></A><H3>
-init</H3>
-<PRE>
-public void <B>init</B>()</PRE>
-<DL>
-<DD><DL>
-<DT><B>Overrides:</B><DD>init in class java.applet.Applet</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="handleEvent(java.awt.Event)"><!-- --></A><H3>
-handleEvent</H3>
-<PRE>
-public boolean <B>handleEvent</B>(java.awt.Event&nbsp;evt)</PRE>
-<DL>
-<DD><DL>
-<DT><B>Overrides:</B><DD>handleEvent in class java.awt.Component</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="appWrapper.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="proxy.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="CharDisplayTest.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.awt.Component">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/allclasses-frame.html b/web/root/telnet/Documentation/Source/allclasses-frame.html
deleted file mode 100644
index cc7104a4bb..0000000000
--- a/web/root/telnet/Documentation/Source/allclasses-frame.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:31 CEST 1999 -->
-<TITLE>
-All Classes
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-<FONT size="+1" ID="FrameHeadingFont">
-<B>All Classes</B></FONT>
-<BR>
-
-<TABLE BORDER="0" WIDTH="100%">
-<TR>
-<TD NOWRAP><FONT ID="FrameItemFont"><A HREF="appWrapper.html" TARGET="classFrame">appWrapper</A>
-<BR>
-<A HREF="modules/BSXModule.html" TARGET="classFrame">BSXModule</A>
-<BR>
-<A HREF="modules/ButtonBar.html" TARGET="classFrame">ButtonBar</A>
-<BR>
-<A HREF="display/CharDisplay.html" TARGET="classFrame">CharDisplay</A>
-<BR>
-<A HREF="CharDisplayTest.html" TARGET="classFrame">CharDisplayTest</A>
-<BR>
-<A HREF="modules/Module.html" TARGET="classFrame"><I>Module</I></A>
-<BR>
-<A HREF="modules/MudConnector.html" TARGET="classFrame">MudConnector</A>
-<BR>
-<A HREF="proxy.html" TARGET="classFrame">proxy</A>
-<BR>
-<A HREF="modules/Script.html" TARGET="classFrame">Script</A>
-<BR>
-<A HREF="display/SoftFont.html" TARGET="classFrame">SoftFont</A>
-<BR>
-<A HREF="socket/StatusPeer.html" TARGET="classFrame"><I>StatusPeer</I></A>
-<BR>
-<A HREF="telnet.html" TARGET="classFrame">telnet</A>
-<BR>
-<A HREF="socket/TelnetIO.html" TARGET="classFrame">TelnetIO</A>
-<BR>
-<A HREF="socket/TelnetWrapper.html" TARGET="classFrame">TelnetWrapper</A>
-<BR>
-<A HREF="display/Terminal.html" TARGET="classFrame">Terminal</A>
-<BR>
-<A HREF="display/TerminalHost.html" TARGET="classFrame"><I>TerminalHost</I></A>
-<BR>
-<A HREF="modules/TextLabel.html" TARGET="classFrame">TextLabel</A>
-<BR>
-<A HREF="socket/TimedOutException.html" TARGET="classFrame">TimedOutException</A>
-<BR>
-<A HREF="display/vt320.html" TARGET="classFrame">vt320</A>
-<BR>
-</FONT></TD>
-</TR>
-</TABLE>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/appWrapper.html b/web/root/telnet/Documentation/Source/appWrapper.html
deleted file mode 100644
index 55eaf78969..0000000000
--- a/web/root/telnet/Documentation/Source/appWrapper.html
+++ /dev/null
@@ -1,637 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:32 CEST 1999 -->
-<TITLE>
-: Class  appWrapper
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;<A HREF="CharDisplayTest.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="appWrapper.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.awt.Component">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-Class  appWrapper</H2>
-<PRE>
-java.lang.Object
-  |
-  +--java.awt.Component
-        |
-        +--java.awt.Container
-              |
-              +--java.awt.Panel
-                    |
-                    +--java.applet.Applet
-                          |
-                          +--<B>appWrapper</B>
-</PRE>
-<HR>
-<DL>
-<DT>public class <B>appWrapper</B><DT>extends java.applet.Applet<DT>implements java.applet.AppletStub, java.lang.Runnable</DL>
-
-<P>
-The appWrapper is thought to make the applet itself independent from
- the original context. This is necessary to be able to detach the applet
- from the web browsers window without disconnecting it from events.
- Note: This applet should work with any applet without changes.
-
- <DL>
- <DT><B><PRE>&lt;PARAM NAME=&quot;applet&quot; VALUE=&quot;<I>applet</I>&quot;&gt;</PRE></B>
- <DD>Defines the applet to be loaded by the appWrapper. State the applet 
-     class name without &quot;.class&quot;!<P>
- <DT><B><PRE>&lt;PARAM NAME=&quot;startButton&quot; VALUE=&quot;<I>text</I>&quot;&gt;</PRE></B>
- <DD>If this parameter is set the applet is not loaded until the user presses
-     the button. This decreases first time download delay. The <I>text</I>
-     given as value to the parameter is shown on the button. While loading
-     the applet the message "Loading ..." is shown on the button.<P>
- <DT><B><PRE>&lt;PARAM NAME=&quot;stopButton&quot; VALUE=&quot;<I>text</I>&quot;&gt;</PRE></B>
- <DD>This parameter defines the button text when the applet is loaded. When 
-     pressing the button while the applet is running this causes the applet
-     window to be destroyed and the applet is stopped.<P>
- <DT><B><PRE>&lt;PARAM NAME=&quot;frameTitle&quot; VALUE=&quot;<I>text</I>&quot;&gt;</PRE></B>
- <DD>The <I>frameTitle</I> is the text that is shown in the title bar of the
-     applet window.<P>
- </DL>
-<P>
-<DL>
-<DT><B>Version: </B><DD>$Id: appWrapper.html,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $</DD>
-<DT><B>Author: </B><DD>Matthias L. Jugel</DD>
-<DT><B>See Also: </B><DD><A HREF="serialized-form.html#appWrapper">Serialized Form</A></DL>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Fields inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>BOTTOM_ALIGNMENT,  
-CENTER_ALIGNMENT,  
-LEFT_ALIGNMENT,  
-RIGHT_ALIGNMENT,  
-TOP_ALIGNMENT</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="appWrapper.html#appWrapper()">appWrapper</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="appWrapper.html#appletResize(int, int)">appletResize</A></B>(int&nbsp;width,
-             int&nbsp;height)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is called when the applet want's to be resized.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="appWrapper.html#getAppletInfo()">getAppletInfo</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Give information about the applet.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String[][]</CODE></FONT></TD>
-<TD><CODE><B><A HREF="appWrapper.html#getParameterInfo()">getParameterInfo</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Give information about the appWrapper and the applet loaded.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="appWrapper.html#handleEvent(java.awt.Event)">handleEvent</A></B>(java.awt.Event&nbsp;evt)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Handle button events.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="appWrapper.html#init()">init</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Applet initialization.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="appWrapper.html#paint(java.awt.Graphics)">paint</A></B>(java.awt.Graphics&nbsp;g)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Write a message to the applet area.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="appWrapper.html#reshape(int, int, int, int)">reshape</A></B>(int&nbsp;x,
-        int&nbsp;y,
-        int&nbsp;w,
-        int&nbsp;h)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reshape the applet and ourself</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="appWrapper.html#run()">run</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Load the applet finally.</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.applet.Applet"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.applet.Applet</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>destroy, 
-getAppletContext, 
-getAudioClip, 
-getAudioClip, 
-getCodeBase, 
-getDocumentBase, 
-getImage, 
-getImage, 
-getLocale, 
-getParameter, 
-isActive, 
-newAudioClip, 
-play, 
-play, 
-resize, 
-resize, 
-setStub, 
-showStatus, 
-start, 
-stop</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Panel"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Panel</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>addNotify</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Container</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>add, 
-add, 
-add, 
-add, 
-add, 
-addContainerListener, 
-addImpl, 
-countComponents, 
-deliverEvent, 
-doLayout, 
-findComponentAt, 
-findComponentAt, 
-getAlignmentX, 
-getAlignmentY, 
-getComponent, 
-getComponentAt, 
-getComponentAt, 
-getComponentCount, 
-getComponents, 
-getInsets, 
-getLayout, 
-getMaximumSize, 
-getMinimumSize, 
-getPreferredSize, 
-insets, 
-invalidate, 
-isAncestorOf, 
-layout, 
-list, 
-list, 
-locate, 
-minimumSize, 
-paintComponents, 
-paramString, 
-preferredSize, 
-print, 
-printComponents, 
-processContainerEvent, 
-processEvent, 
-remove, 
-remove, 
-removeAll, 
-removeContainerListener, 
-removeNotify, 
-setFont, 
-setLayout, 
-update, 
-validate, 
-validateTree</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>action, 
-add, 
-addComponentListener, 
-addFocusListener, 
-addInputMethodListener, 
-addKeyListener, 
-addMouseListener, 
-addMouseMotionListener, 
-addPropertyChangeListener, 
-addPropertyChangeListener, 
-bounds, 
-checkImage, 
-checkImage, 
-coalesceEvents, 
-contains, 
-contains, 
-createImage, 
-createImage, 
-disable, 
-disableEvents, 
-dispatchEvent, 
-enable, 
-enable, 
-enableEvents, 
-enableInputMethods, 
-firePropertyChange, 
-getBackground, 
-getBounds, 
-getBounds, 
-getColorModel, 
-getComponentOrientation, 
-getCursor, 
-getDropTarget, 
-getFont, 
-getFontMetrics, 
-getForeground, 
-getGraphics, 
-getHeight, 
-getInputContext, 
-getInputMethodRequests, 
-getLocation, 
-getLocation, 
-getLocationOnScreen, 
-getName, 
-getParent, 
-getPeer, 
-getSize, 
-getSize, 
-getToolkit, 
-getTreeLock, 
-getWidth, 
-getX, 
-getY, 
-gotFocus, 
-hasFocus, 
-hide, 
-imageUpdate, 
-inside, 
-isDisplayable, 
-isDoubleBuffered, 
-isEnabled, 
-isFocusTraversable, 
-isLightweight, 
-isOpaque, 
-isShowing, 
-isValid, 
-isVisible, 
-keyDown, 
-keyUp, 
-list, 
-list, 
-list, 
-location, 
-lostFocus, 
-mouseDown, 
-mouseDrag, 
-mouseEnter, 
-mouseExit, 
-mouseMove, 
-mouseUp, 
-move, 
-nextFocus, 
-paintAll, 
-postEvent, 
-prepareImage, 
-prepareImage, 
-printAll, 
-processComponentEvent, 
-processFocusEvent, 
-processInputMethodEvent, 
-processKeyEvent, 
-processMouseEvent, 
-processMouseMotionEvent, 
-remove, 
-removeComponentListener, 
-removeFocusListener, 
-removeInputMethodListener, 
-removeKeyListener, 
-removeMouseListener, 
-removeMouseMotionListener, 
-removePropertyChangeListener, 
-removePropertyChangeListener, 
-repaint, 
-repaint, 
-repaint, 
-repaint, 
-requestFocus, 
-setBackground, 
-setBounds, 
-setBounds, 
-setComponentOrientation, 
-setCursor, 
-setDropTarget, 
-setEnabled, 
-setForeground, 
-setLocale, 
-setLocation, 
-setLocation, 
-setName, 
-setSize, 
-setSize, 
-setVisible, 
-show, 
-show, 
-size, 
-toString, 
-transferFocus</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>clone, 
-equals, 
-finalize, 
-getClass, 
-hashCode, 
-notify, 
-notifyAll, 
-wait, 
-wait, 
-wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="appWrapper()"><!-- --></A><H3>
-appWrapper</H3>
-<PRE>
-public <B>appWrapper</B>()</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="init()"><!-- --></A><H3>
-init</H3>
-<PRE>
-public void <B>init</B>()</PRE>
-<DL>
-<DD>Applet initialization. We load the class giving in parameter "applet"
- and set the stub corresponding to ours. Thus we are able to give
- it access to the parameters and any applet specific context.<DD><DL>
-<DT><B>Overrides:</B><DD>init in class java.applet.Applet</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="run()"><!-- --></A><H3>
-run</H3>
-<PRE>
-public void <B>run</B>()</PRE>
-<DL>
-<DD>Load the applet finally. When using a button this creates a new frame
- to put the applet in.<DD><DL>
-<DT><B>Specified by: </B><DD>run in interface java.lang.Runnable</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="appletResize(int, int)"><!-- --></A><H3>
-appletResize</H3>
-<PRE>
-public void <B>appletResize</B>(int&nbsp;width,
-                         int&nbsp;height)</PRE>
-<DL>
-<DD>This method is called when the applet want's to be resized.<DD><DL>
-<DT><B>Specified by: </B><DD>appletResize in interface java.applet.AppletStub<DT><B>Parameters:</B><DD><CODE>width</CODE> - the width of the applet<DD><CODE>height</CODE> - the height of the applet</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getAppletInfo()"><!-- --></A><H3>
-getAppletInfo</H3>
-<PRE>
-public java.lang.String <B>getAppletInfo</B>()</PRE>
-<DL>
-<DD>Give information about the applet.<DD><DL>
-<DT><B>Overrides:</B><DD>getAppletInfo in class java.applet.Applet</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getParameterInfo()"><!-- --></A><H3>
-getParameterInfo</H3>
-<PRE>
-public java.lang.String[][] <B>getParameterInfo</B>()</PRE>
-<DL>
-<DD>Give information about the appWrapper and the applet loaded.<DD><DL>
-<DT><B>Overrides:</B><DD>getParameterInfo in class java.applet.Applet</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="paint(java.awt.Graphics)"><!-- --></A><H3>
-paint</H3>
-<PRE>
-public void <B>paint</B>(java.awt.Graphics&nbsp;g)</PRE>
-<DL>
-<DD>Write a message to the applet area.<DD><DL>
-<DT><B>Overrides:</B><DD>paint in class java.awt.Container</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="reshape(int, int, int, int)"><!-- --></A><H3>
-reshape</H3>
-<PRE>
-public void <B>reshape</B>(int&nbsp;x,
-                    int&nbsp;y,
-                    int&nbsp;w,
-                    int&nbsp;h)</PRE>
-<DL>
-<DD>reshape the applet and ourself<DD><DL>
-<DT><B>Overrides:</B><DD>reshape in class java.awt.Component</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="handleEvent(java.awt.Event)"><!-- --></A><H3>
-handleEvent</H3>
-<PRE>
-public boolean <B>handleEvent</B>(java.awt.Event&nbsp;evt)</PRE>
-<DL>
-<DD>Handle button events. When pressed it either creates the new applet
- window or destoys it.<DD><DL>
-<DT><B>Overrides:</B><DD>handleEvent in class java.awt.Component</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;<A HREF="CharDisplayTest.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="appWrapper.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.awt.Component">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/deprecated-list.html b/web/root/telnet/Documentation/Source/deprecated-list.html
deleted file mode 100644
index 3406b6aaf3..0000000000
--- a/web/root/telnet/Documentation/Source/deprecated-list.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:31 CEST 1999 -->
-<TITLE>
-: Deprecated List
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="deprecated-list.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<CENTER>
-<H2>
-<B>Deprecated API</B></H2>
-</CENTER>
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="deprecated-list.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/display/CharDisplay.html b/web/root/telnet/Documentation/Source/display/CharDisplay.html
deleted file mode 100644
index 5326b15593..0000000000
--- a/web/root/telnet/Documentation/Source/display/CharDisplay.html
+++ /dev/null
@@ -1,1563 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:34 CEST 1999 -->
-<TITLE>
-: Class  CharDisplay
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;<A HREF="../display/SoftFont.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="CharDisplay.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-display</FONT>
-<BR>
-Class  CharDisplay</H2>
-<PRE>
-java.lang.Object
-  |
-  +--java.awt.Component
-        |
-        +--java.awt.Container
-              |
-              +--java.awt.Panel
-                    |
-                    +--<B>display.CharDisplay</B>
-</PRE>
-<HR>
-<DL>
-<DT>public class <B>CharDisplay</B><DT>extends java.awt.Panel</DL>
-
-<P>
-A simple character display.
-<P>
-<DL>
-<DT><B>Version: </B><DD>$Id: CharDisplay.html,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $</DD>
-<DT><B>Author: </B><DD>Matthias L. Jugel, Marcus Mei�ner</DD>
-<DT><B>See Also: </B><DD><A HREF="../serialized-form.html#display.CharDisplay">Serialized Form</A></DL>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="field_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Field Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#BOLD">BOLD</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Make character bold.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#debug">debug</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enable debug messages.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#INVERT">INVERT</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invert character.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#NORMAL">NORMAL</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Make character normal.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#RESIZE_FONT">RESIZE_FONT</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resize the font to the new screensize.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#RESIZE_NONE">RESIZE_NONE</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Do nothing when the container is resized.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#RESIZE_SCREEN">RESIZE_SCREEN</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resize the width and height of the characterscreen.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#SCROLL_DOWN">SCROLL_DOWN</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Scroll down when inserting a line.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#SCROLL_UP">SCROLL_UP</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Scroll up when inserting a line.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#UNDERLINE">UNDERLINE</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Underline character.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#version">version</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If you need the runtime version, just ask this variable.</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Fields inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>BOTTOM_ALIGNMENT,  
-CENTER_ALIGNMENT,  
-LEFT_ALIGNMENT,  
-RIGHT_ALIGNMENT,  
-TOP_ALIGNMENT</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="../display/CharDisplay.html#CharDisplay()">CharDisplay</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a character display with size 80x24 and Font "Courier", size 12.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="../display/CharDisplay.html#CharDisplay(int, int)">CharDisplay</A></B>(int&nbsp;width,
-            int&nbsp;height)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a character display with specific size, Font is "Courier", size 12.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="../display/CharDisplay.html#CharDisplay(int, int, java.lang.String, int)">CharDisplay</A></B>(int&nbsp;width,
-            int&nbsp;height,
-            java.lang.String&nbsp;fname,
-            int&nbsp;fsize)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a character display with specific size, font and font size.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="../display/CharDisplay.html#CharDisplay(java.lang.String, int)">CharDisplay</A></B>(java.lang.String&nbsp;fname,
-            int&nbsp;fsize)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a character display with 80x24 and specific font and font size.</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#deleteArea(int, int, int, int)">deleteArea</A></B>(int&nbsp;c,
-           int&nbsp;l,
-           int&nbsp;w,
-           int&nbsp;h)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delete a rectangular portion of the screen.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#deleteChar(int, int)">deleteChar</A></B>(int&nbsp;c,
-           int&nbsp;l)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delete a character at a given position on the screen.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#deleteLine(int)">deleteLine</A></B>(int&nbsp;l)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delete a line at a specific position.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#getAttributes(int, int)">getAttributes</A></B>(int&nbsp;c,
-              int&nbsp;l)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the attributes for the specified position.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#getBottomMargin()">getBottomMargin</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the bottom scroll margin.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#getBufferSize()">getBufferSize</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve current scrollback buffer size.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;char</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#getChar(int, int)">getChar</A></B>(int&nbsp;c,
-        int&nbsp;l)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the character at the specified position.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#getColumns()">getColumns</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get amount of columns on the screen.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.awt.Dimension</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#getCursorPos()">getCursorPos</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the current cursor position.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#getMaxBufferSize()">getMaxBufferSize</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve maximum buffer Size.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#getRows()">getRows</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get amount of rows on the screen.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#getTopMargin()">getTopMargin</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the top scroll margin.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#getWindowBase()">getWindowBase</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the current window base.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#handleEvent(java.awt.Event)">handleEvent</A></B>(java.awt.Event&nbsp;evt)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Handle mouse events for copy & paste</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#insertChar(int, int, char, int)">insertChar</A></B>(int&nbsp;c,
-           int&nbsp;l,
-           char&nbsp;ch,
-           int&nbsp;attributes)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insert a character at a specific position on the screen.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#insertLine(int)">insertLine</A></B>(int&nbsp;l)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insert a blank line at a specific position.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#insertLine(int, boolean)">insertLine</A></B>(int&nbsp;l,
-           boolean&nbsp;scrollDown)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insert a blank line at a specific position.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#insertLine(int, int)">insertLine</A></B>(int&nbsp;l,
-           int&nbsp;n)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insert blank lines at a specific position.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#insertLine(int, int, boolean)">insertLine</A></B>(int&nbsp;l,
-           int&nbsp;n,
-           boolean&nbsp;scrollDown)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insert blank lines at a specific position.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.awt.Insets</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#insets()">insets</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The insets of the character display define the border.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#markLine(int, int)">markLine</A></B>(int&nbsp;l,
-         int&nbsp;n)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mark lines to be updated with redraw().</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.awt.Color</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#notbold(java.awt.Color)">notbold</A></B>(java.awt.Color&nbsp;colr)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#paint(java.awt.Graphics)">paint</A></B>(java.awt.Graphics&nbsp;g)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Paint the current screen.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.awt.Dimension</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#preferredSize()">preferredSize</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the preferred Size of the character display.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#putChar(int, int, char)">putChar</A></B>(int&nbsp;c,
-        int&nbsp;l,
-        char&nbsp;ch)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Put a character on the screen with normal font and outline.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#putChar(int, int, char, int)">putChar</A></B>(int&nbsp;c,
-        int&nbsp;l,
-        char&nbsp;ch,
-        int&nbsp;attributes)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Put a character on the screen with specific font and outline.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#putString(int, int, java.lang.String)">putString</A></B>(int&nbsp;c,
-          int&nbsp;l,
-          java.lang.String&nbsp;s)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Put a String at a specific position.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#putString(int, int, java.lang.String, int)">putString</A></B>(int&nbsp;c,
-          int&nbsp;l,
-          java.lang.String&nbsp;s,
-          int&nbsp;attributes)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Put a String at a specific position giving all characters the same
- attributes.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#redraw()">redraw</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Redraw marked lines.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#reshape(int, int, int, int)">reshape</A></B>(int&nbsp;x,
-        int&nbsp;y,
-        int&nbsp;w,
-        int&nbsp;h)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reshape character display according to resize strategy.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#setBorder(int, boolean)">setBorder</A></B>(int&nbsp;thickness,
-          boolean&nbsp;raised)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the border thickness and the border type.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#setBottomMargin(int)">setBottomMargin</A></B>(int&nbsp;l)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the bottom scroll margin for the screen.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#setBufferSize(int)">setBufferSize</A></B>(int&nbsp;amount)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set scrollback buffer size.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#setCursorPos(int, int)">setCursorPos</A></B>(int&nbsp;c,
-             int&nbsp;l)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Puts the cursor at the specified position.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#setResizeStrategy(int)">setResizeStrategy</A></B>(int&nbsp;strategy)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the strategy when window is resized.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#setScrollbar(java.lang.String)">setScrollbar</A></B>(java.lang.String&nbsp;position)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the scrollbar position.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#setTopMargin(int)">setTopMargin</A></B>(int&nbsp;l)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the top scroll margin for the screen.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#setWindowBase(int)">setWindowBase</A></B>(int&nbsp;line)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the current window base.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#setWindowSize(int, int)">setWindowSize</A></B>(int&nbsp;width,
-              int&nbsp;height)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change the size of the screen.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.awt.Dimension</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#size()">size</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the real size in points of the character display.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/CharDisplay.html#update(java.awt.Graphics)">update</A></B>(java.awt.Graphics&nbsp;g)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Update the display.</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Panel"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Panel</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>addNotify</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Container</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>add, 
-add, 
-add, 
-add, 
-add, 
-addContainerListener, 
-addImpl, 
-countComponents, 
-deliverEvent, 
-doLayout, 
-findComponentAt, 
-findComponentAt, 
-getAlignmentX, 
-getAlignmentY, 
-getComponent, 
-getComponentAt, 
-getComponentAt, 
-getComponentCount, 
-getComponents, 
-getInsets, 
-getLayout, 
-getMaximumSize, 
-getMinimumSize, 
-getPreferredSize, 
-invalidate, 
-isAncestorOf, 
-layout, 
-list, 
-list, 
-locate, 
-minimumSize, 
-paintComponents, 
-paramString, 
-print, 
-printComponents, 
-processContainerEvent, 
-processEvent, 
-remove, 
-remove, 
-removeAll, 
-removeContainerListener, 
-removeNotify, 
-setFont, 
-setLayout, 
-validate, 
-validateTree</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>action, 
-add, 
-addComponentListener, 
-addFocusListener, 
-addInputMethodListener, 
-addKeyListener, 
-addMouseListener, 
-addMouseMotionListener, 
-addPropertyChangeListener, 
-addPropertyChangeListener, 
-bounds, 
-checkImage, 
-checkImage, 
-coalesceEvents, 
-contains, 
-contains, 
-createImage, 
-createImage, 
-disable, 
-disableEvents, 
-dispatchEvent, 
-enable, 
-enable, 
-enableEvents, 
-enableInputMethods, 
-firePropertyChange, 
-getBackground, 
-getBounds, 
-getBounds, 
-getColorModel, 
-getComponentOrientation, 
-getCursor, 
-getDropTarget, 
-getFont, 
-getFontMetrics, 
-getForeground, 
-getGraphics, 
-getHeight, 
-getInputContext, 
-getInputMethodRequests, 
-getLocale, 
-getLocation, 
-getLocation, 
-getLocationOnScreen, 
-getName, 
-getParent, 
-getPeer, 
-getSize, 
-getSize, 
-getToolkit, 
-getTreeLock, 
-getWidth, 
-getX, 
-getY, 
-gotFocus, 
-hasFocus, 
-hide, 
-imageUpdate, 
-inside, 
-isDisplayable, 
-isDoubleBuffered, 
-isEnabled, 
-isFocusTraversable, 
-isLightweight, 
-isOpaque, 
-isShowing, 
-isValid, 
-isVisible, 
-keyDown, 
-keyUp, 
-list, 
-list, 
-list, 
-location, 
-lostFocus, 
-mouseDown, 
-mouseDrag, 
-mouseEnter, 
-mouseExit, 
-mouseMove, 
-mouseUp, 
-move, 
-nextFocus, 
-paintAll, 
-postEvent, 
-prepareImage, 
-prepareImage, 
-printAll, 
-processComponentEvent, 
-processFocusEvent, 
-processInputMethodEvent, 
-processKeyEvent, 
-processMouseEvent, 
-processMouseMotionEvent, 
-remove, 
-removeComponentListener, 
-removeFocusListener, 
-removeInputMethodListener, 
-removeKeyListener, 
-removeMouseListener, 
-removeMouseMotionListener, 
-removePropertyChangeListener, 
-removePropertyChangeListener, 
-repaint, 
-repaint, 
-repaint, 
-repaint, 
-requestFocus, 
-resize, 
-resize, 
-setBackground, 
-setBounds, 
-setBounds, 
-setComponentOrientation, 
-setCursor, 
-setDropTarget, 
-setEnabled, 
-setForeground, 
-setLocale, 
-setLocation, 
-setLocation, 
-setName, 
-setSize, 
-setSize, 
-setVisible, 
-show, 
-show, 
-toString, 
-transferFocus</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>clone, 
-equals, 
-finalize, 
-getClass, 
-hashCode, 
-notify, 
-notifyAll, 
-wait, 
-wait, 
-wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-<A NAME="field_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Field Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="version"><!-- --></A><H3>
-version</H3>
-<PRE>
-public java.lang.String <B>version</B></PRE>
-<DL>
-<DD>If you need the runtime version, just ask this variable.</DL>
-<HR>
-
-<A NAME="debug"><!-- --></A><H3>
-debug</H3>
-<PRE>
-public static final int <B>debug</B></PRE>
-<DL>
-<DD>Enable debug messages. This is final static to prevent unused
- code to be compiled.</DL>
-<HR>
-
-<A NAME="SCROLL_UP"><!-- --></A><H3>
-SCROLL_UP</H3>
-<PRE>
-public static final boolean <B>SCROLL_UP</B></PRE>
-<DL>
-<DD>Scroll up when inserting a line.</DL>
-<HR>
-
-<A NAME="SCROLL_DOWN"><!-- --></A><H3>
-SCROLL_DOWN</H3>
-<PRE>
-public static final boolean <B>SCROLL_DOWN</B></PRE>
-<DL>
-<DD>Scroll down when inserting a line.</DL>
-<HR>
-
-<A NAME="RESIZE_NONE"><!-- --></A><H3>
-RESIZE_NONE</H3>
-<PRE>
-public static final int <B>RESIZE_NONE</B></PRE>
-<DL>
-<DD>Do nothing when the container is resized.</DL>
-<HR>
-
-<A NAME="RESIZE_SCREEN"><!-- --></A><H3>
-RESIZE_SCREEN</H3>
-<PRE>
-public static final int <B>RESIZE_SCREEN</B></PRE>
-<DL>
-<DD>Resize the width and height of the characterscreen.</DL>
-<HR>
-
-<A NAME="RESIZE_FONT"><!-- --></A><H3>
-RESIZE_FONT</H3>
-<PRE>
-public static final int <B>RESIZE_FONT</B></PRE>
-<DL>
-<DD>Resize the font to the new screensize.</DL>
-<HR>
-
-<A NAME="NORMAL"><!-- --></A><H3>
-NORMAL</H3>
-<PRE>
-public static final int <B>NORMAL</B></PRE>
-<DL>
-<DD>Make character normal.</DL>
-<HR>
-
-<A NAME="BOLD"><!-- --></A><H3>
-BOLD</H3>
-<PRE>
-public static final int <B>BOLD</B></PRE>
-<DL>
-<DD>Make character bold.</DL>
-<HR>
-
-<A NAME="UNDERLINE"><!-- --></A><H3>
-UNDERLINE</H3>
-<PRE>
-public static final int <B>UNDERLINE</B></PRE>
-<DL>
-<DD>Underline character.</DL>
-<HR>
-
-<A NAME="INVERT"><!-- --></A><H3>
-INVERT</H3>
-<PRE>
-public static final int <B>INVERT</B></PRE>
-<DL>
-<DD>Invert character.</DL>
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="CharDisplay()"><!-- --></A><H3>
-CharDisplay</H3>
-<PRE>
-public <B>CharDisplay</B>()</PRE>
-<DL>
-<DD>Create a character display with size 80x24 and Font "Courier", size 12.</DL>
-<HR>
-
-<A NAME="CharDisplay(int, int)"><!-- --></A><H3>
-CharDisplay</H3>
-<PRE>
-public <B>CharDisplay</B>(int&nbsp;width,
-                   int&nbsp;height)</PRE>
-<DL>
-<DD>Create a character display with specific size, Font is "Courier", size 12.</DL>
-<HR>
-
-<A NAME="CharDisplay(java.lang.String, int)"><!-- --></A><H3>
-CharDisplay</H3>
-<PRE>
-public <B>CharDisplay</B>(java.lang.String&nbsp;fname,
-                   int&nbsp;fsize)</PRE>
-<DL>
-<DD>Create a character display with 80x24 and specific font and font size.</DL>
-<HR>
-
-<A NAME="CharDisplay(int, int, java.lang.String, int)"><!-- --></A><H3>
-CharDisplay</H3>
-<PRE>
-public <B>CharDisplay</B>(int&nbsp;width,
-                   int&nbsp;height,
-                   java.lang.String&nbsp;fname,
-                   int&nbsp;fsize)</PRE>
-<DL>
-<DD>Create a character display with specific size, font and font size.</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="notbold(java.awt.Color)"><!-- --></A><H3>
-notbold</H3>
-<PRE>
-public java.awt.Color <B>notbold</B>(java.awt.Color&nbsp;colr)</PRE>
-<DL>
-</DL>
-<HR>
-
-<A NAME="putChar(int, int, char)"><!-- --></A><H3>
-putChar</H3>
-<PRE>
-public void <B>putChar</B>(int&nbsp;c,
-                    int&nbsp;l,
-                    char&nbsp;ch)</PRE>
-<DL>
-<DD>Put a character on the screen with normal font and outline.
- The character previously on that position will be overwritten.
- You need to call redraw() to update the screen.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>c</CODE> - x-coordinate (column)<DD><CODE>l</CODE> - y-coordinate (line)<DD><CODE>ch</CODE> - the character to show on the screen<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#insertChar(int, int, char, int)"><CODE>insertChar(int, int, char, int)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#deleteChar(int, int)"><CODE>deleteChar(int, int)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#redraw()"><CODE>redraw()</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="putChar(int, int, char, int)"><!-- --></A><H3>
-putChar</H3>
-<PRE>
-public void <B>putChar</B>(int&nbsp;c,
-                    int&nbsp;l,
-                    char&nbsp;ch,
-                    int&nbsp;attributes)</PRE>
-<DL>
-<DD>Put a character on the screen with specific font and outline.
- The character previously on that position will be overwritten.
- You need to call redraw() to update the screen.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>c</CODE> - x-coordinate (column)<DD><CODE>l</CODE> - y-coordinate (line)<DD><CODE>ch</CODE> - the character to show on the screen<DD><CODE>attributes</CODE> - the character attributes<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#BOLD"><CODE>BOLD</CODE></A>, 
-<A HREF="../display/CharDisplay.html#UNDERLINE"><CODE>UNDERLINE</CODE></A>, 
-<A HREF="../display/CharDisplay.html#INVERT"><CODE>INVERT</CODE></A>, 
-<A HREF="../display/CharDisplay.html#NORMAL"><CODE>NORMAL</CODE></A>, 
-<A HREF="../display/CharDisplay.html#insertChar(int, int, char, int)"><CODE>insertChar(int, int, char, int)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#deleteChar(int, int)"><CODE>deleteChar(int, int)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#redraw()"><CODE>redraw()</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getChar(int, int)"><!-- --></A><H3>
-getChar</H3>
-<PRE>
-public char <B>getChar</B>(int&nbsp;c,
-                    int&nbsp;l)</PRE>
-<DL>
-<DD>Get the character at the specified position.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>c</CODE> - x-coordinate (column)<DD><CODE>l</CODE> - y-coordinate (line)<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#putChar(int, int, char)"><CODE>putChar(int, int, char)</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getAttributes(int, int)"><!-- --></A><H3>
-getAttributes</H3>
-<PRE>
-public int <B>getAttributes</B>(int&nbsp;c,
-                         int&nbsp;l)</PRE>
-<DL>
-<DD>Get the attributes for the specified position.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>c</CODE> - x-coordinate (column)<DD><CODE>l</CODE> - y-coordinate (line)<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#putChar(int, int, char)"><CODE>putChar(int, int, char)</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="insertChar(int, int, char, int)"><!-- --></A><H3>
-insertChar</H3>
-<PRE>
-public void <B>insertChar</B>(int&nbsp;c,
-                       int&nbsp;l,
-                       char&nbsp;ch,
-                       int&nbsp;attributes)</PRE>
-<DL>
-<DD>Insert a character at a specific position on the screen.
- All character right to from this position will be moved one to the right.
- You need to call redraw() to update the screen.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>c</CODE> - x-coordinate (column)<DD><CODE>l</CODE> - y-coordinate (line)<DD><CODE>ch</CODE> - the character to insert<DD><CODE>attributes</CODE> - the character attributes<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#BOLD"><CODE>BOLD</CODE></A>, 
-<A HREF="../display/CharDisplay.html#UNDERLINE"><CODE>UNDERLINE</CODE></A>, 
-<A HREF="../display/CharDisplay.html#INVERT"><CODE>INVERT</CODE></A>, 
-<A HREF="../display/CharDisplay.html#NORMAL"><CODE>NORMAL</CODE></A>, 
-<A HREF="../display/CharDisplay.html#putChar(int, int, char)"><CODE>putChar(int, int, char)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#deleteChar(int, int)"><CODE>deleteChar(int, int)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#redraw()"><CODE>redraw()</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="deleteChar(int, int)"><!-- --></A><H3>
-deleteChar</H3>
-<PRE>
-public void <B>deleteChar</B>(int&nbsp;c,
-                       int&nbsp;l)</PRE>
-<DL>
-<DD>Delete a character at a given position on the screen.
- All characters right to the position will be moved one to the left.
- You need to call redraw() to update the screen.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>c</CODE> - x-coordinate (column)<DD><CODE>l</CODE> - y-coordinate (line)<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#putChar(int, int, char)"><CODE>putChar(int, int, char)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#insertChar(int, int, char, int)"><CODE>insertChar(int, int, char, int)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#redraw()"><CODE>redraw()</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="putString(int, int, java.lang.String)"><!-- --></A><H3>
-putString</H3>
-<PRE>
-public void <B>putString</B>(int&nbsp;c,
-                      int&nbsp;l,
-                      java.lang.String&nbsp;s)</PRE>
-<DL>
-<DD>Put a String at a specific position. Any characters previously on that 
- position will be overwritten. You need to call redraw() for screen update.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>c</CODE> - x-coordinate (column)<DD><CODE>l</CODE> - y-coordinate (line)<DD><CODE>s</CODE> - the string to be shown on the screen<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#BOLD"><CODE>BOLD</CODE></A>, 
-<A HREF="../display/CharDisplay.html#UNDERLINE"><CODE>UNDERLINE</CODE></A>, 
-<A HREF="../display/CharDisplay.html#INVERT"><CODE>INVERT</CODE></A>, 
-<A HREF="../display/CharDisplay.html#NORMAL"><CODE>NORMAL</CODE></A>, 
-<A HREF="../display/CharDisplay.html#putChar(int, int, char)"><CODE>putChar(int, int, char)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#insertLine(int)"><CODE>insertLine(int)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#deleteLine(int)"><CODE>deleteLine(int)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#redraw()"><CODE>redraw()</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="putString(int, int, java.lang.String, int)"><!-- --></A><H3>
-putString</H3>
-<PRE>
-public void <B>putString</B>(int&nbsp;c,
-                      int&nbsp;l,
-                      java.lang.String&nbsp;s,
-                      int&nbsp;attributes)</PRE>
-<DL>
-<DD>Put a String at a specific position giving all characters the same
- attributes. Any characters previously on that position will be 
- overwritten. You need to call redraw() to update the screen.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>c</CODE> - x-coordinate (column)<DD><CODE>l</CODE> - y-coordinate (line)<DD><CODE>s</CODE> - the string to be shown on the screen<DD><CODE>attributes</CODE> - character attributes<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#BOLD"><CODE>BOLD</CODE></A>, 
-<A HREF="../display/CharDisplay.html#UNDERLINE"><CODE>UNDERLINE</CODE></A>, 
-<A HREF="../display/CharDisplay.html#INVERT"><CODE>INVERT</CODE></A>, 
-<A HREF="../display/CharDisplay.html#NORMAL"><CODE>NORMAL</CODE></A>, 
-<A HREF="../display/CharDisplay.html#putChar(int, int, char)"><CODE>putChar(int, int, char)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#insertLine(int)"><CODE>insertLine(int)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#deleteLine(int)"><CODE>deleteLine(int)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#redraw()"><CODE>redraw()</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="insertLine(int)"><!-- --></A><H3>
-insertLine</H3>
-<PRE>
-public void <B>insertLine</B>(int&nbsp;l)</PRE>
-<DL>
-<DD>Insert a blank line at a specific position.
- The current line and all previous lines are scrolled one line up. The
- top line is lost. You need to call redraw() to update the screen.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>l</CODE> - the y-coordinate to insert the line<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#deleteLine(int)"><CODE>deleteLine(int)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#redraw()"><CODE>redraw()</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="insertLine(int, int)"><!-- --></A><H3>
-insertLine</H3>
-<PRE>
-public void <B>insertLine</B>(int&nbsp;l,
-                       int&nbsp;n)</PRE>
-<DL>
-<DD>Insert blank lines at a specific position.
- You need to call redraw() to update the screen<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>l</CODE> - the y-coordinate to insert the line<DD><CODE>n</CODE> - amount of lines to be inserted<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#deleteLine(int)"><CODE>deleteLine(int)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#redraw()"><CODE>redraw()</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="insertLine(int, boolean)"><!-- --></A><H3>
-insertLine</H3>
-<PRE>
-public void <B>insertLine</B>(int&nbsp;l,
-                       boolean&nbsp;scrollDown)</PRE>
-<DL>
-<DD>Insert a blank line at a specific position. Scroll text according to
- the argument.
- You need to call redraw() to update the screen<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>l</CODE> - the y-coordinate to insert the line<DD><CODE>scrollDown</CODE> - scroll down<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#deleteLine(int)"><CODE>deleteLine(int)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#SCROLL_UP"><CODE>SCROLL_UP</CODE></A>, 
-<A HREF="../display/CharDisplay.html#SCROLL_DOWN"><CODE>SCROLL_DOWN</CODE></A>, 
-<A HREF="../display/CharDisplay.html#redraw()"><CODE>redraw()</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="insertLine(int, int, boolean)"><!-- --></A><H3>
-insertLine</H3>
-<PRE>
-public void <B>insertLine</B>(int&nbsp;l,
-                       int&nbsp;n,
-                       boolean&nbsp;scrollDown)</PRE>
-<DL>
-<DD>Insert blank lines at a specific position.
- The current line and all previous lines are scrolled one line up. The
- top line is lost. You need to call redraw() to update the screen.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>l</CODE> - the y-coordinate to insert the line<DD><CODE>n</CODE> - number of lines to be inserted<DD><CODE>scrollDown</CODE> - scroll down<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#deleteLine(int)"><CODE>deleteLine(int)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#SCROLL_UP"><CODE>SCROLL_UP</CODE></A>, 
-<A HREF="../display/CharDisplay.html#SCROLL_DOWN"><CODE>SCROLL_DOWN</CODE></A>, 
-<A HREF="../display/CharDisplay.html#redraw()"><CODE>redraw()</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="deleteLine(int)"><!-- --></A><H3>
-deleteLine</H3>
-<PRE>
-public void <B>deleteLine</B>(int&nbsp;l)</PRE>
-<DL>
-<DD>Delete a line at a specific position. Subsequent lines will be scrolled 
- up to fill the space and a blank line is inserted at the end of the 
- screen.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>l</CODE> - the y-coordinate to insert the line<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#deleteLine(int)"><CODE>deleteLine(int)</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="deleteArea(int, int, int, int)"><!-- --></A><H3>
-deleteArea</H3>
-<PRE>
-public void <B>deleteArea</B>(int&nbsp;c,
-                       int&nbsp;l,
-                       int&nbsp;w,
-                       int&nbsp;h)</PRE>
-<DL>
-<DD>Delete a rectangular portion of the screen.
- You need to call redraw() to update the screen.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>c</CODE> - x-coordinate (column)<DD><CODE>l</CODE> - y-coordinate (row)<DD><CODE>w</CODE> - with of the area in characters<DD><CODE>h</CODE> - height of the area in characters<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#deleteChar(int, int)"><CODE>deleteChar(int, int)</CODE></A>, 
-<A HREF="../display/CharDisplay.html#deleteLine(int)"><CODE>deleteLine(int)</CODE></A>, 
-<CODE>redraw</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="setCursorPos(int, int)"><!-- --></A><H3>
-setCursorPos</H3>
-<PRE>
-public void <B>setCursorPos</B>(int&nbsp;c,
-                         int&nbsp;l)</PRE>
-<DL>
-<DD>Puts the cursor at the specified position.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>c</CODE> - column<DD><CODE>l</CODE> - line</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getCursorPos()"><!-- --></A><H3>
-getCursorPos</H3>
-<PRE>
-public java.awt.Dimension <B>getCursorPos</B>()</PRE>
-<DL>
-<DD>Get the current cursor position.<DD><DL>
-<DT><B>See Also: </B><DD><CODE>Dimension</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="setTopMargin(int)"><!-- --></A><H3>
-setTopMargin</H3>
-<PRE>
-public void <B>setTopMargin</B>(int&nbsp;l)</PRE>
-<DL>
-<DD>Set the top scroll margin for the screen. If the current bottom margin
- is smaller it will become the top margin and the line will become the
- bottom margin.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>l</CODE> - line that is the margin</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getTopMargin()"><!-- --></A><H3>
-getTopMargin</H3>
-<PRE>
-public int <B>getTopMargin</B>()</PRE>
-<DL>
-<DD>Get the top scroll margin.</DL>
-<HR>
-
-<A NAME="setBottomMargin(int)"><!-- --></A><H3>
-setBottomMargin</H3>
-<PRE>
-public void <B>setBottomMargin</B>(int&nbsp;l)</PRE>
-<DL>
-<DD>Set the bottom scroll margin for the screen. If the current top margin
- is bigger it will become the bottom margin and the line will become the
- top margin.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>l</CODE> - line that is the margin</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getBottomMargin()"><!-- --></A><H3>
-getBottomMargin</H3>
-<PRE>
-public int <B>getBottomMargin</B>()</PRE>
-<DL>
-<DD>Get the bottom scroll margin.</DL>
-<HR>
-
-<A NAME="setBufferSize(int)"><!-- --></A><H3>
-setBufferSize</H3>
-<PRE>
-public void <B>setBufferSize</B>(int&nbsp;amount)</PRE>
-<DL>
-<DD>Set scrollback buffer size.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>amount</CODE> - new size of the buffer</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getBufferSize()"><!-- --></A><H3>
-getBufferSize</H3>
-<PRE>
-public int <B>getBufferSize</B>()</PRE>
-<DL>
-<DD>Retrieve current scrollback buffer size.<DD><DL>
-<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#setBufferSize(int)"><CODE>setBufferSize(int)</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getMaxBufferSize()"><!-- --></A><H3>
-getMaxBufferSize</H3>
-<PRE>
-public int <B>getMaxBufferSize</B>()</PRE>
-<DL>
-<DD>Retrieve maximum buffer Size.<DD><DL>
-<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#getBufferSize()"><CODE>getBufferSize()</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="setWindowBase(int)"><!-- --></A><H3>
-setWindowBase</H3>
-<PRE>
-public void <B>setWindowBase</B>(int&nbsp;line)</PRE>
-<DL>
-<DD>Set the current window base. This allows to view the scrollback buffer.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>line</CODE> - the line where the screen window starts<DT><B>See Also: </B><DD><CODE>setBufferSize</CODE>, 
-<CODE>getBufferSize</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getWindowBase()"><!-- --></A><H3>
-getWindowBase</H3>
-<PRE>
-public int <B>getWindowBase</B>()</PRE>
-<DL>
-<DD>Get the current window base.<DD><DL>
-<DT><B>See Also: </B><DD><CODE>setWindowBase</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="setWindowSize(int, int)"><!-- --></A><H3>
-setWindowSize</H3>
-<PRE>
-public void <B>setWindowSize</B>(int&nbsp;width,
-                          int&nbsp;height)</PRE>
-<DL>
-<DD>Change the size of the screen. This will include adjustment of the 
- scrollback buffer.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>columns</CODE> - width of the screen<DD><CODE>columns</CODE> - height of the screen</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="setResizeStrategy(int)"><!-- --></A><H3>
-setResizeStrategy</H3>
-<PRE>
-public void <B>setResizeStrategy</B>(int&nbsp;strategy)</PRE>
-<DL>
-<DD>Set the strategy when window is resized.
- RESIZE_FONT is default.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>strategy</CODE> - the strategy<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#RESIZE_NONE"><CODE>RESIZE_NONE</CODE></A>, 
-<A HREF="../display/CharDisplay.html#RESIZE_FONT"><CODE>RESIZE_FONT</CODE></A>, 
-<A HREF="../display/CharDisplay.html#RESIZE_SCREEN"><CODE>RESIZE_SCREEN</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getRows()"><!-- --></A><H3>
-getRows</H3>
-<PRE>
-public int <B>getRows</B>()</PRE>
-<DL>
-<DD>Get amount of rows on the screen.</DL>
-<HR>
-
-<A NAME="getColumns()"><!-- --></A><H3>
-getColumns</H3>
-<PRE>
-public int <B>getColumns</B>()</PRE>
-<DL>
-<DD>Get amount of columns on the screen.</DL>
-<HR>
-
-<A NAME="setBorder(int, boolean)"><!-- --></A><H3>
-setBorder</H3>
-<PRE>
-public void <B>setBorder</B>(int&nbsp;thickness,
-                      boolean&nbsp;raised)</PRE>
-<DL>
-<DD>Set the border thickness and the border type.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>thickness</CODE> - border thickness in pixels, zero means no border<DD><CODE>raised</CODE> - a boolean indicating a raised or embossed border</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="setScrollbar(java.lang.String)"><!-- --></A><H3>
-setScrollbar</H3>
-<PRE>
-public void <B>setScrollbar</B>(java.lang.String&nbsp;position)</PRE>
-<DL>
-<DD>Set the scrollbar position. valid values are "East" or "West".<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>position</CODE> - the position of the scrollbar</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="markLine(int, int)"><!-- --></A><H3>
-markLine</H3>
-<PRE>
-public void <B>markLine</B>(int&nbsp;l,
-                     int&nbsp;n)</PRE>
-<DL>
-<DD>Mark lines to be updated with redraw().<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>l</CODE> - starting line<DD><CODE>n</CODE> - amount of lines to be updated<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#redraw()"><CODE>redraw()</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="redraw()"><!-- --></A><H3>
-redraw</H3>
-<PRE>
-public void <B>redraw</B>()</PRE>
-<DL>
-<DD>Redraw marked lines.<DD><DL>
-<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#markLine(int, int)"><CODE>markLine(int, int)</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="update(java.awt.Graphics)"><!-- --></A><H3>
-update</H3>
-<PRE>
-public void <B>update</B>(java.awt.Graphics&nbsp;g)</PRE>
-<DL>
-<DD>Update the display. to reduce flashing we have overridden this method.<DD><DL>
-<DT><B>Overrides:</B><DD>update in class java.awt.Container</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="paint(java.awt.Graphics)"><!-- --></A><H3>
-paint</H3>
-<PRE>
-public void <B>paint</B>(java.awt.Graphics&nbsp;g)</PRE>
-<DL>
-<DD>Paint the current screen. All painting is done here. Only lines that have
- changed will be redrawn!<DD><DL>
-<DT><B>Overrides:</B><DD>paint in class java.awt.Container</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="reshape(int, int, int, int)"><!-- --></A><H3>
-reshape</H3>
-<PRE>
-public void <B>reshape</B>(int&nbsp;x,
-                    int&nbsp;y,
-                    int&nbsp;w,
-                    int&nbsp;h)</PRE>
-<DL>
-<DD>Reshape character display according to resize strategy.<DD><DL>
-<DT><B>Overrides:</B><DD>reshape in class java.awt.Component<DT><B>See Also: </B><DD><A HREF="../display/CharDisplay.html#setResizeStrategy(int)"><CODE>setResizeStrategy(int)</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="size()"><!-- --></A><H3>
-size</H3>
-<PRE>
-public java.awt.Dimension <B>size</B>()</PRE>
-<DL>
-<DD>Return the real size in points of the character display.<DD><DL>
-<DT><B>Returns:</B><DD>Dimension the dimension of the display<DT><B>Overrides:</B><DD>size in class java.awt.Component<DT><B>See Also: </B><DD><CODE>Dimension</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="preferredSize()"><!-- --></A><H3>
-preferredSize</H3>
-<PRE>
-public java.awt.Dimension <B>preferredSize</B>()</PRE>
-<DL>
-<DD>Return the preferred Size of the character display.
- This turns out to be the actual size.<DD><DL>
-<DT><B>Returns:</B><DD>Dimension dimension of the display<DT><B>Overrides:</B><DD>preferredSize in class java.awt.Container<DT><B>See Also: </B><DD><CODE>size</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="insets()"><!-- --></A><H3>
-insets</H3>
-<PRE>
-public java.awt.Insets <B>insets</B>()</PRE>
-<DL>
-<DD>The insets of the character display define the border.<DD><DL>
-<DT><B>Returns:</B><DD>Insets border thickness in pixels<DT><B>Overrides:</B><DD>insets in class java.awt.Container</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="handleEvent(java.awt.Event)"><!-- --></A><H3>
-handleEvent</H3>
-<PRE>
-public boolean <B>handleEvent</B>(java.awt.Event&nbsp;evt)</PRE>
-<DL>
-<DD>Handle mouse events for copy & paste<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>evt</CODE> - the event that occured<DT><B>Returns:</B><DD>boolean true if action was taken<DT><B>Overrides:</B><DD>handleEvent in class java.awt.Component<DT><B>See Also: </B><DD><CODE>Event</CODE></DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;<A HREF="../display/SoftFont.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="CharDisplay.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/display/SoftFont.html b/web/root/telnet/Documentation/Source/display/SoftFont.html
deleted file mode 100644
index e9d22339d6..0000000000
--- a/web/root/telnet/Documentation/Source/display/SoftFont.html
+++ /dev/null
@@ -1,242 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:34 CEST 1999 -->
-<TITLE>
-: Class  SoftFont
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../display/CharDisplay.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../display/Terminal.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="SoftFont.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-display</FONT>
-<BR>
-Class  SoftFont</H2>
-<PRE>
-java.lang.Object
-  |
-  +--<B>display.SoftFont</B>
-</PRE>
-<HR>
-<DL>
-<DT>public class <B>SoftFont</B><DT>extends java.lang.Object</DL>
-
-<P>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="../display/SoftFont.html#SoftFont()">SoftFont</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/SoftFont.html#drawChar(java.awt.Graphics, char, int, int, int, int)">drawChar</A></B>(java.awt.Graphics&nbsp;g,
-         char&nbsp;c,
-         int&nbsp;x,
-         int&nbsp;y,
-         int&nbsp;cw,
-         int&nbsp;ch)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/SoftFont.html#inSoftFont(char)">inSoftFont</A></B>(char&nbsp;c)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>clone, 
-equals, 
-finalize, 
-getClass, 
-hashCode, 
-notify, 
-notifyAll, 
-toString, 
-wait, 
-wait, 
-wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="SoftFont()"><!-- --></A><H3>
-SoftFont</H3>
-<PRE>
-public <B>SoftFont</B>()</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="inSoftFont(char)"><!-- --></A><H3>
-inSoftFont</H3>
-<PRE>
-public boolean <B>inSoftFont</B>(char&nbsp;c)</PRE>
-<DL>
-</DL>
-<HR>
-
-<A NAME="drawChar(java.awt.Graphics, char, int, int, int, int)"><!-- --></A><H3>
-drawChar</H3>
-<PRE>
-public void <B>drawChar</B>(java.awt.Graphics&nbsp;g,
-                     char&nbsp;c,
-                     int&nbsp;x,
-                     int&nbsp;y,
-                     int&nbsp;cw,
-                     int&nbsp;ch)</PRE>
-<DL>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../display/CharDisplay.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../display/Terminal.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="SoftFont.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/display/Terminal.html b/web/root/telnet/Documentation/Source/display/Terminal.html
deleted file mode 100644
index 842c5de1f2..0000000000
--- a/web/root/telnet/Documentation/Source/display/Terminal.html
+++ /dev/null
@@ -1,528 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:34 CEST 1999 -->
-<TITLE>
-: Class  Terminal
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../display/SoftFont.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../display/vt320.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="Terminal.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.awt.Component">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-display</FONT>
-<BR>
-Class  Terminal</H2>
-<PRE>
-java.lang.Object
-  |
-  +--java.awt.Component
-        |
-        +--java.awt.Container
-              |
-              +--java.awt.Panel
-                    |
-                    +--<B>display.Terminal</B>
-</PRE>
-<DL>
-<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../display/vt320.html">vt320</A></DD>
-</DL>
-<HR>
-<DL>
-<DT>public abstract class <B>Terminal</B><DT>extends java.awt.Panel</DL>
-
-<P>
-Terminal is an abstract emulation class.
- It contains a character display.
-<P>
-<DL>
-<DT><B>Version: </B><DD>$Id: Terminal.html,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $</DD>
-<DT><B>Author: </B><DD>Matthias L. Jugel, Marcus Mei�ner</DD>
-<DT><B>See Also: </B><DD><A HREF="../serialized-form.html#display.Terminal">Serialized Form</A></DL>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Fields inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>BOTTOM_ALIGNMENT,  
-CENTER_ALIGNMENT,  
-LEFT_ALIGNMENT,  
-RIGHT_ALIGNMENT,  
-TOP_ALIGNMENT</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="../display/Terminal.html#Terminal()">Terminal</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>abstract &nbsp;java.lang.String[][]</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/Terminal.html#getParameterInfo()">getParameterInfo</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the specific parameter info for the emulation.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>abstract &nbsp;java.awt.Dimension</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/Terminal.html#getSize()">getSize</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the current size of the terminal in characters.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>abstract &nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/Terminal.html#getTerminalType()">getTerminalType</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return actual terminal type identifier.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>abstract &nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/Terminal.html#putChar(char)">putChar</A></B>(char&nbsp;c)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Put a character on the screen.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>abstract &nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/Terminal.html#putString(java.lang.String)">putString</A></B>(java.lang.String&nbsp;s)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Put a character on the screen.</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Panel"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Panel</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>addNotify</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Container</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>add, 
-add, 
-add, 
-add, 
-add, 
-addContainerListener, 
-addImpl, 
-countComponents, 
-deliverEvent, 
-doLayout, 
-findComponentAt, 
-findComponentAt, 
-getAlignmentX, 
-getAlignmentY, 
-getComponent, 
-getComponentAt, 
-getComponentAt, 
-getComponentCount, 
-getComponents, 
-getInsets, 
-getLayout, 
-getMaximumSize, 
-getMinimumSize, 
-getPreferredSize, 
-insets, 
-invalidate, 
-isAncestorOf, 
-layout, 
-list, 
-list, 
-locate, 
-minimumSize, 
-paint, 
-paintComponents, 
-paramString, 
-preferredSize, 
-print, 
-printComponents, 
-processContainerEvent, 
-processEvent, 
-remove, 
-remove, 
-removeAll, 
-removeContainerListener, 
-removeNotify, 
-setFont, 
-setLayout, 
-update, 
-validate, 
-validateTree</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>action, 
-add, 
-addComponentListener, 
-addFocusListener, 
-addInputMethodListener, 
-addKeyListener, 
-addMouseListener, 
-addMouseMotionListener, 
-addPropertyChangeListener, 
-addPropertyChangeListener, 
-bounds, 
-checkImage, 
-checkImage, 
-coalesceEvents, 
-contains, 
-contains, 
-createImage, 
-createImage, 
-disable, 
-disableEvents, 
-dispatchEvent, 
-enable, 
-enable, 
-enableEvents, 
-enableInputMethods, 
-firePropertyChange, 
-getBackground, 
-getBounds, 
-getBounds, 
-getColorModel, 
-getComponentOrientation, 
-getCursor, 
-getDropTarget, 
-getFont, 
-getFontMetrics, 
-getForeground, 
-getGraphics, 
-getHeight, 
-getInputContext, 
-getInputMethodRequests, 
-getLocale, 
-getLocation, 
-getLocation, 
-getLocationOnScreen, 
-getName, 
-getParent, 
-getPeer, 
-getSize, 
-getToolkit, 
-getTreeLock, 
-getWidth, 
-getX, 
-getY, 
-gotFocus, 
-handleEvent, 
-hasFocus, 
-hide, 
-imageUpdate, 
-inside, 
-isDisplayable, 
-isDoubleBuffered, 
-isEnabled, 
-isFocusTraversable, 
-isLightweight, 
-isOpaque, 
-isShowing, 
-isValid, 
-isVisible, 
-keyDown, 
-keyUp, 
-list, 
-list, 
-list, 
-location, 
-lostFocus, 
-mouseDown, 
-mouseDrag, 
-mouseEnter, 
-mouseExit, 
-mouseMove, 
-mouseUp, 
-move, 
-nextFocus, 
-paintAll, 
-postEvent, 
-prepareImage, 
-prepareImage, 
-printAll, 
-processComponentEvent, 
-processFocusEvent, 
-processInputMethodEvent, 
-processKeyEvent, 
-processMouseEvent, 
-processMouseMotionEvent, 
-remove, 
-removeComponentListener, 
-removeFocusListener, 
-removeInputMethodListener, 
-removeKeyListener, 
-removeMouseListener, 
-removeMouseMotionListener, 
-removePropertyChangeListener, 
-removePropertyChangeListener, 
-repaint, 
-repaint, 
-repaint, 
-repaint, 
-requestFocus, 
-reshape, 
-resize, 
-resize, 
-setBackground, 
-setBounds, 
-setBounds, 
-setComponentOrientation, 
-setCursor, 
-setDropTarget, 
-setEnabled, 
-setForeground, 
-setLocale, 
-setLocation, 
-setLocation, 
-setName, 
-setSize, 
-setSize, 
-setVisible, 
-show, 
-show, 
-size, 
-toString, 
-transferFocus</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>clone, 
-equals, 
-finalize, 
-getClass, 
-hashCode, 
-notify, 
-notifyAll, 
-wait, 
-wait, 
-wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="Terminal()"><!-- --></A><H3>
-Terminal</H3>
-<PRE>
-public <B>Terminal</B>()</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="getParameterInfo()"><!-- --></A><H3>
-getParameterInfo</H3>
-<PRE>
-public abstract java.lang.String[][] <B>getParameterInfo</B>()</PRE>
-<DL>
-<DD>Get the specific parameter info for the emulation.<DD><DL>
-<DT><B>See Also: </B><DD><CODE>Applet</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="putChar(char)"><!-- --></A><H3>
-putChar</H3>
-<PRE>
-public abstract void <B>putChar</B>(char&nbsp;c)</PRE>
-<DL>
-<DD>Put a character on the screen. The method has to see if it is
- a special character that needs to be handles special.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>c</CODE> - the character<DT><B>See Also: </B><DD><A HREF="../display/Terminal.html#putString(java.lang.String)"><CODE>putString(java.lang.String)</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="putString(java.lang.String)"><!-- --></A><H3>
-putString</H3>
-<PRE>
-public abstract void <B>putString</B>(java.lang.String&nbsp;s)</PRE>
-<DL>
-<DD>Put a character on the screen. The method has to parse the string
- may handle special characters.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>s</CODE> - the string<DT><B>See Also: </B><DD><A HREF="../display/Terminal.html#putString(java.lang.String)"><CODE>putString(java.lang.String)</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getSize()"><!-- --></A><H3>
-getSize</H3>
-<PRE>
-public abstract java.awt.Dimension <B>getSize</B>()</PRE>
-<DL>
-<DD>Return the current size of the terminal in characters.<DD><DL>
-<DT><B>Overrides:</B><DD>getSize in class java.awt.Component</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getTerminalType()"><!-- --></A><H3>
-getTerminalType</H3>
-<PRE>
-public abstract java.lang.String <B>getTerminalType</B>()</PRE>
-<DL>
-<DD>Return actual terminal type identifier.</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../display/SoftFont.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../display/vt320.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="Terminal.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.awt.Component">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/display/TerminalHost.html b/web/root/telnet/Documentation/Source/display/TerminalHost.html
deleted file mode 100644
index defad23341..0000000000
--- a/web/root/telnet/Documentation/Source/display/TerminalHost.html
+++ /dev/null
@@ -1,178 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:33 CEST 1999 -->
-<TITLE>
-: Interface  TerminalHost
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="TerminalHost.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-display</FONT>
-<BR>
-Interface  TerminalHost</H2>
-<DL>
-<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../telnet.html">telnet</A>, <A HREF="../display/vt320.html">vt320</A></DD>
-</DL>
-<HR>
-<DL>
-<DT>public abstract interface <B>TerminalHost</B></DL>
-
-<P>
-TerminalHost is an interface for the remote (virtual) end of our connection
- to the host computer we are connected to.
-<P>
-<DL>
-<DT><B>Version: </B><DD>$Id: TerminalHost.html,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $</DD>
-<DT><B>Author: </B><DD>Matthias L Jugel, Marcus Mei�ner</DD>
-</DL>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/TerminalHost.html#send(java.lang.String)">send</A></B>(java.lang.String&nbsp;s)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Send a string to the host and return if it was received successfully.</TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="send(java.lang.String)"><!-- --></A><H3>
-send</H3>
-<PRE>
-public boolean <B>send</B>(java.lang.String&nbsp;s)</PRE>
-<DL>
-<DD>Send a string to the host and return if it was received successfully.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>s</CODE> - the string to send<DT><B>Returns:</B><DD>True for successful receivement.</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="TerminalHost.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/display/package-frame.html b/web/root/telnet/Documentation/Source/display/package-frame.html
deleted file mode 100644
index 3197fdeddd..0000000000
--- a/web/root/telnet/Documentation/Source/display/package-frame.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:32 CEST 1999 -->
-<TITLE>
-: Package display
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-<FONT size="+1" ID="FrameTitleFont">
-<A HREF="../display/package-summary.html" TARGET="classFrame">display</A></FONT>
-<TABLE BORDER="0" WIDTH="100%">
-<TR>
-<TD NOWRAP><FONT size="+1" ID="FrameHeadingFont">
-Interfaces</FONT>&nbsp;
-<FONT ID="FrameItemFont">
-<BR>
-<A HREF="TerminalHost.html" TARGET="classFrame"><I>TerminalHost</I></A></FONT></TD>
-</TR>
-</TABLE>
-
-
-<TABLE BORDER="0" WIDTH="100%">
-<TR>
-<TD NOWRAP><FONT size="+1" ID="FrameHeadingFont">
-Classes</FONT>&nbsp;
-<FONT ID="FrameItemFont">
-<BR>
-<A HREF="CharDisplay.html" TARGET="classFrame">CharDisplay</A>
-<BR>
-<A HREF="SoftFont.html" TARGET="classFrame">SoftFont</A>
-<BR>
-<A HREF="Terminal.html" TARGET="classFrame">Terminal</A>
-<BR>
-<A HREF="vt320.html" TARGET="classFrame">vt320</A></FONT></TD>
-</TR>
-</TABLE>
-
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/display/package-summary.html b/web/root/telnet/Documentation/Source/display/package-summary.html
deleted file mode 100644
index 9ba0b65d51..0000000000
--- a/web/root/telnet/Documentation/Source/display/package-summary.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:32 CEST 1999 -->
-<TITLE>
-: Package display
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV PACKAGE&nbsp;
-&nbsp;<A HREF="../modules/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-summary.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<H2>
-Package display
-</H2>
-
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Interface Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="TerminalHost.html"><I>TerminalHost</I></A></B></TD>
-<TD>TerminalHost is an interface for the remote (virtual) end of our connection
- to the host computer we are connected to.</TD>
-</TR>
-</TABLE>
-&nbsp;
-
-<P>
-
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Class Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="CharDisplay.html">CharDisplay</A></B></TD>
-<TD>A simple character display.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="SoftFont.html">SoftFont</A></B></TD>
-<TD>&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="Terminal.html">Terminal</A></B></TD>
-<TD>Terminal is an abstract emulation class.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="vt320.html">vt320</A></B></TD>
-<TD>A DEC VT320 Terminal Emulation (includes VT100/220 and ANSI).</TD>
-</TR>
-</TABLE>
-&nbsp;
-
-<P>
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV PACKAGE&nbsp;
-&nbsp;<A HREF="../modules/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-summary.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/display/package-tree.html b/web/root/telnet/Documentation/Source/display/package-tree.html
deleted file mode 100644
index fdec70375e..0000000000
--- a/web/root/telnet/Documentation/Source/display/package-tree.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:32 CEST 1999 -->
-<TITLE>
-: display Class Hierarchy
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;<A HREF="../modules/package-tree.html"><B>NEXT</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-tree.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<CENTER>
-<H2>
-Hierarchy For Package display
-</H2>
-</CENTER>
-<DL>
-<DT><B>Package Hierarchies: </B><DD><A HREF="../overview-tree.html">All Packages</A></DL>
-<HR>
-<H2>
-Class Hierarchy
-</H2>
-<UL>
-<LI TYPE="circle">class java.lang.Object<UL>
-<LI TYPE="circle">class java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
-<UL>
-<LI TYPE="circle">class java.awt.Container<UL>
-<LI TYPE="circle">class java.awt.Panel<UL>
-<LI TYPE="circle">class display.<A HREF="../display/CharDisplay.html"><B>CharDisplay</B></A><LI TYPE="circle">class display.<A HREF="../display/Terminal.html"><B>Terminal</B></A><UL>
-<LI TYPE="circle">class display.<A HREF="../display/vt320.html"><B>vt320</B></A> (implements display.<A HREF="../display/TerminalHost.html">TerminalHost</A>)
-</UL>
-</UL>
-</UL>
-</UL>
-<LI TYPE="circle">class display.<A HREF="../display/SoftFont.html"><B>SoftFont</B></A></UL>
-</UL>
-<H2>
-Interface Hierarchy
-</H2>
-<UL>
-<LI TYPE="circle">interface display.<A HREF="../display/TerminalHost.html"><B>TerminalHost</B></A></UL>
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;<A HREF="../modules/package-tree.html"><B>NEXT</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-tree.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/display/vt320.html b/web/root/telnet/Documentation/Source/display/vt320.html
deleted file mode 100644
index c9e5000eb1..0000000000
--- a/web/root/telnet/Documentation/Source/display/vt320.html
+++ /dev/null
@@ -1,842 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:34 CEST 1999 -->
-<TITLE>
-: Class  vt320
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../display/Terminal.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="vt320.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-display</FONT>
-<BR>
-Class  vt320</H2>
-<PRE>
-java.lang.Object
-  |
-  +--java.awt.Component
-        |
-        +--java.awt.Container
-              |
-              +--java.awt.Panel
-                    |
-                    +--<A HREF="../display/Terminal.html">display.Terminal</A>
-                          |
-                          +--<B>display.vt320</B>
-</PRE>
-<HR>
-<DL>
-<DT>public class <B>vt320</B><DT>extends <A HREF="../display/Terminal.html">Terminal</A><DT>implements <A HREF="../display/TerminalHost.html">TerminalHost</A></DL>
-
-<P>
-A DEC VT320 Terminal Emulation (includes VT100/220 and ANSI).
-
- The terminal emulation accesses the applet parameters to configure itself.
- The following parameters may be set. Default values are written in
- <I>italics</I> and other possible values are <B>bold</B>.
- <DL>
-  <DT><TT>&lt;PARAM NAME="Fx" VALUE="<I>functionkeytext</I>"&gt</TT>
-  <DD>Sets the string sent when the function key Fx (x between 1 und 20)
-	is pressed.
-  <DT><TT>&lt;PARAM NAME="VTcolumns" VALUE="<I>80</I>"&gt</TT>
-  <DD>Sets the columns of the terminal initially. If the parameter
-      VTresize is set to <B>screen</B> this may change, else it is fixed.
-  <DT><TT>&lt;PARAM NAME="VTrows" VALUE="<I>24</I>"&gt</TT>
-  <DD>Sets the rows of the terminal initially. If the parameter
-      value of VTresize <B>screen</B> this may change!
-  <DT><TT>&lt;PARAM NAME="VTfont" VALUE="<I>Courier</I>"&gt</TT>
-  <DD>Sets the font to be used for the terminal. It is recommended to
-      use <I>Courier</I> or at least a fixed width font.
-  <DT><TT>&lt;PARAM NAME="VTfontsize" VALUE="<I>14</I>"&gt</TT>
-  <DD>Sets the font size for the terminal. If the parameter
-      value of VTresize is set to <B>font</B> this may change!
-  <DT><TT>&lt;PARAM NAME="VTresize" VALUE="<I>font</I>"&gt</TT>
-  <DD>This parameter determines what the terminal should do if the window
-      is resized. The default setting <I><B>font</B></I> will result in
-      resizing the font until is matches the window best. Other possible
-      values are <B>none</B> or <B>screen</B>. <B>none</B> will let nothing
-      happen and <B>screen</B> will let the display try to change the
-      amount of rows and columns to match the window best.
-  <DT><TT>&lt;PARAM NAME="VTscrollbar" VALUE="<I>false</I>"&gt</TT>
-  <DD>Setting this parameter to <B>true</B> will add a scrollbar west to
-      the terminal. Other possible values include <B>left</B> to put the
-      scrollbar on the left side of the terminal and <B>right</B> to put it
-      explicitely to the right side.
-  <DT><TT>&lt;PARAM NAME="VTid" VALUE="<I>vt320</I>"&gt</TT>
-  <DD>This parameter will override the terminal id <I>vt320</I>. It may
-      be used to determine special terminal abilities of VT Terminals.
-  <DT><TT>&lt;PARAM NAME="VTbuffer" VALUE="<I>xx</I>"&gt</TT>
-  <DD>Initially this parameter is the same as the VTrows parameter. It
-      cannot be less than the amount of rows on the display. It determines
-      the available scrollback buffer.
-  <DT><TT>&lt;PARAM NAME="VTcharset" VALUE="<I>none</I>"&gt</TT>
-  <DD>Setting this parameter to <B>ibm</B> will enable mapping of ibm
-      characters (as used in PC BBS systems) to UNICODE characters. Note
-      that those special characters probably won't show on UNIX systems
-      due to lack in X11 UNICODE support.
-  <DT><TT>&lt;PARAM NAME="VTvms" VALUE="<I>false</I>"&gt</TT>
-  <DD>Setting this parameter to <B>true</B> will change the Backspace key
-      into a delete key, cause the numeric keypad keys to emit VT100
-      codes when Ctrl is pressed, and make other VMS-important keyboard
-      definitions.
-  <DT><TT>&lt;PARAM NAME="F<I>nr</I>" VALUE="<I>string</I>"&gt</TT>
-  <DD>Function keys from <I>F1</I> to <I>F20</I> are programmable. You can
-      install any possible string including special characters, such as
-      <TABLE BORDER>
-      <TR><TD><TT>\e</TT></TD><TD>Escape</TD>
-      <TR><TD><TT>\b</TT></TD><TD>Backspace</TD>
-      <TR><TD><TT>\n</TT></TD><TD>Newline</TD>
-      <TR><TD><TT>\r</TT></TD><TD>Return</TD>
-      <TR><TD><TT>\xxxx</TT></TD><TD>Character xxxx (decimal)</TD>
-      </TABLE>
-  <DT><TT>&lt;PARAM NAME="CF<I>nr</I>" VALUE="<I>string</I>"&gt</TT>
-  <DD>Function keys (with the Control-key pressed) from <I>CF1</I> to <I>CF20</I> are programmable too.
-  <DT><TT>&lt;PARAM NAME="SF<I>nr</I>" VALUE="<I>string</I>"&gt</TT>
-  <DD>Function keys (with the Shift-key pressed) from <I>SF1</I> to <I>SF20</I> are programmable too.
-  <DT><TT>&lt;PARAM NAME="AF<I>nr</I>" VALUE="<I>string</I>"&gt</TT>
-  <DD>Function keys (with the Alt-key pressed) from <I>AF1</I> to <I>AF20</I> are programmable too.
- </DL>
-<P>
-<DL>
-<DT><B>Version: </B><DD>$Id: vt320.html,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $</DD>
-<DT><B>Author: </B><DD>Matthias L. Jugel, Marcus Mei?ner</DD>
-<DT><B>See Also: </B><DD><A HREF="../serialized-form.html#display.vt320">Serialized Form</A></DL>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="field_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Field Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#INSERT">INSERT</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Insert key.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#KEYCAPS_LOCK">KEYCAPS_LOCK</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#KEYINSERT">KEYINSERT</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#KEYNUM_LOCK">KEYNUM_LOCK</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#KEYPAUSE">KEYPAUSE</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#KEYPRINT_SCREEN">KEYPRINT_SCREEN</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#KEYSCROLL_LOCK">KEYSCROLL_LOCK</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;char[]</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#unimap">unimap</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Fields inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>BOTTOM_ALIGNMENT,  
-CENTER_ALIGNMENT,  
-LEFT_ALIGNMENT,  
-RIGHT_ALIGNMENT,  
-TOP_ALIGNMENT</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="../display/vt320.html#vt320()">vt320</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#addNotify()">addNotify</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initialize terminal.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String[][]</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#getParameterInfo()">getParameterInfo</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.awt.Dimension</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#getSize()">getSize</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#getTerminalType()">getTerminalType</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#handleEvent(java.awt.Event)">handleEvent</A></B>(java.awt.Event&nbsp;evt)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Handle events for the terminal.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;char</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#map_cp850_unicode(char)">map_cp850_unicode</A></B>(char&nbsp;x)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#putChar(char)">putChar</A></B>(char&nbsp;c)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#putChar(char, boolean)">putChar</A></B>(char&nbsp;c,
-        boolean&nbsp;doshowcursor)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#putString(java.lang.String)">putString</A></B>(java.lang.String&nbsp;s)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Put String at current cursor position.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#send(java.lang.String)">send</A></B>(java.lang.String&nbsp;s)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dummy method to handle input events (String).</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../display/vt320.html#toString()">toString</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the version of the terminal emulation and its display.</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Container</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>add, 
-add, 
-add, 
-add, 
-add, 
-addContainerListener, 
-addImpl, 
-countComponents, 
-deliverEvent, 
-doLayout, 
-findComponentAt, 
-findComponentAt, 
-getAlignmentX, 
-getAlignmentY, 
-getComponent, 
-getComponentAt, 
-getComponentAt, 
-getComponentCount, 
-getComponents, 
-getInsets, 
-getLayout, 
-getMaximumSize, 
-getMinimumSize, 
-getPreferredSize, 
-insets, 
-invalidate, 
-isAncestorOf, 
-layout, 
-list, 
-list, 
-locate, 
-minimumSize, 
-paint, 
-paintComponents, 
-paramString, 
-preferredSize, 
-print, 
-printComponents, 
-processContainerEvent, 
-processEvent, 
-remove, 
-remove, 
-removeAll, 
-removeContainerListener, 
-removeNotify, 
-setFont, 
-setLayout, 
-update, 
-validate, 
-validateTree</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>action, 
-add, 
-addComponentListener, 
-addFocusListener, 
-addInputMethodListener, 
-addKeyListener, 
-addMouseListener, 
-addMouseMotionListener, 
-addPropertyChangeListener, 
-addPropertyChangeListener, 
-bounds, 
-checkImage, 
-checkImage, 
-coalesceEvents, 
-contains, 
-contains, 
-createImage, 
-createImage, 
-disable, 
-disableEvents, 
-dispatchEvent, 
-enable, 
-enable, 
-enableEvents, 
-enableInputMethods, 
-firePropertyChange, 
-getBackground, 
-getBounds, 
-getBounds, 
-getColorModel, 
-getComponentOrientation, 
-getCursor, 
-getDropTarget, 
-getFont, 
-getFontMetrics, 
-getForeground, 
-getGraphics, 
-getHeight, 
-getInputContext, 
-getInputMethodRequests, 
-getLocale, 
-getLocation, 
-getLocation, 
-getLocationOnScreen, 
-getName, 
-getParent, 
-getPeer, 
-getSize, 
-getToolkit, 
-getTreeLock, 
-getWidth, 
-getX, 
-getY, 
-gotFocus, 
-hasFocus, 
-hide, 
-imageUpdate, 
-inside, 
-isDisplayable, 
-isDoubleBuffered, 
-isEnabled, 
-isFocusTraversable, 
-isLightweight, 
-isOpaque, 
-isShowing, 
-isValid, 
-isVisible, 
-keyDown, 
-keyUp, 
-list, 
-list, 
-list, 
-location, 
-lostFocus, 
-mouseDown, 
-mouseDrag, 
-mouseEnter, 
-mouseExit, 
-mouseMove, 
-mouseUp, 
-move, 
-nextFocus, 
-paintAll, 
-postEvent, 
-prepareImage, 
-prepareImage, 
-printAll, 
-processComponentEvent, 
-processFocusEvent, 
-processInputMethodEvent, 
-processKeyEvent, 
-processMouseEvent, 
-processMouseMotionEvent, 
-remove, 
-removeComponentListener, 
-removeFocusListener, 
-removeInputMethodListener, 
-removeKeyListener, 
-removeMouseListener, 
-removeMouseMotionListener, 
-removePropertyChangeListener, 
-removePropertyChangeListener, 
-repaint, 
-repaint, 
-repaint, 
-repaint, 
-requestFocus, 
-reshape, 
-resize, 
-resize, 
-setBackground, 
-setBounds, 
-setBounds, 
-setComponentOrientation, 
-setCursor, 
-setDropTarget, 
-setEnabled, 
-setForeground, 
-setLocale, 
-setLocation, 
-setLocation, 
-setName, 
-setSize, 
-setSize, 
-setVisible, 
-show, 
-show, 
-size, 
-transferFocus</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>clone, 
-equals, 
-finalize, 
-getClass, 
-hashCode, 
-notify, 
-notifyAll, 
-wait, 
-wait, 
-wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-<A NAME="field_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Field Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="KEYPRINT_SCREEN"><!-- --></A><H3>
-KEYPRINT_SCREEN</H3>
-<PRE>
-public static final int <B>KEYPRINT_SCREEN</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<A NAME="KEYSCROLL_LOCK"><!-- --></A><H3>
-KEYSCROLL_LOCK</H3>
-<PRE>
-public static final int <B>KEYSCROLL_LOCK</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<A NAME="KEYCAPS_LOCK"><!-- --></A><H3>
-KEYCAPS_LOCK</H3>
-<PRE>
-public static final int <B>KEYCAPS_LOCK</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<A NAME="KEYNUM_LOCK"><!-- --></A><H3>
-KEYNUM_LOCK</H3>
-<PRE>
-public static final int <B>KEYNUM_LOCK</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<A NAME="KEYPAUSE"><!-- --></A><H3>
-KEYPAUSE</H3>
-<PRE>
-public static final int <B>KEYPAUSE</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<A NAME="KEYINSERT"><!-- --></A><H3>
-KEYINSERT</H3>
-<PRE>
-public static final int <B>KEYINSERT</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<A NAME="INSERT"><!-- --></A><H3>
-INSERT</H3>
-<PRE>
-public static final int <B>INSERT</B></PRE>
-<DL>
-<DD>The Insert key.</DL>
-<HR>
-
-<A NAME="unimap"><!-- --></A><H3>
-unimap</H3>
-<PRE>
-public static final char[] <B>unimap</B></PRE>
-<DL>
-</DL>
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="vt320()"><!-- --></A><H3>
-vt320</H3>
-<PRE>
-public <B>vt320</B>()</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="toString()"><!-- --></A><H3>
-toString</H3>
-<PRE>
-public java.lang.String <B>toString</B>()</PRE>
-<DL>
-<DD>Return the version of the terminal emulation and its display.<DD><DL>
-<DT><B>Overrides:</B><DD>toString in class java.awt.Component</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getParameterInfo()"><!-- --></A><H3>
-getParameterInfo</H3>
-<PRE>
-public java.lang.String[][] <B>getParameterInfo</B>()</PRE>
-<DL>
-<DD><DL>
-<DT><B>Overrides:</B><DD><A HREF="../display/Terminal.html#getParameterInfo()">getParameterInfo</A> in class <A HREF="../display/Terminal.html">Terminal</A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="addNotify()"><!-- --></A><H3>
-addNotify</H3>
-<PRE>
-public void <B>addNotify</B>()</PRE>
-<DL>
-<DD>Initialize terminal.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>parent</CODE> - the applet parent where to get parameters from<DT><B>Overrides:</B><DD>addNotify in class java.awt.Panel<DT><B>See Also: </B><DD><A HREF="../display/Terminal.html"><CODE>Terminal</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getSize()"><!-- --></A><H3>
-getSize</H3>
-<PRE>
-public java.awt.Dimension <B>getSize</B>()</PRE>
-<DL>
-<DD><DL>
-<DT><B>Overrides:</B><DD><A HREF="../display/Terminal.html#getSize()">getSize</A> in class <A HREF="../display/Terminal.html">Terminal</A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getTerminalType()"><!-- --></A><H3>
-getTerminalType</H3>
-<PRE>
-public java.lang.String <B>getTerminalType</B>()</PRE>
-<DL>
-<DD><DL>
-<DT><B>Overrides:</B><DD><A HREF="../display/Terminal.html#getTerminalType()">getTerminalType</A> in class <A HREF="../display/Terminal.html">Terminal</A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="handleEvent(java.awt.Event)"><!-- --></A><H3>
-handleEvent</H3>
-<PRE>
-public boolean <B>handleEvent</B>(java.awt.Event&nbsp;evt)</PRE>
-<DL>
-<DD>Handle events for the terminal. Only accept events for the scroll
- bar. Any other events have to be propagated to the parent.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>evt</CODE> - the event<DT><B>Overrides:</B><DD>handleEvent in class java.awt.Component</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="send(java.lang.String)"><!-- --></A><H3>
-send</H3>
-<PRE>
-public boolean <B>send</B>(java.lang.String&nbsp;s)</PRE>
-<DL>
-<DD>Dummy method to handle input events (String).
- This is only needed if our parent is not TerminalHost<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../display/TerminalHost.html#send(java.lang.String)">send</A> in interface <A HREF="../display/TerminalHost.html">TerminalHost</A><DT><B>Parameters:</B><DD><CODE>s</CODE> - String to handle<DT><B>Returns:</B><DD>always true<DT><B>See Also: </B><DD><A HREF="../display/TerminalHost.html"><CODE>TerminalHost</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="putString(java.lang.String)"><!-- --></A><H3>
-putString</H3>
-<PRE>
-public void <B>putString</B>(java.lang.String&nbsp;s)</PRE>
-<DL>
-<DD>Put String at current cursor position. Moves cursor
- according to the String. Does NOT wrap.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>s</CODE> - the string<DT><B>Overrides:</B><DD><A HREF="../display/Terminal.html#putString(java.lang.String)">putString</A> in class <A HREF="../display/Terminal.html">Terminal</A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="putChar(char)"><!-- --></A><H3>
-putChar</H3>
-<PRE>
-public void <B>putChar</B>(char&nbsp;c)</PRE>
-<DL>
-<DD><DL>
-<DT><B>Overrides:</B><DD><A HREF="../display/Terminal.html#putChar(char)">putChar</A> in class <A HREF="../display/Terminal.html">Terminal</A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="map_cp850_unicode(char)"><!-- --></A><H3>
-map_cp850_unicode</H3>
-<PRE>
-public char <B>map_cp850_unicode</B>(char&nbsp;x)</PRE>
-<DL>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="putChar(char, boolean)"><!-- --></A><H3>
-putChar</H3>
-<PRE>
-public void <B>putChar</B>(char&nbsp;c,
-                    boolean&nbsp;doshowcursor)</PRE>
-<DL>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../display/Terminal.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="vt320.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/help-doc.html b/web/root/telnet/Documentation/Source/help-doc.html
deleted file mode 100644
index dfaccc436d..0000000000
--- a/web/root/telnet/Documentation/Source/help-doc.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:37 CEST 1999 -->
-<TITLE>
-: API Help
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="help-doc.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<CENTER>
-<H1>
-How This API Document Is Organized</H1>
-</CENTER>
-This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3>
-Overview</H3>
-<BLOCKQUOTE>
-
-<P>
-The <A HREF="overview-summary.html">Overview</A> page is the front page of this API document and provides a list of all packages with a summary for each.  This page can also contain an overall description of the set of packages.</BLOCKQUOTE>
-<H3>
-Package</H3>
-<BLOCKQUOTE>
-
-<P>
-Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:<UL>
-<LI>Interfaces (italic)<LI>Classes<LI>Exceptions<LI>Errors</UL>
-</BLOCKQUOTE>
-<H3>
-Class/Interface</H3>
-<BLOCKQUOTE>
-
-<P>
-Each class, interface, inner class and inner interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:<UL>
-<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description
-<P>
-<LI>Inner Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary
-<P>
-<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL>
-Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</BLOCKQUOTE>
-<H3>
-Tree (Class Hierarchy)</H3>
-<BLOCKQUOTE>
-There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.<UL>
-<LI>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.<LI>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</UL>
-</BLOCKQUOTE>
-<H3>
-Deprecated API</H3>
-<BLOCKQUOTE>
-The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE>
-<H3>
-Index</H3>
-<BLOCKQUOTE>
-The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</BLOCKQUOTE>
-<H3>
-Prev/Next</H3>
-These links take you to the next or previous class, interface, package, or related page.<H3>
-Frames/No Frames</H3>
-These links show and hide the HTML frames.  All pages are available with or without frames.
-<P>
-<H3>
-Serialized Form</H3>
-Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
-<P>
-<FONT SIZE="-1">
-<EM>
-This help file applies to API documentation generated using the standard doclet. </EM>
-</FONT>
-<BR>
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="help-doc.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/images/blue-ball-small.gif b/web/root/telnet/Documentation/Source/images/blue-ball-small.gif
deleted file mode 100644
index d4c5cde5b005117d443e595db216e8a212831f75..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 255
zcmZ?wbhEHbWMg1s_{zYrfB$|4hW}cM-Hp}9+?~z|3!KYIKF7jvjf3Go2g7@IhGW&$
z$JiOpi3t2RH2E*U@t=d?IS0d>p5_0S9{VpL@SmAsFDt_o5rGyB#sB;q*O(YuSQw(%
z8Sb$$Y-MLi-oN)4C&OMghP4cgQ49=T0s_S>48?2=Ufy1FQj^ayPy;CbWMKrEqXQy9
neqvygacC&uFklhjN_22q8N(ps=f0USLPzzor^l_FW(I2jea<(J

diff --git a/web/root/telnet/Documentation/Source/images/blue-ball.gif b/web/root/telnet/Documentation/Source/images/blue-ball.gif
deleted file mode 100644
index edc29b786ce52736bf9f2a1ac38aaa78b1799e92..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 925
zcmZ?wbhEHb<YC}p_|Cxa|Nnmm28Kh24sGAQJuNNm%a<=R_AlDMfB*C6&-3&185sUA
zTC_-3G<wdQIbmU83=A9W`Kwb>Qlc3cDhjfrg2M~zPiZN3PnvhxP=0fM*#d_D4D;KQ
z82;BY{Qn;q*yA0zaq-6MTMt~^zIAJ%gV~kKS7Q13=FOhtsHSPe%+uH0uqMv@(6Q<>
z=bX-+6F7M;`Pwyx-~Sn&zh^jnjN#a^>f`4a{{I)4Hf`GfKZd{mb3A^|Fntcg|5rW#
zpDg|UUtsTEhW;rGXU?2yY7zMTU-A4kj+PdN@F<2`_ZZf1Wr#~=IC5<7_Pq?t*D^#!
zGI)706c-B=7BjedG0d6cb?#hpb~Zz2kKwWEo^wvw=LEdYC0Ac#aQe>>^q;}&J%iIR
z2FqjBQ_eA1{uhY)Z&>}Gf#E+#&~pZ-ISiWr8UFw8x%PkQ`~Lz#dl@XJFle?282(pG
zzQ*Cy!k`(&AaReuX)A+aGK0jiy?ggE82<myu$I9vib2tfL84f|uo%P;nB$dvF1aO}
zL9xfstFii+yVE&gfpa;@=U5o7aWMSnV0h2YaICue*t>V{^!@!aGcykyIB@y$<^R_i
zzTVq>YpKHjr40Y;1OB@*oQ;WDs-?9cNcXsC>ji}gYya!d_&sCRStFyfMmC!Z^}55A
zx|JAG7~<zGNISdA<KmfJp_gwJTzl8_u1ot7JHxq{9Wz7({u`S77vT8M!SI}eVNTET
z|4Wbkmk{{R%&?c0VTy=Ai-zKVevWHQ3@t1SQS1!&*ci65GbHcddyJD|FB`*J2F54`
z1}_1DVityCHU=+muQ{p7=NN_#Q2fcl$iTqPpaXI;C{HkOR59>#$ari>P;hK!<KzmN
z5TMA)#UtzFl98||gez=g)>E#Ft6i8_H8WVXr>$|?oN-mi;zWRU*tWd0Rju0M-m&XS
zmfmumJpC+lQ`*^2U%S;dBpj-e^>BGDsvC2-LXbNwXTiqA!$qvOvl16vayeA=R4B|x
O({VHV87*E825SIlbVM`&

diff --git a/web/root/telnet/Documentation/Source/images/class-index.gif b/web/root/telnet/Documentation/Source/images/class-index.gif
deleted file mode 100644
index 7f276bcb242e6136502f60bded36f5326bab534a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1497
zcmZ?wbhEHbyuqN#@SOnyj2Rfx7#L<UFq~mv_|IU>z+i05V4TKaJd?rr41@81kYt)M
zLs}X`+DwMDGYo0}L273jGt5k5m^qVS<{5^W|3O;M7&DwnV>mOD;mjF^GyfU>Gcf!&
zX851R@P8)5|1%8#|APz$8J%X#Fw>afj4{K1kUhr6#>Q#J#xsqL&lns32U(kDY@C*6
zoHo-q?Tm5Se~>F?8XM0{GoCrqc;*@7ng2nKI%8~nCe8TFOye_WjL-Zx{?B0i-`Mzn
zn(_ac#{bV4|Nox`@{(~H$k8*?K+gIP@&U-Ev^0=eXVQ%SgFKXGoCX3j)6&kQrTqu_
zZ>DkD%(S$bGt*|CNt^i}<lQsIAjvZ`)6SepJM%y7KSSDo<Fx;2Y5!-Y{XdiT|Nl%-
z*cs0Rh0e^GApiddg$>9{X){5NJ~Pw!KPad`7N^Yw8GUAE+J8{Ufuz%Bg20)XGyj7E
z@{BRa+A}j}o;fq~%>SAH8D{=Bp7}p*=Kq;9|DT!p|Nj|KBpIIpMZ?T9pn(1l3UyG}
zrGd19g5y6Z64H#%fV?#G49L;{L2)wE803SQGtYpG{tt?xGsYkff%s?6ocVv|Kf{^-
z#%KPgo%uiW%>OfI{{II>AUOI#t^mg<C_cfF1acHO+(FR`4oZ+4!Jz|+ZLo(yP6qn{
z6!~Y2K|yt9Cdgp0(f|L0V(I^Xke|R-G4S&8N=Zp+XlR(4nmRi>2LuGf#>Qr6XIE5I
zw6(QOo;-Qs!iDSBt=qkO_sNqduU)(L<jIqdA3s9$LeeoAq~cE&Mh1rK3_2japgh6O
z@t<Kmr;Nvj1qYisgtcN$Y*=`>otKfJ!DHj1qumn5S$9qtE<DmHEAGYPxoOGC$%^((
zE}j9Zr>FC{ADZL&QQ5aqFaOn<m7AA4&NB#I_vNRMM&Nw2d@0*s0WU5zdC$Dm^C}?C
zWmS-%)z)9enPL4Aifyc?Lzi4%&$WGC?oP9(*H&fCkILb`y87~r@{7yP?%w_;Zgb(^
zO}sigH18f%_?cC^dV0>ob^Wj9)Ox0VO59PTsvgEO^Yej?j*j*FY@%K`o}T=(%1q{`
z)YE-Erl&>kM6Jm@Gc#2>bnh+GfUOdTqvB+?f6l+Pb^Ro}y?4Ik&D+?k9LFbJQ25L<
ze|p#-8_T%&w-fXKf1ADC{M`0MYrD5geqHzN^PB7QYU>Scla4<=x%m9r*>$xKpI&6W
zTln#0x_IgRMsc|^qo2>C6Lz?ohZk?(TE3uB`RDY>wO6mIEGXm4OTSklR3#yq|EtjT
ze(7A>6Y|;mR%v&<6c@F{H*yGxD|h66>`3hV(3+9dbHq?1x?Vhu?O~HBqeXnb=c*G*
z&0LSJt4#6#CviKd#nAFex7{??glU$$JeCywsh#mC;Lg`;caxn~r7xZC$hI<du2op(
zlAiCGYDzOJ&n*)&Z3z+%U)Z6xN@Jmu=B?#(C*0)Jm|H(jb9rA~+N!WcD|k<3E@#lu
zTD53i*R70&OO<}zS{&kQsW`_zXj|or<<oj^y<D+l(J#SuE9ZH=Ub8Fh#wzbZwT{eX
z*H?JmT(tF>SH!vtZmZv{U&iL9wc()J%!#chJdeByYkQZKz3Rdu(Y4#JF7nn}>{sip
z*M6dFhR)hOU8}WCd!JSdY}xluYSsR}M`_FUUVpag{XvzFzt``6p_g@c*(IT_4@X=y
zeGC?HZR9RIAX0v3<1yakoC{l*R^@y;Igw9glf$J&Z$6#oo67z9jES;J)>(_^F#!v$
PzQ6f=-r>4T0E0CEs5#8p

diff --git a/web/root/telnet/Documentation/Source/images/constrct.gif b/web/root/telnet/Documentation/Source/images/constrct.gif
deleted file mode 100644
index d1a6ae507ca808dd0df7f7cef51fbb3a4aa7050a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1565
zcmZ?wbhEHbe9oZ8@SOnyj2Rfx7#L<UFq~mv_|IU>z+i05V4TKaJd?rr41@81kYt)M
zLs}X`+DwMDGYo0}L273jGt5k5m^qVS<{5^W|3O;M7&DwnV>mOD;mjF^GyfU>Gcf!&
zX851R@P8)5|1%8#|APz$8J%X#Fw>afj4{K1kUhr6#>Q#J#xsqL&lns32U(kDY@C*6
zoHo-q?Tm5Se~>F?8XM0{GoCrqc;*@7ng2nKI%8~nCe8TFOye_WjL-Zx{?B0i-`Mzn
zn(_ac#{bV4|Nox`@{(~H$k8*?K+gIP@&U-Ev^0=eXVQ%SgFKXGoCX3j)6&kQrTqu_
zZ>DkD%(S$bGt*|CNt^i}<lQsIAjvZ`)6SepJM%y7KSSDo<Fx;2Y5!-Y{XdiT|Nl%-
z*cs0Rh0e^GApiddg$>9{X){5NJ~Pw!KPad`7N^Yw8GUAE+J8{Ufuz%Bg20)XGyj7E
z@{BRa+A}j}o;fq~%>SAH8D{=Bp7}p*=Kq;9|DT!p|Nj|KBpIIpMZ?T9pn(1l3UyG}
zrGd19g5y6Z64H#%fV?#G49L;{L2)wE803SQGtYpG{tt?xGsYkff%s?6ocVv|Kf{^-
z#%KPgo%uiW%>OfI{{II>AUOI#t^mg<C_cfF1acHO+(FR`4oZ+4!Jz|+ZLo(yP6qn{
z6!~Y2K|yt9Cdgp0(f|L0V(I^Xke|R-G4S&8N=Zp+XlR(4nmRi>2LuGf#>Qr6XIE5I
zw6(QOo;-Qs!iDSBt=qkO_sNqduU)(L<jIqdA3s9$LeeoAq~cE&Mh1rK3_2japgh6O
z@t<Kmr;Nvj1qYisgtcN$Y)EuuV36^e<FRqk(QXOjtUDEgNiKZ~x=uWvo0goM%xPQa
za<XW_sc8nur$T-dJ@cHZo%`yJr;z&jd2;n!vbPL10(<THwPLe2Jlnd&N8GB{YpVLW
z)d5SNZOQtQb#+nv)+E{8UtfA`PM4qN+dc8kjSajT51Gsgdgr)3^*!5JtpcssmYUy>
zczLETxZRt>`rouid_#D9@6}~<Z+$UL-c-nWIj2&>F#1rlu=ly>>+dqAPtj*Ln|rh9
zY5z*cP0KWYnM9pxH@!da$F+}<cV~RPruVjLOWxJP6F;-rZ8HBfb#thGe{WS$&iX4W
zx%2C6cf5abNww<#^mj2IpFeu2xR`(a&Gg?#k1RaAf32-a=G)uX`RihfYrn4jd{KQ`
z&1cK0u?@GEe!t)N?WuZP{fE|L@s&q(f5>M3pE+GT{;;ctRG!?mbn%KGAIopH+$pt)
zYn7^tc;v03l(DFlOUvwG151<I<DRRM)02w6{7jFV@O`gDWN(u042cfCcQ2;bS>KxW
zu-N(8_C+a<$J&!ij?Z;djI#0bj1J-`(@dSJo7JHd`@V7cof+ZNUMM#+v~@fzKI7W?
zWOB}}OsTnUR+TD~K0ZADB&teirSb$$Ee_H47`7izdkfx$KB&~<%6vSpbK8y#SH*di
z856YvlV7b|7T5Y})rv<)Uag7<{1yCawcN>9^OxCP@^~@FUQcuJ`UB6tyjZbt@2ppA
zj&18&vvJieF2T(yj=R@voXu77to1P4X{A|rK5;Uv{Z>2s&6bmL+V6Ipm{gs$<&s_W
zx=qP*cdedu^IGNd?MbuP*Y92<_B(Iwdp4eTJD&;hWN&`)N!wsIyLQg1!W&6H=jN_6
z+mpZZ<EB^AUOh%C8#c?ofBoU81ar^wy-SvD%{%s2XwAFB9(N;WL<w#E^ZtZxyY`)O
z=KX67vyAmsKf5ZL_gp`pAT@o%AxHDGA-g%0-{$Z13(wu^pm;gj@KSjB+fv8X^WJ>8
ko-%#ygcB=ft^IZ@A^7yS+Xbh&zuzgjp1b`P<3k2(0KZ@O?f?J)

diff --git a/web/root/telnet/Documentation/Source/images/constructor-index.gif b/web/root/telnet/Documentation/Source/images/constructor-index.gif
deleted file mode 100644
index 435cac42386bbd6537502c2cf4f0e61dbe5bbf67..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1711
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

diff --git a/web/root/telnet/Documentation/Source/images/constructors.gif b/web/root/telnet/Documentation/Source/images/constructors.gif
deleted file mode 100644
index d1a6ae507ca808dd0df7f7cef51fbb3a4aa7050a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1565
zcmZ?wbhEHbe9oZ8@SOnyj2Rfx7#L<UFq~mv_|IU>z+i05V4TKaJd?rr41@81kYt)M
zLs}X`+DwMDGYo0}L273jGt5k5m^qVS<{5^W|3O;M7&DwnV>mOD;mjF^GyfU>Gcf!&
zX851R@P8)5|1%8#|APz$8J%X#Fw>afj4{K1kUhr6#>Q#J#xsqL&lns32U(kDY@C*6
zoHo-q?Tm5Se~>F?8XM0{GoCrqc;*@7ng2nKI%8~nCe8TFOye_WjL-Zx{?B0i-`Mzn
zn(_ac#{bV4|Nox`@{(~H$k8*?K+gIP@&U-Ev^0=eXVQ%SgFKXGoCX3j)6&kQrTqu_
zZ>DkD%(S$bGt*|CNt^i}<lQsIAjvZ`)6SepJM%y7KSSDo<Fx;2Y5!-Y{XdiT|Nl%-
z*cs0Rh0e^GApiddg$>9{X){5NJ~Pw!KPad`7N^Yw8GUAE+J8{Ufuz%Bg20)XGyj7E
z@{BRa+A}j}o;fq~%>SAH8D{=Bp7}p*=Kq;9|DT!p|Nj|KBpIIpMZ?T9pn(1l3UyG}
zrGd19g5y6Z64H#%fV?#G49L;{L2)wE803SQGtYpG{tt?xGsYkff%s?6ocVv|Kf{^-
z#%KPgo%uiW%>OfI{{II>AUOI#t^mg<C_cfF1acHO+(FR`4oZ+4!Jz|+ZLo(yP6qn{
z6!~Y2K|yt9Cdgp0(f|L0V(I^Xke|R-G4S&8N=Zp+XlR(4nmRi>2LuGf#>Qr6XIE5I
zw6(QOo;-Qs!iDSBt=qkO_sNqduU)(L<jIqdA3s9$LeeoAq~cE&Mh1rK3_2japgh6O
z@t<Kmr;Nvj1qYisgtcN$Y)EuuV36^e<FRqk(QXOjtUDEgNiKZ~x=uWvo0goM%xPQa
za<XW_sc8nur$T-dJ@cHZo%`yJr;z&jd2;n!vbPL10(<THwPLe2Jlnd&N8GB{YpVLW
z)d5SNZOQtQb#+nv)+E{8UtfA`PM4qN+dc8kjSajT51Gsgdgr)3^*!5JtpcssmYUy>
zczLETxZRt>`rouid_#D9@6}~<Z+$UL-c-nWIj2&>F#1rlu=ly>>+dqAPtj*Ln|rh9
zY5z*cP0KWYnM9pxH@!da$F+}<cV~RPruVjLOWxJP6F;-rZ8HBfb#thGe{WS$&iX4W
zx%2C6cf5abNww<#^mj2IpFeu2xR`(a&Gg?#k1RaAf32-a=G)uX`RihfYrn4jd{KQ`
z&1cK0u?@GEe!t)N?WuZP{fE|L@s&q(f5>M3pE+GT{;;ctRG!?mbn%KGAIopH+$pt)
zYn7^tc;v03l(DFlOUvwG151<I<DRRM)02w6{7jFV@O`gDWN(u042cfCcQ2;bS>KxW
zu-N(8_C+a<$J&!ij?Z;djI#0bj1J-`(@dSJo7JHd`@V7cof+ZNUMM#+v~@fzKI7W?
zWOB}}OsTnUR+TD~K0ZADB&teirSb$$Ee_H47`7izdkfx$KB&~<%6vSpbK8y#SH*di
z856YvlV7b|7T5Y})rv<)Uag7<{1yCawcN>9^OxCP@^~@FUQcuJ`UB6tyjZbt@2ppA
zj&18&vvJieF2T(yj=R@voXu77to1P4X{A|rK5;Uv{Z>2s&6bmL+V6Ipm{gs$<&s_W
zx=qP*cdedu^IGNd?MbuP*Y92<_B(Iwdp4eTJD&;hWN&`)N!wsIyLQg1!W&6H=jN_6
z+mpZZ<EB^AUOh%C8#c?ofBoU81ar^wy-SvD%{%s2XwAFB9(N;WL<w#E^ZtZxyY`)O
z=KX67vyAmsKf5ZL_gp`pAT@o%AxHDGA-g%0-{$Z13(wu^pm;gj@KSjB+fv8X^WJ>8
ko-%#ygcB=ft^IZ@A^7yS+Xbh&zuzgjp1b`P<3k2(0KZ@O?f?J)

diff --git a/web/root/telnet/Documentation/Source/images/cyan-ball-small.gif b/web/root/telnet/Documentation/Source/images/cyan-ball-small.gif
deleted file mode 100644
index 7f74357443af1e4323a2e6597c59a2e8a508b149..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 255
zcmZ?wbhEHbWMg1s_{zY*;NivK<<1Zl$`BRBkeJL+T)@y$$1r6g!|XW>YgaOC-N>+a
zE5qKs495;JoIA;I?JUE+n+(q%F}#1p@c#?L|DT-KE^+_=C0Lv<c<z``OOw$5uR{NS
zDRp!!{r_$J|BK7H)82Dtq@F&PdhTTHkz=*T4)^|lu<ZZs{rmUtKYEOT8bI+U3nK%A
tI)e_#Fp!@Z*kle&E~w!0)!==&WJ_d<pFqbU0}EL`RtAp>$(&{eYXJIXPeuR$

diff --git a/web/root/telnet/Documentation/Source/images/cyan-ball.gif b/web/root/telnet/Documentation/Source/images/cyan-ball.gif
deleted file mode 100644
index 97ca1f2b6e3956db2a34dea63b25bf308fa0085c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 925
zcmZ?wbhEHb<YC}p_|Cw<;NivK<<1Zl$`BRBkeJL+T)@y$$1r6g!|XW>YgaOC-N>+a
zE5qKs495;JoIA;I?JUE+n+(q%F}#1p@c#?L|DT-KE^+_=C0Lv<c<z``OOw$5uR{NS
zDRp!!{r_$J|BK7H)82Dtq@F&PdhTTHkz=*T4)^|lu<ZZs{rmUtKYENoB#q(524)5g
zhWGCo{--fK-@xFY!|<MgA)A3gnt?fm0Spot7&y2Y7#RLDFg$0NoWQ_P$-pp&!S4$L
zKLdjT0|NsG!x07s24)5)28MdDs^bjN?->|gf;7JuX83=c;YAjM1_Q$#28II+44d9F
zI8-q(1TZkfFffQPFzjPsuwY<#&+z^~!~d5I&wUtnh%n^bV9;h@kYHeNU|_h%$k6hE
zp@ETs;e!Cfdj{wKj0P{97#1WjFjg^G1u*=GVfZgH>BYVSdKL@}FBlj)7#JCx85tb;
z7!FTTsAOO;XJB~1z|g?J$H2hAXu#0G@IRd4e?G(igAD(T7~k7Z_^-qGym`d|KZd1M
zvMEAb44hjS7#QX;9AjYEF`t3q&JTtISqz&PU|#hCdwzi*!!-$zRsKp0Weg0d3=BmK
z4CRarMH~#75)37c45?cf6c`yQ<QOt1GZeEhlt?jTGC1ThFr*)6P>5kjV_?W+V91f@
zOLd*3pvR%^%%CsCkhg^)mEnB}Q<eU=fbu^v<$4U|LJX<v87deU3YZx3A2JjPFqY_X
z=sPo{2r*=?XDF^`$o|h@_@6=lID;<(Lp}pTu>wOPgJ34Z`(%b}eFn)Cf$V&S>|zE9
zeTJNLP*e<7toW0Kk%2*-K?meOP@Z7msABNvknz~?po3q+phhCl;7Bv4u!cv5K#~F{
zyRb>c27!f)OhQcdJ{tlK9cg3d=1URiXl!ETm(|j7NJwDt<`7h{2ymF(a8_7eOebMN
z!?Fej@qjrBg$xH7nOQj)I2e)^bTF~9vD`S7xFASKoQ-D(gOjG?X7w{#yc`VH0PWf2
AdH?_b

diff --git a/web/root/telnet/Documentation/Source/images/error-index.gif b/web/root/telnet/Documentation/Source/images/error-index.gif
deleted file mode 100644
index 22835ff8c64d5af8369f589cf17819263a8e8fbc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1438
zcmZ?wbhEHbT*sis@SOnyj2Rfx7#L<UFq~mv_|IU>z+i05V4TKaJd?rr41@81kYt)M
zLs}X`+DwMDGYo0}L273jGt5k5m^qVS<{5^W|3O;M7&DwnV>mOD;mjF^GyfU>Gcf!&
zX851R@P8)5|1%8#|APz$8J%X#Fw>afj4{K1kUhr6#>Q#J#xsqL&lns32U(kDY@C*6
zoHo-q?Tm5Se~>F?8XM0{GoCrqc;*@7ng2nKI%8~nCe8TFOye_WjL-Zx{?B0i-`Mzn
zn(_ac#{bV4|Nox`@{(~H$k8*?K+gIP@&U-Ev^0=eXVQ%SgFKXGoCX3j)6&kQrTqu_
zZ>DkD%(S$bGt*|CNt^i}<lQsIAjvZ`)6SepJM%y7KSSDo<Fx;2Y5!-Y{XdiT|Nl%-
z*cs0Rh0e^GApiddg$>9{X){5NJ~Pw!KPad`7N^Yw8GUAE+J8{Ufuz%Bg20)XGyj7E
z@{BRa+A}j}o;fq~%>SAH8D{=Bp7}p*=Kq;9|DT!p|Nj|KBpIIpMZ?T9pn(1l3UyG}
zrGd19g5y6Z64H#%fV?#G49L;{L2)wE803SQGtYpG{tt?xGsYkff%s?6ocVv|Kf{^-
z#%KPgo%uiW%>OfI{{II>AUOI#t^mg<C_cfF1acHO+(FR`4oZ+4!Jz|+ZLo(yP6qn{
z6!~Y2K|yt9Cdgp0(f|L0V(I^Xke|R-G4S&8N=Zp+XlR(4nmRi>2LuGf#>Qr6XIE5I
zw6(QOo;-Qs!iDSBt=qkO_sNqduU)(L<jIqdA3s9$LeeoAq~cE&Mh1rK3_2japgh6A
z@sD9Wr;Nvj1qYisgtcN$Y*^^bAi!ubN5eqrXt#uM)}0d@lUzDw`RjN*H!V3inZ<q4
zo^OIrPE9vR7R&iLY1x_C7QVM!RvIloIL$%v*O!}{7anc3Zm;5*6_R;&kw?E)j@1;+
zfTcmMyUtimeSK+42s>LT*R@sQJx&LwwQ5aU8MsZSKklkkSjxE#8L`KFqp!U3-ygVl
zmMwS1v&ebv%-(OfD>ghl#QBi#+U;v^qgH0}W*=EyvF`ESY1-%C{`vm->BR-1POYaW
zl%}8W%{6lK{k1Xjwp04yb9<(Ix_vTMSKM!vbz$bcMb6*P-M#$L@7!^9W&b!C<HFY$
z7Q2V<vo=2atSI*1<*9bHKTB?1-zY8rUfSa8(<}4a_2uX6$^U#?bNP3@dA0wpOjk|6
zSH}>PB44}ZVELR}rZ|_-^619pa#a&-ugE(ks_uwyd7axX?IHbWdQ@AfWyQjFjdh|6
zn%Fk6CN`I9PEYEV{bjy5LtD(_apfw{6W2466=%q{sn?yjS8G?~5nuaORdYeXCeCRO
z^1p9ACKYFEmAPojpPv?wYV3<FRq`Y!o|tBGiKi`Xmi*e6&t?}eeNFSuzSQ|_x<lWU
zE4kKTCsig29*kTbns-a{#ljpmtL2M2jc#cy%$U`dK5_5Vn`v{}xK3SJB%t^zbMcHa
zsh3NeXN77kS)8_WNtuXkRmQT~S%<1#E#I<_>%huByIYzoSEgyDuQZ(}v1-Leq1P)n
zmQT7G=D7EqmCmM3Qc^b?cRpLSa?_1lS=yTp+<TQ)b45=}W80ImBf9I3HB~FjdAjZO
z<aODryyxxyqGcVlhgmM-{l18wp4$5v*lW%%XA+NDzno3o=lu>Y^EY{$_}pXi92l$t
D>*l58

diff --git a/web/root/telnet/Documentation/Source/images/exception-index.gif b/web/root/telnet/Documentation/Source/images/exception-index.gif
deleted file mode 100644
index e3830d9c52e7899bb62b56f56f71ba304108ed83..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1707
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

diff --git a/web/root/telnet/Documentation/Source/images/field_ix.gif b/web/root/telnet/Documentation/Source/images/field_ix.gif
deleted file mode 100644
index 304ce7d59a25edb878a96399ebcdd77cd9d3a0c8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1443
zcmZ?wbhEHbT*jcr@SOnyj2Rfx7#L<UFq~mv_|IU>z+i05V4TKaJd?rr41@81kYt)M
zLs}X`+DwMDGYo0}L273jGt5k5m^qVS<{5^W|3O;M7&DwnV>mOD;mjF^GyfU>Gcf!&
zX851R@P8)5|1%8#|APz$8J%X#Fw>afj4{K1kUhr6#>Q#J#xsqL&lns32U(kDY@C*6
zoHo-q?Tm5Se~>F?8XM0{GoCrqc;*@7ng2nKI%8~nCe8TFOye_WjL-Zx{?B0i-`Mzn
zn(_ac#{bV4|Nox`@{(~H$k8*?K+gIP@&U-Ev^0=eXVQ%SgFKXGoCX3j)6&kQrTqu_
zZ>DkD%(S$bGt*|CNt^i}<lQsIAjvZ`)6SepJM%y7KSSDo<Fx;2Y5!-Y{XdiT|Nl%-
z*cs0Rh0e^GApiddg$>9{X){5NJ~Pw!KPad`7N^Yw8GUAE+J8{Ufuz%Bg20)XGyj7E
z@{BRa+A}j}o;fq~%>SAH8D{=Bp7}p*=Kq;9|DT!p|Nj|KBpIIpMZ?T9pn(1l3UyG}
zrGd19g5y6Z64H#%fV?#G49L;{L2)wE803SQGtYpG{tt?xGsYkff%s?6ocVv|Kf{^-
z#%KPgo%uiW%>OfI{{II>AUOI#t^mg<C_cfF1acHO+(FR`4oZ+4!Jz|+ZLo(yP6qn{
z6!~Y2K|yt9Cdgp0(f|L0V(I^Xke|R-G4S&8N=Zp+XlR(4nmRi>2LuGf#>Qr6XIE5I
zw6(QOo;-Qs!iDSBt=qkO_sNqduU)(L<jIqdA3s9$LeeoAq~cE&Mh1rK3_2japgh6A
z@t<Kmr;Nvj1qYisgtcN$6eu*b^D2AI@z}WNXt#u@9g9L?^09se=PnbDjf;<WNL%*B
zoZPhZ*d(6dSvEH(E%Tmcrh6)9$K>>LQ|<Hhd^jg7T<o!p7n7YOk`b_wuhT0u^NXg}
zYS!6WOQVW4udE5~Z~AH#_}X!!-N`nS-(RC5wuJ5sOYs(Z9kJ8rqtX`bkgVG)s$PHU
zU2U#;XK(XvH8D@|504HrmH+a!`1w9|xxci(u5?Jz)7?4D#(6f=K0QAXakxlLyZCeD
z)dl&J_UT9zW!wmltUls<<J*(@-GQrXdG~z1bo-dAu>PO0@{`Lpbo0mCP5$}$@!bA%
zeY^kU<~}Ui8vkE^*WJSRw<>HWU;p*Hux#UnOew#0MgK~^+~cgbKXdP2){$4O>hpaW
zUp)^iIQwzBaP3Ra<Dr%8R^|_?M1n*YG{`t|#1(J+dToCAx4Y>H?Sgh54?6ecb}Yz_
zekdMMbE7juu1a}PYI2vH*7w-b1-$IaorZhaFZVhNan5WPaa{4BMY-wu4d*KXlc$x6
z7JXNlRC&_l_7v-BH&R*xgN#FGq)fAXJWVyKLa5uNZ28j3Hq+RaPf?xZIb}xjw3X>o
zG~ZUH&!}~KsoEWPXy)R+jI>CB`S~|@PMpW-v{QXae~^~u;;Biq<mY$`t;%ppWs}O9
z*B8f?5mCWp@N&h>zEi7Kt@mmW&0a1rb@|m*^-;H8t=#ac>gBrCk0jTu+m~eZdfimn
z%Ih1JetWfi<(a;$fEm*`pJ*)EXSI6eww14DXm4H=6#aGwk1v<*`a4-#FSgu&=lO1T
zylr>({O-KhdV796%gzg0(>443euiN43#%B#a|%K(->d#`i0Aj|4~GTZbv_;u3I7xB
Hz+epk2%M&7

diff --git a/web/root/telnet/Documentation/Source/images/fields.gif b/web/root/telnet/Documentation/Source/images/fields.gif
deleted file mode 100644
index 6e2a42d940e367265e076bba834884a633461d3c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1241
zcmZ?wbhEHb%wbSt_|5<U#taN;3=A_F7|t*-{AVy`U@$gjFivAIp2=W*hQathNHWcs
zAuWv|Z6-t78HTj~Ahk1%8D^$2%$&(E^9;kx{~)brj2X_PF`SvnaOModng0y`85sT>
zGyG3u_&<~3{~3n=|3L<Wj7~FVm}$&##+czh$R1;3W8*Yq<C(_BXN-;igRD(6Hcm@3
zPMc|*cE&jEKgbm`jg4of8PA+)JoAk4%>N)qoiR2(lV*Hortz6G#%KN;|7S4%Z*2TO
z&G`RJ<Ns%j|Nl<|dC52p<mj1cAZPst`2b{7S{lf#Gik>EK^{soP6L6NX=!KD(*A?|
zH`6$6W?I_JnQ1f6q|N*f^6nX9kmQ+}X=l!)o%x^kpCRqPaoYd1wEr{H{+~(v|9>VZ
z?2KoELTBbokpKUK!Up7}w3#4BpP6a=9~4v|i_>O;j6O3n?LR2wK+<V5LEy~Hng2ln
zdBzxI?U|V~&zzZg=Ksw93^V^5&-|Y@^Z(45|If_)|Njgql8n!QqG9G4P(c3&g*qtg
z(m+~4!SNpy32DY>Kwg@82IT1fpg5Un4D!LunP)&o{|80U8Do%#K>Raj&ip^~pW)1Z
z<1_!$&itQw=Kq;9|Nny`5FGs=SAb&_6rbQo0yzpC?x5%e2PMdj;LriZHrT@;CxiU}
ziu^OiprAT46J#*h=>PvgvGo5x$WLIa7<hSkrKF@ZG&D?2O`V;c0|EkKV`H<kvnwhp
z+S=MCPoBJR;lg$6*6rTC`{c=!*REZA^5n_Kk01Y21{8m?FfuS)XV3xV1W=w};P}t5
zo>RtS!-9j&9Ku>LCpIiR+%6!@G(#d#si8~4SZvOTkB<)a$(eFJ>6p0aM5{vZtUDf`
zo^0(?4c}$5!szMoY3hk?S1c!|`p&US|5RhK<+;Obw@#+g9VVJ5mI!p4P05;~71C|A
z+-z-@=)<rk|GjmgH?F4MoE>>kX{lvcPSo<;n{{hD%~TF=4R=5GH8WiI<l6MFkM>%b
z=-l7u9&N_^C+KPHVV`=ht*eTQVov70bepzE;zRuDT*K2(_ssnA@M1Hovfm$(l86%#
ziRtUKqf65!uWP&}xA*ercgOM@AM0@4+<5K5_CRHEzuWqc9__ExuFc+29QEQ_{Cc(B
z)AM7m)vgrUCcb{>_oA0Y2N#F)%k6x5iEHJ_`S%O=)n-k4dz<gpzdavboRciMU#q~Y
z5%0@(&0U~Q=Hm28HRpKQ6)M=mPCRfCi@TA~Bz-IVzW=YkA`g;f(_SdFNlvp^(8XTV
zmehT0qj-Fy<g?P=PN}*dN<9n`Kkk<?&E4_1#_X88La%t$ibWlqvNx4mT-A;)>@JLy
ycskYm8HdtD-(MZ7(|+=1sF=o2yP4XWw(O?x^sH?!pUo~frulqM$t?*125SJbRD16L

diff --git a/web/root/telnet/Documentation/Source/images/green-ball-small.gif b/web/root/telnet/Documentation/Source/images/green-ball-small.gif
deleted file mode 100644
index 17fea5b32bb808c030865d16d4640a1598e6b76d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 102
zcmZ?wbhEHbWMg1s_{_j?=+L44`}Z^aXPEJOhS6Cgz3y<OZY72khL{~Q7_b4wpDc_F
l42%pqAW4uJ3@pM1CnP5bxO6r8?l@M+;#MIN)ZxZp4FGsI7*PNK

diff --git a/web/root/telnet/Documentation/Source/images/green-ball.gif b/web/root/telnet/Documentation/Source/images/green-ball.gif
deleted file mode 100644
index 71e1b2ec2db92415bf28bc917b772ab874000d31..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 886
zcmZ?wbhEHb<YC}p_|Cxa|Nnmm28Kh24sGAQJuNNm%a<?v_wRrH{CR$UJ_EylS<&b@
zbLNDFg)uN}u;;H%NlA%jV5lg_jtUOfQtZwzTfp$2Vf)st^JdTKYi>AntoqD3r*r27
zPM%A?c8%fpe}?Dp84e#~ICiZ1_&J9E{{{a4G5r0X<MDHb>2nzVzv}t_Wa;<+0(<u|
z^iN@EY7zMTU-A4kj+PdN@F<2`_ZZf1Wr#~=IC5<7_Pq?t*D^#!GI)706c-B=7Bjed
zG0d6cb?#hpb~Zz2kKwWEo^wvw=LEdYC0Ac#aQe>>^q;}&J%iIR2FqjBQ_eA1{uhY)
zZ&>}GBj`DU(;NoP{|x{C_gwqG^!<N<puG&1Qy4T`1PuQxCST)lYGKffVvxAU;Ix&&
zFquK(*xtQ+84UmbXIRT%7{#FI#UN2EU|0-d2+Z+HK9}5*&7jz0=+#(#%-!jnu)w*T
z<Z~<x*Eksdb1=MTXE;_}eJnFG^YZ1(|F1LLTB>k1CT5e8(s9w&3knk$e$ATkd&aD@
zMn-3i^t!{9x|JAG7<PqTzEyDTUDG>uhI41moJl*oDrUzF5rO}PCjSLE{&O%q=U|xA
zv;6<kWB(-t{xdV|Wo4KmBG96t_@AHS8WTec3quq;!#y^Jt?UfR`}ZE>WZ28bu$F-_
zih;pPK%kg~p_q-q%iC*CYVtXTQ2+}8#h)yU3=C`xIv@d1o?zezX5i(J@z}6H$$^7W
z(<owLqH`-Vzg>++#zIC1-oHN<YIrCd<KkrGlrlN7*m<I|XO)kJ##04HCLWEfmy=Q!
dbf^^b?b0-O<};~@>8Ogul>--MFfuY&0|0sW{$>CG

diff --git a/web/root/telnet/Documentation/Source/images/interface-index.gif b/web/root/telnet/Documentation/Source/images/interface-index.gif
deleted file mode 100644
index bf93dda9e3536f9bd1129ff3008d6ca8e998dceb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1648
zcmZ?wbhEHbWMouh_|5<U#taN;3=A_F7|t*-{AVy`U@$gjFivAIp2=W*hQathNHWcs
zAuWv|Z6-t78HTj~Ahk1%8D^$2%$&(E^9;kx{~)brj2X_PF`SvnaOModng0y`85sT>
zGyG3u_&<~3{~3n=|3L<Wj7~FVm}$&##+czh$R1;3W8*Yq<C(_BXN-;igRD(6Hcm@3
zPMc|*cE&jEKgbm`jg4of8PA+)JoAk4%>N)qoiR2(lV*Hortz6G#%KN;|7S4%Z*2TO
z&G`RJ<Ns%j|Nl<|dC52p<mj1cAZPst`2b{7S{lf#Gik>EK^{soP6L6NX=!KD(*A?|
zH`6$6W?I_JnQ1f6q|N*f^6nX9kmQ+}X=l!)o%x^kpCRqPaoYd1wEr{H{+~(v|9>VZ
z?2KoELTBbokpKUK!Up7}w3#4BpP6a=9~4v|i_>O;j6O3n?LR2wK+<V5LEy~Hng2ln
zdBzxI?U|V~&zzZg=Ksw93^V^5&-|Y@^Z(45|If_)|Njgql8n!QqG9G4P(c3&g*qtg
z(m+~4!SNpy32DY>Kwg@82IT1fpg5Un4D!LunP)&o{|80U8Do%#K>Raj&ip^~pW)1Z
z<1_!$&itQw=Kq;9|Nny`5FGs=SAb&_6rbQo0yzpC?x5%e2PMdj;LriZHrT@;CxiU}
ziu^OiprAT46J#*h=>PvgvGo5x$WLIa7<hSkrKF@ZG&D?2O`V;c0|EkKV`H<kvnwhp
z+S=MCPoBJR;lg$6*6rTC`{c=!*REZA^5n_Kk01a4|9_nVp!k!8k%8elgAOPsfbs-8
z$A5<PoH8C8794Em5Y~!0vEiW;g8-w&9FL8Qj&@5JXWcomG5KhRf^F9xiNYl(Cu;;3
zu}B6j^={IQb*k|!espFQXXLRXnUhq{PO@n}#G)0F;4$CT^<9XkNv7`-&uG2UE<vr!
z%R*9<c)Lon!@7e5tNz|H*74h%;<@N-<>rUCwrG1tz16t5;M{iR+jcV16V^xX=lJ;S
zs(09i!@G+$nR+`dHpcF;5_Ma5N__R>eb;&Bv+mjc@yYR0W@WiImR}BDT=ag^-a9it
zT(~elIJ?eDx+HV`blb^&duM&mzV8;=yjCZC$D6I|wyI6Pv#sRyh84O0ZFkuie|>V@
zSKcjJ=Eu7`!5g#xm%NdB<#V_<_xIDBTEo0!H|~bNzia*X<(uPQ^VaT-F8lD|&DQdJ
zb!#|JTu4bSb$!sl_;1<V=3`$~uU2o={qdmeV=4QCn)`p3-)ofN;*f6rB{=PFt3p`$
z?N+X|6A$tYR&Bl0`INKlQTv&*;R{<eoFX0+e!ZG1R%3c^i||CnU(4f4{w_W7q~3PY
zwOK8Ce$VGlwmfw_sngYK%8eG!d+v`)lkB!VX$y3kximAL?Z=X&BaJ&%r{B7$@vJ}c
zUZ?!j9J!y%X3bsu^1<A&UFI=!&PGZs?&oy-adC!Q*-zQI9Z8<|m$XD>Jy@)z)Va8$
z=3m9qWed4hYD_-lDfMEhl9txel7?IVkHiLNB%N9@In!_FlhsR|+*fzbQCz-seP>vw
z`kJbJVQN!i-Lx{?dWBlmvghe}37FnUk`CN<r)akl!`-ackvp!Kxan>Cx^Y)#Pv5Vb
zix+R&b>sOQ)_FH{J)T$X&fWL)-n8{QpD>-t-|=H!biuaU^KPbX)c9vPchW|ujtToZ
z?(Wv#FP?m6(hh;Y)zgnl^XC*C6D#jAI4N_RUAbUaq1XF8RbDDZ`xU3_d^*UyILGLi
zarf=wa}WAtzMOOx)-gExp=njgo-fBDKAkha{>ONi+@aEoS8NyiY&jVvzxV5&#IUo^
zO+~n4O|IPx65DpwW})ncD<1QGi!X%T>-=)!=cQ@dw`-(*k8C~`aQtp=7OP<H=M%N+
z>vp(RG}o9dv{$dW^=L}C-lf};-9JAkOe=r)(?41A-23NCru*G?oIQKpuUC#w&;EM7
V;rf)aH(Rdf{eHWnT5bY^H2`&gTj2lz

diff --git a/web/root/telnet/Documentation/Source/images/magenta-ball-small.gif b/web/root/telnet/Documentation/Source/images/magenta-ball-small.gif
deleted file mode 100644
index bd0584b3c6751baf523dbb07d856bd5443a23a20..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 104
zcmZ?wbhEHbWMg1s_{_j?=+L44`}ZHKp7NjJ|No`$qZky61q|nSCHEM59T#oApfF)q
z=;d1l*WNX~V*mripDc_F42%pqARfpJ1{P6+6OuP1Jp0-L1H76f94AQ}RqV}TVXy`O
DH}oT{

diff --git a/web/root/telnet/Documentation/Source/images/magenta-ball.gif b/web/root/telnet/Documentation/Source/images/magenta-ball.gif
deleted file mode 100644
index 5da03b84d2bf772dd396adf1be8a53e7c46ec54b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 896
zcmZ?wbhEHb<YC}p_|Cxa|Nnmm28Kh24sGAQJuNNm%a<?v_wRrH{CR$UJ_EylS<&b@
zbLNDFg)uN}u;;H%NlA%jV5lg_jtUOfQtZwzTfp$2Vf)st^JdTKYi>AntoqD3r*r27
zPM%A?c8%fpe}?Dp84e#~ICiZ1_&J9E{{{a4G5r0X<MDHb>2nzVzv}t_Wa;<+0(<u|
z^iN@EY7zMTU-A4kj+PdN@F<2`_ZZf1Wr#~=IC5<7_Pq?t*D^#!GI)706c-B=7Bjed
zG0d6cb?#hpb~Zz2kKwWEo^wvw=LEdYC0Ac#aQe>>^q;}&J%iIR2FqjBQ_eA1{uhY)
zZ&>}GBj`DU(;NoP{|x{C_gwqG^!<N<puG&1Qy4T`1PuQxCST)lYGKffVvxAU;Ix&&
zFquK(*xtQ+84UmbXIRT%7{#FI#UN2EU|0-d2+Z+HK9}5*&7jz0=+#(#%-!jnu)w*T
z<Z~<x*Eksdb1=MTXE;_}eJnFG^YZ1(|F1LLTB>k1CT5e8(s9w&3knk$e$ATkd&aD@
zMn-3i^t!{9x|JAG7<PqTzEyDTUDG>uhI41moJl*oDrUzF5rO}PCjSLE{&O%q=U|xA
zv;6<kWB(-t{xdV|Wo4KmBG96t_@AHS8WTec3quq;!#y^Jt?UfR`}ZE>WZ28bu$F-_
zih;pPK%kg~p_q-q%iC*CYVtXTQ2+}8#h)yU3=C`xIv@d1o?zgJW#HwI@z}6H$f@Rs
zKv2*If%zH&i{EIPTu3~kQS;45#DineLQM(Nb%H+(l8)JCpPJw^BOpa`DjP@UoS8*u
oq!`(_F4kD4@yzPdKmFy4r9k?^DXG^M9Q2&9l5v>@GZTX~0LXv`Z~y=R

diff --git a/web/root/telnet/Documentation/Source/images/method-index.gif b/web/root/telnet/Documentation/Source/images/method-index.gif
deleted file mode 100644
index a05e7051160fc7b579abde9ea02e0af9d796cb8e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1588
zcmZ?wbhEHbJkOxU@SOnyj2Rfx7#L<UFq~mv_|IU>z+i05V4TKaJd?rr41@81kYt)M
zLs}X`+DwMDGYo0}L273jGt5k5m^qVS<{5^W|3O;M7&DwnV>mOD;mjF^GyfU>Gcf!&
zX851R@P8)5|1%8#|APz$8J%X#Fw>afj4{K1kUhr6#>Q#J#xsqL&lns32U(kDY@C*6
zoHo-q?Tm5Se~>F?8XM0{GoCrqc;*@7ng2nKI%8~nCe8TFOye_WjL-Zx{?B0i-`Mzn
zn(_ac#{bV4|Nox`@{(~H$k8*?K+gIP@&U-Ev^0=eXVQ%SgFKXGoCX3j)6&kQrTqu_
zZ>DkD%(S$bGt*|CNt^i}<lQsIAjvZ`)6SepJM%y7KSSDo<Fx;2Y5!-Y{XdiT|Nl%-
z*cs0Rh0e^GApiddg$>9{X){5NJ~Pw!KPad`7N^Yw8GUAE+J8{Ufuz%Bg20)XGyj7E
z@{BRa+A}j}o;fq~%>SAH8D{=Bp7}p*=Kq;9|DT!p|Nj|KBpIIpMZ?T9pn(1l3UyG}
zrGd19g5y6Z64H#%fV?#G49L;{L2)wE803SQGtYpG{tt?xGsYkff%s?6ocVv|Kf{^-
z#%KPgo%uiW%>OfI{{II>AUOI#t^mg<C_cfF1acHO+(FR`4oZ+4!Jz|+ZLo(yP6qn{
z6!~Y2K|yt9Cdgp0(f|L0V(I^Xke|R-G4S&8N=Zp+XlR(4nmRi>2LuGf#>Qr6XIE5I
zw6(QOo;-Qs!iDSBt=qkO_sNqduU)(L<jIqdA3y%53@H9&VPs&q&Y%Oz37|Z|&hejN
zJ*SMvh6M+kIfS)hP829KwDT%!u_$a@bhKMS-|5VWzz4_L`0dN)NCYiDF;OE}$Y$n*
z)Z>#B5?9$sOj>kwmNECPGdGKtJI+^YTqn}CX_;@QTcwrCsxPyACb_#m>N)x4>E({#
z*>SnQinY(K;+|}D=2WOo&?d`^MOR-=)s0wTc9t(ya%)EPj_mjAN>^P^j$h?=by2AF
z6oWgv5@$-?)BgTCzNJx_zs{=i<D~<w+EM%VY)`*`EJD@$UDcM48Ruu@S1skK(!9Uj
zI6A)0=a)&={uEc`W3rK7vu3Q!-v5p#(ky>rQL}p6jq0+`JGY(Rbwu*6W#TP~sk>wU
z)Rbl1J-0Xizx})Fs*~@oX(wM_BU^R*)$Gga`@QB@)jZtl`n<k($My%?Uz~hCqwM>~
z^x0JxT94n$pOLFNt?Jv{kOzg<q3H^FoJ?Y}O?xzVJjgricq6e%u*)Q|LH6JFz`U<t
zuP^Y?>T<u=t}yHBBX^y395OvOTq9y)%;R1xELwR};z@^7-H*q8YH3rIUESuDFPdWd
zDnh(MGVg~%wq8`^titV2zdxO7GmTTVDLAO}e!;tyE8=GxZPL6qdBaw*)DZtu?$cYn
znLN`b*T=c5Hd_>RJ`d^GW-hj{-R#wi8C_Bw(<TcQ-F%ieY2WnaJ%K?H%NI15aV=jy
z!%J)Kio#QxDs#*4TFOm2{PF+Jn5hlBQe&&?zW$uMc;%`rjdkpS$~nG=_@sk29`kC`
zG2Lam<;~`!RWlUVbnfDMy|y9s<byeDoVwQp-k00GX4B(W&))7l(-pmL^Ft<q+%<Ot
zccm}6yo_U2dE?g8db^Hn<IYX_-!yyO?iXx(*6-tZy?W{Nq`GGd))=VH&OgK&UbAkO
zSo#_LgXiUJ3XVV1dXu(Z#eMs_6Efo6A9o&Ex@6-)w#~aYWxTetN|-M<-=}b=?)N#D
zPiy(_*?gpN(X`Fy-nTvdd`Y)@chLn+^_sN~0rr32Rr#c^Ep_yZ-?P+1A^FeaYbn!h
zCtZ#X>fN?EZTs7@^J$?xw{MqRuf6ObdVB5nd)bwOr@!BC_&lZLL5q0akB1%GWds<k
E0iKpTd;kCd

diff --git a/web/root/telnet/Documentation/Source/images/methods.gif b/web/root/telnet/Documentation/Source/images/methods.gif
deleted file mode 100644
index 949e01b8a33818bf52b2d124a504967d0d75e954..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1403
zcmZ?wbhEHboX()e@SOnyj2Rfx7#L<UFq~mv_|IU>z+i05V4TKaJd?rr41@81kYt)M
zLs}X`+DwMDGYo0}L273jGt5k5m^qVS<{5^W|3O;M7&DwnV>mOD;mjF^GyfU>Gcf!&
zX851R@P8)5|1%8#|APz$8J%X#Fw>afj4{K1kUhr6#>Q#J#xsqL&lns32U(kDY@C*6
zoHo-q?Tm5Se~>F?8XM0{GoCrqc;*@7ng2nKI%8~nCe8TFOye_WjL-Zx{?B0i-`Mzn
zn(_ac#{bV4|Nox`@{(~H$k8*?K+gIP@&U-Ev^0=eXVQ%SgFKXGoCX3j)6&kQrTqu_
zZ>DkD%(S$bGt*|CNt^i}<lQsIAjvZ`)6SepJM%y7KSSDo<Fx;2Y5!-Y{XdiT|Nl%-
z*cs0Rh0e^GApiddg$>9{X){5NJ~Pw!KPad`7N^Yw8GUAE+J8{Ufuz%Bg20)XGyj7E
z@{BRa+A}j}o;fq~%>SAH8D{=Bp7}p*=Kq;9|DT!p|Nj|KBpIIpMZ?T9pn(1l3UyG}
zrGd19g5y6Z64H#%fV?#G49L;{L2)wE803SQGtYpG{tt?xGsYkff%s?6ocVv|Kf{^-
z#%KPgo%uiW%>OfI{{II>AUOI#t^mg<C_cfF1acHO+(FR`4oZ+4!Jz|+ZLo(yP6qn{
z6!~Y2K|yt9Cdgp0(f|L0V(I^Xke|R-G4S&8N=Zp+XlR(4nmRi>2LuGf#>Qr6XIE5I
zw6(QOo;-Qs!iDSBt=qkO_sNqduU)(L<jIqdA3s9$LeeoAq~cE&Mh1rK3_2japgh6O
z@t<Kmr;Nvj2M!Eu!dfvW3KSVyc)9I*JT@*m+Rdk)bmzv0g~z(&6pLg$FD-JPpychv
zllf`Msc!lBG@p|O%g$sgW?n0)G*&u4k0tWgmY+uH-isWB|M_$kuXI|j)w;;#)E9*-
z^McY}>1difzqZU}<*7YYmowZqN$g$qca~^Q=!W>y+e|a2J-M~ptNxmASJ|68Q)`=_
z9ku@Q_}+qc>qE8L7ha#+-*DK<j;qip_H?=+Ti+}R!<5w%?Cot=mKi*|xcuibHr=YV
znKQ~&H@`VEt1M;X^vvCEwij3CUfyjht>!(WJhSU~e*3())x~e099sPR+727DcgI$X
z|9{I>ns?{Yz3FZL%Xi-0mGNfQ#G-KjDjVNNZg-#8^~R-tc(dm2JvaV6o3C7*d{X^x
z!_$u<GWmZv)q{%JpRtFRm-d>+rfg;W9uvdYwS0Qcwxi!}6vzZwJV^TcwQO$ludCCA
znrlVVWx5RBi6)lvW<8B;HMllCx%aXz$HQu=rjBW)GdXuAPp~VJn9*ae#c`w9^^=5h
zrB2t38*x`sRz97kSQxpW%OQw;LH3WWM`NaPJ=>BxEo<G&Wz%90y}UU4%8_MHTmOl=
zC-<{5ZFm-&f6R0F?Bc4Q0&^RLyp|Lh2Yr2<SS0srd3cAI)r+Mw{Ipgq>Xdr*Vrsao
z_==^o;=EqXRY`o6zASfM)bo{kuOc$;teWcO^*pjCcS`2kXPPTT*Y0_yrQ^PM*7meM
zCRZ+<RVVmf=S0nw%MNv%llJq?)*EWpFPx^Py?(p>R+RVKZ4ahpzjJspZ}qyJm)5=3
T+kIt^_WM0wu0@ABFjxZsTq~VN

diff --git a/web/root/telnet/Documentation/Source/images/package-index.gif b/web/root/telnet/Documentation/Source/images/package-index.gif
deleted file mode 100644
index f894d4210d743ad9a4f0736159ef226279508dc1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1607
zcmZ?wbhEHbe8-^5@SOnyj2Rfx7#L<UFq~mv_|IU>z+i05V4TKaJd?rr41@81kYt)M
zLs}X`+DwMDGYo0}L273jGt5k5m^qVS<{5^W|3O;M7&DwnV>mOD;mjF^GyfU>Gcf!&
zX851R@P8)5|1%8#|APz$8J%X#Fw>afj4{K1kUhr6#>Q#J#xsqL&lns32U(kDY@C*6
zoHo-q?Tm5Se~>F?8XM0{GoCrqc;*@7ng2nKI%8~nCe8TFOye_WjL-Zx{?B0i-`Mzn
zn(_ac#{bV4|Nox`@{(~H$k8*?K+gIP@&U-Ev^0=eXVQ%SgFKXGoCX3j)6&kQrTqu_
zZ>DkD%(S$bGt*|CNt^i}<lQsIAjvZ`)6SepJM%y7KSSDo<Fx;2Y5!-Y{XdiT|Nl%-
z*cs0Rh0e^GApiddg$>9{X){5NJ~Pw!KPad`7N^Yw8GUAE+J8{Ufuz%Bg20)XGyj7E
z@{BRa+A}j}o;fq~%>SAH8D{=Bp7}p*=Kq;9|DT!p|Nj|KBpIIpMZ?T9pn(1l3UyG}
zrGd19g5y6Z64H#%fV?#G49L;{L2)wE803SQGtYpG{tt?xGsYkff%s?6ocVv|Kf{^-
z#%KPgo%uiW%>OfI{{II>AUOI#t^mg<C_cfF1acHO+(FR`4oZ+4!Jz|+ZLo(yP6qn{
z6!~Y2K|yt9Cdgp0(f|L0V(I^Xke|R-G4S&8N=Zp+XlR(4nmRi>2LuGf#>Qr6XIE5I
zw6(QOo;-Qs!iDSBt=qkO_sNqduU)(L<jIqdA3s9$LeeoAq~cE&Mh1rK3_2japgh6O
z@t<Kmr;Nvj1qYisgtcNi1Q;0F1eCqzoVcKPv|GYB>&}Udiw?KTI(Mo3C|u$+K`nUI
zlOGo!otiEbeMm;5c-h(6D&CLo%oKilW|mF!G8U~XY8R*L){6D640&;JsYk5TRnF4H
zOG~`xhncRtntZt}c6FSrc4>M<zt-t28}6`Nr){n$Pw{$9c@@1oZ11DJJGQ4gu2El~
zm&+ZI@Ni`itMI$u-wXVAG~WGX`ew(*M+e!Cr=`h!{Ny+@#r}Nk9rG_yCr!L(iLIUa
zHGH1`;YG`0EWc)4pQrnLUz_Nr*C+NwKVG-@_v@UVsLAEAYpcH}KRnwk9ey_QeeBK^
z8}q-({I+m?nziuu|1!P3-zr|+bbKEgZ~H0x*7n8Lef3w&kGy+0b9()bJAW!C9J#th
zuIk>-^0{TVBSU63gor-7U(S5%YIL1dV|YSk|6jKFV*V&q=>)NP>hf_8H`DLtDtJXC
zRi(#nThQfu^tgC>*WMWtb$_mgFYJ7$xI?~1<E;7J=Jtm(6x-h$n$B(({H3y_PWsag
z<r2+9GoBQiOzOBlF(R%qej1ONX43Q?$DM&0envMJ<iFvqd_37vYNujR!am8xQ@u`}
zPz;w}m$7tG@vF9{WyxH>9`~gF@=Tmn+G#E`|M<%t&srPvIG0S*vov2hy+!uK(~9ZO
zPCjXzQYV?YxPIBQ%mv%tstcQLIP||umSN*Huilt#&sMEo^EbCjz2T9jm)7#Rq3v0#
zB!rHvcHX*e%Ih^}Zdtuvm-03%ce8xt>zp;Wy;d(+oanVoeQs%)<;~FZX|Hp)+*wq;
zde@CG@3p(H$K8IrYs)t7{5?C4c}Y)L;yH6c<GNi--bd_uC!N3R!@b=b4)a{sHr)Po
z)9-ah|0ta?*xRO7y=>!!XR|jRx^(Vzj$7W=^h-z7X0OpZDX#vs=$QO_(@n>uyXUN4
zd4%tbR+{9-8iQlb&ttS(f_A>qIkK%xWkbn)Cfmsu_GFzlF_k;iv;N%sU(#1I3#VzB
z`klRXy5w4nx6L<~+;wlaIXN${y|8QdzF6bRvgf^_mzg<L=9YW({nNF`FIa86!$VeX
c-42IqdhdQbcB<t4`D99X-p{A~>{A%50Z8Q!bN~PV

diff --git a/web/root/telnet/Documentation/Source/images/red-ball-small.gif b/web/root/telnet/Documentation/Source/images/red-ball-small.gif
deleted file mode 100644
index f6b3c372ca1e7e70f805981b93c6cd678570e993..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 255
zcmZ?wbhEHbWMg1s_{zYrfB*ht)jj8&vd;;4olCC1#^CgyA?QDY*Lw!1V+@wZs;8V|
zu>3C&_201iKS$7W2B$d;n*V#Q{a^b2zd+Dl2Foc7nk@o`{}q$3aX7UwXhtze++%Rs
z%3zqxAaQK(-n|TlYZ(lq7!<u2B#H$Li$M&5IbO-<l3TJF6nhN47$^pcKUo+-hUkC@
oke?XXWE>g_I20uKI2S4!EsS88&8xncF+^+0Bu|S=In4~#0Kfh|*#H0l

diff --git a/web/root/telnet/Documentation/Source/images/red-ball.gif b/web/root/telnet/Documentation/Source/images/red-ball.gif
deleted file mode 100644
index dca92960148cb3751f9b2de8cf96f26293c15888..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 527
zcmZ?wbhEHb<YC}p_{PBS|Nnmm28Kh24sGAQJuNNm%a<?v_wRrH{CR$UzN~2UoH=vC
z!onCBHrVr5r=+ADI#zw=oYT2;0w>QUU%STe`#;0;_Y8-RF&sNqef%85|NjF2{}}%M
z&++&<!}K`}|6ld|f3o!Ze}TPw8TzL%G_?r){;zoc8b?bDLwFR!t$PgXw=%>fGaNa#
zcl%z3<!c$DA{o5A7>bJp3X2(By%^@q@j7=dIXj!7v&ZmQb<a7c>~jKM=aQ?hF*yBa
z2>Q?9^`61$7=z`p>M7?KEdL8c{Wq-s&k^*T!D$YI=Kr2+|Chf1FA%hs!Ey?NW{ZH~
zf5qf$98N6^no$fA_ZXbEG8iT^NF3X{cQ1qC|NjhY84RNs6ulTEiUkadK@5R8UdiW@
zTe2Axdkno8XbBX5vM@3*urcU>ECIy{1A9&bTT^pOtGR`xrG<H`m9>qHt)0D9vxB3J
zle3Gfy_-Xmg^i25ho`ldw@;I$t&6j-pO>3|z?wkUK*yjh!Q0p@yu3ogw?srng|Inz
myLtOZ2ggLlHpj)s2SnaZXg=i-6%Y^=d#dFb+p|-R4Aubqbg^Cl

diff --git a/web/root/telnet/Documentation/Source/images/variable-index.gif b/web/root/telnet/Documentation/Source/images/variable-index.gif
deleted file mode 100644
index 65cc029e722f8cc8d4663328fe955faab8455982..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1576
zcmZ?wbhEHbJkOxU@SOnyj2Rfx7#L<UFq~mv_|IU>z+i05V4TKaJd?rr41@81kYt)M
zLs}X`+DwMDGYo0}L273jGt5k5m^qVS<{5^W|3O;M7&DwnV>mOD;mjF^GyfU>Gcf!&
zX851R@P8)5|1%8#|APz$8J%X#Fw>afj4{K1kUhr6#>Q#J#xsqL&lns32U(kDY@C*6
zoHo-q?Tm5Se~>F?8XM0{GoCrqc;*@7ng2nKI%8~nCe8TFOye_WjL-Zx{?B0i-`Mzn
zn(_ac#{bV4|Nox`@{(~H$k8*?K+gIP@&U-Ev^0=eXVQ%SgFKXGoCX3j)6&kQrTqu_
zZ>DkD%(S$bGt*|CNt^i}<lQsIAjvZ`)6SepJM%y7KSSDo<Fx;2Y5!-Y{XdiT|Nl%-
z*cs0Rh0e^GApiddg$>9{X){5NJ~Pw!KPad`7N^Yw8GUAE+J8{Ufuz%Bg20)XGyj7E
z@{BRa+A}j}o;fq~%>SAH8D{=Bp7}p*=Kq;9|DT!p|Nj|KBpIIpMZ?T9pn(1l3UyG}
zrGd19g5y6Z64H#%fV?#G49L;{L2)wE803SQGtYpG{tt?xGsYkff%s?6ocVv|Kf{^-
z#%KPgo%uiW%>OfI{{II>AUOI#t^mg<C_cfF1acHO+(FR`4oZ+4!Jz|+ZLo(yP6qn{
z6!~Y2K|yt9Cdgp0(f|L0V(I^Xke|R-G4S&8N=Zp+XlR(4nmRi>2LuGf#>Qr6XIE5I
zw6(QOo;-Qs!iDSBt=qkO_sNqduU)(L<jIqdA3s9$LeeoAq~cE&Mh1rK3_2japgh6O
z@t<Kmr;Nvj1qYisgtcN$1Sm2v@Uq(Vcx+sBv|GYB>&}V72ZuYk?Va9qd{90)StB@(
z<>W;b=ZRXJhk86WFY}r%m2P!JGWf}fc{;gVTUQ7tUu<y?R&zaByyEh7$6hzxol};a
zpA|Yk>+6jv8P}U5t=n=fzdk$Pk$QBQ>+h=%A~t2OG^^RYQTOVO=)1S3?))wlx1^T)
z5--p6M_2dM9DL+c6=9gTH?`Z0?a%fPca9ga{-3KOxWs>6r2YK8e@dS{pIh><uPkQg
zXOClruJfnX-ujxgZY%HfHqBpp>HS_G|4ln#wf+9KE$Qm<J#)&l?`)sTZ+|b^_}PSw
z)8%~g_U<UWdEv10|GL`P-=AJQSUY>(t@8Chm%aSCY5%Uj)~CNeIsN{b-MwwUzOHUf
z6;I!C^V*$^tDe)MlYdCM&nmxqa=LuerJw3@sV^GC7Bp@TbXP16yeWRAPH>ZGWbW6y
z%NKewXsO49Yc6}fpyvPIB@cSF&WX>@lU>9i-=XJZ64}k~mGL;!%J=!gi9SUfcRLKG
zok(tT@XA<P&$sEvjeg5rM;25&uxUP<{HpT$%y9Lv%7>Hu|7}yw3a`4MI&<Gq&F2#@
zxvor}AUg5H^2U;TmJfQ$*LEt;%T`_aVqws!oAX=Mf;u%8<!+l9o0YTe#?thKYb`XV
z<ge45H>poFefjdFvKuK&a;&6QOfoO}FR{%3%9X6uYnASHY3J_x7PWfCgk7&@ty#aU
zQ?v90)2k($*1W8eW7yvHZ1rY--_x(RTnoFcy>@q&_t{CRdQu6CS9E4;&fWJ+>TTug
zx)$B77t&6@-F>_2cHW+?=e*BWh70Xb%*^7lQr!3T*6p>se=F_L-pjMxyWsGZH179@
zIZvAvPWzI$ZNaol&sOVgW7DtEF6;<p*?3s7c=d+kvhsU056q6!Hae_&z31Yt+hTi+
zPHPI6%{cw8Zq4emF3M_#r$j#g(Qf0fzm|J3z<uq6!wS!%^!5g&ul;(~<Nmd`TcX=_
xw`H-2+I+f^v3&0(|4((Rzuhi~o|1c~<oekOYddeQ{eG|JJL}u;4vbeBtN{_~0{#F1

diff --git a/web/root/telnet/Documentation/Source/images/variables.gif b/web/root/telnet/Documentation/Source/images/variables.gif
deleted file mode 100644
index 6e2a42d940e367265e076bba834884a633461d3c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1241
zcmZ?wbhEHb%wbSt_|5<U#taN;3=A_F7|t*-{AVy`U@$gjFivAIp2=W*hQathNHWcs
zAuWv|Z6-t78HTj~Ahk1%8D^$2%$&(E^9;kx{~)brj2X_PF`SvnaOModng0y`85sT>
zGyG3u_&<~3{~3n=|3L<Wj7~FVm}$&##+czh$R1;3W8*Yq<C(_BXN-;igRD(6Hcm@3
zPMc|*cE&jEKgbm`jg4of8PA+)JoAk4%>N)qoiR2(lV*Hortz6G#%KN;|7S4%Z*2TO
z&G`RJ<Ns%j|Nl<|dC52p<mj1cAZPst`2b{7S{lf#Gik>EK^{soP6L6NX=!KD(*A?|
zH`6$6W?I_JnQ1f6q|N*f^6nX9kmQ+}X=l!)o%x^kpCRqPaoYd1wEr{H{+~(v|9>VZ
z?2KoELTBbokpKUK!Up7}w3#4BpP6a=9~4v|i_>O;j6O3n?LR2wK+<V5LEy~Hng2ln
zdBzxI?U|V~&zzZg=Ksw93^V^5&-|Y@^Z(45|If_)|Njgql8n!QqG9G4P(c3&g*qtg
z(m+~4!SNpy32DY>Kwg@82IT1fpg5Un4D!LunP)&o{|80U8Do%#K>Raj&ip^~pW)1Z
z<1_!$&itQw=Kq;9|Nny`5FGs=SAb&_6rbQo0yzpC?x5%e2PMdj;LriZHrT@;CxiU}
ziu^OiprAT46J#*h=>PvgvGo5x$WLIa7<hSkrKF@ZG&D?2O`V;c0|EkKV`H<kvnwhp
z+S=MCPoBJR;lg$6*6rTC`{c=!*REZA^5n_Kk01Y21{8m?FfuS)XV3xV1W=w};P}t5
zo>RtS!-9j&9Ku>LCpIiR+%6!@G(#d#si8~4SZvOTkB<)a$(eFJ>6p0aM5{vZtUDf`
zo^0(?4c}$5!szMoY3hk?S1c!|`p&US|5RhK<+;Obw@#+g9VVJ5mI!p4P05;~71C|A
z+-z-@=)<rk|GjmgH?F4MoE>>kX{lvcPSo<;n{{hD%~TF=4R=5GH8WiI<l6MFkM>%b
z=-l7u9&N_^C+KPHVV`=ht*eTQVov70bepzE;zRuDT*K2(_ssnA@M1Hovfm$(l86%#
ziRtUKqf65!uWP&}xA*ercgOM@AM0@4+<5K5_CRHEzuWqc9__ExuFc+29QEQ_{Cc(B
z)AM7m)vgrUCcb{>_oA0Y2N#F)%k6x5iEHJ_`S%O=)n-k4dz<gpzdavboRciMU#q~Y
z5%0@(&0U~Q=Hm28HRpKQ6)M=mPCRfCi@TA~Bz-IVzW=YkA`g;f(_SdFNlvp^(8XTV
zmehT0qj-Fy<g?P=PN}*dN<9n`Kkk<?&E4_1#_X88La%t$ibWlqvNx4mT-A;)>@JLy
ycskYm8HdtD-(MZ7(|+=1sF=o2yP4XWw(O?x^sH?!pUo~frulqM$t?*125SJbRD16L

diff --git a/web/root/telnet/Documentation/Source/images/yellow-ball-small.gif b/web/root/telnet/Documentation/Source/images/yellow-ball-small.gif
deleted file mode 100644
index 8e5f57cdfcbfbd4ccd3504bdae10cbc9215ef8ca..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 255
zcmZ?wbhEHbWMg1s_{zYrfB*hN$Eweqb2@iU;N-dFYu6Zl|7Upqp5gE@hGWO7kDp`s
z|6kz$AH(1OIUYY}m_CQ$|Er$=PnLfFFR*tnL;n<prWS$U{}s<)<7jDN2#;d8b&p~F
zR))A_h9k%JZr{tWd@Vy%B!ib1LvgV{VKIZN7sH%6UgypwXJ<2X_89*E&p<g){K>)y
sGDQbOfc(V3Cgadhz@e~&ha-_oX=Vt6)LFL4i~$<TL7p0?a+(>e0dEFQiU0rr

diff --git a/web/root/telnet/Documentation/Source/images/yellow-ball.gif b/web/root/telnet/Documentation/Source/images/yellow-ball.gif
deleted file mode 100644
index 2b8c0bb3d6baad5fdb28a878b33c265daeafe9d4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 925
zcmZ?wbhEHb<YC}p_|Cxa|Nnmm28Kh24sGAQJuNNm%a<=R_AlDMfB*C6&-3&185sUA
zTC_-3G<wdQIbmU83=A9W`Kwb>Qlc3cDhjfrg2S~GyA9<x=a(&D_|GuEJ&ECey{d{A
z!~g%9s`-I|J>G#E7jL|N_TkU12QF^ky7kn_Q-uy@nOX{0E?>z_Nsi^`n>Txoqnf4>
zGf!W0!`-`g*Tk70I#zw=oYT2;0w>QUU%STe`#;0;_Y8-RF&sNqef%85|NjEhrcL|*
z$ME-mj>pd#rq5yc|ElNzlcnGP3+&y?&_9LY%$YMyEdsy)E1ti`(bB>Y9>s9$9>e;r
z3~|W}M~>~?zL#P7T85}d1}`s$;$nfqVg^?)hB<S*&Yern&SvQBF+5h?bIvLIoPgK4
z<mzh-PX8H#{xf*JXK*^kV0o;1$~gwh{{m6}4Xgii1U+YPn!}*^zvtTjrSJa>1np(8
zoWh{lB4GGmG5H#YQwxJ;6obS)2B)nIhRF;P$M){s%V7BbKf_uE!zcztF9wNX0mEVt
zLtu_q^10-eYzD<1L$93Va~urs-@SXM@9+QrI>Xm{n=ftYxwTZ`e|^BOhNAzj3}<6v
zHYq7B2-5w3;PkAsMoQgE*?r2P+4>AA4Ds_8I6Sye|NjaD!`bSLcPUffx;1T)lq{HO
zbY@rR<+}^+vNN0u%PxBG<A2rHQxA&M{~y|&nVD&5@?U`CKL^8e4u&~B%l|Ju_FqEa
zKQqH#R)#4e0xcSf|M@wtu`oojF>GaLNM>VL%fJ}Lz~ChyP|U(m%*Np5?KLMg`5ePg
z28usf7#SGY8FWCN0Obh=jw%Lz4jGRP3Oy1=DMuOt3)p&XDzk3vFickHlc_BE@Z#a)
zWBf8q$xmJ~s&oiQId@11YAkl+mvf)M^K+sL=V?{DX-^WIHg}$7Hf-amWNJ+l(F~p=
vbHMQl`$UzHSs@dXQXh!wL`?CxIV*KRkWBCtjhRWVnvR><&uH;-FjxZsA2~jV

diff --git a/web/root/telnet/Documentation/Source/index-all.html b/web/root/telnet/Documentation/Source/index-all.html
deleted file mode 100644
index 7986cb5770..0000000000
--- a/web/root/telnet/Documentation/Source/index-all.html
+++ /dev/null
@@ -1,801 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:31 CEST 1999 -->
-<TITLE>
-: Index
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="index-all.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_K_">K</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> <HR>
-<A NAME="_A_"><!-- --></A><H2>
-<B>A</B></H2>
-<DL>
-<DT><A HREF="display/vt320.html#addNotify()"><B>addNotify()</B></A> - 
-Method in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>Initialize terminal.
-<DT><A HREF="modules/BSXModule.html#addNotify()"><B>addNotify()</B></A> - 
-Method in class modules.<A HREF="modules/BSXModule.html">BSXModule</A>
-<DD>Adds two Buttons to the Panel and instanciates a BSXWindow.
-<DT><A HREF="modules/MudConnector.html#addNotify()"><B>addNotify()</B></A> - 
-Method in class modules.<A HREF="modules/MudConnector.html">MudConnector</A>
-<DD>when newly added try to load the mudlist using the parameter "mudlist"
-<DT><A HREF="modules/ButtonBar.html#addNotify()"><B>addNotify()</B></A> - 
-Method in class modules.<A HREF="modules/ButtonBar.html">ButtonBar</A>
-<DD>create the buttonbar from the parameter list.
-<DT><A HREF="telnet.html#address"><B>address</B></A> - 
-Variable in class <A HREF="telnet.html">telnet</A>
-<DD>The host address to connect to.
-<DT><A HREF="appWrapper.html#appletResize(int, int)"><B>appletResize(int, int)</B></A> - 
-Method in class <A HREF="appWrapper.html">appWrapper</A>
-<DD>This method is called when the applet want's to be resized.
-<DT><A HREF="appWrapper.html"><B>appWrapper</B></A> - class <A HREF="appWrapper.html">appWrapper</A>.<DD>The appWrapper is thought to make the applet itself independent from
- the original context.<DT><A HREF="appWrapper.html#appWrapper()"><B>appWrapper()</B></A> - 
-Constructor for class <A HREF="appWrapper.html">appWrapper</A>
-<DD>&nbsp;
-<DT><A HREF="socket/TelnetWrapper.html#available()"><B>available()</B></A> - 
-Method in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Returns bytes available to be read.
-<DT><A HREF="socket/TelnetIO.html#available()"><B>available()</B></A> - 
-Method in class socket.<A HREF="socket/TelnetIO.html">TelnetIO</A>
-<DD>Returns bytes available to be read.
-</DL>
-<HR>
-<A NAME="_B_"><!-- --></A><H2>
-<B>B</B></H2>
-<DL>
-<DT><A HREF="display/CharDisplay.html#BOLD"><B>BOLD</B></A> - 
-Static variable in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Make character bold.
-<DT><A HREF="modules/BSXModule.html"><B>BSXModule</B></A> - class modules.<A HREF="modules/BSXModule.html">BSXModule</A>.<DD>The ultimate BSX module implements most of the common used
- BSX controll sequences.<DT><A HREF="modules/BSXModule.html#BSXModule()"><B>BSXModule()</B></A> - 
-Constructor for class modules.<A HREF="modules/BSXModule.html">BSXModule</A>
-<DD>&nbsp;
-<DT><A HREF="modules/ButtonBar.html"><B>ButtonBar</B></A> - class modules.<A HREF="modules/ButtonBar.html">ButtonBar</A>.<DD>This class implements a programmable button bar.<DT><A HREF="modules/ButtonBar.html#ButtonBar()"><B>ButtonBar()</B></A> - 
-Constructor for class modules.<A HREF="modules/ButtonBar.html">ButtonBar</A>
-<DD>&nbsp;
-</DL>
-<HR>
-<A NAME="_C_"><!-- --></A><H2>
-<B>C</B></H2>
-<DL>
-<DT><A HREF="display/CharDisplay.html"><B>CharDisplay</B></A> - class display.<A HREF="display/CharDisplay.html">CharDisplay</A>.<DD>A simple character display.<DT><A HREF="display/CharDisplay.html#CharDisplay()"><B>CharDisplay()</B></A> - 
-Constructor for class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Create a character display with size 80x24 and Font "Courier", size 12.
-<DT><A HREF="display/CharDisplay.html#CharDisplay(int, int)"><B>CharDisplay(int, int)</B></A> - 
-Constructor for class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Create a character display with specific size, Font is "Courier", size 12.
-<DT><A HREF="display/CharDisplay.html#CharDisplay(int, int, java.lang.String, int)"><B>CharDisplay(int, int, String, int)</B></A> - 
-Constructor for class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Create a character display with specific size, font and font size.
-<DT><A HREF="display/CharDisplay.html#CharDisplay(java.lang.String, int)"><B>CharDisplay(String, int)</B></A> - 
-Constructor for class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Create a character display with 80x24 and specific font and font size.
-<DT><A HREF="CharDisplayTest.html"><B>CharDisplayTest</B></A> - class <A HREF="CharDisplayTest.html">CharDisplayTest</A>.<DD>CharDisplayTest -- a test applet to show the display/CharDisplay features
- --<DT><A HREF="CharDisplayTest.html#CharDisplayTest()"><B>CharDisplayTest()</B></A> - 
-Constructor for class <A HREF="CharDisplayTest.html">CharDisplayTest</A>
-<DD>&nbsp;
-<DT><A HREF="modules/BSXModule.html#clientVersion"><B>clientVersion</B></A> - 
-Variable in class modules.<A HREF="modules/BSXModule.html">BSXModule</A>
-<DD>Client Version
-<DT><A HREF="telnet.html#connect()"><B>connect()</B></A> - 
-Method in class <A HREF="telnet.html">telnet</A>
-<DD>Connect to the specified host and port but don't break existing 
- connections.
-<DT><A HREF="telnet.html#connect(java.lang.String)"><B>connect(String)</B></A> - 
-Method in class <A HREF="telnet.html">telnet</A>
-<DD>Connect to the specified host and port but don't break existing 
- connections.
-<DT><A HREF="socket/TelnetIO.html#connect(java.lang.String)"><B>connect(String)</B></A> - 
-Method in class socket.<A HREF="socket/TelnetIO.html">TelnetIO</A>
-<DD>Connect to the remote host at the default telnet port (23).
-<DT><A HREF="telnet.html#connect(java.lang.String, int)"><B>connect(String, int)</B></A> - 
-Method in class <A HREF="telnet.html">telnet</A>
-<DD>Connect to the specified host and port but don't break existing 
- connections.
-<DT><A HREF="socket/TelnetIO.html#connect(java.lang.String, int)"><B>connect(String, int)</B></A> - 
-Method in class socket.<A HREF="socket/TelnetIO.html">TelnetIO</A>
-<DD>Connect to the remote host at the specified port.
-<DT><A HREF="modules/BSXModule.html#connect(java.lang.String, int)"><B>connect(String, int)</B></A> - 
-Method in class modules.<A HREF="modules/BSXModule.html">BSXModule</A>
-<DD>do nothing
-<DT><A HREF="modules/Module.html#connect(java.lang.String, int)"><B>connect(String, int)</B></A> - 
-Method in interface modules.<A HREF="modules/Module.html">Module</A>
-<DD>Connected to the remote host.
-<DT><A HREF="modules/TextLabel.html#connect(java.lang.String, int)"><B>connect(String, int)</B></A> - 
-Method in class modules.<A HREF="modules/TextLabel.html">TextLabel</A>
-<DD>Do nothing upon connect.
-<DT><A HREF="modules/MudConnector.html#connect(java.lang.String, int)"><B>connect(String, int)</B></A> - 
-Method in class modules.<A HREF="modules/MudConnector.html">MudConnector</A>
-<DD>dummy methods
-<DT><A HREF="modules/Script.html#connect(java.lang.String, int)"><B>connect(String, int)</B></A> - 
-Method in class modules.<A HREF="modules/Script.html">Script</A>
-<DD>Configure the script module by reading the script PARAMeter.
-<DT><A HREF="modules/ButtonBar.html#connect(java.lang.String, int)"><B>connect(String, int)</B></A> - 
-Method in class modules.<A HREF="modules/ButtonBar.html">ButtonBar</A>
-<DD>If the applet connects this method is called.
-</DL>
-<HR>
-<A NAME="_D_"><!-- --></A><H2>
-<B>D</B></H2>
-<DL>
-<DT><A HREF="display/CharDisplay.html#debug"><B>debug</B></A> - 
-Static variable in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Enable debug messages.
-<DT><A HREF="socket/TelnetWrapper.html#debug"><B>debug</B></A> - 
-Variable in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Set to true for System.out.println debugging.
-<DT><A HREF="display/CharDisplay.html#deleteArea(int, int, int, int)"><B>deleteArea(int, int, int, int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Delete a rectangular portion of the screen.
-<DT><A HREF="display/CharDisplay.html#deleteChar(int, int)"><B>deleteChar(int, int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Delete a character at a given position on the screen.
-<DT><A HREF="display/CharDisplay.html#deleteLine(int)"><B>deleteLine(int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Delete a line at a specific position.
-<DT><A HREF="telnet.html#disconnect()"><B>disconnect()</B></A> - 
-Method in class <A HREF="telnet.html">telnet</A>
-<DD>Disconnect from the remote host.
-<DT><A HREF="socket/TelnetWrapper.html#disconnect()"><B>disconnect()</B></A> - 
-Method in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Ends the telnet connection.
-<DT><A HREF="socket/TelnetIO.html#disconnect()"><B>disconnect()</B></A> - 
-Method in class socket.<A HREF="socket/TelnetIO.html">TelnetIO</A>
-<DD>Disconnect from remote host.
-<DT><A HREF="modules/BSXModule.html#disconnect()"><B>disconnect()</B></A> - 
-Method in class modules.<A HREF="modules/BSXModule.html">BSXModule</A>
-<DD>do nothing
-<DT><A HREF="modules/Module.html#disconnect()"><B>disconnect()</B></A> - 
-Method in interface modules.<A HREF="modules/Module.html">Module</A>
-<DD>Disconnect from the host.
-<DT><A HREF="modules/TextLabel.html#disconnect()"><B>disconnect()</B></A> - 
-Method in class modules.<A HREF="modules/TextLabel.html">TextLabel</A>
-<DD>Do nothing upon disconnecton.
-<DT><A HREF="modules/MudConnector.html#disconnect()"><B>disconnect()</B></A> - 
-Method in class modules.<A HREF="modules/MudConnector.html">MudConnector</A>
-<DD>&nbsp;
-<DT><A HREF="modules/Script.html#disconnect()"><B>disconnect()</B></A> - 
-Method in class modules.<A HREF="modules/Script.html">Script</A>
-<DD>Get notified of disconnection.
-<DT><A HREF="modules/ButtonBar.html#disconnect()"><B>disconnect()</B></A> - 
-Method in class modules.<A HREF="modules/ButtonBar.html">ButtonBar</A>
-<DD>Get notified of disconnection.
-<DT><A HREF="display/package-summary.html">display</A> - package display<DD>&nbsp;<DT><A HREF="display/SoftFont.html#drawChar(java.awt.Graphics, char, int, int, int, int)"><B>drawChar(Graphics, char, int, int, int, int)</B></A> - 
-Method in class display.<A HREF="display/SoftFont.html">SoftFont</A>
-<DD>&nbsp;
-</DL>
-<HR>
-<A NAME="_E_"><!-- --></A><H2>
-<B>E</B></H2>
-<DL>
-<DT><A HREF="telnet.html#emulation"><B>emulation</B></A> - 
-Variable in class <A HREF="telnet.html">telnet</A>
-<DD>Emulation type (default is vt320).
-</DL>
-<HR>
-<A NAME="_F_"><!-- --></A><H2>
-<B>F</B></H2>
-<DL>
-<DT><A HREF="socket/TelnetWrapper.html#finalize()"><B>finalize()</B></A> - 
-Method in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Ends the telnet connection.
-</DL>
-<HR>
-<A NAME="_G_"><!-- --></A><H2>
-<B>G</B></H2>
-<DL>
-<DT><A HREF="telnet.html#getAppletInfo()"><B>getAppletInfo()</B></A> - 
-Method in class <A HREF="telnet.html">telnet</A>
-<DD>Retrieve the current version of the applet.
-<DT><A HREF="appWrapper.html#getAppletInfo()"><B>getAppletInfo()</B></A> - 
-Method in class <A HREF="appWrapper.html">appWrapper</A>
-<DD>Give information about the applet.
-<DT><A HREF="display/CharDisplay.html#getAttributes(int, int)"><B>getAttributes(int, int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Get the attributes for the specified position.
-<DT><A HREF="display/CharDisplay.html#getBottomMargin()"><B>getBottomMargin()</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Get the bottom scroll margin.
-<DT><A HREF="display/CharDisplay.html#getBufferSize()"><B>getBufferSize()</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Retrieve current scrollback buffer size.
-<DT><A HREF="display/CharDisplay.html#getChar(int, int)"><B>getChar(int, int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Get the character at the specified position.
-<DT><A HREF="display/CharDisplay.html#getColumns()"><B>getColumns()</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Get amount of columns on the screen.
-<DT><A HREF="display/CharDisplay.html#getCursorPos()"><B>getCursorPos()</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Get the current cursor position.
-<DT><A HREF="display/CharDisplay.html#getMaxBufferSize()"><B>getMaxBufferSize()</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Retrieve maximum buffer Size.
-<DT><A HREF="telnet.html#getParameter(java.lang.String)"><B>getParameter(String)</B></A> - 
-Method in class <A HREF="telnet.html">telnet</A>
-<DD>We override the Applet method getParameter() to be able to handle 
- parameters even as application.
-<DT><A HREF="telnet.html#getParameterInfo()"><B>getParameterInfo()</B></A> - 
-Method in class <A HREF="telnet.html">telnet</A>
-<DD>Retrieve parameter tag information.
-<DT><A HREF="appWrapper.html#getParameterInfo()"><B>getParameterInfo()</B></A> - 
-Method in class <A HREF="appWrapper.html">appWrapper</A>
-<DD>Give information about the appWrapper and the applet loaded.
-<DT><A HREF="display/Terminal.html#getParameterInfo()"><B>getParameterInfo()</B></A> - 
-Method in class display.<A HREF="display/Terminal.html">Terminal</A>
-<DD>Get the specific parameter info for the emulation.
-<DT><A HREF="display/vt320.html#getParameterInfo()"><B>getParameterInfo()</B></A> - 
-Method in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>&nbsp;
-<DT><A HREF="display/CharDisplay.html#getRows()"><B>getRows()</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Get amount of rows on the screen.
-<DT><A HREF="display/Terminal.html#getSize()"><B>getSize()</B></A> - 
-Method in class display.<A HREF="display/Terminal.html">Terminal</A>
-<DD>Return the current size of the terminal in characters.
-<DT><A HREF="display/vt320.html#getSize()"><B>getSize()</B></A> - 
-Method in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>&nbsp;
-<DT><A HREF="display/Terminal.html#getTerminalType()"><B>getTerminalType()</B></A> - 
-Method in class display.<A HREF="display/Terminal.html">Terminal</A>
-<DD>Return actual terminal type identifier.
-<DT><A HREF="display/vt320.html#getTerminalType()"><B>getTerminalType()</B></A> - 
-Method in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>&nbsp;
-<DT><A HREF="display/CharDisplay.html#getTopMargin()"><B>getTopMargin()</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Get the top scroll margin.
-<DT><A HREF="display/CharDisplay.html#getWindowBase()"><B>getWindowBase()</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Get the current window base.
-</DL>
-<HR>
-<A NAME="_H_"><!-- --></A><H2>
-<B>H</B></H2>
-<DL>
-<DT><A HREF="appWrapper.html#handleEvent(java.awt.Event)"><B>handleEvent(Event)</B></A> - 
-Method in class <A HREF="appWrapper.html">appWrapper</A>
-<DD>Handle button events.
-<DT><A HREF="CharDisplayTest.html#handleEvent(java.awt.Event)"><B>handleEvent(Event)</B></A> - 
-Method in class <A HREF="CharDisplayTest.html">CharDisplayTest</A>
-<DD>&nbsp;
-<DT><A HREF="display/CharDisplay.html#handleEvent(java.awt.Event)"><B>handleEvent(Event)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Handle mouse events for copy & paste
-<DT><A HREF="display/vt320.html#handleEvent(java.awt.Event)"><B>handleEvent(Event)</B></A> - 
-Method in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>Handle events for the terminal.
-<DT><A HREF="modules/BSXModule.html#handleEvent(java.awt.Event)"><B>handleEvent(Event)</B></A> - 
-Method in class modules.<A HREF="modules/BSXModule.html">BSXModule</A>
-<DD>Java 1.0 eventhandling routines.
-<DT><A HREF="modules/MudConnector.html#handleEvent(java.awt.Event)"><B>handleEvent(Event)</B></A> - 
-Method in class modules.<A HREF="modules/MudConnector.html">MudConnector</A>
-<DD>handle list selection, connect, disconnect and refresh button
-<DT><A HREF="modules/ButtonBar.html#handleEvent(java.awt.Event)"><B>handleEvent(Event)</B></A> - 
-Method in class modules.<A HREF="modules/ButtonBar.html">ButtonBar</A>
-<DD>&nbsp;
-</DL>
-<HR>
-<A NAME="_I_"><!-- --></A><H2>
-<B>I</B></H2>
-<DL>
-<DT><A HREF="telnet.html#init()"><B>init()</B></A> - 
-Method in class <A HREF="telnet.html">telnet</A>
-<DD>Initialize applet.
-<DT><A HREF="appWrapper.html#init()"><B>init()</B></A> - 
-Method in class <A HREF="appWrapper.html">appWrapper</A>
-<DD>Applet initialization.
-<DT><A HREF="CharDisplayTest.html#init()"><B>init()</B></A> - 
-Method in class <A HREF="CharDisplayTest.html">CharDisplayTest</A>
-<DD>&nbsp;
-<DT><A HREF="display/vt320.html#INSERT"><B>INSERT</B></A> - 
-Static variable in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>The Insert key.
-<DT><A HREF="display/CharDisplay.html#insertChar(int, int, char, int)"><B>insertChar(int, int, char, int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Insert a character at a specific position on the screen.
-<DT><A HREF="display/CharDisplay.html#insertLine(int)"><B>insertLine(int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Insert a blank line at a specific position.
-<DT><A HREF="display/CharDisplay.html#insertLine(int, boolean)"><B>insertLine(int, boolean)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Insert a blank line at a specific position.
-<DT><A HREF="display/CharDisplay.html#insertLine(int, int)"><B>insertLine(int, int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Insert blank lines at a specific position.
-<DT><A HREF="display/CharDisplay.html#insertLine(int, int, boolean)"><B>insertLine(int, int, boolean)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Insert blank lines at a specific position.
-<DT><A HREF="display/CharDisplay.html#insets()"><B>insets()</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>The insets of the character display define the border.
-<DT><A HREF="display/SoftFont.html#inSoftFont(char)"><B>inSoftFont(char)</B></A> - 
-Method in class display.<A HREF="display/SoftFont.html">SoftFont</A>
-<DD>&nbsp;
-<DT><A HREF="display/CharDisplay.html#INVERT"><B>INVERT</B></A> - 
-Static variable in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Invert character.
-</DL>
-<HR>
-<A NAME="_K_"><!-- --></A><H2>
-<B>K</B></H2>
-<DL>
-<DT><A HREF="display/vt320.html#KEYCAPS_LOCK"><B>KEYCAPS_LOCK</B></A> - 
-Static variable in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>&nbsp;
-<DT><A HREF="display/vt320.html#KEYINSERT"><B>KEYINSERT</B></A> - 
-Static variable in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>&nbsp;
-<DT><A HREF="display/vt320.html#KEYNUM_LOCK"><B>KEYNUM_LOCK</B></A> - 
-Static variable in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>&nbsp;
-<DT><A HREF="display/vt320.html#KEYPAUSE"><B>KEYPAUSE</B></A> - 
-Static variable in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>&nbsp;
-<DT><A HREF="display/vt320.html#KEYPRINT_SCREEN"><B>KEYPRINT_SCREEN</B></A> - 
-Static variable in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>&nbsp;
-<DT><A HREF="display/vt320.html#KEYSCROLL_LOCK"><B>KEYSCROLL_LOCK</B></A> - 
-Static variable in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>&nbsp;
-</DL>
-<HR>
-<A NAME="_L_"><!-- --></A><H2>
-<B>L</B></H2>
-<DL>
-<DT><A HREF="socket/TelnetWrapper.html#login(java.lang.String, java.lang.String)"><B>login(String, String)</B></A> - 
-Method in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Logs in as a particular user and password.
-</DL>
-<HR>
-<A NAME="_M_"><!-- --></A><H2>
-<B>M</B></H2>
-<DL>
-<DT><A HREF="telnet.html#main(java.lang.String[])"><B>main(String[])</B></A> - 
-Static method in class <A HREF="telnet.html">telnet</A>
-<DD>The main function is called on startup of the application.
-<DT><A HREF="proxy.html#main(java.lang.String[])"><B>main(String[])</B></A> - 
-Static method in class <A HREF="proxy.html">proxy</A>
-<DD>This method is called when the application is run on the commandline.
-<DT><A HREF="socket/TelnetWrapper.html#main(java.lang.String[])"><B>main(String[])</B></A> - 
-Static method in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Telnet test driver.
-<DT><A HREF="modules/BSXModule.html#main(java.lang.String[])"><B>main(String[])</B></A> - 
-Static method in class modules.<A HREF="modules/BSXModule.html">BSXModule</A>
-<DD>a main for test-purposes
-<DT><A HREF="display/vt320.html#map_cp850_unicode(char)"><B>map_cp850_unicode(char)</B></A> - 
-Method in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>&nbsp;
-<DT><A HREF="display/CharDisplay.html#markLine(int, int)"><B>markLine(int, int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Mark lines to be updated with redraw().
-<DT><A HREF="modules/Module.html"><B>Module</B></A> - interface modules.<A HREF="modules/Module.html">Module</A>.<DD>Modules must implement this interface to be detected as valid modules<DT><A HREF="modules/package-summary.html">modules</A> - package modules<DD>&nbsp;<DT><A HREF="telnet.html#modules"><B>modules</B></A> - 
-Variable in class <A HREF="telnet.html">telnet</A>
-<DD>Dynamically loaded modules are stored here.
-<DT><A HREF="modules/MudConnector.html"><B>MudConnector</B></A> - class modules.<A HREF="modules/MudConnector.html">MudConnector</A>.<DD>A specially designed module for the 
- <A HREF="http://www.mudconnect.com/">MUD Connector</A>.<DT><A HREF="modules/MudConnector.html#MudConnector()"><B>MudConnector()</B></A> - 
-Constructor for class modules.<A HREF="modules/MudConnector.html">MudConnector</A>
-<DD>&nbsp;
-</DL>
-<HR>
-<A NAME="_N_"><!-- --></A><H2>
-<B>N</B></H2>
-<DL>
-<DT><A HREF="display/CharDisplay.html#NORMAL"><B>NORMAL</B></A> - 
-Static variable in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Make character normal.
-<DT><A HREF="display/CharDisplay.html#notbold(java.awt.Color)"><B>notbold(Color)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>&nbsp;
-<DT><A HREF="telnet.html#notifyStatus(java.util.Vector)"><B>notifyStatus(Vector)</B></A> - 
-Method in class <A HREF="telnet.html">telnet</A>
-<DD>This method is called when telnet needs to be notified of status changes.
-<DT><A HREF="socket/TelnetIO.html#notifyStatus(java.util.Vector)"><B>notifyStatus(Vector)</B></A> - 
-Method in class socket.<A HREF="socket/TelnetIO.html">TelnetIO</A>
-<DD>Notify about current telnet status.
-<DT><A HREF="socket/StatusPeer.html#notifyStatus(java.util.Vector)"><B>notifyStatus(Vector)</B></A> - 
-Method in interface socket.<A HREF="socket/StatusPeer.html">StatusPeer</A>
-<DD>This method is called for the peer of the TelnetIO class if there is
- a statuschange.
-</DL>
-<HR>
-<A NAME="_P_"><!-- --></A><H2>
-<B>P</B></H2>
-<DL>
-<DT><A HREF="appWrapper.html#paint(java.awt.Graphics)"><B>paint(Graphics)</B></A> - 
-Method in class <A HREF="appWrapper.html">appWrapper</A>
-<DD>Write a message to the applet area.
-<DT><A HREF="display/CharDisplay.html#paint(java.awt.Graphics)"><B>paint(Graphics)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Paint the current screen.
-<DT><A HREF="telnet.html#params"><B>params</B></A> - 
-Variable in class <A HREF="telnet.html">telnet</A>
-<DD>This Hashtable contains information retrievable by getParameter() in case
- the program is run as an application and the AppletStub is missing.
-<DT><A HREF="telnet.html#port"><B>port</B></A> - 
-Variable in class <A HREF="telnet.html">telnet</A>
-<DD>The port number (default ist 23).
-<DT><A HREF="display/CharDisplay.html#preferredSize()"><B>preferredSize()</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Return the preferred Size of the character display.
-<DT><A HREF="proxy.html"><B>proxy</B></A> - class <A HREF="proxy.html">proxy</A>.<DD>proxy class -- implements a proxy server to redirect network access<DT><A HREF="telnet.html#proxy"><B>proxy</B></A> - 
-Variable in class <A HREF="telnet.html">telnet</A>
-<DD>The proxy ip address.
-<DT><A HREF="proxy.html#proxy(int, java.lang.String, int)"><B>proxy(int, String, int)</B></A> - 
-Constructor for class <A HREF="proxy.html">proxy</A>
-<DD>Create a server socket and start listening on the local port.
-<DT><A HREF="telnet.html#proxyport"><B>proxyport</B></A> - 
-Variable in class <A HREF="telnet.html">telnet</A>
-<DD>The proxy port number.
-<DT><A HREF="display/Terminal.html#putChar(char)"><B>putChar(char)</B></A> - 
-Method in class display.<A HREF="display/Terminal.html">Terminal</A>
-<DD>Put a character on the screen.
-<DT><A HREF="display/vt320.html#putChar(char)"><B>putChar(char)</B></A> - 
-Method in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>&nbsp;
-<DT><A HREF="display/vt320.html#putChar(char, boolean)"><B>putChar(char, boolean)</B></A> - 
-Method in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>&nbsp;
-<DT><A HREF="display/CharDisplay.html#putChar(int, int, char)"><B>putChar(int, int, char)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Put a character on the screen with normal font and outline.
-<DT><A HREF="display/CharDisplay.html#putChar(int, int, char, int)"><B>putChar(int, int, char, int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Put a character on the screen with specific font and outline.
-<DT><A HREF="display/CharDisplay.html#putString(int, int, java.lang.String)"><B>putString(int, int, String)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Put a String at a specific position.
-<DT><A HREF="display/CharDisplay.html#putString(int, int, java.lang.String, int)"><B>putString(int, int, String, int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Put a String at a specific position giving all characters the same
- attributes.
-<DT><A HREF="display/Terminal.html#putString(java.lang.String)"><B>putString(String)</B></A> - 
-Method in class display.<A HREF="display/Terminal.html">Terminal</A>
-<DD>Put a character on the screen.
-<DT><A HREF="display/vt320.html#putString(java.lang.String)"><B>putString(String)</B></A> - 
-Method in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>Put String at current cursor position.
-</DL>
-<HR>
-<A NAME="_R_"><!-- --></A><H2>
-<B>R</B></H2>
-<DL>
-<DT><A HREF="socket/TelnetWrapper.html#receive()"><B>receive()</B></A> - 
-Method in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Returns a String from the telnet connection.
-<DT><A HREF="socket/TelnetIO.html#receive()"><B>receive()</B></A> - 
-Method in class socket.<A HREF="socket/TelnetIO.html">TelnetIO</A>
-<DD>Read data from the remote host.
-<DT><A HREF="modules/BSXModule.html#receive(java.lang.String)"><B>receive(String)</B></A> - 
-Method in class modules.<A HREF="modules/BSXModule.html">BSXModule</A>
-<DD>This method is called by the telnet, so that we can parse the String.
-<DT><A HREF="modules/Module.html#receive(java.lang.String)"><B>receive(String)</B></A> - 
-Method in interface modules.<A HREF="modules/Module.html">Module</A>
-<DD>Receive data from somewhere.
-<DT><A HREF="modules/TextLabel.html#receive(java.lang.String)"><B>receive(String)</B></A> - 
-Method in class modules.<A HREF="modules/TextLabel.html">TextLabel</A>
-<DD>Do nothing when receiving text.
-<DT><A HREF="modules/MudConnector.html#receive(java.lang.String)"><B>receive(String)</B></A> - 
-Method in class modules.<A HREF="modules/MudConnector.html">MudConnector</A>
-<DD>&nbsp;
-<DT><A HREF="modules/Script.html#receive(java.lang.String)"><B>receive(String)</B></A> - 
-Method in class modules.<A HREF="modules/Script.html">Script</A>
-<DD>This method is called when data is received.
-<DT><A HREF="modules/ButtonBar.html#receive(java.lang.String)"><B>receive(String)</B></A> - 
-Method in class modules.<A HREF="modules/ButtonBar.html">ButtonBar</A>
-<DD>This module does not take any input.
-<DT><A HREF="socket/TelnetWrapper.html#receiveBytes()"><B>receiveBytes()</B></A> - 
-Method in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Returns a byte array.
-<DT><A HREF="socket/TelnetWrapper.html#receiveUntil(java.lang.String)"><B>receiveUntil(String)</B></A> - 
-Method in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Returns all data received up until a certain token.
-<DT><A HREF="socket/TelnetWrapper.html#receiveUntil(java.lang.String, long)"><B>receiveUntil(String, long)</B></A> - 
-Method in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Returns all data received up until a certain token.
-<DT><A HREF="display/CharDisplay.html#redraw()"><B>redraw()</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Redraw marked lines.
-<DT><A HREF="appWrapper.html#reshape(int, int, int, int)"><B>reshape(int, int, int, int)</B></A> - 
-Method in class <A HREF="appWrapper.html">appWrapper</A>
-<DD>reshape the applet and ourself
-<DT><A HREF="display/CharDisplay.html#reshape(int, int, int, int)"><B>reshape(int, int, int, int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Reshape character display according to resize strategy.
-<DT><A HREF="display/CharDisplay.html#RESIZE_FONT"><B>RESIZE_FONT</B></A> - 
-Static variable in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Resize the font to the new screensize.
-<DT><A HREF="display/CharDisplay.html#RESIZE_NONE"><B>RESIZE_NONE</B></A> - 
-Static variable in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Do nothing when the container is resized.
-<DT><A HREF="display/CharDisplay.html#RESIZE_SCREEN"><B>RESIZE_SCREEN</B></A> - 
-Static variable in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Resize the width and height of the characterscreen.
-<DT><A HREF="telnet.html#run()"><B>run()</B></A> - 
-Method in class <A HREF="telnet.html">telnet</A>
-<DD>Try to read data from the sockets and put it on the terminal.
-<DT><A HREF="appWrapper.html#run()"><B>run()</B></A> - 
-Method in class <A HREF="appWrapper.html">appWrapper</A>
-<DD>Load the applet finally.
-<DT><A HREF="proxy.html#run()"><B>run()</B></A> - 
-Method in class <A HREF="proxy.html">proxy</A>
-<DD>Cycle around until an error occurs and wait for incoming connections.
-<DT><A HREF="modules/MudConnector.html#run()"><B>run()</B></A> - 
-Method in class modules.<A HREF="modules/MudConnector.html">MudConnector</A>
-<DD>The body of the thread opens a URLConnection with the address given as
- parameter "mudlist" and downloads it.
-</DL>
-<HR>
-<A NAME="_S_"><!-- --></A><H2>
-<B>S</B></H2>
-<DL>
-<DT><A HREF="modules/Script.html"><B>Script</B></A> - class modules.<A HREF="modules/Script.html">Script</A>.<DD>A very simple scripting module.<DT><A HREF="modules/Script.html#Script()"><B>Script()</B></A> - 
-Constructor for class modules.<A HREF="modules/Script.html">Script</A>
-<DD>&nbsp;
-<DT><A HREF="display/CharDisplay.html#SCROLL_DOWN"><B>SCROLL_DOWN</B></A> - 
-Static variable in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Scroll down when inserting a line.
-<DT><A HREF="display/CharDisplay.html#SCROLL_UP"><B>SCROLL_UP</B></A> - 
-Static variable in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Scroll up when inserting a line.
-<DT><A HREF="socket/TelnetIO.html#send(byte)"><B>send(byte)</B></A> - 
-Method in class socket.<A HREF="socket/TelnetIO.html">TelnetIO</A>
-<DD>&nbsp;
-<DT><A HREF="socket/TelnetWrapper.html#send(byte[])"><B>send(byte[])</B></A> - 
-Method in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Sends bytes over the telnet connection.
-<DT><A HREF="socket/TelnetIO.html#send(byte[])"><B>send(byte[])</B></A> - 
-Method in class socket.<A HREF="socket/TelnetIO.html">TelnetIO</A>
-<DD>Send data to the remote host.
-<DT><A HREF="telnet.html#send(java.lang.String)"><B>send(String)</B></A> - 
-Method in class <A HREF="telnet.html">telnet</A>
-<DD>Send a String to the remote host.
-<DT><A HREF="display/TerminalHost.html#send(java.lang.String)"><B>send(String)</B></A> - 
-Method in interface display.<A HREF="display/TerminalHost.html">TerminalHost</A>
-<DD>Send a string to the host and return if it was received successfully.
-<DT><A HREF="display/vt320.html#send(java.lang.String)"><B>send(String)</B></A> - 
-Method in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>Dummy method to handle input events (String).
-<DT><A HREF="socket/TelnetWrapper.html#send(java.lang.String)"><B>send(String)</B></A> - 
-Method in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Sends a String to the remote host.
-<DT><A HREF="socket/TelnetWrapper.html#sendLine(java.lang.String)"><B>sendLine(String)</B></A> - 
-Method in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Sends a line to the remote host, returns all data before the prompt.
-<DT><A HREF="display/CharDisplay.html#setBorder(int, boolean)"><B>setBorder(int, boolean)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Set the border thickness and the border type.
-<DT><A HREF="display/CharDisplay.html#setBottomMargin(int)"><B>setBottomMargin(int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Set the bottom scroll margin for the screen.
-<DT><A HREF="display/CharDisplay.html#setBufferSize(int)"><B>setBufferSize(int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Set scrollback buffer size.
-<DT><A HREF="display/CharDisplay.html#setCursorPos(int, int)"><B>setCursorPos(int, int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Puts the cursor at the specified position.
-<DT><A HREF="socket/TelnetWrapper.html#setDefaultPrompt(java.lang.String)"><B>setDefaultPrompt(String)</B></A> - 
-Static method in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Sets the default prompt used by all TelnetWrappers.
-<DT><A HREF="modules/BSXModule.html#setLoader(java.lang.Object)"><B>setLoader(Object)</B></A> - 
-Method in class modules.<A HREF="modules/BSXModule.html">BSXModule</A>
-<DD>register o as our parent
-<DT><A HREF="modules/Module.html#setLoader(java.lang.Object)"><B>setLoader(Object)</B></A> - 
-Method in interface modules.<A HREF="modules/Module.html">Module</A>
-<DD>Set the loader of the module.
-<DT><A HREF="modules/TextLabel.html#setLoader(java.lang.Object)"><B>setLoader(Object)</B></A> - 
-Method in class modules.<A HREF="modules/TextLabel.html">TextLabel</A>
-<DD>Set the applet as module loader and configure.
-<DT><A HREF="modules/MudConnector.html#setLoader(java.lang.Object)"><B>setLoader(Object)</B></A> - 
-Method in class modules.<A HREF="modules/MudConnector.html">MudConnector</A>
-<DD>setLoader() is called upon start of the parent applet.
-<DT><A HREF="modules/Script.html#setLoader(java.lang.Object)"><B>setLoader(Object)</B></A> - 
-Method in class modules.<A HREF="modules/Script.html">Script</A>
-<DD>Set the applet as module loader
-<DT><A HREF="modules/ButtonBar.html#setLoader(java.lang.Object)"><B>setLoader(Object)</B></A> - 
-Method in class modules.<A HREF="modules/ButtonBar.html">ButtonBar</A>
-<DD>This method is called by our loader to notify us of it.
-<DT><A HREF="socket/TelnetWrapper.html#setLogin(java.lang.String, java.lang.String)"><B>setLogin(String, String)</B></A> - 
-Static method in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Sets the default login used by TelnetWrappers.
-<DT><A HREF="socket/TelnetIO.html#setPeer(socket.StatusPeer)"><B>setPeer(StatusPeer)</B></A> - 
-Method in class socket.<A HREF="socket/TelnetIO.html">TelnetIO</A>
-<DD>Set the object to be notified about current status.
-<DT><A HREF="socket/TelnetWrapper.html#setPrompt(java.lang.String)"><B>setPrompt(String)</B></A> - 
-Method in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Sets the expected prompt.
-<DT><A HREF="display/CharDisplay.html#setResizeStrategy(int)"><B>setResizeStrategy(int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Set the strategy when window is resized.
-<DT><A HREF="display/CharDisplay.html#setScrollbar(java.lang.String)"><B>setScrollbar(String)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Set the scrollbar position.
-<DT><A HREF="display/CharDisplay.html#setTopMargin(int)"><B>setTopMargin(int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Set the top scroll margin for the screen.
-<DT><A HREF="display/CharDisplay.html#setWindowBase(int)"><B>setWindowBase(int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Set the current window base.
-<DT><A HREF="display/CharDisplay.html#setWindowSize(int, int)"><B>setWindowSize(int, int)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Change the size of the screen.
-<DT><A HREF="display/CharDisplay.html#size()"><B>size()</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Return the real size in points of the character display.
-<DT><A HREF="socket/package-summary.html">socket</A> - package socket<DD>&nbsp;<DT><A HREF="display/SoftFont.html"><B>SoftFont</B></A> - class display.<A HREF="display/SoftFont.html">SoftFont</A>.<DD>&nbsp;<DT><A HREF="display/SoftFont.html#SoftFont()"><B>SoftFont()</B></A> - 
-Constructor for class display.<A HREF="display/SoftFont.html">SoftFont</A>
-<DD>&nbsp;
-<DT><A HREF="telnet.html#start()"><B>start()</B></A> - 
-Method in class <A HREF="telnet.html">telnet</A>
-<DD>Upon start of the applet try to create a new connection.
-<DT><A HREF="socket/StatusPeer.html"><B>StatusPeer</B></A> - interface socket.<A HREF="socket/StatusPeer.html">StatusPeer</A>.<DD>StatusPeer -- interface for status messages
- --<DT><A HREF="telnet.html#stop()"><B>stop()</B></A> - 
-Method in class <A HREF="telnet.html">telnet</A>
-<DD>Disconnect when the applet is stopped.
-</DL>
-<HR>
-<A NAME="_T_"><!-- --></A><H2>
-<B>T</B></H2>
-<DL>
-<DT><A HREF="telnet.html"><B>telnet</B></A> - class <A HREF="telnet.html">telnet</A>.<DD>A telnet implementation that supports different terminal emulations.<DT><A HREF="telnet.html#telnet()"><B>telnet()</B></A> - 
-Constructor for class <A HREF="telnet.html">telnet</A>
-<DD>&nbsp;
-<DT><A HREF="socket/TelnetIO.html"><B>TelnetIO</B></A> - class socket.<A HREF="socket/TelnetIO.html">TelnetIO</A>.<DD>Implements simple telnet io<DT><A HREF="socket/TelnetIO.html#TelnetIO()"><B>TelnetIO()</B></A> - 
-Constructor for class socket.<A HREF="socket/TelnetIO.html">TelnetIO</A>
-<DD>&nbsp;
-<DT><A HREF="socket/TelnetWrapper.html"><B>TelnetWrapper</B></A> - class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>.<DD>Wrapper for a Java Telnet call.<DT><A HREF="socket/TelnetWrapper.html#TelnetWrapper(java.lang.String)"><B>TelnetWrapper(String)</B></A> - 
-Constructor for class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Connects to the default telnet port on the given host.
-<DT><A HREF="socket/TelnetWrapper.html#TelnetWrapper(java.lang.String, int)"><B>TelnetWrapper(String, int)</B></A> - 
-Constructor for class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Connects to a specific telnet port on the given host.
-<DT><A HREF="telnet.html#term"><B>term</B></A> - 
-Variable in class <A HREF="telnet.html">telnet</A>
-<DD>The terminal emulation (dynamically loaded).
-<DT><A HREF="display/Terminal.html"><B>Terminal</B></A> - class display.<A HREF="display/Terminal.html">Terminal</A>.<DD>Terminal is an abstract emulation class.<DT><A HREF="display/Terminal.html#Terminal()"><B>Terminal()</B></A> - 
-Constructor for class display.<A HREF="display/Terminal.html">Terminal</A>
-<DD>&nbsp;
-<DT><A HREF="display/TerminalHost.html"><B>TerminalHost</B></A> - interface display.<A HREF="display/TerminalHost.html">TerminalHost</A>.<DD>TerminalHost is an interface for the remote (virtual) end of our connection
- to the host computer we are connected to.<DT><A HREF="modules/TextLabel.html"><B>TextLabel</B></A> - class modules.<A HREF="modules/TextLabel.html">TextLabel</A>.<DD>This small module lets you display text somewhere in the applets area.<DT><A HREF="modules/TextLabel.html#TextLabel()"><B>TextLabel()</B></A> - 
-Constructor for class modules.<A HREF="modules/TextLabel.html">TextLabel</A>
-<DD>&nbsp;
-<DT><A HREF="socket/TimedOutException.html"><B>TimedOutException</B></A> - exception socket.<A HREF="socket/TimedOutException.html">TimedOutException</A>.<DD>Exception thrown when a Telnet connection takes too long
- before receiving a specified String token.<DT><A HREF="socket/TimedOutException.html#TimedOutException()"><B>TimedOutException()</B></A> - 
-Constructor for class socket.<A HREF="socket/TimedOutException.html">TimedOutException</A>
-<DD>&nbsp;
-<DT><A HREF="socket/TimedOutException.html#TimedOutException(java.lang.String)"><B>TimedOutException(String)</B></A> - 
-Constructor for class socket.<A HREF="socket/TimedOutException.html">TimedOutException</A>
-<DD>&nbsp;
-<DT><A HREF="telnet.html#tio"><B>tio</B></A> - 
-Variable in class <A HREF="telnet.html">telnet</A>
-<DD>The telnet io methods.
-<DT><A HREF="display/vt320.html#toString()"><B>toString()</B></A> - 
-Method in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>Return the version of the terminal emulation and its display.
-<DT><A HREF="socket/TelnetIO.html#toString()"><B>toString()</B></A> - 
-Method in class socket.<A HREF="socket/TelnetIO.html">TelnetIO</A>
-<DD>Return the version of TelnetIO.
-</DL>
-<HR>
-<A NAME="_U_"><!-- --></A><H2>
-<B>U</B></H2>
-<DL>
-<DT><A HREF="display/CharDisplay.html#UNDERLINE"><B>UNDERLINE</B></A> - 
-Static variable in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Underline character.
-<DT><A HREF="display/vt320.html#unimap"><B>unimap</B></A> - 
-Static variable in class display.<A HREF="display/vt320.html">vt320</A>
-<DD>&nbsp;
-<DT><A HREF="socket/TelnetWrapper.html#unsetLogin()"><B>unsetLogin()</B></A> - 
-Static method in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Turns off the default login of TelnetWrappers.
-<DT><A HREF="display/CharDisplay.html#update(java.awt.Graphics)"><B>update(Graphics)</B></A> - 
-Method in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>Update the display.
-</DL>
-<HR>
-<A NAME="_V_"><!-- --></A><H2>
-<B>V</B></H2>
-<DL>
-<DT><A HREF="display/CharDisplay.html#version"><B>version</B></A> - 
-Variable in class display.<A HREF="display/CharDisplay.html">CharDisplay</A>
-<DD>If you need the runtime version, just ask this variable.
-<DT><A HREF="display/vt320.html"><B>vt320</B></A> - class display.<A HREF="display/vt320.html">vt320</A>.<DD>A DEC VT320 Terminal Emulation (includes VT100/220 and ANSI).<DT><A HREF="display/vt320.html#vt320()"><B>vt320()</B></A> - 
-Constructor for class display.<A HREF="display/vt320.html">vt320</A>
-<DD>&nbsp;
-</DL>
-<HR>
-<A NAME="_W_"><!-- --></A><H2>
-<B>W</B></H2>
-<DL>
-<DT><A HREF="socket/TelnetWrapper.html#wait(java.lang.String)"><B>wait(String)</B></A> - 
-Method in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Skip any received data until the token appears.
-<DT><A HREF="socket/TelnetWrapper.html#wait(java.lang.String, long)"><B>wait(String, long)</B></A> - 
-Method in class socket.<A HREF="socket/TelnetWrapper.html">TelnetWrapper</A>
-<DD>Wait for a String or a timeout.
-<DT><A HREF="telnet.html#writeToSocket(java.lang.String)"><B>writeToSocket(String)</B></A> - 
-Method in class <A HREF="telnet.html">telnet</A>
-<DD>Send a String to the remote Host.
-<DT><A HREF="telnet.html#writeToUser(java.lang.String)"><B>writeToUser(String)</B></A> - 
-Method in class <A HREF="telnet.html">telnet</A>
-<DD>Send a String to the users terminal
-</DL>
-<HR>
-<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_K_">K</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> 
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="index-all.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/index.html b/web/root/telnet/Documentation/Source/index.html
deleted file mode 100644
index cc35f0b2e3..0000000000
--- a/web/root/telnet/Documentation/Source/index.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:31 CEST 1999-->
-<TITLE>
-Generated Documentation (Untitled)
-</TITLE>
-</HEAD>
-<FRAMESET cols="20%,80%">
-<FRAMESET rows="30%,70%">
-<FRAME src="overview-frame.html" name="packageListFrame">
-<FRAME src="allclasses-frame.html" name="packageFrame">
-</FRAMESET>
-<FRAME src="overview-summary.html" name="classFrame">
-</FRAMESET>
-<NOFRAMES>
-<H2>
-Frame Alert</H2>
-
-<P>
-This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
-<BR>
-Link to <A HREF="overview-summary.html">Non-frame version.</A></NOFRAMES>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/modules/BSXModule.html b/web/root/telnet/Documentation/Source/modules/BSXModule.html
deleted file mode 100644
index d1f285c8d7..0000000000
--- a/web/root/telnet/Documentation/Source/modules/BSXModule.html
+++ /dev/null
@@ -1,596 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:35 CEST 1999 -->
-<TITLE>
-: Class  BSXModule
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;<A HREF="../modules/ButtonBar.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="BSXModule.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-modules</FONT>
-<BR>
-Class  BSXModule</H2>
-<PRE>
-java.lang.Object
-  |
-  +--java.awt.Component
-        |
-        +--java.awt.Container
-              |
-              +--java.awt.Panel
-                    |
-                    +--<B>modules.BSXModule</B>
-</PRE>
-<HR>
-<DL>
-<DT>public class <B>BSXModule</B><DT>extends java.awt.Panel<DT>implements <A HREF="../modules/Module.html">Module</A></DL>
-
-<P>
-The ultimate BSX module implements most of the common used
- BSX controll sequences.
- <P>
- Features:<UL>
- <LI>a Statemachine to parse the Strings passed by the telnet
- <LI>a own package named bsx, for Window and Polygon handling
- terrible english because my native language is german
- </UL>
- TODO:<UL>
- <LI>more BSX Sequences
- <LI>Documentaion
- </UL>
-<P>
-<DL>
-<DT><B>Author: </B><DD>Thomas Kriegelstein</DD>
-<DT><B>See Also: </B><DD><A HREF="../serialized-form.html#modules.BSXModule">Serialized Form</A></DL>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="field_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Field Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/BSXModule.html#clientVersion">clientVersion</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Client Version</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Fields inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>BOTTOM_ALIGNMENT,  
-CENTER_ALIGNMENT,  
-LEFT_ALIGNMENT,  
-RIGHT_ALIGNMENT,  
-TOP_ALIGNMENT</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="../modules/BSXModule.html#BSXModule()">BSXModule</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/BSXModule.html#addNotify()">addNotify</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds two Buttons to the Panel and instanciates a BSXWindow.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/BSXModule.html#connect(java.lang.String, int)">connect</A></B>(java.lang.String&nbsp;host,
-        int&nbsp;port)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do nothing</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/BSXModule.html#disconnect()">disconnect</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do nothing</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/BSXModule.html#handleEvent(java.awt.Event)">handleEvent</A></B>(java.awt.Event&nbsp;e)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Java 1.0 eventhandling routines.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/BSXModule.html#main(java.lang.String[])">main</A></B>(java.lang.String[]&nbsp;args)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a main for test-purposes</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/BSXModule.html#receive(java.lang.String)">receive</A></B>(java.lang.String&nbsp;s)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is called by the telnet, so that we can parse the String.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/BSXModule.html#setLoader(java.lang.Object)">setLoader</A></B>(java.lang.Object&nbsp;o)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;register o as our parent</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Container</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>add, 
-add, 
-add, 
-add, 
-add, 
-addContainerListener, 
-addImpl, 
-countComponents, 
-deliverEvent, 
-doLayout, 
-findComponentAt, 
-findComponentAt, 
-getAlignmentX, 
-getAlignmentY, 
-getComponent, 
-getComponentAt, 
-getComponentAt, 
-getComponentCount, 
-getComponents, 
-getInsets, 
-getLayout, 
-getMaximumSize, 
-getMinimumSize, 
-getPreferredSize, 
-insets, 
-invalidate, 
-isAncestorOf, 
-layout, 
-list, 
-list, 
-locate, 
-minimumSize, 
-paint, 
-paintComponents, 
-paramString, 
-preferredSize, 
-print, 
-printComponents, 
-processContainerEvent, 
-processEvent, 
-remove, 
-remove, 
-removeAll, 
-removeContainerListener, 
-removeNotify, 
-setFont, 
-setLayout, 
-update, 
-validate, 
-validateTree</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>action, 
-add, 
-addComponentListener, 
-addFocusListener, 
-addInputMethodListener, 
-addKeyListener, 
-addMouseListener, 
-addMouseMotionListener, 
-addPropertyChangeListener, 
-addPropertyChangeListener, 
-bounds, 
-checkImage, 
-checkImage, 
-coalesceEvents, 
-contains, 
-contains, 
-createImage, 
-createImage, 
-disable, 
-disableEvents, 
-dispatchEvent, 
-enable, 
-enable, 
-enableEvents, 
-enableInputMethods, 
-firePropertyChange, 
-getBackground, 
-getBounds, 
-getBounds, 
-getColorModel, 
-getComponentOrientation, 
-getCursor, 
-getDropTarget, 
-getFont, 
-getFontMetrics, 
-getForeground, 
-getGraphics, 
-getHeight, 
-getInputContext, 
-getInputMethodRequests, 
-getLocale, 
-getLocation, 
-getLocation, 
-getLocationOnScreen, 
-getName, 
-getParent, 
-getPeer, 
-getSize, 
-getSize, 
-getToolkit, 
-getTreeLock, 
-getWidth, 
-getX, 
-getY, 
-gotFocus, 
-hasFocus, 
-hide, 
-imageUpdate, 
-inside, 
-isDisplayable, 
-isDoubleBuffered, 
-isEnabled, 
-isFocusTraversable, 
-isLightweight, 
-isOpaque, 
-isShowing, 
-isValid, 
-isVisible, 
-keyDown, 
-keyUp, 
-list, 
-list, 
-list, 
-location, 
-lostFocus, 
-mouseDown, 
-mouseDrag, 
-mouseEnter, 
-mouseExit, 
-mouseMove, 
-mouseUp, 
-move, 
-nextFocus, 
-paintAll, 
-postEvent, 
-prepareImage, 
-prepareImage, 
-printAll, 
-processComponentEvent, 
-processFocusEvent, 
-processInputMethodEvent, 
-processKeyEvent, 
-processMouseEvent, 
-processMouseMotionEvent, 
-remove, 
-removeComponentListener, 
-removeFocusListener, 
-removeInputMethodListener, 
-removeKeyListener, 
-removeMouseListener, 
-removeMouseMotionListener, 
-removePropertyChangeListener, 
-removePropertyChangeListener, 
-repaint, 
-repaint, 
-repaint, 
-repaint, 
-requestFocus, 
-reshape, 
-resize, 
-resize, 
-setBackground, 
-setBounds, 
-setBounds, 
-setComponentOrientation, 
-setCursor, 
-setDropTarget, 
-setEnabled, 
-setForeground, 
-setLocale, 
-setLocation, 
-setLocation, 
-setName, 
-setSize, 
-setSize, 
-setVisible, 
-show, 
-show, 
-size, 
-toString, 
-transferFocus</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>clone, 
-equals, 
-finalize, 
-getClass, 
-hashCode, 
-notify, 
-notifyAll, 
-wait, 
-wait, 
-wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-<A NAME="field_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Field Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="clientVersion"><!-- --></A><H3>
-clientVersion</H3>
-<PRE>
-protected java.lang.String <B>clientVersion</B></PRE>
-<DL>
-<DD>Client Version</DL>
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="BSXModule()"><!-- --></A><H3>
-BSXModule</H3>
-<PRE>
-public <B>BSXModule</B>()</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="setLoader(java.lang.Object)"><!-- --></A><H3>
-setLoader</H3>
-<PRE>
-public void <B>setLoader</B>(java.lang.Object&nbsp;o)</PRE>
-<DL>
-<DD>register o as our parent<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#setLoader(java.lang.Object)">setLoader</A> in interface <A HREF="../modules/Module.html">Module</A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="connect(java.lang.String, int)"><!-- --></A><H3>
-connect</H3>
-<PRE>
-public void <B>connect</B>(java.lang.String&nbsp;host,
-                    int&nbsp;port)</PRE>
-<DL>
-<DD>do nothing<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#connect(java.lang.String, int)">connect</A> in interface <A HREF="../modules/Module.html">Module</A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="disconnect()"><!-- --></A><H3>
-disconnect</H3>
-<PRE>
-public void <B>disconnect</B>()</PRE>
-<DL>
-<DD>do nothing<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#disconnect()">disconnect</A> in interface <A HREF="../modules/Module.html">Module</A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="receive(java.lang.String)"><!-- --></A><H3>
-receive</H3>
-<PRE>
-public java.lang.String <B>receive</B>(java.lang.String&nbsp;s)</PRE>
-<DL>
-<DD>This method is called by the telnet, so that we can parse the String.
- Prints out the filtered String if logging s enabled.<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#receive(java.lang.String)">receive</A> in interface <A HREF="../modules/Module.html">Module</A><DT><B>Parameters:</B><DD><CODE>String</CODE> - s the String to be parsed<DT><B>Returns:</B><DD>a filtered String with no BSX sequences in it</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="addNotify()"><!-- --></A><H3>
-addNotify</H3>
-<PRE>
-public void <B>addNotify</B>()</PRE>
-<DL>
-<DD>Adds two Buttons to the Panel and instanciates a BSXWindow.<DD><DL>
-<DT><B>Overrides:</B><DD>addNotify in class java.awt.Panel</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="handleEvent(java.awt.Event)"><!-- --></A><H3>
-handleEvent</H3>
-<PRE>
-public boolean <B>handleEvent</B>(java.awt.Event&nbsp;e)</PRE>
-<DL>
-<DD>Java 1.0 eventhandling routines.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>Event</CODE> - e<DT><B>Returns:</B><DD>true if Event has been recognized and fullfilled.<DT><B>Overrides:</B><DD>handleEvent in class java.awt.Component</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="main(java.lang.String[])"><!-- --></A><H3>
-main</H3>
-<PRE>
-public static void <B>main</B>(java.lang.String[]&nbsp;args)</PRE>
-<DL>
-<DD>a main for test-purposes<DD><DL>
-</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;<A HREF="../modules/ButtonBar.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="BSXModule.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/modules/ButtonBar.html b/web/root/telnet/Documentation/Source/modules/ButtonBar.html
deleted file mode 100644
index 9297f5368f..0000000000
--- a/web/root/telnet/Documentation/Source/modules/ButtonBar.html
+++ /dev/null
@@ -1,636 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:35 CEST 1999 -->
-<TITLE>
-: Class  ButtonBar
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../modules/BSXModule.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../modules/MudConnector.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="ButtonBar.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.awt.Component">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-modules</FONT>
-<BR>
-Class  ButtonBar</H2>
-<PRE>
-java.lang.Object
-  |
-  +--java.awt.Component
-        |
-        +--java.awt.Container
-              |
-              +--java.awt.Panel
-                    |
-                    +--<B>modules.ButtonBar</B>
-</PRE>
-<HR>
-<DL>
-<DT>public class <B>ButtonBar</B><DT>extends java.awt.Panel<DT>implements <A HREF="../modules/Module.html">Module</A></DL>
-
-<P>
-This class implements a programmable button bar.
- You can add <A HREF="#buttons">Buttons</A> and <A HREF="#fields">Input 
- fields</A> to trigger actions in the <A HREF="telnet.html">telnet 
- applet</A>. On how to load a module, please refer to the 
- <A HREF="telnet.html">telnet</A> documentation.
- 
- <DL>
-  <A NAME="buttons"></A>
-  <DT><B>Buttons:</B>
-  <DD><TT>&lt;PARAM NAME=<B><I>number</I></B>#Button VALUE=&quot;<B><I>buttontext</I></B>|<B><I>buttonaction</I></B>&quot;&gt;</TT>
-  <DD><B><I>number</I></B> is the sequence number and determines the place
-      of the button on the row.
-      <P>
-  <DD><B><I>buttontext</I></B> is a string displayed on the button.
-      <P>
-  <DD><A NAME="buttonaction"><B><I>buttonaction</I></B></A> may be one
-      of the following functions or strings<BR>
-      <FONT SIZE=-1>(<I>Note:</I> the backslash character
-      in front of the dollar sign is mandatory!)</FONT>
-      <UL>
-       <LI><TT><I>simple text</I></TT>
-           to be sent to the remote host. Newline and/or carriage return
-           characters may be added in C syntax <B>\n</B> and <B>\r</B>.
-           To support unimplemented function keys the <B>\e</B> escape
-           character may be useful. The <B>\b</B> backspace character is
-           also supported.
-           The text may contain <A HREF="#fieldreference"><B><I>field 
-           reference(s)</I></B></A>.
-           <P>
-       <LI><TT>\$connect(<B><I>host</I></B>[,<B><I>port</I></B>])</TT> 
-           tries to initiate a connection to the <B><I>host</I></B>
-           at the <B><I>port</I></B>, if given. The standard port is
-           23. <B><I>host</I></B> and <B><I>port</I></B> may be hostname
-           and number or <A HREF="#fieldreference"><B><I>field
-           reference(s)</I></B></A>. If a connection already exists
-           nothing will happen.<BR>
-           <FONT SIZE=-1>(<I>Note:</I> It is not allowed to have
-           spaces anywhere inside the parenthesis!)</FONT>
-           <P>
-       <LI><TT>\$disconnect()</TT>
-           terminates the current connection, but if there was no
-           connection nothing will happen.
-           <P>
-       <LI><TT>\$detach()</TT>
-           detaches the applet from the web browser window and
-           creates a new frame externally. This may be used to allow
-           users to use the applet while browsing the web with the
-           same browser window.<BR>
-           <FONT SIZE=-1>(<I>Note:</I> You need to load the applet via the
-           <A HREF="appWrapper.html">appWrapper class</A> or
-           it will not work properly!)</FONT>
-      </UL>
-  <DD><B>Examples:</B><BR>
-      <FONT SIZE=-1>(<I>Note:</I> It makes sense if you look at the
-      examples for input fields below.)</FONT>
-      <PRE>
-        &lt;PARAM NAME=1#Button VALUE="HELP!|help\r\n"&gt;
-        &lt;PARAM NAME=2#Button VALUE="HELP:|help \@help@\r\n"&gt;
-        &lt;PARAM NAME=4#Button VALUE="simple|\$connect(localhost)"&gt;
-        &lt;PARAM NAME=5#Button VALUE="complete|\$connect(www,4711)"&gt;
-        &lt;PARAM NAME=6#Button VALUE="connect|\$connect(\@address@)"&gt;
-        &lt;PARAM NAME=8#Button VALUE="connect to port|\$connect(\@address@,\@port@)"&gt;
-        &lt;PARAM NAME=10#Button VALUE="window|\$detach()"&gt;
-     </PRE>
-     <P>
-  <A NAME="fields"></A>
-  <DT><B>Input fields</B>
-  <DD><TT>&lt;PARAM NAME=<B><I>number</I></B>#Input VALUE=&quot;<B><I>fieldname</I></B>[#<I><B>length</B></I>]|<B><I>initial text</I></B>[|<B><I>action</I></B>]&quot;&gt;</TT>
-  <DD><B><I>number</I></B> is the sequence number and determines the place
-      of the field on the row.
-      <P>
-  <DD><A NAME="fieldreference"><B><I>fieldname</I></B></A> is a
-      symbolic name to reference the input field. A reference may be used in 
-      <A HREF="#buttonaction"><B><I>button actions</I></B></A> and
-      is constructed as follows:
-      <TT>\@<B><I>fieldname</I></B>@</TT>
-      The <B>\@fieldname@</B> macro will be replaced by the string entered in
-      the text field.
-      <P>
-  <DD><B><I>length</I></B> is the length of the input field in numbers of
-      characters.
-      <P>
-  <DD><B><I>initial text</I></B> is the text to be placed into the input
-      field on startup
-  <DD><B><I>action</I></B> may be used similar to a 
-      <A HREF="#buttonaction"><B><I>button action</I></B></A>. This action 
-      will be used if the users presses Return in the inputfield. Leave
-      empty if you only want to use a button to send the text!
-  <DD><B>Examples:</B><BR>
-      <FONT SIZE=-1>(<I>Note:</I> It makes sense if you look at the
-      examples for buttons before.)</FONT>
-      <PRE>
-        &lt;PARAM NAME=3#Input VALUE="help#10|"&gt;
-        &lt;PARAM NAME=7#Input VALUE="address|www.first.gmd.de"&gt;
-        &lt;PARAM NAME=8#Input VALUE="send#5|who|\@send@\r\n"&gt;
-        &lt;PARAM NAME=9#Input VALUE="port#5|4711"&gt;
-      </PRE>
-      <P>
- </DL>
-<P>
-<DL>
-<DT><B>Version: </B><DD>$Id: ButtonBar.html,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $</DD>
-<DT><B>Author: </B><DD>Matthias L. Jugel, Marcus Mei�ner</DD>
-<DT><B>See Also: </B><DD><A HREF="../modules/Module.html"><CODE>Module</CODE></A>, <A HREF="../serialized-form.html#modules.ButtonBar">Serialized Form</A></DL>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Fields inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>BOTTOM_ALIGNMENT,  
-CENTER_ALIGNMENT,  
-LEFT_ALIGNMENT,  
-RIGHT_ALIGNMENT,  
-TOP_ALIGNMENT</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="../modules/ButtonBar.html#ButtonBar()">ButtonBar</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/ButtonBar.html#addNotify()">addNotify</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;create the buttonbar from the parameter list.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/ButtonBar.html#connect(java.lang.String, int)">connect</A></B>(java.lang.String&nbsp;host,
-        int&nbsp;port)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If the applet connects this method is called.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/ButtonBar.html#disconnect()">disconnect</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get notified of disconnection.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/ButtonBar.html#handleEvent(java.awt.Event)">handleEvent</A></B>(java.awt.Event&nbsp;evt)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/ButtonBar.html#receive(java.lang.String)">receive</A></B>(java.lang.String&nbsp;s)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This module does not take any input.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/ButtonBar.html#setLoader(java.lang.Object)">setLoader</A></B>(java.lang.Object&nbsp;o)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is called by our loader to notify us of it.</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Container</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>add, 
-add, 
-add, 
-add, 
-add, 
-addContainerListener, 
-addImpl, 
-countComponents, 
-deliverEvent, 
-doLayout, 
-findComponentAt, 
-findComponentAt, 
-getAlignmentX, 
-getAlignmentY, 
-getComponent, 
-getComponentAt, 
-getComponentAt, 
-getComponentCount, 
-getComponents, 
-getInsets, 
-getLayout, 
-getMaximumSize, 
-getMinimumSize, 
-getPreferredSize, 
-insets, 
-invalidate, 
-isAncestorOf, 
-layout, 
-list, 
-list, 
-locate, 
-minimumSize, 
-paint, 
-paintComponents, 
-paramString, 
-preferredSize, 
-print, 
-printComponents, 
-processContainerEvent, 
-processEvent, 
-remove, 
-remove, 
-removeAll, 
-removeContainerListener, 
-removeNotify, 
-setFont, 
-setLayout, 
-update, 
-validate, 
-validateTree</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>action, 
-add, 
-addComponentListener, 
-addFocusListener, 
-addInputMethodListener, 
-addKeyListener, 
-addMouseListener, 
-addMouseMotionListener, 
-addPropertyChangeListener, 
-addPropertyChangeListener, 
-bounds, 
-checkImage, 
-checkImage, 
-coalesceEvents, 
-contains, 
-contains, 
-createImage, 
-createImage, 
-disable, 
-disableEvents, 
-dispatchEvent, 
-enable, 
-enable, 
-enableEvents, 
-enableInputMethods, 
-firePropertyChange, 
-getBackground, 
-getBounds, 
-getBounds, 
-getColorModel, 
-getComponentOrientation, 
-getCursor, 
-getDropTarget, 
-getFont, 
-getFontMetrics, 
-getForeground, 
-getGraphics, 
-getHeight, 
-getInputContext, 
-getInputMethodRequests, 
-getLocale, 
-getLocation, 
-getLocation, 
-getLocationOnScreen, 
-getName, 
-getParent, 
-getPeer, 
-getSize, 
-getSize, 
-getToolkit, 
-getTreeLock, 
-getWidth, 
-getX, 
-getY, 
-gotFocus, 
-hasFocus, 
-hide, 
-imageUpdate, 
-inside, 
-isDisplayable, 
-isDoubleBuffered, 
-isEnabled, 
-isFocusTraversable, 
-isLightweight, 
-isOpaque, 
-isShowing, 
-isValid, 
-isVisible, 
-keyDown, 
-keyUp, 
-list, 
-list, 
-list, 
-location, 
-lostFocus, 
-mouseDown, 
-mouseDrag, 
-mouseEnter, 
-mouseExit, 
-mouseMove, 
-mouseUp, 
-move, 
-nextFocus, 
-paintAll, 
-postEvent, 
-prepareImage, 
-prepareImage, 
-printAll, 
-processComponentEvent, 
-processFocusEvent, 
-processInputMethodEvent, 
-processKeyEvent, 
-processMouseEvent, 
-processMouseMotionEvent, 
-remove, 
-removeComponentListener, 
-removeFocusListener, 
-removeInputMethodListener, 
-removeKeyListener, 
-removeMouseListener, 
-removeMouseMotionListener, 
-removePropertyChangeListener, 
-removePropertyChangeListener, 
-repaint, 
-repaint, 
-repaint, 
-repaint, 
-requestFocus, 
-reshape, 
-resize, 
-resize, 
-setBackground, 
-setBounds, 
-setBounds, 
-setComponentOrientation, 
-setCursor, 
-setDropTarget, 
-setEnabled, 
-setForeground, 
-setLocale, 
-setLocation, 
-setLocation, 
-setName, 
-setSize, 
-setSize, 
-setVisible, 
-show, 
-show, 
-size, 
-toString, 
-transferFocus</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>clone, 
-equals, 
-finalize, 
-getClass, 
-hashCode, 
-notify, 
-notifyAll, 
-wait, 
-wait, 
-wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="ButtonBar()"><!-- --></A><H3>
-ButtonBar</H3>
-<PRE>
-public <B>ButtonBar</B>()</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="setLoader(java.lang.Object)"><!-- --></A><H3>
-setLoader</H3>
-<PRE>
-public void <B>setLoader</B>(java.lang.Object&nbsp;o)</PRE>
-<DL>
-<DD>This method is called by our loader to notify us of it.<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#setLoader(java.lang.Object)">setLoader</A> in interface <A HREF="../modules/Module.html">Module</A><DT><B>Parameters:</B><DD><CODE>o</CODE> - The object that has loaded this object.<DT><B>See Also: </B><DD><CODE>display.Module</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="connect(java.lang.String, int)"><!-- --></A><H3>
-connect</H3>
-<PRE>
-public void <B>connect</B>(java.lang.String&nbsp;host,
-                    int&nbsp;port)</PRE>
-<DL>
-<DD>If the applet connects this method is called.<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#connect(java.lang.String, int)">connect</A> in interface <A HREF="../modules/Module.html">Module</A><DT><B>Parameters:</B><DD><CODE>host</CODE> - remote hostaddress - not used<DD><CODE>port</CODE> - remote port - not used</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="disconnect()"><!-- --></A><H3>
-disconnect</H3>
-<PRE>
-public void <B>disconnect</B>()</PRE>
-<DL>
-<DD>Get notified of disconnection. Do nothing.<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#disconnect()">disconnect</A> in interface <A HREF="../modules/Module.html">Module</A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="receive(java.lang.String)"><!-- --></A><H3>
-receive</H3>
-<PRE>
-public java.lang.String <B>receive</B>(java.lang.String&nbsp;s)</PRE>
-<DL>
-<DD>This module does not take any input. It works passive.<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#receive(java.lang.String)">receive</A> in interface <A HREF="../modules/Module.html">Module</A><DT><B>Returns:</B><DD>null to remove from the list of receiver modules.<DT><B>See Also: </B><DD><CODE>display.Module</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="addNotify()"><!-- --></A><H3>
-addNotify</H3>
-<PRE>
-public void <B>addNotify</B>()</PRE>
-<DL>
-<DD>create the buttonbar from the parameter list. We will know our parent,
- when we have been added.<DD><DL>
-<DT><B>Overrides:</B><DD>addNotify in class java.awt.Panel</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="handleEvent(java.awt.Event)"><!-- --></A><H3>
-handleEvent</H3>
-<PRE>
-public boolean <B>handleEvent</B>(java.awt.Event&nbsp;evt)</PRE>
-<DL>
-<DD><DL>
-<DT><B>Overrides:</B><DD>handleEvent in class java.awt.Component</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../modules/BSXModule.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../modules/MudConnector.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="ButtonBar.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.awt.Component">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/modules/Module.html b/web/root/telnet/Documentation/Source/modules/Module.html
deleted file mode 100644
index e44b819ca8..0000000000
--- a/web/root/telnet/Documentation/Source/modules/Module.html
+++ /dev/null
@@ -1,235 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:35 CEST 1999 -->
-<TITLE>
-: Interface  Module
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="Module.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-modules</FONT>
-<BR>
-Interface  Module</H2>
-<DL>
-<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../modules/BSXModule.html">BSXModule</A>, <A HREF="../modules/TextLabel.html">TextLabel</A>, <A HREF="../modules/MudConnector.html">MudConnector</A>, <A HREF="../modules/Script.html">Script</A>, <A HREF="../modules/ButtonBar.html">ButtonBar</A></DD>
-</DL>
-<HR>
-<DL>
-<DT>public abstract interface <B>Module</B></DL>
-
-<P>
-Modules must implement this interface to be detected as valid modules
-<P>
-<DL>
-<DT><B>Version: </B><DD>$Id: Module.html,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $</DD>
-<DT><B>Author: </B><DD>Matthias L. Jugel, Marcus Mei�ner</DD>
-</DL>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/Module.html#connect(java.lang.String, int)">connect</A></B>(java.lang.String&nbsp;host,
-        int&nbsp;port)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connected to the remote host.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/Module.html#disconnect()">disconnect</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Disconnect from the host.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/Module.html#receive(java.lang.String)">receive</A></B>(java.lang.String&nbsp;s)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Receive data from somewhere.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/Module.html#setLoader(java.lang.Object)">setLoader</A></B>(java.lang.Object&nbsp;loader)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the loader of the module.</TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="setLoader(java.lang.Object)"><!-- --></A><H3>
-setLoader</H3>
-<PRE>
-public void <B>setLoader</B>(java.lang.Object&nbsp;loader)</PRE>
-<DL>
-<DD>Set the loader of the module. This is necessary to know if you want to
- contact the modules parent.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>loader</CODE> - The object that has loaded this module.</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="connect(java.lang.String, int)"><!-- --></A><H3>
-connect</H3>
-<PRE>
-public void <B>connect</B>(java.lang.String&nbsp;host,
-                    int&nbsp;port)</PRE>
-<DL>
-<DD>Connected to the remote host. This method notifies upon new connection.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>host</CODE> - remote hostname<DD><CODE>port</CODE> - remote port</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="disconnect()"><!-- --></A><H3>
-disconnect</H3>
-<PRE>
-public void <B>disconnect</B>()</PRE>
-<DL>
-<DD>Disconnect from the host. This method notifies of lost connection.</DL>
-<HR>
-
-<A NAME="receive(java.lang.String)"><!-- --></A><H3>
-receive</H3>
-<PRE>
-public java.lang.String <B>receive</B>(java.lang.String&nbsp;s)</PRE>
-<DL>
-<DD>Receive data from somewhere. If a modules does not want to receive data
- it should return null to remove itself from the list of receiver modules.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>s</CODE> - The string we receive.<DT><B>Returns:</B><DD>the modified string or null (to remove from receiver list)</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="Module.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/modules/MudConnector.html b/web/root/telnet/Documentation/Source/modules/MudConnector.html
deleted file mode 100644
index 3183a4f052..0000000000
--- a/web/root/telnet/Documentation/Source/modules/MudConnector.html
+++ /dev/null
@@ -1,571 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:35 CEST 1999 -->
-<TITLE>
-: Class  MudConnector
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../modules/ButtonBar.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../modules/Script.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="MudConnector.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.awt.Component">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-modules</FONT>
-<BR>
-Class  MudConnector</H2>
-<PRE>
-java.lang.Object
-  |
-  +--java.awt.Component
-        |
-        +--java.awt.Container
-              |
-              +--java.awt.Panel
-                    |
-                    +--<B>modules.MudConnector</B>
-</PRE>
-<HR>
-<DL>
-<DT>public class <B>MudConnector</B><DT>extends java.awt.Panel<DT>implements <A HREF="../modules/Module.html">Module</A>, java.lang.Runnable</DL>
-
-<P>
-A specially designed module for the 
- <A HREF="http://www.mudconnect.com/">MUD Connector</A>.
- It loads a list of MUDs via http and displays them in a list box to 
- be selected. A selected MUD can then be entered.
-
- <DL>
-  <DT><B>MudConnector parameterfile:</B>
-   <DD><PRE>&lt;PARAM NAME=MUDlist VALUE=&quot;<B><I>url</I></B>&quot;&gt;</PRE>
-   <DD>The url of the Mudlist. This url MUST be located on the same web
-       server as the applet!
- </DL>
-<P>
-<DL>
-<DT><B>Version: </B><DD>$Id: MudConnector.html,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $</DD>
-<DT><B>Author: </B><DD>Matthias L. Jugel, Marcus Mei�ner</DD>
-<DT><B>See Also: </B><DD><A HREF="../modules/Module.html"><CODE>Module</CODE></A>, <A HREF="../serialized-form.html#modules.MudConnector">Serialized Form</A></DL>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Fields inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>BOTTOM_ALIGNMENT,  
-CENTER_ALIGNMENT,  
-LEFT_ALIGNMENT,  
-RIGHT_ALIGNMENT,  
-TOP_ALIGNMENT</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="../modules/MudConnector.html#MudConnector()">MudConnector</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/MudConnector.html#addNotify()">addNotify</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when newly added try to load the mudlist using the parameter "mudlist"</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/MudConnector.html#connect(java.lang.String, int)">connect</A></B>(java.lang.String&nbsp;host,
-        int&nbsp;port)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dummy methods</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/MudConnector.html#disconnect()">disconnect</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/MudConnector.html#handleEvent(java.awt.Event)">handleEvent</A></B>(java.awt.Event&nbsp;evt)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;handle list selection, connect, disconnect and refresh button</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/MudConnector.html#receive(java.lang.String)">receive</A></B>(java.lang.String&nbsp;str)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/MudConnector.html#run()">run</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The body of the thread opens a URLConnection with the address given as
- parameter "mudlist" and downloads it.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/MudConnector.html#setLoader(java.lang.Object)">setLoader</A></B>(java.lang.Object&nbsp;loader)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setLoader() is called upon start of the parent applet.</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Container</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>add, 
-add, 
-add, 
-add, 
-add, 
-addContainerListener, 
-addImpl, 
-countComponents, 
-deliverEvent, 
-doLayout, 
-findComponentAt, 
-findComponentAt, 
-getAlignmentX, 
-getAlignmentY, 
-getComponent, 
-getComponentAt, 
-getComponentAt, 
-getComponentCount, 
-getComponents, 
-getInsets, 
-getLayout, 
-getMaximumSize, 
-getMinimumSize, 
-getPreferredSize, 
-insets, 
-invalidate, 
-isAncestorOf, 
-layout, 
-list, 
-list, 
-locate, 
-minimumSize, 
-paint, 
-paintComponents, 
-paramString, 
-preferredSize, 
-print, 
-printComponents, 
-processContainerEvent, 
-processEvent, 
-remove, 
-remove, 
-removeAll, 
-removeContainerListener, 
-removeNotify, 
-setFont, 
-setLayout, 
-update, 
-validate, 
-validateTree</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>action, 
-add, 
-addComponentListener, 
-addFocusListener, 
-addInputMethodListener, 
-addKeyListener, 
-addMouseListener, 
-addMouseMotionListener, 
-addPropertyChangeListener, 
-addPropertyChangeListener, 
-bounds, 
-checkImage, 
-checkImage, 
-coalesceEvents, 
-contains, 
-contains, 
-createImage, 
-createImage, 
-disable, 
-disableEvents, 
-dispatchEvent, 
-enable, 
-enable, 
-enableEvents, 
-enableInputMethods, 
-firePropertyChange, 
-getBackground, 
-getBounds, 
-getBounds, 
-getColorModel, 
-getComponentOrientation, 
-getCursor, 
-getDropTarget, 
-getFont, 
-getFontMetrics, 
-getForeground, 
-getGraphics, 
-getHeight, 
-getInputContext, 
-getInputMethodRequests, 
-getLocale, 
-getLocation, 
-getLocation, 
-getLocationOnScreen, 
-getName, 
-getParent, 
-getPeer, 
-getSize, 
-getSize, 
-getToolkit, 
-getTreeLock, 
-getWidth, 
-getX, 
-getY, 
-gotFocus, 
-hasFocus, 
-hide, 
-imageUpdate, 
-inside, 
-isDisplayable, 
-isDoubleBuffered, 
-isEnabled, 
-isFocusTraversable, 
-isLightweight, 
-isOpaque, 
-isShowing, 
-isValid, 
-isVisible, 
-keyDown, 
-keyUp, 
-list, 
-list, 
-list, 
-location, 
-lostFocus, 
-mouseDown, 
-mouseDrag, 
-mouseEnter, 
-mouseExit, 
-mouseMove, 
-mouseUp, 
-move, 
-nextFocus, 
-paintAll, 
-postEvent, 
-prepareImage, 
-prepareImage, 
-printAll, 
-processComponentEvent, 
-processFocusEvent, 
-processInputMethodEvent, 
-processKeyEvent, 
-processMouseEvent, 
-processMouseMotionEvent, 
-remove, 
-removeComponentListener, 
-removeFocusListener, 
-removeInputMethodListener, 
-removeKeyListener, 
-removeMouseListener, 
-removeMouseMotionListener, 
-removePropertyChangeListener, 
-removePropertyChangeListener, 
-repaint, 
-repaint, 
-repaint, 
-repaint, 
-requestFocus, 
-reshape, 
-resize, 
-resize, 
-setBackground, 
-setBounds, 
-setBounds, 
-setComponentOrientation, 
-setCursor, 
-setDropTarget, 
-setEnabled, 
-setForeground, 
-setLocale, 
-setLocation, 
-setLocation, 
-setName, 
-setSize, 
-setSize, 
-setVisible, 
-show, 
-show, 
-size, 
-toString, 
-transferFocus</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>clone, 
-equals, 
-finalize, 
-getClass, 
-hashCode, 
-notify, 
-notifyAll, 
-wait, 
-wait, 
-wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="MudConnector()"><!-- --></A><H3>
-MudConnector</H3>
-<PRE>
-public <B>MudConnector</B>()</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="setLoader(java.lang.Object)"><!-- --></A><H3>
-setLoader</H3>
-<PRE>
-public void <B>setLoader</B>(java.lang.Object&nbsp;loader)</PRE>
-<DL>
-<DD>setLoader() is called upon start of the parent applet. This method
- initializes the GUI of the module, e.g the list and buttons.<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#setLoader(java.lang.Object)">setLoader</A> in interface <A HREF="../modules/Module.html">Module</A><DT><B>Parameters:</B><DD><CODE>loader</CODE> - the parent applet</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="addNotify()"><!-- --></A><H3>
-addNotify</H3>
-<PRE>
-public void <B>addNotify</B>()</PRE>
-<DL>
-<DD>when newly added try to load the mudlist using the parameter "mudlist"<DD><DL>
-<DT><B>Overrides:</B><DD>addNotify in class java.awt.Panel</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="run()"><!-- --></A><H3>
-run</H3>
-<PRE>
-public void <B>run</B>()</PRE>
-<DL>
-<DD>The body of the thread opens a URLConnection with the address given as
- parameter "mudlist" and downloads it. It expects a tabulator separated
- list <mudname> <mudhost> <mudport> and the amount of muds in the file
- at the beginning of the file.<DD><DL>
-<DT><B>Specified by: </B><DD>run in interface java.lang.Runnable</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="handleEvent(java.awt.Event)"><!-- --></A><H3>
-handleEvent</H3>
-<PRE>
-public boolean <B>handleEvent</B>(java.awt.Event&nbsp;evt)</PRE>
-<DL>
-<DD>handle list selection, connect, disconnect and refresh button<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>evt</CODE> - the event to process<DT><B>Overrides:</B><DD>handleEvent in class java.awt.Component</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="connect(java.lang.String, int)"><!-- --></A><H3>
-connect</H3>
-<PRE>
-public void <B>connect</B>(java.lang.String&nbsp;host,
-                    int&nbsp;port)</PRE>
-<DL>
-<DD>dummy methods<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#connect(java.lang.String, int)">connect</A> in interface <A HREF="../modules/Module.html">Module</A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="disconnect()"><!-- --></A><H3>
-disconnect</H3>
-<PRE>
-public void <B>disconnect</B>()</PRE>
-<DL>
-<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#disconnect()">disconnect</A> in interface <A HREF="../modules/Module.html">Module</A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="receive(java.lang.String)"><!-- --></A><H3>
-receive</H3>
-<PRE>
-public java.lang.String <B>receive</B>(java.lang.String&nbsp;str)</PRE>
-<DL>
-<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#receive(java.lang.String)">receive</A> in interface <A HREF="../modules/Module.html">Module</A></DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../modules/ButtonBar.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../modules/Script.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="MudConnector.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.awt.Component">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/modules/Script.html b/web/root/telnet/Documentation/Source/modules/Script.html
deleted file mode 100644
index 0861dce893..0000000000
--- a/web/root/telnet/Documentation/Source/modules/Script.html
+++ /dev/null
@@ -1,348 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:35 CEST 1999 -->
-<TITLE>
-: Class  Script
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../modules/MudConnector.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../modules/TextLabel.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="Script.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-modules</FONT>
-<BR>
-Class  Script</H2>
-<PRE>
-java.lang.Object
-  |
-  +--java.util.Dictionary
-        |
-        +--java.util.Hashtable
-              |
-              +--<B>modules.Script</B>
-</PRE>
-<HR>
-<DL>
-<DT>public class <B>Script</B><DT>extends java.util.Hashtable<DT>implements <A HREF="../modules/Module.html">Module</A></DL>
-
-<P>
-A very simple scripting module. It takes pairs of pattern and text and
- sends the corresponding text when the pattern matches. Each pattern is
- only matched once per connected session.
-
- <DL>
-  <DT><B>Scripts:</B>
-   <DD><PRE>&lt;PARAM NAME=script VALUE=&quot;<B><I>pattern</I></B>|<B><I>text</I></B>|<B><I>...</I></B>&quot;&gt;</PRE>
-   <DD>A script contains of pairs of <I>pattern</I> and <I>text</I> strings.
-       If the pattern is matched against the output from the remote host,
-       the corresponding text will be sent. Each pattern will match only
-       <B>once</B> per session. A session is defined by connect and 
-       disconnect.<P>
-       Thus it is possible to program an autologin as follows:<BR>
-       <PRE><B>"login:|leo|Password:|mypassword|leo@www|ls"</B></PRE>
-       Newlines will be added automatically to the string sent! At the
-       moment the order of the pattern and text pairs is <I>not</I> relevant.
-       <P>
-       It is possible to prompt the user for input if a match occurs. If the
-       corresponding <I>text</I> is a string enclosed in braces ([] or {}) a
-       dialog window is opened with <I>text</I> as prompt. A special case 
-       is an empty prompt in which case the <I>pattern</I> will be shown as 
-       prompt. &quot;[Your name:]&quot; would open a dialog window with the
-       text &quot;Your name&quot; as prompt. Curly braces have a special
-       meaning; any user input will be shown as &quot;*&quot; which makes
-       it possible to program password prompts. Example: 
-       &quot;{Your password:}&quot;.<P>
-       A special match like: &quot;login:|[]&quot; can be used to open a
-       dialog and display &quot;login:&quot; as prompt. This works for
-       &quot;{}&quot; as well.
-       
- </DL>
-<P>
-<DL>
-<DT><B>Version: </B><DD>$Id: Script.html,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $</DD>
-<DT><B>Author: </B><DD>Matthias L. Jugel, Marcus Mei�ner</DD>
-<DT><B>See Also: </B><DD><A HREF="../modules/Module.html"><CODE>Module</CODE></A>, <A HREF="../serialized-form.html#modules.Script">Serialized Form</A></DL>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="../modules/Script.html#Script()">Script</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/Script.html#connect(java.lang.String, int)">connect</A></B>(java.lang.String&nbsp;host,
-        int&nbsp;port)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Configure the script module by reading the script PARAMeter.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/Script.html#disconnect()">disconnect</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get notified of disconnection.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/Script.html#receive(java.lang.String)">receive</A></B>(java.lang.String&nbsp;s)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is called when data is received.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/Script.html#setLoader(java.lang.Object)">setLoader</A></B>(java.lang.Object&nbsp;o)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the applet as module loader</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.util.Hashtable"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.util.Hashtable</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>clear, 
-clone, 
-contains, 
-containsKey, 
-containsValue, 
-elements, 
-entrySet, 
-equals, 
-get, 
-hashCode, 
-isEmpty, 
-keys, 
-keySet, 
-put, 
-putAll, 
-rehash, 
-remove, 
-size, 
-toString, 
-values</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>finalize, 
-getClass, 
-notify, 
-notifyAll, 
-wait, 
-wait, 
-wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="Script()"><!-- --></A><H3>
-Script</H3>
-<PRE>
-public <B>Script</B>()</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="setLoader(java.lang.Object)"><!-- --></A><H3>
-setLoader</H3>
-<PRE>
-public void <B>setLoader</B>(java.lang.Object&nbsp;o)</PRE>
-<DL>
-<DD>Set the applet as module loader<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#setLoader(java.lang.Object)">setLoader</A> in interface <A HREF="../modules/Module.html">Module</A><DT><B>Parameters:</B><DD><CODE>o</CODE> - the object that is the applet (must be an Applet)<DT><B>See Also: </B><DD><CODE>module.Module</CODE>, 
-<CODE>Applet</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="connect(java.lang.String, int)"><!-- --></A><H3>
-connect</H3>
-<PRE>
-public void <B>connect</B>(java.lang.String&nbsp;host,
-                    int&nbsp;port)</PRE>
-<DL>
-<DD>Configure the script module by reading the script PARAMeter.<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#connect(java.lang.String, int)">connect</A> in interface <A HREF="../modules/Module.html">Module</A><DT><B>Parameters:</B><DD><CODE>host</CODE> - remote hostaddress - not used<DD><CODE>port</CODE> - remote port - not used</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="disconnect()"><!-- --></A><H3>
-disconnect</H3>
-<PRE>
-public void <B>disconnect</B>()</PRE>
-<DL>
-<DD>Get notified of disconnection. Do nothing.<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#disconnect()">disconnect</A> in interface <A HREF="../modules/Module.html">Module</A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="receive(java.lang.String)"><!-- --></A><H3>
-receive</H3>
-<PRE>
-public java.lang.String <B>receive</B>(java.lang.String&nbsp;s)</PRE>
-<DL>
-<DD>This method is called when data is received. It tries to match the
- input to the list of patterns and sends corresponding text on success.
- If the response is [] or {} the user will be prompted with the matching
- text. You can modify the prompt string by entering it inside of the
- brackets or curly braces (e.g. [Enter your id:]). In case of curly
- braces the input area will not show the typed in text (for passwords)!<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#receive(java.lang.String)">receive</A> in interface <A HREF="../modules/Module.html">Module</A><DT><B>Parameters:</B><DD><CODE>s</CODE> - The string to test.<DT><B>See Also: </B><DD><CODE>peer.InputPeer</CODE></DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../modules/MudConnector.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="../modules/TextLabel.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="Script.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/modules/TextLabel.html b/web/root/telnet/Documentation/Source/modules/TextLabel.html
deleted file mode 100644
index 0c47df1748..0000000000
--- a/web/root/telnet/Documentation/Source/modules/TextLabel.html
+++ /dev/null
@@ -1,523 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:35 CEST 1999 -->
-<TITLE>
-: Class  TextLabel
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../modules/Script.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="TextLabel.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.awt.Component">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-modules</FONT>
-<BR>
-Class  TextLabel</H2>
-<PRE>
-java.lang.Object
-  |
-  +--java.awt.Component
-        |
-        +--java.awt.Container
-              |
-              +--java.awt.Panel
-                    |
-                    +--<B>modules.TextLabel</B>
-</PRE>
-<HR>
-<DL>
-<DT>public class <B>TextLabel</B><DT>extends java.awt.Panel<DT>implements <A HREF="../modules/Module.html">Module</A></DL>
-
-<P>
-This small module lets you display text somewhere in the applets area.
-
- <DL>
-  <DT><B>Label:</B>
-   <DD><PRE>&lt;PARAM NAME=labelRows    VALUE=&quot;<B><I>rows</B></I>&quot;&gt;</PRE>
-   <DD>Defines the how many rows the label will have.
-   <DD><PRE>&lt;PARAM NAME=labelCols    VALUE=&quot;<B><I>cols</B></I>&quot;&gt;</PRE>
-   <DD>Defines the how many columns the label will have.
-   <DD><PRE>&lt;PARAM NAME=labelFont    VALUE=&quot;<B><I>font[,size]</B></I>&quot;&gt;</PRE>
-   <DD>The font for displaying the label text. If the <I>size</I> is left out
-       a standard size of 14 points is assumed.
-   <DD><PRE>&lt;PARAM NAME=label#<I>number</I> VALUE=&quot;<B><I>text</I></B>&quot;&gt;</PRE>
-   <DT>The labels are enumerated and displayed in rows and columns.
- </DL>
-<P>
-<DL>
-<DT><B>Version: </B><DD>$Id: TextLabel.html,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $</DD>
-<DT><B>Author: </B><DD>Matthias L. Jugel, Marcus Mei�ner</DD>
-<DT><B>See Also: </B><DD><A HREF="../modules/Module.html"><CODE>Module</CODE></A>, <A HREF="../serialized-form.html#modules.TextLabel">Serialized Form</A></DL>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Fields inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>BOTTOM_ALIGNMENT,  
-CENTER_ALIGNMENT,  
-LEFT_ALIGNMENT,  
-RIGHT_ALIGNMENT,  
-TOP_ALIGNMENT</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="../modules/TextLabel.html#TextLabel()">TextLabel</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/TextLabel.html#connect(java.lang.String, int)">connect</A></B>(java.lang.String&nbsp;host,
-        int&nbsp;port)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Do nothing upon connect.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/TextLabel.html#disconnect()">disconnect</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Do nothing upon disconnecton.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/TextLabel.html#receive(java.lang.String)">receive</A></B>(java.lang.String&nbsp;s)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Do nothing when receiving text.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../modules/TextLabel.html#setLoader(java.lang.Object)">setLoader</A></B>(java.lang.Object&nbsp;o)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the applet as module loader and configure.</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Panel"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Panel</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>addNotify</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Container</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>add, 
-add, 
-add, 
-add, 
-add, 
-addContainerListener, 
-addImpl, 
-countComponents, 
-deliverEvent, 
-doLayout, 
-findComponentAt, 
-findComponentAt, 
-getAlignmentX, 
-getAlignmentY, 
-getComponent, 
-getComponentAt, 
-getComponentAt, 
-getComponentCount, 
-getComponents, 
-getInsets, 
-getLayout, 
-getMaximumSize, 
-getMinimumSize, 
-getPreferredSize, 
-insets, 
-invalidate, 
-isAncestorOf, 
-layout, 
-list, 
-list, 
-locate, 
-minimumSize, 
-paint, 
-paintComponents, 
-paramString, 
-preferredSize, 
-print, 
-printComponents, 
-processContainerEvent, 
-processEvent, 
-remove, 
-remove, 
-removeAll, 
-removeContainerListener, 
-removeNotify, 
-setFont, 
-setLayout, 
-update, 
-validate, 
-validateTree</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>action, 
-add, 
-addComponentListener, 
-addFocusListener, 
-addInputMethodListener, 
-addKeyListener, 
-addMouseListener, 
-addMouseMotionListener, 
-addPropertyChangeListener, 
-addPropertyChangeListener, 
-bounds, 
-checkImage, 
-checkImage, 
-coalesceEvents, 
-contains, 
-contains, 
-createImage, 
-createImage, 
-disable, 
-disableEvents, 
-dispatchEvent, 
-enable, 
-enable, 
-enableEvents, 
-enableInputMethods, 
-firePropertyChange, 
-getBackground, 
-getBounds, 
-getBounds, 
-getColorModel, 
-getComponentOrientation, 
-getCursor, 
-getDropTarget, 
-getFont, 
-getFontMetrics, 
-getForeground, 
-getGraphics, 
-getHeight, 
-getInputContext, 
-getInputMethodRequests, 
-getLocale, 
-getLocation, 
-getLocation, 
-getLocationOnScreen, 
-getName, 
-getParent, 
-getPeer, 
-getSize, 
-getSize, 
-getToolkit, 
-getTreeLock, 
-getWidth, 
-getX, 
-getY, 
-gotFocus, 
-handleEvent, 
-hasFocus, 
-hide, 
-imageUpdate, 
-inside, 
-isDisplayable, 
-isDoubleBuffered, 
-isEnabled, 
-isFocusTraversable, 
-isLightweight, 
-isOpaque, 
-isShowing, 
-isValid, 
-isVisible, 
-keyDown, 
-keyUp, 
-list, 
-list, 
-list, 
-location, 
-lostFocus, 
-mouseDown, 
-mouseDrag, 
-mouseEnter, 
-mouseExit, 
-mouseMove, 
-mouseUp, 
-move, 
-nextFocus, 
-paintAll, 
-postEvent, 
-prepareImage, 
-prepareImage, 
-printAll, 
-processComponentEvent, 
-processFocusEvent, 
-processInputMethodEvent, 
-processKeyEvent, 
-processMouseEvent, 
-processMouseMotionEvent, 
-remove, 
-removeComponentListener, 
-removeFocusListener, 
-removeInputMethodListener, 
-removeKeyListener, 
-removeMouseListener, 
-removeMouseMotionListener, 
-removePropertyChangeListener, 
-removePropertyChangeListener, 
-repaint, 
-repaint, 
-repaint, 
-repaint, 
-requestFocus, 
-reshape, 
-resize, 
-resize, 
-setBackground, 
-setBounds, 
-setBounds, 
-setComponentOrientation, 
-setCursor, 
-setDropTarget, 
-setEnabled, 
-setForeground, 
-setLocale, 
-setLocation, 
-setLocation, 
-setName, 
-setSize, 
-setSize, 
-setVisible, 
-show, 
-show, 
-size, 
-toString, 
-transferFocus</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>clone, 
-equals, 
-finalize, 
-getClass, 
-hashCode, 
-notify, 
-notifyAll, 
-wait, 
-wait, 
-wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="TextLabel()"><!-- --></A><H3>
-TextLabel</H3>
-<PRE>
-public <B>TextLabel</B>()</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="setLoader(java.lang.Object)"><!-- --></A><H3>
-setLoader</H3>
-<PRE>
-public void <B>setLoader</B>(java.lang.Object&nbsp;o)</PRE>
-<DL>
-<DD>Set the applet as module loader and configure.<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#setLoader(java.lang.Object)">setLoader</A> in interface <A HREF="../modules/Module.html">Module</A><DT><B>Parameters:</B><DD><CODE>o</CODE> - the object that is the applet (must be an Applet)<DT><B>See Also: </B><DD><CODE>module.Module</CODE>, 
-<CODE>Applet</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="connect(java.lang.String, int)"><!-- --></A><H3>
-connect</H3>
-<PRE>
-public void <B>connect</B>(java.lang.String&nbsp;host,
-                    int&nbsp;port)</PRE>
-<DL>
-<DD>Do nothing upon connect.<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#connect(java.lang.String, int)">connect</A> in interface <A HREF="../modules/Module.html">Module</A><DT><B>Parameters:</B><DD><CODE>host</CODE> - remote hostaddress - not used<DD><CODE>port</CODE> - remote port - not used</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="disconnect()"><!-- --></A><H3>
-disconnect</H3>
-<PRE>
-public void <B>disconnect</B>()</PRE>
-<DL>
-<DD>Do nothing upon disconnecton.<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#disconnect()">disconnect</A> in interface <A HREF="../modules/Module.html">Module</A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="receive(java.lang.String)"><!-- --></A><H3>
-receive</H3>
-<PRE>
-public java.lang.String <B>receive</B>(java.lang.String&nbsp;s)</PRE>
-<DL>
-<DD>Do nothing when receiving text. Be removed upon first call.<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../modules/Module.html#receive(java.lang.String)">receive</A> in interface <A HREF="../modules/Module.html">Module</A><DT><B>Parameters:</B><DD><CODE>s</CODE> - The string received.<DT><B>See Also: </B><DD><CODE>peer.InputPeer</CODE></DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../modules/Script.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="TextLabel.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.awt.Component">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/modules/package-frame.html b/web/root/telnet/Documentation/Source/modules/package-frame.html
deleted file mode 100644
index dab1f3cd1d..0000000000
--- a/web/root/telnet/Documentation/Source/modules/package-frame.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:32 CEST 1999 -->
-<TITLE>
-: Package modules
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-<FONT size="+1" ID="FrameTitleFont">
-<A HREF="../modules/package-summary.html" TARGET="classFrame">modules</A></FONT>
-<TABLE BORDER="0" WIDTH="100%">
-<TR>
-<TD NOWRAP><FONT size="+1" ID="FrameHeadingFont">
-Interfaces</FONT>&nbsp;
-<FONT ID="FrameItemFont">
-<BR>
-<A HREF="Module.html" TARGET="classFrame"><I>Module</I></A></FONT></TD>
-</TR>
-</TABLE>
-
-
-<TABLE BORDER="0" WIDTH="100%">
-<TR>
-<TD NOWRAP><FONT size="+1" ID="FrameHeadingFont">
-Classes</FONT>&nbsp;
-<FONT ID="FrameItemFont">
-<BR>
-<A HREF="BSXModule.html" TARGET="classFrame">BSXModule</A>
-<BR>
-<A HREF="ButtonBar.html" TARGET="classFrame">ButtonBar</A>
-<BR>
-<A HREF="MudConnector.html" TARGET="classFrame">MudConnector</A>
-<BR>
-<A HREF="Script.html" TARGET="classFrame">Script</A>
-<BR>
-<A HREF="TextLabel.html" TARGET="classFrame">TextLabel</A></FONT></TD>
-</TR>
-</TABLE>
-
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/modules/package-summary.html b/web/root/telnet/Documentation/Source/modules/package-summary.html
deleted file mode 100644
index 6ff39f7c09..0000000000
--- a/web/root/telnet/Documentation/Source/modules/package-summary.html
+++ /dev/null
@@ -1,136 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:32 CEST 1999 -->
-<TITLE>
-: Package modules
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../display/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
-&nbsp;<A HREF="../socket/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-summary.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<H2>
-Package modules
-</H2>
-
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Interface Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="Module.html"><I>Module</I></A></B></TD>
-<TD>Modules must implement this interface to be detected as valid modules</TD>
-</TR>
-</TABLE>
-&nbsp;
-
-<P>
-
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Class Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="BSXModule.html">BSXModule</A></B></TD>
-<TD>The ultimate BSX module implements most of the common used
- BSX controll sequences.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="ButtonBar.html">ButtonBar</A></B></TD>
-<TD>This class implements a programmable button bar.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="MudConnector.html">MudConnector</A></B></TD>
-<TD>A specially designed module for the 
- <A HREF="http://www.mudconnect.com/">MUD Connector</A>.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="Script.html">Script</A></B></TD>
-<TD>A very simple scripting module.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="TextLabel.html">TextLabel</A></B></TD>
-<TD>This small module lets you display text somewhere in the applets area.</TD>
-</TR>
-</TABLE>
-&nbsp;
-
-<P>
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../display/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
-&nbsp;<A HREF="../socket/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-summary.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/modules/package-tree.html b/web/root/telnet/Documentation/Source/modules/package-tree.html
deleted file mode 100644
index 00d9e9dd6b..0000000000
--- a/web/root/telnet/Documentation/Source/modules/package-tree.html
+++ /dev/null
@@ -1,124 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:32 CEST 1999 -->
-<TITLE>
-: modules Class Hierarchy
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../display/package-tree.html"><B>PREV</B></A>&nbsp;
-&nbsp;<A HREF="../socket/package-tree.html"><B>NEXT</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-tree.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<CENTER>
-<H2>
-Hierarchy For Package modules
-</H2>
-</CENTER>
-<DL>
-<DT><B>Package Hierarchies: </B><DD><A HREF="../overview-tree.html">All Packages</A></DL>
-<HR>
-<H2>
-Class Hierarchy
-</H2>
-<UL>
-<LI TYPE="circle">class java.lang.Object<UL>
-<LI TYPE="circle">class java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
-<UL>
-<LI TYPE="circle">class java.awt.Container<UL>
-<LI TYPE="circle">class java.awt.Panel<UL>
-<LI TYPE="circle">class modules.<A HREF="../modules/BSXModule.html"><B>BSXModule</B></A> (implements modules.<A HREF="../modules/Module.html">Module</A>)
-<LI TYPE="circle">class modules.<A HREF="../modules/ButtonBar.html"><B>ButtonBar</B></A> (implements modules.<A HREF="../modules/Module.html">Module</A>)
-<LI TYPE="circle">class modules.<A HREF="../modules/MudConnector.html"><B>MudConnector</B></A> (implements modules.<A HREF="../modules/Module.html">Module</A>, java.lang.Runnable)
-<LI TYPE="circle">class modules.<A HREF="../modules/TextLabel.html"><B>TextLabel</B></A> (implements modules.<A HREF="../modules/Module.html">Module</A>)
-</UL>
-</UL>
-</UL>
-<LI TYPE="circle">class java.util.Dictionary<UL>
-<LI TYPE="circle">class java.util.Hashtable (implements java.lang.Cloneable, java.util.Map, java.io.Serializable)
-<UL>
-<LI TYPE="circle">class modules.<A HREF="../modules/Script.html"><B>Script</B></A> (implements modules.<A HREF="../modules/Module.html">Module</A>)
-</UL>
-</UL>
-</UL>
-</UL>
-<H2>
-Interface Hierarchy
-</H2>
-<UL>
-<LI TYPE="circle">interface modules.<A HREF="../modules/Module.html"><B>Module</B></A></UL>
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../display/package-tree.html"><B>PREV</B></A>&nbsp;
-&nbsp;<A HREF="../socket/package-tree.html"><B>NEXT</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-tree.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/overview-frame.html b/web/root/telnet/Documentation/Source/overview-frame.html
deleted file mode 100644
index cc150b57d8..0000000000
--- a/web/root/telnet/Documentation/Source/overview-frame.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:32 CEST 1999 -->
-<TITLE>
-: Overview
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<TABLE BORDER="0" WIDTH="100%">
-<TR>
-<TD NOWRAP><FONT size="+1" ID="FrameTitleFont">
-<B></B></FONT></TD>
-</TR>
-</TABLE>
-
-<TABLE BORDER="0" WIDTH="100%">
-<TR>
-<TD NOWRAP><FONT ID="FrameItemFont"><A HREF="allclasses-frame.html" TARGET="packageFrame">All Classes</A></FONT>
-<P>
-<FONT size="+1" ID="FrameHeadingFont">
-Packages</FONT>
-<BR>
-<FONT ID="FrameItemFont"><A HREF="display/package-frame.html" TARGET="packageFrame">display</A></FONT>
-<BR>
-<FONT ID="FrameItemFont"><A HREF="modules/package-frame.html" TARGET="packageFrame">modules</A></FONT>
-<BR>
-<FONT ID="FrameItemFont"><A HREF="socket/package-frame.html" TARGET="packageFrame">socket</A></FONT>
-<BR>
-</TD>
-</TR>
-</TABLE>
-
-<P>
-&nbsp;
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/overview-summary.html b/web/root/telnet/Documentation/Source/overview-summary.html
deleted file mode 100644
index 6579b2f622..0000000000
--- a/web/root/telnet/Documentation/Source/overview-summary.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:32 CEST 1999 -->
-<TITLE>
-: Overview
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Overview</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="overview-summary.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Packages</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD WIDTH="20%"><B><A HREF="display/package-summary.html">display</A></B></TD>
-<TD>&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD WIDTH="20%"><B><A HREF="modules/package-summary.html">modules</A></B></TD>
-<TD>&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD WIDTH="20%"><B><A HREF="socket/package-summary.html">socket</A></B></TD>
-<TD>&nbsp;</TD>
-</TR>
-</TABLE>
-
-<P>
-&nbsp;<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Overview</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="overview-summary.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/overview-tree.html b/web/root/telnet/Documentation/Source/overview-tree.html
deleted file mode 100644
index 79d996ed79..0000000000
--- a/web/root/telnet/Documentation/Source/overview-tree.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:30 CEST 1999 -->
-<TITLE>
-: Class Hierarchy
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="overview-tree.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<CENTER>
-<H2>
-Hierarchy For All Packages</H2>
-</CENTER>
-<DL>
-<DT><B>Package Hierarchies: </B><DD><A HREF="display/package-tree.html">display</A>, <A HREF="modules/package-tree.html">modules</A>, <A HREF="socket/package-tree.html">socket</A></DL>
-<HR>
-<H2>
-Class Hierarchy
-</H2>
-<UL>
-<LI TYPE="circle">class java.lang.Object<UL>
-<LI TYPE="circle">class java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
-<UL>
-<LI TYPE="circle">class java.awt.Container<UL>
-<LI TYPE="circle">class java.awt.Panel<UL>
-<LI TYPE="circle">class java.applet.Applet<UL>
-<LI TYPE="circle">class <A HREF="appWrapper.html"><B>appWrapper</B></A> (implements java.applet.AppletStub, java.lang.Runnable)
-<LI TYPE="circle">class <A HREF="CharDisplayTest.html"><B>CharDisplayTest</B></A><LI TYPE="circle">class <A HREF="telnet.html"><B>telnet</B></A> (implements java.lang.Runnable, socket.<A HREF="socket/StatusPeer.html">StatusPeer</A>, display.<A HREF="display/TerminalHost.html">TerminalHost</A>)
-</UL>
-<LI TYPE="circle">class modules.<A HREF="modules/BSXModule.html"><B>BSXModule</B></A> (implements modules.<A HREF="modules/Module.html">Module</A>)
-<LI TYPE="circle">class modules.<A HREF="modules/ButtonBar.html"><B>ButtonBar</B></A> (implements modules.<A HREF="modules/Module.html">Module</A>)
-<LI TYPE="circle">class display.<A HREF="display/CharDisplay.html"><B>CharDisplay</B></A><LI TYPE="circle">class modules.<A HREF="modules/MudConnector.html"><B>MudConnector</B></A> (implements modules.<A HREF="modules/Module.html">Module</A>, java.lang.Runnable)
-<LI TYPE="circle">class display.<A HREF="display/Terminal.html"><B>Terminal</B></A><UL>
-<LI TYPE="circle">class display.<A HREF="display/vt320.html"><B>vt320</B></A> (implements display.<A HREF="display/TerminalHost.html">TerminalHost</A>)
-</UL>
-<LI TYPE="circle">class modules.<A HREF="modules/TextLabel.html"><B>TextLabel</B></A> (implements modules.<A HREF="modules/Module.html">Module</A>)
-</UL>
-</UL>
-</UL>
-<LI TYPE="circle">class java.util.Dictionary<UL>
-<LI TYPE="circle">class java.util.Hashtable (implements java.lang.Cloneable, java.util.Map, java.io.Serializable)
-<UL>
-<LI TYPE="circle">class modules.<A HREF="modules/Script.html"><B>Script</B></A> (implements modules.<A HREF="modules/Module.html">Module</A>)
-</UL>
-</UL>
-<LI TYPE="circle">class <A HREF="proxy.html"><B>proxy</B></A> (implements java.lang.Runnable)
-<LI TYPE="circle">class display.<A HREF="display/SoftFont.html"><B>SoftFont</B></A><LI TYPE="circle">class socket.<A HREF="socket/TelnetIO.html"><B>TelnetIO</B></A> (implements socket.<A HREF="socket/StatusPeer.html">StatusPeer</A>)
-<LI TYPE="circle">class socket.<A HREF="socket/TelnetWrapper.html"><B>TelnetWrapper</B></A><LI TYPE="circle">class java.lang.Throwable (implements java.io.Serializable)
-<UL>
-<LI TYPE="circle">class java.lang.Exception<UL>
-<LI TYPE="circle">class java.io.IOException<UL>
-<LI TYPE="circle">class socket.<A HREF="socket/TimedOutException.html"><B>TimedOutException</B></A></UL>
-</UL>
-</UL>
-</UL>
-</UL>
-<H2>
-Interface Hierarchy
-</H2>
-<UL>
-<LI TYPE="circle">interface modules.<A HREF="modules/Module.html"><B>Module</B></A><LI TYPE="circle">interface socket.<A HREF="socket/StatusPeer.html"><B>StatusPeer</B></A><LI TYPE="circle">interface display.<A HREF="display/TerminalHost.html"><B>TerminalHost</B></A></UL>
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="overview-tree.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/package-list b/web/root/telnet/Documentation/Source/package-list
deleted file mode 100644
index 1b8a62b2c9..0000000000
--- a/web/root/telnet/Documentation/Source/package-list
+++ /dev/null
@@ -1,3 +0,0 @@
-display
-modules
-socket
diff --git a/web/root/telnet/Documentation/Source/packages.html b/web/root/telnet/Documentation/Source/packages.html
deleted file mode 100644
index 4bca39c29c..0000000000
--- a/web/root/telnet/Documentation/Source/packages.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:31 CEST 1999 -->
-<TITLE>
-
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<BR>
-
-<BR>
-
-<BR>
-<CENTER>
-The front page has been renamed.Please see:
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="index.html">Frame version</A>
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="overview-summary.html">Non-frame version.</A></CENTER>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/proxy.html b/web/root/telnet/Documentation/Source/proxy.html
deleted file mode 100644
index f5e6778ca1..0000000000
--- a/web/root/telnet/Documentation/Source/proxy.html
+++ /dev/null
@@ -1,252 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:33 CEST 1999 -->
-<TITLE>
-: Class  proxy
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="CharDisplayTest.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="telnet.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="proxy.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-Class  proxy</H2>
-<PRE>
-java.lang.Object
-  |
-  +--<B>proxy</B>
-</PRE>
-<HR>
-<DL>
-<DT>public class <B>proxy</B><DT>extends java.lang.Object<DT>implements java.lang.Runnable</DL>
-
-<P>
-proxy class -- implements a proxy server to redirect network access
-<P>
-<DL>
-<DT><B>Version: </B><DD>$Id: proxy.html,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $</DD>
-<DT><B>Author: </B><DD>Matthias L. Jugel, Marcus Mei�ner</DD>
-</DL>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="proxy.html#proxy(int, java.lang.String, int)">proxy</A></B>(int&nbsp;lport,
-      java.lang.String&nbsp;raddr,
-      int&nbsp;rport)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a server socket and start listening on the local port.</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="proxy.html#main(java.lang.String[])">main</A></B>(java.lang.String[]&nbsp;args)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is called when the application is run on the commandline.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="proxy.html#run()">run</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cycle around until an error occurs and wait for incoming connections.</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>clone, 
-equals, 
-finalize, 
-getClass, 
-hashCode, 
-notify, 
-notifyAll, 
-toString, 
-wait, 
-wait, 
-wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="proxy(int, java.lang.String, int)"><!-- --></A><H3>
-proxy</H3>
-<PRE>
-public <B>proxy</B>(int&nbsp;lport,
-             java.lang.String&nbsp;raddr,
-             int&nbsp;rport)</PRE>
-<DL>
-<DD>Create a server socket and start listening on the local port.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>lport</CODE> - local port<DD><CODE>raddr</CODE> - address of the destination<DD><CODE>rport</CODE> - port on the destination host</DL>
-</DD>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="main(java.lang.String[])"><!-- --></A><H3>
-main</H3>
-<PRE>
-public static void <B>main</B>(java.lang.String[]&nbsp;args)</PRE>
-<DL>
-<DD>This method is called when the application is run on the commandline.
- It takes two or three arguments:
- usage: java proxy local-port destination-host destination-port<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>args</CODE> - The command line arguments</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="run()"><!-- --></A><H3>
-run</H3>
-<PRE>
-public void <B>run</B>()</PRE>
-<DL>
-<DD>Cycle around until an error occurs and wait for incoming connections.
- An incoming connection will create two redirectors. One for
- local-host - destination-host and one for destination-host - local-host.<DD><DL>
-<DT><B>Specified by: </B><DD>run in interface java.lang.Runnable</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="CharDisplayTest.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;<A HREF="telnet.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="proxy.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/serialized-form.html b/web/root/telnet/Documentation/Source/serialized-form.html
deleted file mode 100644
index 72f77d6f63..0000000000
--- a/web/root/telnet/Documentation/Source/serialized-form.html
+++ /dev/null
@@ -1,1635 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:36 CEST 1999 -->
-<TITLE>
-Serialized Form
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="serialized-form.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<CENTER>
-<H1>
-Serialized Form</H1>
-</CENTER>
-<HR SIZE="4" NOSHADE>
-
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableSubHeadingColor">
-<TD ALIGN="center"><FONT SIZE="+2">
-<B>Package</B> <B>display</B></FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-<A NAME="display.CharDisplay"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableSubHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Class <A HREF="display/CharDisplay.html">display.CharDisplay</A> implements Serializable</B></FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-<A NAME="serializedForm"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Serialized Fields</B></FONT></TD>
-</TR>
-</TABLE>
-
-<H3>
-bottomMargin</H3>
-<PRE>
-int <B>bottomMargin</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-bufSize</H3>
-<PRE>
-int <B>bufSize</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-charArray</H3>
-<PRE>
-char[][] <B>charArray</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-charAttributes</H3>
-<PRE>
-int[][] <B>charAttributes</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-charDescent</H3>
-<PRE>
-int <B>charDescent</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-charHeight</H3>
-<PRE>
-int <B>charHeight</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-charWidth</H3>
-<PRE>
-int <B>charWidth</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-color</H3>
-<PRE>
-java.awt.Color[] <B>color</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-cursorX</H3>
-<PRE>
-int <B>cursorX</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-cursorY</H3>
-<PRE>
-int <B>cursorY</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-fm</H3>
-<PRE>
-java.awt.FontMetrics <B>fm</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-insets</H3>
-<PRE>
-java.awt.Insets <B>insets</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-maxBufSize</H3>
-<PRE>
-int <B>maxBufSize</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-normalFont</H3>
-<PRE>
-java.awt.Font <B>normalFont</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-raised</H3>
-<PRE>
-boolean <B>raised</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-resizeStrategy</H3>
-<PRE>
-int <B>resizeStrategy</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-scrBarPos</H3>
-<PRE>
-java.lang.String <B>scrBarPos</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-screenBase</H3>
-<PRE>
-int <B>screenBase</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-screenLocked</H3>
-<PRE>
-boolean <B>screenLocked</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-scrollBar</H3>
-<PRE>
-java.awt.Scrollbar <B>scrollBar</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-selectBegin</H3>
-<PRE>
-java.awt.Point <B>selectBegin</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-selectEnd</H3>
-<PRE>
-java.awt.Point <B>selectEnd</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-selectFrame</H3>
-<PRE>
-java.awt.Frame <B>selectFrame</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-selection</H3>
-<PRE>
-java.awt.TextArea <B>selection</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-sf</H3>
-<PRE>
-<A HREF="display/SoftFont.html">SoftFont</A> <B>sf</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-size</H3>
-<PRE>
-java.awt.Dimension <B>size</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-topMargin</H3>
-<PRE>
-int <B>topMargin</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-update</H3>
-<PRE>
-boolean[] <B>update</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-version</H3>
-<PRE>
-java.lang.String <B>version</B></PRE>
-<DL>
-<DD>If you need the runtime version, just ask this variable.</DL>
-<HR>
-
-<H3>
-windowBase</H3>
-<PRE>
-int <B>windowBase</B></PRE>
-<DL>
-</DL>
-
-<P>
-<A NAME="display.Terminal"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableSubHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Class <A HREF="display/Terminal.html">display.Terminal</A> implements Serializable</B></FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-
-<P>
-<A NAME="display.vt320"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableSubHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Class <A HREF="display/vt320.html">display.vt320</A> implements Serializable</B></FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-<A NAME="serializedForm"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Serialized Fields</B></FONT></TD>
-</TR>
-</TABLE>
-
-<H3>
-attributes</H3>
-<PRE>
-int <B>attributes</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-C</H3>
-<PRE>
-int <B>C</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-DCEvar</H3>
-<PRE>
-int <B>DCEvar</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-DCEvars</H3>
-<PRE>
-int[] <B>DCEvars</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-dcs</H3>
-<PRE>
-java.lang.String <B>dcs</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-display</H3>
-<PRE>
-<A HREF="display/CharDisplay.html">CharDisplay</A> <B>display</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-Do</H3>
-<PRE>
-java.lang.String <B>Do</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-Find</H3>
-<PRE>
-java.lang.String <B>Find</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-FunctionKey</H3>
-<PRE>
-java.lang.String[] <B>FunctionKey</B></PRE>
-<DL>
-<DD>Strings to send on function key presseic</DL>
-<HR>
-
-<H3>
-FunctionKeyAlt</H3>
-<PRE>
-java.lang.String[] <B>FunctionKeyAlt</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-FunctionKeyCtrl</H3>
-<PRE>
-java.lang.String[] <B>FunctionKeyCtrl</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-FunctionKeyShift</H3>
-<PRE>
-java.lang.String[] <B>FunctionKeyShift</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-Help</H3>
-<PRE>
-java.lang.String <B>Help</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-host</H3>
-<PRE>
-<A HREF="display/TerminalHost.html">TerminalHost</A> <B>host</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-Insert</H3>
-<PRE>
-java.lang.String <B>Insert</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-insertmode</H3>
-<PRE>
-int <B>insertmode</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KeyBacktab</H3>
-<PRE>
-java.lang.String <B>KeyBacktab</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KeyDown</H3>
-<PRE>
-java.lang.String <B>KeyDown</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KeyLeft</H3>
-<PRE>
-java.lang.String <B>KeyLeft</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KeyRight</H3>
-<PRE>
-java.lang.String <B>KeyRight</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KeyTab</H3>
-<PRE>
-java.lang.String <B>KeyTab</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KeyUp</H3>
-<PRE>
-java.lang.String <B>KeyUp</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KP0</H3>
-<PRE>
-java.lang.String <B>KP0</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KP1</H3>
-<PRE>
-java.lang.String <B>KP1</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KP2</H3>
-<PRE>
-java.lang.String <B>KP2</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KP3</H3>
-<PRE>
-java.lang.String <B>KP3</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KP4</H3>
-<PRE>
-java.lang.String <B>KP4</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KP5</H3>
-<PRE>
-java.lang.String <B>KP5</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KP6</H3>
-<PRE>
-java.lang.String <B>KP6</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KP7</H3>
-<PRE>
-java.lang.String <B>KP7</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KP8</H3>
-<PRE>
-java.lang.String <B>KP8</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KP9</H3>
-<PRE>
-java.lang.String <B>KP9</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KPComma</H3>
-<PRE>
-java.lang.String <B>KPComma</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KPEnter</H3>
-<PRE>
-java.lang.String <B>KPEnter</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KPMinus</H3>
-<PRE>
-java.lang.String <B>KPMinus</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-KPPeriod</H3>
-<PRE>
-java.lang.String <B>KPPeriod</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-moveoutsidemargins</H3>
-<PRE>
-boolean <B>moveoutsidemargins</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-NextScn</H3>
-<PRE>
-java.lang.String <B>NextScn</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-normalcursor</H3>
-<PRE>
-int <B>normalcursor</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-osc</H3>
-<PRE>
-java.lang.String <B>osc</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-osn</H3>
-<PRE>
-java.lang.String <B>osn</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-PF1</H3>
-<PRE>
-java.lang.String <B>PF1</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-PF2</H3>
-<PRE>
-java.lang.String <B>PF2</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-PF3</H3>
-<PRE>
-java.lang.String <B>PF3</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-PF4</H3>
-<PRE>
-java.lang.String <B>PF4</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-pressedKey</H3>
-<PRE>
-int <B>pressedKey</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-pressedWhen</H3>
-<PRE>
-long <B>pressedWhen</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-PrevScn</H3>
-<PRE>
-java.lang.String <B>PrevScn</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-R</H3>
-<PRE>
-int <B>R</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-Remove</H3>
-<PRE>
-java.lang.String <B>Remove</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-Sa</H3>
-<PRE>
-int <B>Sa</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-Sc</H3>
-<PRE>
-int <B>Sc</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-Select</H3>
-<PRE>
-java.lang.String <B>Select</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-sendcrlf</H3>
-<PRE>
-boolean <B>sendcrlf</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-Sr</H3>
-<PRE>
-int <B>Sr</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-statusmode</H3>
-<PRE>
-int <B>statusmode</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-Tabs</H3>
-<PRE>
-byte[] <B>Tabs</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-term_state</H3>
-<PRE>
-int <B>term_state</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-terminalID</H3>
-<PRE>
-java.lang.String <B>terminalID</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-useibmcharset</H3>
-<PRE>
-boolean <B>useibmcharset</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-vms</H3>
-<PRE>
-boolean <B>vms</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-vt52mode</H3>
-<PRE>
-int <B>vt52mode</B></PRE>
-<DL>
-</DL>
-
-<P>
-<HR SIZE="4" NOSHADE>
-
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableSubHeadingColor">
-<TD ALIGN="center"><FONT SIZE="+2">
-<B>Package</B> <B>modules</B></FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-<A NAME="modules.BSXModule"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableSubHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Class <A HREF="modules/BSXModule.html">modules.BSXModule</A> implements Serializable</B></FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-<A NAME="serializedForm"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Serialized Fields</B></FONT></TD>
-</TR>
-</TABLE>
-
-<H3>
-bsxButton</H3>
-<PRE>
-java.awt.Button <B>bsxButton</B></PRE>
-<DL>
-<DD>the Buttons to switch on and off the logging and BSX handling</DL>
-<HR>
-
-<H3>
-bsxCheckIt</H3>
-<PRE>
-boolean <B>bsxCheckIt</B></PRE>
-<DL>
-<DD>the states of the Buttons</DL>
-<HR>
-
-<H3>
-BSXData</H3>
-<PRE>
-java.lang.String <B>BSXData</B></PRE>
-<DL>
-<DD>holds the BSX description, including the numbers of polygons and edges</DL>
-<HR>
-
-<H3>
-bsxWindow</H3>
-<PRE>
-modules.bsx.BSXDisplay <B>bsxWindow</B></PRE>
-<DL>
-<DD>The Frame, where the graphic is drawn</DL>
-<HR>
-
-<H3>
-clientVersion</H3>
-<PRE>
-java.lang.String <B>clientVersion</B></PRE>
-<DL>
-<DD>Client Version</DL>
-<HR>
-
-<H3>
-intEdges</H3>
-<PRE>
-int <B>intEdges</B></PRE>
-<DL>
-<DD>holds the number of edges in the current polygon as an int</DL>
-<HR>
-
-<H3>
-intPolys</H3>
-<PRE>
-int <B>intPolys</B></PRE>
-<DL>
-<DD>holds the number of polygons in the current description as an int</DL>
-<HR>
-
-<H3>
-intXPos</H3>
-<PRE>
-int <B>intXPos</B></PRE>
-<DL>
-<DD>holds the X position of the current object as an int</DL>
-<HR>
-
-<H3>
-intYPos</H3>
-<PRE>
-int <B>intYPos</B></PRE>
-<DL>
-<DD>holds the Y position of the current object as an int</DL>
-<HR>
-
-<H3>
-lastCommand</H3>
-<PRE>
-java.lang.String <B>lastCommand</B></PRE>
-<DL>
-<DD>lastCommand is a Statedescriptor.<BR>
- if lastCommand.length()=4 then the entire Command has been read
- else go on reading the command completly<BR>
- Commands are: PRO SCE VIO DFS DFO TMS RMO RFS RQV PUR
- additional commands are: BOM EOM LON LOF TXT which will not be supported 
- by Regenbogen BSX java Client.<BR>
- Commands are preceeded by a @</DL>
-<HR>
-
-<H3>
-lastState</H3>
-<PRE>
-int <B>lastState</B></PRE>
-<DL>
-<DD>lastState identifies what we have done last time we received a string
- <UL>
- <LI>-1 undefined -> used to mark succesful work
- <LI> 0 nothing -> go on searching for a new command
- <LI> 1 identifier -> we have to complete the identifier
- <LI> 2 download -> we have to get more BSXData
- </UL></DL>
-<HR>
-
-<H3>
-logButton</H3>
-<PRE>
-java.awt.Button <B>logButton</B></PRE>
-<DL>
-<DD>the Buttons to switch on and off the logging and BSX handling</DL>
-<HR>
-
-<H3>
-logging</H3>
-<PRE>
-boolean <B>logging</B></PRE>
-<DL>
-<DD>the states of the Buttons</DL>
-<HR>
-
-<H3>
-parent</H3>
-<PRE>
-<A HREF="telnet.html">telnet</A> <B>parent</B></PRE>
-<DL>
-<DD>Our parent, the telnet app.</DL>
-<HR>
-
-<H3>
-strEdges</H3>
-<PRE>
-java.lang.String <B>strEdges</B></PRE>
-<DL>
-<DD>holds the number of edges in the current polygon as a String</DL>
-<HR>
-
-<H3>
-strIdentifier</H3>
-<PRE>
-java.lang.String <B>strIdentifier</B></PRE>
-<DL>
-<DD>holds the identifier of the current object</DL>
-<HR>
-
-<H3>
-strPolys</H3>
-<PRE>
-java.lang.String <B>strPolys</B></PRE>
-<DL>
-<DD>holds the number of polygons in the current description as a String</DL>
-<HR>
-
-<H3>
-strXPos</H3>
-<PRE>
-java.lang.String <B>strXPos</B></PRE>
-<DL>
-<DD>holds the X position of the current object as a String</DL>
-<HR>
-
-<H3>
-strYPos</H3>
-<PRE>
-java.lang.String <B>strYPos</B></PRE>
-<DL>
-<DD>holds the Y position of the current object as a String</DL>
-<HR>
-
-<H3>
-toplevel</H3>
-<PRE>
-java.awt.Container <B>toplevel</B></PRE>
-<DL>
-<DD>the Container, wich is around us</DL>
-
-<P>
-<A NAME="modules.ButtonBar"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableSubHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Class <A HREF="modules/ButtonBar.html">modules.ButtonBar</A> implements Serializable</B></FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-<A NAME="serializedForm"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Serialized Fields</B></FONT></TD>
-</TR>
-</TABLE>
-
-<H3>
-buttons</H3>
-<PRE>
-java.util.Hashtable <B>buttons</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-fields</H3>
-<PRE>
-java.util.Hashtable <B>fields</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-parent</H3>
-<PRE>
-<A HREF="telnet.html">telnet</A> <B>parent</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-toplevel</H3>
-<PRE>
-java.awt.Container <B>toplevel</B></PRE>
-<DL>
-</DL>
-
-<P>
-<A NAME="modules.MudConnector"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableSubHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Class <A HREF="modules/MudConnector.html">modules.MudConnector</A> implements Serializable</B></FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-<A NAME="serializedForm"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Serialized Fields</B></FONT></TD>
-</TR>
-</TABLE>
-
-<H3>
-address</H3>
-<PRE>
-java.awt.Panel <B>address</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-app</H3>
-<PRE>
-<A HREF="telnet.html">telnet</A> <B>app</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-connectButton</H3>
-<PRE>
-java.awt.Button <B>connectButton</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-disconnectButton</H3>
-<PRE>
-java.awt.Button <B>disconnectButton</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-display</H3>
-<PRE>
-java.awt.List <B>display</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-index</H3>
-<PRE>
-java.util.Vector <B>index</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-indicator</H3>
-<PRE>
-java.awt.Label <B>indicator</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-info</H3>
-<PRE>
-java.awt.TextField <B>info</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-layouter</H3>
-<PRE>
-java.awt.CardLayout <B>layouter</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-progress</H3>
-<PRE>
-java.awt.Panel <B>progress</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-refreshButton</H3>
-<PRE>
-java.awt.Button <B>refreshButton</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-server</H3>
-<PRE>
-java.net.URL <B>server</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-showButton</H3>
-<PRE>
-java.awt.Button <B>showButton</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-url</H3>
-<PRE>
-java.lang.String <B>url</B></PRE>
-<DL>
-</DL>
-
-<P>
-<A NAME="modules.Script"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableSubHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Class <A HREF="modules/Script.html">modules.Script</A> implements Serializable</B></FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-<A NAME="serializedForm"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Serialized Fields</B></FONT></TD>
-</TR>
-</TABLE>
-
-<H3>
-applet</H3>
-<PRE>
-<A HREF="telnet.html">telnet</A> <B>applet</B></PRE>
-<DL>
-</DL>
-
-<P>
-<A NAME="modules.TextLabel"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableSubHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Class <A HREF="modules/TextLabel.html">modules.TextLabel</A> implements Serializable</B></FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-<A NAME="serializedForm"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Serialized Fields</B></FONT></TD>
-</TR>
-</TABLE>
-
-<H3>
-applet</H3>
-<PRE>
-<A HREF="telnet.html">telnet</A> <B>applet</B></PRE>
-<DL>
-</DL>
-
-<P>
-<HR SIZE="4" NOSHADE>
-
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableSubHeadingColor">
-<TD ALIGN="center"><FONT SIZE="+2">
-<B>Package</B> <B>socket</B></FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-<A NAME="socket.TimedOutException"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableSubHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Class <A HREF="socket/TimedOutException.html">socket.TimedOutException</A> implements Serializable</B></FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-
-<P>
-<HR SIZE="4" NOSHADE>
-<A NAME="appWrapper"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableSubHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Class <A HREF="appWrapper.html">appWrapper</A> implements Serializable</B></FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-<A NAME="serializedForm"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Serialized Fields</B></FONT></TD>
-</TR>
-</TABLE>
-
-<H3>
-applet</H3>
-<PRE>
-java.applet.Applet <B>applet</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-appletName</H3>
-<PRE>
-java.lang.String <B>appletName</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-f</H3>
-<PRE>
-frame <B>f</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-frameTitle</H3>
-<PRE>
-java.lang.String <B>frameTitle</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-loader</H3>
-<PRE>
-java.lang.Thread <B>loader</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-startButton</H3>
-<PRE>
-java.awt.Button <B>startButton</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-startLabel</H3>
-<PRE>
-java.lang.String <B>startLabel</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-stopLabel</H3>
-<PRE>
-java.lang.String <B>stopLabel</B></PRE>
-<DL>
-</DL>
-
-<P>
-<HR SIZE="4" NOSHADE>
-<A NAME="CharDisplayTest"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableSubHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Class <A HREF="CharDisplayTest.html">CharDisplayTest</A> implements Serializable</B></FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-<A NAME="serializedForm"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Serialized Fields</B></FONT></TD>
-</TR>
-</TABLE>
-
-<H3>
-attr</H3>
-<PRE>
-java.awt.Button <B>attr</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-buttons</H3>
-<PRE>
-java.awt.Panel <B>buttons</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-chars</H3>
-<PRE>
-java.awt.Button <B>chars</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-display</H3>
-<PRE>
-<A HREF="display/CharDisplay.html">CharDisplay</A> <B>display</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-fonts</H3>
-<PRE>
-java.awt.Choice <B>fonts</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-from</H3>
-<PRE>
-java.awt.TextField <B>from</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-info</H3>
-<PRE>
-java.awt.Button <B>info</B></PRE>
-<DL>
-</DL>
-
-<P>
-<HR SIZE="4" NOSHADE>
-<A NAME="telnet"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableSubHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Class <A HREF="telnet.html">telnet</A> implements Serializable</B></FONT></TD>
-</TR>
-</TABLE>
-
-<P>
-<A NAME="serializedForm"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Serialized Fields</B></FONT></TD>
-</TR>
-</TABLE>
-
-<H3>
-address</H3>
-<PRE>
-java.lang.String <B>address</B></PRE>
-<DL>
-<DD>The host address to connect to. This is retrieved from the PARAM tag
- "address".</DL>
-<HR>
-
-<H3>
-connected</H3>
-<PRE>
-boolean <B>connected</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-emulation</H3>
-<PRE>
-java.lang.String <B>emulation</B></PRE>
-<DL>
-<DD>Emulation type (default is vt320). This can be specified as the PARAM
- tag "emulation".<DD><DL>
-<DT><B>See Also: </B><DD><CODE>term</CODE>, 
-<A HREF="display/Terminal.html"><CODE>Terminal</CODE></A>, 
-<A HREF="display/TerminalHost.html"><CODE>TerminalHost</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<H3>
-localecho</H3>
-<PRE>
-boolean <B>localecho</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-modules</H3>
-<PRE>
-java.util.Vector <B>modules</B></PRE>
-<DL>
-<DD>Dynamically loaded modules are stored here.</DL>
-<HR>
-
-<H3>
-params</H3>
-<PRE>
-java.util.Hashtable <B>params</B></PRE>
-<DL>
-<DD>This Hashtable contains information retrievable by getParameter() in case
- the program is run as an application and the AppletStub is missing.</DL>
-<HR>
-
-<H3>
-parent</H3>
-<PRE>
-java.awt.Container <B>parent</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-port</H3>
-<PRE>
-int <B>port</B></PRE>
-<DL>
-<DD>The port number (default ist 23). This can be specified as the PARAM tag
- "port".</DL>
-<HR>
-
-<H3>
-proxy</H3>
-<PRE>
-java.lang.String <B>proxy</B></PRE>
-<DL>
-<DD>The proxy ip address. If this variable is set telnet will try to connect
- to this address and then send a string to tell the relay where the
- target host is.<DD><DL>
-<DT><B>See Also: </B><DD><CODE>address</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<H3>
-proxyport</H3>
-<PRE>
-int <B>proxyport</B></PRE>
-<DL>
-<DD>The proxy port number. This is the port where the relay is expected to
- listen for incoming connections.<DD><DL>
-<DT><B>See Also: </B><DD><A HREF="proxy.html"><CODE>proxy</CODE></A>, 
-<CODE>port</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<H3>
-t</H3>
-<PRE>
-java.lang.Thread <B>t</B></PRE>
-<DL>
-</DL>
-<HR>
-
-<H3>
-term</H3>
-<PRE>
-<A HREF="display/Terminal.html">Terminal</A> <B>term</B></PRE>
-<DL>
-<DD>The terminal emulation (dynamically loaded).<DD><DL>
-<DT><B>See Also: </B><DD><CODE>emulation</CODE>, 
-<A HREF="display/Terminal.html"><CODE>Terminal</CODE></A>, 
-<A HREF="display/TerminalHost.html"><CODE>TerminalHost</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<H3>
-tio</H3>
-<PRE>
-<A HREF="socket/TelnetIO.html">TelnetIO</A> <B>tio</B></PRE>
-<DL>
-<DD>The telnet io methods.<DD><DL>
-<DT><B>See Also: </B><DD><A HREF="socket/TelnetIO.html"><CODE>TelnetIO</CODE></A></DL>
-</DD>
-</DL>
-
-<P>
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Package</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="serialized-form.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/socket/StatusPeer.html b/web/root/telnet/Documentation/Source/socket/StatusPeer.html
deleted file mode 100644
index 8b3989b4ef..0000000000
--- a/web/root/telnet/Documentation/Source/socket/StatusPeer.html
+++ /dev/null
@@ -1,181 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:35 CEST 1999 -->
-<TITLE>
-: Interface  StatusPeer
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="StatusPeer.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-socket</FONT>
-<BR>
-Interface  StatusPeer</H2>
-<DL>
-<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../telnet.html">telnet</A>, <A HREF="../socket/TelnetIO.html">TelnetIO</A></DD>
-</DL>
-<HR>
-<DL>
-<DT>public abstract interface <B>StatusPeer</B></DL>
-
-<P>
-StatusPeer -- interface for status messages
- --
-<P>
-<DL>
-<DT><B>Version: </B><DD>$Id: StatusPeer.html,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $</DD>
-<DT><B>Author: </B><DD>Matthias L. Jugel, Marcus Mei�ner</DD>
-</DL>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/StatusPeer.html#notifyStatus(java.util.Vector)">notifyStatus</A></B>(java.util.Vector&nbsp;status)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is called for the peer of the TelnetIO class if there is
- a statuschange.</TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="notifyStatus(java.util.Vector)"><!-- --></A><H3>
-notifyStatus</H3>
-<PRE>
-public java.lang.Object <B>notifyStatus</B>(java.util.Vector&nbsp;status)</PRE>
-<DL>
-<DD>This method is called for the peer of the TelnetIO class if there is
- a statuschange.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>status</CODE> - A Vector containing the key as element 0 and any arguments
-               from element 1 on.<DT><B>Returns:</B><DD>an object that matches the requested information or null<DT><B>See Also: </B><DD><A HREF="../socket/TelnetIO.html"><CODE>TelnetIO</CODE></A></DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="StatusPeer.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/socket/TelnetIO.html b/web/root/telnet/Documentation/Source/socket/TelnetIO.html
deleted file mode 100644
index 2b41ba3088..0000000000
--- a/web/root/telnet/Documentation/Source/socket/TelnetIO.html
+++ /dev/null
@@ -1,408 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:36 CEST 1999 -->
-<TITLE>
-: Class  TelnetIO
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;<A HREF="../socket/TelnetWrapper.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="TelnetIO.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-socket</FONT>
-<BR>
-Class  TelnetIO</H2>
-<PRE>
-java.lang.Object
-  |
-  +--<B>socket.TelnetIO</B>
-</PRE>
-<HR>
-<DL>
-<DT>public class <B>TelnetIO</B><DT>extends java.lang.Object<DT>implements <A HREF="../socket/StatusPeer.html">StatusPeer</A></DL>
-
-<P>
-Implements simple telnet io
-<P>
-<DL>
-<DT><B>Version: </B><DD>$Id: TelnetIO.html,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $</DD>
-<DT><B>Author: </B><DD>Matthias L. Jugel, Marcus Mei�ner</DD>
-</DL>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="../socket/TelnetIO.html#TelnetIO()">TelnetIO</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetIO.html#available()">available</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns bytes available to be read.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetIO.html#connect(java.lang.String)">connect</A></B>(java.lang.String&nbsp;address)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connect to the remote host at the default telnet port (23).</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetIO.html#connect(java.lang.String, int)">connect</A></B>(java.lang.String&nbsp;address,
-        int&nbsp;port)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connect to the remote host at the specified port.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetIO.html#disconnect()">disconnect</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Disconnect from remote host.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetIO.html#notifyStatus(java.util.Vector)">notifyStatus</A></B>(java.util.Vector&nbsp;status)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notify about current telnet status.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;byte[]</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetIO.html#receive()">receive</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read data from the remote host.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetIO.html#send(byte)">send</A></B>(byte&nbsp;b)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetIO.html#send(byte[])">send</A></B>(byte[]&nbsp;buf)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Send data to the remote host.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetIO.html#setPeer(socket.StatusPeer)">setPeer</A></B>(<A HREF="../socket/StatusPeer.html">StatusPeer</A>&nbsp;obj)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the object to be notified about current status.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetIO.html#toString()">toString</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the version of TelnetIO.</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>clone, 
-equals, 
-finalize, 
-getClass, 
-hashCode, 
-notify, 
-notifyAll, 
-wait, 
-wait, 
-wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="TelnetIO()"><!-- --></A><H3>
-TelnetIO</H3>
-<PRE>
-public <B>TelnetIO</B>()</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="toString()"><!-- --></A><H3>
-toString</H3>
-<PRE>
-public java.lang.String <B>toString</B>()</PRE>
-<DL>
-<DD>Return the version of TelnetIO.<DD><DL>
-<DT><B>Overrides:</B><DD>toString in class java.lang.Object</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="connect(java.lang.String, int)"><!-- --></A><H3>
-connect</H3>
-<PRE>
-public void <B>connect</B>(java.lang.String&nbsp;address,
-                    int&nbsp;port)
-             throws java.io.IOException</PRE>
-<DL>
-<DD>Connect to the remote host at the specified port.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>address</CODE> - the symbolic host address<DD><CODE>port</CODE> - the numeric port<DT><B>See Also: </B><DD><A HREF="../socket/TelnetIO.html#disconnect()"><CODE>disconnect()</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="disconnect()"><!-- --></A><H3>
-disconnect</H3>
-<PRE>
-public void <B>disconnect</B>()
-                throws java.io.IOException</PRE>
-<DL>
-<DD>Disconnect from remote host.<DD><DL>
-<DT><B>See Also: </B><DD><A HREF="../socket/TelnetIO.html#connect(java.lang.String, int)"><CODE>connect(java.lang.String, int)</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="connect(java.lang.String)"><!-- --></A><H3>
-connect</H3>
-<PRE>
-public void <B>connect</B>(java.lang.String&nbsp;address)
-             throws java.io.IOException</PRE>
-<DL>
-<DD>Connect to the remote host at the default telnet port (23).<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>address</CODE> - the symbolic host address</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="setPeer(socket.StatusPeer)"><!-- --></A><H3>
-setPeer</H3>
-<PRE>
-public void <B>setPeer</B>(<A HREF="../socket/StatusPeer.html">StatusPeer</A>&nbsp;obj)</PRE>
-<DL>
-<DD>Set the object to be notified about current status.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>obj</CODE> - object to be notified.</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="available()"><!-- --></A><H3>
-available</H3>
-<PRE>
-public int <B>available</B>()
-              throws java.io.IOException</PRE>
-<DL>
-<DD>Returns bytes available to be read.  Since they haven't been
- negotiated over, this could be misleading.
- Most useful as a boolean value - "are any bytes available" -
- rather than as an exact count of "how many ara available."<DD><DL>
-<DT><B>Throws:</B><DD>java.io.IOException - on problems with the socket connection</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="receive()"><!-- --></A><H3>
-receive</H3>
-<PRE>
-public byte[] <B>receive</B>()
-               throws java.io.IOException</PRE>
-<DL>
-<DD>Read data from the remote host. Blocks until data is available. 
- Returns an array of bytes.<DD><DL>
-<DT><B>See Also: </B><DD><A HREF="../socket/TelnetIO.html#send(byte[])"><CODE>send(byte[])</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="send(byte[])"><!-- --></A><H3>
-send</H3>
-<PRE>
-public void <B>send</B>(byte[]&nbsp;buf)
-          throws java.io.IOException</PRE>
-<DL>
-<DD>Send data to the remote host.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>buf</CODE> - array of bytes to send<DT><B>See Also: </B><DD><A HREF="../socket/TelnetIO.html#receive()"><CODE>receive()</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="send(byte)"><!-- --></A><H3>
-send</H3>
-<PRE>
-public void <B>send</B>(byte&nbsp;b)
-          throws java.io.IOException</PRE>
-<DL>
-<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="notifyStatus(java.util.Vector)"><!-- --></A><H3>
-notifyStatus</H3>
-<PRE>
-public java.lang.Object <B>notifyStatus</B>(java.util.Vector&nbsp;status)</PRE>
-<DL>
-<DD>Notify about current telnet status. This method is called top-down.<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="../socket/StatusPeer.html#notifyStatus(java.util.Vector)">notifyStatus</A> in interface <A HREF="../socket/StatusPeer.html">StatusPeer</A><DT><B>Parameters:</B><DD><CODE>status</CODE> - contains status information</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;<A HREF="../socket/TelnetWrapper.html"><B>NEXT CLASS</B></A></FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="TelnetIO.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/socket/TelnetWrapper.html b/web/root/telnet/Documentation/Source/socket/TelnetWrapper.html
deleted file mode 100644
index e035970ef8..0000000000
--- a/web/root/telnet/Documentation/Source/socket/TelnetWrapper.html
+++ /dev/null
@@ -1,679 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:36 CEST 1999 -->
-<TITLE>
-: Class  TelnetWrapper
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../socket/TelnetIO.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="TelnetWrapper.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-socket</FONT>
-<BR>
-Class  TelnetWrapper</H2>
-<PRE>
-java.lang.Object
-  |
-  +--<B>socket.TelnetWrapper</B>
-</PRE>
-<HR>
-<DL>
-<DT>public class <B>TelnetWrapper</B><DT>extends java.lang.Object</DL>
-
-<P>
-Wrapper for a Java Telnet call. 
- To use, make a new TelnetWrapper() with the name or IP address of a host.
- Then, for most uses, the easiest way is to call setPrompt() with the
- expected prompt, then call login(), and a sequence of sendLine()'s
- until you get what you want done.
- <P>
- If you don't know the prompt ahead of time, you have to do a sequence of
- send() and wait() or receiveUntil() calls.  send() sends a string across
- the telnet connection. Add a '\r' to the end if you want to
- complete a command. wait() waits for an exact string from the other side
- of the telnet connection, and returns nothing,
- receiveUntil() also waits for a string, but returns all the data
- that it received while waiting, including the string itself. 
- Use this if you want the output from a command. Please note that
- the telnet connection will usually echo the sent command. 
- <P>
- sendLine() is generally better, since it adds the '\r'
- automatically, waits for the prompt before returning, and returns all
- data received before the prompt, with the prompt itself cut off the
- end, and the sent command cut off the beginning. login() and
- sendLine() are implemented using send(), wait() and receiveUntil().
- They can be freely mixed and matched.
- <P>
- Here is a simple example of the use of TelnetWrapper:
- <PRE>
- // creates a new file in /tmp, lists the directory to prove it done
- {
-   TelnetWrapper telnet = new TelnetWrapper("123.45.78.90");
-
-   // setting the correct prompt ahead of time is very important 
-   // if you want to use login and sendLine
-   telnet.setPrompt("$ ");
-   telnet.login("loginname", "password");
-
-   // this is how you have to do it otherwise
-   telnet.send("touch /tmp/TELNET_WRAPPER" + "\r");
-   telnet.wait("$ ");
-
-   // sendLine 1: adds the \r automatically, 2: waits for the prompt
-   // before returning 3: returns what was printed from the command
-   String ls = telnet.sendLine("ls /tmp");
-   System.out.println(ls);
-
-   // clean up
-   telnet.disconnect();
- } 
- </PRE>
-<P>
-<DL>
-<DT><B>Version: </B><DD>0.2 5/15/97 - added comments, replaced String += with
-    StringBuffer.append() in receiveUntil(), added port constructor</DD>
-<DT><B>Author: </B><DD>George Ruban 3/4/97</DD>
-<DT><B>See Also: </B><DD><A HREF="../socket/TelnetIO.html"><CODE>TelnetIO</CODE></A></DL>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="field_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Field Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#debug">debug</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set to true for System.out.println debugging.</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#TelnetWrapper(java.lang.String)">TelnetWrapper</A></B>(java.lang.String&nbsp;host)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connects to the default telnet port on the given host.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#TelnetWrapper(java.lang.String, int)">TelnetWrapper</A></B>(java.lang.String&nbsp;host,
-              int&nbsp;port)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connects to a specific telnet port on the given host.</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#available()">available</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns bytes available to be read.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#disconnect()">disconnect</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ends the telnet connection.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#finalize()">finalize</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ends the telnet connection.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#login(java.lang.String, java.lang.String)">login</A></B>(java.lang.String&nbsp;loginName,
-      java.lang.String&nbsp;password)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Logs in as a particular user and password.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#main(java.lang.String[])">main</A></B>(java.lang.String[]&nbsp;args)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Telnet test driver.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#receive()">receive</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a String from the telnet connection.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;byte[]</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#receiveBytes()">receiveBytes</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a byte array.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#receiveUntil(java.lang.String)">receiveUntil</A></B>(java.lang.String&nbsp;token)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all data received up until a certain token.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#receiveUntil(java.lang.String, long)">receiveUntil</A></B>(java.lang.String&nbsp;token,
-             long&nbsp;timeout)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all data received up until a certain token.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#send(byte[])">send</A></B>(byte[]&nbsp;buf)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends bytes over the telnet connection.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#send(java.lang.String)">send</A></B>(java.lang.String&nbsp;s)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a String to the remote host.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#sendLine(java.lang.String)">sendLine</A></B>(java.lang.String&nbsp;command)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a line to the remote host, returns all data before the prompt.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#setDefaultPrompt(java.lang.String)">setDefaultPrompt</A></B>(java.lang.String&nbsp;prompt)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the default prompt used by all TelnetWrappers.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#setLogin(java.lang.String, java.lang.String)">setLogin</A></B>(java.lang.String&nbsp;login,
-         java.lang.String&nbsp;password)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the default login used by TelnetWrappers.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#setPrompt(java.lang.String)">setPrompt</A></B>(java.lang.String&nbsp;prompt)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the expected prompt.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#unsetLogin()">unsetLogin</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Turns off the default login of TelnetWrappers.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#wait(java.lang.String)">wait</A></B>(java.lang.String&nbsp;token)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Skip any received data until the token appears.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="../socket/TelnetWrapper.html#wait(java.lang.String, long)">wait</A></B>(java.lang.String&nbsp;token,
-     long&nbsp;timeout)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wait for a String or a timeout.</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>clone, 
-equals, 
-getClass, 
-hashCode, 
-notify, 
-notifyAll, 
-toString, 
-wait, 
-wait, 
-wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-<A NAME="field_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Field Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="debug"><!-- --></A><H3>
-debug</H3>
-<PRE>
-public boolean <B>debug</B></PRE>
-<DL>
-<DD>Set to true for System.out.println debugging.</DL>
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="TelnetWrapper(java.lang.String)"><!-- --></A><H3>
-TelnetWrapper</H3>
-<PRE>
-public <B>TelnetWrapper</B>(java.lang.String&nbsp;host)
-              throws java.io.IOException</PRE>
-<DL>
-<DD>Connects to the default telnet port on the given host. 
- If the defaultLogin and defaultPassword are non-null, attempts login.</DL>
-<HR>
-
-<A NAME="TelnetWrapper(java.lang.String, int)"><!-- --></A><H3>
-TelnetWrapper</H3>
-<PRE>
-public <B>TelnetWrapper</B>(java.lang.String&nbsp;host,
-                     int&nbsp;port)
-              throws java.io.IOException</PRE>
-<DL>
-<DD>Connects to a specific telnet port on the given host. 
- If the defaultLogin and defaultPassword are non-null, attempts login.</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="wait(java.lang.String)"><!-- --></A><H3>
-wait</H3>
-<PRE>
-public void <B>wait</B>(java.lang.String&nbsp;token)
-          throws java.io.IOException</PRE>
-<DL>
-<DD>Skip any received data until the token appears. 
- More efficient than receiveUntil, but liable to fail on large
- tokens that can be spread over several "send"s. In that case,
- consider using receiveUntil and ignoring the return value.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>token</CODE> - String to wait for<DT><B>Throws:</B><DD>java.io.IOException - on problems with the socket connection<DT><B>See Also: </B><DD><A HREF="../socket/TelnetWrapper.html#receiveUntil(java.lang.String)"><CODE>receiveUntil(java.lang.String)</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="wait(java.lang.String, long)"><!-- --></A><H3>
-wait</H3>
-<PRE>
-public void <B>wait</B>(java.lang.String&nbsp;token,
-                 long&nbsp;timeout)
-          throws java.io.IOException,
-                 <A HREF="../socket/TimedOutException.html">TimedOutException</A></PRE>
-<DL>
-<DD>Wait for a String or a timeout. 
- If time runs out, throws a TimedOutException.
- Sleeps in intervals of 100 milliseconds until either receiving the
- token or timeout.
- <P>
- More efficient than receiveUntil, but liable to fail on large
- tokens that can be spread over several "send"s. In that case,
- consider using receiveUntil and ignoring the return value.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>token</CODE> - String to wait for<DD><CODE>timeout</CODE> - time in milliseconds to wait (negative means wait forever)<DT><B>Throws:</B><DD>java.io.IOException - on problems with the socket connection<DD><A HREF="../socket/TimedOutException.html">TimedOutException</A> - if time runs out before token received<DT><B>See Also: </B><DD><A HREF="../socket/TelnetWrapper.html#receiveUntil(java.lang.String, long)"><CODE>receiveUntil(String, long)</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="available()"><!-- --></A><H3>
-available</H3>
-<PRE>
-public int <B>available</B>()
-              throws java.io.IOException</PRE>
-<DL>
-<DD>Returns bytes available to be read.  Since they haven't been
- negotiated over, this could be misleading...</DL>
-<HR>
-
-<A NAME="receive()"><!-- --></A><H3>
-receive</H3>
-<PRE>
-public java.lang.String <B>receive</B>()
-                         throws java.io.IOException</PRE>
-<DL>
-<DD>Returns a String from the telnet connection. Blocks
- until one is available. No guarantees that the string is in
- any way complete.
- NOTE: uses Java 1.0.2 style String-bytes conversion.</DL>
-<HR>
-
-<A NAME="receiveBytes()"><!-- --></A><H3>
-receiveBytes</H3>
-<PRE>
-public byte[] <B>receiveBytes</B>()
-                    throws java.io.IOException</PRE>
-<DL>
-<DD>Returns a byte array. Blocks until data is available.</DL>
-<HR>
-
-<A NAME="receiveUntil(java.lang.String)"><!-- --></A><H3>
-receiveUntil</H3>
-<PRE>
-public java.lang.String <B>receiveUntil</B>(java.lang.String&nbsp;token)
-                              throws java.io.IOException</PRE>
-<DL>
-<DD>Returns all data received up until a certain token.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>token</CODE> - String to wait for<DT><B>Throws:</B><DD>java.io.IOException - on problems with the socket connection<DT><B>See Also: </B><DD><A HREF="../socket/TelnetWrapper.html#wait(java.lang.String)"><CODE>wait(java.lang.String)</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="receiveUntil(java.lang.String, long)"><!-- --></A><H3>
-receiveUntil</H3>
-<PRE>
-public java.lang.String <B>receiveUntil</B>(java.lang.String&nbsp;token,
-                                     long&nbsp;timeout)
-                              throws java.io.IOException,
-                                     <A HREF="../socket/TimedOutException.html">TimedOutException</A></PRE>
-<DL>
-<DD>Returns all data received up until a certain token.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>token</CODE> - String to wait for<DD><CODE>timeout</CODE> - time in milliseconds to wait (negative means wait forever)<DT><B>Throws:</B><DD>java.io.IOException - on problems with the socket connection<DD><A HREF="../socket/TimedOutException.html">TimedOutException</A> - if time runs out before token received<DT><B>See Also: </B><DD><A HREF="../socket/TelnetWrapper.html#wait(java.lang.String, long)"><CODE>wait(String, long)</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="send(java.lang.String)"><!-- --></A><H3>
-send</H3>
-<PRE>
-public void <B>send</B>(java.lang.String&nbsp;s)
-          throws java.io.IOException</PRE>
-<DL>
-<DD>Sends a String to the remote host.
- NOTE: uses Java 1.0.2 style String-bytes conversion.<DD><DL>
-<DT><B>Throws:</B><DD>java.io.IOException - on problems with the socket connection</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="sendLine(java.lang.String)"><!-- --></A><H3>
-sendLine</H3>
-<PRE>
-public java.lang.String <B>sendLine</B>(java.lang.String&nbsp;command)
-                          throws java.io.IOException</PRE>
-<DL>
-<DD>Sends a line to the remote host, returns all data before the prompt.
- Since telnet seems to rely on carriage returns ('\r'), 
- one will be appended to the sent string, if necessary.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>command</CODE> - command line to send<DT><B>Returns:</B><DD>whatever data the command produced before the prompt.<DT><B>See Also: </B><DD><A HREF="../socket/TelnetWrapper.html#setPrompt(java.lang.String)"><CODE>setPrompt(java.lang.String)</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="send(byte[])"><!-- --></A><H3>
-send</H3>
-<PRE>
-public void <B>send</B>(byte[]&nbsp;buf)
-          throws java.io.IOException</PRE>
-<DL>
-<DD>Sends bytes over the telnet connection.</DL>
-<HR>
-
-<A NAME="login(java.lang.String, java.lang.String)"><!-- --></A><H3>
-login</H3>
-<PRE>
-public void <B>login</B>(java.lang.String&nbsp;loginName,
-                  java.lang.String&nbsp;password)
-           throws java.io.IOException</PRE>
-<DL>
-<DD>Logs in as a particular user and password. 
- Returns after receiving prompt.</DL>
-<HR>
-
-<A NAME="setPrompt(java.lang.String)"><!-- --></A><H3>
-setPrompt</H3>
-<PRE>
-public void <B>setPrompt</B>(java.lang.String&nbsp;prompt)</PRE>
-<DL>
-<DD>Sets the expected prompt. 
- If this function is not explicitly called, the default prompt is used.<DD><DL>
-<DT><B>See Also: </B><DD><A HREF="../socket/TelnetWrapper.html#setDefaultPrompt(java.lang.String)"><CODE>setDefaultPrompt(java.lang.String)</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="setDefaultPrompt(java.lang.String)"><!-- --></A><H3>
-setDefaultPrompt</H3>
-<PRE>
-public static void <B>setDefaultPrompt</B>(java.lang.String&nbsp;prompt)</PRE>
-<DL>
-<DD>Sets the default prompt used by all TelnetWrappers.
- This can be specifically overridden for a specific instance.
- The default prompt starts out as "$ " until this function is called.<DD><DL>
-<DT><B>See Also: </B><DD><A HREF="../socket/TelnetWrapper.html#setPrompt(java.lang.String)"><CODE>setPrompt(java.lang.String)</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="setLogin(java.lang.String, java.lang.String)"><!-- --></A><H3>
-setLogin</H3>
-<PRE>
-public static void <B>setLogin</B>(java.lang.String&nbsp;login,
-                            java.lang.String&nbsp;password)</PRE>
-<DL>
-<DD>Sets the default login used by TelnetWrappers.
- If this method is called with non-null login and password,
- all TelnetWrappers will attempt to login when first created.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>login</CODE> - login name to use<DD><CODE>password</CODE> - password to use<DT><B>See Also: </B><DD><A HREF="../socket/TelnetWrapper.html#login(java.lang.String, java.lang.String)"><CODE>login(java.lang.String, java.lang.String)</CODE></A>, 
-<A HREF="../socket/TelnetWrapper.html#unsetLogin()"><CODE>unsetLogin()</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="unsetLogin()"><!-- --></A><H3>
-unsetLogin</H3>
-<PRE>
-public static void <B>unsetLogin</B>()</PRE>
-<DL>
-<DD>Turns off the default login of TelnetWrappers.
- After this method is called, TelnetWrappers will not
- login until that method is explicitly called.<DD><DL>
-<DT><B>See Also: </B><DD><A HREF="../socket/TelnetWrapper.html#setLogin(java.lang.String, java.lang.String)"><CODE>setLogin(java.lang.String, java.lang.String)</CODE></A>, 
-<A HREF="../socket/TelnetWrapper.html#login(java.lang.String, java.lang.String)"><CODE>login(java.lang.String, java.lang.String)</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="disconnect()"><!-- --></A><H3>
-disconnect</H3>
-<PRE>
-public void <B>disconnect</B>()
-                throws java.io.IOException</PRE>
-<DL>
-<DD>Ends the telnet connection.</DL>
-<HR>
-
-<A NAME="finalize()"><!-- --></A><H3>
-finalize</H3>
-<PRE>
-public void <B>finalize</B>()</PRE>
-<DL>
-<DD>Ends the telnet connection.<DD><DL>
-<DT><B>Overrides:</B><DD>finalize in class java.lang.Object</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="main(java.lang.String[])"><!-- --></A><H3>
-main</H3>
-<PRE>
-public static void <B>main</B>(java.lang.String[]&nbsp;args)
-                 throws java.io.IOException</PRE>
-<DL>
-<DD>Telnet test driver.
- Modeled after the IOtest.java example in the Telnet Applet.
- Logs in to "host", creates a timestamped file in /tmp, lists the
- /tmp directory to System.out, disconnects.  Shows off several
- TelnetWrapper methods.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>args</CODE> - host login password prompt</DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../socket/TelnetIO.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="TelnetWrapper.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/socket/TimedOutException.html b/web/root/telnet/Documentation/Source/socket/TimedOutException.html
deleted file mode 100644
index 4f180a154c..0000000000
--- a/web/root/telnet/Documentation/Source/socket/TimedOutException.html
+++ /dev/null
@@ -1,228 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:36 CEST 1999 -->
-<TITLE>
-: Class  TimedOutException
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="TimedOutException.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-<FONT SIZE="-1">
-socket</FONT>
-<BR>
-Class  TimedOutException</H2>
-<PRE>
-java.lang.Object
-  |
-  +--java.lang.Throwable
-        |
-        +--java.lang.Exception
-              |
-              +--java.io.IOException
-                    |
-                    +--<B>socket.TimedOutException</B>
-</PRE>
-<HR>
-<DL>
-<DT>public class <B>TimedOutException</B><DT>extends java.io.IOException</DL>
-
-<P>
-Exception thrown when a Telnet connection takes too long
- before receiving a specified String token.
-<P>
-<DL>
-<DT><B>Version: </B><DD>0.1 7/30/97</DD>
-<DT><B>Author: </B><DD>George Ruban</DD>
-<DT><B>See Also: </B><DD><A HREF="../serialized-form.html#socket.TimedOutException">Serialized Form</A></DL>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="../socket/TimedOutException.html#TimedOutException()">TimedOutException</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="../socket/TimedOutException.html#TimedOutException(java.lang.String)">TimedOutException</A></B>(java.lang.String&nbsp;message)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Throwable</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>fillInStackTrace, 
-getLocalizedMessage, 
-getMessage, 
-printStackTrace, 
-printStackTrace, 
-printStackTrace, 
-toString</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>clone, 
-equals, 
-finalize, 
-getClass, 
-hashCode, 
-notify, 
-notifyAll, 
-wait, 
-wait, 
-wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="TimedOutException()"><!-- --></A><H3>
-TimedOutException</H3>
-<PRE>
-public <B>TimedOutException</B>()</PRE>
-<DL>
-</DL>
-<HR>
-
-<A NAME="TimedOutException(java.lang.String)"><!-- --></A><H3>
-TimedOutException</H3>
-<PRE>
-public <B>TimedOutException</B>(java.lang.String&nbsp;message)</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;PREV CLASS&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="TimedOutException.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/socket/package-frame.html b/web/root/telnet/Documentation/Source/socket/package-frame.html
deleted file mode 100644
index 9fb033f62a..0000000000
--- a/web/root/telnet/Documentation/Source/socket/package-frame.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:32 CEST 1999 -->
-<TITLE>
-: Package socket
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-<FONT size="+1" ID="FrameTitleFont">
-<A HREF="../socket/package-summary.html" TARGET="classFrame">socket</A></FONT>
-<TABLE BORDER="0" WIDTH="100%">
-<TR>
-<TD NOWRAP><FONT size="+1" ID="FrameHeadingFont">
-Interfaces</FONT>&nbsp;
-<FONT ID="FrameItemFont">
-<BR>
-<A HREF="StatusPeer.html" TARGET="classFrame"><I>StatusPeer</I></A></FONT></TD>
-</TR>
-</TABLE>
-
-
-<TABLE BORDER="0" WIDTH="100%">
-<TR>
-<TD NOWRAP><FONT size="+1" ID="FrameHeadingFont">
-Classes</FONT>&nbsp;
-<FONT ID="FrameItemFont">
-<BR>
-<A HREF="TelnetIO.html" TARGET="classFrame">TelnetIO</A>
-<BR>
-<A HREF="TelnetWrapper.html" TARGET="classFrame">TelnetWrapper</A></FONT></TD>
-</TR>
-</TABLE>
-
-
-<TABLE BORDER="0" WIDTH="100%">
-<TR>
-<TD NOWRAP><FONT size="+1" ID="FrameHeadingFont">
-Exceptions</FONT>&nbsp;
-<FONT ID="FrameItemFont">
-<BR>
-<A HREF="TimedOutException.html" TARGET="classFrame">TimedOutException</A></FONT></TD>
-</TR>
-</TABLE>
-
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/socket/package-summary.html b/web/root/telnet/Documentation/Source/socket/package-summary.html
deleted file mode 100644
index 9e552b3660..0000000000
--- a/web/root/telnet/Documentation/Source/socket/package-summary.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:32 CEST 1999 -->
-<TITLE>
-: Package socket
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../modules/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
-&nbsp;NEXT PACKAGE</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-summary.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<H2>
-Package socket
-</H2>
-
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Interface Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="StatusPeer.html"><I>StatusPeer</I></A></B></TD>
-<TD>StatusPeer -- interface for status messages
- --</TD>
-</TR>
-</TABLE>
-&nbsp;
-
-<P>
-
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Class Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="TelnetIO.html">TelnetIO</A></B></TD>
-<TD>Implements simple telnet io</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="TelnetWrapper.html">TelnetWrapper</A></B></TD>
-<TD>Wrapper for a Java Telnet call.</TD>
-</TR>
-</TABLE>
-&nbsp;
-
-<P>
-
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Exception Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD WIDTH="15%"><B><A HREF="TimedOutException.html">TimedOutException</A></B></TD>
-<TD>Exception thrown when a Telnet connection takes too long
- before receiving a specified String token.</TD>
-</TR>
-</TABLE>
-&nbsp;
-
-<P>
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../modules/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
-&nbsp;NEXT PACKAGE</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-summary.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/socket/package-tree.html b/web/root/telnet/Documentation/Source/socket/package-tree.html
deleted file mode 100644
index 166ea991e8..0000000000
--- a/web/root/telnet/Documentation/Source/socket/package-tree.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:32 CEST 1999 -->
-<TITLE>
-: socket Class Hierarchy
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../modules/package-tree.html"><B>PREV</B></A>&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-tree.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<CENTER>
-<H2>
-Hierarchy For Package socket
-</H2>
-</CENTER>
-<DL>
-<DT><B>Package Hierarchies: </B><DD><A HREF="../overview-tree.html">All Packages</A></DL>
-<HR>
-<H2>
-Class Hierarchy
-</H2>
-<UL>
-<LI TYPE="circle">class java.lang.Object<UL>
-<LI TYPE="circle">class socket.<A HREF="../socket/TelnetIO.html"><B>TelnetIO</B></A> (implements socket.<A HREF="../socket/StatusPeer.html">StatusPeer</A>)
-<LI TYPE="circle">class socket.<A HREF="../socket/TelnetWrapper.html"><B>TelnetWrapper</B></A><LI TYPE="circle">class java.lang.Throwable (implements java.io.Serializable)
-<UL>
-<LI TYPE="circle">class java.lang.Exception<UL>
-<LI TYPE="circle">class java.io.IOException<UL>
-<LI TYPE="circle">class socket.<A HREF="../socket/TimedOutException.html"><B>TimedOutException</B></A></UL>
-</UL>
-</UL>
-</UL>
-</UL>
-<H2>
-Interface Hierarchy
-</H2>
-<UL>
-<LI TYPE="circle">interface socket.<A HREF="../socket/StatusPeer.html"><B>StatusPeer</B></A></UL>
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <FONT ID="NavBarFont1">Class</FONT>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="../modules/package-tree.html"><B>PREV</B></A>&nbsp;
-&nbsp;NEXT</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="package-tree.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/Source/stylesheet.css b/web/root/telnet/Documentation/Source/stylesheet.css
deleted file mode 100644
index 539689f841..0000000000
--- a/web/root/telnet/Documentation/Source/stylesheet.css
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Javadoc style sheet */
-
-/* Define colors, fonts and other style attributes here to override the defaults  */
-
-/* Page background color */
-body { background-color: #FFFFFF }
-
-/* Table colors */
-#TableHeadingColor     { background: #CCCCFF } /* Dark mauve */
-#TableSubHeadingColor  { background: #EEEEFF } /* Light mauve */
-#TableRowColor         { background: #FFFFFF } /* White */
-
-/* Font used in left-hand frame lists */
-#FrameTitleFont   { font-size: normal; font-family: normal }
-#FrameHeadingFont { font-size: normal; font-family: normal }
-#FrameItemFont    { font-size: normal; font-family: normal }
-
-/* Example of smaller, sans-serif font in frames */
-/* #FrameItemFont  { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */
-
-/* Navigation bar fonts and colors */
-#NavBarCell1    { background-color:#EEEEFF;}/* Light mauve */
-#NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */
-#NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}
-#NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
-
-#NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
-#NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
-
diff --git a/web/root/telnet/Documentation/Source/telnet.html b/web/root/telnet/Documentation/Source/telnet.html
deleted file mode 100644
index a780c05a3a..0000000000
--- a/web/root/telnet/Documentation/Source/telnet.html
+++ /dev/null
@@ -1,955 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<!--NewPage-->
-<HTML>
-<HEAD>
-<!-- Generated by javadoc on Wed Jun 16 11:44:33 CEST 1999 -->
-<TITLE>
-: Class  telnet
-</TITLE>
-<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
-</HEAD>
-<BODY BGCOLOR="white">
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_top"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_top_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="proxy.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="telnet.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-<!-- ======== START OF CLASS DATA ======== -->
-<H2>
-Class  telnet</H2>
-<PRE>
-java.lang.Object
-  |
-  +--java.awt.Component
-        |
-        +--java.awt.Container
-              |
-              +--java.awt.Panel
-                    |
-                    +--java.applet.Applet
-                          |
-                          +--<B>telnet</B>
-</PRE>
-<HR>
-<DL>
-<DT>public class <B>telnet</B><DT>extends java.applet.Applet<DT>implements java.lang.Runnable, <A HREF="display/TerminalHost.html">TerminalHost</A>, <A HREF="socket/StatusPeer.html">StatusPeer</A></DL>
-
-<P>
-A telnet implementation that supports different terminal emulations.
-<P>
-<DL>
-<DT><B>Version: </B><DD>$Id: telnet.html,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $</DD>
-<DT><B>Author: </B><DD>Matthias L. Jugel, Marcus Mei�ner</DD>
-<DT><B>See Also: </B><DD><A HREF="serialized-form.html#telnet">Serialized Form</A></DL>
-<HR>
-
-<P>
-<!-- ======== INNER CLASS SUMMARY ======== -->
-
-
-<!-- =========== FIELD SUMMARY =========== -->
-
-<A NAME="field_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Field Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#address">address</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The host address to connect to.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#emulation">emulation</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Emulation type (default is vt320).</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;java.util.Vector</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#modules">modules</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dynamically loaded modules are stored here.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.util.Hashtable</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#params">params</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This Hashtable contains information retrievable by getParameter() in case
- the program is run as an application and the AppletStub is missing.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#port">port</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The port number (default ist 23).</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#proxy">proxy</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The proxy ip address.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;int</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#proxyport">proxyport</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The proxy port number.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;<A HREF="display/Terminal.html">Terminal</A></CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#term">term</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The terminal emulation (dynamically loaded).</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>protected &nbsp;<A HREF="socket/TelnetIO.html">TelnetIO</A></CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#tio">tio</A></B></CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The telnet io methods.</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Fields inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>BOTTOM_ALIGNMENT,  
-CENTER_ALIGNMENT,  
-LEFT_ALIGNMENT,  
-RIGHT_ALIGNMENT,  
-TOP_ALIGNMENT</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-
-<A NAME="constructor_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Constructor Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE><B><A HREF="telnet.html#telnet()">telnet</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TR>
-</TABLE>
-&nbsp;
-<!-- ========== METHOD SUMMARY =========== -->
-
-<A NAME="method_summary"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=2><FONT SIZE="+2">
-<B>Method Summary</B></FONT></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#connect()">connect</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connect to the specified host and port but don't break existing 
- connections.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#connect(java.lang.String)">connect</A></B>(java.lang.String&nbsp;host)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connect to the specified host and port but don't break existing 
- connections.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#connect(java.lang.String, int)">connect</A></B>(java.lang.String&nbsp;host,
-        int&nbsp;prt)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connect to the specified host and port but don't break existing 
- connections.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#disconnect()">disconnect</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Disconnect from the remote host.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#getAppletInfo()">getAppletInfo</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve the current version of the applet.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#getParameter(java.lang.String)">getParameter</A></B>(java.lang.String&nbsp;name)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;We override the Applet method getParameter() to be able to handle 
- parameters even as application.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.String[][]</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#getParameterInfo()">getParameterInfo</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve parameter tag information.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#init()">init</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initialize applet.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>static&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#main(java.lang.String[])">main</A></B>(java.lang.String[]&nbsp;args)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The main function is called on startup of the application.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#notifyStatus(java.util.Vector)">notifyStatus</A></B>(java.util.Vector&nbsp;status)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is called when telnet needs to be notified of status changes.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#run()">run</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Try to read data from the sockets and put it on the terminal.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#send(java.lang.String)">send</A></B>(java.lang.String&nbsp;str)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Send a String to the remote host.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#start()">start</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Upon start of the applet try to create a new connection.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#stop()">stop</A></B>()</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Disconnect when the applet is stopped.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;boolean</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#writeToSocket(java.lang.String)">writeToSocket</A></B>(java.lang.String&nbsp;str)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Send a String to the remote Host.</TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
-<CODE>&nbsp;void</CODE></FONT></TD>
-<TD><CODE><B><A HREF="telnet.html#writeToUser(java.lang.String)">writeToUser</A></B>(java.lang.String&nbsp;str)</CODE>
-
-<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Send a String to the users terminal</TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.applet.Applet"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.applet.Applet</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>destroy, 
-getAppletContext, 
-getAudioClip, 
-getAudioClip, 
-getCodeBase, 
-getDocumentBase, 
-getImage, 
-getImage, 
-getLocale, 
-isActive, 
-newAudioClip, 
-play, 
-play, 
-resize, 
-resize, 
-setStub, 
-showStatus</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Panel"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Panel</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>addNotify</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Container</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>add, 
-add, 
-add, 
-add, 
-add, 
-addContainerListener, 
-addImpl, 
-countComponents, 
-deliverEvent, 
-doLayout, 
-findComponentAt, 
-findComponentAt, 
-getAlignmentX, 
-getAlignmentY, 
-getComponent, 
-getComponentAt, 
-getComponentAt, 
-getComponentCount, 
-getComponents, 
-getInsets, 
-getLayout, 
-getMaximumSize, 
-getMinimumSize, 
-getPreferredSize, 
-insets, 
-invalidate, 
-isAncestorOf, 
-layout, 
-list, 
-list, 
-locate, 
-minimumSize, 
-paint, 
-paintComponents, 
-paramString, 
-preferredSize, 
-print, 
-printComponents, 
-processContainerEvent, 
-processEvent, 
-remove, 
-remove, 
-removeAll, 
-removeContainerListener, 
-removeNotify, 
-setFont, 
-setLayout, 
-update, 
-validate, 
-validateTree</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.awt.Component</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>action, 
-add, 
-addComponentListener, 
-addFocusListener, 
-addInputMethodListener, 
-addKeyListener, 
-addMouseListener, 
-addMouseMotionListener, 
-addPropertyChangeListener, 
-addPropertyChangeListener, 
-bounds, 
-checkImage, 
-checkImage, 
-coalesceEvents, 
-contains, 
-contains, 
-createImage, 
-createImage, 
-disable, 
-disableEvents, 
-dispatchEvent, 
-enable, 
-enable, 
-enableEvents, 
-enableInputMethods, 
-firePropertyChange, 
-getBackground, 
-getBounds, 
-getBounds, 
-getColorModel, 
-getComponentOrientation, 
-getCursor, 
-getDropTarget, 
-getFont, 
-getFontMetrics, 
-getForeground, 
-getGraphics, 
-getHeight, 
-getInputContext, 
-getInputMethodRequests, 
-getLocation, 
-getLocation, 
-getLocationOnScreen, 
-getName, 
-getParent, 
-getPeer, 
-getSize, 
-getSize, 
-getToolkit, 
-getTreeLock, 
-getWidth, 
-getX, 
-getY, 
-gotFocus, 
-handleEvent, 
-hasFocus, 
-hide, 
-imageUpdate, 
-inside, 
-isDisplayable, 
-isDoubleBuffered, 
-isEnabled, 
-isFocusTraversable, 
-isLightweight, 
-isOpaque, 
-isShowing, 
-isValid, 
-isVisible, 
-keyDown, 
-keyUp, 
-list, 
-list, 
-list, 
-location, 
-lostFocus, 
-mouseDown, 
-mouseDrag, 
-mouseEnter, 
-mouseExit, 
-mouseMove, 
-mouseUp, 
-move, 
-nextFocus, 
-paintAll, 
-postEvent, 
-prepareImage, 
-prepareImage, 
-printAll, 
-processComponentEvent, 
-processFocusEvent, 
-processInputMethodEvent, 
-processKeyEvent, 
-processMouseEvent, 
-processMouseMotionEvent, 
-remove, 
-removeComponentListener, 
-removeFocusListener, 
-removeInputMethodListener, 
-removeKeyListener, 
-removeMouseListener, 
-removeMouseMotionListener, 
-removePropertyChangeListener, 
-removePropertyChangeListener, 
-repaint, 
-repaint, 
-repaint, 
-repaint, 
-requestFocus, 
-reshape, 
-setBackground, 
-setBounds, 
-setBounds, 
-setComponentOrientation, 
-setCursor, 
-setDropTarget, 
-setEnabled, 
-setForeground, 
-setLocale, 
-setLocation, 
-setLocation, 
-setName, 
-setSize, 
-setSize, 
-setVisible, 
-show, 
-show, 
-size, 
-toString, 
-transferFocus</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
-<TD><B>Methods inherited from class java.lang.Object</B></TD>
-</TR>
-<TR BGCOLOR="white" ID="TableRowColor">
-<TD><CODE>clone, 
-equals, 
-finalize, 
-getClass, 
-hashCode, 
-notify, 
-notifyAll, 
-wait, 
-wait, 
-wait</CODE></TD>
-</TR>
-</TABLE>
-&nbsp;
-<P>
-
-<!-- ============ FIELD DETAIL =========== -->
-
-<A NAME="field_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Field Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="tio"><!-- --></A><H3>
-tio</H3>
-<PRE>
-protected <A HREF="socket/TelnetIO.html">TelnetIO</A> <B>tio</B></PRE>
-<DL>
-<DD>The telnet io methods.<DD><DL>
-<DT><B>See Also: </B><DD><A HREF="socket/TelnetIO.html"><CODE>TelnetIO</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="term"><!-- --></A><H3>
-term</H3>
-<PRE>
-protected <A HREF="display/Terminal.html">Terminal</A> <B>term</B></PRE>
-<DL>
-<DD>The terminal emulation (dynamically loaded).<DD><DL>
-<DT><B>See Also: </B><DD><CODE>emulation</CODE>, 
-<A HREF="display/Terminal.html"><CODE>Terminal</CODE></A>, 
-<A HREF="display/TerminalHost.html"><CODE>TerminalHost</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="address"><!-- --></A><H3>
-address</H3>
-<PRE>
-protected java.lang.String <B>address</B></PRE>
-<DL>
-<DD>The host address to connect to. This is retrieved from the PARAM tag
- "address".</DL>
-<HR>
-
-<A NAME="port"><!-- --></A><H3>
-port</H3>
-<PRE>
-protected int <B>port</B></PRE>
-<DL>
-<DD>The port number (default ist 23). This can be specified as the PARAM tag
- "port".</DL>
-<HR>
-
-<A NAME="proxy"><!-- --></A><H3>
-proxy</H3>
-<PRE>
-protected java.lang.String <B>proxy</B></PRE>
-<DL>
-<DD>The proxy ip address. If this variable is set telnet will try to connect
- to this address and then send a string to tell the relay where the
- target host is.<DD><DL>
-<DT><B>See Also: </B><DD><CODE>address</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="proxyport"><!-- --></A><H3>
-proxyport</H3>
-<PRE>
-protected int <B>proxyport</B></PRE>
-<DL>
-<DD>The proxy port number. This is the port where the relay is expected to
- listen for incoming connections.<DD><DL>
-<DT><B>See Also: </B><DD><A HREF="proxy.html"><CODE>proxy</CODE></A>, 
-<CODE>port</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="emulation"><!-- --></A><H3>
-emulation</H3>
-<PRE>
-protected java.lang.String <B>emulation</B></PRE>
-<DL>
-<DD>Emulation type (default is vt320). This can be specified as the PARAM
- tag "emulation".<DD><DL>
-<DT><B>See Also: </B><DD><CODE>term</CODE>, 
-<A HREF="display/Terminal.html"><CODE>Terminal</CODE></A>, 
-<A HREF="display/TerminalHost.html"><CODE>TerminalHost</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="modules"><!-- --></A><H3>
-modules</H3>
-<PRE>
-protected java.util.Vector <B>modules</B></PRE>
-<DL>
-<DD>Dynamically loaded modules are stored here.</DL>
-<HR>
-
-<A NAME="params"><!-- --></A><H3>
-params</H3>
-<PRE>
-public java.util.Hashtable <B>params</B></PRE>
-<DL>
-<DD>This Hashtable contains information retrievable by getParameter() in case
- the program is run as an application and the AppletStub is missing.</DL>
-
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-
-<A NAME="constructor_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Constructor Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="telnet()"><!-- --></A><H3>
-telnet</H3>
-<PRE>
-public <B>telnet</B>()</PRE>
-<DL>
-</DL>
-
-<!-- ============ METHOD DETAIL ========== -->
-
-<A NAME="method_detail"><!-- --></A>
-<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
-<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
-<TD COLSPAN=1><FONT SIZE="+2">
-<B>Method Detail</B></FONT></TD>
-</TR>
-</TABLE>
-
-<A NAME="getAppletInfo()"><!-- --></A><H3>
-getAppletInfo</H3>
-<PRE>
-public java.lang.String <B>getAppletInfo</B>()</PRE>
-<DL>
-<DD>Retrieve the current version of the applet.<DD><DL>
-<DT><B>Returns:</B><DD>String a string with the version information.<DT><B>Overrides:</B><DD>getAppletInfo in class java.applet.Applet</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getParameterInfo()"><!-- --></A><H3>
-getParameterInfo</H3>
-<PRE>
-public java.lang.String[][] <B>getParameterInfo</B>()</PRE>
-<DL>
-<DD>Retrieve parameter tag information. This includes the tag information from
- terminal and loaded modules.<DD><DL>
-<DT><B>Returns:</B><DD>String an array of array of string with tag information<DT><B>Overrides:</B><DD>getParameterInfo in class java.applet.Applet<DT><B>See Also: </B><DD><CODE>Applet.getParameterInfo()</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="getParameter(java.lang.String)"><!-- --></A><H3>
-getParameter</H3>
-<PRE>
-public java.lang.String <B>getParameter</B>(java.lang.String&nbsp;name)</PRE>
-<DL>
-<DD>We override the Applet method getParameter() to be able to handle 
- parameters even as application.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name of the queried parameter.<DT><B>Returns:</B><DD>the value of the parameter<DT><B>Overrides:</B><DD>getParameter in class java.applet.Applet<DT><B>See Also: </B><DD><CODE>Applet.getParameter(java.lang.String)</CODE></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="main(java.lang.String[])"><!-- --></A><H3>
-main</H3>
-<PRE>
-public static void <B>main</B>(java.lang.String[]&nbsp;args)</PRE>
-<DL>
-<DD>The main function is called on startup of the application.<DD><DL>
-</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="init()"><!-- --></A><H3>
-init</H3>
-<PRE>
-public void <B>init</B>()</PRE>
-<DL>
-<DD>Initialize applet. This method reads the PARAM tags "address",
- "port" and "emulation". The emulation class is loaded dynamically.
- It also loads modules given as parameter "module#<nr>".<DD><DL>
-<DT><B>Overrides:</B><DD>init in class java.applet.Applet</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="start()"><!-- --></A><H3>
-start</H3>
-<PRE>
-public void <B>start</B>()</PRE>
-<DL>
-<DD>Upon start of the applet try to create a new connection.<DD><DL>
-<DT><B>Overrides:</B><DD>start in class java.applet.Applet</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="stop()"><!-- --></A><H3>
-stop</H3>
-<PRE>
-public final void <B>stop</B>()</PRE>
-<DL>
-<DD>Disconnect when the applet is stopped.<DD><DL>
-<DT><B>Overrides:</B><DD>stop in class java.applet.Applet</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="run()"><!-- --></A><H3>
-run</H3>
-<PRE>
-public void <B>run</B>()</PRE>
-<DL>
-<DD>Try to read data from the sockets and put it on the terminal.
- This is done until the thread dies or an error occurs.<DD><DL>
-<DT><B>Specified by: </B><DD>run in interface java.lang.Runnable</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="connect()"><!-- --></A><H3>
-connect</H3>
-<PRE>
-public boolean <B>connect</B>()</PRE>
-<DL>
-<DD>Connect to the specified host and port but don't break existing 
- connections. Connects to the host and port specified in the tags.<DD><DL>
-<DT><B>Returns:</B><DD>false if connection was unsuccessful</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="connect(java.lang.String)"><!-- --></A><H3>
-connect</H3>
-<PRE>
-public boolean <B>connect</B>(java.lang.String&nbsp;host)</PRE>
-<DL>
-<DD>Connect to the specified host and port but don't break existing 
- connections. Uses the port specified in the tags or 23.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>host</CODE> - destination host address</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="connect(java.lang.String, int)"><!-- --></A><H3>
-connect</H3>
-<PRE>
-public boolean <B>connect</B>(java.lang.String&nbsp;host,
-                       int&nbsp;prt)</PRE>
-<DL>
-<DD>Connect to the specified host and port but don't break existing 
- connections.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>host</CODE> - destination host address<DD><CODE>prt</CODE> - destination hosts port</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="disconnect()"><!-- --></A><H3>
-disconnect</H3>
-<PRE>
-public boolean <B>disconnect</B>()</PRE>
-<DL>
-<DD>Disconnect from the remote host.<DD><DL>
-<DT><B>Returns:</B><DD>false if there was a problem disconnecting.</DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="send(java.lang.String)"><!-- --></A><H3>
-send</H3>
-<PRE>
-public boolean <B>send</B>(java.lang.String&nbsp;str)</PRE>
-<DL>
-<DD>Send a String to the remote host. Implements display.TerminalHost<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="display/TerminalHost.html#send(java.lang.String)">send</A> in interface <A HREF="display/TerminalHost.html">TerminalHost</A><DT><B>Parameters:</B><DD><CODE>s</CODE> - String to be sent<DT><B>Returns:</B><DD>true if we are connected<DT><B>See Also: </B><DD><A HREF="display/TerminalHost.html"><CODE>TerminalHost</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="writeToSocket(java.lang.String)"><!-- --></A><H3>
-writeToSocket</H3>
-<PRE>
-public boolean <B>writeToSocket</B>(java.lang.String&nbsp;str)</PRE>
-<DL>
-<DD>Send a String to the remote Host.<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>str</CODE> - String to be sent<DT><B>Returns:</B><DD>true if we are connected<DT><B>See Also: </B><DD><A HREF="modules/BSXModule.html"><CODE>BSXModule</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="writeToUser(java.lang.String)"><!-- --></A><H3>
-writeToUser</H3>
-<PRE>
-public void <B>writeToUser</B>(java.lang.String&nbsp;str)</PRE>
-<DL>
-<DD>Send a String to the users terminal<DD><DL>
-<DT><B>Parameters:</B><DD><CODE>str</CODE> - String to be displayed<DT><B>Returns:</B><DD>void<DT><B>See Also: </B><DD><A HREF="modules/BSXModule.html"><CODE>BSXModule</CODE></A></DL>
-</DD>
-</DL>
-<HR>
-
-<A NAME="notifyStatus(java.util.Vector)"><!-- --></A><H3>
-notifyStatus</H3>
-<PRE>
-public java.lang.Object <B>notifyStatus</B>(java.util.Vector&nbsp;status)</PRE>
-<DL>
-<DD>This method is called when telnet needs to be notified of status changes.<DD><DL>
-<DT><B>Specified by: </B><DD><A HREF="socket/StatusPeer.html#notifyStatus(java.util.Vector)">notifyStatus</A> in interface <A HREF="socket/StatusPeer.html">StatusPeer</A><DT><B>Parameters:</B><DD><CODE>status</CODE> - Vector of status information.<DT><B>Returns:</B><DD>an object of the information requested.<DT><B>See Also: </B><DD><A HREF="socket/StatusPeer.html"><CODE>StatusPeer</CODE></A></DL>
-</DD>
-</DL>
-<!-- ========= END OF CLASS DATA ========= -->
-<HR>
-
-<!-- ========== START OF NAVBAR ========== -->
-<A NAME="navbar_bottom"><!-- --></A>
-<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
-<TR>
-<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
-<A NAME="navbar_bottom_firstrow"><!-- --></A>
-<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
-  <TR ALIGN="center" VALIGN="top">
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="overview-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
-  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
-  </TR>
-</TABLE>
-</TD>
-<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
-</EM>
-</TD>
-</TR>
-
-<TR>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-&nbsp;<A HREF="proxy.html"><B>PREV CLASS</B></A>&nbsp;
-&nbsp;NEXT CLASS</FONT></TD>
-<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
-  <A HREF="index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
-&nbsp;<A HREF="telnet.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
-</TR>
-<TR>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
-<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
-DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
-</TR>
-</TABLE>
-<!-- =========== END OF NAVBAR =========== -->
-
-<HR>
-
-</BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/images/bin.gif b/web/root/telnet/Documentation/images/bin.gif
deleted file mode 100644
index 57f865726866125d4318578574a52ebd455943f6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1272
zcmZ?wbh9u|v|+GeSjxa~<Iar<Jsk}#4KLoj*s*6vMMXtMM#hRYD;O9Ue*F2dW5*5!
z1%(wWR&;c97|Z|x0Re%6l7fJcfP|EUgc&mo3=9lX5*%C{7z_*&&YU=L=ERIMCk#?%
zFfa%t%s9co@MFi86%i2;3^W5eAd^9UVPN~`&`{u^Bh`Om$s~ygtN8&b4h8~3i*Do?
z259i?yJqmfN^J7^XC;-ramBkE-XCySfBXH9J$3!|CA&ilSy@_I+uA!iySm#M>RAip
zn|r2Aoz}|SpU~IMF>n5Yg^Lz1=<chZICC!NnzifJZ`inoqkCq3<Ek!>O?&pP-O{zK
zA#`Ww?tLdV9Ozu$FmduRPA+cdH9Wj)8MsasZr<8o=yaiDHy_7s{&@no1%=iy3vu7z
zWDr;*#39VUdAj3J-1)FThXV`;nmG8xLL?F%IyEth8$?7HC^lL$FiQq(xc>fvy}{8F
zswZYJHnA~qKD10}aOhyJekKv-vEd+-eekS9z1AUojsMza35i6kU~p)1E?#4Cz{TLe
z9sj=j0fM(PGp@JQGHaM@Q8?n%GEqXsrQySYMSFRK6+_-+yjXlLbp5`R>gNZVT60ZS
zU)=qQ_hO^=gC_yHTf7gpu3y8Dk+8JEQG0KHtnR*-(+?bXXy*LsqEN`lT){20BsgMQ
z+)Wl?ffI{68Kk3`>SsI7y5;$@Vb(7L2Zn~kLv1sjZRowb;bKzusrG-nre1mZ^zdP6
zv6veL6;JfISr}th>}XuMbJO}{_H~nHGB9z8s>MVwEJ$l!CZOkV;F&{{03WwXNWpiZ
z8l{ihFD&y86WjCsf}KgA17p(!!RHOhCb<{FiyAytIbs%tGCMHy{_|0ruFqW3F-MWX
z%2_Uk*_T0(MYz`Npby(q^P9}?cmf>R7q*5!G!TDvh^tI6$3Q;dR%@FqtA40pe<`np
zL6V{>(~&v-oC)6@*w}q9A7GQ%P=3%y_2TBZsXl=pR1^c-4s%YGiFpt-UGPqs1cTU_
z?eeyzQA+~){>LgF&}9s~dDgi`@RS!@>D+5q!X+#dmi29N-IQh`W%8jRuJ<U@P3w&g
zt2!HwWiU9_80cLHV&d@;Xk5g$NUbsM)?CipeVe~#oN>|6UEol%o1vkBl`kehtc>db
zvm?u!iJI9t^|LHAEjbtNiY{5myM)oXFzNcejaT-z-`%vODMXG*j>lBq_n(Btl!Mdx
z9RdR8#dsZHh~#<uNOM83l(7RFx7ss?u+qeUYx}PL5#u-OZj#nalQ`wnv&_k5S;6L@
zwj;qt68|qfKcxQ3>C|zB=|MAd9>pbnIvH?Ds_&@A_B9-vf7reLbVg(nkJed>#gcgo
zET7L&J1ozl`{j&dywR663;{kqdalA3OiuZSU;1)h);xFXRX^+4FIQV+)|M(d)i2n5
z*0yNx)*Bh=wcoC1FMj*&x<~MyPbz8q-)_5GaoG0Dt=0*DrroP-zgzmCto-b@8!Qb8
zH<ydI{oQgsQ@-xYlcvvmi}%?+-?L%u%*T7?oSD1Z$L#dN#e42B_+~8pCEUnZz#zZj
tz95sL>}KhJ-*2}(&$E_0w@2>x`vdI!?e7nY=kJj_BENpmCr1VbYXC2g5QqQ(

diff --git a/web/root/telnet/Documentation/images/border.gif b/web/root/telnet/Documentation/images/border.gif
deleted file mode 100644
index af596665f7e367c40df12ce77197b5cccb367b76..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 459
zcmZ?wbh9u|v|+Gec+9|X<Iar<Jsk}#4KLoj*s*6vMMXtMM#hRYD}Ma>v17}Mh=>RV
zRG<Umg7h-5{1Z6gxq7cfw$!%&3Su11E-e{RtgeQ8(s<@<_PJjc_x{JZZ4K8CIOs_A
zpIB1VX|pA2X+opJ+Nkw6)|6GV+HfDdF5;*+`}~V7Rldvk_8I6m`mVn%81mlu&%FEp
z8!A}x{R3+oJ4*8kRNFiIGb;-clP63|?XC`-I(^#AfGKrzC(PIDowK-eQmbRp$|cS5
zYx~xBEbU#lwS!%KlhcY_<$GEJW-mH;Xz#3`<0ncFPfj{}E@w}bgTa9-+1Gl`+%CI&
zddq`5rxvK*dYb;|=>6BvuInxQ@Nu8etFIi_nATkSm3gc2q#5r52Z<*PlLRfa<8ABy
z6=~`ee+Y4`Wq;|rq#{pYUw0$F{}<=!0gBE|(w3*3UkKbgS+1$LX!4GYN@r%tN>4Sp
zu~GDFr_uAj-aFT;do406PZF_Q_jFgN@!V<N0;?yuE@}$P^5ML?_)^vOC{NbwQ&p#L
z&bS<<s8-^@E?QuJ$NIpMcY>@gAEYjvHeY{#uZP3Mt=>B}Bq}uXYR9cnF?@WyUzvfy
F8UU)1*!lnf

diff --git a/web/root/telnet/Documentation/images/check.gif b/web/root/telnet/Documentation/images/check.gif
deleted file mode 100644
index 6dca2af7fd56c87de9e9cfcf0dd866fe0506f892..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 230
zcmZ?wbhEHbG+;1b_{abP_4W1t7#RNj`=|Jmg^_`QnL!663X*4F+CHa$<>|Nli|1^)
z)t!9e568vQgWFrLdCa<Ye3j_!U4m!WmY!MgrQQ5@-D}>G{j&-p{&04lT-><w4omEX
zyB}_OAIpiEx$Vf@Rg<<Q{=C7{9c%ycrX@q!b)ywC<MQ{1X8*o-WO2gR^d=+MlJ@C|
zUtE-*rW_Gr%VfFyG$q*Cq;iVqrplYaX&kF09$9*L9KG7s+L^Vo>+ma%b_G#wYi{YR
i?6xC|wP&4tS*;$B^JmJ6n%^0_uH62^;v2}oU=09xd~8er

diff --git a/web/root/telnet/Documentation/images/checkS.gif b/web/root/telnet/Documentation/images/checkS.gif
deleted file mode 100644
index c86ec6c9b9744567cf8d63d73d8263497e975abc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 139
zcmZ?wbhEHbRA7*2_{abP_4W1t7#RNj`=|Jmg^_`QnL!663X*4FikZ{D^7LE&#WhJ$
zfx1T`t?yNGb#!u{oXO6$DrY6%dx0xT**Da@URS>^UfN{O7brA|x4t9MA%j6yf9cX!
okw<;hO@(x?Dd*}&C|ihcn0Gqa_j|RS&Fy)&jQe(Eb1_&00ES#LM*si-

diff --git a/web/root/telnet/Documentation/images/doc.gif b/web/root/telnet/Documentation/images/doc.gif
deleted file mode 100644
index 238fdb14e1c5956f0d2a8adad207147bed7509f1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 922
zcmZ?wbh9u|v|+GeXklQuap%T_o{ol=h8J&M?AWuTqM{-rBV)yy6$}gv41XAY{CTip
z!-fl6I)425@q>Y3gFylV!;c+XRzyTZfD{mcbwFxBb}_L2Q&8wj$()z5YSO`1`wXNw
znmvwG#Id;={@JGRz)VD_|5!?4XUwOnhWiH`)<&(rv8Jrs_Dj{)j7A5&+2>zusj6kG
z;l6l(##y%;@4x(cz+3YCav5h+b3=VfUVLG7TY7UJCr4WO#QN&^#O|IHj{d&M99&#w
zQ)^6TPHLFkTt08%x<&OJ35CTgCY3FmvwG*+h1?65bS7?1t(d)jSJQ$;ecb2H9jL0=
zvVFni^=DS^KRMyXhLULs%Z`-aJF$Dui+zixWN)$ytUJnc`o@LHyu2?@ah+fHHtWzq
z$?!FIv@@Pbv0VDbeS3u|lkZ98h6cIjy7N-&te2mg>ei6Pcc)@;#<?Zk_x=f3g-jQm
zEj3ZFJ$IGI=LN^6-Q1OE^8IbkiSmy|mOGr!Pd`;Bvs>1beG<c&%%T%KTZ2uO9xGWe
z?Ng1%Gj&getuh81BKRL)ox|}(()9brx!1i}mR>rt^<wm<Ev3D`PKy>TF)&PRyR`bH
z;KOa9zj(4!uYaHGQk2ZDAG~M%n@2H|cK;G(w<vJkG;MO*y<a~c-i{2kbyr(cbbIT`
zCC7_wZ39>gH-;47zMb`b$(w_GbM6TgbVfZ`x&Nh->fipXCkIzIU+yyw)XIC2I#F`X
z_sDI<H~E(2e-pfZrnFll{M{kb=_|f}NL@BP{O;Z?y}UnmFWm*~D*ik?dez~K&C<}R
z(dxgx{#(AF-maJZh~~44F4HttD_U^Y)L%&BYWcGD`9gL6mLClDJtxwmr5^sBHmAMJ
zLP059lBq+geUi;|h31EM8y6~m;@r`e;1alXajEmC7Y}OEpJ+%jyJmg5RN=@wL#4>q
z>Zc0Bk%eKhT|Qx%sZvr(ol4E|&lWB$OkH+UA;3tI>EP^?J)DeE1zDehr+rxR?AaWa
zE0t~Y-8Q{cRxbUenLfW*F6-IExo<Vq=NG7HWzO$T`YGO<Bf|A^;Y78pj^vLXGhZ$%
z{M7kk<+62xjEsh+v)UJJDC^2tRno9(`K(NaS?sgdJ^HnLU5<;$s`W>Vx-vKVas77Y
zwlevBD4ap&z|k$?N*)faTiFs;zukH#t^26Xr6BEhJDxZR>g{~7Z1vHdueROJ<6y7`
E0P48BeE<Le

diff --git a/web/root/telnet/Documentation/images/flash.gif b/web/root/telnet/Documentation/images/flash.gif
deleted file mode 100644
index 1942939e04fa4afb5e6b9298d323f0b74fc5e7a9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 167
zcmZ?wbh9u|RA5kGSjYeZ|3H9&f#IJHhzAm9U}|XTU)lZ8Zqb}AeeKP6ZJxy$9%pTw
zthi(qSH&#Jg|D+J3V6<xRC{mITk*Bvz?6a?mu0I@-u!g!4sWMxn`Tr>?B)Z49tUgV
zibFq6zw=b_qL=C9y~WNCbu2gA*vh{8_VWCjcD5a9CO^Vvq$?(8d}?|$)k8@5iuqRq
P21(DNm6jg^7#OSp-*!qc

diff --git a/web/root/telnet/Documentation/images/left.gif b/web/root/telnet/Documentation/images/left.gif
deleted file mode 100644
index ba9bb0addc873a50162a66f16f964d7b94b36177..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 497
zcmZ?wbh9u|lw*)%_{_lY`t7^B4<Dbua{bWBvs?EbTDN`A@(tT&E?M0(V?kZd)bh6e
zoT}!8oRZLlbpNOX1_lNl1_lNOkX{Cse*z~wvqcXvEvx2jOf5KIz;PszN1;tnM}WsA
z@xY-8I+rXZIu2<zC|%)bnwFUv@`1rEO60Tfyh$!GeA7HU_}G;X7Tk`TuHklYs*i@s
zlO~y-DYJUoTo)&%vI^v@+A$aTu)48w^6~NV7<jli*ybcBC2>?&^Yod7u*Wr}w@;th
z%frnb7Q(?{s}>!`%G0xqo6C>gyM=?@*1&|#iIcZy`3lZ8T#5Txcp3wP4p;YV<BH{o
zZFjPqEmUN{zIo=A>o@Y8_A_&<v@^4J&*JI5w&odUf6`rsoXV}+Voz+?D74u{equP2
zK#rBz1kp__i5KpCy6Sg^G35U%%QI6CvuNipUo%b7apD6JhjwlyrA@5Q8T57a?REwp
z$aWWK`jyeJb5e8H?qoe-mfvazdRt_QCgl_cE^au`Xx74_aQW~t4{J3ZnGH#Pw`Z-~
z`z_Pf&~3G-RS1tpMDXL5LyM!bGGr~kAKj+o>+$7{NAm0jC)1E0GZUGw28!Fn-_*4J
zv_P=7nm3j)#=(H&P-VrF#vdW9k~6L6wEk%keAMR4TRHLPom52$BQEh3eGClN0Q8T<
A`~Uy|

diff --git a/web/root/telnet/Documentation/images/mail.gif b/web/root/telnet/Documentation/images/mail.gif
deleted file mode 100644
index 864ed206d575baa9e780086cf7f35ecd69d00624..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1069
zcmZ?wbh9u|v|+GeXklQuap%T_o{ol=h8J&M?AWuTqM{-rBV)yy6*sm_n9)+PW6O#g
zM>hPpbKu974L{Dzh=_==u(0^?=SPOc4F-lE3`77OkQ$I(46OeY6#7y!=Vh##bnw+a
z11XMXk0TXvY_5iXwkbR?6A|h^mQvUm^Qo%g{sD)zQR{E4DeJcVQnfXs(Lrza`4?NN
zYT0VIFW#TA*G+|~y}9X}I?p|ayxL4|&bIb8cE;-F)V%n@`rdRN9&RqqDi*HF4#t^1
z+4b>>lP0I~PUYq0o5{(=705EZV`evZ`r-uBWy@K3RvuW*$5F<~R$ZvX6~fQSRFTr3
zP*}Wg^^G-a_;`<UvT~l|ns%I@KZG%5S3%;n<$NDL++01CXYKLO4gvm)ulMYI|19xw
z8?S^-^3gYMUbA;h-|hL~+uLe|i*t51vUlq`Z1`}1*CCLlRz+apl9Q9w|FIv~Y;iHh
zHTUC=ldoSq_w@)Cyd&Xo@^Xq#(?>S0GtU~9?VnIwBxJ$Rm~wuyVSDQ8^!(XAxhBgu
zPIg}Qgu#f7$>yu1h!Zns#^qJM+-DYCY*U&vOGWqrW5Y)K#G=*eCF@tMF_SIx^<+EL
zxI9eOreMQ1!&?cf?@d}|CZRf$iH+?;&#%c30`~DTI5R0te=e}h&sVMOz>SYls}}yO
zyu!uu{PKF1ACA6ru73{Mw`d`U-`|oBMvijj4O|EIR6b7#X*~VUVyD~7M;DkJ7985W
z+2+N?WcS6kHE$T+vS%$Q`k;Am@3S+}o7b8!L=?zR>6|TdU<%v$clR8{=GI=$6rJR;
zO!8mC_24@k1^v~TTbb@Ru=J@rly0k3ZAg5^_(Ha|UQ}X6=~P42YZ0ot-+QXt96tLn
z@ET0#s(5skP27*c<^gk89Pi`UkQ&~K`@Yv~7R0w3vR#m>X1eoGuE*%ojH|6zCU`KI
za5*h_IxVJ1^J@QnPG&jg?^n&*m6$X#F3!raGvJ@W$KgDo<Z<H>QOT|Y%b(Btyy4lc
zs0&v;<`xvrop^j<hg#Kv*$JmC(^Z3$egsI$>9#&!+I{ZEfu#CXqUq7jlb&%)=1P81
zcI)TznkTVX$YAke`Ck(01`9V?z0%^&nQ~#>o^M?Tm?nm4PSWp6x%qVCiL6S$xl4GS
zb1P?UvOLI=yLDS8gNd1!*YPcP{2GqUJL4<eu*0}vcDqTV=&rTfSvH(@UwT<<)(Yj2
zN9F3$muEeEyYJnz+j{$(B{W{``dc<z{{Z`L@8hc&RzB31WdF}ycu43wqr+a8PY?AE
z32pA)a46?Oo5;aCWq;NmRJHeMw?DV-m64Rv{okL?yy#2QK5HVMs(Q}Y*hcgGz85v~
z_*@Q8c*hu{QhU^r%j|K<<pATeTSTuYto?E|BAvJOYGnD_tzt3ty4!9jGB8*J078-B
AP5=M^

diff --git a/web/root/telnet/Documentation/images/star.gif b/web/root/telnet/Documentation/images/star.gif
deleted file mode 100644
index b079be2c501f965e2afd106c2d979c43938a6616..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 227
zcmZ?wbhEHb6k!lz_`(1J^LkxAUyr!7H|Y80{P)))zFmvhz1nZzdcTji(iTj0J9T8?
zgVSNp&xe1!8oqn`oPDcejvQL^=5oP~CBC0;Ccio#v20ez)&0S5E{B86!oZ3@Sr|cr
zIv@gMCj)DOf<j+P<~)a%bxMa938d|LcJPczrgVs&oV83>fQDEDZ?oe85f6`khocpH
zOlLN`Y95#?B7L?|;;3%?k&LiN!2^78F|19uTTY+OJ?LGiZ~aAEtcXLogj2gYI#;_T
JMOBf(8UO^^Sy2E0

diff --git a/web/root/telnet/Documentation/images/testit.gif b/web/root/telnet/Documentation/images/testit.gif
deleted file mode 100644
index 51474b21d704de2a8421db05df59a94eb48a36f8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 727
zcmZ?wbh9u|v|+Gec+9|X<Iar<Jsk}#4KLoj*s*6vMMXtMM#hRYD;O9Ue*F3IgMp!<
zrh<Xt$Br#4A|fIf7#MUI7#J8pdKp;$37qg;z1JdJYTJJWF^*=JmW(J?SHnGNJaabt
z+%JoJ|Kr@YhU*6$bfo%EEGg==*%Gxhq0wP&)cPB1%BopyxDQ?zanzfA{>7Fm-(`IJ
z4D=go{Vu%ETJ>GB?z|vpV?}0Jb4Ff)P+e+kN^fIRQ)$nX@(zE4?!GBya~tNjF6^5)
zzoe=&seZxgrSp1cPg;{R-61f!VZ!Xy>vlDAZCszdMK5uC&cQ5BuKjJfEcr83XPs?1
zz5m2!^%X@|T25WtIPHAAW6-L*J=Y%G$UJ=M&WoP=uTD3!->Pvs_VM$VujSttIBxvP
zF0?!4-!)mC;(UMI;;AaGkFIJyT+b>YuEf!i6{Q#UZ;_2E&y>K&ZZ%uIB&t=iuB+E`
z8t8FsU#2LNxxJzE7ALpB-WkTeMlPIe&n>h5He6bgEF8SE_IT69(>K<>bm*v<VjCo0
ztm&}m(z1&`#kgdyu5vkjaQEZxnY%V;Fme>k$_lt0pVqo+V^qk~i>9&D&mNZO=eh3_
zz?l4J=YkCnx46C4tGj)p@bJ!ndH+K1<S%<XnJ?C5+MWY%(l5vg%g^4~^C5j-R;ae#
z-LGF#cO`8;SMpbCQ~VO6uSTrayCUCSUhz56RqlP+v-@Xe3&+dNz4b6DW>a?J0f*nB
zH&`|n$lssqU8!~FVz}q}qm~;(9&s+QpWpgd^!K-o4c~Xq{a5kj?%zK41vPJ;e!p8%
z_hoxr0}J1dgl4|9hjEsi*UIH8S=e68Z@U*Nc*{CiLn5*H=h<?_+HeyCKa*z>9rHV%
z?tQVKF`}j;w%y`chHHjM+lt5i_c*`IlW`C`d9>Y4a;1uxQ`^->u7ElRKTdXo#HWIM
p0uz@qMwhL8Iz2{dV&v5DX_?PvI!vg1HY-PKVcP71Lz0XP)&L+6V~79%

diff --git a/web/root/telnet/Documentation/images/user.gif b/web/root/telnet/Documentation/images/user.gif
deleted file mode 100644
index 12608388b86a9fdeaa4d92eb5b40606483f3604c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 788
zcmZ?wbh9u|v|+Gec+9|X<Iar<Jsk}#4KLoj*s*6vMMXtMM#hRYD=HdxFfcIu_yZy$
zA|e=IKnKJC>1AN~Cvd`Z^<Il?scrui#5kH=S~8+oT@Cl7@yyxmbH6O^{f~3o8m=F3
z(2?ptv81TeW=qu4ghq$8QR{E4DXV6+;XZhMinreE)y?{6s`Ga5zF%;wYen#D4yL&E
z$KU@g3$L!N49WBlEH3G8tu61aDen!PJh?qUwQEYxgvqn#Pv{Sg>qtyqFtKsLyqKwB
z(-Q)hFWS=F(#W}U*KW=&6Wg+uH7%U9m1QT_$y2BH?mxG|VAj6Mb>~i;KE3mD*pdLp
zoRZeE#wVfIZ=Ae!v@fG@=H^LHo2#F{cr|6)fu*V+^1t5rzC*_1q2C#4?f;uhwT%U4
zt!WMsGKxMi;lbqmOSe3H+&3zjB>wv+v|#p$)ymTv?<RfZw%n9zWu$R+&*$ewOY~-l
zHJ&-*{&w2jNv6erCDT=(*%j<R)p%>g1GV{Xt2iW%s<2Moq2t5+&BgR8>xt6UN?kdU
z2BO+4Et5SP(ogqCY`V2da92~%fqgx%)pGZ!i|gE)k~kskGWYZwVezqx=PH$7oufCY
z=}6$@7!%!NM~iFsJ$<2b?`lo`+p6f5g*m~K1%%(56ra^}*_CPh@aiS0udnyNyS7O#
z`diu5UFE+M9iQDY&pBYw5-)i3_K){BR&N(6ud~^%=J1#yapv^B>fhWBxGR@ln=$v{
zlBe}6*L9tGRpvMU+#^0YF0FmvKib}`?~D1~^q*Vd^oRKk3_=_am{?>w9>}sw-B{54
zurf8EiBZi%QIz{%yJ8z-)`|9Z(JYGxt+A|T$2vHeBs$wed0r&SDIA)S)W)%HIY*aF
zn8(8=OT7&D9_wE#5?iJhMz}Y)FX~9?*5or<(BP)zsnDjG%EZ?p7PmsRH>zmI!&ZfJ
zF9fQszuj2ek?|=aZ6=po#MAIAKd;@-Dctu_FthYtSZYb7T*-3=*%b;e*muevII_^)
qz@cRko58CWizb+LwV1alWxZTFgDFsR*_^UfN0!ZNlgeUYum%8vO?wLf

diff --git a/web/root/telnet/Documentation/index.html b/web/root/telnet/Documentation/index.html
deleted file mode 100644
index e2c861089f..0000000000
--- a/web/root/telnet/Documentation/index.html
+++ /dev/null
@@ -1,696 +0,0 @@
-<!doctype HTML public "-//W30//DTD W3 HTML 3.0//EN">
-<HTML>
-  <HEAD><TITLE>The Java(tm) Telnet Applet: Documentation</TITLE></HEAD>
-  <BODY BGCOLOR="#ffffff">
-    <A NAME="TOP"></A>
-    <H1>The <A HREF="http://java.sun.com/">Java<SUP>(tm)</SUP></A>
-      Telnet Applet: Documentation</H1>
-    &copy; 1996-98 <A HREF="mailto:leo@mud.de">Matthias L. Jugel</A>,
-    <A HREF="mailto:marcus@mud.de">Marcus Mei&szlig;ner</A> 
-    <HR>
-    <P> 
-      The package contains several parts of which the most important one is the
-      <B>Telnet Applet/Application</B>. Select from the list below what you
-      are interested in. If you only want to use the applet choose <A
-	HREF="#SetupTelnet">Telnet</A> from <B>Setup</B> and if you want to use the
-      <A HREF="Source/packages.html">packages</A> in your own programming, select the
-      appropriate from <B>Source Code</B>.
-    <H3 ALIGN=CENTER><A HREF="#Readme">READ THIS FIRST</A></H3>
-    <H3 ALIGN=CENTER><A HREF="#SetupDoc">Setup</A></H3>
-    <P ALIGN=CENTER>
-      <B>[
-	<A HREF="#SetupTelnet">Telnet</A> |
-	<A HREF="#SetupTerminal">Terminal Emulation</A> |
-	<A HREF="#SetupModules">Modules</A> 
-	]<BR>[
-	<A HREF="#SetupAppWrapper">Applet Wrapper</A> |
-	<A HREF="#SetupProxy">Proxy Server</A>
-	]</B>
-    <H3 ALIGN=CENTER><A HREF="#SourceDoc">Source Code</A></H3>
-    <P ALIGN=CENTER>
-      <B>[
-	<A HREF="Source/telnet.html">Telnet</A> |
-	<A HREF="#SourceTerminal">Terminal Emulation</A> |
-	<A HREF="#SourceModules">Modules</A>
-	]<BR>[
-	<A HREF="Source/appWrapper.html">Applet Wrapper</A> |
-	<A HREF="Source/proxy.html">Proxy Server</A>
-	]<BR>[
-	<A HREF="Source/packages.html">Packages</A> |
-	<A HREF="Source/AllNames.html">Field and Method Index</A> |
-	<A HREF="Source/tree.html">Class Tree</A>
-	]</B>
-    <P>
-      <A HREF="../index.html">
-	<IMG SRC="images/left.gif" BORDER=0 ALT="[BACK]"></A>
-      <B>Get the <A HREF="http://www.first.gmd.de/persons/leo/java/Telnet">latest
-	  version</A> here!</B>
-    <HR>
-
-    <A NAME="Readme"></A>
-    <H1>READ THIS FIRST</H1>
-
-    We found that some people have no knowlegde whatsoever of java and its
-    restrictions. We have compiled a few questions and answers here as well
-    as some reasons why you should or should not use 
-    <B>The Java<SUP>(tm)</SUP> Telnet Applet</B>:
-
-    <DL>
-      <DT><B>Some web page told me I need telnet, is this it?</B>
-      <DD>Yes and No! The Applet is a fully featured Telnet and Terminal
-	  emulator, but usually you're better off using the program that
-	  comes with your system. Most of the UNIX based systems have very
-	  good terminal emulators (xterm) and alway have a telnet 
-	  application. Windows 95 comes with a telnet if you have the network
-	  stuff installed it's there: c:\windows\telnet.exe. It should be
-	  sufficient. If you want better terminal emulation and <I>colours</I>
-	  the better choice is <B>The Java<SUP>(tm)</SUP> Telnet Applet</B>!
-	  <P>
-      <DT><B>I cannot connect to some.where.com? It only says 
-          &quot;Trying some.where.com ...&quot;</B>
-      <DD>A Java applet is restricted in several ways. One of the restrictions
-	  is that it may <I>only</I> connect to the web server where it was
-	  downloaded from! So if you put the applet on <I>www.where.com</I> but
-	  set the &quot;address&quot; field to <I>some.where.com</I> you 
-	  won't get a connection. Read about our 
-	  <A HREF="#SetupProxy">relayd daemons</A>!
-          <P>
-      <DT><B>But I loaded the HTML file from my harddisk and it still does
-             not work!</B>
-      <DD>Netscape and Internet Explorer do not accept your hard disk as 
-          secure space. So they will prevent the applet from accessing any
-	  resource, such as the network. You may overcome that by adding the
-          directory where the applet is stored to your &quot;CLASSPATH&quot;
-	  environment variable <I>before</I> running the browser.
-	  <P>
-    </DL>
-    <HR>
-    <A NAME="SetupDoc"></A>
-    <H1>Setup Documentation</H1>
-    <A NAME="SetupTelnet"></A>
-    <H2>How to setup the Telnet Applet</H2>
-    Make sure, you got the
-    <A HREF="http://www.first.gmd.de/persons/leo/java/Telnet">latest version</A>
-    of the Java<SUP>(tm)</SUP> Telnet Applet. Refer to the
-    <A HREF="http://www.first.gmd.de/persons/leo/java/Telnet/index.download.html">
-      download page</A> on how to get it and how to
-    extract the files from the archive. After successfully extracting the complete
-    package you should have a directory <B>Telnet/</B> containing <B>*.html</B>,
-    <B>*.java</B> and <B>*.class</B> files as well as the directores
-    <B>Documentation/</B>, <B>display/</B>, <B>modules/</B>, <B>socket/</B> and
-    <B>tools</B>.<P>
-      To install the applet on your web page you need as least the following files
-      and directories. Make sure that all files and directories are <B>readable
-	by other users</B>!
-    <PRE>
-  index.test.html
-  telnet.class
-  appWrapper.class
-  display/
-  display/SoftFont.class
-  display/CharDisplay.class
-  display/Terminal.class
-  display/TerminalHost.class
-  display/vt320.class
-  socket/
-  socket/TelnetIO.class
-  socket/StatusPeer.class
-  modules/
-  modules/Module.class
-  modules/Script.class
-  modules/ButtonBar.class
-  modules/MudConnector.class
-    </PRE>
-    Now edit <B>index.test.html</B> to adapt it to your needs or look at the
-    example below! The file is documented and if you have questions about
-    the <I>Modules</I> refer to the
-    <A HREF="#SetupModules">Module Documentation</A> or look at the <A
-      HREF="Source/Package-modules.html">Source Code</A>. You will find, that not
-    <B>telnet.class</B> is loaded as applet, but <B>appWrapper.class</B> instead.
-    This is necessary to enable the <B>detach</B> feature!
-    <P>
-    <DL>
-      <DT><B><I>Important Note:</I></B>
-      <DD>We would appreciate to see <B>credits</B> on a page using the applet
-	which includes a link to the <I>
-	  <A HREF="http://www.first.gmd.de/persons/leo/java/Telnet">applets home
-	    page</A></I> and names of the <I>authors</I> as mentioned on
-	<A HREF="#TOP">top</A> of this page. You may simply use our
-	<A HREF="../index.test.html">test page</A> and edit it to your needs.<BR>
-	In response we will include a link to your page on our
-	<I><A HREF="user.html">user page</A></I>, if you like.
-    </DL>
-    <P>
-      The telnet applet can be customized using the following parameters:
-    <PRE>
-    &lt;PARAM NAME=address    VALUE="tanis.first.gmd.de"&gt;
-    &lt;PARAM NAME=port       VALUE="23"&gt;
-    &lt;PARAM NAME=emulation  VALUE="vt320"&gt;
-
-    &lt;PARAM NAME=proxy      VALUE="www.first.gmd.de"&gt;
-    &lt;PARAM NAME=proxyport  VALUE="31415"&gt;
-    </PRE>
-    The <B><I>proxy</I></B> and <B><I>proxyport</I></B> parameters may be left
-    out. They are needed if your target host is NOT the same as your web server
-    and you are using the <A HREF="#mrelayd">relay daemon</A>.
-    <P>
-      <A NAME="Example_1"></A>
-    <H3>Example:</H3>
-    (all possible parameters)
-    <PRE>
-    &lt;APPLET CODE="<A HREF="Source/appWrapper.html">appWrapper.class</A>" WIDTH=600 HEIGHT=480&gt;
-
-    &lt;!-- appWrapper parameters --&gt;
-    &lt;PARAM NAME="applet"      VALUE="<A HREF="Source/telnet.html">telnet</A>"&gt;
-
-    &lt;!-- optional (WIDTH and HEIGHT should be changed!) --&gt;
-    &lt;PARAM NAME="startButton" VALUE="Connect to www.first.gmd.de!"&gt;
-    &lt;PARAM NAME="stopButton" VALUE="Shutdown telnet!"&gt;
-    &lt;PARAM NAME="frameTitle" VALUE="The Java Telnet Applet: WWW"&gt;
-
-    &lt;!-- applet parameters: address and port and emulation --&gt;
-    &lt;PARAM NAME="address"     VALUE="www.first.gmd.de"&gt;
-    &lt;PARAM NAME="port"        VALUE="23"&gt;
-    &lt;PARAM NAME="emulation"   VALUE="vt320"&gt;
-
-    &lt;!-- terminal emulation parameters (optional)--&gt;
-    &lt;PARAM NAME="VTscrollbar" VALUE="true"&gt;
-    &lt;PARAM NAME="VTresize"    VALUE="font"&gt;
-    &lt;PARAM NAME="VTfont"      VALUE="Courier"&gt;
-    &lt;PARAM NAME="VTfontsize"  VALUE="13"&gt;
-    &lt;PARAM NAME="VTid"        VALUE="vt220"&gt;
-    &lt;PARAM NAME="VTcharset"   VALUE="ibm"&gt;
-
-    &lt;!-- module parameters: #1 is a buttonbar (optional) --&gt;
-    &lt;PARAM NAME="module#1"    VALUE="<A HREF="#ButtonBar">ButtonBar</A>@North"&gt;
-    &lt;PARAM NAME="1#Button"    VALUE="connect|\$connect()"&gt;
-    &lt;PARAM NAME="2#Button"    VALUE="disconnect|\$disconnect()"&gt;
-    &lt;PARAM NAME="3#Button"    VALUE="Detach/Delete Window|\$detach()"&gt;
-    &lt;PARAM NAME="4#Button"    VALUE="Send:|\@send@\r\n"&gt;
-    &lt;PARAM NAME="5#Input"     VALUE="send#10|who"&gt;
-
-    &lt;!-- module parameter: #2 is a scripting module (optional) --&gt;
-    &lt;PARAM NAME="module#2"    VALUE="<A HREF="#Script">Script</A>"&gt;
-    &lt;PARAM NAME="script"      VALUE="login:|leo"&gt;
-
-    &lt;!-- make sure, non-java-capable browser get a message: --&gt;
-    &lt;B&gt;
-    Your Browser seems to have no <A HREF="http://java.sun.com/">Java</A>
-    support. Please get a new browser or enable Java to see this applet!
-    &lt;/B&gt;
-    &lt;/APPLET&gt;
-    </PRE>
-    <P>
-    <HR>
-    <A NAME="SetupTerminal"></A>
-    <H2>Setting up the Terminal Emulation</H2>
-    The Terminal Emulation is a very important part of the Telnet Applet, because
-    it enables you to use programs that make use of certain features of hardware
-    terminals like <B>VT100</B> or <B>ANSI</B>. Supplied with the package is an
-    almost <B>VT320 compliant</B> terminal emulation, that should include the two
-    mentioned earlier. This means that the applet can do colors, even if the
-    original <B>VT320</B> terminal cannot!<P>
-      The applet supports the <B><I>special graphical character set</I></B> of VT
-      terminals. The new implementation supports all graphical characters with a
-      small drawback. The more graphical characters on the screen the slower is the
-      display. We will remove the current implementation when full UNICODE support
-      is available from all browsers (full JDK 1.2 compatibility).
-    <P>
-      To configure the terminal emulation look at the list of parameters below:<BR>
-      <I>Note:</I> Default values are typeset in <I>italics</I> and other possible
-      values in <B>bold</B>.
-    <DL>
-      <DT><TT><B>&lt;PARAM NAME="localecho" VALUE="<I>auto</I>"&gt;</B></TT>
-      <DD>Sets the mode the local echo should be handled. If using auto,
-        or if this parameter is not present, the applet autodetects localecho
-        mode using telnet option negotiation. If set to <I>no</I>, nothing
-        will be echoed, ever. Any other value enables every character to be 
-	echoed.
-      <DT><TT><B>&lt;PARAM NAME="VTcolumns" VALUE="<I>80</I>"&gt;</B></TT>
-      <DD>Sets the columns of the terminal initially. If the parameter
-	VTresize is set to <B>screen</B> this may change, else it is fixed.
-      <DT><B><TT>&lt;PARAM NAME="VTrows" VALUE="<I>24</I>"&gt;</TT></B>
-      <DD>Sets the rows of the terminal initially. If the parameter
-	value of VTresize <B>screen</B> this may change!
-      <DT><B><TT>&lt;PARAM NAME="VTfont" VALUE="<I>Courier</I>"&gt;</TT></B>
-      <DD>Sets the font to be used for the terminal. It is recommended to
-	use <I>Courier</I> or at least a fixed width font.
-      <DT><B><TT>&lt;PARAM NAME="VTfontsize" VALUE="<I>14</I>"&gt;</TT></B>
-      <DD>Sets the font size for the terminal. If the parameter 
-	value of VTresize is set to <B>font</B> this may change!
-      <DT><B><TT>&lt;PARAM NAME="VTresize" VALUE="<I>font</I>"&gt;</TT></B>
-      <DD>This parameter determines what the terminal should do if the window
-	is resized. The default setting <I><B>font</B></I> will result in 
-	resizing the font until is matches the window best. Other possible 
-	values are <B>none</B> or <B>screen</B>. <B>none</B> will let nothing
-	happen and <B>screen</B> will let the display try to change the
-	amount of rows and columns to match the window best.
-      <DT><B><TT>&lt;PARAM NAME="VTscrollbar" VALUE="<I>false</I>"&gt;</TT></B>
-      <DD>Setting this parameter to <B>true</B> will add a scrollbar west to
-	the terminal. Other possible values include <B>left</B> to put the
-	scrollbar on the left side of the terminal and <B>right</B> to put it
-	explicitely to the right side.
-      <DT><B><TT>&lt;PARAM NAME="VTid" VALUE="<I>vt320</I>"&gt;</TT></B>
-      <DD>This parameter will override the terminal id <I>vt320</I>. It may
-	be used to determine special terminal abilities of VT Terminals.
-      <DT><B><TT>&lt;PARAM NAME="VTbuffer" VALUE="<I>xx</I>"&gt;</TT></B>
-      <DD>Initially this parameter is the same as the VTrows parameter. It
-	cannot be less than the amount of rows on the display. It determines
-	the available scrollback buffer.
-      <DT><B><TT>&lt;PARAM NAME="VTcharset" VALUE="<I>none</I>"&gt</TT></B>
-      <DD>Setting this parameter to <B>ibm</B> will enable mapping of ibm
-	characters (as used in PC BBS systems) to UNICODE characters. Note 
-	that those special characters probably won't show on UNIX systems
-	due to lack in X11 UNICODE support.
-      <DT><B><TT>&lt;PARAM NAME="VTvms" VALUE="<I>false</I>"&gt</TT></B>
-      <DD>Setting this parameter to <B>true</B> will change the Backspace key
-        into a delete key, cause the numeric keypad keys to emit VT100
-        codes when Ctrl is pressed, and make other VMS-important keyboard
-        definitions.
-      <DT><B><TT>&lt;PARAM NAME="F<I>nr</I>" VALUE="<I>string</I>"&gt</TT></B>
-      <DD>Function keys from <I>F1</I> to <I>F20</I> are programmable. You can
-        install any possible string including special characters, such as 
-        <TABLE BORDER>
-	<TR><TD><TT>\e</TT></TD><TD>Escape</TD><TD></TD>
-	    <TD><TT>\b</TT></TD><TD>Backspace</TD><TD></TD>
-	    <TD><TT>\n</TT></TD><TD>Newline</TD><TD></TD>
-	    <TD><TT>\r</TT></TD><TD>Return</TD>
-	    <TD><TT>\xxxx</TT></TD><TD>Character xxxx (decimal)</TD>
-        </TABLE>
-    </DL>
-    <P>
-      Please look at the <A HREF="#Example_1">example above</A>.
-    <P>
-    <HR>
-    <A NAME="SetupModules"></A>
-    <H2>Setting up Modules</H2>
-    Another feature of the Java<SUP>(tm)</SUP> Telnet Applet is the ability to
-    dynamically load <B>modules</B>. A module is a java class that is loaded
-    after the applet has been initialized and may be used to <I>enhance</I> the
-    user interface or to background work in some way.<P>
-      To load a module a special parameter has to be added to the applet PARAM tags:
-    <P>
-      <TT><B>&lt;PARAM NAME=module#<I>number</I> VALUE="<I>modulename</I>@<I>direction</I>"&gt;</B>
-      </TT>
-    <UL>
-      <LI><B><I>number</I></B> is a sequence number, used by the applet to
-	determine the modules. Numbers must be adjacent or modules may not
-	be loaded.
-      <LI><B><I>modulename</I></B> is the name of the modules to be
-	loaded. Modules already in the package are described below.
-      <LI><B>@<I>direction</I></B> is the position of the applet in relation to
-	the window. Possible values are: <B>North, South, East, West</B>. The
-	module will then be placed accordingly. It is <I>not</I> possible to
-	place two modules at the same position! <I>The positional parameter may
-	  be left out and the module will then be placed <B>North</B></I>.
-    </UL>
-    <P>
-
-      At the moment the package features three modules:
-    <DL>
-      <DT><A HREF="#ButtonBar"><B>ButtonBar</B></A>
-      <DD>The ButtonBar is a modules to enhance the user interface. Using
-	PARAM tags <B>buttons</B> and <B>input fields</B> can be added to
-	send text to the remote host or to <B>detach</B> the applet.<P>
-      <DT><A HREF="#Script"><B>Script</B></A>
-      <DD>Sometimes it is useful to have simple script abilities. This module
-	<B>executes a script</B> based on text received from the remote host.
-	<P>
-      <DT><A HREF="#MudConnector"><B>MudConnector</B></A>
-      <DD>This module is a special program for the <A
-	  HREF="http://www.mudconnect.com">Mud Connector</A> by Andrew Cowan. It
-	loads a list of muds and displays information like host and port.
-    </DL>
-    <P>
-      <A NAME="ButtonBar"></A>
-    <H3>The ButtonBar</H3>
-    The ButtonBar may be used to add <A HREF="#buttons">buttons</A> to the applet
-    that execute functions or simply send a specified text to the remote host.
-    In addition it is possible to specify <A HREF="#fields">input
-      fields</A> as external input means.<P>
-      To load the module include the following tag into the <B>.html</B> file
-      (example):<P>
-      <TT><B>&lt;PARAM NAME=module#<I>1</I> VALUE="<I>ButtonBar</I>"&gt;</B>
-      </TT><P>
-      Below is a description of possible PARAM tags and a description of supported
-      functions:
-    <DL>
-      <DT><A NAME="buttons"></A><B>Buttons:</B>
-      <DD><TT>&lt;PARAM NAME=<B><I>number</I></B>#Button VALUE=&quot;<B><I>buttontext</I></B>|<B><I>buttonaction</I></B>&quot;&gt;</TT>
-      <DD><B><I>number</I></B> is the sequence number and determines the place
-	of the button on the row.
-	<P>
-      <DD><B><I>buttontext</I></B> is a string displayed on the button.
-	<P>
-      <DD><A NAME="buttonaction"><B><I>buttonaction</I></B></A> may be one
-	of the following functions or strings<BR>
-	<FONT SIZE=-1>(<I>Note:</I> the backslash character
-	  in front of the dollar sign is mandatory!)</FONT>
-	<UL>
-	  <LI><TT><I>simple text</I></TT>
-	    to be sent to the remote host. Newline and/or carriage return
-	    characters may be added in C syntax <B>\n</B> and <B>\r</B>.
-	    To support unimplemented function keys the <B>\e</B> escape
-	    character may be useful. The <B>\b</B> backspace character is
-	    also supported.
-	    The text may contain <A HREF="#fieldreference"><B><I>field 
-		  reference(s)</I></B></A>.<BR>
-	    <P>
-	  <LI><TT>\$connect(<B><I>host</I></B>[,<B><I>port</I></B>])</TT> 
-	    tries to initiate a connection to the <B><I>host</I></B>
-	    at the <B><I>port</I></B>, if given. The standard port is
-	    23. <B><I>host</I></B> and <B><I>port</I></B> may be hostname
-	    and number or <A HREF="#fieldreference"><B><I>field
-		  reference(s)</I></B></A>. If a connection already exists
-	    nothing will happen.<BR>
-	    <FONT SIZE=-1>(<I>Note:</I> It is not allowed to have
-	      spaces anywhere inside the parenthesis!)</FONT>
-	    <P>
-	  <LI><TT>\$disconnect()</TT>
-	    terminates the current connection, but if there was no
-	    connection nothing will happen.
-	    <P>
-	  <LI><A NAME="detach"><TT>\$detach()</TT></A>
-	    detaches the applet from the web browser window and
-	    creates a new frame externally. This may be used to allow
-	    users to use the applet while browsing the web with the
-	    same browser window.<BR>
-	    <FONT SIZE=-1>(<I>Note:</I> You need to load the applet via the
-	      <A HREF="#SetupAppWrapper">Applet Wrapper</A> or
-	      it will not work properly!)</FONT>
-	</UL>
-	<P>
-      <DD><A NAME="Example_2"><B>Examples:</B></A><BR>
-	<FONT SIZE=-1>(<I>Note:</I> It makes sense if you look at the
-	  examples for <A HREF="#Example_3">input fields</A> below.)</FONT>
-	<PRE>
-       &lt;PARAM NAME=1#Button VALUE="HELP!|help\r\n"&gt;
-       &lt;PARAM NAME=2#Button VALUE="HELP:|help \@help@\r\n"&gt;
-       &lt;PARAM NAME=4#Button VALUE="simple|\$connect(localhost)"&gt;
-       &lt;PARAM NAME=5#Button VALUE="complete|\$connect(www,4711)"&gt;
-       &lt;PARAM NAME=6#Button VALUE="connect|\$connect(\@address@)"&gt;
-       &lt;PARAM NAME=8#Button VALUE="connect to port|\$connect(\@address@,\@port@)"&gt;
-       &lt;PARAM NAME=10#Button VALUE="window|\$detach()"&gt;
-	</PRE>
-	<P>
-	  <A NAME="fields"></A>
-      <DT><B>Input fields</B>
-      <DD><TT>&lt;PARAM NAME=<B><I>number</I></B>#Input VALUE=&quot;<B><I>fieldname</I></B>[#<I><B>length</B></I>]|<B><I>initial text</I></B>[|<B><I>action</I></B>]&quot;&gt;</TT>
-      <DD><B><I>number</I></B> is the sequence number and determines the place
-	of the field on the row.
-	<P>
-      <DD><A NAME="fieldreference"><B><I>fieldname</I></B></A> is a
-	symbolic name to reference the input field. A reference may be used in 
-	<A HREF="#buttonaction"><B><I>button actions</I></B></A> and
-	is constructed as follows:
-	<TT>\@<B><I>fieldname</I></B>@</TT>
-	The <B>\@fieldname@</B> macro will be replaced by the string entered in
-	the text field.
-	<P>
-      <DD><B><I>length</I></B> is the length of the input field in numbers of
-	characters.
-	<P>
-      <DD><B><I>initial text</I></B> is the text to be placed into the input
-	field on startup
-	<P>
-      <DD><B><I>action</I></B> may be used similar to a 
-	<A HREF="#buttonaction"><B><I>button action</I></B></A>. This action 
-	will be used if the users presses Return in the inputfield. Leave
-	empty if you only want to use a button to send the text!
-	<P>
-      <DD><A NAME="Example_3"><B>Examples:</B></A><BR>
-	<FONT SIZE=-1>(<I>Note:</I> It makes sense if you look at the
-	  examples for <A HREF="#Example_2">buttons</A> before.)</FONT>
-	<PRE>
-	  &lt;PARAM NAME=3#Input VALUE="help#10|"&gt;
-	  &lt;PARAM NAME=7#Input VALUE="address|www.first.gmd.de"&gt;
-	  &lt;PARAM NAME=9#Input VALUE="port#5|4711"&gt;
-	</PRE>
-	<P>
-    </DL>
-    <A NAME="Script"></A>
-    <H3>The Script Module</H3>
-    The script module gives a very simple implementation of an <I>input
-      triggered</I> script executor. This means it sends text to the remote host
-    when the received text matches a <I>pattern</I> that can be programmed. It
-    executes each <I>pair of pattern and text</I> only once and stops working
-    after all patterns have been matched. It will start working again upon a
-    new connection.
-    <P>
-      To load the module include the following tag into the <B>.html</B> file
-      (example):<P>
-      <TT><B>&lt;PARAM NAME=module#<I>1</I> VALUE="<I>Script</I>"&gt;</B>
-      </TT><P>
-      Below is a description of possible PARAM tags and a description of script:
-    <DL>
-      <DT><B>Scripts:</B>
-      <DD><TT>&lt;PARAM NAME=script VALUE=&quot;<B><I>pattern</I></B>|<B><I>text</I></B>|<B><I>...</I></B>&quot;&gt;</TT>
-      <DD>A script contains of pairs of <I>pattern</I> and <I>text</I> strings.
-	If the pattern is matched against the output from the remote host,
-	the corresponding text will be sent. Each pattern will match only
-	<B>once</B> per connected session.
-	Thus it is possible to program an autologin as follows:<BR>
-	<TT><B>"login:|leo|Password:|mypassword|leo@www|ls"</B></TT>
-	Newlines will be added automatically to the string sent! At the
-	moment the order of the pattern and text pairs is <I>not</I> relevant.
-	<P>
-        It is possible to prompt the user for input if a match occurs. If the
-        corresponding <I>text</I> is a string enclosed in braces ([] or {}) a
-        dialog window is opened with <I>text</I> as prompt. A special case 
-        is an empty prompt in which case the <I>pattern</I> will be shown as 
-        prompt. &quot;[Your name:]&quot; would open a dialog window with the
-        text &quot;Your name&quot; as prompt. Curly braces have a special
-        meaning; any user input will be shown as &quot;*&quot; which makes
-        it possible to program password prompts. Example: 
-        &quot;{Your password:}&quot;.<P>
-        A special match like: &quot;login:|[]&quot; can be used to open a
-        dialog and display &quot;login:&quot; as prompt. This works for
-        &quot;{}&quot; as well.
-    </DL>
-    <P>
-      <A NAME="MudConnector"></A>
-    <H3>MudConnector</H3>
-    This module is a special edition for the <A
-      HREF="http://www.mudconnect.com/">Mud Connector</A>. It features a list of
-    MUDs and a few buttons to connect, disconnect and get infos about the MUDs.
-    A very nice example for a specialized module.
-    To load the module include the following tag into the <B>.html</B> file
-    (example):<P>
-      <TT><B>&lt;PARAM NAME=module#<I>1</I> VALUE="<I>MudConnector</I>"&gt;</B>
-      </TT>
-      The MudConnector expects the following PARAM tags:
-    <DL>
-      <DT><B>Mudlist URL:</B>
-      <DD><TT>&lt;PARAM NAME=mudlist VALUE=&quot;<B><I>URL</I></B>&quot;&gt;</TT>
-      <DD>The URL should be a file containing line by line the <I>MUD name</I>, the
-	<I>Mud address</I> and the <I>MUD port</I>, separated by tabulators.
-	The first line in the file should be the number of MUDs in the file.
-	<P>
-      <DD><B>Example:</B><BR>
-	<TT>&lt;PARAM NAME=mudlist VALUE="http://www.mud.de/~leo/mudlist.data"&gt;</TT>
-	<P>
-    </DL>
-    <P>
-    <HR>
-    <A NAME="SetupAppWrapper"></A>
-    <H2>The Applet Wrapper Setup</H2>
-    The applet wrapper is an applet that does nothing else than loading the, for
-    example, telnet applet. To understand why this is necessary you have to look
-    at the experiences we have made.<P>
-      Simply using the telnet applet in the following manner:<P>
-      <TT>&lt;APPLET CODE="telnet.class" WIDTH=600 HEIGHT=480&gt;</TT>
-      and using the <A HREF="#detach">detach</A> function stops the applet after
-      you have detached the applet and want to browse the web again. It seems that
-      the Web browser stops all threads connected to the applet if you leave the
-      page where the applet is located and thus it doesn't even update its display
-      anymore.<P>
-      We have found out that this is not true for applets loaded within the applet
-      on the page (e.g. the appWrapper). Look at the following description on how
-      to setup the appWrapper. It will probably work with any given applet out on
-      the web!
-    <P>
-      <PRE>
-	&lt;APPLET CODE="appWrapper.class" WIDTH=600 HEIGHT=480&gt;
-	&lt;PARAM NAME=applet VALUE="<I>telnet</I>&gt;
-
-	&lt;!-- optional (WIDTH and HEIGHT should be changed!) --&gt;
-	&lt;PARAM NAME=startButton VALUE="<I>text</I>"&gt;
-	&lt;PARAM NAME=stopButton VALUE="<I>text</I>"&gt;
-	&lt;PARAM NAME=frameTitle VALUE="<I>text</I>"&gt;
-	&lt;!-- all other telnet applet parameters go here --&gt;
-	&lt;/APPLET&gt;
-      </PRE>
-      The <B>appWrapper</B> knows only about the PARAM tag <B>applet</B>, which is
-      the applet to be loaded. In this case it must be in the same directory as the
-      <B>appWrapper.class</B>. Refer to the <A HREF="#Example_1">telnet example</A>
-      above for the telnet parameters.<P>
-      If a <B>startButton</B> is specified the applet won't start automatically,
-      but instead the appWrapper will display a button with the <I>text</I> on
-      it. The <B>stopButton</B> defines the text that appears on the button when
-      the applet is loaded and running and <B>frameTitle</B> specifies the frame
-      title text of the window the applet runs in.
-    <P>
-    <HR>
-    <A NAME="SetupProxy"></A>
-    <H2>Setting up the proxy server</H2>
-    There are two proxy servers provided with the telnet applet. The first one
-    is written in java and does support connections to <B>one</B> target host only
-    and the second one is written in C and supports different targets (called
-    relay daemon).<P>
-    <H4 ALIGN=CENTER>
-      [<A HREF="#javaproxy">Java Proxy</A> |
-      <A HREF="#relayd">Simple Relay Daemon</A> |
-      <A HREF="#mrelayd">Relay Daemon</A>]
-    </H4>
-    <P>
-      <A NAME="javaproxy"></A>
-    <H3>The Java Proxy Server</H3>
-    The proxy server is a small java program
-    to overcome the security restrictions of java capable web browsers.<P>
-      The proxy is used to redirect a connection to a given
-      host. Usually an applet can only connect to the web server it has
-      been loaded from. Installing the proxy on your web server allows the
-      applet to connect to a host you would like to connect to.<P>
-    <DL>
-      <DT><B>How to run the proxy application?</B>
-      <DD>To run the proxy you require the following:
-	<OL>
-	  <LI>A java interpreter (usually included in the JDK)
-	  <LI>A compiled version of the proxy 
-	    (<A HREF="tools/proxy.class">proxy.class</A>)
-	</OL><P>
-	  On the <I>WWW-Server command line</I> run the proxy server as follows:
-	  <TT>java proxy 9999 remotehostname 23
-	  </TT>
-	  This lets the proxy listen on port 9999 and it redirects
-	  all connections to the host "remotehostname" at port 23. You
-	  can leave the port parameter out if it is 23 (telnet port).
-	<P>
-	  The proxy should start with something like the output below:
-	  <TT>
-	    proxy: destination host is remotehostname at port 23
-	    proxy: listening on port 9999
-	  </TT>
-	  Upon successful connection the output should produce something
-	  like this:
-	  <TT>
-	    proxy: accepted connection from augra.first.gmd.de
-	    proxy: connecting www.first.gmd.de &lt;-&gt; remotehostname
-	  </TT>
-      <DT><B>How to shut down the proxy?</B>
-      <DD>To shut down the proxy press ^C (Ctrl+C or Strg+C on a german
-	keyboard) if you have startet it normally. More advanced users
-	will run the proxy like 
-	<TT>java proxy 9999 remotehost 23 >&amp; errorlog &amp;</TT>
-	to put it into the background. The "errorlog" file should then
-	contain any messages. You can kill that process by looking for
-	the process id (ps | grep proxy) and issuing the kill 
-	&lt;processid&gt; command (this applies to UNIX only).
-	<P>
-      <DT><B>I get an error message like "class proxy not found"!</B>
-      <DD>You may have to set the CLASSPATH environment variable to
-        point to the current directory or to the directory where
-	proxy.class is located.
-    </DL>
-    <P>
-      <A NAME="relayd"></A>
-    <H3>The Simple Relay Daemon</H3>
-    The <I>simple</I> relay daemon works just like the
-    <A HREF="#javaproxy">proxy</A> above, but is a C version. It allows
-    connections only to a specified host and port which is preferrable for
-    security reasons. You can run the program (after compiling it) with the
-    following command line:
-    <TT>
-      relayd serverport targethost targetport
-      or just
-      relayd serverport targethost
-    </TT>
-    It will then listen on the <I>serverport</I> of the machine you started it and
-    connect to the <I>targethost</I>. The standard <I>targetport</I> is 23.
-    <P>
-      <A NAME="mrelayd"></A>
-    <H3>The Relay Daemon</H3>
-    The relay daemon is a program written by Marcus Mei&szlig;ner to support
-    different target hosts. It relays the connections from the applet to a
-    host that must be given to the relay daemon after connecting.<P>
-      The daemon expects a string
-      <TT>relay <I>address port</I></TT>
-      It must be run on the web server of the applet.
-      The relay daemon is not included in compiled form, because we would have to
-      support a number of platforms. However, you can write to us if you need a
-      special compiled version for your hardware platform.<P>
-      You should include the following tags to tell <A
-	HREF="#SetupTelnet">telnet</A> that it is supposed to use the prox server
-    <PRE>
-    &lt;PARAM NAME=proxy      VALUE="www.first.gmd.de"&gt;
-    &lt;PARAM NAME=proxyport  VALUE="31415"&gt;
-    </PRE>
-    <HR>
-    <A NAME="SourceDoc"></A>
-    <H1>Source Code Documentation</H1>
-    The Source Code of <B>The Java<SUP>(tm)</SUP> Telnet Applet</B> is available
-    under the terms of the <A HREF="http://www.fsf.org/copyleft/gpl.html"><B>GNU
-	General Public License</B></A> as documented in the file <A
-      HREF="../COPYING">COPYING</A>. In case you would like to use the packages as
-    libraries please apply the <A HREF="http://www.fsf.org/copyleft/lgpl.html"><B>
-	GNU Library General Public License</B></A> as documented in the file <A
-      HREF="../COPYING.LIB">COPYING.LIB</A>.<P>
-      Select from the structure below, what you would like to see. Each file
-      contains a <B>Version:</B> field determining its current status and version.
-      If you are not sure to have the most current version, please
-      <A HREF="http://www.first.gmd.de/persons/leo/java/Telnet/index.download.html">
-	look here</A>.<P>
-      If you are unsure, whether you've got the newest version, compare your
-      copy of the file <A HREF="../REVISION"><B>REVISION</B></A> and this
-      <A HREF="http://www.first.gmd.de/persons/leo/java/Telnet/REVISION">
-	<B>REVISION</B></A>, which is a direct link to the
-      <A HREF="http://www.first.gmd.de/persons/leo/java/Telnet/">home page</A>.
-      The latest changes are documented in the file
-      <A HREF="../CHANGES"><B>CHANGES</B></A>.
-    <UL>
-      <LI><A HREF="Source/appWrapper.html">appWrapper.java</A>
-      <LI><A HREF="Source/telnet.html">telnet.java</A>
-	<UL>
-	  <LI><A HREF="Source/Package-socket.html">Socket Package</A>
-	    <UL>	  
-	      <LI><A HREF="Source/socket.TelnetIO.html">socket/TelnetIO.java</A>
-	      <LI><A HREF="Source/socket.StatusPeer.html">socket/StatusPeer.java</A>
-	    </UL>
-	  <LI><A NAME="SourceTerminal"></A>
-	    <A HREF="Source/Package-display.html">Display Package</A>
-	    <UL>
-	      <LI><A HREF="Source/display.CharDisplay.html">display/CharDisplay.java</A>
-	      <LI><A HREF="Source/display.SoftFont.html">display/SoftFont.java</A>
-	      <LI><A HREF="Source/display.Terminal.html">display/Terminal.java</A>
-	      <LI><A HREF="Source/display.TerminalHost.html">display/TerminalHost.java</A>
-	      <LI><A HREF="Source/display.vt320.html">display/vt320.java</A>
-	    </UL>
-	  <LI><A NAME="SourceModules"></A>
-	    <A HREF="Source/Package-modules.html">Module Package</A>
-	    <UL>
-	      <LI><A HREF="Source/modules.Module.html">modules/Module.java</A>
-	      <LI><A HREF="Source/modules.ButtonBar.html">modules/ButtonBar.java</A>
-	      <LI><A HREF="Source/modules.Script.html">modules/Script.java</A>
-	      <LI><A HREF="Source/modules.MudConnector.html">modules/MudConnector.java</A>
-	    </UL>
-	</UL>
-      <LI><A HREF="Source/IOtest.html">IOtest.java</A>
-      <LI><A HREF="Source/CharDisplayTest.html">CharDisplayTest.html</A>
-      <LI>Tools
-	<UL>
-	  <LI><A HREF="Source/proxy.html">tools/proxy</A>
-	  <LI><A HREF="Source/redirector.html">tools/redirector</A> (proxy.java)
-	  <LI><A HREF="../tools/relayd.c">tools/relayd.c</A> (simple proxy)
-	  <LI><A HREF="../tools/mrelayd.c">tools/mrelayd.c</A> (enhanced proxy)
-	</UL>
-    </UL>
-    <HR>
-    <A HREF="../index.html">
-      <IMG ALIGN=LEFT SRC="images/left.gif" BORDER=0 ALT="[BACK]"></A>
-    <B>Get the <A HREF="http://www.first.gmd.de/persons/leo/java/Telnet">latest
-	version</A> here!</B> <BR>
-    <!-- html-ts start -->
-    Last modified: Wed Jul 23 14:55:15 1997 by Matthias L. Jugel
-    <!-- html-ts end -->
-  </BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/user.html b/web/root/telnet/Documentation/user.html
deleted file mode 100644
index 404b750814..0000000000
--- a/web/root/telnet/Documentation/user.html
+++ /dev/null
@@ -1,288 +0,0 @@
-<!doctype HTML public "-//W30//DTD W3 HTML 3.0//EN">
-<HTML>
-  <HEAD><TITLE>The Java(tm) Telnet Applet: User Pages</TITLE></HEAD>
-  <BODY BGCOLOR="#ffffff">
-    <H1>The <A HREF="http://java.sun.com/">Java<SUP>(tm)</SUP></A>
-      Telnet Applet: User Pages</H1>
-    <P ALIGN=LEFT>
-      &copy; 1996-98 <A HREF="mailto:leo@first.gmd.de">Matthias L. 
-	Jugel</A>, <A HREF="mailto:msmeissn@cip.informatik.uni-erlangen.de">
-	Marcus Mei&szlig;ner</A> 
-    <HR>
-    <P>
-      To show you that this applet is actually <I>useful</I>, we have created 
-      this page of users. All those pages below have some sort of service, 
-      provided through <A HREF="whatis.telnet.html">telnet</A> and use the 
-      applet to make it easier to access their sites. This may either be some 
-      <I>text-based virtual reality</I> or a <I>chat line</I>. Even more 
-      promising is the usage for <I>library catalogues</I> or <I>online 
-	information systems</I>. While looking around on the net we found that 
-      a lot of users put the applet on their private page to access their 
-      local accounts via the web.<P>
-      <A HREF="http://www.snymor.edu/~drewwe/">Bill Drew</A>, Systems 
-      Librarian, SUNY College of Agriculture and Technology, wrote an
-      <A HREF="http://www.ariadne.ac.uk/issue8/java-telnet/intro.html">
-	<B>Article</B></A> about using the applet to access his libraries OPAC
-      system and a German Internet Newsletter 
-      <A HREF="http://www.intern.de/7_97_3.htm"><B>INTERNET Intern</B></A>
-      (german) found it useful.<P>
-      We are <I>happy to be referred</I> by the 
-      <A HREF="http://library.usask.ca/hytelnet"><B>HYTELNET</B></A> resource
-      collection of <A HREF="whatis.telnet.html">telnet</A>-accessible 
-      <I>library services</I> and <A HREF="http://www.mudconnect.com/">
-	<B>The Mud Connector</B></A>, the most comprehensive list of 
-      <I>text-based virtual realities</I> on the web. The Applet is also 
-      mentioned on the <A HREF="http://www.cs.utk.edu/~shuford/terminal/pc_emulation.html#internet"><B>Video Terminal Informations</B></A> page.
-      This is the right place to look for <I>native</I> terminal emulation 
-      programs.<P>
-      <B>The <A HREF="http://java.sun.com/">Java<SUP>(tm)</SUP></A> Telnet 
-	Applet</B> is <A HREF="http://www.gnu.ai.mit.edu/software/java/gnu-recommended-software.html#Applets">recommended GNU Software</A>.
-    <P>
-      All Resources, alphabetically sorted:
-    <P>
-    <DL>
-      <DT><B><I><BIG>S</BIG>ERVICES</I></B><HR>
-    <DD><DL>
-	<DT><B>Information Provider</B>
-	<DD><A HREF="http://library.usask.ca/hytelnet">HYTELNET</A>
-	  (referring page)
-	<DD><A HREF="http://www.mudconnect.com/">The Mud Connector</A>
-	  (<A HREF="http://www.mudconnect.com/java/Telnet/index.cgi">
-	    <I>telnet</I></A>)
-	  <P></DL>
-      <DD><DL>
-	  <DT><B>Libraries:</B>
-	  <DD><A HREF="http://opac.uni-erlangen.de/">University of Erlangen/OPAC</A>
-	    (<A HREF="http://opac.uni-erlangen.de/Telnet/telnet.html">
-	      <I>telnet (german)</I></A>)
-	  <DD><A HREF="http://jerome.cs.unm.edu/">ISTEC Libraries</A>
-	    (<A HREF="http://jerome.cs.unm.edu/Telnet/welcome.html">
-	      <I>telnet</I></A>)
-	  <DD><A HREF="http://www.ub.ku-eichstaett.de/">Katholische Universit&auml;tsbibliothek Eichst&auml;tt</A> - german
-	    (<A HREF="http://www.ub.ku-eichstaett.de/Telnet/jvtopac02.html"><I>telnet</I></A>)
-	  <DD><A HREF="http://www.lib.kth.se/">Royal Institute of Technology Library, Stockholm, Sweden</A>
-	    (<A HREF="http://www.lib.kth.se/telnet/telnete.html"><I>telnet</I></A>),
-	    (<A HREF="http://www.lib.kth.se/telnet/mattelnete.html"><I>telnet to Mathematics Library</I></A>)
-
-	  <DD><A HREF="http://www.falcon.edu/catalog/">Falcon Catalog</A>
-	    (<A HREF="http://www.falcon.edu/catalog/JavaTelnet/"><I>telnet</I></A>)
-	  <DD><A HREF="http://library.princeton.edu/">Princeton University
-	      Library</A>
-	    (<A HREF="http://library.princeton.edu/catalogs_and_databases/online_catalog.html"><I>telnet</I></A>)
-	  <DD><A HREF="http://www.buc.unican.es/">BIBLIOTECA de Universidad de Cantabria</A> (spanish)
-	    (<A HREF="http://www.buc.unican.es/capel2.htm"><I>telnet</I></A>)
-	  <DD><A HREF="http://snymoraa.cs.snymor.edu/pages/library/">SUNY
-	      Morrisville College Library</A>
-	    (<A
-	      HREF="http://snymoraa.snymor.edu/pages/library/telnet/netopac.htmlx">
-	      <I>telnet</I></A>)
-	    <P></DL>
-	<DD><DL>
-	    <DT><B>Remote System Access:</B>
-	    <DD><A HREF="http://www.crpa.it/agrishar/bbs">AgriShare BBS</A>
-	      (<A HREF="http://www.crpa.it/agrishar/bbs/Telnet/">
-	      <I>telnet</I></A>)
-	    <DD><A HREF="http://cereal.mv.com/">Cereal BBS</A>
-	      (<A HREF="http://cereal.mv.com/javatelnet/telnet/tel.html">
-		<I>telnet</I></A>)
-	    <DD><A HREF="http://www.cu-muc.de/">Connection Universe</A>
-	      (<A HREF="http://www.cu-muc.de/chat/"><I>telnet</I></A>)
-
-	    <DD><A HREF="http://www.deltronix.com/">Deltronix Online</A>
-	      (<A HREF="http://www.deltronix.com/public/telnet_deltronix.html"><I>telnet</I></A>) - Online Games, Message areas, Web hosting, Since 1988
-	    <DD><A HREF="http://dtk.campus.luth.se/">DTK homepage</A> - swedish
-	      (<A HREF="http://dtk.campus.luth.se/telnet/"><I>telnet</I></A>)
-	    <DD><A HREF="http://www.edenbbs.com">Eden BBS</A>
-	      (<A HREF="http://www.webprecision.com/telnet/edengate.htm">
-		<I>telnet</I></A>)  
-	    <DD><A HREF="http://bbs.exo.com/">Exo BBS</A>
-	      (<A HREF="http://bbs.exo.com/telnet.html"><I>telnet</I></A>)
-	    <DD><A HREF="http://shell.enteract.com/">EnterAct</A>
-	      (<A HREF="http://shell.enteract.com/~horvath/Telnet/"><I>telnet</I></A>)
-	    <DD><A HREF="http://infectionflux.myriad.net/">infection flux</A>
-	      (<A HREF="http://infectionflux.myriad.net/~tony/Telnet/index.html"><I>
-		  telnet</I></A>)
-	    <DD><A HREF="http://www.inconnect.com/">INTERNET CONNECT</A>
-	      (<A HREF="http://www.inconnect.com/telnet.html"><I>telnet</I></A>)
-	    <DD><A HREF="http://206.251.72.99/">ITEX Online</A>
-	      (<A HREF="http://206.251.72.99/java/Telnet/telnet_itex.net.html"><I>
-		  telnet</I></A>)
-	    <DD><A HREF="http://jungle.olivet.edu/">Jungle BBS</A>
-	      (<A HREF="http://jungle.olivet.edu/telnet/"><I>telnet</I></A>)
-	    <DD><A HREF="http://home.kiss.de/">KISS</A> - Kaiserslautern Internet
-	      Solutions Service GmbH
-	      (<A HREF="http://home.kiss.de/Telnet/login.html"><I>telnet</I></A>)
-	    <DD><A HREF="http://www.nyx.net/">Nyx.net</A> - A public access UNIX
-	      System
-	      (<A HREF="http://nyx.nyx.net:8002/"><I>telnet</I></A>)
-	    <DD><A HREF="http://pointblank.com/">Point Blank BBS</A>
-	      (<A HREF="http://pointblank.com/"><I>telnet</I></A>)
-	    <DD><A HREF="http://remcen.ehhs.cmich.edu/">REMCentral</A>
-	      (<A HREF="http://remcen.ehhs.cmich.edu/telnet.html"><I>telnet</I></A>)
-	    <DD><A HREF="http://www.southex.net/">SouthEX Interactive</A>
-	      (<A HREF="http://www.southex.net/logon.htm"><I>telnet</I></A>)
-	    <DD><A HREF="http://www.thegate.net/">The Gate BBS</A>
-	      (<A HREF="http://www.thegate.net/"><I>telnet</I></A>)
-	    <DD><A HREF="http://TheMatrix.com/">The Matrix.com</A>
-	      (<A HREF="http://TheMatrix.com/telnet.html"><I>telnet</I></A>)
-	    <DD><A HREF="http://www.tiga.com.au/">TIGA - Total Interactive Gaming 
-		Australia</A> (<A HREF="http://www.tiga.com.au/telnet/jtelnet.htm">
-		<I>telnet</I></A>)
-	    <DD><A HREF="http://w3.uokhsc.edu/">The University of Oklahoma Health
-		Sciences Center</A>
-	      (<A HREF="http://www.uokhsc.edu/home/service/telnet/"><I>telnet</I></A>)
-	    <DD><A HREF="http://uncnsrd.mt-kisco.ny.us/">UNCENSORED! BBS</A>
-	      (<A HREF="http://uncnsrd.mt-kisco.ny.us/Telnet/"><I>telnet</I></A>)
-	    <DD><A HREF="http://undergnd.metrobbs.com/">Metropolis UNDERGROUND (<i>defect</i>)</A>
-	      (<A HREF="http://undergnd.metrobbs.com/"><I>telnet</I></A>)
-	      <P></DL>
-	  <DT><B><I><BIG>R</BIG>ECREATIONAL</I></B><HR>
-	  <DD><DL>
-	      <DT><B>Text-based Virtual Reality (MUD):</B>
-	      <DD><A HREF="http://abyss.nucleus.com/">The Abyss</A>
-		(<A HREF="http://abyss.nucleus.com/telnet.html"><I>telnet</I></A>)
-	      <DD><A HREF="http://www.arctic.org/">ArcticMud</A>
-		(<A HREF="http://www.arctic.org/help/java_telnet.html">
-		  <I>telnet</I></A>)
-	      <DD><A HREF="http://www.niweb.com/pgregg/">Crossed Swords</A>
-		(<A HREF="http://www.niweb.com/pgregg/telnetxswords.html">
-		  <I>telnet</I></A>)
-	      <DD><A HREF="http://fmmikek.ftech.net/cuckoo/">the cuckoo's nest</A>
-		(<A HREF="http://fmmikek.ftech.net/cuckoo/Telnet/"><I>telnet</I></A>)
-	      <DD><A HREF="http://hell.wh8.tu-dresden.de/~delusion/">Dimension *X*</A>
-		(<A HREF="http://hell.wh8.tu-dresden.de/~delusion/connect.html">
-		  <I>telnet</I></A>)
-	      <DD><A HREF="http://mud.skool.com/">Dimension *X*</A>
-		(<A HREF="http://mud.skool.com/telnet/">
-		  <I>telnet</I></A>)
-	      <DD><A HREF="http://www.erols.com/moodyg/">Dragon Bane</A>
-		(<A HREF="http://moodyg.erols.com/Telnet/drgnbn.html">
-		  <I>telnet</I></A>)
-	      <DD><A HREF="http://dragon.fmi.uni-passau.de/">Dragon MUD</A>
-		(<A HREF="http://dragon.fmi.uni-passau.de/Telnet/telnet.html">
-		  <I>telnet</I></A>)
-	      <DD><A HREF="http://www.empire1.com/emperor/empire.html">Empire MUD</A>
-		(<A HREF="http://www.empire1.com/emperor/Empire-MUD/EmpireMUD.html"> <I>telnet</I></A>)
-<!-- ist zwar da, connected aber nicht
-	      <DD><A HREF="http://mud.dwango.com/~mud/">eQuoria</A>
-		(<A HREF="http://mud.dwango.com/~mud/side.html"> <I>telnet</I></A>)
--->
-	      <DD><A HREF="http://ff.mud.de">FinalFrontier</A> - german  
-		(<A HREF="http://ff.mud.de/play.html"> <I>telnet</I></A>)
-	      <DD><A HREF="http://www.insomnia-mud.com/~insomnia/">Insomnia-MUD</A>
-		(<A HREF="http://www.insomnia-mud.com/~insomnia/Telnet/mud.html"> <I>telnet</I></A>)
-	      <DD><A HREF="http://bw2.baub.bwk.tue.nl/">JoranMud/Fatal Dimensions</A>
-		(<A HREF="http://bw2.baub.bwk.tue.nl/Telnet/joranmud.html"> <I>telnet</I></A>)
-	      <DD><A HREF="http://www.ishar.com/">Ishar</A> 
-		(<A HREF="http://www.ishar.com/telnet/"><I>telnet</I></A>)
-<!-- scheint nicht mehr zu gehen
-	      <DD><A HREF="http://www.lr2.com/">Lost Rivers 2</A>
-		(<A HREF="http://www.graphweb.com/lr/java/connect.htm">
-		  <I>telnet</I></A>)
- -->
-<!-- dito
-	      <DD><A HREF="http://sdphul.ucsd.edu/antan/">The Marches of Antan</A>
-		(<A HREF="http://sdphul.ucsd.edu/antan/telnet/"><I>telnet</I></A>)
- -->
-<!-- dito
-	      <DD><A HREF="http://medievia.netaxs.com:8080/">Medievia</A>
-		(<A HREF="http://medievia.netaxs.com:8080/java/Telnet/javaconnect.html">
-		  <I>telnet</I></A>)
- -->
-<!-- dito
-	      <DD><A HREF="http://terminator.pathcom.com/~miked/ms/">The Midnight
-		  Sanctuary</A>
-		(<A HREF="http://mud.imperium.net/~mudmstr/Telnet/play_sanctuary.html">
-		  <I>telnet</I></A>)
- -->
-	      <DD><A HREF="http://mg.mud.de/">MorgenGrauen</A> - german
-		(<A HREF="http://mg.mud.de/online/"> <I>telnet</I></A>)
-	      <DD><A HREF="http://www.mudweiser.mudservices.com/">MUDweiser</A>
-		(<A HREF="http://www.mudweiser.mudservices.com/Telnet/"> <I>telnet</I></A>)
-	      <DD><A HREF="http://mud.lysator.liu.se/Telnet/">NannyMUD</A>
-		(<A HREF="http://mud.lysator.liu.se/java/Telnet/"> <I>telnet</I></A>)
-	      <DD><A HREF="http://www.reddragon.org/">Red Dragon LPmud</A>
-		(<A HREF="http://www.reddragon.org/Telnet/app.html"><I>telnet</I></A>)
-	      <DD><A HREF="http://www.df.lth.se/~tommy/robotech/index.html">Robotech MUSH</A>
-		(<A HREF="http://robotech.df.lth.se/~robotech/Telnet/index.test.html"><I>telnet</I></A>)
-	      <DD><A HREF="http://www.tsr.org/">An Age Of Legends: The Shadow Realms</A>
-		(<A HREF="http://www.tsr.org/Telnet/play.html">
-		  <I>telnet</I></A>)
-	      <DD><A HREF="http://www.suvangi.com/">MUD Suvangi</A>
-		(<A HREF="http://www.suvangi.com/java/Telnet/telnet.html">
-		  <I>telnet</I></A>)
-	      <DD><A HREF="http://supermud3.com/">SuperMUD 3</A>
-	       (<A HREF="http://www.supermud3.com/game/java/index.html"><I>telnet</I></A>)
-	      
-	      <DD><A HREF="http://tapp.mud.de:8080/">TAPPMud</A>
-		(<A HREF="http://tapp.mud.de:8080/mud.html"><I>telnet</I></A>)
-	      <DD><A HREF="http://tragickingdom.ml.org">Tragic Kingdom</A>
-		(<A HREF="http://tragickingdom.ml.org/chat/"><I>telnet</I></A>)
-	      <DD><A HREF="http://terrafirma.terra.mud.org/">TerraFirmA</A>
-		(<A HREF="http://terrafirma.terra.mud.org/java/"><I>telnet</I></A>)
-	      <DD><A HREF="http://tecfa.unige.ch/moo/">TECFEA Moo</A>
-		(<A HREF="http://tecfa.unige.ch/moo/clients/jmud/telnet-tecfa.html">
-		  <I>telnet</I></A>) <B>it definitely needs update!</B>
-	      <DD><A HREF="http://mudhole.ehche.ac.uk/~tnt/">TNT</A>
-		(<A HREF="http://mudhole.ehche.ac.uk/~tnt/java.html"><I>telnet</I></A>)
-	      <DD><A HREF="http://UNItopia.uni-stuttgart.de/">UNItopia</A> - german
-		(<A HREF="http://UNItopia.uni-stuttgart.de/telnet/"><I>telnet</I></A>)
-	      <DD><A HREF="http://wilma.rz.uni-leipzig.de/mud/">Wunderland</A> - german
-		(<A HREF="http://wilma.rz.uni-leipzig.de/mud/telnet.html">
-		  <I>telnet</I></A>)
-	    </DL><P>
-	      <DD><DL>
-		  <DT><B>Chats & Talkers:</B>
-		  <DD><A HREF="http://apollos.ttu.ee/">Banalim</A>
-		    (<A HREF="http://apollos.ttu.ee/valitsus/Telnet/"><I>telnet</I></A>)
-		  <DD><A HREF="http://cafe.guam.net/">Cafe Guam</A>
-		    (<A HREF="http://http://cafe.guam.net/cafe2000/"><I>Cafe 2000</I></A>)
-<!-- down
-		  <DD><A HREF="http://crime.stack.nl/~rjkap/java.html">Capsi Chat</A>
-		    (<A HREF="http://crime.stack.nl/~rjkap/java.html"><I>telnet</I></A>)
- -->
-		  <DD><A HREF="http://www.talker.com/xena/">Xena: Chakrams & Scrolls</A>
-		    (<A HREF="http://www.talker.com/xena/java/"><I>telnet</I></A>)
-		  <DD><A HREF="http://www.talkers.org/cn/">Cirrus Nebula</A>
-		    (<A HREF="http://www.talkers.org/cn/telnet.html"><I>telnet</I></A>)
-<!--
-		  <DD><A HREF="http://funcity.newaygo.mi.us/~hsh/">Home Sweet Home</A>
-		    (<A HREF="http://funcity.newaygo.mi.us/~hsh/chat/index.html">
-		      <I>telnet</I></A>)
- -->
-<!--
-		  <DD><A HREF="http://www.cs.ut.ee/~helger/muumi/">Moominvalley talker</A>
-		    (<A HREF="http://www.cs.ut.ee/~helger/muumi/connect/">
-		      <I>telnet</I></A>)
- -->
-		  <DD><A HREF="http://amaterasu.math.orst.edu:8080/~sharpej/information/backyard.html">The Backyard</A>
-		    (<A HREF="http://amaterasu.math.orst.edu:8080/~sharpej/information/telnet.html"><I>telnet</I></A>)
-<!--
-		  <DD><A HREF="http://www.zait.uni-bremen.de/Esperanto/VEK/">VEKejo
-		      (Esperanto)</A>
-		    (<A HREF="http://www.zait.uni-bremen.de/Esperanto/VEK/telnet.html">
-		      <I>telnet</I></A>)
- -->
-		  <DD><A HREF="http://uberworld.ml.org/">UberWorld</A>
-		    (<A HREF="http://uberworld.ml.org/telnet.html">
-		      <I>telnet</I></A>)
-		  <DD><A HREF="http://kunpux.cogsci.kun.nl/~splotch/">Splotch (some non Turing test)</A>
-		    (<A HREF="http://kunpux.cogsci.kun.nl/~splotch/start-java-telnet.html">
-		      <I>telnet</I></A>)
-		  <DD><A HREF="http://talkers.skl.com/~bourbons/">Bourbon Street</A>
-		    (<A HREF="http://talkers.skl.com/~bourbons/class/java.html">
-		      <I>telnet</I></A>)
-		    <P></DL>
-	      </DL>
-		<P>
-		<HR>
-		<A HREF="../index.html">
-		  <IMG ALIGN=LEFT SRC="images/left.gif" BORDER=0 ALT="[BACK]"></A>
-		<B>Get the 
-		  <A HREF="http://www.first.gmd.de/persons/leo/java/Telnet">latest
-		    version</A> here!</B> <BR>
-		<!-- html-ts start -->
-		Last modified: Wed Jul 23 15:00:43 1997 by Matthias L. Jugel
-		<!-- html-ts end -->
-  </BODY>
-</HTML>
diff --git a/web/root/telnet/Documentation/whatis.telnet.html b/web/root/telnet/Documentation/whatis.telnet.html
deleted file mode 100644
index ddc38c8219..0000000000
--- a/web/root/telnet/Documentation/whatis.telnet.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!doctype HTML public "-//W30//DTD W3 HTML 3.0//EN">
-<HTML>
-<HEAD><TITLE>The Java(tm) Telnet Applet: What is TELNET?</TITLE></HEAD>
-<BODY BGCOLOR="#ffffff">
-<H1>The <A HREF="http://java.sun.com/">Java<SUP>(tm)</SUP></A>
-    Telnet Applet: What is TELNET?</H1>
-<P ALIGN=LEFT>
-&copy; 1996-98 <A HREF="mailto:leo@first.gmd.de">Matthias L. Jugel</A>,
-<A HREF="mailto:msmeissn@cip.informatik.uni-erlangen.de">Marcus Mei&szlig;ner</A> 
-<HR>
-<P>
-Telnet allows you to login to another <I>Internet location</I> to gain
-access to <B>databases</B>, <B>library catalogs</B>, and <B>interactive
-environments</B>. It works like a terminal connected to your computer,
-only that that computer may be far away.<P>
-If you want to connect directly to a remote computer you need to know a
-<I>valid login ID</I> usually given to you by the provider of the service. 
-<P>
-To get a list of telnet service providers, please have a look at our list of
-<A HREF="user.html"><B>Applet Users</B></A>.
-<P>
-<HR>
-<A HREF="../index.html">
-<IMG ALIGN=LEFT SRC="images/left.gif" BORDER=0 ALT="[BACK]"></A>
-<B>Get the <A HREF="http://www.first.gmd.de/persons/leo/java/Telnet">latest
-version</A> here!</B> <BR>
-<!-- html-ts start -->
-Last modified: Thu Mar 13 12:29:58 1997 by Matthias L. Jugel
-<!-- html-ts end -->
-</BODY>
-</HTML>
diff --git a/web/root/telnet/INSTALL b/web/root/telnet/INSTALL
deleted file mode 100644
index e34907fcb3..0000000000
--- a/web/root/telnet/INSTALL
+++ /dev/null
@@ -1,55 +0,0 @@
-** The Java(tm) Telnet Applet **
-
--------------------------------------------------------------
-If you want to use the classes only do the following:
-
-* UNIX:
-	gzip -cd telnet.tgz | tar xf - \*.class
-
-* DOS/Windows:
-	pkunzip -d telnet.zip
-	* Maybe you can unzip it by just clicking on the
-	  package or Netscape knows how to handle .zip.
-
-This will extract the classes and create the required 
-directory structure (/ is \ on DOS/Windows):
-
-	telnet.class
-	socket/TelnetIO.class
-	socket/StatusPeer.class
-	display/CharDisplay.class
-	display/Terminal.class
-	display/TerminalHost.class
-	display/vt320.class
-	modules/ButtonBar.class
-	modules/Script.class
-
--------------------------------------------------------------
-In case you like to compile the sources yourself extract
-everything and type the following:
-
-	make realclean
-	make telnet.class
-
-The Makefile will compile all classes recursively even though
-the java compiler would do this by itself when running 
-"java telnet.java".
-
-Just typing "make" will print you all available make targets:
-
-	make test         - compile applet and run appletviewer
-	make telnet       - compile standalone and run telnet
-	make doc          - create documentation
-	make clean        - delete backup files
-	make realclean    - make clean and delete .class files
-
--------------------------------------------------------------
-
-Hint: Always remember that the applet can only connect to the
-      server it has been loaded from! You will get a security
-      exception when trying to connect to some other host.
-
-      If you load your applet locally via the file:// URL
-      don't forget to set the CLASSPATH environment variable
-      to the directory, where the telnet.class resides _before_
-      you start your appletviewer or web browser!
diff --git a/web/root/telnet/IOtest.class b/web/root/telnet/IOtest.class
deleted file mode 100644
index 7e90843c7e059e3751d0d85810b5533e4a26992b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1589
zcmX^0Z`VEsW(Hk`Yz_tk4hAa@25Sxm8x96f4u)tBh8PZpOm+qbc7_mkhER5fFm{G;
zc7_OchDdgX6fOoH21PCg0T98<pafzmg9sHa23`hL5TOPl)HxaW7&N#T_!%_07`Pd<
zKuWZ^7&sYpKrCHO22KV&5Lcgv!H&TQL|E`J_%oRCFa&_OK@28548aVhJPc6`hCB>$
z46Zy3@gRu=kdh<@V;+WN5G$F%oQENu!Gnh(i@}VMfq{{MSwqtkOolNsuxMyTJ25hF
zXn1-?J9%n`F*1m1_+%xPCF<uS=B4WgmlS2@rCWp4V-*i$WMI{Zb^_^R(|{TvrV)+B
zgfK=1A)845&>#gLe|Jwm1wTh$S36!t1_6j*fMalQxPOofNJtnW6zt*Z<D(D|<nJ30
zV#mn9VUwJbnU`5&$H>5D17)x{=clAHGO&62m!uY#FfwpM7<wQNFfwrXK)BY74E#Qs
zd8vM-xk;%-A&E&jsf-Mw5I1J#>wEgURwSnulw{`TStE-F6lLa>1eX-0Cgxf*G6+G`
zBZmq|Fh4mlCoHij6J#jVWI><e{N(J^68(_WoV?T$Pk(Dh2F`%Q;^OlBq7*Ae2Cm@z
z(xT*4w@i>Tm_VT~j3vMr8CVjF(u)}xn3GD=7#Y};^YijjlS>#GxKc8U;T*<PMh1@b
z)Dox4lGI{G2KLOnl++6UG)4wtP!Q;&`VL7H$#0Ad0${aZpZO<cfh|E2f+PVHRl$|T
zC8@bE<G>n2GK%ucL4m-?z?PGmmtK;=$iSHc3Z0C6P|UF9<fmumSurxO<R)h3F)}dc
zmzFRx@E1VBI59apq$n{tm63rRERvJQ$iP-ml%HEr!pOj0l$xBHS(eJkz*3x=m%_-v
zj~2d+49vwPMT`tAB^jBZ04vGNXJlY5$t_@HkSobAP0mozFUc*?5ApB}jt_SXj(7Bn
zcMJ&daSh>RWMC;z%q(G0VBlonVF2X~4p3HMU|?Wn;9#(2Fk)b2uxDUk&}U#`00HjZ
z3<8nc8H6@7$Zup|U|?c!W?*380!vCTa50E7xPwJOO6`y|GcquOjMUoBAc)Y$1{Q>9
z;Q_N*8PXV>7#J8h8DbeMp*GKDU;-O&x`{zvh;18#h!Fb@1_dFe9SpKUtRNOMh{Xb8
zaqM7_-NYcjjX`ud1BZ|HHU_DUU}JR{^ucZfxzz~lO(O;d24e;e1``He22%zh1~Ue6
z26F}(1`7s721^Dt1}g>~1|tT225SZr1_Q94#2}7f@MZ8}U|=v{U||SkaA9C%-~yE~
zP^YFbu!2>|X>DVW*u&wY#SCI-GjC%M+r%KRy^TR`IRi^L$W1~Fk_<9%HwiJYFfcG^
zGO#mfF$gheGsrTiBiSj(kjmi3z`(%HAkN^&;0?Aji@^+PXDb5>12Y2ygSHT(&u#|Z
zNU;B9n71<s`z&YR@YUJIAhn4>QhOVNw6@kZ263kO|L=etz|0`TAPRSY6ayOr1A{CB
zGlM*XD1!on6oVpzB7+ix7K1d{Aqo&H7!tt_VP?=^$Y5||U}O-31_KiVBZC(>;vE6G
Cb~Skb

diff --git a/web/root/telnet/IOtest.java b/web/root/telnet/IOtest.java
deleted file mode 100644
index bbd0d26059..0000000000
--- a/web/root/telnet/IOtest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/* IOtest.java -- An example how to use the TelnetIO class
- * --
- * Author: Matthias L. Jugel
- *
- * Usage: compile with javac IOtest.java
- *        run program with java IOtest
- *
- * This is not an applet, but the idea might be used in one. 
- */
-
-import java.util.Vector;
-import java.io.*;
-import socket.*;
-
-/**
- * IOtest -- a test class for telnet i/o
- * --
- * @version	$Id: IOtest.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * @author	Matthias L. Jugel
- */
-class IOtest {
-
-  // create a new telnet io instance
-  static TelnetIO tio = new TelnetIO();
-
-  // skip any received data until the prompt appears
-  private static void wait(String prompt)
-  {
-    String tmp = "";
-    do {
-      try { tmp = new String(tio.receive(), 0); }
-      catch(IOException e) { e.printStackTrace(); }
-      System.out.println(tmp);
-    } while(tmp.indexOf(prompt) == -1);
-  }
-
-  // send a string to the remote host, since TelnetIO needs a byte buffer
-  // we have to convert the string first
-  private static void send(String str)
-  {
-    byte[] buf = new byte[str.length()];
-    str.getBytes(0, str.length(), buf, 0);
-    try { tio.send(buf); } catch(IOException e) {}
-  }
-
-  // this function is called when running the class with java IOtest
-  // looks very much like a modem login script ;-)
-  public static void main(String args[])
-  {
-    try {
-      tio.connect("localhost");
-      wait("login:");
-      send("<YOUR LOGIN NAME>\r");
-      wait("Password:");
-      send("<YOUR PASSWORD>\r");
-      wait("<YOUR SHELL PROMPT>");
-      send("touch /tmp/THIS_WAS_AN_APPLET\r");
-      tio.disconnect();
-    } catch(IOException e) { e.printStackTrace(); }
-  }
-}
diff --git a/web/root/telnet/Makefile b/web/root/telnet/Makefile
deleted file mode 100644
index e9a10316d3..0000000000
--- a/web/root/telnet/Makefile
+++ /dev/null
@@ -1,178 +0,0 @@
-#
-# This file is part of "The Java Telnet Applet".
-#
-# This is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# "The Java Telnet Applet" is distributed in the hope that it will be 
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with The JAVA Telnet Applet; see the file COPYING.  If not, write to 
-# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-#
-# $Id: Makefile,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
-
-OPT	= 
-DEBUG	= -g -deprecation
-JAVA	= java
-JAVAC	= javac
-JAVADOC = javadoc
-APPV	= appletviewer
-
-.SUFFIXES: .java .class .html
-
-.java.class:
-	$(JAVAC) $(OPT) $(DEBUG) $<
-
-.class.html:	
-	$(APPLV) $@
-
-HELP:
-	@echo 'To compile "The Java Telnet Applet" do one of the following:'
-	@echo '------------------------------------------------------------'
-	@echo 'make all          - compile all files to classes'
-	@echo 'make test         - compile applet and run appletviewer'
-	@echo 'make telnet       - compile standalone and run telnet'
-	@echo 'make chartest     - compile character display test and run'
-	@echo 'make proxy        - compile proxy server'
-	@echo 'make doc          - create documentation'
-	@echo 'make clean        - delete backup files'
-	@echo 'make realclean    - make clean and delete .class files'
-
-all: appWrapper.class telnet.class modules tools
-	@echo All classes created.
-
-test: appWrapper.class telnet.class
-	$(APPV) index.test.html
-
-telnet:	appWrapper.class telnet.class
-	$(JAVA) telnet localhost	
-
-chartest: CharDisplayTest.class
-	$(APPV) CharDisplay.html
-
-doc: 
-	$(JAVADOC) -d Documentation/Source -author -version \
-		display socket modules \
-	        telnet.java appWrapper.java \
-                tools/proxy.java CharDisplayTest.java IOtest.java
-
-tar:	
-	rm -f ../telnet.tgz ../telnet.zip
-	(cd ..; tar cf - Telnet | gzip - > telnet.tgz)
-	(cd ..; zip -r telnet.zip Telnet)
-
-bin-tar: all
-	rm -f ../classes.tgz ../classes.zip
-	(cd ..; tar cf - Telnet/*.class Telnet/*/*.class \
-                          Telnet/README Telnet/INSTALL Telnet/COPYING \
-		| gzip - > classes.tgz)
-	(zip -r ../classes.zip *.class */*.class README INSTALL COPYING)
-
-revision: 
-	grep @version *.java */*.java|awk '{split($$6,rev,".");printf("%-26.26s %2.2s.%-2.2s (%s)\n",$$1,rev[1],rev[2],$$7);}' > REVISION
-	rcs2log *.java */*.java > CHANGES
-	sed -e"s/package:.*$$/package: `date +%c`/" index.html > index.html.x
-	mv index.html.x index.html
-
-dist:	realclean all doc tar bin-tar
-	@echo DONE.
-
-clean:	
-	rm -f *~ */*~
-
-realclean:	clean
-	rm -f *.class */*.class
-	(cd tools; make clean)
-
-# dependencies
-
-appWrapper.class: \
-	appWrapper.java \
-	frame.java
-
-telnet.class: \
-	telnet.java \
-	display \
-	socket \
-	modules 
-
-# display classes and terminal emulation
-
-display: \
-	display/vt320.class
-
-display/vt320.class: \
-	display/vt320.java \
-	display/CharDisplay.java \
-	display/TerminalHost.java \
-	display/Terminal.java
-
-display/CharDisplay.java: \
-	display/SoftFont.java
-
-# socket io classes
-socket: \
-	socket/TelnetIO.class \
-	socket/TelnetWrapper.class
-
-socket/TelnetIO.class: \
-	socket/TelnetIO.java \
-	socket/StatusPeer.java
-
-# dynamical loaded modules
-modules: modules/ButtonBar.class \
-         modules/Script.class \
-         modules/TextLabel.class \
-         modules/MudConnector.class \
-	 modules/BSXModule.class
-
-modules/ButtonBar.class: \
-	modules/ButtonBar.java \
-	modules/Module.java \
-	frame.java
-
-modules/Script.class: \
-	modules/Script.java \
-	modules/Module.java
-
-modules/MudConnector.class: \
-	modules/MudConnector.java \
-	modules/Module.java
-
-modules/BSXModule.class: \
-	modules/bsx/BSXDisplay.java \
-	modules/bsx/BSXGraphic.java \
-	modules/bsx/BSXInputStream.java \
-	modules/bsx/BSXObject.java \
-	modules/bsx/BSXPolygon.java \
-	modules/bsx/BSXScene.java
-
-# tools
-tools: \
-	tools/proxy.class \
-	CharDisplayTest.class \
-	IOtest.class \
-	tools/mrelayd \
-	tools/relayd
-
-tools/proxy.class: \
-	tools/proxy.java
-
-CharDisplayTest.class: \
-	CharDisplayTest.java \
-	display/CharDisplay.java
-
-IOtest.class: \
-	IOtest.java \
-	socket/TelnetIO.java
-
-socket/TelnetWrapper.class: \
-	socket/TelnetWrapper.java \
-	socket/TelnetIO.java
diff --git a/web/root/telnet/README b/web/root/telnet/README
deleted file mode 100644
index 58f23de91d..0000000000
--- a/web/root/telnet/README
+++ /dev/null
@@ -1,55 +0,0 @@
-The Java Telnet Applet
-
-Authors: Matthias L. Jugel (leo@first.gmd.de)
-	 Marcus Mei�ner (msmeissn@cip.informatik.uni-erlangen.de)
-
-This applet is the result of our attempt to make a useful java application
-and to provide better access to the world of internet through the almost
-everywhere available Web browser.
-
-We hope you find this piece of software as useful as we do. The source code
-is publicly available under the GPL.
-
-If you encounter any problems, bugs or else don't hesitate to contact us.
-
-	http://www.first.gmd.de/persons/leo/java/Telnet
-
-will always have the newest version.
-
-This distibution should contain the following files and directories:
-
-README 			  - this file
-REVISION 		  - contains version information about .java files
-CHANGES                   - all changes are logged here
-INSTALL 		  - how to install the applet
-COPYING 		  - GNU General Public Licence
-COPYING.LIB 		  - GNU Library General Public Licence
-BUGS 			  - known bugs
-Makefile 		  - to create .class files and documentation
-
-telnet.java		  - the telnet applet/application
-socket/TelnetIO.java 	  - all telnet negotiation handling
-socket/StatusPeer.java 	  - a status peer interface
-display/Terminal.java 	  - an abstract terminal class
-display/TerminalHost.java - a virtual terminal host interface
-display/CharDisplay.java  - a general purpose character display
-display/vt320.java	  - a VT320/ANSI emulation class using CharDisplay
-modules/ButtonBar.java	  - a programmable button bar
-modules/Script.java	  - a simple script module
-
-The package contains also all precompiled classes!
-
-tools/IOtest.java 	  - an example program which works like a 
-			    script executor
-tools/TelnetWrapper.java  - another example program provided by
-			    George Ruban
-tools/CharDisplayTest.java- a test class for display/CharDisplay.java
-
-tools/proxy.java 	  - a simple proxy server
-
-*.html 			  - various test files
-examples/*.html           - example files for different usage
-
-Documentation/ 		  - documentation of the JAVA source code
-CVS/			  - revision control, contains the history of 
-			    the source code
diff --git a/web/root/telnet/REVISION b/web/root/telnet/REVISION
deleted file mode 100644
index 1be1ae1ddb..0000000000
--- a/web/root/telnet/REVISION
+++ /dev/null
@@ -1,20 +0,0 @@
-CharDisplayTest.java:       1.1  (1997/03/05)
-IOtest.java:                1.1  (1997/03/05)
-appWrapper.java:            1.9  (1997/07/24)
-telnet.java:                1.21 (1999/03/04)
-display/CharDisplay.java:   1.29 (1999/03/20)
-display/Terminal.java:      1.1  (1997/03/05)
-display/TerminalHost.java:  1.1  (1997/03/05)
-display/vt320.java:         1.60 (1999/03/20)
-modules/ButtonBar.java:     1.23 (1999/04/09)
-modules/Module.java:        1.3  (1997/03/24)
-modules/MudConnector.java:  1.3  (1999/04/09)
-modules/Script.java:        1.6  (1997/11/03)
-modules/TextLabel.java:     1.1  (1997/07/09)
-socket/StatusPeer.java:     1.1  (1997/03/05)
-socket/TelnetIO.java:       1.10 (1998/02/09)
-socket/TelnetIO.java:      Ge.   (Ruban)
-socket/TelnetWrapper.java:  -.   (added)
-socket/TelnetWrapper.java:  -.   (added)
-socket/TimedOutException.j */.   ()
-tools/proxy.java:           1.4  (1997/05/27)
diff --git a/web/root/telnet/TODO b/web/root/telnet/TODO
deleted file mode 100644
index 3c5da65f35..0000000000
--- a/web/root/telnet/TODO
+++ /dev/null
@@ -1,22 +0,0 @@
-The Java(tm) Telnet Applet 
-
--- TODO LIST --
-
-May, 27, 1997
-
-	* connection timeout
-
-tools/proxy.java
-	* additional log file
-
-March, 14, 1997
-
-
-display/vt320.java
-	* should add an edit line when using line mode
-	* vttest compliance
-	* 80/132 columns switching to resize the window instead of the font
-
-display/CharDisplay.java
-	* Needs to be refined. The Font resizing in one method and the usage
-	  of addNotify() is recommendet.
diff --git a/web/root/telnet/appWrapper.class b/web/root/telnet/appWrapper.class
deleted file mode 100644
index fac64e5ab34219192efc5e7af094d2e276e5eb2f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5619
zcmX^0Z`VEsW(HkGHx7m)91KS}7_M_L+~i=m&B1VogW)a*!($GHCmak<IT)UCFg)jA
zc)`K&l7rzj2g45zMpF((3wDNk><stW86L7Td}n9mU}xlHXXIjM<Ys5&VQ1uJXXImN
z<Y#9TU}qF$XB1**6lP}>VP_O&XB1;+6lZ6YU}uzMXOv=RlxAm?VP}+OXO!b&5NF8a
zVvqz8It=+-3}OrgTnthmLJLI5G8A$#XfYIVGKex1gNPC?25p8?khU@|24#kFE(Rrr
z3Qh)XhDwlZ6&HglLp6w115#4U#UR5_2O{c0+y)TQ2;w$zGRQGBgIFz`4Dt-EAc-~*
zx1EbYmZ1Y=KqrXR1v0N2WKj<ngDyia7lR5zA18w}LqACI1dz6gAl4)<22qB|Ah%2b
zxqd20?=+C?bdcT|Al6Kfx>;NdIt;Tx+&LiD9FRqGLBu?e*nE)Kd=Pg57lQ)BLXguI
zfxN#MWZn`k22F;gAcrqwWdH-=4jzWX3~NBdZV+*Rhv5OkAs&WT4EuQ)UNfBLVR*xE
zm51RS!!90%_aJp2K*UFegFFnM87}fLd}TPv!|;t^FAu{Hkh)(Ct9clHGpyuc_`|S`
zhv6^7J|2dD4C{Cp{xdA+VPs-B&cn#eu!e_`1;k<lvDg{b@-WJSSPBf+co>x!R`4(?
zGpyoaQ~`;pfe3Ym13Zix3}<;5H5oSWFlsTZ2N7F%7_~vNIt-h67<EBP^cZ&VFzPdG
z;$buZNf?5}j6miYGi>BxGy#d3GMwRIG-J5R!)OlTT7p<s410JOtr@QHFxoM!=3%r4
zNjNa<<Y9DTIL^o*rlIMRl~|UjpIBa^@0_1kl9-v7T4aqT;gXq~npd2epJ&a;Ac(BP
zEkCcsnvp>SCYF<!m#*)hl$Dx{DI8o<l$n=q&B(y4p&14yqrlcgM?+iy)(cm}s^RGg
zQpT>~=?P)6Xn27Hq%|PQ6AKD*QcLt5!BlWbX_7TaRv0D=_D)WI5m;0lNfhB1boH)f
zsd**Vno*1l>PYIrUPKBc5Z^boq$o4F7#vJc*OZs&yB8%EWPpT02E(0MUZU@lSeaj1
z;+vS4n4Su8kQ&qiu%Dsf1+@b#1P=x+EDAj#R)Q5m^+G}j=1s6nP-$LXVp2{jH~>VE
zje#1j>B-2TicK8Jc;}qNVvsjc+zZo>qz)>?$e=^OK!`%8(zG;iD#PloFh&LxpFs3j
zL;Pri#R7;!ASpPvAU_Wrjo1Vk8Q5$x^D;~97#Y}{Q}aqvix?SXopUmivlUA66^c?5
zOG*-xGZacPQWYTSN|BL)#W_DEm63tblaYbPC$XR)yeP4t0PJ{npR}UH+*E5u27aH+
zyi~u^+@#c^5Kx#iGKfH}2d7SGA_Zk0sBn3SzEf#Q2{=OuAjF*WK`EAz0Z9mwC{cvm
zptcGlG{Tb}BZDYJG&5g6peQr1B)Fs~H8Iy3E)Gr`t`*6t1tpODtN>9D7WV`NNl|G*
zNooqR5+Nid&;-ZGfGh}&AymPTjH1-U6l+EXZlC<bl+3(z1wB1Ikdpl5#GJ6iqD)Xo
zL4%7mIK)3dk&%HbIKQ+gIn^yQCzX+b4Pq=KgIGvLs)AQyS)xKnYEE8i2{dvT88ko=
z<%z`#dHD*E@<1UcKQTo?BR8=!DODjcPa(CaD8EQkk&!_dYbhgwz3^d9Oi5v6;6lVU
zBLhEzqX#N585vv=B3242o+(x!CqPpNScy)Vf}x(Jf}y3QxxRt9zLAN7p|O>bnU#@=
zLQZPFf@?*Af(jQSgA}qkkYoo+jUbOOGAJTTLcN%n0}9wmuvb%4&<ud62}&)_tV-3;
zWMq&=HXu2_G$%zNFTVt=SAmg11z9#Xv$z-(O%Nj#3KBu-44g+yh*72kGB^Wd0LbYe
zhp~ZjN?r;h1Bj86S^^2uoYWG(#N1Ry1|En-5VtZia3&TNB~~Wq7gRDbu&1OJmlWlL
zS((KJ`NgS>3|uKiiRG{)!I;X(z?@oC1R~2y7#SGT7#Y~p@{1rQvw|}wBLf$h4#_M5
zB`3yoMh4#W)DlP#d*-F(GcvHJr<Q;UbVdd~C<|J&Gcxd`r<MdDf<OS73(?F85lYPi
z*`LA4z@3qpmy(kT&asRPY#FJU=@})A3@jO$paO&`Glh|XB@=8d3#brcWZ=v!4$Cag
zOai%12$ZPwAt3@SFBlobFa<$19V3G%L;_Td<QJu+7C~wlMh1R_IJkIWWZ;8~fD0E!
z2B<~g`Vm@Kq6$LW0LX&yIuqGEs6R#E7Jvd09()LU!NnCLgCJZTtgu3MZg^&1N`5&b
zgD_YXYT*S_2QH$(H4;o6SOi{DF*3-3b%RB*6=g6lffc~&M@9w#gf3X}f&@HR9YhFH
zW1*_8EG|jSMG=A&c_^+6$tcP%2bFY;3~V{zb^wTxpO^xwd)RYRi;EM}QyCe!b2IZY
zb4zoBGpj(nywq~fyyB9?yyR3y29|=v<ZMO;)`G-LP*USBfRyWr$=M-Ai68~+V3C|W
zMh500P`+a?N-fSvEC3auMc{$}BvG2j$iPvYS^`Z5Af``ZQfdw(17~q+2`mAz7pIm$
zk{C;I1}H+fKvZx^Vo7N+BLfSlRAFRbEzU_zEdbFaiA5!h4BW*a8d9M#GH`);P_tQz
zOY#fAV)+Fy1)Lx;s62NuxK$XQnNpI$$iP;TSd<PbCs;}{GK(1*m`idC7#TQ9@*$DH
z$iPvSn3I{3Sdz-fz+RS^Q=00Z#>l`}&d9)84l#kf98x_qGB8#!GB8#$C^CpLh%+!T
zNHAzHa4;}1Dll9F_YB@JTm{pw8BT*}MpK3}VA>2K&S(jtLG6B!IH)JUz`(%CzzFJ3
zFfcM4V_;wiXJBGrWME*B)Y{IVr^UFH!3RW`g9tMak+_k8fq{wP6axc;6ayOr1A{#S
z3xgvACxbHsAA<{nFoPR|1cN=p4F(1V9*9AVHVh{i7#J8C-ZHF*S`yE|%)kt?WD|pp
z5cf8QK&>qdX2%$KK$Nu1Hii&{C469o^BFi87BEOK%mW*&02Y&k8qB~T32OI4En{Lh
z4)(z>hSgBZQW=;Tm>3usRE0QvKo%ThklD?k6{)?0A!|E>F-T+^gTpok(`^hHKH3}L
zz7t|#VPIfb!NAP0l7Wk16@xOvYOv*E5W}FBGczbLvNBv{U}Rtf^_rkoo@QVN>keeu
z%OD)d%(j<7Gm=?|KRA*_h&4EpRfsb<*cW8+F$P5twT;2WPj??n0^3mr5hfp9W^EST
zeLEN|mNRg%K!kLdwV7FVFjyctPmh6{fq`KQ0~^Cu21$l34AKnS8I%}yFlaICWH4da
z#bC>@oxy=&4}&|yUIu@L{a~k?Fo3#{fl#NLFz_(4GTdiiWRPYsV{~S?&%nf>#URFL
z%W$88nZccb3o6UV$jGo2;xWcZ1{QGG@6_JHkgm0bA#oW)f%X;#4?*Ua3mDQsemTw{
z4-yw*-o_B2wVOdFQfoVdLDW_TpKS~Y%NZO&O13e$9%N9Q$sh*h9AHrN)!D}2uCtB7
z3L=yYp)5fO&J1Ln))t1OZ441CYrvK<ep|p`0Z{@mNgK*RF-eFKB5D$@wT&TDYa4?%
z%Npi2@c4~m5NBXuc)}pc@RUJ@;TeM}!*d2xhNlb`3@;g68D232FuZ06VR*w3!SIeD
zp5Z-18p8*MY=(~vWelGgDj2>p^fP>8n8om&VIIQ|hD8iN8P+oVV%W&=n_(-%ABOD=
z|G)vR1x^J!p#jdou#@2n!#M^<h5!Z*hVKmL8JHMmF~~w$jErmyYaqeQ@PvUCoSd7q
zw1oJ#F*rwUWiUU^AfzS4w~ZkNlxKLiF$8YZ+RY#txt&3O8$+a)mXIJsUD9y|F0E}0
zVaplZwRST|MM5ODGZ<}UNYnxcN#ZsJlW;99At8u{)Z+}CT0$&a8B(>hgajaB_Fyr#
ztqk^vjA+Ne&%nSC%)rMG!XUyB${@oK#vscO$)Ldy!(he`%V5P2!(hu0&)~<9z!1rh
z$dJyE#E{F7%uvmc!qCVN01gjGiO>WM4@O2+hV4)vpI~4CCr%eooE>A}6k_sS&cG(b
z?yI$pA$AKxHfxTS);0#mZ46F2+ZfVVb5iUe5^k(HW-Qv97=pGjglp@_in45DutvBU
zl1WZ5urr)w;9@wzz{_xoL4e^bgCxT_26cwB44Mq*8B7>1GFUTQVsK_S3U;F%1E^GU
zfx3}_!G+-`!vzLL1}+9>Mn#6J3``6H3?@*PCWAD%=wW6sVGsa~l`ya{FoK3WpuQ?+
zU<Lb17UC;@5G5@Gc4e>@n6aH97~xz<S$B&;nBg{q48skub0B$E7VaEbMi++T;KU)z
z=n5|D7#L(39T|>;^Q9~!1H*B!BeY?OiSZQ!3#iCq6am?OoWTK_rgkvcZDa5|z#zVr
z0hGnew6-xsEoad7*~DN2DjtP+Acdnjq-5O25U9P4Az&jY@o|9@-xh|%;|vmzBxMFp
zQd=0zwlR1vX9(2V%^()3wS~ccJA>g?23xHy47Nx~bqj+nI2|Hu0x1DGZyST}Hil3T
zZySR@go=iU$AgN2V+>v(N^1*4>NbXm<qS3;CC3<eLDV(|uUQOIP-#$Mp|u56=%j$k
z5FZhSoE;2t%Ne+RK)zVczzmW+{{Qes1||k}1|<en1~rD?jEsyd4C>Izt&c&Ofq@~9
zft?{AG%(4a#E{3J%23Fl#!$py&rr<Z%uvGM!cfNG!%)uP%TUD-!cff+&rrjV#!$tO
z$xz2o!BEf8#?Zhpg`tsQHbWD`N`_{J4Gb*|+Zoyz_AzuY9A)TaxWLfEaG9Z(;R!<@
z!+UUnGJ)YY!z4x)hRKYq3{x068749EF!V4AGvtEP0=V8|6oIA%H3m6`PYjnB7#Ud^
R*cm=CTn1M{x4;G5BLH6ks;&S4

diff --git a/web/root/telnet/appWrapper.java b/web/root/telnet/appWrapper.java
deleted file mode 100644
index 003da5ee47..0000000000
--- a/web/root/telnet/appWrapper.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/**
- * appWrapper -- applet/application wrapper
- * --
- * $Id: appWrapper.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Thu Jul 24 13:08:23 1997 by Matthias L. Jugel :$
- *
- * This file is part of "The Java Telnet Applet".
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be 
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-import java.applet.Applet;
-import java.applet.AppletStub;
-
-import java.awt.Frame;
-import java.awt.Event;
-import java.awt.Panel;
-import java.awt.Button;
-import java.awt.BorderLayout;
-import java.awt.Graphics;
-import java.awt.Color;
-import java.awt.FontMetrics;
-
-/**
- * The appWrapper is thought to make the applet itself independent from
- * the original context. This is necessary to be able to detach the applet
- * from the web browsers window without disconnecting it from events.
- * Note: This applet should work with any applet without changes.
- *
- * <DL>
- * <DT><B><PRE>&lt;PARAM NAME=&quot;applet&quot; VALUE=&quot;<I>applet</I>&quot;&gt;</PRE></B>
- * <DD>Defines the applet to be loaded by the appWrapper. State the applet 
- *     class name without &quot;.class&quot;!<P>
- * <DT><B><PRE>&lt;PARAM NAME=&quot;startButton&quot; VALUE=&quot;<I>text</I>&quot;&gt;</PRE></B>
- * <DD>If this parameter is set the applet is not loaded until the user presses
- *     the button. This decreases first time download delay. The <I>text</I>
- *     given as value to the parameter is shown on the button. While loading
- *     the applet the message "Loading ..." is shown on the button.<P>
- * <DT><B><PRE>&lt;PARAM NAME=&quot;stopButton&quot; VALUE=&quot;<I>text</I>&quot;&gt;</PRE></B>
- * <DD>This parameter defines the button text when the applet is loaded. When 
- *     pressing the button while the applet is running this causes the applet
- *     window to be destroyed and the applet is stopped.<P>
- * <DT><B><PRE>&lt;PARAM NAME=&quot;frameTitle&quot; VALUE=&quot;<I>text</I>&quot;&gt;</PRE></B>
- * <DD>The <I>frameTitle</I> is the text that is shown in the title bar of the
- *     applet window.<P>
- * </DL>
- * @version $Id: appWrapper.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * @author  Matthias L. Jugel
- */
-public class appWrapper extends Applet implements AppletStub, Runnable
-{
-  Thread loader = null;
-  
-  String appletName = null;
-  Applet applet = null;
-
-  Button startButton = null;
-  String startLabel, stopLabel, frameTitle;
-
-  frame f;
-  
-  /**
-   * Applet initialization. We load the class giving in parameter "applet"
-   * and set the stub corresponding to ours. Thus we are able to give
-   * it access to the parameters and any applet specific context.
-   */
-  public void init() {
-
-    // get the applet parameter
-    if((appletName = getParameter("applet")) == null) {
-      showStatus("appWrapper: missing applet parameter, nothing loaded");
-      System.err.println("appWrapper: missing applet parameter");
-      return;
-    }
-
-    setLayout(new BorderLayout());
-
-    // get the button and title parameters
-    if((startLabel = getParameter("startButton")) == null)
-      run();
-    else {
-      startButton = new Button(getParameter("startButton"));
-      add("Center", startButton);
-      if((stopLabel = getParameter("stopButton")) == null)
-        stopLabel = "STOP!";
-      if((frameTitle = getParameter("frameTitle")) == null)
-        frameTitle = "The Java Telnet Applet";
-    }
-    
-  }
-  
-  /**
-   * Load the applet finally. When using a button this creates a new frame
-   * to put the applet in.
-   */
-  public void run() {
-    if(applet == null) try {
-      applet = (Applet)Class.forName(getParameter("applet")).newInstance();
-      applet.setStub(this);
-    } catch(Exception e) {
-      System.err.println("appWrapper: could not load "+appletName);
-      e.printStackTrace();
-      return;
-    } else {
-      System.err.println("appWrapper: applet already loaded");
-      return;
-    }
-
-    if(startButton == null) {
-      add("Center", applet);
-      applet.init();
-    } else {
-      f = new frame(frameTitle);
-      f.setLayout(new BorderLayout());
-      f.add("Center", applet);
-      applet.init();
-      f.resize(applet.minimumSize());
-      f.pack();
-      f.show();
-    }
-    applet.start();
-
-    if(startButton != null)
-      startButton.setLabel(stopLabel);
-    
-    // stop loader thread
-    while(loader != null) {
-      if(f == null || !f.isVisible()) {
-        startButton.setLabel(startLabel);
-        loader.stop();
-        loader = null;
-      }
-      try { loader.sleep(5000); }
-      catch(InterruptedException e) {
-        e.printStackTrace();
-      }
-    }
-  }
-
-  /**
-   * This method is called when the applet want's to be resized.
-   * @param width the width of the applet
-   * @param height the height of the applet
-   */
-  public void appletResize(int width, int height) {
-    System.err.println("appWrapper: appletResize()");
-    if(applet != null) applet.resize(width, height);
-  }
-
-  /**
-   * Give information about the applet.
-   */
-  public String getAppletInfo()
-  {
-    String info = "appWrapper: $Id: appWrapper.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $\n";
-    if(applet != null)
-      info += applet.getAppletInfo();
-    return info;
-  }
-  
-  /**
-   * Give information about the appWrapper and the applet loaded.
-   */
-  public String[][] getParameterInfo()
-  {
-    String info[][];
-    String wrapper[][] = {
-      {"applet",   "String",   "appWrapper: Applet to load"},
-    };
-    if(applet != null) {
-      String tmp[][] = applet.getParameterInfo();
-      info = new String[tmp.length + 1][3];
-      System.arraycopy(tmp, 0, info, 1, tmp.length);
-    }
-    else info = new String[1][3];
-    System.arraycopy(wrapper, 0, info, 0, 1);
-      
-    return info;
-  }
-
-  /**
-   * Write a message to the applet area.
-   */
-  public void paint(Graphics g) 
-  {
-    String message;
-    if(applet != null) 
-      message = "Click to reattach the Applet!";
-    else message = "The was no applet load (maybe an error)!";
-
-    
-    int width = size().width / 2 - 
-      (getFontMetrics(getFont())).stringWidth(message) / 2;
-    int height = size().height / 2;
-    
-    g.setColor(Color.red);
-    g.drawString(message, width, height);
-  }
-  
-  /**
-   * reshape the applet and ourself
-   */
-  public void reshape(int x, int y, int w, int h)
-  {
-    if(applet != null) applet.reshape(x, y, w, h);
-    super.reshape(x, y, w, h);
-  }
-
-  /**
-   * Handle button events. When pressed it either creates the new applet
-   * window or destoys it.
-   */
-  public boolean handleEvent(Event evt) 
-  {
-    if(evt.target == startButton && evt.id == Event.ACTION_EVENT) {
-      if(applet == null) {
-        startButton.setLabel("Loading ...");
-        (loader = new Thread(this)).start();
-      } else {
-        if(applet.getParent() instanceof Frame) {
-          Frame frame = (Frame)applet.getParent();
-          frame.hide();
-          frame.dispose();
-        }
-        applet.stop();
-        applet.destroy();
-        applet = null;
-        startButton.setLabel(startLabel);
-      }
-      return true;
-    }
-    if(evt.id == Event.MOUSE_UP && applet.getParent() instanceof Frame) {
-      Frame frame = (Frame)applet.getParent();
-      frame.hide();
-      frame.dispose();
-      add("Center", applet);
-      validate();
-      layout();
-      return true;
-    }
-    return false;
-  }
-}
diff --git a/web/root/telnet/classes.zip b/web/root/telnet/classes.zip
deleted file mode 100644
index cb379d8a09a6b3f757679bfe247d1a8feb60d6c8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 85685
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

diff --git a/web/root/telnet/display/CharDisplay.class b/web/root/telnet/display/CharDisplay.class
deleted file mode 100644
index 6fa29a3fba83747ea12b7c9bf45fe67af7bf0985..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 19835
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
b+8J1xTfwG6@*Gm(1npllGOh-%%4-7vNU@;u

diff --git a/web/root/telnet/display/CharDisplay.java b/web/root/telnet/display/CharDisplay.java
deleted file mode 100644
index 9d3b32768e..0000000000
--- a/web/root/telnet/display/CharDisplay.java
+++ /dev/null
@@ -1,1297 +0,0 @@
-/**
- * CharDisplay -- a simple character display
- * --
- * $Id: CharDisplay.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Thu Jul 24 15:19:18 1997 by Matthias L. Jugel :$
- *
- * This file is part of "The Java Telnet Applet".
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be 
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-package display;
-
-import java.awt.Graphics;
-import java.awt.Panel;
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Font;
-import java.awt.FontMetrics;
-import java.awt.Point;
-import java.awt.Insets;
-import java.awt.Event;
-import java.awt.TextArea;
-import java.awt.Label;
-import java.awt.Frame;
-import java.awt.Scrollbar;
-import java.awt.Rectangle;
-
-/**
- * A simple character display.
- * @version $Id: CharDisplay.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * @author  Matthias L. Jugel, Marcus Mei�ner
- */
-public class CharDisplay extends Panel
-{
-  /**
-   * If you need the runtime version, just ask this variable.
-   */
-  public String version = "$Revision: 1.1.1.1 $ $Date: 2005/09/25 22:40:20 $";
-  /**
-   * Enable debug messages. This is final static to prevent unused
-   * code to be compiled.
-   */
-  public final static int debug = 0;
-  
-  private Dimension size;      /* rows and columns */
-  private Insets insets;      /* size of the border */
-  private boolean raised;      /* indicator if the border is raised */
-
-  private char charArray[][];      /* contains the characters */
-  private int charAttributes[][];    /* contains character attrs */
-  private int bufSize, maxBufSize;    /* buffer sizes */
-
-  private int windowBase;      /* where the start displaying */
-  private int screenBase;      /* the actual screen start */
-  private int topMargin;      /* top scroll margon */
-  private int bottomMargin;      /* bottom scroll margon */
-  private Scrollbar scrollBar;  /* the scroll bar */
-  private String scrBarPos;      /* the scroll bar position */
-
-  private Font normalFont;      /* normal font */
-  private FontMetrics fm;      /* current font metrics */
-  private int charWidth;      /* current width of a char */
-  private int charHeight;      /* current height of a char */
-  private int charDescent;      /* base line descent */
-  private int resizeStrategy;      /* current resizing strategy */
-
-  private int cursorX, cursorY;      /* current cursor position */
-  private Point selectBegin, selectEnd;  /* selection coordinates */
-  private TextArea selection;
-  private Frame selectFrame;
-
-  private display.SoftFont  sf = new display.SoftFont();
-
-  private boolean screenLocked = false;    /* screen needs to be locked */
-                                                /* because of paint requests */
-                                                /* during other operations */
-  private boolean update[];
-  
-  public Color notbold(Color colr)
-  {
-    return new Color(Math.max((int) (colr.getRed() *.85), 0),
-		Math.max((int) (colr.getGreen() * .85), 0),
-		Math.max((int) (colr.getBlue() * .85), 0));
-  }
-
-  private Color color[] = { notbold(Color.black),
-                            notbold(Color.red),
-                            notbold(Color.green),
-                            notbold(Color.yellow),
-                            notbold(Color.blue),
-                            notbold(Color.magenta),
-                            notbold(Color.cyan),
-                            notbold(Color.white),
-  };
-  private final static int COLOR_FG_STD = 7;
-  private final static int COLOR_FG_BOLD = 3;
-  private final static int COLOR_BG_STD = 0;
-  private final static int COLOR        = 0x7f8;
-  private final static int COLOR_FG     = 0x78;
-  private final static int COLOR_BG     = 0x780;
-
-  /**
-   * Scroll up when inserting a line.
-   */
-  public final static boolean SCROLL_UP   = false;
-  /**
-   * Scroll down when inserting a line.
-   */
-  public final static boolean SCROLL_DOWN = true;
-
-  /**
-   * Do nothing when the container is resized.
-   */
-  public final static int RESIZE_NONE  = 0;
-  /**
-   * Resize the width and height of the characterscreen.
-   */
-  public final static int RESIZE_SCREEN  = 1;
-  /**
-   * Resize the font to the new screensize.
-   */
-  public final static int RESIZE_FONT  = 2;
-  
-  /**
-   * Make character normal.
-   */ 
-  public final static int NORMAL  = 0x00;
-  /**
-   * Make character bold.
-   */ 
-  public final static int BOLD    = 0x01;
-  /**
-   * Underline character.
-   */ 
-  public final static int UNDERLINE  = 0x02;
-  /**
-   * Invert character.
-   */ 
-  public final static int INVERT  = 0x04;
-
-  private void InitializeCharDisplay(int width, int height, 
-                                     String fontname, int fsize)
-  {
-    System.err.println("CharDisplay: screen size: ["+width+","+height+"]");
-    normalFont = new Font(fontname, Font.BOLD, fsize);
-    setFont(normalFont);
-    fm = getFontMetrics(normalFont);
-    if(fm != null)
-    {
-      charWidth = fm.charWidth('@');
-      charHeight = fm.getHeight();
-      charDescent = fm.getDescent();
-    }
-
-    resizeStrategy = RESIZE_FONT;
-    size = new Dimension(width, height);
-    charArray = new char[size.height][size.width];
-    charAttributes = new int[size.height][size.width];
-    bufSize = size.height;
-    maxBufSize = 2 * size.height;
-
-    windowBase = 0;
-    screenBase = 0;
-    topMargin = 0;
-    bottomMargin = size.height - 1;
-
-    update = new boolean[size.height + 1];
-    for(int i = 1; i <= size.height; i++) update[i] = true;
-
-    selectBegin = new Point(0,0);
-    selectEnd = new Point(0,0);
-
-    setLayout(null);
-  }
-  
-  /**
-   * Create a character display with size 80x24 and Font "Courier", size 12.
-   */
-  public CharDisplay()
-  {
-    InitializeCharDisplay(80, 24, "Courier", 12);
-  }
-
-  /**
-   * Create a character display with specific size, Font is "Courier", size 12.
-   */
-  public CharDisplay(int width, int height)
-  {
-    InitializeCharDisplay(width, height, "Courier", 12);
-  }
-
-  /**
-   * Create a character display with 80x24 and specific font and font size.
-   */
-  public CharDisplay(String fname, int fsize)
-  {
-    InitializeCharDisplay(80, 24, fname, fsize);
-  }
-
-  /**
-   * Create a character display with specific size, font and font size.
-   */
-  public CharDisplay(int width, int height, String fname, int fsize)
-  {
-    InitializeCharDisplay(width, height, fname, fsize);
-  }
-  
-  /**
-   * Put a character on the screen with normal font and outline.
-   * The character previously on that position will be overwritten.
-   * You need to call redraw() to update the screen.
-   * @param c x-coordinate (column)
-   * @param l y-coordinate (line)
-   * @param ch the character to show on the screen
-   * @see #insertChar
-   * @see #deleteChar
-   * @see #redraw
-   */
-  public void putChar(int c, int l, char ch)
-  {
-    putChar(c, l, ch, NORMAL);
-  }
-
-  /**
-   * Put a character on the screen with specific font and outline.
-   * The character previously on that position will be overwritten.
-   * You need to call redraw() to update the screen.
-   * @param c x-coordinate (column)
-   * @param l y-coordinate (line)
-   * @param ch the character to show on the screen
-   * @param attributes the character attributes
-   * @see #BOLD
-   * @see #UNDERLINE
-   * @see #INVERT
-   * @see #NORMAL
-   * @see #insertChar
-   * @see #deleteChar
-   * @see #redraw
-   */  
-
-  public void putChar(int c, int l, char ch, int attributes)
-  {
-    c = checkBounds(c, 0, size.width - 1);
-    l = checkBounds(l, 0, size.height - 1);
-    charArray[screenBase + l][c] = ch;
-    charAttributes[screenBase + l][c] = attributes;
-    markLine(l, 1);
-  }
-
-  /**
-   * Get the character at the specified position.
-   * @param c x-coordinate (column)
-   * @param l y-coordinate (line)
-   * @see #putChar
-   */
-  public char getChar(int c, int l)
-  {
-    c = checkBounds(c, 0, size.width - 1);
-    l = checkBounds(l, 0, size.height - 1);
-    return charArray[l][c];
-  }
-
-  /**
-   * Get the attributes for the specified position.
-   * @param c x-coordinate (column)
-   * @param l y-coordinate (line)
-   * @see #putChar
-   */
-  public int getAttributes(int c, int l)
-  {
-    c = checkBounds(c, 0, size.width - 1);
-    l = checkBounds(l, 0, size.height - 1);
-    return charAttributes[l][c];
-  }
-
-  /**
-   * Insert a character at a specific position on the screen.
-   * All character right to from this position will be moved one to the right.
-   * You need to call redraw() to update the screen.
-   * @param c x-coordinate (column)
-   * @param l y-coordinate (line)
-   * @param ch the character to insert
-   * @param attributes the character attributes
-   * @see #BOLD
-   * @see #UNDERLINE
-   * @see #INVERT
-   * @see #NORMAL
-   * @see #putChar
-   * @see #deleteChar
-   * @see #redraw
-   */
-  public void insertChar(int c, int l, char ch, int attributes)
-  {
-    c = checkBounds(c, 0, size.width - 1);
-    l = checkBounds(l, 0, size.height - 1);
-    System.arraycopy(charArray[screenBase + l], c, 
-         charArray[screenBase + l], c + 1, size.width - c - 1);
-    System.arraycopy(charAttributes[screenBase + l], c, 
-         charAttributes[screenBase + l], c + 1, size.width - c - 1);
-    putChar(c, l, ch, attributes);
-  }
-
-  /**
-   * Delete a character at a given position on the screen.
-   * All characters right to the position will be moved one to the left.
-   * You need to call redraw() to update the screen.
-   * @param c x-coordinate (column)
-   * @param l y-coordinate (line)
-   * @see #putChar
-   * @see #insertChar
-   * @see #redraw
-   */
-  public void deleteChar(int c, int l)
-  {
-    c = checkBounds(c, 0, size.width - 1);
-    l = checkBounds(l, 0, size.height - 1);
-    if(c < size.width - 1)
-    {
-      System.arraycopy(charArray[screenBase + l], c + 1,
-           charArray[screenBase + l], c, size.width - c - 1);
-      System.arraycopy(charAttributes[screenBase + l], c + 1,
-           charAttributes[screenBase + l], c, size.width - c - 1);
-    }
-    putChar(size.width - 1, l, (char)0);
-  }
-
-  /**
-   * Put a String at a specific position. Any characters previously on that 
-   * position will be overwritten. You need to call redraw() for screen update.
-   * @param c x-coordinate (column)
-   * @param l y-coordinate (line)
-   * @param s the string to be shown on the screen
-   * @see #BOLD
-   * @see #UNDERLINE
-   * @see #INVERT
-   * @see #NORMAL
-   * @see #putChar
-   * @see #insertLine
-   * @see #deleteLine
-   * @see #redraw
-   */  
-  public void putString(int c, int l, String s)
-  {
-    putString(c, l, s, NORMAL);
-  }
-  
-  /**
-   * Put a String at a specific position giving all characters the same
-   * attributes. Any characters previously on that position will be 
-   * overwritten. You need to call redraw() to update the screen.
-   * @param c x-coordinate (column)
-   * @param l y-coordinate (line)
-   * @param s the string to be shown on the screen
-   * @param attributes character attributes
-   * @see #BOLD
-   * @see #UNDERLINE
-   * @see #INVERT
-   * @see #NORMAL
-   * @see #putChar
-   * @see #insertLine
-   * @see #deleteLine
-   * @see #redraw
-   */
-  public void putString(int c, int l, String s, int attributes)
-  {
-    for(int i = 0; i < s.length() && c + i < size.width; i++)
-      putChar(c + i, l, s.charAt(i), attributes);
-  }
-
-  /**
-   * Insert a blank line at a specific position.
-   * The current line and all previous lines are scrolled one line up. The
-   * top line is lost. You need to call redraw() to update the screen.
-   * @param l the y-coordinate to insert the line
-   * @see #deleteLine
-   * @see #redraw
-   */
-  public void insertLine(int l)
-  {
-    insertLine(l, 1, SCROLL_UP);
-  }
-
-  /**
-   * Insert blank lines at a specific position.
-   * You need to call redraw() to update the screen
-   * @param l the y-coordinate to insert the line
-   * @param n amount of lines to be inserted
-   * @see #deleteLine
-   * @see #redraw
-   */
-  public void insertLine(int l, int n)
-  {
-    insertLine(l, n, SCROLL_UP);
-  }  
-
-  /**
-   * Insert a blank line at a specific position. Scroll text according to
-   * the argument.
-   * You need to call redraw() to update the screen
-   * @param l the y-coordinate to insert the line
-   * @param scrollDown scroll down
-   * @see #deleteLine
-   * @see #SCROLL_UP
-   * @see #SCROLL_DOWN
-   * @see #redraw
-   */
-  public void insertLine(int l, boolean scrollDown)
-  {
-    insertLine(l, 1, scrollDown);
-  }  
-
-  /**
-   * Insert blank lines at a specific position.
-   * The current line and all previous lines are scrolled one line up. The
-   * top line is lost. You need to call redraw() to update the screen.
-   * @param l the y-coordinate to insert the line
-   * @param n number of lines to be inserted
-   * @param scrollDown scroll down
-   * @see #deleteLine
-   * @see #SCROLL_UP
-   * @see #SCROLL_DOWN
-   * @see #redraw
-   */
-  public synchronized void insertLine(int l, int n, boolean scrollDown)
-  {
-    screenLocked = true;
-
-    l = checkBounds(l, 0, size.height - 1);
-
-    char cbuf[][] = null;
-    int abuf[][] = null;
-    int offset = 0;
-    int oldBase = screenBase;
-    int top = (l < topMargin ? 
-               0 : (l > bottomMargin ?
-                    (bottomMargin + 1 < size.height ?
-                     bottomMargin + 1 : size.height - 1) : topMargin));
-    int bottom = (l > bottomMargin ?
-                  size.height - 1 : (l < topMargin ? 
-                                     (topMargin > 0 ?
-                                      topMargin - 1 : 0) : bottomMargin));
-    
-    
-    if(scrollDown) {
-      if(n > (bottom - top)) n = (bottom - top);
-      cbuf = new char[bottom - l - (n - 1)][size.width];
-      abuf = new int[bottom - l - (n - 1)][size.width];
-      
-      System.arraycopy(charArray, oldBase + l, cbuf, 0, bottom - l - (n - 1));
-      System.arraycopy(charAttributes, oldBase + l, 
-		       abuf, 0, bottom - l - (n - 1));
-      System.arraycopy(cbuf, 0, charArray, oldBase + l + n, 
-		       bottom - l - (n - 1));
-      System.arraycopy(abuf, 0, charAttributes, oldBase + l + n, 
-		       bottom - l - (n - 1));
-      cbuf = charArray;
-      abuf = charAttributes;
-    } else try {
-      if(n > (bottom - top) + 1) n = (bottom - top) + 1;
-      if(bufSize < maxBufSize) {
-        if(bufSize + n > maxBufSize) {
-          offset = n - (maxBufSize - bufSize);
-          bufSize = maxBufSize;
-          screenBase = maxBufSize - size.height - 1;
-          windowBase = screenBase;
-        } else {
-          screenBase += n;
-          windowBase += n;
-          bufSize += n;
-        }
-        cbuf = new char[bufSize][size.width];
-        abuf = new int[bufSize][size.width];
-      } else {
-        offset = n;
-        cbuf = charArray;
-        abuf = charAttributes;
-      }
-      /*
-       * copy anything from the top of the buffer (+offset) to the new top
-       * up to the screenBase.
-       */
-      if(oldBase > 0)
-      {
-        System.arraycopy(charArray, offset, 
-                         cbuf, 0, 
-                         oldBase - offset);
-        System.arraycopy(charAttributes, offset, 
-                         abuf, 0, 
-                         oldBase - offset);
-      }
-      /*
-       * copy anything from the top of the screen (screenBase) up to the
-       * topMargin to the new screen
-       */
-      if(top > 0)
-      {
-        System.arraycopy(charArray, oldBase, 
-                         cbuf, screenBase, 
-                         top);
-        System.arraycopy(charAttributes, oldBase, 
-                         abuf, screenBase, 
-                         top);
-      }
-      /* 
-       * copy anything from the topMargin up to the amount of lines inserted
-       * to the gap left over between scrollback buffer and screenBase
-       */
-      if(oldBase > 0) {
-	System.arraycopy(charArray, oldBase + top, 
-			 cbuf, oldBase - offset,
-			 n);
-	System.arraycopy(charAttributes, oldBase + top, 
-			 abuf, oldBase - offset,
-			 n);
-      }
-      /*
-       * copy anything from topMargin + n up to the line linserted to the
-       * topMargin
-       */
-      System.arraycopy(charArray, oldBase + top + n,
-                       cbuf, screenBase + top,
-                       l - top - (n - 1));
-      System.arraycopy(charAttributes, oldBase + top + n,
-                       abuf, screenBase + top,
-                       l - top - (n - 1));
-      /*
-       * copy the all lines next to the inserted to the new buffer
-       */
-      if(l < size.height - 1)
-      {
-        System.arraycopy(charArray, oldBase + l + 1,
-                         cbuf, screenBase + l + 1,
-                         (size.height - 1) - l);
-        System.arraycopy(charAttributes, oldBase + l + 1,
-                         abuf, screenBase + l + 1,
-                         (size.height - 1) - l);
-      }
-    } catch(ArrayIndexOutOfBoundsException e) {
-      System.err.println("*** Error while scrolling up:");
-      System.err.println("--- BEGIN STACKTRACE ---");
-      e.printStackTrace();
-      System.err.println("--- END STACKTRACE ---");
-      System.err.println("bufSize="+bufSize+", maxBufSize="+maxBufSize);
-      System.err.println("top="+top+", bottom="+bottom);
-      System.err.println("n="+n+", l="+l);
-      System.err.println("screenBase="+screenBase+", windowBase="+windowBase);
-      System.err.println("oldBase="+oldBase);
-      System.err.println("size.width="+size.width+", size.height="+size.height);
-      System.err.println("abuf.length="+abuf.length+", cbuf.length="+cbuf.length);
-      System.err.println("*** done dumping debug information");
-    }
-    
-    for(int i = 0; i < n; i++)
-    {
-      cbuf[(screenBase + l) + (scrollDown ? i : -i) ] = new char[size.width];
-      abuf[(screenBase + l) + (scrollDown ? i : -i) ] = new int[size.width];
-    }
-
-    charArray = cbuf;
-    charAttributes = abuf;
-    
-    if(scrollDown)
-      markLine(l, bottom - l + 1);
-    else
-      markLine(top, l - top + 1);
-
-    if(scrollBar != null)
-      scrollBar.setValues(windowBase, size.height, 0, bufSize);
-    
-    screenLocked = false;
-  }
-  
-  /**
-   * Delete a line at a specific position. Subsequent lines will be scrolled 
-   * up to fill the space and a blank line is inserted at the end of the 
-   * screen.
-   * @param l the y-coordinate to insert the line
-   * @see #deleteLine
-   */
-  public void deleteLine(int l)
-  {
-    l = checkBounds(l, 0, size.height - 1);
-
-    int bottom = (l>bottomMargin?size.height-1:
-		  (l<topMargin?topMargin:bottomMargin+1));
-    System.arraycopy(charArray, screenBase + l + 1,
-                     charArray, screenBase + l, bottom - l -1 );
-    System.arraycopy(charAttributes, screenBase + l + 1,
-                     charAttributes, screenBase + l, bottom - l -1);
-    charArray[screenBase + bottom - 1] = new char[size.width];
-    charAttributes[screenBase + bottom - 1] = new int[size.width];
-    markLine(l, bottom - l);
-  }
-
-
-  /**
-   * Delete a rectangular portion of the screen.
-   * You need to call redraw() to update the screen.
-   * @param c x-coordinate (column)
-   * @param l y-coordinate (row)
-   * @param w with of the area in characters
-   * @param h height of the area in characters
-   * @see #deleteChar
-   * @see #deleteLine
-   * @see redraw
-   */
-  public void deleteArea(int c, int l, int w, int h)
-  {
-    c = checkBounds(c, 0, size.width - 1);
-    l = checkBounds(l, 0, size.height - 1);
-
-    char cbuf[] = new char[w];
-    int abuf[] = new int[w];
-    
-    for(int i = 0; i < h && l + i < size.height; i++)
-    {
-      System.arraycopy(cbuf, 0, charArray[screenBase + l + i], c, w);
-      System.arraycopy(abuf, 0, charAttributes[screenBase + l + i], c, w);
-    }
-    markLine(l, h);
-  }
-
-  /**
-   * Puts the cursor at the specified position.
-   * @param c column
-   * @param l line
-   */
-  public void setCursorPos(int c, int l)
-  {
-    c = checkBounds(c, 0, size.width - 1);
-    l = checkBounds(l, 0, size.height - 1);
-    markLine(cursorY, 1);
-    cursorX = (c < size.width ? c : size.width);
-    cursorY = (l < size.height ? l : size.height);
-    markLine(l, 1);
-  }
-
-  /**
-   * Get the current cursor position.
-   * @see java.awt.Dimension
-   */
-  public Dimension getCursorPos()
-  {
-    return new Dimension(cursorX, cursorY);
-  }
-
-  /**
-   * Set the top scroll margin for the screen. If the current bottom margin
-   * is smaller it will become the top margin and the line will become the
-   * bottom margin.
-   * @param l line that is the margin
-   */
-  public void setTopMargin(int l)
-  {
-    if(l > bottomMargin) 
-    {
-      topMargin = bottomMargin;
-      bottomMargin = l;
-    }
-    else
-      topMargin = l;
-    if(topMargin < 0) topMargin = 0;
-    if(bottomMargin > size.height - 1) bottomMargin = size.height - 1;
-  }
-
-  /**
-   * Get the top scroll margin.
-   */
-  public int getTopMargin()
-  {
-    return topMargin;
-  }
-
-  /**
-   * Set the bottom scroll margin for the screen. If the current top margin
-   * is bigger it will become the bottom margin and the line will become the
-   * top margin.
-   * @param l line that is the margin
-   */
-  public void setBottomMargin(int l)
-  {
-    if(l < topMargin) 
-    {
-      bottomMargin = topMargin;
-      topMargin = l;
-    }
-    else
-      bottomMargin = l;
-    if(topMargin < 0) topMargin = 0;
-    if(bottomMargin > size.height - 1) bottomMargin = size.height - 1;
-  }
-
-  /**
-   * Get the bottom scroll margin.
-   */
-  public int getBottomMargin()
-  {
-    return bottomMargin;
-  }
-    
-  /**
-   * Set scrollback buffer size.
-   * @param amount new size of the buffer
-   */
-  public void setBufferSize(int amount)
-  {
-    screenLocked = true;
-
-    if(amount < size.height) amount = size.height;
-    if(amount < maxBufSize)
-    {
-      char cbuf[][] = new char[amount][size.width];
-      int abuf[][] = new int[amount][size.width];
-      System.arraycopy(charArray, bufSize - amount, cbuf, 0, amount);
-      System.arraycopy(charAttributes, bufSize - amount, abuf, 0, amount);
-      charArray = cbuf;
-      charAttributes = abuf;
-    }
-    maxBufSize = amount;
- 
-    screenLocked = false;
-
-    repaint();
-  }
-
-  /**
-   * Retrieve current scrollback buffer size.
-   * @see #setBufferSize
-   */
-  public int getBufferSize()
-  {
-    return bufSize;
-  }
-
-  /**
-   * Retrieve maximum buffer Size.
-   * @see #getBufferSize
-   */
-  public int getMaxBufferSize()
-  {
-    return maxBufSize;
-  }
-
-  /**
-   * Set the current window base. This allows to view the scrollback buffer.
-   * @param line the line where the screen window starts
-   * @see setBufferSize
-   * @see getBufferSize
-   */
-  public void setWindowBase(int line)
-  {
-    if(line > screenBase) line = screenBase;
-    else if(line < 0) line = 0;
-    windowBase = line;
-    repaint();
-  }
-
-  /**
-   * Get the current window base.
-   * @see setWindowBase
-   */
-  public int getWindowBase()
-  {
-    return windowBase;
-  }
-
-  /**
-   * Change the size of the screen. This will include adjustment of the 
-   * scrollback buffer.
-   * @param columns width of the screen
-   * @param columns height of the screen
-   */
-  public void setWindowSize(int width, int height)
-  {
-    char cbuf[][];
-    int abuf[][];
-    int bsize = bufSize;
-
-    if(width < 1 || height < 1) return;
-
-    screenLocked = true;
-    
-    super.update(getGraphics());
-    
-    if(height > maxBufSize) 
-      maxBufSize = height;
-    if(height > bufSize)
-    {
-      bufSize = height;
-      screenBase = 0;
-      windowBase = 0;
-    }
-
-    cbuf = new char[bufSize][width];
-    abuf = new int[bufSize][width];
-    
-    for(int i = 0; i < bsize && i < bufSize; i++)
-    {
-      System.arraycopy(charArray[i], 0, cbuf[i], 0, 
-           width < size.width ? width : size.width);
-      System.arraycopy(charAttributes[i], 0, abuf[i], 0, 
-           width < size.width ? width : size.width);
-    }
-    charArray = cbuf;
-    charAttributes = abuf;
-    size = new Dimension(width, height);
-    topMargin = 0;
-    bottomMargin = height - 1;
-    update = new boolean[height + 1];
-    for(int i = 0; i <= height; i++) update[i] = true;
-    screenLocked = false;
-  }
-
-  /**
-   * Set the strategy when window is resized.
-   * RESIZE_FONT is default.
-   * @param strategy the strategy
-   * @see #RESIZE_NONE
-   * @see #RESIZE_FONT
-   * @see #RESIZE_SCREEN
-   */
-  public void setResizeStrategy(int strategy)
-  {
-    resizeStrategy = strategy;
-  }
-  
-  /**
-   * Get amount of rows on the screen.
-   */
-  public int getRows() { return size.height; }
-
-  /**
-   * Get amount of columns on the screen.
-   */
-  public int getColumns() { return size.width; }
-
-  /**
-   * Set the border thickness and the border type.
-   * @param thickness border thickness in pixels, zero means no border
-   * @param raised a boolean indicating a raised or embossed border
-   */
-  public void setBorder(int thickness, boolean raised)
-  {
-    if(thickness == 0) insets = null;
-    else insets = new Insets(thickness+1, thickness+1, 
-                             thickness+1, thickness+1);
-    this.raised = raised;
-  }
-
-  /**
-   * Set the scrollbar position. valid values are "East" or "West".
-   * @param position the position of the scrollbar
-   */
-  public void setScrollbar(String position)
-  {
-    add(scrollBar = new Scrollbar());
-    scrollBar.setValues(windowBase, size.height, 0, bufSize - size.height);
-    scrBarPos = position;
-  }
-  
-  /**
-   * Mark lines to be updated with redraw().
-   * @param l starting line
-   * @param n amount of lines to be updated
-   * @see #redraw
-   */
-  public void markLine(int l, int n)
-  {
-    l = checkBounds(l, 0, size.height - 1);
-    for(int i = 0; i < n && l + i < size.height; i++) 
-      update[l + i + 1] = true;
-  }
-  
-  /**
-   * Redraw marked lines.
-   * @see #markLine
-   */
-  public void redraw()
-  {
-    update[0] = true;
-    repaint();
-  }
-
-  /**
-   * Update the display. to reduce flashing we have overridden this method.
-   */
-  public void update(Graphics g)
-  {
-    paint(g);
-  }
-  
-  /**
-   * Paint the current screen. All painting is done here. Only lines that have
-   * changed will be redrawn!
-   */
-  public synchronized void paint(Graphics g)
-  {
-    if(screenLocked) return;
-    int xoffset = (super.size().width - size.width * charWidth - 
-                   (scrollBar != null ? 15 : 0)) / 2;
-    int yoffset = (super.size().height - size.height * charHeight) / 2;
-
-    Color fg = color[COLOR_FG_STD];
-    Color bg = color[COLOR_BG_STD];
-
-    if(scrollBar != null && scrBarPos.equals("West")) xoffset += 15;
-    
-    g.setFont(normalFont);
-
-    for(int l = 0; l < size.height; l++)
-    {
-      if(update[0] && !update[l + 1]) continue;
-      update[l + 1] = false;
-      for(int c = 0; c < size.width; c++)
-      {
-        int addr = 0;
-        int currAttr = charAttributes[windowBase + l][c];
-
-        fg = color[COLOR_FG_STD];
-    	bg = color[COLOR_BG_STD];
-
-	// Special handling of BOLD for terminals used on 5ESS 
-        if(((currAttr & BOLD) != 0)   &&
-	   ((currAttr & COLOR_FG) == 0) &&
-	   ((currAttr & COLOR_BG) == 0)   )
-	{
-	  fg = color[COLOR_FG_BOLD];
-	}
-
-        if ((currAttr & COLOR_FG) != 0) {
-          fg = color[((currAttr & COLOR_FG) >> 3)-1];
-        }
-        if ((currAttr & COLOR_BG) != 0) {
-          bg = color[((currAttr & COLOR_BG) >> 7)-1];
-        }
-
-        if((currAttr & BOLD) != 0) {
-          if(fg.equals(Color.black))
-            fg = Color.gray;
-          else {
-	    fg = fg.brighter();
-	    bg = bg.brighter();
-	  }
-        }
-        if((currAttr & INVERT) != 0) { Color swapc = bg; bg=fg;fg=swapc; }
-
-        if (sf.inSoftFont(charArray[windowBase + l][c])) {
-          g.setColor(bg);	
-          g.fillRect(c * charWidth + xoffset, l * charHeight + yoffset, 
-		     charWidth, charHeight);
-          g.setColor(fg);	
-          sf.drawChar(g,charArray[windowBase + l][c],xoffset+c*charWidth,
-		      l*charHeight+yoffset, charWidth, charHeight);
-          if((currAttr & UNDERLINE) != 0)
-            g.drawLine(c * charWidth + xoffset,
-                     (l+1) * charHeight - charDescent / 2 + yoffset,
-                     c * charWidth + charWidth + xoffset, 
-                     (l+1) * charHeight - charDescent / 2 + yoffset);
-          continue;
-        }
-        
-	// determine the maximum of characters we can print in one go
-        while(c + addr < size.width && 
-              charAttributes[windowBase + l][c + addr] == currAttr &&
-              !sf.inSoftFont(charArray[windowBase + l ][c+addr])
-        ) {
-          if(charArray[windowBase + l][c + addr] < ' ')
-            charArray[windowBase + l][c + addr] = ' ';
-          addr++;
-        }
-        
-        // clear the part of the screen we want to change (fill rectangle)
-        g.setColor(bg);
-        g.fillRect(c * charWidth + xoffset, l * charHeight + yoffset,
-                   addr * charWidth, charHeight);
-
-        g.setColor(fg);
-        
-	// draw the characters
-        g.drawChars(charArray[windowBase + l], c, addr, 
-                    c * charWidth + xoffset, 
-                    (l+1) * charHeight - charDescent + yoffset);
-
-        if((currAttr & UNDERLINE) != 0)
-          g.drawLine(c * charWidth + xoffset,
-                     (l+1) * charHeight - charDescent / 2 + yoffset,
-                     c * charWidth + addr * charWidth + xoffset, 
-                     (l+1) * charHeight - charDescent / 2 + yoffset);
-        
-        c += addr - 1;
-      }
-    }
-
-    // draw cursor
-    if(screenBase + cursorY >= windowBase && 
-       screenBase + cursorY < windowBase + size.height)
-    {
-      g.setColor(color[COLOR_FG_STD]);
-      g.setXORMode(color[COLOR_BG_STD]);
-      g.fillRect( cursorX * charWidth + xoffset, 
-                 (cursorY + screenBase - windowBase) * charHeight + yoffset,
-                 charWidth, charHeight);
-      g.setPaintMode();
-    }
-
-    if(windowBase <= selectBegin.y || windowBase <= selectEnd.y) {
-      int beginLine = selectBegin.y - windowBase;
-      int endLine = selectEnd.y - selectBegin.y;
-      if(beginLine < 0) {
-        endLine += beginLine;
-        beginLine = 0;
-      }
-      if(endLine > size.height) endLine = size.height - beginLine;
-       
-      g.setXORMode(color[COLOR_BG_STD]);
-      g.fillRect(selectBegin.x * charWidth + xoffset,
-                 beginLine * charHeight + yoffset,
-                 (endLine == 0 ? (selectEnd.x - selectBegin.x) : 
-                  (size.width - selectBegin.x)) 
-                 * charWidth,
-                 charHeight);
-      if(endLine > 1)
-        g.fillRect(0 + xoffset, 
-                   (beginLine + 1) * charHeight + yoffset, 
-                   size.width * charWidth, 
-                   (endLine - 1) * charHeight);
-      if(endLine > 0)
-        g.fillRect(0 + xoffset, 
-                   (beginLine + endLine) * charHeight + yoffset,
-                   selectEnd.x * charWidth, 
-                   charHeight);
-      g.setPaintMode();
-    }
-
-    if(insets != null) {
-      g.setColor(getBackground());
-      xoffset--; yoffset--;
-      for(int i = insets.top - 1; i >= 0; i--)
-        g.draw3DRect(xoffset - i, yoffset - i,
-                     charWidth * size.width + 1 + i * 2, 
-                     charHeight * size.height + 1 + i * 2,
-                     raised);
-    }
-
-    update[0] = false;
-  }
-
-  private int checkBounds(int value, int lower, int upper)
-  {
-    if(value < lower) return lower;
-    if(value > upper) return upper;
-    return value;
-  }
-
-  /**
-   * Reshape character display according to resize strategy.
-   * @see #setResizeStrategy
-   */
-  public void reshape(int x, int y, int w, int h)
-  {
-    if(debug > 0)
-      System.err.println("CharDisplay: reshape("+x+","+y+","+w+","+h+")");
-
-    int xborder = 0, yborder = 0;
-    
-    if(insets != null) {
-      w -= (xborder = insets.left + insets.right);
-      h -= (yborder = insets.top + insets.bottom);
-    }
-    if(scrollBar != null) { w -= 15;}
-
-    Font tmpFont = normalFont;
-    String fontName = normalFont.getName();
-    fm = getFontMetrics(normalFont);
-    if(fm != null)
-    {
-      charWidth = fm.charWidth('@');
-      charHeight = fm.getHeight();
-    }
-    
-    switch(resizeStrategy)
-    {
-    case RESIZE_SCREEN:
-      setWindowSize(w / charWidth, size.height = h / charHeight);
-      break;
-    case RESIZE_FONT:
-      int height = h / size.height;
-      int width = w / size.width;
-      
-      fm = getFontMetrics(normalFont = new Font(fontName, Font.PLAIN, 
-                                                charHeight));
-      
-      // adapt current font size (from small up to best fit)
-      if(fm.getHeight() < height || fm.charWidth('@') < width)
-        do {
-          fm = getFontMetrics(normalFont = new Font(fontName, Font.PLAIN, 
-                                                    ++charHeight));
-        } while(fm.getHeight() < height || 
-                fm.charWidth('@') < width); 
-      
-      // now check if we got a font that is too large
-      if(fm.getHeight() > height || fm.charWidth('@') > width)
-        do {
-          fm = getFontMetrics(normalFont = new Font(fontName, Font.PLAIN, 
-                                                    --charHeight));
-        } while(charHeight > 1 && 
-                (fm.getHeight() > height || 
-                 fm.charWidth('@') > width));
-      
-      if(charHeight <= 1) 
-      {
-        System.err.println("CharDisplay: error during resize, resetting");
-        normalFont = tmpFont;
-        System.err.println("CharDisplay: disabling font/screen resize");
-        resizeStrategy = RESIZE_NONE;
-      }
-
-      setFont(normalFont);
-      fm = getFontMetrics(normalFont);
-      charWidth = fm.charWidth('@');
-      charHeight = fm.getHeight();
-      charDescent = fm.getDescent();
-      break;
-    case RESIZE_NONE:
-    default:
-      break;
-    }
-    if(debug > 0)
-    {
-      System.err.println("CharDisplay: charWidth="+charWidth+", "+
-                         "charHeight="+charHeight+", "+
-                         "charDescent="+charDescent);
-      System.err.println("CharDisplay: "+normalFont+", "+fm);
-    }
-    super.reshape(x, y, 
-                  w + xborder + (scrollBar != null ? 15 : 0), 
-                  h + yborder);
-    
-    if(scrollBar != null) {
-      int xoffset = (super.size().width - size.width * charWidth - 15) / 2;
-      int yoffset = (super.size().height - size.height * charHeight) / 2;
-      if(scrBarPos.equals("West"))
-        scrollBar.reshape(xoffset - (xborder / 2), yoffset - yborder / 2,
-                          15, size.height * charHeight + yborder);
-      else
-        scrollBar.reshape(xoffset + (xborder / 2) + size.width * charWidth, 
-                          yoffset - yborder / 2, 15, 
-                          size.height * charHeight + yborder);
-    }
-  }
-
-  /**
-   * Return the real size in points of the character display.
-   * @return Dimension the dimension of the display
-   * @see java.awt.Dimension
-   */
-  public Dimension size()
-  {
-    int xborder = 0, yborder = 0;
-    if(insets != null) {
-      xborder = insets.left + insets.right;
-      yborder = insets.top + insets.bottom;
-    }
-    if(scrollBar != null) xborder += 15;
-    
-    return new Dimension(size.width * charWidth + xborder, 
-                         size.height * charHeight + yborder);
-  }
-
-  /**
-   * Return the preferred Size of the character display.
-   * This turns out to be the actual size.
-   * @return Dimension dimension of the display
-   * @see size
-   */
-  public Dimension preferredSize() 
-  {
-    return size();
-  }
-
-  /**
-   * The insets of the character display define the border.
-   * @return Insets border thickness in pixels
-   */
-  public Insets insets() 
-  {
-    return insets == null ? super.insets() : insets;
-  }
-
-  /**
-   * Handle mouse events for copy & paste
-   * @param evt the event that occured
-   * @return boolean true if action was taken
-   * @see java.awt.Event
-   */
-  public boolean handleEvent(Event evt) 
-  {
-    // handle scrollbar events
-    if(evt != null && evt.target == scrollBar && evt.arg != null) {
-      int val = ((Integer)evt.arg).intValue();
-      setWindowBase(val);
-      return true;
-    }
-
-    if(evt.id == Event.MOUSE_DOWN || evt.id == Event.MOUSE_UP ||
-       evt.id == Event.MOUSE_DRAG) {
-      int xoffset = (super.size().width - size.width * charWidth) / 2;
-      int yoffset = (super.size().height - size.height * charHeight) / 2;
-      switch(evt.id) {
-      case Event.MOUSE_DOWN:
-        selectBegin.x = (evt.x - xoffset) / charWidth;
-        selectBegin.y = (evt.y - yoffset) / charHeight + windowBase;
-        selectEnd.x = selectBegin.x;
-        selectEnd.y = selectBegin.y;
-        if(selectFrame != null) selectFrame.hide();
-        break;
-      case Event.MOUSE_UP:
-      case Event.MOUSE_DRAG:
-        int x = (evt.x - xoffset) / charWidth;
-        int y = (evt.y - yoffset) / charHeight + windowBase;
-        int oldx = selectEnd.x, oldy = selectEnd.y;
-
-        if((x < selectBegin.x && y < selectBegin.y) &&
-           (x < selectEnd.x && y < selectEnd.y)) {
-          selectBegin.x = x;
-          selectBegin.y = y;
-        } else {
-          selectEnd.x = x;
-          selectEnd.y = y;
-        }
-
-        if(evt.id == Event.MOUSE_UP) {
-          if(selectBegin.x == selectEnd.x &&
-             selectBegin.y == selectEnd.y) {
-            repaint();
-            return true;
-          }
-          String tmp = "";
-	  // fix end.x and end.y, they can get over the border
-	  if (selectEnd.x < 0) selectEnd.x = 0;
-	  if (selectEnd.y < 0) selectEnd.y = 0;
-	  if (selectEnd.y >= charArray.length) {
-		selectEnd.y = charArray.length-1;
-	  }
-	  if (selectEnd.x >= charArray[0].length) {
-		selectEnd.x = charArray[0].length-1;
-	  }
-          for(int l = selectBegin.y; l <= selectEnd.y; l++)
-            if(l == selectBegin.y) 
-              tmp = (new String(charArray[l])).substring(selectBegin.x) + "\n";
-            else if(l == selectEnd.y) 
-              tmp += (new String(charArray[l])).substring(0, selectEnd.x);
-            else tmp += new String(charArray[l]) + "\n";
-          if(selectFrame == null) {
-
-	    /* for jdk-1.1
-	    String s=(String) ((StringSelection)this.getToolkit().
-			       getSystemClipboard().
-			       getContents(this)).
-	      getTransferData(DataFlavor.stringFlavor);
-	    System.out.println(s);
-	    */
-            selectFrame = new Frame("Pasteboard");
-            selection = new TextArea();
-            selection.setFont(normalFont);
-            selectFrame.add("Center", selection);
-            selectFrame.add("South", new Label("Click on the terminal window"+
-                                               " to hide!"));
-            selectFrame.pack();
-          }
-          selection.setText(tmp);
-          selectFrame.show();
-          selection.selectAll();
-          repaint();
-        } else
-          if(oldx != x || oldy != y) repaint();
-        break;
-      }
-      return true;
-    }
-    return false;
-  }
-}
diff --git a/web/root/telnet/display/SoftFont.class b/web/root/telnet/display/SoftFont.class
deleted file mode 100644
index 327e2572416d75f327814f185071c176d60282d3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 10793
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

diff --git a/web/root/telnet/display/SoftFont.java b/web/root/telnet/display/SoftFont.java
deleted file mode 100644
index 961799049c..0000000000
--- a/web/root/telnet/display/SoftFont.java
+++ /dev/null
@@ -1,1005 +0,0 @@
-/*
- * SoftFont -- a unicode softfont displayer
- * --
- * $Id: SoftFont.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- *
- * This file is part of "The Java Telnet Applet".
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-package display;
-
-import java.awt.*;
-import java.util.*;
-/**********************************************/
-/*                                            */
-/*       Font file generated by cpi2fnt       */
-/*                                            */
-/**********************************************/
-
-public class SoftFont {
-	final static private char	SF_BITMAP = 0;
-	final static private char	SF_FILLRECT = 1;
-
-
-	final static private char	SF_CHAR	= 0;
-	final static private char	SF_WIDTH= 1;
-	final static private char	SF_HEIGHT= 2;
-	final static private char	SF_TYPE  = 3;
-	final static private char	SF_DATA  = 4;
-	java.util.Hashtable font;
-	/** 
-	 * softfont characterdata
-	 */
-	private static char[][] fontdata = {
-	
-	{0x01,8,8,SF_BITMAP, /* 1 0x01 '^A' */
-	0x7e, /* 01111110 */
-	0x81, /* 10000001 */
-	0xa5, /* 10100101 */
-	0x81, /* 10000001 */
-	0xbd, /* 10111101 */
-	0x99, /* 10011001 */
-	0x81, /* 10000001 */
-	0x7e, /* 01111110 */
-	},{ 0x02,8,8,SF_BITMAP,/* 2 0x02 '^B' */
-	0x7e, /* 01111110 */
-	0xff, /* 11111111 */
-	0xdb, /* 11011011 */
-	0xff, /* 11111111 */
-	0xc3, /* 11000011 */
-	0xe7, /* 11100111 */
-	0xff, /* 11111111 */
-	0x7e, /* 01111110 */
-	},{ 0x03,8,8,SF_BITMAP,/* 3 0x03 '^C' */
-	0x6c, /* 01101100 */
-	0xfe, /* 11111110 */
-	0xfe, /* 11111110 */
-	0xfe, /* 11111110 */
-	0x7c, /* 01111100 */
-	0x38, /* 00111000 */
-	0x10, /* 00010000 */
-	0x00, /* 00000000 */
-	},{ 0x04,8,8,SF_BITMAP,/* 4 0x04 '^D' */
-	0x10, /* 00010000 */
-	0x38, /* 00111000 */
-	0x7c, /* 01111100 */
-	0xfe, /* 11111110 */
-	0x7c, /* 01111100 */
-	0x38, /* 00111000 */
-	0x10, /* 00010000 */
-	0x00, /* 00000000 */
-	},{ 0x05,8,8,SF_BITMAP,/* 5 0x05 '^E' */
-	0x38, /* 00111000 */
-	0x7c, /* 01111100 */
-	0x38, /* 00111000 */
-	0xfe, /* 11111110 */
-	0xfe, /* 11111110 */
-	0xd6, /* 11010110 */
-	0x10, /* 00010000 */
-	0x38, /* 00111000 */
-	},{ 0x06,8,8,SF_BITMAP,/* 6 0x06 '^F' */
-	0x10, /* 00010000 */
-	0x38, /* 00111000 */
-	0x7c, /* 01111100 */
-	0xfe, /* 11111110 */
-	0xfe, /* 11111110 */
-	0x7c, /* 01111100 */
-	0x10, /* 00010000 */
-	0x38, /* 00111000 */
-	},{ 0x2666,8,8,SF_BITMAP,/* 9830 0x2666 BLACK DIAMOND */
-	0x00, /* 00000000 */
-	0x00, /* 00000000 */
-	0x18, /* 00011000 */
-	0x3c, /* 00111100 */
-	0x3c, /* 00111100 */
-	0x18, /* 00011000 */
-	0x00, /* 00000000 */
-	0x00, /* 00000000 */
-	},{ 0x07,8,8,SF_BITMAP,/* 7 0x07 '^G' */
-	0x00, /* 00000000 */
-	0x00, /* 00000000 */
-	0x18, /* 00011000 */
-	0x3c, /* 00111100 */
-	0x3c, /* 00111100 */
-	0x18, /* 00011000 */
-	0x00, /* 00000000 */
-	0x00, /* 00000000 */
-	},{ 0x08,8,8,SF_BITMAP,/* 8 0x08 '^H' */
-	0xff, /* 11111111 */
-	0xff, /* 11111111 */
-	0xe7, /* 11100111 */
-	0xc3, /* 11000011 */
-	0xc3, /* 11000011 */
-	0xe7, /* 11100111 */
-	0xff, /* 11111111 */
-	0xff, /* 11111111 */
-	},{ 0x09,8,8,SF_BITMAP,/* 9 0x09 '^I' */
-	0x00, /* 00000000 */
-	0x3c, /* 00111100 */
-	0x66, /* 01100110 */
-	0x42, /* 01000010 */
-	0x42, /* 01000010 */
-	0x66, /* 01100110 */
-	0x3c, /* 00111100 */
-	0x00, /* 00000000 */
-	},{ 0x0a,8,8,SF_BITMAP,/* 10 0x0a '^J' */
-	0xff, /* 11111111 */
-	0xc3, /* 11000011 */
-	0x99, /* 10011001 */
-	0xbd, /* 10111101 */
-	0xbd, /* 10111101 */
-	0x99, /* 10011001 */
-	0xc3, /* 11000011 */
-	0xff, /* 11111111 */
-	},{ 0x0b,8,8,SF_BITMAP,/* 11 0x0b '^K' */
-	0x0f, /* 00001111 */
-	0x07, /* 00000111 */
-	0x0f, /* 00001111 */
-	0x7d, /* 01111101 */
-	0xcc, /* 11001100 */
-	0xcc, /* 11001100 */
-	0xcc, /* 11001100 */
-	0x78, /* 01111000 */
-	},{ 0x0c,8,8,SF_BITMAP,/* 12 0x0c '^L' */
-	0x3c, /* 00111100 */
-	0x66, /* 01100110 */
-	0x66, /* 01100110 */
-	0x66, /* 01100110 */
-	0x3c, /* 00111100 */
-	0x18, /* 00011000 */
-	0x7e, /* 01111110 */
-	0x18, /* 00011000 */
-	},{ 0x0d,8,8,SF_BITMAP,/* 13 0x0d '^M' */
-	0x3f, /* 00111111 */
-	0x33, /* 00110011 */
-	0x3f, /* 00111111 */
-	0x30, /* 00110000 */
-	0x30, /* 00110000 */
-	0x70, /* 01110000 */
-	0xf0, /* 11110000 */
-	0xe0, /* 11100000 */
-	},{ 0x0e,8,8,SF_BITMAP,/* 14 0x0e '^N' */
-	0x7f, /* 01111111 */
-	0x63, /* 01100011 */
-	0x7f, /* 01111111 */
-	0x63, /* 01100011 */
-	0x63, /* 01100011 */
-	0x67, /* 01100111 */
-	0xe6, /* 11100110 */
-	0xc0, /* 11000000 */
-	},{ 0x0f,8,8,SF_BITMAP,/* 15 0x0f '^O' */
-	0x18, /* 00011000 */
-	0xdb, /* 11011011 */
-	0x3c, /* 00111100 */
-	0xe7, /* 11100111 */
-	0xe7, /* 11100111 */
-	0x3c, /* 00111100 */
-	0xdb, /* 11011011 */
-	0x18, /* 00011000 */
-	},{ 0x10,8,8,SF_BITMAP,/* 16 0x10 '^P' */
-	0x80, /* 10000000 */
-	0xe0, /* 11100000 */
-	0xf8, /* 11111000 */
-	0xfe, /* 11111110 */
-	0xf8, /* 11111000 */
-	0xe0, /* 11100000 */
-	0x80, /* 10000000 */
-	0x00, /* 00000000 */
-	},{ 0x11,8,8,SF_BITMAP,/* 17 0x11 '^Q' */
-	0x02, /* 00000010 */
-	0x0e, /* 00001110 */
-	0x3e, /* 00111110 */
-	0xfe, /* 11111110 */
-	0x3e, /* 00111110 */
-	0x0e, /* 00001110 */
-	0x02, /* 00000010 */
-	0x00, /* 00000000 */
-	},{ 0x12,8,8,SF_BITMAP,/* 18 0x12 '^R' */
-	0x18, /* 00011000 */
-	0x3c, /* 00111100 */
-	0x7e, /* 01111110 */
-	0x18, /* 00011000 */
-	0x18, /* 00011000 */
-	0x7e, /* 01111110 */
-	0x3c, /* 00111100 */
-	0x18, /* 00011000 */
-	},{ 0x13,8,8,SF_BITMAP,/* 19 0x13 '^S' */
-	0x66, /* 01100110 */
-	0x66, /* 01100110 */
-	0x66, /* 01100110 */
-	0x66, /* 01100110 */
-	0x66, /* 01100110 */
-	0x00, /* 00000000 */
-	0x66, /* 01100110 */
-	0x00, /* 00000000 */
-	},{ 0x14,8,8,SF_BITMAP,/* 20 0x14 '^T' */
-	0x7f, /* 01111111 */
-	0xdb, /* 11011011 */
-	0xdb, /* 11011011 */
-	0x7b, /* 01111011 */
-	0x1b, /* 00011011 */
-	0x1b, /* 00011011 */
-	0x1b, /* 00011011 */
-	0x00, /* 00000000 */
-	},{ 0x15,8,8,SF_BITMAP,/* 21 0x15 '^U' */
-	0x3e, /* 00111110 */
-	0x61, /* 01100001 */
-	0x3c, /* 00111100 */
-	0x66, /* 01100110 */
-	0x66, /* 01100110 */
-	0x3c, /* 00111100 */
-	0x86, /* 10000110 */
-	0x7c, /* 01111100 */
-	},{ 0x16,8,8,SF_BITMAP,/* 22 0x16 '^V' */
-	0x00, /* 00000000 */
-	0x00, /* 00000000 */
-	0x00, /* 00000000 */
-	0x00, /* 00000000 */
-	0x7e, /* 01111110 */
-	0x7e, /* 01111110 */
-	0x7e, /* 01111110 */
-	0x00, /* 00000000 */
-	},{ 0x17,8,8,SF_BITMAP,/* 23 0x17 '^W' */
-	0x18, /* 00011000 */
-	0x3c, /* 00111100 */
-	0x7e, /* 01111110 */
-	0x18, /* 00011000 */
-	0x7e, /* 01111110 */
-	0x3c, /* 00111100 */
-	0x18, /* 00011000 */
-	0xff, /* 11111111 */
-	},{ 0x18,8,8,SF_BITMAP,/* 24 0x18 '^X' */
-	0x18, /* 00011000 */
-	0x3c, /* 00111100 */
-	0x7e, /* 01111110 */
-	0x18, /* 00011000 */
-	0x18, /* 00011000 */
-	0x18, /* 00011000 */
-	0x18, /* 00011000 */
-	0x00, /* 00000000 */
-	},{ 0x19,8,8,SF_BITMAP,/* 25 0x19 '^Y' */
-	0x18, /* 00011000 */
-	0x18, /* 00011000 */
-	0x18, /* 00011000 */
-	0x18, /* 00011000 */
-	0x7e, /* 01111110 */
-	0x3c, /* 00111100 */
-	0x18, /* 00011000 */
-	0x00, /* 00000000 */
-	},{ 0x1a,8,8,SF_BITMAP,/* 26 0x1a '^Z' */
-	0x00, /* 00000000 */
-	0x18, /* 00011000 */
-	0x0c, /* 00001100 */
-	0xfe, /* 11111110 */
-	0x0c, /* 00001100 */
-	0x18, /* 00011000 */
-	0x00, /* 00000000 */
-	0x00, /* 00000000 */
-	},{ 0x1b,8,8,SF_BITMAP,/* 27 0x1b '^[' */
-	0x00, /* 00000000 */
-	0x30, /* 00110000 */
-	0x60, /* 01100000 */
-	0xfe, /* 11111110 */
-	0x60, /* 01100000 */
-	0x30, /* 00110000 */
-	0x00, /* 00000000 */
-	0x00, /* 00000000 */
-	},{ 0x1c,8,8,SF_BITMAP,/* 28 0x1c '^\' */
-	0x00, /* 00000000 */
-	0x00, /* 00000000 */
-	0xc0, /* 11000000 */
-	0xc0, /* 11000000 */
-	0xc0, /* 11000000 */
-	0xfe, /* 11111110 */
-	0x00, /* 00000000 */
-	0x00, /* 00000000 */
-	},{ 0x1d,8,8,SF_BITMAP,/* 29 0x1d '^]' */
-	0x00, /* 00000000 */
-	0x24, /* 00100100 */
-	0x66, /* 01100110 */
-	0xff, /* 11111111 */
-	0x66, /* 01100110 */
-	0x24, /* 00100100 */
-	0x00, /* 00000000 */
-	0x00, /* 00000000 */
-	},{ 0x1e,8,8,SF_BITMAP,/* 30 0x1e '^^' */
-	0x00, /* 00000000 */
-	0x18, /* 00011000 */
-	0x3c, /* 00111100 */
-	0x7e, /* 01111110 */
-	0xff, /* 11111111 */
-	0xff, /* 11111111 */
-	0x00, /* 00000000 */
-	0x00, /* 00000000 */
-	},{ 0x1f,8,8,SF_BITMAP,/* 31 0x1f '^_' */
-	0x00, /* 00000000 */
-	0xff, /* 11111111 */
-	0xff, /* 11111111 */
-	0x7e, /* 01111110 */
-	0x3c, /* 00111100 */
-	0x18, /* 00011000 */
-	0x00, /* 00000000 */
-	0x00, /* 00000000 */
-	},{ 0x7f,8,8,SF_BITMAP,/* 127 0x7f '' */
-	0x00, /* 00000000 */
-	0x10, /* 00010000 */
-	0x38, /* 00111000 */
-	0x6c, /* 01101100 */
-	0xc6, /* 11000110 */
-	0xc6, /* 11000110 */
-	0xfe, /* 11111110 */
-	0x00, /* 00000000 */
-	},{ 0x2591,8,8,SF_BITMAP,/* LIGHT SHADE */
-	0x22, /* 00100010 */
-	0x88, /* 10001000 */
-	0x22, /* 00100010 */
-	0x88, /* 10001000 */
-	0x22, /* 00100010 */
-	0x88, /* 10001000 */
-	0x22, /* 00100010 */
-	0x88, /* 10001000 */
-	},{ 0x2592,8,8,SF_BITMAP,/* MEDIUM SHADE */
-	0x55, /* 01010101 */
-	0xaa, /* 10101010 */
-	0x55, /* 01010101 */
-	0xaa, /* 10101010 */
-	0x55, /* 01010101 */
-	0xaa, /* 10101010 */
-	0x55, /* 01010101 */
-	0xaa, /* 10101010 */
-	},{ 0x2593,8,8,SF_BITMAP,/* DARK SHADE */
-	0x77, /* 01110111 */
-	0xdd, /* 11011101 */
-	0x77, /* 01110111 */
-	0xdd, /* 11011101 */
-	0x77, /* 01110111 */
-	0xdd, /* 11011101 */
-	0x77, /* 01110111 */
-	0xdd, /* 11011101 */
-	},{ 0x221a,8,8,SF_BITMAP,/* SQUARE ROOT */
-	0x78, /* 01111000 */
-	0x0c, /* 00001100 */
-	0x18, /* 00011000 */
-	0x30, /* 00110000 */
-	0x7c, /* 01111100 */
-	0x00, /* 00000000 */
-	0x00, /* 00000000 */
-	0x00, /* 00000000 */
-	},{ 0x2320,8,8,SF_BITMAP,/* UPPER INTERVAL*/
-        0x0e, /* 00001110 */
-        0x1b, /* 00011011 */
-        0x1b, /* 00011011 */
-        0x18, /* 00011000 */
-        0x18, /* 00011000 */
-        0x18, /* 00011000 */
-        0x18, /* 00011000 */
-        0x18, /* 00011000 */
-	},{ 0x25a0,8,8,SF_FILLRECT,/* BLACK SQUARE */
-		0x2244,
-		/* 00000000 */
-		/* 00000000 */
-		/* 00111100 */
-		/* 00111100 */
-		/* 00111100 */
-		/* 00111100 */
-		/* 00000000 */
-		/* 00000000 */
-	},{ 0x2502,8,8,SF_FILLRECT,/*BOX DRAWINGS LIGHT VERTICAL*/
-		0x3028,
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-	},{ 0x2524,8,8,SF_FILLRECT,/* BOX DRAWINGS LIGHT VERTICAL AND LEFT */
-		0x3028,
-		0x0431,
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 11111000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-	},{ 0x2561,8,8,SF_FILLRECT,/*BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE*/
-		0x3028,
-		0x0231,
-		0x0431,
-		/* 00011000 */
-		/* 00011000 */
-		/* 11111000 */
-		/* 00011000 */
-		/* 11111000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-	},{ 0x2562,8,8,SF_FILLRECT,/* BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE */
-		0x2028,
-		0x5028,
-		0x0421,
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 11110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-	},{ 0x2556,8,8,SF_FILLRECT,/* BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE */
-		0x0471,
-		0x2523,
-		0x5523,
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 11111110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-	},{ 0x2555,8,8,SF_FILLRECT,/* BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE */
-		0x3226,
-		0x0231,
-		0x0431,
-		/* 00000000 */
-		/* 00000000 */
-		/* 11111000 */
-		/* 00011000 */
-		/* 11111000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-	},{ 0x2563,8,8,SF_FILLRECT,/* BOX DRAWINGS DOUBLE VERTICAL AND LEFT*/
-		0x2022,
-		0x0221,
-		0x0421,
-		0x2424,
-		0x5028,
-		/* 00110110 */
-		/* 00110110 */
-		/* 11110110 */
-		/* 00000110 */
-		/* 11110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-	},{ 0x2551,8,8,SF_FILLRECT,/* BOX DRAWINGS DOUBLE VERTICAL */
-		0x2028,
-		0x5028,
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-	},{ 0x2557,8,8,SF_FILLRECT,/*  BOX DRAWINGS DOUBLE DOWN AND LEFT */
-		0x0271,
-		0x5325,
-		0x0441,
-		0x2523,
-		/* 00000000 */
-		/* 00000000 */
-		/* 11111110 */
-		/* 00000110 */
-		/* 11110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-	},{ 0x255d,8,8,SF_FILLRECT,/* BOX DRAWINGS DOUBLE UP AND LEFT */
-		0x2022,
-		0x0241,
-		0x5025,
-		0x0451,
-		/* 00110110 */
-		/* 00110110 */
-		/* 11110110 */
-		/* 00000110 */
-		/* 11111110 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-	},{ 0x255c,8,8,SF_FILLRECT,/* BOX DRAWINGS UP DOUBLE AND LEFT SINGLE */
-		0x2024,
-		0x5024,
-		0x0471,
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 11111110 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-	},{ 0x255b,8,8,SF_FILLRECT,/* BOX DRAWINGS UP SINGLE AND LEFT DOUBLE */
-		0x3025,
-		0x0231,
-		0x0431,
-		/* 00011000 */
-		/* 00011000 */
-		/* 11111000 */
-		/* 00011000 */
-		/* 11111000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-	},{ 0x2510,8,8,SF_FILLRECT,/* BOX DRAWINGS LIGHT DOWN AND LEFT */
-		0x0451,
-		0x3523,
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 11111000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-	},{ 0x2514,8,8,SF_FILLRECT,/* BOX DRAWINGS LIGHT UP AND RIGHT */
-		0x3025,
-		0x5431,
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011111 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-	},{ 0x2534,8,8,SF_FILLRECT,/* BOX DRAWINGS LIGHT UP AND HORIZONTAL */
-		0x3024,
-		0x0481,
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 11111111 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-	},{ 0x252c,8,8,SF_FILLRECT,/* BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */
-		0x0481,
-		0x3523,
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 11111111 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-	},{ 0x251c,8,8,SF_FILLRECT,/* BOX DRAWINGS LIGHT VERTICAL AND RIGHT */
-		0x3028,
-		0x5431,
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011111 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-	},{ 0x2500,8,8,SF_FILLRECT,/* BOX DRAWINGS LIGHT HORIZONTAL */
-		0x0481,
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 11111111 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-	},{ 0x253c,8,8,SF_FILLRECT,/* BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */
-		0x3028,
-		0x0481,
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 11111111 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-	},{ 0x255e,8,8,SF_FILLRECT,/* BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE */
-		0x3028,
-		0x5231,
-		0x5431,
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011111 */
-		/* 00011000 */
-		/* 00011111 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-	},{ 0x255f,8,8,SF_FILLRECT,/* BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE */
-		0x2028,
-		0x5028,
-		0x7411,
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110111 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-	},{ 0x255a,8,8,SF_FILLRECT,/* BOX DRAWINGS DOUBLE UP AND RIGHT */
-		0x2025,
-		0x5023,
-		0x7211,
-		0x4441,
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110111 */
-		/* 00110000 */
-		/* 00111111 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-	},{ 0x2554,8,8,SF_FILLRECT,/* BOX DRAWINGS DOUBLE DOWN AND RIGHT */
-		0x2261,
-		0x2325,
-		0x5424,
-		0x7411,
-		/* 00000000 */
-		/* 00000000 */
-		/* 00111111 */
-		/* 00110000 */
-		/* 00110111 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-	},{ 0x2569,8,8,SF_FILLRECT,/* BOX DRAWINGS DOUBLE UP AND HORIZONTAL */
-		0x2022,
-		0x0241,
-		0x5022,
-		0x5231,
-		0x0481,
-		/* 00110110 */
-		/* 00110110 */
-		/* 11110111 */
-		/* 00000000 */
-		/* 11111111 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-	},{ 0x2566,8,8,SF_FILLRECT,/* BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL */
-		0x0281,
-		0x0441,
-		0x2523,
-		0x5431,
-		0x5523,
-		/* 00000000 */
-		/* 00000000 */
-		/* 11111111 */
-		/* 00000000 */
-		/* 11110111 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-	},{ 0x2560,8,8,SF_FILLRECT,/* BOX DRAWINGS DOUBLE VERTICAL AND RIGHT */
-		0x2028,
-		0x5022,
-		0x5231,
-		0x5431,
-		0x5623,
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110111 */
-		/* 00110000 */
-		/* 00110111 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-	},{ 0x2550,8,8,SF_FILLRECT,/* BOX DRAWINGS DOUBLE HORIZONTAL */
-		0x0281,
-		0x0481,
-		/* 00000000 */
-		/* 00000000 */
-		/* 11111111 */
-		/* 00000000 */
-		/* 11111111 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-	},{ 0x256c,8,8,SF_FILLRECT,/* BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL */
-		0x2022,
-		0x0241,
-		0x5022,
-		0x5231,
-		0x0441,
-		0x2523,
-		0x5431,
-		0x5523,
-		/* 00110110 */
-		/* 00110110 */
-		/* 11110111 */
-		/* 00000000 */
-		/* 11110111 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-	},{ 0x2567,8,8,SF_FILLRECT,/* BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE */
-		0x3022,
-		0x0281,
-		0x0481,
-		/* 00011000 */
-		/* 00011000 */
-		/* 11111111 */
-		/* 00000000 */
-		/* 11111111 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-	},{ 0x2568,8,8,SF_FILLRECT,/* BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE */
-		0x2024,
-		0x5024,
-		0x0481,
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 11111111 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-	},{ 0x2564,8,8,SF_FILLRECT,/* BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE */
-		0x0281,
-		0x0481,
-		0x3523,
-		/* 00000000 */
-		/* 00000000 */
-		/* 11111111 */
-		/* 00000000 */
-		/* 11111111 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-	},{ 0x2565,8,8,SF_FILLRECT,/* BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE */
-		0x0481,
-		0x2523,
-		0x5523,
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 11111111 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-	},{ 0x2559,8,8,SF_FILLRECT,/* BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE */
-		0x2024,
-		0x5024,
-		0x2461,
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00111111 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-	},{ 0x2558,8,8,SF_FILLRECT,/* BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE */
-		0x3025,
-		0x5231,
-		0x5431,
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011111 */
-		/* 00011000 */
-		/* 00011111 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-	},{ 0x2552,8,8,SF_FILLRECT,/* BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE */
-		0x3226,
-		0x5231,
-		0x5431,
-		/* 00000000 */
-		/* 00000000 */
-		/* 00011111 */
-		/* 00011000 */
-		/* 00011111 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-	},{ 0x2553,8,8,SF_FILLRECT,/* BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE */
-		0x2461,
-		0x2523,
-		0x5523,
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00111111 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-	},{ 0x256b,8,8,SF_FILLRECT,/* BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE */
-		0x2028,
-		0x5028,
-		0x0481,
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 11111111 */
-		/* 00110110 */
-		/* 00110110 */
-		/* 00110110 */
-	},{ 0x256a,8,8,SF_FILLRECT,/* BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE */
-		0x3028,
-		0x0281,
-		0x0481,
-		/* 00011000 */
-		/* 00011000 */
-		/* 11111111 */
-		/* 00011000 */
-		/* 11111111 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-	},{ 0x2518,8,8,SF_FILLRECT,/* BOX DRAWINGS LIGHT UP AND LEFT */
-		0x3025,
-		0x0431,
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 11111000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-	},{ 0x250c,8,8,SF_FILLRECT,/* BOX DRAWINGS LIGHT DOWN AND RIGHT */
-		0x3451,
-		0x3523,
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00011111 */
-		/* 00011000 */
-		/* 00011000 */
-		/* 00011000 */
-	},{ 0x2588,8,8,SF_FILLRECT,/* FULL BLOCK */
-		0x0088,
-		/* 11111111 */
-		/* 11111111 */
-		/* 11111111 */
-		/* 11111111 */
-		/* 11111111 */
-		/* 11111111 */
-		/* 11111111 */
-		/* 11111111 */
-	},{ 0x2584,8,8,SF_FILLRECT,/* LOWER HALF BLOCK */
-		0x0484,
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 11111111 */
-		/* 11111111 */
-		/* 11111111 */
-		/* 11111111 */
-	},{ 0x258c,8,8,SF_FILLRECT,/* LEFT HALF BLOCK */
-		0x0048,
-		/* 11110000 */
-		/* 11110000 */
-		/* 11110000 */
-		/* 11110000 */
-		/* 11110000 */
-		/* 11110000 */
-		/* 11110000 */
-		/* 11110000 */
-	},{ 0x2590,8,8,SF_FILLRECT,/* RIGHT HALF BLOCK */
-		0x4048,
-		/* 00001111 */
-		/* 00001111 */
-		/* 00001111 */
-		/* 00001111 */
-		/* 00001111 */
-		/* 00001111 */
-		/* 00001111 */
-		/* 00001111 */
-	},{ 0x2580,8,8,SF_FILLRECT,/* UPPER HALF BLOCK */
-		0x0084,
-		/* 11111111 */
-		/* 11111111 */
-		/* 11111111 */
-		/* 11111111 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-		/* 00000000 */
-	}};
-
-	public SoftFont() {
-		font = new java.util.Hashtable();
-		for (int i=0;i<fontdata.length;i++)
-			font.put(new Integer(fontdata[i][0]),new Integer(i));
-
-	}
-
-	public boolean inSoftFont(char c) {
-		boolean insoftfont;
-
-		insoftfont = (null!=font.get(new Integer(c)));
-		if (!insoftfont && (int)c>=0x100) {
-			System.out.println("Character "+((int)c)+" not in softfont");
-		}
-		return insoftfont;
-	}
-
-	public void drawChar(Graphics g,char c,int x,int y,int cw,int ch) {
-		double	dw,dh;
-		Object	Ientry;
-		int	w,h,entry,i,fontwidth,fontheight;
-		
-		Ientry = font.get(new Integer(c));
-		if (Ientry == null)
-			return;
-		entry = ((Integer)Ientry).intValue();
-		fontwidth = fontdata[entry][SF_WIDTH];
-		fontheight = fontdata[entry][SF_HEIGHT];
-
-		dw = cw*1.0/fontwidth;
-		dh = ch*1.0/fontheight;
-
-		switch (fontdata[entry][SF_TYPE]) {
-		case SF_BITMAP:
-			for (h=0;h<fontheight;h++) {
-				for (w=0;w<fontwidth;w++) {
-					//FIXME: 8 bit max currently...
-					if (0!=(fontdata[entry][h+SF_DATA] & (1<<(7-w)))) {
-						g.fillRect(
-							x+(int)(w*dw),
-							y+(int)(h*dh),
-							((int)((w+1)*dw))-(int)(w*dw),
-							((int)((h+1)*dh))-(int)(h*dh)
-						);
-					}
-				}
-			}
-			break;
-		case SF_FILLRECT:
-			i=SF_DATA;
-			while (i<fontdata[entry].length) {
-				int	xw,xh;
-
-				w=(fontdata[entry][i]&0xF000)>>12;
-				h=(fontdata[entry][i]&0x0F00)>>8;
-				xw = (fontdata[entry][i]&0x00F0)>>4;
-				xh = (fontdata[entry][i]&0x000F);
-				g.fillRect(
-					x+(int)(w*dw),
-					y+(int)(h*dh),
-					((int)((w+xw)*dw))-(int)(w*dw),
-					((int)((h+xh)*dh))-(int)(h*dh)
-				);
-				i++;
-			}
-			break;
-		default:
-			break;
-		}
-	}
-}
diff --git a/web/root/telnet/display/Terminal.class b/web/root/telnet/display/Terminal.class
deleted file mode 100644
index 306194a18f27bca5ea14723f54b056893f459902..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 509
zcmX^0Z`VEsW(HjbId%q7b_Pi<1||j;9tLg(c18v<4Nae{#Ii*F#PSk-m(1MMyyDFK
zJZnY<5tu|yVqUs_a7j^SUb;0S1G9!^7+6<yG(;b&G>e8aNM2L}QxYW3W|NthSz^b?
z!061#z~Y>rlFG;+<dc$FT#%DksUMPBl$)8Cm}AYz!0(fpm+DuVo0M7<l9-eORt9z^
zs&zs>`N@enVTnbVAVpA>T*3LJMaijdnILVvFhlh~+8G%blNlKV&@E(S5J*og2}mqT
z%uOvxE%MAu%V%U@Pfslg&a6shWZ+LvErA&mQdyA7$iN3O3>;(uiFv6xj124rr6tZ8
ziA9VIoCT#NkkDdeU@T^2U@6JSEM`$;U}Ruo00A}zMo`EzFf#BmFfiydFfuSQFfg!c
zZD(NK$iTqB#K6zMzyMOjz@W+?$iTqB15v;r%fQFLz{1EN#=rrl#Ti(^v;+ein3iJT
S1k=(CTnr2hj0{3x(}V#P-g9aI

diff --git a/web/root/telnet/display/Terminal.java b/web/root/telnet/display/Terminal.java
deleted file mode 100644
index 30cb6d0a4e..0000000000
--- a/web/root/telnet/display/Terminal.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Terminal -- Terminal emulation (abstract class)
- * --
- * $Id: Terminal.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Wed Mar  5 11:27:13 1997 by Matthias L. Jugel :$
- *
- * This file is part of "The Java Telnet Applet".
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be 
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-package display;
-
-import java.awt.Panel;
-import java.awt.Dimension;
-
-/**
- * Terminal is an abstract emulation class.
- * It contains a character display.
- *
- * @version $Id: Terminal.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * @author  Matthias L. Jugel, Marcus Mei�ner
- */
-public abstract class Terminal extends Panel
-{
-	/**
-	 * Get the specific parameter info for the emulation.
-	 * @see java.applet.Applet
-	 */
-	public abstract String[][] getParameterInfo();
-  
-	/**
-	 * Put a character on the screen. The method has to see if it is
-	 * a special character that needs to be handles special.
-	 * @param c the character
-	 * @see #putString
-	 */
-	public abstract void putChar(char c);
-	
-	/**
-	 * Put a character on the screen. The method has to parse the string
-	 * may handle special characters.
-	 * @param s the string
-	 * @see #putString
-	 */
-	public abstract void putString(String s);
-
-	/**
-	 * Return the current size of the terminal in characters.
-	 */
-	public abstract Dimension getSize();
-  
-	/**
-	 * Return actual terminal type identifier.
-	 */
-	public abstract String getTerminalType();
-}
diff --git a/web/root/telnet/display/TerminalHost.class b/web/root/telnet/display/TerminalHost.class
deleted file mode 100644
index 5fb34238c0b8d2e1d9ed6b08ea0b9bd0fc818542..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 255
zcmX^0Z`VEsW(Hjb0d@v%b_O0s22l;4ti-ZJ{hY+Sbp7CxqRhN>Yt1M|1{UZ1lvG9r
zF`tyo;)0ySO8t=3qTI~9#2k<O;u32{27aH+yi~u^+@#c^ki?{%R7M6NOoKpz`N@en
zVTnbVAVpA>T*3LJMaijdnILU~$Oh|y+``Bpg3VG!1_6*P#HId8S*gh-j0}v$j0`Nr
qsd*`k3@jxXnZ<0342%p+3?RVB!pOkKz|6qFz{tSKz`(%7zy$zRAVs<W

diff --git a/web/root/telnet/display/TerminalHost.java b/web/root/telnet/display/TerminalHost.java
deleted file mode 100644
index 29bdf6c0f3..0000000000
--- a/web/root/telnet/display/TerminalHost.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * TerminalHost -- this interface defines the remote end of the connection
- *                 from our Terminal to the Host (virtual).
- * --
- * $Id: TerminalHost.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Wed Mar  5 12:01:31 1997 by Matthias L. Jugel :$
- *
- * This file is part of "The Java Telnet Applet".
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be 
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-package display;
-
-/**
- * TerminalHost is an interface for the remote (virtual) end of our connection
- * to the host computer we are connected to.
- * @version $Id: TerminalHost.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * @author Matthias L Jugel, Marcus Mei�ner
- */
-public interface TerminalHost
-{
-	/**
-	 * Send a string to the host and return if it was received successfully.
-	 * @param s the string to send
-	 * @return True for successful receivement.
-	 */
-	public boolean send(String s);
-}
-
diff --git a/web/root/telnet/display/vt320.class b/web/root/telnet/display/vt320.class
deleted file mode 100644
index ee8e4b86e851d2554b71d612cca520e7e8a38ab2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 30926
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
C<IITw

diff --git a/web/root/telnet/display/vt320.java b/web/root/telnet/display/vt320.java
deleted file mode 100644
index 81ebb13331..0000000000
--- a/web/root/telnet/display/vt320.java
+++ /dev/null
@@ -1,2021 +0,0 @@
-/*
- * vt320 -- a DEC VT320 Terminal emulation
- * --
- * $Id: vt320.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- *
- * This file is part of "The Java Telnet Applet".
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-package display;
-
-import java.awt.Scrollbar;
-import java.awt.Event;
-import java.awt.Dimension;
-import java.awt.BorderLayout;
-import java.awt.FlowLayout;
-import java.util.Vector;
-
-import java.applet.Applet;
-
-/**
- * A DEC VT320 Terminal Emulation (includes VT100/220 and ANSI).
- *
- * The terminal emulation accesses the applet parameters to configure itself.
- * The following parameters may be set. Default values are written in
- * <I>italics</I> and other possible values are <B>bold</B>.
- * <DL>
- *  <DT><TT>&lt;PARAM NAME="Fx" VALUE="<I>functionkeytext</I>"&gt</TT>
- *  <DD>Sets the string sent when the function key Fx (x between 1 und 20)
- *	is pressed.
- *  <DT><TT>&lt;PARAM NAME="VTcolumns" VALUE="<I>80</I>"&gt</TT>
- *  <DD>Sets the columns of the terminal initially. If the parameter
- *      VTresize is set to <B>screen</B> this may change, else it is fixed.
- *  <DT><TT>&lt;PARAM NAME="VTrows" VALUE="<I>24</I>"&gt</TT>
- *  <DD>Sets the rows of the terminal initially. If the parameter
- *      value of VTresize <B>screen</B> this may change!
- *  <DT><TT>&lt;PARAM NAME="VTfont" VALUE="<I>Courier</I>"&gt</TT>
- *  <DD>Sets the font to be used for the terminal. It is recommended to
- *      use <I>Courier</I> or at least a fixed width font.
- *  <DT><TT>&lt;PARAM NAME="VTfontsize" VALUE="<I>14</I>"&gt</TT>
- *  <DD>Sets the font size for the terminal. If the parameter
- *      value of VTresize is set to <B>font</B> this may change!
- *  <DT><TT>&lt;PARAM NAME="VTresize" VALUE="<I>font</I>"&gt</TT>
- *  <DD>This parameter determines what the terminal should do if the window
- *      is resized. The default setting <I><B>font</B></I> will result in
- *      resizing the font until is matches the window best. Other possible
- *      values are <B>none</B> or <B>screen</B>. <B>none</B> will let nothing
- *      happen and <B>screen</B> will let the display try to change the
- *      amount of rows and columns to match the window best.
- *  <DT><TT>&lt;PARAM NAME="VTscrollbar" VALUE="<I>false</I>"&gt</TT>
- *  <DD>Setting this parameter to <B>true</B> will add a scrollbar west to
- *      the terminal. Other possible values include <B>left</B> to put the
- *      scrollbar on the left side of the terminal and <B>right</B> to put it
- *      explicitely to the right side.
- *  <DT><TT>&lt;PARAM NAME="VTid" VALUE="<I>vt320</I>"&gt</TT>
- *  <DD>This parameter will override the terminal id <I>vt320</I>. It may
- *      be used to determine special terminal abilities of VT Terminals.
- *  <DT><TT>&lt;PARAM NAME="VTbuffer" VALUE="<I>xx</I>"&gt</TT>
- *  <DD>Initially this parameter is the same as the VTrows parameter. It
- *      cannot be less than the amount of rows on the display. It determines
- *      the available scrollback buffer.
- *  <DT><TT>&lt;PARAM NAME="VTcharset" VALUE="<I>none</I>"&gt</TT>
- *  <DD>Setting this parameter to <B>ibm</B> will enable mapping of ibm
- *      characters (as used in PC BBS systems) to UNICODE characters. Note
- *      that those special characters probably won't show on UNIX systems
- *      due to lack in X11 UNICODE support.
- *  <DT><TT>&lt;PARAM NAME="VTvms" VALUE="<I>false</I>"&gt</TT>
- *  <DD>Setting this parameter to <B>true</B> will change the Backspace key
- *      into a delete key, cause the numeric keypad keys to emit VT100
- *      codes when Ctrl is pressed, and make other VMS-important keyboard
- *      definitions.
- *  <DT><TT>&lt;PARAM NAME="F<I>nr</I>" VALUE="<I>string</I>"&gt</TT>
- *  <DD>Function keys from <I>F1</I> to <I>F20</I> are programmable. You can
- *      install any possible string including special characters, such as
- *      <TABLE BORDER>
- *      <TR><TD><TT>\e</TT></TD><TD>Escape</TD>
- *      <TR><TD><TT>\b</TT></TD><TD>Backspace</TD>
- *      <TR><TD><TT>\n</TT></TD><TD>Newline</TD>
- *      <TR><TD><TT>\r</TT></TD><TD>Return</TD>
- *      <TR><TD><TT>\xxxx</TT></TD><TD>Character xxxx (decimal)</TD>
- *      </TABLE>
- *  <DT><TT>&lt;PARAM NAME="CF<I>nr</I>" VALUE="<I>string</I>"&gt</TT>
- *  <DD>Function keys (with the Control-key pressed) from <I>CF1</I> to <I>CF20</I> are programmable too.
- *  <DT><TT>&lt;PARAM NAME="SF<I>nr</I>" VALUE="<I>string</I>"&gt</TT>
- *  <DD>Function keys (with the Shift-key pressed) from <I>SF1</I> to <I>SF20</I> are programmable too.
- *  <DT><TT>&lt;PARAM NAME="AF<I>nr</I>" VALUE="<I>string</I>"&gt</TT>
- *  <DD>Function keys (with the Alt-key pressed) from <I>AF1</I> to <I>AF20</I> are programmable too.
- * </DL>
- * @version $Id: vt320.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * @author  Matthias L. Jugel, Marcus Mei?ner
- */
-public class vt320 extends Terminal implements TerminalHost
-{
-  /**
-   * Return the version of the terminal emulation and its display.
-   */
-  public String toString() { return "$Id: vt320.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $ "+display.version; }
-
-  // the input handler takes the keyboard input from us.
-  private TerminalHost host = this;
-
-  // due to a bug with Windows we need a keypress cache
-  private int pressedKey = ' ';
-  private long pressedWhen = ' ';
-
-  // The character display
-  private CharDisplay display;
-  private static int debug = 0;
-  private String terminalID = "vt320";
-
-  // X - COLUMNS, Y - ROWS
-  int  R,C;
-  int  Sc,Sr,Sa;
-  int  attributes  = 0;
-  int  insertmode  = 0;
-  int  statusmode = 0;
-  int  vt52mode  = 0;
-  int  normalcursor  = 0;
-  boolean moveoutsidemargins = true;
-  boolean sendcrlf = true;
-
-  private boolean  useibmcharset = false;
-
-  private  static  int  lastwaslf = 0;
-  private static  int i;
-  private final static char ESC = 27;
-  private final static char IND = 132;
-  private final static char NEL = 133;
-  private final static char RI  = 141;
-  private final static char HTS = 136;
-  private final static char DCS = 144;
-  private final static char CSI = 155;
-  private final static char OSC = 157;
-  private final static int TSTATE_DATA  = 0;
-  private final static int TSTATE_ESC  = 1; /* ESC */
-  private final static int TSTATE_CSI  = 2; /* ESC [ */
-  private final static int TSTATE_DCS  = 3; /* ESC P */
-  private final static int TSTATE_DCEQ  = 4; /* ESC [? */
-  private final static int TSTATE_ESCSQUARE= 5; /* ESC # */
-  private final static int TSTATE_OSC= 6;       /* ESC ] */
-  private final static int TSTATE_SETG0= 7;     /* ESC (? */
-  private final static int TSTATE_SETG1= 8;     /* ESC )? */
-  private final static int TSTATE_SETG2= 9;     /* ESC *? */
-  private final static int TSTATE_SETG3= 10;    /* ESC +? */
-  private final static int TSTATE_CSI_DOLLAR  = 11; /* ESC [ Pn $ */
-
-  /* The graphics charsets
-   * B - default ASCII
-   * A - default UK
-   * 0 - DEC SPECIAL
-   * < - User defined
-   * ....
-   */
-  private static char gx[] = {
-  'B',      // g0
-  '0',      // g1
-  'A',      // g2
-  '<',      // g3
-  };
-  private static char gr = 1;  // default GR to G1
-  private static char gl = 0;  // default GL to G0
-
-  // array to store DEC Special -> Unicode mapping
-  //  Unicode   DEC  Unicode name    (DEC name)
-  private static char DECSPECIAL[] = {
-    '\u0040', //5f blank
-    '\u2666', //60 black diamond
-    '\u2592', //61 grey square
-    '\u2409', //62 Horizontal tab  (ht) pict. for control
-    '\u240c', //63 Form Feed       (ff) pict. for control
-    '\u240d', //64 Carriage Return (cr) pict. for control
-    '\u240a', //65 Line Feed       (lf) pict. for control
-    '\u00ba', //66 Masculine ordinal indicator
-    '\u00b1', //67 Plus or minus sign
-    '\u2424', //68 New Line        (nl) pict. for control
-    '\u240b', //69 Vertical Tab    (vt) pict. for control
-    '\u2518', //6a Forms light up   and left
-    '\u2510', //6b Forms light down and left
-    '\u250c', //6c Forms light down and right
-    '\u2514', //6d Forms light up   and right
-    '\u253c', //6e Forms light vertical and horizontal
-    '\u2594', //6f Upper 1/8 block                        (Scan 1)
-    '\u2580', //70 Upper 1/2 block                        (Scan 3)
-    '\u2500', //71 Forms light horizontal or ?em dash?    (Scan 5)
-    '\u25ac', //72 \u25ac black rect. or \u2582 lower 1/4 (Scan 7)
-    '\u005f', //73 \u005f underscore  or \u2581 lower 1/8 (Scan 9)
-    '\u251c', //74 Forms light vertical and right
-    '\u2524', //75 Forms light vertical and left
-    '\u2534', //76 Forms light up   and horizontal
-    '\u252c', //77 Forms light down and horizontal
-    '\u2502', //78 vertical bar
-    '\u2264', //79 less than or equal
-    '\u2265', //7a greater than or equal
-    '\u00b6', //7b paragraph
-    '\u2260', //7c not equal
-    '\u00a3', //7d Pound Sign (british)
-    '\u00b7'  //7e Middle Dot
-  };
-
-  private final static int KEYUP  = Event.UP % 1000;
-  private final static int KEYDOWN  = Event.DOWN % 1000;
-  private final static int KEYLEFT  = Event.LEFT % 1000;
-  private final static int KEYRIGHT  = Event.RIGHT % 1000;
-  private final static int KEYF1  = Event.F1 % 1000;
-  private final static int KEYF2  = Event.F2 % 1000;
-  private final static int KEYF3  = Event.F3 % 1000;
-  private final static int KEYF4  = Event.F4 % 1000;
-  private final static int KEYF5  = Event.F5 % 1000;
-  private final static int KEYF6  = Event.F6 % 1000;
-  private final static int KEYF7  = Event.F7 % 1000;
-  private final static int KEYF8  = Event.F8 % 1000;
-  private final static int KEYF9  = Event.F9 % 1000;
-  private final static int KEYF10  = Event.F10 % 1000;
-  private final static int KEYF11  = Event.F11 % 1000;
-  private final static int KEYF12  = Event.F12 % 1000;
-  private final static int KEYPGDN   = Event.PGDN % 1000;
-  private final static int KEYPGUP   = Event.PGUP % 1000;
-
-  private final static int KEYHOME  = Event.HOME % 1000;
-  private final static int KEYEND  = Event.END % 1000;
-
-  public static final int KEYPRINT_SCREEN  = 20;
-  public static final int KEYSCROLL_LOCK    = 21;
-  public static final int KEYCAPS_LOCK    = 22;
-  public static final int KEYNUM_LOCK    = 23;
-  public static final int KEYPAUSE    = 24;
-  public static final int KEYINSERT    = 25;
-
-    /**
-     * The Insert key.
-     */
-    public static final int INSERT    = 1025;
-
-  /**
-   * Strings to send on function key presseic
-   */
-  private String FunctionKey[];
-  private String FunctionKeyShift[];
-  private String FunctionKeyCtrl[];
-  private String FunctionKeyAlt[];
-  private String KeyUp;
-  private String KeyDown;
-  private String KeyLeft;
-  private String KeyRight;
-  private String KeyBacktab;
-  private String KeyTab;
-
-  private String KP0;
-  private String KP1;
-  private String KP2;
-  private String KP3;
-  private String KP4;
-  private String KP5;
-  private String KP6;
-  private String KP7;
-  private String KP8;
-  private String KP9;
-  private String KPMinus;
-  private String KPComma;
-  private String KPPeriod;
-  private String KPEnter;
-  private String PF1;
-  private String PF2;
-  private String PF3;
-  private String PF4;
-  private String Help;
-  private String Do;
-  private String Find;
-  private String Insert;
-  private String Remove;
-  private String Select;
-  private String PrevScn;
-  private String NextScn;
-
-
-  private String osc,dcs;  /* to memorize OSC & DCS control sequence */
-
-  private int term_state = TSTATE_DATA;
-  private boolean vms = false;
-  private byte[]  Tabs;
-  private int[]  DCEvars = new int [10];
-  private  int  DCEvar;
-
-  /* operation system we run on, Scrollbar hack */
-  private String osn = System.getProperty("os.name");
-
-  public String[][] getParameterInfo() {
-    String pinfo[][] = {
-    {"VTcolumns",  "Integer",   "Columns of the terminal"},
-    {"VTrows",     "Integer",   "Rows of the terminal"},
-    {"VTfont",     "String",    "Terminal font (default is Courier)"},
-    {"VTfontsize", "Integer",   "Font size"},
-    {"VTbuffer",   "Integer",   "Scrollback buffer size"},
-    {"VTscrollbar","Boolean",   "Enable or disable scrollbar"},
-    {"VTresize",   "String",    "One of none, font, screen"},
-    {"VTid",       "String",    "Terminal id, standard is VT320"},
-    {"VTcharset",  "String",    "Charset used"},
-    {"VTvms",      "Boolean",   "Enable or disable VMS key mappings"},
-    {"F1 - F20",   "String",    "Programmable Function Keys"},
-    {"SF1 - SF20",   "String",    "Programmable Shift-ed Function Keys"},
-    {"CF1 - CF20",   "String",    "Programmable Control-ed Function Keys"},
-    {"AF1 - AF20",   "String",    "Programmable Alt-ed Function Keys"},
-    };
-    return pinfo;
-  }
-
-  static String unEscape(String tmp) {
-      int idx = 0, oldidx = 0;
-      String cmd;
-
-      cmd = "";
-      while((idx = tmp.indexOf('\\', oldidx)) >= 0 &&
-            ++idx <= tmp.length()) {
-        cmd += tmp.substring(oldidx, idx-1);
-        if(idx == tmp.length()) return cmd;
-        switch(tmp.charAt(idx)) {
-        case 'b': cmd += "\b"; break;
-        case 'e': cmd += "\u001b"; break;
-        case 'n': cmd += "\n"; break;
-        case 'r': cmd += "\r"; break;
-        case 't': cmd += "\t"; break;
-        case 'v': cmd += "\u000b"; break;
-        case 'a': cmd += "\u0012"; break;
-        default : 
-	  if ( (tmp.charAt(idx)>='0') && (tmp.charAt(idx)<='9')) {
-	    for (i = idx;i<tmp.length();i++) {
-	      if ( (tmp.charAt(i)<'0') || (tmp.charAt(i)>'9'))
-	        break;
-	    }
-	    cmd += (char)(new java.lang.Integer(tmp.substring(idx, i)).intValue());
-	    idx = i-1;
-	  } else
-	    cmd += tmp.substring(idx, ++idx);break;
-	}
-	oldidx = ++idx;
-      }
-      if(oldidx <= tmp.length()) cmd += tmp.substring(oldidx);
-      return cmd;
-  }
-
-  /**
-   * Initialize terminal.
-   * @param parent the applet parent where to get parameters from
-   * @see display.Terminal
-   */
-  public void addNotify() {
-    if(display == null) {
-      String width = "80", height = "24", resize ="font";
-      String font = "Courier", fs = "14", bufs = "100";
-      String scrb = "false";
-      String vms = "false";
-      String ibmcset = "false";
-
-      Applet applet = (Applet)getParent();
-
-      if(applet != null) {
-        try {
-          host = (TerminalHost)applet;
-        } catch(ClassCastException e) {
-          System.err.println("vt320: "+applet+" cannot receive terminal input");
-          host = this;
-        }
-
-        width  = applet.getParameter("VTcolumns");
-        height = applet.getParameter("VTrows");
-        font   = applet.getParameter("VTfont");
-        fs     = applet.getParameter("VTfontsize");
-        bufs   = applet.getParameter("VTbuffer");
-        scrb   = applet.getParameter("VTscrollbar");
-        vms    = applet.getParameter("VTvms");
-        resize = applet.getParameter("VTresize");
-        resize = resize == null ? "font" : resize;
-        ibmcset = applet.getParameter("VTcharset");
-        if ((ibmcset!=null)&&(ibmcset.equals("ibm")))
-          useibmcharset=true;
-
-        if(applet.getParameter("VTid") != null)
-          terminalID = applet.getParameter("VTid");
-      }
-
-      display = new CharDisplay(
-          width==null?80:(new Integer(width)).intValue(),
-          (height==null?24:(new Integer(height)).intValue()),
-          font==null?"Courier":font,
-          fs==null?14:(new Integer(fs)).intValue()
-      );
-      display.setBottomMargin((height==null?
-			       24:
-			       (new Integer(height)).intValue()) - 1);
-      display.setBufferSize(bufs==null?100:(new Integer(bufs)).intValue());
-      if(resize.equals("none"))
-        display.setResizeStrategy(CharDisplay.RESIZE_NONE);
-      if(resize.equals("font"))
-        display.setResizeStrategy(CharDisplay.RESIZE_FONT);
-      if(resize.equals("screen"))
-        display.setResizeStrategy(CharDisplay.RESIZE_SCREEN);
-
-      display.setBorder(2, false);
-
-      setLayout(new BorderLayout());
-      if(scrb != null && !scrb.equals("false")) {
-        if(scrb.equals("left") || scrb.equals("true"))
-          display.setScrollbar("West");
-        else if(scrb.equals("right"))
-          display.setScrollbar("East");
-        else
-          System.out.println("vt320: unknown scrollbar location: "+scrb);
-      }
-      if(vms != null && vms.equals("true"))
-      {
-        this.vms = true;
-      }
-      add("Center", display);
-      InitTerminalVars();
-      for (int i=1;i<20;i++)
-      {
-      	if (applet.getParameter("F"+i)!=null)
-	  FunctionKey[i] = unEscape(applet.getParameter("F"+i));
-        if (applet.getParameter("SF"+i)!=null)
-          FunctionKeyShift[i] = unEscape(applet.getParameter("SF"+i));
-        if (applet.getParameter("CF"+i)!=null)
-          FunctionKeyCtrl[i] = unEscape(applet.getParameter("CF"+i));
-        if (applet.getParameter("AF"+i)!=null)
-          FunctionKeyAlt[i] = unEscape(applet.getParameter("AF"+i));
-      }
-    }
-    super.addNotify();
-  }
-
-  private void InitTerminalVars() {
-    int nw = display.getColumns();
-
-    if (nw<132) nw=132; //catch possible later 132/80 resizes
-    Tabs = new byte[nw];
-    for (int i=0;i<nw;i+=8) {
-      Tabs[i]=1;
-    }
-
-    PF1  = "\u001bOP";
-    PF2  = "\u001bOQ";
-    PF3  = "\u001bOR";
-    PF4  = "\u001bOS";
-
-    Find = "\u001b[1~";
-    Insert = "\u001b[2~";
-    Remove = "\u001b[3~";
-    Select = "\u001b[4~";
-    PrevScn = "\u001b[5~";
-    NextScn = "\u001b[6~";
-
-    Help = "\u001b[28~";
-    Do = "\u001b[29~";
-
-    FunctionKey = new String[21];
-    FunctionKey[0]= "";
-    FunctionKey[1]= PF1;
-    FunctionKey[2]= PF2;
-    FunctionKey[3]= PF3;
-    FunctionKey[4]= PF4;
-    /* following are defined differently for vt220 / vt132 ... */
-    FunctionKey[5]= "\u001b[15~";
-    FunctionKey[6]= "\u001b[17~";
-    FunctionKey[7]= "\u001b[18~";
-    FunctionKey[8]= "\u001b[19~";
-    FunctionKey[9]= "\u001b[20~";
-    FunctionKey[10]= "\u001b[21~";
-    FunctionKey[11]= "\u001b[23~";
-    FunctionKey[12]= "\u001b[24~";
-    FunctionKey[13]= "\u001b[25~";
-    FunctionKey[14]= "\u001b[26~";
-    FunctionKey[15]= Help;
-    FunctionKey[16]= Do;
-    FunctionKey[17]= "\u001b[31~";
-    FunctionKey[18]= "\u001b[32~";
-    FunctionKey[19]= "\u001b[33~";
-    FunctionKey[20]= "\u001b[34~";
-
-    FunctionKeyShift = new String[21];
-    FunctionKeyAlt = new String[21];
-    FunctionKeyCtrl = new String[21];
-
-    for (int i=0;i<20;i++)
-    {
-       FunctionKeyShift[i]="";
-       FunctionKeyAlt[i]="";
-       FunctionKeyCtrl[i]="";
-    }
-    FunctionKeyShift[15] = Find;
-    FunctionKeyShift[16] = Select;
-
-    KeyTab   = "\u0009";
-    KeyBacktab = "\u001bOP\u0009";
-    KeyUp    = "\u001b[A";
-    KeyDown  = "\u001b[B";
-    KeyRight  = "\u001b[C";
-    KeyLeft  = "\u001b[D";
-    KP0  = "\u001bOp";
-    KP1  = "\u001bOq";
-    KP2  = "\u001bOr";
-    KP3  = "\u001bOs";
-    KP4  = "\u001bOt";
-    KP5  = "\u001bOu";
-    KP6  = "\u001bOv";
-    KP7  = "\u001bOw";
-    KP8  = "\u001bOx";
-    KP9  = "\u001bOy";
-    KPMinus  = "\u001bOm";
-    KPComma  = "\u001bOl";
-    KPPeriod  = "\u001bOn";
-    KPEnter  = "\u001bOM";
-
-    /* ... */
-  }
-
-  public Dimension getSize() {
-    return new Dimension(display.getColumns(), display.getRows());
-  }
-
-  public String getTerminalType() { return terminalID; }
-
-  /**
-   * Handle events for the terminal. Only accept events for the scroll
-   * bar. Any other events have to be propagated to the parent.
-   * @param evt the event
-   */
-  public boolean handleEvent(Event evt) {
-    // request focus if mouse enters (necessary to avoid mistakes)
-    if(evt.id == Event.MOUSE_ENTER) { display.requestFocus(); return true; }
-    // give focus away if mouse leaves the window
-    if(evt.id == Event.MOUSE_EXIT) { nextFocus(); return true; }
-
-    // handle keyboard events
-
-    /* Netscape for windows does not send keyDown when period
-    * is pressed. This hack catches the keyUp event.
-    */
-    int id = evt.id;
-
-    boolean control = (((evt.CTRL_MASK & evt.modifiers)==0) ? false : true);
-    boolean shift = (((evt.SHIFT_MASK & evt.modifiers)==0) ? false : true );
-    boolean alt = (((evt.ALT_MASK & evt.modifiers)==0) ? false :true);
-
-    pressedKey:
-    {
-        if (pressedKey == 10
-            && (evt.key == 10
-            || evt.key == 13)
-            && evt.when - pressedWhen < 50)    //  Ray: Elliminate stuttering enter/return
-            break pressedKey;
-
-        int priorKey = pressedKey;
-        if(id == Event.KEY_PRESS)
-            pressedKey = evt.key;               //  Keep track of last pressed key
-        else if (evt.key == '.'
-            && evt.id != Event.KEY_RELEASE
-            && evt.key != pressedKey
-        ) {
-            pressedKey = 0;
-        } else
-            break pressedKey;
-        pressedWhen = evt.when;
-        if (evt.key == 10 && !control) {
-            if (sendcrlf)
-              host.send("\r\n"); /* YES, see RFC 854 */
-            else
-              host.send("\r"); /* YES, see RFC 854 */
-            return true;
-        } else
-/* FIXME: on german PC keyboards you have to use Alt-Ctrl-q to get an @,
- * so we can't just use it here... will probably break some other VMS stuff
- * -Marcus
-        if (((!vms && evt.key == '2') || evt.key == '@' || evt.key == ' ') && control)
- */
-        if (((!vms && evt.key == '2') || evt.key == ' ') && control)
-            return host.send("" + (char)0);
-        else if (vms) {
-	    if (evt.key == 8) {
-		if (shift && !control)
-		    return host.send("" + (char)10); //  VMS shift deletes word back
-		if (control && !shift)
-		    return host.send("" + (char)24); //  VMS control deletes line back
-		return host.send("" + (char)127);   //  VMS other is delete
-	    }
-	    if (evt.key == 127 && !control) {
-		if (shift)
-		    return host.send(Insert); //  VMS shift delete = insert
-		else
-		    return host.send(Remove); //  VMS delete = remove
-	    }
-            if (control) {
-                switch(evt.key) {
-                    case '0':
-                        return host.send(KP0);
-                    case '1':
-                        return host.send(KP1);
-                    case '2':
-                        return host.send(KP2);
-                    case '3':
-                        return host.send(KP3);
-                    case '4':
-                        return host.send(KP4);
-                    case '5':
-                        return host.send(KP5);
-                    case '6':
-                        return host.send(KP6);
-                    case '7':
-                        return host.send(KP7);
-                    case '8':
-                        return host.send(KP8);
-                    case '9':
-                        return host.send(KP9);
-                    case '.':
-                        return host.send(KPPeriod);
-                    case '-':
-                    case 31:
-                        return host.send(KPMinus);
-                    case '+':
-                        return host.send(KPComma);
-                    case 10:
-                        return host.send(KPEnter);
-                    case '/':
-                        return host.send(PF2);
-                    case '*':
-                        return host.send(PF3);
-                }
-                if (shift && evt.key < 32)
-                    return host.send(PF1+(char)(evt.key + 64));
-            }
-	}
-	// Hmmm. Outside the VMS case?
-        if (shift && (evt.key == '\t'))
-	    return host.send(KeyBacktab);
-	else
-	    return host.send(""+(char)evt.key);
-    }
-
-    String input = "";
-
-    if (evt.id == evt.KEY_ACTION)
-    {
-      String fmap[];
-      /* bloodsucking little buggers at netscape
-       * don't keep to the standard java values
-       * of <ARROW> or <Fx>
-       */
-      fmap = FunctionKey;
-      if (shift)
-	fmap = FunctionKeyShift;
-      if (control)
-        fmap = FunctionKeyCtrl;
-      if (alt)
-        fmap = FunctionKeyAlt;
-      switch (evt.key % 1000) {
-      case KEYF1:
-        input = fmap[1];
-        break;
-      case KEYF2:
-        input = fmap[2];
-        break;
-      case KEYF3:
-        input = fmap[3];
-        break;
-      case KEYF4:
-        input = fmap[4];
-        break;
-      case KEYF5:
-        input = fmap[5];
-        break;
-      case KEYF6:
-        input = fmap[6];
-        break;
-      case KEYF7:
-        input = fmap[7];
-        break;
-      case KEYF8:
-        input = fmap[8];
-        break;
-      case KEYF9:
-        input = fmap[9];
-        break;
-      case KEYF10:
-        input = fmap[10];
-        break;
-      case KEYF11:
-        input = fmap[11];
-        break;
-      case KEYF12:
-        input = fmap[12];
-        break;
-      case KEYUP:
-        input = KeyUp;
-        break;
-      case KEYDOWN:
-        input = KeyDown;
-        break;
-      case KEYLEFT:
-        input = KeyLeft;
-        break;
-      case KEYRIGHT:
-        input = KeyRight;
-        break;
-      case KEYPGDN:
-        input = NextScn;
-        break;
-      case KEYPGUP:
-        input = PrevScn;
-        break;
-      case KEYINSERT:
-        input = Insert;
-        break;
-//  The following cases fall through if not in VMS mode.
-      case KEYHOME:
-        if (vms)
-        {
-            input = "" + (char)8;
-            break;
-        }
-	//FALLTHROUGH
-      case KEYEND:
-        if (vms)
-        {
-            input = "" + (char)5;
-            break;
-        }
-	//FALLTHROUGH
-      case KEYNUM_LOCK:
-        if (vms && control) {
-            if (pressedKey != evt.key) {
-                pressedKey = evt.key;
-                input = PF1;
-            } else
-                pressedKey = ' ';   //  Here, we eat a second numlock since that returns numlock state
-        }
-	break;
-      default:
-        /*if (debug>0)*/
-          System.out.println("vt320: unknown event:"+(int)evt.key);
-        break;
-      }
-    }
-
-    if(input != null && input.length() > 0)
-      return host.send(input);
-
-    return false;
-  }
-
-  /**
-   * Dummy method to handle input events (String).
-   * This is only needed if our parent is not TerminalHost
-   * @param s String to handle
-   * @return always true
-   * @see display.TerminalHost
-   */
-  public boolean send(String s) {
-    putString(s);
-    return true;
-  }
-
-  private void handle_dcs(String dcs) {
-    System.out.println("DCS: "+dcs);
-  }
-  private void handle_osc(String osc) {
-    System.out.println("OSC: "+osc);
-  }
-
-  /**
-  * Put String at current cursor position. Moves cursor
-  * according to the String. Does NOT wrap.
-  * @param s the string
-  */
-  public void putString(String s) {
-    int  i,len=s.length();
-
-    display.markLine(R,1);
-    for (i=0;i<len;i++)
-      putChar(s.charAt(i),false);
-    display.setCursorPos(C, R);
-    display.redraw();
-  }
-
-  public void putChar(char c) {
-    putChar(c,true);
-    display.redraw();
-  }
-
-  public final static char unimap[] = {
-//#
-//#    Name:     cp437_DOSLatinUS to Unicode table
-//#    Unicode version: 1.1
-//#    Table version: 1.1
-//#    Table format:  Format A
-//#    Date:          03/31/95
-//#    Authors:       Michel Suignard <michelsu@microsoft.com>
-//#                   Lori Hoerth <lorih@microsoft.com>
-//#    General notes: none
-//#
-//#    Format: Three tab-separated columns
-//#        Column #1 is the cp1255_WinHebrew code (in hex)
-//#        Column #2 is the Unicode (in hex as 0xXXXX)
-//#        Column #3 is the Unicode name (follows a comment sign, '#')
-//#
-//#    The entries are in cp437_DOSLatinUS order
-//#
-
-  0x0000,// #NULL
-  0x0001,// #START OF HEADING
-  0x0002,// #START OF TEXT
-  0x0003,// #END OF TEXT
-  0x0004,// #END OF TRANSMISSION
-  0x0005,// #ENQUIRY
-  0x0006,// #ACKNOWLEDGE
-  0x0007,// #BELL
-  0x0008,// #BACKSPACE
-  0x0009,// #HORIZONTAL TABULATION
-  0x000a,// #LINE FEED
-  0x000b,// #VERTICAL TABULATION
-  0x000c,// #FORM FEED
-  0x000d,// #CARRIAGE RETURN
-  0x000e,// #SHIFT OUT
-  0x000f,// #SHIFT IN
-  0x0010,// #DATA LINK ESCAPE
-  0x0011,// #DEVICE CONTROL ONE
-  0x0012,// #DEVICE CONTROL TWO
-  0x0013,// #DEVICE CONTROL THREE
-  0x0014,// #DEVICE CONTROL FOUR
-  0x0015,// #NEGATIVE ACKNOWLEDGE
-  0x0016,// #SYNCHRONOUS IDLE
-  0x0017,// #END OF TRANSMISSION BLOCK
-  0x0018,// #CANCEL
-  0x0019,// #END OF MEDIUM
-  0x001a,// #SUBSTITUTE
-  0x001b,// #ESCAPE
-  0x001c,// #FILE SEPARATOR
-  0x001d,// #GROUP SEPARATOR
-  0x001e,// #RECORD SEPARATOR
-  0x001f,// #UNIT SEPARATOR
-  0x0020,// #SPACE
-  0x0021,// #EXCLAMATION MARK
-  0x0022,// #QUOTATION MARK
-  0x0023,// #NUMBER SIGN
-  0x0024,// #DOLLAR SIGN
-  0x0025,// #PERCENT SIGN
-  0x0026,// #AMPERSAND
-  0x0027,// #APOSTROPHE
-  0x0028,// #LEFT PARENTHESIS
-  0x0029,// #RIGHT PARENTHESIS
-  0x002a,// #ASTERISK
-  0x002b,// #PLUS SIGN
-  0x002c,// #COMMA
-  0x002d,// #HYPHEN-MINUS
-  0x002e,// #FULL STOP
-  0x002f,// #SOLIDUS
-  0x0030,// #DIGIT ZERO
-  0x0031,// #DIGIT ONE
-  0x0032,// #DIGIT TWO
-  0x0033,// #DIGIT THREE
-  0x0034,// #DIGIT FOUR
-  0x0035,// #DIGIT FIVE
-  0x0036,// #DIGIT SIX
-  0x0037,// #DIGIT SEVEN
-  0x0038,// #DIGIT EIGHT
-  0x0039,// #DIGIT NINE
-  0x003a,// #COLON
-  0x003b,// #SEMICOLON
-  0x003c,// #LESS-THAN SIGN
-  0x003d,// #EQUALS SIGN
-  0x003e,// #GREATER-THAN SIGN
-  0x003f,// #QUESTION MARK
-  0x0040,// #COMMERCIAL AT
-  0x0041,// #LATIN CAPITAL LETTER A
-  0x0042,// #LATIN CAPITAL LETTER B
-  0x0043,// #LATIN CAPITAL LETTER C
-  0x0044,// #LATIN CAPITAL LETTER D
-  0x0045,// #LATIN CAPITAL LETTER E
-  0x0046,// #LATIN CAPITAL LETTER F
-  0x0047,// #LATIN CAPITAL LETTER G
-  0x0048,// #LATIN CAPITAL LETTER H
-  0x0049,// #LATIN CAPITAL LETTER I
-  0x004a,// #LATIN CAPITAL LETTER J
-  0x004b,// #LATIN CAPITAL LETTER K
-  0x004c,// #LATIN CAPITAL LETTER L
-  0x004d,// #LATIN CAPITAL LETTER M
-  0x004e,// #LATIN CAPITAL LETTER N
-  0x004f,// #LATIN CAPITAL LETTER O
-  0x0050,// #LATIN CAPITAL LETTER P
-  0x0051,// #LATIN CAPITAL LETTER Q
-  0x0052,// #LATIN CAPITAL LETTER R
-  0x0053,// #LATIN CAPITAL LETTER S
-  0x0054,// #LATIN CAPITAL LETTER T
-  0x0055,// #LATIN CAPITAL LETTER U
-  0x0056,// #LATIN CAPITAL LETTER V
-  0x0057,// #LATIN CAPITAL LETTER W
-  0x0058,// #LATIN CAPITAL LETTER X
-  0x0059,// #LATIN CAPITAL LETTER Y
-  0x005a,// #LATIN CAPITAL LETTER Z
-  0x005b,// #LEFT SQUARE BRACKET
-  0x005c,// #REVERSE SOLIDUS
-  0x005d,// #RIGHT SQUARE BRACKET
-  0x005e,// #CIRCUMFLEX ACCENT
-  0x005f,// #LOW LINE
-  0x0060,// #GRAVE ACCENT
-  0x0061,// #LATIN SMALL LETTER A
-  0x0062,// #LATIN SMALL LETTER B
-  0x0063,// #LATIN SMALL LETTER C
-  0x0064,// #LATIN SMALL LETTER D
-  0x0065,// #LATIN SMALL LETTER E
-  0x0066,// #LATIN SMALL LETTER F
-  0x0067,// #LATIN SMALL LETTER G
-  0x0068,// #LATIN SMALL LETTER H
-  0x0069,// #LATIN SMALL LETTER I
-  0x006a,// #LATIN SMALL LETTER J
-  0x006b,// #LATIN SMALL LETTER K
-  0x006c,// #LATIN SMALL LETTER L
-  0x006d,// #LATIN SMALL LETTER M
-  0x006e,// #LATIN SMALL LETTER N
-  0x006f,// #LATIN SMALL LETTER O
-  0x0070,// #LATIN SMALL LETTER P
-  0x0071,// #LATIN SMALL LETTER Q
-  0x0072,// #LATIN SMALL LETTER R
-  0x0073,// #LATIN SMALL LETTER S
-  0x0074,// #LATIN SMALL LETTER T
-  0x0075,// #LATIN SMALL LETTER U
-  0x0076,// #LATIN SMALL LETTER V
-  0x0077,// #LATIN SMALL LETTER W
-  0x0078,// #LATIN SMALL LETTER X
-  0x0079,// #LATIN SMALL LETTER Y
-  0x007a,// #LATIN SMALL LETTER Z
-  0x007b,// #LEFT CURLY BRACKET
-  0x007c,// #VERTICAL LINE
-  0x007d,// #RIGHT CURLY BRACKET
-  0x007e,// #TILDE
-  0x007f,// #DELETE
-  0x00c7,// #LATIN CAPITAL LETTER C WITH CEDILLA
-  0x00fc,// #LATIN SMALL LETTER U WITH DIAERESIS
-  0x00e9,// #LATIN SMALL LETTER E WITH ACUTE
-  0x00e2,// #LATIN SMALL LETTER A WITH CIRCUMFLEX
-  0x00e4,// #LATIN SMALL LETTER A WITH DIAERESIS
-  0x00e0,// #LATIN SMALL LETTER A WITH GRAVE
-  0x00e5,// #LATIN SMALL LETTER A WITH RING ABOVE
-  0x00e7,// #LATIN SMALL LETTER C WITH CEDILLA
-  0x00ea,// #LATIN SMALL LETTER E WITH CIRCUMFLEX
-  0x00eb,// #LATIN SMALL LETTER E WITH DIAERESIS
-  0x00e8,// #LATIN SMALL LETTER E WITH GRAVE
-  0x00ef,// #LATIN SMALL LETTER I WITH DIAERESIS
-  0x00ee,// #LATIN SMALL LETTER I WITH CIRCUMFLEX
-  0x00ec,// #LATIN SMALL LETTER I WITH GRAVE
-  0x00c4,// #LATIN CAPITAL LETTER A WITH DIAERESIS
-  0x00c5,// #LATIN CAPITAL LETTER A WITH RING ABOVE
-  0x00c9,// #LATIN CAPITAL LETTER E WITH ACUTE
-  0x00e6,// #LATIN SMALL LIGATURE AE
-  0x00c6,// #LATIN CAPITAL LIGATURE AE
-  0x00f4,// #LATIN SMALL LETTER O WITH CIRCUMFLEX
-  0x00f6,// #LATIN SMALL LETTER O WITH DIAERESIS
-  0x00f2,// #LATIN SMALL LETTER O WITH GRAVE
-  0x00fb,// #LATIN SMALL LETTER U WITH CIRCUMFLEX
-  0x00f9,// #LATIN SMALL LETTER U WITH GRAVE
-  0x00ff,// #LATIN SMALL LETTER Y WITH DIAERESIS
-  0x00d6,// #LATIN CAPITAL LETTER O WITH DIAERESIS
-  0x00dc,// #LATIN CAPITAL LETTER U WITH DIAERESIS
-  0x00a2,// #CENT SIGN
-  0x00a3,// #POUND SIGN
-  0x00a5,// #YEN SIGN
-  0x20a7,// #PESETA SIGN
-  0x0192,// #LATIN SMALL LETTER F WITH HOOK
-  0x00e1,// #LATIN SMALL LETTER A WITH ACUTE
-  0x00ed,// #LATIN SMALL LETTER I WITH ACUTE
-  0x00f3,// #LATIN SMALL LETTER O WITH ACUTE
-  0x00fa,// #LATIN SMALL LETTER U WITH ACUTE
-  0x00f1,// #LATIN SMALL LETTER N WITH TILDE
-  0x00d1,// #LATIN CAPITAL LETTER N WITH TILDE
-  0x00aa,// #FEMININE ORDINAL INDICATOR
-  0x00ba,// #MASCULINE ORDINAL INDICATOR
-  0x00bf,// #INVERTED QUESTION MARK
-  0x2310,// #REVERSED NOT SIGN
-  0x00ac,// #NOT SIGN
-  0x00bd,// #VULGAR FRACTION ONE HALF
-  0x00bc,// #VULGAR FRACTION ONE QUARTER
-  0x00a1,// #INVERTED EXCLAMATION MARK
-  0x00ab,// #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-  0x00bb,// #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-  0x2591,// #LIGHT SHADE
-  0x2592,// #MEDIUM SHADE
-  0x2593,// #DARK SHADE
-  0x2502,// #BOX DRAWINGS LIGHT VERTICAL
-  0x2524,// #BOX DRAWINGS LIGHT VERTICAL AND LEFT
-  0x2561,// #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-  0x2562,// #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-  0x2556,// #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-  0x2555,// #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-  0x2563,// #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-  0x2551,// #BOX DRAWINGS DOUBLE VERTICAL
-  0x2557,// #BOX DRAWINGS DOUBLE DOWN AND LEFT
-  0x255d,// #BOX DRAWINGS DOUBLE UP AND LEFT
-  0x255c,// #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-  0x255b,// #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-  0x2510,// #BOX DRAWINGS LIGHT DOWN AND LEFT
-  0x2514,// #BOX DRAWINGS LIGHT UP AND RIGHT
-  0x2534,// #BOX DRAWINGS LIGHT UP AND HORIZONTAL
-  0x252c,// #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-  0x251c,// #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-  0x2500,// #BOX DRAWINGS LIGHT HORIZONTAL
-  0x253c,// #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-  0x255e,// #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-  0x255f,// #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-  0x255a,// #BOX DRAWINGS DOUBLE UP AND RIGHT
-  0x2554,// #BOX DRAWINGS DOUBLE DOWN AND RIGHT
-  0x2569,// #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-  0x2566,// #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-  0x2560,// #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-  0x2550,// #BOX DRAWINGS DOUBLE HORIZONTAL
-  0x256c,// #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-  0x2567,// #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-  0x2568,// #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-  0x2564,// #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-  0x2565,// #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-  0x2559,// #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-  0x2558,// #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-  0x2552,// #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-  0x2553,// #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-  0x256b,// #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-  0x256a,// #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-  0x2518,// #BOX DRAWINGS LIGHT UP AND LEFT
-  0x250c,// #BOX DRAWINGS LIGHT DOWN AND RIGHT
-  0x2588,// #FULL BLOCK
-  0x2584,// #LOWER HALF BLOCK
-  0x258c,// #LEFT HALF BLOCK
-  0x2590,// #RIGHT HALF BLOCK
-  0x2580,// #UPPER HALF BLOCK
-  0x03b1,// #GREEK SMALL LETTER ALPHA
-  0x00df,// #LATIN SMALL LETTER SHARP S
-  0x0393,// #GREEK CAPITAL LETTER GAMMA
-  0x03c0,// #GREEK SMALL LETTER PI
-  0x03a3,// #GREEK CAPITAL LETTER SIGMA
-  0x03c3,// #GREEK SMALL LETTER SIGMA
-  0x00b5,// #MICRO SIGN
-  0x03c4,// #GREEK SMALL LETTER TAU
-  0x03a6,// #GREEK CAPITAL LETTER PHI
-  0x0398,// #GREEK CAPITAL LETTER THETA
-  0x03a9,// #GREEK CAPITAL LETTER OMEGA
-  0x03b4,// #GREEK SMALL LETTER DELTA
-  0x221e,// #INFINITY
-  0x03c6,// #GREEK SMALL LETTER PHI
-  0x03b5,// #GREEK SMALL LETTER EPSILON
-  0x2229,// #INTERSECTION
-  0x2261,// #IDENTICAL TO
-  0x00b1,// #PLUS-MINUS SIGN
-  0x2265,// #GREATER-THAN OR EQUAL TO
-  0x2264,// #LESS-THAN OR EQUAL TO
-  0x2320,// #TOP HALF INTEGRAL
-  0x2321,// #BOTTOM HALF INTEGRAL
-  0x00f7,// #DIVISION SIGN
-  0x2248,// #ALMOST EQUAL TO
-  0x00b0,// #DEGREE SIGN
-  0x2219,// #BULLET OPERATOR
-  0x00b7,// #MIDDLE DOT
-  0x221a,// #SQUARE ROOT
-  0x207f,// #SUPERSCRIPT LATIN SMALL LETTER N
-  0x00b2,// #SUPERSCRIPT TWO
-  0x25a0,// #BLACK SQUARE
-  0x00a0,// #NO-BREAK SPACE
-  };
-
-  public char map_cp850_unicode(char x) {
-    if (x>=0x100)
-      return x;
-    return unimap[x];
-  }
-
-  private void _SetCursor(int row,int col) {
-    int maxr = display.getRows();
-    int tm = display.getTopMargin();
-
-    R = (row<0)?0:row;
-    C = (col<0)?0:col;
-
-    if (!moveoutsidemargins) {
-	R	+= display.getTopMargin();
-	maxr	 = display.getBottomMargin();
-    }
-    if (R>maxr) R = maxr;
-  }
-
-  public void putChar(char c,boolean doshowcursor) {
-    Dimension size;
-    int  rows = display.getRows() ; //statusline
-    int  columns = display.getColumns();
-    int  tm = display.getTopMargin();
-    int  bm = display.getBottomMargin();
-    String  tosend;
-    Vector  vec;
-    byte  msg[];
-
-    if (debug>4) System.out.println("putChar("+c+" ["+((int)c)+"]) at R="+R+" , C="+C+", columns="+columns+", rows="+rows);
-    display.markLine(R,1);
-    if (c>255) {
-      if (debug>0)
-        System.out.println("char > 255:"+((int)c));
-      return;
-    }
-    switch (term_state) {
-    case TSTATE_DATA:
-      /* FIXME: we shouldn't use chars with bit 8 set if ibmcharset.
-       * probably... but some BBS do anyway...
-       */
-      if (!useibmcharset) {
-        boolean doneflag = true;
-        switch (c) {
-        case OSC:
-          osc="";
-          term_state = TSTATE_OSC;
-          break;
-        case RI:
-          if (R>tm)
-            R--;
-          else
-            display.insertLine(R,1,display.SCROLL_DOWN);
-          if (debug>1)
-            System.out.println("RI");
-          break;
-        case IND:
-          if (R == tm - 1 || R == bm || R == rows - 1) //  Ray: not bottom margin - 1
-            display.insertLine(R,1,display.SCROLL_UP);
-          else
-            R++;
-          if (debug>1)
-            System.out.println("IND (at "+R+" )");
-          break;
-        case NEL:
-          if (R == tm - 1 || R == bm || R == rows - 1) //  Ray: not bottom margin - 1
-            display.insertLine(R,1,display.SCROLL_UP);
-          else
-            R++;
-          C=0;
-          if (debug>1)
-            System.out.println("NEL (at "+R+" )");
-          break;
-        case HTS:
-          Tabs[C] = 1;
-          if (debug>1)
-            System.out.println("HTS");
-          break;
-        case DCS:
-          dcs="";
-          term_state = TSTATE_DCS;
-          break;
-        default:
-          doneflag = false;
-          break;
-        }
-        if (doneflag) break;
-      }
-      switch (c) {
-      case CSI: // should be in the 8bit section, but some BBS use this
-        term_state = TSTATE_DCEQ;
-        break;
-      case ESC:
-        term_state = TSTATE_ESC;
-        lastwaslf=0;
-        break;
-      case '\b':
-        C--;
-        if (C<0)
-          C=0;
-        lastwaslf = 0;
-        break;
-      case '\t':
-        if (insertmode == 1) {
-          int  nr,newc;
-
-          newc = C;
-          do {
-            display.insertChar(C,R,' ',attributes);
-            newc++;
-          } while (newc<columns && Tabs[newc]==0);
-        } else {
-          do {
-            display.putChar(C++,R,' ',attributes);
-          } while (C<columns && (Tabs[C]==0));
-        }
-        lastwaslf = 0;
-        break;
-      case '\r':
-        C=0;
-        break;
-      case '\n':
-	if (debug>3)
-		System.out.println("R= "+R+", bm "+bm+", tm="+tm+", rows="+rows);
-        if (!vms)
-        {
-            if (lastwaslf!=0 && lastwaslf!=c)   //  Ray: I do not understand this logic.
-              break;
-            lastwaslf=c;
-            /*C = 0;*/
-        }
-	// note: we do not scroll at the topmargin! only at the bottommargin
-	// of the scrollregion and at the display bottom.
-	if ( R == bm || R >= rows - 1)
-	    display.insertLine(R,1);
-	else
-	    R++;
-        break;
-      case '\016':
-        /* ^N, Shift out - Put G1 into GL */
-        gl = 1;
-        break;
-      case '\017':
-        /* ^O, Shift in - Put G0 into GL */
-        gl = 0;
-        break;
-      default:
-        lastwaslf=0;
-        if (c<32) {
-          if (c!=0)
-            if (debug>0)
-              System.out.println("TSTATE_DATA char: "+((int)c));
-          break;
-        }
-        if(C >= columns) {
-          if(R < rows - 1)
-            R++;
-          else
-            display.insertLine(R,display.SCROLL_UP);
-          C = 0;
-        }
-
-        // Mapping if DEC Special is chosen charset
-        if ( gx[gl] == '0' ) {
-          if ( c >= '\u005f' && c <= '\u007e' ) {
-          if (debug>3)
-            System.out.print("Mapping "+c+" (index "+((short)c-0x5f)+" to ");
-          c = DECSPECIAL[(short)c - 0x5f];
-          if (debug>3)
-            System.out.println(c+" ("+(int)c+")");
-          }
-        }
-/*
-        if ( gx[gr] == '0' ) {
-          if ( c >= '\u00bf' && c <= '\u00fe' ) {
-          if (debug>2)
-            System.out.print("Mapping "+c);
-            c = DECSPECIAL[(short)c - 0xbf];
-            if (debug>2)
-              System.out.println("to "+c);
-          }
-        }
-*/
-        if (useibmcharset)
-          c = map_cp850_unicode(c);
-
-	/*if(true || (statusmode == 0)) { */
-	if (debug>4) System.out.println("output "+c+" at "+C+","+R);
-	  if (insertmode==1) {
-	    display.insertChar(C, R, c, attributes);
-	  } else {
-	    display.putChar(C, R, c, attributes);
-	  }
-	/*
-	} else {
-	  if (insertmode==1) {
-	    display.insertChar(C, rows, c, attributes);
-	  } else {
-	    display.putChar(C, rows, c, attributes);
-	  }
-	}
-	*/
-        C++;
-        break;
-      } /* switch(c) */
-      break;
-    case TSTATE_OSC:
-      if ((c<0x20) && (c!=ESC)) {// NP - No printing character
-        handle_osc(osc);
-        term_state = TSTATE_DATA;
-        break;
-      }
-      //but check for vt102 ESC \
-      if (c=='\\' && osc.charAt(osc.length()-1)==ESC) {
-        handle_osc(osc);
-        term_state = TSTATE_DATA;
-        break;
-      }
-      osc = osc + c;
-      break;
-    case TSTATE_ESC:
-      switch (c) {
-      case '#':
-        term_state = TSTATE_ESCSQUARE;
-        break;
-      case 'c':
-        /* Hard terminal reset */
-        /*FIXME:*/
-        term_state = TSTATE_DATA;
-        break;
-      case '[':
-        term_state = TSTATE_CSI;
-        DCEvar    = 0;
-        DCEvars[0]  = 0;
-        DCEvars[1]  = 0;
-        DCEvars[2]  = 0;
-        DCEvars[3]  = 0;
-        break;
-        case ']':
-        osc="";
-        term_state = TSTATE_OSC;
-        break;
-      case 'P':
-        dcs="";
-        term_state = TSTATE_DCS;
-        break;
-      case 'E':
-        if (R == tm - 1 || R == bm || R == rows - 1) //  Ray: not bottom margin - 1
-          display.insertLine(R,1,display.SCROLL_UP);
-        else
-          R++;
-        C=0;
-        if (debug>1)
-          System.out.println("ESC E (at "+R+")");
-        term_state = TSTATE_DATA;
-        break;
-      case 'D':
-        if (R == tm - 1 || R == bm || R == rows - 1)
-          display.insertLine(R,1,display.SCROLL_UP);
-        else
-          R++;
-        if (debug>1)
-          System.out.println("ESC D (at "+R+" )");
-        term_state = TSTATE_DATA;
-        break;
-      case 'M': // IL
-        if ((R>=tm) && (R<=bm)) // in scrolregion
-          display.insertLine(R,1,display.SCROLL_DOWN);
-	/* else do nothing ; */
-        if (debug>1)
-          System.out.println("ESC M ");
-        term_state = TSTATE_DATA;
-        break;
-      case 'H':
-        if (debug>1)
-          System.out.println("ESC H at "+C);
-        /* right border probably ...*/
-        if (C>=columns)
-          C=columns-1;
-        Tabs[C] = 1;
-        term_state = TSTATE_DATA;
-        break;
-      case '=':
-        /*application keypad*/
-        if (debug>0)
-          System.out.println("ESC =");
-        term_state = TSTATE_DATA;
-        break;
-      case '>':
-        /*normal keypad*/
-        if (debug>0)
-          System.out.println("ESC >");
-        term_state = TSTATE_DATA;
-        break;
-      case '7':
-        /*save cursor */
-        Sc = C;
-        Sr = R;
-        Sa = attributes;
-        if (debug>1)
-          System.out.println("ESC 7");
-        term_state = TSTATE_DATA;
-        break;
-      case '8':
-        /*restore cursor */
-        C = Sc;
-        R = Sr;
-        attributes = Sa;
-        term_state = TSTATE_DATA;
-        if (debug>1)
-          System.out.println("ESC 7");
-        break;
-      case '(':
-        /* Designate G0 Character set (ISO 2022) */
-        term_state = TSTATE_SETG0;
-        break;
-      case ')':
-        /* Designate G0 character set (ISO 2022) */
-        term_state = TSTATE_SETG1;
-        break;
-      case '*':
-        /* Designate G1 Character set (ISO 2022) */
-        term_state = TSTATE_SETG2;
-        break;
-      case '+':
-        /* Designate G1 Character set (ISO 2022) */
-        term_state = TSTATE_SETG3;
-        break;
-      case '~':
-        /* Locking Shift 1, right */
-        term_state = TSTATE_DATA;
-        gr = 1;
-        break;
-      case 'n':
-        /* Locking Shift 2 */
-        term_state = TSTATE_DATA;
-        gl = 2;
-        break;
-      case '}':
-        /* Locking Shift 2, right */
-        term_state = TSTATE_DATA;
-        gr = 2;
-        break;
-      case 'o':
-        /* Locking Shift 3 */
-        term_state = TSTATE_DATA;
-        gl = 3;
-        break;
-      case '|':
-        /* Locking Shift 3, right */
-        term_state = TSTATE_DATA;
-        gr = 3;
-        break;
-      default:
-        System.out.println("ESC unknown letter: ("+((int)c)+")");
-        term_state = TSTATE_DATA;
-        break;
-      }
-      break;
-    case TSTATE_SETG0:
-      if(c!='0' && c!='A' && c!='B')
-        System.out.println("ESC ( : G0 char set?  ("+((int)c)+")");
-      else {
-        if (debug>2) System.out.println("ESC ( : G0 char set  ("+c+" "+((int)c)+")");
-        gx[0] = c;
-      }
-      term_state = TSTATE_DATA;
-      break;
-    case TSTATE_SETG1:
-      if(c!='0' && c!='A' && c!='B')
-        System.out.println("ESC ) :G1 char set?  ("+((int)c)+")");
-      else {
-        if (debug>2) System.out.println("ESC ) :G1 char set  ("+c+" "+((int)c)+")");
-        gx[1] = c;
-      }
-      term_state = TSTATE_DATA;
-      break;
-    case TSTATE_SETG2:
-      if(c!='0' && c!='A' && c!='B')
-        System.out.println("ESC*:G2 char set?  ("+((int)c)+")");
-      else {
-        if (debug>2) System.out.println("ESC*:G2 char set  ("+c+" "+((int)c)+")");
-	gx[2] = c;
-      }
-      term_state = TSTATE_DATA;
-      break;
-    case TSTATE_SETG3:
-      if(c!='0' && c!='A' && c!='B')
-        System.out.println("ESC+:G3 char set?  ("+((int)c)+")");
-      else {
-        if (debug>2) System.out.println("ESC+:G3 char set  ("+c+" "+((int)c)+")");
-        gx[3] = c;
-      }
-      term_state = TSTATE_DATA;
-      break;
-    case TSTATE_ESCSQUARE:
-      switch (c) {
-      case '8':
-        for (int i=0;i<columns;i++)
-          for (int j=0;j<rows;j++)
-            display.putChar(i,j,'E',0);
-        break;
-      default:
-        System.out.println("ESC # "+c+" not supported.");
-        break;
-      }
-      term_state = TSTATE_DATA;
-      break;
-    case TSTATE_DCS:
-      if (c=='\\' && dcs.charAt(dcs.length()-1)==ESC) {
-        handle_dcs(dcs);
-        term_state = TSTATE_DATA;
-        break;
-      }
-      dcs = dcs + c;
-      break;
-    case TSTATE_DCEQ:
-      switch (c) {
-      case '0':
-      case '1':
-      case '2':
-      case '3':
-      case '4':
-      case '5':
-      case '6':
-      case '7':
-      case '8':
-      case '9':
-        DCEvars[DCEvar]=DCEvars[DCEvar]*10+((int)c)-48;
-        break;
-      case 'r': // XTERM_RESTORE
-        if (true || debug>1)
-          System.out.println("ESC [ ? "+DCEvars[0]+" r");
-        /* DEC Mode reset */
-        switch (DCEvars[0]){
-        case 3: /* 80 columns*/
-          size = display.size();
-          display.setWindowSize(80,rows);
-          layout();
-          break;
-        case 4: /* scrolling mode, smooth */
-          break;
-        case 5: /* light background */
-          break;
-        case 6: /* move inside margins ? */
-          moveoutsidemargins = true;
-          break;
-        case 12:/* local echo off */
-          break;
-        }
-        term_state = TSTATE_DATA;
-        break;
-      case 'h': // DECSET
-        if (debug>0)
-          System.out.println("ESC [ ? "+DCEvars[0]+" h");
-        /* DEC Mode set */
-        switch (DCEvars[0]){
-        case 1:  /* Application cursor keys */
-          KeyUp  = "\u001bOA";
-          KeyDown  = "\u001bOB";
-          KeyRight= "\u001bOC";
-          KeyLeft  = "\u001bOD";
-          break;
-        case 3: /* 132 columns*/
-          size = display.size();
-          display.setWindowSize(132,rows);
-          layout();
-          break;
-        case 4: /* scrolling mode, smooth */
-          break;
-        case 5: /* light background */
-          break;
-        case 6: /* move inside margins ? */
-          moveoutsidemargins = false;
-          break;
-        case 12:/* local echo off */
-          break;
-        }
-        term_state = TSTATE_DATA;
-        break;
-      case 'l':	//DECRST
-        /* DEC Mode reset */
-        if (debug>0)
-          System.out.println("ESC [ ? "+DCEvars[0]+" l");
-        switch (DCEvars[0]){
-        case 1:  /* Application cursor keys */
-          KeyUp  = "\u001b[A";
-          KeyDown  = "\u001b[B";
-          KeyRight= "\u001b[C";
-          KeyLeft  = "\u001b[D";
-          break;
-        case 3: /* 80 columns*/
-          size = display.size();
-          display.setWindowSize(80,rows);
-          layout();
-          break;
-        case 4: /* scrolling mode, jump */
-          break;
-        case 5: /* dark background */
-          break;
-        case 6: /* move outside margins ? */
-          moveoutsidemargins = true;
-          break;
-        case 12:/* local echo on */
-          break;
-        }
-        term_state = TSTATE_DATA;
-        break;
-      case ';':
-        DCEvar++;
-        DCEvars[DCEvar] = 0;
-        break;
-      case 'n':
-        if (debug>0)
-          System.out.println("ESC [ ? "+DCEvars[0]+" n");
-        switch (DCEvars[0]) {
-        case 15:
-          /* printer? no printer. */
-          host.send(((char)ESC)+"[?13n");
-          System.out.println("ESC[5n");
-          break;
-        default:break;
-        }
-        term_state = TSTATE_DATA;
-        break;
-      default:
-        if (debug>0)
-          System.out.println("ESC [ ? "+DCEvars[0]+" "+c);
-        term_state = TSTATE_DATA;
-        break;
-      }
-      break;
-    case TSTATE_CSI_DOLLAR:
-      switch (c) {
-      case '}':
-	System.out.println("Active Status Display now "+DCEvars[0]);
-	statusmode = DCEvars[0];
-	break;
-/* bad documentation?
-      case '-':
-	System.out.println("Set Status Display now "+DCEvars[0]);
-	break;
- */
-      case '~':
-	System.out.println("Status Line mode now "+DCEvars[0]);
-	break;
-      default:
-	System.out.println("UNKNOWN Status Display code "+c+", with Pn="+DCEvars[0]);
-	break;
-      }
-      term_state = TSTATE_DATA;
-      break;
-    case TSTATE_CSI:
-      switch (c) {
-      case '$':
-	term_state=TSTATE_CSI_DOLLAR;
-	break;
-      case '?':
-        DCEvar=0;
-        DCEvars[0]=0;
-        term_state=TSTATE_DCEQ;
-        break;
-      case '0':
-      case '1':
-      case '2':
-      case '3':
-      case '4':
-      case '5':
-      case '6':
-      case '7':
-      case '8':
-      case '9':
-        DCEvars[DCEvar]=DCEvars[DCEvar]*10+((int)c)-48;
-        break;
-      case ';':
-        DCEvar++;
-        DCEvars[DCEvar] = 0;
-        break;
-      case 'c':/* send primary device attributes */
-        /* send (ESC[?61c) */
-        host.send(((char)ESC)+"[?1;2c");
-        term_state = TSTATE_DATA;
-        if (debug>1)
-          System.out.println("ESC [ "+DCEvars[0]+" c");
-        break;
-      case 'q':
-        if (debug>1)
-          System.out.println("ESC [ "+DCEvars[0]+" q");
-        term_state = TSTATE_DATA;
-        break;
-      case 'g':
-        /* used for tabsets */
-        switch (DCEvars[0]){
-        case 3:/* clear them */
-          int nw = display.getColumns();
-          Tabs = new byte[nw];
-          break;
-        case 0:
-          Tabs[C] = 0;
-          break;
-        }
-        if (debug>1)
-          System.out.println("ESC [ "+DCEvars[0]+" g");
-        term_state = TSTATE_DATA;
-        break;
-      case 'h':
-        switch (DCEvars[0]) {
-        case 4:
-          insertmode = 1;
-          break;
-        case 20:
-          sendcrlf = true;
-          break;
-        default:
-          System.out.println("unsupported: ESC [ "+DCEvars[0]+" h");
-          break;
-        }
-        term_state = TSTATE_DATA;
-        if (debug>1)
-          System.out.println("ESC [ "+DCEvars[0]+" h");
-        break;
-      case 'l':
-        switch (DCEvars[0]) {
-        case 4:
-          insertmode = 0;
-          break;
-        case 20:
-          sendcrlf = false;
-          break;
-        }
-        term_state = TSTATE_DATA;
-        if (debug>1)
-          System.out.println("ESC [ "+DCEvars[0]+" l");
-        break;
-      case 'A': // CUU
-      {
-        int limit;
-	/* FIXME: xterm only cares about 0 and topmargin */
-        if (R > bm)
-            limit = bm+1;
-        else if (R >= tm) {
-            limit = tm;
-        } else
-            limit = 0;
-        if (DCEvars[0]==0)
-          R--;
-        else
-          R-=DCEvars[0];
-        if (R < limit)
-            R = limit;
-        term_state = TSTATE_DATA;
-        if (debug>1)
-          System.out.println("ESC [ "+DCEvars[0]+" A");
-        break;
-      }
-      case 'B':	// CUD
-        /* cursor down n (1) times */
-      {
-        int limit;
-        if (R < tm)
-            limit = tm-1;
-        else if (R <= bm) {
-            limit = bm;
-        } else
-            limit = rows - 1;
-        if (DCEvars[0]==0)
-          R++;
-        else
-          R+=DCEvars[0];
-        if (R > limit)
-            R = limit;
-        else {
-            if (debug>2) System.out.println("Not limited.");
-        }
-        if (debug>2) System.out.println("to: " + R);
-        term_state = TSTATE_DATA;
-        if (debug>1)
-          System.out.println("ESC [ "+DCEvars[0]+" B (at C="+C+")");
-        break;
-      }
-      case 'C':
-        if (DCEvars[0]==0)
-          C++;
-        else
-          C+=DCEvars[0];
-        if (C>columns-1)
-          C=columns-1;
-        term_state = TSTATE_DATA;
-        if (debug>1)
-          System.out.println("ESC [ "+DCEvars[0]+" C");
-        break;
-      case 'd': // CVA
-	R = DCEvars[0];
-        System.out.println("ESC [ "+DCEvars[0]+" d");
-        term_state = TSTATE_DATA;
-	break;
-      case 'D':
-        if (DCEvars[0]==0)
-          C--;
-        else
-          C-=DCEvars[0];
-        if (C<0) C=0;
-        term_state = TSTATE_DATA;
-        if (debug>1)
-          System.out.println("ESC [ "+DCEvars[0]+" D");
-        break;
-      case 'r': // DECSTBM
-        if (DCEvar>0)   //  Ray:  Any argument is optional
-        {
-          R = DCEvars[1]-1;
-          if (R < 0)
-            R = rows-1;
-          else if (R >= rows) {
-            R = rows - 1;
- 	  }
-        } else
-          R = rows - 1;
-        display.setBottomMargin(DCEvars[1]-1);
-        if (R >= DCEvars[0])
-        {
-          R = DCEvars[0]-1;
-          if (R < 0)
-            R = 0;
-        }
-        display.setTopMargin(DCEvars[0]-1);
-	_SetCursor(0,0);
-        if (debug>1)
-          System.out.println("ESC ["+DCEvars[0]+" ; "+DCEvars[1]+" r");
-        term_state = TSTATE_DATA;
-        break;
-      case 'G':  /* CUP  / cursor absolute column */
-	C = DCEvars[0];
-	System.out.println("ESC [ "+DCEvars[0]+" G");
-        term_state = TSTATE_DATA;
-	break;
-      case 'H':  /* CUP  / cursor position */
-        /* gets 2 arguments */
-	_SetCursor(DCEvars[0]-1,DCEvars[1]-1);
-        term_state = TSTATE_DATA;
-        if (debug>2) {
-          System.out.println("ESC [ "+DCEvars[0]+";"+DCEvars[1]+" H, moveoutsidemargins "+moveoutsidemargins);
-          System.out.println("	-> R now "+R+", C now "+C);
-	}
-        break;
-      case 'f':  /* move cursor 2 */
-        /* gets 2 arguments */
-        R = DCEvars[0]-1;
-        C = DCEvars[1]-1;
-        if (C<0) C=0;
-        if (R<0) R=0;
-        term_state = TSTATE_DATA;
-        if (debug>2)
-          System.out.println("ESC [ "+DCEvars[0]+";"+DCEvars[1]+" f");
-        break;
-      case 'L':
-        /* insert n lines */
-        if (DCEvars[0]==0)
-          display.insertLine(R,display.SCROLL_DOWN);
-        else
-          display.insertLine(R,DCEvars[0],display.SCROLL_DOWN);
-        term_state = TSTATE_DATA;
-        if (debug>1)
-          System.out.println("ESC [ "+DCEvars[0]+" L (at R "+R+")");
-        break;
-      case 'M':
-        if (debug>1)
-          System.out.println("ESC [ "+DCEvars[0]+"M at R="+R);
-        if (DCEvars[0]==0)
-          display.deleteLine(R);
-        else
-          for (int i=0;i<DCEvars[0];i++)
-            display.deleteLine(R);
-        term_state = TSTATE_DATA;
-        break;
-      case 'K':
-        if (debug>1)
-          System.out.println("ESC [ "+DCEvars[0]+" K");
-        /* clear in line */
-        switch (DCEvars[0]) {
-        case 0:/*clear to right*/
-          if (C<columns-1)
-            display.deleteArea(C,R,columns-C,1);
-          break;
-        case 1:/*clear to the left*/
-          if (C>0)
-            display.deleteArea(0,R,C,1);    // Ray: Should at least include character before this one, not C-1
-          break;
-        case 2:/*clear whole line */
-          display.deleteArea(0,R,columns,1);
-          break;
-        }
-        term_state = TSTATE_DATA;
-        break;
-      case 'J':
-        /* clear display.below current line */
-        switch (DCEvars[0]) {
-        case 0:
-          if (R<rows-1)
-            display.deleteArea(0,R + 1,columns,rows-R-1);
-          if (C<columns-1)
-            display.deleteArea(C,R,columns-C,1);
-          break;
-        case 1:
-          if (R>0)
-            display.deleteArea(0,0,columns,R-1);
-          if (C>0)
-            display.deleteArea(0,R,C,1);    // Ray: Should at least include character before this one, not C-1
-          break;
-        case 2:
-          display.deleteArea(0,0,columns,rows);
-          break;
-        }
-        if (debug>1)
-          System.out.println("ESC [ "+DCEvars[0]+" J");
-        term_state = TSTATE_DATA;
-        break;
-      case '@':
-	if (debug>1)
-          System.out.println("ESC [ "+DCEvars[0]+" @");
-	for (int i=0;i<DCEvars[0];i++)
-	  display.insertChar(C,R,' ',attributes);
-	term_state = TSTATE_DATA;
-	break;
-      case 'P':
-        if (debug>1)
-          System.out.println("ESC [ "+DCEvars[0]+" P, C="+C+",R="+R);
-	if (DCEvars[0]==0) DCEvars[0]=1;
-	for (int i=0;i<DCEvars[0];i++)
-          display.deleteChar(C,R);
-        term_state = TSTATE_DATA;
-        break;
-      case 'n':
-        switch (DCEvars[0]){
-        case 5: /* malfunction? No malfunction. */
-          host.send(((char)ESC)+"[0n");
-          if(debug > 1)
-            System.out.println("ESC[5n");
-          break;
-        case 6:
-          host.send(((char)ESC)+"["+R+";"+C+"R");
-          if(debug > 1)
-            System.out.println("ESC[6n");
-          break;
-        default:
-          if (debug>0)
-            System.out.println("ESC [ "+DCEvars[0]+" n??");
-          break;
-        }
-        term_state = TSTATE_DATA;
-        break;
-      case 'm':  /* attributes as color, bold , blink,*/
-        if (debug>3)
-          System.out.print("ESC [ ");
-        if (DCEvar == 0 && DCEvars[0] == 0)
-          attributes = 0;
-        for (i=0;i<=DCEvar;i++) {
-          switch (DCEvars[i]) {
-          case 0:
-            if (DCEvar>0)
-              attributes =0;
-            break;
-          case 4:
-            attributes |= CharDisplay.UNDERLINE;
-            break;
-          case 1:
-            attributes |= CharDisplay.BOLD;
-            break;
-          case 7:
-            attributes |= CharDisplay.INVERT;
-            break;
-          case 5: /* blink on */
-            break;
-          case 25: /* blinking off */
-            break;
-          case 27:
-            attributes &= ~CharDisplay.INVERT;
-            break;
-          case 24:
-            attributes &= ~CharDisplay.UNDERLINE;
-            break;
-          case 22:
-            attributes &= ~CharDisplay.BOLD;
-            break;
-          case 30:
-          case 31:
-          case 32:
-          case 33:
-          case 34:
-          case 35:
-          case 36:
-          case 37:
-            attributes &= ~(0xf<<3);
-            attributes |= ((DCEvars[i]-30)+1)<<3;
-            break;
-          case 39:
-            attributes &= ~(0xf<<3);
-            break;
-          case 40:
-          case 41:
-          case 42:
-          case 43:
-          case 44:
-          case 45:
-          case 46:
-          case 47:
-            attributes &= ~(0xf<<7);
-            attributes |= ((DCEvars[i]-40)+1)<<7;
-            break;
-          case 49:
-            attributes &= ~(0xf<<7);
-            break;
-
-          default:
-            System.out.println("ESC [ "+DCEvars[i]+" m unknown...");
-            break;
-          }
-          if (debug>3)
-            System.out.print(""+DCEvars[i]+";");
-        }
-        if (debug>3)
-          System.out.print(" (attributes = "+attributes+")m \n");
-        term_state = TSTATE_DATA;
-        break;
-      default:
-        if (debug>0)
-          System.out.println("ESC [ unknown letter:"+c+" ("+((int)c)+")");
-        term_state = TSTATE_DATA;
-        break;
-      }
-      break;
-    default:
-      term_state = TSTATE_DATA;
-      break;
-    }
-    if (C > columns) C = columns;
-    if (R > rows)  R = rows;
-    if (C < 0)  C = 0;
-    if (R < 0)  R = 0;
-    if (doshowcursor)
-      display.setCursorPos(C, R);
-    display.markLine(R,1);
-  }
-}
diff --git a/web/root/telnet/examples/bbs.html b/web/root/telnet/examples/bbs.html
deleted file mode 100644
index 89375f178e..0000000000
--- a/web/root/telnet/examples/bbs.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>The JAVA Telnet Applet - Cereal BBS</TITLE>
-</HEAD>
-
-<H1>A JAVA Telnet Applet example - Cereal BBS </H1>
-
-<P>&copy; 1996 <A HREF="mailto:leo@first.gmd.de">Matthias L. Jugel</A>, 
-&copy; 1996 <A HREF="mailto:msmeissn@cip.informatik.uni-erlangen.de">Marcus 
-Mei&szlig;ner</A> 
-<P>
-BBS Example one connects you to cereal.mv.com BBS after you pressed the button
-below. It supports full ANSI graphics and uses the appWrapper for maximum
-utilization of the web browser. After detaching the telnet window you can
-still go on browsing the web.
-<P>
-<APPLET CODEBASE="../" CODE="appWrapper.class" WIDTH=100 HEIGHT=25>
-<PARAM NAME=applet VALUE="telnet">
-<PARAM NAME=startButton VALUE="Connect to Cereal!">
-<PARAM NAME=stopButton VALUE="Shutdown Telnet">
-<PARAM NAME=frameTitle VALUE="The Java Telnet Applet: Example [cereal.mv.com]">
-<PARAM NAME=address VALUE="cereal.mv.com">
-<PARAM NAME=port VALUE="23">
-<PARAM NAME=emulation VALUE="vt320">
-<PARAM NAME=VTcolumns VALUE="80">
-<PARAM NAME=VTrows VALUE="24">
-<PARAM NAME=VTfont VALUE="Courier">
-<PARAM NAME=VTfontsize VALUE="12">
-<PARAM NAME=VTbuffer VALUE="1000">
-<PARAM NAME=VTscrollbar VALUE="true">
-<PARAM NAME=VTcharset VALUE="ibm">
-</APPLET>
-</HTML>
diff --git a/web/root/telnet/examples/bbs2.html b/web/root/telnet/examples/bbs2.html
deleted file mode 100644
index 09d5456472..0000000000
--- a/web/root/telnet/examples/bbs2.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>The JAVA Telnet Applet - The Rock Garden BBS</TITLE>
-</HEAD>
-
-<H1>A JAVA Telnet Applet example - The Rock Garden BBS</H1>
-
-<P>&copy; 1996 <A HREF="mailto:leo@first.gmd.de">Matthias L. Jugel</A>, 
-&copy; 1996 <A HREF="mailto:msmeissn@cip.informatik.uni-erlangen.de">Marcus 
-Mei&szlig;ner</A> 
-<P>
-BBS example two. Connect to Rock Garden BBS with fill ANSI graphics character
-support. This example makes use of the appWrapper.
-<P>
-<APPLET CODEBASE="../" CODE="appWrapper.class" WIDTH=640 HEIGHT=480>
-<PARAM NAME=applet VALUE="telnet">
-
-<PARAM NAME=address VALUE="garden.hvs.com">
-<PARAM NAME=port VALUE="23">
-<PARAM NAME=emulation VALUE="vt320">
-<PARAM NAME=VTcolumns VALUE="80">
-<PARAM NAME=VTrows VALUE="24">
-<PARAM NAME=VTfont VALUE="Courier">
-<PARAM NAME=VTfontsize VALUE="12">
-<PARAM NAME=VTbuffer VALUE="1000">
-<PARAM NAME=VTscrollbar VALUE="true">
-<PARAM NAME=VTcharset VALUE="ibm">
-</APPLET>
-</HTML>
diff --git a/web/root/telnet/examples/bbs3.html b/web/root/telnet/examples/bbs3.html
deleted file mode 100644
index c64d6f208b..0000000000
--- a/web/root/telnet/examples/bbs3.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>The JAVA Telnet Applet - Connection Universe BBS</TITLE>
-</HEAD>
-
-<H1>A JAVA Telnet Applet example - Connection Universe BBS</H1>
-
-<P>&copy; 1996 <A HREF="mailto:leo@first.gmd.de">Matthias L. Jugel</A>, 
-&copy; 1996 <A HREF="mailto:msmeissn@cip.informatik.uni-erlangen.de">Marcus 
-Mei&szlig;ner</A> 
-<P>
-BBS example three. It connects you to Connection Universe with full ANSI
-graphics character support. This example does not use the appWrapper. It
-is recommended, however.
-<P>
-<APPLET CODEBASE="../" CODE="telnet.class" WIDTH=640 HEIGHT=480>
-<PARAM NAME=address VALUE="www.cu-muc.de">
-<PARAM NAME=port VALUE="23">
-<PARAM NAME=emulation VALUE="vt320">
-<PARAM NAME=VTcolumns VALUE="80">
-<PARAM NAME=VTrows VALUE="24">
-<PARAM NAME=VTfont VALUE="Courier">
-<PARAM NAME=VTfontsize VALUE="12">
-<PARAM NAME=VTcharset VALUE="ibm">
-</APPLET>
-</HTML>
diff --git a/web/root/telnet/examples/lh.html b/web/root/telnet/examples/lh.html
deleted file mode 100644
index 61d288e889..0000000000
--- a/web/root/telnet/examples/lh.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>The JAVA Telnet Applet - localhost</TITLE>
-</HEAD>
-
-<H1>A JAVA Telnet Applet - localhost</H1>
-
-<P>&copy; 1996 <A HREF="mailto:leo@first.gmd.de">Matthias L. Jugel</A>, 
-&copy; 1996 <A HREF="mailto:msmeissn@cip.informatik.uni-erlangen.de">Marcus 
-Mei&szlig;ner</A> 
-<P>
-Another example using the telnet applet only. Without the appWrapper it
-causes the applet to hange when you leave the page. It is customized with
-a buttonbar for usage on UNIX systems.
-<P>
-<APPLET CODEBASE="../" CODE="telnet.class" WIDTH=640 HEIGHT=480>
-<PARAM NAME=address VALUE="localhost">
-<PARAM NAME=port VALUE="23">
-<PARAM NAME=emulation VALUE="vt320">
-<PARAM NAME=VTcolumns VALUE="80">
-<PARAM NAME=VTrows VALUE="24">
-<PARAM NAME=VTfont VALUE="Courier">
-<PARAM NAME=VTfontsize VALUE="12">
-<PARAM NAME=VTbuffer VALUE="1000">
-<PARAM NAME=VTscrollbar VALUE="true">
-<PARAM NAME=1#Button VALUE="List Users|who\n">
-<PARAM NAME=2#Button VALUE="Execute:|sag \@exec@\n">
-<PARAM NAME=3#Input VALUE="exec#10|ps">
-<PARAM NAME=4#Button VALUE="Connect:|\$connect(\@addr@)">
-<PARAM NAME=5#Input VALUE="addr#20|localhost">
-<PARAM NAME=6#Button VALUE="Disconnect!|\$disconnect()">
-<PARAM NAME=script VALUE="login:|leo|TERM =|vt100">
-</APPLET>
-</HTML>
diff --git a/web/root/telnet/examples/mg.html b/web/root/telnet/examples/mg.html
deleted file mode 100644
index 2baa869f27..0000000000
--- a/web/root/telnet/examples/mg.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>The Java(tm) Telnet Applet: Connect to MorgenGrauen</TITLE>
-</HEAD>
-<BODY>
-
-<H1>The Java<SUP>(tm)</SUP> Telnet Applet: Connect to MorgenGrauen</H1>
-
-<P>&copy; 1996-98 <A HREF="mailto:leo@first.gmd.de">Matthias L. Jugel</A>,
-<A HREF="mailto:msmeissn@cip.informatik.uni-erlangen.de">Marcus Mei&szlig;ner</A> 
-<P>
-This is a variation with almost all available parameters set. Two modules
-(ButtonBar and Script) are used for customization. It will login you as
-guest in the MUD MorgenGrauen.
-<P>
-
-<APPLET CODEBASE="../" CODE="telnet.class" WIDTH=640 HEIGHT=480>
-  <PARAM NAME=address VALUE="mg.mud.de">
-  <PARAM NAME=port VALUE="23">
-
-  <!-- terminal emulation -->
-  <PARAM NAME=VTscrollbar VALUE="true">
-  <PARAM NAME=VTresize    VALUE="font">
-  <PARAM NAME=VTfont      VALUE="Courier">
-  <PARAM NAME=VTfontsize  VALUE="13">
-  <PARAM NAME=VTid        VALUE="vt320">
-
-  <!-- modules: #1 is a buttonbar -->
-  <PARAM NAME=module#1    VALUE="ButtonBar@North">
-  <PARAM NAME=1#Button    VALUE="Norden|norden\n\r">
-  <PARAM NAME=2#Button    VALUE="S\&uuml;den|sueden\n\r">
-  <PARAM NAME=3#Button    VALUE="Westen|westen\n\r">
-  <PARAM NAME=4#Button    VALUE="Osten|Osten\n\r">
-  <PARAM NAME=5#Button    VALUE="Anwesende|kwer\n\r">
-  <PARAM NAME=6#Button    VALUE="HILFE!|hilfe \@help@\n\r">
-  <PARAM NAME=7#Input     VALUE="help#20|">
-  <PARAM NAME=8#Button    VALUE="Verbinden|\$connect()">
-  <PARAM NAME=9#Button    VALUE="Abbrechen|\$disconnect()">
-  <PARAM NAME=10#Button   VALUE="Externes Fenster|\$detach()">
-  <PARAM NAME=11#Button   VALUE="Text senden:|\@send@\r\n">
-  <PARAM NAME=12#Input    VALUE="send#80|wer">
-
-	<!-- modules: #2 is a script -->
-  <PARAM NAME=module#2    VALUE="Script">
-  <PARAM NAME=script      VALUE="denn ?|gast|EMail|none|ch:|weiblich">
-
-</APPLET>
-</BODY>
-</HTML>
diff --git a/web/root/telnet/examples/tapp.html b/web/root/telnet/examples/tapp.html
deleted file mode 100644
index 9501a1a3ae..0000000000
--- a/web/root/telnet/examples/tapp.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>The JAVA Telnet Applet - TAPPMud</TITLE>
-</HEAD>
-</BODY>
-
-<H1>A JAVA Telnet Applet example - TAPPMud</H1>
-
-<P>&copy; 1996 <A HREF="mailto:leo@first.gmd.de">Matthias L. Jugel</A>,
-&copy; 1996 <A HREF="mailto:msmeissn@cip.informatik.uni-erlangen.de">Marcus 
-Mei&szlig;ner</A>
-<P>
-This is a very small example with no customization. The telnet applet itself
-is loaded on the page. Leaving the page causes the applet to stop working,
-but no disconnecting from the remote host.<P>
-
-<APPLET CODEBASE="../" CODE="telnet.class" WIDTH=600 HEIGHT=400>
-<PARAM NAME=address VALUE="tapp.mud.de">
-</APPLET>
-</BODY>
-</HTML>
diff --git a/web/root/telnet/frame.class b/web/root/telnet/frame.class
deleted file mode 100644
index 24cd6b269e1c8e46fae41295679c9717c22e25da..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 817
zcmX^0Z`VEsW(Hjb6Ltnwb_Q*B1|4<=U3LaNb_RVe237`ME(SIRJ}w4k27XQk76t(>
z1||kU5KD-ML7YL1he4S^n1?}~L4=1vi$Riy!2rZHWRPWKVAjwKV`LE5(2VxUN-Rs%
zPb@Fdch1i($j?j7E3sx|5Y|A5yOx2(G@}?9M4_TNiFxVz!6ikRdFj?5bJ%P$^D;~9
z7#Ucc^HWk885lho8Q6W&iV|~Etr;2keKPY>{YrC_Qj0<olX6lS83fP`XJin92!T!Z
zPs&P72Dt)R5NaJrWqxvEPFP}5Cde?TiCn??rA5i9ZkZtCMR9nFB{@I0fRTYcC9}97
zzc`hVfjPCTgpq+2>`+DqE-<YJ3J*pG-t^QGcz_f$GH_=k=B4DMg2RH5fiaVjfhjYE
zkwFNgT0gO%ASbm%-w{l~1;Ig@SCW{Sms-Tgzz0!TUZM{*10moB3MfVfez=P8%)FHR
zaz+N0;*$IVMh3Q$#G>@n5=I7=l8nq^Mh4cB%#xf`21N!&237_TU}9hd#Ww>Zg9HNu
zgB1f40}}%S1Dlrib_Vv13=9lR4ALMz10w?ig93v*0|SE?L<NHpgA~XB1~vv`1~~>s
z21W)A22rRvD;Ss<SQr=>9JIGE@MtY#u+-kdz$M6Vash+B);0!CU!8p{DR#>l<aA_>
z4l*#!WDwGkH9Ek+w2gsVYa0Ux%bFJE|FU!bKVe=2cYzuMCj$e6GJ_C<3WGR<DuX<O
z8iNLdI)fpD27@VsCWASHDuW$^4%mfS5WC?nbYM_nkOBKsok58~k%5UphCzuzlR=V!
MnSqf(0c?jF0H)omi~s-t

diff --git a/web/root/telnet/frame.java b/web/root/telnet/frame.java
deleted file mode 100644
index d30d5a19d5..0000000000
--- a/web/root/telnet/frame.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * frame -- a frame subclass for handling frame events
- * --
- * $Id: frame.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Tue Jul  8 10:02:36 1997 by Matthias L. Jugel :$
- *
- * This file is part of "The Java Telnet Applet".
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be 
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-import java.awt.Frame;
-import java.awt.Component;
-import java.awt.Event;
-import java.applet.Applet;
-
-public class frame extends Frame 
-{
-  public frame(String title) { super(title); }
-  
-  public boolean handleEvent(Event evt) {
-    if(evt.target == this && evt.id == Event.WINDOW_DESTROY) {
-      Component comp[] = getComponents();
-      for(int i = comp.length - 1; i >= 0; i--)
-        if(comp[i] instanceof Applet) {
-          ((Applet)comp[i]).stop();
-          this.dispose();
-          return true;
-        }
-    }
-    return false;
-  }
-}
-
-    
-    
diff --git a/web/root/telnet/ibmtest.html b/web/root/telnet/ibmtest.html
deleted file mode 100644
index 0140ce6e02..0000000000
--- a/web/root/telnet/ibmtest.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>The JAVA Telnet Applet</TITLE>
-</HEAD>
-
-<H1>The JAVA Telnet Applet</H1>
-
-<P>&copy; 1996 <A HREF="mailto:leo@first.gmd.de">Matthias L. Jugel</A>, 
-&copy; 1996 <A HREF="mailto:msmeissn@cip.informatik.uni-erlangen.de">Marcus 
-Mei&szlig;ner</A> 
-
-<APPLET CODE="telnet.class" WIDTH=640 HEIGHT=480>
-<PARAM NAME=address VALUE="tanis.first.gmd.de">
-<PARAM NAME=port VALUE="23">
-<PARAM NAME=emulation VALUE="vt320">
-<PARAM NAME=VTcolumns VALUE="80">
-<PARAM NAME=VTrows VALUE="24">
-<PARAM NAME=VTfont VALUE="Courier">
-<PARAM NAME=VTfontsize VALUE="12">
-<PARAM NAME=VTbuffer VALUE="1000">
-<PARAM NAME=VTscrollbar VALUE="true">
-<PARAM NAME=VTcharset VALUE="ibm">
-<PARAM NAME=1#Button VALUE="List Users|who\n">
-<PARAM NAME=2#Button VALUE="Execute:|sag \@exec@\n">
-<PARAM NAME=3#Input VALUE="exec#10|ps">
-<PARAM NAME=4#Button VALUE="Connect:|\$connect(\@addr@)">
-<PARAM NAME=5#Input VALUE="addr#20|localhost">
-<PARAM NAME=6#Button VALUE="Disconnect!|\$disconnect()">
-<PARAM NAME=script VALUE="login:|leo|TERM =|vt100">
-</APPLET>
-</HTML>
diff --git a/web/root/telnet/index.download.html b/web/root/telnet/index.download.html
deleted file mode 100644
index 27e680d493..0000000000
--- a/web/root/telnet/index.download.html
+++ /dev/null
@@ -1,182 +0,0 @@
-<!doctype HTML public "-//W30//DTD W3 HTML 3.0//EN">
-<HTML>
-  <HEAD>
-    <TITLE>The Java(tm) Telnet Applet: Downloading and Unpacking</TITLE>
-  </HEAD>
-  <BODY BGCOLOR="#ffffff">
-    <H1>The <A HREF="http://java.sun.com/">Java<SUP>(tm)</SUP></A>
-      Telnet Applet: Download</H1>
-    &copy; 1996, 97 <A HREF="mailto:leo@mud.de">Matthias L. Jugel</A>,
-    <A HREF="mailto:marcus@mud.de">Marcus Mei&szlig;ner</A> 
-    <HR>
-    <H2 ALIGN=CENTER>
-      [<A HREF="#package">Package</A> | <A HREF="#class">Classes</A>]
-    </H2>
-    <HR>
-    <P>
-      <A NAME="package"></A>
-    <H2>Package download and Unpacking</H2>
-    Select the package according to your operating system. Apple users may
-    choose to select the <A HREF="../telnet.zip">telnet.zip</A> file. Please be
-    aware that the packages contain <I>long filenames</I> and may not work with
-    systems not supporting these, such as Windows 3.x.<P>
-      If you have problems unpacking one of the packages read the notes below the
-      table or <A HREF="mailto:leo@mud.de,marcus@mud.de">contact us</A> if it doesn't make
-      sense.
-    <P>
-    <CENTER>
-      <TABLE BORDER=1>
-	<TR ALIGN=CENTER>
-	  <TD><TD><B>UNIX</B> <TD><B>Windows NT/95 &amp; Apple</B></TD>
-	<TR ALIGN=CENTER>
-	  <TD><B>full package</B>
-	  <TD><A HREF="../telnet.tgz">telnet.tgz</A></TD>
-	  <TD><A HREF="../telnet.zip">telnet.zip</A></TD>
-	<TR ALIGN=CENTER>
-	  <TD><B>classes only</B>
-	  <TD><A HREF="../classes.tgz">classes.tgz</A></TD>
-	  <TD><A HREF="../classes.zip">classes.zip</A></TD>
-	<TR ALIGN=CENTER>
-	<TR ALIGN=CENTER>
-	  <TD><B>patches</B>
-	  <TD COLSPAN=2>
-	    <A HREF="../telnet-srp-diff.tar.gz">secure authentication</A><BR>
-	  </TD>
-	<TR ALIGN=CENTER>
-	  <TD><B>full package</B>
-	  <TD><A HREF="../telnet_p.tgz">telnet_p.tgz</A></TD>
-	  <TD><A HREF="../telnet_p.zip">telnet_p.zip</A></TD>
-	<TR ALIGN=CENTER>
-	  <TD><B>classes only</B>
-	  <TD><A HREF="../class_p.tgz">class_p.tgz</A></TD>
-	  <TD><A HREF="../class_p.zip">class_p.zip</A></TD>
-      </TABLE>
-      <P>
-	<I>Note:</I> <A HREF="http://srp.stanford.edu/srp/"><B>Secure 
-	    Remote Password Authentication (SRP)</B></A>, &copy;  
-	    <A HREF="http://www.stanford.edu">Stanford University</A>,
-	    <A HREF="http://srp.stanford.edu/srp/export/eps-1.3.tar.gz">
-	    official distribution</A><BR> download the <B>patched</B> 
-	    version if you don't want to do it yourself.<P>
-	<I>Note:</I> We recommend you download the classes.zip in any case and
-	use the <BR><TT>&lt;APPLET ARCHIVE="classes.zip" ...&gt;</TT> parameter.<BR>
-	This <B>decreases the download time</B> for the applet!
-      <P>
-      <TABLE BORDER=1>
-	<TR ALIGN=CENTER>
-	  <TD><TD><B>Linux</B> <TD><B>Windows NT</B></TD>
-	<TR ALIGN=CENTER>
-	  <TD><B>simple relayd</B>
-	  <TD><A HREF="tools/relayd">relayd</A></TD>
-	  <TD><A HREF="tools/relayd.exe">relayd.exe</A></TD>
-	<TR ALIGN=CENTER>
-	  <TD><B>multi relayd</B>
-	  <TD><A HREF="tools/mrelayd">mrelayd</A></TD>
-	  <TD><A HREF="tools/mrelayd.exe">mrelayd.exe</A></TD>
-      </TABLE>
-      <P>
-	<I>Note:</I> Do a <B>chmod +x relayd</B> after download to make the
-	             file executable.<BR>If you need a binary for a different
-	             platform <A HREF="mailto:leo@mud.de,marcus@mud.de">please
-	             ask.</A>
-    </CENTER>
-    <P>
-    <DL>
-      <DT><B>Apple Computers:</B><P>
-      <DD>Unless you have a UNIX tar and gzip implementation download the
-	<A HREF="../telnet.zip">telnet.zip</A> file.<P>
-	  <DT><B>Windows NT/95:</B><P>
-	  <DD>Select the <A HREF="../telnet.zip">telnet.zip</A> file and unpack it
-	    using one of the publicly available tools, like
-	    <A HREF="http://www.winzip.com">WinZIP</A>. Make sure you have selected
-	    the checkbox to <B>extract subdirectories</B>!<P>
-	      <DT><B>UNIX:</B><P>
-	      <DD>Extract the files from the <A HREF="../telnet.tgz">telnet.tgz</A> file
-		using the following command:
-		<PRE><B>gunzip -c telnet.tgz | tar xvf -</B></PRE>
-		This will extract a directory called <B>Telnet/</B> containing the
-		full source code + documentation and precompiled classes. <B>gunzip</B>
-		(GNU unzip) can be found on a public ftp server.<P>
-		</DL>
-		  For further information on using and installing the applet please refer to the
-		  <A HREF="Documentation/index.html">Documentation</A>.
-		<HR>
-		<A NAME="class"></A>
-    <H2>Direct CLASS download:</H2>
-    Sometimes it is not necessary to download the complete package just to update
-    one class. Below is the tree of classes to directly download the class you
-    may need. If you are not sure, which classes have changed have a look at
-    your copy of the file REVISION and the same file on the home page of the
-    applet. If you are viewing this page from your own copy,
-    <A HREF="http://www.first.gmd.de/persons/leo/java/Telnet/index.download.html">
-      go to the home page download</A>. Higher revision numbers indicate changes.
-    <P>
-      Right click on the link and select <I>Save as ...</I>. Please make sure you
-      download all needed classes. If you're downloading the first time, please
-      use the <A HREF="#package">package download</A> links above!
-    <P>
-      If you want all classes at once download either 
-      <A HREF="../classes.tgz">classes.tgz</A> (<B>UNIX</B>) or
-      <A HREF="../classes.zip">classes.zip</A> (<B>Windows/Apple</B>).
-    <P>
-    <UL>
-      <LI><A HREF="appWrapper.class">appWrapper.class</A> (applet wrapper)
-      <LI><A HREF="frame.class">frame.class</A> (appWrapper needs it!)<P>
-      <LI><B><A HREF="telnet.class">telnet.class</A></B> (applet/application)
-	<UL>
-	  <LI><A HREF="display/CharDisplay.class">display/CharDisplay.class</A>
-	    (character display class)
-	  <LI><A HREF="display/SoftFont.class">display/SoftFont.class</A>
-	    (software font for special characters)
-	  <LI><A HREF="display/Terminal.class">display/Terminal.class</A>
-	    (abstract terminal)
-	  <LI><A HREF="display/TerminalHost.class">display/TerminalHost.class</A>
-	    (abstract host interface)
-	  <LI><A HREF="display/vt320.class">display/vt320.class</A>
-	    (VT/ANSI terminal emulation)
-	    <P>
-	  <LI><A HREF="socket/TelnetIO.class">socket/TelnetIO.class</A>
-	    (telnet io handling)
-	  <LI><A HREF="socket/StatusPeer.class">socket/StatusPeer.class</A>
-	    (status peer interface)
-	    <P>
-	  <LI><A HREF="modules/Module.class">modules/Module.class</A>
-	    (abstract module interface)
-	  <LI><A HREF="modules/ButtonBar.class">modules/ButtonBar.class</A>
-	    (programmable button bar)
-	  <LI><A HREF="modules/Script.class">modules/Script.class</A>
-	    (simple script module)
-	  <LI><A HREF="modules/MudConnector.class">modules/MudConnector.class</A>
-	    (a specialized specialized example module)
-	  <LI><A HREF="modules/BSXModule.class">modules/BSXModule</A> 
-	    (a graphical MUD extension)
-	  <UL>
-	      <LI><A HREF="modules/bsx/BSXDisplay.class">modules/bsx/BSXDisplay.class</A>
-	      <LI><A HREF="modules/bsx/BSXGraphic.class">modules/bsx/BSXGraphic.class</A>
-	      <LI><A HREF="modules/bsx/BSXInputStream.class">modules/bsx/BSXInputStream.class</A>
-	      <LI><A HREF="modules/bsx/BSXObject.class">modules/bsx/BSXObject.class</A>
-	      <LI><A HREF="modules/bsx/BSXPolygon.class">modules/bsx/BSXPolygon.class</A>
-	      <LI><A HREF="modules/bsx/BSXScene.class">modules/bsx/BSXScene.class</A>
-	   </UL>
-	</UL><P>
-      <LI><B>additional tools:</B>
-	<UL>
-	  <LI><A HREF="tools/proxy.class">tools/proxy.class</A> (application)<BR>
-	    Standalone program to be run as server for telnet redirection.
-	  <LI><A HREF="tools/redirector.class">tools/redirector.class</A>
-	    (internal redirector)
-	</UL><P>
-      <LI><A HREF="IOtest.class">IOtest.class</A> (application)
-      <LI><A HREF="TelnetWrapper.class">TelnetWrapper.class</A> (application)
-      <LI><A HREF="CharDisplayTest.class">CharDisplayTest.class</A>
-    </UL>		
-    <HR>
-    <A HREF="index.html">
-      <IMG ALIGN=LEFT SRC="Documentation/images/left.gif" BORDER=0 ALT="[BACK]"></A>
-    <B>Get the <A HREF="http://www.first.gmd.de/persons/leo/java/Telnet">latest
-	version</A> here!</B> <BR>
-    <!-- html-ts start -->
-    Last modified: Wed Jul 23 14:46:07 1997 by Matthias L. Jugel
-    <!-- html-ts end -->
-  </BODY>
-</HTML>
diff --git a/web/root/telnet/index.ssjs b/web/root/telnet/index.ssjs
deleted file mode 100644
index d9889e380d..0000000000
--- a/web/root/telnet/index.ssjs
+++ /dev/null
@@ -1,2 +0,0 @@
-load(web_root_dir + "/../lib/template.ssjs");
-write_template("telnet.inc");
\ No newline at end of file
diff --git a/web/root/telnet/modules/BSXModule.class b/web/root/telnet/modules/BSXModule.class
deleted file mode 100644
index 7dbf91c7379142919954dd2d85e7b756b06668ea..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 10405
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
AMF0Q*

diff --git a/web/root/telnet/modules/BSXModule.java b/web/root/telnet/modules/BSXModule.java
deleted file mode 100644
index 5ca21fc16e..0000000000
--- a/web/root/telnet/modules/BSXModule.java
+++ /dev/null
@@ -1,562 +0,0 @@
-/**
- * BSXModule -- implements BSX controll sequence handling
- * --
- * $Id: BSXModule.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Tue Oct 14 18:00:00 1997 by Thomas Kriegelstein :$
- *
- * This file and the related package may be part of "The Java Telnet
- * Applet" by Matthias L. Jugel.
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The BSXModule" is distributed in the hope that it will be 
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-package modules;
-
-import telnet;
-import frame;
-
-import modules.bsx.*;
-import java.applet.Applet;
-import java.awt.*;
-import java.io.*;
-import java.util.*;
-/**
- * The ultimate BSX module implements most of the common used
- * BSX controll sequences.
- * <P>
- * Features:<UL>
- * <LI>a Statemachine to parse the Strings passed by the telnet
- * <LI>a own package named bsx, for Window and Polygon handling
- * terrible english because my native language is german
- * </UL>
- * TODO:<UL>
- * <LI>more BSX Sequences
- * <LI>Documentaion
- * </UL>
- * 
- * @author  Thomas Kriegelstein
- */
-
-public class BSXModule extends Panel implements Module 
-{
-  /** Client Version */
-  protected String clientVersion = "Foob 0.5";
-  /** The Frame, where the graphic is drawn */
-  private BSXDisplay bsxWindow;
-  /** Our parent, the telnet app. */
-  private telnet parent;
-  /** the Container, wich is around us */
-  private Container toplevel;
-  /** the Buttons to switch on and off the logging and BSX handling */
-  private Button bsxButton,logButton;
-  /** the states of the Buttons */
-  private boolean bsxCheckIt,logging;
-  /** register o as our parent */ 
-  public void setLoader(Object o) { parent = (telnet)o; }
-  /** do nothing */
-  public void connect(String host, int port) {}
-  /** do nothing */
-  public void disconnect() {}
-  /**
-   * This method is called by the telnet, so that we can parse the String.
-   * Prints out the filtered String if logging s enabled.
-   * @param String s the String to be parsed
-   * @return a filtered String with no BSX sequences in it
-   */
-  public String receive(String s) 
-    {
-      String res;
-      if (!bsxCheckIt) res=s;
-      else res=parseString(s);
-      if (logging)
-	System.out.println(res);
-      return res;
-    }
-  /**
-   * Adds two Buttons to the Panel and instanciates a BSXWindow.
-   */   
-  public void addNotify() 
-    {
-      this.setLayout(new GridLayout(1,0));
-      // Enable BSX Parsing
-      if (bsxWindow==null)
-	{
-	  this.add(bsxButton=new Button("BSX aus!"));
-	  bsxCheckIt=true;
-	  this.add(logButton=new Button("Logging an!"));
-	  logging=false;
-	  bsxWindow = new BSXDisplay();
-	}
-      //
-      super.addNotify();
-    }
-  /**
-   * Java 1.0 eventhandling routines.
-   * @param Event e
-   * @return true if Event has been recognized and fullfilled.
-   */
-  public boolean handleEvent(Event e)
-    {
-      if ((e.id==Event.ACTION_EVENT)&&(e.target==bsxButton)) 
-	{
-	  bsxCheckIt=!bsxCheckIt;
-	  if (bsxCheckIt) 
-	    {
-	      parent.writeToSocket("#VER "+clientVersion+"\r\n");
-	      bsxButton.setLabel("BSX aus!");
-	      bsxWindow.show();
-	    }
-	  else 
-	    {
-	      parent.writeToSocket("#VER\r\n");
-	      bsxButton.setLabel("BSX an!");
-	      bsxWindow.hide();
-	      if (debug>1)
-		{
-		  parent.writeToUser(lastCommand+strIdentifier+BSXData);
-		  System.out.println("BSX off: last Input -");
-		  System.out.println(lastCommand+strIdentifier+BSXData);
-		}
-	    }
-	  resetMachine();  
-	  return true;
-	}
-      if ((e.id==Event.ACTION_EVENT)&&(e.target==logButton))
-	{
-	  logging=!logging;
-	  if (logging)
-	    {
-	      logButton.setLabel("Logging aus!");
-	    }
-	  else
-	    {
-	      logButton.setLabel("Logging an!");
-	    }
-	  return true;
-	}
-      return super.handleEvent(e);
-    }
-
-  /** 
-   * And here we go again * latest implementation of my StateMachine
-   * all methods that return a String, return the String passed to them
-   * but without the chars they have recognized and solved
-   * the real results are contained in the (global) variables
-   */
-
-  /**
-   * my Debuglevel, because this software is still beta.
-   */
-  private static int debug = 0;
-  /**
-   * a main for test-purposes
-   */
-  public static void main (String args[])
-  {
-    BSXModule bsxm=new BSXModule();
-    debug=1;
-    String res;
-    res=bsxm.parseString("Testing@Hawk@RQV@SCEintro.@VIO/magier:foobar.@RFS@RMO/magier:foo");
-    res+=bsxm.parseString("bar.@RFSThis is a test.@TMS@PRO@RFS@BOMTest me Carefully.");
-    System.out.println("Gefiltert: "+res);
-  }
-  /**
-   * lastCommand is a Statedescriptor.<BR>
-   * if lastCommand.length()=4 then the entire Command has been read
-   * else go on reading the command completly<BR>
-   * Commands are: PRO SCE VIO DFS DFO TMS RMO RFS RQV PUR
-   * additional commands are: BOM EOM LON LOF TXT which will not be supported 
-   * by Regenbogen BSX java Client.<BR>
-   * Commands are preceeded by a @
-   */
-  private String lastCommand="";
-  /**
-   * lastState identifies what we have done last time we received a string
-   * <UL>
-   * <LI>-1 undefined -> used to mark succesful work
-   * <LI> 0 nothing -> go on searching for a new command
-   * <LI> 1 identifier -> we have to complete the identifier
-   * <LI> 2 download -> we have to get more BSXData
-   * </UL>
-   */
-  private int lastState;
-  /** holds the identifier of the current object */
-  private String strIdentifier="";
-  /** holds the X position of the current object as a String*/
-  private String strXPos="";
-  /** holds the X position of the current object as an int */
-  private int intXPos=0;
-  /** holds the Y position of the current object as a String*/
-  private String strYPos="";
-  /** holds the Y position of the current object as an int */
-  private int intYPos=0;
-  /** holds the number of polygons in the current description as a String */
-  private String strPolys="";
-  /** holds the number of polygons in the current description as an int */
-  private int intPolys=0;
-  /** holds the number of edges in the current polygon as a String */
-  private String strEdges="";
-  /** holds the number of edges in the current polygon as an int */
-  private int intEdges=0;
-  /** holds the BSX description, including the numbers of polygons and edges */
-  private String BSXData="";
-  /** 
-   * reset machine to an initial status
-   */ 
-  private void resetMachine()
-  {
-    if (debug>0)
-    {
-      System.err.println("BSXStateMachine statustrace:");
-      System.err.println("Command:    "+lastCommand);
-      System.err.println("State:      "+lastState);
-      System.err.println("Identifier: "+strIdentifier);
-    }
-    lastCommand="";
-    lastState=0;
-    strIdentifier="";
-    strXPos="";
-    intXPos=0;
-    strYPos="";
-    intYPos=0;
-    strPolys="";
-    intPolys=0;
-    strEdges="";
-    intEdges=0;
-    BSXData="";
-  }
-  /**
-   * convert a Hexnumber contained in a 2byteString into int
-   * @param String s
-   * @return the converted int or 0 if not succesful 
-   */
-  private int asciiHexToInt(String s)
-  {
-    if (s.length()==2)
-    {
-      try
-      {
-        int h=(int)s.charAt(0);
-        if (h>='A') h-='A'-10; else h-='0';
-        int l=(int)s.charAt(1);
-        if (l>='A') l-='A'-10; else l-='0';
-	if (debug>9) warn("Converting Hex: "+s+" to int: "+(h*16+l));
-        return h*16+l;
-      }
-      catch (Exception e)
-      {
-        return 0;
-      }
-    }
-    return 0;
-  }
-  /**
-   * The method called to start the parsing
-   * @param String s
-   * @return filtered String
-   */
-  private String parseString(String s)
-  {
-    if ((s.indexOf("@")==-1)&&(lastState==0))
-    {
-      if (debug>0) warn("parseString done");
-      return s;
-    }
-    if (lastState!=0)
-    {
-      if (debug>0) warn("parseString pending Input");
-      s=decodeCommand(s);
-    }
-    int i=0;
-    int pos=s.indexOf("@",i);
-    String res="";
-    while ((pos!=-1)&&(pos<s.length()))
-    {
-      if (debug>0) warn("parseString Command at "+pos);
-      res+=s.substring(0,pos);
-      if (debug>0) warn("still to parse: "+s.substring(pos));
-      String tmp=decodeCommand(s.substring(pos));
-      if (tmp.equals(s.substring(pos))) i++;
-      else i=0;
-      s=tmp;
-      pos=s.indexOf("@",i); // search for next Command
-    }
-    res+=s;
-    return res;
-  }
-  /**
-   * simple messaging for debug purposes
-   * @param String s to write to stderr
-   */
-  private void warn(String s) { System.err.println("Warning: "+s+"."); }
-  /**
-   * read the identifier into strIdentifier
-   * @param String s to be parsed
-   * @returns String without the first identifier
-   */
-  private String readIdentifier(String s)
-  {
-    if (strIdentifier.equals("")) lastState=1;
-    if (lastState==1)
-    {
-      int i=s.indexOf(".");
-      if (i==-1)
-      {
-        strIdentifier+=s;
-        return "";
-      }
-      else
-      {
-        lastState=-1;
-        strIdentifier+=s.substring(0,i);
-        return s.substring(i+1);
-      }
-    }
-    return s;
-  }
-  /**
-   * read the BSX-Descriptions into BSXData
-   * @param String s to be parsed
-   * @return String without the first BSX Data sequence
-   */
-  private String readBSXData(String s)
-  {
-    if (strPolys.equals("")) lastState=2;
-    if (lastState==2)
-    {
-      while((strPolys.length()<2)&&(s.length()>0))
-      {
-        BSXData+=s.charAt(0);
-        strPolys+=s.charAt(0); s=s.substring(1);
-      }
-      if (strPolys.length()<2) return "";
-      else if (debug>1) warn("PolyCount read:"+strPolys);
-      if (intPolys == 0) 
-	intPolys=asciiHexToInt(strPolys);
-      if (debug>9) warn("equals "+intPolys);
-      while ((s.length()>0)&&(intPolys>0))
-      {
-        while((strEdges.length()<2)&&(s.length()>0))
-        {
-          BSXData+=s.charAt(0);
-          strEdges+=s.charAt(0); s=s.substring(1);
-        }
-        if (strEdges.length()<2) return "";
-	else if (debug>1) warn("EdgeCount read:"+strEdges);
-	if (intEdges == 0)
-	  intEdges=(asciiHexToInt(strEdges)*2+1)*2;
-        // color plus every edge x,y times 2 is the number of chars to read.
-        while((s.length()>0)&&(intEdges>0))
-        {
-          BSXData+=s.charAt(0); s=s.substring(1);
-          intEdges--;
-        }
-        if (intEdges>0) return "";
-        strEdges=""; // reset the number of Edges!
-        intPolys--;
-      }
-      if (intPolys>0) return "";
-      if (intPolys==0) strPolys="";
-      lastState=-1;
-    }
-    return s;
-  }
-  /**
-   * read the Command, catch all necessary data, and execute it
-   * @param String s to be parsed
-   * @return String without first command
-   */
-  private String decodeCommand(String s)
-  {
-    while ((lastCommand.length()!=4)&&(s.length()>0))
-    {
-      lastCommand+=s.charAt(0); s=s.substring(1);
-    }
-    if (lastCommand.length()!=4)
-    {
-      lastState=-1;
-      return "";
-    }
-    if (false) {} // hehe, just to write everytime "else if"
-    // ReFresh Scene
-    else if (lastCommand.equals("@RFS"))
-      {
-        resetMachine();
-        if (bsxWindow!=null) bsxWindow.repaint();
-        else warn("No BSX Output Available");
-      }
-    // VIsualize Object
-    else if (lastCommand.equals("@VIO"))
-      {
-        s=readIdentifier(s);
-        if (lastState==1) return "";
-        while ((strXPos.length()<2)&&(s.length()>0))
-        {
-          strXPos+=s.charAt(0); s=s.substring(1);
-        }
-        if (strXPos.length()!=2)
-        {
-          return "";
-        }
-        while ((strYPos.length()<2)&&(s.length()>0))
-        {
-          strYPos+=s.charAt(0); s=s.substring(1);
-        }
-        if (strYPos.length()!=2)
-        {
-          return "";
-        }
-	intXPos=asciiHexToInt(strXPos);
-	intYPos=asciiHexToInt(strYPos);
-        if (bsxWindow!=null)
-          if (!bsxWindow.showObject(strIdentifier,intXPos,intYPos))
-            if (parent!=null)
-              parent.writeToSocket("#RQO "+strIdentifier+"\r\n");
-            else warn("no Socket to send to");
-          else
-            if (debug>0)
-              System.out.println("Query BSX-Description for "+strIdentifier);
-            else ;
-        else warn("no BSX Output available");
-        resetMachine();
-      }
-    // ReMove Object
-    else if (lastCommand.equals("@RMO"))
-      {
-        s=readIdentifier(s);
-        if (lastState==1) return "";
-        if (bsxWindow!=null) bsxWindow.removeObject(strIdentifier);
-        else warn("no BSX Output available");
-        resetMachine();
-      }
-    // ReQuest Version
-    else if (lastCommand.equals("@RQV"))
-      {
-        if (parent!=null) parent.writeToSocket("#VER "+clientVersion+"\r\n");
-        else warn("no Socket to send to");
-        resetMachine();
-      }
-    // PROmotion
-    else if (lastCommand.equals("@PRO"))
-      {
-        if (parent!=null)
-          parent.writeToUser(
-"****************************************************************************\r\n"+
-"*                                                                          *\r\n"+
-"*  Regenbogen BSX - Ein MultiUser Dungeon mit Grafikunterst�tzung          *\r\n"+
-"*  Adresse: rb.mud.de Port: 4711 Admins: mud@rb.mud.de                     *\r\n"+
-"*  Hier ist was los Leute! Kommt. Lest. Schaut. Spielt. Und Redet.         *\r\n"+
-"*                                                                          *\r\n"+
-"* Client: von Foobar basierend auf Arbeiten von Riwa und Hate@Morgengrauen *\r\n"+
-"*                                                                          *\r\n"+
-"*****************************************************************Java*rulez*\r\n"
-                            );
-        else warn("no User to display promotion available");
-        resetMachine();
-      }
-    // display SCEne
-    else if (lastCommand.equals("@SCE"))
-      {
-        s=readIdentifier(s);
-        if (lastState==1) return "";
-        if (bsxWindow!=null)
-          if (!bsxWindow.showScene(strIdentifier))
-            if (parent!=null)
-              parent.writeToSocket("#RQS "+strIdentifier+"\r\n");
-            else warn("no Socket to send to");
-          else
-            if (debug>0)
-              System.out.println("Query BSX-Scene for "+strIdentifier);
-            else ;
-        else warn("no BSX Output available");
-        resetMachine();
-      }
-    // DeFine Object
-    else if (lastCommand.equals("@DFO"))
-      {
-        s=readIdentifier(s);
-        if (lastState==1) return "";
-        s=readBSXData(s);
-        if (lastState==2) return "";
-        BSXInputStream bis=new BSXInputStream(new StringBufferInputStream(BSXData));
-        if (bsxWindow!=null)
-          try {
-            bsxWindow.addObject(strIdentifier,bis.readBSXGraphic());
-          } catch (IOException e) { e.printStackTrace(); resetMachine(); return s; }
-        else warn("no BSX Output available");
-        resetMachine();
-      }
-    else if (lastCommand.equals("@DFS"))
-      {
-        s=readIdentifier(s);
-        if (lastState==1) return "";
-        s=readBSXData(s);
-        if (lastState==2) return "";
-        BSXInputStream bis=new BSXInputStream(new StringBufferInputStream(BSXData));
-        if (bsxWindow!=null)
-          try {
-            bsxWindow.addScene(strIdentifier,bis.readBSXGraphic());
-          } catch (IOException e) { e.printStackTrace(); resetMachine(); return s; }
-        else warn("no BSX Output available");
-        resetMachine();
-      }
-    else if (lastCommand.equals("@PUR"))
-      {
-        warn("@PUR not implemented yet");
-        resetMachine();
-      }
-    else if (lastCommand.equals("@TXT"))
-      {
-        warn("@TXT not implemented (and no plan for doing that)");
-        resetMachine();
-      }
-    else if (lastCommand.equals("@BOM"))
-      {
-        warn("@BOM not implemented (and no plan for doing that)");
-        resetMachine();
-      }
-    else if (lastCommand.equals("@EOM"))
-      {
-        warn("@EOM not implemented (and no plan for doing that)");
-        resetMachine();
-      }
-    else if (lastCommand.equals("@LON"))
-      {
-        warn("@LON not implemented yet");
-        resetMachine();
-      }
-    else if (lastCommand.equals("@LOF"))
-      {
-        warn("@LOF not implemented yet");
-        resetMachine();
-      }
-    else if (lastCommand.equals("@TMS"))
-      {
-        if (parent!=null)
-        {
-          parent.writeToUser("Received @TMS to end this session.\r\n");
-        }
-        else
-          warn("@TMS received! Session not terminated. Close connection manually.");
-        resetMachine();
-      }
-    s=lastCommand+s;
-    resetMachine();
-    return s;
-  }
-}
-
-
-
diff --git a/web/root/telnet/modules/ButtonBar.class b/web/root/telnet/modules/ButtonBar.class
deleted file mode 100644
index 62a49c9dff4c6bfb913dc57fa73f98264347dbcc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6731
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

diff --git a/web/root/telnet/modules/ButtonBar.java b/web/root/telnet/modules/ButtonBar.java
deleted file mode 100644
index 4db6b454a4..0000000000
--- a/web/root/telnet/modules/ButtonBar.java
+++ /dev/null
@@ -1,388 +0,0 @@
-/**
- * ButtonBar -- a programmable button bar
- * --
- * $Id: ButtonBar.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Mon Aug  4 14:12:21 1997 by Matthias L. Jugel :$
- *
- * This file is part of "The Java Telnet Applet".
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be 
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-package modules;
-
-import telnet;
-import frame;
-
-import java.applet.Applet;
-import java.util.Hashtable;
-import java.util.Vector;
-
-import java.awt.Panel;
-import java.awt.Button;
-import java.awt.TextField;
-import java.awt.Event;
-import java.awt.BorderLayout;
-import java.awt.GridLayout;
-import java.awt.Dimension;
-import java.awt.Container;
-import java.awt.Frame;
-
-/**
- * This class implements a programmable button bar.
- * You can add <A HREF="#buttons">Buttons</A> and <A HREF="#fields">Input 
- * fields</A> to trigger actions in the <A HREF="telnet.html">telnet 
- * applet</A>. On how to load a module, please refer to the 
- * <A HREF="telnet.html">telnet</A> documentation.
- * 
- * <DL>
- *  <A NAME="buttons"></A>
- *  <DT><B>Buttons:</B>
- *  <DD><TT>&lt;PARAM NAME=<B><I>number</I></B>#Button VALUE=&quot;<B><I>buttontext</I></B>|<B><I>buttonaction</I></B>&quot;&gt;</TT>
- *  <DD><B><I>number</I></B> is the sequence number and determines the place
- *      of the button on the row.
- *      <P>
- *  <DD><B><I>buttontext</I></B> is a string displayed on the button.
- *      <P>
- *  <DD><A NAME="buttonaction"><B><I>buttonaction</I></B></A> may be one
- *      of the following functions or strings<BR>
- *      <FONT SIZE=-1>(<I>Note:</I> the backslash character
- *      in front of the dollar sign is mandatory!)</FONT>
- *      <UL>
- *       <LI><TT><I>simple text</I></TT>
- *           to be sent to the remote host. Newline and/or carriage return
- *           characters may be added in C syntax <B>\n</B> and <B>\r</B>.
- *           To support unimplemented function keys the <B>\e</B> escape
- *           character may be useful. The <B>\b</B> backspace character is
- *           also supported.
- *           The text may contain <A HREF="#fieldreference"><B><I>field 
- *           reference(s)</I></B></A>.
- *           <P>
- *       <LI><TT>\$connect(<B><I>host</I></B>[,<B><I>port</I></B>])</TT> 
- *           tries to initiate a connection to the <B><I>host</I></B>
- *           at the <B><I>port</I></B>, if given. The standard port is
- *           23. <B><I>host</I></B> and <B><I>port</I></B> may be hostname
- *           and number or <A HREF="#fieldreference"><B><I>field
- *           reference(s)</I></B></A>. If a connection already exists
- *           nothing will happen.<BR>
- *           <FONT SIZE=-1>(<I>Note:</I> It is not allowed to have
- *           spaces anywhere inside the parenthesis!)</FONT>
- *           <P>
- *       <LI><TT>\$disconnect()</TT>
- *           terminates the current connection, but if there was no
- *           connection nothing will happen.
- *           <P>
- *       <LI><TT>\$detach()</TT>
- *           detaches the applet from the web browser window and
- *           creates a new frame externally. This may be used to allow
- *           users to use the applet while browsing the web with the
- *           same browser window.<BR>
- *           <FONT SIZE=-1>(<I>Note:</I> You need to load the applet via the
- *           <A HREF="appWrapper.html">appWrapper class</A> or
- *           it will not work properly!)</FONT>
- *      </UL>
- *  <DD><B>Examples:</B><BR>
- *      <FONT SIZE=-1>(<I>Note:</I> It makes sense if you look at the
- *      examples for input fields below.)</FONT>
- *      <PRE>
- *        &lt;PARAM NAME=1#Button VALUE="HELP!|help\r\n"&gt;
- *        &lt;PARAM NAME=2#Button VALUE="HELP:|help \@help@\r\n"&gt;
- *        &lt;PARAM NAME=4#Button VALUE="simple|\$connect(localhost)"&gt;
- *        &lt;PARAM NAME=5#Button VALUE="complete|\$connect(www,4711)"&gt;
- *        &lt;PARAM NAME=6#Button VALUE="connect|\$connect(\@address@)"&gt;
- *        &lt;PARAM NAME=8#Button VALUE="connect to port|\$connect(\@address@,\@port@)"&gt;
- *        &lt;PARAM NAME=10#Button VALUE="window|\$detach()"&gt;
- *     </PRE>
- *     <P>
- *  <A NAME="fields"></A>
- *  <DT><B>Input fields</B>
- *  <DD><TT>&lt;PARAM NAME=<B><I>number</I></B>#Input VALUE=&quot;<B><I>fieldname</I></B>[#<I><B>length</B></I>]|<B><I>initial text</I></B>[|<B><I>action</I></B>]&quot;&gt;</TT>
- *  <DD><B><I>number</I></B> is the sequence number and determines the place
- *      of the field on the row.
- *      <P>
- *  <DD><A NAME="fieldreference"><B><I>fieldname</I></B></A> is a
- *      symbolic name to reference the input field. A reference may be used in 
- *      <A HREF="#buttonaction"><B><I>button actions</I></B></A> and
- *      is constructed as follows:
- *      <TT>\@<B><I>fieldname</I></B>@</TT>
- *      The <B>\@fieldname@</B> macro will be replaced by the string entered in
- *      the text field.
- *      <P>
- *  <DD><B><I>length</I></B> is the length of the input field in numbers of
- *      characters.
- *      <P>
- *  <DD><B><I>initial text</I></B> is the text to be placed into the input
- *      field on startup
- *  <DD><B><I>action</I></B> may be used similar to a 
- *      <A HREF="#buttonaction"><B><I>button action</I></B></A>. This action 
- *      will be used if the users presses Return in the inputfield. Leave
- *      empty if you only want to use a button to send the text!
- *  <DD><B>Examples:</B><BR>
- *      <FONT SIZE=-1>(<I>Note:</I> It makes sense if you look at the
- *      examples for buttons before.)</FONT>
- *      <PRE>
- *        &lt;PARAM NAME=3#Input VALUE="help#10|"&gt;
- *        &lt;PARAM NAME=7#Input VALUE="address|www.first.gmd.de"&gt;
- *        &lt;PARAM NAME=8#Input VALUE="send#5|who|\@send@\r\n"&gt;
- *        &lt;PARAM NAME=9#Input VALUE="port#5|4711"&gt;
- *      </PRE>
- *      <P>
- * </DL>
- * @version $Id: ButtonBar.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * @author  Matthias L. Jugel, Marcus Mei�ner
- * @see modules.Module
- */
-public class ButtonBar extends Panel implements Module
-{
-  // our parent is the telnet app
-  private telnet parent;
-  
-  // these tables contain our buttons and fields.
-  private Hashtable buttons = null;
-  private Hashtable fields = null;
-
-  // the top level (for detaching)
-  private Container toplevel;
-
-  /**
-   * This method is called by our loader to notify us of it. 
-   * @param o The object that has loaded this object.
-   * @see display.Module
-   */
-  public void setLoader(Object o) { parent = (telnet)o; }
-
-  /**
-   * If the applet connects this method is called.
-   * @param host remote hostaddress - not used
-   * @param port remote port - not used
-   */
-  public void connect(String host, int port) {
-    // do nothing yet.
-  }
-
-  /**
-   * Get notified of disconnection. Do nothing.
-   */
-  public void disconnect() {
-    // do nothing yet
-  }
-
-  /**
-   * This module does not take any input. It works passive.
-   * @return null to remove from the list of receiver modules.
-   * @see display.Module
-   */
-  public String receive(String s) { return null; }
-	
-  /**
-   * create the buttonbar from the parameter list. We will know our parent,
-   * when we have been added.
-   */
-  public void addNotify() {
-    if(buttons == null && fields == null) {
-      String tmp; 
-
-      int nr = 1;
-      String button = null, input = null;
-      while((button = parent.getParameter(nr+"#Button")) != null ||
-	    (input = parent.getParameter(nr+"#Input")) != null) {
-	nr++;
-	if(button != null) {
-	  if(buttons == null) buttons = new Hashtable();
-	  int idx = button.indexOf('|');
-	  if(button.length() == 0)
-	    System.out.println("ButtonBar: Button: no definition");
-	  if(idx < 0 || idx == 0) {
-	    System.out.println("ButtonBar: Button: empty name \""+button+"\"");
-	    continue;
-	  }
-	  if(idx == button.length() - 1) {
-	    System.out.println("ButtonBar: Button: empty command \""+button+"\"");
-	    continue;
-	  }
-	  Button b = new Button(button.substring(0, idx));
-	  buttons.put(b, button.substring(idx+1, button.length()));
-	  add(b);
-	} else
-	  if(input != null) {
-	    if(fields == null) fields = new Hashtable();
-	    if(buttons == null) buttons = new Hashtable();
-	    int idx = input.indexOf('|');
-	    if(input.length() == 0)
-	      System.out.println("ButtonBar: Input field: no definition");
-	    if(idx < 0 || idx == 0) {
-	      System.out.println("ButtonBar: Input field: empty name \""+input+"\"");
-	      continue;
-	    }
-	    int si, size;
-	    if((si = input.indexOf('#', 0)) == 0) {
-	      System.out.println("ButtonBar: Input field: empty name");
-	      continue;
-	    }
-	    if(si < 0 || si == idx-1) size = 10;
-	    else size = Integer.parseInt(input.substring(si+1, idx));
-	    TextField t = 
-	      new TextField(input.substring(idx + 1, 
-					    input.lastIndexOf('|') == idx ?
-					    input.length() : 
-					    (idx = input.lastIndexOf('|'))),
-			    size);
-	    buttons.put(t, input.substring(idx + 1, input.length()));
-	    fields.put(input.substring(0, (si < 0 ? idx : si)), t);
-	    add(t);
-	  }
-	button = input = null;
-      }
-    }
-    super.addNotify();
-  }
-
-  public boolean handleEvent(Event evt) {
-    String tmp;
-    if(evt.id == Event.ACTION_EVENT &&
-       (tmp = (String)buttons.get(evt.target)) != null) {
-      System.out.println("ButtonBar: "+tmp);
-      String cmd = "", function = null;
-      int idx = 0, oldidx = 0;
-      while((idx = tmp.indexOf('\\', oldidx)) >= 0 && 
-	    ++idx <= tmp.length()) {
-	cmd += tmp.substring(oldidx, idx-1);
-	switch(tmp.charAt(idx)) {
-	case 'b': cmd += "\b"; break;
-	case 'e': cmd += ""; break;
-	case 'n': cmd += "\n"; break;
-	case 'r': cmd += "\r"; break;
-	case '$': {
-	  int ni = tmp.indexOf('(', idx+1);
-	  if(ni < idx) {
-	    System.out.println("ERROR: Function: missing '('");
-	    break;
-	  }
-	  if(ni == ++idx) {
-	    System.out.println("ERROR: Function: missing name");
-	    break;
-	  }
-	  function = tmp.substring(idx, ni);
-	  idx = ni+1;
-	  ni = tmp.indexOf(')', idx);
-	  if(ni < idx) {
-	    System.out.println("ERROR: Function: missing ')'");
-	    break;
-	  }
-	  tmp = tmp.substring(idx, ni);
-	  idx = oldidx = 0;
-	  continue;
-	}
-	case '@': {
-	  int ni = tmp.indexOf('@', idx+1);
-	  if(ni < idx) {
-	    System.out.println("ERROR: Input Field: '@'-End Marker not found");
-	    break;
-	  }
-	  if(ni == ++idx) {
-	    System.out.println("ERROR: Input Field: no name specified");
-	    break;
-	  }
-	  String name = tmp.substring(idx, ni);
-	  idx = ni;
-	  TextField t;
-	  if(fields == null || (t = (TextField)fields.get(name)) == null) {
-	    System.out.println("ERROR: Input Field: requested input \""+
-			       name+"\" does not exist");
-	    break;
-	  }
-	  cmd += t.getText();
-	  t.setText("");
-	  break;
-	}
-	default : cmd += tmp.substring(idx, ++idx);
-	}
-	oldidx = ++idx;
-      }
-
-      if(oldidx <= tmp.length()) cmd += tmp.substring(oldidx, tmp.length());
-      
-      if(function != null) {
-	if(function.equals("exit")) { 
-	  try {
-	    System.exit(0);
-	  } catch(Exception e) { e.printStackTrace(); }
-	}
-	if(function.equals("connect")) {
-	  String address = null;
-	  int port = -1;
-	  try {
-	    if((idx = cmd.indexOf(",")) >= 0) {
-	      try {
-		port = Integer.parseInt(cmd.substring(idx+1, cmd.length()));
-	      } catch(Exception e) {
-		port = -1;
-	      }
-	      cmd = cmd.substring(0, idx);
-	    }
-	    if(cmd.length() > 0) address = cmd;
-	    if(address != null) 
-	      if(port != -1) parent.connect(address, port);
-	      else parent.connect(address);
-	    else parent.connect();
-	  } catch(Exception e) {
-	    System.err.println("ButtonBar: connect(): failed");
-	    e.printStackTrace();
-	  }
-	} else
-	  if(function.equals("disconnect") && parent.disconnect())
-	    parent.send("\r\nClosed connection.\r\n");
-	  else
-	    if(function.equals("detach")) {
-	      if(parent.getParent() instanceof Frame) {
-		Frame top = (Frame)parent.getParent();
-		if(toplevel != null) {
-		  System.out.println("ButtonBar: reattaching applet...");
-		  toplevel.setLayout(new BorderLayout());
-		  toplevel.add("Center", parent);
-		  toplevel.validate();
-		  toplevel.layout();
-		  toplevel = null;
-		} else {
-		  System.out.println("ButtonBar: destroying window...");
-		  parent.disconnect();
-		}
-		top.dispose();
-	      } else {
-		System.out.println("ButtonBar: detaching applet...");
-		toplevel = parent.getParent();
-		frame top = new frame("The Java Telnet Applet");
-		Dimension s = parent.size();
-		top.reshape(0, 0, s.width, s.height);
-		top.setLayout(new BorderLayout());
-		top.add("Center", parent);
-		top.pack();
-		top.show();
-	      }
-	    }
-	    else
-	      System.out.println("ERROR: function not implemented: \""+
-				 function+"\"");
-	return true;
-      }
-      // cmd += tmp.substring(oldidx, tmp.length());
-      if(cmd.length() > 0) parent.send(cmd);
-      return true;
-    }
-    return false;
-  }
-}
-
diff --git a/web/root/telnet/modules/Module.class b/web/root/telnet/modules/Module.class
deleted file mode 100644
index de74206f80ea43457fdd6d25c0b722cae3572861..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 419
zcmX^0Z`VEsW(HjbX?6x-b_P*K24)S-Fh&MZ4WF#UvPAuy#JqHU|D>$c<PvL;xEiu}
za7j^SUb?j=l2WJ;BZC+gg`OZ2Se)}yQW+T-JsBDJeKPY>{YrC_Qj0<olX6lS8HA9G
zg4&8I2sdBACpSN(G$*xK-xo|<gVg0GC+37D7G;7AgPO<<k=6tGhLM3QIKQ+gIn^x_
zWEp#MeqLT`atR{?S4w6voWqilUtGe-AOO;V?0-fEww(OLl++?d20m1~85vj#@{39s
z8Q6<blT$OxK;A26WZ*1LE%AZsU@6JSEM{Y5U}9io009;jMg{=}HU<V3Mg~C!W-u+z
WzzU`%8CVz?7#JD&85kIt82A7hP;I*a

diff --git a/web/root/telnet/modules/Module.java b/web/root/telnet/modules/Module.java
deleted file mode 100644
index 422f84f5ad..0000000000
--- a/web/root/telnet/modules/Module.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Module -- Module interface
- * --
- * $Id: Module.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Mon Mar 24 15:35:13 1997 by Matthias L. Jugel :$
- *
- * This file is part of "The Java Telnet Applet".
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be 
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-package modules;
-
-/**
- * Modules must implement this interface to be detected as valid modules
- * @version $Id: Module.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * @author  Matthias L. Jugel, Marcus Mei�ner
- */
-public interface Module 
-{
-	/**
-	 * Set the loader of the module. This is necessary to know if you want to
-	 * contact the modules parent.
-	 * @param loader The object that has loaded this module.
-	 */
-	public void setLoader(Object loader);
-
-	/**
-	 * Connected to the remote host. This method notifies upon new connection.
-	 * @param host remote hostname
-	 * @param port remote port
-	 */
-	public void connect(String host, int port);
-	
-	/**
-	 * Disconnect from the host. This method notifies of lost connection.
-	 */
-	public void disconnect();
-	
-	/**
-	 * Receive data from somewhere. If a modules does not want to receive data
-	 * it should return null to remove itself from the list of receiver modules.
-	 * @param s The string we receive.
-   * @return the modified string or null (to remove from receiver list)
-	 */
-	public String receive(String s);
-}
-
diff --git a/web/root/telnet/modules/MudConnector.class b/web/root/telnet/modules/MudConnector.class
deleted file mode 100644
index 646fe276964ffc12fd4f25dc22e285bb3af3b495..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 7696
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

diff --git a/web/root/telnet/modules/MudConnector.java b/web/root/telnet/modules/MudConnector.java
deleted file mode 100644
index 3b6039bccd..0000000000
--- a/web/root/telnet/modules/MudConnector.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/**
- * MudConnector -- This module is especially designed for the 
- *                 MUD Connector (http://www.mudconnect.com/)
- *                 It loads a tabulator separated list via http and
- *                 displays it in a List-Box.
- * --
- * $Id: MudConnector.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Sun Apr 13 22:29:16 1997 by Matthias L. Jugel :$
- *
- * This file is part of "The Java Telnet Applet".
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be 
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-package modules;
-
-import telnet;
-
-import java.applet.*;
-import java.awt.*;
-import java.io.*;
-import java.net.*;
-import java.util.*;
-
-/**
- * A specially designed module for the 
- * <A HREF="http://www.mudconnect.com/">MUD Connector</A>.
- * It loads a list of MUDs via http and displays them in a list box to 
- * be selected. A selected MUD can then be entered.
- *
- * <DL>
- *  <DT><B>MudConnector parameterfile:</B>
- *   <DD><PRE>&lt;PARAM NAME=MUDlist VALUE=&quot;<B><I>url</I></B>&quot;&gt;</PRE>
- *   <DD>The url of the Mudlist. This url MUST be located on the same web
- *       server as the applet!
- * </DL>
- * @version $Id: MudConnector.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * @author  Matthias L. Jugel, Marcus Mei�ner
- * @see modules.Module
- */
-public class MudConnector extends Panel implements Module, Runnable
-{
-  // parent applet
-  private telnet app;
-
-  // server url for the mudlist
-  private String url;
-  private URL server;
-
-  // vector containing the mud data (host#port)
-  private Vector index = new Vector();
-  // the actually displayed list of muds
-  private java.awt.List display = new java.awt.List();
-
-  private CardLayout layouter;
-  private Panel progress, address;
-  private Label indicator;
-  private TextField info;
-
-  // buttons
-  private Button connectButton, disconnectButton, refreshButton, showButton;
-
-  /**
-   * setLoader() is called upon start of the parent applet. This method
-   * initializes the GUI of the module, e.g the list and buttons.
-   * @param loader the parent applet
-   */
-  public void setLoader(Object loader) {
-    // do nothing if we already know our loader
-    if(app != null) return;
-    app = (telnet)loader;
-
-    // cardlayout to display either the progress while loading the mudlist
-    // or the mud listbox plus its buttons.
-    setLayout(layouter = new CardLayout());
-
-    add("PROGRESS", progress = new Panel());
-    progress.add(indicator = new Label("Loading mudlist, please wait..."));
-    
-    // the interactive module GUI is arranged in a grid
-    GridBagLayout grid = new GridBagLayout();
-
-    address = new Panel();
-    address.setLayout(grid);
-    
-    // the constraints for each of the components
-    GridBagConstraints constraints = new GridBagConstraints();
-
-    // the listbox is arranged on the left side getting most of the space
-    constraints.gridheight = 2;
-    constraints.weightx = 2.0;
-    constraints.fill = GridBagConstraints.BOTH;
-    grid.setConstraints(display, constraints);
-    address.add(display);
-
-    // generic panel that places its components centered.
-    Panel panel = new Panel();
-
-    // the button panel, buttons are placed east of the list and on the top
-    panel.add(showButton = new Button("Info!"));
-    panel.add(connectButton = new Button("connect"));
-    panel.add(disconnectButton = new Button("disconnect"));
-    panel.add(refreshButton = new Button("refresh list"));
-    constraints.weightx = 0.0;
-    constraints.weightx = 0.0;
-    constraints.gridheight = 1;
-    constraints.gridwidth = GridBagConstraints.REMAINDER;
-    constraints.fill = GridBagConstraints.NONE;
-    grid.setConstraints(panel, constraints);
-    address.add(panel);
-
-    // the mud information text is below the buttons
-    (panel = new Panel()).add(info = new TextField(30));
-    info.setEditable(false);
-    address.add(panel);
-    grid.setConstraints(panel, constraints);
-    add("ADDRESS", address);
-
-    layouter.show(this, "PROGRESS");
-  }
-  
-  /**
-   * when newly added try to load the mudlist using the parameter "mudlist"
-   */
-  public void addNotify()
-  {
-    super.addNotify();
-    if(url == null) {
-      if(app.getParameter("mudlist") != null) {
-        url = app.getParameter("mudlist");
-        loadData();
-      }
-      else {
-        indicator.setText("The \"mudlist\" is not set, "+
-                          "cannot load data!");
-        System.out.println("MudConnector: cannot load data, missing parameter");
-      }
-    }
-  }
-
-  /**
-   * initiate the loading process, display progress meter
-   */
-  private void loadData() 
-  {
-    layouter.show(this, "PROGRESS");
-    
-    Thread t = new Thread(this);
-    t.setPriority(Thread.MIN_PRIORITY);
-    t.start();
-  }
-
-  /**
-   * The body of the thread opens a URLConnection with the address given as
-   * parameter "mudlist" and downloads it. It expects a tabulator separated
-   * list <mudname> <mudhost> <mudport> and the amount of muds in the file
-   * at the beginning of the file.
-   */
-  public void run() 
-  {
-    try {
-      System.out.print("MudConnector: loading data...");
-      if(display.countItems() > 0) display.clear();
-      index = new Vector();
-      
-      // open the url and the data stream
-      server = new URL(url);
-      StreamTokenizer ts = new StreamTokenizer(server.openStream());
-      // reset the syntax and make all but the chars from 0-31 to
-      // plain text
-      ts.resetSyntax();
-      ts.whitespaceChars(0, 31);
-      ts.wordChars(32, 255);
-
-      // paint a rectangle for the progress indicator with the size of the
-      // text above
-      Graphics pg = progress.getGraphics();
-
-      // initialize the current number of muds loaded and load the maximum
-      // number of muds in the file (first line in the file)
-      int p = 1, max = 1;
-      int token = ts.nextToken();
-      if(token != ts.TT_EOF) try {
-        ts.sval = ts.sval.substring(1);
-        max = Integer.parseInt(ts.sval); 
-        System.out.print("["+max+" muds expected] ");
-        token = ts.nextToken();
-      } catch(NumberFormatException e) {
-        System.out.print("'"+ts.sval+"'");
-        System.out.print("[# of muds incorrect, expecting 1000] ");
-        max = 1000;
-      }
-      
-      // read line by line and display the progress bar
-      while(token != ts.TT_EOF) {
-        pg.setColor(getBackground());
-        pg.draw3DRect(indicator.location().x - 1, 
-                      indicator.location().y + indicator.size().height + 4, 
-                      indicator.size().width + 1, 21, false);
-        pg.fill3DRect(indicator.location().x, 
-                    indicator.location().y + indicator.size().height + 5, 
-                    p++ * indicator.size().width / max, 20, true);
-        
-        String name = ts.sval; token = ts.nextToken();
-        if(token != ts.TT_EOL && token != ts.TT_EOF) {
-          String host = ts.sval; token = ts.nextToken();
-          int port;
-          try {
-            port = Integer.parseInt(ts.sval);
-          } catch(NumberFormatException e) {
-            port = 23;
-          }
-          display.addItem(name);
-          index.addElement(host+"#"+port);
-        } else 
-          System.out.println("unexpected ("+name+") "+
-                             (token == ts.TT_EOF ? "EOF" : "EOL"));
-        while((token = ts.nextToken()) != ts.TT_WORD && 
-              token != ts.TT_EOF);
-      }
-    } catch(Exception e) {
-      indicator.setText("The \"mudlist\" parameter is incorrect, "+
-                        "cannot load data!");
-      e.printStackTrace();
-    }
-    System.out.println("("+index.size()+" muds)...done");
-    layouter.show(this, "ADDRESS");
-  }
-  
-  /**
-   * handle list selection, connect, disconnect and refresh button
-   * @param evt the event to process
-   */
-  public boolean handleEvent(Event evt) {
-    if(evt.target == connectButton && evt.id == Event.ACTION_EVENT) {
-      if(display.getSelectedIndex() < 0 ||
-         display.getSelectedIndex() > index.size()) {
-        info.setText("You did not select a MUD!");
-        return false;
-      }
-      String address = (String)index.elementAt(display.getSelectedIndex());
-      int port = Integer.parseInt(address.substring(address.indexOf('#')+1));
-      app.connect(address.substring(0, address.indexOf('#')), port);
-      return true;
-    }
-    if(evt.target == disconnectButton && evt.id == Event.ACTION_EVENT)
-      app.disconnect();
-    if(evt.target == refreshButton && evt.id == Event.ACTION_EVENT)
-      loadData();
-    if(evt.target == showButton && evt.id == Event.ACTION_EVENT) {
-      if(display.getSelectedIndex() < 0 ||
-         display.getSelectedIndex() > index.size()) {
-        info.setText("You did not select a MUD!");
-        return false;
-      }
-      URL page = null;
-      try {
-        page = new URL("http://www.mudconnect.com/mud-bin/adv_search.cgi"+
-                       "?Mode=MUD&mud="+
-                       display.getSelectedItem().replace(' ', '+'));
-      } catch(MalformedURLException e) {
-        info.setText("There was an URL error!");
-        e.printStackTrace();
-        return false;
-      }
-      app.getAppletContext().showDocument(page, "_TOP");
-      return true;
-    }
-    
-    if(evt.target == display && evt.id == Event.LIST_SELECT) {
-      String tmp = (String)index.elementAt(display.getSelectedIndex());
-      info.setText(tmp.substring(0, tmp.indexOf('#'))+" "+
-                   tmp.substring(tmp.indexOf('#')+1));
-    }
-    return false;
-  }
-
-  /**
-   * dummy methods
-   */
-  public void connect(String host, int port) {}
-  public void disconnect() {}
-  public String receive(String str)
-  {
-    return null;
-  }
-  
-}
diff --git a/web/root/telnet/modules/Script.class b/web/root/telnet/modules/Script.class
deleted file mode 100644
index 35b5c7f2735e7113003c4287d7632b8f8c3ce679..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2809
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

diff --git a/web/root/telnet/modules/Script.java b/web/root/telnet/modules/Script.java
deleted file mode 100644
index 8eb47842ee..0000000000
--- a/web/root/telnet/modules/Script.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/**
- * Script -- A module for scripting (very simple).
- * --
- * $Id: Script.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Mon Mar 24 15:52:12 1997 by Matthias L. Jugel :$
- *
- * This file is part of "The Java Telnet Applet".
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be 
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-package modules;
-
-import telnet;
-import java.util.Hashtable;
-import java.util.Enumeration;
-import java.awt.Dialog;
-import java.awt.Frame;
-import java.awt.TextField;
-import java.awt.Label;
-import java.awt.Event;
-
-/**
- * A very simple scripting module. It takes pairs of pattern and text and
- * sends the corresponding text when the pattern matches. Each pattern is
- * only matched once per connected session.
- *
- * <DL>
- *  <DT><B>Scripts:</B>
- *   <DD><PRE>&lt;PARAM NAME=script VALUE=&quot;<B><I>pattern</I></B>|<B><I>text</I></B>|<B><I>...</I></B>&quot;&gt;</PRE>
- *   <DD>A script contains of pairs of <I>pattern</I> and <I>text</I> strings.
- *       If the pattern is matched against the output from the remote host,
- *       the corresponding text will be sent. Each pattern will match only
- *       <B>once</B> per session. A session is defined by connect and 
- *       disconnect.<P>
- *       Thus it is possible to program an autologin as follows:<BR>
- *       <PRE><B>"login:|leo|Password:|mypassword|leo@www|ls"</B></PRE>
- *       Newlines will be added automatically to the string sent! At the
- *       moment the order of the pattern and text pairs is <I>not</I> relevant.
- *       <P>
- *       It is possible to prompt the user for input if a match occurs. If the
- *       corresponding <I>text</I> is a string enclosed in braces ([] or {}) a
- *       dialog window is opened with <I>text</I> as prompt. A special case 
- *       is an empty prompt in which case the <I>pattern</I> will be shown as 
- *       prompt. &quot;[Your name:]&quot; would open a dialog window with the
- *       text &quot;Your name&quot; as prompt. Curly braces have a special
- *       meaning; any user input will be shown as &quot;*&quot; which makes
- *       it possible to program password prompts. Example: 
- *       &quot;{Your password:}&quot;.<P>
- *       A special match like: &quot;login:|[]&quot; can be used to open a
- *       dialog and display &quot;login:&quot; as prompt. This works for
- *       &quot;{}&quot; as well.
- *       
- * </DL>
- * @version $Id: Script.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * @author  Matthias L. Jugel, Marcus Mei�ner
- * @see modules.Module
- */
-public class Script extends Hashtable implements Module
-{
-  // This is the target for any text we want to send
-  private telnet applet = null;
-
-  /**
-   * Set the applet as module loader
-   * @param o the object that is the applet (must be an Applet)
-   * @see module.Module
-   * @see java.applet.Applet
-   */
-  public void setLoader(Object o) { applet = (telnet)o; }
-	
-  /**
-   * Configure the script module by reading the script PARAMeter.
-   * @param host remote hostaddress - not used
-   * @param port remote port - not used
-   */
-  public void connect(String host, int port) {
-    String tmp = applet.getParameter("script");
-    
-    // delete all entries
-    clear();
-    
-    if(tmp != null) {
-      int idx = tmp.indexOf('|');
-      int oldidx = 0;
-      while(idx >= 0) {
-	String match = tmp.substring(oldidx, idx);
-	oldidx = idx;
-	idx = tmp.indexOf('|', idx+1);
-	idx = idx < 0 ? idx = tmp.length() : idx;
-	String send = tmp.substring(oldidx+1, idx);
-	put(match, send);
-	oldidx = idx+1;
-	idx = tmp.indexOf('|', idx+1);
-      }
-    }
-  }
-
-  /**
-   * Get notified of disconnection. Do nothing.
-   */
-  public void disconnect() {}
-	
-  /**
-   * This method is called when data is received. It tries to match the
-   * input to the list of patterns and sends corresponding text on success.
-   * If the response is [] or {} the user will be prompted with the matching
-   * text. You can modify the prompt string by entering it inside of the
-   * brackets or curly braces (e.g. [Enter your id:]). In case of curly
-   * braces the input area will not show the typed in text (for passwords)!
-   *
-   * @param s The string to test.
-   * @see peer.InputPeer
-   */
-  public String receive(String s) {
-    if(isEmpty()) return s;
-    Enumeration match = keys();
-    while(match.hasMoreElements()) {
-      String key = (String)match.nextElement();
-      if(s.indexOf(key) != -1) {
-	String value = (String)get(key);
-	if(value.indexOf("[") == 0 || value.indexOf("{") == 0) {
-	  TextField input = new TextField(20);
-	  if(value.startsWith("{")) input.setEchoCharacter('*');
-	  if("[]".equals(value) || "{}".equals(value)) value = key;
-	  else value = value.substring(1, value.length() - 1);
-	  Thread current = Thread.currentThread();
-	  new UserDialog(new Frame(), value, false, current, input);
-	  current.suspend();
-	  value = input.getText();
-	}
-	applet.send(value + "\r");
-	remove(key);
-      }
-    }
-    return s;
-  }
-}
-
-class UserDialog extends Dialog {
-  TextField input;
-  Thread thread;
-  String value;
-
-  public UserDialog(Frame parent, String value, boolean modal, 
-		    Thread t, TextField reply) {
-    super(parent, value, modal);
-    thread = t; input = reply;
-    add("West", new Label(value));
-    add("Center", input);
-    pack();
-    show();
-  }
-
-  public boolean handleEvent(Event evt) {
-    if(evt.target == input && evt.key == 10) {
-      thread.resume();
-      hide(); dispose();
-      return true;
-    }
-    return false;
-  }
-}
diff --git a/web/root/telnet/modules/TextLabel.class b/web/root/telnet/modules/TextLabel.class
deleted file mode 100644
index 29c98729da91621470ed25a962bc43a73a9227d8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1975
zcmX^0Z`VEsW(Hk`QVs@N4u&`mhIkH!1P+Eoc7{-PhA?)9aCU|Wc7{lHhA4K1Xm*Ae
zc7|AXh9q`|WOjxEE(UG}MJ@(T1|=>AE(T>T20jqM!Jxv$z|Now;;L~n2r#H~F$gkf
za53;QXmT;|FlccxurX+Zl<0uObV2I$co^&$3_yf2h_C_?Hara83?@7bJ`6@Y489B=
zJPd&hmOKn03>G{LX&@q-!IXy~hrx`8A)mpJhoOW)pOHaCL(?ZKu`E$PCowNwKe(hQ
zGcVnmk%3u5GmMczRKpXitTZ-pr_!{v)FNv}238GEPmpdc4T#B!<t6&g`MCx8d8v6N
z)=&dc1sNHHkQBS+gVcpFGDsr{`XpB7mzMY@<|U@57FmPL7lq1#UGAThm6}|FDGv3K
zrY9qV8nSwrIK+uyBcMVcZ)1vrEEL0H0NAJE*d)L*j5>@AY&MyBnI(3N3@pz1DXEMM
zjGl}P{63j^seYxoNvTC4iAg!BAQ5mhfWigre?|rYh$}!MK8Z=GIo6B}LJ%RabD=&)
z6@>di*e5qXr8FnCSU)7Sq6DEoKRGccEU_pPWGU2U4xf_LoV?T$YeojH;QZ2}<W#pz
zkc;@>I`u$KV`N}XOi5v6U`s40NX>&Xa#Bke8Ca6@bBY-m*pu_~@=}va7#X-yGK=9H
zp7hj`fW)H2+|-iPB1Q(5jQrvfMh520lnO=$_RPGL)C&JJMg}2}75X5*!jlTBU|vaL
zW**1@Ubsq7I59E^!};z-nJJKD!pOh}7X|wrSs)-WFExjeK@hA09F(4UC8_Bkvjq@h
zkdS0#5JMM&q;p0Fwj5BTC^Ir}f*H=>Fo3Wj4ui0R^2>`E8Teqa;R}uxMg~Ec06dTx
z8JP0&85tP!85uYV5{rscJ@Y_eTaaH=!pOj0l$xBHS(eJkz)}P@kP#H%#i=DwtBO-g
zU_R#rvGWsCK>lGV&a6shWZ*0=O)3UwZAJz*NMtiIu#}`$fGjA<$Sh`LU@plmU}WGZ
z$%puxL6Jd#ft!JmfuDhqfdN#SFfcH%GBAQl9R@}Qdj<vueFjFb9IMuL2BD1%3=B*R
zjtmS8Y+ykX26qMq1|Be*m7$2ije&uIk-?wA8mbv&05eDoU1L00qXGk15~>lTHHg6#
zY#1X$I)eiP69Xed0D}S4Fl~@QAdGHU3fM4+D;S}MF*0N@SVA?LF)%VPfn3hG0YoCX
zKO3x53?d8F3G!hU*cprrxeVqIGZ<$xurhEkFfg3f(muc-xRpVY#g@fRYYT&<5bHJu
zDJvF9mSYT@k}NwIWNg8r%-a~GBCX(pc3Qg`I3s0bw=)QDV~}ICVg)N=fhjVQWD#QA
z#vpCRCctOLF3QF<pFvQPMU;&tVH<<|4h9)B_T3B|k&-OTqU_rl#H?6Z%-EJQDDGz9
zij-v8&LCpNF3Ea~flHEIl64z{td=DEHU{x<kPW*T_#%avwlj!|vbC@=Zex(x#-ISP
z^Z5TGh+qt25Mf|ouxH?4aAe?NaApu^aA8nlaAh!LaAPoM@L+IZ@M3Uh@MZ{O@L`B&
z@MTD5@M9=v@Mmac2x9192xjPJ2w|AU5X!KKA&g-qLomZB20L)TrZI4Vf(#z8rx{Wi
zTo@P`xEKyHWP;<Dhhaa1AA<t}GlMw87KUO5R|Xb_WCkUMJO&2_b_REb7KQ`{Ck9rA
lcm_3wU<L;UHiixcXND9oYZ`+vLm`7R13LpFgC{s*y#O{BuHFCu

diff --git a/web/root/telnet/modules/TextLabel.java b/web/root/telnet/modules/TextLabel.java
deleted file mode 100644
index b2c6eeb623..0000000000
--- a/web/root/telnet/modules/TextLabel.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/**
- * TextLabel -- A module to display a Label on the applet.
- * --
- * $Id: TextLabel.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Wed Jul  9 17:37:28 1997 by Matthias L. Jugel :$
- *
- * This file is part of "The Java Telnet Applet".
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be 
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-package modules;
-
-import telnet;
-import java.awt.Panel;
-import java.awt.Label;
-import java.awt.GridLayout;
-import java.awt.Font;
-
-/**
- * This small module lets you display text somewhere in the applets area.
- *
- * <DL>
- *  <DT><B>Label:</B>
- *   <DD><PRE>&lt;PARAM NAME=labelRows    VALUE=&quot;<B><I>rows</B></I>&quot;&gt;</PRE>
- *   <DD>Defines the how many rows the label will have.
- *   <DD><PRE>&lt;PARAM NAME=labelCols    VALUE=&quot;<B><I>cols</B></I>&quot;&gt;</PRE>
- *   <DD>Defines the how many columns the label will have.
- *   <DD><PRE>&lt;PARAM NAME=labelFont    VALUE=&quot;<B><I>font[,size]</B></I>&quot;&gt;</PRE>
- *   <DD>The font for displaying the label text. If the <I>size</I> is left out
- *       a standard size of 14 points is assumed.
- *   <DD><PRE>&lt;PARAM NAME=label#<I>number</I> VALUE=&quot;<B><I>text</I></B>&quot;&gt;</PRE>
- *   <DT>The labels are enumerated and displayed in rows and columns.
- * </DL>
- * @version $Id: TextLabel.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * @author  Matthias L. Jugel, Marcus Mei�ner
- * @see modules.Module
- */
-public class TextLabel extends Panel implements Module
-{
-  telnet applet;
-  
-	/**
-	 * Set the applet as module loader and configure.
-	 * @param o the object that is the applet (must be an Applet)
-	 * @see module.Module
-	 * @see java.applet.Applet
-	 */
-	public void setLoader(Object o) { 
-    applet = (telnet)o;
-
-    int rows = 1, cols = 1;
-    
-    String tmp = applet.getParameter("labelRows");
-    if(tmp != null) rows = Integer.parseInt(tmp);
-    if((tmp = applet.getParameter("labelCols")) != null)
-      cols = Integer.parseInt(tmp);
-
-    setLayout(new GridLayout(rows, cols));
-
-    Font labelFont = null;
-    if((tmp = applet.getParameter("labelFont")) != null) {
-      int idx = tmp.indexOf(",");
-      int size = 14;
-      if(idx != -1) size = Integer.parseInt(tmp.substring(idx+1));
-      labelFont = new Font(tmp, Font.PLAIN, size);
-    }
-    
-    int no = 1;
-    while((tmp = applet.getParameter("label#"+no++)) != null) {
-      Label text = new Label(tmp);
-      if(labelFont != null) text.setFont(labelFont);
-      add(text);
-    }
-  }
-	
-	/**
-	 * Do nothing upon connect.
-	 * @param host remote hostaddress - not used
-	 * @param port remote port - not used
-	 */
-	public void connect(String host, int port) {}
-  
-	/**
-	 * Do nothing upon disconnecton.
-	 */
-	public void disconnect() {}
-	
-	/**
-   * Do nothing when receiving text. Be removed upon first call.
-	 * @param s The string received.
-	 * @see peer.InputPeer
-	 */
-	public String receive(String s) { return null; }
-}
-
diff --git a/web/root/telnet/modules/UserDialog.class b/web/root/telnet/modules/UserDialog.class
deleted file mode 100644
index d75c8682b5b3d91af341aacf96770d8656564b02..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1313
zcmX^0Z`VEsW(Hk`Fb)Q74hBnh21j-VCw2yBb_N%A23K|lH+BYhb_OqY25&9~Rt5<!
z26hHXE(R6`DJ}*M25Bw^W(FBf25tsfP6jpxIgpq<7Xv4Q0!XnUNK6SNtIWfo#h?Zv
zG<X=S88mqqY#3B{80<lW1A`$Cg9n2y4}%Yg>klFVKtvFO5f4KMg9#%8vxa6EBZIJp
zPgY`CqJCm|iN0%DYF>%8W)vfX8j`46QDSbYHAGcTVqUs_a7j^SUb=M@NV^X)3X$}N
zWE7<)ra(;t*%^{rQR0@Fnv-G;GENj~9I`ziaT_e+5K}>BIOpdU<mZ9ij!lq}fz2i}
zFSEpsk%7%QHLoPKh>?NCIX@+pk%7^Zk%8YQGcVPzG&d==C?qi{CzX*w0AUIwNKk|z
z;laotf>4F<1S5kGL>TM?|D>$c<PvLCL1^%y3PQsLWNL1HN@-4Nv3_WAYLQE3VorWK
z*ns@x#GJ6iqD+tzq3+}kPA<wUDA5B&AR_};aDHh~a;jS<$O|mtsl_FX42)5X49tls
zDU1y4DVfCu`NgS>49uxzC5#N*8Hsr*IjLa(F*2}ZWP*Z&H8ZcEw1kmC2xKBSNx*{^
zRWPq4F*6Soj{I<y5T`OS@WDl(W+McA5|dJM7#R?H!ZY(y^2-?+1i*U0K?Vs3Mh52W
z)JjGM*4+G*#2iKjK3JeYe9Xuo1QS4n5+egkL1J<?BLiDOVo_>d2_pk*QEEX>B_jh{
zQEG8%ZYm=KOK}FsI>r)42DXyKqV&`fMh2FWjLc#XADl878Cc5_b4pVg6d1S}SQ!`?
zm>C!t92g84Kp=#{1Vk}}G8i*3FfcJNGH5ZVGcYpfFfcHzVqj%pV_;w~)6&+F-Oj+H
zCCRdtL0n6cbt{9QmJri!2KGpu?F_uz82G}qgc!B9FbIN~+ZcqkwlRoq1e>SFz`!8K
zz|O$Huz-P`VIhMs!y*PHhQ$oJ3`-ac8J04bGR$KzV_;yggV@9n%wP(3j~Rn6g8>60
z$ab*Xn7}Mg1}m`Z%@_h1Oc+?eVtx#U46F={40a5vP<LlDFfoACt7~sz5Cb`D8H23$
z76u^!t_2JtT3Z;zw=sxlZDSD7+Qz`ovW9sL+@WIN;91Ea!mx@#nqf7AGQ%1MRfct7
Z2Z}+Agga23!InXvfsuic!2+z`8~~{7FKqw-

diff --git a/web/root/telnet/modules/bsx/BSXDisplay.class b/web/root/telnet/modules/bsx/BSXDisplay.class
deleted file mode 100644
index 3a02a183fd15ea156f85f849aef6d6b6847ae4fe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5672
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

diff --git a/web/root/telnet/modules/bsx/BSXDisplay.java b/web/root/telnet/modules/bsx/BSXDisplay.java
deleted file mode 100644
index 263f4f8ad7..0000000000
--- a/web/root/telnet/modules/bsx/BSXDisplay.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * BSXDisplay 	-- a graphics component for drawing BSX Objects on
- * --
- * $Id: BSXDisplay.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Thu Feb 15 00:47:34 1996 by Matthias L. Jugel :$ 
- */
-package modules.bsx;
-
-import java.awt.*;
-import java.util.Hashtable;
-import java.util.Enumeration;
-import java.util.Vector;
-
-public class BSXDisplay extends Frame
-{
-private int Scale = 100;		/* display scale */
-  
-private Hashtable scenes;		/* scene store */
-private Hashtable objects;		/* object store */
-  
-private String curScene = "";		/* current scene */
-  
-private Image imageBuffer;
-private Graphics gBuffer;
-public BSXDisplay() { this("BSXModule - Visit Regenbogen rb.mud.de:4780"); }
-public BSXDisplay(String title) {
-  super(title);
-  addNotify();
-  imageBuffer = createImage(511,255);
-  if(imageBuffer==null) {
-    System.out.println("Couldn't create an offscreen-image :(");
-    System.exit(1);
-    }
-  gBuffer = imageBuffer.getGraphics();
-  scenes = new Hashtable(); 
-  objects = new Hashtable();
-  setScale(100);
-  resize(510,255);
-  show();
-}
-  
-public void setScale(int scale) {
-  Scale = scale;
-  resize(511 * Scale / 100, 255 * Scale / 100);
-}
-  
-  /* add a scene to the store, do not yet display */
-public void addScene(String id, BSXGraphic picture)
-  {
-    BSXScene scene = new BSXScene(picture);
-    BSXScene sc = (BSXScene)scenes.get(id);
-    if(sc != null)
-      {
-	scene.objects = sc.objects;
-	scenes.remove(id);
-      }
-    scenes.put(id, scene);
-    if(curScene.equals(id)) redraw();
-  }
-  
-  /* show current scene */
-public boolean showScene() { return showScene(curScene); }
-  
-  /* show scene given as argument */
-public boolean showScene(String id)
-  {
-    curScene = id;
-    if(!scenes.containsKey(id)) 
-      {
-	addScene(id, new BSXGraphic());
-	return false;
-      }
-    redraw();
-    return true;
-  }
-  
-  /* add object to store */
-public void addObject(String id, BSXGraphic o)
-  {
-    objects.put(id, o);
-    BSXScene scene = (BSXScene)scenes.get(curScene);
-    if(scene != null && scene.objects.containsKey(id)) redraw();
-  }
-  
-  /* show object at position 0, layer 0 */
-public boolean showObject(String id) { return showObject(id, 0, 0); }
-  
-  /* show object at position in layer */
-public boolean showObject(String id, int position, int layer)
-  {
-    BSXScene scene = (BSXScene)scenes.get(curScene);
-    
-    /* add object to scene database */
-    if((scene = (BSXScene)scenes.get(curScene)) == null) 
-      {
-	addScene(curScene, new BSXGraphic());
-	scene = (BSXScene)scenes.get(curScene);
-      }
-    
-    BSXObject o = new BSXObject(position, layer);
-    scene.objects.put(id, o);
-    
-    /* check if object is in our database */
-    if(!objects.containsKey(id)) return false;
-    
-    redraw();
-    return true;
-  }
-  
-  /* remove object from scene, if scene exists */
-public boolean removeObject(String id)
-  {
-    BSXScene scene = (BSXScene)scenes.get(curScene);
-    if(scene != null)
-      {
-	BSXObject o = (BSXObject)scene.objects.get(id);
-	scene.objects.remove(id);
-	if(o != null) 
-	  redraw();
-      }
-    return true;
-  }
-  
-  /* redraw image buffer */
-public void redraw()
-  {
-    BSXScene scene = (BSXScene)scenes.get(curScene);
-    if(scene == null) return;
-    
-    Vector[] layer = new Vector[8];
-    /* create layers */
-    for(Enumeration e = scene.objects.keys(); e.hasMoreElements();) 
-      {
-	String key; key = (String)e.nextElement();
-	BSXObject o = (BSXObject)scene.objects.get(key);
-	if(layer[o.layer] == null) layer[o.layer] = new Vector();
-	layer[o.layer].addElement(key);
-      }
-    
-    /* draw background graphic */
-    if(scene.background != null && scene.background.size() > 0)
-      drawPicture(scene.background);
-    else
-      return;
-    
-    /* display layers from back to front */
-    for(int l = 7; l >= 0; l--)
-      if(layer[l] != null)
-	for(int o = layer[l].size()-1; o >= 0; o--)
-	  {
-	    BSXObject obj = (BSXObject)
-	      scene.objects.get(layer[l].elementAt(o));
-	    drawPicture((BSXGraphic)objects.get(layer[l].elementAt(o)),
-			16 * obj.position, 4 * obj.layer);
-	  }
-    paint(getGraphics());
-  }
-  
-public Point Translate(int x, int y, 
-		       int centreX, int centreY, int scale)
-  {
-    return new Point((       x - 127 + centreX)  * 2 * scale / 100,
-                     (255 - (y - 127 + centreY))     * scale / 100);
-  }
-  
-public void drawPicture(BSXGraphic pic) { drawPicture(pic, 127, 127); }
-  
-public void drawPicture(BSXGraphic pic, int position, int layer)
-  {
-    if(pic == null) return;
-    int ap = pic.size();
-    for(int i = 0; i < ap; i++)
-      {
-	BSXPolygon poly = (BSXPolygon)pic.elementAt(i);
-	Polygon p = new Polygon();
-	gBuffer.setColor(poly.getColor());
-	for(int j = poly.npoints - 1; j >= 0; j--)
-	  {
-	    Point pt = Translate(poly.xpoints[j], poly.ypoints[j], 
-				 position, layer, Scale);
-	    p.addPoint(pt.x, pt.y);
-	  }
-	gBuffer.fillPolygon(p);
-      }
-  }
-  
-public boolean mouseEnter(Event evt, int x, int y)
-  {
-    //System.out.println("MOUSE ENTERS");
-    requestFocus();
-    return true;
-  }
-  
-  
-public void update(Graphics g)
-  {
-    paint(g);
-  }
-  
-  
-public void paint(Graphics g)
-  {
-    g.drawImage(imageBuffer, 0, 0, this);
-  }
-}
-
-
-
-
-
-
-
-
diff --git a/web/root/telnet/modules/bsx/BSXGraphic.class b/web/root/telnet/modules/bsx/BSXGraphic.class
deleted file mode 100644
index f6d0d9ffa7d03f9e0a9fcd9a35910f65a426e369..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 573
zcmX^0Z`VEsW(HjbS#|~qb_Pi<21W)p5Wx;2ICvO%88|@%7Y~CN12-cBvxa6EBLj<u
zCx{Z&@X1OnOVrOv%uCnzPs&P7F0lrQOKbS#=BJeAq!#NZ6<6px1xEzr=TxTW=YeI}
zY%=pQOY9gK_??0y+=~(mGBT6(K;|$qusG+Zq%txvdNMNb`();&`jzG;r51%GCgr3u
zGDx5s3e{_kMG9sgBZH7nesW??SYlBo$P}niT*3LJMaijdnILny5>rxKb5e6t^GX;Q
zKpd!MMg{?ptMp4tGIR99Qj<&aix?Ti&^!ip10w@t0V4xrF(U&@Nk(QdgCYYH10w?n
zFf%ZM!jOTHfuDhaL7#yUEY7O6oq>5H0|NsSgCGL~0~=V7mqCPqfq@6iW@V6J5Mp2e
zYX-#xNV6RS69W@SwU+dD1{Q>FF0iNo11kd`*aR^!pABjP$aHB20kFm5VADZnS;5WH
Z-p0U+Fbm=mVI1a2F$jar5e2)P4*-X-WvBoE

diff --git a/web/root/telnet/modules/bsx/BSXGraphic.java b/web/root/telnet/modules/bsx/BSXGraphic.java
deleted file mode 100644
index a1c4155a73..0000000000
--- a/web/root/telnet/modules/bsx/BSXGraphic.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * BSXGraphic	-- BSX Graphics Object
- * --
- * $Id: BSXGraphic.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Wed Feb 14 21:35:42 1996 by Matthias L. Jugel :$
- */
-package modules.bsx;
-
-import java.util.Vector;
-
-public class BSXGraphic extends Vector
-{
-  public BSXGraphic() { super(); }
-  public BSXGraphic(int s) 
-  { 
-		super(s);
-  }
-
-  public void addPolygon(BSXPolygon p) { addElement(p); }
-}
diff --git a/web/root/telnet/modules/bsx/BSXInputStream.class b/web/root/telnet/modules/bsx/BSXInputStream.class
deleted file mode 100644
index 2dbfe7e691ddc059e3763aae5073f501191f541a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1436
zcmX^0Z`VEsW(Hjb4|WDqb_O$c26J`>3w8!8b_Q#91{*F0b_PK%237_kE(RtBVJ-$n
z1`!Zfl#79lK@3EQgCrzC>Lhs>lo{keggl5)<YCZfP~c%OU{K;=aA1(;VQ^xQ<zaAU
zkm6x*VUTBJVAjxd0+XJM3{o1JKDqfRr8%j^`botV`cA<S?nQ|O8JWq}SS17Ub1KvG
z^Q^)8!x$M@G(0uK7#UbKJi)YthEG;vS)zVszP@K(L1{^FNl|KIt~E%Bv<A9GFtb3i
zY&MyBnI(3N48l&q5lC9~K*ljLusG+Zq%tyaxmF~n7L;V>=M^(DFnTgF@cU%urTUfT
zCZ!gIBqrsgGBSu_bpRuS1iI}AZ_1!cA=z(@MJLSNj0{3P`N@enVTnbVAj_dH;0n$!
zElN&x%LF-xBQYf<AU`v&gpq*@%mfD?BLh=n0V4xza(+&J5hDX*1|tJgW*#Gh0LZuc
ziRC5wP&*hI#KA(D`T8!2C5cE5V`LD9$$0w1g9Rp<lbDyTk0i>N!^j|pJ)RjEq|hW#
zY(durcNk*<BLjOuW^zesQ7R(?TLH+E#f%I*MX8A?j=|2Jo*t<cj0}7rE+SDO1mNay
zfK^nMq%tya6sMLrLxO~*BqI|P#}$kWjFk+E3~UTc3?RV5z{sG?pvb_;pvu6&V8y@$
z7H8Aa-p;_ak%57Mi9v&bfq{*Ik%56hh(VWufk6zSg29zR8)N_j8-odhCIce_BPee`
z&DqGn%)rdRz+kPlje*|=MA$B8U<+qnBQ0Q%A}wIKgn>hVeK`XQbBc|OfI*53vWTsK
zfOLjT!WyuZTnxMnEKo-%F>o+2Fc>i~Fc>qiGMF%MF&HuMGMF+5FqknYF_<%$Fj#;c
zXu`k>vKs0@Rt63RV+M5wMg}ehW(G?Jbp|E|0S0ZT7>ETC6J&5?kYQi~2SX0j`AS;b
z7<g@VGq6TVZ)f22UCzL#qqU8JZyN(o3*&$3x&OcDY=8%m5CaPX1A{mND}w|BAA=-=
z0)rITH45N>P=dQgmcbD08a@UQ20I2V1||kI1_lODG%zy=f=U*s8@4krGq5o*FqrRV
zV2|9+z~KXOi!F$-)0W-FAh4W43dAvE0h6rSqAa4U+Zec8nEuPm{r^H6;V>-*E(Qh$
z1qKcVMFw65B?ch|6$WtzRR$>r4F&}UO$IdvEe1UXRR&WA9k7G#Al5=1%)y|~V9TJx
zz{tSMpv7Ph4n83URR$vlbp~bz1qML|HwJYE76vs2ZU%P-bp}=>?=UjxfrCc{0DoN>
A=l}o!

diff --git a/web/root/telnet/modules/bsx/BSXInputStream.java b/web/root/telnet/modules/bsx/BSXInputStream.java
deleted file mode 100644
index 5868a7a8da..0000000000
--- a/web/root/telnet/modules/bsx/BSXInputStream.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * BSXInputStream	-- extends InputStream for BSX Polygons
- * --
- * $Id: BSXInputStream.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Wed Feb 14 21:36:56 1996 by Matthias L. Jugel :$
- */
-package modules.bsx;
-
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import java.awt.Polygon;
-import java.awt.Rectangle;
-
-public class BSXInputStream extends DataInputStream
-{
-  public BSXInputStream(InputStream in) { super(in); }
-  
-  public final BSXGraphic readBSXGraphic()	/* read a BSX graphic */
-    throws IOException
-    {
-      int ap = readASCIIHex();
-      BSXGraphic picture = new BSXGraphic(ap);
-      for(; ap > 0; ap--) picture.addPolygon(readBSXPolygon());
-      return picture;
-    }
-  
-  public final BSXPolygon readBSXPolygon()	/* read a BSX polygon */
-    throws IOException
-    {
-      BSXPolygon p = new BSXPolygon();		/* create new BSX polygon */
-      int points = readASCIIHex();		/* get amount of edges */
-      int color = readASCIIHex();			/* get color */
-      
-      p.setColor(color);
-      for(; points > 0 ; points--)
-	{
-	  int x, y;
-	  x = readASCIIHex();
-	  y = readASCIIHex();
-	  p.addPoint(x, y);
-	}
-      return p;
-    }
-  
-  public int readASCIIHex()			/* read 2 byte ASCII hex val */
-    {
-      int h, l;
-      try {
-	h = (int)readByte();
-	l = (int)readByte();
-      } catch(Exception e) { return 0; }
-      h = h-'0'-(h>'9'?'A'-'9'-1:0);
-      l = l-'0'-(l>'9'?'A'-'9'-1:0);
-      return 16*h+l;
-    }
-}
-
-
diff --git a/web/root/telnet/modules/bsx/BSXObject.class b/web/root/telnet/modules/bsx/BSXObject.class
deleted file mode 100644
index d5a83339d9a99cedaf233b34e84631cde6410b73..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 440
zcmX^0Z`VEsW(HjbId%pyb_Pi<21W*UP6j3h4iLc!BDi=Mcp12P7$g`3co?KXge-$7
zBLlOBW*8#_tA?j1h-S0N%*!mXV`SiS3Xbqk%1TWx(aTCKOJrnVan4UkWn^IVWMts?
z$;?ajE6q(xEec6Y%1LEp5ckQ=PbtkwE!IyeuF!{TwPs`x^2tw5%n3^@$^@x|D(4E$
zFD*(=b;|_lWsG8E5CGYspOcuEt`D)4k%2LXk%2WQu`;!YkwFxz>5L4F1&j<F1^LC9
zC7Jnoj0`L#8JWe54D4l@#hFPtsSJt?Obm<+3=GT+j35s)FfcHJd=I8&8AQP}BLgo3
z4+A3uKLZ0p1_KiVGXn#IoYr;*W-aEe46Go6MT=!C1DlpKh%2*|fn_5D0|OI-AOiz~
z5CaPX0|PGu3j-Ge9|JdoFas}xFaraF0>l&s83rK+5RhY#Vh{kkM2<n6K>+M35wIzI
E0Jy45W&i*H

diff --git a/web/root/telnet/modules/bsx/BSXObject.java b/web/root/telnet/modules/bsx/BSXObject.java
deleted file mode 100644
index f4237f4240..0000000000
--- a/web/root/telnet/modules/bsx/BSXObject.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * BSXObject	-- a simple BSX Object
- * --
- * $Id: BSXObject.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- */
-package modules.bsx;
-
-public class BSXObject
-{
-  public int position = 0, layer = 0;
-  public boolean visible = true;
-
-  public BSXObject(int p, int l) { position = p; layer = l; }
-}
diff --git a/web/root/telnet/modules/bsx/BSXPolygon.class b/web/root/telnet/modules/bsx/BSXPolygon.class
deleted file mode 100644
index adcc78c71905f3c32288ac7016aac5d20581f1ae..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2219
zcmX^0Z`VEsW(Hjb19k=tb_Pv$1}!cICI)UU21W)R5Wx%L@^LaSGw^dVFfs^$Sb{tZ
z5)8s1LIgyJf(S7l1_cIL9tIT<p~|4l$RMPl>64XMmZ+atUZU@upOar?&B(y4p&7==
zz@p&^qS!P%J;4kPjcCtk2$K`S1Pim-Waed-*fBEjI|WAs<mXhT=jZ8xjAUeBan4Uk
zWn^IVWMts?$;?ajE6q(xEec6Y%1LEp5Wuuo!Y4OBr8FnCSU;(_LLXtAH6w$NPkwS@
zPFP}5CP+8b2)2M^kc$}^xPtRbi;`2_GC>A2MSC(b2u5QX&zh8zn4HbXz>%Dv12usa
zY5+%iY6;l)j0}7rw<CgskwE}10QDUsgBW&qGBU8|7362;l@v2Fa1_H$WGTtWEM{b2
zuYk$1S3+0}iVVyQObiSRObkp6stn3tmI8w;0|Nsq10yK<7#JC(7#J8IGk~I%fl*g$
zI|GZBfWTe`#z^MfAcC2BI|EyABnyNi$nYP`Wd(5slmr>N1(d)7Y#;$ahIT=QbAk-7
z!9wg1p|b)p0x@6#4v4^iflNV$EnpD=sJ5j7S^`=S5vZ=qf(#%85d&)!$OJ)%04K;K
zW<iGiF!u;>K}G&UoGZW$<HJ?(fJ6it{tF}vxI;|gg^Do4)$l<@1Q}rF@FPT^s<tw4
zX>DTQ+{(bQ5geQ{3=9mD7*rS-7?c@U82A`?82A~)82A_@83Y(q8Tc497z7#282A`0
z8H5--8Tc4{7=#(382A`s8AKRz82A_p7(^NB82A{P7{nMRG4L@=V-ROp%)rO6oI!$N
zD+3?HP6kPaqYQiuCmEy|t~2m4+-8twc*(%W@RmV_;Wq;x!+!=@MqUO!MnMKSMnwib
zMpXtyMjZxa26+Ys1|9}R1_nl523-a@1_p41i$Ej%Cj%!aVK7>bMtGzk!++u;Tnm&K
zq_;D$Vu^f}K@|Ba;K&z)L@+e+85k`Y)EJ~07{SRv9Fh!}WEnUaSQ!`?t+ljuWVbW0
zk7j)$Q-anO1};$+Bb0<NjX{-xfkB;toq>;mpMjr2l7WvwhCzTqgMp7hn?aDll7WxG
zhCztIhk=j5pFx-*mVu8UfkA{JpMj5|m_d}Gk%5n)l|hVQDgz(GOa^g=Wej`_s~990
zb};ZU>|u~(IKjZjaE3vO;T8iQ!#xIRhBpj+3?CR|82&NvF)}g8G72#8F^VwAF{&`|
zF={X<GU_vEFj_IFf)j%YB%0xg!J0vjK?z(sSTpD|D1noTHG?*TGy^jzIe?Q23j-sA
zI)e}-sW9k+lMVv|tJW3<jt%glj}2r9gAUjdaB;)H3bllhL5Bfa+%VWf>mhC}P{2u}
eh8x5PZLksGM9aVpHG+YG8|)HLqE!T2DG31f#-rc>

diff --git a/web/root/telnet/modules/bsx/BSXPolygon.java b/web/root/telnet/modules/bsx/BSXPolygon.java
deleted file mode 100644
index d2384035e9..0000000000
--- a/web/root/telnet/modules/bsx/BSXPolygon.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * BSXPolygon	-- anhanced Polygon (to meet BSX standard)
- *		   includes color for each polygon
- * --
- * $Id: BSXPolygon.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- */
-package modules.bsx;
-
-import java.awt.Polygon;
-import java.awt.Color;
-
-public class BSXPolygon extends Polygon
-{
-  private Color colTable[] = {
-                              new Color(  0,   0,   0),
-			      new Color(  0,   0, 255),
-			      new Color( 34, 139,  34),
-			      new Color(135, 206, 235),
-			      new Color(205,  92,  92),
-			      new Color(255, 105, 180),
-			      new Color(165,  42,  42),
-			      new Color(211, 211, 211),
-			      new Color(105, 105, 105),
-			      new Color(  0, 191, 255),
-			      new Color(  0, 255,   0),
-			      new Color(  0, 255, 255),
-			      new Color(255,  99,  71),
-			      new Color(255,   0, 255),
-			      new Color(255, 255,   0),
-			      new Color(255, 255, 255)
-			     };
-
-  private Color Pcolor = Color.black;
-
-  public BSXPolygon() { super(); }
-  public BSXPolygon(int color) { super(); Pcolor = new Color(color); }
-  public BSXPolygon(int xpoints[], int ypoints[], int npoints, int color)
-         {
-           super(xpoints, ypoints, npoints);
-           Pcolor = colTable[color];
-         }
-
-  public void setColor(int color) { Pcolor = colTable[color]; }
-  public Color getColor() { return Pcolor; }
-}
diff --git a/web/root/telnet/modules/bsx/BSXScene.class b/web/root/telnet/modules/bsx/BSXScene.class
deleted file mode 100644
index 6a28bafe9275eec3d83f333df561f7fc2d1a8569..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 568
zcmX^0Z`VEsW(HjbS#}0-b_NM{21zakMg|Tp1||j$P6lQMP7uMx!@$eH&BGwZAjHEU
z#URMYz^tJe#>gP8;gg%6Qks)mte;d|q3;wN;a-$jkdc{e4U%QE$;`_vv14T5bqbCM
zPEO5B)yqmOOJrnVan4UkWn|#@$;?ajE6q(xEec6Y%1LEp5cL5m&@U~?%+dEqEY2ta
z30pHVNZ_)DkwFYy3T%-zBZH7nesW??SYlBo$PlOnT*3LJMaijdnIPM^k`j}%(~I&;
z^HLZY1i&`uB<7{-`zK|kCYLZW2!n-C9mB{Vg63neeT)q3`Cwhej10^LnaPX{EF~G4
z#SDrJ%nXbS3=B*RjG(|{U|?Vbg&$Oemw}ssk%6Cqfx#WBPE>0<1B=#f2BygE46Iuj
z*tHn9GO%p~D;Hp3VBlk5W?*38XJBFAW#DJvXAogvVBi5;Aj%-aAPhF17c2rYG?0Or
qfr){E0mD#jEQSg|4HW<zDhAOAHI#utltG$7h=GxTkwFyf7(M{S>u#t3

diff --git a/web/root/telnet/modules/bsx/BSXScene.java b/web/root/telnet/modules/bsx/BSXScene.java
deleted file mode 100644
index c81a98627e..0000000000
--- a/web/root/telnet/modules/bsx/BSXScene.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * BSXScene	-- BSX Scene
- * --
- * $Id: BSXScene.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- */
-package modules.bsx;
-
-import java.util.Hashtable;
-
-public class BSXScene
-{
-  public BSXGraphic background;
-  public Hashtable objects = new Hashtable();
-
-  public BSXScene() { background = null; }
-	public BSXScene(BSXGraphic pic) { background = pic; }
-}
diff --git a/web/root/telnet/socket/StatusPeer.class b/web/root/telnet/socket/StatusPeer.class
deleted file mode 100644
index a53275a970599d88ac5c3b8dbd9b3c8b86c60b9d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 277
zcmX^0Z`VEsW(Hjb0d@v%b_QNX1~m<zti-ZJ{nC=m9R0A=<dXa%YfXqyPGVlVzJF3y
zYI2D+BLj<beo87M1HVsZUaDVdZc=JdNMce>DkFmsL^ZMjAi@0P#GJ6iqD+t?s7hg<
z;{4?7)Dr#RlEjkI;(*lDB5OtluHgLAqU2P!Opsyx2q`^~yBHY+K$Jd`TNoL5^72bE
z(<&iK85smIOl4$XD+XJ^$iPyPky*^f$iT$F$N&P2EQ}0149pA+42%q%3=9lR3|s&{
C-A<7J

diff --git a/web/root/telnet/socket/StatusPeer.java b/web/root/telnet/socket/StatusPeer.java
deleted file mode 100644
index cc17b67cb6..0000000000
--- a/web/root/telnet/socket/StatusPeer.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Status peer interface.
- * --
- * $Id: StatusPeer.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Wed Mar  5 13:40:54 1997 by Matthias L. Jugel :$
- *
- * This file is part of "The Java Telnet Applet".
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be 
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-package socket;
-
-import java.util.Vector;
-
-/**
- * StatusPeer -- interface for status messages
- * --
- * @version	$Id: StatusPeer.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * @author	Matthias L. Jugel, Marcus Mei�ner
- */
-
-public interface StatusPeer
-{
-	/**
-	 * This method is called for the peer of the TelnetIO class if there is
-	 * a statuschange.
-	 * @param status A Vector containing the key as element 0 and any arguments
-	 *               from element 1 on.
-	 * @return an object that matches the requested information or null
-	 * @see socket.TelnetIO
-	 */
-  public Object notifyStatus(Vector status);
-}
diff --git a/web/root/telnet/socket/TelnetIO.class b/web/root/telnet/socket/TelnetIO.class
deleted file mode 100644
index bcd3e99f7fa8e679082d45cdd157c2c662cc9e07..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9052
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
HV&nw?9<Vra

diff --git a/web/root/telnet/socket/TelnetIO.java b/web/root/telnet/socket/TelnetIO.java
deleted file mode 100644
index 87da79ff51..0000000000
--- a/web/root/telnet/socket/TelnetIO.java
+++ /dev/null
@@ -1,614 +0,0 @@
-/**
- * socket.TelnetIO - a telnet implementation
- * --
- * $Id: TelnetIO.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Tue May 27 13:27:05 1997 by Matthias L. Jugel :$
- *
- * This file is part of "The Java Telnet Applet".
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be 
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-package socket;
-
-import java.net.Socket;
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.IOException;
-import java.awt.Dimension;
-import java.util.Vector;
-
-/**
- * Implements simple telnet io
- *
- * @version $Id: TelnetIO.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * @author  Matthias L. Jugel, Marcus Mei�ner
- * @version 1.2 3/7/97 George Ruban added available() because it was needed.
- */
-public class TelnetIO implements StatusPeer
-{
-  /**
-   * Return the version of TelnetIO.
-   */
-  public String toString() { return "$Id: TelnetIO.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $"; }
-  
-	/**
-	 * Debug level. This results in additional diagnostic messages on the
-	 * java console.
-	 */
-	private static int debug = 0;
-
-	/**
-	 * State variable for telnetnegotiation reader
-	 */
-	private byte neg_state = 0;
-
-	/**
-	 * constants for the negotiation state
-	 */
-	private final static byte STATE_DATA	= 0;
-	private final static byte STATE_IAC	= 1;
-	private final static byte STATE_IACSB	= 2;
-	private final static byte STATE_IACWILL	= 3;
-	private final static byte STATE_IACDO	= 4;
-	private final static byte STATE_IACWONT	= 5;
-	private final static byte STATE_IACDONT	= 6;
-	private final static byte STATE_IACSBIAC	= 7;
-	private final static byte STATE_IACSBDATA	= 8;
-	private final static byte STATE_IACSBDATAIAC	= 9;
-
-	/**
-	 * What IAC SB <xx> we are handling right now
-	 */
-	private byte current_sb;
-
-	/**
-	 * IAC - init sequence for telnet negotiation.
-	 */
-	private final static byte IAC  = (byte)255;
-	/**
-	 * [IAC] End Of Record
-	 */
-	private final static byte EOR  = (byte)239;
-	/**
-	 * [IAC] WILL
-	 */
-	private final static byte WILL  = (byte)251;
-	/**
-	 * [IAC] WONT
-	 */
-	private final static byte WONT  = (byte)252;
-	/**
-	 * [IAC] DO
-	 */
-	private final static byte DO    = (byte)253;
-	/**
-	 * [IAC] DONT
-	 */
-	private final static byte DONT  = (byte)254;
-	/**
-	 * [IAC] Sub Begin 
-	 */
-	private final static byte SB  = (byte)250;
-	/**
-	 * [IAC] Sub End
-	 */
-	private final static byte SE  = (byte)240;
-	/**
-	 * Telnet option: echo text
-	 */
-	private final static byte TELOPT_ECHO  = (byte)1;  /* echo on/off */
-	/**
-	 * Telnet option: End Of Record
-	 */
-	private final static byte TELOPT_EOR   = (byte)25;  /* end of record */
-	/**
-	 * Telnet option: Negotiate About Window Size
-	 */
-	private final static byte TELOPT_NAWS  = (byte)31;  /* NA-WindowSize*/
-	/**
-	 * Telnet option: Terminal Type
-	 */
-	private final static byte TELOPT_TTYPE  = (byte)24;  /* terminal type */
-
-	private final static byte[] IACWILL  = { IAC, WILL };
-	private final static byte[] IACWONT  = { IAC, WONT };
-	private final static byte[] IACDO    = { IAC, DO	};
-	private final static byte[] IACDONT  = { IAC, DONT };
-	private final static byte[] IACSB  = { IAC, SB };
-	private final static byte[] IACSE  = { IAC, SE };
-
-	/** 
-	 * Telnet option qualifier 'IS' 
-	 */
-	private final static byte TELQUAL_IS = (byte)0;
-
-	/** 
-	 * Telnet option qualifier 'SEND' 
-	 */
-	private final static byte TELQUAL_SEND = (byte)1;
-
-	/**
-	 * What IAC DO(NT) request do we have received already ?
-	 */
-        private byte[] receivedDX;
-  
-	/**
-	 * What IAC WILL/WONT request do we have received already ?
-	 */
-	private byte[] receivedWX;
-	/**
-	 * What IAC DO/DONT request do we have sent already ?
-	 */
-	private byte[] sentDX;
-	/**
-	 * What IAC WILL/WONT request do we have sent already ?
-	 */
-	private byte[] sentWX;
-
-	private Socket socket;
-	private BufferedInputStream is;
-	private BufferedOutputStream os;
-
-	private StatusPeer peer = this;		/* peer, notified on status */
-
-	/**
-	 * Connect to the remote host at the specified port.
-	 * @param address the symbolic host address
-	 * @param port the numeric port
-	 * @see #disconnect
-	 */
-	public void connect(String address, int port) throws IOException {
-		if(debug > 0) System.out.println("Telnet.connect("+address+","+port+")");
-		socket = new Socket(address, port);
-		is = new BufferedInputStream(socket.getInputStream());
-		os = new BufferedOutputStream(socket.getOutputStream());
-		neg_state = 0;
-		receivedDX = new byte[256]; 
-		sentDX = new byte[256];
-		receivedWX = new byte[256]; 
-		sentWX = new byte[256];
-	}
-
-	/**
-	 * Disconnect from remote host.
-	 * @see #connect
-	 */
-	public void disconnect() throws IOException {
-	  if(debug > 0) System.out.println("TelnetIO.disconnect()");
-	  if(socket !=null) socket.close();
-	}
-  
-	/**
-	 * Connect to the remote host at the default telnet port (23).
-	 * @param address the symbolic host address
-	 */
-	public void connect(String address) throws IOException {
-		connect(address, 23);
-	}
-
-	/**
-	 * Set the object to be notified about current status.
-	 * @param obj object to be notified.
-	 */
-	public void setPeer(StatusPeer obj) { peer = obj; }
-
-	/** Returns bytes available to be read.  Since they haven't been
-	 * negotiated over, this could be misleading.
-	 * Most useful as a boolean value - "are any bytes available" -
-	 * rather than as an exact count of "how many ara available."
-	 *
-	 * @exception IOException on problems with the socket connection
-	 */
-	public int available() throws IOException
-	{
-	  return is.available();
-	}
-	
-
-	/**
-	 * Read data from the remote host. Blocks until data is available. 
-	 * Returns an array of bytes.
-	 * @see #send
-	 */
-	public byte[] receive() throws IOException {
-		int count = is.available();
-		byte buf[] = new byte[count];
-		count = is.read(buf);
-		if(count < 0) throw new IOException("Connection closed.");
-		if(debug > 1) System.out.println("TelnetIO.receive(): read bytes: "+count);
-		buf = negotiate(buf, count);
-		return buf;
-	}
-
-	/**
-	 * Send data to the remote host.
-	 * @param buf array of bytes to send
-	 * @see #receive
-	 */
-	public void send(byte[] buf) throws IOException {
-		if(debug > 1) System.out.println("TelnetIO.send("+buf+")");
-		os.write(buf);
-		os.flush();
-	}
-
-	public void send(byte b) throws IOException {
-		if(debug > 1) System.out.println("TelnetIO.send("+b+")");
-		os.write(b);
-		os.flush();
-	}
-
-	/**
-	 * Handle an incoming IAC SB <type> <bytes> IAC SE
-	 * @param type type of SB
-	 * @param sbata byte array as <bytes>
-	 * @param sbcount nr of bytes. may be 0 too.
-	 */
-	private void handle_sb(byte type, byte[] sbdata, int sbcount) 
-		throws IOException 
-	{
-		if(debug > 1) 
-			System.out.println("TelnetIO.handle_sb("+type+")");
-		switch (type) {
-		case TELOPT_TTYPE:
-			if (sbcount>0 && sbdata[0]==TELQUAL_SEND) {
-				String ttype;
-				send(IACSB);send(TELOPT_TTYPE);send(TELQUAL_IS);
-				/* FIXME: need more logic here if we use 
-				 * more than one terminal type
-				 */
-				Vector vec = new Vector(2);
-				vec.addElement("TTYPE");
-				ttype = (String)peer.notifyStatus(vec);
-				if(ttype == null) ttype = "dumb";
-				byte[] bttype = new byte[ttype.length()];
-
-				ttype.getBytes(0,ttype.length(), bttype, 0);
-				send(bttype);
-				send(IACSE);
-			}
-
-		}
-	}
-
-	/**
-	 * Notify about current telnet status. This method is called top-down.
-	 * @param status contains status information
-	 */
-	public Object notifyStatus(Vector status) {
-		if(debug > 0) 
-		  System.out.println("TelnetIO.notifyStatus("+status+")");
-		return null;
-	}
-
-	/* wo faengt buf an bei buf[0] oder bei buf[1] */
-	private byte[] negotiate(byte buf[], int count) throws IOException {
-		if(debug > 1) 
-			System.out.println("TelnetIO.negotiate("+buf+","+count+")");
-		byte nbuf[] = new byte[count];
-		byte sbbuf[] = new byte[count];
-		byte sendbuf[] = new byte[3];
-		byte b,reply;
-		int  sbcount = 0;
-		int boffset = 0, noffset = 0;
-		Vector	vec = new Vector(2);
-
-		while(boffset < count) {
-			b=buf[boffset++];
-			/* of course, byte is a signed entity (-128 -> 127)
-			 * but apparently the SGI Netscape 3.0 doesn't seem
-			 * to care and provides happily values up to 255
-			 */
-			if (b>=128)
-				b=(byte)((int)b-256);
-			switch (neg_state) {
-			case STATE_DATA:
-				if (b==IAC) {
-					neg_state = STATE_IAC;
-				} else {
-					nbuf[noffset++]=b;
-				}
-				break;
-			case STATE_IAC:
-				switch (b) {
-				case IAC:
-					if(debug > 2) 
-						System.out.print("IAC ");
-					neg_state = STATE_DATA;
-					nbuf[noffset++]=IAC;
-					break;
-				case WILL:
-					if(debug > 2)
-						System.out.print("WILL ");
-					neg_state = STATE_IACWILL;
-					break;
-				case WONT:
-					if(debug > 2)
-						System.out.print("WONT ");
-					neg_state = STATE_IACWONT;
-					break;
-				case DONT:
-					if(debug > 2)
-						System.out.print("DONT ");
-					neg_state = STATE_IACDONT;
-					break;
-				case DO:
-					if(debug > 2)
-						System.out.print("DO ");
-					neg_state = STATE_IACDO;
-					break;
-				case EOR:
-					if(debug > 2)
-						System.out.print("EOR ");
-					neg_state = STATE_DATA;
-					break;
-				case SB:
-					if(debug > 2)
-						System.out.print("SB ");
-					neg_state = STATE_IACSB;
-					sbcount = 0;
-					break;
-				default:
-					if(debug > 2)
-						System.out.print(
-							"<UNKNOWN "+b+" > "
-						);
-					neg_state = STATE_DATA;
-					break;
-				}
-				break;
-			case STATE_IACWILL:
-				switch(b) {
-				case TELOPT_ECHO:
-					if(debug > 2) 
-						System.out.println("ECHO");
-					reply = DO;
-					vec = new Vector(2);
-					vec.addElement("NOLOCALECHO");
-					peer.notifyStatus(vec);
-					break;
-				case TELOPT_EOR:
-					if(debug > 2) 
-						System.out.println("EOR");
-					reply = DO;
-					break;
-				default:
-					if(debug > 2)
-						System.out.println(
-							"<UNKNOWN,"+b+">"
-						);
-					reply = DONT;
-					break;
-				}
-				if(debug > 1)
-				  System.out.println("<"+b+", WILL ="+WILL+">");
-				if (	reply != sentDX[b+128] ||
-					WILL != receivedWX[b+128]
-				) {
-					sendbuf[0]=IAC;
-					sendbuf[1]=reply;
-					sendbuf[2]=b;
-					send(sendbuf);
-					sentDX[b+128] = reply;
-					receivedWX[b+128] = WILL;
-				}
-				neg_state = STATE_DATA;
-				break;
-			case STATE_IACWONT:
-				switch(b) {
-				case TELOPT_ECHO:
-					if(debug > 2) 
-						System.out.println("ECHO");
-
-					vec = new Vector(2);
-					vec.addElement("LOCALECHO");
-					peer.notifyStatus(vec);
-					reply = DONT;
-					break;
-				case TELOPT_EOR:
-					if(debug > 2) 
-						System.out.println("EOR");
-					reply = DONT;
-					break;
-				default:
-					if(debug > 2) 
-						System.out.println(
-							"<UNKNOWN,"+b+">"
-						);
-					reply = DONT;
-					break;
-				}
-				if (	reply != sentDX[b+128] ||
-					WONT != receivedWX[b+128]
-				) {
-					sendbuf[0]=IAC;
-					sendbuf[1]=reply;
-					sendbuf[2]=b;
-					send(sendbuf);
-					sentDX[b+128] = reply;
-					receivedWX[b+128] = WILL;
-				}
-				neg_state = STATE_DATA;
-				break;
-			case STATE_IACDO:
-				switch (b) {
-				case TELOPT_ECHO:
-					if(debug > 2) 
-						System.out.println("ECHO");
-					reply = WILL;
-					vec = new Vector(2);
-					vec.addElement("LOCALECHO");
-					peer.notifyStatus(vec);
-					break;
-				case TELOPT_TTYPE:
-					if(debug > 2) 
-						System.out.println("TTYPE");
-					reply = WILL;
-					break;
-				case TELOPT_NAWS:
-					if(debug > 2) 
-						System.out.println("NAWS");
-					vec = new Vector(2);
-					vec.addElement("NAWS");
-					Dimension size = (Dimension)
-						peer.notifyStatus(vec);
-					receivedDX[b] = DO;
-					if(size == null)
-					{
-						/* this shouldn't happen */
-						send(IAC);
-						send(WONT);
-						send(TELOPT_NAWS);
-						reply = WONT;
-						sentWX[b] = WONT;
-						break;
-					}
-					reply = WILL;
-					sentWX[b] = WILL;
-					sendbuf[0]=IAC;
-					sendbuf[1]=WILL;
-					sendbuf[2]=TELOPT_NAWS;
-					send(sendbuf);
-					send(IAC);send(SB);send(TELOPT_NAWS);
-					send((byte) (size.width >> 8));
-					send((byte) (size.width & 0xff));
-					send((byte) (size.height >> 8));
-					send((byte) (size.height & 0xff));
-					send(IAC);send(SE);
-					break;
-				default:
-					if(debug > 2) 
-						System.out.println(
-							"<UNKNOWN,"+b+">"
-						);
-					reply = WONT;
-					break;
-				}
-				if (	reply != sentWX[128+b] ||
-					DO != receivedDX[128+b]
-				) {
-					sendbuf[0]=IAC;
-					sendbuf[1]=reply;
-					sendbuf[2]=b;
-					send(sendbuf);
-					sentWX[b+128] = reply;
-					receivedDX[b+128] = DO;
-				}
-				neg_state = STATE_DATA;
-				break;
-			case STATE_IACDONT:
-				switch (b) {
-				case TELOPT_ECHO:
-					if(debug > 2) 
-						System.out.println("ECHO");
-					reply	= WONT;
-					vec = new Vector(2);
-					vec.addElement("NOLOCALECHO");
-					peer.notifyStatus(vec);
-					break;
-				case TELOPT_NAWS:
-					if(debug > 2) 
-						System.out.println("NAWS");
-					reply	= WONT;
-					break;
-				default:
-					if(debug > 2) 
-						System.out.println(
-							"<UNKNOWN,"+b+">"
-						);
-					reply	= WONT;
-					break;
-				}
-				if (	reply	!= sentWX[b+128] ||
-					DONT	!= receivedDX[b+128]
-				) {
-					send(IAC);send(reply);send(b);
-					sentWX[b+128]		= reply;
-					receivedDX[b+128]	= DONT;
-				}
-				neg_state = STATE_DATA;
-				break;
-			case STATE_IACSBIAC:
-				if(debug > 2) System.out.println(""+b+" ");
-				if (b == IAC) {
-					sbcount		= 0;
-					current_sb	= b;
-					neg_state	= STATE_IACSBDATA;
-				} else {
-					System.out.println("(bad) "+b+" ");
-					neg_state	= STATE_DATA;
-				}
-				break;
-			case STATE_IACSB:
-				if(debug > 2) System.out.println(""+b+" ");
-				switch (b) {
-				case IAC:
-					neg_state = STATE_IACSBIAC;
-					break;
-				default:
-					current_sb	= b;
-					sbcount		= 0;
-					neg_state	= STATE_IACSBDATA;
-					break;
-				}
-				break;
-			case STATE_IACSBDATA:
-				if (debug > 2) System.out.println(""+b+" ");
-				switch (b) {
-				case IAC:
-					neg_state = STATE_IACSBDATAIAC;
-					break;
-				default:
-					sbbuf[sbcount++] = b;
-					break;
-				}
-				break;
-			case STATE_IACSBDATAIAC:
-				if (debug > 2) System.out.println(""+b+" ");
-				switch (b) {
-				case IAC:
-					neg_state = STATE_IACSBDATA;
-					sbbuf[sbcount++] = IAC;
-					break;
-				case SE:
-					handle_sb(current_sb,sbbuf,sbcount);
-					current_sb	= 0;
-					neg_state	= STATE_DATA;
-					break;
-				case SB:
-					handle_sb(current_sb,sbbuf,sbcount);
-					neg_state	= STATE_IACSB;
-					break;
-				default:
-					neg_state	= STATE_DATA;
-					break;
-				}
-				break;
-			default:
-				if (debug > 2) 
-					System.out.println(
-						"This should not happen: "+
-						neg_state+" "
-					);
-				neg_state = STATE_DATA;
-				break;
-			}
-		}
-		buf	= new byte[noffset];
-		System.arraycopy(nbuf, 0, buf, 0, noffset);
-		return buf;
-	}
-}
diff --git a/web/root/telnet/socket/TelnetWrapper.class b/web/root/telnet/socket/TelnetWrapper.class
deleted file mode 100644
index afd702d1c44a904c9966ced29ae10322d12a0098..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5705
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

diff --git a/web/root/telnet/socket/TelnetWrapper.java b/web/root/telnet/socket/TelnetWrapper.java
deleted file mode 100644
index a7f6c7fb2a..0000000000
--- a/web/root/telnet/socket/TelnetWrapper.java
+++ /dev/null
@@ -1,396 +0,0 @@
-package socket;
-
-import java.io.IOException;
-import java.util.Date;
-
-/** Wrapper for a Java Telnet call. 
- * To use, make a new TelnetWrapper() with the name or IP address of a host.
- * Then, for most uses, the easiest way is to call setPrompt() with the
- * expected prompt, then call login(), and a sequence of sendLine()'s
- * until you get what you want done.
- * <P>
- * If you don't know the prompt ahead of time, you have to do a sequence of
- * send() and wait() or receiveUntil() calls.  send() sends a string across
- * the telnet connection. Add a '\r' to the end if you want to
- * complete a command. wait() waits for an exact string from the other side
- * of the telnet connection, and returns nothing,
- * receiveUntil() also waits for a string, but returns all the data
- * that it received while waiting, including the string itself. 
- * Use this if you want the output from a command. Please note that
- * the telnet connection will usually echo the sent command. 
- * <P>
- * sendLine() is generally better, since it adds the '\r'
- * automatically, waits for the prompt before returning, and returns all
- * data received before the prompt, with the prompt itself cut off the
- * end, and the sent command cut off the beginning. login() and
- * sendLine() are implemented using send(), wait() and receiveUntil().
- * They can be freely mixed and matched.
- * <P>
- * Here is a simple example of the use of TelnetWrapper:
- * <PRE>
- * // creates a new file in /tmp, lists the directory to prove it done
- * {
- *   TelnetWrapper telnet = new TelnetWrapper("123.45.78.90");
- *
- *   // setting the correct prompt ahead of time is very important 
- *   // if you want to use login and sendLine
- *   telnet.setPrompt("$ ");
- *   telnet.login("loginname", "password");
- *
- *   // this is how you have to do it otherwise
- *   telnet.send("touch /tmp/TELNET_WRAPPER" + "\r");
- *   telnet.wait("$ ");
- *
- *   // sendLine 1: adds the \r automatically, 2: waits for the prompt
- *   // before returning 3: returns what was printed from the command
- *   String ls = telnet.sendLine("ls /tmp");
- *   System.out.println(ls);
- *
- *   // clean up
- *   telnet.disconnect();
- * } 
- * </PRE>
- * @author George Ruban 3/4/97
- * @version 0.2 5/15/97 - added comments, replaced String += with
- *    StringBuffer.append() in receiveUntil(), added port constructor
- * @version 0.3 7/30/97 - added optional timeout to receiveUntil() and wait()
- * @see TelnetIO
- */
-public class TelnetWrapper
-{
-  /** The telnet connection. That which is wrapped. */
-  TelnetIO tio;
-  /** Set to true for System.out.println debugging. */
-  public boolean debug = false;
-  /** The current prompt on the remote system. */
-  private String prompt;
-
-  /** The default prompt used by all TelnetWrappers unless specifically
-   * overridden.
-   * @see #setPrompt
-   */
-  private static String defaultPrompt = "$ ";
-
-  /** The default login name used by TelnetWrappers.
-   * If defaultLogin and defaultPassword are both non-null
-   * when a TelnetWrapper is created, the TelnetWrapper will attempt
-   * to login.
-   */
-  private static String defaultLogin = null;
-
-  /** The default password used by TelnetWrappers.
-   * If defaultLogin and defaultPassword are both non-null
-   * when a TelnetWrapper is created, the TelnetWrapper will attempt
-   * to login.
-   */
-  private static String defaultPassword = null;
-  
-  /** Skip any received data until the token appears. 
-   * More efficient than receiveUntil, but liable to fail on large
-   * tokens that can be spread over several "send"s. In that case,
-   * consider using receiveUntil and ignoring the return value.
-   * @param token String to wait for
-   * @exception IOException on problems with the socket connection
-   * @see #receiveUntil
-   */
-  public void wait(String token) throws IOException
-  {
-    wait(token, -1);
-  }
-
-  /** Wait for a String or a timeout. 
-   * If time runs out, throws a TimedOutException.
-   * Sleeps in intervals of 100 milliseconds until either receiving the
-   * token or timeout.
-   * <P>
-   * More efficient than receiveUntil, but liable to fail on large
-   * tokens that can be spread over several "send"s. In that case,
-   * consider using receiveUntil and ignoring the return value.
-   * @param token String to wait for
-   * @param timeout time in milliseconds to wait (negative means wait forever)
-   * @exception IOException on problems with the socket connection
-   * @exception TimedOutException if time runs out before token received
-   * @see #receiveUntil(String, long)
-   */
-  public void wait(String token, long timeout) 
-    throws IOException, TimedOutException
-  {
-    if(debug) System.out.println("wait(" + token + ", " + timeout + ")...");
-    String tmp = "";
-    long deadline = 0;
-    if(timeout >= 0) 
-      deadline = new Date().getTime() + timeout;
-    
-    do {
-      if(timeout >= 0)
-      {
-	while(available() <= 0)
-	{
-	  if(new Date().getTime() > deadline) 
-	    throw new TimedOutException();
-	  try{
-	    Thread.currentThread().sleep(100);
-	  }
-	  catch(InterruptedException ignored)
-	  {}
-	}
-      }
-      tmp = receive();
-    } while(tmp.indexOf(token) == -1);
-    if(debug) System.out.println("wait(" + token  + ", " + timeout + 
-				 ") successful.");
-  }
-
-  /** Returns bytes available to be read.  Since they haven't been
-   * negotiated over, this could be misleading...
-   */
-  public int available() throws IOException
-  {
-    return tio.available();
-  }
-	
-  /** Returns a String from the telnet connection. Blocks
-   * until one is available. No guarantees that the string is in
-   * any way complete.
-   * NOTE: uses Java 1.0.2 style String-bytes conversion.*/
-  public String receive() throws IOException
-  {
-    String s = new String(receiveBytes(), 0);
-    if(debug) System.out.println(s);
-    return s;
-  }
-
-  /** Returns a byte array. Blocks until data is available. */
-  public byte[] receiveBytes() throws IOException
-  {
-    return tio.receive();
-  }
-
-  /** Returns all data received up until a certain token. 
-   * @param token String to wait for
-   * @exception IOException on problems with the socket connection
-   * @see #wait
-   */
-  public String receiveUntil(String token) throws IOException
-  {
-    return receiveUntil(token, -1);
-  }
-  
-
-  /** Returns all data received up until a certain token. 
-   * @param token String to wait for
-   * @param timeout time in milliseconds to wait (negative means wait forever)
-   * @exception IOException on problems with the socket connection
-   * @exception TimedOutException if time runs out before token received
-   * @see #wait(String, long)
-   */
-  public String receiveUntil(String token, long timeout) 
-    throws IOException, TimedOutException
-  {
-    StringBuffer buf = new StringBuffer();
-    long deadline = 0;
-    if(timeout >= 0) 
-      deadline = new Date().getTime() + timeout;
-    do
-    {
-      if(timeout >= 0)
-      {
-	while(available() <= 0)
-	{
-	  if(new Date().getTime() > deadline) 
-	    throw new TimedOutException();
-	  try{
-	    Thread.currentThread().sleep(100);
-	  }
-	  catch(InterruptedException ignored)
-	  {}
-	}
-      }
-      buf.append(receive());
-    } while(buf.toString().indexOf(token) == -1);
-    return buf.toString();
-  }
-  
-  /** Sends a String to the remote host.
-   * NOTE: uses Java 1.0.2 style String-bytes conversion.
-   * @exception IOException on problems with the socket connection
-   */
-  public void send(String s) throws IOException
-  {
-    if(debug) System.out.println(s);
-    byte[] buf = new byte[s.length()];
-    s.getBytes(0, buf.length, buf, 0);
-    tio.send(buf);
-  }
-
-  /** Sends a line to the remote host, returns all data before the prompt.
-   * Since telnet seems to rely on carriage returns ('\r'), 
-   * one will be appended to the sent string, if necessary.
-   * @param command command line to send
-   * @return whatever data the command produced before the prompt.
-   * @see #setPrompt
-   */
-  public String sendLine(String command) throws IOException
-  {
-    if(command.charAt(command.length() -1) != '\r') 
-      command += "\r";
-    send(command);
-    String s = receiveUntil(prompt);
-
-    // telnet typically echoes the command with a \r\n ending...
-    return s.substring(command.length() + 1, s.indexOf(prompt));
-  }
-  
-  /** Sends bytes over the telnet connection. */
-  public void send(byte[] buf) throws IOException
-  {
-    tio.send(buf);
-  }
-  
-  /** Logs in as a particular user and password. 
-    * Returns after receiving prompt. */
-  public void login(String loginName, String password) throws IOException
-  {
-    wait("login:");
-    send(loginName + "\r");
-    wait("Password:");
-    sendLine(password + "\r");
-  }
-    
-  /** Connects to the default telnet port on the given host. 
-   * If the defaultLogin and defaultPassword are non-null, attempts login. */
-  public TelnetWrapper(String host) throws IOException
-  {
-    tio = new TelnetIO();
-    setPrompt(defaultPrompt);
-    tio.connect(host);
-    if(defaultLogin != null && defaultPassword != null)
-    {
-      login(defaultLogin, defaultPassword);
-    }
-  }
-
-  /** Connects to a specific telnet port on the given host. 
-   * If the defaultLogin and defaultPassword are non-null, attempts login. */
-  public TelnetWrapper(String host, int port) throws IOException
-  {
-    tio = new TelnetIO();
-    setPrompt(defaultPrompt);
-    tio.connect(host, port);
-    if(defaultLogin != null && defaultPassword != null)
-    {
-      login(defaultLogin, defaultPassword);
-    }
-  }
-  
-  /** Sets the expected prompt. 
-   * If this function is not explicitly called, the default prompt is used.
-   * @see #setDefaultPrompt
-   */
-  public void setPrompt(String prompt)
-  {
-    if(prompt == null) throw new IllegalArgumentException("null prompt.");
-    this.prompt = prompt;
-  }
-
-  /** Sets the default prompt used by all TelnetWrappers.
-   * This can be specifically overridden for a specific instance.
-   * The default prompt starts out as "$ " until this function is called.
-   * @see #setPrompt
-   */
-  public static void setDefaultPrompt(String prompt)
-  {
-    if(prompt == null) throw new IllegalArgumentException("null prompt.");
-    defaultPrompt = prompt;
-  }
-
-  /** Sets the default login used by TelnetWrappers.
-   * If this method is called with non-null login and password,
-   * all TelnetWrappers will attempt to login when first created.
-   * @param login login name to use
-   * @param password password to use
-   * @see #login
-   * @see #unsetLogin
-   */
-  public static void setLogin(String login, String password)
-  {
-    if(login == null || password == null)
-      throw new IllegalArgumentException("null login or password.");
-    defaultLogin = login;
-    defaultPassword = password;
-  }
-
-
-  /** Turns off the default login of TelnetWrappers.
-   * After this method is called, TelnetWrappers will not
-   * login until that method is explicitly called.
-   * @see #setLogin
-   * @see #login
-   */
-  public static void unsetLogin()
-  {
-    defaultLogin = defaultPassword = null;
-  }
-  
-  /** Ends the telnet connection. */
-  public void disconnect() throws IOException
-  {
-    if(tio != null) tio.disconnect();
-    tio = null;
-  }
-  
-  /** Ends the telnet connection. */
-  public void finalize()
-  {
-    try
-    {
-      disconnect();
-    }
-    catch(IOException e)
-    {} // after all, what can be done at this point?
-  }  
-
-  /** Telnet test driver.
-   * Modeled after the IOtest.java example in the Telnet Applet.
-   * Logs in to "host", creates a timestamped file in /tmp, lists the
-   * /tmp directory to System.out, disconnects.  Shows off several
-   * TelnetWrapper methods.
-   * @param args host login password prompt
-   */
-  public static void main(String args[]) throws IOException
-  {
-    if(args.length != 4) throw new 
-      IllegalArgumentException("Usage: TelnetWrapper host login password prompt");
-    
-    String host = args[0];
-    String login = args[1];
-    String password = args[2];
-    String prompt = args[3];
-
-    Date now = new Date();
-    String timestamp = now.getYear() + "-" +
-		(now.getMonth()+1) + "-" + now.getDate() + "-" +
-		  now.getHours() + ":" + now.getMinutes() + ":" +
-		    now.getSeconds();
-    TelnetWrapper telnet = new TelnetWrapper(host);
-    telnet.debug = true;
-
-    // setting the correct prompt ahead of time is very important 
-    // if you want to use login and sendLine
-    telnet.setPrompt(prompt);
-    telnet.login(login, password);
-
-    // this is how you have to do it otherwise
-    telnet.send("touch /tmp/TELNET_WRAPPER-" + timestamp + "\r");
-    telnet.wait(prompt);
-
-    // sendLine 1: adds the \r automatically, 2: waits for the prompt
-    // before returning 3: returns what was printed from the command
-    String ls = telnet.sendLine("ls /tmp");
-    System.out.println(ls);
-
-    // clean up
-    telnet.disconnect();
-  }
-}
-
diff --git a/web/root/telnet/socket/TimedOutException.class b/web/root/telnet/socket/TimedOutException.class
deleted file mode 100644
index 274c0796a57b759a398048452383233ec17c6112..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 434
zcmX^0Z`VEsW(HjbQFaDFb_QWC21W)}5W&X7z{$W4A~+Zsm^C!R7#T!0e6kYD67_Qu
z^V0Q$ONuh{(yc+_Y&MyBnI(3N3@pz1DXEMM{63j^seYxoNvTC4iAg!Bj0{4U8bN~j
z$%#2(iA9+pMNpMeKE?UT*{LP^A(^?UDgLD;t`*6t1tppJdDe^!T*3LJMaijdnIJR8
zFjVM)T*t^D45IWi^YuOb;hGs4*mF~hixbmR85tyS*}%xaQj(Eb%%I4?#K6b^0w9``
zft`Vofs28GL7#yUEY7O6oq>5H0|NsS12+Q$0~=V7i-DJcfq@6iW@Qjz;A3E5U}WHA
x;DBnjV_;%n0;$&0-p;^+(9H!F6<}ax-~*c=2IjLtO#qoL1U8kCfgfz6005DWRZ;)|

diff --git a/web/root/telnet/socket/TimedOutException.java b/web/root/telnet/socket/TimedOutException.java
deleted file mode 100644
index ac9621714d..0000000000
--- a/web/root/telnet/socket/TimedOutException.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package socket;
-import java.io.IOException;
-
-/** Exception thrown when a Telnet connection takes too long
- * before receiving a specified String token.
- * @author George Ruban
- * @version 0.1 7/30/97 */
-public class TimedOutException extends IOException
-{
-  public TimedOutException()
-  {
-  }
-
-  public TimedOutException(String message)
-  {
-    super(message);
-  }
-}
-
diff --git a/web/root/telnet/telnet.class b/web/root/telnet/telnet.class
deleted file mode 100644
index fb4bd00a58ea4ab22ff3c73f40e1ae680beb76f6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 10936
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

diff --git a/web/root/telnet/telnet.java b/web/root/telnet/telnet.java
deleted file mode 100644
index e99235295b..0000000000
--- a/web/root/telnet/telnet.java
+++ /dev/null
@@ -1,576 +0,0 @@
-/**
- * telnet -- implements a simple telnet
- * --
- * $Id: telnet.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Mon Aug  4 13:11:14 1997 by Matthias L. Jugel :$
- *
- * This file is part of "The Java Telnet Applet".
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be 
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-import java.applet.Applet;
-import java.awt.Frame;
-import java.awt.Component;
-import java.awt.Container;
-import java.awt.BorderLayout;
-import java.awt.Dimension;
-import java.awt.Panel;
-import java.awt.Event;
-import java.util.Vector;
-import java.util.Hashtable;
-import java.util.Enumeration;
-import java.io.IOException;
-
-import socket.TelnetIO;
-import socket.StatusPeer;
-
-import display.Terminal;
-import display.TerminalHost;
-
-import modules.Module;
-
-/**
- * A telnet implementation that supports different terminal emulations.
- * @version $Id: telnet.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * @author  Matthias L. Jugel, Marcus Mei�ner
- */
-public class telnet extends Applet implements Runnable, TerminalHost, StatusPeer
-{
-  /**
-   * The telnet io methods.
-   * @see socket.TelnetIO
-   */
-  protected TelnetIO tio;
-
-  /**
-   * The terminal emulation (dynamically loaded).
-   * @see emulation
-   * @see display.Terminal
-   * @see display.TerminalHost
-   */
-  protected Terminal term;
-
-  /**
-   * The host address to connect to. This is retrieved from the PARAM tag
-   * "address".
-   */
-  protected String address;
-
-  /**
-   * The port number (default ist 23). This can be specified as the PARAM tag
-   * "port".
-   */
-  protected int port = 23;
-
-  /**
-   * The proxy ip address. If this variable is set telnet will try to connect
-   * to this address and then send a string to tell the relay where the
-   * target host is.
-   * @see address
-   */
-  protected String proxy = null;
-  /**
-   * The proxy port number. This is the port where the relay is expected to
-   * listen for incoming connections.
-   * @see proxy
-   * @see port
-   */
-  protected int proxyport;
-  
-  /**
-   * Emulation type (default is vt320). This can be specified as the PARAM
-   * tag "emulation".
-   * @see term
-   * @see display.Terminal
-   * @see display.TerminalHost
-   */
-  protected String emulation = "vt320";
-
-  /**
-   * Dynamically loaded modules are stored here.
-   */
-  protected Vector modules = null;
-
-  // some state variables;
-  private boolean localecho = true;
-  private boolean connected = false;
-
-  private Thread t;
-  private Container parent;
-
-  /**
-   * This Hashtable contains information retrievable by getParameter() in case
-   * the program is run as an application and the AppletStub is missing.
-   */
-  public Hashtable params;
-
-  /** 
-   * Retrieve the current version of the applet.
-   * @return String a string with the version information.
-   */
-  public String getAppletInfo()
-  {
-    String info = "The Java(tm) Telnet Applet\n$Id: telnet.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $\n";
-    info += "Terminal emulation: "+term.getTerminalType()+
-      " ["+term.toString()+"]\n";
-    info += "Terminal IO version: "+tio.toString()+"\n";
-    if(modules != null && modules.size() > 0) {
-      info += "Resident modules loaded: ("+modules.size()+")";
-      for(int i = 0; i < modules.size(); i++)
-        info += "   + "+(modules.elementAt(i)).toString()+"\n";
-    }
-    
-    return info;
-  }
-    
-  /**
-   * Retrieve parameter tag information. This includes the tag information from
-   * terminal and loaded modules.
-   * @return String an array of array of string with tag information
-   * @see java.applet.Applet#getParameterInfo
-   */
-  public String[][] getParameterInfo()
-  {
-    String pinfo[][];
-    String info[][] = {
-      {"address",  "String",   "IP address"},
-      {"port",     "Integer",  "Port number"},
-      {"proxy",    "String",   "IP address of relay"},
-      {"proxyport","Integer",  "Port number of relay"},
-      {"emulation","String",   "Emulation to be used (standard is vt320)"},
-      {"localecho","String",   "Localecho Mode (on/off/auto)"},
-    };
-    String tinfo[][] = (term != null ? term.getParameterInfo() : null);
-    if(tinfo != null) pinfo = new String[tinfo.length + 3][3];
-    else pinfo = new String[3][3];
-    System.arraycopy(info, 0, pinfo, 0, 3);
-    System.arraycopy(tinfo, 0, pinfo, 3, tinfo.length);
-    return pinfo;
-  }
-
-  /**
-   * We override the Applet method getParameter() to be able to handle 
-   * parameters even as application.
-   * @param name The name of the queried parameter.
-   * @return the value of the parameter
-   * @see java.applet.Applet#getParameter
-   */ 
-  public String getParameter(String name)
-  {
-    if(params == null) return super.getParameter(name);
-    return (String)params.get(name);
-  }
-
-  /**
-   * The main function is called on startup of the application.
-   */
-  public static void main(String args[]) 
-  {
-    // an application has to create a new instance of itself.
-    telnet applet = new telnet();
-
-    // create params from command line arguments
-    applet.params = new Hashtable();
-    switch(args.length) 
-    {
-    case 2: applet.params.put("port", args[1]);
-    case 1: applet.params.put("address", args[0]); 
-      break;
-    default: 
-      System.out.println("Usage: java telnet host [port]");
-      System.exit(0);
-    } 
-    applet.params.put("VTscrollbar", "true");
-    applet.params.put("module#1", "ButtonBar");
-    applet.params.put("1#Button", "Exit|\\$exit()");
-    applet.params.put("2#Button", "Connect|\\$connect(\\@address@,\\@port@)");
-    applet.params.put("3#Input", "address#30|"
-          +(args.length > 0 ? args[0] : "localhost"));
-    applet.params.put("4#Input", "port#4|23");
-    applet.params.put("5#Button", "Disconnect|\\$disconnect()");
-
-    // we put the applet in its own frame
-    Frame frame = new Frame("The Java Telnet Application ["+args[0]+"]");
-    frame.setLayout(new BorderLayout());
-    frame.add("Center", applet);
-    frame.resize(380, 590);
-
-    applet.init();
-
-    frame.pack();
-    frame.show();
-
-    applet.start();
-  }
-  
-  /**
-   * Initialize applet. This method reads the PARAM tags "address",
-   * "port" and "emulation". The emulation class is loaded dynamically.
-   * It also loads modules given as parameter "module#<nr>".
-   */
-  public void init()
-  {
-    String tmp; 
-
-    // save the current parent for future use
-    parent = getParent();
-    
-    // get the address we want to connect to
-    if((address = getParameter("address")) == null)
-      address = getDocumentBase().getHost();
-
-    if((tmp = getParameter("port")) == null) 
-      port = 23;
-    else
-      port = Integer.parseInt(tmp);
-
-    if((proxy = getParameter("proxy")) != null)
-      if((tmp = getParameter("proxyport")) == null)
-        proxyport = 31415;
-      else
-        proxyport = Integer.parseInt(tmp);
-    
-    if((emulation = getParameter("emulation")) == null)
-      emulation = "vt320";
-
-    // load the terminal emulation
-    try {
-      term = (Terminal)Class.forName("display."+emulation).newInstance();
-      System.out.println("telnet: load terminal emulation: "+emulation);
-    } catch(Exception e) {
-      System.err.println("telnet: cannot load terminal emulation "+emulation);
-      e.printStackTrace();
-    }
-    setLayout(new BorderLayout());
-    
-    // load modules, position is determined by the @<position> modifier
-    modules = new Vector();
-    int nr = 1;
-    while((tmp = getParameter("module#"+nr++)) != null) try {
-      Panel north = null, south = null, west = null, east = null;
-      String position = "North", initFile = null;
-
-      // try to get the initialization file name
-      if(tmp.indexOf(',') != -1) {
-        initFile = tmp.substring(tmp.indexOf(','+1));
-        tmp = tmp.substring(0, tmp.indexOf(','));
-        initFile = tmp.substring(tmp.indexOf(','+1));
-      }
-           
-      // find the desired location
-      if(tmp.indexOf('@') != -1) {
-        position = tmp.substring(tmp.indexOf('@')+1);
-        tmp = tmp.substring(0, tmp.indexOf('@'));
-      } 
-      Object obj = (Object)Class.forName("modules."+tmp).newInstance();
-
-      // probe for module (implementing modules.Module)
-      try {
-        ((Module)obj).setLoader(this);
-        modules.addElement((Module)obj);
-        System.out.println("telnet: module "+tmp+" detected");
-      } catch(ClassCastException e) {
-        System.out.println("telnet: warning: "+tmp+" may not be a "+
-                           "valid module");
-      }
-
-      // probe for visible component (java.awt.Component and descendants)
-      try {
-	Component component = (Component)obj;
-	if(position.equals("North")) {
-          if(north == null) { north = new Panel(); add("North", north); }
-          north.add(component);
-        } else if(position.equals("South")) {
-          if(south == null) { south = new Panel(); add("South", south); }
-          south.add(component);
-        } else if(position.equals("East")) {
-          if(east == null) { east = new Panel(); add("East", east); }
-          east.add(component);
-        } else if(position.equals("West")) {
-          if(west == null) { west = new Panel(); add("West", west); } 
-          west.add(component);
-        }
-        System.err.println("telnet: module "+tmp+" is a visible component");
-      } catch(ClassCastException e) {}
-
-    } catch(Exception e) {
-      System.err.println("telnet: cannot load module "+tmp);
-      e.printStackTrace();
-    }
-    if(modules.isEmpty()) modules = null;
-    add("Center", term);
-  }
-
-  /**
-   * Upon start of the applet try to create a new connection.
-   */
-  public void start()
-  {
-    if(!connect(address, port) && params == null)
-      showStatus("telnet: connection to "+address+" "+port+" failed");
-  }
-
-  /**
-   * Disconnect when the applet is stopped.
-   */
-  public final void stop()
-  {
-    disconnect();
-  }
-
-  /**
-   * Try to read data from the sockets and put it on the terminal.
-   * This is done until the thread dies or an error occurs.
-   */
-  public void run()
-  {
-    while(t != null)
-      try {
-        String tmp = new String(tio.receive(), 0);
-
-        // cycle through the list of modules
-        if(modules != null) {
-          Enumeration modlist = modules.elements();
-          while(modlist.hasMoreElements()) {
-            Module m = (Module)modlist.nextElement();
-            String modified = m.receive(tmp);
-            // call the receive() method and if it returns null
-            // remove the module from the list
-            if(modified == null) modules.removeElement(m);
-            else tmp = modified;
-          }
-        }
-        // put the modified string to the terminal
-        term.putString(tmp);
-    } catch(IOException e) {
-      disconnect();
-    }
-  }
-
-  /**
-   * Connect to the specified host and port but don't break existing 
-   * connections. Connects to the host and port specified in the tags. 
-   * @return false if connection was unsuccessful
-   */
-  public boolean connect()
-  {
-    return connect(address, port);
-  }
-
-  /**
-   * Connect to the specified host and port but don't break existing 
-   * connections. Uses the port specified in the tags or 23.
-   * @param host destination host address
-   */
-  public boolean connect(String host)
-  {
-    return connect(host, port);
-  }
-  
-  /**
-   * Connect to the specified host and port but don't break existing 
-   * connections.
-   * @param host destination host address
-   * @param prt destination hosts port
-   */
-  public boolean connect(String host, int prt)
-  {
-    address = host; port = prt;
-
-    if(address == null || address.length() == 0) return false;
-    
-    // There should be no thread when we try to connect
-    if(t != null && connected) {
-      System.err.println("telnet: connect: existing connection preserved");
-      return false;
-    } else t = null;
-    
-    try {
-      // In any case try to disconnect if tio is still active
-      // if there was no tio create a new one.
-      if(tio != null) try { tio.disconnect(); } catch(IOException e) {}
-      else (tio = new TelnetIO()).setPeer(this);
-
-      term.putString("Trying "+address+(port==23?"":" "+port)+" ...\n\r");
-      try {
-        // connect to to our destination at the given port
-        if(proxy != null) {
-          tio.connect(proxy, proxyport);
-          String str = "relay "+address+" "+port+"\n";
-          byte[] bytes = new byte[str.length()];
-          str.getBytes(0, str.length(), bytes, 0);
-          tio.send(bytes);
-        } else 
-          tio.connect(address, port);
-        term.putString("Connected to "+address+".\n\r");
-        // initial conditions are connected and localecho
-        connected = true;
-        localecho = true;
-	if ( (getParameter("localecho")!=null) && 
-	     getParameter("localecho").equals("no")
-        )
-	  localecho = false;
-
-        // cycle through the list of modules and notify connection
-        if(modules != null) {
-          Enumeration modlist = modules.elements();
-          while(modlist.hasMoreElements())
-            // call the connect() method
-            ((Module)modlist.nextElement()).connect(address, port);
-        }
-      } catch(IOException e) {
-        term.putString("Failed to connect.\n\r");
-        // to be sure, we remove the TelnetIO instance
-        tio = null;
-        System.err.println("telnet: failed to connect to "+address+" "+port);
-        e.printStackTrace();
-        return false;
-      }
-      // if our connection was successful, create a new thread and start it
-      t = new Thread(this);
-      t.setPriority(Thread.MIN_PRIORITY);
-      t.start();
-    } catch(Exception e) {
-      // hmm, what happened?
-      System.err.println("telnet: an error occured:");
-      e.printStackTrace();
-      return false;
-    }
-    return true;
-  }
-
-  /**
-   * Disconnect from the remote host.
-   * @return false if there was a problem disconnecting.
-   */
-  public boolean disconnect()
-  {
-    if(tio == null) {
-      System.err.println("telnet: no connection");
-      return false;
-    }
-    try {
-      connected = false; t = null;
-      // cycle through the list of modules and notify connection
-      if(modules != null) {
-        Enumeration modlist = modules.elements();
-        while(modlist.hasMoreElements())
-          // call the disconnect() method
-          ((Module)modlist.nextElement()).disconnect();
-      }
-      term.putString("\n\rConnection closed.\n\r");
-      tio.disconnect();
-    } catch(Exception e) {
-      System.err.println("telnet: disconnection problem");
-      e.printStackTrace();
-      tio = null; t = null;
-      return false;
-    }
-    return true;
-  }
-  
-  /**
-   * Send a String to the remote host. Implements display.TerminalHost
-   * @param s String to be sent
-   * @return true if we are connected
-   * @see display.TerminalHost
-   */
-  public boolean send(String str)
-  {
-    if(connected) try {
-      byte[] bytes = new byte[str.length()];
-      str.getBytes(0, str.length(), bytes, 0);
-      tio.send(bytes);
-      if(localecho) {
-        if ((str.length()==2) && (str.charAt(0)=='\r') && (str.charAt(1)==0))
-          term.putString("\r\n");
-        else
-          term.putString(str);
-      }
-    } catch(Exception e) {
-      System.err.println("telnet.send(): disconnected");
-      disconnect();
-      return false;
-    }
-    else return false;
-    return true;
-  }
-
-  /**
-   * Send a String to the remote Host.
-   * @param str String to be sent
-   * @return true if we are connected
-   * @see modules.BSXModule
-   */
-  public boolean writeToSocket(String str)
-    {
-      if (connected) try {
-	byte[] bytes = new byte[str.length()];
-	str.getBytes(0, str.length(), bytes, 0);
-	tio.send(bytes);
-      } catch(Exception e) {
-	System.err.println("telnet.send(): disconnected");
-	disconnect();
-	return false;
-      }
-      else return false;
-      return true;
-    }
-  /**
-   * Send a String to the users terminal
-   * @param str String to be displayed
-   * @return void
-   * @see modules.BSXModule
-   */
-  public void writeToUser(String str)
-  {
-    if (term!=null)
-      term.putString(str);
-  }
-
-  /**
-   * This method is called when telnet needs to be notified of status changes.
-   * @param status Vector of status information.
-   * @return an object of the information requested.
-   * @see socket.StatusPeer
-   */
-  public Object notifyStatus(Vector status)
-  {
-    String what = (String)status.elementAt(0);
-
-    if(what.equals("NAWS"))
-      return term.getSize();
-    if(what.equals("TTYPE"))
-      if(term.getTerminalType() == null)
-        return emulation;
-      else return term.getTerminalType();
-
-    if(what.equals("LOCALECHO") || what.equals("NOLOCALECHO")) {
-      boolean nlocalecho = localecho ;
-    if(what.equals("LOCALECHO"))
-	nlocalecho = true;
-    if(what.equals("NOLOCALECHO")) 
-	nlocalecho = false;
-      if ( (getParameter("localecho")==null) ||
-	   getParameter("localecho").equals("auto")
-      )
-	localecho = nlocalecho;
-      /* else ignore ... */
-    }
-    return null;
-  }
-}
diff --git a/web/root/telnet/tools/Makefile b/web/root/telnet/tools/Makefile
deleted file mode 100644
index 860d4590dc..0000000000
--- a/web/root/telnet/tools/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# This file is part of "The Java Telnet Applet".
-#
-# This is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# "The Java Telnet Applet" is distributed in the hope that it will be 
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with The JAVA Telnet Applet; see the file COPYING.  If not, write to 
-# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-OPT	= -O
-DEBUG	= -g
-
-.SUFFIXES: .java .class .html
-
-.java.class:
-	javac -classpath ../:$(CLASSPATH) $(OPT) $(DEBUG) $<
-
-.class.html:	
-	(env CLASSPATH=../:$(CLASSPATH); appletviewer $@)
-
-all: proxy.class 
-
-relay: mrelayd relayd
-
-clean:	
-	rm -f *~ 
-
-realclean:	clean
-	rm -f *.class relayd mrelayd
-
-# dependencies
-
-proxy.class: proxy.java
-redirector.class: proxy.java
diff --git a/web/root/telnet/tools/mrelayd b/web/root/telnet/tools/mrelayd
deleted file mode 100644
index 9d3ce804bf52195ac9273fd5d06fce36037e41f8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 16535
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
RdyCAEN8K<C*(Qvv000y%FXaFL

diff --git a/web/root/telnet/tools/mrelayd.c b/web/root/telnet/tools/mrelayd.c
deleted file mode 100644
index 27c79aae48..0000000000
--- a/web/root/telnet/tools/mrelayd.c
+++ /dev/null
@@ -1,566 +0,0 @@
-/**
- * mrelayd.c -- a relay daemon
- * --
- * $Id: mrelayd.c,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/* mrelayd.c (c) 1996,1997 Marcus Meissner <marcus@mud.de> */
-
-/* Compile with: cc -o relayd relayd.c
- *           or: gcc -o relayd relayd.c
- * Solaris: (g)cc -o relayd relayd.c -lsocket -lnsl
- */
-
-/* this program expects the string:
- * "relay <hostname> <port>" or "relay <hostname>"
- * after connecting. It will then try to connect to the specified host
- * if failures occur, it will terminate the connection.
- */
-
-/* adjust this to a reasonable limit */
-#define MAXUSERS  120
-
-/* message printed if all slots are used ... */
-#define FAILMESSAGE "Sorry, all slots are full.\r\n"
-
-/* string printed before connection */
-#define RELAYHEADER "Relayd $Revision: 1.1.1.1 $ (c) Marcus Meissner\r\n"
-
-/* the tcp port this demons is listening on ... */
-#define LISTENPORT  31415
-
-/* default connect port (telnet) */
-#define DEFAULTPORT 23
-
-/* default buffersize */
-#define DEFAULTSIZE	2000
-
-#include <stdio.h>
-#ifdef _WIN32
-#include <winsock.h>
-#include <signal.h>
-#define ioctl ioctlsocket
-#define read(a,b,c) recv(a,b,c,0)
-#define write(a,b,c) send(a,b,c,0)
-#define close _lclose
-#define EINTR WSAEINTR
-#define perror xperror
-void xperror(char *s) {
-	fprintf(stderr,"%s: %d\n",s,GetLastError());
-}
-#else
-#include <sys/time.h>
-#include <unistd.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <netdb.h>
-#include <sys/errno.h>
-#include <sys/signal.h>
-#include <sys/fcntl.h>
-#include <sys/ioctl.h>
-#endif
-#include <memory.h>
-#include <malloc.h>
-#include <string.h>
-#include <sys/types.h>
-
-#if defined(sun) && defined(__GNUC__)
-int socket(int,int,int);
-int shutdown(int,int);
-int close(int);
-int bind(int,struct sockaddr*,int);
-int listen(int,int);
-void bzero(char*,int);
-int select(int,fd_set *,fd_set*,fd_set*,struct timeval*);
-int accept(int,struct sockaddr*,int*);
-int connect(int,struct sockaddr*,int);
-int recvfrom(int,char*,int,int,struct sockaddr*,int*);
-/*void perror(char*); SLOWLARIS HASS*/
-/*int sendto(int,char*,int,int,struct sockaddr*,int); SLOWLARIS HASS*/
-#endif
-
-#ifdef hpux
-/* redefinition... to avoid prototype in <time.h> */
-#define FD_CAST int
-#endif
-
-#ifdef sgi
-void bzero(void*,int);
-#endif
-
-#ifndef FD_CAST
-#define FD_CAST fd_set
-#endif
-
-extern int errno;
-
-struct relay {
-	char	*inbuf,*outbuf;
-	int	infd,outfd,incur,outcur,insize,outsize;
-	struct	sockaddr_in	inaddr,outaddr;
-	int	state;
-#define STATE_ACCEPTED		0
-#define STATE_OK		1
-	int	flags;
-#define FLAG_EOF_USER		1
-#define FLAG_EOF_TARGET		2
-#define FLAG_CLOSED_TARGET	4
-#define FLAG_CLOSED_USER	8
-} *relays = NULL;
-int nrofrelays = 0;
-
-void*
-xmalloc(int size) {
-	void*x;
-
-	x=malloc(size);
-	if (!x && size) {
-		fprintf(stderr,"Out of memory, exiting.\n");
-		exit(1);
-	}
-	return x;
-}
-
-void*
-xrealloc(void *y,int size) {
-	void*x;
-
-	x=realloc(y,size);
-	if (!x && size) {
-		fprintf(stderr,"Out of memory, exiting.\n");
-		exit(1);
-	}
-	return x;
-}
-
-static int
-fd_make_nonblocking(int fd) {
-  int     isnonblock=0;
-
-#ifdef FIONBIO
-  if (!isnonblock) {
-    int     b;
-    b=1;
-    if (-1==ioctl(fd,FIONBIO,&b)) {
-      perror("ioctl FIONBIO");
-    } else
-      isnonblock=1;
-  }
-#endif
-#ifdef O_NDELAY
-  if (!isnonblock) {
-    int     flags;
-
-    if (-1==(flags=fcntl(fd,F_GETFL))) {
-      perror("fcntl F_GETFL");
-    } else {
-      flags|=O_NDELAY;
-      if (-1==fcntl(fd,F_SETFL,flags)) {
-        perror("fcntl F_SETFL  O_NDELAY");
-      } else
-        isnonblock=1;
-    }
-  }
-#endif
-#ifdef O_NONBLOCK
-  if (!isnonblock) {
-    int     flags;
-
-    if (-1==(flags=fcntl(fd,F_GETFL))) {
-      perror("fcntl F_GETFL");
-    } else {
-      flags|=O_NONBLOCK;
-      if (-1==fcntl(fd,F_SETFL,flags)) {
-        perror("fcntl F_SETFL  O_NONBLOCK");
-      } else
-        isnonblock=1;
-    }
-  }
-#endif
-  return isnonblock;
-}
-
-void
-clean_connection(struct relay *relay) {
-  if (!relay) return;
-  if (relay->outfd>=0) {
-    if (-1==close(relay->outfd))
-      perror("close");
-    relay->outfd=-1;
-  }
-  if (relay->infd>=0) {
-    if (-1==close(relay->infd))
-      perror("close");
-    relay->infd=-1;
-  }
-  free(relay->outbuf);free(relay->inbuf);
-  memcpy(relay,relay+1,sizeof(struct relay)*(nrofrelays-(relay-relays)-1));
-  relays = xrealloc(relays,sizeof(struct relay)*(--nrofrelays));
-}
-
-void
-main(argc,argv)
-int argc;
-char  **argv;
-{
-  int i,j,res;
-  int acfd;
-  struct  sockaddr_in acsa;
-  char	readbuf[1000],relaystring[1000];
-  struct  in_addr targetaddr;
-#ifdef _WIN32 
-  {
-	WSADATA wsad;
-	
-	WSAStartup(0x0101,&wsad);
-  }
-#else
-  close(0);
-  close(1);
-#endif
-#ifdef SIGPIPE
-  signal(SIGPIPE,SIG_IGN);
-#endif
-#ifdef SIGHUP
-  signal(SIGHUP,SIG_IGN); /* don't terminate on session detach */
-#endif
-  strcpy(relaystring,FAILMESSAGE);
-  if (-1==(acfd=socket(PF_INET,SOCK_STREAM,0))) {
-    perror("socket(accept_socket)");
-    exit(1);
-  }
-
-  acsa.sin_family=AF_INET;
-  acsa.sin_port=htons(LISTENPORT);
-  acsa.sin_addr.s_addr=INADDR_ANY;
-#ifdef SO_REUSEADDR
-  {
-    int reuseit=1;
-    if (-1==setsockopt(acfd,SOL_SOCKET,SO_REUSEADDR,(char*)&reuseit,sizeof(reuseit)))
-	perror("setsockopt SOL_SOCKET SO_REUSEADDR");
-  }
-#endif
-  if (-1==bind(acfd,(struct sockaddr*)&acsa,sizeof(struct sockaddr_in))) {
-    perror("bind");
-    exit(1);
-  }
-  /* 5 is usual the maximum anyway */
-  if (-1==listen(acfd,5)) {
-    perror("listen");
-    exit(1);
-  }
-  while (1) {
-    fd_set  readfds,writefds;
-    int width;
-
-    width=3;
-    if (acfd>=width)
-      width=acfd+1;
-restart_select:
-    FD_ZERO(&readfds);FD_ZERO(&writefds);
-    FD_SET(acfd,&readfds);
-    for (i=nrofrelays;i--;) {
-      struct relay *relay = relays+i;
-
-      /* both sides closed? -> clean */
-      if ((relay->flags & (FLAG_CLOSED_TARGET|FLAG_CLOSED_USER)) ==
-      	(FLAG_CLOSED_TARGET|FLAG_CLOSED_USER)
-      ) {
-      	clean_connection(relay);
-	continue;
-      }
-      /* transmitted all stuff left to user? -> close */
-      if ((relay->flags&(FLAG_CLOSED_TARGET|FLAG_EOF_TARGET))&&(!relay->outcur)) {
-	clean_connection(relay);
-	continue;
-      }
-      /* transmitted all stuff left to target? -> close */
-      if ((relay->flags&(FLAG_CLOSED_USER|FLAG_EOF_USER))&&(!relay->incur)) {
-	clean_connection(relay);
-	continue;
-      }
-
-      if (relay->outfd>=0) {
-        /*need to do that... else it will cause load 1*/
-        if (relay->incur)
-          FD_SET(relay->outfd,&writefds);
-	if (!(relay->flags & FLAG_EOF_TARGET))
-	    FD_SET(relay->outfd,&readfds);
-        if (relay->outfd>=width)
-          width=relay->outfd+1;
-      }
-      if (relay->infd>=0) {
-        /*need to do that... else it will cause load 1*/
-        if (relay->outcur)
-          FD_SET(relay->infd,&writefds);
-	if (!(relay->flags & FLAG_EOF_USER))
-          FD_SET(relay->infd,&readfds);
-        if (relay->infd>=width)
-          width=relay->infd+1;
-      }
-    }
-    if (-1==select(   width,
-          (FD_CAST*)&readfds,
-          (FD_CAST*)&writefds,
-          NULL,/*no exceptfds.*/
-          0)
-    ) {
-      if (errno!=EINTR)
-        perror("select");
-      else
-        goto  restart_select;
-    }
-    if (FD_ISSET(acfd,&readfds)) {
-      int afd;
-      int aclen;
-      struct  sockaddr_in conaddr;
-      struct relay *relay = NULL;
-
-      aclen=sizeof(struct sockaddr_in);
-      if (-1==(afd=accept(acfd,(struct sockaddr*)&conaddr,&aclen)))
-        perror("accept");
-      if (relays)
-	  relays=(struct relay*)xrealloc(relays,sizeof(struct relay)*(nrofrelays+1));
-      else
-	  relays=(struct relay*)xmalloc(sizeof(struct relay));
-      nrofrelays++;
-      relay = relays+(nrofrelays-1);
-      relay->inbuf	= xmalloc(DEFAULTSIZE);
-      relay->outbuf	= xmalloc(DEFAULTSIZE);
-      relay->insize	= DEFAULTSIZE;
-      relay->outsize	= DEFAULTSIZE;
-      relay->flags	= 0;
-      relay->incur	= 0;
-      relay->outcur	= 0;
-      relay->infd	= afd;
-      relay->outfd	= -1;
-      relay->state	= STATE_ACCEPTED;
-      memcpy(&relay->inaddr,&conaddr,sizeof(struct sockaddr_in));
-      if (nrofrelays>=MAXUSERS) {
-        strcpy(relay->outbuf,relaystring);
-	relay->outcur = strlen(relaystring)+1;
-	relay->state = STATE_OK;
-	relay->flags = FLAG_CLOSED_TARGET;
-      }
-#ifdef SO_LINGER
-      {
-	struct linger sol;
-	sol.l_linger = 5;
-	sol.l_onoff = 1;
-	if (-1==setsockopt(acfd,SOL_SOCKET,SO_LINGER,(char*)&sol,sizeof(sol)))
-	    perror("setsockopt SOL_SOCKET SO_LINGER");
-      }
-#endif
-    }
-    for (i=nrofrelays;i--;) {
-      struct relay *relay = relays+i;
-
-      if ((relay->infd>=0) && FD_ISSET(relay->infd,&readfds)) {
-        do {
-          if (-1==(res=read(relay->infd,readbuf,1000))) {
-            if (errno==EINTR)
-              break;
-            /* user side has broken the connection */
-	    close(relay->infd);relay->infd=-1;
-	    relay->flags |= FLAG_CLOSED_USER;
-            break;
-          }
-          break;
-        } while (1);
-        if (res==0) {
-	  /* we read the End Of File marker. but we still have to write 
-	   * the rest of the text
-	   */
-	  relay->flags |= FLAG_EOF_USER;
-        }
-        if (res>0) {
-          readbuf[res]='\0';
-          while (relay->incur+res>=relay->insize) {
-            relay->inbuf=xrealloc(relay->inbuf,relay->insize*2);
-            relay->insize*=2;
-          }
-          memcpy(relay->inbuf+relay->incur,readbuf,res+1);
-          relay->incur+=res;
-        }
-        if (	(relay->outfd==-1) &&
-		(relay->state==STATE_ACCEPTED) &&
-		memchr(relay->inbuf,'\n',relay->incur)
-        ) {
-          char  sendbuf[200];
-          struct  hostent *hp;
-          char  *s,*nextchar,*tmp;
-          int port;
-
-          s = memchr(relay->inbuf,'\n',relay->incur);
-          if (!s)
-            continue;
-          *s='\0';
-          nextchar=s+1;
-          if ((s=memchr(relay->inbuf,'\r',(s-relay->inbuf))))
-            *s='\0';
-
-
-	  relay->state = STATE_OK;
-
-          tmp = (char*)xmalloc(strlen(relay->inbuf));
-          if (2!=sscanf(relay->inbuf,"relay %s %d",
-            tmp,&port
-          )) {
-            if (!sscanf(relay->inbuf,"relay %s",tmp)) {
-
-              free(tmp);
-              /* we avoid telling potential hackers how to use this relay */
-	      sprintf(relay->outbuf,"550 Bad syntax. Go away.\n",tmp);
-	      relay->outcur = strlen(relay->outbuf);
-	      relay->flags = FLAG_CLOSED_TARGET;
-              continue;
-            } else
-              port = DEFAULTPORT;
-          }
-          hp=gethostbyname(tmp);
-          if (!hp) {/* not found */
-	    sprintf(relay->outbuf,"No hostentry for '%s'!\n",tmp);
-            free(tmp);
-	    relay->outcur = strlen(relay->outbuf);
-	    relay->flags = FLAG_CLOSED_TARGET;
-            continue;
-          }
-          memcpy(&targetaddr,hp->h_addr_list[0],sizeof(struct in_addr));
-          relay->outaddr.sin_family=AF_INET;
-          relay->outaddr.sin_port=htons(port);
-          memcpy(&(relay->outaddr.sin_addr),&targetaddr,4);
-          strcpy(sendbuf,RELAYHEADER);
-          relay->outcur=strlen(sendbuf);
-          memcpy(relay->outbuf,sendbuf,strlen(sendbuf)+1);
-          if (-1==(relay->outfd=socket(PF_INET,SOCK_STREAM,0)))
-            perror("socket(connect_socket)");
-#ifndef _WIN32
-          (void)fd_make_nonblocking(relay->outfd);
-#endif
-          if (  (-1==connect( relay->outfd,
-              (struct sockaddr*)&(relay->outaddr),
-              sizeof(struct sockaddr_in))
-#ifdef _WIN32
-				) && (WSAGetLastError()!=WSAEINPROGRESS)
-#else
-				) && (errno!=EINPROGRESS)
-#endif
-          ) {
-            sprintf(readbuf,"Connect to %s failed: %s\n",tmp,strerror(errno));
-            perror("connect");
-	    close(relay->outfd);relay->outfd=-1;
-	    relay->state = STATE_OK;
-	    relay->flags |= FLAG_CLOSED_TARGET;
-	    strcpy(relay->outbuf,readbuf);
-	    relay->outsize = strlen(readbuf)+1;
-            free(tmp);
-            continue;
-          }
-          free(tmp);
-#ifdef SEND_REMOTEIP
-          /* only useful if you want to tell the
-           * remotemud the _real_ host the caller
-           * is calling from
-           */
-          tmphp=gethostbyaddr(
-            (char*)(&(conaddr.sin_addr)),
-            sizeof(struct in_addr),
-            AF_INET
-          );
-          if (!tmphp) {
-            sprintf(sendbuf,"remoteip %s %s\n",
-              inet_ntoa(conaddr.sin_addr),
-              inet_ntoa(conaddr.sin_addr)
-            );
-          } else {
-            sprintf(sendbuf,"remoteip %s %s\n",
-              inet_ntoa(conaddr.sin_addr),
-              tmphp->h_name
-            );
-          }
-          memcpy(relay->inbuf,sendbuf,strlen(sendbuf)+1);
-          relay->incur=strlen(sendbuf);
-#else
-          relay->inbuf[0]='\0';
-          relay->incur=0;
-#endif
-        }
-      }
-      if ((relay->outfd>=0) && FD_ISSET(relay->outfd,&readfds)) {
-        do {
-          if (-1==(res=read(relay->outfd,readbuf,1000))) {
-            if (errno==EINTR)
-              continue;
-            /* the mudside has broken the
-             * connection. we still have
-             * to transmit the rest of
-             * the text
-             */
-            close(relay->outfd);relay->outfd=-1;
-	    relay->flags |= FLAG_CLOSED_TARGET;
-            break;
-          }
-          break;
-        } while (1);
-        if (res==0) {
-	  /* we read the End Of File marker. but we still have to write 
-	   * the rest of the text
-	   */
-	  relay->flags |= FLAG_EOF_TARGET;
-	}
-        if (res>0) {
-          /* 0 is not automagically appended. */
-          readbuf[res]='\0';
-          while (relay->outcur+res>=relay->outsize) {
-            relay->outbuf=xrealloc(relay->outbuf,relay->outsize*2);
-            relay->outsize*=2;
-          }
-          memcpy(relay->outbuf+relay->outcur,readbuf,res+1);
-          relay->outcur+=res;
-        }
-      }
-      if ((relay->infd>=0) && FD_ISSET(relay->infd,&writefds)) {
-        j=relay->outcur;
-        if (-1==(res=write(relay->infd,relay->outbuf,j))) {
-          if (errno!=EINTR) {
-	    close(relay->infd);relay->infd=-1;
-	    relay->flags |= FLAG_CLOSED_USER;
-          }
-        }
-        if (res>0) {
-          memcpy(relay->outbuf,relay->outbuf+res,relay->outcur-res);
-          relay->outcur-=res;
-        }
-      }
-      if ((relay->outfd>=0) && FD_ISSET(relay->outfd,&writefds)) {
-        j=relay->incur;
-        if (-1==(res=write(relay->outfd,relay->inbuf,j))) {
-          if (errno!=EINTR) {
-            close(relay->outfd);relay->outfd=-1;
-	    relay->flags |= FLAG_CLOSED_TARGET;
-          }
-        }
-        if (res>0) {
-          memcpy(relay->inbuf,relay->inbuf+res,relay->incur-res);
-          relay->incur-=res;
-        }
-      }
-    }
-  }
-}
diff --git a/web/root/telnet/tools/mrelayd.exe b/web/root/telnet/tools/mrelayd.exe
deleted file mode 100755
index d33f2d3cc6f8cab216b6f0feb0d1f26b8fb9de6e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 39936
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

diff --git a/web/root/telnet/tools/proxy.class b/web/root/telnet/tools/proxy.class
deleted file mode 100644
index c64e0eba0f001753af79ad00ba71688834e86782..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3592
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
Lk)acuKXw5C0m-0=

diff --git a/web/root/telnet/tools/proxy.java b/web/root/telnet/tools/proxy.java
deleted file mode 100644
index 564b5287b8..0000000000
--- a/web/root/telnet/tools/proxy.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/**
- * proxy -- a proxy server for telnet
- * --
- * $Id: proxy.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- * $timestamp: Tue May 27 15:08:19 1997 by Matthias L. Jugel :$
- *
- * This file is part of "The Java Telnet Applet".
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be 
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-import java.net.*;
-import java.io.*;
-import java.util.*;
-
-/**
- * proxy class -- implements a proxy server to redirect network access
- * @author Matthias L. Jugel, Marcus Mei�ner
- * @version $Id: proxy.java,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- */
-
-public class proxy implements Runnable
-{
-  String remoteHost;
-  int localPort, remotePort;
-
-  Thread listener, connection;
-
-  ServerSocket server;
-
-  /**
-   * Create a server socket and start listening on the local port.
-   * @param lport local port
-   * @param raddr address of the destination
-   * @param rport port on the destination host
-   */
-  public proxy(int lport, String raddr, int rport)
-  {
-    localPort = lport;
-    remoteHost = raddr; remotePort = rport;
-    
-    log("destination host is "+remoteHost+" at port "+remotePort);
-    try {
-      server = new ServerSocket(localPort);
-    } catch(Exception e) {
-      System.err.println("proxy: error: cannot create server socket");
-    }
-    log("listening on port "+localPort);
-
-    listener = new Thread(this);
-    listener.setPriority(Thread.MIN_PRIORITY);
-    listener.start();
-  }
-  
-  /**
-   * This method is called when the application is run on the commandline.
-   * It takes two or three arguments:
-   * usage: java proxy local-port destination-host destination-port
-   * @param args The command line arguments
-   */
-  public static void main(String args[]) 
-  {
-    String remoteHost = "";
-    int localPort = 0, remotePort = 0;
-    
-    if(args.length < 2)
-    {
-      System.err.println("proxy: usage: proxy <port> "+
-                         "<destination host> [<destination port>]");
-      System.exit(1);
-    }
-    try {
-      localPort = Integer.parseInt(args[0]);
-    } catch(Exception e) {
-      System.err.println("proxy: parameter <port>: number expected");
-      System.exit(1);
-    }
-    remoteHost = args[1];
-    if(args.length > 2)
-    {
-      try {
-        remotePort = Integer.parseInt(args[2]);
-      } catch(Exception e) {
-        System.err.println("proxy: parameter <destination port>: "+
-                           "number expected");
-        System.exit(1);
-      }
-    }
-
-    proxy me = new proxy(localPort, 
-                         remoteHost, (remotePort == 0 ? 23 : remotePort));
-  }
-
-  /**
-   * Cycle around until an error occurs and wait for incoming connections.
-   * An incoming connection will create two redirectors. One for
-   * local-host - destination-host and one for destination-host - local-host.
-   */
-  public void run()
-  {
-    while(true)
-    {
-      Socket localSocket = null;
-      try {
-        localSocket = server.accept();
-      } catch(Exception e) {
-        System.err.println("proxy: error: accept connection failed");
-        continue;
-      }
-      log("accepted connection from "+
-          localSocket.getInetAddress().getHostName());
-      try {
-        Socket destinationSocket = new Socket(remoteHost, remotePort);
-        log("connecting "+localSocket.getInetAddress().getHostName()+" <-> "+
-            destinationSocket.getInetAddress().getHostName());
-        redirector r1 = new redirector(localSocket, destinationSocket);
-        redirector r2 = new redirector(destinationSocket, localSocket);
-        r1.couple(r2);
-        r2.couple(r1);
-      } catch(Exception e) {
-        System.err.println("proxy: error: cannot create sockets");
-        try {
-          DataOutputStream os = new DataOutputStream(localSocket.getOutputStream());
-          os.writeChars("Remote host refused connection.\n");
-          localSocket.close();
-        } catch(IOException ioe) { ioe.printStackTrace(); }
-        continue;
-      }
-    }
-  }
-
-  private void log(String msg)
-  {
-    System.out.println("proxy: ["+new Date()+"] "+msg);
-  }
-}
-
-/**
- * A class useful for the proxy server.
- * This class takes over control of newly created connections and redirects
- * the data streams.
- */
-class redirector implements Runnable
-{
-  private redirector companion = null;
-  private Socket localSocket, remoteSocket;
-  private InputStream from;
-  private OutputStream to;
-  private byte[] buffer = new byte[4096];
-
-  /**
-   * redirector gets the streams from sockets
-   */
-  public redirector(Socket local, Socket remote)
-  {
-    try {
-      localSocket = local; 
-      remoteSocket = remote;
-      from = localSocket.getInputStream();
-      to = remoteSocket.getOutputStream();
-    } catch(Exception e) {
-      System.err.println("redirector: cannot get streams");
-    }
-  }
-
-  /**
-   * couple this redirector instance with another one (usually the other
-   * direction of the connection)
-   */
-  public void couple(redirector c) { 
-    companion = c; 
-    Thread listen = new Thread(this);
-    listen.start();
-  }
-
-  /**
-   * decouple us from our companion. This will let this redirector die after
-   * exiting from run()
-   */
-  public void decouple() { companion = null; }
-
-  /**
-   * read data from the input and write it to the destination stream until
-   * an error occurs or our companion is decoupled from us
-   */
-  public void run()
-  {
-    int count;
-    try {
-      while(companion != null) {
-        if((count = from.read(buffer)) < 0)
-          break;
-        to.write(buffer, 0, count);
-      }
-    } catch(Exception e) {
-      System.err.println("redirector: connection lost");
-    }
-    try {
-      from.close();
-      to.close();
-      localSocket.close();
-      remoteSocket.close();
-      // is our companion dead? no, then decouple, because we die
-      if(companion != null) companion.decouple();
-    } catch(Exception io) {
-      System.err.println("redirector: error closing streams and sockets");
-      io.printStackTrace();
-    }
-  }
-}
-
-      
diff --git a/web/root/telnet/tools/redirector.class b/web/root/telnet/tools/redirector.class
deleted file mode 100644
index 4498f80091a1c4f9f291c23f9566a00b08ebb808..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1966
zcmX^0Z`VEsW(Hk`G7g3u4u)I~hCFtLNOp!Oc7|wnh8T8+Sayauc7}L%h6HwoM0SQG
zc7_aghHNed4h9u225tsbP6mDkH7*7g26Zk5RuI9<pbiq#;9}rs(Bx#`V$cF{wYeC0
z8FWB|E{Lng#lXX$&&9yTU;xr<2of^_nP&`QnShKk<zcXAumBO3JPf`JK0FNmAZ`GI
z7Y{=)h!w)%%EJ)K;LO7i#$d+75YAxE!;s40!NZUSl1*o@;$g^Qu;pPW0ErcW#7Y=k
zco<3<>=+ruH8g#)63Y_xGxPO5^9o8!f=h~06LYN@86=Qo{7XxarI<A|!$4XgI&%{9
z()EK%^YRjta#F29GNKwtGQlN9nR)48aaE{zUTTScaDH-jYKb*OA(8+{Kfi`gQEEzN
zQEGBYei2wFt46ewrY9o<yGFE=rzc1an@wh3W{Djm1B-KhN-84*qbDN+zfWdfs$Xet
zQfg5M$T5rzq7d^jJSPShNAns&LqJhx9wIcL;$XkJRwSnulw{`TSu-*SK@0+mhh!9`
zCZ<?3G6+Hhk$eSGn4g@O6P8$%333_Kc|6GeWMtq9&Mz%WPIb%7No8bUigsdTU`r}Z
zOG_<cWME8YWMECs$uCZ2WZ+EB&n-yI%goOMiRG8(l`t}}CFhqGfV6R>q{5iYsYOMM
z3@m9y`MHb?eCeqrND<7)z@MI4g6w%l2Byq>Mh0OlsezF}1SX2A1Fje;uwX`jg9IK_
zj0^%`Bfz5mNm;4MC5#M02q9SdK~Wc6SzMBuiy{OGV-!0=GK%ucL4nH1zz;SM5$=o(
zY&n_5C8?l*$^nHxBLg>>hNM152L1v_EGH&shZH3yr!q3IgGF*cItq&ND=HZoxWKd?
z$Y@3e7Ely3GH@Z%CnJL#f@7tSoS2uFU!stnTB1-4&Pv6M4ALkH^7HailR?QxAt%4M
zgpolPSvIw(D8EPn6w#S^=`a%%67y0NioqGCn2~|4C^a{~B$bhY2f~2)g}JB{<m%#*
z#G(>L29}bH%wk3crjmR{2G;VT%#u_F1qOZw4hBXBP6jpxCWZh8F9rq%CQwNMrVAK6
zz;q~sGng)6Z~@c43_c7D3@i+c4E7Ax42%p83=9k#8JHND85kJswYD<|XfbYO5YrMA
zVA#X4l|e{Ldn<#Cmd;iN1ud;D3^Lmoq_#3hf|v^17^Jr{C@p8;3E#vZA;h?iL2e@h
zBZClw5rZiMI|CDg69WT-5d#kc1H*C#7KV8YoD7Q?gcw#b2r;Z;5NBA;Aj7bRL7ibO
zgAv0@22+N03}y`L8SEIAGk7vEFepHr!%z(N6a#}jLkfcj10%?Z4EYQm3``7+3_%Pw
zQ0K=oFoV?#gB&Zin}Iu0YdeFWug*3G#f@M;gPbD7z{0@5u!Dh>VJ8D0!!8CPhV4jJ
z3B#=tX7FS1Vqj$8V_;=SW^e~v70h4(waNg@XJB9hhZ4ecHn8Ikf=%QBv)P~~GBOmx
zbTjfXuz($!x12#iYYT&<))oe#Z4B~}HnSPTwYD%Qf%weQ+ZdF!wlIht|9>AAxJ=s^
z<Us1TF$jZ{ZDSCD#D%EV76yfF3?NGE7=si@*ER<6<qQJ8peSM9#vrG&jX@R^y9^BK
z3|b8A48{zx3<>b)@naBXU|=}Kz`$^tftle9gD}H61_g%G4C)N07_=BJFlaMeWH4s9
z%wWuLg~5v9DuW}#H3koc>kR%3HyL6XE;A%B++s*%xXqBsaEBq6;W*g$THtWbgZf^8
fL4YBU!I6QHL7jma%1UJ5VTfRG1BawHIDRq#lwZOZ

diff --git a/web/root/telnet/tools/relayd b/web/root/telnet/tools/relayd
deleted file mode 100644
index 8844ac1707c457d32930d644f461d030b5af9580..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 16896
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
YK!){@)qwU>BlF`?cX~ticOxqR0IbPHng9R*

diff --git a/web/root/telnet/tools/relayd.c b/web/root/telnet/tools/relayd.c
deleted file mode 100644
index 66fdc22e95..0000000000
--- a/web/root/telnet/tools/relayd.c
+++ /dev/null
@@ -1,448 +0,0 @@
-/**
- * relayd.c -- a relay daemon (using one targethost/port)
- * --
- * $Id: relayd.c,v 1.1.1.1 2005/09/25 22:40:20 rswindell Exp $
- *
- * This is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * "The Java Telnet Applet" is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.  If not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/* relayd.c (c) 1996,1997 Marcus Meissner <marcus@mud.de> */
-
-/* Compile with: cc -o relayd relayd.c
- *           or: gcc -o relayd relayd.c
- * Solaris: (g)cc -o relayd relayd.c -lsocket -lnsl
- */
-
-/* this program expects the string:
- * "relay <hostname> <port>" or "relay <hostname>"
- * after connecting. It will then try to connect to the specified host
- * if failures occur, it will terminate the connection.
- */
-
-/* adjust this to a reasonable limit */
-#define MAXUSERS  120
-
-/* message printed if all slots are used ... */
-#define FAILMESSAGE "Sorry, all slots are full.\r\n"
-
-/* string printed before connection */
-#define RELAYHEADER "Relayd (c) Marcus Meissner\r\n"
-
-#include <stdio.h>
-#ifdef _WIN32
-#include <stdlib.h>
-#include <errno.h>
-#include <signal.h>
-#include <winsock.h>
-#include <io.h>
-#define ioctl ioctlsocket
-#define write(h,buf,size) send(h,buf,size,0)
-#define read(a,b,c) recv(a,b,c,0)
-#define close _lclose
-#define EINPROGRESS WSAEWOULDBLOCK
-#else
-#include <unistd.h>
-#include <sys/time.h>
-#include <sys/socket.h>
-#include <sys/errno.h>
-#include <sys/signal.h>
-#include <sys/fcntl.h>
-#include <sys/ioctl.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <netdb.h>
-#endif
-#include <memory.h>
-#include <malloc.h>
-#include <string.h>
-#include <sys/types.h>
-
-
-
-#if defined(sun) && defined(__GNUC__)
-int socket(int,int,int);
-int shutdown(int,int);
-int close(int);
-int bind(int,struct sockaddr*,int);
-int listen(int,int);
-void bzero(char*,int);
-int select(int,fd_set *,fd_set*,fd_set*,struct timeval*);
-int accept(int,struct sockaddr*,int*);
-int connect(int,struct sockaddr*,int);
-int recvfrom(int,char*,int,int,struct sockaddr*,int*);
-/*void perror(char*); SLOWLARIS HASS*/
-/*int sendto(int,char*,int,int,struct sockaddr*,int); SLOWLARIS HASS*/
-#endif
-
-#ifdef hpux
-/* redefinition... to avoid prototype in <time.h> */
-#define FD_CAST int
-#endif
-
-#ifdef sgi
-void bzero(void*,int);
-#endif
-
-#ifndef FD_CAST
-#define FD_CAST fd_set
-#endif
-
-extern int errno;
-
-char  *inbuf[MAXUSERS],*outbuf[MAXUSERS];
-int insize[MAXUSERS],outsize[MAXUSERS];
-int incur[MAXUSERS],outcur[MAXUSERS];
-int outfd[MAXUSERS],infd[MAXUSERS];
-struct  sockaddr_in inaddr[MAXUSERS],outaddr[MAXUSERS];
-
-#ifdef _WIN32
-#define perror xperror
-void xperror(char *str) {
-	fprintf(stderr,"%s: %d\n",str,GetLastError());
-}
-#endif
-
-static int
-fd_make_nonblocking(int fd) {
-  int     isnonblock=0;
-
-#ifdef FIONBIO
-  if (!isnonblock) {
-    int     b;
-    b=1;
-    if (-1==ioctl(fd,FIONBIO,&b)) {
-      perror("ioctl FIONBIO");
-    } else
-      isnonblock=1;
-  }
-#endif
-#ifdef O_NDELAY
-  if (!isnonblock) {
-    int     flags;
-
-    if (-1==(flags=fcntl(fd,F_GETFL))) {
-      perror("fcntl F_GETFL");
-    } else {
-      flags|=O_NDELAY;
-      if (-1==fcntl(fd,F_SETFL,flags)) {
-        perror("fcntl F_SETFL  O_NDELAY");
-      } else
-        isnonblock=1;
-    }
-  }
-#endif
-#ifdef O_NONBLOCK
-  if (!isnonblock) {
-    int     flags;
-
-    if (-1==(flags=fcntl(fd,F_GETFL))) {
-      perror("fcntl F_GETFL");
-    } else {
-      flags|=O_NONBLOCK;
-      if (-1==fcntl(fd,F_SETFL,flags)) {
-        perror("fcntl F_SETFL  O_NONBLOCK");
-      } else
-        isnonblock=1;
-    }
-  }
-#endif
-  return isnonblock;
-}
-
-void
-clean_connection(i)
-int i;
-{
-  if (outfd[i]>=0) {
-    if (-1==close(outfd[i]))
-      perror("close");
-    outfd[i]=-1;
-  }
-  if (infd[i]>=0) {
-    if (-1==close(infd[i]))
-      perror("close");
-    infd[i]=-1;
-  }
-  incur[i]=outcur[i]=0;
-  outbuf[i][0]=inbuf[i][0]='\0';
-}
-
-void
-usage() {
-   fprintf(stderr,"Usage: relayd <listenport> <targethost> [<targetport>]\n");
-}
-
-void
-main(argc,argv)
-int argc;
-char  **argv;
-{
-  int i,j,res;
-  int acfd;
-  struct  sockaddr_in acsa;
-  char  readbuf[1000],relaystring[1000];
-  struct  in_addr targetaddr;
-  struct  hostent *hp;
-  char *targethost;
-  int  port,targetport;
-  
-#ifdef _WIN32 
-  {
-	WSADATA wsad;
-	
-	WSAStartup(0x0101,&wsad);
-  }
-#else
-  close(0);
-  close(1);
-#endif
-
-#ifdef SIGPIPE
-  signal(SIGPIPE,SIG_IGN);
-#endif  
-  switch (argc) {
-  default:
-  case 1:
-  case 2:
-    usage();
-    exit(1);
-  case 3:
-    if (!sscanf(argv[1],"%d",&port)) {
-      usage();
-      exit(1);
-    }
-    targethost = argv[2];
-    targetport = 23;
-    break;
-  case 4:
-    if (!sscanf(argv[1],"%d",&port)) {
-      usage();exit(1);
-    }
-    if (!sscanf(argv[3],"%d",&targetport)) {
-      usage();exit(1);
-    }
-    targethost=argv[2];
-    break;
-  }
-  strcpy(relaystring,FAILMESSAGE);
-  if (-1==(acfd=socket(PF_INET,SOCK_STREAM,0))) {
-    perror("socket(accept_socket)");
-    exit(1);
-  }
-  for (i=MAXUSERS;i--;) {
-    inbuf[i]=malloc(10000*sizeof(char));
-    outbuf[i]=malloc(10000*sizeof(char));
-    inbuf[i][0]='\0';outbuf[i][0]='\0';
-
-    insize[i]=10000;incur[i]=0;
-
-    outsize[i]=10000;outcur[i]=0;
-    outfd[i]=infd[i]=-1;
-  }
-
-  acsa.sin_family=AF_INET;
-  acsa.sin_port=htons(port);
-  acsa.sin_addr.s_addr=INADDR_ANY;
-  if (-1==bind(acfd,(struct sockaddr*)&acsa,sizeof(struct sockaddr_in))) {
-    perror("bind");
-    exit(1);
-  }
-  /* 5 is usual the maximum anyway */
-  if (-1==listen(acfd,5)) {
-    perror("listen");
-    exit(1);
-  }
-  while (1) {
-    fd_set  readfds,writefds;
-    int width;
-
-    width=3;
-    if (acfd>=width)
-      width=acfd+1;
-restart_select:
-    FD_ZERO(&readfds);FD_ZERO(&writefds);
-    FD_SET(acfd,&readfds);
-    for (i=MAXUSERS;i--;) {
-      if (outfd[i]>=0) {
-        /*need to do that... else it will cause load 1*/
-        if (incur[i])
-          FD_SET(outfd[i],&writefds);
-        FD_SET(outfd[i],&readfds);
-        if (outfd[i]>=width)
-          width=outfd[i]+1;
-      }
-      if (infd[i]>=0) {
-        /*need to do that... else it will cause load 1*/
-        if (outcur[i])
-          FD_SET(infd[i],&writefds);
-        FD_SET(infd[i],&readfds);
-        if (infd[i]>=width)
-          width=infd[i]+1;
-      }
-    }
-    if (-1==select(   width,
-          (FD_CAST*)&readfds,
-          (FD_CAST*)&writefds,
-          NULL,/*no exceptfds.*/
-          0)
-    ) {
-      if (errno!=EINTR)
-        perror("select");
-      else
-        goto  restart_select;
-    }
-    if (FD_ISSET(acfd,&readfds)) {
-      int afd;
-      int aclen;
-      struct  sockaddr_in conaddr;
-
-      aclen=sizeof(struct sockaddr_in);
-      if (-1==(afd=accept(acfd,(struct sockaddr*)&conaddr,&aclen)))
-        perror("accept");
-      for (i=MAXUSERS;i--;)
-        if ((infd[i]==-1) && (outfd[i]==-1))
-          break;
-      if (i==-1) {
-        write(afd,relaystring,strlen(relaystring));
-        close(afd);
-      } else {
-        char  sendbuf[200];
-        infd[i]=afd;
-        memcpy(&inaddr[i],&conaddr,sizeof(struct sockaddr_in));
-        /* outfd setting delayed until we get
-         * to the first line
-         */
-        hp=gethostbyname(targethost);
-        if (!hp) {/* not found */
-          clean_connection(i);
-          continue;
-        }
-        memcpy(&targetaddr,hp->h_addr_list[0],sizeof(struct in_addr));
-        outaddr[i].sin_family=AF_INET;
-        outaddr[i].sin_port=htons(targetport);
-        memcpy(&(outaddr[i].sin_addr),&targetaddr,4);
-        strcpy(sendbuf,RELAYHEADER);
-        outcur[i]=strlen(sendbuf);
-        memcpy(outbuf[i],sendbuf,strlen(sendbuf)+1);
-        if (-1==(outfd[i]=socket(PF_INET,SOCK_STREAM,0)))
-          perror("socket(connect_socket)");
-#ifndef _WIN32
-        (void)fd_make_nonblocking(outfd[i]);
-#endif        
-		if (  (-1==connect( outfd[i],
-            (struct sockaddr*)&outaddr[i],
-            sizeof(struct sockaddr_in))
-#ifdef _WIN32
-        ) && (WSAGetLastError()!=WSAEWOULDBLOCK)
-#else  
-        ) && (errno!=EINPROGRESS)
-#endif
-        ) {
-#ifdef _WIN32
-			sprintf(readbuf,"Connect to %s failed: %d\n",targethost,GetLastError());
-#else
-          sprintf(readbuf,"Connect to %s failed.\n",targethost);
-#endif
-          perror("connect");
-          if (-1==write(infd[i],readbuf,strlen(readbuf)))
-            perror("write");
-          clean_connection(i);
-          continue;
-        }
-        inbuf[i][0]='\0';
-        incur[i]=0;
-      }
-    }
-    for (i=MAXUSERS;i--;) {
-      if ((infd[i]>=0) && FD_ISSET(infd[i],&readfds)) {
-        do {
-          if (-1==(res=read(infd[i],readbuf,1000))) {
-            if (errno==EINTR)
-              continue;
-            /* user side has broken the connection */
-            clean_connection(i);
-            break;
-          }
-          break;
-        } while (1);
-        if (res==0) /* EOF */
-          clean_connection(i);
-        if (res>0) {
-          readbuf[res]='\0';
-          while (incur[i]+res>=insize[i]) {
-            inbuf[i]=realloc(inbuf[i],insize[i]*2);
-            insize[i]*=2;
-          }
-          memcpy(inbuf[i]+incur[i],readbuf,res+1);
-          incur[i]+=res;
-        }
-      }
-      if ((outfd[i]>=0) && FD_ISSET(outfd[i],&readfds)) {
-        do {
-          if (-1==(res=read(outfd[i],readbuf,1000))) {
-            if (errno==EINTR)
-              continue;
-            /* the mudside has broken the
-             * connection. we still have
-             * to transmit the rest of
-             * the text
-             */
-            outfd[i]=-1;
-            break;
-          }
-          break;
-        } while (1);
-        if (res==0)
-          clean_connection(i);
-        if (res>0) {
-          /* 0 is not automagically appended. */
-          readbuf[res]='\0';
-          while (outcur[i]+res>=outsize[i]) {
-            outbuf[i]=realloc(outbuf[i],outsize[i]*2);
-            outsize[i]*=2;
-          }
-          memcpy(outbuf[i]+outcur[i],readbuf,res+1);
-          outcur[i]+=res;
-        }
-      }
-      if ((infd[i]>=0) && FD_ISSET(infd[i],&writefds)) {
-        j=outcur[i];
-        if (-1==(res=write(infd[i],outbuf[i],j))) {
-          if (errno!=EINTR) {
-            clean_connection(i);
-          }
-        }
-        if (res>0) {
-          memcpy(outbuf[i],outbuf[i]+res,outcur[i]-res);
-          outcur[i]-=res;
-        }
-      }
-      if ((outfd[i]>=0) && FD_ISSET(outfd[i],&writefds)) {
-        j=incur[i];
-        if (-1==(res=write(outfd[i],inbuf[i],j))) {
-          if (errno!=EINTR) {
-            outfd[i]=-1;
-            /*clean_connection(i);*/
-          }
-        }
-        if (res>0) {
-          memcpy(inbuf[i],inbuf[i]+res,incur[i]-res);
-          incur[i]-=res;
-        }
-      }
-    }
-  }
-}
diff --git a/web/root/telnet/tools/relayd.exe b/web/root/telnet/tools/relayd.exe
deleted file mode 100755
index dec7203e0165ab34e6f255165cd12ffb0a183322..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 38400
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

-- 
GitLab