Updated GeSHi. w00t.
authorDan
Fri, 29 May 2009 19:30:59 -0400
changeset 2 9e3258dfae15
parent 1 c715631f809a
child 3 f3e2bbbd2155
Updated GeSHi. w00t.
plugins/GeSHi.php
plugins/geshi/base.php
plugins/geshi/geshi/abap.php
plugins/geshi/geshi/actionscript.php
plugins/geshi/geshi/actionscript3.php
plugins/geshi/geshi/ada.php
plugins/geshi/geshi/apache.php
plugins/geshi/geshi/applescript.php
plugins/geshi/geshi/apt_sources.php
plugins/geshi/geshi/asm.php
plugins/geshi/geshi/asp.php
plugins/geshi/geshi/autoit.php
plugins/geshi/geshi/avisynth.php
plugins/geshi/geshi/bash.php
plugins/geshi/geshi/basic4gl.php
plugins/geshi/geshi/bf.php
plugins/geshi/geshi/blitzbasic.php
plugins/geshi/geshi/bnf.php
plugins/geshi/geshi/boo.php
plugins/geshi/geshi/c.php
plugins/geshi/geshi/c_mac.php
plugins/geshi/geshi/caddcl.php
plugins/geshi/geshi/cadlisp.php
plugins/geshi/geshi/cfdg.php
plugins/geshi/geshi/cfm.php
plugins/geshi/geshi/cil.php
plugins/geshi/geshi/cobol.php
plugins/geshi/geshi/cpp-qt.php
plugins/geshi/geshi/cpp.php
plugins/geshi/geshi/csharp.php
plugins/geshi/geshi/css-gen.cfg
plugins/geshi/geshi/css.php
plugins/geshi/geshi/d.php
plugins/geshi/geshi/delphi.php
plugins/geshi/geshi/diff.php
plugins/geshi/geshi/div.php
plugins/geshi/geshi/dos.php
plugins/geshi/geshi/dot.php
plugins/geshi/geshi/eiffel.php
plugins/geshi/geshi/email.php
plugins/geshi/geshi/fortran.php
plugins/geshi/geshi/freebasic.php
plugins/geshi/geshi/genero.php
plugins/geshi/geshi/gettext.php
plugins/geshi/geshi/glsl.php
plugins/geshi/geshi/gml.php
plugins/geshi/geshi/gnuplot.php
plugins/geshi/geshi/groovy.php
plugins/geshi/geshi/haskell.php
plugins/geshi/geshi/hq9plus.php
plugins/geshi/geshi/html.php
plugins/geshi/geshi/idl.php
plugins/geshi/geshi/ini.php
plugins/geshi/geshi/inno.php
plugins/geshi/geshi/intercal.php
plugins/geshi/geshi/io.php
plugins/geshi/geshi/java.php
plugins/geshi/geshi/java5.php
plugins/geshi/geshi/javascript.php
plugins/geshi/geshi/kixtart.php
plugins/geshi/geshi/klonec.php
plugins/geshi/geshi/klonecpp.php
plugins/geshi/geshi/latex.php
plugins/geshi/geshi/lisp.php
plugins/geshi/geshi/lolcode.php
plugins/geshi/geshi/lotusformulas.php
plugins/geshi/geshi/lotusscript.php
plugins/geshi/geshi/lscript.php
plugins/geshi/geshi/lua.php
plugins/geshi/geshi/m68k.php
plugins/geshi/geshi/make.php
plugins/geshi/geshi/matlab.php
plugins/geshi/geshi/mirc.php
plugins/geshi/geshi/mpasm.php
plugins/geshi/geshi/mxml.php
plugins/geshi/geshi/mysql.php
plugins/geshi/geshi/nsis.php
plugins/geshi/geshi/objc.php
plugins/geshi/geshi/ocaml-brief.php
plugins/geshi/geshi/ocaml.php
plugins/geshi/geshi/oobas.php
plugins/geshi/geshi/oracle11.php
plugins/geshi/geshi/oracle8.php
plugins/geshi/geshi/pascal.php
plugins/geshi/geshi/per.php
plugins/geshi/geshi/perl.php
plugins/geshi/geshi/php-brief.php
plugins/geshi/geshi/php.php
plugins/geshi/geshi/pic16.php
plugins/geshi/geshi/pixelbender.php
plugins/geshi/geshi/plsql.php
plugins/geshi/geshi/povray.php
plugins/geshi/geshi/powershell.php
plugins/geshi/geshi/progress.php
plugins/geshi/geshi/prolog.php
plugins/geshi/geshi/providex.php
plugins/geshi/geshi/python.php
plugins/geshi/geshi/qbasic.php
plugins/geshi/geshi/rails.php
plugins/geshi/geshi/reg.php
plugins/geshi/geshi/robots.php
plugins/geshi/geshi/ruby.php
plugins/geshi/geshi/sas.php
plugins/geshi/geshi/scala.php
plugins/geshi/geshi/scheme.php
plugins/geshi/geshi/scilab.php
plugins/geshi/geshi/sdlbasic.php
plugins/geshi/geshi/smalltalk.php
plugins/geshi/geshi/smarty.php
plugins/geshi/geshi/sql.php
plugins/geshi/geshi/tcl.php
plugins/geshi/geshi/teraterm.php
plugins/geshi/geshi/text.php
plugins/geshi/geshi/thinbasic.php
plugins/geshi/geshi/tsql.php
plugins/geshi/geshi/typoscript.php
plugins/geshi/geshi/vb.php
plugins/geshi/geshi/vbnet.php
plugins/geshi/geshi/verilog.php
plugins/geshi/geshi/vhdl.php
plugins/geshi/geshi/vim.php
plugins/geshi/geshi/visualfoxpro.php
plugins/geshi/geshi/visualprolog.php
plugins/geshi/geshi/whitespace.php
plugins/geshi/geshi/winbatch.php
plugins/geshi/geshi/xml.php
plugins/geshi/geshi/xorg_conf.php
plugins/geshi/geshi/xpp.php
plugins/geshi/geshi/z80.php
--- a/plugins/GeSHi.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/GeSHi.php	Fri May 29 19:30:59 2009 -0400
@@ -22,13 +22,7 @@
 
 global $db, $session, $paths, $template, $plugins; // Common objects
 $GLOBALS['geshi_supported_formats'] = array(
-    'abap', 'blitzbasic', 'cpp-qt', 'd', 'idl', 'lua', 'ocaml', 'python', 'smalltalk', 'vhdl', 'actionscript', 'bnf', 'csharp',
-    'eiffel', 'ini', 'm68k', 'oobas', 'qbasic', 'smarty', 'visualfoxpro', 'ada', 'caddcl', 'fortran', 'inno', 'matlab',
-    'oracle8', 'rails', 'sql', 'winbatch', 'apache', 'cadlisp', 'css', 'freebasic', 'io', 'mirc', 'pascal', 'reg', 'tcl', 'xml',
-    'applescript', 'cfdg', 'delphi', 'genero', 'java5', 'mpasm', 'perl', 'robots', 'text', 'xpp', 'asm', 'cfm', 'diff', 'gml', 'java',
-    'mysql', 'per', 'ruby', 'thinbasic', 'z80', 'asp', 'c_mac', 'div', 'groovy', 'javascript', 'nsis', 'php-brief', 'sas', 'tsql',
-    'autoit', 'c', 'dos', 'haskell', 'latex', 'objc', 'php', 'scheme', 'vbnet', 'bash', 'cpp', 'dot', 'html', 'lisp',
-    'ocaml-brief', 'plsql', 'sdlbasic', 'vb'
+    'abap', 'actionscript3', 'actionscript', 'ada', 'apache', 'applescript', 'apt_sources', 'asm', 'asp', 'autoit', 'avisynth', 'bash', 'basic4gl', 'bf', 'blitzbasic', 'bnf', 'boo', 'caddcl', 'cadlisp', 'cfdg', 'cfm', 'cil', 'c_mac', 'cobol', 'c', 'cpp', 'cpp-qt', 'csharp', 'css', 'delphi', 'diff', 'div', 'dos', 'dot', 'd', 'eiffel', 'email', 'fortran', 'freebasic', 'genero', 'gettext', 'glsl', 'gml', 'gnuplot', 'groovy', 'haskell', 'hq9plus', 'html', 'idl', 'ini', 'inno', 'intercal', 'io', 'java5', 'java', 'javascript', 'kixtart', 'klonec', 'klonecpp', 'latex', 'lisp', 'lolcode', 'lotusformulas', 'lotusscript', 'lscript', 'lua', 'm68k', 'make', 'matlab', 'mirc', 'mpasm', 'mxml', 'mysql', 'nsis', 'objc', 'ocaml-brief', 'ocaml', 'oobas', 'oracle11', 'oracle8', 'pascal', 'perl', 'per', 'php-brief', 'php', 'pic16', 'pixelbender', 'plsql', 'povray', 'powershell', 'progress', 'prolog', 'providex', 'python', 'qbasic', 'rails', 'reg', 'robots', 'ruby', 'sas', 'scala', 'scheme', 'scilab', 'sdlbasic', 'smalltalk', 'smarty', 'sql', 'tcl', 'teraterm', 'text', 'thinbasic', 'tsql', 'typoscript', 'vbnet', 'vb', 'verilog', 'vhdl', 'vim', 'visualfoxpro', 'visualprolog', 'whitespace', 'winbatch', 'xml', 'xorg_conf', 'xpp', 'z80'
   );
 
 // Knock out the existing <code> tag support
@@ -56,20 +50,21 @@
   global $geshi_supported_formats;
   $codeblocks = array();
   $sf = '(' . implode('|', $geshi_supported_formats) . ')';
-  preg_match_all('/<code type="?' . $sf . '"?>([\w\W]*?)<\/code>/ms', $text, $matches);
+  $regexp = '/<(code|source) (?:type|lang)="?' . $sf . '"?>(.*?)<\/\\1>/s';
+  preg_match_all($regexp, $text, $matches);
   
   // for debug
   /*
   if ( strstr($text, '<code type') )
-    die('processing codes: <pre>' . htmlspecialchars(print_r($matches, true)) . '</pre><pre>' . htmlspecialchars($text) . '</pre>' . htmlspecialchars('/<code type="?' . $sf . '"?>([\w\W]*?)<\/code>/'));
+    die('processing codes: <pre>' . htmlspecialchars(print_r($matches, true)) . '</pre><pre>' . htmlspecialchars($text) . '</pre>' . htmlspecialchars($regexp));
   */
   
   foreach ( $matches[0] as $i => $match )
   {
     $codeblocks[$i] = array(
         'match' => $match,
-        'lang' => $matches[1][$i],
-        'code' => $matches[2][$i]
+        'lang' => $matches[2][$i],
+        'code' => $matches[3][$i]
       );
     $text = str_replace_once($match, "{GESHI_BLOCK:$i:$random_id}", $text);
   }
@@ -95,10 +90,13 @@
     $did_header_tweak = true;
     global $template;
     $template->add_header('<style type="text/css">
-      pre.geshi_highlighted {
+      .geshi_highlighted {
         max-height: 1000000px !important;
+        width: 600px !important;
+        clip: rect(0px,auto,auto,0px);
+        overflow: auto;
       }
-      pre.geshi_highlighted a {
+      .geshi_highlighted a {
         background-image: none !important;
         padding-right: 0 !important;
       }
@@ -115,7 +113,7 @@
     $lang =& $match['lang'];
     $code =& $match['code'];
     
-    $geshi = new GeSHi($code, $lang, null);
+    $geshi = new GeSHi(trim($code), $lang, null);
     $geshi->set_header_type(GESHI_HEADER_PRE);
     // $geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS);
     $geshi->set_overall_class('geshi_highlighted');
--- a/plugins/geshi/base.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/base.php	Fri May 29 19:30:59 2009 -0400
@@ -27,8 +27,8 @@
  *
  * @package    geshi
  * @subpackage core
- * @author     Nigel McNie <nigel@geshi.org>
- * @copyright  (C) 2004 - 2007 Nigel McNie
+ * @author     Nigel McNie <nigel@geshi.org>, Benny Baumann <BenBE@omorphia.de>
+ * @copyright  (C) 2004 - 2007 Nigel McNie, (C) 2007 - 2008 Benny Baumann
  * @license    http://gnu.org/copyleft/gpl.html GNU GPL
  *
  */
@@ -41,7 +41,7 @@
 //
 
 /** The version of this GeSHi file */
-define('GESHI_VERSION', '1.0.7.20');
+define('GESHI_VERSION', '1.0.8.2');
 
 // Define the root directory for the GeSHi code tree
 if (!defined('GESHI_ROOT')) {
@@ -52,6 +52,11 @@
     @access private */
 define('GESHI_LANG_ROOT', GESHI_ROOT . 'geshi' . DIRECTORY_SEPARATOR);
 
+// Define if GeSHi should be paranoid about security
+if (!defined('GESHI_SECURITY_PARANOID')) {
+    /** Tells GeSHi to be paranoid about security settings */
+    define('GESHI_SECURITY_PARANOID', false);
+}
 
 // Line numbers - use with enable_line_numbers()
 /** Use no line numbers when building the result */
@@ -68,6 +73,22 @@
 define('GESHI_HEADER_DIV', 1);
 /** Use a "pre" to surround the source */
 define('GESHI_HEADER_PRE', 2);
+/** Use a pre to wrap lines when line numbers are enabled or to wrap the whole code. */
+define('GESHI_HEADER_PRE_VALID', 3);
+/**
+ * Use a "table" to surround the source:
+ *
+ *  <table>
+ *    <thead><tr><td colspan="2">$header</td></tr></thead>
+ *    <tbody><tr><td><pre>$linenumbers</pre></td><td><pre>$code></pre></td></tr></tbody>
+ *    <tfooter><tr><td colspan="2">$footer</td></tr></tfoot>
+ *  </table>
+ *
+ * this is essentially only a workaround for Firefox, see sf#1651996 or take a look at
+ * https://bugzilla.mozilla.org/show_bug.cgi?id=365805
+ * @note when linenumbers are disabled this is essentially the same as GESHI_HEADER_PRE
+ */
+define('GESHI_HEADER_PRE_TABLE', 4);
 
 // Capatalisation constants
 /** Lowercase keywords found */
@@ -102,7 +123,7 @@
 /** Strict mode never applies (this is the most common) */
 define('GESHI_NEVER', 0);
 /** Strict mode *might* apply, and can be enabled or
-    disabled by {@link GeSHi::enable_strict_mode()} */
+    disabled by {@link GeSHi->enable_strict_mode()} */
 define('GESHI_MAYBE', 1);
 /** Strict mode always applies */
 define('GESHI_ALWAYS', 2);
@@ -128,6 +149,80 @@
 /** Used in language files to mark comments */
 define('GESHI_COMMENTS', 0);
 
+/** Used to work around missing PHP features **/
+define('GESHI_PHP_PRE_433', !(version_compare(PHP_VERSION, '4.3.3') === 1));
+
+/** make sure we can call stripos **/
+if (!function_exists('stripos')) {
+    // the offset param of preg_match is not supported below PHP 4.3.3
+    if (GESHI_PHP_PRE_433) {
+        /**
+         * @ignore
+         */
+        function stripos($haystack, $needle, $offset = null) {
+            if (!is_null($offset)) {
+                $haystack = substr($haystack, $offset);
+            }
+            if (preg_match('/'. preg_quote($needle, '/') . '/', $haystack, $match, PREG_OFFSET_CAPTURE)) {
+                return $match[0][1];
+            }
+            return false;
+        }
+    }
+    else {
+        /**
+         * @ignore
+         */
+        function stripos($haystack, $needle, $offset = null) {
+            if (preg_match('/'. preg_quote($needle, '/') . '/', $haystack, $match, PREG_OFFSET_CAPTURE, $offset)) {
+                return $match[0][1];
+            }
+            return false;
+        }
+    }
+}
+
+/** some old PHP / PCRE subpatterns only support up to xxx subpatterns in
+    regular expressions. Set this to false if your PCRE lib is up to date
+    @see GeSHi->optimize_regexp_list()
+    **/
+define('GESHI_MAX_PCRE_SUBPATTERNS', 500);
+/** it's also important not to generate too long regular expressions
+    be generous here... but keep in mind, that when reaching this limit we
+    still have to close open patterns. 12k should do just fine on a 16k limit.
+    @see GeSHi->optimize_regexp_list()
+    **/
+define('GESHI_MAX_PCRE_LENGTH', 12288);
+
+//Number format specification
+/** Basic number format for integers */
+define('GESHI_NUMBER_INT_BASIC', 1);        //Default integers \d+
+/** Enhanced number format for integers like seen in C */
+define('GESHI_NUMBER_INT_CSTYLE', 2);       //Default C-Style \d+[lL]?
+/** Number format to highlight binary numbers with a suffix "b" */
+define('GESHI_NUMBER_BIN_SUFFIX', 16);           //[01]+[bB]
+/** Number format to highlight binary numbers with a prefix % */
+define('GESHI_NUMBER_BIN_PREFIX_PERCENT', 32);   //%[01]+
+/** Number format to highlight binary numbers with a prefix 0b (C) */
+define('GESHI_NUMBER_BIN_PREFIX_0B', 64);        //0b[01]+
+/** Number format to highlight octal numbers with a leading zero */
+define('GESHI_NUMBER_OCT_PREFIX', 256);           //0[0-7]+
+/** Number format to highlight octal numbers with a suffix of o */
+define('GESHI_NUMBER_OCT_SUFFIX', 512);           //[0-7]+[oO]
+/** Number format to highlight hex numbers with a prefix 0x */
+define('GESHI_NUMBER_HEX_PREFIX', 4096);           //0x[0-9a-fA-F]+
+/** Number format to highlight hex numbers with a suffix of h */
+define('GESHI_NUMBER_HEX_SUFFIX', 8192);           //[0-9][0-9a-fA-F]*h
+/** Number format to highlight floating-point numbers without support for scientific notation */
+define('GESHI_NUMBER_FLT_NONSCI', 65536);          //\d+\.\d+
+/** Number format to highlight floating-point numbers without support for scientific notation */
+define('GESHI_NUMBER_FLT_NONSCI_F', 131072);       //\d+(\.\d+)?f
+/** Number format to highlight floating-point numbers with support for scientific notation (E) and optional leading zero */
+define('GESHI_NUMBER_FLT_SCI_SHORT', 262144);      //\.\d+e\d+
+/** Number format to highlight floating-point numbers with support for scientific notation (E) and required leading digit */
+define('GESHI_NUMBER_FLT_SCI_ZERO', 524288);       //\d+(\.\d+)?e\d+
+//Custom formats are passed by RX array
+
 // Error detection - use these to analyse faults
 /** No sourcecode to highlight was specified
  * @deprecated
@@ -137,9 +232,9 @@
 define('GESHI_ERROR_NO_SUCH_LANG', 2);
 /** GeSHi could not open a file for reading (generally a language file) */
 define('GESHI_ERROR_FILE_NOT_READABLE', 3);
-/** The header type passed to {@link GeSHi::set_header_type()} was invalid */
+/** The header type passed to {@link GeSHi->set_header_type()} was invalid */
 define('GESHI_ERROR_INVALID_HEADER_TYPE', 4);
-/** The line number type passed to {@link GeSHi::enable_line_numbers()} was invalid */
+/** The line number type passed to {@link GeSHi->enable_line_numbers()} was invalid */
 define('GESHI_ERROR_INVALID_LINE_NUMBER_TYPE', 5);
 /**#@-*/
 
@@ -152,8 +247,8 @@
  * about how to use this class.
  *
  * @package   geshi
- * @author    Nigel McNie <nigel@geshi.org>
- * @copyright (C) 2004 - 2007 Nigel McNie
+ * @author    Nigel McNie <nigel@geshi.org>, Benny Baumann <BenBE@omorphia.de>
+ * @copyright (C) 2004 - 2007 Nigel McNie, (C) 2007 - 2008 Benny Baumann
  */
 class GeSHi {
     /**#@+
@@ -235,7 +330,7 @@
         'REGEXPS' =>     array(),
         'ESCAPE_CHAR' => true,
         'BRACKETS' =>    true,
-        'SYMBOLS' =>     true,
+        'SYMBOLS' =>     false,
         'STRINGS' =>     true,
         'NUMBERS' =>     true,
         'METHODS' =>     true,
@@ -315,18 +410,24 @@
     var $highlight_extra_lines = array();
 
     /**
+     * Styles of lines that should be highlighted extra
+     * @var array
+     */
+    var $highlight_extra_lines_styles = array();
+
+    /**
      * Styles of extra-highlighted lines
      * @var string
      */
-    var $highlight_extra_lines_style = 'color: #cc0; background-color: #ffc;';
-
-	/**
-	 * The line ending
-	 * If null, nl2br() will be used on the result string.
-	 * Otherwise, all instances of \n will be replaced with $line_ending
-	 * @var string
-	 */
-	var $line_ending = null;
+    var $highlight_extra_lines_style = 'background-color: #ffc;';
+
+    /**
+     * The line ending
+     * If null, nl2br() will be used on the result string.
+     * Otherwise, all instances of \n will be replaced with $line_ending
+     * @var string
+     */
+    var $line_ending = null;
 
     /**
      * Number at which line numbers should start at
@@ -338,13 +439,13 @@
      * The overall style for this code block
      * @var string
      */
-    var $overall_style = '';
+    var $overall_style = 'font-family:monospace;';
 
     /**
      *  The style for the actual code
      * @var string
      */
-    var $code_style = 'font-family: \'Courier New\', Courier, monospace; font-weight: normal;';
+    var $code_style = 'font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;';
 
     /**
      * The overall class for this code block
@@ -362,21 +463,34 @@
      * Line number styles
      * @var string
      */
-    var $line_style1 = 'font-family: \'Courier New\', Courier, monospace; color: black; font-weight: normal; font-style: normal;';
+    var $line_style1 = 'font-weight: normal; vertical-align:top;';
 
     /**
      * Line number styles for fancy lines
      * @var string
      */
-    var $line_style2 = 'font-weight: bold;';
+    var $line_style2 = 'font-weight: bold; vertical-align:top;';
 
     /**
-     * Flag for how line nubmers are displayed
+     * Style for line numbers when GESHI_HEADER_PRE_TABLE is chosen
+     * @var string
+     */
+    var $table_linenumber_style = 'width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;';
+
+    /**
+     * Flag for how line numbers are displayed
      * @var boolean
      */
     var $line_numbers = GESHI_NO_LINE_NUMBERS;
 
     /**
+     * Flag to decide if multi line spans are allowed. Set it to false to make sure
+     * each tag is closed before and reopened after each linefeed.
+     * @var boolean
+     */
+    var $allow_multiline_span = true;
+
+    /**
      * The "nth" value for fancy line highlighting
      * @var int
      */
@@ -388,11 +502,11 @@
      */
     var $tab_width = 8;
 
-	/**
-	 * Should we use language-defined tab stop widths?
-	 * @var int
-	 */
-	var $use_language_tab_width = false;
+    /**
+     * Should we use language-defined tab stop widths?
+     * @var int
+     */
+    var $use_language_tab_width = false;
 
     /**
      * Default target for keyword links
@@ -402,10 +516,10 @@
 
     /**
      * The encoding to use for entity encoding
-     * NOTE: no longer used
+     * NOTE: Used with Escape Char Sequences to fix UTF-8 handling (cf. SF#2037598)
      * @var string
      */
-    var $encoding = 'ISO-8859-1';
+    var $encoding = 'utf-8';
 
     /**
      * Should keywords be linked?
@@ -413,6 +527,51 @@
      */
     var $keyword_links = true;
 
+    /**
+     * Currently loaded language file
+     * @var string
+     * @since 1.0.7.22
+     */
+    var $loaded_language = '';
+
+    /**
+     * Wether the caches needed for parsing are built or not
+     *
+     * @var bool
+     * @since 1.0.8
+     */
+    var $parse_cache_built = false;
+
+    /**
+     * Work around for Suhosin Patch with disabled /e modifier
+     *
+     * Note from suhosins author in config file:
+     * <blockquote>
+     *   The /e modifier inside <code>preg_replace()</code> allows code execution.
+     *   Often it is the cause for remote code execution exploits. It is wise to
+     *   deactivate this feature and test where in the application it is used.
+     *   The developer using the /e modifier should be made aware that he should
+     *   use <code>preg_replace_callback()</code> instead
+     * </blockquote>
+     *
+     * @var array
+     * @since 1.0.8
+     */
+    var $_kw_replace_group = 0;
+    var $_rx_key = 0;
+
+    /**
+     * some "callback parameters" for handle_multiline_regexps
+     *
+     * @since 1.0.8
+     * @access private
+     * @var string
+     */
+    var $_hmr_before = '';
+    var $_hmr_replace = '';
+    var $_hmr_after = '';
+    var $_hmr_key = 0;
+
     /**#@-*/
 
     /**
@@ -426,13 +585,17 @@
      *               should be automatically set correctly. If you have
      *               renamed the language directory however, you will
      *               still need to set the path using this parameter or
-     *               {@link GeSHi::set_language_path()}
+     *               {@link GeSHi->set_language_path()}
      * @since 1.0.0
      */
-    function GeSHi($source, $language, $path = '') {
-        $this->set_source($source);
+    function GeSHi($source = '', $language = '', $path = '') {
+        if (!empty($source)) {
+            $this->set_source($source);
+        }
+        if (!empty($language)) {
+            $this->set_language($language);
+        }
         $this->set_language_path($path);
-        $this->set_language($language);
     }
 
     /**
@@ -444,15 +607,17 @@
      */
     function error() {
         if ($this->error) {
-            $msg = $this->error_messages[$this->error];
+            //Put some template variables for debugging here ...
             $debug_tpl_vars = array(
                 '{LANGUAGE}' => $this->language,
                 '{PATH}' => $this->language_path
             );
-            foreach ($debug_tpl_vars as $tpl => $var) {
-                $msg = str_replace($tpl, $var, $msg);
-            }
-            return "<br /><strong>GeSHi Error:</strong> $msg (code $this->error)<br />";
+            $msg = str_replace(
+                array_keys($debug_tpl_vars),
+                array_values($debug_tpl_vars),
+                $this->error_messages[$this->error]);
+
+            return "<br /><strong>GeSHi Error:</strong> $msg (code {$this->error})<br />";
         }
         return false;
     }
@@ -485,21 +650,40 @@
     /**
      * Sets the language for this object
      *
+     * @note since 1.0.8 this function won't reset language-settings by default anymore!
+     *       if you need this set $force_reset = true
+     *
      * @param string The name of the language to use
      * @since 1.0.0
      */
-    function set_language($language) {
+    function set_language($language, $force_reset = false) {
+        if ($force_reset) {
+            $this->loaded_language = false;
+        }
+
+        //Clean up the language name to prevent malicious code injection
+        $language = preg_replace('#[^a-zA-Z0-9\-_]#', '', $language);
+
+        $language = strtolower($language);
+
+        //Retreive the full filename
+        $file_name = $this->language_path . $language . '.php';
+        if ($file_name == $this->loaded_language) {
+            // this language is already loaded!
+            return;
+        }
+
+        $this->language = $language;
+
         $this->error = false;
         $this->strict_mode = GESHI_NEVER;
 
-        $language = preg_replace('#[^a-zA-Z0-9\-_]#', '', $language);
-        $this->language = strtolower($language);
-
-        $file_name = $this->language_path . $this->language . '.php';
+        //Check if we can read the desired file
         if (!is_readable($file_name)) {
             $this->error = GESHI_ERROR_NO_SUCH_LANG;
             return;
         }
+
         // Load the language for parsing
         $this->load_language($file_name);
     }
@@ -517,9 +701,31 @@
      *             so this method will disappear in 1.2.0.
      */
     function set_language_path($path) {
+        if(strpos($path,':')) {
+            //Security Fix to prevent external directories using fopen wrappers.
+            if(DIRECTORY_SEPARATOR == "\\") {
+                if(!preg_match('#^[a-zA-Z]:#', $path) || false !== strpos($path, ':', 2)) {
+                    return;
+                }
+            } else {
+                return;
+            }
+        }
+        if(preg_match('#[^/a-zA-Z0-9_\.\-\\\s:]#', $path)) {
+            //Security Fix to prevent external directories using fopen wrappers.
+            return;
+        }
+        if(GESHI_SECURITY_PARANOID && false !== strpos($path, '/.')) {
+            //Security Fix to prevent external directories using fopen wrappers.
+            return;
+        }
+        if(GESHI_SECURITY_PARANOID && false !== strpos($path, '..')) {
+            //Security Fix to prevent external directories using fopen wrappers.
+            return;
+        }
         if ($path) {
-            $this->language_path = ('/' == substr($path, strlen($path) - 1, 1)) ? $path : $path . '/';
-            $this->set_language($this->language);        // otherwise set_language_path has no effect
+            $this->language_path = ('/' == $path[strlen($path) - 1]) ? $path : $path . '/';
+            $this->set_language($this->language); // otherwise set_language_path has no effect
         }
     }
 
@@ -538,15 +744,15 @@
      * @since 1.0.0
      */
     function set_header_type($type) {
-        if (GESHI_HEADER_DIV != $type && GESHI_HEADER_PRE != $type && GESHI_HEADER_NONE != $type) {
+        //Check if we got a valid header type
+        if (!in_array($type, array(GESHI_HEADER_NONE, GESHI_HEADER_DIV,
+            GESHI_HEADER_PRE, GESHI_HEADER_PRE_VALID, GESHI_HEADER_PRE_TABLE))) {
             $this->error = GESHI_ERROR_INVALID_HEADER_TYPE;
             return;
         }
+
+        //Set that new header type
         $this->header_type = $type;
-        // Set a default overall style if the header is a <div>
-        if (GESHI_HEADER_DIV == $type && !$this->overall_style) {
-            $this->overall_style = 'font-family: monospace;';
-        }
     }
 
     /**
@@ -561,8 +767,7 @@
     function set_overall_style($style, $preserve_defaults = false) {
         if (!$preserve_defaults) {
             $this->overall_style = $style;
-        }
-        else {
+        } else {
             $this->overall_style .= $style;
         }
     }
@@ -614,12 +819,12 @@
      *
      * @param string  The style to use for actual code
      * @param boolean Whether to merge the current styles with the new styles
+     * @since 1.0.2
      */
     function set_code_style($style, $preserve_defaults = false) {
         if (!$preserve_defaults) {
             $this->code_style = $style;
-        }
-        else {
+        } else {
             $this->code_style .= $style;
         }
     }
@@ -637,15 +842,17 @@
      * @since 1.0.2
      */
     function set_line_style($style1, $style2 = '', $preserve_defaults = false) {
+        //Check if we got 2 or three parameters
         if (is_bool($style2)) {
             $preserve_defaults = $style2;
             $style2 = '';
         }
+
+        //Actually set the new styles
         if (!$preserve_defaults) {
             $this->line_style1 = $style1;
             $this->line_style2 = $style2;
-        }
-        else {
+        } else {
             $this->line_style1 .= $style1;
             $this->line_style2 .= $style2;
         }
@@ -678,6 +885,29 @@
     }
 
     /**
+     * Sets wether spans and other HTML markup generated by GeSHi can
+     * span over multiple lines or not. Defaults to true to reduce overhead.
+     * Set it to false if you want to manipulate the output or manually display
+     * the code in an ordered list.
+     *
+     * @param boolean Wether multiline spans are allowed or not
+     * @since 1.0.7.22
+     */
+    function enable_multiline_span($flag) {
+        $this->allow_multiline_span = (bool) $flag;
+    }
+
+    /**
+     * Get current setting for multiline spans, see GeSHi->enable_multiline_span().
+     *
+     * @see enable_multiline_span
+     * @return bool
+     */
+    function get_multiline_span() {
+        return $this->allow_multiline_span;
+    }
+
+    /**
      * Sets the style for a keyword group. If $preserve_defaults is
      * true, then styles are merged with the default styles, with the
      * user defined styles having priority
@@ -689,11 +919,16 @@
      * @since 1.0.0
      */
     function set_keyword_group_style($key, $style, $preserve_defaults = false) {
+        //Set the style for this keyword group
         if (!$preserve_defaults) {
             $this->language_data['STYLES']['KEYWORDS'][$key] = $style;
+        } else {
+            $this->language_data['STYLES']['KEYWORDS'][$key] .= $style;
         }
-        else {
-            $this->language_data['STYLES']['KEYWORDS'][$key] .= $style;
+
+        //Update the lexic permissions
+        if (!isset($this->lexic_permissions['KEYWORDS'][$key])) {
+            $this->lexic_permissions['KEYWORDS'][$key] = true;
         }
     }
 
@@ -722,8 +957,7 @@
     function set_comments_style($key, $style, $preserve_defaults = false) {
         if (!$preserve_defaults) {
             $this->language_data['STYLES']['COMMENTS'][$key] = $style;
-        }
-        else {
+        } else {
             $this->language_data['STYLES']['COMMENTS'][$key] .= $style;
         }
     }
@@ -752,8 +986,7 @@
     function set_escape_characters_style($style, $preserve_defaults = false) {
         if (!$preserve_defaults) {
             $this->language_data['STYLES']['ESCAPE_CHAR'][0] = $style;
-        }
-        else {
+        } else {
             $this->language_data['STYLES']['ESCAPE_CHAR'][0] .= $style;
         }
     }
@@ -785,8 +1018,7 @@
     function set_brackets_style($style, $preserve_defaults = false) {
         if (!$preserve_defaults) {
             $this->language_data['STYLES']['BRACKETS'][0] = $style;
-        }
-        else {
+        } else {
             $this->language_data['STYLES']['BRACKETS'][0] .= $style;
         }
     }
@@ -813,17 +1045,21 @@
      * @param string  The style to make the symbols
      * @param boolean Whether to merge the new styles with the old or just
      *                to overwrite them
+     * @param int     Tells the group of symbols for which style should be set.
      * @since 1.0.1
      */
-    function set_symbols_style($style, $preserve_defaults = false) {
+    function set_symbols_style($style, $preserve_defaults = false, $group = 0) {
+        // Update the style of symbols
         if (!$preserve_defaults) {
-            $this->language_data['STYLES']['SYMBOLS'][0] = $style;
+            $this->language_data['STYLES']['SYMBOLS'][$group] = $style;
+        } else {
+            $this->language_data['STYLES']['SYMBOLS'][$group] .= $style;
         }
-        else {
-            $this->language_data['STYLES']['SYMBOLS'][0] .= $style;
+
+        // For backward compatibility
+        if (0 == $group) {
+            $this->set_brackets_style ($style, $preserve_defaults);
         }
-        // For backward compatibility
-        $this->set_brackets_style ($style, $preserve_defaults);
     }
 
     /**
@@ -833,7 +1069,9 @@
      * @since 1.0.0
      */
     function set_symbols_highlighting($flag) {
+        // Update lexic permissions for this symbol group
         $this->lexic_permissions['SYMBOLS'] = ($flag) ? true : false;
+
         // For backward compatibility
         $this->set_brackets_highlighting ($flag);
     }
@@ -851,8 +1089,7 @@
     function set_strings_style($style, $preserve_defaults = false) {
         if (!$preserve_defaults) {
             $this->language_data['STYLES']['STRINGS'][0] = $style;
-        }
-        else {
+        } else {
             $this->language_data['STYLES']['STRINGS'][0] .= $style;
         }
     }
@@ -880,8 +1117,7 @@
     function set_numbers_style($style, $preserve_defaults = false) {
         if (!$preserve_defaults) {
             $this->language_data['STYLES']['NUMBERS'][0] = $style;
-        }
-        else {
+        } else {
             $this->language_data['STYLES']['NUMBERS'][0] .= $style;
         }
     }
@@ -912,8 +1148,7 @@
     function set_methods_style($key, $style, $preserve_defaults = false) {
         if (!$preserve_defaults) {
             $this->language_data['STYLES']['METHODS'][$key] = $style;
-        }
-        else {
+        } else {
             $this->language_data['STYLES']['METHODS'][$key] .= $style;
         }
     }
@@ -941,8 +1176,7 @@
     function set_regexps_style($key, $style, $preserve_defaults = false) {
         if (!$preserve_defaults) {
             $this->language_data['STYLES']['REGEXPS'][$key] = $style;
-        }
-        else {
+        } else {
             $this->language_data['STYLES']['REGEXPS'][$key] .= $style;
         }
     }
@@ -978,10 +1212,12 @@
      *
      * @param int A constant specifying what to do with matched keywords
      * @since 1.0.1
-     * @todo  Error check the passed value
      */
     function set_case_keywords($case) {
-        $this->language_data['CASE_KEYWORDS'] = $case;
+        if (in_array($case, array(
+            GESHI_CAPS_NO_CHANGE, GESHI_CAPS_UPPER, GESHI_CAPS_LOWER))) {
+            $this->language_data['CASE_KEYWORDS'] = $case;
+        }
     }
 
     /**
@@ -994,35 +1230,39 @@
      */
     function set_tab_width($width) {
         $this->tab_width = intval($width);
+
         //Check if it fit's the constraints:
-        if($this->tab_width < 1) {
+        if ($this->tab_width < 1) {
             //Return it to the default
             $this->tab_width = 8;
         }
     }
 
-	/**
-	 * Sets whether or not to use tab-stop width specifed by language
-	 *
-	 * @param boolean Whether to use language-specific tab-stop widths
-	 */
-	function set_use_language_tab_width($use) {
-		$this->use_language_tab_width = (bool) $use;
-	}
-
-	/**
-	 * Returns the tab width to use, based on the current language and user
-	 * preference
-	 *
-	 * @return int Tab width
-	 */
-	function get_real_tab_width() {
-		if (!$this->use_language_tab_width || !isset($this->language_data['TAB_WIDTH'])) {
-			return $this->tab_width;
-		} else {
-			return $this->language_data['TAB_WIDTH'];
-		}
-	}
+    /**
+     * Sets whether or not to use tab-stop width specifed by language
+     *
+     * @param boolean Whether to use language-specific tab-stop widths
+     * @since 1.0.7.20
+     */
+    function set_use_language_tab_width($use) {
+        $this->use_language_tab_width = (bool) $use;
+    }
+
+    /**
+     * Returns the tab width to use, based on the current language and user
+     * preference
+     *
+     * @return int Tab width
+     * @since 1.0.7.20
+     */
+    function get_real_tab_width() {
+        if (!$this->use_language_tab_width ||
+            !isset($this->language_data['TAB_WIDTH'])) {
+            return $this->tab_width;
+        } else {
+            return $this->language_data['TAB_WIDTH'];
+        }
+    }
 
     /**
      * Enables/disables strict highlighting. Default is off, calling this
@@ -1034,7 +1274,7 @@
      */
     function enable_strict_mode($mode = true) {
         if (GESHI_MAYBE == $this->language_data['STRICT_MODE_APPLIES']) {
-          $this->strict_mode = ($mode) ? true : false;
+            $this->strict_mode = ($mode) ? GESHI_ALWAYS : GESHI_NEVER;
         }
     }
 
@@ -1042,42 +1282,37 @@
      * Disables all highlighting
      *
      * @since 1.0.0
-     * @todo Rewrite with an array traversal
+     * @todo  Rewrite with array traversal
+     * @deprecated In favour of enable_highlighting
      */
     function disable_highlighting() {
-        foreach ($this->lexic_permissions as $key => $value) {
-            if (is_array($value)) {
-                foreach ($value as $k => $v) {
-                    $this->lexic_permissions[$key][$k] = false;
-                }
-            }
-            else {
-                $this->lexic_permissions[$key] = false;
-            }
-        }
-        // Context blocks
-        $this->enable_important_blocks = false;
+        $this->enable_highlighting(false);
     }
 
     /**
      * Enables all highlighting
      *
+     * The optional flag parameter was added in version 1.0.7.21 and can be used
+     * to enable (true) or disable (false) all highlighting.
+     *
      * @since 1.0.0
+     * @param boolean A flag specifying whether to enable or disable all highlighting
      * @todo  Rewrite with array traversal
      */
-    function enable_highlighting() {
+    function enable_highlighting($flag = true) {
+        $flag = $flag ? true : false;
         foreach ($this->lexic_permissions as $key => $value) {
             if (is_array($value)) {
                 foreach ($value as $k => $v) {
-                    $this->lexic_permissions[$key][$k] = true;
+                    $this->lexic_permissions[$key][$k] = $flag;
                 }
-            }
-            else {
-                $this->lexic_permissions[$key] = true;
+            } else {
+                $this->lexic_permissions[$key] = $flag;
             }
         }
+
         // Context blocks
-        $this->enable_important_blocks = true;
+        $this->enable_important_blocks = $flag;
     }
 
     /**
@@ -1085,59 +1320,86 @@
      * name, or the empty string if it couldn't be found
      *
      * @param string The extension to get a language name for
-     * @param array  A lookup array to use instead of the default
+     * @param array  A lookup array to use instead of the default one
      * @since 1.0.5
      * @todo Re-think about how this method works (maybe make it private and/or make it
      *       a extension->lang lookup?)
      * @todo static?
      */
     function get_language_name_from_extension( $extension, $lookup = array() ) {
-        if ( !$lookup ) {
+        if ( !is_array($lookup) || empty($lookup)) {
             $lookup = array(
                 'actionscript' => array('as'),
                 'ada' => array('a', 'ada', 'adb', 'ads'),
                 'apache' => array('conf'),
-                'asm' => array('ash', 'asm'),
+                'asm' => array('ash', 'asm', 'inc'),
                 'asp' => array('asp'),
                 'bash' => array('sh'),
+                'bf' => array('bf'),
                 'c' => array('c', 'h'),
                 'c_mac' => array('c', 'h'),
                 'caddcl' => array(),
                 'cadlisp' => array(),
                 'cdfg' => array('cdfg'),
-                'cpp' => array('cpp', 'h', 'hpp'),
-                'csharp' => array(),
+                'cobol' => array('cbl'),
+                'cpp' => array('cpp', 'hpp', 'C', 'H', 'CPP', 'HPP'),
+                'csharp' => array('cs'),
                 'css' => array('css'),
-                'delphi' => array('dpk', 'dpr'),
+                'd' => array('d'),
+                'delphi' => array('dpk', 'dpr', 'pp', 'pas'),
+                'diff' => array('diff', 'patch'),
+                'dos' => array('bat', 'cmd'),
+                'gettext' => array('po', 'pot'),
+                'gml' => array('gml'),
+                'gnuplot' => array('plt'),
+                'groovy' => array('groovy'),
+                'haskell' => array('hs'),
                 'html4strict' => array('html', 'htm'),
+                'ini' => array('ini', 'desktop'),
                 'java' => array('java'),
                 'javascript' => array('js'),
+                'klonec' => array('kl1'),
+                'klonecpp' => array('klx'),
+                'latex' => array('tex'),
                 'lisp' => array('lisp'),
                 'lua' => array('lua'),
+                'matlab' => array('m'),
                 'mpasm' => array(),
+                'mysql' => array('sql'),
                 'nsis' => array(),
                 'objc' => array(),
                 'oobas' => array(),
                 'oracle8' => array(),
+                'oracle10' => array(),
                 'pascal' => array('pas'),
                 'perl' => array('pl', 'pm'),
                 'php' => array('php', 'php5', 'phtml', 'phps'),
+                'povray' => array('pov'),
+                'providex' => array('pvc', 'pvx'),
+                'prolog' => array('pl'),
                 'python' => array('py'),
                 'qbasic' => array('bi'),
+                'reg' => array('reg'),
+                'ruby' => array('rb'),
                 'sas' => array('sas'),
+                'scala' => array('scala'),
+                'scheme' => array('scm'),
+                'scilab' => array('sci'),
+                'smalltalk' => array('st'),
                 'smarty' => array(),
+                'tcl' => array('tcl'),
                 'vb' => array('bas'),
                 'vbnet' => array(),
                 'visualfoxpro' => array(),
-                'xml' => array('xml')
+                'whitespace' => array('ws'),
+                'xml' => array('xml', 'svg'),
+                'z80' => array('z80', 'asm', 'inc')
             );
         }
 
         foreach ($lookup as $lang => $extensions) {
-            foreach ($extensions as $ext) {
-                if ($ext == $extension) {
-                    return $lang;
-                }
+            if (in_array($extension, $extensions)) {
+                return $lang;
             }
         }
         return '';
@@ -1155,15 +1417,16 @@
      *   'lang_name' ...
      * );</pre>
      *
+     * @param string The filename to load the source from
+     * @param array  A lookup array to use instead of the default one
      * @todo Complete rethink of this and above method
      * @since 1.0.5
      */
     function load_from_file($file_name, $lookup = array()) {
         if (is_readable($file_name)) {
-            $this->set_source(implode('', file($file_name)));
+            $this->set_source(file_get_contents($file_name));
             $this->set_language($this->get_language_name_from_extension(substr(strrchr($file_name, '.'), 1), $lookup));
-        }
-        else {
+        } else {
             $this->error = GESHI_ERROR_FILE_NOT_READABLE;
         }
     }
@@ -1176,7 +1439,15 @@
      * @since 1.0.0
      */
     function add_keyword($key, $word) {
-        $this->language_data['KEYWORDS'][$key][] = $word;
+        if (!in_array($word, $this->language_data['KEYWORDS'][$key])) {
+            $this->language_data['KEYWORDS'][$key][] = $word;
+
+            //NEW in 1.0.8 don't recompile the whole optimized regexp, simply append it
+            if ($this->parse_cache_built) {
+                $subkey = count($this->language_data['CACHED_KEYWORD_LISTS'][$key]) - 1;
+                $this->language_data['CACHED_KEYWORD_LISTS'][$key][$subkey] .= '|' . preg_quote($word, '/');
+            }
+        }
     }
 
     /**
@@ -1184,11 +1455,24 @@
      *
      * @param int    The key of the keyword group to remove the keyword from
      * @param string The word to remove from the keyword group
+     * @param bool   Wether to automatically recompile the optimized regexp list or not.
+     *               Note: if you set this to false and @see GeSHi->parse_code() was already called once,
+     *               for the current language, you have to manually call @see GeSHi->optimize_keyword_group()
+     *               or the removed keyword will stay in cache and still be highlighted! On the other hand
+     *               it might be too expensive to recompile the regexp list for every removal if you want to
+     *               remove a lot of keywords.
      * @since 1.0.0
      */
-    function remove_keyword($key, $word) {
-        $this->language_data['KEYWORDS'][$key] =
-            array_diff($this->language_data['KEYWORDS'][$key], array($word));
+    function remove_keyword($key, $word, $recompile = true) {
+        $key_to_remove = array_search($word, $this->language_data['KEYWORDS'][$key]);
+        if ($key_to_remove !== false) {
+            unset($this->language_data['KEYWORDS'][$key][$key_to_remove]);
+
+            //NEW in 1.0.8, optionally recompile keyword group
+            if ($recompile && $this->parse_cache_built) {
+                $this->optimize_keyword_group($key);
+            }
+        }
     }
 
     /**
@@ -1202,10 +1486,21 @@
      */
     function add_keyword_group($key, $styles, $case_sensitive = true, $words = array()) {
         $words = (array) $words;
+        if  (empty($words)) {
+            // empty word lists mess up highlighting
+            return false;
+        }
+
+        //Add the new keyword group internally
         $this->language_data['KEYWORDS'][$key] = $words;
         $this->lexic_permissions['KEYWORDS'][$key] = true;
         $this->language_data['CASE_SENSITIVE'][$key] = $case_sensitive;
         $this->language_data['STYLES']['KEYWORDS'][$key] = $styles;
+
+        //NEW in 1.0.8, cache keyword regexp
+        if ($this->parse_cache_built) {
+            $this->optimize_keyword_group($key);
+        }
     }
 
     /**
@@ -1215,10 +1510,25 @@
      * @since 1.0.0
      */
     function remove_keyword_group ($key) {
+        //Remove the keyword group internally
         unset($this->language_data['KEYWORDS'][$key]);
         unset($this->lexic_permissions['KEYWORDS'][$key]);
         unset($this->language_data['CASE_SENSITIVE'][$key]);
         unset($this->language_data['STYLES']['KEYWORDS'][$key]);
+
+        //NEW in 1.0.8
+        unset($this->language_data['CACHED_KEYWORD_LISTS'][$key]);
+    }
+
+    /**
+     * compile optimized regexp list for keyword group
+     *
+     * @param int   The key of the keyword group to compile & optimize
+     * @since 1.0.8
+     */
+    function optimize_keyword_group($key) {
+        $this->language_data['CACHED_KEYWORD_LISTS'][$key] =
+            $this->optimize_regexp_list($this->language_data['KEYWORDS'][$key]);
     }
 
     /**
@@ -1306,9 +1616,8 @@
     function set_link_target($target) {
         if (!$target) {
             $this->link_target = '';
-        }
-        else {
-            $this->link_target = ' target="' . $target . '" ';
+        } else {
+            $this->link_target = ' target="' . $target . '"';
         }
     }
 
@@ -1325,8 +1634,10 @@
     /**
      * Sets whether context-important blocks are highlighted
      *
+     * @param boolean Tells whether to enable or disable highlighting of important blocks
      * @todo REMOVE THIS SHIZ FROM GESHI!
      * @deprecated
+     * @since 1.0.2
      */
     function enable_important_blocks($flag) {
         $this->enable_important_blocks = ( $flag ) ? true : false;
@@ -1345,19 +1656,37 @@
     /**
      * Specifies which lines to highlight extra
      *
+     * The extra style parameter was added in 1.0.7.21.
+     *
      * @param mixed An array of line numbers to highlight, or just a line
      *              number on its own.
+     * @param string A string specifying the style to use for this line.
+     *              If null is specified, the default style is used.
+     *              If false is specified, the line will be removed from
+     *              special highlighting
      * @since 1.0.2
      * @todo  Some data replication here that could be cut down on
      */
-    function highlight_lines_extra($lines) {
+    function highlight_lines_extra($lines, $style = null) {
         if (is_array($lines)) {
+            //Split up the job using single lines at a time
             foreach ($lines as $line) {
-                $this->highlight_extra_lines[intval($line)] = intval($line);
+                $this->highlight_lines_extra($line, $style);
             }
-        }
-        else {
-            $this->highlight_extra_lines[intval($lines)] = intval($lines);
+        } else {
+            //Mark the line as being highlighted specially
+            $lines = intval($lines);
+            $this->highlight_extra_lines[$lines] = $lines;
+
+            //Decide on which style to use
+            if ($style === null) { //Check if we should use default style
+                unset($this->highlight_extra_lines_styles[$lines]);
+            } else if ($style === false) { //Check if to remove this line
+                unset($this->highlight_extra_lines[$lines]);
+                unset($this->highlight_extra_lines_styles[$lines]);
+            } else {
+                $this->highlight_extra_lines_styles[$lines] = $style;
+            }
         }
     }
 
@@ -1371,14 +1700,15 @@
         $this->highlight_extra_lines_style = $styles;
     }
 
-	/**
-	 * Sets the line-ending
-	 *
-	 * @param string The new line-ending
-	 */
-	function set_line_ending($line_ending) {
-		$this->line_ending = (string)$line_ending;
-	}
+    /**
+     * Sets the line-ending
+     *
+     * @param string The new line-ending
+     * @since 1.0.2
+     */
+    function set_line_ending($line_ending) {
+        $this->line_ending = (string)$line_ending;
+    }
 
     /**
      * Sets what number line numbers should start at. Should
@@ -1413,7 +1743,7 @@
      */
     function set_encoding($encoding) {
         if ($encoding) {
-          $this->encoding = $encoding;
+          $this->encoding = strtolower($encoding);
         }
     }
 
@@ -1421,9 +1751,232 @@
      * Turns linking of keywords on or off.
      *
      * @param boolean If true, links will be added to keywords
+     * @since 1.0.2
      */
     function enable_keyword_links($enable = true) {
-        $this->keyword_links = ($enable) ? true : false;
+        $this->keyword_links = (bool) $enable;
+    }
+
+    /**
+     * Setup caches needed for styling. This is automatically called in
+     * parse_code() and get_stylesheet() when appropriate. This function helps
+     * stylesheet generators as they rely on some style information being
+     * preprocessed
+     *
+     * @since 1.0.8
+     * @access private
+     */
+    function build_style_cache() {
+        //Build the style cache needed to highlight numbers appropriate
+        if($this->lexic_permissions['NUMBERS']) {
+            //First check what way highlighting information for numbers are given
+            if(!isset($this->language_data['NUMBERS'])) {
+                $this->language_data['NUMBERS'] = 0;
+            }
+
+            if(is_array($this->language_data['NUMBERS'])) {
+                $this->language_data['NUMBERS_CACHE'] = $this->language_data['NUMBERS'];
+            } else {
+                $this->language_data['NUMBERS_CACHE'] = array();
+                if(!$this->language_data['NUMBERS']) {
+                    $this->language_data['NUMBERS'] =
+                        GESHI_NUMBER_INT_BASIC |
+                        GESHI_NUMBER_FLT_NONSCI;
+                }
+
+                for($i = 0, $j = $this->language_data['NUMBERS']; $j > 0; ++$i, $j>>=1) {
+                    //Rearrange style indices if required ...
+                    if(isset($this->language_data['STYLES']['NUMBERS'][1<<$i])) {
+                        $this->language_data['STYLES']['NUMBERS'][$i] =
+                            $this->language_data['STYLES']['NUMBERS'][1<<$i];
+                        unset($this->language_data['STYLES']['NUMBERS'][1<<$i]);
+                    }
+
+                    //Check if this bit is set for highlighting
+                    if($j&1) {
+                        //So this bit is set ...
+                        //Check if it belongs to group 0 or the actual stylegroup
+                        if(isset($this->language_data['STYLES']['NUMBERS'][$i])) {
+                            $this->language_data['NUMBERS_CACHE'][$i] = 1 << $i;
+                        } else {
+                            if(!isset($this->language_data['NUMBERS_CACHE'][0])) {
+                                $this->language_data['NUMBERS_CACHE'][0] = 0;
+                            }
+                            $this->language_data['NUMBERS_CACHE'][0] |= 1 << $i;
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * Setup caches needed for parsing. This is automatically called in parse_code() when appropriate.
+     * This function makes stylesheet generators much faster as they do not need these caches.
+     *
+     * @since 1.0.8
+     * @access private
+     */
+    function build_parse_cache() {
+        // cache symbol regexp
+        //As this is a costy operation, we avoid doing it for multiple groups ...
+        //Instead we perform it for all symbols at once.
+        //
+        //For this to work, we need to reorganize the data arrays.
+        if ($this->lexic_permissions['SYMBOLS'] && !empty($this->language_data['SYMBOLS'])) {
+            $this->language_data['MULTIPLE_SYMBOL_GROUPS'] = count($this->language_data['STYLES']['SYMBOLS']) > 1;
+
+            $this->language_data['SYMBOL_DATA'] = array();
+            $symbol_preg_multi = array(); // multi char symbols
+            $symbol_preg_single = array(); // single char symbols
+            foreach ($this->language_data['SYMBOLS'] as $key => $symbols) {
+                if (is_array($symbols)) {
+                    foreach ($symbols as $sym) {
+                        $sym = $this->hsc($sym);
+                        if (!isset($this->language_data['SYMBOL_DATA'][$sym])) {
+                            $this->language_data['SYMBOL_DATA'][$sym] = $key;
+                            if (isset($sym[1])) { // multiple chars
+                                $symbol_preg_multi[] = preg_quote($sym, '/');
+                            } else { // single char
+                                if ($sym == '-') {
+                                    // don't trigger range out of order error
+                                    $symbol_preg_single[] = '\-';
+                                } else {
+                                    $symbol_preg_single[] = preg_quote($sym, '/');
+                                }
+                            }
+                        }
+                    }
+                } else {
+                    $symbols = $this->hsc($symbols);
+                    if (!isset($this->language_data['SYMBOL_DATA'][$symbols])) {
+                        $this->language_data['SYMBOL_DATA'][$symbols] = 0;
+                        if (isset($symbols[1])) { // multiple chars
+                            $symbol_preg_multi[] = preg_quote($symbols, '/');
+                        } else if ($symbols == '-') {
+                            // don't trigger range out of order error
+                            $symbol_preg_single[] = '\-';
+                        } else { // single char
+                            $symbol_preg_single[] = preg_quote($symbols, '/');
+                        }
+                    }
+                }
+            }
+
+            //Now we have an array with each possible symbol as the key and the style as the actual data.
+            //This way we can set the correct style just the moment we highlight ...
+            //
+            //Now we need to rewrite our array to get a search string that
+            $symbol_preg = array();
+            if (!empty($symbol_preg_multi)) {
+                rsort($symbol_preg_multi);
+                $symbol_preg[] = implode('|', $symbol_preg_multi);
+            }
+            if (!empty($symbol_preg_single)) {
+                rsort($symbol_preg_single);
+                $symbol_preg[] = '[' . implode('', $symbol_preg_single) . ']';
+            }
+            $this->language_data['SYMBOL_SEARCH'] = implode("|", $symbol_preg);
+        }
+
+        // cache optimized regexp for keyword matching
+        // remove old cache
+        $this->language_data['CACHED_KEYWORD_LISTS'] = array();
+        foreach (array_keys($this->language_data['KEYWORDS']) as $key) {
+            if (!isset($this->lexic_permissions['KEYWORDS'][$key]) ||
+                    $this->lexic_permissions['KEYWORDS'][$key]) {
+                $this->optimize_keyword_group($key);
+            }
+        }
+
+        // brackets
+        if ($this->lexic_permissions['BRACKETS']) {
+            $this->language_data['CACHE_BRACKET_MATCH'] = array('[', ']', '(', ')', '{', '}');
+            if (!$this->use_classes && isset($this->language_data['STYLES']['BRACKETS'][0])) {
+                $this->language_data['CACHE_BRACKET_REPLACE'] = array(
+                    '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#91;|>',
+                    '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#93;|>',
+                    '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#40;|>',
+                    '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#41;|>',
+                    '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#123;|>',
+                    '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#125;|>',
+                );
+            }
+            else {
+                $this->language_data['CACHE_BRACKET_REPLACE'] = array(
+                    '<| class="br0">&#91;|>',
+                    '<| class="br0">&#93;|>',
+                    '<| class="br0">&#40;|>',
+                    '<| class="br0">&#41;|>',
+                    '<| class="br0">&#123;|>',
+                    '<| class="br0">&#125;|>',
+                );
+            }
+        }
+
+        //Build the parse cache needed to highlight numbers appropriate
+        if($this->lexic_permissions['NUMBERS']) {
+            //Check if the style rearrangements have been processed ...
+            //This also does some preprocessing to check which style groups are useable ...
+            if(!isset($this->language_data['NUMBERS_CACHE'])) {
+                $this->build_style_cache();
+            }
+
+            //Number format specification
+            //All this formats are matched case-insensitively!
+            static $numbers_format = array(
+                GESHI_NUMBER_INT_BASIC =>
+                    '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])([1-9]\d*?|0)(?![0-9a-z\.])',
+                GESHI_NUMBER_INT_CSTYLE =>
+                    '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])([1-9]\d*?|0)l(?![0-9a-z\.])',
+                GESHI_NUMBER_BIN_SUFFIX =>
+                    '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])[01]+?b(?![0-9a-z\.])',
+                GESHI_NUMBER_BIN_PREFIX_PERCENT =>
+                    '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])%[01]+?(?![0-9a-z\.])',
+                GESHI_NUMBER_BIN_PREFIX_0B =>
+                    '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])0b[01]+?(?![0-9a-z\.])',
+                GESHI_NUMBER_OCT_PREFIX =>
+                    '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])0[0-7]+?(?![0-9a-z\.])',
+                GESHI_NUMBER_OCT_SUFFIX =>
+                    '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])[0-7]+?o(?![0-9a-z\.])',
+                GESHI_NUMBER_HEX_PREFIX =>
+                    '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])0x[0-9a-f]+?(?![0-9a-z\.])',
+                GESHI_NUMBER_HEX_SUFFIX =>
+                    '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])\d[0-9a-f]*?h(?![0-9a-z\.])',
+                GESHI_NUMBER_FLT_NONSCI =>
+                    '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])\d+?\.\d+?(?![0-9a-z\.])',
+                GESHI_NUMBER_FLT_NONSCI_F =>
+                    '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])(?:\d+?(?:\.\d*?)?|\.\d+?)f(?![0-9a-z\.])',
+                GESHI_NUMBER_FLT_SCI_SHORT =>
+                    '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])\.\d+?(?:e[+\-]?\d+?)?(?![0-9a-z\.])',
+                GESHI_NUMBER_FLT_SCI_ZERO =>
+                    '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])(?:\d+?(?:\.\d*?)?|\.\d+?)(?:e[+\-]?\d+?)?(?![0-9a-z\.])'
+                );
+
+            //At this step we have an associative array with flag groups for a
+            //specific style or an string denoting a regexp given its index.
+            $this->language_data['NUMBERS_RXCACHE'] = array();
+            foreach($this->language_data['NUMBERS_CACHE'] as $key => $rxdata) {
+                if(is_string($rxdata)) {
+                    $regexp = $rxdata;
+                } else {
+                    //This is a bitfield of number flags to highlight:
+                    //Build an array, implode them together and make this the actual RX
+                    $rxuse = array();
+                    for($i = 1; $i <= $rxdata; $i<<=1) {
+                        if($rxdata & $i) {
+                            $rxuse[] = $numbers_format[$i];
+                        }
+                    }
+                    $regexp = implode("|", $rxuse);
+                }
+
+                $this->language_data['NUMBERS_RXCACHE'][$key] =
+                    "/(?<!<\|\/NUM!)(?<!\d\/>)($regexp)(?!\|>)/i";
+            }
+        }
+
+        $this->parse_cache_built = true;
     }
 
     /**
@@ -1442,32 +1995,36 @@
 
         // Firstly, if there is an error, we won't highlight
         if ($this->error) {
-            $result = GeSHi::hsc($this->source);
+            //Escape the source for output
+            $result = $this->hsc($this->source);
+
+            //This fix is related to SF#1923020, but has to be applied regardless of
+            //actually highlighting symbols.
+            $result = str_replace(array('<SEMI>', '<PIPE>'), array(';', '|'), $result);
+
             // Timing is irrelevant
             $this->set_time($start_time, $start_time);
-            return $this->finalise($result);
+            $this->finalise($result);
+            return $result;
+        }
+
+        // make sure the parse cache is up2date
+        if (!$this->parse_cache_built) {
+            $this->build_parse_cache();
         }
 
         // Replace all newlines to a common form.
         $code = str_replace("\r\n", "\n", $this->source);
         $code = str_replace("\r", "\n", $code);
+
         // Add spaces for regular expression matching and line numbers
-        $code = "\n" . $code . "\n";
+//        $code = "\n" . $code . "\n";
 
         // Initialise various stuff
         $length           = strlen($code);
-        $STRING_OPEN      = '';
-        $CLOSE_STRING     = false;
-        $ESCAPE_CHAR_OPEN = false;
         $COMMENT_MATCHED  = false;
-        // Turn highlighting on if strict mode doesn't apply to this language
-        $HIGHLIGHTING_ON  = ( !$this->strict_mode ) ? true : '';
-        // Whether to highlight inside a block of code
-        $HIGHLIGHT_INSIDE_STRICT = false;
-        $HARDQUOTE_OPEN = false;
-        $STRICTATTRS = '';
         $stuff_to_parse   = '';
-        $result           = '';
+        $endresult        = '';
 
         // "Important" selections are handled like multiline comments
         // @todo GET RID OF THIS SHIZ
@@ -1478,449 +2035,944 @@
         if ($this->strict_mode) {
             // Break the source into bits. Each bit will be a portion of the code
             // within script delimiters - for example, HTML between < and >
-            $parts = array(0 => array(0 => ''));
             $k = 0;
-            for ($i = 0; $i < $length; $i++) {
-                $char = substr($code, $i, 1);
-                if (!$HIGHLIGHTING_ON) {
-                    foreach ($this->language_data['SCRIPT_DELIMITERS'] as $key => $delimiters) {
+            $parts = array();
+            $matches = array();
+            $next_match_pointer = null;
+            // we use a copy to unset delimiters on demand (when they are not found)
+            $delim_copy = $this->language_data['SCRIPT_DELIMITERS'];
+            $i = 0;
+            while ($i < $length) {
+                $next_match_pos = $length + 1; // never true
+                foreach ($delim_copy as $dk => $delimiters) {
+                    if(is_array($delimiters)) {
                         foreach ($delimiters as $open => $close) {
+                            // make sure the cache is setup properly
+                            if (!isset($matches[$dk][$open])) {
+                                $matches[$dk][$open] = array(
+                                    'next_match' => -1,
+                                    'dk' => $dk,
+
+                                    'open' => $open, // needed for grouping of adjacent code blocks (see below)
+                                    'open_strlen' => strlen($open),
+
+                                    'close' => $close,
+                                    'close_strlen' => strlen($close),
+                                );
+                            }
                             // Get the next little bit for this opening string
-                            $check = substr($code, $i, strlen($open));
-                            // If it matches...
-                            if ($check == $open) {
-                                // We start a new block with the highlightable
-                                // code in it
-                                $HIGHLIGHTING_ON = $open;
-                                $i += strlen($open) - 1;
-                                $char = $open;
-                                $parts[++$k][0] = $char;
-
-                                // No point going around again...
-                                break(2);
+                            if ($matches[$dk][$open]['next_match'] < $i) {
+                                // only find the next pos if it was not already cached
+                                $open_pos = strpos($code, $open, $i);
+                                if ($open_pos === false) {
+                                    // no match for this delimiter ever
+                                    unset($delim_copy[$dk][$open]);
+                                    continue;
+                                }
+                                $matches[$dk][$open]['next_match'] = $open_pos;
+                            }
+                            if ($matches[$dk][$open]['next_match'] < $next_match_pos) {
+                                //So we got a new match, update the close_pos
+                                $matches[$dk][$open]['close_pos'] =
+                                    strpos($code, $close, $matches[$dk][$open]['next_match']+1);
+
+                                $next_match_pointer =& $matches[$dk][$open];
+                                $next_match_pos = $matches[$dk][$open]['next_match'];
                             }
                         }
+                    } else {
+                        //So we should match an RegExp as Strict Block ...
+                        /**
+                         * The value in $delimiters is expected to be an RegExp
+                         * containing exactly 2 matching groups:
+                         *  - Group 1 is the opener
+                         *  - Group 2 is the closer
+                         */
+                        if(!GESHI_PHP_PRE_433 && //Needs proper rewrite to work with PHP >=4.3.0; 4.3.3 is guaranteed to work.
+                            preg_match($delimiters, $code, $matches_rx, PREG_OFFSET_CAPTURE, $i)) {
+                            //We got a match ...
+                            $matches[$dk] = array(
+                                'next_match' => $matches_rx[1][1],
+                                'dk' => $dk,
+
+                                'close_strlen' => strlen($matches_rx[2][0]),
+                                'close_pos' => $matches_rx[2][1],
+                                );
+                        } else {
+                            // no match for this delimiter ever
+                            unset($delim_copy[$dk]);
+                            continue;
+                        }
+
+                        if ($matches[$dk]['next_match'] <= $next_match_pos) {
+                            $next_match_pointer =& $matches[$dk];
+                            $next_match_pos = $matches[$dk]['next_match'];
+                        }
                     }
                 }
-                else {
-                    foreach ($this->language_data['SCRIPT_DELIMITERS'] as $key => $delimiters) {
-                        foreach ($delimiters as $open => $close) {
-                            if ($open == $HIGHLIGHTING_ON) {
-                                // Found the closing tag
-                                break(2);
+                // non-highlightable text
+                $parts[$k] = array(
+                    1 => substr($code, $i, $next_match_pos - $i)
+                );
+                ++$k;
+
+                if ($next_match_pos > $length) {
+                    // out of bounds means no next match was found
+                    break;
+                }
+
+                // highlightable code
+                $parts[$k][0] = $next_match_pointer['dk'];
+
+                //Only combine for non-rx script blocks
+                if(is_array($delim_copy[$next_match_pointer['dk']])) {
+                    // group adjacent script blocks, e.g. <foobar><asdf> should be one block, not three!
+                    $i = $next_match_pos + $next_match_pointer['open_strlen'];
+                    while (true) {
+                        $close_pos = strpos($code, $next_match_pointer['close'], $i);
+                        if ($close_pos == false) {
+                            break;
+                        }
+                        $i = $close_pos + $next_match_pointer['close_strlen'];
+                        if ($i == $length) {
+                            break;
+                        }
+                        if ($code[$i] == $next_match_pointer['open'][0] && ($next_match_pointer['open_strlen'] == 1 ||
+                            substr($code, $i, $next_match_pointer['open_strlen']) == $next_match_pointer['open'])) {
+                            // merge adjacent but make sure we don't merge things like <tag><!-- comment -->
+                            foreach ($matches as $submatches) {
+                                foreach ($submatches as $match) {
+                                    if ($match['next_match'] == $i) {
+                                        // a different block already matches here!
+                                        break 3;
+                                    }
+                                }
                             }
+                        } else {
+                            break;
                         }
                     }
-                    // We check code from our current position BACKWARDS. This is so
-                    // the ending string for highlighting can be included in the block
-                    $check = substr($code, $i - strlen($close) + 1, strlen($close));
-                    if ($check == $close) {
-                        $HIGHLIGHTING_ON = '';
-                        // Add the string to the rest of the string for this part
-                        $parts[$k][1] = ( isset($parts[$k][1]) ) ? $parts[$k][1] . $char : $char;
-                        $parts[++$k][0] = '';
-                        $char = '';
-                    }
+                } else {
+                    $close_pos = $next_match_pointer['close_pos'] + $next_match_pointer['close_strlen'];
+                    $i = $close_pos;
+                }
+
+                if ($close_pos === false) {
+                    // no closing delimiter found!
+                    $parts[$k][1] = substr($code, $next_match_pos);
+                    ++$k;
+                    break;
+                } else {
+                    $parts[$k][1] = substr($code, $next_match_pos, $i - $next_match_pos);
+                    ++$k;
                 }
-                $parts[$k][1] = ( isset($parts[$k][1]) ) ? $parts[$k][1] . $char : $char;
             }
-            $HIGHLIGHTING_ON = '';
-        }
-        else {
+            unset($delim_copy, $next_match_pointer, $next_match_pos, $matches);
+            $num_parts = $k;
+
+            if ($num_parts == 1 && $this->strict_mode == GESHI_MAYBE) {
+                // when we have only one part, we don't have anything to highlight at all.
+                // if we have a "maybe" strict language, this should be handled as highlightable code
+                $parts = array(
+                    0 => array(
+                        0 => '',
+                        1 => ''
+                    ),
+                    1 => array(
+                        0 => null,
+                        1 => $parts[0][1]
+                    )
+                );
+                $num_parts = 2;
+            }
+
+        } else {
             // Not strict mode - simply dump the source into
             // the array at index 1 (the first highlightable block)
             $parts = array(
+                0 => array(
+                    0 => '',
+                    1 => ''
+                ),
                 1 => array(
-                    0 => '',
+                    0 => null,
                     1 => $code
                 )
             );
+            $num_parts = 2;
+        }
+
+        //Unset variables we won't need any longer
+        unset($code);
+
+        //Preload some repeatedly used values regarding hardquotes ...
+        $hq = isset($this->language_data['HARDQUOTE']) ? $this->language_data['HARDQUOTE'][0] : false;
+        $hq_strlen = strlen($hq);
+
+        //Preload if line numbers are to be generated afterwards
+        //Added a check if line breaks should be forced even without line numbers, fixes SF#1727398
+        $check_linenumbers = $this->line_numbers != GESHI_NO_LINE_NUMBERS ||
+            !empty($this->highlight_extra_lines) || !$this->allow_multiline_span;
+
+        //preload the escape char for faster checking ...
+        $escaped_escape_char = $this->hsc($this->language_data['ESCAPE_CHAR']);
+
+        // this is used for single-line comments
+        $sc_disallowed_before = "";
+        $sc_disallowed_after = "";
+
+        if (isset($this->language_data['PARSER_CONTROL'])) {
+            if (isset($this->language_data['PARSER_CONTROL']['COMMENTS'])) {
+                if (isset($this->language_data['PARSER_CONTROL']['COMMENTS']['DISALLOWED_BEFORE'])) {
+                    $sc_disallowed_before = $this->language_data['PARSER_CONTROL']['COMMENTS']['DISALLOWED_BEFORE'];
+                }
+                if (isset($this->language_data['PARSER_CONTROL']['COMMENTS']['DISALLOWED_AFTER'])) {
+                    $sc_disallowed_after = $this->language_data['PARSER_CONTROL']['COMMENTS']['DISALLOWED_AFTER'];
+                }
+            }
+        }
+
+        //Fix for SF#1932083: Multichar Quotemarks unsupported
+        $is_string_starter = array();
+        if ($this->lexic_permissions['STRINGS']) {
+            foreach ($this->language_data['QUOTEMARKS'] as $quotemark) {
+                if (!isset($is_string_starter[$quotemark[0]])) {
+                    $is_string_starter[$quotemark[0]] = (string)$quotemark;
+                } else if (is_string($is_string_starter[$quotemark[0]])) {
+                    $is_string_starter[$quotemark[0]] = array(
+                        $is_string_starter[$quotemark[0]],
+                        $quotemark);
+                } else {
+                    $is_string_starter[$quotemark[0]][] = $quotemark;
+                }
+            }
         }
 
         // Now we go through each part. We know that even-indexed parts are
         // code that shouldn't be highlighted, and odd-indexed parts should
         // be highlighted
-        foreach ($parts as $key => $data) {
-            $part = $data[1];
+        for ($key = 0; $key < $num_parts; ++$key) {
+            $STRICTATTRS = '';
+
             // If this block should be highlighted...
-            if ($key % 2) {
-                if ($this->strict_mode) {
-                    // Find the class key for this block of code
-                    foreach ($this->language_data['SCRIPT_DELIMITERS'] as $script_key => $script_data) {
-                        foreach ($script_data as $open => $close) {
-                            if ($data[0] == $open) {
-                                break(2);
+            if (!($key & 1)) {
+                // Else not a block to highlight
+                $endresult .= $this->hsc($parts[$key][1]);
+                unset($parts[$key]);
+                continue;
+            }
+
+            $result = '';
+            $part = $parts[$key][1];
+
+            $highlight_part = true;
+            if ($this->strict_mode && !is_null($parts[$key][0])) {
+                // get the class key for this block of code
+                $script_key = $parts[$key][0];
+                $highlight_part = $this->language_data['HIGHLIGHT_STRICT_BLOCK'][$script_key];
+                if ($this->language_data['STYLES']['SCRIPT'][$script_key] != '' &&
+                    $this->lexic_permissions['SCRIPT']) {
+                    // Add a span element around the source to
+                    // highlight the overall source block
+                    if (!$this->use_classes &&
+                        $this->language_data['STYLES']['SCRIPT'][$script_key] != '') {
+                        $attributes = ' style="' . $this->language_data['STYLES']['SCRIPT'][$script_key] . '"';
+                    } else {
+                        $attributes = ' class="sc' . $script_key . '"';
+                    }
+                    $result .= "<span$attributes>";
+                    $STRICTATTRS = $attributes;
+                }
+            }
+
+            if ($highlight_part) {
+                // Now, highlight the code in this block. This code
+                // is really the engine of GeSHi (along with the method
+                // parse_non_string_part).
+
+                // cache comment regexps incrementally
+                $next_comment_regexp_key = '';
+                $next_comment_regexp_pos = -1;
+                $next_comment_multi_pos = -1;
+                $next_comment_single_pos = -1;
+                $comment_regexp_cache_per_key = array();
+                $comment_multi_cache_per_key = array();
+                $comment_single_cache_per_key = array();
+                $next_open_comment_multi = '';
+                $next_comment_single_key = '';
+                $escape_regexp_cache_per_key = array();
+                $next_escape_regexp_key = '';
+                $next_escape_regexp_pos = -1;
+
+                $length = strlen($part);
+                for ($i = 0; $i < $length; ++$i) {
+                    // Get the next char
+                    $char = $part[$i];
+                    $char_len = 1;
+
+                    // update regexp comment cache if needed
+                    if (isset($this->language_data['COMMENT_REGEXP']) && $next_comment_regexp_pos < $i) {
+                        $next_comment_regexp_pos = $length;
+                        foreach ($this->language_data['COMMENT_REGEXP'] as $comment_key => $regexp) {
+                            $match_i = false;
+                            if (isset($comment_regexp_cache_per_key[$comment_key]) &&
+                                ($comment_regexp_cache_per_key[$comment_key]['pos'] >= $i ||
+                                 $comment_regexp_cache_per_key[$comment_key]['pos'] === false)) {
+                                // we have already matched something
+                                if ($comment_regexp_cache_per_key[$comment_key]['pos'] === false) {
+                                    // this comment is never matched
+                                    continue;
+                                }
+                                $match_i = $comment_regexp_cache_per_key[$comment_key]['pos'];
+                            } else if (
+                                //This is to allow use of the offset parameter in preg_match and stay as compatible with older PHP versions as possible
+                                (GESHI_PHP_PRE_433 && preg_match($regexp, substr($part, $i), $match, PREG_OFFSET_CAPTURE)) ||
+                                (!GESHI_PHP_PRE_433 && preg_match($regexp, $part, $match, PREG_OFFSET_CAPTURE, $i))
+                                ) {
+                                $match_i = $match[0][1];
+                                if (GESHI_PHP_PRE_433) {
+                                    $match_i += $i;
+                                }
+
+                                $comment_regexp_cache_per_key[$comment_key] = array(
+                                    'key' => $comment_key,
+                                    'length' => strlen($match[0][0]),
+                                    'pos' => $match_i
+                                );
+                            } else {
+                                $comment_regexp_cache_per_key[$comment_key]['pos'] = false;
+                                continue;
+                            }
+
+                            if ($match_i !== false && $match_i < $next_comment_regexp_pos) {
+                                $next_comment_regexp_pos = $match_i;
+                                $next_comment_regexp_key = $comment_key;
+                                if ($match_i === $i) {
+                                    break;
+                                }
                             }
                         }
                     }
 
-                    if ($this->language_data['STYLES']['SCRIPT'][$script_key] != '' &&
-                        $this->lexic_permissions['SCRIPT']) {
-                        // Add a span element around the source to
-                        // highlight the overall source block
-                        if (!$this->use_classes &&
-                            $this->language_data['STYLES']['SCRIPT'][$script_key] != '') {
-                            $attributes = ' style="' . $this->language_data['STYLES']['SCRIPT'][$script_key] . '"';
+                    $string_started = false;
+
+                    if (isset($is_string_starter[$char])) {
+                        // Possibly the start of a new string ...
+
+                        //Check which starter it was ...
+                        //Fix for SF#1932083: Multichar Quotemarks unsupported
+                        if (is_array($is_string_starter[$char])) {
+                            $char_new = '';
+                            foreach ($is_string_starter[$char] as $testchar) {
+                                if ($testchar === substr($part, $i, strlen($testchar)) &&
+                                    strlen($testchar) > strlen($char_new)) {
+                                    $char_new = $testchar;
+                                    $string_started = true;
+                                }
+                            }
+                            if ($string_started) {
+                                $char = $char_new;
+                            }
+                        } else {
+                            $testchar = $is_string_starter[$char];
+                            if ($testchar === substr($part, $i, strlen($testchar))) {
+                                $char = $testchar;
+                                $string_started = true;
+                            }
                         }
-                        else {
-                            $attributes = ' class="sc' . $script_key . '"';
-                        }
-                        $result .= "<span$attributes>";
-                        $STRICTATTRS = $attributes;
+                        $char_len = strlen($char);
                     }
-                }
-
-                if (!$this->strict_mode || $this->language_data['HIGHLIGHT_STRICT_BLOCK'][$script_key]) {
-                    // Now, highlight the code in this block. This code
-                    // is really the engine of GeSHi (along with the method
-                    // parse_non_string_part).
-                    $length = strlen($part);
-                    for ($i = 0; $i < $length; $i++) {
-                        // Get the next char
-                        $char = substr($part, $i, 1);
-                        $hq = isset($this->language_data['HARDQUOTE']) ? $this->language_data['HARDQUOTE'][0] : false;
-                        // Is this char the newline and line numbers being used?
-                        if (($this->line_numbers != GESHI_NO_LINE_NUMBERS
-                            || count($this->highlight_extra_lines) > 0)
-                            && $char == "\n") {
-                            // If so, is there a string open? If there is, we should end it before
+
+                    if ($string_started && $i != $next_comment_regexp_pos) {
+                        // Hand out the correct style information for this string
+                        $string_key = array_search($char, $this->language_data['QUOTEMARKS']);
+                        if (!isset($this->language_data['STYLES']['STRINGS'][$string_key]) ||
+                            !isset($this->language_data['STYLES']['ESCAPE_CHAR'][$string_key])) {
+                            $string_key = 0;
+                        }
+
+                        // parse the stuff before this
+                        $result .= $this->parse_non_string_part($stuff_to_parse);
+                        $stuff_to_parse = '';
+
+                        if (!$this->use_classes) {
+                            $string_attributes = ' style="' . $this->language_data['STYLES']['STRINGS'][$string_key] . '"';
+                        } else {
+                            $string_attributes = ' class="st'.$string_key.'"';
+                        }
+
+                        // now handle the string
+                        $string = "<span$string_attributes>" . GeSHi::hsc($char);
+                        $start = $i + $char_len;
+                        $string_open = true;
+
+                        if(empty($this->language_data['ESCAPE_REGEXP'])) {
+                            $next_escape_regexp_pos = $length;
+                        }
+
+                        do {
+                            //Get the regular ending pos ...
+                            $close_pos = strpos($part, $char, $start);
+                            if(false === $close_pos) {
+                                $close_pos = $length;
+                            }
+
+                            if($this->lexic_permissions['ESCAPE_CHAR']) {
+                                // update escape regexp cache if needed
+                                if (isset($this->language_data['ESCAPE_REGEXP']) && $next_escape_regexp_pos < $start) {
+                                    $next_escape_regexp_pos = $length;
+                                    foreach ($this->language_data['ESCAPE_REGEXP'] as $escape_key => $regexp) {
+                                        $match_i = false;
+                                        if (isset($escape_regexp_cache_per_key[$escape_key]) &&
+                                            ($escape_regexp_cache_per_key[$escape_key]['pos'] >= $start ||
+                                             $escape_regexp_cache_per_key[$escape_key]['pos'] === false)) {
+                                            // we have already matched something
+                                            if ($escape_regexp_cache_per_key[$escape_key]['pos'] === false) {
+                                                // this comment is never matched
+                                                continue;
+                                            }
+                                            $match_i = $escape_regexp_cache_per_key[$escape_key]['pos'];
+                                        } else if (
+                                            //This is to allow use of the offset parameter in preg_match and stay as compatible with older PHP versions as possible
+                                            (GESHI_PHP_PRE_433 && preg_match($regexp, substr($part, $start), $match, PREG_OFFSET_CAPTURE)) ||
+                                            (!GESHI_PHP_PRE_433 && preg_match($regexp, $part, $match, PREG_OFFSET_CAPTURE, $start))
+                                            ) {
+                                            $match_i = $match[0][1];
+                                            if (GESHI_PHP_PRE_433) {
+                                                $match_i += $start;
+                                            }
+
+                                            $escape_regexp_cache_per_key[$escape_key] = array(
+                                                'key' => $escape_key,
+                                                'length' => strlen($match[0][0]),
+                                                'pos' => $match_i
+                                            );
+                                        } else {
+                                            $escape_regexp_cache_per_key[$escape_key]['pos'] = false;
+                                            continue;
+                                        }
+
+                                        if ($match_i !== false && $match_i < $next_escape_regexp_pos) {
+                                            $next_escape_regexp_pos = $match_i;
+                                            $next_escape_regexp_key = $escape_key;
+                                            if ($match_i === $start) {
+                                                break;
+                                            }
+                                        }
+                                    }
+                                }
+
+                                //Find the next simple escape position
+                                if('' != $this->language_data['ESCAPE_CHAR']) {
+                                    $simple_escape = strpos($part, $this->language_data['ESCAPE_CHAR'], $start);
+                                    if(false === $simple_escape) {
+                                        $simple_escape = $length;
+                                    }
+                                } else {
+                                    $simple_escape = $length;
+                                }
+                            } else {
+                                $next_escape_regexp_pos = $length;
+                                $simple_escape = $length;
+                            }
+
+                            if($simple_escape < $next_escape_regexp_pos &&
+                                $simple_escape < $length &&
+                                $simple_escape < $close_pos) {
+                                //The nexxt escape sequence is a simple one ...
+                                $es_pos = $simple_escape;
+
+                                //Add the stuff not in the string yet ...
+                                $string .= $this->hsc(substr($part, $start, $es_pos - $start));
+
+                                //Get the style for this escaped char ...
+                                if (!$this->use_classes) {
+                                    $escape_char_attributes = ' style="' . $this->language_data['STYLES']['ESCAPE_CHAR'][0] . '"';
+                                } else {
+                                    $escape_char_attributes = ' class="es0"';
+                                }
+
+                                //Add the style for the escape char ...
+                                $string .= "<span$escape_char_attributes>" .
+                                    GeSHi::hsc($this->language_data['ESCAPE_CHAR']);
+
+                                //Get the byte AFTER the ESCAPE_CHAR we just found
+                                $es_char = $part[$es_pos + 1];
+                                if ($es_char == "\n") {
+                                    // don't put a newline around newlines
+                                    $string .= "</span>\n";
+                                    $start = $es_pos + 2;
+                                } else if (ord($es_char) >= 128) {
+                                    //This is an non-ASCII char (UTF8 or single byte)
+                                    //This code tries to work around SF#2037598 ...
+                                    if(function_exists('mb_substr')) {
+                                        $es_char_m = mb_substr(substr($part, $es_pos+1, 16), 0, 1, $this->encoding);
+                                        $string .= $es_char_m . '</span>';
+                                    } else if (!GESHI_PHP_PRE_433 && 'utf-8' == $this->encoding) {
+                                        if(preg_match("/[\xC2-\xDF][\x80-\xBF]".
+                                            "|\xE0[\xA0-\xBF][\x80-\xBF]".
+                                            "|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}".
+                                            "|\xED[\x80-\x9F][\x80-\xBF]".
+                                            "|\xF0[\x90-\xBF][\x80-\xBF]{2}".
+                                            "|[\xF1-\xF3][\x80-\xBF]{3}".
+                                            "|\xF4[\x80-\x8F][\x80-\xBF]{2}/s",
+                                            $part, $es_char_m, null, $es_pos + 1)) {
+                                            $es_char_m = $es_char_m[0];
+                                        } else {
+                                            $es_char_m = $es_char;
+                                        }
+                                        $string .= $this->hsc($es_char_m) . '</span>';
+                                    } else {
+                                        $es_char_m = $this->hsc($es_char);
+                                    }
+                                    $start = $es_pos + strlen($es_char_m) + 1;
+                                } else {
+                                    $string .= $this->hsc($es_char) . '</span>';
+                                    $start = $es_pos + 2;
+                                }
+                            } else if ($next_escape_regexp_pos < $length &&
+                                $next_escape_regexp_pos < $close_pos) {
+                                $es_pos = $next_escape_regexp_pos;
+                                //Add the stuff not in the string yet ...
+                                $string .= $this->hsc(substr($part, $start, $es_pos - $start));
+
+                                //Get the key and length of this match ...
+                                $escape = $escape_regexp_cache_per_key[$next_escape_regexp_key];
+                                $escape_str = substr($part, $es_pos, $escape['length']);
+                                $escape_key = $escape['key'];
+
+                                //Get the style for this escaped char ...
+                                if (!$this->use_classes) {
+                                    $escape_char_attributes = ' style="' . $this->language_data['STYLES']['ESCAPE_CHAR'][$escape_key] . '"';
+                                } else {
+                                    $escape_char_attributes = ' class="es' . $escape_key . '"';
+                                }
+
+                                //Add the style for the escape char ...
+                                $string .= "<span$escape_char_attributes>" .
+                                    $this->hsc($escape_str) . '</span>';
+
+                                $start = $es_pos + $escape['length'];
+                            } else {
+                                //Copy the remainder of the string ...
+                                $string .= $this->hsc(substr($part, $start, $close_pos - $start + $char_len)) . '</span>';
+                                $start = $close_pos + $char_len;
+                                $string_open = false;
+                            }
+                        } while($string_open);
+
+                        if ($check_linenumbers) {
+                            // Are line numbers used? If, we should end the string before
                             // the newline and begin it again (so when <li>s are put in the source
                             // remains XHTML compliant)
                             // note to self: This opens up possibility of config files specifying
                             // that languages can/cannot have multiline strings???
-                            if ($STRING_OPEN) {
-                                if (!$this->use_classes) {
-                                    $attributes = ' style="' . $this->language_data['STYLES']['STRINGS'][0] . '"';
+                            $string = str_replace("\n", "</span>\n<span$string_attributes>", $string);
+                        }
+
+                        $result .= $string;
+                        $string = '';
+                        $i = $start - 1;
+                        continue;
+                    } else if ($this->lexic_permissions['STRINGS'] && $hq && $hq[0] == $char &&
+                        substr($part, $i, $hq_strlen) == $hq) {
+                        // The start of a hard quoted string
+                        if (!$this->use_classes) {
+                            $string_attributes = ' style="' . $this->language_data['STYLES']['STRINGS']['HARD'] . '"';
+                            $escape_char_attributes = ' style="' . $this->language_data['STYLES']['ESCAPE_CHAR']['HARD'] . '"';
+                        } else {
+                            $string_attributes = ' class="st_h"';
+                            $escape_char_attributes = ' class="es_h"';
+                        }
+                        // parse the stuff before this
+                        $result .= $this->parse_non_string_part($stuff_to_parse);
+                        $stuff_to_parse = '';
+
+                        // now handle the string
+                        $string = '';
+
+                        // look for closing quote
+                        $start = $i + $hq_strlen;
+                        while ($close_pos = strpos($part, $this->language_data['HARDQUOTE'][1], $start)) {
+                            $start = $close_pos + 1;
+                            if ($this->lexic_permissions['ESCAPE_CHAR'] && $part[$close_pos - 1] == $this->language_data['ESCAPE_CHAR']) {
+                                // make sure this quote is not escaped
+                                foreach ($this->language_data['HARDESCAPE'] as $hardescape) {
+                                    if (substr($part, $close_pos - 1, strlen($hardescape)) == $hardescape) {
+                                        // check wether this quote is escaped or if it is something like '\\'
+                                        $escape_char_pos = $close_pos - 1;
+                                        while ($escape_char_pos > 0
+                                                && $part[$escape_char_pos - 1] == $this->language_data['ESCAPE_CHAR']) {
+                                            --$escape_char_pos;
+                                        }
+                                        if (($close_pos - $escape_char_pos) & 1) {
+                                            // uneven number of escape chars => this quote is escaped
+                                            continue 2;
+                                        }
+                                    }
                                 }
-                                else {
-                                    $attributes = ' class="st0"';
-                                }
-                                $char = '</span>' . $char . "<span$attributes>";
                             }
+
+                            // found closing quote
+                            break;
+                        }
+
+                        //Found the closing delimiter?
+                        if (!$close_pos) {
+                            // span till the end of this $part when no closing delimiter is found
+                            $close_pos = $length;
                         }
-                        else if ($char == $STRING_OPEN) {
-                            // A match of a string delimiter
-                            if (($this->lexic_permissions['ESCAPE_CHAR'] && $ESCAPE_CHAR_OPEN) ||
-                                ($this->lexic_permissions['STRINGS'] && !$ESCAPE_CHAR_OPEN)) {
-                                $char = GeSHi::hsc($char) . '</span>';
+
+                        //Get the actual string
+                        $string = substr($part, $i, $close_pos - $i + 1);
+                        $i = $close_pos;
+
+                        // handle escape chars and encode html chars
+                        // (special because when we have escape chars within our string they may not be escaped)
+                        if ($this->lexic_permissions['ESCAPE_CHAR'] && $this->language_data['ESCAPE_CHAR']) {
+                            $start = 0;
+                            $new_string = '';
+                            while ($es_pos = strpos($string, $this->language_data['ESCAPE_CHAR'], $start)) {
+                                // hmtl escape stuff before
+                                $new_string .= $this->hsc(substr($string, $start, $es_pos - $start));
+                                // check if this is a hard escape
+                                foreach ($this->language_data['HARDESCAPE'] as $hardescape) {
+                                    if (substr($string, $es_pos, strlen($hardescape)) == $hardescape) {
+                                        // indeed, this is a hardescape
+                                        $new_string .= "<span$escape_char_attributes>" .
+                                            $this->hsc($hardescape) . '</span>';
+                                        $start = $es_pos + strlen($hardescape);
+                                        continue 2;
+                                    }
+                                }
+                                // not a hard escape, but a normal escape
+                                // they come in pairs of two
+                                $c = 0;
+                                while (isset($string[$es_pos + $c]) && isset($string[$es_pos + $c + 1])
+                                    && $string[$es_pos + $c] == $this->language_data['ESCAPE_CHAR']
+                                    && $string[$es_pos + $c + 1] == $this->language_data['ESCAPE_CHAR']) {
+                                    $c += 2;
+                                }
+                                if ($c) {
+                                    $new_string .= "<span$escape_char_attributes>" .
+                                        str_repeat($escaped_escape_char, $c) .
+                                        '</span>';
+                                    $start = $es_pos + $c;
+                                } else {
+                                    // this is just a single lonely escape char...
+                                    $new_string .= $escaped_escape_char;
+                                    $start = $es_pos + 1;
+                                }
                             }
-                            $escape_me = false;
-                            if ($HARDQUOTE_OPEN) {
-                                if ($ESCAPE_CHAR_OPEN) {
-                                    $escape_me = true;
+                            $string = $new_string . $this->hsc(substr($string, $start));
+                        } else {
+                            $string = $this->hsc($string);
+                        }
+
+                        if ($check_linenumbers) {
+                            // Are line numbers used? If, we should end the string before
+                            // the newline and begin it again (so when <li>s are put in the source
+                            // remains XHTML compliant)
+                            // note to self: This opens up possibility of config files specifying
+                            // that languages can/cannot have multiline strings???
+                            $string = str_replace("\n", "</span>\n<span$string_attributes>", $string);
+                        }
+
+                        $result .= "<span$string_attributes>" . $string . '</span>';
+                        $string = '';
+                        continue;
+                    } else {
+                        //Have a look for regexp comments
+                        if ($i == $next_comment_regexp_pos) {
+                            $COMMENT_MATCHED = true;
+                            $comment = $comment_regexp_cache_per_key[$next_comment_regexp_key];
+                            $test_str = $this->hsc(substr($part, $i, $comment['length']));
+
+                            //@todo If remove important do remove here
+                            if ($this->lexic_permissions['COMMENTS']['MULTI']) {
+                                if (!$this->use_classes) {
+                                    $attributes = ' style="' . $this->language_data['STYLES']['COMMENTS'][$comment['key']] . '"';
+                                } else {
+                                    $attributes = ' class="co' . $comment['key'] . '"';
                                 }
-                                else {
-                                    foreach ($this->language_data['HARDESCAPE'] as $hardesc) {
-                                        if (substr($part, $i, strlen($hardesc)) == $hardesc) {
-                                            $escape_me = true;
+
+                                $test_str = "<span$attributes>" . $test_str . "</span>";
+
+                                // Short-cut through all the multiline code
+                                if ($check_linenumbers) {
+                                    // strreplace to put close span and open span around multiline newlines
+                                    $test_str = str_replace(
+                                        "\n", "</span>\n<span$attributes>",
+                                        str_replace("\n ", "\n&nbsp;", $test_str)
+                                    );
+                                }
+                            }
+
+                            $i += $comment['length'] - 1;
+
+                            // parse the rest
+                            $result .= $this->parse_non_string_part($stuff_to_parse);
+                            $stuff_to_parse = '';
+                        }
+
+                        // If we haven't matched a regexp comment, try multi-line comments
+                        if (!$COMMENT_MATCHED) {
+                            // Is this a multiline comment?
+                            if (!empty($this->language_data['COMMENT_MULTI']) && $next_comment_multi_pos < $i) {
+                                $next_comment_multi_pos = $length;
+                                foreach ($this->language_data['COMMENT_MULTI'] as $open => $close) {
+                                    $match_i = false;
+                                    if (isset($comment_multi_cache_per_key[$open]) &&
+                                        ($comment_multi_cache_per_key[$open] >= $i ||
+                                         $comment_multi_cache_per_key[$open] === false)) {
+                                        // we have already matched something
+                                        if ($comment_multi_cache_per_key[$open] === false) {
+                                            // this comment is never matched
+                                            continue;
+                                        }
+                                        $match_i = $comment_multi_cache_per_key[$open];
+                                    } else if (($match_i = stripos($part, $open, $i)) !== false) {
+                                        $comment_multi_cache_per_key[$open] = $match_i;
+                                    } else {
+                                        $comment_multi_cache_per_key[$open] = false;
+                                        continue;
+                                    }
+                                    if ($match_i !== false && $match_i < $next_comment_multi_pos) {
+                                        $next_comment_multi_pos = $match_i;
+                                        $next_open_comment_multi = $open;
+                                        if ($match_i === $i) {
                                             break;
                                         }
                                     }
                                 }
                             }
-
-                            if (!$ESCAPE_CHAR_OPEN) {
-                                $STRING_OPEN = '';
-                                $CLOSE_STRING = true;
-                            }
-                            if (!$escape_me) {
-                                $HARDQUOTE_OPEN = false;
+                            if ($i == $next_comment_multi_pos) {
+                                $open = $next_open_comment_multi;
+                                $close = $this->language_data['COMMENT_MULTI'][$open];
+                                $open_strlen = strlen($open);
+                                $close_strlen = strlen($close);
+                                $COMMENT_MATCHED = true;
+                                $test_str_match = $open;
+                                //@todo If remove important do remove here
+                                if ($this->lexic_permissions['COMMENTS']['MULTI'] ||
+                                    $open == GESHI_START_IMPORTANT) {
+                                    if ($open != GESHI_START_IMPORTANT) {
+                                        if (!$this->use_classes) {
+                                            $attributes = ' style="' . $this->language_data['STYLES']['COMMENTS']['MULTI'] . '"';
+                                        } else {
+                                            $attributes = ' class="coMULTI"';
+                                        }
+                                        $test_str = "<span$attributes>" . $this->hsc($open);
+                                    } else {
+                                        if (!$this->use_classes) {
+                                            $attributes = ' style="' . $this->important_styles . '"';
+                                        } else {
+                                            $attributes = ' class="imp"';
+                                        }
+
+                                        // We don't include the start of the comment if it's an
+                                        // "important" part
+                                        $test_str = "<span$attributes>";
+                                    }
+                                } else {
+                                    $test_str = $this->hsc($open);
+                                }
+
+                                $close_pos = strpos( $part, $close, $i + $open_strlen );
+
+                                if ($close_pos === false) {
+                                    $close_pos = $length;
+                                }
+
+                                // Short-cut through all the multiline code
+                                $rest_of_comment = $this->hsc(substr($part, $i + $open_strlen, $close_pos - $i - $open_strlen + $close_strlen));
+                                if (($this->lexic_permissions['COMMENTS']['MULTI'] ||
+                                    $test_str_match == GESHI_START_IMPORTANT) &&
+                                    $check_linenumbers) {
+
+                                    // strreplace to put close span and open span around multiline newlines
+                                    $test_str .= str_replace(
+                                        "\n", "</span>\n<span$attributes>",
+                                        str_replace("\n ", "\n&nbsp;", $rest_of_comment)
+                                    );
+                                } else {
+                                    $test_str .= $rest_of_comment;
+                                }
+
+                                if ($this->lexic_permissions['COMMENTS']['MULTI'] ||
+                                    $test_str_match == GESHI_START_IMPORTANT) {
+                                    $test_str .= '</span>';
+                                }
+
+                                $i = $close_pos + $close_strlen - 1;
+
+                                // parse the rest
+                                $result .= $this->parse_non_string_part($stuff_to_parse);
+                                $stuff_to_parse = '';
                             }
-                            $ESCAPE_CHAR_OPEN = false;
-                        }
-                        else if (in_array($char, $this->language_data['QUOTEMARKS']) &&
-                            ($STRING_OPEN == '') && $this->lexic_permissions['STRINGS']) {
-                            // The start of a new string
-                            $STRING_OPEN = $char;
-                            if (!$this->use_classes) {
-                                $attributes = ' style="' . $this->language_data['STYLES']['STRINGS'][0] . '"';
-                            }
-                            else {
-                                $attributes = ' class="st0"';
-                            }
-                            $char = "<span$attributes>" . GeSHi::hsc($char);
-
-                            $result .= $this->parse_non_string_part( $stuff_to_parse );
-                            $stuff_to_parse = '';
                         }
-                        else if ($hq && substr($part, $i, strlen($hq)) == $hq &&
-                            ($STRING_OPEN == '') && $this->lexic_permissions['STRINGS']) {
-                            // The start of a hard quoted string
-                            $STRING_OPEN = $this->language_data['HARDQUOTE'][1];
-                            if (!$this->use_classes) {
-                                $attributes = ' style="' . $this->language_data['STYLES']['STRINGS'][0] . '"';
-                            }
-                            else {
-                                $attributes = ' class="st0"';
-                            }
-                            $char = "<span$attributes>" . $hq;
-                            $i += strlen($hq) - 1;
-                            $HARDQUOTE_OPEN = true;
-                            $result .= $this->parse_non_string_part($stuff_to_parse);
-                            $stuff_to_parse = '';
-                        }
-                        else if ($char == $this->language_data['ESCAPE_CHAR'] && $STRING_OPEN != '') {
-                            // An escape character
-                            if (!$ESCAPE_CHAR_OPEN) {
-                                $ESCAPE_CHAR_OPEN = !$HARDQUOTE_OPEN;  // true unless $HARDQUOTE_OPEN
-                                if ($HARDQUOTE_OPEN) {
-                                    foreach ($this->language_data['HARDESCAPE'] as $hard) {
-                                        if (substr($part, $i, strlen($hard)) == $hard) {
-                                            $ESCAPE_CHAR_OPEN = true;
+
+                        // If we haven't matched a multiline comment, try single-line comments
+                        if (!$COMMENT_MATCHED) {
+                            // cache potential single line comment occurances
+                            if (!empty($this->language_data['COMMENT_SINGLE']) && $next_comment_single_pos < $i) {
+                                $next_comment_single_pos = $length;
+                                foreach ($this->language_data['COMMENT_SINGLE'] as $comment_key => $comment_mark) {
+                                    $match_i = false;
+                                    if (isset($comment_single_cache_per_key[$comment_key]) &&
+                                        ($comment_single_cache_per_key[$comment_key] >= $i ||
+                                         $comment_single_cache_per_key[$comment_key] === false)) {
+                                        // we have already matched something
+                                        if ($comment_single_cache_per_key[$comment_key] === false) {
+                                            // this comment is never matched
+                                            continue;
+                                        }
+                                        $match_i = $comment_single_cache_per_key[$comment_key];
+                                    } else if (
+                                        // case sensitive comments
+                                        ($this->language_data['CASE_SENSITIVE'][GESHI_COMMENTS] &&
+                                        ($match_i = stripos($part, $comment_mark, $i)) !== false) ||
+                                        // non case sensitive
+                                        (!$this->language_data['CASE_SENSITIVE'][GESHI_COMMENTS] &&
+                                          (($match_i = strpos($part, $comment_mark, $i)) !== false))) {
+                                        $comment_single_cache_per_key[$comment_key] = $match_i;
+                                    } else {
+                                        $comment_single_cache_per_key[$comment_key] = false;
+                                        continue;
+                                    }
+                                    if ($match_i !== false && $match_i < $next_comment_single_pos) {
+                                        $next_comment_single_pos = $match_i;
+                                        $next_comment_single_key = $comment_key;
+                                        if ($match_i === $i) {
                                             break;
                                         }
                                     }
                                 }
-                                if ($ESCAPE_CHAR_OPEN && $this->lexic_permissions['ESCAPE_CHAR']) {
-                                    if (!$this->use_classes) {
-                                        $attributes = ' style="' . $this->language_data['STYLES']['ESCAPE_CHAR'][0] . '"';
-                                    }
-                                    else {
-                                        $attributes = ' class="es0"';
-                                    }
-                                    $char = "<span$attributes>" . $char;
-                                    if (substr($code, $i + 1, 1) == "\n") {
-                                        // escaping a newline, what's the point in putting the span around
-                                        // the newline? It only causes hassles when inserting line numbers
-                                        $char .= '</span>';
-                                        $ESCAPE_CHAR_OPEN = false;
+                            }
+                            if ($next_comment_single_pos == $i) {
+                                $comment_key = $next_comment_single_key;
+                                $comment_mark = $this->language_data['COMMENT_SINGLE'][$comment_key];
+                                $com_len = strlen($comment_mark);
+
+                                // This check will find special variables like $# in bash
+                                // or compiler directives of Delphi beginning {$
+                                if ((empty($sc_disallowed_before) || ($i == 0) ||
+                                    (false === strpos($sc_disallowed_before, $part[$i-1]))) &&
+                                    (empty($sc_disallowed_after) || ($length <= $i + $com_len) ||
+                                    (false === strpos($sc_disallowed_after, $part[$i + $com_len]))))
+                                {
+                                    // this is a valid comment
+                                    $COMMENT_MATCHED = true;
+                                    if ($this->lexic_permissions['COMMENTS'][$comment_key]) {
+                                        if (!$this->use_classes) {
+                                            $attributes = ' style="' . $this->language_data['STYLES']['COMMENTS'][$comment_key] . '"';
+                                        } else {
+                                            $attributes = ' class="co' . $comment_key . '"';
+                                        }
+                                        $test_str = "<span$attributes>" . $this->hsc($this->change_case($comment_mark));
+                                    } else {
+                                        $test_str = $this->hsc($comment_mark);
                                     }
-                                }
-                            }
-                            else {
-                                $ESCAPE_CHAR_OPEN = false;
-                                if ($this->lexic_permissions['ESCAPE_CHAR']) {
-                                    $char .= '</span>';
-                                }
-                            }
-                        }
-                        else if ($ESCAPE_CHAR_OPEN) {
-                            if ($this->lexic_permissions['ESCAPE_CHAR']) {
-                                $char .= '</span>';
-                            }
-                            $ESCAPE_CHAR_OPEN = false;
-                            $test_str = $char;
-                        }
-                        else if ($STRING_OPEN == '') {
-                            // Is this a multiline comment?
-                            foreach ($this->language_data['COMMENT_MULTI'] as $open => $close) {
-                                $com_len = strlen($open);
-                                $test_str = substr( $part, $i, $com_len );
-                                $test_str_match = $test_str;
-                                if ($open == $test_str) {
-                                    $COMMENT_MATCHED = true;
-                                    //@todo If remove important do remove here
-                                    if ($this->lexic_permissions['COMMENTS']['MULTI'] ||
-                                        $test_str == GESHI_START_IMPORTANT) {
-                                        if ($test_str != GESHI_START_IMPORTANT) {
-                                            if (!$this->use_classes) {
-                                                $attributes = ' style="' . $this->language_data['STYLES']['COMMENTS']['MULTI'] . '"';
-                                            }
-                                            else {
-                                                $attributes = ' class="coMULTI"';
-                                            }
-                                            $test_str = "<span$attributes>" . GeSHi::hsc($test_str);
-                                        }
-                                        else {
-                                            if (!$this->use_classes) {
-                                                $attributes = ' style="' . $this->important_styles . '"';
-                                            }
-                                            else {
-                                                $attributes = ' class="imp"';
-                                            }
-                                            // We don't include the start of the comment if it's an
-                                            // "important" part
-                                            $test_str = "<span$attributes>";
-                                        }
-                                    }
-                                    else {
-                                        $test_str = GeSHi::hsc($test_str);
-                                    }
-
-                                    $close_pos = strpos( $part, $close, $i + strlen($close) );
-
+
+                                    //Check if this comment is the last in the source
+                                    $close_pos = strpos($part, "\n", $i);
                                     $oops = false;
                                     if ($close_pos === false) {
-                                        $close_pos = strlen($part);
+                                        $close_pos = $length;
                                         $oops = true;
                                     }
-                                    else {
-                                        $close_pos -= ($com_len - strlen($close));
+                                    $test_str .= $this->hsc(substr($part, $i + $com_len, $close_pos - $i - $com_len));
+                                    if ($this->lexic_permissions['COMMENTS'][$comment_key]) {
+                                        $test_str .= "</span>";
                                     }
 
-                                    // Short-cut through all the multiline code
-                                    $rest_of_comment = GeSHi::hsc(substr($part, $i + $com_len, $close_pos - $i));
-                                    if (($this->lexic_permissions['COMMENTS']['MULTI'] ||
-                                        $test_str_match == GESHI_START_IMPORTANT) &&
-                                        ($this->line_numbers != GESHI_NO_LINE_NUMBERS ||
-                                        count($this->highlight_extra_lines) > 0)) {
-                                        // strreplace to put close span and open span around multiline newlines
-                                        $test_str .= str_replace(
-                                            "\n", "</span>\n<span$attributes>", 
-                                            str_replace("\n ", "\n&nbsp;", $rest_of_comment)
-                                        );
+                                    // Take into account that the comment might be the last in the source
+                                    if (!$oops) {
+                                      $test_str .= "\n";
                                     }
-                                    else {
-                                        $test_str .= $rest_of_comment;
-                                    }
-
-                                    if ($this->lexic_permissions['COMMENTS']['MULTI'] ||
-                                        $test_str_match == GESHI_START_IMPORTANT) {
-                                        $test_str .= '</span>';
-                                        if ($oops) {
-                                            $test_str .= "\n";
-                                        }
-                                    }
-									$i = $close_pos + $com_len - 1;
+
+                                    $i = $close_pos;
+
                                     // parse the rest
                                     $result .= $this->parse_non_string_part($stuff_to_parse);
                                     $stuff_to_parse = '';
-                                    break;
-                                }
-                            }
-                            // If we haven't matched a multiline comment, try single-line comments
-                            if (!$COMMENT_MATCHED) {
-                                foreach ($this->language_data['COMMENT_SINGLE'] as $comment_key => $comment_mark) {
-                                    $com_len = strlen($comment_mark);
-                                    $test_str = substr($part, $i, $com_len);
-                                    if ($this->language_data['CASE_SENSITIVE'][GESHI_COMMENTS]) {
-                                        $match = ($comment_mark == $test_str);
-                                    }
-                                    else {
-                                        $match = (strtolower($comment_mark) == strtolower($test_str));
-                                    }
-                                    if ($match) {
-                                        $COMMENT_MATCHED = true;
-                                        if ($this->lexic_permissions['COMMENTS'][$comment_key]) {
-                                            if (!$this->use_classes) {
-                                                $attributes = ' style="' . $this->language_data['STYLES']['COMMENTS'][$comment_key] . '"';
-                                            }
-                                            else {
-                                                $attributes = ' class="co' . $comment_key . '"';
-                                            }
-                                            $test_str = "<span$attributes>" . GeSHi::hsc($this->change_case($test_str));
-                                        }
-                                        else {
-                                            $test_str = GeSHi::hsc($test_str);
-                                        }
-                                        $close_pos = strpos($part, "\n", $i);
-                                        $oops = false;
-                                        if ($close_pos === false) {
-                                            $close_pos = strlen($part);
-                                            $oops = true;
-                                        }
-                                        $test_str .= GeSHi::hsc(substr($part, $i + $com_len, $close_pos - $i - $com_len));
-                                        if ($this->lexic_permissions['COMMENTS'][$comment_key]) {
-                                            $test_str .= "</span>";
-                                        }
-                                        // Take into account that the comment might be the last in the source
-                                        if (!$oops) {
-                                          $test_str .= "\n";
-                                        }
-                                        $i = $close_pos;
-                                        // parse the rest
-                                        $result .= $this->parse_non_string_part($stuff_to_parse);
-                                        $stuff_to_parse = '';
-                                        break;
-                                    }
                                 }
                             }
                         }
-                        else if ($STRING_OPEN != '') {
-                            // Otherwise, convert it to HTML form
-                            if (strtolower($this->encoding) == 'utf-8') {
-                                //only escape <128 (we don't want to break multibyte chars)
-                                if (ord($char) < 128) {
-                                    $char = GeSHi::hsc($char);
-                                }
-                            }
-                            else {
-                                //encode everthing
-                                $char = GeSHi::hsc($char);
-                            }
-                        }
-                        // Where are we adding this char?
-                        if (!$COMMENT_MATCHED) {
-                            if (($STRING_OPEN == '') && !$CLOSE_STRING) {
-                                $stuff_to_parse .= $char;
-                            }
-                            else {
-                                $result .= $char;
-                                $CLOSE_STRING = false;
-                            }
-                        }
-                        else {
-                            $result .= $test_str;
-                            $COMMENT_MATCHED = false;
-                        }
+                    }
+
+                    // Where are we adding this char?
+                    if (!$COMMENT_MATCHED) {
+                        $stuff_to_parse .= $char;
+                    } else {
+                        $result .= $test_str;
+                        unset($test_str);
+                        $COMMENT_MATCHED = false;
                     }
-                    // Parse the last bit
-                    $result .= $this->parse_non_string_part($stuff_to_parse);
-                    $stuff_to_parse = '';
                 }
-                else {
-                    if ($STRICTATTRS != '') {
-                        $part = str_replace("\n", "</span>\n<span$STRICTATTRS>", GeSHi::hsc($part));
-                        $STRICTATTRS = '';
-                    }
-                    $result .= $part;
-                }
-                // Close the <span> that surrounds the block
-                if ($this->strict_mode && $this->language_data['STYLES']['SCRIPT'][$script_key] != '' &&
-                    $this->lexic_permissions['SCRIPT']) {
-                    $result .= '</span>';
-                }
+                // Parse the last bit
+                $result .= $this->parse_non_string_part($stuff_to_parse);
+                $stuff_to_parse = '';
+            } else {
+                $result .= $this->hsc($part);
+            }
+            // Close the <span> that surrounds the block
+            if ($STRICTATTRS != '') {
+                $result = str_replace("\n", "</span>\n<span$STRICTATTRS>", $result);
+                $result .= '</span>';
             }
-            else {
-                // Else not a block to highlight
-                $result .= GeSHi::hsc($part);
-            }
+
+            $endresult .= $result;
+            unset($part, $parts[$key], $result);
         }
 
-        // Parse the last stuff (redundant?)
-        $result .= $this->parse_non_string_part($stuff_to_parse);
+        //This fix is related to SF#1923020, but has to be applied regardless of
+        //actually highlighting symbols.
+        /** NOTE: memorypeak #3 */
+        $endresult = str_replace(array('<SEMI>', '<PIPE>'), array(';', '|'), $endresult);
+
+//        // Parse the last stuff (redundant?)
+//        $result .= $this->parse_non_string_part($stuff_to_parse);
 
         // Lop off the very first and last spaces
-        $result = substr($result, 1, -1);
-
-        // Are we still in a string?
-        if ($STRING_OPEN) {
-            $result .= '</span>';
-        }
+//        $result = substr($result, 1, -1);
 
         // We're finished: stop timing
         $this->set_time($start_time, microtime());
 
-        return $this->finalise($result);
+        $this->finalise($endresult);
+        return $endresult;
     }
 
     /**
      * Swaps out spaces and tabs for HTML indentation. Not needed if
      * the code is in a pre block...
      *
-     * @param  string The source to indent
-     * @return string The source with HTML indenting applied
+     * @param  string The source to indent (reference!)
      * @since  1.0.0
      * @access private
      */
-    function indent($result) {
+    function indent(&$result) {
         /// Replace tabs with the correct number of spaces
         if (false !== strpos($result, "\t")) {
             $lines = explode("\n", $result);
-			$tab_width = $this->get_real_tab_width();
-            foreach ($lines as $key => $line) {
+            $result = null;//Save memory while we process the lines individually
+            $tab_width = $this->get_real_tab_width();
+            $tab_string = '&nbsp;' . str_repeat(' ', $tab_width);
+
+            for ($key = 0, $n = count($lines); $key < $n; $key++) {
+                $line = $lines[$key];
                 if (false === strpos($line, "\t")) {
-                    $lines[$key] = $line;
                     continue;
                 }
 
                 $pos = 0;
                 $length = strlen($line);
-                $result_line = '';
+                $lines[$key] = ''; // reduce memory
 
                 $IN_TAG = false;
-                for ($i = 0; $i < $length; $i++) {
-                    $char = substr($line, $i, 1);
+                for ($i = 0; $i < $length; ++$i) {
+                    $char = $line[$i];
                     // Simple engine to work out whether we're in a tag.
                     // If we are we modify $pos. This is so we ignore HTML
                     // in the line and only workout the tab replacement
@@ -1928,26 +2980,24 @@
                     // This test could be improved to include strings in the
                     // html so that < or > would be allowed in user's styles
                     // (e.g. quotes: '<' '>'; or similar)
-                    if ($IN_TAG && '>' == $char) {
-                        $IN_TAG = false;
-                        $result_line .= '>';
-                        ++$pos;
-                    }
-                    else if (!$IN_TAG && '<' == $char) {
+                    if ($IN_TAG) {
+                        if ('>' == $char) {
+                            $IN_TAG = false;
+                        }
+                        $lines[$key] .= $char;
+                    } else if ('<' == $char) {
                         $IN_TAG = true;
-                        $result_line .= '<';
-                        ++$pos;
-                    }
-                    else if (!$IN_TAG && '&' == $char) {
-                        $substr = substr($line, $i + 3, 4);
-                        //$substr_5 = substr($line, 5, 1);
+                        $lines[$key] .= '<';
+                    } else if ('&' == $char) {
+                        $substr = substr($line, $i + 3, 5);
                         $posi = strpos($substr, ';');
-                        if (false !== $posi) {
-                            $pos += $posi + 3;
+                        if (false === $posi) {
+                            ++$pos;
+                        } else {
+                            $pos -= $posi+2;
                         }
-                        $result_line .= '&';
-                    }
-                    else if (!$IN_TAG && "\t" == $char) {
+                        $lines[$key] .= $char;
+                    } else if ("\t" == $char) {
                         $str = '';
                         // OPTIMISE - move $strs out. Make an array:
                         // $tabs = array(
@@ -1955,42 +3005,43 @@
                         //  2 => '&nbsp; ',
                         //  3 => '&nbsp; &nbsp;' etc etc
                         // to use instead of building a string every time
-                        $strs = array(0 => '&nbsp;', 1 => ' ');
-                        for ($k = 0; $k < ($tab_width - (($i - $pos) % $tab_width)); $k++) $str .= $strs[$k % 2];
-                        $result_line .= $str;
-                        $pos += ($i - $pos) % $tab_width + 1;
+                        $tab_end_width = $tab_width - ($pos % $tab_width); //Moved out of the look as it doesn't change within the loop
+                        if (($pos & 1) || 1 == $tab_end_width) {
+                            $str .= substr($tab_string, 6, $tab_end_width);
+                        } else {
+                            $str .= substr($tab_string, 0, $tab_end_width+5);
+                        }
+                        $lines[$key] .= $str;
+                        $pos += $tab_end_width;
 
                         if (false === strpos($line, "\t", $i + 1)) {
-                            $result_line .= substr($line, $i + 1);
+                            $lines[$key] .= substr($line, $i + 1);
                             break;
                         }
-                    }
-                    else if ($IN_TAG) {
+                    } else if (0 == $pos && ' ' == $char) {
+                        $lines[$key] .= '&nbsp;';
                         ++$pos;
-                        $result_line .= $char;
-                    }
-                    else {
-                        $result_line .= $char;
-                        //++$pos;
+                    } else {
+                        $lines[$key] .= $char;
+                        ++$pos;
                     }
                 }
-                $lines[$key] = $result_line;
             }
             $result = implode("\n", $lines);
+            unset($lines);//We don't need the lines separated beyond this --- free them!
         }
         // Other whitespace
         // BenBE: Fix to reduce the number of replacements to be done
-        $result = str_replace("\n ", "\n&nbsp;", $result);
+        $result = preg_replace('/^ /m', '&nbsp;', $result);
         $result = str_replace('  ', ' &nbsp;', $result);
 
         if ($this->line_numbers == GESHI_NO_LINE_NUMBERS) {
-			if ($this->line_ending === null) {
-				$result = nl2br($result);
-			} else {
-				$result = str_replace("\n", $this->line_ending, $result);
-			}
-		}
-        return $result;
+            if ($this->line_ending === null) {
+                $result = nl2br($result);
+            } else {
+                $result = str_replace("\n", $this->line_ending, $result);
+            }
+        }
     }
 
     /**
@@ -2002,65 +3053,122 @@
      * @access private
      */
     function change_case($instr) {
-        if ($this->language_data['CASE_KEYWORDS'] == GESHI_CAPS_UPPER) {
-            return strtoupper($instr);
+        switch ($this->language_data['CASE_KEYWORDS']) {
+            case GESHI_CAPS_UPPER:
+                return strtoupper($instr);
+            case GESHI_CAPS_LOWER:
+                return strtolower($instr);
+            default:
+                return $instr;
         }
-        else if ($this->language_data['CASE_KEYWORDS'] == GESHI_CAPS_LOWER) {
-            return strtolower($instr);
-        }
-        return $instr;
     }
 
     /**
-     * Adds a url to a keyword where needed.
+     * Handles replacements of keywords to include markup and links if requested
      *
-     * @param  string The keyword to add the URL HTML to
-     * @param  int What group the keyword is from
-     * @param  boolean Whether to get the HTML for the start or end
-     * @return The HTML for either the start or end of the HTML &lt;a&gt; tag
-     * @since  1.0.2
+     * @param  string The keyword to add the Markup to
+     * @return The HTML for the match found
+     * @since  1.0.8
      * @access private
-     * @todo   Get rid of ender
+     *
+     * @todo   Get rid of ender in keyword links
      */
-    function add_url_to_keyword($keyword, $group, $start_or_end) {
-        if (!$this->keyword_links) {
-            // Keyword links have been disabled
-            return;
-        }
-
-        if (isset($this->language_data['URLS'][$group]) &&
-            $this->language_data['URLS'][$group] != '' &&
-            substr($keyword, 0, 5) != '&lt;/') {
-            // There is a base group for this keyword
-            if ($start_or_end == 'BEGIN') {
-                // HTML workaround... not good form (tm) but should work for 1.0.X
-                if ($keyword != '') {
-                    // Old system: strtolower
-                    //$keyword = ( $this->language_data['CASE_SENSITIVE'][$group] ) ? $keyword : strtolower($keyword);
-                    // New system: get keyword from language file to get correct case
-                    foreach ($this->language_data['KEYWORDS'][$group] as $word) {
-                        if (strtolower($word) == strtolower($keyword)) {
+    function handle_keyword_replace($match) {
+        $k = $this->_kw_replace_group;
+        $keyword = $match[0];
+
+        $before = '';
+        $after = '';
+
+        if ($this->keyword_links) {
+            // Keyword links have been ebabled
+
+            if (isset($this->language_data['URLS'][$k]) &&
+                $this->language_data['URLS'][$k] != '') {
+                // There is a base group for this keyword
+
+                // Old system: strtolower
+                //$keyword = ( $this->language_data['CASE_SENSITIVE'][$group] ) ? $keyword : strtolower($keyword);
+                // New system: get keyword from language file to get correct case
+                if (!$this->language_data['CASE_SENSITIVE'][$k] &&
+                    strpos($this->language_data['URLS'][$k], '{FNAME}') !== false) {
+                    foreach ($this->language_data['KEYWORDS'][$k] as $word) {
+                        if (strcasecmp($word, $keyword) == 0) {
                             break;
                         }
                     }
-                    $word = ( substr($word, 0, 4) == '&lt;' ) ? substr($word, 4) : $word;
-                    $word = ( substr($word, -4) == '&gt;' ) ? substr($word, 0, strlen($word) - 4) : $word;
-                    if (!$word) return '';
-
-                    return '<|UR1|"' .
-                        str_replace(
-                            array('{FNAME}', '.'),
-                            array(GeSHi::hsc($word), '<DOT>'),
-                            $this->language_data['URLS'][$group]
-                        ) . '">';
+                } else {
+                    $word = $keyword;
                 }
-                return '';
-            // HTML fix. Again, dirty hackage...
-            }
-            else if (!($this->language == 'html4strict' && ('&gt;' == $keyword || '&lt;' == $keyword))) {
-                return '</a>';
+
+                $before = '<|UR1|"' .
+                    str_replace(
+                        array(
+                            '{FNAME}',
+                            '{FNAMEL}',
+                            '{FNAMEU}',
+                            '.'),
+                        array(
+                            str_replace('+', '%20', urlencode($this->hsc($word))),
+                            str_replace('+', '%20', urlencode($this->hsc(strtolower($word)))),
+                            str_replace('+', '%20', urlencode($this->hsc(strtoupper($word)))),
+                            '<DOT>'),
+                        $this->language_data['URLS'][$k]
+                    ) . '">';
+                $after = '</a>';
             }
         }
+
+        return $before . '<|/'. $k .'/>' . $this->change_case($keyword) . '|>' . $after;
+    }
+
+    /**
+     * handles regular expressions highlighting-definitions with callback functions
+     *
+     * @note this is a callback, don't use it directly
+     *
+     * @param array the matches array
+     * @return The highlighted string
+     * @since 1.0.8
+     * @access private
+     */
+    function handle_regexps_callback($matches) {
+        // before: "' style=\"' . call_user_func(\"$func\", '\\1') . '\"\\1|>'",
+        return  ' style="' . call_user_func($this->language_data['STYLES']['REGEXPS'][$this->_rx_key], $matches[1]) . '"'. $matches[1] . '|>';
+    }
+
+    /**
+     * handles newlines in REGEXPS matches. Set the _hmr_* vars before calling this
+     *
+     * @note this is a callback, don't use it directly
+     *
+     * @param array the matches array
+     * @return string
+     * @since 1.0.8
+     * @access private
+     */
+    function handle_multiline_regexps($matches) {
+        $before = $this->_hmr_before;
+        $after = $this->_hmr_after;
+        if ($this->_hmr_replace) {
+            $replace = $this->_hmr_replace;
+            $search = array();
+
+            foreach (array_keys($matches) as $k) {
+                $search[] = '\\' . $k;
+            }
+
+            $before = str_replace($search, $matches, $before);
+            $after = str_replace($search, $matches, $after);
+            $replace = str_replace($search, $matches, $replace);
+        } else {
+            $replace = $matches[0];
+        }
+        return $before
+                    . '<|!REG3XP' . $this->_hmr_key .'!>'
+                        . str_replace("\n", "|>\n<|!REG3XP" . $this->_hmr_key . '!>', $replace)
+                    . '|>'
+              . $after;
     }
 
     /**
@@ -2072,84 +3180,129 @@
      * @access private
      * @todo BUGGY! Why? Why not build string and return?
      */
-    function parse_non_string_part(&$stuff_to_parse) {
-        $stuff_to_parse = ' ' . GeSHi::hsc($stuff_to_parse);
-        $stuff_to_parse_pregquote = preg_quote($stuff_to_parse, '/');
-        $func = '$this->change_case';
-        $func2 = '$this->add_url_to_keyword';
-
-        //
+    function parse_non_string_part($stuff_to_parse) {
+        $stuff_to_parse = ' ' . $this->hsc($stuff_to_parse);
+
         // Regular expressions
-        //
         foreach ($this->language_data['REGEXPS'] as $key => $regexp) {
             if ($this->lexic_permissions['REGEXPS'][$key]) {
                 if (is_array($regexp)) {
-                    $stuff_to_parse = preg_replace(
-                        "/" .
-                        str_replace('/', '\/', $regexp[GESHI_SEARCH]) .
-                        "/{$regexp[GESHI_MODIFIERS]}",
-                        "{$regexp[GESHI_BEFORE]}<|!REG3XP$key!>{$regexp[GESHI_REPLACE]}|>{$regexp[GESHI_AFTER]}",
-                        $stuff_to_parse
-                    );
-                }
-                else {
-                    $stuff_to_parse = preg_replace( "/(" . str_replace('/', '\/', $regexp) . ")/", "<|!REG3XP$key!>\\1|>", $stuff_to_parse);
+                    if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+                        // produce valid HTML when we match multiple lines
+                        $this->_hmr_replace = $regexp[GESHI_REPLACE];
+                        $this->_hmr_before = $regexp[GESHI_BEFORE];
+                        $this->_hmr_key = $key;
+                        $this->_hmr_after = $regexp[GESHI_AFTER];
+                        $stuff_to_parse = preg_replace_callback(
+                            "/" . $regexp[GESHI_SEARCH] . "/{$regexp[GESHI_MODIFIERS]}",
+                            array($this, 'handle_multiline_regexps'),
+                            $stuff_to_parse);
+                        $this->_hmr_replace = false;
+                        $this->_hmr_before = '';
+                        $this->_hmr_after = '';
+                    } else {
+                        $stuff_to_parse = preg_replace(
+                            '/' . $regexp[GESHI_SEARCH] . '/' . $regexp[GESHI_MODIFIERS],
+                            $regexp[GESHI_BEFORE] . '<|!REG3XP'. $key .'!>' . $regexp[GESHI_REPLACE] . '|>' . $regexp[GESHI_AFTER],
+                            $stuff_to_parse);
+                    }
+                } else {
+                    if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+                        // produce valid HTML when we match multiple lines
+                        $this->_hmr_key = $key;
+                        $stuff_to_parse = preg_replace_callback( "/(" . $regexp . ")/",
+                                              array($this, 'handle_multiline_regexps'), $stuff_to_parse);
+                        $this->_hmr_key = '';
+                    } else {
+                        $stuff_to_parse = preg_replace( "/(" . $regexp . ")/", "<|!REG3XP$key!>\\1|>", $stuff_to_parse);
+                    }
                 }
             }
         }
 
-        //
-        // Highlight numbers. This regexp sucks... anyone with a regexp that WORKS
-        // here wins a cookie if they send it to me. At the moment there's two doing
-        // almost exactly the same thing, except the second one prevents a number
-        // being highlighted twice (eg <span...><span...>5</span></span>)
-        // Put /NUM!/ in for the styles, which gets replaced at the end.
-        //
-        // NEW ONE: Brice Bernard
-        //
-        if ($this->lexic_permissions['NUMBERS'] && preg_match('#[0-9]#', $stuff_to_parse )) {
-            $stuff_to_parse = preg_replace('/([-+]?\\b(?:[0-9]*\\.)?[0-9]+\\b)/', '<|/NUM!/>\\1|>', $stuff_to_parse);
+        // Highlight numbers. As of 1.0.8 we support diffent types of numbers
+        $numbers_found = false;
+        if ($this->lexic_permissions['NUMBERS'] && preg_match('#\d#', $stuff_to_parse )) {
+            $numbers_found = true;
+
+            //For each of the formats ...
+            foreach($this->language_data['NUMBERS_RXCACHE'] as $id => $regexp) {
+                //Check if it should be highlighted ...
+                $stuff_to_parse = preg_replace($regexp, "<|/NUM!$id/>\\1|>", $stuff_to_parse);
+            }
         }
 
         // Highlight keywords
-        // if there is a couple of alpha symbols there *might* be a keyword
-        if (preg_match('#[a-zA-Z]{2,}#', $stuff_to_parse)) {
-            foreach ($this->language_data['KEYWORDS'] as $k => $keywordset) {
-                if ($this->lexic_permissions['KEYWORDS'][$k]) {
-                    foreach ($keywordset as $keyword) {
-                        $keyword = preg_quote($keyword, '/');
-                        //
-                        // This replacement checks the word is on it's own (except if brackets etc
-                        // are next to it), then highlights it. We don't put the color=" for the span
-                        // in just yet - otherwise languages with the keywords "color" or "or" have
-                        // a fit.
-                        //
-                        if (false !== stristr($stuff_to_parse_pregquote, $keyword )) {
-                            $stuff_to_parse .= ' ';
-                            // Might make a more unique string for putting the number in soon
-                            // Basically, we don't put the styles in yet because then the styles themselves will
-                            // get highlighted if the language has a CSS keyword in it (like CSS, for example ;))
-                            $styles = "/$k/";
-                            if ($this->language_data['CASE_SENSITIVE'][$k]) {
-                                $stuff_to_parse = preg_replace(
-                                    "/([^a-zA-Z0-9\$_\|\#;>|^])($keyword)(?=[^a-zA-Z0-9_<\|%\-&])/e",
-                                    "'\\1' . $func2('\\2', '$k', 'BEGIN') . '<|$styles>' . $func('\\2') . '|>' . $func2('\\2', '$k', 'END')",
-                                    $stuff_to_parse
-                                );
-                            }
-                            else {
-                                // Change the case of the word.
-                                // hackage again... must... release... 1.2...
-                                if ('smarty' == $this->language) { $hackage = '\/'; } else { $hackage = ''; }
-                                $stuff_to_parse = preg_replace(
-                                    "/([^a-zA-Z0-9\$_\|\#;>$hackage|^])($keyword)(?=[^a-zA-Z0-9_<\|%\-&])/ie",
-                                    "'\\1' . $func2('\\2', '$k', 'BEGIN') . '<|$styles>' . $func('\\2') . '|>' . $func2('\\2', '$k', 'END')",
-                                    $stuff_to_parse
-                                );
-                            }
-                            $stuff_to_parse = substr($stuff_to_parse, 0, strlen($stuff_to_parse) - 1);
-                        }
+        $disallowed_before = "(?<![a-zA-Z0-9\$_\|\#;>|^&";
+        $disallowed_after = "(?![a-zA-Z0-9_\|%\\-&;";
+        if ($this->lexic_permissions['STRINGS']) {
+            $quotemarks = preg_quote(implode($this->language_data['QUOTEMARKS']), '/');
+            $disallowed_before .= $quotemarks;
+            $disallowed_after .= $quotemarks;
+        }
+        $disallowed_before .= "])";
+        $disallowed_after .= "])";
+
+        $parser_control_pergroup = false;
+        if (isset($this->language_data['PARSER_CONTROL'])) {
+            if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS'])) {
+                $x = 0; // check wether per-keyword-group parser_control is enabled
+                if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_BEFORE'])) {
+                    $disallowed_before = $this->language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_BEFORE'];
+                    ++$x;
+                }
+                if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_AFTER'])) {
+                    $disallowed_after = $this->language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_AFTER'];
+                    ++$x;
+                }
+                $parser_control_pergroup = (count($this->language_data['PARSER_CONTROL']['KEYWORDS']) - $x) > 0;
+            }
+        }
+
+        // if this is changed, don't forget to change it below
+//        if (!empty($disallowed_before)) {
+//            $disallowed_before = "(?<![$disallowed_before])";
+//        }
+//        if (!empty($disallowed_after)) {
+//            $disallowed_after = "(?![$disallowed_after])";
+//        }
+
+        foreach (array_keys($this->language_data['KEYWORDS']) as $k) {
+            if (!isset($this->lexic_permissions['KEYWORDS'][$k]) ||
+                $this->lexic_permissions['KEYWORDS'][$k]) {
+
+                $case_sensitive = $this->language_data['CASE_SENSITIVE'][$k];
+                $modifiers = $case_sensitive ? '' : 'i';
+
+                // NEW in 1.0.8 - per-keyword-group parser control
+                $disallowed_before_local = $disallowed_before;
+                $disallowed_after_local = $disallowed_after;
+                if ($parser_control_pergroup && isset($this->language_data['PARSER_CONTROL']['KEYWORDS'][$k])) {
+                    if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS'][$k]['DISALLOWED_BEFORE'])) {
+                        $disallowed_before_local =
+                            $this->language_data['PARSER_CONTROL']['KEYWORDS'][$k]['DISALLOWED_BEFORE'];
                     }
+
+                    if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS'][$k]['DISALLOWED_AFTER'])) {
+                        $disallowed_after_local =
+                            $this->language_data['PARSER_CONTROL']['KEYWORDS'][$k]['DISALLOWED_AFTER'];
+                    }
+                }
+
+                $this->_kw_replace_group = $k;
+
+                //NEW in 1.0.8, the cached regexp list
+                // since we don't want PHP / PCRE to crash due to too large patterns we split them into smaller chunks
+                for ($set = 0, $set_length = count($this->language_data['CACHED_KEYWORD_LISTS'][$k]); $set <  $set_length; ++$set) {
+                    $keywordset =& $this->language_data['CACHED_KEYWORD_LISTS'][$k][$set];
+                    // Might make a more unique string for putting the number in soon
+                    // Basically, we don't put the styles in yet because then the styles themselves will
+                    // get highlighted if the language has a CSS keyword in it (like CSS, for example ;))
+                    $stuff_to_parse = preg_replace_callback(
+                        "/$disallowed_before_local({$keywordset})(?!\<DOT\>(?:htm|php))$disallowed_after_local/$modifiers",
+                        array($this, 'handle_keyword_replace'),
+                        $stuff_to_parse
+                        );
                 }
             }
         }
@@ -2157,38 +3310,63 @@
         //
         // Now that's all done, replace /[number]/ with the correct styles
         //
-        foreach ($this->language_data['KEYWORDS'] as $k => $kws) {
+        foreach (array_keys($this->language_data['KEYWORDS']) as $k) {
             if (!$this->use_classes) {
-                $attributes = ' style="' . $this->language_data['STYLES']['KEYWORDS'][$k] . '"';
-            }
-            else {
+                $attributes = ' style="' .
+                    (isset($this->language_data['STYLES']['KEYWORDS'][$k]) ?
+                    $this->language_data['STYLES']['KEYWORDS'][$k] : "") . '"';
+            } else {
                 $attributes = ' class="kw' . $k . '"';
             }
-            $stuff_to_parse = str_replace("/$k/", $attributes, $stuff_to_parse);
+            $stuff_to_parse = str_replace("<|/$k/>", "<|$attributes>", $stuff_to_parse);
         }
 
-        // Put number styles in
-        if (!$this->use_classes && $this->lexic_permissions['NUMBERS']) {
-            $attributes = ' style="' . $this->language_data['STYLES']['NUMBERS'][0] . '"';
+        if ($numbers_found) {
+            // Put number styles in
+            foreach($this->language_data['NUMBERS_RXCACHE'] as $id => $regexp) {
+//Commented out for now, as this needs some review ...
+//                if ($numbers_permissions & $id) {
+                    //Get the appropriate style ...
+                        //Checking for unset styles is done by the style cache builder ...
+                    if (!$this->use_classes) {
+                        $attributes = ' style="' . $this->language_data['STYLES']['NUMBERS'][$id] . '"';
+                    } else {
+                        $attributes = ' class="nu'.$id.'"';
+                    }
+
+                    //Set in the correct styles ...
+                    $stuff_to_parse = str_replace("/NUM!$id/", $attributes, $stuff_to_parse);
+//                }
+            }
         }
-        else {
-            $attributes = ' class="nu0"';
-        }
-        $stuff_to_parse = str_replace('/NUM!/', $attributes, $stuff_to_parse);
-
-        //
+
         // Highlight methods and fields in objects
-        //
         if ($this->lexic_permissions['METHODS'] && $this->language_data['OOLANG']) {
+            $oolang_spaces = "[\s]*";
+            $oolang_before = "";
+            $oolang_after = "[a-zA-Z][a-zA-Z0-9_]*";
+            if (isset($this->language_data['PARSER_CONTROL'])) {
+                if (isset($this->language_data['PARSER_CONTROL']['OOLANG'])) {
+                    if (isset($this->language_data['PARSER_CONTROL']['OOLANG']['MATCH_BEFORE'])) {
+                        $oolang_before = $this->language_data['PARSER_CONTROL']['OOLANG']['MATCH_BEFORE'];
+                    }
+                    if (isset($this->language_data['PARSER_CONTROL']['OOLANG']['MATCH_AFTER'])) {
+                        $oolang_after = $this->language_data['PARSER_CONTROL']['OOLANG']['MATCH_AFTER'];
+                    }
+                    if (isset($this->language_data['PARSER_CONTROL']['OOLANG']['MATCH_SPACES'])) {
+                        $oolang_spaces = $this->language_data['PARSER_CONTROL']['OOLANG']['MATCH_SPACES'];
+                    }
+                }
+            }
+
             foreach ($this->language_data['OBJECT_SPLITTERS'] as $key => $splitter) {
-                if (false !== stristr($stuff_to_parse, $splitter)) {
+                if (false !== strpos($stuff_to_parse, $splitter)) {
                     if (!$this->use_classes) {
                         $attributes = ' style="' . $this->language_data['STYLES']['METHODS'][$key] . '"';
-                    }
-                    else {
+                    } else {
                         $attributes = ' class="me' . $key . '"';
                     }
-                    $stuff_to_parse = preg_replace("/(" . preg_quote($this->language_data['OBJECT_SPLITTERS'][$key], 1) . "[\s]*)([a-zA-Z\*\(][a-zA-Z0-9_\*]*)/", "\\1<|$attributes>\\2|>", $stuff_to_parse);
+                    $stuff_to_parse = preg_replace("/($oolang_before)(" . preg_quote($this->language_data['OBJECT_SPLITTERS'][$key], '/') . ")($oolang_spaces)($oolang_after)/", "\\1\\2\\3<|$attributes>\\4|>", $stuff_to_parse);
                 }
             }
         }
@@ -2200,49 +3378,104 @@
         // be highlighting regardless
         //
         if ($this->lexic_permissions['BRACKETS']) {
-            $code_entities_match = array('[', ']', '(', ')', '{', '}');
-            if (!$this->use_classes) {
-                $code_entities_replace = array(
-                    '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#91;|>',
-                    '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#93;|>',
-                    '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#40;|>',
-                    '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#41;|>',
-                    '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#123;|>',
-                    '<| style="' . $this->language_data['STYLES']['BRACKETS'][0] . '">&#125;|>',
-                );
-            }
-            else {
-                $code_entities_replace = array(
-                    '<| class="br0">&#91;|>',
-                    '<| class="br0">&#93;|>',
-                    '<| class="br0">&#40;|>',
-                    '<| class="br0">&#41;|>',
-                    '<| class="br0">&#123;|>',
-                    '<| class="br0">&#125;|>',
-                );
-            }
-            $stuff_to_parse = str_replace( $code_entities_match,  $code_entities_replace, $stuff_to_parse );
+            $stuff_to_parse = str_replace( $this->language_data['CACHE_BRACKET_MATCH'],
+                              $this->language_data['CACHE_BRACKET_REPLACE'], $stuff_to_parse );
         }
 
-        //
-        // Add class/style for regexps
-        //
-        foreach ($this->language_data['REGEXPS'] as $key => $regexp) {
-            if ($this->lexic_permissions['REGEXPS'][$key]) {
-                if (!$this->use_classes) {
-                    $attributes = ' style="' . $this->language_data['STYLES']['REGEXPS'][$key] . '"';
-                }
-                else {
-                   if(is_array($this->language_data['REGEXPS'][$key]) &&
-                            array_key_exists(GESHI_CLASS, $this->language_data['REGEXPS'][$key])) {
-                        $attributes = ' class="'
-                            . $this->language_data['REGEXPS'][$key][GESHI_CLASS] . '"';
-                    }
-                   else {
-                       $attributes = ' class="re' . $key . '"';
+
+        //FIX for symbol highlighting ...
+        if ($this->lexic_permissions['SYMBOLS'] && !empty($this->language_data['SYMBOLS'])) {
+            //Get all matches and throw away those witin a block that is already highlighted... (i.e. matched by a regexp)
+            $n_symbols = preg_match_all("/<\|(?:<DOT>|[^>])+>(?:(?!\|>).*?)\|>|<\/a>|(?:" . $this->language_data['SYMBOL_SEARCH'] . ")+/", $stuff_to_parse, $pot_symbols, PREG_OFFSET_CAPTURE | PREG_SET_ORDER);
+            $global_offset = 0;
+            for ($s_id = 0; $s_id < $n_symbols; ++$s_id) {
+                $symbol_match = $pot_symbols[$s_id][0][0];
+                if (strpos($symbol_match, '<') !== false || strpos($symbol_match, '>') !== false) {
+                    // already highlighted blocks _must_ include either < or >
+                    // so if this conditional applies, we have to skip this match
+                    // BenBE: UNLESS the block contains <SEMI> or <PIPE>
+                    if(strpos($symbol_match, '<SEMI>') === false &&
+                        strpos($symbol_match, '<PIPE>') === false) {
+                        continue;
                     }
                 }
-                $stuff_to_parse = str_replace("!REG3XP$key!", "$attributes", $stuff_to_parse);
+
+                // if we reach this point, we have a valid match which needs to be highlighted
+
+                $symbol_length = strlen($symbol_match);
+                $symbol_offset = $pot_symbols[$s_id][0][1];
+                unset($pot_symbols[$s_id]);
+                $symbol_end = $symbol_length + $symbol_offset;
+                $symbol_hl = "";
+
+                // if we have multiple styles, we have to handle them properly
+                if ($this->language_data['MULTIPLE_SYMBOL_GROUPS']) {
+                    $old_sym = -1;
+                    // Split the current stuff to replace into its atomic symbols ...
+                    preg_match_all("/" . $this->language_data['SYMBOL_SEARCH'] . "/", $symbol_match, $sym_match_syms, PREG_PATTERN_ORDER);
+                    foreach ($sym_match_syms[0] as $sym_ms) {
+                        //Check if consequtive symbols belong to the same group to save output ...
+                        if (isset($this->language_data['SYMBOL_DATA'][$sym_ms])
+                            && ($this->language_data['SYMBOL_DATA'][$sym_ms] != $old_sym)) {
+                            if (-1 != $old_sym) {
+                                $symbol_hl .= "|>";
+                            }
+                            $old_sym = $this->language_data['SYMBOL_DATA'][$sym_ms];
+                            if (!$this->use_classes) {
+                                $symbol_hl .= '<| style="' . $this->language_data['STYLES']['SYMBOLS'][$old_sym] . '">';
+                            } else {
+                                $symbol_hl .= '<| class="sy' . $old_sym . '">';
+                            }
+                        }
+                        $symbol_hl .= $sym_ms;
+                    }
+                    unset($sym_match_syms);
+
+                    //Close remaining tags and insert the replacement at the right position ...
+                    //Take caution if symbol_hl is empty to avoid doubled closing spans.
+                    if (-1 != $old_sym) {
+                        $symbol_hl .= "|>";
+                    }
+                } else {
+                    if (!$this->use_classes) {
+                        $symbol_hl = '<| style="' . $this->language_data['STYLES']['SYMBOLS'][0] . '">';
+                    } else {
+                        $symbol_hl = '<| class="sy0">';
+                    }
+                    $symbol_hl .= $symbol_match . '|>';
+                }
+
+                $stuff_to_parse = substr_replace($stuff_to_parse, $symbol_hl, $symbol_offset + $global_offset, $symbol_length);
+
+                // since we replace old text with something of different size,
+                // we'll have to keep track of the differences
+                $global_offset += strlen($symbol_hl) - $symbol_length;
+            }
+        }
+        //FIX for symbol highlighting ...
+
+        // Add class/style for regexps
+        foreach (array_keys($this->language_data['REGEXPS']) as $key) {
+            if ($this->lexic_permissions['REGEXPS'][$key]) {
+                if (is_callable($this->language_data['STYLES']['REGEXPS'][$key])) {
+                    $this->_rx_key = $key;
+                    $stuff_to_parse = preg_replace_callback("/!REG3XP$key!(.*)\|>/U",
+                        array($this, 'handle_regexps_callback'),
+                        $stuff_to_parse);
+                } else {
+                    if (!$this->use_classes) {
+                        $attributes = ' style="' . $this->language_data['STYLES']['REGEXPS'][$key] . '"';
+                    } else {
+                        if (is_array($this->language_data['REGEXPS'][$key]) &&
+                            array_key_exists(GESHI_CLASS, $this->language_data['REGEXPS'][$key])) {
+                            $attributes = ' class="' .
+                                $this->language_data['REGEXPS'][$key][GESHI_CLASS] . '"';
+                        } else {
+                           $attributes = ' class="re' . $key . '"';
+                        }
+                    }
+                    $stuff_to_parse = str_replace("!REG3XP$key!", "$attributes", $stuff_to_parse);
+                }
             }
         }
 
@@ -2252,12 +3485,10 @@
         if (isset($this->link_styles[GESHI_LINK])) {
             if ($this->use_classes) {
                 $stuff_to_parse = str_replace('<|UR1|', '<a' . $this->link_target . ' href=', $stuff_to_parse);
-            }
-            else {
+            } else {
                 $stuff_to_parse = str_replace('<|UR1|', '<a' . $this->link_target . ' style="' . $this->link_styles[GESHI_LINK] . '" href=', $stuff_to_parse);
             }
-        }
-        else {
+        } else {
             $stuff_to_parse = str_replace('<|UR1|', '<a' . $this->link_target . ' href=', $stuff_to_parse);
         }
 
@@ -2267,7 +3498,6 @@
 
         $stuff_to_parse = str_replace('<|', '<span', $stuff_to_parse);
         $stuff_to_parse = str_replace ( '|>', '</span>', $stuff_to_parse );
-
         return substr($stuff_to_parse, 1);
     }
 
@@ -2296,63 +3526,162 @@
     }
 
     /**
+     * Merges arrays recursively, overwriting values of the first array with values of later arrays
+     *
+     * @since 1.0.8
+     * @access private
+     */
+    function merge_arrays() {
+        $arrays = func_get_args();
+        $narrays = count($arrays);
+
+        // check arguments
+        // comment out if more performance is necessary (in this case the foreach loop will trigger a warning if the argument is not an array)
+        for ($i = 0; $i < $narrays; $i ++) {
+            if (!is_array($arrays[$i])) {
+                // also array_merge_recursive returns nothing in this case
+                trigger_error('Argument #' . ($i+1) . ' is not an array - trying to merge array with scalar! Returning false!', E_USER_WARNING);
+                return false;
+            }
+        }
+
+        // the first array is in the output set in every case
+        $ret = $arrays[0];
+
+        // merege $ret with the remaining arrays
+        for ($i = 1; $i < $narrays; $i ++) {
+            foreach ($arrays[$i] as $key => $value) {
+                if (is_array($value) && isset($ret[$key])) {
+                    // if $ret[$key] is not an array you try to merge an scalar value with an array - the result is not defined (incompatible arrays)
+                    // in this case the call will trigger an E_USER_WARNING and the $ret[$key] will be false.
+                    $ret[$key] = $this->merge_arrays($ret[$key], $value);
+                } else {
+                    $ret[$key] = $value;
+                }
+            }
+        }
+
+        return $ret;
+    }
+
+    /**
      * Gets language information and stores it for later use
      *
+     * @param string The filename of the language file you want to load
+     * @since 1.0.0
      * @access private
      * @todo Needs to load keys for lexic permissions for keywords, regexps etc
      */
     function load_language($file_name) {
+        if ($file_name == $this->loaded_language) {
+            // this file is already loaded!
+            return;
+        }
+
+        //Prepare some stuff before actually loading the language file
+        $this->loaded_language = $file_name;
+        $this->parse_cache_built = false;
         $this->enable_highlighting();
         $language_data = array();
+
+        //Load the language file
         require $file_name;
+
         // Perhaps some checking might be added here later to check that
         // $language data is a valid thing but maybe not
         $this->language_data = $language_data;
+
         // Set strict mode if should be set
-        if ($this->language_data['STRICT_MODE_APPLIES'] == GESHI_ALWAYS) {
-            $this->strict_mode = true;
-        }
+        $this->strict_mode = $this->language_data['STRICT_MODE_APPLIES'];
+
         // Set permissions for all lexics to true
         // so they'll be highlighted by default
-        foreach ($this->language_data['KEYWORDS'] as $key => $words) {
-            $this->lexic_permissions['KEYWORDS'][$key] = true;
+        foreach (array_keys($this->language_data['KEYWORDS']) as $key) {
+            if (!empty($this->language_data['KEYWORDS'][$key])) {
+                $this->lexic_permissions['KEYWORDS'][$key] = true;
+            } else {
+                $this->lexic_permissions['KEYWORDS'][$key] = false;
+            }
         }
-        foreach ($this->language_data['COMMENT_SINGLE'] as $key => $comment) {
+
+        foreach (array_keys($this->language_data['COMMENT_SINGLE']) as $key) {
             $this->lexic_permissions['COMMENTS'][$key] = true;
         }
-        foreach ($this->language_data['REGEXPS'] as $key => $regexp) {
+        foreach (array_keys($this->language_data['REGEXPS']) as $key) {
             $this->lexic_permissions['REGEXPS'][$key] = true;
         }
-        // Set default class for CSS
-        $this->overall_class = $this->language;
+
+        // for BenBE and future code reviews:
+        // we can use empty here since we only check for existance and emptiness of an array
+        // if it is not an array at all but rather false or null this will work as intended as well
+        // even if $this->language_data['PARSER_CONTROL'] is undefined this won't trigger a notice
+        if (!empty($this->language_data['PARSER_CONTROL']['ENABLE_FLAGS'])) {
+            foreach ($this->language_data['PARSER_CONTROL']['ENABLE_FLAGS'] as $flag => $value) {
+                // it's either true or false and maybe is true as well
+                $perm = $value !== GESHI_NEVER;
+                if ($flag == 'ALL') {
+                    $this->enable_highlighting($perm);
+                    continue;
+                }
+                if (!isset($this->lexic_permissions[$flag])) {
+                    // unknown lexic permission
+                    continue;
+                }
+                if (is_array($this->lexic_permissions[$flag])) {
+                    foreach ($this->lexic_permissions[$flag] as $key => $val) {
+                        $this->lexic_permissions[$flag][$key] = $perm;
+                    }
+                } else {
+                    $this->lexic_permissions[$flag] = $perm;
+                }
+            }
+            unset($this->language_data['PARSER_CONTROL']['ENABLE_FLAGS']);
+        }
+
+        //NEW in 1.0.8: Allow styles to be loaded from a separate file to override defaults
+        $style_filename = substr($file_name, 0, -4) . '.style.php';
+        if (is_readable($style_filename)) {
+            //Clear any style_data that could have been set before ...
+            if (isset($style_data)) {
+                unset($style_data);
+            }
+
+            //Read the Style Information from the style file
+            include $style_filename;
+
+            //Apply the new styles to our current language styles
+            if (isset($style_data) && is_array($style_data)) {
+                $this->language_data['STYLES'] =
+                    $this->merge_arrays($this->language_data['STYLES'], $style_data);
+            }
+        }
     }
 
     /**
      * Takes the parsed code and various options, and creates the HTML
      * surrounding it to make it look nice.
      *
-     * @param  string The code already parsed
-     * @return string The code nicely finalised
+     * @param  string The code already parsed (reference!)
      * @since  1.0.0
      * @access private
      */
-    function finalise($parsed_code) {
+    function finalise(&$parsed_code) {
         // Remove end parts of important declarations
         // This is BUGGY!! My fault for bad code: fix coming in 1.2
         // @todo Remove this crap
         if ($this->enable_important_blocks &&
-            (strstr($parsed_code, GeSHi::hsc(GESHI_START_IMPORTANT)) === false)) {
-            $parsed_code = str_replace(GeSHi::hsc(GESHI_END_IMPORTANT), '', $parsed_code);
+            (strpos($parsed_code, $this->hsc(GESHI_START_IMPORTANT)) === false)) {
+            $parsed_code = str_replace($this->hsc(GESHI_END_IMPORTANT), '', $parsed_code);
         }
 
         // Add HTML whitespace stuff if we're using the <div> header
-        if ($this->header_type != GESHI_HEADER_PRE) {
-            $parsed_code = $this->indent($parsed_code);
+        if ($this->header_type != GESHI_HEADER_PRE && $this->header_type != GESHI_HEADER_PRE_VALID) {
+            $this->indent($parsed_code);
         }
 
         // purge some unnecessary stuff
+        /** NOTE: memorypeak #1 */
         $parsed_code = preg_replace('#<span[^>]+>(\s*)</span>#', '\\1', $parsed_code);
-        $parsed_code = preg_replace('#<div[^>]+>(\s*)</div>#', '\\1', $parsed_code);
 
         // If we are using IDs for line numbers, there needs to be an overall
         // ID set to prevent collisions.
@@ -2360,26 +3689,32 @@
             $this->overall_id = 'geshi-' . substr(md5(microtime()), 0, 4);
         }
 
+        // Get code into lines
+        /** NOTE: memorypeak #2 */
+        $code = explode("\n", $parsed_code);
+        $parsed_code = $this->header();
+
         // If we're using line numbers, we insert <li>s and appropriate
         // markup to style them (otherwise we don't need to do anything)
-        if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+        if ($this->line_numbers != GESHI_NO_LINE_NUMBERS && $this->header_type != GESHI_HEADER_PRE_TABLE) {
             // If we're using the <pre> header, we shouldn't add newlines because
             // the <pre> will line-break them (and the <li>s already do this for us)
-            $ls = ($this->header_type != GESHI_HEADER_PRE) ? "\n" : '';
-            // Get code into lines
-            $code = explode("\n", $parsed_code);
+            $ls = ($this->header_type != GESHI_HEADER_PRE && $this->header_type != GESHI_HEADER_PRE_VALID) ? "\n" : '';
+
             // Set vars to defaults for following loop
-            $parsed_code = '';
             $i = 0;
-            $attrs = array();
 
             // Foreach line...
-            foreach ($code as $line) {
+            for ($i = 0, $n = count($code); $i < $n;) {
+                //Reset the attributes for a new line ...
+                $attrs = array();
+
                 // Make lines have at least one space in them if they're empty
                 // BenBE: Checking emptiness using trim instead of relying on blanks
-                if ('' == trim($line)) {
-                    $line = '&nbsp;';
+                if ('' == trim($code[$i])) {
+                    $code[$i] = '&nbsp;';
                 }
+
                 // If this is a "special line"...
                 if ($this->line_numbers == GESHI_FANCY_LINE_NUMBERS &&
                     $i % $this->line_nth_row == ($this->line_nth_row - 1)) {
@@ -2388,8 +3723,7 @@
                         //$attr = ' class="li2"';
                         $attrs['class'][] = 'li2';
                         $def_attr = ' class="de2"';
-                    }
-                    else {
+                    } else {
                         //$attr = ' style="' . $this->line_style2 . '"';
                         $attrs['style'][] = $this->line_style2;
                         // This style "covers up" the special styles set for special lines
@@ -2397,81 +3731,179 @@
                         // code on that line
                         $def_attr = ' style="' . $this->code_style . '"';
                     }
-                    // Span or div?
-                    $start = "<div$def_attr>";
-                    $end = '</div>';
-                }
-                else {
+                } else {
                     if ($this->use_classes) {
                         //$attr = ' class="li1"';
                         $attrs['class'][] = 'li1';
                         $def_attr = ' class="de1"';
-                    }
-                    else {
+                    } else {
                         //$attr = ' style="' . $this->line_style1 . '"';
                         $attrs['style'][] = $this->line_style1;
                         $def_attr = ' style="' . $this->code_style . '"';
                     }
+                }
+
+                //Check which type of tag to insert for this line
+                if ($this->header_type == GESHI_HEADER_PRE_VALID) {
+                    $start = "<pre$def_attr>";
+                    $end = '</pre>';
+                } else {
+                    // Span or div?
                     $start = "<div$def_attr>";
                     $end = '</div>';
                 }
 
                 ++$i;
+
                 // Are we supposed to use ids? If so, add them
                 if ($this->add_ids) {
                     $attrs['id'][] = "$this->overall_id-$i";
                 }
-                if ($this->use_classes && in_array($i, $this->highlight_extra_lines)) {
-                    $attrs['class'][] = 'ln-xtra';
-                }
-                if (!$this->use_classes && in_array($i, $this->highlight_extra_lines)) {
-                    $attrs['style'][] = $this->highlight_extra_lines_style;
+
+                //Is this some line with extra styles???
+                if (in_array($i, $this->highlight_extra_lines)) {
+                    if ($this->use_classes) {
+                        if (isset($this->highlight_extra_lines_styles[$i])) {
+                            $attrs['class'][] = "lx$i";
+                        } else {
+                            $attrs['class'][] = "ln-xtra";
+                        }
+                    } else {
+                        array_push($attrs['style'], $this->get_line_style($i));
+                    }
                 }
 
                 // Add in the line surrounded by appropriate list HTML
-                $attr_string = ' ';
+                $attr_string = '';
                 foreach ($attrs as $key => $attr) {
-                    $attr_string .= $key . '="' . implode(' ', $attr) . '" ';
+                    $attr_string .= ' ' . $key . '="' . implode(' ', $attr) . '"';
                 }
-                $attr_string = substr($attr_string, 0, -1);
-                $parsed_code .= "<li$attr_string>$start$line$end</li>$ls";
-                $attrs = array();
+
+                $parsed_code .= "<li$attr_string>$start{$code[$i-1]}$end</li>$ls";
+                unset($code[$i - 1]);
+            }
+        } else {
+            $n = count($code);
+            if ($this->use_classes) {
+                $attributes = ' class="de1"';
+            } else {
+                $attributes = ' style="'. $this->code_style .'"';
             }
-        }
-        else {
+            if ($this->header_type == GESHI_HEADER_PRE_VALID) {
+                $parsed_code .= '<pre'. $attributes .'>';
+            } elseif ($this->header_type == GESHI_HEADER_PRE_TABLE) {
+                if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+                    if ($this->use_classes) {
+                        $attrs = ' class="ln"';
+                    } else {
+                        $attrs = ' style="'. $this->table_linenumber_style .'"';
+                    }
+                    $parsed_code .= '<td'.$attrs.'><pre'.$attributes.'>';
+                    // get linenumbers
+                    // we don't merge it with the for below, since it should be better for
+                    // memory consumption this way
+                    // @todo: but... actually it would still be somewhat nice to merge the two loops
+                    //        the mem peaks are at different positions
+                    for ($i = 0; $i < $n; ++$i) {
+                        $close = 0;
+                        // fancy lines
+                        if ($this->line_numbers == GESHI_FANCY_LINE_NUMBERS &&
+                            $i % $this->line_nth_row == ($this->line_nth_row - 1)) {
+                            // Set the attributes to style the line
+                            if ($this->use_classes) {
+                                $parsed_code .= '<span class="xtra li2"><span class="de2">';
+                            } else {
+                                // This style "covers up" the special styles set for special lines
+                                // so that styles applied to special lines don't apply to the actual
+                                // code on that line
+                                $parsed_code .= '<span style="display:block;' . $this->line_style2 . '">'
+                                                  .'<span style="' . $this->code_style .'">';
+                            }
+                            $close += 2;
+                        }
+                        //Is this some line with extra styles???
+                        if (in_array($i + 1, $this->highlight_extra_lines)) {
+                            if ($this->use_classes) {
+                                if (isset($this->highlight_extra_lines_styles[$i])) {
+                                    $parsed_code .= "<span class=\"xtra lx$i\">";
+                                } else {
+                                    $parsed_code .= "<span class=\"xtra ln-xtra\">";
+                                }
+                            } else {
+                                $parsed_code .= "<span style=\"display:block;" . $this->get_line_style($i) . "\">";
+                            }
+                            ++$close;
+                        }
+                        $parsed_code .= $this->line_numbers_start + $i;
+                        if ($close) {
+                            $parsed_code .= str_repeat('</span>', $close);
+                        } else if ($i != $n) {
+                            $parsed_code .= "\n";
+                        }
+                    }
+                    $parsed_code .= '</pre></td><td'.$attributes.'>';
+                }
+                $parsed_code .= '<pre'. $attributes .'>';
+            }
             // No line numbers, but still need to handle highlighting lines extra.
             // Have to use divs so the full width of the code is highlighted
-            $code = explode("\n", $parsed_code);
-            $parsed_code = '';
-            $i = 0;
-            foreach ($code as $line) {
+            $close = 0;
+            for ($i = 0; $i < $n; ++$i) {
                 // Make lines have at least one space in them if they're empty
                 // BenBE: Checking emptiness using trim instead of relying on blanks
-                if ('' == trim($line)) {
-                    $line = '&nbsp;';
+                if ('' == trim($code[$i])) {
+                    $code[$i] = '&nbsp;';
                 }
-                if (in_array(++$i, $this->highlight_extra_lines)) {
+                // fancy lines
+                if ($this->line_numbers == GESHI_FANCY_LINE_NUMBERS &&
+                    $i % $this->line_nth_row == ($this->line_nth_row - 1)) {
+                    // Set the attributes to style the line
                     if ($this->use_classes) {
-                        $parsed_code .= '<div class="ln-xtra">';
+                        $parsed_code .= '<span class="xtra li2"><span class="de2">';
+                    } else {
+                        // This style "covers up" the special styles set for special lines
+                        // so that styles applied to special lines don't apply to the actual
+                        // code on that line
+                        $parsed_code .= '<span style="display:block;' . $this->line_style2 . '">'
+                                          .'<span style="' . $this->code_style .'">';
                     }
-                    else {
-                        $parsed_code .= "<div style=\"{$this->highlight_extra_lines_style}\">";
+                    $close += 2;
+                }
+                //Is this some line with extra styles???
+                if (in_array($i + 1, $this->highlight_extra_lines)) {
+                    if ($this->use_classes) {
+                        if (isset($this->highlight_extra_lines_styles[$i])) {
+                            $parsed_code .= "<span class=\"xtra lx$i\">";
+                        } else {
+                            $parsed_code .= "<span class=\"xtra ln-xtra\">";
+                        }
+                    } else {
+                        $parsed_code .= "<span style=\"display:block;" . $this->get_line_style($i) . "\">";
                     }
-                    // Remove \n because it stuffs up <pre> header
-                    $parsed_code .= $line . "</div>";
+                    ++$close;
+                }
+
+                $parsed_code .= $code[$i];
+
+                if ($close) {
+                  $parsed_code .= str_repeat('</span>', $close);
+                  $close = 0;
                 }
-                else {
-                    $parsed_code .= $line . "\n";
+                elseif ($i + 1 < $n) {
+                    $parsed_code .= "\n";
                 }
+                unset($code[$i]);
+            }
+
+            if ($this->header_type == GESHI_HEADER_PRE_VALID || $this->header_type == GESHI_HEADER_PRE_TABLE) {
+                $parsed_code .= '</pre>';
+            }
+            if ($this->header_type == GESHI_HEADER_PRE_TABLE && $this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+                $parsed_code .= '</td>';
             }
         }
 
-        if ($this->header_type == GESHI_HEADER_PRE) {
-            // enforce line numbers when using pre
-            $parsed_code = str_replace('<li></li>', '<li>&nbsp;</li>', $parsed_code);
-        }
-
-        return $this->header() . chop($parsed_code) . $this->footer();
+        $parsed_code .= $this->footer();
     }
 
     /**
@@ -2483,7 +3915,22 @@
      */
     function header() {
         // Get attributes needed
-        $attributes = $this->get_attributes();
+        /**
+         * @todo   Document behaviour change - class is outputted regardless of whether
+         *         we're using classes or not. Same with style
+         */
+        $attributes = ' class="' . $this->language;
+        if ($this->overall_class != '') {
+            $attributes .= " ".$this->overall_class;
+        }
+        $attributes .= '"';
+
+        if ($this->overall_id != '') {
+            $attributes .= " id=\"{$this->overall_id}\"";
+        }
+        if ($this->overall_style != '') {
+            $attributes .= ' style="' . $this->overall_style . '"';
+        }
 
         $ol_attributes = '';
 
@@ -2492,31 +3939,47 @@
         }
 
         // Get the header HTML
-        $header = $this->format_header_content();
+        $header = $this->header_content;
+        if ($header) {
+            if ($this->header_type == GESHI_HEADER_PRE || $this->header_type == GESHI_HEADER_PRE_VALID) {
+                $header = str_replace("\n", '', $header);
+            }
+            $header = $this->replace_keywords($header);
+
+            if ($this->use_classes) {
+                $attr = ' class="head"';
+            } else {
+                $attr = " style=\"{$this->header_content_style}\"";
+            }
+            if ($this->header_type == GESHI_HEADER_PRE_TABLE && $this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+                $header = "<thead><tr><td colspan=\"2\" $attr>$header</td></tr></thead>";
+            } else {
+                $header = "<div$attr>$header</div>";
+            }
+        }
 
         if (GESHI_HEADER_NONE == $this->header_type) {
             if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
-                return "$header<ol$ol_attributes>";
+                return "$header<ol$attributes$ol_attributes>";
             }
-            return $header .
-                ($this->force_code_block ? '<div>' : '');
+            return $header . ($this->force_code_block ? '<div>' : '');
         }
 
         // Work out what to return and do it
         if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
             if ($this->header_type == GESHI_HEADER_PRE) {
                 return "<pre$attributes>$header<ol$ol_attributes>";
-            }
-            else if ($this->header_type == GESHI_HEADER_DIV) {
+            } else if ($this->header_type == GESHI_HEADER_DIV ||
+                $this->header_type == GESHI_HEADER_PRE_VALID) {
                 return "<div$attributes>$header<ol$ol_attributes>";
+            } else if ($this->header_type == GESHI_HEADER_PRE_TABLE) {
+                return "<table$attributes>$header<tbody><tr class=\"li1\">";
             }
-        }
-        else {
+        } else {
             if ($this->header_type == GESHI_HEADER_PRE) {
                 return "<pre$attributes>$header"  .
                     ($this->force_code_block ? '<div>' : '');
-            }
-            else if ($this->header_type == GESHI_HEADER_DIV) {
+            } else {
                 return "<div$attributes>$header" .
                     ($this->force_code_block ? '<div>' : '');
             }
@@ -2524,31 +3987,6 @@
     }
 
     /**
-     * Returns the header content, formatted for output
-     *
-     * @return string The header content, formatted for output
-     * @since  1.0.2
-     * @access private
-     */
-    function format_header_content() {
-        $header = $this->header_content;
-        if ($header) {
-            if ($this->header_type == GESHI_HEADER_PRE) {
-                $header = str_replace("\n", '', $header);
-            }
-            $header = $this->replace_keywords($header);
-
-            if ($this->use_classes) {
-                $attr = ' class="head"';
-            }
-            else {
-                $attr = " style=\"{$this->header_content_style}\"";
-            }
-            return "<div$attr>$header</div>";
-        }
-    }
-
-    /**
      * Returns the footer for the code block.
      *
      * @return string The footer for the code block
@@ -2556,37 +3994,6 @@
      * @access private
      */
     function footer() {
-        $footer_content = $this->format_footer_content();
-
-        if (GESHI_HEADER_NONE == $this->header_type) {
-            return ($this->line_numbers != GESHI_NO_LINE_NUMBERS) ? '</ol>' . $footer_content
-                : $footer_content;
-        }
-
-        if ($this->header_type == GESHI_HEADER_DIV) {
-            if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
-                return "</ol>$footer_content</div>";
-            }
-            return ($this->force_code_block ? '</div>' : '') .
-                "$footer_content</div>";
-        }
-        else {
-            if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
-                return "</ol>$footer_content</pre>";
-            }
-            return ($this->force_code_block ? '</div>' : '') .
-                "$footer_content</pre>";
-        }
-    }
-
-    /**
-     * Returns the footer content, formatted for output
-     *
-     * @return string The footer content, formatted for output
-     * @since  1.0.2
-     * @access private
-     */
-    function format_footer_content() {
         $footer = $this->footer_content;
         if ($footer) {
             if ($this->header_type == GESHI_HEADER_PRE) {
@@ -2596,11 +4003,40 @@
 
             if ($this->use_classes) {
                 $attr = ' class="foot"';
-            }
-            else {
+            } else {
                 $attr = " style=\"{$this->footer_content_style}\"";
             }
-            return "<div$attr>$footer</div>";
+            if ($this->header_type == GESHI_HEADER_PRE_TABLE && $this->linenumbers != GESHI_NO_LINE_NUMBERS) {
+                $footer = "<tfoot><tr><td colspan=\"2\">$footer</td></tr></tfoot>";
+            } else {
+                $footer = "<div$attr>$footer</div>";
+            }
+        }
+
+        if (GESHI_HEADER_NONE == $this->header_type) {
+            return ($this->line_numbers != GESHI_NO_LINE_NUMBERS) ? '</ol>' . $footer : $footer;
+        }
+
+        if ($this->header_type == GESHI_HEADER_DIV || $this->header_type == GESHI_HEADER_PRE_VALID) {
+            if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+                return "</ol>$footer</div>";
+            }
+            return ($this->force_code_block ? '</div>' : '') .
+                "$footer</div>";
+        }
+        elseif ($this->header_type == GESHI_HEADER_PRE_TABLE) {
+            if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+                return "</tr></tbody>$footer</table>";
+            }
+            return ($this->force_code_block ? '</div>' : '') .
+                "$footer</div>";
+        }
+        else {
+            if ($this->line_numbers != GESHI_NO_LINE_NUMBERS) {
+                return "</ol>$footer</pre>";
+            }
+            return ($this->force_code_block ? '</div>' : '') .
+                "$footer</pre>";
         }
     }
 
@@ -2618,44 +4054,34 @@
 
         $keywords[] = '<TIME>';
         $keywords[] = '{TIME}';
-        $replacements[] = $replacements[] = number_format($this->get_time(), 3);
+        $replacements[] = $replacements[] = number_format($time = $this->get_time(), 3);
 
         $keywords[] = '<LANGUAGE>';
         $keywords[] = '{LANGUAGE}';
-        $replacements[] = $replacements[] = $this->language;
+        $replacements[] = $replacements[] = $this->language_data['LANG_NAME'];
 
         $keywords[] = '<VERSION>';
         $keywords[] = '{VERSION}';
         $replacements[] = $replacements[] = GESHI_VERSION;
 
+        $keywords[] = '<SPEED>';
+        $keywords[] = '{SPEED}';
+        if ($time <= 0) {
+            $speed = 'N/A';
+        } else {
+            $speed = strlen($this->source) / $time;
+            if ($speed >= 1024) {
+                $speed = sprintf("%.2f KB/s", $speed / 1024.0);
+            } else {
+                $speed = sprintf("%.0f B/s", $speed);
+            }
+        }
+        $replacements[] = $replacements[] = $speed;
+
         return str_replace($keywords, $replacements, $instr);
     }
 
     /**
-     * Gets the CSS attributes for this code
-     *
-     * @return The CSS attributes for this code
-     * @since  1.0.0
-     * @access private
-     * @todo   Document behaviour change - class is outputted regardless of whether we're using classes or not.
-     *         Same with style
-     */
-    function get_attributes() {
-        $attributes = '';
-
-        if ($this->overall_class != '') {
-            $attributes .= " class=\"{$this->overall_class}\"";
-        }
-        if ($this->overall_id != '') {
-            $attributes .= " id=\"{$this->overall_id}\"";
-        }
-        if ($this->overall_style != '') {
-            $attributes .= ' style="' . $this->overall_style . '"';
-        }
-        return $attributes;
-    }
-
-    /**
      * Secure replacement for PHP built-in function htmlspecialchars().
      *
      * See ticket #427 (http://wush.net/trac/wikka/ticket/427) for the rationale
@@ -2699,34 +4125,44 @@
      * @copyright   Copyright 2007, {@link http://wikkawiki.org/CreditsPage
      *              Wikka Development Team}
      *
-     * @access      public
+     * @access      private
      * @param       string  $string string to be converted
      * @param       integer $quote_style
      *                      - ENT_COMPAT:   escapes &, <, > and double quote (default)
      *                      - ENT_NOQUOTES: escapes only &, < and >
      *                      - ENT_QUOTES:   escapes &, <, >, double and single quotes
      * @return      string  converted string
+     * @since       1.0.7.18
      */
-    function hsc($string, $quote_style=ENT_COMPAT) {
+    function hsc($string, $quote_style = ENT_COMPAT) {
         // init
-        $aTransSpecchar = array(
+        static $aTransSpecchar = array(
             '&' => '&amp;',
             '"' => '&quot;',
             '<' => '&lt;',
-            '>' => '&gt;'
+            '>' => '&gt;',
+
+            //This fix is related to SF#1923020, but has to be applied
+            //regardless of actually highlighting symbols.
+
+            //Circumvent a bug with symbol highlighting
+            //This is required as ; would produce undesirable side-effects if it
+            //was not to be processed as an entity.
+            ';' => '<SEMI>', // Force ; to be processed as entity
+            '|' => '<PIPE>' // Force | to be processed as entity
             );                      // ENT_COMPAT set
 
-        if (ENT_NOQUOTES == $quote_style)       // don't convert double quotes
-        {
-            unset($aTransSpecchar['"']);
-        }
-        elseif (ENT_QUOTES == $quote_style)     // convert single quotes as well
-        {
-            $aTransSpecchar["'"] = '&#39;'; // (apos) htmlspecialchars() uses '&#039;'
+        switch ($quote_style) {
+            case ENT_NOQUOTES: // don't convert double quotes
+                unset($aTransSpecchar['"']);
+                break;
+            case ENT_QUOTES: // convert single quotes as well
+                $aTransSpecchar["'"] = '&#39;'; // (apos) htmlspecialchars() uses '&#039;'
+                break;
         }
 
         // return translated string
-        return strtr($string,$aTransSpecchar);
+        return strtr($string, $aTransSpecchar);
     }
 
     /**
@@ -2745,17 +4181,42 @@
         if ($this->error) {
             return '';
         }
+
+        //Check if the style rearrangements have been processed ...
+        //This also does some preprocessing to check which style groups are useable ...
+        if(!isset($this->language_data['NUMBERS_CACHE'])) {
+            $this->build_style_cache();
+        }
+
         // First, work out what the selector should be. If there's an ID,
         // that should be used, the same for a class. Otherwise, a selector
         // of '' means that these styles will be applied anywhere
-        $selector = ($this->overall_id != '') ? "#{$this->overall_id} " : '';
-        $selector = ($selector == '' && $this->overall_class != '') ? ".{$this->overall_class} " : $selector;
+        if ($this->overall_id) {
+            $selector = '#' . $this->overall_id;
+        } else {
+            $selector = '.' . $this->language;
+            if ($this->overall_class) {
+                $selector .= '.' . $this->overall_class;
+            }
+        }
+        $selector .= ' ';
 
         // Header of the stylesheet
         if (!$economy_mode) {
-            $stylesheet = "/**\n * GeSHi Dynamically Generated Stylesheet\n * --------------------------------------\n * Dynamically generated stylesheet for {$this->language}\n * CSS class: {$this->overall_class}, CSS id: {$this->overall_id}\n * GeSHi (C) 2004 - 2007 Nigel McNie (http://qbnz.com/highlighter)\n */\n";
-         } else {
-            $stylesheet = '/* GeSHi (C) 2004 - 2007 Nigel McNie (http://qbnz.com/highlighter) */' . "\n";
+            $stylesheet = "/**\n".
+                " * GeSHi Dynamically Generated Stylesheet\n".
+                " * --------------------------------------\n".
+                " * Dynamically generated stylesheet for {$this->language}\n".
+                " * CSS class: {$this->overall_class}, CSS id: {$this->overall_id}\n".
+                " * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann\n" .
+                " * (http://qbnz.com/highlighter/ and http://geshi.org/)\n".
+                " * --------------------------------------\n".
+                " */\n";
+        } else {
+            $stylesheet = "/**\n".
+                " * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann\n" .
+                " * (http://qbnz.com/highlighter/ and http://geshi.org/)\n".
+                " */\n";
         }
 
         // Set the <ol> to have no effect at all if there are line numbers
@@ -2768,119 +4229,336 @@
         }
 
         // Add overall styles
-        if (!$economy_mode || $this->overall_style != '') {
+        // note: neglect economy_mode, empty styles are meaningless
+        if ($this->overall_style != '') {
             $stylesheet .= "$selector {{$this->overall_style}}\n";
         }
 
         // Add styles for links
+        // note: economy mode does not make _any_ sense here
+        //       either the style is empty and thus no selector is needed
+        //       or the appropriate key is given.
         foreach ($this->link_styles as $key => $style) {
-            if (!$economy_mode || $key == GESHI_LINK && $style != '') {
-                $stylesheet .= "{$selector}a:link {{$style}}\n";
-            }
-            if (!$economy_mode || $key == GESHI_HOVER && $style != '') {
-                $stylesheet .= "{$selector}a:hover {{$style}}\n";
-            }
-            if (!$economy_mode || $key == GESHI_ACTIVE && $style != '') {
-                $stylesheet .= "{$selector}a:active {{$style}}\n";
-            }
-            if (!$economy_mode || $key == GESHI_VISITED && $style != '') {
-                $stylesheet .= "{$selector}a:visited {{$style}}\n";
+            if ($style != '') {
+                switch ($key) {
+                    case GESHI_LINK:
+                        $stylesheet .= "{$selector}a:link {{$style}}\n";
+                        break;
+                    case GESHI_HOVER:
+                        $stylesheet .= "{$selector}a:hover {{$style}}\n";
+                        break;
+                    case GESHI_ACTIVE:
+                        $stylesheet .= "{$selector}a:active {{$style}}\n";
+                        break;
+                    case GESHI_VISITED:
+                        $stylesheet .= "{$selector}a:visited {{$style}}\n";
+                        break;
+                }
             }
         }
 
         // Header and footer
-        if (!$economy_mode || $this->header_content_style != '') {
+        // note: neglect economy_mode, empty styles are meaningless
+        if ($this->header_content_style != '') {
             $stylesheet .= "$selector.head {{$this->header_content_style}}\n";
         }
-        if (!$economy_mode || $this->footer_content_style != '') {
+        if ($this->footer_content_style != '') {
             $stylesheet .= "$selector.foot {{$this->footer_content_style}}\n";
         }
 
         // Styles for important stuff
-        if (!$economy_mode || $this->important_styles != '') {
+        // note: neglect economy_mode, empty styles are meaningless
+        if ($this->important_styles != '') {
             $stylesheet .= "$selector.imp {{$this->important_styles}}\n";
         }
 
-        // Styles for lines being highlighted extra
-        if (!$economy_mode || count($this->highlight_extra_lines)) {
-            $stylesheet .= "$selector.ln-xtra {{$this->highlight_extra_lines_style}}\n";
-        }
-
         // Simple line number styles
-        if (!$economy_mode || ($this->line_numbers != GESHI_NO_LINE_NUMBERS && $this->line_style1 != '')) {
-            $stylesheet .= "{$selector}li {{$this->line_style1}}\n";
+        if ((!$economy_mode || $this->line_numbers != GESHI_NO_LINE_NUMBERS) && $this->line_style1 != '') {
+            $stylesheet .= "{$selector}li, {$selector}.li1 {{$this->line_style1}}\n";
         }
-
+        if ((!$economy_mode || $this->line_numbers != GESHI_NO_LINE_NUMBERS) && $this->table_linenumber_style != '') {
+            $stylesheet .= "{$selector}.ln {{$this->table_linenumber_style}}\n";
+        }
         // If there is a style set for fancy line numbers, echo it out
-        if (!$economy_mode || ($this->line_numbers == GESHI_FANCY_LINE_NUMBERS && $this->line_style2 != '')) {
-            $stylesheet .= "{$selector}li.li2 {{$this->line_style2}}\n";
+        if ((!$economy_mode || $this->line_numbers == GESHI_FANCY_LINE_NUMBERS) && $this->line_style2 != '') {
+            $stylesheet .= "{$selector}.li2 {{$this->line_style2}}\n";
         }
 
+        // note: empty styles are meaningless
         foreach ($this->language_data['STYLES']['KEYWORDS'] as $group => $styles) {
-            if (!$economy_mode || !($economy_mode && (!$this->lexic_permissions['KEYWORDS'][$group] || $styles == ''))) {
+            if ($styles != '' && (!$economy_mode ||
+                (isset($this->lexic_permissions['KEYWORDS'][$group]) &&
+                $this->lexic_permissions['KEYWORDS'][$group]))) {
                 $stylesheet .= "$selector.kw$group {{$styles}}\n";
             }
         }
         foreach ($this->language_data['STYLES']['COMMENTS'] as $group => $styles) {
-            if (!$economy_mode || !($economy_mode && $styles == '') &&
-                !($economy_mode && !$this->lexic_permissions['COMMENTS'][$group])) {
+            if ($styles != '' && (!$economy_mode ||
+                (isset($this->lexic_permissions['COMMENTS'][$group]) &&
+                $this->lexic_permissions['COMMENTS'][$group]) ||
+                (!empty($this->language_data['COMMENT_REGEXP']) &&
+                !empty($this->language_data['COMMENT_REGEXP'][$group])))) {
                 $stylesheet .= "$selector.co$group {{$styles}}\n";
             }
         }
         foreach ($this->language_data['STYLES']['ESCAPE_CHAR'] as $group => $styles) {
-            if (!$economy_mode || !($economy_mode && $styles == '') && !($economy_mode &&
-                !$this->lexic_permissions['ESCAPE_CHAR'])) {
+            if ($styles != '' && (!$economy_mode || $this->lexic_permissions['ESCAPE_CHAR'])) {
+                // NEW: since 1.0.8 we have to handle hardescapes
+                if ($group === 'HARD') {
+                    $group = '_h';
+                }
                 $stylesheet .= "$selector.es$group {{$styles}}\n";
             }
         }
+        foreach ($this->language_data['STYLES']['BRACKETS'] as $group => $styles) {
+            if ($styles != '' && (!$economy_mode || $this->lexic_permissions['BRACKETS'])) {
+                $stylesheet .= "$selector.br$group {{$styles}}\n";
+            }
+        }
         foreach ($this->language_data['STYLES']['SYMBOLS'] as $group => $styles) {
-            if (!$economy_mode || !($economy_mode && $styles == '') && !($economy_mode &&
-                !$this->lexic_permissions['BRACKETS'])) {
-                $stylesheet .= "$selector.br$group {{$styles}}\n";
+            if ($styles != '' && (!$economy_mode || $this->lexic_permissions['SYMBOLS'])) {
+                $stylesheet .= "$selector.sy$group {{$styles}}\n";
             }
         }
         foreach ($this->language_data['STYLES']['STRINGS'] as $group => $styles) {
-            if (!$economy_mode || !($economy_mode && $styles == '') && !($economy_mode &&
-                !$this->lexic_permissions['STRINGS'])) {
+            if ($styles != '' && (!$economy_mode || $this->lexic_permissions['STRINGS'])) {
+                // NEW: since 1.0.8 we have to handle hardquotes
+                if ($group === 'HARD') {
+                    $group = '_h';
+                }
                 $stylesheet .= "$selector.st$group {{$styles}}\n";
             }
         }
         foreach ($this->language_data['STYLES']['NUMBERS'] as $group => $styles) {
-            if (!$economy_mode || !($economy_mode && $styles == '') && !($economy_mode &&
-                !$this->lexic_permissions['NUMBERS'])) {
+            if ($styles != '' && (!$economy_mode || $this->lexic_permissions['NUMBERS'])) {
                 $stylesheet .= "$selector.nu$group {{$styles}}\n";
             }
         }
         foreach ($this->language_data['STYLES']['METHODS'] as $group => $styles) {
-            if (!$economy_mode || !($economy_mode && $styles == '') && !($economy_mode &&
-                !$this->lexic_permissions['METHODS'])) {
+            if ($styles != '' && (!$economy_mode || $this->lexic_permissions['METHODS'])) {
                 $stylesheet .= "$selector.me$group {{$styles}}\n";
             }
         }
+        // note: neglect economy_mode, empty styles are meaningless
         foreach ($this->language_data['STYLES']['SCRIPT'] as $group => $styles) {
-            if (!$economy_mode || !($economy_mode && $styles == '')) {
+            if ($styles != '') {
                 $stylesheet .= "$selector.sc$group {{$styles}}\n";
             }
         }
         foreach ($this->language_data['STYLES']['REGEXPS'] as $group => $styles) {
-            if (!$economy_mode || !($economy_mode && $styles == '') && !($economy_mode &&
-                !$this->lexic_permissions['REGEXPS'][$group])) {
+            if ($styles != '' && (!$economy_mode ||
+                (isset($this->lexic_permissions['REGEXPS'][$group]) &&
+                $this->lexic_permissions['REGEXPS'][$group]))) {
                 if (is_array($this->language_data['REGEXPS'][$group]) &&
-                         array_key_exists(GESHI_CLASS,
-                                    $this->language_data['REGEXPS'][$group])) {
+                    array_key_exists(GESHI_CLASS, $this->language_data['REGEXPS'][$group])) {
                     $stylesheet .= "$selector.";
                     $stylesheet .= $this->language_data['REGEXPS'][$group][GESHI_CLASS];
                     $stylesheet .= " {{$styles}}\n";
-                }
-                else {
+                } else {
                     $stylesheet .= "$selector.re$group {{$styles}}\n";
                 }
             }
         }
+        // Styles for lines being highlighted extra
+        if (!$economy_mode || (count($this->highlight_extra_lines)!=count($this->highlight_extra_lines_styles))) {
+            $stylesheet .= "{$selector}.ln-xtra, {$selector}li.ln-xtra, {$selector}div.ln-xtra {{$this->highlight_extra_lines_style}}\n";
+        }
+        $stylesheet .= "{$selector}span.xtra { display:block; }\n";
+        foreach ($this->highlight_extra_lines_styles as $lineid => $linestyle) {
+            $stylesheet .= "{$selector}.lx$lineid, {$selector}li.lx$lineid, {$selector}div.lx$lineid {{$linestyle}}\n";
+        }
 
         return $stylesheet;
     }
 
+    /**
+     * Get's the style that is used for the specified line
+     *
+     * @param int The line number information is requested for
+     * @access private
+     * @since 1.0.7.21
+     */
+    function get_line_style($line) {
+        //$style = null;
+        $style = null;
+        if (isset($this->highlight_extra_lines_styles[$line])) {
+            $style = $this->highlight_extra_lines_styles[$line];
+        } else { // if no "extra" style assigned
+            $style = $this->highlight_extra_lines_style;
+        }
+
+        return $style;
+    }
+
+    /**
+    * this functions creates an optimized regular expression list
+    * of an array of strings.
+    *
+    * Example:
+    * <code>$list = array('faa', 'foo', 'foobar');
+    *          => string 'f(aa|oo(bar)?)'</code>
+    *
+    * @param $list array of (unquoted) strings
+    * @param $regexp_delimiter your regular expression delimiter, @see preg_quote()
+    * @return string for regular expression
+    * @author Milian Wolff <mail@milianw.de>
+    * @since 1.0.8
+    * @access private
+    */
+    function optimize_regexp_list($list, $regexp_delimiter = '/') {
+        $regex_chars = array('.', '\\', '+', '*', '?', '[', '^', ']', '$',
+            '(', ')', '{', '}', '=', '!', '<', '>', '|', ':', $regexp_delimiter);
+        sort($list);
+        $regexp_list = array('');
+        $num_subpatterns = 0;
+        $list_key = 0;
+
+        // the tokens which we will use to generate the regexp list
+        $tokens = array();
+        $prev_keys = array();
+        // go through all entries of the list and generate the token list
+        $cur_len = 0;
+        for ($i = 0, $i_max = count($list); $i < $i_max; ++$i) {
+            if ($cur_len > GESHI_MAX_PCRE_LENGTH) {
+                // seems like the length of this pcre is growing exorbitantly
+                $regexp_list[++$list_key] = $this->_optimize_regexp_list_tokens_to_string($tokens);
+                $num_subpatterns = substr_count($regexp_list[$list_key], '(?:');
+                $tokens = array();
+                $cur_len = 0;
+            }
+            $level = 0;
+            $entry = preg_quote((string) $list[$i], $regexp_delimiter);
+            $pointer = &$tokens;
+            // properly assign the new entry to the correct position in the token array
+            // possibly generate smaller common denominator keys
+            while (true) {
+                // get the common denominator
+                if (isset($prev_keys[$level])) {
+                    if ($prev_keys[$level] == $entry) {
+                        // this is a duplicate entry, skip it
+                        continue 2;
+                    }
+                    $char = 0;
+                    while (isset($entry[$char]) && isset($prev_keys[$level][$char])
+                            && $entry[$char] == $prev_keys[$level][$char]) {
+                        ++$char;
+                    }
+                    if ($char > 0) {
+                        // this entry has at least some chars in common with the current key
+                        if ($char == strlen($prev_keys[$level])) {
+                            // current key is totally matched, i.e. this entry has just some bits appended
+                            $pointer = &$pointer[$prev_keys[$level]];
+                        } else {
+                            // only part of the keys match
+                            $new_key_part1 = substr($prev_keys[$level], 0, $char);
+                            $new_key_part2 = substr($prev_keys[$level], $char);
+
+                            if (in_array($new_key_part1[0], $regex_chars)
+                                || in_array($new_key_part2[0], $regex_chars)) {
+                                // this is bad, a regex char as first character
+                                $pointer[$entry] = array('' => true);
+                                array_splice($prev_keys, $level, count($prev_keys), $entry);
+                                $cur_len += strlen($entry);
+                                continue;
+                            } else {
+                                // relocate previous tokens
+                                $pointer[$new_key_part1] = array($new_key_part2 => $pointer[$prev_keys[$level]]);
+                                unset($pointer[$prev_keys[$level]]);
+                                $pointer = &$pointer[$new_key_part1];
+                                // recreate key index
+                                array_splice($prev_keys, $level, count($prev_keys), array($new_key_part1, $new_key_part2));
+                                $cur_len += strlen($new_key_part2);
+                            }
+                        }
+                        ++$level;
+                        $entry = substr($entry, $char);
+                        continue;
+                    }
+                    // else: fall trough, i.e. no common denominator was found
+                }
+                if ($level == 0 && !empty($tokens)) {
+                    // we can dump current tokens into the string and throw them away afterwards
+                    $new_entry = $this->_optimize_regexp_list_tokens_to_string($tokens);
+                    $new_subpatterns = substr_count($new_entry, '(?:');
+                    if (GESHI_MAX_PCRE_SUBPATTERNS && $num_subpatterns + $new_subpatterns > GESHI_MAX_PCRE_SUBPATTERNS) {
+                        $regexp_list[++$list_key] = $new_entry;
+                        $num_subpatterns = $new_subpatterns;
+                    } else {
+                        if (!empty($regexp_list[$list_key])) {
+                            $new_entry = '|' . $new_entry;
+                        }
+                        $regexp_list[$list_key] .= $new_entry;
+                        $num_subpatterns += $new_subpatterns;
+                    }
+                    $tokens = array();
+                    $cur_len = 0;
+                }
+                // no further common denominator found
+                $pointer[$entry] = array('' => true);
+                array_splice($prev_keys, $level, count($prev_keys), $entry);
+
+                $cur_len += strlen($entry);
+                break;
+            }
+            unset($list[$i]);
+        }
+        // make sure the last tokens get converted as well
+        $new_entry = $this->_optimize_regexp_list_tokens_to_string($tokens);
+        if (GESHI_MAX_PCRE_SUBPATTERNS && $num_subpatterns + substr_count($new_entry, '(?:') > GESHI_MAX_PCRE_SUBPATTERNS) {
+            $regexp_list[++$list_key] = $new_entry;
+        } else {
+            if (!empty($regexp_list[$list_key])) {
+                $new_entry = '|' . $new_entry;
+            }
+            $regexp_list[$list_key] .= $new_entry;
+        }
+        return $regexp_list;
+    }
+    /**
+    * this function creates the appropriate regexp string of an token array
+    * you should not call this function directly, @see $this->optimize_regexp_list().
+    *
+    * @param &$tokens array of tokens
+    * @param $recursed bool to know wether we recursed or not
+    * @return string
+    * @author Milian Wolff <mail@milianw.de>
+    * @since 1.0.8
+    * @access private
+    */
+    function _optimize_regexp_list_tokens_to_string(&$tokens, $recursed = false) {
+        $list = '';
+        foreach ($tokens as $token => $sub_tokens) {
+            $list .= $token;
+            $close_entry = isset($sub_tokens['']);
+            unset($sub_tokens['']);
+            if (!empty($sub_tokens)) {
+                $list .= '(?:' . $this->_optimize_regexp_list_tokens_to_string($sub_tokens, true) . ')';
+                if ($close_entry) {
+                    // make sub_tokens optional
+                    $list .= '?';
+                }
+            }
+            $list .= '|';
+        }
+        if (!$recursed) {
+            // do some optimizations
+            // common trailing strings
+            // BUGGY!
+            //$list = preg_replace_callback('#(?<=^|\:|\|)\w+?(\w+)(?:\|.+\1)+(?=\|)#', create_function(
+            //    '$matches', 'return "(?:" . preg_replace("#" . preg_quote($matches[1], "#") . "(?=\||$)#", "", $matches[0]) . ")" . $matches[1];'), $list);
+            // (?:p)? => p?
+            $list = preg_replace('#\(\?\:(.)\)\?#', '\1?', $list);
+            // (?:a|b|c|d|...)? => [abcd...]?
+            // TODO: a|bb|c => [ac]|bb
+            static $callback_2;
+            if (!isset($callback_2)) {
+                $callback_2 = create_function('$matches', 'return "[" . str_replace("|", "", $matches[1]) . "]";');
+            }
+            $list = preg_replace_callback('#\(\?\:((?:.\|)+.)\)#', $callback_2, $list);
+        }
+        // return $list without trailing pipe
+        return substr($list, 0, -1);
+    }
 } // End Class GeSHi
 
 
@@ -2899,10 +4577,13 @@
     function geshi_highlight($string, $language, $path = null, $return = false) {
         $geshi = new GeSHi($string, $language, $path);
         $geshi->set_header_type(GESHI_HEADER_NONE);
+
         if ($return) {
             return '<code>' . $geshi->parse_code() . '</code>';
         }
+
         echo '<code>' . $geshi->parse_code() . '</code>';
+
         if ($geshi->error()) {
             return false;
         }
--- a/plugins/geshi/geshi/abap.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/abap.php	Fri May 29 19:30:59 2009 -0400
@@ -4,10 +4,8 @@
  * --------
  * Author: Andres Picazo (andres@andrespicazo.com)
  * Copyright: (c) 2007 Andres Picazo
- * Release Version: 1.0.7.20
- * CVS Revision Version: $Revision: 1.6 $
+ * Release Version: 1.0.8.2
  * Date Started: 2004/06/04
- * Last Modified: $Date: 2005/11/20 07:47:40 $
  *
  * ABAP language file for GeSHi.
  *
@@ -40,99 +38,100 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'ABAP',
+    'LANG_NAME' => 'ABAP',
     'COMMENT_SINGLE' => array(1 => '"', 2 => '*'),
+    'COMMENT_MULTI' => array(),
     'CASE_KEYWORDS' => 0,
-	'QUOTEMARKS' => array("'"),
+    'QUOTEMARKS' => array("'"),
     'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		1 => array(
-			'if', 'return', 'while', 'case', 'default',
+    'KEYWORDS' => array(
+        1 => array(
+            'if', 'return', 'while', 'case', 'default',
             'do', 'else', 'for', 'endif', 'elseif', 'eq',
             'not', 'and'
-			),
-		2 => array(
-			'data', 'types', 'seletion-screen', 'parameters', 'field-symbols', 'extern', 'inline'
-			),
-		3 => array(
-			'report', 'write', 'append', 'select', 'endselect', 'call method', 'call function',
-			'loop', 'endloop', 'raise', 'read table', 'concatenate', 'split', 'shift',
-			'condense', 'describe', 'clear', 'endfunction', 'assign', 'create data', 'translate',
-			'continue', 'start-of-selection', 'at selection-screen', 'modify', 'call screen',
-			'create object', 'perform', 'form', 'endform',
-			'reuse_alv_block_list_init', 'zbcialv', 'include'
-			),
-		4 => array(
-			'type ref to', 'type', 'begin of',  'end of', 'like', 'into',
-			'from', 'where', 'order by', 'with key', 'into', 'string', 'separated by',
+            ),
+        2 => array(
+            'data', 'types', 'seletion-screen', 'parameters', 'field-symbols', 'extern', 'inline'
+            ),
+        3 => array(
+            'report', 'write', 'append', 'select', 'endselect', 'call method', 'call function',
+            'loop', 'endloop', 'raise', 'read table', 'concatenate', 'split', 'shift',
+            'condense', 'describe', 'clear', 'endfunction', 'assign', 'create data', 'translate',
+            'continue', 'start-of-selection', 'at selection-screen', 'modify', 'call screen',
+            'create object', 'perform', 'form', 'endform',
+            'reuse_alv_block_list_init', 'zbcialv', 'include'
+            ),
+        4 => array(
+            'type ref to', 'type', 'begin of',  'end of', 'like', 'into',
+            'from', 'where', 'order by', 'with key', 'string', 'separated by',
             'exporting', 'importing', 'to upper case', 'to', 'exceptions', 'tables',
             'using', 'changing'
-			),
-		),
-	'SYMBOLS' => array(
-		'(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;',
-			2 => 'color: #000000; font-weight: bold;',
-			3 => 'color: #000066;',
-			4 => 'color: #993333;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			2 => 'color: #339933;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #202020;',
-			2 => 'color: #202020;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => 'http://sap4.com/wiki/index.php?title={FNAME}',
-		4 => ''
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.',
-		2 => '::'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+            ),
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #000066;',
+            4 => 'color: #993333;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            2 => 'color: #339933;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #202020;',
+            2 => 'color: #202020;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => 'http://sap4.com/wiki/index.php?title={FNAMEL}',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.',
+        2 => '::'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/actionscript.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/actionscript.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * ----------------
  * Author: Steffen Krause (Steffen.krause@muse.de)
  * Copyright: (c) 2004 Steffen Krause, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/06/20
  *
  * Actionscript language file for GeSHi.
@@ -40,158 +40,158 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'ActionScript',
-	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'#include', 'for', 'foreach', 'if', 'elseif', 'else', 'while', 'do', 'dowhile',
-			'endwhile', 'endif', 'switch', 'case', 'endswitch', 'return', 'break', 'continue', 'in'
-			),
-		2 => array(
-			'null', 'false', 'true', 'var',
-			'default', 	'function', 'class',
-			'new', '_global'
-			),
-		3 => array(
-			'#endinitclip', '#initclip', '__proto__', '_accProps', '_alpha', '_currentframe',
-			'_droptarget', '_focusrect', '_framesloaded', '_height', '_highquality', '_lockroot',
-			'_name', '_parent', '_quality', '_root', '_rotation', '_soundbuftime', '_target', '_totalframes',
-			'_url', '_visible', '_width', '_x', '_xmouse', '_xscale', '_y', '_ymouse', '_yscale', 'abs',
-			'Accessibility', 'acos', 'activityLevel', 'add', 'addListener', 'addPage', 'addProperty',
-			'addRequestHeader', 'align', 'allowDomain', 'allowInsecureDomain', 'and', 'appendChild',
-			'apply', 'Arguments', 'Array', 'asfunction', 'asin', 'atan', 'atan2', 'attachAudio', 'attachMovie',
-			'attachSound', 'attachVideo', 'attributes', 'autosize', 'avHardwareDisable', 'background',
-			'backgroundColor', 'BACKSPACE', 'bandwidth', 'beginFill', 'beginGradientFill', 'blockIndent',
-			'bold', 'Boolean', 'border', 'borderColor', 'bottomScroll', 'bufferLength', 'bufferTime',
-			'builtInItems', 'bullet', 'Button', 'bytesLoaded', 'bytesTotal', 'call', 'callee', 'caller',
-			'Camera', 'capabilities', 'CAPSLOCK', 'caption', 'catch', 'ceil', 'charAt', 'charCodeAt',
-			'childNodes', 'chr', 'clear', 'clearInterval', 'cloneNode', 'close', 'Color', 'concat',
-			'connect', 'condenseWhite', 'constructor', 'contentType', 'ContextMenu', 'ContextMenuItem',
-			'CONTROL', 'copy', 'cos', 'createElement', 'createEmptyMovieClip', 'createTextField',
-			'createTextNode', 'currentFps', 'curveTo', 'CustomActions', 'customItems', 'data', 'Date',
-			'deblocking', 'delete', 'DELETEKEY', 'docTypeDecl', 'domain', 'DOWN',
-			'duplicateMovieClip', 'duration', 'dynamic', 'E', 'embedFonts', 'enabled',
-			'END', 'endFill', 'ENTER', 'eq', 'Error', 'ESCAPE(Konstante)', 'escape(Funktion)', 'eval',
-			'exactSettings', 'exp', 'extends', 'finally', 'findText', 'firstChild', 'floor',
-			'flush', 'focusEnabled', 'font', 'fps', 'fromCharCode', 'fscommand',
-			'gain', 'ge', 'get', 'getAscii', 'getBeginIndex', 'getBounds', 'getBytesLoaded', 'getBytesTotal',
-			'getCaretIndex', 'getCode', 'getCount', 'getDate', 'getDay', 'getDepth', 'getEndIndex', 'getFocus',
-			'getFontList', 'getFullYear', 'getHours', 'getInstanceAtDepth', 'getLocal', 'getMilliseconds',
-			'getMinutes', 'getMonth', 'getNewTextFormat', 'getNextHighestDepth', 'getPan', 'getProgress',
-			'getProperty', 'getRGB', 'getSeconds', 'getSelected', 'getSelectedText', 'getSize', 'getStyle',
-			'getStyleNames', 'getSWFVersion', 'getText', 'getTextExtent', 'getTextFormat', 'getTextSnapshot',
-			'getTime', 'getTimer', 'getTimezoneOffset', 'getTransform', 'getURL', 'getUTCDate', 'getUTCDay',
-			'getUTCFullYear', 'getUTCHours', 'getUTCMilliseconds', 'getUTCMinutes', 'getUTCMonth', 'getUTCSeconds',
-			'getVersion', 'getVolume', 'getYear', 'globalToLocal', 'goto', 'gotoAndPlay', 'gotoAndStop',
-			'hasAccessibility', 'hasAudio', 'hasAudioEncoder', 'hasChildNodes', 'hasEmbeddedVideo', 'hasMP3',
-			'hasPrinting', 'hasScreenBroadcast', 'hasScreenPlayback', 'hasStreamingAudio', 'hasStreamingVideo',
-			'hasVideoEncoder', 'height', 'hide', 'hideBuiltInItems', 'hitArea', 'hitTest', 'hitTestTextNearPos',
-			'HOME', 'hscroll', 'html', 'htmlText', 'ID3', 'ifFrameLoaded', 'ignoreWhite', 'implements',
-			'import', 'indent', 'index', 'indexOf', 'Infinity', '-Infinity', 'INSERT', 'insertBefore', 'install',
-			'instanceof', 'int', 'interface', 'isActive', 'isDebugger', 'isDown', 'isFinite', 'isNaN', 'isToggled',
-			'italic', 'join', 'Key', 'language', 'lastChild', 'lastIndexOf', 'le', 'leading', 'LEFT', 'leftMargin',
-			'length', 'level', 'lineStyle', 'lineTo', 'list', 'LN10', 'LN2', 'load', 'loadClip', 'loaded', 'loadMovie',
-			'loadMovieNum', 'loadSound', 'loadVariables', 'loadVariablesNum', 'LoadVars', 'LocalConnection',
-			'localFileReadDisable', 'localToGlobal', 'log', 'LOG10E', 'LOG2E', 'manufacturer', 'Math', 'max',
-			'MAX_VALUE', 'maxChars', 'maxhscroll', 'maxscroll', 'mbchr', 'mblength', 'mbord', 'mbsubstring', 'menu',
-			'message', 'Microphone', 'min', 'MIN_VALUE', 'MMExecute', 'motionLevel', 'motionTimeOut', 'Mouse',
-			'mouseWheelEnabled', 'moveTo', 'Movieclip', 'MovieClipLoader', 'multiline', 'muted', 'name', 'names', 'NaN',
-			'ne', 'NEGATIVE_INFINITY', 'NetConnection', 'NetStream', 'newline', 'nextFrame',
-			'nextScene', 'nextSibling', 'nodeName', 'nodeType', 'nodeValue', 'not', 'Number', 'Object',
-			'on', 'onActivity', 'onChanged', 'onClipEvent', 'onClose', 'onConnect', 'onData', 'onDragOut',
-			'onDragOver', 'onEnterFrame', 'onID3', 'onKeyDown', 'onKeyUp', 'onKillFocus', 'onLoad', 'onLoadComplete',
-			'onLoadError', 'onLoadInit', 'onLoadProgress', 'onLoadStart', 'onMouseDown', 'onMouseMove', 'onMouseUp',
-			'onMouseWheel', 'onPress', 'onRelease', 'onReleaseOutside', 'onResize', 'onRollOut', 'onRollOver',
-			'onScroller', 'onSelect', 'onSetFocus', 'onSoundComplete', 'onStatus', 'onUnload', 'onUpdate', 'onXML',
-			'or(logischesOR)', 'ord', 'os', 'parentNode', 'parseCSS', 'parseFloat', 'parseInt', 'parseXML', 'password',
-			'pause', 'PGDN', 'PGUP', 'PI', 'pixelAspectRatio', 'play', 'playerType', 'pop', 'position',
-			'POSITIVE_INFINITY', 'pow', 'prevFrame', 'previousSibling', 'prevScene', 'print', 'printAsBitmap',
-			'printAsBitmapNum', 'PrintJob', 'printNum', 'private', 'prototype', 'public', 'push', 'quality',
-			'random', 'rate', 'registerClass', 'removeListener', 'removeMovieClip', 'removeNode', 'removeTextField',
-			'replaceSel', 'replaceText', 'resolutionX', 'resolutionY', 'restrict', 'reverse', 'RIGHT',
-			'rightMargin', 'round', 'scaleMode', 'screenColor', 'screenDPI', 'screenResolutionX', 'screenResolutionY',
-			'scroll', 'seek', 'selectable', 'Selection', 'send', 'sendAndLoad', 'separatorBefore', 'serverString',
-			'set', 'setvariable', 'setBufferTime', 'setClipboard', 'setDate', 'setFocus', 'setFullYear', 'setGain',
-			'setHours', 'setInterval', 'setMask', 'setMilliseconds', 'setMinutes', 'setMode', 'setMonth',
-			'setMotionLevel', 'setNewTextFormat', 'setPan', 'setProperty', 'setQuality', 'setRate', 'setRGB',
-			'setSeconds', 'setSelectColor', 'setSelected', 'setSelection', 'setSilenceLevel', 'setStyle',
-			'setTextFormat', 'setTime', 'setTransform', 'setUseEchoSuppression', 'setUTCDate', 'setUTCFullYear',
-			'setUTCHours', 'setUTCMilliseconds', 'setUTCMinutes', 'setUTCMonth', 'setUTCSeconds', 'setVolume',
-			'setYear', 'SharedObject', 'SHIFT(Konstante)', 'shift(Methode)', 'show', 'showMenu', 'showSettings',
-			'silenceLevel', 'silenceTimeout', 'sin', 'size', 'slice', 'smoothing', 'sort', 'sortOn', 'Sound', 'SPACE',
-			'splice', 'split', 'sqrt', 'SQRT1_2', 'SQRT2', 'Stage', 'start', 'startDrag', 'static', 'status', 'stop',
-			'stopAllSounds', 'stopDrag', 'String', 'StyleSheet(Klasse)', 'styleSheet(Eigenschaft)', 'substr',
-			'substring', 'super', 'swapDepths', 'System', 'TAB', 'tabChildren', 'tabEnabled', 'tabIndex',
-			'tabStops', 'tan', 'target', 'targetPath', 'tellTarget', 'text', 'textColor', 'TextField', 'TextFormat',
-			'textHeight', 'TextSnapshot', 'textWidth', 'this', 'throw', 'time', 'toggleHighQuality', 'toLowerCase',
-			'toString', 'toUpperCase', 'trace', 'trackAsMenu', 'try', 'type', 'typeof', 'undefined',
-			'underline', 'unescape', 'uninstall', 'unloadClip', 'unloadMovie', 'unLoadMovieNum', 'unshift', 'unwatch',
-			'UP', 'updateAfterEvent', 'updateProperties', 'url', 'useCodePage', 'useEchoSuppression', 'useHandCursor',
-			'UTC', 'valueOf', 'variable', 'version', 'Video', 'visible', 'void', 'watch', 'width',
-			'with', 'wordwrap', 'XML', 'xmlDecl', 'XMLNode', 'XMLSocket'
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false,
-		2 => false,
-		3 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;',
-			2 => 'color: #000000; font-weight: bold;',
-			3 => 'color: #0066CC;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			2 => 'color: #808080; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #006600;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => ''
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(),
-	'HIGHLIGHT_STRICT_BLOCK' => array()
+    'LANG_NAME' => 'ActionScript',
+    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            '#include', 'for', 'foreach', 'if', 'elseif', 'else', 'while', 'do', 'dowhile',
+            'endwhile', 'endif', 'switch', 'case', 'endswitch', 'return', 'break', 'continue', 'in'
+            ),
+        2 => array(
+            'null', 'false', 'true', 'var',
+            'default', 'function', 'class',
+            'new', '_global'
+            ),
+        3 => array(
+            '#endinitclip', '#initclip', '__proto__', '_accProps', '_alpha', '_currentframe',
+            '_droptarget', '_focusrect', '_framesloaded', '_height', '_highquality', '_lockroot',
+            '_name', '_parent', '_quality', '_root', '_rotation', '_soundbuftime', '_target', '_totalframes',
+            '_url', '_visible', '_width', '_x', '_xmouse', '_xscale', '_y', '_ymouse', '_yscale', 'abs',
+            'Accessibility', 'acos', 'activityLevel', 'add', 'addListener', 'addPage', 'addProperty',
+            'addRequestHeader', 'align', 'allowDomain', 'allowInsecureDomain', 'and', 'appendChild',
+            'apply', 'Arguments', 'Array', 'asfunction', 'asin', 'atan', 'atan2', 'attachAudio', 'attachMovie',
+            'attachSound', 'attachVideo', 'attributes', 'autosize', 'avHardwareDisable', 'background',
+            'backgroundColor', 'BACKSPACE', 'bandwidth', 'beginFill', 'beginGradientFill', 'blockIndent',
+            'bold', 'Boolean', 'border', 'borderColor', 'bottomScroll', 'bufferLength', 'bufferTime',
+            'builtInItems', 'bullet', 'Button', 'bytesLoaded', 'bytesTotal', 'call', 'callee', 'caller',
+            'Camera', 'capabilities', 'CAPSLOCK', 'caption', 'catch', 'ceil', 'charAt', 'charCodeAt',
+            'childNodes', 'chr', 'clear', 'clearInterval', 'cloneNode', 'close', 'Color', 'concat',
+            'connect', 'condenseWhite', 'constructor', 'contentType', 'ContextMenu', 'ContextMenuItem',
+            'CONTROL', 'copy', 'cos', 'createElement', 'createEmptyMovieClip', 'createTextField',
+            'createTextNode', 'currentFps', 'curveTo', 'CustomActions', 'customItems', 'data', 'Date',
+            'deblocking', 'delete', 'DELETEKEY', 'docTypeDecl', 'domain', 'DOWN',
+            'duplicateMovieClip', 'duration', 'dynamic', 'E', 'embedFonts', 'enabled',
+            'END', 'endFill', 'ENTER', 'eq', 'Error', 'ESCAPE(Konstante)', 'escape(Funktion)', 'eval',
+            'exactSettings', 'exp', 'extends', 'finally', 'findText', 'firstChild', 'floor',
+            'flush', 'focusEnabled', 'font', 'fps', 'fromCharCode', 'fscommand',
+            'gain', 'ge', 'get', 'getAscii', 'getBeginIndex', 'getBounds', 'getBytesLoaded', 'getBytesTotal',
+            'getCaretIndex', 'getCode', 'getCount', 'getDate', 'getDay', 'getDepth', 'getEndIndex', 'getFocus',
+            'getFontList', 'getFullYear', 'getHours', 'getInstanceAtDepth', 'getLocal', 'getMilliseconds',
+            'getMinutes', 'getMonth', 'getNewTextFormat', 'getNextHighestDepth', 'getPan', 'getProgress',
+            'getProperty', 'getRGB', 'getSeconds', 'getSelected', 'getSelectedText', 'getSize', 'getStyle',
+            'getStyleNames', 'getSWFVersion', 'getText', 'getTextExtent', 'getTextFormat', 'getTextSnapshot',
+            'getTime', 'getTimer', 'getTimezoneOffset', 'getTransform', 'getURL', 'getUTCDate', 'getUTCDay',
+            'getUTCFullYear', 'getUTCHours', 'getUTCMilliseconds', 'getUTCMinutes', 'getUTCMonth', 'getUTCSeconds',
+            'getVersion', 'getVolume', 'getYear', 'globalToLocal', 'goto', 'gotoAndPlay', 'gotoAndStop',
+            'hasAccessibility', 'hasAudio', 'hasAudioEncoder', 'hasChildNodes', 'hasEmbeddedVideo', 'hasMP3',
+            'hasPrinting', 'hasScreenBroadcast', 'hasScreenPlayback', 'hasStreamingAudio', 'hasStreamingVideo',
+            'hasVideoEncoder', 'height', 'hide', 'hideBuiltInItems', 'hitArea', 'hitTest', 'hitTestTextNearPos',
+            'HOME', 'hscroll', 'html', 'htmlText', 'ID3', 'ifFrameLoaded', 'ignoreWhite', 'implements',
+            'import', 'indent', 'index', 'indexOf', 'Infinity', '-Infinity', 'INSERT', 'insertBefore', 'install',
+            'instanceof', 'int', 'interface', 'isActive', 'isDebugger', 'isDown', 'isFinite', 'isNaN', 'isToggled',
+            'italic', 'join', 'Key', 'language', 'lastChild', 'lastIndexOf', 'le', 'leading', 'LEFT', 'leftMargin',
+            'length', 'level', 'lineStyle', 'lineTo', 'list', 'LN10', 'LN2', 'load', 'loadClip', 'loaded', 'loadMovie',
+            'loadMovieNum', 'loadSound', 'loadVariables', 'loadVariablesNum', 'LoadVars', 'LocalConnection',
+            'localFileReadDisable', 'localToGlobal', 'log', 'LOG10E', 'LOG2E', 'manufacturer', 'Math', 'max',
+            'MAX_VALUE', 'maxChars', 'maxhscroll', 'maxscroll', 'mbchr', 'mblength', 'mbord', 'mbsubstring', 'menu',
+            'message', 'Microphone', 'min', 'MIN_VALUE', 'MMExecute', 'motionLevel', 'motionTimeOut', 'Mouse',
+            'mouseWheelEnabled', 'moveTo', 'Movieclip', 'MovieClipLoader', 'multiline', 'muted', 'name', 'names', 'NaN',
+            'ne', 'NEGATIVE_INFINITY', 'NetConnection', 'NetStream', 'newline', 'nextFrame',
+            'nextScene', 'nextSibling', 'nodeName', 'nodeType', 'nodeValue', 'not', 'Number', 'Object',
+            'on', 'onActivity', 'onChanged', 'onClipEvent', 'onClose', 'onConnect', 'onData', 'onDragOut',
+            'onDragOver', 'onEnterFrame', 'onID3', 'onKeyDown', 'onKeyUp', 'onKillFocus', 'onLoad', 'onLoadComplete',
+            'onLoadError', 'onLoadInit', 'onLoadProgress', 'onLoadStart', 'onMouseDown', 'onMouseMove', 'onMouseUp',
+            'onMouseWheel', 'onPress', 'onRelease', 'onReleaseOutside', 'onResize', 'onRollOut', 'onRollOver',
+            'onScroller', 'onSelect', 'onSetFocus', 'onSoundComplete', 'onStatus', 'onUnload', 'onUpdate', 'onXML',
+            'or(logischesOR)', 'ord', 'os', 'parentNode', 'parseCSS', 'parseFloat', 'parseInt', 'parseXML', 'password',
+            'pause', 'PGDN', 'PGUP', 'PI', 'pixelAspectRatio', 'play', 'playerType', 'pop', 'position',
+            'POSITIVE_INFINITY', 'pow', 'prevFrame', 'previousSibling', 'prevScene', 'print', 'printAsBitmap',
+            'printAsBitmapNum', 'PrintJob', 'printNum', 'private', 'prototype', 'public', 'push', 'quality',
+            'random', 'rate', 'registerClass', 'removeListener', 'removeMovieClip', 'removeNode', 'removeTextField',
+            'replaceSel', 'replaceText', 'resolutionX', 'resolutionY', 'restrict', 'reverse', 'RIGHT',
+            'rightMargin', 'round', 'scaleMode', 'screenColor', 'screenDPI', 'screenResolutionX', 'screenResolutionY',
+            'scroll', 'seek', 'selectable', 'Selection', 'send', 'sendAndLoad', 'separatorBefore', 'serverString',
+            'set', 'setvariable', 'setBufferTime', 'setClipboard', 'setDate', 'setFocus', 'setFullYear', 'setGain',
+            'setHours', 'setInterval', 'setMask', 'setMilliseconds', 'setMinutes', 'setMode', 'setMonth',
+            'setMotionLevel', 'setNewTextFormat', 'setPan', 'setProperty', 'setQuality', 'setRate', 'setRGB',
+            'setSeconds', 'setSelectColor', 'setSelected', 'setSelection', 'setSilenceLevel', 'setStyle',
+            'setTextFormat', 'setTime', 'setTransform', 'setUseEchoSuppression', 'setUTCDate', 'setUTCFullYear',
+            'setUTCHours', 'setUTCMilliseconds', 'setUTCMinutes', 'setUTCMonth', 'setUTCSeconds', 'setVolume',
+            'setYear', 'SharedObject', 'SHIFT(Konstante)', 'shift(Methode)', 'show', 'showMenu', 'showSettings',
+            'silenceLevel', 'silenceTimeout', 'sin', 'size', 'slice', 'smoothing', 'sort', 'sortOn', 'Sound', 'SPACE',
+            'splice', 'split', 'sqrt', 'SQRT1_2', 'SQRT2', 'Stage', 'start', 'startDrag', 'static', 'status', 'stop',
+            'stopAllSounds', 'stopDrag', 'String', 'StyleSheet(Klasse)', 'styleSheet(Eigenschaft)', 'substr',
+            'substring', 'super', 'swapDepths', 'System', 'TAB', 'tabChildren', 'tabEnabled', 'tabIndex',
+            'tabStops', 'tan', 'target', 'targetPath', 'tellTarget', 'text', 'textColor', 'TextField', 'TextFormat',
+            'textHeight', 'TextSnapshot', 'textWidth', 'this', 'throw', 'time', 'toggleHighQuality', 'toLowerCase',
+            'toString', 'toUpperCase', 'trace', 'trackAsMenu', 'try', 'type', 'typeof', 'undefined',
+            'underline', 'unescape', 'uninstall', 'unloadClip', 'unloadMovie', 'unLoadMovieNum', 'unshift', 'unwatch',
+            'UP', 'updateAfterEvent', 'updateProperties', 'url', 'useCodePage', 'useEchoSuppression', 'useHandCursor',
+            'UTC', 'valueOf', 'variable', 'version', 'Video', 'visible', 'void', 'watch', 'width',
+            'with', 'wordwrap', 'XML', 'xmlDecl', 'XMLNode', 'XMLSocket'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #0066CC;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            2 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array()
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/actionscript3.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,467 @@
+<?php
+/*************************************************************************************
+ * actionscript3.php
+ * ----------------
+ * Author: Jordi Boggiano (j.boggiano@seld.be)
+ * Copyright: (c) 2007 Jordi Boggiano (http://www.seld.be/), Benny Baumann (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.2
+ * Date Started: 2007/11/26
+ *
+ * ActionScript3 language file for GeSHi.
+ *
+ * All keywords scraped from the Flex 2.0.1 Documentation
+ *
+ * The default style is based on FlexBuilder2 coloring, with the addition of class, package, method and
+ * constant names that are highlighted to help identifying problem when used on public pastebins.
+ *
+ * For styling, keywords data from 0 to 1 (accessible through .kw1, etc.) are described here :
+ *
+ *   1 : operators
+ *   2 : 'var' keyword
+ *   3 : 'function' keyword
+ *   4 : 'class' and 'package' keywords
+ *   5 : all flash.* class names plus Top Level classes, mx are excluded
+ *   6 : all flash.* package names, mx are excluded
+ *   7 : valid flash method names and properties (there is no type checks sadly, for example String().x will be highlighted as 'x' is valid, but obviously strings don't have a x property)
+ *   8 : valid flash constant names (again, no type check)
+ *
+ *
+ * CHANGES
+ * -------
+ * 2007/12/06 (1.0.7.22)
+ *  -  Added the 'this' keyword (oops)
+ *
+ * TODO (updated 2007/11/30)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'ActionScript 3',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'with', 'while', 'void', 'undefined', 'typeof', 'try', 'true',
+            'throw', 'this', 'switch', 'super', 'set', 'return', 'public', 'protected',
+            'private', 'null', 'new', 'is', 'internal', 'instanceof', 'in',
+            'import', 'if', 'get', 'for', 'false', 'else', 'each', 'do',
+            'delete', 'default', 'continue', 'catch', 'case', 'break', 'as'
+            ),
+        2 => array(
+            'var'
+            ),
+        3 => array(
+            'function'
+            ),
+        4 => array(
+            'class', 'package'
+            ),
+        6 => array(
+            'flash.xml', 'flash.utils', 'flash.ui', 'flash.text',
+            'flash.system', 'flash.profiler', 'flash.printing', 'flash.net',
+            'flash.media', 'flash.geom', 'flash.filters', 'flash.external',
+            'flash.events', 'flash.errors', 'flash.display',
+            'flash.accessibility'
+            ),
+        7 => array(
+            'zoom', 'year', 'y', 'xmlDecl', 'x', 'writeUnsignedInt',
+            'writeUTFBytes', 'writeUTF', 'writeShort', 'writeObject',
+            'writeMultiByte', 'writeInt', 'writeFloat', 'writeExternal',
+            'writeDynamicProperty', 'writeDynamicProperties', 'writeDouble',
+            'writeBytes', 'writeByte', 'writeBoolean', 'wordWrap',
+            'willTrigger', 'width', 'volume', 'visible', 'videoWidth',
+            'videoHeight', 'version', 'valueOf', 'value', 'usingTLS',
+            'useRichTextClipboard', 'useHandCursor', 'useEchoSuppression',
+            'useCodePage', 'url', 'uri', 'uploadCompleteData', 'upload',
+            'updateProperties', 'updateAfterEvent', 'upState', 'unshift',
+            'unlock', 'unload', 'union', 'unescapeMultiByte', 'unescape',
+            'underline', 'uncompress', 'type', 'ty', 'tx', 'transparent',
+            'translate', 'transformPoint', 'transform', 'trackAsMenu', 'track',
+            'trace', 'totalMemory', 'totalFrames', 'topLeft', 'top',
+            'togglePause', 'toXMLString', 'toUpperCase', 'toUTCString',
+            'toTimeString', 'toString', 'toPrecision', 'toLowerCase',
+            'toLocaleUpperCase', 'toLocaleTimeString', 'toLocaleString',
+            'toLocaleLowerCase', 'toLocaleDateString', 'toFixed',
+            'toExponential', 'toDateString', 'timezoneOffset', 'timerComplete',
+            'timer', 'time', 'threshold', 'thickness', 'textWidth',
+            'textSnapshot', 'textInput', 'textHeight', 'textColor', 'text',
+            'test', 'target', 'tan', 'tabStops', 'tabIndexChange', 'tabIndex',
+            'tabEnabledChange', 'tabEnabled', 'tabChildrenChange',
+            'tabChildren', 'sync', 'swfVersion', 'swapChildrenAt',
+            'swapChildren', 'subtract', 'substring', 'substr', 'styleSheet',
+            'styleNames', 'strength', 'stopPropagation',
+            'stopImmediatePropagation', 'stopDrag', 'stopAll', 'stop', 'status',
+            'startDrag', 'start', 'stageY', 'stageX', 'stageWidth',
+            'stageHeight', 'stageFocusRect', 'stage', 'sqrt', 'split', 'splice',
+            'source', 'soundTransform', 'soundComplete', 'sortOn', 'sort',
+            'songName', 'some', 'socketData', 'smoothing', 'slice', 'size',
+            'sin', 'silent', 'silenceTimeout', 'silenceLevel', 'showSettings',
+            'showRedrawRegions', 'showDefaultContextMenu', 'show', 'shortcut',
+            'shiftKey', 'shift', 'sharpness', 'sharedEvents', 'shadowColor',
+            'shadowAlpha', 'settings', 'setUseEchoSuppression', 'setUTCSeconds',
+            'setUTCMonth', 'setUTCMinutes', 'setUTCMilliseconds', 'setUTCHours',
+            'setUTCFullYear', 'setUTCDate', 'setTimeout', 'setTime',
+            'setTextFormat', 'setStyle', 'setSilenceLevel', 'setSettings',
+            'setSelection', 'setSelected', 'setSelectColor', 'setSeconds',
+            'setQuality', 'setPropertyIsEnumerable', 'setProperty', 'setPixels',
+            'setPixel32', 'setPixel', 'setNamespace', 'setName',
+            'setMotionLevel', 'setMonth', 'setMode', 'setMinutes',
+            'setMilliseconds', 'setLoopback', 'setLoopBack', 'setLocalName',
+            'setKeyFrameInterval', 'setInterval', 'setHours', 'setFullYear',
+            'setEmpty', 'setDirty', 'setDate', 'setCompositionString',
+            'setClipboard', 'setChildren', 'setChildIndex',
+            'setAdvancedAntiAliasingTable', 'serverString', 'separatorBefore',
+            'sendToURL', 'send', 'selectionEndIndex', 'selectionBeginIndex',
+            'selectable', 'select', 'seek', 'securityError', 'securityDomain',
+            'secondsUTC', 'seconds', 'search', 'scrollV', 'scrollRect',
+            'scrollH', 'scroll', 'screenResolutionY', 'screenResolutionX',
+            'screenDPI', 'screenColor', 'scenes', 'scaleY', 'scaleX',
+            'scaleMode', 'scale9Grid', 'scale', 'save', 'sandboxType',
+            'sameDomain', 'running', 'round', 'rotation', 'rotate', 'root',
+            'rollOver', 'rollOut', 'rightToRight', 'rightToLeft', 'rightPeak',
+            'rightMargin', 'right', 'rewind', 'reverse', 'resume', 'restrict',
+            'resize', 'reset', 'requestHeaders', 'replaceText',
+            'replaceSelectedText', 'replace', 'repeatCount', 'render',
+            'removedFromStage', 'removed', 'removeNode', 'removeNamespace',
+            'removeEventListener', 'removeChildAt', 'removeChild',
+            'relatedObject', 'registerFont', 'registerClassAlias', 'redOffset',
+            'redMultiplier', 'rect', 'receiveVideo', 'receiveAudio',
+            'readUnsignedShort', 'readUnsignedInt', 'readUnsignedByte',
+            'readUTFBytes', 'readUTF', 'readShort', 'readObject',
+            'readMultiByte', 'readInt', 'readFloat', 'readExternal',
+            'readDouble', 'readBytes', 'readByte', 'readBoolean', 'ratios',
+            'rate', 'random', 'quality', 'push', 'publish', 'proxyType',
+            'prototype', 'propertyIsEnumerable', 'progress',
+            'processingInstructions', 'printAsBitmap', 'print',
+            'previousSibling', 'preventDefault', 'prevScene', 'prevFrame',
+            'prettyPrinting', 'prettyIndent', 'preserveAlpha', 'prependChild',
+            'prefix', 'pow', 'position', 'pop', 'polar', 'playerType', 'play',
+            'pixelSnapping', 'pixelDissolve', 'pixelBounds', 'pixelAspectRatio',
+            'perlinNoise', 'pause', 'parseXML', 'parseInt', 'parseFloat',
+            'parseCSS', 'parse', 'parentNode', 'parentDomain',
+            'parentAllowsChild', 'parent', 'parameters', 'paperWidth',
+            'paperHeight', 'pan', 'paletteMap', 'pageWidth', 'pageHeight',
+            'overState', 'outsideCutoff', 'os', 'orientation', 'open',
+            'opaqueBackground', 'onPlayStatus', 'onMetaData', 'onCuePoint',
+            'offsetPoint', 'offset', 'objectID', 'objectEncoding', 'numLock',
+            'numLines', 'numFrames', 'numChildren', 'normalize', 'noise',
+            'nodeValue', 'nodeType', 'nodeName', 'nodeKind', 'noAutoLabeling',
+            'nextValue', 'nextSibling', 'nextScene', 'nextNameIndex',
+            'nextName', 'nextFrame', 'netStatus', 'navigateToURL',
+            'namespaceURI', 'namespaceDeclarations', 'namespace', 'names',
+            'name', 'muted', 'multiline', 'moveTo', 'mouseY', 'mouseX',
+            'mouseWheelEnabled', 'mouseWheel', 'mouseUp', 'mouseTarget',
+            'mouseOver', 'mouseOut', 'mouseMove', 'mouseLeave',
+            'mouseFocusChange', 'mouseEnabled', 'mouseDown', 'mouseChildren',
+            'motionTimeout', 'motionLevel', 'monthUTC', 'month',
+            'modificationDate', 'mode', 'minutesUTC', 'minutes', 'min',
+            'millisecondsUTC', 'milliseconds', 'method', 'message', 'merge',
+            'menuSelect', 'menuItemSelect', 'maxScrollV', 'maxScrollH',
+            'maxLevel', 'maxChars', 'max', 'matrixY', 'matrixX', 'matrix',
+            'match', 'mask', 'mapPoint', 'mapBitmap', 'map', 'manufacturer',
+            'macType', 'loopback', 'loop', 'log', 'lock', 'localeCompare',
+            'localY', 'localX', 'localToGlobal', 'localName',
+            'localFileReadDisable', 'loaderURL', 'loaderInfo', 'loader',
+            'loadPolicyFile', 'loadBytes', 'load', 'liveDelay', 'link',
+            'lineTo', 'lineStyle', 'lineGradientStyle', 'level',
+            'letterSpacing', 'length', 'leftToRight', 'leftToLeft', 'leftPeak',
+            'leftMargin', 'left', 'leading', 'lastIndexOf', 'lastIndex',
+            'lastChild', 'language', 'labels', 'knockout', 'keyUp',
+            'keyLocation', 'keyFrameInterval', 'keyFocusChange', 'keyDown',
+            'keyCode', 'kerning', 'join', 'italic', 'isXMLName',
+            'isPrototypeOf', 'isNaN', 'isFocusInaccessible', 'isFinite',
+            'isEmpty', 'isDefaultPrevented', 'isDebugger', 'isBuffering',
+            'isAttribute', 'isAccessible', 'ioError', 'invert', 'invalidate',
+            'intersects', 'intersection', 'interpolate', 'insideCutoff',
+            'insertChildBefore', 'insertChildAfter', 'insertBefore', 'inner',
+            'init', 'info', 'inflatePoint', 'inflate', 'indexOf', 'index',
+            'indent', 'inScopeNamespaces', 'imeComposition', 'ime',
+            'ignoreWhitespace', 'ignoreWhite', 'ignoreProcessingInstructions',
+            'ignoreComments', 'ignoreCase', 'identity', 'idMap', 'id3',
+            'httpStatus', 'htmlText', 'hoursUTC', 'hours', 'hitTestTextNearPos',
+            'hitTestState', 'hitTestPoint', 'hitTestObject', 'hitTest',
+            'hitArea', 'highlightColor', 'highlightAlpha', 'hideObject',
+            'hideBuiltInItems', 'hide', 'height', 'hasVideoEncoder', 'hasTLS',
+            'hasStreamingVideo', 'hasStreamingAudio', 'hasSimpleContent',
+            'hasScreenPlayback', 'hasScreenBroadcast', 'hasProperty',
+            'hasPrinting', 'hasOwnProperty', 'hasMP3', 'hasIME', 'hasGlyphs',
+            'hasEventListener', 'hasEmbeddedVideo', 'hasDefinition',
+            'hasComplexContent', 'hasChildNodes', 'hasAudioEncoder', 'hasAudio',
+            'hasAccessibility', 'gridFitType', 'greenOffset', 'greenMultiplier',
+            'graphics', 'gotoAndStop', 'gotoAndPlay', 'globalToLocal', 'global',
+            'getUTCSeconds', 'getUTCMonth', 'getUTCMinutes',
+            'getUTCMilliseconds', 'getUTCHours', 'getUTCFullYear', 'getUTCDay',
+            'getUTCDate', 'getTimezoneOffset', 'getTimer', 'getTime',
+            'getTextRunInfo', 'getTextFormat', 'getText', 'getStyle',
+            'getStackTrace', 'getSelectedText', 'getSelected', 'getSeconds',
+            'getRemote', 'getRect', 'getQualifiedSuperclassName',
+            'getQualifiedClassName', 'getProperty', 'getPrefixForNamespace',
+            'getPixels', 'getPixel32', 'getPixel', 'getParagraphLength',
+            'getObjectsUnderPoint', 'getNamespaceForPrefix', 'getMonth',
+            'getMinutes', 'getMilliseconds', 'getMicrophone', 'getLocal',
+            'getLineText', 'getLineOffset', 'getLineMetrics', 'getLineLength',
+            'getLineIndexOfChar', 'getLineIndexAtPoint', 'getImageReference',
+            'getHours', 'getFullYear', 'getFirstCharInParagraph',
+            'getDescendants', 'getDefinitionByName', 'getDefinition', 'getDay',
+            'getDate', 'getColorBoundsRect', 'getClassByAlias', 'getChildIndex',
+            'getChildByName', 'getChildAt', 'getCharIndexAtPoint',
+            'getCharBoundaries', 'getCamera', 'getBounds', 'genre',
+            'generateFilterRect', 'gain', 'fullYearUTC', 'fullYear',
+            'fullScreen', 'fscommand', 'fromCharCode', 'framesLoaded',
+            'frameRate', 'frame', 'fps', 'forwardAndBack', 'formatToString',
+            'forceSimple', 'forEach', 'fontType', 'fontStyle', 'fontSize',
+            'fontName', 'font', 'focusRect', 'focusOut', 'focusIn', 'focus',
+            'flush', 'floor', 'floodFill', 'firstChild', 'findText', 'filters',
+            'filter', 'fillRect', 'fileList', 'extension', 'extended', 'exp',
+            'exec', 'exactSettings', 'every', 'eventPhase', 'escapeMultiByte',
+            'escape', 'errorID', 'error', 'equals', 'enumerateFonts',
+            'enterFrame', 'endian', 'endFill', 'encodeURIComponent',
+            'encodeURI', 'enabled', 'embedFonts', 'elements',
+            'dynamicPropertyWriter', 'dropTarget', 'drawRoundRect', 'drawRect',
+            'drawEllipse', 'drawCircle', 'draw', 'download', 'downState',
+            'doubleClickEnabled', 'doubleClick', 'dotall', 'domain',
+            'docTypeDecl', 'doConversion', 'divisor', 'distance', 'dispose',
+            'displayState', 'displayMode', 'displayAsPassword', 'dispatchEvent',
+            'description', 'describeType', 'descent', 'descendants',
+            'deltaTransformPoint', 'delta', 'deleteProperty', 'delay',
+            'defaultTextFormat', 'defaultSettings', 'defaultObjectEncoding',
+            'decodeURIComponent', 'decodeURI', 'decode', 'deblocking',
+            'deactivate', 'dayUTC', 'day', 'dateUTC', 'date', 'dataFormat',
+            'data', 'd', 'customItems', 'curveTo', 'currentTarget',
+            'currentScene', 'currentLabels', 'currentLabel', 'currentFrame',
+            'currentFPS', 'currentDomain', 'currentCount', 'ctrlKey', 'creator',
+            'creationDate', 'createTextNode', 'createGradientBox',
+            'createElement', 'createBox', 'cos', 'copyPixels', 'copyChannel',
+            'copy', 'conversionMode', 'contextMenuOwner', 'contextMenu',
+            'contentType', 'contentLoaderInfo', 'content', 'containsRect',
+            'containsPoint', 'contains', 'constructor', 'connectedProxyType',
+            'connected', 'connect', 'condenseWhite', 'concatenatedMatrix',
+            'concatenatedColorTransform', 'concat', 'computeSpectrum',
+            'compress', 'componentY', 'componentX', 'complete', 'compare',
+            'comments', 'comment', 'colors', 'colorTransform', 'color', 'code',
+            'close', 'cloneNode', 'clone', 'client', 'click', 'clearTimeout',
+            'clearInterval', 'clear', 'clamp', 'children', 'childNodes',
+            'childIndex', 'childAllowsParent', 'child', 'checkPolicyFile',
+            'charCount', 'charCodeAt', 'charCode', 'charAt', 'changeList',
+            'change', 'ceil', 'caretIndex', 'caption', 'capsLock', 'cancelable',
+            'cancel', 'callee', 'callProperty', 'call', 'cacheAsBitmap', 'c',
+            'bytesTotal', 'bytesLoaded', 'bytesAvailable', 'buttonMode',
+            'buttonDown', 'bullet', 'builtInItems', 'bufferTime',
+            'bufferLength', 'bubbles', 'browse', 'bottomScrollV', 'bottomRight',
+            'bottom', 'borderColor', 'border', 'bold', 'blurY', 'blurX',
+            'blueOffset', 'blueMultiplier', 'blockIndent', 'blendMode',
+            'bitmapData', 'bias', 'beginGradientFill', 'beginFill',
+            'beginBitmapFill', 'bandwidth', 'backgroundColor', 'background',
+            'b', 'available', 'avHardwareDisable', 'autoSize', 'attributes',
+            'attribute', 'attachNetStream', 'attachCamera', 'attachAudio',
+            'atan2', 'atan', 'asyncError', 'asin', 'ascent', 'artist',
+            'areSoundsInaccessible', 'areInaccessibleObjectsUnderPoint',
+            'applyFilter', 'apply', 'applicationDomain', 'appendText',
+            'appendChild', 'antiAliasType', 'angle', 'alwaysShowSelection',
+            'altKey', 'alphas', 'alphaOffset', 'alphaMultiplier', 'alpha',
+            'allowInsecureDomain', 'allowDomain', 'align', 'album',
+            'addedToStage', 'added', 'addPage', 'addNamespace', 'addHeader',
+            'addEventListener', 'addChildAt', 'addChild', 'addCallback', 'add',
+            'activityLevel', 'activity', 'active', 'activating', 'activate',
+            'actionScriptVersion', 'acos', 'accessibilityProperties', 'abs'
+            ),
+        8 => array(
+            'WRAP', 'VERTICAL', 'VARIABLES',
+            'UTC', 'UPLOAD_COMPLETE_DATA', 'UP', 'UNLOAD', 'UNKNOWN',
+            'UNIQUESORT', 'TOP_RIGHT', 'TOP_LEFT', 'TOP', 'TIMER_COMPLETE',
+            'TIMER', 'TEXT_NODE', 'TEXT_INPUT', 'TEXT', 'TAB_INDEX_CHANGE',
+            'TAB_ENABLED_CHANGE', 'TAB_CHILDREN_CHANGE', 'TAB', 'SYNC',
+            'SUBTRACT', 'SUBPIXEL', 'STATUS', 'STANDARD', 'SQUARE', 'SQRT2',
+            'SQRT1_2', 'SPACE', 'SOUND_COMPLETE', 'SOCKET_DATA', 'SHOW_ALL',
+            'SHIFT', 'SETTINGS_MANAGER', 'SELECT', 'SECURITY_ERROR', 'SCROLL',
+            'SCREEN', 'ROUND', 'ROLL_OVER', 'ROLL_OUT', 'RIGHT', 'RGB',
+            'RETURNINDEXEDARRAY', 'RESIZE', 'REPEAT', 'RENDER',
+            'REMOVED_FROM_STAGE', 'REMOVED', 'REMOTE', 'REGULAR', 'REFLECT',
+            'RED', 'RADIAL', 'PROGRESS', 'PRIVACY', 'POST', 'POSITIVE_INFINITY',
+            'PORTRAIT', 'PIXEL', 'PI', 'PENDING', 'PAGE_UP', 'PAGE_DOWN', 'PAD',
+            'OVERLAY', 'OUTER', 'OPEN', 'NaN', 'NUM_PAD', 'NUMPAD_SUBTRACT',
+            'NUMPAD_MULTIPLY', 'NUMPAD_ENTER', 'NUMPAD_DIVIDE',
+            'NUMPAD_DECIMAL', 'NUMPAD_ADD', 'NUMPAD_9', 'NUMPAD_8', 'NUMPAD_7',
+            'NUMPAD_6', 'NUMPAD_5', 'NUMPAD_4', 'NUMPAD_3', 'NUMPAD_2',
+            'NUMPAD_1', 'NUMPAD_0', 'NUMERIC', 'NO_SCALE', 'NO_BORDER',
+            'NORMAL', 'NONE', 'NEVER', 'NET_STATUS', 'NEGATIVE_INFINITY',
+            'MULTIPLY', 'MOUSE_WHEEL', 'MOUSE_UP', 'MOUSE_OVER', 'MOUSE_OUT',
+            'MOUSE_MOVE', 'MOUSE_LEAVE', 'MOUSE_FOCUS_CHANGE', 'MOUSE_DOWN',
+            'MITER', 'MIN_VALUE', 'MICROPHONE', 'MENU_SELECT',
+            'MENU_ITEM_SELECT', 'MEDIUM', 'MAX_VALUE', 'LOW', 'LOG2E', 'LOG10E',
+            'LOCAL_WITH_NETWORK', 'LOCAL_WITH_FILE', 'LOCAL_TRUSTED',
+            'LOCAL_STORAGE', 'LN2', 'LN10', 'LITTLE_ENDIAN', 'LINK',
+            'LINEAR_RGB', 'LINEAR', 'LIGHT_COLOR', 'LIGHTEN', 'LEFT', 'LCD',
+            'LAYER', 'LANDSCAPE', 'KOREAN', 'KEY_UP', 'KEY_FOCUS_CHANGE',
+            'KEY_DOWN', 'JUSTIFY', 'JAPANESE_KATAKANA_HALF',
+            'JAPANESE_KATAKANA_FULL', 'JAPANESE_HIRAGANA', 'Infinity', 'ITALIC',
+            'IO_ERROR', 'INVERT', 'INSERT', 'INPUT', 'INNER', 'INIT',
+            'IME_COMPOSITION', 'IGNORE', 'ID3', 'HTTP_STATUS', 'HORIZONTAL',
+            'HOME', 'HIGH', 'HARDLIGHT', 'GREEN', 'GET', 'FULLSCREEN', 'FULL',
+            'FOCUS_OUT', 'FOCUS_IN', 'FLUSHED', 'FLASH9', 'FLASH8', 'FLASH7',
+            'FLASH6', 'FLASH5', 'FLASH4', 'FLASH3', 'FLASH2', 'FLASH1', 'F9',
+            'F8', 'F7', 'F6', 'F5', 'F4', 'F3', 'F2', 'F15', 'F14', 'F13',
+            'F12', 'F11', 'F10', 'F1', 'EXACT_FIT', 'ESCAPE', 'ERROR', 'ERASE',
+            'ENTER_FRAME', 'ENTER', 'END', 'EMBEDDED', 'ELEMENT_NODE', 'E',
+            'DYNAMIC', 'DOWN', 'DOUBLE_CLICK', 'DIFFERENCE', 'DEVICE',
+            'DESCENDING', 'DELETE', 'DEFAULT', 'DEACTIVATE', 'DATA',
+            'DARK_COLOR', 'DARKEN', 'CRT', 'CONTROL', 'CONNECT', 'COMPLETE',
+            'COLOR', 'CLOSE', 'CLICK', 'CLAMP', 'CHINESE', 'CHANGE', 'CENTER',
+            'CASEINSENSITIVE', 'CAPTURING_PHASE', 'CAPS_LOCK', 'CANCEL',
+            'CAMERA', 'BUBBLING_PHASE', 'BOTTOM_RIGHT', 'BOTTOM_LEFT', 'BOTTOM',
+            'BOLD_ITALIC', 'BOLD', 'BLUE', 'BINARY', 'BIG_ENDIAN', 'BEVEL',
+            'BEST', 'BACKSPACE', 'AUTO', 'AT_TARGET', 'ASYNC_ERROR', 'AMF3',
+            'AMF0', 'ALWAYS', 'ALPHANUMERIC_HALF', 'ALPHANUMERIC_FULL', 'ALPHA',
+            'ADVANCED', 'ADDED_TO_STAGE', 'ADDED', 'ADD', 'ACTIVITY',
+            'ACTIONSCRIPT3', 'ACTIONSCRIPT2'
+            ),
+        //FIX: Must be last in order to avoid conflicts with keywords present
+        //in other keyword groups, that might get highlighted as part of the URL.
+        //I know this is not a proper work-around, but should do just fine.
+        5 => array(
+            'uint', 'int', 'arguments', 'XMLSocket', 'XMLNodeType', 'XMLNode',
+            'XMLList', 'XMLDocument', 'XML', 'Video', 'VerifyError',
+            'URLVariables', 'URLStream', 'URLRequestMethod', 'URLRequestHeader',
+            'URLRequest', 'URLLoaderDataFormat', 'URLLoader', 'URIError',
+            'TypeError', 'Transform', 'TimerEvent', 'Timer', 'TextSnapshot',
+            'TextRenderer', 'TextLineMetrics', 'TextFormatAlign', 'TextFormat',
+            'TextFieldType', 'TextFieldAutoSize', 'TextField', 'TextEvent',
+            'TextDisplayMode', 'TextColorType', 'System', 'SyntaxError',
+            'SyncEvent', 'StyleSheet', 'String', 'StatusEvent', 'StaticText',
+            'StageScaleMode', 'StageQuality', 'StageAlign', 'Stage',
+            'StackOverflowError', 'Sprite', 'SpreadMethod', 'SoundTransform',
+            'SoundMixer', 'SoundLoaderContext', 'SoundChannel', 'Sound',
+            'Socket', 'SimpleButton', 'SharedObjectFlushStatus', 'SharedObject',
+            'Shape', 'SecurityPanel', 'SecurityErrorEvent', 'SecurityError',
+            'SecurityDomain', 'Security', 'ScriptTimeoutError', 'Scene',
+            'SWFVersion', 'Responder', 'RegExp', 'ReferenceError', 'Rectangle',
+            'RangeError', 'QName', 'Proxy', 'ProgressEvent',
+            'PrintJobOrientation', 'PrintJobOptions', 'PrintJob', 'Point',
+            'PixelSnapping', 'ObjectEncoding', 'Object', 'Number', 'NetStream',
+            'NetStatusEvent', 'NetConnection', 'Namespace', 'MovieClip',
+            'MouseEvent', 'Mouse', 'MorphShape', 'Microphone', 'MemoryError',
+            'Matrix', 'Math', 'LocalConnection', 'LoaderInfo', 'LoaderContext',
+            'Loader', 'LineScaleMode', 'KeyboardEvent', 'Keyboard',
+            'KeyLocation', 'JointStyle', 'InvalidSWFError',
+            'InterpolationMethod', 'InteractiveObject', 'IllegalOperationError',
+            'IOErrorEvent', 'IOError', 'IMEEvent', 'IMEConversionMode', 'IME',
+            'IExternalizable', 'IEventDispatcher', 'IDynamicPropertyWriter',
+            'IDynamicPropertyOutput', 'IDataOutput', 'IDataInput', 'ID3Info',
+            'IBitmapDrawable', 'HTTPStatusEvent', 'GridFitType', 'Graphics',
+            'GradientType', 'GradientGlowFilter', 'GradientBevelFilter',
+            'GlowFilter', 'Function', 'FrameLabel', 'FontType', 'FontStyle',
+            'Font', 'FocusEvent', 'FileReferenceList', 'FileReference',
+            'FileFilter', 'ExternalInterface', 'EventPhase', 'EventDispatcher',
+            'Event', 'EvalError', 'ErrorEvent', 'Error', 'Endian', 'EOFError',
+            'DropShadowFilter', 'DisplayObjectContainer', 'DisplayObject',
+            'DisplacementMapFilterMode', 'DisplacementMapFilter', 'Dictionary',
+            'DefinitionError', 'Date', 'DataEvent', 'ConvolutionFilter',
+            'ContextMenuItem', 'ContextMenuEvent', 'ContextMenuBuiltInItems',
+            'ContextMenu', 'ColorTransform', 'ColorMatrixFilter', 'Class',
+            'CapsStyle', 'Capabilities', 'Camera', 'CSMSettings', 'ByteArray',
+            'Boolean', 'BlurFilter', 'BlendMode', 'BitmapFilterType',
+            'BitmapFilterQuality', 'BitmapFilter', 'BitmapDataChannel',
+            'BitmapData', 'Bitmap', 'BevelFilter', 'AsyncErrorEvent', 'Array',
+            'ArgumentError', 'ApplicationDomain', 'AntiAliasType',
+            'ActivityEvent', 'ActionScriptVersion', 'AccessibilityProperties',
+            'Accessibility', 'AVM1Movie'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}', '!', '%', '&', '*', '|', '/', '<', '>', '^', '-', '+', '~', '?', ':'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true,
+        6 => true,
+        7 => true,
+        8 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0033ff; font-weight: bold;',
+            2 => 'color: #6699cc; font-weight: bold;',
+            3 => 'color: #339966; font-weight: bold;',
+            4 => 'color: #9900cc; font-weight: bold;',
+            5 => 'color: #004993;',
+            6 => 'color: #004993;',
+            7 => 'color: #004993;',
+            8 => 'color: #004993;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #009900;',
+            'MULTI' => 'color: #3f5fbf;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => ''
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #990000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #000000; font-weight:bold;'
+            ),
+        'METHODS' => array(
+            0 => 'color: #000000;',
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000000; font-weight: bold;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => 'http://www.google.com/search?q={FNAMEL}%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:{FNAMEL}.html&amp;filter=0&amp;num=100&amp;btnI=lucky',
+        6 => '',
+        7 => '',
+        8 => ''
+        ),
+    'OOLANG' => false,//Save some time as OO identifiers aren't used
+    'OBJECT_SPLITTERS' => array(
+        // commented out because it's not very relevant for AS, as all properties, methods and constants are dot-accessed.
+        // I believe it's preferable to have package highlighting for example, which is not possible with this enabled.
+        // 0 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array()
+);
+
+?>
\ No newline at end of file
--- a/plugins/geshi/geshi/ada.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/ada.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * -------
  * Author: Tux (tux@inmail.cz)
  * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/07/29
  *
  * Ada language file for GeSHi.
@@ -44,90 +44,90 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Ada',
-	'COMMENT_SINGLE' => array(1 => '--'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'begin', 'declare', 'do', 'else', 'elsif', 'exception', 'for', 'if',
-			'is', 'loop', 'while', 'then', 'is', 'end', 'select', 'case', 'while',  'until',
-			'goto', 'return'
-			),
-		2 => array(
-			'abs', 'and', 'mod', 'not', 'or', 'rem', 'xor'
-		  	),
-		3 => array(
-			'abort', 'abstract', 'accept', 'access', 'aliased', 'all', 'array', 'at', 'body',
-			'constant', 'delay', 'delta', 'digits', 'entry', 'exit',
-			'function', 'generic', 'in', 'limited', 'new', 'null', 'of', 'others', 'out', 'package', 'pragma',
-			'private', 'procedure', 'protected', 'raise', 'range', 'record', 'renames', 'requeue', 'reverse',
-			'separate', 'subtype', 'tagged', 'task', 'terminate', 'type', 'use', 'when', 'with'
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #00007f;',
-			2 => 'color: #0000ff;',
-			3 => 'color: #46aa03; font-weight:bold;',
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #adadad; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #7f007f;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'METHODS' => array(
-			1 => 'color: #202020;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => ''
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'Ada',
+    'COMMENT_SINGLE' => array(1 => '--'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'begin', 'declare', 'do', 'else', 'elsif', 'exception', 'for', 'if',
+            'is', 'loop', 'while', 'then', 'end', 'select', 'case', 'until',
+            'goto', 'return'
+            ),
+        2 => array(
+            'abs', 'and', 'mod', 'not', 'or', 'rem', 'xor'
+            ),
+        3 => array(
+            'abort', 'abstract', 'accept', 'access', 'aliased', 'all', 'array', 'at', 'body',
+            'constant', 'delay', 'delta', 'digits', 'entry', 'exit',
+            'function', 'generic', 'in', 'limited', 'new', 'null', 'of', 'others', 'out', 'package', 'pragma',
+            'private', 'procedure', 'protected', 'raise', 'range', 'record', 'renames', 'requeue', 'reverse',
+            'separate', 'subtype', 'tagged', 'task', 'terminate', 'type', 'use', 'when', 'with'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #00007f;',
+            2 => 'color: #0000ff;',
+            3 => 'color: #46aa03; font-weight:bold;',
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #adadad; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #7f007f;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #202020;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/apache.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/apache.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * ----------
  * Author: Tux (tux@inmail.cz)
  * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/29/07
  *
  * Apache language file for GeSHi.
@@ -12,6 +12,11 @@
  *
  * CHANGES
  * -------
+ * 2008/17/06 (1.0.8)
+ *  -  Added support for apache configuration sections (milian)
+ *  -  Added missing php keywords (milian)
+ *  -  Added some more keywords
+ *  -  Disabled highlighting of brackets by default
  * 2004/11/27 (1.0.2)
  *  -  Added support for multiple object splitters
  * 2004/10/27 (1.0.1)
@@ -43,129 +48,159 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Apache Log',
-	'COMMENT_SINGLE' => array(1 => '#'),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		/*keywords*/
-	        1 => array(
-			'accessconfig','accessfilename','action','addalt',
-			'addaltbyencoding','addaltbytype','addcharset',
-			'adddefaultcharset','adddescription',
-			'addencoding','addhandler','addicon','addiconbyencoding',
-			'addiconbytype','addlanguage','addmodule','addmoduleinfo',
-			'addtype','agentlog','alias','aliasmatch',
-			'allow','allowconnect','allowoverride','anonymous',
-			'anonymous_authoritative','anonymous_logemail','anonymous_mustgiveemail',
-			'anonymous_nouserid','anonymous_verifyemail','authauthoritative',
-			'authdbauthoritative','authdbgroupfile','authdbmauthoritative',
-			'authdbmgroupfile','authdbmgroupfile','authdbuserfile','authdbmuserfile',
-			'authdigestfile','authgroupfile','authname','authtype',
-			'authuserfile','bindaddress','browsermatch','browsermatchnocase',
-			'bs2000account','cachedefaultexpire','cachedirlength','cachedirlevels',
-			'cacheforcecompletion','cachegcinterval','cachelastmodifiedfactor','cachemaxexpire',
-			'cachenegotiateddocs','cacheroot','cachesize','checkspelling',
-			'clearmodulelist','contentdigest','cookieexpires','cookielog',
-			'cookielog','cookietracking','coredumpdirectory','customlog',
-			'defaulticon','defaultlanguage','defaulttype','define',
-			'deny','directory','directorymatch','directoryindex',
-			'documentroot','errordocument','errorlog','example',
-			'expiresactive','expiresbytype','expiresdefault','extendedstatus',
-			'fancyindexing','files','filesmatch','forcetype',
-			'group','header','headername','hostnamelookups',
-			'identitycheck','ifdefine','ifmodule','imapbase',
-			'imapdefault','imapmenu','include','indexignore',
-			'indexoptions','keepalive','keepalivetimeout','languagepriority',
-			'limit','limitexcept','limitrequestbody','limitrequestfields',
-			'limitrequestfieldsize','limitrequestline','listen','listenbacklog',
-			'loadfile','loadmodule','location','locationmatch',
-			'lockfile','logformat','loglevel','maxclients',
-			'maxkeepaliverequests','maxrequestsperchild','maxspareservers','metadir',
-			'metafiles','metasuffix','mimemagicfile','minspareservers',
-			'mmapfile','namevirtualhost','nocache','options','order',
-			'passenv','pidfile','port','proxyblock','proxydomain',
-			'proxypass','proxypassreverse','proxyreceivebuffersize','proxyremote',
-			'proxyrequests','proxyvia','qsc','readmename',
-			'redirect','redirectmatch','redirectpermanent','redirecttemp',
-			'refererignore','refererlog','removehandler','require',
-			'resourceconfig','rewritebase','rewritecond','rewriteengine',
-			'rewritelock','rewritelog','rewriteloglevel','rewritemap',
-			'rewriteoptions','rewriterule','rlimitcpu','rlimitmem',
-			'rlimitnproc','satisfy','scoreboardfile','script',
-			'scriptalias','scriptaliasmatch','scriptinterpretersource','scriptlog',
-			'scriptlogbuffer','scriptloglength','sendbuffersize',
-			'serveradmin','serveralias','servername','serverpath',
-			'serverroot','serversignature','servertokens','servertype',
-			'setenv','setenvif','setenvifnocase','sethandler',
-			'singlelisten','startservers','threadsperchild','timeout',
-			'transferlog','typesconfig','unsetenv','usecanonicalname',
-			'user','userdir','virtualhost','virtualdocumentroot',
-			'virtualdocumentrootip','virtualscriptalias','virtualscriptaliasip',
-			'xbithack','from','all'
-		  ),
-		/*keyords 2*/
-		2 => array(
-			'on','off','standalone','inetd',
-			'force-response-1.0','downgrade-1.0','nokeepalive',
-			'ndexes','includes','followsymlinks','none',
-			'x-compress','x-gzip'
-		)
-	),
-	'SYMBOLS' => array(
-		'(', ')'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #00007f;',
-			2 => 'color: #0000ff;',
-			),
-		'COMMENTS' => array(
-			1 => 'color: #adadad; font-style: italic;',
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #7f007f;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'METHODS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => ''
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'Apache configuration',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        /*keywords*/
+        1 => array(
+            'accessconfig','accessfilename','action','addalt',
+            'addaltbyencoding','addaltbytype','addcharset',
+            'adddefaultcharset','adddescription',
+            'addencoding','addhandler','addicon','addiconbyencoding',
+            'addiconbytype','addlanguage','addmodule','addmoduleinfo',
+            'addtype','agentlog','alias','aliasmatch',
+            'allow','allowconnect','allowoverride','anonymous',
+            'anonymous_authoritative','anonymous_logemail','anonymous_mustgiveemail',
+            'anonymous_nouserid','anonymous_verifyemail','authauthoritative',
+            'authdbauthoritative','authdbgroupfile','authdbmauthoritative',
+            'authdbmgroupfile','authdbuserfile','authdbmuserfile',
+            'authdigestfile','authgroupfile','authname','authtype',
+            'authuserfile','bindaddress','browsermatch','browsermatchnocase',
+            'bs2000account','cachedefaultexpire','cachedirlength','cachedirlevels',
+            'cacheforcecompletion','cachegcinterval','cachelastmodifiedfactor','cachemaxexpire',
+            'cachenegotiateddocs','cacheroot','cachesize','checkspelling',
+            'clearmodulelist','contentdigest','cookieexpires','cookielog',
+            'cookietracking','coredumpdirectory','customlog',
+            'defaulticon','defaultlanguage','defaulttype','define',
+            'deny','directory','directorymatch','directoryindex',
+            'documentroot','errordocument','errorlog','example',
+            'expiresactive','expiresbytype','expiresdefault','extendedstatus',
+            'fancyindexing','files','filesmatch','forcetype',
+            'group','header','headername','hostnamelookups',
+            'identitycheck','ifdefine','ifmodule','imapbase',
+            'imapdefault','imapmenu','include','indexignore','indexorderdefault',
+            'indexoptions','keepalive','keepalivetimeout','languagepriority',
+            'limit','limitexcept','limitrequestbody','limitrequestfields',
+            'limitrequestfieldsize','limitrequestline','listen','listenbacklog',
+            'loadfile','loadmodule','location','locationmatch',
+            'lockfile','logformat','loglevel','maxclients',
+            'maxkeepaliverequests','maxrequestsperchild','maxspareservers','maxsparethreads','metadir',
+            'metafiles','metasuffix','mimemagicfile','minspareservers','minsparethreads',
+            'mmapfile','namevirtualhost','nocache','options','order',
+            'passenv','php_admin_value','php_admin_flag','php_value','pidfile','port','proxyblock','proxydomain',
+            'proxypass','proxypassreverse','proxyreceivebuffersize','proxyremote',
+            'proxyrequests','proxyvia','qsc','readmename',
+            'redirect','redirectmatch','redirectpermanent','redirecttemp',
+            'refererignore','refererlog','removehandler','require',
+            'resourceconfig','rewritebase','rewritecond','rewriteengine',
+            'rewritelock','rewritelog','rewriteloglevel','rewritemap',
+            'rewriteoptions','rewriterule','rlimitcpu','rlimitmem',
+            'rlimitnproc','satisfy','scoreboardfile','script',
+            'scriptalias','scriptaliasmatch','scriptinterpretersource','scriptlog',
+            'scriptlogbuffer','scriptloglength','sendbuffersize',
+            'serveradmin','serveralias','servername','serverpath',
+            'serverroot','serversignature','servertokens','servertype',
+            'setenv','setenvif','setenvifnocase','sethandler',
+            'singlelisten','startservers','threadsperchild','timeout',
+            'transferlog','typesconfig','unsetenv','usecanonicalname',
+            'user','userdir','virtualhost','virtualdocumentroot',
+            'virtualdocumentrootip','virtualscriptalias','virtualscriptaliasip',
+            'xbithack','from','all'
+            ),
+        /*keywords 2*/
+        2 => array(
+            'on','off','standalone','inetd','indexes',
+            'force-response-1.0','downgrade-1.0','nokeepalive',
+            'ndexes','includes','followsymlinks','none',
+            'x-compress','x-gzip'
+        ),
+        /*keywords 3*/
+        3 => array(
+            'Directory',
+            'DirectoryMatch',
+            'Files',
+            'FilesMatch',
+            'IfDefine',
+            'IfModule',
+            'IfVersion',
+            'Location',
+            'LocationMatch',
+            'Proxy',
+            'ProxyMatch',
+            'VirtualHost'
+        )
+    ),
+    'SYMBOLS' => array(
+        '+', '-'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #00007f;',
+            2 => 'color: #0000ff;',
+            3 => 'color: #000000; font-weight:bold;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #adadad; font-style: italic;',
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #339933;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #7f007f;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #008000;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'BRACKETS' => GESHI_NEVER,
+            'SYMBOLS' => GESHI_NEVER
+        ),
+        'KEYWORDS' => array(
+            3 => array(
+                'DISALLOWED_BEFORE' => '(?<=&lt;|&lt;\/)',
+                'DISALLOWED_AFTER' => '(?=\s|\/|&gt;)',
+            )
+        )
+    )
 );
 
 ?>
--- a/plugins/geshi/geshi/applescript.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/applescript.php	Fri May 29 19:30:59 2009 -0400
@@ -4,15 +4,17 @@
  * --------
  * Author: Stephan Klimek (http://www.initware.org)
  * Copyright: Stephan Klimek (http://www.initware.org)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2005/07/20
  *
  * AppleScript language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *  -  Added description of extra language features (SF#1970248)
  *
- * TODO 
+ * TODO
  * -------------------------
  * URL settings to references
  *
@@ -37,25 +39,29 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'AppleScript',
-	'COMMENT_SINGLE' => array(1 => '--'),
-	'COMMENT_MULTI' => array( '(*' => '*)'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"',"'"),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-            'script','property','prop','end','copy','to','set','global','local','on','to','of',
+    'LANG_NAME' => 'AppleScript',
+    'COMMENT_SINGLE' => array(1 => '--'),
+    'COMMENT_MULTI' => array( '(*' => '*)'),
+    'COMMENT_REGEXP' => array(
+        2 => '/(?<=[a-z])\'/i',
+        3 => '/(?<![a-z])\'.*?\'/i',
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'script','property','prop','end','to','set','global','local','on','of',
             'in','given','with','without','return','continue','tell','if','then','else','repeat',
             'times','while','until','from','exit','try','error','considering','ignoring','timeout',
             'transaction','my','get','put','into','is'
-			),
-		2 => array(
+            ),
+        2 => array(
             'each','some','every','whose','where','id','index','first','second','third','fourth',
             'fifth','sixth','seventh','eighth','ninth','tenth','last','front','back','st','nd',
             'rd','th','middle','named','through','thru','before','after','beginning','the'
-			),
-		3 => array(
+            ),
+        3 => array(
             'close','copy','count','delete','duplicate','exists','launch','make','move','open',
             'print','quit','reopen','run','save','saving',
             'it','me','version','pi','result','space','tab','anything','case','diacriticals','expansion',
@@ -66,69 +72,75 @@
             'mar','april','apr','may','june','jun','july','jul','august','aug','september',
             'sep','october','oct','november','nov','december','dec','minutes','hours',
             'days','weeks','div','mod','and','not','or','as','contains','equal','equals','isnt'
-			)
-		),
-	'SYMBOLS' => array(
+            )
+        ),
+    'SYMBOLS' => array(
         ')','+','-','^','*','/','&','<','>=','<','<=','=','�'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;',
-			2 => 'color: #000000; font-weight: bold;',
-			3 => 'color: #000066;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #006600;',
-			2 => 'color: #006600;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			0 => 'color: #0000ff;',
-			4 => 'color: #009999;',
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		3 => ''
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => ',+-=&lt;&gt;/?^&amp;*'
-		),
-	'REGEXPS' => array(
-		0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*',
-		4 => '&lt;[a-zA-Z_][a-zA-Z0-9_]*&gt;',
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #000066;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            2 => '',
+            3 => 'color: #ff0000;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;',
+            2 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #0000ff;',
+            4 => 'color: #009999;',
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => ',+-=&lt;&gt;/?^&amp;*'
+        ),
+    'REGEXPS' => array(
+        //Variables
+        0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*',
+        //File descriptors
+        4 => '&lt;[a-zA-Z_][a-zA-Z0-9_]*&gt;',
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/apt_sources.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,144 @@
+<?php
+/*************************************************************************************
+ * apt_sources.php
+ * ----------
+ * Author: Milian Wolff (mail@milianw.de)
+ * Copyright: (c) 2008 Milian Wolff (http://milianw.de)
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/06/17
+ *
+ * Apt sources.list language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/06/17 (1.0.8)
+ *  -  Initial import
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Apt sources',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        /*keywords*/
+        1 => array(
+            'deb-src', 'deb'
+            ),
+        2 => array(
+            //Generic
+            'stable', 'old-stable', 'testing', 'testing-proposed-updates',
+            'unstable', 'unstable-proposed-updates', 'experimental',
+            'non-US', 'security', 'volatile', 'volatile-sloppy',
+            'apt-build',
+            'stable/updates',
+            //Debian
+            'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato', 'woody', 'sarge',
+            'etch', 'lenny', 'sid',
+            //Ubuntu
+            'warty', 'warty-updates', 'warty-security', 'warty-proposed', 'warty-backports',
+            'hoary', 'hoary-updates', 'hoary-security', 'hoary-proposed', 'hoary-backports',
+            'breezy', 'breezy-updates', 'breezy-security', 'breezy-proposed', 'breezy-backports',
+            'dapper', 'dapper-updates', 'dapper-security', 'dapper-proposed', 'dapper-backports',
+            'edgy', 'edgy-updates', 'edgy-security', 'edgy-proposed', 'edgy-backports',
+            'feisty', 'feisty-updates', 'feisty-security', 'feisty-proposed', 'feisty-backports',
+            'gutsy', 'gutsy-updates', 'gutsy-security', 'gutsy-proposed', 'gutsy-backports',
+            'hardy', 'hardy-updates', 'hardy-security', 'hardy-proposed', 'hardy-backports',
+            'intrepid', 'intrepid-updates', 'intrepid-security', 'intrepid-proposed', 'intrepid-backports'
+            ),
+        3 => array(
+            'main', 'restricted', 'preview', 'contrib', 'non-free',
+            'commercial', 'universe', 'multiverse'
+            )
+    ),
+    'REGEXPS' => array(
+        0 => "(((http|ftp):\/\/|file:\/)[^\s]+)|(cdrom:\[[^\]]*\][^\s]*)",
+        ),
+    'SYMBOLS' => array(
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => true,
+        3 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #00007f;',
+            2 => 'color: #b1b100;',
+            3 => 'color: #b16000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #adadad; font-style: italic;',
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'BRACKETS' => array(
+            ),
+        'STRINGS' => array(
+            ),
+        'NUMBERS' => array(
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #009900;',
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'NUMBERS' => GESHI_NEVER,
+            'METHODS' => GESHI_NEVER,
+            'SCRIPT' => GESHI_NEVER,
+            'SYMBOLS' => GESHI_NEVER,
+            'ESCAPE_CHAR' => GESHI_NEVER,
+            'BRACKETS' => GESHI_NEVER,
+            'STRINGS' => GESHI_NEVER,
+        ),
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9\$_\|\#;>|^\/])',
+            'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-&\.])'
+        )
+    ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- a/plugins/geshi/geshi/asm.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/asm.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * -------
  * Author: Tux (tux@inmail.cz)
  * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/07/27
  *
  * x86 Assembler language file for GeSHi.
@@ -12,8 +12,10 @@
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *   -  Added description of extra language features (SF#1970248)
  * 2004/11/27 (1.0.2)
- *  -  Added support for multiple object splitters
+ *   -  Added support for multiple object splitters
  * 2004/10/27 (1.0.1)
  *   -  Added support for URLs
  *   -  Added binary and hexadecimal regexps
@@ -44,156 +46,180 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'ASM',
-	'COMMENT_SINGLE' => array(1 => ';'),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		/*CPU*/
-		1 => array(
-		       'aaa','aad','aam','aas','adc','add','and','call','cbw','clc','cld','cli','cmc','cmp',
-			'cmps','cmpsb','cmpsw','cwd','daa','das','dec','div','esc','hlt','idiv','imul','in','inc',
-			'int','into','iret','ja','jae','jb','jbe','jc','jcxz','je','jg','jge','jl','jle','jmp',
-			'jna','jnae','jnb','jnbe','jnc','jne','jng','jnge','jnl','jnle','jno','jnp','jns','jnz',
-			'jo','jp','jpe','jpo','js','jz','lahf','lds','lea','les','lods','lodsb','lodsw','loop',
-			'loope','loopew','loopne','loopnew','loopnz','loopnzw','loopw','loopz','loopzw','mov',
-			'movs','movsb','movsw','mul','neg','nop','not','or','out','pop','popf','push','pushf',
-			'rcl','rcr','ret','retf','retn','rol','ror','sahf','sal','sar','sbb','scas','scasb','scasw',
-			'shl','shr','stc','std','sti','stos','stosb','stosw','sub','test','wait','xchg','xlat',
-			'xlatb','xor','bound','enter','ins','insb','insw','leave','outs','outsb','outsw','popa','pusha','pushw',
-			'arpl','lar','lsl','sgdt','sidt','sldt','smsw','str','verr','verw','clts','lgdt','lidt','lldt','lmsw','ltr',
-			'bsf','bsr','bt','btc','btr','bts','cdq','cmpsd','cwde','insd','iretd','iretdf','iretf',
-			'jecxz','lfs','lgs','lodsd','loopd','looped','loopned','loopnzd','loopzd','lss','movsd',
-			'movsx','movzx','outsd','popad','popfd','pushad','pushd','pushfd','scasd','seta','setae',
-			'setb','setbe','setc','sete','setg','setge','setl','setle','setna','setnae','setnb','setnbe',
-			'setnc','setne','setng','setnge','setnl','setnle','setno','setnp','setns','setnz','seto','setp',
-			'setpe','setpo','sets','setz','shld','shrd','stosd','bswap','cmpxchg','invd','invlpg','wbinvd','xadd','lock',
-			'rep','repe','repne','repnz','repz'
-		  ),
-		/*FPU*/
-		2 => array(
-			  'f2xm1','fabs','fadd','faddp','fbld','fbstp','fchs','fclex','fcom','fcomp','fcompp','fdecstp',
-			 'fdisi','fdiv','fdivp','fdivr','fdivrp','feni','ffree','fiadd','ficom','ficomp','fidiv',
-   			 'fidivr','fild','fimul','fincstp','finit','fist','fistp','fisub','fisubr','fld','fld1',
-			 'fldcw','fldenv','fldenvw','fldl2e','fldl2t','fldlg2','fldln2','fldpi','fldz','fmul',
-			 'fmulp','fnclex','fndisi','fneni','fninit','fnop','fnsave','fnsavew','fnstcw','fnstenv',
-			 'fnstenvw','fnstsw','fpatan','fprem','fptan','frndint','frstor','frstorw','fsave',
-			 'fsavew','fscale','fsqrt','fst','fstcw','fstenv','fstenvw','fstp','fstsw','fsub','fsubp',
-			 'fsubr','fsubrp','ftst','fwait','fxam','fxch','fxtract','fyl2x','fyl2xp1',
-			 'fsetpm','fcos','fldenvd','fnsaved','fnstenvd','fprem1','frstord','fsaved','fsin','fsincos',
-			 'fstenvd','fucom','fucomp','fucompp'
-		    ),
-		/*registers*/
-		3 => array(
-			'ah','al','ax','bh','bl','bp','bx','ch','cl','cr0','cr2','cr3','cs','cx','dh','di','dl',
-			'dr0','dr1','dr2','dr3','dr6','dr7','ds','dx','eax','ebp','ebx','ecx','edi','edx',
-			 'es','esi','esp','fs','gs','si','sp','ss','st','tr3','tr4','tr5','tr6','tr7', 'ah', 'bh', 'ch', 'dh'
-			),
-		/*Directive*/
-		4 => array(
-			  '186','286','286c','286p','287','386','386c','386p','387','486','486p',
-			 '8086','8087','alpha','break','code','const','continue','cref','data','data?',
-			'dosseg','else','elseif','endif','endw','err','err1','err2','errb',
-			 'errdef','errdif','errdifi','erre','erridn','erridni','errnb','errndef',
-			 'errnz','exit','fardata','fardata?','if','lall','lfcond','list','listall',
-			 'listif','listmacro','listmacroall',' model','no87','nocref','nolist',
-			 'nolistif','nolistmacro','radix','repeat','sall','seq','sfcond','stack',
-			  'startup','tfcond','type','until','untilcxz','while','xall','xcref',
-			  'xlist','alias','align','assume','catstr','comm','comment','db','dd','df','dosseg','dq',
-			  'dt','dup','dw','echo','else','elseif','elseif1','elseif2','elseifb','elseifdef','elseifdif',
-			  'elseifdifi','elseife','elseifidn','elseifidni','elseifnb','elseifndef','end',
-			  'endif','endm','endp','ends','eq',' equ','even','exitm','extern','externdef','extrn','for',
-			  'forc','ge','goto','group','high','highword','if','if1','if2','ifb','ifdef','ifdif',
-			  'ifdifi','ife',' ifidn','ifidni','ifnb','ifndef','include','includelib','instr','invoke',
-			  'irp','irpc','label','le','length','lengthof','local','low','lowword','lroffset',
-			  'macro','mask','mod','msfloat','name','ne','offset','opattr','option','org','%out',
-			  'page','popcontext','proc','proto','ptr','public','purge','pushcontext','record',
-			  'repeat','rept','seg','segment','short','size','sizeof','sizestr','struc','struct',
-			  'substr','subtitle','subttl','textequ','this','title','type','typedef','union','while','width',
-			  '.model', '.stack', '.code', '.data'
-
-		    ),
-
-		/*Operands*/
-		5 => array(
-			 '@b','@f','addr','basic','byte','c','carry?','dword',
-			 'far','far16','fortran','fword','near','near16','overflow?','parity?','pascal','qword',
-			 'real4',' real8','real10','sbyte','sdword','sign?','stdcall','sword','syscall','tbyte',
-			 'vararg','word','zero?','flat','near32','far32',
-			 'abs','all','assumes','at','casemap','common','compact',
-			 'cpu','dotname','emulator','epilogue','error','export','expr16','expr32','farstack','flat',
-			 'forceframe','huge','language','large','listing','ljmp','loadds','m510','medium','memory',
-			 'nearstack','nodotname','noemulator','nokeyword','noljmp','nom510','none','nonunique',
-			 'nooldmacros','nooldstructs','noreadonly','noscoped','nosignextend','nothing',
-			 'notpublic','oldmacros','oldstructs','os_dos','para','private','prologue','radix',
-			 'readonly','req','scoped','setif2','smallstack','tiny','use16','use32','uses'
-			)
-		),
-	'SYMBOLS' => array(
-		'[', ']', '(', ')'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		5 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #00007f;',
-			2 => 'color: #0000ff;',
-			3 => 'color: #46aa03; font-weight:bold;',
-			4 => 'color: #0000ff;',
-			5 => 'color: #0000ff;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #adadad; font-style: italic;',
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #7f007f;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'METHODS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			0 => 'color: #ff0000;',
-			1 => 'color: #ff0000;'
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => ''
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		0 => '0[0-9a-fA-F]{1,32}[hH]',
-		1 => '[01]{1,64}[bB]'
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
+    'LANG_NAME' => 'ASM',
+    'COMMENT_SINGLE' => array(1 => ';'),
+    'COMMENT_MULTI' => array(),
+    //Line address prefix suppression
+    'COMMENT_REGEXP' => array(2 => "/^(?:[0-9a-f]{0,4}:)?[0-9a-f]{4}(?:[0-9a-f]{4})?/mi"),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        /*CPU*/
+        1 => array(
+            'aaa','aad','aam','aas','adc','add','and','call','cbw','clc','cld','cli','cmc','cmp',
+            'cmps','cmpsb','cmpsw','cwd','daa','das','dec','div','esc','hlt','idiv','imul','in','inc',
+            'int','into','iret','ja','jae','jb','jbe','jc','jcxz','je','jg','jge','jl','jle','jmp',
+            'jna','jnae','jnb','jnbe','jnc','jne','jng','jnge','jnl','jnle','jno','jnp','jns','jnz',
+            'jo','jp','jpe','jpo','js','jz','lahf','lds','lea','les','lods','lodsb','lodsw','loop',
+            'loope','loopew','loopne','loopnew','loopnz','loopnzw','loopw','loopz','loopzw','mov',
+            'movs','movsb','movsw','mul','neg','nop','not','or','out','pop','popf','push','pushf',
+            'rcl','rcr','ret','retf','retn','rol','ror','sahf','sal','sar','sbb','scas','scasb','scasw',
+            'shl','shr','stc','std','sti','stos','stosb','stosw','sub','test','wait','xchg','xlat',
+            'xlatb','xor','bound','enter','ins','insb','insw','leave','outs','outsb','outsw','popa','pusha','pushw',
+            'arpl','lar','lsl','sgdt','sidt','sldt','smsw','str','verr','verw','clts','lgdt','lidt','lldt','lmsw','ltr',
+            'bsf','bsr','bt','btc','btr','bts','cdq','cmpsd','cwde','insd','iretd','iretdf','iretf',
+            'jecxz','lfs','lgs','lodsd','loopd','looped','loopned','loopnzd','loopzd','lss','movsd',
+            'movsx','movzx','outsd','popad','popfd','pushad','pushd','pushfd','scasd','seta','setae',
+            'setb','setbe','setc','sete','setg','setge','setl','setle','setna','setnae','setnb','setnbe',
+            'setnc','setne','setng','setnge','setnl','setnle','setno','setnp','setns','setnz','seto','setp',
+            'setpe','setpo','sets','setz','shld','shrd','stosd','bswap','cmpxchg','invd','invlpg','wbinvd','xadd','lock',
+            'rep','repe','repne','repnz','repz'
+            ),
+        /*FPU*/
+        2 => array(
+            'f2xm1','fabs','fadd','faddp','fbld','fbstp','fchs','fclex','fcom','fcomp','fcompp','fdecstp',
+            'fdisi','fdiv','fdivp','fdivr','fdivrp','feni','ffree','fiadd','ficom','ficomp','fidiv',
+            'fidivr','fild','fimul','fincstp','finit','fist','fistp','fisub','fisubr','fld','fld1',
+            'fldcw','fldenv','fldenvw','fldl2e','fldl2t','fldlg2','fldln2','fldpi','fldz','fmul',
+            'fmulp','fnclex','fndisi','fneni','fninit','fnop','fnsave','fnsavew','fnstcw','fnstenv',
+            'fnstenvw','fnstsw','fpatan','fprem','fptan','frndint','frstor','frstorw','fsave',
+            'fsavew','fscale','fsqrt','fst','fstcw','fstenv','fstenvw','fstp','fstsw','fsub','fsubp',
+            'fsubr','fsubrp','ftst','fwait','fxam','fxch','fxtract','fyl2x','fyl2xp1',
+            'fsetpm','fcos','fldenvd','fnsaved','fnstenvd','fprem1','frstord','fsaved','fsin','fsincos',
+            'fstenvd','fucom','fucomp','fucompp'
+            ),
+        /*registers*/
+        3 => array(
+            'ah','al','ax','bh','bl','bp','bx','ch','cl','cr0','cr2','cr3','cs','cx','dh','di','dl',
+            'dr0','dr1','dr2','dr3','dr6','dr7','ds','dx','eax','ebp','ebx','ecx','edi','edx',
+            'es','esi','esp','fs','gs','si','sp','ss','st','tr3','tr4','tr5','tr6','tr7'
+            ),
+        /*Directive*/
+        4 => array(
+            '186','286','286c','286p','287','386','386c','386p','387','486','486p',
+            '8086','8087','alpha','break','code','const','continue','cref','data','data?',
+            'dosseg','else','elseif','endif','endw','err','err1','err2','errb',
+            'errdef','errdif','errdifi','erre','erridn','erridni','errnb','errndef',
+            'errnz','exit','fardata','fardata?','if','lall','lfcond','list','listall',
+            'listif','listmacro','listmacroall',' model','no87','nocref','nolist',
+            'nolistif','nolistmacro','radix','repeat','sall','seq','sfcond','stack',
+            'startup','tfcond','type','until','untilcxz','while','xall','xcref',
+            'xlist','alias','align','assume','catstr','comm','comment','db','dd','df','dq',
+            'dt','dup','dw','echo','elseif1','elseif2','elseifb','elseifdef','elseifdif',
+            'elseifdifi','elseife','elseifidn','elseifidni','elseifnb','elseifndef','end',
+            'endm','endp','ends','eq',' equ','even','exitm','extern','externdef','extrn','for',
+            'forc','ge','goto','group','high','highword','if1','if2','ifb','ifdef','ifdif',
+            'ifdifi','ife',' ifidn','ifidni','ifnb','ifndef','include','includelib','instr','invoke',
+            'irp','irpc','label','le','length','lengthof','local','low','lowword','lroffset',
+            'macro','mask','mod','msfloat','name','ne','offset','opattr','option','org','%out',
+            'page','popcontext','private','proc','proto','ptr','public','purge','pushcontext','record',
+            'rept','seg','segment','short','size','sizeof','sizestr','struc','struct',
+            'substr','subtitle','subttl','textequ','this','title','typedef','union','width',
+            '.model', '.stack', '.code', '.data'
+            ),
+        /*Operands*/
+        5 => array(
+            '@b','@f','addr','basic','byte','c','carry?','dword',
+            'far','far16','fortran','fword','near','near16','overflow?','parity?','pascal','qword',
+            'real4',' real8','real10','sbyte','sdword','sign?','stdcall','sword','syscall','tbyte',
+            'vararg','word','zero?','flat','near32','far32',
+            'abs','all','assumes','at','casemap','common','compact',
+            'cpu','dotname','emulator','epilogue','error','export','expr16','expr32','farstack',
+            'forceframe','huge','language','large','listing','ljmp','loadds','m510','medium','memory',
+            'nearstack','nodotname','noemulator','nokeyword','noljmp','nom510','none','nonunique',
+            'nooldmacros','nooldstructs','noreadonly','noscoped','nosignextend','nothing',
+            'notpublic','oldmacros','oldstructs','os_dos','para','prologue',
+            'readonly','req','scoped','setif2','smallstack','tiny','use16','use32','uses'
+            )
         ),
-    'TAB_WIDTH' => 8
+    'SYMBOLS' => array(
+        '[', ']', '(', ')',
+        '+', '-', '*', '/', '%',
+        '.', ',', ';', ':'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #00007f; font-weight: bold;',
+            2 => 'color: #0000ff; font-weight: bold;',
+            3 => 'color: #00007f;',
+            4 => 'color: #000000; font-weight: bold;',
+            5 => 'color: #000000; font-weight: bold;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            2 => 'color: #adadad; font-style: italic;',
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900; font-weight: bold;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #7f007f;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(
+//            0 => 'color: #0000ff;',
+//            1 => 'color: #0000ff;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => ''
+        ),
+    'NUMBERS' =>
+        GESHI_NUMBER_BIN_PREFIX_PERCENT |
+        GESHI_NUMBER_BIN_SUFFIX |
+        GESHI_NUMBER_HEX_PREFIX |
+        GESHI_NUMBER_HEX_SUFFIX |
+        GESHI_NUMBER_OCT_SUFFIX |
+        GESHI_NUMBER_INT_BASIC |
+        GESHI_NUMBER_FLT_NONSCI |
+        GESHI_NUMBER_FLT_NONSCI_F |
+        GESHI_NUMBER_FLT_SCI_ZERO,
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        //Hex numbers
+//        0 => /*  */ "(?<=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))(?:[0-9][0-9a-fA-F]{0,31}[hH]|0x[0-9a-fA-F]{1,32})(?=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))",
+        //Binary numbers
+//        1 => "(?<=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))[01]{1,64}[bB](?=([\\s\\(\\)\\[\\],;.:+\\-\\/*]))"
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 8,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#>|^])",
+            'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%])"
+        )
+    )
 );
 
 ?>
--- a/plugins/geshi/geshi/asp.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/asp.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * --------
  * Author: Amit Gupta (http://blog.igeek.info/)
  * Copyright: (c) 2004 Amit Gupta (http://blog.igeek.info/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/08/13
  *
  * ASP language file for GeSHi.
@@ -45,109 +45,120 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'ASP',
-	'COMMENT_SINGLE' => array(1 => "'", 2 => '//'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => 0,
-	'QUOTEMARKS' => array('"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'include', 'file', 'Dim', 'Option', 'Explicit', 'Implicit', 'Set', 'Select', 'ReDim', 'Preserve',
-			'ByVal', 'ByRef', 'End', 'Private', 'Public', 'If', 'Then', 'Else', 'ElseIf', 'Case', 'With', 'NOT',
-			'While', 'Wend', 'For', 'Loop', 'Do', 'Request', 'Response', 'Server', 'ADODB', 'Session', 'Application',
-			'Each', 'In', 'Get', 'Next', 'INT', 'CINT', 'CBOOL', 'CDATE', 'CBYTE', 'CCUR', 'CDBL', 'CLNG', 'CSNG',
-			'CSTR', 'Fix', 'Is', 'Sgn', 'String', 'Boolean', 'Currency', 'Me', 'Single', 'Long', 'Integer', 'Byte',
-			'Variant', 'Double', 'To', 'Let', 'Xor', 'Resume', 'On', 'Error', 'Imp', 'GoTo', 'Call', 'Global'
-			),
-		2 => array(
-			'Null', 'Nothing', 'And',
-			'False', '&lt;%', '%&gt;',
-			'&lt;script language=', '&lt;/script&gt;',
-			'True', 'var', 'Or', 'BOF', 'EOF',
-			'Function', 'Class', 'New', 'Sub'
-			),
-		3 => array(
-			'CreateObject', 'Write', 'Redirect', 'Cookies', 'BinaryRead', 'ClientCertificate', 'Form', 'QueryString',
-			'ServerVariables', 'TotalBytes', 'AddHeader', 'AppendToLog', 'BinaryWrite', 'Buffer', 'CacheControl',
-			'Charset', 'Clear', 'ContentType', 'End()', 'Expires', 'ExpiresAbsolute', 'Flush()', 'IsClientConnected',
-			'PICS', 'Status', 'Connection', 'Recordset', 'Execute', 'Abandon', 'Lock', 'UnLock', 'Command', 'Fields',
-			'Properties', 'Property', 'Send', 'Replace', 'InStr', 'TRIM', 'NOW', 'Day', 'Month', 'Hour', 'Minute', 'Second',
-			'Year', 'MonthName', 'LCase', 'UCase', 'Abs', 'Array', 'As', 'LEN', 'MoveFirst', 'MoveLast', 'MovePrevious',
-			'MoveNext', 'LBound', 'UBound', 'Transfer', 'Open', 'Close', 'MapPath', 'FileExists', 'OpenTextFile', 'ReadAll'
-			)
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false,
-		2 => false,
-		3 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #990099; font-weight: bold;',
-			2 => 'color: #0000ff; font-weight: bold;',
-			3 => 'color: #330066;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #008000;',
-			2 => 'color: #ff6600;',
-			'MULTI' => 'color: #008000;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #006600; font-weight:bold'
-			),
-		'STRINGS' => array(
-			0 => 'color: #cc0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #800000;'
-			),
-		'METHODS' => array(
-			1 => 'color: #9900cc;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #006600; font-weight: bold'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			0 => '',
-			1 => '',
-			2 => '',
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => ''
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_MAYBE,
-	'SCRIPT_DELIMITERS' => array(
-		0 => array(
-			'<%' => '%>'
-			),
-		1 => array(
-			'<script language="vbscript" runat="server">' => '</script>'
-			),
-		2 => array(
-			'<script language="javascript" runat="server">' => '</script>'
-			)
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		0 => true,
-		1 => true,
-		2 => true,
-		)
+    'LANG_NAME' => 'ASP',
+    'COMMENT_SINGLE' => array(1 => "'", 2 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'include', 'file', 'Const', 'Dim', 'Option', 'Explicit', 'Implicit', 'Set', 'Select', 'ReDim', 'Preserve',
+            'ByVal', 'ByRef', 'End', 'Private', 'Public', 'If', 'Then', 'Else', 'ElseIf', 'Case', 'With', 'NOT',
+            'While', 'Wend', 'For', 'Loop', 'Do', 'Request', 'Response', 'Server', 'ADODB', 'Session', 'Application',
+            'Each', 'In', 'Get', 'Next', 'INT', 'CINT', 'CBOOL', 'CDATE', 'CBYTE', 'CCUR', 'CDBL', 'CLNG', 'CSNG',
+            'CSTR', 'Fix', 'Is', 'Sgn', 'String', 'Boolean', 'Currency', 'Me', 'Single', 'Long', 'Integer', 'Byte',
+            'Variant', 'Double', 'To', 'Let', 'Xor', 'Resume', 'On', 'Error', 'Imp', 'GoTo', 'Call', 'Global'
+            ),
+        2 => array(
+            'Null', 'Nothing', 'And',
+            'False',
+            'True', 'var', 'Or', 'BOF', 'EOF', 'xor',
+            'Function', 'Class', 'New', 'Sub'
+            ),
+        3 => array(
+            'CreateObject', 'Write', 'Redirect', 'Cookies', 'BinaryRead', 'ClientCertificate', 'Form', 'QueryString',
+            'ServerVariables', 'TotalBytes', 'AddHeader', 'AppendToLog', 'BinaryWrite', 'Buffer', 'CacheControl',
+            'Charset', 'Clear', 'ContentType', 'End()', 'Expires', 'ExpiresAbsolute', 'Flush()', 'IsClientConnected',
+            'PICS', 'Status', 'Connection', 'Recordset', 'Execute', 'Abandon', 'Lock', 'UnLock', 'Command', 'Fields',
+            'Properties', 'Property', 'Send', 'Replace', 'InStr', 'TRIM', 'NOW', 'Day', 'Month', 'Hour', 'Minute', 'Second',
+            'Year', 'MonthName', 'LCase', 'UCase', 'Abs', 'Array', 'As', 'LEN', 'MoveFirst', 'MoveLast', 'MovePrevious',
+            'MoveNext', 'LBound', 'UBound', 'Transfer', 'Open', 'Close', 'MapPath', 'FileExists', 'OpenTextFile', 'ReadAll'
+            )
+        ),
+    'SYMBOLS' => array(
+        1 => array(
+            '<%', '%>'
+            ),
+        0 => array(
+            '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>',
+            ';', ':', '?', '='),
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #990099; font-weight: bold;',
+            2 => 'color: #0000ff; font-weight: bold;',
+            3 => 'color: #330066;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008000;',
+            2 => 'color: #ff6600;',
+            'MULTI' => 'color: #008000;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #006600; font-weight:bold;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #cc0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #800000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #9900cc;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #006600; font-weight: bold;',
+            1 => 'color: #000000; font-weight: bold;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            0 => '',
+            1 => '',
+            2 => '',
+            3 => ''
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(
+        0 => array(
+            '<%' => '%>'
+            ),
+        1 => array(
+            '<script language="vbscript" runat="server">' => '</script>'
+            ),
+        2 => array(
+            '<script language="javascript" runat="server">' => '</script>'
+            ),
+        3 => "/(<%=?)(?:\"[^\"]*?\"|\/\*(?!\*\/).*?\*\/|.)*?(%>|\Z)/sm"
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true,
+        1 => true,
+        2 => true,
+        3 => true
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/autoit.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/autoit.php	Fri May 29 19:30:59 2009 -0400
@@ -4,14 +4,28 @@
  * --------
  * Author: big_daddy (robert.i.anthony@gmail.com)
  * Copyright: (c) 2006 and to GESHi ;)
- * Release Version: 1.0.7.20
- * Date Started: 26.01.2006
+ * Release Version: 1.0.8.2
+ * Date Started: 2006/01/26
+ *
+ * AutoIT language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * Release 1.0.8.1 (2008/09/15)
+ * - Updated on 22.03.2008 By Tlem (tlem@tuxolem.fr)
+ * - The link on functions will now correctly re-direct to
+ * - http://www.autoitscript.com/autoit3/docs/functions/{FNAME}.htm
+ * - Updated whith au3.api (09.02.2008).
+ * - Updated - 16 Mai 2008 - v3.2.12.0
+ * - Updated - 12 June 2008 - v3.2.12.1
+ * Release 1.0.7.20 (2006/01/26)
+ * - First Release
  *
  * Current bugs & todo:
  * ----------
- * - dosn't highlight symbols (Please note that in 1.0.X these are not used. Hopefully they will be used in 1.2.X.)
+ * - doesn't highlight symbols (Please note that in 1.0.X these are not used. Hopefully they will be used in 1.2.X.)
  * - not sure how to get sendkeys to work " {!}, {SPACE} etc... "
- * - jut copyied the regexp for variable from php so this HAVE to be checked and fixed to a better one ;)
+ * - just copyied the regexp for variable from php so this HAVE to be checked and fixed to a better one ;)
  *
  * Reference: http://www.autoitscript.com/autoit3/docs/
  *************************************************************************************
@@ -37,341 +51,810 @@
 $language_data = array (
     'LANG_NAME' => 'AutoIt',
     'COMMENT_SINGLE' => array(';'),
-    'COMMENT_MULTI' => array('#comments-start' => '#comments-end', '#cs' => '#ce'),
+    'COMMENT_MULTI' => array(
+        '#comments-start' => '#comments-end',
+        '#cs' => '#ce'),
+    'COMMENT_REGEXP' => array(0 => '/(?<!#)#(\s.*)?$/m'),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array("'", '"'),
     'ESCAPE_CHAR' => '',
     'KEYWORDS' => array(
         1 => array(
-            'false', 'and', 'byref', 'case', 'const', 
-            'continuecase', 'continueloop', 'default', 'dim', 'do', 
-            'else', 'elseif', 'endfunc', 'endif', 'endselect', 
-            'endswitch', 'endwith', 'enum', 'exit', 'exitloop', 
-            'for', 'func', 'global', 'if', 'in', 
-            'local', 'next', 'not', 'or', 'redim', 
-            'return', 'select', 'step', 'switch', 'then', 
-            'to', 'true', 'until', 'wend', 'while', 
-            'with'
+            'And', 'ByRef', 'Case',
+            'Const', 'ContinueCase', 'ContinueLoop',
+            'Default', 'Dim', 'Do',
+            'Else', 'ElseIf', 'EndFunc',
+            'EndIf', 'EndSelect', 'EndSwitch',
+            'EndWith', 'Enum', 'Exit',
+            'ExitLoop', 'False', 'For',
+            'Func', 'Global', 'If',
+            'In', 'Local', 'Next',
+            'Not', 'Or', 'ReDim',
+            'Return', 'Select', 'Step',
+            'Switch', 'Then', 'To',
+            'True', 'Until', 'WEnd',
+            'While', 'With'
             ),
         2 => array(
-            '@appdatacommondir', '@appdatadir', '@autoitexe', '@autoitpid', 
-            '@autoitversion', '@com_eventobj', '@commonfilesdir', '@compiled', 
-            '@computername', '@comspec', '@cr', '@crlf', '@desktopcommondir', 
-            '@desktopdepth', '@desktopdir', '@desktopheight', 
-            '@desktoprefresh', '@desktopwidth', '@documentscommondir', 
-            '@error', '@exitcode', '@exitmethod', '@extended', 
-            '@favoritescommondir', '@favoritesdir', '@gui_ctrlhandle', 
-            '@gui_ctrlid', '@gui_dragfile', '@gui_dragid', '@gui_dropid', 
-            '@gui_winhandle', '@homedrive', '@homepath', '@homeshare', 
-            '@hotkeypressed', '@hour', '@inetgetactive', '@inetgetbytesread', 
-            '@ipaddress1', '@ipaddress2', '@ipaddress3', '@ipaddress4', 
-            '@kblayout', '@lf', '@logondnsdomain', '@logondomain', 
-            '@logonserver', '@mday', '@min', '@mon', '@mydocumentsdir', 
-            '@numparams', '@osbuild', '@oslang', '@osservicepack', '@ostype', 
-            '@osversion', '@processorarch', '@programfilesdir', 
-            '@programscommondir', '@programsdir', '@scriptdir', 
-            '@scriptfullpath', '@scriptlinenumber', '@scriptname', '@sec', 
-            '@startmenucommondir', '@startmenudir', '@startupcommondir', 
-            '@startupdir', '@sw_disable', '@sw_enable', '@sw_hide', '@sw_lock', 
-            '@sw_maximize', '@sw_minimize', '@sw_restore', '@sw_show', 
-            '@sw_showdefault', '@sw_showmaximized', '@sw_showminimized', 
-            '@sw_showminnoactive', '@sw_showna', '@sw_shownoactivate', 
-            '@sw_shownormal', '@sw_unlock', '@systemdir', '@tab', '@tempdir', 
-            '@tray_id', '@trayiconflashing', '@trayiconvisible', '@username', 
-            '@userprofiledir', '@wday', '@windowsdir', '@workingdir', '@yday', 
-            '@year'
+            '@AppDataCommonDir', '@AppDataDir', '@AutoItExe',
+            '@AutoItPID', '@AutoItUnicode', '@AutoItVersion',
+            '@AutoItX64', '@COM_EventObj', '@CommonFilesDir',
+            '@Compiled', '@ComputerName', '@ComSpec',
+            '@CR', '@CRLF', '@DesktopCommonDir',
+            '@DesktopDepth', '@DesktopDir', '@DesktopHeight',
+            '@DesktopRefresh', '@DesktopWidth', '@DocumentsCommonDir',
+            '@error', '@exitCode', '@exitMethod',
+            '@extended', '@FavoritesCommonDir', '@FavoritesDir',
+            '@GUI_CtrlHandle', '@GUI_CtrlId', '@GUI_DragFile',
+            '@GUI_DragId', '@GUI_DropId', '@GUI_WinHandle',
+            '@HomeDrive', '@HomePath', '@HomeShare',
+            '@HotKeyPressed', '@HOUR', '@InetGetActive',
+            '@InetGetBytesRead', '@IPAddress1', '@IPAddress2',
+            '@IPAddress3', '@IPAddress4', '@KBLayout',
+            '@LF', '@LogonDNSDomain', '@LogonDomain',
+            '@LogonServer', '@MDAY', '@MIN',
+            '@MON', '@MyDocumentsDir', '@NumParams',
+            '@OSBuild', '@OSLang', '@OSServicePack',
+            '@OSTYPE', '@OSVersion', '@ProcessorArch',
+            '@ProgramFilesDir', '@ProgramsCommonDir', '@ProgramsDir',
+            '@ScriptDir', '@ScriptFullPath', '@ScriptLineNumber',
+            '@ScriptName', '@SEC', '@StartMenuCommonDir',
+            '@StartMenuDir', '@StartupCommonDir', '@StartupDir',
+            '@SW_DISABLE', '@SW_ENABLE', '@SW_HIDE',
+            '@SW_LOCK', '@SW_MAXIMIZE', '@SW_MINIMIZE',
+            '@SW_RESTORE', '@SW_SHOW', '@SW_SHOWDEFAULT',
+            '@SW_SHOWMAXIMIZED', '@SW_SHOWMINIMIZED', '@SW_SHOWMINNOACTIVE',
+            '@SW_SHOWNA', '@SW_SHOWNOACTIVATE', '@SW_SHOWNORMAL',
+            '@SW_UNLOCK', '@SystemDir', '@TAB',
+            '@TempDir', '@TRAY_ID', '@TrayIconFlashing',
+            '@TrayIconVisible', '@UserName', '@UserProfileDir',
+            '@WDAY', '@WindowsDir', '@WorkingDir',
+            '@YDAY', '@YEAR'
             ),
         3 => array(
-            'abs', 'acos', 'adlibdisable', 'adlibenable', 'asc', 'asin', 
-            'assign', 'atan', 'autoitsetoption', 'autoitwingettitle', 
-            'autoitwinsettitle', 'beep', 'binarystring', 'bitand', 'bitnot', 
-            'bitor', 'bitrotate', 'bitshift', 'bitxor', 'blockinput', 'break', 
-            'call', 'cdtray', 'ceiling', 'chr', 'clipget', 'clipput', 
-            'consoleread', 'consolewrite', 'consolewriteerror', 'controlclick', 
-            'controlcommand', 'controldisable', 'controlenable', 
-            'controlfocus', 'controlgetfocus', 'controlgethandle', 
-            'controlgetpos', 'controlgettext', 'controlhide', 
-            'controllistview', 'controlmove', 'controlsend', 'controlsettext', 
-            'controlshow', 'cos', 'dec', 'dircopy', 'dircreate', 'dirgetsize', 
-            'dirmove', 'dirremove', 'dllcall', 'dllclose', 'dllopen', 
-            'dllstructcreate', 'dllstructgetdata', 'dllstructgetptr', 
-            'dllstructgetsize', 'dllstructsetdata', 'drivegetdrive', 
-            'drivegetfilesystem', 'drivegetlabel', 'drivegetserial', 
-            'drivegettype', 'drivemapadd', 'drivemapdel', 'drivemapget', 
-            'drivesetlabel', 'drivespacefree', 'drivespacetotal', 
-            'drivestatus', 'envget', 'envset', 'envupdate', 'eval', 'execute', 
-            'exp', 'filechangedir', 'fileclose', 'filecopy', 
-            'filecreatentfslink', 'filecreateshortcut', 'filedelete', 
-            'fileexists', 'filefindfirstfile', 'filefindnextfile', 
-            'filegetattrib', 'filegetlongname', 'filegetshortcut', 
-            'filegetshortname', 'filegetsize', 'filegettime', 'filegetversion', 
-            'fileinstall', 'filemove', 'fileopen', 'fileopendialog', 
-            'fileread', 'filereadline', 'filerecycle', 'filerecycleempty', 
-            'filesavedialog', 'fileselectfolder', 'filesetattrib', 
-            'filesettime', 'filewrite', 'filewriteline', 'floor', 
-            'ftpsetproxy', 'guicreate', 'guictrlcreateavi', 
-            'guictrlcreatebutton', 'guictrlcreatecheckbox', 
-            'guictrlcreatecombo', 'guictrlcreatecontextmenu', 
-            'guictrlcreatedate', 'guictrlcreatedummy', 'guictrlcreateedit', 
-            'guictrlcreategraphic', 'guictrlcreategroup', 'guictrlcreateicon', 
-            'guictrlcreateinput', 'guictrlcreatelabel', 'guictrlcreatelist', 
-            'guictrlcreatelistview', 'guictrlcreatelistviewitem', 
-            'guictrlcreatemenu', 'guictrlcreatemenuitem', 
-            'guictrlcreatemonthcal', 'guictrlcreateobj', 'guictrlcreatepic', 
-            'guictrlcreateprogress', 'guictrlcreateradio', 
-            'guictrlcreateslider', 'guictrlcreatetab', 'guictrlcreatetabitem', 
-            'guictrlcreatetreeview', 'guictrlcreatetreeviewitem', 
-            'guictrlcreateupdown', 'guictrldelete', 'guictrlgethandle', 
-            'guictrlgetstate', 'guictrlread', 'guictrlrecvmsg', 
-            'guictrlregisterlistviewsort', 'guictrlsendmsg', 
-            'guictrlsendtodummy', 'guictrlsetbkcolor', 'guictrlsetcolor', 
-            'guictrlsetcursor', 'guictrlsetdata', 'guictrlsetfont', 
-            'guictrlsetgraphic', 'guictrlsetimage', 'guictrlsetlimit', 
-            'guictrlsetonevent', 'guictrlsetpos', 'guictrlsetresizing', 
-            'guictrlsetstate', 'guictrlsetstyle', 'guictrlsettip', 'guidelete', 
-            'guigetcursorinfo', 'guigetmsg', 'guiregistermsg', 'guisetbkcolor', 
-            'guisetcoord', 'guisetcursor', 'guisetfont', 'guisethelp', 
-            'guiseticon', 'guisetonevent', 'guisetstate', 'guistartgroup', 
-            'guiswitch', 'hex', 'hotkeyset', 'httpsetproxy', 'hwnd', 'inetget', 
-            'inetgetsize', 'inidelete', 'iniread', 'inireadsection', 
-            'inireadsectionnames', 'inirenamesection', 'iniwrite', 
-            'iniwritesection', 'inputbox', 'int', 'isadmin', 'isarray', 
-            'isbinarystring', 'isbool', 'isdeclared', 'isdllstruct', 'isfloat', 
-            'ishwnd', 'isint', 'iskeyword', 'isnumber', 'isobj', 'isstring', 
-            'log', 'memgetstats', 'mod', 'mouseclick', 'mouseclickdrag', 
-            'mousedown', 'mousegetcursor', 'mousegetpos', 'mousemove', 
-            'mouseup', 'mousewheel', 'msgbox', 'number', 'objcreate', 
-            'objevent', 'objget', 'objname', 'opt', 'ping', 'pixelchecksum', 
-            'pixelgetcolor', 'pixelsearch', 'pluginclose', 'pluginopen', 
-            'processclose', 'processexists', 'processlist', 
-            'processsetpriority', 'processwait', 'processwaitclose', 
-            'progressoff', 'progresson', 'progressset', 'random', 'regdelete', 
-            'regenumkey', 'regenumval', 'regread', 'regwrite', 'round', 'run', 
-            'runasset', 'runwait', 'send', 'seterror', 'setextended', 
-            'shellexecute', 'shellexecutewait', 'shutdown', 'sin', 'sleep', 
-            'soundplay', 'soundsetwavevolume', 'splashimageon', 'splashoff', 
-            'splashtexton', 'sqrt', 'srandom', 'statusbargettext', 
-            'stderrread', 'stdinwrite', 'stdoutread', 'string', 'stringaddcr', 
-            'stringformat', 'stringinstr', 'stringisalnum', 'stringisalpha', 
-            'stringisascii', 'stringisdigit', 'stringisfloat', 'stringisint', 
-            'stringislower', 'stringisspace', 'stringisupper', 
-            'stringisxdigit', 'stringleft', 'stringlen', 'stringlower', 
-            'stringmid', 'stringregexp', 'stringregexpreplace', 
-            'stringreplace', 'stringright', 'stringsplit', 'stringstripcr', 
-            'stringstripws', 'stringtrimleft', 'stringtrimright', 
-            'stringupper', 'tan', 'tcpaccept', 'tcpclosesocket', 'tcpconnect', 
-            'tcplisten', 'tcpnametoip', 'tcprecv', 'tcpsend', 'tcpshutdown', 
-            'tcpstartup', 'timerdiff', 'timerinit', 'timerstart', 'timerstop', 
-            'tooltip', 'traycreateitem', 'traycreatemenu', 'traygetmsg', 
-            'trayitemdelete', 'trayitemgethandle', 'trayitemgetstate', 
-            'trayitemgettext', 'trayitemsetonevent', 'trayitemsetstate', 
-            'trayitemsettext', 'traysetclick', 'trayseticon', 'traysetonevent', 
-            'traysetpauseicon', 'traysetstate', 'traysettooltip', 'traytip', 
-            'ubound', 'udpbind', 'udpclosesocket', 'udpopen', 'udprecv', 
-            'udpsend', 'winactivate', 'winactive', 'winclose', 'winexists', 
-            'winflash', 'wingetcaretpos', 'wingetclasslist', 
-            'wingetclientsize', 'wingethandle', 'wingetpos', 'wingetprocess', 
-            'wingetstate', 'wingettext', 'wingettitle', 'winkill', 'winlist', 
-            'winmenuselectitem', 'winminimizeall', 'winminimizeallundo', 
-            'winmove', 'winsetontop', 'winsetstate', 'winsettitle', 
-            'winsettrans', 'winshow', 'winwait', 'winwaitactive', 
-            'winwaitclose', 'winwaitnotactive'
+            'Abs', 'ACos', 'AdlibDisable',
+            'AdlibEnable', 'Asc', 'AscW',
+            'ASin', 'Assign', 'ATan',
+            'AutoItSetOption', 'AutoItWinGetTitle', 'AutoItWinSetTitle',
+            'Beep', 'Binary', 'BinaryLen',
+            'BinaryMid', 'BinaryToString', 'BitAND',
+            'BitNOT', 'BitOR', 'BitRotate',
+            'BitShift', 'BitXOR', 'BlockInput',
+            'Break', 'Call', 'CDTray',
+            'Ceiling', 'Chr', 'ChrW',
+            'ClipGet', 'ClipPut', 'ConsoleRead',
+            'ConsoleWrite', 'ConsoleWriteError', 'ControlClick',
+            'ControlCommand', 'ControlDisable', 'ControlEnable',
+            'ControlFocus', 'ControlGetFocus', 'ControlGetHandle',
+            'ControlGetPos', 'ControlGetText', 'ControlHide',
+            'ControlListView', 'ControlMove', 'ControlSend',
+            'ControlSetText', 'ControlShow', 'ControlTreeView',
+            'Cos', 'Dec', 'DirCopy',
+            'DirCreate', 'DirGetSize', 'DirMove',
+            'DirRemove', 'DllCall', 'DllCallbackFree',
+            'DllCallbackGetPtr', 'DllCallbackRegister', 'DllClose',
+            'DllOpen', 'DllStructCreate', 'DllStructGetData',
+            'DllStructGetPtr', 'DllStructGetSize', 'DllStructSetData',
+            'DriveGetDrive', 'DriveGetFileSystem', 'DriveGetLabel',
+            'DriveGetSerial', 'DriveGetType', 'DriveMapAdd',
+            'DriveMapDel', 'DriveMapGet', 'DriveSetLabel',
+            'DriveSpaceFree', 'DriveSpaceTotal', 'DriveStatus',
+            'EnvGet', 'EnvSet', 'EnvUpdate',
+            'Eval', 'Execute', 'Exp',
+            'FileChangeDir', 'FileClose', 'FileCopy',
+            'FileCreateNTFSLink', 'FileCreateShortcut', 'FileDelete',
+            'FileExists', 'FileFindFirstFile', 'FileFindNextFile',
+            'FileGetAttrib', 'FileGetLongName', 'FileGetShortcut',
+            'FileGetShortName', 'FileGetSize', 'FileGetTime',
+            'FileGetVersion', 'FileInstall', 'FileMove',
+            'FileOpen', 'FileOpenDialog', 'FileRead',
+            'FileReadLine', 'FileRecycle', 'FileRecycleEmpty',
+            'FileSaveDialog', 'FileSelectFolder', 'FileSetAttrib',
+            'FileSetTime', 'FileWrite', 'FileWriteLine',
+            'Floor', 'FtpSetProxy', 'GUICreate',
+            'GUICtrlCreateAvi', 'GUICtrlCreateButton', 'GUICtrlCreateCheckbox',
+            'GUICtrlCreateCombo', 'GUICtrlCreateContextMenu', 'GUICtrlCreateDate',
+            'GUICtrlCreateDummy', 'GUICtrlCreateEdit', 'GUICtrlCreateGraphic',
+            'GUICtrlCreateGroup', 'GUICtrlCreateIcon', 'GUICtrlCreateInput',
+            'GUICtrlCreateLabel', 'GUICtrlCreateList', 'GUICtrlCreateListView',
+            'GUICtrlCreateListViewItem', 'GUICtrlCreateMenu', 'GUICtrlCreateMenuItem',
+            'GUICtrlCreateMonthCal', 'GUICtrlCreateObj', 'GUICtrlCreatePic',
+            'GUICtrlCreateProgress', 'GUICtrlCreateRadio', 'GUICtrlCreateSlider',
+            'GUICtrlCreateTab', 'GUICtrlCreateTabItem', 'GUICtrlCreateTreeView',
+            'GUICtrlCreateTreeViewItem', 'GUICtrlCreateUpdown', 'GUICtrlDelete',
+            'GUICtrlGetHandle', 'GUICtrlGetState', 'GUICtrlRead',
+            'GUICtrlRecvMsg', 'GUICtrlRegisterListViewSort', 'GUICtrlSendMsg',
+            'GUICtrlSendToDummy', 'GUICtrlSetBkColor', 'GUICtrlSetColor',
+            'GUICtrlSetCursor', 'GUICtrlSetData', 'GUICtrlSetFont',
+            'GUICtrlSetDefColor', 'GUICtrlSetDefBkColor',
+            'GUICtrlSetGraphic', 'GUICtrlSetImage', 'GUICtrlSetLimit',
+            'GUICtrlSetOnEvent', 'GUICtrlSetPos', 'GUICtrlSetResizing',
+            'GUICtrlSetState', 'GUICtrlSetStyle', 'GUICtrlSetTip',
+            'GUIDelete', 'GUIGetCursorInfo', 'GUIGetMsg',
+            'GUIGetStyle', 'GUIRegisterMsg', 'GUISetAccelerators()', 'GUISetBkColor',
+            'GUISetCoord', 'GUISetCursor', 'GUISetFont',
+            'GUISetHelp', 'GUISetIcon', 'GUISetOnEvent',
+            'GUISetState', 'GUISetStyle', 'GUIStartGroup',
+            'GUISwitch', 'Hex', 'HotKeySet',
+            'HttpSetProxy', 'HWnd', 'InetGet',
+            'InetGetSize', 'IniDelete', 'IniRead',
+            'IniReadSection', 'IniReadSectionNames', 'IniRenameSection',
+            'IniWrite', 'IniWriteSection', 'InputBox',
+            'Int', 'IsAdmin', 'IsArray',
+            'IsBinary', 'IsBool', 'IsDeclared',
+            'IsDllStruct', 'IsFloat', 'IsHWnd',
+            'IsInt', 'IsKeyword', 'IsNumber',
+            'IsObj', 'IsPtr', 'IsString',
+            'Log', 'MemGetStats', 'Mod',
+            'MouseClick', 'MouseClickDrag', 'MouseDown',
+            'MouseGetCursor', 'MouseGetPos', 'MouseMove',
+            'MouseUp', 'MouseWheel', 'MsgBox',
+            'Number', 'ObjCreate', 'ObjEvent',
+            'ObjGet', 'ObjName', 'Opt',
+            'Ping', 'PixelChecksum', 'PixelGetColor',
+            'PixelSearch', 'PluginClose', 'PluginOpen',
+            'ProcessClose', 'ProcessExists', 'ProcessGetStats',
+            'ProcessList', 'ProcessSetPriority', 'ProcessWait',
+            'ProcessWaitClose', 'ProgressOff', 'ProgressOn',
+            'ProgressSet', 'Ptr', 'Random',
+            'RegDelete', 'RegEnumKey', 'RegEnumVal',
+            'RegRead', 'RegWrite', 'Round',
+            'Run', 'RunAs', 'RunAsWait',
+            'RunWait', 'Send', 'SendKeepActive',
+            'SetError', 'SetExtended', 'ShellExecute',
+            'ShellExecuteWait', 'Shutdown', 'Sin',
+            'Sleep', 'SoundPlay', 'SoundSetWaveVolume',
+            'SplashImageOn', 'SplashOff', 'SplashTextOn',
+            'Sqrt', 'SRandom', 'StatusbarGetText',
+            'StderrRead', 'StdinWrite', 'StdioClose',
+            'StdoutRead', 'String', 'StringAddCR',
+            'StringCompare', 'StringFormat', 'StringInStr',
+            'StringIsAlNum', 'StringIsAlpha', 'StringIsASCII',
+            'StringIsDigit', 'StringIsFloat', 'StringIsInt',
+            'StringIsLower', 'StringIsSpace', 'StringIsUpper',
+            'StringIsXDigit', 'StringLeft', 'StringLen',
+            'StringLower', 'StringMid', 'StringRegExp',
+            'StringRegExpReplace', 'StringReplace', 'StringRight',
+            'StringSplit', 'StringStripCR', 'StringStripWS',
+            'StringToBinary', 'StringTrimLeft', 'StringTrimRight',
+            'StringUpper', 'Tan', 'TCPAccept',
+            'TCPCloseSocket', 'TCPConnect', 'TCPListen',
+            'TCPNameToIP', 'TCPRecv', 'TCPSend',
+            'TCPShutdown', 'TCPStartup', 'TimerDiff',
+            'TimerInit', 'ToolTip', 'TrayCreateItem',
+            'TrayCreateMenu', 'TrayGetMsg', 'TrayItemDelete',
+            'TrayItemGetHandle', 'TrayItemGetState', 'TrayItemGetText',
+            'TrayItemSetOnEvent', 'TrayItemSetState', 'TrayItemSetText',
+            'TraySetClick', 'TraySetIcon', 'TraySetOnEvent',
+            'TraySetPauseIcon', 'TraySetState', 'TraySetToolTip',
+            'TrayTip', 'UBound', 'UDPBind',
+            'UDPCloseSocket', 'UDPOpen', 'UDPRecv',
+            'UDPSend', 'UDPShutdown', 'UDPStartup',
+            'VarGetType', 'WinActivate', 'WinActive',
+            'WinClose', 'WinExists', 'WinFlash',
+            'WinGetCaretPos', 'WinGetClassList', 'WinGetClientSize',
+            'WinGetHandle', 'WinGetPos', 'WinGetProcess',
+            'WinGetState', 'WinGetText', 'WinGetTitle',
+            'WinKill', 'WinList', 'WinMenuSelectItem',
+            'WinMinimizeAll', 'WinMinimizeAllUndo', 'WinMove',
+            'WinSetOnTop', 'WinSetState', 'WinSetTitle',
+            'WinSetTrans', 'WinWait', 'WinWaitActive',
+            'WinWaitClose', 'WinWaitNotActive'
             ),
         4 => array(
-            '_arrayadd', '_arraybinarysearch', '_arraycreate', '_arraydelete', 
-            '_arraydisplay', '_arrayinsert', '_arraymax', '_arraymaxindex', 
-            '_arraymin', '_arrayminindex', '_arraypop', '_arraypush', 
-            '_arrayreverse', '_arraysearch', '_arraysort', '_arrayswap', 
-            '_arraytoclip', '_arraytostring', '_arraytrim', '_colorgetblue', 
-            '_colorgetgreen', '_colorgetred', '_dateadd', '_datedayofweek', 
-            '_datedaysinmonth', '_datediff', '_dateisleapyear', '_dateisvalid', 
-            '_datetimeformat', '_datetimesplit', '_datetodayofweek', 
-            '_datetodayofweekiso', '_datetodayvalue', '_dayvaluetodate', 
-            '_now', '_nowcalc', '_nowcalcdate', '_nowdate', '_nowtime', 
-            '_setdate', '_settime', '_tickstotime', '_timetoticks', 
-            '_weeknumberiso', '_filecountlines', '_filecreate', 
-            '_filelisttoarray', '_fileprint', '_filereadtoarray', 
-            '_filewritefromarray', '_filewritelog', '_filewritetoline', 
-            '_pathfull', '_pathmake', '_pathsplit', '_replacestringinfile', 
-            '_tempfile', '_guictrlcomboadddir', '_guictrlcomboaddstring', 
-            '_guictrlcomboautocomplete', '_guictrlcombodeletestring', 
-            '_guictrlcombofindstring', '_guictrlcombogetcount', 
-            '_guictrlcombogetcursel', '_guictrlcombogetdroppedcontrolrect', 
-            '_guictrlcombogetdroppedstate', '_guictrlcombogetdroppedwidth', 
-            '_guictrlcombogeteditsel', '_guictrlcombogetextendedui', 
-            '_guictrlcombogethorizontalextent', '_guictrlcombogetitemheight', 
-            '_guictrlcombogetlbtext', '_guictrlcombogetlbtextlen', 
-            '_guictrlcombogetlist', '_guictrlcombogetlocale', 
-            '_guictrlcombogetminvisible', '_guictrlcombogettopindex', 
-            '_guictrlcomboinitstorage', '_guictrlcomboinsertstring', 
-            '_guictrlcombolimittext', '_guictrlcomboresetcontent', 
-            '_guictrlcomboselectstring', '_guictrlcombosetcursel', 
-            '_guictrlcombosetdroppedwidth', '_guictrlcomboseteditsel', 
-            '_guictrlcombosetextendedui', '_guictrlcombosethorizontalextent', 
-            '_guictrlcombosetitemheight', '_guictrlcombosetminvisible', 
-            '_guictrlcombosettopindex', '_guictrlcomboshowdropdown', 
-            '_guictrleditcanundo', '_guictrleditemptyundobuffer', 
-            '_guictrleditfind', '_guictrleditgetfirstvisibleline', 
-            '_guictrleditgetline', '_guictrleditgetlinecount', 
-            '_guictrleditgetmodify', '_guictrleditgetrect', 
-            '_guictrleditgetsel', '_guictrleditlinefromchar', 
-            '_guictrleditlineindex', '_guictrleditlinelength', 
-            '_guictrleditlinescroll', '_guictrleditreplacesel', 
-            '_guictrleditscroll', '_guictrleditsetmodify', 
-            '_guictrleditsetrect', '_guictrleditsetsel', '_guictrleditundo', 
-            '_guictrlipaddressclear', '_guictrlipaddresscreate', 
-            '_guictrlipaddressdelete', '_guictrlipaddressget', 
-            '_guictrlipaddressisblank', '_guictrlipaddressset', 
-            '_guictrlipaddresssetfocus', '_guictrlipaddresssetfont', 
-            '_guictrlipaddresssetrange', '_guictrlipaddressshowhide', 
-            '_guictrllistadddir', '_guictrllistadditem', '_guictrllistclear', 
-            '_guictrllistcount', '_guictrllistdeleteitem', 
-            '_guictrllistfindstring', '_guictrllistgetanchorindex', 
-            '_guictrllistgetcaretindex', '_guictrllistgethorizontalextent', 
-            '_guictrllistgetinfo', '_guictrllistgetitemrect', 
-            '_guictrllistgetlocale', '_guictrllistgetselcount', 
-            '_guictrllistgetselitems', '_guictrllistgetselitemstext', 
-            '_guictrllistgetselstate', '_guictrllistgettext', 
-            '_guictrllistgettextlen', '_guictrllistgettopindex', 
-            '_guictrllistinsertitem', '_guictrllistreplacestring', 
-            '_guictrllistselectedindex', '_guictrllistselectindex', 
-            '_guictrllistselectstring', '_guictrllistselitemrange', 
-            '_guictrllistselitemrangeex', '_guictrllistsetanchorindex', 
-            '_guictrllistsetcaretindex', '_guictrllistsethorizontalextent', 
-            '_guictrllistsetlocale', '_guictrllistsetsel', 
-            '_guictrllistsettopindex', '_guictrllistsort', 
-            '_guictrllistswapstring', '_guictrllistviewcopyitems', 
-            '_guictrllistviewdeleteallitems', '_guictrllistviewdeletecolumn', 
-            '_guictrllistviewdeleteitem', 
-            '_guictrllistviewdeleteitemsselected', 
-            '_guictrllistviewensurevisible', '_guictrllistviewfinditem', 
-            '_guictrllistviewgetbackcolor', '_guictrllistviewgetcallbackmask', 
-            '_guictrllistviewgetcheckedstate', 
-            '_guictrllistviewgetcolumnorder', '_guictrllistviewgetcolumnwidth', 
-            '_guictrllistviewgetcounterpage', '_guictrllistviewgetcursel', 
-            '_guictrllistviewgetextendedlistviewstyle', 
-            '_guictrllistviewgetheader', '_guictrllistviewgethotcursor', 
-            '_guictrllistviewgethotitem', '_guictrllistviewgethovertime', 
-            '_guictrllistviewgetitemcount', '_guictrllistviewgetitemtext', 
-            '_guictrllistviewgetitemtextarray', '_guictrllistviewgetnextitem', 
-            '_guictrllistviewgetselectedcount', 
-            '_guictrllistviewgetselectedindices', 
-            '_guictrllistviewgetsubitemscount', '_guictrllistviewgettopindex', 
-            '_guictrllistviewgetunicodeformat', '_guictrllistviewhidecolumn', 
-            '_guictrllistviewinsertcolumn', '_guictrllistviewinsertitem', 
-            '_guictrllistviewjustifycolumn', '_guictrllistviewscroll', 
-            '_guictrllistviewsetcheckstate', 
-            '_guictrllistviewsetcolumnheadertext', 
-            '_guictrllistviewsetcolumnorder', '_guictrllistviewsetcolumnwidth', 
-            '_guictrllistviewsethotitem', '_guictrllistviewsethovertime', 
-            '_guictrllistviewsetitemcount', '_guictrllistviewsetitemselstate', 
-            '_guictrllistviewsetitemtext', '_guictrllistviewsort', 
-            '_guictrlmonthcalget1stdow', '_guictrlmonthcalgetcolor', 
-            '_guictrlmonthcalgetdelta', '_guictrlmonthcalgetmaxselcount', 
-            '_guictrlmonthcalgetmaxtodaywidth', 
-            '_guictrlmonthcalgetminreqrect', '_guictrlmonthcalset1stdow', 
-            '_guictrlmonthcalsetcolor', '_guictrlmonthcalsetdelta', 
-            '_guictrlmonthcalsetmaxselcount', '_guictrlslidercleartics', 
-            '_guictrlslidergetlinesize', '_guictrlslidergetnumtics', 
-            '_guictrlslidergetpagesize', '_guictrlslidergetpos', 
-            '_guictrlslidergetrangemax', '_guictrlslidergetrangemin', 
-            '_guictrlslidersetlinesize', '_guictrlslidersetpagesize', 
-            '_guictrlslidersetpos', '_guictrlslidersetticfreq', 
-            '_guictrlstatusbarcreate', '_guictrlstatusbarcreateprogress', 
-            '_guictrlstatusbardelete', '_guictrlstatusbargetborders', 
-            '_guictrlstatusbargeticon', '_guictrlstatusbargetparts', 
-            '_guictrlstatusbargetrect', '_guictrlstatusbargettext', 
-            '_guictrlstatusbargettextlength', '_guictrlstatusbargettip', 
-            '_guictrlstatusbargetunicode', '_guictrlstatusbarissimple', 
-            '_guictrlstatusbarresize', '_guictrlstatusbarsetbkcolor', 
-            '_guictrlstatusbarseticon', '_guictrlstatusbarsetminheight', 
-            '_guictrlstatusbarsetparts', '_guictrlstatusbarsetsimple', 
-            '_guictrlstatusbarsettext', '_guictrlstatusbarsettip', 
-            '_guictrlstatusbarsetunicode', '_guictrlstatusbarshowhide', 
-            '_guictrltabdeleteallitems', '_guictrltabdeleteitem', 
-            '_guictrltabdeselectall', '_guictrltabgetcurfocus', 
-            '_guictrltabgetcursel', '_guictrltabgetextendedstyle', 
-            '_guictrltabgetitemcount', '_guictrltabgetitemrect', 
-            '_guictrltabgetrowcount', '_guictrltabgetunicodeformat', 
-            '_guictrltabhighlightitem', '_guictrltabsetcurfocus', 
-            '_guictrltabsetcursel', '_guictrltabsetmintabwidth', 
-            '_guictrltabsetunicodeformat', '_guictrltreeviewdeleteallitems', 
-            '_guictrltreeviewdeleteitem', '_guictrltreeviewexpand', 
-            '_guictrltreeviewgetbkcolor', '_guictrltreeviewgetcount', 
-            '_guictrltreeviewgetindent', '_guictrltreeviewgetlinecolor', 
-            '_guictrltreeviewgetparenthandle', '_guictrltreeviewgetparentid', 
-            '_guictrltreeviewgetstate', '_guictrltreeviewgettext', 
-            '_guictrltreeviewgettextcolor', '_guictrltreeviewgettree', 
-            '_guictrltreeviewinsertitem', '_guictrltreeviewsetbkcolor', 
-            '_guictrltreeviewseticon', '_guictrltreeviewsetindent', 
-            '_guictrltreeviewsetlinecolor', '_guictrltreeviewsetstate', 
-            '_guictrltreeviewsettext', '_guictrltreeviewsettextcolor', 
-            '_guictrltreeviewsort', '_ie_example', '_ie_introduction', 
-            '_ie_versioninfo', '_ieaction', '_ieattach', '_iebodyreadhtml', 
-            '_iebodyreadtext', '_iebodywritehtml', '_iecreate', 
-            '_iecreateembedded', '_iedocgetobj', '_iedocinserthtml', 
-            '_iedocinserttext', '_iedocreadhtml', '_iedocwritehtml', 
-            '_ieerrorhandlerderegister', '_ieerrorhandlerregister', 
-            '_ieerrornotify', '_ieformelementcheckboxselect', 
-            '_ieformelementgetcollection', '_ieformelementgetobjbyname', 
-            '_ieformelementgetvalue', '_ieformelementoptionselect', 
-            '_ieformelementradioselect', '_ieformelementsetvalue', 
-            '_ieformgetcollection', '_ieformgetobjbyname', '_ieformimageclick', 
-            '_ieformreset', '_ieformsubmit', '_ieframegetcollection', 
-            '_ieframegetobjbyname', '_iegetobjbyname', 
-            '_ieheadinserteventscript', '_ieimgclick', '_ieimggetcollection', 
-            '_ieisframeset', '_ielinkclickbyindex', '_ielinkclickbytext', 
-            '_ielinkgetcollection', '_ieloadwait', '_ieloadwaittimeout', 
-            '_ienavigate', '_iepropertyget', '_iepropertyset', '_iequit', 
-            '_ietablegetcollection', '_ietablewritetoarray', 
-            '_ietagnameallgetcollection', '_ietagnamegetcollection', '_getip', 
-            '_inetexplorercapable', '_inetgetsource', '_inetmail', 
-            '_inetsmtpmail', '_tcpiptoname', '_degree', '_mathcheckdiv', 
-            '_max', '_min', '_radian', '_choosecolor', '_choosefont', 
-            '_clipputfile', '_iif', '_ispressed', '_mousetrap', '_singleton', 
-            '_processgetname', '_processgetpriority', '_rundos', 
-            '_sendmessage', '_soundclose', '_soundlength', '_soundopen', 
-            '_soundpause', '_soundplay', '_soundpos', '_soundresume', 
-            '_soundseek', '_soundstatus', '_soundstop', '_sqlite_changes', 
-            '_sqlite_close', '_sqlite_display2dresult', '_sqlite_encode', 
-            '_sqlite_errcode', '_sqlite_errmsg', '_sqlite_escape', 
-            '_sqlite_exec', '_sqlite_fetchdata', '_sqlite_fetchnames', 
-            '_sqlite_gettable', '_sqlite_gettable2d', 
-            '_sqlite_lastinsertrowid', '_sqlite_libversion', '_sqlite_open', 
-            '_sqlite_query', '_sqlite_queryfinalize', '_sqlite_queryreset', 
-            '_sqlite_querysinglerow', '_sqlite_savemode', '_sqlite_settimeout', 
-            '_sqlite_shutdown', '_sqlite_sqliteexe', '_sqlite_startup', 
-            '_sqlite_totalchanges', '_hextostring', '_stringaddcomma', 
-            '_stringbetween', '_stringencrypt', '_stringinsert', 
-            '_stringproper', '_stringrepeat', '_stringreverse', '_stringtohex', 
-            '_viclose', '_viexeccommand', '_vifindgpib', '_vigpibbusreset', 
-            '_vigtl', '_viopen', '_visetattribute', '_visettimeout'
+            '_ArrayAdd', '_ArrayBinarySearch', '_ArrayConcatenate',
+            '_ArrayDelete', '_ArrayDisplay', '_ArrayFindAll',
+            '_ArrayInsert', '_ArrayMax', '_ArrayMaxIndex',
+            '_ArrayMin', '_ArrayMinIndex', '_ArrayPop',
+            '_ArrayPush', '_ArrayReverse', '_ArraySearch',
+            '_ArraySort', '_ArraySwap', '_ArrayToClip',
+            '_ArrayToString', '_ArrayTrim', '_ChooseColor',
+            '_ChooseFont', '_ClipBoard_ChangeChain', '_ClipBoard_Close',
+            '_ClipBoard_CountFormats', '_ClipBoard_Empty', '_ClipBoard_EnumFormats',
+            '_ClipBoard_FormatStr', '_ClipBoard_GetData', '_ClipBoard_GetDataEx',
+            '_ClipBoard_GetFormatName', '_ClipBoard_GetOpenWindow', '_ClipBoard_GetOwner',
+            '_ClipBoard_GetPriorityFormat', '_ClipBoard_GetSequenceNumber', '_ClipBoard_GetViewer',
+            '_ClipBoard_IsFormatAvailable', '_ClipBoard_Open', '_ClipBoard_RegisterFormat',
+            '_ClipBoard_SetData', '_ClipBoard_SetDataEx', '_ClipBoard_SetViewer',
+            '_ClipPutFile', '_ColorConvertHSLtoRGB', '_ColorConvertRGBtoHSL',
+            '_ColorGetBlue', '_ColorGetGreen', '_ColorGetRed',
+            '_Date_Time_CompareFileTime', '_Date_Time_DOSDateTimeToArray', '_Date_Time_DOSDateTimeToFileTime',
+            '_Date_Time_DOSDateTimeToStr', '_Date_Time_DOSDateToArray', '_Date_Time_DOSDateToStr',
+            '_Date_Time_DOSTimeToArray', '_Date_Time_DOSTimeToStr', '_Date_Time_EncodeFileTime',
+            '_Date_Time_EncodeSystemTime', '_Date_Time_FileTimeToArray', '_Date_Time_FileTimeToDOSDateTime',
+            '_Date_Time_FileTimeToLocalFileTime', '_Date_Time_FileTimeToStr', '_Date_Time_FileTimeToSystemTime',
+            '_Date_Time_GetFileTime', '_Date_Time_GetLocalTime', '_Date_Time_GetSystemTime',
+            '_Date_Time_GetSystemTimeAdjustment', '_Date_Time_GetSystemTimeAsFileTime', '_Date_Time_GetSystemTimes',
+            '_Date_Time_GetTickCount', '_Date_Time_GetTimeZoneInformation', '_Date_Time_LocalFileTimeToFileTime',
+            '_Date_Time_SetFileTime', '_Date_Time_SetLocalTime', '_Date_Time_SetSystemTime',
+            '_Date_Time_SetSystemTimeAdjustment', '_Date_Time_SetTimeZoneInformation', '_Date_Time_SystemTimeToArray',
+            '_Date_Time_SystemTimeToDateStr', '_Date_Time_SystemTimeToDateTimeStr', '_Date_Time_SystemTimeToFileTime',
+            '_Date_Time_SystemTimeToTimeStr', '_Date_Time_SystemTimeToTzSpecificLocalTime', '_Date_Time_TzSpecificLocalTimeToSystemTime',
+            '_DateAdd', '_DateDayOfWeek', '_DateDaysInMonth',
+            '_DateDiff', '_DateIsLeapYear', '_DateIsValid',
+            '_DateTimeFormat', '_DateTimeSplit', '_DateToDayOfWeek',
+            '_DateToDayOfWeekISO', '_DateToDayValue', '_DateToMonth',
+            '_DayValueToDate', '_DebugBugReportEnv', '_DebugOut',
+            '_DebugSetup', '_Degree', '_EventLog__Backup',
+            '_EventLog__Clear', '_EventLog__Close', '_EventLog__Count',
+            '_EventLog__DeregisterSource', '_EventLog__Full', '_EventLog__Notify',
+            '_EventLog__Oldest', '_EventLog__Open', '_EventLog__OpenBackup',
+            '_EventLog__Read', '_EventLog__RegisterSource', '_EventLog__Report',
+            '_FileCountLines', '_FileCreate', '_FileListToArray',
+            '_FilePrint', '_FileReadToArray', '_FileWriteFromArray',
+            '_FileWriteLog', '_FileWriteToLine', '_GDIPlus_ArrowCapCreate',
+            '_GDIPlus_ArrowCapDispose', '_GDIPlus_ArrowCapGetFillState', '_GDIPlus_ArrowCapGetHeight',
+            '_GDIPlus_ArrowCapGetMiddleInset', '_GDIPlus_ArrowCapGetWidth', '_GDIPlus_ArrowCapSetFillState',
+            '_GDIPlus_ArrowCapSetHeight', '_GDIPlus_ArrowCapSetMiddleInset', '_GDIPlus_ArrowCapSetWidth',
+            '_GDIPlus_BitmapCloneArea', '_GDIPlus_BitmapCreateFromFile', '_GDIPlus_BitmapCreateFromGraphics',
+            '_GDIPlus_BitmapCreateFromHBITMAP', '_GDIPlus_BitmapCreateHBITMAPFromBitmap', '_GDIPlus_BitmapDispose',
+            '_GDIPlus_BitmapLockBits', '_GDIPlus_BitmapUnlockBits', '_GDIPlus_BrushClone',
+            '_GDIPlus_BrushCreateSolid', '_GDIPlus_BrushDispose', '_GDIPlus_BrushGetType',
+            '_GDIPlus_CustomLineCapDispose', '_GDIPlus_Decoders', '_GDIPlus_DecodersGetCount',
+            '_GDIPlus_DecodersGetSize', '_GDIPlus_Encoders', '_GDIPlus_EncodersGetCLSID',
+            '_GDIPlus_EncodersGetCount', '_GDIPlus_EncodersGetParamList', '_GDIPlus_EncodersGetParamListSize',
+            '_GDIPlus_EncodersGetSize', '_GDIPlus_FontCreate', '_GDIPlus_FontDispose',
+            '_GDIPlus_FontFamilyCreate', '_GDIPlus_FontFamilyDispose', '_GDIPlus_GraphicsClear',
+            '_GDIPlus_GraphicsCreateFromHDC', '_GDIPlus_GraphicsCreateFromHWND', '_GDIPlus_GraphicsDispose',
+            '_GDIPlus_GraphicsDrawArc', '_GDIPlus_GraphicsDrawBezier', '_GDIPlus_GraphicsDrawClosedCurve',
+            '_GDIPlus_GraphicsDrawCurve', '_GDIPlus_GraphicsDrawEllipse', '_GDIPlus_GraphicsDrawImage',
+            '_GDIPlus_GraphicsDrawImageRect', '_GDIPlus_GraphicsDrawImageRectRect', '_GDIPlus_GraphicsDrawLine',
+            '_GDIPlus_GraphicsDrawPie', '_GDIPlus_GraphicsDrawPolygon', '_GDIPlus_GraphicsDrawRect',
+            '_GDIPlus_GraphicsDrawString', '_GDIPlus_GraphicsDrawStringEx', '_GDIPlus_GraphicsFillClosedCurve',
+            '_GDIPlus_GraphicsFillEllipse', '_GDIPlus_GraphicsFillPie', '_GDIPlus_GraphicsFillRect',
+            '_GDIPlus_GraphicsGetDC', '_GDIPlus_GraphicsGetSmoothingMode', '_GDIPlus_GraphicsMeasureString',
+            '_GDIPlus_GraphicsReleaseDC', '_GDIPlus_GraphicsSetSmoothingMode', '_GDIPlus_GraphicsSetTransform',
+            '_GDIPlus_ImageDispose', '_GDIPlus_ImageGetGraphicsContext', '_GDIPlus_ImageGetHeight',
+            '_GDIPlus_ImageGetWidth', '_GDIPlus_ImageLoadFromFile', '_GDIPlus_ImageSaveToFile',
+            '_GDIPlus_ImageSaveToFileEx', '_GDIPlus_MatrixCreate', '_GDIPlus_MatrixDispose',
+            '_GDIPlus_MatrixRotate', '_GDIPlus_ParamAdd', '_GDIPlus_ParamInit',
+            '_GDIPlus_PenCreate', '_GDIPlus_PenDispose', '_GDIPlus_PenGetAlignment',
+            '_GDIPlus_PenGetColor', '_GDIPlus_PenGetCustomEndCap', '_GDIPlus_PenGetDashCap',
+            '_GDIPlus_PenGetDashStyle', '_GDIPlus_PenGetEndCap', '_GDIPlus_PenGetWidth',
+            '_GDIPlus_PenSetAlignment', '_GDIPlus_PenSetColor', '_GDIPlus_PenSetCustomEndCap',
+            '_GDIPlus_PenSetDashCap', '_GDIPlus_PenSetDashStyle', '_GDIPlus_PenSetEndCap',
+            '_GDIPlus_PenSetWidth', '_GDIPlus_RectFCreate', '_GDIPlus_Shutdown',
+            '_GDIPlus_Startup', '_GDIPlus_StringFormatCreate', '_GDIPlus_StringFormatDispose',
+            '_GetIP', '_GUICtrlAVI_Close', '_GUICtrlAVI_Create',
+            '_GUICtrlAVI_Destroy', '_GUICtrlAVI_Open', '_GUICtrlAVI_OpenEx',
+            '_GUICtrlAVI_Play', '_GUICtrlAVI_Seek', '_GUICtrlAVI_Show',
+            '_GUICtrlAVI_Stop', '_GUICtrlButton_Click', '_GUICtrlButton_Create',
+            '_GUICtrlButton_Destroy', '_GUICtrlButton_Enable', '_GUICtrlButton_GetCheck',
+            '_GUICtrlButton_GetFocus', '_GUICtrlButton_GetIdealSize', '_GUICtrlButton_GetImage',
+            '_GUICtrlButton_GetImageList', '_GUICtrlButton_GetState', '_GUICtrlButton_GetText',
+            '_GUICtrlButton_GetTextMargin', '_GUICtrlButton_SetCheck', '_GUICtrlButton_SetFocus',
+            '_GUICtrlButton_SetImage', '_GUICtrlButton_SetImageList', '_GUICtrlButton_SetSize',
+            '_GUICtrlButton_SetState', '_GUICtrlButton_SetStyle', '_GUICtrlButton_SetText',
+            '_GUICtrlButton_SetTextMargin', '_GUICtrlButton_Show', '_GUICtrlComboBox_AddDir',
+            '_GUICtrlComboBox_AddString', '_GUICtrlComboBox_AutoComplete', '_GUICtrlComboBox_BeginUpdate',
+            '_GUICtrlComboBox_Create', '_GUICtrlComboBox_DeleteString', '_GUICtrlComboBox_Destroy',
+            '_GUICtrlComboBox_EndUpdate', '_GUICtrlComboBox_FindString', '_GUICtrlComboBox_FindStringExact',
+            '_GUICtrlComboBox_GetComboBoxInfo', '_GUICtrlComboBox_GetCount', '_GUICtrlComboBox_GetCurSel',
+            '_GUICtrlComboBox_GetDroppedControlRect', '_GUICtrlComboBox_GetDroppedControlRectEx', '_GUICtrlComboBox_GetDroppedState',
+            '_GUICtrlComboBox_GetDroppedWidth', '_GUICtrlComboBox_GetEditSel', '_GUICtrlComboBox_GetEditText',
+            '_GUICtrlComboBox_GetExtendedUI', '_GUICtrlComboBox_GetHorizontalExtent', '_GUICtrlComboBox_GetItemHeight',
+            '_GUICtrlComboBox_GetLBText', '_GUICtrlComboBox_GetLBTextLen', '_GUICtrlComboBox_GetList',
+            '_GUICtrlComboBox_GetListArray', '_GUICtrlComboBox_GetLocale', '_GUICtrlComboBox_GetLocaleCountry',
+            '_GUICtrlComboBox_GetLocaleLang', '_GUICtrlComboBox_GetLocalePrimLang', '_GUICtrlComboBox_GetLocaleSubLang',
+            '_GUICtrlComboBox_GetMinVisible', '_GUICtrlComboBox_GetTopIndex', '_GUICtrlComboBox_InitStorage',
+            '_GUICtrlComboBox_InsertString', '_GUICtrlComboBox_LimitText', '_GUICtrlComboBox_ReplaceEditSel',
+            '_GUICtrlComboBox_ResetContent', '_GUICtrlComboBox_SelectString', '_GUICtrlComboBox_SetCurSel',
+            '_GUICtrlComboBox_SetDroppedWidth', '_GUICtrlComboBox_SetEditSel', '_GUICtrlComboBox_SetEditText',
+            '_GUICtrlComboBox_SetExtendedUI', '_GUICtrlComboBox_SetHorizontalExtent', '_GUICtrlComboBox_SetItemHeight',
+            '_GUICtrlComboBox_SetMinVisible', '_GUICtrlComboBox_SetTopIndex', '_GUICtrlComboBox_ShowDropDown',
+            '_GUICtrlComboBoxEx_AddDir', '_GUICtrlComboBoxEx_AddString', '_GUICtrlComboBoxEx_BeginUpdate',
+            '_GUICtrlComboBoxEx_Create', '_GUICtrlComboBoxEx_CreateSolidBitMap', '_GUICtrlComboBoxEx_DeleteString',
+            '_GUICtrlComboBoxEx_Destroy', '_GUICtrlComboBoxEx_EndUpdate', '_GUICtrlComboBoxEx_FindStringExact',
+            '_GUICtrlComboBoxEx_GetComboBoxInfo', '_GUICtrlComboBoxEx_GetComboControl', '_GUICtrlComboBoxEx_GetCount',
+            '_GUICtrlComboBoxEx_GetCurSel', '_GUICtrlComboBoxEx_GetDroppedControlRect', '_GUICtrlComboBoxEx_GetDroppedControlRectEx',
+            '_GUICtrlComboBoxEx_GetDroppedState', '_GUICtrlComboBoxEx_GetDroppedWidth', '_GUICtrlComboBoxEx_GetEditControl',
+            '_GUICtrlComboBoxEx_GetEditSel', '_GUICtrlComboBoxEx_GetEditText', '_GUICtrlComboBoxEx_GetExtendedStyle',
+            '_GUICtrlComboBoxEx_GetExtendedUI', '_GUICtrlComboBoxEx_GetImageList', '_GUICtrlComboBoxEx_GetItem',
+            '_GUICtrlComboBoxEx_GetItemEx', '_GUICtrlComboBoxEx_GetItemHeight', '_GUICtrlComboBoxEx_GetItemImage',
+            '_GUICtrlComboBoxEx_GetItemIndent', '_GUICtrlComboBoxEx_GetItemOverlayImage', '_GUICtrlComboBoxEx_GetItemParam',
+            '_GUICtrlComboBoxEx_GetItemSelectedImage', '_GUICtrlComboBoxEx_GetItemText', '_GUICtrlComboBoxEx_GetItemTextLen',
+            '_GUICtrlComboBoxEx_GetList', '_GUICtrlComboBoxEx_GetListArray', '_GUICtrlComboBoxEx_GetLocale',
+            '_GUICtrlComboBoxEx_GetLocaleCountry', '_GUICtrlComboBoxEx_GetLocaleLang', '_GUICtrlComboBoxEx_GetLocalePrimLang',
+            '_GUICtrlComboBoxEx_GetLocaleSubLang', '_GUICtrlComboBoxEx_GetMinVisible', '_GUICtrlComboBoxEx_GetTopIndex',
+            '_GUICtrlComboBoxEx_InitStorage', '_GUICtrlComboBoxEx_InsertString', '_GUICtrlComboBoxEx_LimitText',
+            '_GUICtrlComboBoxEx_ReplaceEditSel', '_GUICtrlComboBoxEx_ResetContent', '_GUICtrlComboBoxEx_SetCurSel',
+            '_GUICtrlComboBoxEx_SetDroppedWidth', '_GUICtrlComboBoxEx_SetEditSel', '_GUICtrlComboBoxEx_SetEditText',
+            '_GUICtrlComboBoxEx_SetExtendedStyle', '_GUICtrlComboBoxEx_SetExtendedUI', '_GUICtrlComboBoxEx_SetImageList',
+            '_GUICtrlComboBoxEx_SetItem', '_GUICtrlComboBoxEx_SetItemEx', '_GUICtrlComboBoxEx_SetItemHeight',
+            '_GUICtrlComboBoxEx_SetItemImage', '_GUICtrlComboBoxEx_SetItemIndent', '_GUICtrlComboBoxEx_SetItemOverlayImage',
+            '_GUICtrlComboBoxEx_SetItemParam', '_GUICtrlComboBoxEx_SetItemSelectedImage', '_GUICtrlComboBoxEx_SetMinVisible',
+            '_GUICtrlComboBoxEx_SetTopIndex', '_GUICtrlComboBoxEx_ShowDropDown', '_GUICtrlDTP_Create',
+            '_GUICtrlDTP_Destroy', '_GUICtrlDTP_GetMCColor', '_GUICtrlDTP_GetMCFont',
+            '_GUICtrlDTP_GetMonthCal', '_GUICtrlDTP_GetRange', '_GUICtrlDTP_GetRangeEx',
+            '_GUICtrlDTP_GetSystemTime', '_GUICtrlDTP_GetSystemTimeEx', '_GUICtrlDTP_SetFormat',
+            '_GUICtrlDTP_SetMCColor', '_GUICtrlDTP_SetMCFont', '_GUICtrlDTP_SetRange',
+            '_GUICtrlDTP_SetRangeEx', '_GUICtrlDTP_SetSystemTime', '_GUICtrlDTP_SetSystemTimeEx',
+            '_GUICtrlEdit_AppendText', '_GUICtrlEdit_BeginUpdate', '_GUICtrlEdit_CanUndo',
+            '_GUICtrlEdit_CharFromPos', '_GUICtrlEdit_Create', '_GUICtrlEdit_Destroy',
+            '_GUICtrlEdit_EmptyUndoBuffer', '_GUICtrlEdit_EndUpdate', '_GUICtrlEdit_Find',
+            '_GUICtrlEdit_FmtLines', '_GUICtrlEdit_GetFirstVisibleLine', '_GUICtrlEdit_GetLimitText',
+            '_GUICtrlEdit_GetLine', '_GUICtrlEdit_GetLineCount', '_GUICtrlEdit_GetMargins',
+            '_GUICtrlEdit_GetModify', '_GUICtrlEdit_GetPasswordChar', '_GUICtrlEdit_GetRECT',
+            '_GUICtrlEdit_GetRECTEx', '_GUICtrlEdit_GetSel', '_GUICtrlEdit_GetText',
+            '_GUICtrlEdit_GetTextLen', '_GUICtrlEdit_HideBalloonTip', '_GUICtrlEdit_InsertText',
+            '_GUICtrlEdit_LineFromChar', '_GUICtrlEdit_LineIndex', '_GUICtrlEdit_LineLength',
+            '_GUICtrlEdit_LineScroll', '_GUICtrlEdit_PosFromChar', '_GUICtrlEdit_ReplaceSel',
+            '_GUICtrlEdit_Scroll', '_GUICtrlEdit_SetLimitText', '_GUICtrlEdit_SetMargins',
+            '_GUICtrlEdit_SetModify', '_GUICtrlEdit_SetPasswordChar', '_GUICtrlEdit_SetReadOnly',
+            '_GUICtrlEdit_SetRECT', '_GUICtrlEdit_SetRECTEx', '_GUICtrlEdit_SetRECTNP',
+            '_GUICtrlEdit_SetRectNPEx', '_GUICtrlEdit_SetSel', '_GUICtrlEdit_SetTabStops',
+            '_GUICtrlEdit_SetText', '_GUICtrlEdit_ShowBalloonTip', '_GUICtrlEdit_Undo',
+            '_GUICtrlHeader_AddItem', '_GUICtrlHeader_ClearFilter', '_GUICtrlHeader_ClearFilterAll',
+            '_GUICtrlHeader_Create', '_GUICtrlHeader_CreateDragImage', '_GUICtrlHeader_DeleteItem',
+            '_GUICtrlHeader_Destroy', '_GUICtrlHeader_EditFilter', '_GUICtrlHeader_GetBitmapMargin',
+            '_GUICtrlHeader_GetImageList', '_GUICtrlHeader_GetItem', '_GUICtrlHeader_GetItemAlign',
+            '_GUICtrlHeader_GetItemBitmap', '_GUICtrlHeader_GetItemCount', '_GUICtrlHeader_GetItemDisplay',
+            '_GUICtrlHeader_GetItemFlags', '_GUICtrlHeader_GetItemFormat', '_GUICtrlHeader_GetItemImage',
+            '_GUICtrlHeader_GetItemOrder', '_GUICtrlHeader_GetItemParam', '_GUICtrlHeader_GetItemRect',
+            '_GUICtrlHeader_GetItemRectEx', '_GUICtrlHeader_GetItemText', '_GUICtrlHeader_GetItemWidth',
+            '_GUICtrlHeader_GetOrderArray', '_GUICtrlHeader_GetUnicodeFormat', '_GUICtrlHeader_HitTest',
+            '_GUICtrlHeader_InsertItem', '_GUICtrlHeader_Layout', '_GUICtrlHeader_OrderToIndex',
+            '_GUICtrlHeader_SetBitmapMargin', '_GUICtrlHeader_SetFilterChangeTimeout', '_GUICtrlHeader_SetHotDivider',
+            '_GUICtrlHeader_SetImageList', '_GUICtrlHeader_SetItem', '_GUICtrlHeader_SetItemAlign',
+            '_GUICtrlHeader_SetItemBitmap', '_GUICtrlHeader_SetItemDisplay', '_GUICtrlHeader_SetItemFlags',
+            '_GUICtrlHeader_SetItemFormat', '_GUICtrlHeader_SetItemImage', '_GUICtrlHeader_SetItemOrder',
+            '_GUICtrlHeader_SetItemParam', '_GUICtrlHeader_SetItemText', '_GUICtrlHeader_SetItemWidth',
+            '_GUICtrlHeader_SetOrderArray', '_GUICtrlHeader_SetUnicodeFormat', '_GUICtrlIpAddress_ClearAddress',
+            '_GUICtrlIpAddress_Create', '_GUICtrlIpAddress_Destroy', '_GUICtrlIpAddress_Get',
+            '_GUICtrlIpAddress_GetArray', '_GUICtrlIpAddress_GetEx', '_GUICtrlIpAddress_IsBlank',
+            '_GUICtrlIpAddress_Set', '_GUICtrlIpAddress_SetArray', '_GUICtrlIpAddress_SetEx',
+            '_GUICtrlIpAddress_SetFocus', '_GUICtrlIpAddress_SetFont', '_GUICtrlIpAddress_SetRange',
+            '_GUICtrlIpAddress_ShowHide', '_GUICtrlListBox_AddFile', '_GUICtrlListBox_AddString',
+            '_GUICtrlListBox_BeginUpdate', '_GUICtrlListBox_Create', '_GUICtrlListBox_DeleteString',
+            '_GUICtrlListBox_Destroy', '_GUICtrlListBox_Dir', '_GUICtrlListBox_EndUpdate',
+            '_GUICtrlListBox_FindInText', '_GUICtrlListBox_FindString', '_GUICtrlListBox_GetAnchorIndex',
+            '_GUICtrlListBox_GetCaretIndex', '_GUICtrlListBox_GetCount', '_GUICtrlListBox_GetCurSel',
+            '_GUICtrlListBox_GetHorizontalExtent', '_GUICtrlListBox_GetItemData', '_GUICtrlListBox_GetItemHeight',
+            '_GUICtrlListBox_GetItemRect', '_GUICtrlListBox_GetItemRectEx', '_GUICtrlListBox_GetListBoxInfo',
+            '_GUICtrlListBox_GetLocale', '_GUICtrlListBox_GetLocaleCountry', '_GUICtrlListBox_GetLocaleLang',
+            '_GUICtrlListBox_GetLocalePrimLang', '_GUICtrlListBox_GetLocaleSubLang', '_GUICtrlListBox_GetSel',
+            '_GUICtrlListBox_GetSelCount', '_GUICtrlListBox_GetSelItems', '_GUICtrlListBox_GetSelItemsText',
+            '_GUICtrlListBox_GetText', '_GUICtrlListBox_GetTextLen', '_GUICtrlListBox_GetTopIndex',
+            '_GUICtrlListBox_InitStorage', '_GUICtrlListBox_InsertString', '_GUICtrlListBox_ItemFromPoint',
+            '_GUICtrlListBox_ReplaceString', '_GUICtrlListBox_ResetContent', '_GUICtrlListBox_SelectString',
+            '_GUICtrlListBox_SelItemRange', '_GUICtrlListBox_SelItemRangeEx', '_GUICtrlListBox_SetAnchorIndex',
+            '_GUICtrlListBox_SetCaretIndex', '_GUICtrlListBox_SetColumnWidth', '_GUICtrlListBox_SetCurSel',
+            '_GUICtrlListBox_SetHorizontalExtent', '_GUICtrlListBox_SetItemData', '_GUICtrlListBox_SetItemHeight',
+            '_GUICtrlListBox_SetLocale', '_GUICtrlListBox_SetSel', '_GUICtrlListBox_SetTabStops',
+            '_GUICtrlListBox_SetTopIndex', '_GUICtrlListBox_Sort', '_GUICtrlListBox_SwapString',
+            '_GUICtrlListBox_UpdateHScroll', '_GUICtrlListView_AddArray', '_GUICtrlListView_AddColumn',
+            '_GUICtrlListView_AddItem', '_GUICtrlListView_AddSubItem', '_GUICtrlListView_ApproximateViewHeight',
+            '_GUICtrlListView_ApproximateViewRect', '_GUICtrlListView_ApproximateViewWidth', '_GUICtrlListView_Arrange',
+            '_GUICtrlListView_BeginUpdate', '_GUICtrlListView_CancelEditLabel', '_GUICtrlListView_ClickItem',
+            '_GUICtrlListView_CopyItems', '_GUICtrlListView_Create', '_GUICtrlListView_CreateDragImage',
+            '_GUICtrlListView_CreateSolidBitMap', '_GUICtrlListView_DeleteAllItems', '_GUICtrlListView_DeleteColumn',
+            '_GUICtrlListView_DeleteItem', '_GUICtrlListView_DeleteItemsSelected', '_GUICtrlListView_Destroy',
+            '_GUICtrlListView_DrawDragImage', '_GUICtrlListView_EditLabel', '_GUICtrlListView_EnableGroupView',
+            '_GUICtrlListView_EndUpdate', '_GUICtrlListView_EnsureVisible', '_GUICtrlListView_FindInText',
+            '_GUICtrlListView_FindItem', '_GUICtrlListView_FindNearest', '_GUICtrlListView_FindParam',
+            '_GUICtrlListView_FindText', '_GUICtrlListView_GetBkColor', '_GUICtrlListView_GetBkImage',
+            '_GUICtrlListView_GetCallbackMask', '_GUICtrlListView_GetColumn', '_GUICtrlListView_GetColumnCount',
+            '_GUICtrlListView_GetColumnOrder', '_GUICtrlListView_GetColumnOrderArray', '_GUICtrlListView_GetColumnWidth',
+            '_GUICtrlListView_GetCounterPage', '_GUICtrlListView_GetEditControl', '_GUICtrlListView_GetExtendedListViewStyle',
+            '_GUICtrlListView_GetGroupInfo', '_GUICtrlListView_GetGroupViewEnabled', '_GUICtrlListView_GetHeader',
+            '_GUICtrlListView_GetHotCursor', '_GUICtrlListView_GetHotItem', '_GUICtrlListView_GetHoverTime',
+            '_GUICtrlListView_GetImageList', '_GUICtrlListView_GetISearchString', '_GUICtrlListView_GetItem',
+            '_GUICtrlListView_GetItemChecked', '_GUICtrlListView_GetItemCount', '_GUICtrlListView_GetItemCut',
+            '_GUICtrlListView_GetItemDropHilited', '_GUICtrlListView_GetItemEx', '_GUICtrlListView_GetItemFocused',
+            '_GUICtrlListView_GetItemGroupID', '_GUICtrlListView_GetItemImage', '_GUICtrlListView_GetItemIndent',
+            '_GUICtrlListView_GetItemParam', '_GUICtrlListView_GetItemPosition', '_GUICtrlListView_GetItemPositionX',
+            '_GUICtrlListView_GetItemPositionY', '_GUICtrlListView_GetItemRect', '_GUICtrlListView_GetItemRectEx',
+            '_GUICtrlListView_GetItemSelected', '_GUICtrlListView_GetItemSpacing', '_GUICtrlListView_GetItemSpacingX',
+            '_GUICtrlListView_GetItemSpacingY', '_GUICtrlListView_GetItemState', '_GUICtrlListView_GetItemStateImage',
+            '_GUICtrlListView_GetItemText', '_GUICtrlListView_GetItemTextArray', '_GUICtrlListView_GetItemTextString',
+            '_GUICtrlListView_GetNextItem', '_GUICtrlListView_GetNumberOfWorkAreas', '_GUICtrlListView_GetOrigin',
+            '_GUICtrlListView_GetOriginX', '_GUICtrlListView_GetOriginY', '_GUICtrlListView_GetOutlineColor',
+            '_GUICtrlListView_GetSelectedColumn', '_GUICtrlListView_GetSelectedCount', '_GUICtrlListView_GetSelectedIndices',
+            '_GUICtrlListView_GetSelectionMark', '_GUICtrlListView_GetStringWidth', '_GUICtrlListView_GetSubItemRect',
+            '_GUICtrlListView_GetTextBkColor', '_GUICtrlListView_GetTextColor', '_GUICtrlListView_GetToolTips',
+            '_GUICtrlListView_GetTopIndex', '_GUICtrlListView_GetUnicodeFormat', '_GUICtrlListView_GetView',
+            '_GUICtrlListView_GetViewDetails', '_GUICtrlListView_GetViewLarge', '_GUICtrlListView_GetViewList',
+            '_GUICtrlListView_GetViewRect', '_GUICtrlListView_GetViewSmall', '_GUICtrlListView_GetViewTile',
+            '_GUICtrlListView_HideColumn', '_GUICtrlListView_HitTest', '_GUICtrlListView_InsertColumn',
+            '_GUICtrlListView_InsertGroup', '_GUICtrlListView_InsertItem', '_GUICtrlListView_JustifyColumn',
+            '_GUICtrlListView_MapIDToIndex', '_GUICtrlListView_MapIndexToID', '_GUICtrlListView_RedrawItems',
+            '_GUICtrlListView_RegisterSortCallBack', '_GUICtrlListView_RemoveAllGroups', '_GUICtrlListView_RemoveGroup',
+            '_GUICtrlListView_Scroll', '_GUICtrlListView_SetBkColor', '_GUICtrlListView_SetBkImage',
+            '_GUICtrlListView_SetCallBackMask', '_GUICtrlListView_SetColumn', '_GUICtrlListView_SetColumnOrder',
+            '_GUICtrlListView_SetColumnOrderArray', '_GUICtrlListView_SetColumnWidth', '_GUICtrlListView_SetExtendedListViewStyle',
+            '_GUICtrlListView_SetGroupInfo', '_GUICtrlListView_SetHotItem', '_GUICtrlListView_SetHoverTime',
+            '_GUICtrlListView_SetIconSpacing', '_GUICtrlListView_SetImageList', '_GUICtrlListView_SetItem',
+            '_GUICtrlListView_SetItemChecked', '_GUICtrlListView_SetItemCount', '_GUICtrlListView_SetItemCut',
+            '_GUICtrlListView_SetItemDropHilited', '_GUICtrlListView_SetItemEx', '_GUICtrlListView_SetItemFocused',
+            '_GUICtrlListView_SetItemGroupID', '_GUICtrlListView_SetItemImage', '_GUICtrlListView_SetItemIndent',
+            '_GUICtrlListView_SetItemParam', '_GUICtrlListView_SetItemPosition', '_GUICtrlListView_SetItemPosition32',
+            '_GUICtrlListView_SetItemSelected', '_GUICtrlListView_SetItemState', '_GUICtrlListView_SetItemStateImage',
+            '_GUICtrlListView_SetItemText', '_GUICtrlListView_SetOutlineColor', '_GUICtrlListView_SetSelectedColumn',
+            '_GUICtrlListView_SetSelectionMark', '_GUICtrlListView_SetTextBkColor', '_GUICtrlListView_SetTextColor',
+            '_GUICtrlListView_SetToolTips', '_GUICtrlListView_SetUnicodeFormat', '_GUICtrlListView_SetView',
+            '_GUICtrlListView_SetWorkAreas', '_GUICtrlListView_SimpleSort', '_GUICtrlListView_SortItems',
+            '_GUICtrlListView_SubItemHitTest', '_GUICtrlListView_UnRegisterSortCallBack', '_GUICtrlMenu_AddMenuItem',
+            '_GUICtrlMenu_AppendMenu', '_GUICtrlMenu_CheckMenuItem', '_GUICtrlMenu_CheckRadioItem',
+            '_GUICtrlMenu_CreateMenu', '_GUICtrlMenu_CreatePopup', '_GUICtrlMenu_DeleteMenu',
+            '_GUICtrlMenu_DestroyMenu', '_GUICtrlMenu_DrawMenuBar', '_GUICtrlMenu_EnableMenuItem',
+            '_GUICtrlMenu_FindItem', '_GUICtrlMenu_FindParent', '_GUICtrlMenu_GetItemBmp',
+            '_GUICtrlMenu_GetItemBmpChecked', '_GUICtrlMenu_GetItemBmpUnchecked', '_GUICtrlMenu_GetItemChecked',
+            '_GUICtrlMenu_GetItemCount', '_GUICtrlMenu_GetItemData', '_GUICtrlMenu_GetItemDefault',
+            '_GUICtrlMenu_GetItemDisabled', '_GUICtrlMenu_GetItemEnabled', '_GUICtrlMenu_GetItemGrayed',
+            '_GUICtrlMenu_GetItemHighlighted', '_GUICtrlMenu_GetItemID', '_GUICtrlMenu_GetItemInfo',
+            '_GUICtrlMenu_GetItemRect', '_GUICtrlMenu_GetItemRectEx', '_GUICtrlMenu_GetItemState',
+            '_GUICtrlMenu_GetItemStateEx', '_GUICtrlMenu_GetItemSubMenu', '_GUICtrlMenu_GetItemText',
+            '_GUICtrlMenu_GetItemType', '_GUICtrlMenu_GetMenu', '_GUICtrlMenu_GetMenuBackground',
+            '_GUICtrlMenu_GetMenuBarInfo', '_GUICtrlMenu_GetMenuContextHelpID', '_GUICtrlMenu_GetMenuData',
+            '_GUICtrlMenu_GetMenuDefaultItem', '_GUICtrlMenu_GetMenuHeight', '_GUICtrlMenu_GetMenuInfo',
+            '_GUICtrlMenu_GetMenuStyle', '_GUICtrlMenu_GetSystemMenu', '_GUICtrlMenu_InsertMenuItem',
+            '_GUICtrlMenu_InsertMenuItemEx', '_GUICtrlMenu_IsMenu', '_GUICtrlMenu_LoadMenu',
+            '_GUICtrlMenu_MapAccelerator', '_GUICtrlMenu_MenuItemFromPoint', '_GUICtrlMenu_RemoveMenu',
+            '_GUICtrlMenu_SetItemBitmaps', '_GUICtrlMenu_SetItemBmp', '_GUICtrlMenu_SetItemBmpChecked',
+            '_GUICtrlMenu_SetItemBmpUnchecked', '_GUICtrlMenu_SetItemChecked', '_GUICtrlMenu_SetItemData',
+            '_GUICtrlMenu_SetItemDefault', '_GUICtrlMenu_SetItemDisabled', '_GUICtrlMenu_SetItemEnabled',
+            '_GUICtrlMenu_SetItemGrayed', '_GUICtrlMenu_SetItemHighlighted', '_GUICtrlMenu_SetItemID',
+            '_GUICtrlMenu_SetItemInfo', '_GUICtrlMenu_SetItemState', '_GUICtrlMenu_SetItemSubMenu',
+            '_GUICtrlMenu_SetItemText', '_GUICtrlMenu_SetItemType', '_GUICtrlMenu_SetMenu',
+            '_GUICtrlMenu_SetMenuBackground', '_GUICtrlMenu_SetMenuContextHelpID', '_GUICtrlMenu_SetMenuData',
+            '_GUICtrlMenu_SetMenuDefaultItem', '_GUICtrlMenu_SetMenuHeight', '_GUICtrlMenu_SetMenuInfo',
+            '_GUICtrlMenu_SetMenuStyle', '_GUICtrlMenu_TrackPopupMenu', '_GUICtrlMonthCal_Create',
+            '_GUICtrlMonthCal_Destroy', '_GUICtrlMonthCal_GetColor', '_GUICtrlMonthCal_GetColorArray',
+            '_GUICtrlMonthCal_GetCurSel', '_GUICtrlMonthCal_GetCurSelStr', '_GUICtrlMonthCal_GetFirstDOW',
+            '_GUICtrlMonthCal_GetFirstDOWStr', '_GUICtrlMonthCal_GetMaxSelCount', '_GUICtrlMonthCal_GetMaxTodayWidth',
+            '_GUICtrlMonthCal_GetMinReqHeight', '_GUICtrlMonthCal_GetMinReqRect', '_GUICtrlMonthCal_GetMinReqRectArray',
+            '_GUICtrlMonthCal_GetMinReqWidth', '_GUICtrlMonthCal_GetMonthDelta', '_GUICtrlMonthCal_GetMonthRange',
+            '_GUICtrlMonthCal_GetMonthRangeMax', '_GUICtrlMonthCal_GetMonthRangeMaxStr', '_GUICtrlMonthCal_GetMonthRangeMin',
+            '_GUICtrlMonthCal_GetMonthRangeMinStr', '_GUICtrlMonthCal_GetMonthRangeSpan', '_GUICtrlMonthCal_GetRange',
+            '_GUICtrlMonthCal_GetRangeMax', '_GUICtrlMonthCal_GetRangeMaxStr', '_GUICtrlMonthCal_GetRangeMin',
+            '_GUICtrlMonthCal_GetRangeMinStr', '_GUICtrlMonthCal_GetSelRange', '_GUICtrlMonthCal_GetSelRangeMax',
+            '_GUICtrlMonthCal_GetSelRangeMaxStr', '_GUICtrlMonthCal_GetSelRangeMin', '_GUICtrlMonthCal_GetSelRangeMinStr',
+            '_GUICtrlMonthCal_GetToday', '_GUICtrlMonthCal_GetTodayStr', '_GUICtrlMonthCal_GetUnicodeFormat',
+            '_GUICtrlMonthCal_HitTest', '_GUICtrlMonthCal_SetColor', '_GUICtrlMonthCal_SetCurSel',
+            '_GUICtrlMonthCal_SetDayState', '_GUICtrlMonthCal_SetFirstDOW', '_GUICtrlMonthCal_SetMaxSelCount',
+            '_GUICtrlMonthCal_SetMonthDelta', '_GUICtrlMonthCal_SetRange', '_GUICtrlMonthCal_SetSelRange',
+            '_GUICtrlMonthCal_SetToday', '_GUICtrlMonthCal_SetUnicodeFormat', '_GUICtrlRebar_AddBand',
+            '_GUICtrlRebar_AddToolBarBand', '_GUICtrlRebar_BeginDrag', '_GUICtrlRebar_Create',
+            '_GUICtrlRebar_DeleteBand', '_GUICtrlRebar_Destroy', '_GUICtrlRebar_DragMove',
+            '_GUICtrlRebar_EndDrag', '_GUICtrlRebar_GetBandBackColor', '_GUICtrlRebar_GetBandBorders',
+            '_GUICtrlRebar_GetBandBordersEx', '_GUICtrlRebar_GetBandChildHandle', '_GUICtrlRebar_GetBandChildSize',
+            '_GUICtrlRebar_GetBandCount', '_GUICtrlRebar_GetBandForeColor', '_GUICtrlRebar_GetBandHeaderSize',
+            '_GUICtrlRebar_GetBandID', '_GUICtrlRebar_GetBandIdealSize', '_GUICtrlRebar_GetBandLength',
+            '_GUICtrlRebar_GetBandLParam', '_GUICtrlRebar_GetBandMargins', '_GUICtrlRebar_GetBandMarginsEx',
+            '_GUICtrlRebar_GetBandRect', '_GUICtrlRebar_GetBandRectEx', '_GUICtrlRebar_GetBandStyle',
+            '_GUICtrlRebar_GetBandStyleBreak', '_GUICtrlRebar_GetBandStyleChildEdge', '_GUICtrlRebar_GetBandStyleFixedBMP',
+            '_GUICtrlRebar_GetBandStyleFixedSize', '_GUICtrlRebar_GetBandStyleGripperAlways', '_GUICtrlRebar_GetBandStyleHidden',
+            '_GUICtrlRebar_GetBandStyleHideTitle', '_GUICtrlRebar_GetBandStyleNoGripper', '_GUICtrlRebar_GetBandStyleTopAlign',
+            '_GUICtrlRebar_GetBandStyleUseChevron', '_GUICtrlRebar_GetBandStyleVariableHeight', '_GUICtrlRebar_GetBandText',
+            '_GUICtrlRebar_GetBarHeight', '_GUICtrlRebar_GetBKColor', '_GUICtrlRebar_GetColorScheme',
+            '_GUICtrlRebar_GetRowCount', '_GUICtrlRebar_GetRowHeight', '_GUICtrlRebar_GetTextColor',
+            '_GUICtrlRebar_GetToolTips', '_GUICtrlRebar_GetUnicodeFormat', '_GUICtrlRebar_HitTest',
+            '_GUICtrlRebar_IDToIndex', '_GUICtrlRebar_MaximizeBand', '_GUICtrlRebar_MinimizeBand',
+            '_GUICtrlRebar_MoveBand', '_GUICtrlRebar_SetBandBackColor', '_GUICtrlRebar_SetBandForeColor',
+            '_GUICtrlRebar_SetBandHeaderSize', '_GUICtrlRebar_SetBandID', '_GUICtrlRebar_SetBandIdealSize',
+            '_GUICtrlRebar_SetBandLength', '_GUICtrlRebar_SetBandLParam', '_GUICtrlRebar_SetBandStyle',
+            '_GUICtrlRebar_SetBandStyleBreak', '_GUICtrlRebar_SetBandStyleChildEdge', '_GUICtrlRebar_SetBandStyleFixedBMP',
+            '_GUICtrlRebar_SetBandStyleFixedSize', '_GUICtrlRebar_SetBandStyleGripperAlways', '_GUICtrlRebar_SetBandStyleHidden',
+            '_GUICtrlRebar_SetBandStyleHideTitle', '_GUICtrlRebar_SetBandStyleNoGripper', '_GUICtrlRebar_SetBandStyleTopAlign',
+            '_GUICtrlRebar_SetBandStyleUseChevron', '_GUICtrlRebar_SetBandStyleVariableHeight', '_GUICtrlRebar_SetBandText',
+            '_GUICtrlRebar_SetBKColor', '_GUICtrlRebar_SetColorScheme', '_GUICtrlRebar_SetTextColor',
+            '_GUICtrlRebar_SetToolTips', '_GUICtrlRebar_SetUnicodeFormat', '_GUICtrlRebar_ShowBand',
+            '_GUICtrlSlider_ClearSel', '_GUICtrlSlider_ClearTics', '_GUICtrlSlider_Create',
+            '_GUICtrlSlider_Destroy', '_GUICtrlSlider_GetBuddy', '_GUICtrlSlider_GetChannelRect',
+            '_GUICtrlSlider_GetLineSize', '_GUICtrlSlider_GetNumTics', '_GUICtrlSlider_GetPageSize',
+            '_GUICtrlSlider_GetPos', '_GUICtrlSlider_GetPTics', '_GUICtrlSlider_GetRange',
+            '_GUICtrlSlider_GetRangeMax', '_GUICtrlSlider_GetRangeMin', '_GUICtrlSlider_GetSel',
+            '_GUICtrlSlider_GetSelEnd', '_GUICtrlSlider_GetSelStart', '_GUICtrlSlider_GetThumbLength',
+            '_GUICtrlSlider_GetThumbRect', '_GUICtrlSlider_GetThumbRectEx', '_GUICtrlSlider_GetTic',
+            '_GUICtrlSlider_GetTicPos', '_GUICtrlSlider_GetToolTips', '_GUICtrlSlider_GetUnicodeFormat',
+            '_GUICtrlSlider_SetBuddy', '_GUICtrlSlider_SetLineSize', '_GUICtrlSlider_SetPageSize',
+            '_GUICtrlSlider_SetPos', '_GUICtrlSlider_SetRange', '_GUICtrlSlider_SetRangeMax',
+            '_GUICtrlSlider_SetRangeMin', '_GUICtrlSlider_SetSel', '_GUICtrlSlider_SetSelEnd',
+            '_GUICtrlSlider_SetSelStart', '_GUICtrlSlider_SetThumbLength', '_GUICtrlSlider_SetTic',
+            '_GUICtrlSlider_SetTicFreq', '_GUICtrlSlider_SetTipSide', '_GUICtrlSlider_SetToolTips',
+            '_GUICtrlSlider_SetUnicodeFormat', '_GUICtrlStatusBar_Create', '_GUICtrlStatusBar_Destroy',
+            '_GUICtrlStatusBar_EmbedControl', '_GUICtrlStatusBar_GetBorders', '_GUICtrlStatusBar_GetBordersHorz',
+            '_GUICtrlStatusBar_GetBordersRect', '_GUICtrlStatusBar_GetBordersVert', '_GUICtrlStatusBar_GetCount',
+            '_GUICtrlStatusBar_GetHeight', '_GUICtrlStatusBar_GetIcon', '_GUICtrlStatusBar_GetParts',
+            '_GUICtrlStatusBar_GetRect', '_GUICtrlStatusBar_GetRectEx', '_GUICtrlStatusBar_GetText',
+            '_GUICtrlStatusBar_GetTextFlags', '_GUICtrlStatusBar_GetTextLength', '_GUICtrlStatusBar_GetTextLengthEx',
+            '_GUICtrlStatusBar_GetTipText', '_GUICtrlStatusBar_GetUnicodeFormat', '_GUICtrlStatusBar_GetWidth',
+            '_GUICtrlStatusBar_IsSimple', '_GUICtrlStatusBar_Resize', '_GUICtrlStatusBar_SetBkColor',
+            '_GUICtrlStatusBar_SetIcon', '_GUICtrlStatusBar_SetMinHeight', '_GUICtrlStatusBar_SetParts',
+            '_GUICtrlStatusBar_SetSimple', '_GUICtrlStatusBar_SetText', '_GUICtrlStatusBar_SetTipText',
+            '_GUICtrlStatusBar_SetUnicodeFormat', '_GUICtrlStatusBar_ShowHide', '_GUICtrlTab_Create',
+            '_GUICtrlTab_DeleteAllItems', '_GUICtrlTab_DeleteItem', '_GUICtrlTab_DeselectAll',
+            '_GUICtrlTab_Destroy', '_GUICtrlTab_FindTab', '_GUICtrlTab_GetCurFocus',
+            '_GUICtrlTab_GetCurSel', '_GUICtrlTab_GetDisplayRect', '_GUICtrlTab_GetDisplayRectEx',
+            '_GUICtrlTab_GetExtendedStyle', '_GUICtrlTab_GetImageList', '_GUICtrlTab_GetItem',
+            '_GUICtrlTab_GetItemCount', '_GUICtrlTab_GetItemImage', '_GUICtrlTab_GetItemParam',
+            '_GUICtrlTab_GetItemRect', '_GUICtrlTab_GetItemRectEx', '_GUICtrlTab_GetItemState',
+            '_GUICtrlTab_GetItemText', '_GUICtrlTab_GetRowCount', '_GUICtrlTab_GetToolTips',
+            '_GUICtrlTab_GetUnicodeFormat', '_GUICtrlTab_HighlightItem', '_GUICtrlTab_HitTest',
+            '_GUICtrlTab_InsertItem', '_GUICtrlTab_RemoveImage', '_GUICtrlTab_SetCurFocus',
+            '_GUICtrlTab_SetCurSel', '_GUICtrlTab_SetExtendedStyle', '_GUICtrlTab_SetImageList',
+            '_GUICtrlTab_SetItem', '_GUICtrlTab_SetItemImage', '_GUICtrlTab_SetItemParam',
+            '_GUICtrlTab_SetItemSize', '_GUICtrlTab_SetItemState', '_GUICtrlTab_SetItemText',
+            '_GUICtrlTab_SetMinTabWidth', '_GUICtrlTab_SetPadding', '_GUICtrlTab_SetToolTips',
+            '_GUICtrlTab_SetUnicodeFormat', '_GUICtrlToolbar_AddBitmap', '_GUICtrlToolbar_AddButton',
+            '_GUICtrlToolbar_AddButtonSep', '_GUICtrlToolbar_AddString', '_GUICtrlToolbar_ButtonCount',
+            '_GUICtrlToolbar_CheckButton', '_GUICtrlToolbar_ClickAccel', '_GUICtrlToolbar_ClickButton',
+            '_GUICtrlToolbar_ClickIndex', '_GUICtrlToolbar_CommandToIndex', '_GUICtrlToolbar_Create',
+            '_GUICtrlToolbar_Customize', '_GUICtrlToolbar_DeleteButton', '_GUICtrlToolbar_Destroy',
+            '_GUICtrlToolbar_EnableButton', '_GUICtrlToolbar_FindToolbar', '_GUICtrlToolbar_GetAnchorHighlight',
+            '_GUICtrlToolbar_GetBitmapFlags', '_GUICtrlToolbar_GetButtonBitmap', '_GUICtrlToolbar_GetButtonInfo',
+            '_GUICtrlToolbar_GetButtonInfoEx', '_GUICtrlToolbar_GetButtonParam', '_GUICtrlToolbar_GetButtonRect',
+            '_GUICtrlToolbar_GetButtonRectEx', '_GUICtrlToolbar_GetButtonSize', '_GUICtrlToolbar_GetButtonState',
+            '_GUICtrlToolbar_GetButtonStyle', '_GUICtrlToolbar_GetButtonText', '_GUICtrlToolbar_GetColorScheme',
+            '_GUICtrlToolbar_GetDisabledImageList', '_GUICtrlToolbar_GetExtendedStyle', '_GUICtrlToolbar_GetHotImageList',
+            '_GUICtrlToolbar_GetHotItem', '_GUICtrlToolbar_GetImageList', '_GUICtrlToolbar_GetInsertMark',
+            '_GUICtrlToolbar_GetInsertMarkColor', '_GUICtrlToolbar_GetMaxSize', '_GUICtrlToolbar_GetMetrics',
+            '_GUICtrlToolbar_GetPadding', '_GUICtrlToolbar_GetRows', '_GUICtrlToolbar_GetString',
+            '_GUICtrlToolbar_GetStyle', '_GUICtrlToolbar_GetStyleAltDrag', '_GUICtrlToolbar_GetStyleCustomErase',
+            '_GUICtrlToolbar_GetStyleFlat', '_GUICtrlToolbar_GetStyleList', '_GUICtrlToolbar_GetStyleRegisterDrop',
+            '_GUICtrlToolbar_GetStyleToolTips', '_GUICtrlToolbar_GetStyleTransparent', '_GUICtrlToolbar_GetStyleWrapable',
+            '_GUICtrlToolbar_GetTextRows', '_GUICtrlToolbar_GetToolTips', '_GUICtrlToolbar_GetUnicodeFormat',
+            '_GUICtrlToolbar_HideButton', '_GUICtrlToolbar_HighlightButton', '_GUICtrlToolbar_HitTest',
+            '_GUICtrlToolbar_IndexToCommand', '_GUICtrlToolbar_InsertButton', '_GUICtrlToolbar_InsertMarkHitTest',
+            '_GUICtrlToolbar_IsButtonChecked', '_GUICtrlToolbar_IsButtonEnabled', '_GUICtrlToolbar_IsButtonHidden',
+            '_GUICtrlToolbar_IsButtonHighlighted', '_GUICtrlToolbar_IsButtonIndeterminate', '_GUICtrlToolbar_IsButtonPressed',
+            '_GUICtrlToolbar_LoadBitmap', '_GUICtrlToolbar_LoadImages', '_GUICtrlToolbar_MapAccelerator',
+            '_GUICtrlToolbar_MoveButton', '_GUICtrlToolbar_PressButton', '_GUICtrlToolbar_SetAnchorHighlight',
+            '_GUICtrlToolbar_SetBitmapSize', '_GUICtrlToolbar_SetButtonBitMap', '_GUICtrlToolbar_SetButtonInfo',
+            '_GUICtrlToolbar_SetButtonInfoEx', '_GUICtrlToolbar_SetButtonParam', '_GUICtrlToolbar_SetButtonSize',
+            '_GUICtrlToolbar_SetButtonState', '_GUICtrlToolbar_SetButtonStyle', '_GUICtrlToolbar_SetButtonText',
+            '_GUICtrlToolbar_SetButtonWidth', '_GUICtrlToolbar_SetCmdID', '_GUICtrlToolbar_SetColorScheme',
+            '_GUICtrlToolbar_SetDisabledImageList', '_GUICtrlToolbar_SetDrawTextFlags', '_GUICtrlToolbar_SetExtendedStyle',
+            '_GUICtrlToolbar_SetHotImageList', '_GUICtrlToolbar_SetHotItem', '_GUICtrlToolbar_SetImageList',
+            '_GUICtrlToolbar_SetIndent', '_GUICtrlToolbar_SetIndeterminate', '_GUICtrlToolbar_SetInsertMark',
+            '_GUICtrlToolbar_SetInsertMarkColor', '_GUICtrlToolbar_SetMaxTextRows', '_GUICtrlToolbar_SetMetrics',
+            '_GUICtrlToolbar_SetPadding', '_GUICtrlToolbar_SetParent', '_GUICtrlToolbar_SetRows',
+            '_GUICtrlToolbar_SetStyle', '_GUICtrlToolbar_SetStyleAltDrag', '_GUICtrlToolbar_SetStyleCustomErase',
+            '_GUICtrlToolbar_SetStyleFlat', '_GUICtrlToolbar_SetStyleList', '_GUICtrlToolbar_SetStyleRegisterDrop',
+            '_GUICtrlToolbar_SetStyleToolTips', '_GUICtrlToolbar_SetStyleTransparent', '_GUICtrlToolbar_SetStyleWrapable',
+            '_GUICtrlToolbar_SetToolTips', '_GUICtrlToolbar_SetUnicodeFormat', '_GUICtrlToolbar_SetWindowTheme',
+            '_GUICtrlTreeView_Add', '_GUICtrlTreeView_AddChild', '_GUICtrlTreeView_AddChildFirst',
+            '_GUICtrlTreeView_AddFirst', '_GUICtrlTreeView_BeginUpdate', '_GUICtrlTreeView_ClickItem',
+            '_GUICtrlTreeView_Create', '_GUICtrlTreeView_CreateDragImage', '_GUICtrlTreeView_CreateSolidBitMap',
+            '_GUICtrlTreeView_Delete', '_GUICtrlTreeView_DeleteAll', '_GUICtrlTreeView_DeleteChildren',
+            '_GUICtrlTreeView_Destroy', '_GUICtrlTreeView_DisplayRect', '_GUICtrlTreeView_DisplayRectEx',
+            '_GUICtrlTreeView_EditText', '_GUICtrlTreeView_EndEdit', '_GUICtrlTreeView_EndUpdate',
+            '_GUICtrlTreeView_EnsureVisible', '_GUICtrlTreeView_Expand', '_GUICtrlTreeView_ExpandedOnce',
+            '_GUICtrlTreeView_FindItem', '_GUICtrlTreeView_FindItemEx', '_GUICtrlTreeView_GetBkColor',
+            '_GUICtrlTreeView_GetBold', '_GUICtrlTreeView_GetChecked', '_GUICtrlTreeView_GetChildCount',
+            '_GUICtrlTreeView_GetChildren', '_GUICtrlTreeView_GetCount', '_GUICtrlTreeView_GetCut',
+            '_GUICtrlTreeView_GetDropTarget', '_GUICtrlTreeView_GetEditControl', '_GUICtrlTreeView_GetExpanded',
+            '_GUICtrlTreeView_GetFirstChild', '_GUICtrlTreeView_GetFirstItem', '_GUICtrlTreeView_GetFirstVisible',
+            '_GUICtrlTreeView_GetFocused', '_GUICtrlTreeView_GetHeight', '_GUICtrlTreeView_GetImageIndex',
+            '_GUICtrlTreeView_GetImageListIconHandle', '_GUICtrlTreeView_GetIndent', '_GUICtrlTreeView_GetInsertMarkColor',
+            '_GUICtrlTreeView_GetISearchString', '_GUICtrlTreeView_GetItemByIndex', '_GUICtrlTreeView_GetItemHandle',
+            '_GUICtrlTreeView_GetItemParam', '_GUICtrlTreeView_GetLastChild', '_GUICtrlTreeView_GetLineColor',
+            '_GUICtrlTreeView_GetNext', '_GUICtrlTreeView_GetNextChild', '_GUICtrlTreeView_GetNextSibling',
+            '_GUICtrlTreeView_GetNextVisible', '_GUICtrlTreeView_GetNormalImageList', '_GUICtrlTreeView_GetParentHandle',
+            '_GUICtrlTreeView_GetParentParam', '_GUICtrlTreeView_GetPrev', '_GUICtrlTreeView_GetPrevChild',
+            '_GUICtrlTreeView_GetPrevSibling', '_GUICtrlTreeView_GetPrevVisible', '_GUICtrlTreeView_GetScrollTime',
+            '_GUICtrlTreeView_GetSelected', '_GUICtrlTreeView_GetSelectedImageIndex', '_GUICtrlTreeView_GetSelection',
+            '_GUICtrlTreeView_GetSiblingCount', '_GUICtrlTreeView_GetState', '_GUICtrlTreeView_GetStateImageIndex',
+            '_GUICtrlTreeView_GetStateImageList', '_GUICtrlTreeView_GetText', '_GUICtrlTreeView_GetTextColor',
+            '_GUICtrlTreeView_GetToolTips', '_GUICtrlTreeView_GetTree', '_GUICtrlTreeView_GetUnicodeFormat',
+            '_GUICtrlTreeView_GetVisible', '_GUICtrlTreeView_GetVisibleCount', '_GUICtrlTreeView_HitTest',
+            '_GUICtrlTreeView_HitTestEx', '_GUICtrlTreeView_HitTestItem', '_GUICtrlTreeView_Index',
+            '_GUICtrlTreeView_InsertItem', '_GUICtrlTreeView_IsFirstItem', '_GUICtrlTreeView_IsParent',
+            '_GUICtrlTreeView_Level', '_GUICtrlTreeView_SelectItem', '_GUICtrlTreeView_SelectItemByIndex',
+            '_GUICtrlTreeView_SetBkColor', '_GUICtrlTreeView_SetBold', '_GUICtrlTreeView_SetChecked',
+            '_GUICtrlTreeView_SetCheckedByIndex', '_GUICtrlTreeView_SetChildren', '_GUICtrlTreeView_SetCut',
+            '_GUICtrlTreeView_SetDropTarget', '_GUICtrlTreeView_SetFocused', '_GUICtrlTreeView_SetHeight',
+            '_GUICtrlTreeView_SetIcon', '_GUICtrlTreeView_SetImageIndex', '_GUICtrlTreeView_SetIndent',
+            '_GUICtrlTreeView_SetInsertMark', '_GUICtrlTreeView_SetInsertMarkColor', '_GUICtrlTreeView_SetItemHeight',
+            '_GUICtrlTreeView_SetItemParam', '_GUICtrlTreeView_SetLineColor', '_GUICtrlTreeView_SetNormalImageList',
+            '_GUICtrlTreeView_SetScrollTime', '_GUICtrlTreeView_SetSelected', '_GUICtrlTreeView_SetSelectedImageIndex',
+            '_GUICtrlTreeView_SetState', '_GUICtrlTreeView_SetStateImageIndex', '_GUICtrlTreeView_SetStateImageList',
+            '_GUICtrlTreeView_SetText', '_GUICtrlTreeView_SetTextColor', '_GUICtrlTreeView_SetToolTips',
+            '_GUICtrlTreeView_SetUnicodeFormat', '_GUICtrlTreeView_Sort', '_GUIImageList_Add',
+            '_GUIImageList_AddBitmap', '_GUIImageList_AddIcon', '_GUIImageList_AddMasked',
+            '_GUIImageList_BeginDrag', '_GUIImageList_Copy', '_GUIImageList_Create',
+            '_GUIImageList_Destroy', '_GUIImageList_DestroyIcon', '_GUIImageList_DragEnter',
+            '_GUIImageList_DragLeave', '_GUIImageList_DragMove', '_GUIImageList_Draw',
+            '_GUIImageList_DrawEx', '_GUIImageList_Duplicate', '_GUIImageList_EndDrag',
+            '_GUIImageList_GetBkColor', '_GUIImageList_GetIcon', '_GUIImageList_GetIconHeight',
+            '_GUIImageList_GetIconSize', '_GUIImageList_GetIconSizeEx', '_GUIImageList_GetIconWidth',
+            '_GUIImageList_GetImageCount', '_GUIImageList_GetImageInfoEx', '_GUIImageList_Remove',
+            '_GUIImageList_ReplaceIcon', '_GUIImageList_SetBkColor', '_GUIImageList_SetIconSize',
+            '_GUIImageList_SetImageCount', '_GUIImageList_Swap', '_GUIScrollBars_EnableScrollBar',
+            '_GUIScrollBars_GetScrollBarInfoEx', '_GUIScrollBars_GetScrollBarRect', '_GUIScrollBars_GetScrollBarRGState',
+            '_GUIScrollBars_GetScrollBarXYLineButton', '_GUIScrollBars_GetScrollBarXYThumbBottom', '_GUIScrollBars_GetScrollBarXYThumbTop',
+            '_GUIScrollBars_GetScrollInfo', '_GUIScrollBars_GetScrollInfoEx', '_GUIScrollBars_GetScrollInfoMax',
+            '_GUIScrollBars_GetScrollInfoMin', '_GUIScrollBars_GetScrollInfoPage', '_GUIScrollBars_GetScrollInfoPos',
+            '_GUIScrollBars_GetScrollInfoTrackPos', '_GUIScrollBars_GetScrollPos', '_GUIScrollBars_GetScrollRange',
+            '_GUIScrollBars_Init', '_GUIScrollBars_ScrollWindow', '_GUIScrollBars_SetScrollInfo',
+            '_GUIScrollBars_SetScrollInfoMax', '_GUIScrollBars_SetScrollInfoMin', '_GUIScrollBars_SetScrollInfoPage',
+            '_GUIScrollBars_SetScrollInfoPos', '_GUIScrollBars_SetScrollRange', '_GUIScrollBars_ShowScrollBar',
+            '_GUIToolTip_Activate', '_GUIToolTip_AddTool', '_GUIToolTip_AdjustRect',
+            '_GUIToolTip_BitsToTTF', '_GUIToolTip_Create', '_GUIToolTip_DelTool',
+            '_GUIToolTip_Destroy', '_GUIToolTip_EnumTools', '_GUIToolTip_GetBubbleHeight',
+            '_GUIToolTip_GetBubbleSize', '_GUIToolTip_GetBubbleWidth', '_GUIToolTip_GetCurrentTool',
+            '_GUIToolTip_GetDelayTime', '_GUIToolTip_GetMargin', '_GUIToolTip_GetMarginEx',
+            '_GUIToolTip_GetMaxTipWidth', '_GUIToolTip_GetText', '_GUIToolTip_GetTipBkColor',
+            '_GUIToolTip_GetTipTextColor', '_GUIToolTip_GetTitleBitMap', '_GUIToolTip_GetTitleText',
+            '_GUIToolTip_GetToolCount', '_GUIToolTip_GetToolInfo', '_GUIToolTip_HitTest',
+            '_GUIToolTip_NewToolRect', '_GUIToolTip_Pop', '_GUIToolTip_PopUp',
+            '_GUIToolTip_SetDelayTime', '_GUIToolTip_SetMargin', '_GUIToolTip_SetMaxTipWidth',
+            '_GUIToolTip_SetTipBkColor', '_GUIToolTip_SetTipTextColor', '_GUIToolTip_SetTitle',
+            '_GUIToolTip_SetToolInfo', '_GUIToolTip_SetWindowTheme', '_GUIToolTip_ToolExists',
+            '_GUIToolTip_ToolToArray', '_GUIToolTip_TrackActivate', '_GUIToolTip_TrackPosition',
+            '_GUIToolTip_TTFToBits', '_GUIToolTip_Update', '_GUIToolTip_UpdateTipText',
+            '_HexToString', '_IE_Example', '_IE_Introduction',
+            '_IE_VersionInfo', '_IEAction', '_IEAttach',
+            '_IEBodyReadHTML', '_IEBodyReadText', '_IEBodyWriteHTML',
+            '_IECreate', '_IECreateEmbedded', '_IEDocGetObj',
+            '_IEDocInsertHTML', '_IEDocInsertText', '_IEDocReadHTML',
+            '_IEDocWriteHTML', '_IEErrorHandlerDeRegister', '_IEErrorHandlerRegister',
+            '_IEErrorNotify', '_IEFormElementCheckBoxSelect', '_IEFormElementGetCollection',
+            '_IEFormElementGetObjByName', '_IEFormElementGetValue', '_IEFormElementOptionSelect',
+            '_IEFormElementRadioSelect', '_IEFormElementSetValue', '_IEFormGetCollection',
+            '_IEFormGetObjByName', '_IEFormImageClick', '_IEFormReset',
+            '_IEFormSubmit', '_IEFrameGetCollection', '_IEFrameGetObjByName',
+            '_IEGetObjById', '_IEGetObjByName', '_IEHeadInsertEventScript',
+            '_IEImgClick', '_IEImgGetCollection', '_IEIsFrameSet',
+            '_IELinkClickByIndex', '_IELinkClickByText', '_IELinkGetCollection',
+            '_IELoadWait', '_IELoadWaitTimeout', '_IENavigate',
+            '_IEPropertyGet', '_IEPropertySet', '_IEQuit',
+            '_IETableGetCollection', '_IETableWriteToArray', '_IETagNameAllGetCollection',
+            '_IETagNameGetCollection', '_Iif', '_INetExplorerCapable',
+            '_INetGetSource', '_INetMail', '_INetSmtpMail',
+            '_IsPressed', '_MathCheckDiv', '_Max',
+            '_MemGlobalAlloc', '_MemGlobalFree', '_MemGlobalLock',
+            '_MemGlobalSize', '_MemGlobalUnlock', '_MemMoveMemory',
+            '_MemMsgBox', '_MemShowError', '_MemVirtualAlloc',
+            '_MemVirtualAllocEx', '_MemVirtualFree', '_MemVirtualFreeEx',
+            '_Min', '_MouseTrap', '_NamedPipes_CallNamedPipe',
+            '_NamedPipes_ConnectNamedPipe', '_NamedPipes_CreateNamedPipe', '_NamedPipes_CreatePipe',
+            '_NamedPipes_DisconnectNamedPipe', '_NamedPipes_GetNamedPipeHandleState', '_NamedPipes_GetNamedPipeInfo',
+            '_NamedPipes_PeekNamedPipe', '_NamedPipes_SetNamedPipeHandleState', '_NamedPipes_TransactNamedPipe',
+            '_NamedPipes_WaitNamedPipe', '_Net_Share_ConnectionEnum', '_Net_Share_FileClose',
+            '_Net_Share_FileEnum', '_Net_Share_FileGetInfo', '_Net_Share_PermStr',
+            '_Net_Share_ResourceStr', '_Net_Share_SessionDel', '_Net_Share_SessionEnum',
+            '_Net_Share_SessionGetInfo', '_Net_Share_ShareAdd', '_Net_Share_ShareCheck',
+            '_Net_Share_ShareDel', '_Net_Share_ShareEnum', '_Net_Share_ShareGetInfo',
+            '_Net_Share_ShareSetInfo', '_Net_Share_StatisticsGetSvr', '_Net_Share_StatisticsGetWrk',
+            '_Now', '_NowCalc', '_NowCalcDate',
+            '_NowDate', '_NowTime', '_PathFull',
+            '_PathMake', '_PathSplit', '_ProcessGetName',
+            '_ProcessGetPriority', '_Radian', '_ReplaceStringInFile',
+            '_RunDOS', '_ScreenCapture_Capture', '_ScreenCapture_CaptureWnd',
+            '_ScreenCapture_SaveImage', '_ScreenCapture_SetBMPFormat', '_ScreenCapture_SetJPGQuality',
+            '_ScreenCapture_SetTIFColorDepth', '_ScreenCapture_SetTIFCompression', '_Security__AdjustTokenPrivileges',
+            '_Security__GetAccountSid', '_Security__GetLengthSid', '_Security__GetTokenInformation',
+            '_Security__ImpersonateSelf', '_Security__IsValidSid', '_Security__LookupAccountName',
+            '_Security__LookupAccountSid', '_Security__LookupPrivilegeValue', '_Security__OpenProcessToken',
+            '_Security__OpenThreadToken', '_Security__OpenThreadTokenEx', '_Security__SetPrivilege',
+            '_Security__SidToStringSid', '_Security__SidTypeStr', '_Security__StringSidToSid',
+            '_SendMessage', '_SendMessageA', '_SetDate',
+            '_SetTime', '_Singleton', '_SoundClose',
+            '_SoundLength', '_SoundOpen', '_SoundPause',
+            '_SoundPlay', '_SoundPos', '_SoundResume',
+            '_SoundSeek', '_SoundStatus', '_SoundStop',
+            '_SQLite_Changes', '_SQLite_Close', '_SQLite_Display2DResult',
+            '_SQLite_Encode', '_SQLite_ErrCode', '_SQLite_ErrMsg',
+            '_SQLite_Escape', '_SQLite_Exec', '_SQLite_FetchData',
+            '_SQLite_FetchNames', '_SQLite_GetTable', '_SQLite_GetTable2d',
+            '_SQLite_LastInsertRowID', '_SQLite_LibVersion', '_SQLite_Open',
+            '_SQLite_Query', '_SQLite_QueryFinalize', '_SQLite_QueryReset',
+            '_SQLite_QuerySingleRow', '_SQLite_SaveMode', '_SQLite_SetTimeout',
+            '_SQLite_Shutdown', '_SQLite_SQLiteExe', '_SQLite_Startup',
+            '_SQLite_TotalChanges', '_StringAddComma', '_StringBetween',
+            '_StringEncrypt', '_StringInsert', '_StringProper',
+            '_StringRepeat', '_StringReverse', '_StringSplit',
+            '_StringToHex', '_TCPIpToName', '_TempFile',
+            '_TicksToTime', '_Timer_Diff', '_Timer_GetTimerID',
+            '_Timer_Init', '_Timer_KillAllTimers', '_Timer_KillTimer',
+            '_Timer_SetTimer', '_TimeToTicks', '_VersionCompare',
+            '_viClose', '_viExecCommand', '_viFindGpib',
+            '_viGpibBusReset', '_viGTL', '_viOpen',
+            '_viSetAttribute', '_viSetTimeout', '_WeekNumberISO',
+            '_WinAPI_AttachConsole', '_WinAPI_AttachThreadInput', '_WinAPI_Beep',
+            '_WinAPI_BitBlt', '_WinAPI_CallNextHookEx', '_WinAPI_Check',
+            '_WinAPI_ClientToScreen', '_WinAPI_CloseHandle', '_WinAPI_CommDlgExtendedError',
+            '_WinAPI_CopyIcon', '_WinAPI_CreateBitmap', '_WinAPI_CreateCompatibleBitmap',
+            '_WinAPI_CreateCompatibleDC', '_WinAPI_CreateEvent', '_WinAPI_CreateFile',
+            '_WinAPI_CreateFont', '_WinAPI_CreateFontIndirect', '_WinAPI_CreateProcess',
+            '_WinAPI_CreateSolidBitmap', '_WinAPI_CreateSolidBrush', '_WinAPI_CreateWindowEx',
+            '_WinAPI_DefWindowProc', '_WinAPI_DeleteDC', '_WinAPI_DeleteObject',
+            '_WinAPI_DestroyIcon', '_WinAPI_DestroyWindow', '_WinAPI_DrawEdge',
+            '_WinAPI_DrawFrameControl', '_WinAPI_DrawIcon', '_WinAPI_DrawIconEx',
+            '_WinAPI_DrawText', '_WinAPI_EnableWindow', '_WinAPI_EnumDisplayDevices',
+            '_WinAPI_EnumWindows', '_WinAPI_EnumWindowsPopup', '_WinAPI_EnumWindowsTop',
+            '_WinAPI_ExpandEnvironmentStrings', '_WinAPI_ExtractIconEx', '_WinAPI_FatalAppExit',
+            '_WinAPI_FillRect', '_WinAPI_FindExecutable', '_WinAPI_FindWindow',
+            '_WinAPI_FlashWindow', '_WinAPI_FlashWindowEx', '_WinAPI_FloatToInt',
+            '_WinAPI_FlushFileBuffers', '_WinAPI_FormatMessage', '_WinAPI_FrameRect',
+            '_WinAPI_FreeLibrary', '_WinAPI_GetAncestor', '_WinAPI_GetAsyncKeyState',
+            '_WinAPI_GetClassName', '_WinAPI_GetClientHeight', '_WinAPI_GetClientRect',
+            '_WinAPI_GetClientWidth', '_WinAPI_GetCurrentProcess', '_WinAPI_GetCurrentProcessID',
+            '_WinAPI_GetCurrentThread', '_WinAPI_GetCurrentThreadId', '_WinAPI_GetCursorInfo',
+            '_WinAPI_GetDC', '_WinAPI_GetDesktopWindow', '_WinAPI_GetDeviceCaps',
+            '_WinAPI_GetDIBits', '_WinAPI_GetDlgCtrlID', '_WinAPI_GetDlgItem',
+            '_WinAPI_GetFileSizeEx', '_WinAPI_GetFocus', '_WinAPI_GetForegroundWindow',
+            '_WinAPI_GetIconInfo', '_WinAPI_GetLastError', '_WinAPI_GetLastErrorMessage',
+            '_WinAPI_GetModuleHandle', '_WinAPI_GetMousePos', '_WinAPI_GetMousePosX',
+            '_WinAPI_GetMousePosY', '_WinAPI_GetObject', '_WinAPI_GetOpenFileName',
+            '_WinAPI_GetOverlappedResult', '_WinAPI_GetParent', '_WinAPI_GetProcessAffinityMask',
+            '_WinAPI_GetSaveFileName', '_WinAPI_GetStdHandle', '_WinAPI_GetStockObject',
+            '_WinAPI_GetSysColor', '_WinAPI_GetSysColorBrush', '_WinAPI_GetSystemMetrics',
+            '_WinAPI_GetTextExtentPoint32', '_WinAPI_GetWindow', '_WinAPI_GetWindowDC',
+            '_WinAPI_GetWindowHeight', '_WinAPI_GetWindowLong', '_WinAPI_GetWindowRect',
+            '_WinAPI_GetWindowText', '_WinAPI_GetWindowThreadProcessId', '_WinAPI_GetWindowWidth',
+            '_WinAPI_GetXYFromPoint', '_WinAPI_GlobalMemStatus', '_WinAPI_GUIDFromString',
+            '_WinAPI_GUIDFromStringEx', '_WinAPI_HiWord', '_WinAPI_InProcess',
+            '_WinAPI_IntToFloat', '_WinAPI_InvalidateRect', '_WinAPI_IsClassName',
+            '_WinAPI_IsWindow', '_WinAPI_IsWindowVisible', '_WinAPI_LoadBitmap',
+            '_WinAPI_LoadImage', '_WinAPI_LoadLibrary', '_WinAPI_LoadLibraryEx',
+            '_WinAPI_LoadShell32Icon', '_WinAPI_LoadString', '_WinAPI_LocalFree',
+            '_WinAPI_LoWord', '_WinAPI_MakeDWord', '_WinAPI_MAKELANGID',
+            '_WinAPI_MAKELCID', '_WinAPI_MakeLong', '_WinAPI_MessageBeep',
+            '_WinAPI_Mouse_Event', '_WinAPI_MoveWindow', '_WinAPI_MsgBox',
+            '_WinAPI_MulDiv', '_WinAPI_MultiByteToWideChar', '_WinAPI_MultiByteToWideCharEx',
+            '_WinAPI_OpenProcess', '_WinAPI_PointFromRect', '_WinAPI_PostMessage',
+            '_WinAPI_PrimaryLangId', '_WinAPI_PtInRect', '_WinAPI_ReadFile',
+            '_WinAPI_ReadProcessMemory', '_WinAPI_RectIsEmpty', '_WinAPI_RedrawWindow',
+            '_WinAPI_RegisterWindowMessage', '_WinAPI_ReleaseCapture', '_WinAPI_ReleaseDC',
+            '_WinAPI_ScreenToClient', '_WinAPI_SelectObject', '_WinAPI_SetBkColor',
+            '_WinAPI_SetCapture', '_WinAPI_SetCursor', '_WinAPI_SetDefaultPrinter',
+            '_WinAPI_SetDIBits', '_WinAPI_SetEvent', '_WinAPI_SetFocus',
+            '_WinAPI_SetFont', '_WinAPI_SetHandleInformation', '_WinAPI_SetLastError',
+            '_WinAPI_SetParent', '_WinAPI_SetProcessAffinityMask', '_WinAPI_SetSysColors',
+            '_WinAPI_SetTextColor', '_WinAPI_SetWindowLong', '_WinAPI_SetWindowPos',
+            '_WinAPI_SetWindowsHookEx', '_WinAPI_SetWindowText', '_WinAPI_ShowCursor',
+            '_WinAPI_ShowError', '_WinAPI_ShowMsg', '_WinAPI_ShowWindow',
+            '_WinAPI_StringFromGUID', '_WinAPI_SubLangId', '_WinAPI_SystemParametersInfo',
+            '_WinAPI_TwipsPerPixelX', '_WinAPI_TwipsPerPixelY', '_WinAPI_UnhookWindowsHookEx',
+            '_WinAPI_UpdateLayeredWindow', '_WinAPI_UpdateWindow', '_WinAPI_ValidateClassName',
+            '_WinAPI_WaitForInputIdle', '_WinAPI_WaitForMultipleObjects', '_WinAPI_WaitForSingleObject',
+            '_WinAPI_WideCharToMultiByte', '_WinAPI_WindowFromPoint', '_WinAPI_WriteConsole',
+            '_WinAPI_WriteFile', '_WinAPI_WriteProcessMemory', '_WinNet_AddConnection',
+            '_WinNet_AddConnection2', '_WinNet_AddConnection3', '_WinNet_CancelConnection',
+            '_WinNet_CancelConnection2', '_WinNet_CloseEnum', '_WinNet_ConnectionDialog',
+            '_WinNet_ConnectionDialog1', '_WinNet_DisconnectDialog', '_WinNet_DisconnectDialog1',
+            '_WinNet_EnumResource', '_WinNet_GetConnection', '_WinNet_GetConnectionPerformance',
+            '_WinNet_GetLastError', '_WinNet_GetNetworkInformation', '_WinNet_GetProviderName',
+            '_WinNet_GetResourceInformation', '_WinNet_GetResourceParent', '_WinNet_GetUniversalName',
+            '_WinNet_GetUser', '_WinNet_OpenEnum', '_WinNet_RestoreConnection',
+            '_WinNet_UseConnection', '_Word_VersionInfo', '_WordAttach',
+            '_WordCreate', '_WordDocAdd', '_WordDocAddLink',
+            '_WordDocAddPicture', '_WordDocClose', '_WordDocFindReplace',
+            '_WordDocGetCollection', '_WordDocLinkGetCollection', '_WordDocOpen',
+            '_WordDocPrint', '_WordDocPropertyGet', '_WordDocPropertySet',
+            '_WordDocSave', '_WordDocSaveAs', '_WordErrorHandlerDeRegister',
+            '_WordErrorHandlerRegister', '_WordErrorNotify', '_WordMacroRun',
+            '_WordPropertyGet', '_WordPropertySet', '_WordQuit'
             ),
         5 => array(
-            '#include', '#include-once', '#notrayicon'
+            '#ce', '#comments-end', '#comments-start',
+            '#cs', '#include', '#include-once',
+            '#NoTrayIcon', '#RequireAdmin'
             ),
         6 => array(
-            '#forceref', '#compiler_allow_decompile', '#compiler_au3check_dat', 
-            '#compiler_au3check_parameters', 
-            '#compiler_au3check_stop_onwarning', '#compiler_aut2exe', 
-            '#compiler_autoit3', '#compiler_compression', '#compiler_icon', 
-            '#compiler_outfile', '#compiler_outfile_type', 
-            '#compiler_passphrase', '#compiler_plugin_funcs', 
-            '#compiler_prompt', '#compiler_res_comment', 
-            '#compiler_res_description', '#compiler_res_field', 
-            '#compiler_res_field1name', '#compiler_res_field1value', 
-            '#compiler_res_field2name', '#compiler_res_field2value', 
-            '#compiler_res_fileversion', 
-            '#compiler_res_fileversion_autoincrement', 
-            '#compiler_res_legalcopyright', '#compiler_run_after', 
-            '#compiler_run_au3check', '#compiler_run_before', 
-            '#compiler_run_cvswrapper', '#compiler_run_tidy', 
-            '#compiler_tidy_stop_onerror', '#compiler_useupx', '#endregion', 
-            '#region', '#run_debug_mode', '#tidy_parameters'
+            '#AutoIt3Wrapper_Au3Check_Parameters', '#AutoIt3Wrapper_Au3Check_Stop_OnWarning', '#AutoIt3Wrapper_Change2CUI',
+            '#AutoIt3Wrapper_Compression', '#AutoIt3Wrapper_cvsWrapper_Parameters', '#AutoIt3Wrapper_Icon',
+            '#AutoIt3Wrapper_Outfile', '#AutoIt3Wrapper_Outfile_Type', '#AutoIt3Wrapper_Plugin_Funcs',
+            '#AutoIt3Wrapper_Res_Comment', '#AutoIt3Wrapper_Res_Description', '#AutoIt3Wrapper_Res_Field',
+            '#AutoIt3Wrapper_Res_File_Add', '#AutoIt3Wrapper_Res_Fileversion', '#AutoIt3Wrapper_Res_FileVersion_AutoIncrement',
+            '#AutoIt3Wrapper_Res_Icon_Add', '#AutoIt3Wrapper_Res_Language', '#AutoIt3Wrapper_Res_LegalCopyright',
+            '#AutoIt3Wrapper_res_requestedExecutionLevel', '#AutoIt3Wrapper_Res_SaveSource', '#AutoIt3Wrapper_Run_After',
+            '#AutoIt3Wrapper_Run_Au3check', '#AutoIt3Wrapper_Run_Before', '#AutoIt3Wrapper_Run_cvsWrapper',
+            '#AutoIt3Wrapper_Run_Debug_Mode', '#AutoIt3Wrapper_Run_Obfuscator', '#AutoIt3Wrapper_Run_Tidy',
+            '#AutoIt3Wrapper_Tidy_Stop_OnError', '#AutoIt3Wrapper_UseAnsi', '#AutoIt3Wrapper_UseUpx',
+            '#AutoIt3Wrapper_UseX64', '#AutoIt3Wrapper_Version', '#EndRegion',
+            '#forceref', '#Obfuscator_Ignore_Funcs', '#Obfuscator_Ignore_Variables',
+            '#Obfuscator_Parameters', '#Region', '#Tidy_Parameters'
             )
         ),
     'SYMBOLS' => array(
-        '(', ')', '[', ']', '&', '*', '/', '<', '>', '+', '-', '^', '=', '.'
+        '(', ')', '[', ']',
+        '+', '-', '*', '/', '&', '^',
+        '=', '+=', '-=', '*=', '/=', '&=',
+        '==', '<', '<=', '>', '>=',
+        ',', '.'
         ),
     'CASE_SENSITIVE' => array(
         GESHI_COMMENTS => false,
@@ -417,26 +900,22 @@
             0 => 'font-weight: bold; color: #AA0000;'
             ),
         'SCRIPT' => array(
-            0 => '',
-            1 => '',
-            2 => '',
-            3 => '',
-            4 => '',
-            5 => '',
-            6 => ''
             )
-            ),
+        ),
     'URLS' => array(
         1 => 'http://www.autoitscript.com/autoit3/docs/keywords.htm',
         2 => 'http://www.autoitscript.com/autoit3/docs/macros.htm',
         3 => 'http://www.autoitscript.com/autoit3/docs/functions/{FNAME}.htm',
-        4 => ''
+        4 => '',
+        5 => '',
+        6 => ''
         ),
     'OOLANG' => true,
     'OBJECT_SPLITTERS' => array(
         1 => '.'
         ),
     'REGEXPS' => array(
+        //Variables
         0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*'
         ),
     'STRICT_MODE_APPLIES' => GESHI_MAYBE,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/avisynth.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,194 @@
+<?php
+/*************************************************************************************
+ * avisynth.php
+ * --------
+ * Author: Ryan Jones (sciguyryan@gmail.com)
+ * Copyright: (c) 2008 Ryan Jones
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/10/08
+ *
+ * AviSynth language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/08 (1.0.8.1)
+ *  -  First Release
+ *
+ * TODO (updated 2008/10/08)
+ * -------------------------
+ * * There are also some special words that can't currently be specified directly in GeSHi as they may
+ *      also be used as variables which would really mess things up.
+ * * Also there is an issue with the escape character as this language uses a muti-character escape system. Escape char should be """ but has been left
+ *      as empty due to this restiction.
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'AviSynth',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array('/*' => '*/', '[*' => '*]'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        //  Reserved words.
+        1 => array(
+            'try', 'cache', 'function', 'global', 'return'
+            ),
+        // Constants / special variables.
+        2 => array(
+            'true', 'yes', 'false', 'no', '__END__'
+            ),
+        // Internal Filters.
+        3 => array(
+            'AviSource', 'AviFileSource', 'AddBorders', 'AlignedSplice', 'AssumeFPS', 'AssumeScaledFPS',
+            'AssumeFrameBased', 'AssumeFieldBased', 'AssumeBFF', 'AssumeTFF', 'Amplify', 'AmplifydB',
+            'AssumeSampleRate', 'AudioDub', 'AudioDubEx', 'Animate', 'ApplyRange',
+            'BicubicResize', 'BilinearResize', 'BlackmanResize', 'Blur', 'Bob', 'BlankClip', 'Blackness',
+            'ColorYUV', 'ConvertBackToYUY2', 'ConvertToRGB', 'ConvertToRGB24', 'ConvertToRGB32',
+            'ConvertToYUY2', 'ConvertToY8', 'ConvertToYV411', 'ConvertToYV12', 'ConvertToYV16', 'ConvertToYV24',
+            'ColorKeyMask', 'Crop', 'CropBottom', 'ChangeFPS', 'ConvertFPS', 'ComplementParity', 'ConvertAudioTo8bit',
+            'ConvertAudioTo16bit', 'ConvertAudioTo24bit', 'ConvertAudioTo32bit', 'ConvertAudioToFloat', 'ConvertToMono',
+            'ConditionalFilter', 'ConditionalReader', 'ColorBars', 'Compare',
+            'DirectShowSource', 'DeleteFrame', 'Dissolve', 'DuplicateFrame', 'DoubleWeave', 'DelayAudio',
+            'EnsureVBRMP3Sync',
+            'FixLuminance', 'FlipHorizontal', 'FlipVertical', 'FixBrokenChromaUpsampling', 'FadeIn0', 'FadeIn',
+            'FadeIn2', 'FadeOut0', 'FadeOut', 'FadeOut2', 'FadeIO0', 'FadeIO', 'FadeIO2', 'FreezeFrame', 'FrameEvaluate',
+            'GreyScale', 'GaussResize', 'GeneralConvolution', 'GetChannel', 'GetLeftChannel', 'GetRightChannel',
+            'HorizontalReduceBy2', 'Histogram',
+            'ImageReader', 'ImageSource', 'ImageWriter', 'Invert', 'Interleave', 'Info',
+            'KillAudio', 'KillVideo',
+            'Levels', 'Limiter', 'Layer', 'Letterbox', 'LanczosResize', 'Lanczos4Resize', 'Loop',
+            'MergeARGB', 'MergeRGB', 'MergeChroma', 'MergeLuma', 'Merge', 'Mask', 'MaskHS', 'MergeChannels', 'MixAudio',
+            'MonoToStereo', 'MessageClip',
+            'Normalize',
+            'OpenDMLSource', 'Overlay',
+            'PointResize', 'PeculiarBlend', 'Pulldown',
+            'RGBAdjust', 'ResetMask', 'Reverse', 'ResampleAudio', 'ReduceBy2',
+            'SegmentedAviSource', 'SegmentedDirectShowSource', 'SoundOut', 'ShowAlpha', 'ShowRed', 'ShowGreen',
+            'ShowBlue', 'SwapUV', 'Subtract', 'SincResize', 'Spline16Resize', 'Spline36Resize', 'Spline64Resize',
+            'SelectEven', 'SelectOdd', 'SelectEvery', 'SelectRangeEvery', 'Sharpen', 'SpatialSoften', 'SeparateFields',
+            'ShowFiveVersions', 'ShowFrameNumber', 'ShowSMPTE', 'ShowTime', 'StackHorizontal', 'StackVertical', 'Subtitle',
+            'SwapFields', 'SuperEQ', 'SSRC', 'ScriptClip',
+            'Tweak', 'TurnLeft', 'TurnRight', 'Turn180', 'TemporalSoften', 'TimeStretch', 'TCPServer', 'TCPSource', 'Trim',
+            'Tone',
+            'UToY', 'UToY8', 'UnalignedSplice',
+            'VToY', 'VToY8', 'VerticalReduceBy2', 'Version',
+            'WavSource', 'Weave', 'WriteFile', 'WriteFileIf', 'WriteFileStart', 'WriteFileEnd',
+            'YToUV'
+            ),
+        // Internal functions.
+        4 => array(
+            'Abs', 'Apply', 'Assert', 'AverageLuma', 'AverageChromaU', 'AverageChromaV',
+            'Ceil', 'Cos', 'Chr', 'ChromaUDifference', 'ChromaVDifference',
+            'Defined', 'Default',
+            'Exp', 'Exist', 'Eval',
+            'Floor', 'Frac', 'Float', 'Findstr', 'GetMTMode',
+            'HexValue',
+            'Int', 'IsBool', 'IsClip', 'IsFloat', 'IsInt', 'IsString', 'Import',
+            'LoadPlugin', 'Log', 'LCase', 'LeftStr', 'LumaDifference', 'LoadVirtualDubPlugin', 'LoadVFAPIPlugin',
+            'LoadCPlugin', 'Load_Stdcall_Plugin',
+            'Max', 'MulDiv', 'MidStr',
+            'NOP',
+            'OPT_AllowFloatAudio', 'OPT_UseWaveExtensible',
+            'Pi', 'Pow',
+            'Round', 'Rand', 'RevStr', 'RightStr', 'RGBDifference', 'RGBDifferenceFromPrevious', 'RGBDifferenceToNext',
+            'Sin', 'Sqrt', 'Sign', 'Spline', 'StrLen', 'String', 'Select', 'SetMemoryMax', 'SetWorkingDir', 'SetMTMode',
+            'SetPlanarLegacyAlignment',
+            'Time',
+            'UCase', 'UDifferenceFromPrevious', 'UDifferenceToNext', 'UPlaneMax', 'UPlaneMin', 'UPlaneMedian',
+            'UPlaneMinMaxDifference',
+            'Value', 'VersionNumber', 'VersionString', 'VDifferenceFromPrevious', 'VDifferenceToNext', 'VPlaneMax',
+            'VPlaneMin', 'VPlaneMedian', 'VPlaneMinMaxDifference',
+            'YDifferenceFromPrevious', 'YDifferenceToNext', 'YPlaneMax', 'YPlaneMin', 'YPlaneMedian',
+            'YPlaneMinMaxDifference'
+            )
+        ),
+    'SYMBOLS' => array(
+        '+', '++', '-', '--', '/', '*', '%',
+        '=', '==', '<', '<=', '>', '>=', '<>', '!=',
+        '!', '?', ':',
+        '|', '||', '&&',
+        '\\',
+        '(', ')', '{', '}',
+        '.', ','
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color:#9966CC; font-weight:bold;',
+            2 => 'color:#0000FF; font-weight:bold;',
+            3 => 'color:#CC3300; font-weight:bold;',
+            4 => 'color:#660000; font-weight:bold;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color:#008000; font-style:italic;',
+            'MULTI' => 'color:#000080; font-style:italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color:#000099;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color:#006600; font-weight:bold;'
+            ),
+        'STRINGS' => array(
+            0 => 'color:#996600;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color:#006666;'
+            ),
+        'METHODS' => array(
+            1 => 'color:#9900CC;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color:#006600; font-weight:bold;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => 'http://avisynth.org/mediawiki/{FNAME}',
+        4 => ''
+        ),
+    'REGEXPS' => array(
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+?>
--- a/plugins/geshi/geshi/bash.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/bash.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,20 @@
  * --------
  * Author: Andreas Gohr (andi@splitbrain.org)
  * Copyright: (c) 2004 Andreas Gohr, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/08/20
  *
  * BASH language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/06/21 (1.0.8)
+ *  -  Added loads of keywords and commands of GNU/Linux
+ *  -  Added support for parameters starting with a dash
+ * 2008/05/23 (1.0.7.22)
+ *  -  Added description of extra language features (SF#1970248)
+ * 2007/09/05 (1.0.7.21)
+ *  -  PARSER_CONTROL patch using SF #1788408 (BenBE)
  * 2007/06/11 (1.0.7.20)
  *  -  Added a lot of keywords (BenBE / Jan G)
  * 2004/11/27 (1.0.2)
@@ -50,149 +57,226 @@
     // Bash DOES have single line comments with # markers. But bash also has
     // the  $# variable, so comments need special handling (see sf.net
     // 1564839)
-	'COMMENT_SINGLE' => array(),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'case', 'do', 'done', 'elif', 'else', 'esac', 'fi', 'for', 'function',
-			'if', 'in', 'select', 'set', 'then', 'until', 'while', 'time'
-			),
-		2 => array(
-			'aclocal', 'aconnect', 'aplay', 'apm', 'apmsleep', 'apropos',
-			'ar', 'arch', 'arecord', 'as', 'as86', 'autoconf', 'autoheader',
-			'automake', 'awk',
-			'basename', 'bc', 'bison', 'bunzip2', 'bzip2', 'bzcat',
-			'bzcmp', 'bzdiff', 'bzegrep', 'bzegrep', 'bzfgrep', 'bzgrep',
-			'bzip2', 'bzip2recover', 'bzless', 'bzmore',
-			'c++', 'cal', 'cat', 'chattr', 'cc', 'cdda2wav', 'cdparanoia',
-			'cdrdao', 'cd-read', 'cdrecord', 'chfn', 'chgrp', 'chmod',
-			'chown', 'chroot', 'chsh', 'chvt', 'clear', 'cmp', 'comm', 'co',
-			'col', 'cp', 'cpio', 'cpp', 'cut',
-			'date', 'dd', 'dc', 'dcop', 'deallocvt', 'df', 'diff', 'diff3', 'dir',
-			'dircolors', 'directomatic', 'dirname', 'dmesg',
-			'dnsdomainname', 'domainname', 'du', 'dumpkeys',
-			'ed', 'egrep', 'env', 'expr',
-			'false', 'fbset', 'fgconsole','fgrep', 'find', 'file', 'flex', 'flex++',
-			'fmt', 'free', 'ftp', 'funzip', 'fuser',
-			'g++', 'gawk', 'gc','gcc', 'gdb', 'getent', 'getkeycodes',
-			'getopt', 'gettext', 'gettextize', 'gimp', 'gimp-remote',
-			'gimptool', 'gmake', 'gocr', 'grep', 'groups', 'gs', 'gunzip',
-			'gzexe', 'gzip',
-			'head', 'hexdump', 'hostname',
-			'id', 'igawk', 'install',
-			'join',
-			'kbd_mode','kbdrate', 'kdialog', 'kfile', 'kill', 'killall',
-			'last', 'lastb', 'ld', 'ld86', 'ldd', 'less', 'lex', 'link', 'ln', 'loadkeys',
-			'loadunimap', 'locate', 'lockfile', 'login', 'logname',
-			'lp', 'lpr', 'ls', 'lsattr', 'lsmod', 'lsmod.old', 'lynx',
-			'm4', 'make', 'man', 'mapscrn', 'mesg', 'mkdir', 'mkfifo', 
-			'mknod', 'mktemp', 'more', 'mount', 'msgfmt', 'mv',
-			'namei', 'nano', 'nasm', 'nawk', 'netstat', 'nice',
-			'nisdomainname', 'nl', 'nm', 'nm86', 'nmap', 'nohup', 'nop',
-			'od', 'openvt',
-			'passwd', 'patch', 'pcregrep', 'pcretest', 'perl', 'perror',
-			'pgawk', 'pidof', 'ping', 'pr', 'procmail', 'prune', 'ps', 'pstree',
-			'ps2ascii', 'ps2epsi', 'ps2frag', 'ps2pdf', 'ps2ps', 'psbook',
-			'psmerge', 'psnup', 'psresize', 'psselect', 'pstops',
-			'rbash', 'rcs', 'read', 'readlink', 'red', 'resizecons', 'rev', 'rm',
-			'rmdir', 'run-parts',
-			'sash', 'sed', 'setfont', 'setkeycodes', 'setleds',
-			'setmetamode', 'setserial', 'scp', 'seq', 'setterm', 'sh',
-			'showkey', 'shred', 'size', 'size86', 'skill', 'sleep', 'slogin',
-			'snice', 'sort', 'sox', 'split', 'ssed', 'ssh', 'ssh-add',
-			'ssh-agent', 'ssh-keygen', 'ssh-keyscan', 'stat', 'strings',
-			'strip', 'stty', 'su', 'sudo', 'suidperl', 'sum', 'sync',
-			'tac', 'tail', 'tar', 'tee', 'tempfile', 'touch', 'tr', 'true',
-			'umount', 'uname', 'unicode_start', 'unicode_stop', 'uniq',
-			'unlink', 'unzip', 'updatedb', 'updmap', 'uptime', 'users',
-			'utmpdump', 'uuidgen',
-			'vdir', 'vmstat',
-			'w', 'wall', 'wc', 'wget', 'whatis', 'whereis', 'which', 'who',
-			'whoami', 'write',
-			'xargs', 'xhost', 'xmodmap', 'xset',
-			'yacc', 'yes', 'ypdomainname',
-			'zcat', 'zcmp', 'zdiff', 'zegrep', 'zfgrep', 'zforce', 'zgrep',
-			'zip', 'zless', 'zmore', 'znew', 'zsh', ' zsoelim'
-			),
-		3 => array(
-			'alias', 'bg', 'bind', 'break', 'builtin', 'cd', 'command',
-			'compgen', 'complete', 'continue', 'declare', 'dirs', 'disown',
-			'echo', 'enable', 'eval', 'exec', 'exit', 'export', 'fc',
-			'fg', 'getopts', 'hash', 'help', 'history', 'jobs', 'kill', 'let',
-			'local', 'logout', 'popd', 'printf', 'pushd', 'pwd', 'readonly',
-			'return', 'shift', 'shopt', 'source', 'suspend', 'test', 'times',
-			'trap', 'type', 'typeset', 'ulimit', 'umask', 'unalias', 'unset',
-			'wait'
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', ';;'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => true,
-		2 => true,
-		3 => true
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #000000; font-weight: bold;',
-			2 => 'color: #c20cb9; font-weight: bold;',
-			3 => 'color: #7a0874; font-weight: bold;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #7a0874; font-weight: bold;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #000000;'
-			),
-		'METHODS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #000000; font-weight: bold;'
-			),
-		'REGEXPS' => array(
-			0 => 'color: #007800;',
-			1 => 'color: #007800;',
-			2 => 'color: #007800;',
-			3 => 'color: #808080; font-style: italic;',
-			4 => 'color: #007800;'
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => ''
-	),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		0 => "\\$\\{[a-zA-Z_][a-zA-Z0-9_]*?\\}",
-		1 => "\\$[a-zA-Z_][a-zA-Z0-9_]*",
-		2 => "([a-zA-Z_][a-zA-Z0-9_]*)=",
-		3 => "(?<!\\$)#[^\n]*",
-		4 => "\\$#"
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'COMMENT_SINGLE' => array('#'),
+    'COMMENT_MULTI' => array(),
+    'COMMENT_REGEXP' => array(
+        //Variables
+        1 => "/\\$\\{[^\\n\\}]*?\\}/i",
+        //BASH-style Heredoc
+        2 => '/<<-?\s*?(\'?)([a-zA-Z0-9]+)\1\\n.*\\n\\2(?![a-zA-Z0-9])/siU',
+        //Escaped String Starters
+        3 => "/\\\\['\"]/siU"
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'HARDQUOTE' => array("'", "'"),
+    'HARDESCAPE' => array("\'"),
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(
+        //Simple Single Char Escapes
+        1 => "#\\\\[nfrtv\\$\\\"\n]#i",
+        // $var
+        2 => "#\\$[a-z_][a-z0-9_]*#i",
+        // ${...}
+        3 => "/\\$\\{[^\\n\\}]*?\\}/i",
+        // $(...)
+        4 => "/\\$\\([^\\n\\)]*?\\)/i",
+        // `...`
+        5 => "/`[^`]*`/"
+        ),
+    'KEYWORDS' => array(
+        1 => array(
+            'case', 'do', 'done', 'elif', 'else', 'esac', 'fi', 'for', 'function',
+            'if', 'in', 'select', 'set', 'then', 'until', 'while', 'time'
+            ),
+        2 => array(
+            'aclocal', 'aconnect', 'aplay', 'apm', 'apmsleep', 'apropos',
+            'apt-cache', 'apt-get', 'apt-key', 'aptitude',
+            'ar', 'arch', 'arecord', 'as', 'as86', 'ash', 'autoconf',
+            'autoheader', 'automake', 'awk',
+
+            'basename', 'bash', 'bc', 'bison', 'bunzip2', 'bzcat',
+            'bzcmp', 'bzdiff', 'bzegrep', 'bzfgrep', 'bzgrep',
+            'bzip2', 'bzip2recover', 'bzless', 'bzmore',
+
+            'c++', 'cal', 'cat', 'chattr', 'cc', 'cdda2wav', 'cdparanoia',
+            'cdrdao', 'cd-read', 'cdrecord', 'chfn', 'chgrp', 'chmod',
+            'chown', 'chroot', 'chsh', 'chvt', 'clear', 'cmp', 'comm', 'co',
+            'col', 'cp', 'cpio', 'cpp', 'csh', 'cut', 'cvs', 'cvs-pserver',
+
+            'dash', 'date', 'dd', 'dc', 'dcop', 'deallocvt', 'df', 'dialog',
+            'diff', 'diff3', 'dir', 'dircolors', 'directomatic', 'dirname',
+            'dmesg', 'dnsdomainname', 'domainname', 'dpkg', 'dselect', 'du',
+            'dumpkeys',
+
+            'ed', 'egrep', 'env', 'expr',
+
+            'false', 'fbset', 'ffmpeg', 'fgconsole','fgrep', 'file', 'find',
+            'flex', 'flex++', 'fmt', 'free', 'ftp', 'funzip', 'fuser',
+
+            'g++', 'gawk', 'gc','gcc', 'gdb', 'getent', 'getkeycodes',
+            'getopt', 'gettext', 'gettextize', 'gimp', 'gimp-remote',
+            'gimptool', 'gmake', 'gocr', 'grep', 'groups', 'gs', 'gunzip',
+            'gzexe', 'gzip',
+
+            'head', 'hexdump', 'hostname',
+
+            'id', 'ifconfig', 'igawk', 'install',
+
+            'join',
+
+            'kbd_mode','kbdrate', 'kdialog', 'kfile', 'kill', 'killall',
+
+            'lame', 'last', 'lastb', 'ld', 'ld86', 'ldd', 'less', 'lex', 'link',
+            'ln', 'loadkeys', 'loadunimap', 'locate', 'lockfile', 'login',
+            'logname', 'lp', 'lpr', 'ls', 'lsattr', 'lsmod', 'lsmod.old',
+            'lspci', 'ltrace', 'lynx',
+
+            'm4', 'make', 'man', 'mapscrn', 'mesg', 'mkdir', 'mkfifo',
+            'mknod', 'mktemp', 'more', 'mount', 'mplayer', 'msgfmt', 'mv',
+
+            'namei', 'nano', 'nasm', 'nawk', 'netstat', 'nice',
+            'nisdomainname', 'nl', 'nm', 'nm86', 'nmap', 'nohup', 'nop',
+
+            'od', 'openvt',
+
+            'passwd', 'patch', 'pcregrep', 'pcretest', 'perl', 'perror',
+            'pgawk', 'pidof', 'ping', 'pr', 'procmail', 'prune', 'ps', 'pstree',
+            'ps2ascii', 'ps2epsi', 'ps2frag', 'ps2pdf', 'ps2ps', 'psbook',
+            'psmerge', 'psnup', 'psresize', 'psselect', 'pstops',
+
+            'rbash', 'rcs', 'rcs2log', 'read', 'readlink', 'red', 'resizecons',
+            'rev', 'rm', 'rmdir', 'rsh', 'run-parts',
+
+            'sash', 'scp', 'screen', 'sed', 'seq', 'sendmail', 'setfont',
+            'setkeycodes', 'setleds', 'setmetamode', 'setserial', 'setterm',
+            'sh', 'showkey', 'shred', 'size', 'size86', 'skill', 'sleep',
+            'slogin', 'snice', 'sort', 'sox', 'split', 'ssed', 'ssh', 'ssh-add',
+            'ssh-agent', 'ssh-keygen', 'ssh-keyscan', 'stat', 'strace',
+            'strings', 'strip', 'stty', 'su', 'sudo', 'suidperl', 'sum', 'svn',
+            'svnadmin', 'svndumpfilter', 'svnlook', 'svnmerge', 'svnmucc',
+            'svnserve', 'svnshell', 'svnsync', 'svnversion', 'svnwrap', 'sync',
+
+            'tac', 'tail', 'tar', 'tee', 'tempfile', 'touch', 'tr', 'tree',
+            'true',
+
+            'umount', 'uname', 'unicode_start', 'unicode_stop', 'uniq',
+            'unlink', 'unzip', 'updatedb', 'updmap', 'uptime', 'users',
+            'utmpdump', 'uuidgen',
+
+            'valgrind', 'vdir', 'vi', 'vim', 'vmstat',
+
+            'w', 'wall', 'wc', 'wget', 'whatis', 'whereis', 'which', 'whiptail',
+            'who', 'whoami', 'write',
+
+            'xargs', 'xhost', 'xmodmap', 'xset',
+
+            'yacc', 'yes', 'ypdomainname',
+
+            'zcat', 'zcmp', 'zdiff', 'zdump', 'zegrep', 'zfgrep', 'zforce',
+            'zgrep', 'zip', 'zipgrep', 'zipinfo', 'zless', 'zmore', 'znew',
+            'zsh', 'zsoelim'
+            ),
+        3 => array(
+            'alias', 'bg', 'bind', 'break', 'builtin', 'cd', 'command',
+            'compgen', 'complete', 'continue', 'declare', 'dirs', 'disown',
+            'echo', 'enable', 'eval', 'exec', 'exit', 'export', 'fc',
+            'fg', 'getopts', 'hash', 'help', 'history', 'jobs', 'let',
+            'local', 'logout', 'popd', 'printf', 'pushd', 'pwd', 'readonly',
+            'return', 'shift', 'shopt', 'source', 'suspend', 'test', 'times',
+            'trap', 'type', 'typeset', 'ulimit', 'umask', 'unalias', 'unset',
+            'wait'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', ';;', '`'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000; font-weight: bold;',
+            2 => 'color: #c20cb9; font-weight: bold;',
+            3 => 'color: #7a0874; font-weight: bold;'
+            ),
+        'COMMENTS' => array(
+            0 => 'color: #666666; font-style: italic;',
+            1 => 'color: #800000;',
+            2 => 'color: #cc0000; font-style: italic;',
+            3 => 'color: #000000; font-weight: bold;'
+            ),
+        'ESCAPE_CHAR' => array(
+            1 => 'color: #000099; font-weight: bold;',
+            2 => 'color: #007800;',
+            3 => 'color: #007800;',
+            4 => 'color: #007800;',
+            5 => 'color: #780078;',
+            'HARD' => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #7a0874; font-weight: bold;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;',
+            'HARD' => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #000000;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000000; font-weight: bold;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #007800;',
+            1 => 'color: #007800;',
+            2 => 'color: #007800;',
+            4 => 'color: #007800;',
+            5 => 'color: #660033;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        //Variables (will be handled by comment_regexps)
+        0 => "\\$\\{[a-zA-Z_][a-zA-Z0-9_]*?\\}",
+        //Variables without braces
+        1 => "\\$[a-zA-Z_][a-zA-Z0-9_]*",
+        //Variable assignment
+        2 => "(?<![\.a-zA-Z_\-])([a-zA-Z_][a-zA-Z0-9_]*?)(?==)",
+        //Shorthand shell variables
+        4 => "\\$[*#\$\\-\\?!]",
+        //Parameters of commands
+        5 => "(?<=\s)--?[0-9a-zA-Z\-]+(?=[\s=]|$)"
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'COMMENTS' => array(
+            'DISALLOWED_BEFORE' => '$'
+        ),
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => "(?<![\.\-a-zA-Z0-9_\$\#])",
+            'DISALLOWED_AFTER' =>  "(?![\.\-a-zA-Z0-9_%])"
+        )
+    )
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/basic4gl.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,341 @@
+<?php
+/*************************************************************************************
+ * basic4gl.php
+ * ---------------------------------
+ * Author: Matthew Webb (bmatthew1@blueyonder.co.uk)
+ * Copyright: (c) 2004 Matthew Webb (http://matthew-4gl.wikispaces.com)
+ * Release Version: 1.0.8.2
+ * Date Started: 2007/09/15
+ *
+ * Basic4GL language file for GeSHi.
+ *
+ * You can find the Basic4GL Website at (http://www.basic4gl.net/)
+ *
+ * CHANGES
+ * -------
+ * 2007/09/17 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2007/09/17)
+ * -------------------------
+ * Make sure all the OpenGL and Basic4GL commands have been added and are complete.
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Basic4GL',
+    'COMMENT_SINGLE' => array(1 => "'"),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+
+            // Navy Blue Bold Keywords
+
+            'true','rnd_max','m_pi','m_e','false','VK_ZOOM','VK_UP','VK_TAB','VK_SUBTRACT','VK_SPACE','VK_SNAPSHOT',
+            'VK_SHIFT','VK_SEPARATOR','VK_SELECT','VK_SCROLL','VK_RWIN','VK_RSHIFT','VK_RMENU','VK_RIGHT','VK_RETURN',
+            'VK_RCONTROL','VK_RBUTTON','VK_PROCESSKEY','VK_PRIOR','VK_PRINT','VK_PLAY','VK_PAUSE','VK_NUMPAD9','VK_NUMPAD8',
+            'VK_NUMPAD7','VK_NUMPAD6','VK_NUMPAD5','VK_NUMPAD4','VK_NUMPAD3','VK_NUMPAD2','VK_NUMPAD1','VK_NUMPAD0',
+            'VK_NUMLOCK','VK_NONCONVERT','VK_NEXT','VK_MULTIPLY','VK_MODECHANGE','VK_MENU','VK_MBUTTON','VK_LWIN',
+            'VK_LSHIFT','VK_LMENU','VK_LEFT','VK_LCONTROL','VK_LBUTTON','VK_KANJI','VK_KANA','VK_JUNJA','VK_INSERT',
+            'VK_HOME','VK_HELP','VK_HANJA','VK_HANGUL','VK_HANGEUL','VK_FINAL','VK_F9','VK_F8','VK_F7','VK_F6','VK_F5',
+            'VK_F4','VK_F3','VK_F24','VK_F23','VK_F22','VK_F21','VK_F20','VK_F2','VK_F19','VK_F18','VK_F17','VK_F16',
+            'VK_F15','VK_F14','VK_F13','VK_F12','VK_F11','VK_F10','VK_F1','VK_EXSEL','VK_EXECUTE','VK_ESCAPE','VK_EREOF',
+            'VK_END','VK_DOWN','VK_DIVIDE','VK_DELETE','VK_DECIMAL','VK_CRSEL','VK_CONVERT','VK_CONTROL','VK_CLEAR',
+            'VK_CAPITAL','VK_CANCEL','VK_BACK','VK_ATTN','VK_APPS','VK_ADD','VK_ACCEPT','TEXT_SIMPLE','TEXT_OVERLAID',
+            'TEXT_BUFFERED','SPR_TILEMAP','SPR_SPRITE','SPR_INVALID','MOUSE_RBUTTON','MOUSE_MBUTTON','MOUSE_LBUTTON',
+            'GL_ZOOM_Y','GL_ZOOM_X','GL_ZERO','GL_XOR','GL_WIN_swap_hint','GL_WIN_draw_range_elements','GL_VIEWPORT_BIT',
+            'GL_VIEWPORT','GL_VERTEX_ARRAY_TYPE_EXT','GL_VERTEX_ARRAY_TYPE','GL_VERTEX_ARRAY_STRIDE_EXT','GL_VERTEX_ARRAY_STRIDE',
+            'GL_VERTEX_ARRAY_SIZE_EXT','GL_VERTEX_ARRAY_SIZE','GL_VERTEX_ARRAY_POINTER_EXT','GL_VERTEX_ARRAY_POINTER',
+            'GL_VERTEX_ARRAY_EXT','GL_VERTEX_ARRAY_COUNT_EXT','GL_VERTEX_ARRAY','GL_VERSION_1_1','GL_VERSION','GL_VENDOR',
+            'GL_V3F','GL_V2F','GL_UNSIGNED_SHORT','GL_UNSIGNED_INT','GL_UNSIGNED_BYTE','GL_UNPACK_SWAP_BYTES','GL_UNPACK_SKIP_ROWS',
+            'GL_UNPACK_SKIP_PIXELS','GL_UNPACK_ROW_LENGTH','GL_UNPACK_LSB_FIRST','GL_UNPACK_ALIGNMENT','GL_TRUE','GL_TRIANGLE_STRIP',
+            'GL_TRIANGLE_FAN','GL_TRIANGLES','GL_TRANSFORM_BIT','GL_TEXTURE_WRAP_T','GL_TEXTURE_WRAP_S','GL_TEXTURE_WIDTH',
+            'GL_TEXTURE_STACK_DEPTH','GL_TEXTURE_RESIDENT','GL_TEXTURE_RED_SIZE','GL_TEXTURE_PRIORITY','GL_TEXTURE_MIN_FILTER',
+            'GL_TEXTURE_MATRIX','GL_TEXTURE_MAG_FILTER','GL_TEXTURE_LUMINANCE_SIZE','GL_TEXTURE_INTERNAL_FORMAT','GL_TEXTURE_INTENSITY_SIZE',
+            'GL_TEXTURE_HEIGHT','GL_TEXTURE_GREEN_SIZE','GL_TEXTURE_GEN_T','GL_TEXTURE_GEN_S','GL_TEXTURE_GEN_R','GL_TEXTURE_GEN_Q',
+            'GL_TEXTURE_GEN_MODE','GL_TEXTURE_ENV_MODE','GL_TEXTURE_ENV_COLOR','GL_TEXTURE_ENV','GL_TEXTURE_COORD_ARRAY_TYPE_EXT',
+            'GL_TEXTURE_COORD_ARRAY_TYPE','GL_TEXTURE_COORD_ARRAY_STRIDE_EXT','GL_TEXTURE_COORD_ARRAY_STRIDE','GL_TEXTURE_COORD_ARRAY_SIZE_EXT',
+            'GL_TEXTURE_COORD_ARRAY_SIZE','GL_TEXTURE_COORD_ARRAY_POINTER_EXT','GL_TEXTURE_COORD_ARRAY_POINTER','GL_TEXTURE_COORD_ARRAY_EXT',
+            'GL_TEXTURE_COORD_ARRAY_COUNT_EXT','GL_TEXTURE_COORD_ARRAY','GL_TEXTURE_COMPONENTS','GL_TEXTURE_BORDER_COLOR','GL_TEXTURE_BORDER',
+            'GL_TEXTURE_BLUE_SIZE','GL_TEXTURE_BIT','GL_TEXTURE_BINDING_2D','GL_TEXTURE_BINDING_1D','GL_TEXTURE_ALPHA_SIZE',
+            'GL_TEXTURE_2D','GL_TEXTURE_1D','GL_TEXTURE9_ARB','GL_TEXTURE9','GL_TEXTURE8_ARB','GL_TEXTURE8','GL_TEXTURE7_ARB',
+            'GL_TEXTURE7','GL_TEXTURE6_ARB','GL_TEXTURE6','GL_TEXTURE5_ARB','GL_TEXTURE5','GL_TEXTURE4_ARB','GL_TEXTURE4',
+            'GL_TEXTURE3_ARB','GL_TEXTURE31_ARB','GL_TEXTURE31','GL_TEXTURE30_ARB','GL_TEXTURE30','GL_TEXTURE3','GL_TEXTURE2_ARB',
+            'GL_TEXTURE29_ARB','GL_TEXTURE29','GL_TEXTURE28_ARB','GL_TEXTURE28','GL_TEXTURE27_ARB','GL_TEXTURE27','GL_TEXTURE26_ARB',
+            'GL_TEXTURE26','GL_TEXTURE25_ARB','GL_TEXTURE25','GL_TEXTURE24_ARB','GL_TEXTURE24','GL_TEXTURE23_ARB','GL_TEXTURE23',
+            'GL_TEXTURE22_ARB','GL_TEXTURE22','GL_TEXTURE21_ARB','GL_TEXTURE21','GL_TEXTURE20_ARB','GL_TEXTURE20','GL_TEXTURE2',
+            'GL_TEXTURE1_ARB','GL_TEXTURE19_ARB','GL_TEXTURE19','GL_TEXTURE18_ARB','GL_TEXTURE18','GL_TEXTURE17_ARB',
+            'GL_TEXTURE17','GL_TEXTURE16_ARB','GL_TEXTURE16','GL_TEXTURE15_ARB','GL_TEXTURE15','GL_TEXTURE14_ARB','GL_TEXTURE14',
+            'GL_TEXTURE13_ARB','GL_TEXTURE13','GL_TEXTURE12_ARB','GL_TEXTURE12','GL_TEXTURE11_ARB','GL_TEXTURE11','GL_TEXTURE10_ARB',
+            'GL_TEXTURE10','GL_TEXTURE1','GL_TEXTURE0_ARB','GL_TEXTURE0','GL_TEXTURE','GL_T4F_V4F','GL_T4F_C4F_N3F_V4F','GL_T2F_V3F',
+            'GL_T2F_N3F_V3F','GL_T2F_C4UB_V3F','GL_T2F_C4F_N3F_V3F','GL_T2F_C3F_V3F','GL_T','GL_SUBPIXEL_BITS','GL_STEREO',
+            'GL_STENCIL_WRITEMASK','GL_STENCIL_VALUE_MASK','GL_STENCIL_TEST','GL_STENCIL_REF','GL_STENCIL_PASS_DEPTH_PASS',
+            'GL_STENCIL_PASS_DEPTH_FAIL','GL_STENCIL_INDEX','GL_STENCIL_FUNC','GL_STENCIL_FAIL','GL_STENCIL_CLEAR_VALUE',
+            'GL_STENCIL_BUFFER_BIT','GL_STENCIL_BITS','GL_STENCIL','GL_STACK_UNDERFLOW','GL_STACK_OVERFLOW','GL_SRC_COLOR',
+            'GL_SRC_ALPHA_SATURATE','GL_SRC_ALPHA','GL_SPOT_EXPONENT','GL_SPOT_DIRECTION','GL_SPOT_CUTOFF','GL_SPHERE_MAP',
+            'GL_SPECULAR','GL_SOURCE2_RGB_EXT','GL_SOURCE2_RGB','GL_SOURCE2_ALPHA_EXT','GL_SOURCE2_ALPHA','GL_SOURCE1_RGB_EXT',
+            'GL_SOURCE1_RGB','GL_SOURCE1_ALPHA_EXT','GL_SOURCE1_ALPHA','GL_SOURCE0_RGB_EXT','GL_SOURCE0_RGB','GL_SOURCE0_ALPHA_EXT',
+            'GL_SOURCE0_ALPHA','GL_SMOOTH','GL_SHORT','GL_SHININESS','GL_SHADE_MODEL','GL_SET','GL_SELECTION_BUFFER_SIZE',
+            'GL_SELECTION_BUFFER_POINTER','GL_SELECT','GL_SCISSOR_TEST','GL_SCISSOR_BOX','GL_SCISSOR_BIT','GL_S','GL_RIGHT',
+            'GL_RGB_SCALE_EXT','GL_RGB_SCALE','GL_RGBA_MODE','GL_RGBA8','GL_RGBA4','GL_RGBA2','GL_RGBA16','GL_RGBA12','GL_RGBA',
+            'GL_RGB8','GL_RGB5_A1','GL_RGB5','GL_RGB4','GL_RGB16','GL_RGB12','GL_RGB10_A2','GL_RGB10','GL_RGB','GL_RETURN',
+            'GL_REPLACE','GL_REPEAT','GL_RENDER_MODE','GL_RENDERER','GL_RENDER','GL_RED_SCALE','GL_RED_BITS','GL_RED_BIAS',
+            'GL_RED','GL_READ_BUFFER','GL_R3_G3_B2','GL_R','GL_QUAD_STRIP','GL_QUADS','GL_QUADRATIC_ATTENUATION','GL_Q',
+            'GL_PROXY_TEXTURE_2D','GL_PROXY_TEXTURE_1D','GL_PROJECTION_STACK_DEPTH','GL_PROJECTION_MATRIX','GL_PROJECTION',
+            'GL_PRIMARY_COLOR_EXT','GL_PRIMARY_COLOR','GL_PREVIOUS_EXT','GL_PREVIOUS','GL_POSITION','GL_POLYGON_TOKEN',
+            'GL_POLYGON_STIPPLE_BIT','GL_POLYGON_STIPPLE','GL_POLYGON_SMOOTH_HINT','GL_POLYGON_SMOOTH','GL_POLYGON_OFFSET_UNITS',
+            'GL_POLYGON_OFFSET_POINT','GL_POLYGON_OFFSET_LINE','GL_POLYGON_OFFSET_FILL','GL_POLYGON_OFFSET_FACTOR','GL_POLYGON_MODE',
+            'GL_POLYGON_BIT','GL_POLYGON','GL_POINT_TOKEN','GL_POINT_SMOOTH_HINT','GL_POINT_SMOOTH','GL_POINT_SIZE_RANGE',
+            'GL_POINT_SIZE_GRANULARITY','GL_POINT_SIZE','GL_POINT_BIT','GL_POINTS','GL_POINT','GL_PIXEL_MODE_BIT',
+            'GL_PIXEL_MAP_S_TO_S_SIZE','GL_PIXEL_MAP_S_TO_S','GL_PIXEL_MAP_R_TO_R_SIZE','GL_PIXEL_MAP_R_TO_R','GL_PIXEL_MAP_I_TO_R_SIZE',
+            'GL_PIXEL_MAP_I_TO_R','GL_PIXEL_MAP_I_TO_I_SIZE','GL_PIXEL_MAP_I_TO_I','GL_PIXEL_MAP_I_TO_G_SIZE','GL_PIXEL_MAP_I_TO_G',
+            'GL_PIXEL_MAP_I_TO_B_SIZE','GL_PIXEL_MAP_I_TO_B','GL_PIXEL_MAP_I_TO_A_SIZE','GL_PIXEL_MAP_I_TO_A','GL_PIXEL_MAP_G_TO_G_SIZE',
+            'GL_PIXEL_MAP_G_TO_G','GL_PIXEL_MAP_B_TO_B_SIZE','GL_PIXEL_MAP_B_TO_B','GL_PIXEL_MAP_A_TO_A_SIZE','GL_PIXEL_MAP_A_TO_A',
+            'GL_PHONG_WIN','GL_PHONG_HINT_WIN','GL_PERSPECTIVE_CORRECTION_HINT','GL_PASS_THROUGH_TOKEN','GL_PACK_SWAP_BYTES',
+            'GL_PACK_SKIP_ROWS','GL_PACK_SKIP_PIXELS','GL_PACK_ROW_LENGTH','GL_PACK_LSB_FIRST','GL_PACK_ALIGNMENT','GL_OUT_OF_MEMORY',
+            'GL_OR_REVERSE','GL_OR_INVERTED','GL_ORDER','GL_OR','GL_OPERAND2_RGB_EXT','GL_OPERAND2_RGB','GL_OPERAND2_ALPHA_EXT',
+            'GL_OPERAND2_ALPHA','GL_OPERAND1_RGB_EXT','GL_OPERAND1_RGB','GL_OPERAND1_ALPHA_EXT','GL_OPERAND1_ALPHA','GL_OPERAND0_RGB_EXT',
+            'GL_OPERAND0_RGB','GL_OPERAND0_ALPHA_EXT','GL_OPERAND0_ALPHA','GL_ONE_MINUS_SRC_COLOR','GL_ONE_MINUS_SRC_ALPHA',
+            'GL_ONE_MINUS_DST_COLOR','GL_ONE_MINUS_DST_ALPHA','GL_ONE','GL_OBJECT_PLANE','GL_OBJECT_LINEAR','GL_NO_ERROR',
+            'GL_NOTEQUAL','GL_NORMAL_ARRAY_TYPE_EXT','GL_NORMAL_ARRAY_TYPE','GL_NORMAL_ARRAY_STRIDE_EXT','GL_NORMAL_ARRAY_STRIDE',
+            'GL_NORMAL_ARRAY_POINTER_EXT','GL_NORMAL_ARRAY_POINTER','GL_NORMAL_ARRAY_EXT','GL_NORMAL_ARRAY_COUNT_EXT',
+            'GL_NORMAL_ARRAY','GL_NORMALIZE','GL_NOR','GL_NOOP','GL_NONE','GL_NICEST','GL_NEVER','GL_NEAREST_MIPMAP_NEAREST','GL_NEAREST_MIPMAP_LINEAR',
+            'GL_NEAREST','GL_NAND','GL_NAME_STACK_DEPTH','GL_N3F_V3F','GL_MULT','GL_MODULATE','GL_MODELVIEW_STACK_DEPTH','GL_MODELVIEW_MATRIX',
+            'GL_MODELVIEW','GL_MAX_VIEWPORT_DIMS','GL_MAX_TEXTURE_UNITS_ARB','GL_MAX_TEXTURE_UNITS','GL_MAX_TEXTURE_STACK_DEPTH',
+            'GL_MAX_TEXTURE_SIZE','GL_MAX_PROJECTION_STACK_DEPTH','GL_MAX_PIXEL_MAP_TABLE','GL_MAX_NAME_STACK_DEPTH','GL_MAX_MODELVIEW_STACK_DEPTH',
+            'GL_MAX_LIST_NESTING','GL_MAX_LIGHTS','GL_MAX_EVAL_ORDER','GL_MAX_ELEMENTS_VERTICES_WIN','GL_MAX_ELEMENTS_INDICES_WIN',
+            'GL_MAX_CLIP_PLANES','GL_MAX_CLIENT_ATTRIB_STACK_DEPTH','GL_MAX_ATTRIB_STACK_DEPTH','GL_MATRIX_MODE','GL_MAP_STENCIL',
+            'GL_MAP_COLOR','GL_MAP2_VERTEX_4','GL_MAP2_VERTEX_3','GL_MAP2_TEXTURE_COORD_4','GL_MAP2_TEXTURE_COORD_3','GL_MAP2_TEXTURE_COORD_2',
+            'GL_MAP2_TEXTURE_COORD_1','GL_MAP2_NORMAL','GL_MAP2_INDEX','GL_MAP2_GRID_SEGMENTS','GL_MAP2_GRID_DOMAIN','GL_MAP2_COLOR_4',
+            'GL_MAP1_VERTEX_4','GL_MAP1_VERTEX_3','GL_MAP1_TEXTURE_COORD_4','GL_MAP1_TEXTURE_COORD_3','GL_MAP1_TEXTURE_COORD_2',
+            'GL_MAP1_TEXTURE_COORD_1','GL_MAP1_NORMAL','GL_MAP1_INDEX','GL_MAP1_GRID_SEGMENTS','GL_MAP1_GRID_DOMAIN',
+            'GL_MAP1_COLOR_4','GL_LUMINANCE_ALPHA','GL_LUMINANCE8_ALPHA8','GL_LUMINANCE8','GL_LUMINANCE6_ALPHA2','GL_LUMINANCE4_ALPHA4',
+            'GL_LUMINANCE4','GL_LUMINANCE16_ALPHA16','GL_LUMINANCE16','GL_LUMINANCE12_ALPHA4','GL_LUMINANCE12_ALPHA12','GL_LUMINANCE12',
+            'GL_LUMINANCE','GL_LOGIC_OP_MODE','GL_LOGIC_OP','GL_LOAD','GL_LIST_MODE','GL_LIST_INDEX','GL_LIST_BIT',
+            'GL_LIST_BASE','GL_LINE_WIDTH_RANGE','GL_LINE_WIDTH_GRANULARITY','GL_LINE_WIDTH','GL_LINE_TOKEN','GL_LINE_STRIP','GL_LINE_STIPPLE_REPEAT',
+            'GL_LINE_STIPPLE_PATTERN','GL_LINE_STIPPLE','GL_LINE_SMOOTH_HINT','GL_LINE_SMOOTH','GL_LINE_RESET_TOKEN','GL_LINE_LOOP',
+            'GL_LINE_BIT','GL_LINES','GL_LINEAR_MIPMAP_NEAREST','GL_LINEAR_MIPMAP_LINEAR','GL_LINEAR_ATTENUATION','GL_LINEAR',
+            'GL_LINE','GL_LIGHT_MODEL_TWO_SIDE','GL_LIGHT_MODEL_LOCAL_VIEWER','GL_LIGHT_MODEL_AMBIENT','GL_LIGHTING_BIT',
+            'GL_LIGHTING','GL_LIGHT7','GL_LIGHT6','GL_LIGHT5','GL_LIGHT4','GL_LIGHT3','GL_LIGHT2','GL_LIGHT1','GL_LIGHT0',
+            'GL_LESS','GL_LEQUAL','GL_LEFT','GL_KEEP','GL_INVERT','GL_INVALID_VALUE','GL_INVALID_OPERATION','GL_INVALID_ENUM','GL_INTERPOLATE_EXT',
+            'GL_INTERPOLATE','GL_INTENSITY8','GL_INTENSITY4','GL_INTENSITY16','GL_INTENSITY12','GL_INTENSITY','GL_INT',
+            'GL_INDEX_WRITEMASK','GL_INDEX_SHIFT','GL_INDEX_OFFSET','GL_INDEX_MODE','GL_INDEX_LOGIC_OP','GL_INDEX_CLEAR_VALUE','GL_INDEX_BITS',
+            'GL_INDEX_ARRAY_TYPE_EXT','GL_INDEX_ARRAY_TYPE','GL_INDEX_ARRAY_STRIDE_EXT','GL_INDEX_ARRAY_STRIDE','GL_INDEX_ARRAY_POINTER_EXT',
+            'GL_INDEX_ARRAY_POINTER','GL_INDEX_ARRAY_EXT','GL_INDEX_ARRAY_COUNT_EXT','GL_INDEX_ARRAY','GL_INCR','GL_HINT_BIT',
+            'GL_GREEN_SCALE','GL_GREEN_BITS','GL_GREEN_BIAS','GL_GREEN','GL_GREATER','GL_GEQUAL','GL_FRONT_RIGHT','GL_FRONT_LEFT',
+            'GL_FRONT_FACE','GL_FRONT_AND_BACK','GL_FRONT','GL_FOG_START','GL_FOG_SPECULAR_TEXTURE_WIN','GL_FOG_MODE','GL_FOG_INDEX',
+            'GL_FOG_HINT','GL_FOG_END','GL_FOG_DENSITY','GL_FOG_COLOR','GL_FOG_BIT','GL_FOG','GL_FLOAT','GL_FLAT','GL_FILL',
+            'GL_FEEDBACK_BUFFER_TYPE','GL_FEEDBACK_BUFFER_SIZE','GL_FEEDBACK_BUFFER_POINTER','GL_FEEDBACK','GL_FASTEST','GL_FALSE',
+            'GL_EYE_PLANE','GL_EYE_LINEAR','GL_EXT_vertex_array','GL_EXT_paletted_texture','GL_EXT_bgra','GL_EXTENSIONS','GL_EXP2',
+            'GL_EXP','GL_EVAL_BIT','GL_EQUIV','GL_EQUAL','GL_ENABLE_BIT','GL_EMISSION','GL_EDGE_FLAG_ARRAY_STRIDE_EXT','GL_EDGE_FLAG_ARRAY_STRIDE',
+            'GL_EDGE_FLAG_ARRAY_POINTER_EXT','GL_EDGE_FLAG_ARRAY_POINTER','GL_EDGE_FLAG_ARRAY_EXT','GL_EDGE_FLAG_ARRAY_COUNT_EXT','GL_EDGE_FLAG_ARRAY',
+            'GL_EDGE_FLAG','GL_DST_COLOR','GL_DST_ALPHA','GL_DRAW_PIXEL_TOKEN','GL_DRAW_BUFFER','GL_DOUBLE_EXT','GL_DOUBLEBUFFER',
+            'GL_DOUBLE','GL_DONT_CARE','GL_DOMAIN','GL_DITHER','GL_DIFFUSE','GL_DEPTH_WRITEMASK','GL_DEPTH_TEST','GL_DEPTH_SCALE',
+            'GL_DEPTH_RANGE','GL_DEPTH_FUNC','GL_DEPTH_COMPONENT','GL_DEPTH_CLEAR_VALUE','GL_DEPTH_BUFFER_BIT','GL_DEPTH_BITS',
+            'GL_DEPTH_BIAS','GL_DEPTH','GL_DECR','GL_DECAL','GL_CW','GL_CURRENT_TEXTURE_COORDS','GL_CURRENT_RASTER_TEXTURE_COORDS','GL_CURRENT_RASTER_POSITION_VALID',
+            'GL_CURRENT_RASTER_POSITION','GL_CURRENT_RASTER_INDEX','GL_CURRENT_RASTER_DISTANCE','GL_CURRENT_RASTER_COLOR','GL_CURRENT_NORMAL',
+            'GL_CURRENT_INDEX','GL_CURRENT_COLOR','GL_CURRENT_BIT','GL_CULL_FACE_MODE','GL_CULL_FACE','GL_COPY_PIXEL_TOKEN',
+            'GL_COPY_INVERTED','GL_COPY','GL_CONSTANT_EXT','GL_CONSTANT_ATTENUATION','GL_CONSTANT','GL_COMPILE_AND_EXECUTE','GL_COMPILE','GL_COMBINE_RGB_EXT',
+            'GL_COMBINE_RGB','GL_COMBINE_EXT','GL_COMBINE_ALPHA_EXT','GL_COMBINE_ALPHA','GL_COMBINE','GL_COLOR_WRITEMASK',
+            'GL_COLOR_TABLE_WIDTH_EXT','GL_COLOR_TABLE_RED_SIZE_EXT','GL_COLOR_TABLE_LUMINANCE_SIZE_EXT','GL_COLOR_TABLE_INTENSITY_SIZE_EXT',
+            'GL_COLOR_TABLE_GREEN_SIZE_EXT','GL_COLOR_TABLE_FORMAT_EXT','GL_COLOR_TABLE_BLUE_SIZE_EXT','GL_COLOR_TABLE_ALPHA_SIZE_EXT',
+            'GL_COLOR_MATERIAL_PARAMETER','GL_COLOR_MATERIAL_FACE','GL_COLOR_MATERIAL','GL_COLOR_LOGIC_OP','GL_COLOR_INDEXES',
+            'GL_COLOR_INDEX8_EXT','GL_COLOR_INDEX4_EXT','GL_COLOR_INDEX2_EXT','GL_COLOR_INDEX1_EXT','GL_COLOR_INDEX16_EXT',
+            'GL_COLOR_INDEX12_EXT','GL_COLOR_INDEX','GL_COLOR_CLEAR_VALUE','GL_COLOR_BUFFER_BIT','GL_COLOR_ARRAY_TYPE_EXT',
+            'GL_COLOR_ARRAY_TYPE','GL_COLOR_ARRAY_STRIDE_EXT','GL_COLOR_ARRAY_STRIDE','GL_COLOR_ARRAY_SIZE_EXT','GL_COLOR_ARRAY_SIZE',
+            'GL_COLOR_ARRAY_POINTER_EXT','GL_COLOR_ARRAY_POINTER','GL_COLOR_ARRAY_EXT','GL_COLOR_ARRAY_COUNT_EXT','GL_COLOR_ARRAY',
+            'GL_COLOR','GL_COEFF','GL_CLIP_PLANE5','GL_CLIP_PLANE4','GL_CLIP_PLANE3','GL_CLIP_PLANE2','GL_CLIP_PLANE1','GL_CLIP_PLANE0',
+            'GL_CLIENT_VERTEX_ARRAY_BIT','GL_CLIENT_PIXEL_STORE_BIT','GL_CLIENT_ATTRIB_STACK_DEPTH','GL_CLIENT_ALL_ATTRIB_BITS',
+            'GL_CLIENT_ACTIVE_TEXTURE_ARB','GL_CLIENT_ACTIVE_TEXTURE','GL_CLEAR','GL_CLAMP','GL_CCW','GL_C4UB_V3F','GL_C4UB_V2F',
+            'GL_C4F_N3F_V3F','GL_C3F_V3F','GL_BYTE','GL_BLUE_SCALE','GL_BLUE_BITS','GL_BLUE_BIAS','GL_BLUE','GL_BLEND_SRC','GL_BLEND_DST',
+            'GL_BLEND','GL_BITMAP_TOKEN','GL_BITMAP','GL_BGR_EXT','GL_BGRA_EXT','GL_BACK_RIGHT','GL_BACK_LEFT','GL_BACK',
+            'GL_AUX_BUFFERS','GL_AUX3','GL_AUX2','GL_AUX1','GL_AUX0','GL_AUTO_NORMAL','GL_ATTRIB_STACK_DEPTH','GL_AND_REVERSE',
+            'GL_AND_INVERTED','GL_AND','GL_AMBIENT_AND_DIFFUSE','GL_AMBIENT','GL_ALWAYS','GL_ALPHA_TEST_REF','GL_ALPHA_TEST_FUNC',
+            'GL_ALPHA_TEST','GL_ALPHA_SCALE','GL_ALPHA_BITS','GL_ALPHA_BIAS','GL_ALPHA8','GL_ALPHA4','GL_ALPHA16','GL_ALPHA12',
+            'GL_ALPHA','GL_ALL_ATTRIB_BITS','GL_ADD_SIGNED_EXT','GL_ADD_SIGNED','GL_ADD','GL_ACTIVE_TEXTURE_ARB','GL_ACTIVE_TEXTURE',
+            'GL_ACCUM_RED_BITS','GL_ACCUM_GREEN_BITS','GL_ACCUM_CLEAR_VALUE','GL_ACCUM_BUFFER_BIT','GL_ACCUM_BLUE_BITS','GL_ACCUM_ALPHA_BITS',
+            'GL_ACCUM','GL_4_BYTES','GL_4D_COLOR_TEXTURE','GL_3_BYTES','GL_3D_COLOR_TEXTURE','GL_3D_COLOR','GL_3D','GL_2_BYTES',
+            'GL_2D','GLU_V_STEP','GLU_VERTEX','GLU_VERSION_1_2','GLU_VERSION_1_1','GLU_VERSION','GLU_U_STEP','GLU_UNKNOWN','GLU_TRUE',
+            'GLU_TESS_WINDING_RULE','GLU_TESS_WINDING_POSITIVE','GLU_TESS_WINDING_ODD','GLU_TESS_WINDING_NONZERO','GLU_TESS_WINDING_NEGATIVE',
+            'GLU_TESS_WINDING_ABS_GEQ_TWO','GLU_TESS_VERTEX_DATA','GLU_TESS_VERTEX','GLU_TESS_TOLERANCE','GLU_TESS_NEED_COMBINE_CALLBACK','GLU_TESS_MISSING_END_POLYGON',
+            'GLU_TESS_MISSING_END_CONTOUR','GLU_TESS_MISSING_BEGIN_POLYGON','GLU_TESS_MISSING_BEGIN_CONTOUR','GLU_TESS_ERROR_DATA',
+            'GLU_TESS_ERROR8','GLU_TESS_ERROR7','GLU_TESS_ERROR6','GLU_TESS_ERROR5','GLU_TESS_ERROR4','GLU_TESS_ERROR3','GLU_TESS_ERROR2',
+            'GLU_TESS_ERROR1','GLU_TESS_ERROR','GLU_TESS_END_DATA','GLU_TESS_END','GLU_TESS_EDGE_FLAG_DATA','GLU_TESS_EDGE_FLAG',
+            'GLU_TESS_COORD_TOO_LARGE','GLU_TESS_COMBINE_DATA','GLU_TESS_COMBINE','GLU_TESS_BOUNDARY_ONLY','GLU_TESS_BEGIN_DATA',
+            'GLU_TESS_BEGIN','GLU_SMOOTH','GLU_SILHOUETTE','GLU_SAMPLING_TOLERANCE','GLU_SAMPLING_METHOD','GLU_POINT','GLU_PATH_LENGTH',
+            'GLU_PARAMETRIC_TOLERANCE','GLU_PARAMETRIC_ERROR','GLU_OUT_OF_MEMORY','GLU_OUTSIDE','GLU_OUTLINE_POLYGON','GLU_OUTLINE_PATCH',
+            'GLU_NURBS_ERROR9','GLU_NURBS_ERROR8','GLU_NURBS_ERROR7','GLU_NURBS_ERROR6','GLU_NURBS_ERROR5','GLU_NURBS_ERROR4',
+            'GLU_NURBS_ERROR37','GLU_NURBS_ERROR36','GLU_NURBS_ERROR35','GLU_NURBS_ERROR34','GLU_NURBS_ERROR33','GLU_NURBS_ERROR32',
+            'GLU_NURBS_ERROR31','GLU_NURBS_ERROR30','GLU_NURBS_ERROR3','GLU_NURBS_ERROR29','GLU_NURBS_ERROR28','GLU_NURBS_ERROR27','GLU_NURBS_ERROR26',
+            'GLU_NURBS_ERROR25','GLU_NURBS_ERROR24','GLU_NURBS_ERROR23','GLU_NURBS_ERROR22','GLU_NURBS_ERROR21','GLU_NURBS_ERROR20',
+            'GLU_NURBS_ERROR2','GLU_NURBS_ERROR19','GLU_NURBS_ERROR18','GLU_NURBS_ERROR17','GLU_NURBS_ERROR16','GLU_NURBS_ERROR15','GLU_NURBS_ERROR14',
+            'GLU_NURBS_ERROR13','GLU_NURBS_ERROR12','GLU_NURBS_ERROR11','GLU_NURBS_ERROR10','GLU_NURBS_ERROR1','GLU_NONE',
+            'GLU_MAP1_TRIM_3','GLU_MAP1_TRIM_2','GLU_LINE','GLU_INVALID_VALUE','GLU_INVALID_ENUM','GLU_INTERIOR','GLU_INSIDE','GLU_INCOMPATIBLE_GL_VERSION',
+            'GLU_FLAT','GLU_FILL','GLU_FALSE','GLU_EXTERIOR','GLU_EXTENSIONS','GLU_ERROR','GLU_END','GLU_EDGE_FLAG','GLU_DOMAIN_DISTANCE',
+            'GLU_DISPLAY_MODE','GLU_CW','GLU_CULLING','GLU_CCW','GLU_BEGIN','GLU_AUTO_LOAD_MATRIX','CHANNEL_UNORDERED','CHANNEL_ORDERED',
+            'CHANNEL_MAX'
+            ),
+        2 => array(
+
+            // Red Lowercase Keywords
+
+            'WriteWord','WriteString','WriteReal','WriteLine','WriteInt','WriteFloat','WriteDouble','WriteChar','WriteByte',
+            'windowwidth','windowheight','waittimer','Vec4','Vec3','Vec2','val','UpdateJoystick','ucase$','Transpose','tickcount',
+            'textscroll','textrows','textmode','textcols','tanh','tand','tan','synctimercatchup','synctimer','swapbuffers',
+            'str$','stopsoundvoice','stopsounds','stopmusic','sqrt','sqr','sprzorder','spryvel','sprytiles','sprysize','spryrepeat',
+            'spryflip','sprycentre','spry','sprxvel','sprxtiles','sprxsize','sprxrepeat','sprxflip','sprxcentre','sprx',
+            'sprvisible','sprvel','sprtype','sprtop','sprspin','sprsolid','sprsetzorder','sprsetyvel','sprsetysize','sprsetyrepeat',
+            'sprsetyflip','sprsetycentre','sprsety','sprsetxvel','sprsetxsize','sprsetxrepeat','sprsetxflip','sprsetxcentre',
+            'sprsetx','sprsetvisible','sprsetvel','sprsettiles','sprsettextures','sprsettexture','sprsetspin','sprsetsolid',
+            'sprsetsize','sprsetscale','sprsetpos','sprsetparallax','sprsetframe','sprsetcolor','sprsetanimspeed','sprsetanimloop',
+            'sprsetangle','sprsetalpha','sprscale','sprright','sprpos','sprparallax','sprleft','spriteareawidth','spriteareaheight',
+            'sprframe','sprcolor','sprcameraz','sprcameray','sprcamerax','sprcamerasetz','sprcamerasety','sprcamerasetx',
+            'sprcamerasetpos','sprcamerasetfov','sprcamerasetangle','sprcamerapos','sprcamerafov','sprcameraangle',
+            'sprbottom','spranimspeed','spranimloop','spranimdone','sprangle','spralpha','spraddtextures','spraddtexture',
+            'sounderror','sleep','sind','sin','showcursor','sgn','settextscroll','setmusicvolume','SendMessage','Seek',
+            'scankeydown','RTInvert','rnd','right$','resizetext','resizespritearea','RejectConnection','ReceiveMessage','ReadWord',
+            'ReadText','ReadReal','ReadLine','ReadInt','ReadFloat','ReadDouble','ReadChar','ReadByte','randomize','printr',
+            'print','pow','playsound','playmusic','performancecounter','Orthonormalize','OpenFileWrite','OpenFileRead','Normalize',
+            'newtilemap','newsprite','NewServer','NewConnection','musicplaying','mouse_yd','mouse_y','mouse_xd','mouse_x',
+            'mouse_wheel','mouse_button','mid$','MessageSmoothed','MessageReliable','MessagePending','MessageChannel','maxtextureunits',
+            'MatrixZero','MatrixTranslate','MatrixScale','MatrixRotateZ','MatrixRotateY','MatrixRotateX','MatrixRotate','MatrixIdentity',
+            'MatrixCrossProduct','MatrixBasis','log','locate','loadtexture','loadsound','loadmipmaptexture','loadmipmapimagestrip',
+            'loadimagestrip','loadimage','Length','len','left$','lcase$','keydown','Joy_Y','Joy_X','Joy_Up','Joy_Right','Joy_Left',
+            'Joy_Keys','Joy_Down','Joy_Button','Joy_3','Joy_2','Joy_1','Joy_0','int','inscankey','input$','inkey$','inittimer',
+            'imagewidth','imagestripframes','imageheight','imageformat','imagedatatype','hidecursor','glViewport','glVertex4sv',
+            'glVertex4s','glVertex4iv','glVertex4i','glVertex4fv','glVertex4f','glVertex4dv','glVertex4d','glVertex3sv','glVertex3s',
+            'glVertex3iv','glVertex3i','glVertex3fv','glVertex3f','glVertex3dv','glVertex3d','glVertex2sv','glVertex2s','glVertex2iv',
+            'glVertex2i','glVertex2fv','glVertex2f','glVertex2dv','glVertex2d','gluPerspective','gluOrtho2D','gluLookAt',
+            'glubuild2dmipmaps','glTranslatef','glTranslated','gltexsubimage2d','glTexParameteriv','glTexParameteri',
+            'glTexParameterfv','glTexParameterf','glteximage2d','glTexGeniv','glTexGeni','glTexGenfv','glTexGenf','glTexGendv',
+            'glTexGend','glTexEnviv','glTexEnvi','glTexEnvfv','glTexEnvf','glTexCoord4sv','glTexCoord4s','glTexCoord4iv','glTexCoord4i',
+            'glTexCoord4fv','glTexCoord4f','glTexCoord4dv','glTexCoord4d','glTexCoord3sv','glTexCoord3s','glTexCoord3iv','glTexCoord3i',
+            'glTexCoord3fv','glTexCoord3f','glTexCoord3dv','glTexCoord3d','glTexCoord2sv','glTexCoord2s','glTexCoord2iv','glTexCoord2i',
+            'glTexCoord2fv','glTexCoord2f','glTexCoord2dv','glTexCoord2d','glTexCoord1sv','glTexCoord1s','glTexCoord1iv','glTexCoord1i','glTexCoord1fv',
+            'glTexCoord1f','glTexCoord1dv','glTexCoord1d','glStencilOp','glStencilMask','glStencilFunc','glShadeModel','glSelectBuffer',
+            'glScissor','glScalef','glScaled','glRotatef','glRotated','glRenderMode','glRectsv','glRects','glRectiv','glRecti',
+            'glRectfv','glRectf','glRectdv','glRectd','glReadBuffer','glRasterPos4sv','glRasterPos4s','glRasterPos4iv',
+            'glRasterPos4i','glRasterPos4fv','glRasterPos4f','glRasterPos4dv','glRasterPos4d','glRasterPos3sv','glRasterPos3s',
+            'glRasterPos3iv','glRasterPos3i','glRasterPos3fv','glRasterPos3f','glRasterPos3dv','glRasterPos3d','glRasterPos2sv',
+            'glRasterPos2s','glRasterPos2iv','glRasterPos2i','glRasterPos2fv','glRasterPos2f','glRasterPos2dv','glRasterPos2d',
+            'glPushName','glPushMatrix','glPushClientAttrib','glPushAttrib','glPrioritizeTextures','glPopName','glPopMatrix',
+            'glPopClientAttrib','glPopAttrib','glpolygonstipple','glPolygonOffset','glPolygonMode','glPointSize','glPixelZoom',
+            'glPixelTransferi','glPixelTransferf','glPixelStorei','glPixelStoref','glPassThrough','glOrtho','glNormal3sv','glNormal3s',
+            'glNormal3iv','glNormal3i','glNormal3fv','glNormal3f','glNormal3dv','glNormal3d','glNormal3bv','glNormal3b','glNewList',
+            'glMultMatrixf','glMultMatrixd','glmultitexcoord2f','glmultitexcoord2d','glMatrixMode','glMaterialiv','glMateriali',
+            'glMaterialfv','glMaterialf','glMapGrid2f','glMapGrid2d','glMapGrid1f','glMapGrid1d','glLogicOp','glLoadName','glLoadMatrixf',
+            'glLoadMatrixd','glLoadIdentity','glListBase','glLineWidth','glLineStipple','glLightModeliv','glLightModeli','glLightModelfv',
+            'glLightModelf','glLightiv','glLighti','glLightfv','glLightf','glIsTexture','glIsList','glIsEnabled','glInitNames',
+            'glIndexubv','glIndexub','glIndexsv','glIndexs','glIndexMask','glIndexiv','glIndexi','glIndexfv','glIndexf','glIndexdv',
+            'glIndexd','glHint','glGetTexParameteriv','glGetTexParameterfv','glGetTexLevelParameteriv','glGetTexLevelParameterfv',
+            'glGetTexGeniv','glGetTexGenfv','glGetTexGendv','glGetTexEnviv','glGetTexEnvfv','glgetstring','glgetpolygonstipple','glGetPixelMapuiv',
+            'glGetMaterialiv','glGetMaterialfv','glGetLightiv','glGetLightfv','glGetIntegerv','glGetFloatv',
+            'glGetError','glGetDoublev','glGetClipPlane','glGetBooleanv','glgentextures','glgentexture',
+            'glgenlists','glFrustum','glFrontFace','glFogiv','glFogi','glFogfv','glFogf','glFlush','glFinish','glFeedbackBuffer',
+            'glEvalPoint2','glEvalPoint1','glEvalMesh2','glEvalMesh1','glEvalCoord2fv','glEvalCoord2f','glEvalCoord2dv','glEvalCoord2d',
+            'glEvalCoord1fv','glEvalCoord1f','glEvalCoord1dv','glEvalCoord1d','glEndList','glEnd','glEnableClientState','glEnable',
+            'glEdgeFlagv','glEdgeFlag','glDrawBuffer','glDrawArrays','glDisableClientState','glDisable','glDepthRange','glDepthMask',
+            'glDepthFunc','gldeletetextures','gldeletetexture','gldeletelists','glCullFace','glCopyTexSubImage2D','glCopyTexSubImage1D',
+            'glCopyTexImage2D','glCopyTexImage1D','glColorMaterial','glColorMask','glColor4usv','glColor4us','glColor4uiv','glColor4ui',
+            'glColor4ubv','glColor4ub','glColor4sv','glColor4s','glColor4iv','glColor4i','glColor4fv','glColor4f','glColor4dv',
+            'glColor4d','glColor4bv','glColor4b','glColor3usv','glColor3us','glColor3uiv','glColor3ui','glColor3ubv','glColor3ub',
+            'glColor3sv','glColor3s','glColor3iv','glColor3i','glColor3fv','glColor3f','glColor3dv','glColor3d','glColor3bv',
+            'glColor3b','glClipPlane','glClearStencil','glClearIndex','glClearDepth','glClearColor','glClearAccum','glClear',
+            'glcalllists','glCallList','glBlendFunc','glBindTexture','glBegin','glArrayElement','glAreTexturesResident',
+            'glAlphaFunc','glactivetexture','glAccum','font','FindNextFile','FindFirstFile','FindClose','FileError',
+            'extensionsupported','exp','execute','EndOfFile','drawtext','divbyzero','Determinant','deletesprite','deletesound',
+            'DeleteServer','deleteimage','DeleteConnection','defaultfont','CrossProduct','cosd','cos','copysprite','ConnectionPending',
+            'ConnectionHandShaking','ConnectionConnected','ConnectionAddress','compilererrorline','compilererrorcol','compilererror',
+            'compilefile','compile','color','cls','CloseFile','clearregion','clearline','clearkeys','chr$','charat$','bindsprite',
+            'beep','atnd','atn2d','atn2','atn','atand','asc','argcount','arg','animatesprites','AcceptConnection','abs'
+            ),
+        3 => array(
+
+            // Blue Lowercase Keywords
+
+            'xor','while','wend','until','type','traditional_print','traditional','to','then','struc','string','step','single',
+            'run','return','reset','read','or','null','not','next','lor','loop','language','land','integer','input','if',
+            'goto','gosub','for','endstruc','endif','end','elseif','else','double','do','dim','data','const','basic4gl','as',
+            'and','alloc'
+            )
+
+        ),
+    'SYMBOLS' => array(
+        '=', '<', '>', '>=', '<=', '+', '-', '*', '/', '%', '(', ')', '{', '}', '[', ']', '&', ';', ':', '$'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000080; font-weight: bold;',
+            2 => 'color: #FF0000;',
+            3 => 'color: #0000FF;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #657CC4; font-style: italic;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000080;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #008000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #000080; font-weight: bold;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #0000FF;'
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/bf.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,114 @@
+<?php
+/*************************************************************************************
+ * bf.php
+ * ----------
+ * Author: Benny Baumann (BenBE@geshi.org)
+ * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.2
+ * Date Started: 2009/10/31
+ *
+ * Brainfuck language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/31 (1.0.8.1)
+ *   -  First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+$language_data = array (
+    'LANG_NAME' => 'Brainfuck',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(),
+    'COMMENT_REGEXP' => array(1 => '/[^\n+\-<>\[\]\.\,Y]+/s'),
+    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        ),
+    'SYMBOLS' => array(
+        0 => array('+', '-'),
+        1 => array('[', ']'),
+        2 => array('<', '>'),
+        3 => array('.', ','),
+        4 => array('Y') //Brainfork Extension ;-)
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #006600;',
+            1 => 'color: #660000;',
+            2 => 'color: #000066;',
+            3 => 'color: #660066;',
+            4 => 'color: #666600;'
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'STRINGS' => GESHI_NEVER,
+            'NUMBERS' => GESHI_NEVER
+            ),
+        'KEYWORDS' => array(
+            'DISALLOW_BEFORE' => '',
+            'DISALLOW_AFTER' => ''
+            )
+        )
+);
+
+?>
--- a/plugins/geshi/geshi/blitzbasic.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/blitzbasic.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * --------------
  * Author: P�draig O`Connel (info@moonsword.info)
  * Copyright: (c) 2005 P�draig O`Connel (http://moonsword.info)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 16.10.2005
  *
  * BlitzBasic language file for GeSHi.
@@ -47,139 +47,139 @@
  *
  ************************************************************************************/
 
- $language_data = array (
-  'LANG_NAME' => 'BlitzBasic',
-  'COMMENT_SINGLE' => array(1 => ';'),
-  'COMMENT_MULTI' => array(),
-  'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-  'QUOTEMARKS' => array('"'),
-  'ESCAPE_CHAR' => '',
-  'KEYWORDS' => array(
-    1 => array(
-    	'If','EndIf','ElseIf','Else If','Else','While','Wend','Return','Next','Include','End Type','End Select','End If','End Function','End','Select',
-    	'Type','Forever','For','Or','And','AppTitle','Case','Goto','Gosub','Step','Stop','Int','Last','False','Then','To','True','Until','Float',
-    	'String','Before','Not'
-    ),
-    2 => array(
-
-      // All Functions - 2D BB and 3D BB
- 	  	'Xor','WriteString','WriteShort','WritePixelFast','WritePixel','WriteLine','WriteInt','WriteFloat','WriteFile','WriteBytes',
-		'WriteByte','Write','WaitTimer','WaitMouse','WaitKey','WaitJoy','VWait','Viewport',
-		'Upper','UpdateGamma','UnlockBuffer','UDPTimeouts','UDPStreamPort','UDPStreamIP','UDPMsgPort','UDPMsgIP',
-		'Trim','TotalVidMem','TileImage','TileBlock','TFormImage','TFormFilter','Text',
-		'TCPTimeouts','TCPStreamPort','TCPStreamIP','Tan','SystemProperty','StringWidth','StringHeight','Str','StopNetGame',
-		'StopChannel','StartNetGame','Sqr','SoundVolume','SoundPitch','SoundPan','Sin','Shr',
-		'ShowPointer','Shl','Sgn','SetGfxDriver','SetGamma','SetFont','SetEnv','SetBuffer','SendUDPMsg','SendNetMsg',
-		'SeekFile','SeedRnd','ScanLine','ScaleImage','SaveImage','SaveBuffer','Sar','RuntimeError','RSet',
-		'RotateImage','RndSeed','Rnd','Right','ResumeChannel','Restore','ResizeImage','ResizeBank','Replace',
-		'Repeat','RecvUDPMsg','RecvNetMsg','RectsOverlap','Rect','ReadString','ReadShort','ReadPixelFast','ReadPixel','ReadLine',
-		'ReadInt','ReadFloat','ReadFile','ReadDir','ReadBytes','ReadByte','ReadAvail','Read','Rand','Print',
-		'PokeShort','PokeInt','PokeFloat','PokeByte','Plot','PlaySound','PlayMusic','PlayCDTrack','Pi','PeekShort',
-		'PeekInt','PeekFloat','PeekByte','PauseChannel','Oval','Origin','OpenTCPStream','OpenMovie','OpenFile',
-		'Null','NextFile','New','NetPlayerName','NetPlayerLocal','NetMsgType','NetMsgTo','NetMsgFrom',
-		'NetMsgData','MovieWidth','MoviePlaying','MovieHeight','MoveMouse','MouseZSpeed','MouseZ','MouseYSpeed','MouseY','MouseXSpeed',
-		'MouseX','MouseHit','MouseDown','Mod','Millisecs','MidHandle','Mid','MaskImage','LSet','Lower',
-		'LoopSound','Log10','Log','LockBuffer','Locate','Local','LoadSound','LoadImage','LoadFont','LoadBuffer',
-		'LoadAnimImage','Line','Len','Left','KeyHit','KeyDown','JoyZDir','JoyZ','JoyYDir',
-		'JoyYaw','JoyY','JoyXDir','JoyX','JoyVDir','JoyV','JoyUDir','JoyU','JoyType','JoyRoll',
-		'JoyPitch','JoyHit','JoyHat','JoyDown','JoinNetGame','Instr','Insert','Input',
-		'ImageYHandle','ImageXHandle','ImageWidth','ImagesOverlap','ImagesCollide','ImageRectOverlap','ImageRectCollide','ImageHeight','ImageBuffer','If',
-		'HostNetGame','HostIP','HidePointer','Hex','HandleImage','GraphicsWidth','GraphicsHeight','GraphicsDepth','GraphicsBuffer','Graphics',
-		'GrabImage','Global','GFXModeWidth','GFXModeHeight','GfxModeExists','GFXModeDepth','GfxDriverName','GetMouse',
-		'GetKey','GetJoy','GetEnv','GetColor','GammaRed','GammaGreen','GammaBlue','Function','FrontBuffer','FreeTimer',
-		'FreeSound','FreeImage','FreeFont','FreeBank','FontWidth','FontHeight','FlushMouse','FlushKeys',
-		'FlushJoy','Floor','Flip','First','FileType','FileSize','FilePos','Field',
-		'Exp','Exit','ExecFile','Eof','EndGraphics','Each','DrawMovie','DrawImageRect','DrawImage','DrawBlockRect','DrawBlock',
-		'DottedIP','Dim','DeleteNetPlayer','DeleteFile','DeleteDir','Delete','Delay','Default','DebugLog','Data',
-		'CurrentTime','CurrentDir','CurrentDate','CreateUDPStream','CreateTimer','CreateTCPServer','CreateNetPlayer','CreateImage','CreateDir','CreateBank',
-		'CountHostIPs','CountGFXModes','CountGfxDrivers','Cos','CopyStream','CopyRect','CopyPixelFast','CopyPixel','CopyImage','CopyFile',
-		'CopyBank','Const','CommandLine','ColorRed','ColorGreen','ColorBlue','Color','ClsColor','Cls','CloseUDPStream',
-		'CloseTCPStream','CloseTCPServer','CloseMovie','CloseFile','CloseDir','Chr','ChannelVolume','ChannelPlaying','ChannelPitch','ChannelPan',
-		'ChangeDir','Ceil','CallDLL','Bin','BankSize','BackBuffer','AvailVidMem','AutoMidHandle',
-		'ATan2','ATan','ASin','Asc','After','ACos','AcceptTCPStream','Abs',
-		// 3D Commands
-		'Wireframe','Windowed3D','WBuffer','VertexZ','VertexY',
-		'VertexX','VertexW','VertexV','VertexU','VertexTexCoords','VertexRed','VertexNZ','VertexNY','VertexNX','VertexNormal',
-		'VertexGreen','VertexCoords','VertexColor','VertexBlue','VertexAlpha','VectorYaw','VectorPitch','UpdateWorld','UpdateNormals','TurnEntity',
-		'TrisRendered','TriangleVertex','TranslateEntity','TFormVector','TFormPoint','TFormNormal','TFormedZ','TFormedY','TFormedX','TextureWidth',
-		'TextureName','TextureHeight','TextureFilter','TextureCoords','TextureBuffer','TextureBlend','TerrainZ','TerrainY','TerrainX','TerrainSize',
-		'TerrainShading','TerrainHeight','TerrainDetail','SpriteViewMode','ShowEntity','SetCubeFace','SetAnimTime','SetAnimKey','ScaleTexture','ScaleSprite',
-		'ScaleMesh','ScaleEntity','RotateTexture','RotateSprite','RotateMesh','RotateEntity','ResetEntity','RenderWorld','ProjectedZ','ProjectedY',
-		'ProjectedX','PositionTexture','PositionMesh','PositionEntity','PointEntity','PickedZ','PickedY','PickedX','PickedTriangle','PickedTime',
-		'PickedSurface','PickedNZ','PickedNY','PickedNX','PickedEntity','PaintSurface','PaintMesh','PaintEntity','NameEntity','MoveEntity',
-		'ModifyTerrain','MeshWidth','MeshHeight','MeshesIntersect','MeshDepth','MD2AnimTime','MD2AnimLength','MD2Animating','LoadTexture','LoadTerrain',
-		'LoadSprite','LoadMesh','LoadMD2','LoaderMatrix','LoadBSP','LoadBrush','LoadAnimTexture','LoadAnimSeq','LoadAnimMesh','Load3DSound',
-		'LinePick','LightRange','LightMesh','LightConeAngles','LightColor','HWMultiTex','HideEntity','HandleSprite','Graphics3D','GfxMode3DExists',
-		'GfxMode3D','GfxDriverCaps3D','GfxDriver3D','GetSurfaceBrush','GetSurface','GetParent','GetMatElement','GetEntityType','GetEntityBrush','GetChild',
-		'GetBrushTexture','FreeTexture','FreeEntity','FreeBrush','FlipMesh','FitMesh','FindSurface','FindChild','ExtractAnimSeq','EntityZ',
-		'EntityYaw','EntityY','EntityX','EntityVisible','EntityType','EntityTexture','EntityShininess','EntityRoll','EntityRadius','EntityPitch',
-		'EntityPickMode','EntityPick','EntityParent','EntityOrder','EntityName','EntityInView','EntityFX','EntityDistance','EntityColor','EntityCollided',
-		'EntityBox','EntityBlend','EntityAutoFade','EntityAlpha','EmitSound','Dither','DeltaYaw','DeltaPitch','CreateTexture','CreateTerrain',
-		'CreateSurface','CreateSprite','CreateSphere','CreatePlane','CreatePivot','CreateMirror','CreateMesh','CreateListener','CreateLight','CreateCylinder',
-		'CreateCube','CreateCone','CreateCamera','CreateBrush','CountVertices','CountTriangles','CountSurfaces','CountGfxModes3D','CountCollisions','CountChildren',
-		'CopyMesh','CopyEntity','CollisionZ','CollisionY','CollisionX','CollisionTriangle','CollisionTime','CollisionSurface','Collisions','CollisionNZ',
-		'CollisionNY','CollisionNX','CollisionEntity','ClearWorld','ClearTextureFilters','ClearSurface','ClearCollisions','CaptureWorld','CameraZoom','CameraViewport',
-		'CameraRange','CameraProjMode','CameraProject','CameraPick','CameraFogRange','CameraFogMode','CameraFogColor','CameraClsMode','CameraClsColor','BSPLighting',
-		'BSPAmbientLight','BrushTexture','BrushShininess','BrushFX','BrushColor','BrushBlend','BrushAlpha','AntiAlias','AnimTime','AnimSeq',
-		'AnimLength','Animating','AnimateMD2','Animate','AmbientLight','AlignToVector','AddVertex','AddTriangle','AddMesh','AddAnimSeq',
-      )
-    ),
-  'SYMBOLS' => array(
-  	'(',')'
-  	),
-  'CASE_SENSITIVE' => array(
-    GESHI_COMMENTS => false,
-    1 => false,
-    2 => false,
-    ),
-  'STYLES' => array(
+$language_data = array (
+    'LANG_NAME' => 'BlitzBasic',
+    'COMMENT_SINGLE' => array(1 => ';'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
     'KEYWORDS' => array(
-      1 => 'color: #000066; font-weight: bold;',
-       2 => 'color: #0000ff;'
-      ),
-    'COMMENTS' => array(
-      1 => 'color: #D9D100; font-style: italic;',
-      ),
-    'ESCAPE_CHAR' => array(
-      0 => 'color: #000099; font-weight: bold;'
-      ),
-    'BRACKETS' => array(
-      0 => 'color: #000066;'
-      ),
-    'STRINGS' => array(
-      0 => 'color: #009900;'
-      ),
-    'NUMBERS' => array(
-      0 => 'color: #CC0000;'
-      ),
-    'METHODS' => array(
-      1 => 'color: #006600;'
-      ),
+        1 => array(
+            'If','EndIf','ElseIf','Else If','Else','While','Wend','Return','Next','Include','End Type','End Select','End If','End Function','End','Select',
+            'Type','Forever','For','Or','And','AppTitle','Case','Goto','Gosub','Step','Stop','Int','Last','False','Then','To','True','Until','Float',
+            'String','Before','Not'
+            ),
+        2 => array(
+            // All Functions - 2D BB and 3D BB
+            'Xor','WriteString','WriteShort','WritePixelFast','WritePixel','WriteLine','WriteInt','WriteFloat','WriteFile','WriteBytes',
+            'WriteByte','Write','WaitTimer','WaitMouse','WaitKey','WaitJoy','VWait','Viewport',
+            'Upper','UpdateGamma','UnlockBuffer','UDPTimeouts','UDPStreamPort','UDPStreamIP','UDPMsgPort','UDPMsgIP',
+            'Trim','TotalVidMem','TileImage','TileBlock','TFormImage','TFormFilter','Text',
+            'TCPTimeouts','TCPStreamPort','TCPStreamIP','Tan','SystemProperty','StringWidth','StringHeight','Str','StopNetGame',
+            'StopChannel','StartNetGame','Sqr','SoundVolume','SoundPitch','SoundPan','Sin','Shr',
+            'ShowPointer','Shl','Sgn','SetGfxDriver','SetGamma','SetFont','SetEnv','SetBuffer','SendUDPMsg','SendNetMsg',
+            'SeekFile','SeedRnd','ScanLine','ScaleImage','SaveImage','SaveBuffer','Sar','RuntimeError','RSet',
+            'RotateImage','RndSeed','Rnd','Right','ResumeChannel','Restore','ResizeImage','ResizeBank','Replace',
+            'Repeat','RecvUDPMsg','RecvNetMsg','RectsOverlap','Rect','ReadString','ReadShort','ReadPixelFast','ReadPixel','ReadLine',
+            'ReadInt','ReadFloat','ReadFile','ReadDir','ReadBytes','ReadByte','ReadAvail','Read','Rand','Print',
+            'PokeShort','PokeInt','PokeFloat','PokeByte','Plot','PlaySound','PlayMusic','PlayCDTrack','Pi','PeekShort',
+            'PeekInt','PeekFloat','PeekByte','PauseChannel','Oval','Origin','OpenTCPStream','OpenMovie','OpenFile',
+            'Null','NextFile','New','NetPlayerName','NetPlayerLocal','NetMsgType','NetMsgTo','NetMsgFrom',
+            'NetMsgData','MovieWidth','MoviePlaying','MovieHeight','MoveMouse','MouseZSpeed','MouseZ','MouseYSpeed','MouseY','MouseXSpeed',
+            'MouseX','MouseHit','MouseDown','Mod','Millisecs','MidHandle','Mid','MaskImage','LSet','Lower',
+            'LoopSound','Log10','Log','LockBuffer','Locate','Local','LoadSound','LoadImage','LoadFont','LoadBuffer',
+            'LoadAnimImage','Line','Len','Left','KeyHit','KeyDown','JoyZDir','JoyZ','JoyYDir',
+            'JoyYaw','JoyY','JoyXDir','JoyX','JoyVDir','JoyV','JoyUDir','JoyU','JoyType','JoyRoll',
+            'JoyPitch','JoyHit','JoyHat','JoyDown','JoinNetGame','Instr','Insert','Input',
+            'ImageYHandle','ImageXHandle','ImageWidth','ImagesOverlap','ImagesCollide','ImageRectOverlap','ImageRectCollide','ImageHeight','ImageBuffer',
+            'HostNetGame','HostIP','HidePointer','Hex','HandleImage','GraphicsWidth','GraphicsHeight','GraphicsDepth','GraphicsBuffer','Graphics',
+            'GrabImage','Global','GFXModeWidth','GFXModeHeight','GfxModeExists','GFXModeDepth','GfxDriverName','GetMouse',
+            'GetKey','GetJoy','GetEnv','GetColor','GammaRed','GammaGreen','GammaBlue','Function','FrontBuffer','FreeTimer',
+            'FreeSound','FreeImage','FreeFont','FreeBank','FontWidth','FontHeight','FlushMouse','FlushKeys',
+            'FlushJoy','Floor','Flip','First','FileType','FileSize','FilePos','Field',
+            'Exp','Exit','ExecFile','Eof','EndGraphics','Each','DrawMovie','DrawImageRect','DrawImage','DrawBlockRect','DrawBlock',
+            'DottedIP','Dim','DeleteNetPlayer','DeleteFile','DeleteDir','Delete','Delay','Default','DebugLog','Data',
+            'CurrentTime','CurrentDir','CurrentDate','CreateUDPStream','CreateTimer','CreateTCPServer','CreateNetPlayer','CreateImage','CreateDir','CreateBank',
+            'CountHostIPs','CountGFXModes','CountGfxDrivers','Cos','CopyStream','CopyRect','CopyPixelFast','CopyPixel','CopyImage','CopyFile',
+            'CopyBank','Const','CommandLine','ColorRed','ColorGreen','ColorBlue','Color','ClsColor','Cls','CloseUDPStream',
+            'CloseTCPStream','CloseTCPServer','CloseMovie','CloseFile','CloseDir','Chr','ChannelVolume','ChannelPlaying','ChannelPitch','ChannelPan',
+            'ChangeDir','Ceil','CallDLL','Bin','BankSize','BackBuffer','AvailVidMem','AutoMidHandle',
+            'ATan2','ATan','ASin','Asc','After','ACos','AcceptTCPStream','Abs',
+            // 3D Commands
+            'Wireframe','Windowed3D','WBuffer','VertexZ','VertexY',
+            'VertexX','VertexW','VertexV','VertexU','VertexTexCoords','VertexRed','VertexNZ','VertexNY','VertexNX','VertexNormal',
+            'VertexGreen','VertexCoords','VertexColor','VertexBlue','VertexAlpha','VectorYaw','VectorPitch','UpdateWorld','UpdateNormals','TurnEntity',
+            'TrisRendered','TriangleVertex','TranslateEntity','TFormVector','TFormPoint','TFormNormal','TFormedZ','TFormedY','TFormedX','TextureWidth',
+            'TextureName','TextureHeight','TextureFilter','TextureCoords','TextureBuffer','TextureBlend','TerrainZ','TerrainY','TerrainX','TerrainSize',
+            'TerrainShading','TerrainHeight','TerrainDetail','SpriteViewMode','ShowEntity','SetCubeFace','SetAnimTime','SetAnimKey','ScaleTexture','ScaleSprite',
+            'ScaleMesh','ScaleEntity','RotateTexture','RotateSprite','RotateMesh','RotateEntity','ResetEntity','RenderWorld','ProjectedZ','ProjectedY',
+            'ProjectedX','PositionTexture','PositionMesh','PositionEntity','PointEntity','PickedZ','PickedY','PickedX','PickedTriangle','PickedTime',
+            'PickedSurface','PickedNZ','PickedNY','PickedNX','PickedEntity','PaintSurface','PaintMesh','PaintEntity','NameEntity','MoveEntity',
+            'ModifyTerrain','MeshWidth','MeshHeight','MeshesIntersect','MeshDepth','MD2AnimTime','MD2AnimLength','MD2Animating','LoadTexture','LoadTerrain',
+            'LoadSprite','LoadMesh','LoadMD2','LoaderMatrix','LoadBSP','LoadBrush','LoadAnimTexture','LoadAnimSeq','LoadAnimMesh','Load3DSound',
+            'LinePick','LightRange','LightMesh','LightConeAngles','LightColor','HWMultiTex','HideEntity','HandleSprite','Graphics3D','GfxMode3DExists',
+            'GfxMode3D','GfxDriverCaps3D','GfxDriver3D','GetSurfaceBrush','GetSurface','GetParent','GetMatElement','GetEntityType','GetEntityBrush','GetChild',
+            'GetBrushTexture','FreeTexture','FreeEntity','FreeBrush','FlipMesh','FitMesh','FindSurface','FindChild','ExtractAnimSeq','EntityZ',
+            'EntityYaw','EntityY','EntityX','EntityVisible','EntityType','EntityTexture','EntityShininess','EntityRoll','EntityRadius','EntityPitch',
+            'EntityPickMode','EntityPick','EntityParent','EntityOrder','EntityName','EntityInView','EntityFX','EntityDistance','EntityColor','EntityCollided',
+            'EntityBox','EntityBlend','EntityAutoFade','EntityAlpha','EmitSound','Dither','DeltaYaw','DeltaPitch','CreateTexture','CreateTerrain',
+            'CreateSurface','CreateSprite','CreateSphere','CreatePlane','CreatePivot','CreateMirror','CreateMesh','CreateListener','CreateLight','CreateCylinder',
+            'CreateCube','CreateCone','CreateCamera','CreateBrush','CountVertices','CountTriangles','CountSurfaces','CountGfxModes3D','CountCollisions','CountChildren',
+            'CopyMesh','CopyEntity','CollisionZ','CollisionY','CollisionX','CollisionTriangle','CollisionTime','CollisionSurface','Collisions','CollisionNZ',
+            'CollisionNY','CollisionNX','CollisionEntity','ClearWorld','ClearTextureFilters','ClearSurface','ClearCollisions','CaptureWorld','CameraZoom','CameraViewport',
+            'CameraRange','CameraProjMode','CameraProject','CameraPick','CameraFogRange','CameraFogMode','CameraFogColor','CameraClsMode','CameraClsColor','BSPLighting',
+            'BSPAmbientLight','BrushTexture','BrushShininess','BrushFX','BrushColor','BrushBlend','BrushAlpha','AntiAlias','AnimTime','AnimSeq',
+            'AnimLength','Animating','AnimateMD2','Animate','AmbientLight','AlignToVector','AddVertex','AddTriangle','AddMesh','AddAnimSeq',
+            )
+        ),
     'SYMBOLS' => array(
-      0 => 'color: #000066;'
-      ),
+        '(',')'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000066; font-weight: bold;',
+            2 => 'color: #0000ff;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #D9D100; font-style: italic;',
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000066;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #009900;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #CC0000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000066;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            0 => '',
+            1 => '',
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        1 => '\\'
+        ),
     'REGEXPS' => array(
-      ),
-    'SCRIPT' => array(
-      0 => '',
-      1 => '',
-      )
-    ),
-  'URLS' => array(
-		1 => ''
-  	),
-  'OOLANG' => false,
-  'OBJECT_SPLITTERS' => array(
-  	1 => '\\'
-	),
-  'REGEXPS' => array(
-  ),
-  'STRICT_MODE_APPLIES' => GESHI_NEVER,
-  'SCRIPT_DELIMITERS' => array(),
-  'HIGHLIGHT_STRICT_BLOCK' => array(
-    0 => false,
-    1 => false
-  )
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => false,
+        1 => false
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/bnf.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/bnf.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * --------
  * Author: Rowan Rodrik van der Molen (rowan@bigsmoke.us)
  * Copyright: (c) 2006 Rowan Rodrik van der Molen (http://www.bigsmoke.us/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2006/09/28
  *
  * BNF (Backus-Naur form) language file for GeSHi.
@@ -13,6 +13,9 @@
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *  -  Added description of extra language features (SF#1970248)
+ *  -  Removed superflicious regexps
  * 2006/09/18 (1.0.0)
  *  -  First Release
  *
@@ -49,7 +52,7 @@
     'ESCAPE_CHAR' => '',
     'KEYWORDS' => array(),
     'SYMBOLS' => array(
-        '<', '>', '::=', '|'
+        '(', ')', '<', '>', '::=', '|'
     ),
     'CASE_SENSITIVE' => array(
         //GESHI_COMMENTS => false
@@ -57,74 +60,51 @@
     'STYLES' => array(
         'KEYWORDS' => array(),
         'COMMENTS' => array(
-        ),
+            ),
         'ESCAPE_CHAR' => array(
             0 => ''
-        ),
+            ),
         'BRACKETS' => array(
             0 => ''
-        ),
+            ),
         'STRINGS' => array(
             0 => 'color: #a00;',
             1 => 'color: #a00;'
-        ),
+            ),
         'NUMBERS' => array(
             0 => ''
-        ),
+            ),
         'METHODS' => array(
             0 => ''
-        ),
+            ),
         'SYMBOLS' => array(
             0 => 'color: #000066; font-weight: bold;', // Unused
-        ),
+            ),
         'REGEXPS' => array(
             0 => 'color: #007;',
-            1 => 'color: #099;',
-            2 => 'color: #060;',
-            3 => 'color: #909;'
+            ),
+        'SCRIPT' => array(
+            0 => ''
+            )
         ),
-        'SCRIPT' => array(
-          0 => ''
-        )
-    ),
     'URLS' => array(),
     'OOLANG' => false,
     'OBJECT_SPLITTERS' => array(),
     'REGEXPS' => array(
+        //terminal symbols
         0 => array(
             GESHI_SEARCH => '(&lt;)([^&]+?)(&gt;)',
             GESHI_REPLACE => '\\2',
             GESHI_MODIFIERS => '',
             GESHI_BEFORE => '\\1',
             GESHI_AFTER => '\\3'
-        ),
-        1 => array(
-            GESHI_SEARCH => '(&lt;|&gt;)',
-            GESHI_REPLACE => '\\1',
-            GESHI_MODIFIERS => '',
-            GESHI_BEFORE => '',
-            GESHI_AFTER => ''
+            ),
         ),
-        2 => array(
-            GESHI_SEARCH => '(::=)',
-            GESHI_REPLACE => '\\1',
-            GESHI_MODIFIERS => '',
-            GESHI_BEFORE => '',
-            GESHI_AFTER => ''
-        ),
-        3 => array(
-            GESHI_SEARCH => '([()])',
-            GESHI_REPLACE => '\\1',
-            GESHI_MODIFIERS => '',
-            GESHI_BEFORE => '',
-            GESHI_AFTER => ''
-        ),
-    ),
     'STRICT_MODE_APPLIES' => GESHI_NEVER,
     'SCRIPT_DELIMITERS' => array(
-    ),
+        ),
     'HIGHLIGHT_STRICT_BLOCK' => array(
-    )
+        )
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/boo.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,217 @@
+<?php
+/*************************************************************************************
+ * boo.php
+ * --------
+ * Author: Marcus Griep (neoeinstein+GeSHi@gmail.com)
+ * Copyright: (c) 2007 Marcus Griep (http://www.xpdm.us)
+ * Release Version: 1.0.8.2
+ * Date Started: 2007/09/10
+ *
+ * Boo language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/09/10 (1.0.8)
+ *  -  First Release
+ *
+ * TODO (updated 2007/09/10)
+ * -------------------------
+ * Regular Expression Literal matching
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Boo',
+    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'''", "'", '"""', '"'),
+    'HARDQUOTE' => array('"""', '"""'),
+    'HARDESCAPE' => array('\"""'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(//Namespace
+            'namespace', 'import', 'from'
+            ),
+        2 => array(//Jump
+            'yield', 'return', 'goto', 'continue', 'break'
+            ),
+        3 => array(//Conditional
+            'while', 'unless', 'then', 'in', 'if', 'for', 'else', 'elif'
+            ),
+        4 => array(//Property
+            'set', 'get'
+            ),
+        5 => array(//Exception
+            'try', 'raise', 'failure', 'except', 'ensure'
+            ),
+        6 => array(//Visibility
+            'public', 'private', 'protected', 'internal'
+            ),
+        7 => array(//Define
+            'struct', 'ref', 'of', 'interface', 'event', 'enum', 'do', 'destructor', 'def', 'constructor', 'class'
+            ),
+        8 => array(//Cast
+            'typeof', 'cast', 'as'
+            ),
+        9 => array(//BiMacro
+            'yieldAll', 'using', 'unchecked', 'rawArayIndexing', 'print', 'normalArrayIndexing', 'lock',
+            'debug', 'checked', 'assert'
+            ),
+        10 => array(//BiAttr
+            'required', 'property', 'meta', 'getter', 'default'
+            ),
+        11 => array(//BiFunc
+            'zip', 'shellp', 'shellm', 'shell', 'reversed', 'range', 'prompt',
+            'matrix', 'map', 'len', 'join', 'iterator', 'gets', 'enumerate', 'cat', 'array'
+            ),
+        12 => array(//HiFunc
+            '__switch__', '__initobj__', '__eval__', '__addressof__', 'quack'
+            ),
+        13 => array(//Primitive
+            'void', 'ushort', 'ulong', 'uint', 'true', 'timespan', 'string', 'single',
+            'short', 'sbyte', 'regex', 'object', 'null', 'long', 'int', 'false', 'duck',
+            'double', 'decimal', 'date', 'char', 'callable', 'byte', 'bool'
+            ),
+        14 => array(//Operator
+            'not', 'or', 'and', 'is', 'isa',
+            ),
+        15 => array(//Modifier
+            'virtual', 'transient', 'static', 'partial', 'override', 'final', 'abstract'
+            ),
+        16 => array(//Access
+            'super', 'self'
+            ),
+        17 => array(//Pass
+            'pass'
+            )
+        ),
+    'SYMBOLS' => array(
+        '[|', '|]', '${', '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>', '+', '-', ';'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true,
+        6 => true,
+        7 => true,
+        8 => true,
+        9 => true,
+        10 => true,
+        11 => true,
+        12 => true,
+        13 => true,
+        14 => true,
+        15 => true,
+        16 => true,
+        17 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color:green;font-weight:bold;',
+            2 => 'color:navy;',
+            3 => 'color:blue;font-weight:bold;',
+            4 => 'color:#8B4513;',
+            5 => 'color:teal;font-weight:bold;',
+            6 => 'color:blue;font-weight:bold;',
+            7 => 'color:blue;font-weight:bold;',
+            8 => 'color:blue;font-weight:bold;',
+            9 => 'color:maroon;',
+            10 => 'color:maroon;',
+            11 => 'color:purple;',
+            12 => 'color:#4B0082;',
+            13 => 'color:purple;font-weight:bold;',
+            14 => 'color:#008B8B;font-weight:bold;',
+            15 => 'color:brown;',
+            16 => 'color:black;font-weight:bold;',
+            17 => 'color:gray;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #999999; font-style: italic;',
+            2 => 'color: #999999; font-style: italic;',
+            'MULTI' => 'color: #008000; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #0000FF; font-weight: bold;',
+            'HARD' => 'color: #0000FF; font-weight: bold;',
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #006400;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #008000;',
+            'HARD' => 'color: #008000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #00008B;'
+            ),
+        'METHODS' => array(
+            0 => 'color: 000000;',
+            1 => 'color: 000000;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #006400;'
+            ),
+        'REGEXPS' => array(
+            #0 => 'color: #0066ff;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => '',
+        7 => '',
+        8 => '',
+        9 => '',
+        10 => '',
+        11 => '',
+        12 => '',
+        13 => '',
+        14 => '',
+        15 => '',
+        16 => '',
+        17 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        0 => '.',
+        1 => '::'
+        ),
+    'REGEXPS' => array(
+        #0 => '%(@)?\/(?:(?(1)[^\/\\\\\r\n]+|[^\/\\\\\r\n \t]+)|\\\\[\/\\\\\w+()|.*?$^[\]{}\d])+\/%'
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- a/plugins/geshi/geshi/c.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/c.php	Fri May 29 19:30:59 2009 -0400
@@ -6,13 +6,15 @@
  * Contributors:
  *  - Jack Lloyd (lloyd@randombit.net)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/06/04
  *
  * C language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *   -  Added description of extra language features (SF#1970248)
  * 2004/XX/XX (1.0.4)
  *   -  Added a couple of new keywords (Jack Lloyd)
  * 2004/11/27 (1.0.3)
@@ -50,92 +52,128 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'C',
-	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'if', 'return', 'while', 'case', 'continue', 'default',
-			'do', 'else', 'for', 'switch', 'goto'
-			),
-		2 => array(
-			'null', 'false', 'break', 'true', 'function', 'enum', 'extern', 'inline'
-			),
-		3 => array(
-			'printf', 'cout'
-			),
-		4 => array(
-			'auto', 'char', 'const', 'double',  'float', 'int', 'long',
-			'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct',
-			'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t'
-			),
-		),
-	'SYMBOLS' => array(
-		'(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;',
-			2 => 'color: #000000; font-weight: bold;',
-			3 => 'color: #000066;',
-			4 => 'color: #993333;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			2 => 'color: #339933;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #202020;',
-			2 => 'color: #202020;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAME}.html',
-		4 => ''
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.',
-		2 => '::'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
+    'LANG_NAME' => 'C',
+    'COMMENT_SINGLE' => array(2 => '#'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    //Multiline-continued single-line comments
+    'COMMENT_REGEXP' => array(1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(
+        //Simple Single Char Escapes
+        1 => "#\\\\[abfnrtv\\'\"?\n]#i",
+        //Hexadecimal Char Specs
+        2 => "#\\\\x[\da-fA-F]{2}#",
+        //Hexadecimal Char Specs
+        3 => "#\\\\u[\da-fA-F]{4}#",
+        //Hexadecimal Char Specs
+        4 => "#\\\\U[\da-fA-F]{8}#",
+        //Octal Char Specs
+        5 => "#\\\\[0-7]{1,3}#"
+        ),
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
+        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
+        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
+    'KEYWORDS' => array(
+        1 => array(
+            'if', 'return', 'while', 'case', 'continue', 'default',
+            'do', 'else', 'for', 'switch', 'goto'
+            ),
+        2 => array(
+            'null', 'false', 'break', 'true', 'function', 'enum', 'extern', 'inline'
+            ),
+        3 => array(
+            'printf', 'cout'
+            ),
+        4 => array(
+            'auto', 'char', 'const', 'double',  'float', 'int', 'long',
+            'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct',
+            'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t'
+            ),
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']',
+        '+', '-', '*', '/', '%',
+        '=', '<', '>',
+        '!', '^', '&', '|',
+        '?', ':',
+        ';', ','
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #000066;',
+            4 => 'color: #993333;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            2 => 'color: #339933;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            1 => 'color: #000099; font-weight: bold;',
+            2 => 'color: #660099; font-weight: bold;',
+            3 => 'color: #660099; font-weight: bold;',
+            4 => 'color: #660099; font-weight: bold;',
+            5 => 'color: #006699; font-weight: bold;',
+            'HARD' => '',
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #0000dd;',
+            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
+            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
+            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
+            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
+            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #202020;',
+            2 => 'color: #202020;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.',
+        2 => '::'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
         ),
     'TAB_WIDTH' => 4
 );
--- a/plugins/geshi/geshi/c_mac.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/c_mac.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * ---------
  * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net)
  * Copyright: (c) 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/06/04
  *
  * C for Macs language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *   -  Added description of extra language features (SF#1970248)
  * 2004/11/27
  *   -  First Release
  *
@@ -38,136 +40,167 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'C (Mac)',
-	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'if', 'return', 'while', 'case', 'continue', 'default',
-			'do', 'else', 'for', 'switch', 'goto'
-			),
-		2 => array(
-			'NULL', 'false', 'break', 'true', 'enum', 'errno', 'EDOM',
-			'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
-			'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
-			'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
-			'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
-			'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
-			'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
-			'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
-			'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
-			'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam', 'NULL',
-			'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
-			'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
-			// Mac-specific constants:
-			'kCFAllocatorDefault'
-			),
-		3 => array(
-			'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
-			'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
-			'ispunct', 'isspace', 'ispunct', 'isupper', 'isxdigit', 'tolower', 'toupper',
-			'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
-			'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
-			'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp', 'asin', 'acos', 'atan', 'atan2',
-			'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
-			'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
-			'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
-			'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
-			'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
-			'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
-			'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
-			'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
-			'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
-			'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
-			'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
-			'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
-			'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
-			),
-		4 => array(
-			'auto', 'char', 'const', 'double',  'float', 'int', 'long',
-			'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct',
-			'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
-			'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
-			'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
-			// Mac-specific types:
-			'CFArrayRef', 'CFDictionaryRef', 'CFMutableDictionaryRef', 'CFBundleRef', 'CFSetRef', 'CFStringRef',
-			'CFURLRef', 'CFLocaleRef', 'CFDateFormatterRef', 'CFNumberFormatterRef', 'CFPropertyListRef',
-			'CFTreeRef', 'CFWriteStreamRef', 'CFCharacterSetRef', 'CFMutableStringRef', 'CFNotificationRef',
-			'CFNotificationRef', 'CFReadStreamRef', 'CFNull', 'CFAllocatorRef', 'CFBagRef', 'CFBinaryHeapRef',
-			'CFBitVectorRef', 'CFBooleanRef', 'CFDataRef', 'CFDateRef', 'CFMachPortRef', 'CFMessagePortRef',
-			'CFMutableArrayRef', 'CFMutableBagRef', 'CFMutableBitVectorRef', 'CFMutableCharacterSetRef',
-			'CFMutableDataRef', 'CFMutableSetRef', 'CFNumberRef', 'CFPlugInRef', 'CFPlugInInstanceRef',
-			'CFRunLoopRef', 'CFRunLoopObserverRef', 'CFRunLoopSourceRef', 'CFRunLoopTimerRef', 'CFSocketRef',
-			'CFTimeZoneRef', 'CFTypeRef', 'CFUserNotificationRef', 'CFUUIDRef', 'CFXMLNodeRef', 'CFXMLParserRef',
-			'CFXMLTreeRef'
-			),
-		),
-	'SYMBOLS' => array(
-		'(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #0000ff;',
-			2 => 'color: #0000ff;',
-			3 => 'color: #0000dd;',
-			4 => 'color: #0000ff;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #ff0000;',
-			2 => 'color: #339900;',
-			'MULTI' => 'color: #ff0000; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #666666; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #000000;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #666666;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #0000dd;'
-			),
-		'METHODS' => array(
-			1 => 'color: #00eeff;',
-			2 => 'color: #00eeff;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #000000;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAME}.html',
-		4 => ''
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.',
-		2 => '::'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
+    'LANG_NAME' => 'C (Mac)',
+    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    //Multiline-continued single-line comments
+    'COMMENT_REGEXP' => array(1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(
+        //Simple Single Char Escapes
+        1 => "#\\\\[abfnrtv\\'\"?\n]#i",
+        //Hexadecimal Char Specs
+        2 => "#\\\\x[\da-fA-F]{2}#",
+        //Hexadecimal Char Specs
+        3 => "#\\\\u[\da-fA-F]{4}#",
+        //Hexadecimal Char Specs
+        4 => "#\\\\U[\da-fA-F]{8}#",
+        //Octal Char Specs
+        5 => "#\\\\[0-7]{1,3}#"
+        ),
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
+        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
+        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
+    'KEYWORDS' => array(
+        1 => array(
+            'if', 'return', 'while', 'case', 'continue', 'default',
+            'do', 'else', 'for', 'switch', 'goto'
+            ),
+        2 => array(
+            'NULL', 'false', 'break', 'true', 'enum', 'errno', 'EDOM',
+            'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
+            'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
+            'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
+            'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
+            'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
+            'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
+            'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
+            'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
+            'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam',
+            'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
+            'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
+            // Mac-specific constants:
+            'kCFAllocatorDefault'
+            ),
+        3 => array(
+            'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
+            'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
+            'ispunct', 'isspace', 'isupper', 'isxdigit', 'tolower', 'toupper',
+            'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
+            'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
+            'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp',
+            'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
+            'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
+            'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
+            'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
+            'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
+            'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
+            'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
+            'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
+            'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
+            'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
+            'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
+            'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
+            'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
+            ),
+        4 => array(
+            'auto', 'char', 'const', 'double',  'float', 'int', 'long',
+            'register', 'short', 'signed', 'static', 'string', 'struct',
+            'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
+            'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
+            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
+            // Mac-specific types:
+            'CFArrayRef', 'CFDictionaryRef', 'CFMutableDictionaryRef', 'CFBundleRef', 'CFSetRef', 'CFStringRef',
+            'CFURLRef', 'CFLocaleRef', 'CFDateFormatterRef', 'CFNumberFormatterRef', 'CFPropertyListRef',
+            'CFTreeRef', 'CFWriteStreamRef', 'CFCharacterSetRef', 'CFMutableStringRef', 'CFNotificationRef',
+            'CFReadStreamRef', 'CFNull', 'CFAllocatorRef', 'CFBagRef', 'CFBinaryHeapRef',
+            'CFBitVectorRef', 'CFBooleanRef', 'CFDataRef', 'CFDateRef', 'CFMachPortRef', 'CFMessagePortRef',
+            'CFMutableArrayRef', 'CFMutableBagRef', 'CFMutableBitVectorRef', 'CFMutableCharacterSetRef',
+            'CFMutableDataRef', 'CFMutableSetRef', 'CFNumberRef', 'CFPlugInRef', 'CFPlugInInstanceRef',
+            'CFRunLoopRef', 'CFRunLoopObserverRef', 'CFRunLoopSourceRef', 'CFRunLoopTimerRef', 'CFSocketRef',
+            'CFTimeZoneRef', 'CFTypeRef', 'CFUserNotificationRef', 'CFUUIDRef', 'CFXMLNodeRef', 'CFXMLParserRef',
+            'CFXMLTreeRef'
+            ),
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000ff;',
+            2 => 'color: #0000ff;',
+            3 => 'color: #0000dd;',
+            4 => 'color: #0000ff;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #ff0000;',
+            2 => 'color: #339900;',
+            'MULTI' => 'color: #ff0000; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            1 => 'color: #000099; font-weight: bold;',
+            2 => 'color: #660099; font-weight: bold;',
+            3 => 'color: #660099; font-weight: bold;',
+            4 => 'color: #660099; font-weight: bold;',
+            5 => 'color: #006699; font-weight: bold;',
+            'HARD' => '',
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #666666;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #0000dd;',
+            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
+            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
+            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
+            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
+            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #00eeff;',
+            2 => 'color: #00eeff;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000000;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.',
+        2 => '::'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
         ),
     'TAB_WIDTH' => 4
 );
--- a/plugins/geshi/geshi/caddcl.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/caddcl.php	Fri May 29 19:30:59 2009 -0400
@@ -4,10 +4,10 @@
  * ----------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/08/30
  *
- * CAD DCL (Dialog Control Language) file for GeSHi.
+ * CAD DCL (Dialog Control Language) language file for GeSHi.
  *
  * DCL for AutoCAD 12 or later and IntelliCAD all versions.
  *
@@ -42,84 +42,85 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'CAD DCL',
-	'COMMENT_SINGLE' => array(1 => '//'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'boxed_column','boxed_radio_column','boxed_radio_row','boxed_row',
-			'column','concatenation','button','dialog','edit_box','image','image_button',
-			'errtile','list_box','ok_cancel','ok_cancel_help','ok_cancel_help_errtile',
-			'ok_cancel_help_info','ok_only','paragraph','popup_list','radio_button',
-			'radio_column','radio_row','row','slider','spacer','spacer_0','spacer_1','text',
-			'text_part','toggle',
-			'action','alignment','allow_accept','aspect_ratio','big_increment',
-			'children_alignment','children_fixed_height',
-			'children_fixed_width','color',
-			'edit_limit','edit_width','fixed_height','fixed_width',
-			'height','initial_focus','is_cancel','is_default',
-			'is_enabled','is_tab_stop','is-bold','key','label','layout','list',
-			'max_value','min_value','mnemonic','multiple_select','password_char',
-			'small_increment','tabs','tab_truncate','value','width',
-			'false','true','left','right','centered','top','bottom',
-			'dialog_line','dialog_foreground','dialog_background',
-			'graphics_background','black','red','yellow','green','cyan',
-			'blue','magenta','whitegraphics_foreground',
-			'horizontal','vertical'
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'CAD DCL',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'boxed_column','boxed_radio_column','boxed_radio_row','boxed_row',
+            'column','concatenation','button','dialog','edit_box','image','image_button',
+            'errtile','list_box','ok_cancel','ok_cancel_help','ok_cancel_help_errtile',
+            'ok_cancel_help_info','ok_only','paragraph','popup_list','radio_button',
+            'radio_column','radio_row','row','slider','spacer','spacer_0','spacer_1','text',
+            'text_part','toggle',
+            'action','alignment','allow_accept','aspect_ratio','big_increment',
+            'children_alignment','children_fixed_height',
+            'children_fixed_width','color',
+            'edit_limit','edit_width','fixed_height','fixed_width',
+            'height','initial_focus','is_cancel','is_default',
+            'is_enabled','is_tab_stop','is-bold','key','label','layout','list',
+            'max_value','min_value','mnemonic','multiple_select','password_char',
+            'small_increment','tabs','tab_truncate','value','width',
+            'false','true','left','right','centered','top','bottom',
+            'dialog_line','dialog_foreground','dialog_background',
+            'graphics_background','black','red','yellow','green','cyan',
+            'blue','magenta','whitegraphics_foreground',
+            'horizontal','vertical'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/cadlisp.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/cadlisp.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * -----------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/blog)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/08/30
  *
  * AutoCAD/IntelliCAD Lisp language file for GeSHi.
@@ -42,144 +42,145 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'CAD Lisp',
-	'COMMENT_SINGLE' => array(1 => ";"),
-	'COMMENT_MULTI' => array(";|" => "|;"),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'abs','acad_colordlg','acad_helpdlg','acad_strlsort','action_tile',
-			'add_list','alert','alloc','and','angle','angtof','angtos','append','apply',
-			'arx','arxload','arxunload','ascii','assoc','atan','atof','atoi','atom',
-			'atoms-family','autoarxload','autoload','Boole','boundp','caddr',
-			'cadr','car','cdr','chr','client_data_tile','close','command','cond',
-			'cons','cos','cvunit','defun','defun-q','defun-q-list-ref',
-			'defun-q-list-set','dictadd','dictnext','dictremove','dictrename',
-			'dictsearch','dimx_tile','dimy_tile','distance','distof','done_dialog',
-			'end_image','end_list','entdel','entget','entlast','entmake',
-			'entmakex','entmod','entnext','entsel','entupd','eq','equal','eval','exit',
-			'exp','expand','expt','fill_image','findfile','fix','float','foreach','function',
-			'gc','gcd','get_attr','get_tile','getangle','getcfg','getcname','getcorner',
-			'getdist','getenv','getfiled','getint','getkword','getorient','getpoint',
-			'getreal','getstring','getvar','graphscr','grclear','grdraw','grread','grtext',
-			'grvecs','handent','help','if','initdia','initget','inters','itoa','lambda','last',
-			'layoutlist','length','list','listp','load','load_dialog','log','logand','logior',
-			'lsh','mapcar','max','mem','member','menucmd','menugroup','min','minusp','mode_tile',
-			'namedobjdict','nentsel','nentselp','new_dialog','nil','not','nth','null',
-			'numberp','open','or','osnap','polar','prin1','princ','print','progn','prompt',
-			'quit','quote','read','read-char','read-line','redraw','regapp','rem','repeat',
-			'reverse','rtos','set','set_tile','setcfg','setenv','setfunhelp','setq','setvar',
-			'setview','sin','slide_image','snvalid','sqrt','ssadd','ssdel','ssget','ssgetfirst',
-			'sslength','ssmemb','ssname','ssnamex','sssetfirst','start_dialog','start_image',
-			'start_list','startapp','strcase','strcat','strlen','subst','substr','t','tablet',
-			'tblnext','tblobjname','tblsearch','term_dialog','terpri','textbox','textpage',
-			'textscr','trace','trans','type','unload_dialog','untrace','vector_image','ver',
-			'vports','wcmatch','while','write-char','write-line','xdroom','xdsize','zerop',
-			'vl-acad-defun','vl-acad-undefun','vl-arx-import','vlax-3D-point',
-			'vlax-add-cmd','vlax-create-object','vlax-curve-getArea',
-			'vlax-curve-getClosestPointTo','vlax-curve-getClosestPointToProjection',
-			'vlax-curve-getDistAtParam','vlax-curve-getDistAtPoint',
-			'vlax-curve-getEndParam','vlax-curve-getEndPoint',
-			'vlax-curve-getFirstDeriv','vlax-curve-getParamAtDist',
-			'vlax-curve-getParamAtPoint','vlax-curve-getPointAtDist',
-			'vlax-curve-getPointAtParam','vlax-curve-getSecondDeriv',
-			'vlax-curve-getStartParam','vlax-curve-getStartPoint',
-			'vlax-curve-isClosed','vlax-curve-isPeriodic','vlax-curve-isPlanar',
-			'vlax-dump-object','vlax-erased-p','vlax-for','vlax-get-acad-object',
-			'vlax-get-object','vlax-get-or-create-object','vlax-get-property',
-			'vlax-import-type-library','vlax-invoke-method','vlax-ldata-delete',
-			'vlax-ldata-get','vlax-ldata-list','vlax-ldata-put','vlax-ldata-test',
-			'vlax-make-safearray','vlax-make-variant','vlax-map-collection',
-			'vlax-method-applicable-p','vlax-object-released-p','vlax-product-key',
-			'vlax-property-available-p','vlax-put-property','vlax-read-enabled-p',
-			'vlax-release-object','vlax-remove-cmd','vlax-safearray-fill',
-			'vlax-safearray-get-dim','vlax-safearray-get-element',
-			'vlax-safearray-get-l-bound','vlax-safearray-get-u-bound',
-			'vlax-safearray-put-element','vlax-safearray-type','vlax-tmatrix',
-			'vlax-typeinfo-available-p','vlax-variant-change-type',
-			'vlax-variant-type','vlax-variant-value','vlax-write-enabled-p',
-			'vl-bb-ref','vl-bb-set','vl-catch-all-apply','vl-catch-all-error-message',
-			'vl-catch-all-error-p','vl-cmdf','vl-consp','vl-directory-files','vl-doc-export',
-			'vl-doc-import','vl-doc-ref','vl-doc-set','vl-every','vl-exit-with-error',
-			'vl-exit-with-value','vl-file-copy','vl-file-delete','vl-file-directory-p',
-			'vl-filename-base','vl-filename-directory','vl-filename-extension',
-			'vl-filename-mktemp','vl-file-rename','vl-file-size','vl-file-systime',
-			'vl-get-resource','vlisp-compile','vl-list-exported-functions',
-			'vl-list-length','vl-list-loaded-vlx','vl-load-all','vl-load-com',
-			'vl-load-reactors','vl-member-if','vl-member-if-not','vl-position',
-			'vl-prin1-to-string','vl-princ-to-string','vl-propagate','vlr-acdb-reactor',
-			'vlr-add','vlr-added-p','vlr-beep-reaction','vlr-command-reactor',
-			'vlr-current-reaction-name','vlr-data','vlr-data-set',
-			'vlr-deepclone-reactor','vlr-docmanager-reactor','vlr-dwg-reactor',
-			'vlr-dxf-reactor','vlr-editor-reactor','vl-registry-delete',
-			'vl-registry-descendents','vl-registry-read','vl-registry-write',
-			'vl-remove','vl-remove-if','vl-remove-if-not','vlr-insert-reactor',
-			'vlr-linker-reactor','vlr-lisp-reactor','vlr-miscellaneous-reactor',
-			'vlr-mouse-reactor','vlr-notification','vlr-object-reactor',
-			'vlr-owner-add','vlr-owner-remove','vlr-owners','vlr-pers','vlr-pers-list',
-			'vlr-pers-p','vlr-pers-release','vlr-reaction-names','vlr-reactions',
-			'vlr-reaction-set','vlr-reactors','vlr-remove','vlr-remove-all',
-			'vlr-set-notification','vlr-sysvar-reactor','vlr-toolbar-reactor',
-			'vlr-trace-reaction','vlr-type','vlr-types','vlr-undo-reactor',
-			'vlr-wblock-reactor','vlr-window-reactor','vlr-xref-reactor',
-			'vl-some','vl-sort','vl-sort-i','vl-string-elt','vl-string-left-trim',
-			'vl-string-mismatch','vl-string-position','vl-string-right-trim',
-			'vl-string-search','vl-string-subst','vl-string-translate','vl-string-trim',
-			'vl-symbol-name','vl-symbolp','vl-symbol-value','vl-unload-vlx','vl-vbaload',
-			'vl-vbarun','vl-vlx-loaded-p'
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')', '{', '}', '[', ']', '!', '%', '^', '&', '/','+','-','*','=','<','>'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'CAD Lisp',
+    'COMMENT_SINGLE' => array(1 => ";"),
+    'COMMENT_MULTI' => array(";|" => "|;"),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'abs','acad_colordlg','acad_helpdlg','acad_strlsort','action_tile',
+            'add_list','alert','alloc','and','angle','angtof','angtos','append','apply',
+            'arx','arxload','arxunload','ascii','assoc','atan','atof','atoi','atom',
+            'atoms-family','autoarxload','autoload','Boole','boundp','caddr',
+            'cadr','car','cdr','chr','client_data_tile','close','command','cond',
+            'cons','cos','cvunit','defun','defun-q','defun-q-list-ref',
+            'defun-q-list-set','dictadd','dictnext','dictremove','dictrename',
+            'dictsearch','dimx_tile','dimy_tile','distance','distof','done_dialog',
+            'end_image','end_list','entdel','entget','entlast','entmake',
+            'entmakex','entmod','entnext','entsel','entupd','eq','equal','eval','exit',
+            'exp','expand','expt','fill_image','findfile','fix','float','foreach','function',
+            'gc','gcd','get_attr','get_tile','getangle','getcfg','getcname','getcorner',
+            'getdist','getenv','getfiled','getint','getkword','getorient','getpoint',
+            'getreal','getstring','getvar','graphscr','grclear','grdraw','grread','grtext',
+            'grvecs','handent','help','if','initdia','initget','inters','itoa','lambda','last',
+            'layoutlist','length','list','listp','load','load_dialog','log','logand','logior',
+            'lsh','mapcar','max','mem','member','menucmd','menugroup','min','minusp','mode_tile',
+            'namedobjdict','nentsel','nentselp','new_dialog','nil','not','nth','null',
+            'numberp','open','or','osnap','polar','prin1','princ','print','progn','prompt',
+            'quit','quote','read','read-char','read-line','redraw','regapp','rem','repeat',
+            'reverse','rtos','set','set_tile','setcfg','setenv','setfunhelp','setq','setvar',
+            'setview','sin','slide_image','snvalid','sqrt','ssadd','ssdel','ssget','ssgetfirst',
+            'sslength','ssmemb','ssname','ssnamex','sssetfirst','start_dialog','start_image',
+            'start_list','startapp','strcase','strcat','strlen','subst','substr','t','tablet',
+            'tblnext','tblobjname','tblsearch','term_dialog','terpri','textbox','textpage',
+            'textscr','trace','trans','type','unload_dialog','untrace','vector_image','ver',
+            'vports','wcmatch','while','write-char','write-line','xdroom','xdsize','zerop',
+            'vl-acad-defun','vl-acad-undefun','vl-arx-import','vlax-3D-point',
+            'vlax-add-cmd','vlax-create-object','vlax-curve-getArea',
+            'vlax-curve-getClosestPointTo','vlax-curve-getClosestPointToProjection',
+            'vlax-curve-getDistAtParam','vlax-curve-getDistAtPoint',
+            'vlax-curve-getEndParam','vlax-curve-getEndPoint',
+            'vlax-curve-getFirstDeriv','vlax-curve-getParamAtDist',
+            'vlax-curve-getParamAtPoint','vlax-curve-getPointAtDist',
+            'vlax-curve-getPointAtParam','vlax-curve-getSecondDeriv',
+            'vlax-curve-getStartParam','vlax-curve-getStartPoint',
+            'vlax-curve-isClosed','vlax-curve-isPeriodic','vlax-curve-isPlanar',
+            'vlax-dump-object','vlax-erased-p','vlax-for','vlax-get-acad-object',
+            'vlax-get-object','vlax-get-or-create-object','vlax-get-property',
+            'vlax-import-type-library','vlax-invoke-method','vlax-ldata-delete',
+            'vlax-ldata-get','vlax-ldata-list','vlax-ldata-put','vlax-ldata-test',
+            'vlax-make-safearray','vlax-make-variant','vlax-map-collection',
+            'vlax-method-applicable-p','vlax-object-released-p','vlax-product-key',
+            'vlax-property-available-p','vlax-put-property','vlax-read-enabled-p',
+            'vlax-release-object','vlax-remove-cmd','vlax-safearray-fill',
+            'vlax-safearray-get-dim','vlax-safearray-get-element',
+            'vlax-safearray-get-l-bound','vlax-safearray-get-u-bound',
+            'vlax-safearray-put-element','vlax-safearray-type','vlax-tmatrix',
+            'vlax-typeinfo-available-p','vlax-variant-change-type',
+            'vlax-variant-type','vlax-variant-value','vlax-write-enabled-p',
+            'vl-bb-ref','vl-bb-set','vl-catch-all-apply','vl-catch-all-error-message',
+            'vl-catch-all-error-p','vl-cmdf','vl-consp','vl-directory-files','vl-doc-export',
+            'vl-doc-import','vl-doc-ref','vl-doc-set','vl-every','vl-exit-with-error',
+            'vl-exit-with-value','vl-file-copy','vl-file-delete','vl-file-directory-p',
+            'vl-filename-base','vl-filename-directory','vl-filename-extension',
+            'vl-filename-mktemp','vl-file-rename','vl-file-size','vl-file-systime',
+            'vl-get-resource','vlisp-compile','vl-list-exported-functions',
+            'vl-list-length','vl-list-loaded-vlx','vl-load-all','vl-load-com',
+            'vl-load-reactors','vl-member-if','vl-member-if-not','vl-position',
+            'vl-prin1-to-string','vl-princ-to-string','vl-propagate','vlr-acdb-reactor',
+            'vlr-add','vlr-added-p','vlr-beep-reaction','vlr-command-reactor',
+            'vlr-current-reaction-name','vlr-data','vlr-data-set',
+            'vlr-deepclone-reactor','vlr-docmanager-reactor','vlr-dwg-reactor',
+            'vlr-dxf-reactor','vlr-editor-reactor','vl-registry-delete',
+            'vl-registry-descendents','vl-registry-read','vl-registry-write',
+            'vl-remove','vl-remove-if','vl-remove-if-not','vlr-insert-reactor',
+            'vlr-linker-reactor','vlr-lisp-reactor','vlr-miscellaneous-reactor',
+            'vlr-mouse-reactor','vlr-notification','vlr-object-reactor',
+            'vlr-owner-add','vlr-owner-remove','vlr-owners','vlr-pers','vlr-pers-list',
+            'vlr-pers-p','vlr-pers-release','vlr-reaction-names','vlr-reactions',
+            'vlr-reaction-set','vlr-reactors','vlr-remove','vlr-remove-all',
+            'vlr-set-notification','vlr-sysvar-reactor','vlr-toolbar-reactor',
+            'vlr-trace-reaction','vlr-type','vlr-types','vlr-undo-reactor',
+            'vlr-wblock-reactor','vlr-window-reactor','vlr-xref-reactor',
+            'vl-some','vl-sort','vl-sort-i','vl-string-elt','vl-string-left-trim',
+            'vl-string-mismatch','vl-string-position','vl-string-right-trim',
+            'vl-string-search','vl-string-subst','vl-string-translate','vl-string-trim',
+            'vl-symbol-name','vl-symbolp','vl-symbol-value','vl-unload-vlx','vl-vbaload',
+            'vl-vbarun','vl-vlx-loaded-p'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']', '!', '%', '^', '&', '/','+','-','*','=','<','>'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/cfdg.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/cfdg.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * --------
  * Author: John Horigan <john@glyphic.com>
  * Copyright: (c) 2006 John Horigan http://www.ozonehouse.com/john/
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2006/03/11
  *
  * CFDG language file for GeSHi.
@@ -38,88 +38,87 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'CFDG',
-	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		1 => array(
-			'include', 'startshape', 'rule', 'background'
-			),
-		2 => array(
-			'SQUARE', 'CIRCLE', 'TRIANGLE',
-			),
-		3 => array(
-			'b','brightness','h','hue','sat','saturation',
-			'a','alpha','x','y','z','s','size',
-			'r','rotate','f','flip','skew','xml_set_object'
-			)
-		),
-	'SYMBOLS' => array(
-		'[', ']', '{', '}', '*', '|'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false,
-		2 => false,
-		3 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #717100;',
-			2 => 'color: #000000; font-weight: bold;',
-			3 => 'color: #006666;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			2 => 'color: #808080; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #006600;',
-			2 => 'color: #006600;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			0 => '',
-			1 => '',
-			2 => '',
-			3 => ''
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => '',
-		4 => ''
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => '',
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'CFDG',
+    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'include', 'startshape', 'rule', 'background'
+            ),
+        2 => array(
+            'SQUARE', 'CIRCLE', 'TRIANGLE',
+            ),
+        3 => array(
+            'b','brightness','h','hue','sat','saturation',
+            'a','alpha','x','y','z','s','size',
+            'r','rotate','f','flip','skew','xml_set_object'
+            )
+        ),
+    'SYMBOLS' => array(
+        '[', ']', '{', '}', '*', '|'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #717100;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #006666;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            2 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;',
+            2 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            0 => '',
+            1 => '',
+            2 => '',
+            3 => ''
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/cfm.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/cfm.php	Fri May 29 19:30:59 2009 -0400
@@ -2,9 +2,9 @@
 /*************************************************************************************
  * cfm.php
  * -------
- * Author: Diego ()
+ * Author: Diego
  * Copyright: (c) 2006 Diego
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2006/02/25
  *
  * ColdFusion language file for GeSHi.
@@ -38,288 +38,262 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'ColdFusion',
-	'COMMENT_SINGLE' => array(1 => '//'),
-    'COMMENT_MULTI' => array('<!--' => '-->','&lt;!---' => '---&gt;', '/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		/* CFM Tags */
-		1 => array(
-			'&lt;cfabort', '&lt;cfapplet', '&lt;cfapplication', '&lt;cfargument', '&lt;cfassociate', '&lt;&lt;cfbreak&gt;', 
-			'&lt;cfcache', '&lt;cfcase', '&lt;cfcatch', '&lt;/cfcatch&gt;', '&lt;cfchart', '&lt;/cfchart&gt;', '&lt;cfchartdata', 
-			'&lt;cfchartseries', '&lt;/cfchartseries&gt;', '&lt;cfcol', '&lt;cfcollection', '&lt;cfcomponent', '&lt;/cfcomponent&gt;', 
-			'&lt;cfcontent', '&lt;cfcookie', '&lt;/cfdefaultcase&gt;', '&lt;cfdirectory', '&lt;cfdocument', '&lt;/cfdocument&gt;', 
-			'&lt;cfdocumentitem', '&lt;/cfdocumentitem&gt;', '&lt;cfdocumentsection', '&lt;/cfdocumentsection&gt;', '&lt;cfdump', 
-			'&lt;cfelse', '&lt;cfelseif', '&lt;cferror', '&lt;cfexecute', '&lt;/cfexecute&gt;', '&lt;cfexit', '&lt;cffile', 
-			'&lt;cfflush', '&lt;cfform', '&lt;/cfform&gt;', '&lt;cfformgroup', '&lt;/cfformgroup', '&lt;cfformitem', 
-			'&lt;/cfformitem&gt;', '&lt;cfftp', '&lt;cffunction', '&lt;/cffunction&gt;', '&lt;cfgrid', '&lt;/cfgrid&gt;', 
-			'&lt;cfgridcolumn', '&lt;cfgridrow', '&lt;cfgridupdate', '&lt;cfheader', '&lt;cfhtmlhead', '&lt;cfhttp', 
-			'&lt;/cfhttp&gt;', '&lt;cfhttpparam', '&lt;cfif', '&lt;/cfif&gt;', '&lt;cfimport', '&lt;cfinclude', '&lt;cfindex', 
-			'&lt;cfinput', '&lt;cfinsert', '&lt;cfinvoke', '&lt;cfinvokeargument', '&lt;cfldap', '&lt;cflocation', '&lt;cflock', 
-			'&lt;/cflock&gt;', '&lt;cflog', '&lt;cflogin', '&lt;/cflogin&gt;', '&lt;cfloginuser', '&lt;cflogout', '&lt;cfloop', 
-			'&lt;/cfloop&gt;', '&lt;cfmail', '&lt;/cfmail&gt;', '&lt;cfmailparam', '&lt;cfmailpart', '&lt;/cfmailpart&gt;', 
-			'&lt;cfmodule', '&lt;cfNTauthenticate', '&lt;cfobject', '&lt;cfobjectcache', '&lt;cfoutput&gt;', '&lt;cfoutput', '&lt;/cfoutput&gt;', 
-			'&lt;cfparam', '&lt;cfpop', '&lt;cfprocessingdirective', '&lt;/cfprocessingdirective&gt;', '&lt;cfprocparam', 
-			'&lt;cfprocresult', '&lt;cfproperty', '&lt;cfquery', '&lt;/cfquery&gt;', '&lt;cfqueryparam', '&lt;cfregistry', 
-			'&lt;/cfregistry&gt;', '&lt;cfreport', '&lt;/cfreport&gt;', '&lt;cfreportparam', '&lt;/cfreportparam&gt;', 
-			'&lt;cfrethrow', '&lt;cfreturn', '&lt;cfsavecontent', '&lt;/cfsavecontent&gt;', '&lt;cfschedule', '&lt;cfscript', '&lt;cfscript&gt;',
-			'&lt;/cfscript&gt;', '&lt;cfsearch', '&lt;cfselect', '&lt;/cfselect&gt;', '&lt;cfset', '&lt;cfsetting', '&lt;cfsilent', 
-			'&lt;/cfsilent&gt;', '&lt;cfstoredproc', '&lt;/cfstoredproc&gt;', '&lt;cfswitch', '&lt;/cfswitch&gt;', '&lt;cftable', 
-			'&lt;/cftable&gt;', '&lt;cftextarea', '&lt;/cftextarea&gt;', '&lt;cfthrow', '&lt;cftimer', '&lt;/cftimer&gt;', 
-			'&lt;cftrace', '&lt;/cftrace&gt;', '&lt;cftransaction', '&lt;/cftransaction&gt;', '&lt;cftree', '&lt;/cftree&gt;', 
-			'&lt;cftreeitem', '&lt;cftry', '&lt;/cftry&gt;', '&lt;cfupdate', '&lt;cfwddx','&lt;','&gt;'
-			),
-		/* HTML Tags */
-		2 => array(
-			'&lt;a&gt;', '&lt;abbr&gt;', '&lt;acronym&gt;', '&lt;address&gt;', '&lt;applet&gt;',
-			'&lt;a', '&lt;abbr', '&lt;acronym', '&lt;address', '&lt;applet',
-			'&lt;/a&gt;', '&lt;/abbr&gt;', '&lt;/acronym&gt;', '&lt;/address&gt;', '&lt;/applet&gt;',
-			'&lt;/a', '&lt;/abbr', '&lt;/acronym', '&lt;/address', '&lt;/applet',
-
-			'&lt;base&gt;', '&lt;basefont&gt;', '&lt;bdo&gt;', '&lt;big&gt;', '&lt;blockquote&gt;', '&lt;body&gt;', '&lt;br&gt;', '&lt;button&gt;', '&lt;b&gt;',
-			'&lt;base', '&lt;basefont', '&lt;bdo', '&lt;big', '&lt;blockquote', '&lt;body', '&lt;br', '&lt;button', '&lt;b',
-			'&lt;/base&gt;', '&lt;/basefont&gt;', '&lt;/bdo&gt;', '&lt;/big&gt;', '&lt;/blockquote&gt;', '&lt;/body&gt;', '&lt;/br&gt;', '&lt;/button&gt;', '&lt;/b&gt;',
-			'&lt;/base', '&lt;/basefont', '&lt;/bdo', '&lt;/big', '&lt;/blockquote', '&lt;/body', '&lt;/br','&lt;br /&gt;', '&lt;/button', '&lt;/b',
-
-			'&lt;caption&gt;', '&lt;center&gt;', '&lt;cite&gt;', '&lt;code&gt;', '&lt;colgroup&gt;', '&lt;col&gt;',
-			'&lt;caption', '&lt;center', '&lt;cite', '&lt;code', '&lt;colgroup', '&lt;col',
-			'&lt;/caption&gt;', '&lt;/center&gt;', '&lt;/cite&gt;', '&lt;/code&gt;', '&lt;/colgroup&gt;', '&lt;/col&gt;',
-			'&lt;/caption', '&lt;/center', '&lt;/cite', '&lt;/code', '&lt;/colgroup', '&lt;/col',
-
-			'&lt;dd&gt;', '&lt;del&gt;', '&lt;dfn&gt;', '&lt;dir&gt;', '&lt;div&gt;', '&lt;dl&gt;', '&lt;dt&gt;',
-			'&lt;dd', '&lt;del', '&lt;dfn', '&lt;dir', '&lt;div', '&lt;dl', '&lt;dt',
-			'&lt;/dd&gt;', '&lt;/del&gt;', '&lt;/dfn&gt;', '&lt;/dir&gt;', '&lt;/div&gt;', '&lt;/dl&gt;', '&lt;/dt&gt;',
-			'&lt;/dd', '&lt;/del', '&lt;/dfn', '&lt;/dir', '&lt;/div', '&lt;/dl', '&lt;/dt',
-
-			'&lt;em&gt;',
-			'&lt;em',
-			'&lt;/em&gt;',
-			'&lt;/em',
-
-			'&lt;fieldset&gt;', '&lt;font&gt;', '&lt;form&gt;', '&lt;frame&gt;', '&lt;frameset&gt;',
-			'&lt;fieldset', '&lt;font', '&lt;form', '&lt;frame', '&lt;frameset',
-			'&lt;/fieldset&gt;', '&lt;/font&gt;', '&lt;/form&gt;', '&lt;/frame&gt;', '&lt;/frameset&gt;',
-			'&lt;/fieldset', '&lt;/font', '&lt;/form', '&lt;/frame', '&lt;/frameset',
+    'LANG_NAME' => 'ColdFusion',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        /* CFM Tags */
+        1 => array(
+            'cfabort', 'cfapplet', 'cfapplication', 'cfargument', 'cfassociate',
+            'cfbreak', 'cfcache', 'cfcase', 'cfcatch', 'cfchart', 'cfchartdata',
+            'cfchartseries', 'cfcol', 'cfcollection', 'cfcomponent',
+            'cfcontent', 'cfcookie', 'cfdefaultcase', 'cfdirectory',
+            'cfdocument', 'cfdocumentitem', 'cfdocumentsection', 'cfdump',
+            'cfelse', 'cfelseif', 'cferror', 'cfexecute', 'cfexit', 'cffile',
+            'cfflush', 'cfform', 'cfformgroup', 'cfformitem', 'cfftp',
+            'cffunction', 'cfgrid', 'cfgridcolumn', 'cfgridrow', 'cfgridupdate',
+            'cfheader', 'cfhtmlhead', 'cfhttp', 'cfhttpparam', 'cfif',
+            'cfimport', 'cfinclude', 'cfindex', 'cfinput', 'cfinsert',
+            'cfinvoke', 'cfinvokeargument', 'cfldap', 'cflocation', 'cflock',
+            'cflog', 'cflogin', 'cfloginuser', 'cflogout', 'cfloop', 'cfmail',
+            'cfmailparam', 'cfmailpart', 'cfmodule', 'cfNTauthenticate',
+            'cfobject', 'cfobjectcache', 'cfoutput', 'cfparam', 'cfpop',
+            'cfprocessingdirective', 'cfprocparam',
+            'cfprocresult', 'cfproperty', 'cfquery', 'cfqueryparam',
+            'cfregistry', 'cfreport', 'cfreportparam', 'cfrethrow', 'cfreturn',
+            'cfsavecontent', 'cfschedule', 'cfscript', 'cfsearch', 'cfselect',
+            'cfset', 'cfsetting', 'cfsilent', 'cfstoredproc',
+            'cfswitch', 'cftable', 'cftextarea', 'cfthrow', 'cftimer',
+            'cftrace', 'cftransaction', 'cftree', 'cftreeitem', 'cftry',
+            'cfupdate', 'cfwddx'
+            ),
+        /* HTML Tags */
+        2 => array(
+            'a', 'abbr', 'acronym', 'address', 'applet',
 
-			'&lt;h1&gt;', '&lt;h2&gt;', '&lt;h3&gt;', '&lt;h4&gt;', '&lt;h5&gt;', '&lt;h6&gt;', '&lt;head&gt;', '&lt;hr&gt;', '&lt;html&gt;',
-			'&lt;h1', '&lt;h2', '&lt;h3', '&lt;h4', '&lt;h5', '&lt;h6', '&lt;head', '&lt;hr', '&lt;html',
-			'&lt;/h1&gt;', '&lt;/h2&gt;', '&lt;/h3&gt;', '&lt;/h4&gt;', '&lt;/h5&gt;', '&lt;/h6&gt;', '&lt;/head&gt;', '&lt;/hr&gt;', '&lt;/html&gt;',
-			'&lt;/h1', '&lt;/h2', '&lt;/h3', '&lt;/h4', '&lt;/h5', '&lt;/h6', '&lt;/head', '&lt;/hr', '&lt;/html',
+            'base', 'basefont', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'b',
+
+            'caption', 'center', 'cite', 'code', 'colgroup', 'col',
 
-			'&lt;iframe&gt;', '&lt;ilayer&gt;', '&lt;img&gt;', '&lt;input&gt;', '&lt;ins&gt;', '&lt;isindex&gt;', '&lt;i&gt;',
-			'&lt;iframe', '&lt;ilayer', '&lt;img', '&lt;input', '&lt;ins', '&lt;isindex', '&lt;i',
-			'&lt;/iframe&gt;', '&lt;/ilayer&gt;', '&lt;/img&gt;', '&lt;/input&gt;', '&lt;/ins&gt;', '&lt;/isindex&gt;', '&lt;/i&gt;',
-			'&lt;/iframe', '&lt;/ilayer', '&lt;/img', '&lt;/input', '&lt;/ins', '&lt;/isindex', '&lt;/i',
+            'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt',
 
-			'&lt;kbd&gt;',
-			'&lt;kbd',
-			'&t;/kbd&gt;',
-			'&lt;/kbd',
+            'em',
 
-			'&lt;label&gt;', '&lt;legend&gt;', '&lt;link&gt;', '&lt;li&gt;',
-			'&lt;label', '&lt;legend', '&lt;link', '&lt;li',
-			'&lt;/label&gt;', '&lt;/legend&gt;', '&lt;/link&gt;', '&lt;/li&gt;',
-			'&lt;/label', '&lt;/legend', '&lt;/link', '&lt;/li',
+            'fieldset', 'font', 'form', 'frame', 'frameset',
+
+            'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'hr', 'html',
 
-			'&lt;map&gt;', '&lt;meta&gt;',
-			'&lt;map', '&lt;meta',
-			'&lt;/map&gt;', '&lt;/meta&gt;',
-			'&lt;/map', '&lt;/meta',
+            'iframe', 'ilayer', 'img', 'input', 'ins', 'isindex', 'i',
 
-			'&lt;noframes&gt;', '&lt;noscript&gt;',
-			'&lt;noframes', '&lt;noscript',
-			'&lt;/noframes&gt;', '&lt;/noscript&gt;',
-			'&lt;/noframes', '&lt;/noscript',
+            'kbd',
 
-			'&lt;object&gt;', '&lt;ol&gt;', '&lt;optgroup&gt;', '&lt;option&gt;',
-			'&lt;object', '&lt;ol', '&lt;optgroup', '&lt;option',
-			'&lt;/object&gt;', '&lt;/ol&gt;', '&lt;/optgroup&gt;', '&lt;/option&gt;',
-			'&lt;/object', '&lt;/ol', '&lt;/optgroup', '&lt;/option',
+            'label', 'legend', 'link', 'li',
+
+            'map', 'meta',
 
-			'&lt;param&gt;', '&lt;pre&gt;', '&lt;p&gt;',
-			'&lt;param', '&lt;pre', '&lt;p',
-			'&lt;/param&gt;', '&lt;/pre&gt;', '&lt;/p&gt;',
-			'&lt;/param', '&lt;/pre', '&lt;/p',
+            'noframes', 'noscript',
 
-			'&lt;q&gt;',
-			'&lt;q',
-			'&lt;/q&gt;',
-			'&lt;/q',
+            'object', 'ol', 'optgroup', 'option',
 
-			'&lt;samp&gt;', '&lt;script&gt;', '&lt;select&gt;', '&lt;small&gt;', '&lt;span&gt;', '&lt;strike&gt;', '&lt;strong&gt;', '&lt;style&gt;', '&lt;sub&gt;', '&lt;sup&gt;', '&lt;s&gt;',
-			'&lt;samp', '&lt;script', '&lt;select', '&lt;small', '&lt;span', '&lt;strike', '&lt;strong', '&lt;style', '&lt;sub', '&lt;sup', '&lt;s',
-			'&lt;/samp&gt;', '&lt;/script&gt;', '&lt;/select&gt;', '&lt;/small&gt;', '&lt;/span&gt;', '&lt;/strike&gt;', '&lt;/strong&gt;', '&lt;/style&gt;', '&lt;/sub&gt;', '&lt;/sup&gt;', '&lt;/s&gt;',
-			'&lt;/samp', '&lt;/script', '&lt;/select', '&lt;/small', '&lt;/span', '&lt;/strike', '&lt;/strong', '&lt;/style', '&lt;/sub', '&lt;/sup', '&lt;/s',
+            'param', 'pre', 'p',
 
-			'&lt;table&gt;', '&lt;tbody&gt;', '&lt;td&gt;', '&lt;textarea&gt;', '&lt;text&gt;', '&lt;tfoot&gt;', '&lt;thead&gt;', '&lt;th&gt;', '&lt;title&gt;', '&lt;tr&gt;', '&lt;tt&gt;',
-			'&lt;table', '&lt;tbody', '&lt;td', '&lt;textarea', '&lt;text', '&lt;tfoot', '&lt;tfoot', '&lt;thead', '&lt;th', '&lt;title', '&lt;tr', '&lt;tt',
-			'&lt;/table&gt;', '&lt;/tbody&gt;', '&lt;/td&gt;', '&lt;/textarea&gt;', '&lt;/text&gt;', '&lt;/tfoot&gt;', '&lt;/thead', '&lt;/tfoot', '&lt;/th&gt;', '&lt;/title&gt;', '&lt;/tr&gt;', '&lt;/tt&gt;',
-			'&lt;/table', '&lt;/tbody', '&lt;/td', '&lt;/textarea', '&lt;/text', '&lt;/tfoot', '&lt;/tfoot', '&lt;/thead', '&lt;/th', '&lt;/title', '&lt;/tr', '&lt;/tt',
+            'q',
 
-			'&lt;ul&gt;', '&lt;u&gt;',
-			'&lt;ul', '&lt;u',
-			'&lt;/ul&gt;', '&lt;/ul&gt;',
-			'&lt;/ul', '&lt;/u',
+            'samp', 'script', 'select', 'small', 'span', 'strike', 'strong', 'style', 'sub', 'sup', 's',
 
-			'&lt;var&gt;',
-			'&lt;var',
-			'&lt;/var&gt;',
-			'&lt;/var',
+            'table', 'tbody', 'td', 'textarea', 'text', 'tfoot', 'thead', 'th', 'title', 'tr', 'tt',
+
+            'ul', 'u',
 
-			'&gt;', '&lt;'
-			),
-		/* HTML attributes */
-		3 => array(
-			'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
-			'background', 'bgcolor', 'border',
-			'cellpadding', 'cellspacing', 'char', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
-			'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
-			'enctype',
-			'face', 'for', 'frame', 'frameborder',
-			'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
-			'id', 'ismap',
-			'label', 'lang', 'language', 'link', 'longdesc',
-			'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
-			'name', 'nohref', 'noresize', 'noshade', 'nowrap',
-			'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
-			'profile', 'prompt',
-			'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
-			'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
-			'tabindex', 'target', 'text', 'title', 'type',
-			'usemap',
-			'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
-			'width'
-			),
-			/* CFM Script delimeters */
-		4 => array(
-			'var', 'function', 'while', 'if','else'
-			),
-			/* CFM Functions */
-		5 => array(
-			'Abs', 'GetFunctionList', 'LSTimeFormat','ACos','GetGatewayHelper','LTrim','AddSOAPRequestHeader','GetHttpRequestData',
-			'Max','AddSOAPResponseHeader','GetHttpTimeString','Mid','ArrayAppend','GetLocale','Min','ArrayAvg','GetLocaleDisplayName',
-			'Minute','ArrayClear','GetMetaData','Month','ArrayDeleteAt','GetMetricData','MonthAsString','ArrayInsertAt','GetPageContext',
-			'Now','ArrayIsEmpty','GetProfileSections','NumberFormat','ArrayLen','GetProfileString','ParagraphFormat','ArrayMax',
-			'GetLocalHostIP','ParseDateTime','ArrayMin','GetSOAPRequest','Pi','ArrayNew','GetSOAPRequestHeader','PreserveSingleQuotes',
-			'ArrayPrepend','GetSOAPResponse','Quarter','ArrayResize','GetSOAPResponseHeader','QueryAddColumn','ArraySet',
-			'GetTempDirectory','QueryAddRow','ArraySort','GetTempDirectory','QueryNew','ArraySum','GetTempFile','QuerySetCell',
-			'ArraySwap','GetTickCount','QuotedValueList','ArrayToList','GetTimeZoneInfo','Rand','Asc','GetToken','Randomize',
-			'ASin','Hash','RandRange','Atn','Hour','REFind','BinaryDecode','HTMLCodeFormat','REFindNoCase','BinaryEncode',
-			'HTMLEditFormat','ReleaseComObject','BitAnd','IIf','RemoveChars','BitMaskClear','IncrementValue','RepeatString',
-			'BitMaskRead','InputBaseN','Replace','BitMaskSet','Insert','ReplaceList','BitNot','Int','ReplaceNoCase','BitOr',
-			'IsArray','REReplace','BitSHLN','IsBinary','REReplaceNoCase','BitSHRN','IsBoolean','Reverse','BitXor','IsCustomFunction',
-			'Right','Ceiling','IsDate','RJustify','CharsetDecode','IsDebugMode','Round','CharsetEncode','IsDefined','RTrim',
-			'Chr','IsLeapYear','Second','CJustify','IsLocalHost','SendGatewayMessage','Compare','IsNumeric','SetEncoding',
-			'CompareNoCase','IsNumericDate','SetLocale','Cos','IsObject','SetProfileString','CreateDate','IsQuery','SetVariable',
-			'CreateDateTime','IsSimpleValue','Sgn','CreateObject','IsSOAPRequest','Sin','CreateODBCDate','IsStruct','SpanExcluding',
-			'CreateODBCDateTime','IsUserInRole','SpanIncluding','CreateODBCTime','IsValid','Sqr','CreateTime','IsWDDX','StripCR',
-			'CreateTimeSpan','IsXML','StructAppend','CreateUUID','IsXmlAttribute','StructClear','DateAdd','IsXmlDoc','StructCopy',
-			'DateCompare','IsXmlElem','StructCount','DateConvert','IsXmlNode','StructDelete','DateDiff','IsXmlRoot','StructFind',
-			'DateFormat','JavaCast','StructFindKey','DatePart','JSStringFormat','StructFindValue','Day','LCase','StructGet',
-			'DayOfWeek','Left','StructInsert','DayOfWeekAsString','Len','StructIsEmpty','DayOfYear','ListAppend','StructKeyArray',
-			'DaysInMonth','ListChangeDelims','StructKeyExists','DaysInYear','ListContains','StructKeyList','DE','ListContainsNoCase',
-			'StructNew','DecimalFormat','ListDeleteAt','StructSort','DecrementValue','ListFind','StructUpdate','Decrypt','ListFindNoCase',
-			'Tan','DecryptBinary','ListFirst','TimeFormat','DeleteClientVariable','ListGetAt','ToBase64','DirectoryExists',
-			'ListInsertAt','ToBinary','DollarFormat','ListLast','ToScript','Duplicate','ListLen','ToString','Encrypt','ListPrepend',
-			'Trim','EncryptBinary','ListQualify','UCase','Evaluate','ListRest','URLDecode','Exp','ListSetAt','URLEncodedFormat',
-			'ExpandPath','ListSort','URLSessionFormat','FileExists','ListToArray','Val','Find','ListValueCount','ValueList',
-			'FindNoCase','ListValueCountNoCase','Week','FindOneOf','LJustify','Wrap','FirstDayOfMonth','Log','WriteOutput',
-			'Fix','Log10','XmlChildPos','FormatBaseN','LSCurrencyFormat','XmlElemNew','GetAuthUser','LSDateFormat','XmlFormat',
-			'GetBaseTagData','LSEuroCurrencyFormat','XmlGetNodeType','GetBaseTagList','LSIsCurrency','XmlNew','GetBaseTemplatePath',
-			'LSIsDate','XmlParse','GetClientVariablesList','LSIsNumeric','XmlSearch','GetCurrentTemplatePath','LSNumberFormat',
-			'XmlTransform','GetDirectoryFromPath','LSParseCurrency','XmlValidate','GetEncoding','LSParseDateTime','Year',
-			'GetException','LSParseEuroCurrency','YesNoFormat','GetFileFromPath','LSParseNumber'
-			),
-		/* CFM Attributes */
-		6 => array(
-			'=','&amp;','name','dbtype','connectstring','datasource','username','password','query','delimeter','description','required','hint','default','access','from','to','list','index'
-			)
-		),
-	'SYMBOLS' => array(
-		'/', '=', 'EQ', 'GT', 'LT', 'GTE', 'LTE', 'IS', 'LIKE', '&', '{', '}', '(', ')', '[', ']','gt','lt'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
+            'var',
+            ),
+        /* HTML attributes */
+        3 => array(
+            'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
+            'background', 'bgcolor', 'border',
+            'cellpadding', 'cellspacing', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
+            'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
+            'enctype',
+            'face', 'for', 'frame', 'frameborder',
+            'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
+            'id', 'ismap',
+            'label', 'lang', 'language', 'link', 'longdesc',
+            'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
+            'name', 'nohref', 'noresize', 'noshade', 'nowrap',
+            'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
+            'profile', 'prompt',
+            'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
+            'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
+            'tabindex', 'target', 'text', 'title', 'type',
+            'usemap',
+            'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
+            'width'
+            ),
+        /* CFM Script delimeters */
+        4 => array(
+            'var', 'function', 'while', 'if','else'
+            ),
+        /* CFM Functions */
+        5 => array(
+            'Abs', 'GetFunctionList', 'LSTimeFormat','ACos','GetGatewayHelper','LTrim','AddSOAPRequestHeader','GetHttpRequestData',
+            'Max','AddSOAPResponseHeader','GetHttpTimeString','Mid','ArrayAppend','GetLocale','Min','ArrayAvg','GetLocaleDisplayName',
+            'Minute','ArrayClear','GetMetaData','Month','ArrayDeleteAt','GetMetricData','MonthAsString','ArrayInsertAt','GetPageContext',
+            'Now','ArrayIsEmpty','GetProfileSections','NumberFormat','ArrayLen','GetProfileString','ParagraphFormat','ArrayMax',
+            'GetLocalHostIP','ParseDateTime','ArrayMin','GetSOAPRequest','Pi','ArrayNew','GetSOAPRequestHeader','PreserveSingleQuotes',
+            'ArrayPrepend','GetSOAPResponse','Quarter','ArrayResize','GetSOAPResponseHeader','QueryAddColumn','ArraySet',
+            'GetTempDirectory','QueryAddRow','ArraySort','QueryNew','ArraySum','GetTempFile','QuerySetCell',
+            'ArraySwap','GetTickCount','QuotedValueList','ArrayToList','GetTimeZoneInfo','Rand','Asc','GetToken','Randomize',
+            'ASin','Hash','RandRange','Atn','Hour','REFind','BinaryDecode','HTMLCodeFormat','REFindNoCase','BinaryEncode',
+            'HTMLEditFormat','ReleaseComObject','BitAnd','IIf','RemoveChars','BitMaskClear','IncrementValue','RepeatString',
+            'BitMaskRead','InputBaseN','Replace','BitMaskSet','Insert','ReplaceList','BitNot','Int','ReplaceNoCase','BitOr',
+            'IsArray','REReplace','BitSHLN','IsBinary','REReplaceNoCase','BitSHRN','IsBoolean','Reverse','BitXor','IsCustomFunction',
+            'Right','Ceiling','IsDate','RJustify','CharsetDecode','IsDebugMode','Round','CharsetEncode','IsDefined','RTrim',
+            'Chr','IsLeapYear','Second','CJustify','IsLocalHost','SendGatewayMessage','Compare','IsNumeric','SetEncoding',
+            'CompareNoCase','IsNumericDate','SetLocale','Cos','IsObject','SetProfileString','CreateDate','IsQuery','SetVariable',
+            'CreateDateTime','IsSimpleValue','Sgn','CreateObject','IsSOAPRequest','Sin','CreateODBCDate','IsStruct','SpanExcluding',
+            'CreateODBCDateTime','IsUserInRole','SpanIncluding','CreateODBCTime','IsValid','Sqr','CreateTime','IsWDDX','StripCR',
+            'CreateTimeSpan','IsXML','StructAppend','CreateUUID','IsXmlAttribute','StructClear','DateAdd','IsXmlDoc','StructCopy',
+            'DateCompare','IsXmlElem','StructCount','DateConvert','IsXmlNode','StructDelete','DateDiff','IsXmlRoot','StructFind',
+            'DateFormat','JavaCast','StructFindKey','DatePart','JSStringFormat','StructFindValue','Day','LCase','StructGet',
+            'DayOfWeek','Left','StructInsert','DayOfWeekAsString','Len','StructIsEmpty','DayOfYear','ListAppend','StructKeyArray',
+            'DaysInMonth','ListChangeDelims','StructKeyExists','DaysInYear','ListContains','StructKeyList','DE','ListContainsNoCase',
+            'StructNew','DecimalFormat','ListDeleteAt','StructSort','DecrementValue','ListFind','StructUpdate','Decrypt','ListFindNoCase',
+            'Tan','DecryptBinary','ListFirst','TimeFormat','DeleteClientVariable','ListGetAt','ToBase64','DirectoryExists',
+            'ListInsertAt','ToBinary','DollarFormat','ListLast','ToScript','Duplicate','ListLen','ToString','Encrypt','ListPrepend',
+            'Trim','EncryptBinary','ListQualify','UCase','Evaluate','ListRest','URLDecode','Exp','ListSetAt','URLEncodedFormat',
+            'ExpandPath','ListSort','URLSessionFormat','FileExists','ListToArray','Val','Find','ListValueCount','ValueList',
+            'FindNoCase','ListValueCountNoCase','Week','FindOneOf','LJustify','Wrap','FirstDayOfMonth','Log','WriteOutput',
+            'Fix','Log10','XmlChildPos','FormatBaseN','LSCurrencyFormat','XmlElemNew','GetAuthUser','LSDateFormat','XmlFormat',
+            'GetBaseTagData','LSEuroCurrencyFormat','XmlGetNodeType','GetBaseTagList','LSIsCurrency','XmlNew','GetBaseTemplatePath',
+            'LSIsDate','XmlParse','GetClientVariablesList','LSIsNumeric','XmlSearch','GetCurrentTemplatePath','LSNumberFormat',
+            'XmlTransform','GetDirectoryFromPath','LSParseCurrency','XmlValidate','GetEncoding','LSParseDateTime','Year',
+            'GetException','LSParseEuroCurrency','YesNoFormat','GetFileFromPath','LSParseNumber'
+            ),
+        /* CFM Attributes */
+        6 => array(
+            'dbtype','connectstring','datasource','username','password','query','delimeter','description','required','hint','default','access','from','to','list','index'
+            ),
+        7 => array(
+            'EQ', 'GT', 'LT', 'GTE', 'LTE', 'IS', 'LIKE', 'NEQ'
+            )
+        ),
+    'SYMBOLS' => array(
+        '/', '=', '{', '}', '(', ')', '[', ']', '<', '>', '&'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
         5 => false,
-        6 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #990000;',
-			2 => 'color: #000000; font-weight: bold;',
-			3 => 'color: #0000FF;',
-			4 => 'color: #000000; font-weight: bold;',
-			5 => 'color: #0000FF;',
-			6 => 'color: #0000FF'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic; background-color:#FFFF99;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #0000FF;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #009900;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #FF0000;'
-			),
-		'METHODS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #0000FF;'
-			),
-		'SCRIPT' => array(
-			0 => 'color: #00bbdd;',
-			1 => 'color: #0000FF;',
-			2 => 'color: #000099;',
-			3 => 'color: #333333;'
-			),
-		'REGEXPS' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => '',
-		4 => ''
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
-	'SCRIPT_DELIMITERS' => array(
-		0 => array(
-			'<!DOCTYPE' => '>'
-			),
-		1 => array(
-			 '#' => '#'
-			),
-		2 => array(
-			'<cfscript>' => '</cfscript>;'
-			),
-		3 => array(
-			'<' => '>'
-			)
-	),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		0 => false,
-		1 => true,
-		2 => true,
-		3 => true
-		)
+        6 => false,
+        7 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #990000; font-weight: bold;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #0000FF;',
+            4 => 'color: #000000; font-weight: bold;',
+            5 => 'color: #0000FF;',
+            6 => 'color: #0000FF;',
+            7 => 'color: #0000FF;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #0000FF;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #009900;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #FF0000;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #0000FF;'
+            ),
+        'SCRIPT' => array(
+            0 => 'color: #808080; font-style: italic;',
+            1 => 'color: #00bbdd;',
+            2 => 'color: #0000FF;',
+            3 => 'color: #000099;',
+            4 => 'color: #333333;',
+            5 => 'color: #333333;'
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => 'http://december.com/html/4/element/{FNAMEL}.html',
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => '',
+        7 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+    'SCRIPT_DELIMITERS' => array(
+        0 => array(
+            '<!--' => '-->'
+            ),
+        1 => array(
+            '<!DOCTYPE' => '>'
+            ),
+        2 => "/(?!<#)(?:(?:##)*)(#)[a-zA-Z0-9_\.\(\)]+(#)/",
+        3 => array(
+            '<cfscript>' => '</cfscript>'
+            ),
+        4 => array(
+            '<' => '>'
+            ),
+        5 => '/((?!<!)<)(?:"[^"]*"|\'[^\']*\'|(?R)|[^">])+?(>)/si'
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => false,
+        1 => false,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true
+        ),
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            1 => array(
+                'DISALLOWED_BEFORE' => '(?<=&lt;|&lt;\/)',
+                'DISALLOWED_AFTER' => '(?=\s|\/|&gt;)',
+                ),
+            2 => array(
+                'DISALLOWED_BEFORE' => '(?<=&lt;|&lt;\/)',
+                'DISALLOWED_AFTER' => '(?=\s|\/|&gt;)',
+                ),
+            3 => array(
+                'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9\$_\|\#>|^])', // allow ; before keywords
+                'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-])', // allow & after keywords
+                ),
+            7 => array(
+                'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9\$_\|\#>&|^])', // allow ; before keywords
+                'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-])', // allow & after keywords
+                )
+            )
+        )
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/cil.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,196 @@
+<?php
+/*************************************************************************************
+ * cil.php
+ * --------
+ * Author: Marcus Griep (neoeinstein+GeSHi@gmail.com)
+ * Copyright: (c) 2007 Marcus Griep (http://www.xpdm.us)
+ * Release Version: 1.0.8.2
+ * Date Started: 2007/10/24
+ *
+ * CIL (Common Intermediate Language) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2004/10/24 (1.0.8)
+ *  -  First Release
+ *
+ * TODO (updated 2007/10/24)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'CIL',
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'COMMENT_SINGLE' => array('//'),
+    'COMMENT_MULTI' => array(),
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(//Dotted
+            '.zeroinit', '.vtfixup', '.vtentry', '.vtable', '.ver', '.try', '.subsystem', '.size', '.set', '.removeon',
+            '.publickeytoken', '.publickey', '.property', '.permissionset', '.permission', '.pdirect', '.param', '.pack',
+            '.override', '.other', '.namespace', '.mresource', '.module', '.method', '.maxstack', '.manifestres', '.locals',
+            '.localized', '.locale', '.line', '.language', '.import', '.imagebase', '.hash', '.get', '.fire', '.file', '.field',
+            '.export', '.event', '.entrypoint', '.emitbyte', '.data', '.custom', '.culture', '.ctor', '.corflags', '.class',
+            '.cctor', '.assembly', '.addon'
+            ),
+        2 => array(//Attributes
+            'wrapper', 'with', 'winapi', 'virtual', 'vector', 'vararg', 'value', 'userdefined', 'unused', 'unmanagedexp',
+            'unmanaged', 'unicode', 'to', 'tls', 'thiscall', 'synchronized', 'struct', 'strict', 'storage', 'stdcall',
+            'static', 'specialname', 'special', 'serializable', 'sequential', 'sealed', 'runtime', 'rtspecialname', 'request',
+            'reqsecobj', 'reqrefuse', 'reqopt', 'reqmin', 'record', 'public', 'privatescope', 'private', 'preservesig',
+            'prejitgrant', 'prejitdeny', 'platformapi', 'pinvokeimpl', 'pinned', 'permitonly', 'out', 'optil', 'opt',
+            'notserialized', 'notremotable', 'not_in_gc_heap', 'noprocess', 'noncaslinkdemand', 'noncasinheritance',
+            'noncasdemand', 'nometadata', 'nomangle', 'nomachine', 'noinlining', 'noappdomain', 'newslot', 'nested', 'native',
+            'modreq', 'modopt', 'marshal', 'managed', 'literal', 'linkcheck', 'lcid', 'lasterr', 'internalcall', 'interface',
+            'instance', 'initonly', 'init', 'inheritcheck', 'in', 'import', 'implicitres', 'implicitcom', 'implements',
+            'illegal', 'il', 'hidebysig', 'handler', 'fromunmanaged', 'forwardref', 'fixed', 'finally', 'final', 'filter',
+            'filetime', 'field', 'fault', 'fastcall', 'famorassem', 'family', 'famandassem', 'extern', 'extends', 'explicit',
+            'error', 'enum', 'endmac', 'deny', 'demand', 'default', 'custom', 'compilercontrolled', 'clsid', 'class', 'cil',
+            'cf', 'cdecl', 'catch', 'beforefieldinit', 'autochar', 'auto', 'at', 'assert', 'assembly', 'as', 'any', 'ansi',
+            'alignment', 'algorithm', 'abstract'
+            ),
+        3 => array(//Types
+            'wchar', 'void', 'variant', 'unsigned', 'valuetype', 'typedref', 'tbstr', 'sysstring', 'syschar', 'string',
+            'streamed_object', 'stream', 'stored_object', 'safearray', 'objectref', 'object', 'nullref', 'method', 'lpwstr',
+            'lpvoid', 'lptstr', 'lpstruct', 'lpstr', 'iunknown', 'int64', 'int32', 'int16', 'int8', 'int', 'idispatch',
+            'hresult', 'float64', 'float32', 'float', 'decimal', 'date', 'currency', 'char', 'carray', 'byvalstr',
+            'bytearray', 'boxed', 'bool', 'blob_object', 'blob', 'array'
+            ),
+        4 => array(//Prefix
+            'volatile', 'unaligned', 'tail', 'readonly', 'no', 'constrained'
+            ),
+        5 => array(//Suffix
+            'un', 'u8', 'u4', 'u2', 'u1', 'u', 's', 'ref', 'r8', 'r4', 'm1', 'i8', 'i4', 'i2', 'i1', 'i'#, '.8', '.7', '.6', '.5', '.4', '.3', '.2', '.1', '.0'
+            ),
+        6 => array(//Base
+            'xor', 'switch', 'sub', 'stloc',
+            'stind', 'starg',
+            'shr', 'shl', 'ret', 'rem', 'pop', 'or', 'not', 'nop', 'neg', 'mul',
+            'localloc', 'leave', 'ldnull', 'ldloca',
+            'ldloc', 'ldind', 'ldftn', 'ldc', 'ldarga',
+            'ldarg', 'jmp', 'initblk', 'endfinally', 'endfilter',
+            'endfault', 'dup', 'div', 'cpblk', 'conv', 'clt', 'ckfinite', 'cgt', 'ceq', 'calli',
+            'call', 'brzero', 'brtrue', 'brnull', 'brinst',
+            'brfalse', 'break', 'br', 'bne', 'blt', 'ble', 'bgt', 'bge', 'beq', 'arglist',
+            'and', 'add'
+            ),
+        7 => array(//Object
+            'unbox.any', 'unbox', 'throw', 'stsfld', 'stobj', 'stfld', 'stelem', 'sizeof', 'rethrow', 'refanyval', 'refanytype', 'newobj',
+            'newarr', 'mkrefany', 'ldvirtftn', 'ldtoken', 'ldstr', 'ldsflda', 'ldsfld', 'ldobj', 'ldlen', 'ldflda', 'ldfld',
+            'ldelema', 'ldelem', 'isinst', 'initobj', 'cpobj', 'castclass',
+            'callvirt', 'callmostderived', 'box'
+            ),
+        8 => array(//Other
+            'prefixref', 'prefix7', 'prefix6', 'prefix5', 'prefix4', 'prefix3', 'prefix2', 'prefix1', 'prefix0'
+            ),
+        9 => array(//Literal
+            'true', 'null', 'false'
+            ),
+        10 => array(//Comment-like
+            '#line', '^THE_END^'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}', '!', '!!'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true,
+        6 => true,
+        7 => true,
+        8 => true,
+        9 => true,
+        10 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color:maroon;font-weight:bold;',
+            2 => 'color:blue;font-weight:bold;',
+            3 => 'color:purple;font-weight:bold;',
+            4 => 'color:teal;',
+            5 => 'color:blue;',
+            6 => 'color:blue;',
+            7 => 'color:blue;',
+            8 => 'color:blue;',
+            9 => 'color:00008B',
+            10 => 'color:gray'
+            ),
+        'COMMENTS' => array(
+            0 => 'color:gray;font-style:italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #008000; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #006400;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #008000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #00008B;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #000033;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #006400;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color:blue;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => '',
+        7 => '',
+        8 => '',
+        9 => '',
+        10 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '::'
+        ),
+    'REGEXPS' => array(
+        0 => '(?<=ldc\\.i4\\.)[0-8]|(?<=(?:ldarg|ldloc|stloc)\\.)[0-3]' # Pickup the opcodes that end with integers
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/cobol.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,244 @@
+<?php
+/*************************************************************************************
+ * cobol.php
+ * ----------
+ * Author: BenBE (BenBE@omorphia.org)
+ * Copyright: (c) 2007-2008 BenBE (http://www.omorphia.de/)
+ * Release Version: 1.0.8.2
+ * Date Started: 2007/07/02
+ *
+ * COBOL language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ *
+ * TODO (updated 2007/07/02)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'COBOL',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(),
+    'COMMENT_REGEXP' => array(1 => '/^\*.*?$/m'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"', "'"),
+    'ESCAPE_CHAR' => '\\',
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC |
+        GESHI_NUMBER_FLT_NONSCI |
+        GESHI_NUMBER_FLT_SCI_SHORT |
+        GESHI_NUMBER_FLT_SCI_ZERO,
+    'KEYWORDS' => array(
+        1 => array( //Compiler Directives
+            'ANSI', 'BLANK', 'NOBLANK', 'CALL-SHARED', 'CANCEL', 'NOCANCEL',
+            'CHECK', 'CODE', 'NOCODE', 'COLUMNS', 'COMPACT', 'NOCOMPACT',
+            'COMPILE', 'CONSULT', 'NOCONSULT', 'CROSSREF', 'NOCROSSREF',
+            'DIAGNOSE-74', 'NODIAGNOSE-74', 'DIAGNOSE-85', 'NODIAGNOSE-85',
+            'DIAGNOSEALL', 'NODIAGNOSEALL', 'ENDIF', 'ENDUNIT', 'ENV',
+            'ERRORFILE', 'ERRORS', 'FIPS', 'NOFIPS', 'FMAP', 'HEADING', 'HEAP',
+            'HIGHPIN', 'HIGHREQUESTERS', 'ICODE', 'NOICODE', 'IF', 'IFNOT',
+            'INNERLIST', 'NOINNERLIST', 'INSPECT', 'NOINSPECT', 'LARGEDATA',
+            'LD', 'LESS-CODE', 'LIBRARY', 'LINES', 'LIST', 'NOLIST', 'LMAP',
+            'NOLMAP', 'MAIN', 'MAP', 'NOMAP', 'NLD', 'NONSTOP', 'NON-SHARED',
+            'OPTIMIZE', 'PERFORM-TRACE', 'PORT', 'NOPORT', 'RESETTOG',
+            'RUNNABLE', 'RUNNAMED', 'SAVE', 'SAVEABEND', 'NOSAVEABEND',
+            'SEARCH', 'NOSEARCH', 'SECTION', 'SETTOG', 'SHARED', 'SHOWCOPY',
+            'NOSHOWCOPY', 'SHOWFILE', 'NOSHOWFILE', 'SOURCE', 'SQL', 'NOSQL',
+            'SQLMEM', 'SUBSET', 'SUBTYPE', 'SUPPRESS', 'NOSUPPRESS', 'SYMBOLS',
+            'NOSYMBOLS', 'SYNTAX', 'TANDEM', 'TRAP2', 'NOTRAP2', 'TRAP2-74',
+            'NOTRAP2-74', 'UL', 'WARN', 'NOWARN'
+            ),
+        2 => array( //Statement Keywords
+            'ACCEPT', 'ADD', 'TO', 'GIVING', 'CORRESPONDING', 'ALTER', 'CALL',
+            'CHECKPOINT', 'CLOSE', 'COMPUTE', 'CONTINUE', 'COPY',
+            'DELETE', 'DISPLAY', 'DIVIDE', 'INTO', 'REMAINDER', 'ENTER',
+            'COBOL', 'EVALUATE', 'EXIT', 'GO', 'INITIALIZE',
+            'TALLYING', 'REPLACING', 'CONVERTING', 'LOCKFILE', 'MERGE', 'MOVE',
+            'MULTIPLY', 'OPEN', 'PERFORM', 'TIMES',
+            'UNTIL', 'VARYING', 'RETURN',
+            ),
+        3 => array( //Reserved in some contexts
+            'ACCESS', 'ADDRESS', 'ADVANCING', 'AFTER', 'ALL',
+            'ALPHABET', 'ALPHABETIC', 'ALPHABETIC-LOWER', 'ALPHABETIC-UPPER',
+            'ALPHANUMERIC', 'ALPHANUMERIC-EDITED', 'ALSO', 'ALTERNATE',
+            'AND', 'ANY', 'APPROXIMATE', 'AREA', 'AREAS', 'ASCENDING', 'ASSIGN',
+            'AT', 'AUTHOR', 'BEFORE', 'BINARY', 'BLOCK', 'BOTTOM', 'BY',
+            'CD', 'CF', 'CH', 'CHARACTER', 'CHARACTERS',
+            'CHARACTER-SET', 'CLASS', 'CLOCK-UNITS',
+            'CODE-SET', 'COLLATING', 'COLUMN', 'COMMA',
+            'COMMON', 'COMMUNICATION', 'COMP', 'COMP-3', 'COMP-5',
+            'COMPUTATIONAL', 'COMPUTATIONAL-3', 'COMPUTATIONAL-5',
+            'CONFIGURATION', 'CONTAINS', 'CONTENT', 'CONTROL',
+            'CONTROLS', 'CORR', 'COUNT',
+            'CURRENCY', 'DATA', 'DATE', 'DATE-COMPILED', 'DATE-WRITTEN', 'DAY',
+            'DAY-OF-WEEK', 'DE', 'DEBUG-CONTENTS', 'DEBUG-ITEM', 'DEBUG-LINE',
+            'DEBUG-SUB-2', 'DEBUG-SUB-3', 'DEBUGGING', 'DECIMAL-POINT',
+            'DECLARATIVES', 'DEBUG-NAME', 'DEBUG-SUB-1', 'DELIMITED',
+            'DELIMITER', 'DEPENDING', 'DESCENDING', 'DESTINATION', 'DETAIL',
+            'DISABLE', 'DIVISION', 'DOWN', 'DUPLICATES',
+            'DYNAMIC', 'EGI', 'ELSE', 'EMI', 'ENABLE', 'END', 'END-ADD',
+            'END-COMPUTE', 'END-DELETE', 'END-DIVIDE', 'END-EVALUATE', 'END-IF',
+            'END-MULTIPLY', 'END-OF-PAGE', 'END-PERFORM', 'END-READ',
+            'END-RECEIVE', 'END-RETURN', 'END-REWRITE', 'END-SEARCH',
+            'END-START', 'END-STRING', 'END-SUBTRACT', 'END-UNSTRING',
+            'END-WRITE', 'EOP', 'EQUAL', 'ERROR', 'ESI',
+            'EVERY', 'EXCEPTION', 'EXCLUSIVE', 'EXTEND',
+            'EXTENDED-STORAGE', 'EXTERNAL', 'FALSE', 'FD', 'FILE',
+            'FILE-CONTROL', 'FILLER', 'FINAL', 'FIRST', 'FOOTING', 'FOR',
+            'FROM', 'FUNCTION', 'GENERATE', 'GENERIC', 'GLOBAL',
+            'GREATER', 'GROUP', 'GUARDIAN-ERR', 'HIGH-VALUE',
+            'HIGH-VALUES', 'I-O', 'I-O-CONTROL', 'IDENTIFICATION', 'IN',
+            'INDEX', 'INDEXED', 'INDICATE', 'INITIAL', 'INITIATE',
+            'INPUT', 'INPUT-OUTPUT', 'INSTALLATION',
+            'INVALID', 'IS', 'JUST', 'JUSTIFIED', 'KEY', 'LABEL', 'LAST',
+            'LEADING', 'LEFT', 'LESS', 'LIMIT', 'LIMITS', 'LINAGE',
+            'LINAGE-COUNTER', 'LINE', 'LINE-COUNTER', 'LINKAGE', 'LOCK',
+            'LOW-VALUE', 'LOW-VALUES', 'MEMORY', 'MESSAGE',
+            'MODE', 'MODULES', 'MULTIPLE', 'NATIVE',
+            'NEGATIVE', 'NEXT', 'NO', 'NOT', 'NULL', 'NULLS', 'NUMBER',
+            'NUMERIC', 'NUMERIC-EDITED', 'OBJECT-COMPUTER', 'OCCURS', 'OF',
+            'OFF', 'OMITTED', 'ON', 'OPTIONAL', 'OR', 'ORDER',
+            'ORGANIZATION', 'OTHER', 'OUTPUT', 'OVERFLOW', 'PACKED-DECIMAL',
+            'PADDING', 'PAGE', 'PAGE-COUNTER', 'PF', 'PH', 'PIC',
+            'PICTURE', 'PLUS', 'POINTER', 'POSITION', 'POSITIVE', 'PRINTING',
+            'PROCEDURE', 'PROCEDURES', 'PROCEED', 'PROGRAM', 'PROGRAM-ID',
+            'PROGRAM-STATUS', 'PROGRAM-STATUS-1', 'PROGRAM-STATUS-2', 'PROMPT',
+            'PROTECTED', 'PURGE', 'QUEUE', 'QUOTE', 'QUOTES', 'RD',
+            'RECEIVE', 'RECEIVE-CONTROL', 'RECORD', 'RECORDS',
+            'REDEFINES', 'REEL', 'REFERENCE', 'REFERENCES', 'RELATIVE',
+            'REMOVAL', 'RENAMES', 'REPLACE',
+            'REPLY', 'REPORT', 'REPORTING', 'REPORTS', 'RERUN',
+            'RESERVE', 'RESET', 'REVERSED', 'REWIND', 'REWRITE', 'RF',
+            'RH', 'RIGHT', 'ROUNDED', 'RUN', 'SAME', 'SD',
+            'SECURITY', 'SEGMENT', 'SEGMENT-LIMIT', 'SELECT', 'SEND',
+            'SENTENCE', 'SEPARATE', 'SEQUENCE', 'SEQUENTIAL', 'SET',
+            'SIGN', 'SIZE', 'SORT', 'SORT-MERGE', 'SOURCE-COMPUTER',
+            'SPACE', 'SPACES', 'SPECIAL-NAMES', 'STANDARD', 'STANDARD-1',
+            'STANDARD-2', 'START', 'STARTBACKUP', 'STATUS', 'STOP', 'STRING',
+            'SUB-QUEUE-1', 'SUB-QUEUE-2', 'SUB-QUEUE-3', 'SUBTRACT',
+            'SYMBOLIC', 'SYNC', 'SYNCDEPTH', 'SYNCHRONIZED',
+            'TABLE', 'TAL', 'TAPE', 'TERMINAL', 'TERMINATE', 'TEST',
+            'TEXT', 'THAN', 'THEN', 'THROUGH', 'THRU', 'TIME',
+            'TOP', 'TRAILING', 'TRUE', 'TYPE', 'UNIT', 'UNLOCK', 'UNLOCKFILE',
+            'UNLOCKRECORD', 'UNSTRING', 'UP', 'UPON', 'USAGE', 'USE',
+            'USING', 'VALUE', 'VALUES', 'WHEN', 'WITH', 'WORDS',
+            'WORKING-STORAGE', 'WRITE', 'ZERO', 'ZEROES'
+            ),
+        4 => array( //Standard functions
+            'ACOS', 'ANNUITY', 'ASIN', 'ATAN', 'CHAR', 'COS', 'CURRENT-DATE',
+            'DATE-OF-INTEGER', 'DAY-OF-INTEGER', 'FACTORIAL', 'INTEGER',
+            'INTEGER-OF-DATE', 'INTEGER-OF-DAY', 'INTEGER-PART', 'LENGTH',
+            'LOG', 'LOG10', 'LOWER-CASE', 'MAX', 'MEAN', 'MEDIAN', 'MIDRANGE',
+            'MIN', 'MOD', 'NUMVAL', 'NUMVAL-C', 'ORD', 'ORD-MAX', 'ORD-MIN',
+            'PRESENT-VALUE', 'RANDOM', 'RANGE', 'REM', 'REVERSE', 'SIN', 'SQRT',
+            'STANDARD-DEVIATION', 'SUM', 'TAN', 'UPPER-CASE', 'VARIANCE',
+            'WHEN-COMPILED'
+            ),
+        5 => array( //Privileged Built-in Functions
+            '#IN', '#OUT', '#TERM', '#TEMP', '#DYNAMIC', 'COBOL85^ARMTRAP',
+            'COBOL85^COMPLETION', 'COBOL_COMPLETION_', 'COBOL_CONTROL_',
+            'COBOL_GETENV_', 'COBOL_PUTENV_', 'COBOL85^RETURN^SORT^ERRORS',
+            'COBOL_RETURN_SORT_ERRORS_', 'COBOL85^REWIND^SEQUENTIAL',
+            'COBOL_REWIND_SEQUENTIAL_', 'COBOL85^SET^SORT^PARAM^TEXT',
+            'COBOL_SET_SORT_PARAM_TEXT_', 'COBOL85^SET^SORT^PARAM^VALUE',
+            'COBOL_SET_SORT_PARAM_VALUE_', 'COBOL_SET_MAX_RECORD_',
+            'COBOL_SETMODE_', 'COBOL85^SPECIAL^OPEN', 'COBOL_SPECIAL_OPEN_',
+            'COBOLASSIGN', 'COBOL_ASSIGN_', 'COBOLFILEINFO', 'COBOL_FILE_INFO_',
+            'COBOLSPOOLOPEN', 'CREATEPROCESS', 'ALTERPARAMTEXT',
+            'CHECKLOGICALNAME', 'CHECKMESSAGE', 'DELETEASSIGN', 'DELETEPARAM',
+            'DELETESTARTUP', 'GETASSIGNTEXT', 'GETASSIGNVALUE', 'GETBACKUPCPU',
+            'GETPARAMTEXT', 'GETSTARTUPTEXT', 'PUTASSIGNTEXT', 'PUTASSIGNVALUE',
+            'PUTPARAMTEXT', 'PUTSTARTUPTEXT'
+            )
+        ),
+    'SYMBOLS' => array(
+        //Avoid having - in identifiers marked as symbols
+        ' + ', ' - ', ' * ', ' / ', ' ** ',
+        '.', ',',
+        '=',
+        '(', ')', '[', ']'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000080; font-weight: bold;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #008000; font-weight: bold;',
+            4 => 'color: #000080;',
+            5 => 'color: #008000;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #a0a0a0; font-style: italic;',
+            'MULTI' => 'color: #a0a0a0; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #339933;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #993399;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #202020;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000066;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+    );
+
+?>
--- a/plugins/geshi/geshi/cpp-qt.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/cpp-qt.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * -------
  * Author: Iulian M
  * Copyright: (c) 2006 Iulian M
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/09/27
  *
- * C++ language file for GeSHi, with QT extensions.
+ * C++ (with QT extensions) language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *   -  Added description of extra language features (SF#1970248)
  *
  * TODO
  * ----
@@ -36,232 +38,274 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'C++ (QT)',
-	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'case', 'continue', 'default', 'do', 'else', 'for', 'goto', 'if', 'return',
-			'switch', 'while'
-			),
-		2 => array(
-			'NULL', 'false', 'break', 'true', 'enum', 'errno', 'EDOM',
-			'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
-			'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
-			'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
-			'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
-			'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
-			'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
-			'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
-			'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
-			'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam', 'NULL',
-			'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
-			'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
-			'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace',
-			'try', 'catch', 'inline', 'dynamic_cast', 'const_cast', 'reinterpret_cast',
-			'static_cast', 'explicit', 'friend', 'wchar_t', 'typename', 'typeid', 'class' ,
-			'foreach','connect', 'Q_OBJECT' , 'slots' , 'signals'
-			),
-		3 => array(
-			'cin', 'cerr', 'clog', 'cout', 'delete', 'new', 'this',
-			'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
-			'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
-			'ispunct', 'isspace', 'ispunct', 'isupper', 'isxdigit', 'tolower', 'toupper',
-			'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
-			'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
-			'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp', 'asin', 'acos', 'atan', 'atan2',
-			'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
-			'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
-			'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
-			'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
-			'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
-			'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
-			'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
-			'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
-			'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
-			'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
-			'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
-			'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
-			'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
-			),
-		4 => array(
-			'auto', 'bool', 'char', 'const', 'double', 'float', 'int', 'long', 'longint',
-			'register', 'short', 'shortint', 'signed', 'static', 'struct',
-			'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
-			'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
-			'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
-			),
-		5 => array(
-			'QAbstractButton','QDir','QIntValidator','QRegExpValidator','QTabWidget','QAbstractEventDispatcher',
-			'QDirectPainter','QIODevice','QRegion','QTcpServer','QAbstractExtensionFactory','QDirModel',
-			'QItemDelegate','QResizeEvent','QTcpSocket','QAbstractExtensionManager','QDockWidget',
-			'QItemEditorCreatorBase','QResource','QTemporaryFile','QAbstractFileEngine','QDomAttr',
-			'QItemEditorFactory','QRubberBand','QTestEventList','QAbstractFileEngineHandler','QDomCDATASection',
-			'QItemSelection','QScreen','QTextBlock','QAbstractFormBuilder','QDomCharacterData','QItemSelectionModel',
-			'QScreenCursor','QTextBlockFormat','QAbstractGraphicsShapeItem','QDomComment','QItemSelectionRange',
-			'QScreenDriverFactory','QTextBlockGroup','QAbstractItemDelegate','QDomDocument','QKbdDriverFactory',
-			'QScreenDriverPlugin','QTextBlockUserData','QAbstractItemModel','QDomDocumentFragment','QKbdDriverPlugin',
-			'QScrollArea','QTextBrowser','QAbstractItemView','QDomDocumentType','QKeyEvent','QScrollBar',
-			'QTextCharFormat','QAbstractListModel','QDomElement','QKeySequence','QSemaphore','QTextCodec',
-			'QAbstractPrintDialog','QDomEntity','QLabel','QSessionManager','QTextCodecPlugin','QAbstractProxyModel',
-			'QDomEntityReference','QLatin1Char','QSet','QTextCursor','QAbstractScrollArea','QDomImplementation',
-			'QLatin1String','QSetIterator','QTextDecoder','QAbstractSlider','QDomNamedNodeMap','QLayout','QSettings',
-			'QTextDocument','QAbstractSocket','QDomNode','QLayoutItem','QSharedData','QTextDocumentFragment',
-			'QAbstractSpinBox','QDomNodeList','QLCDNumber','QSharedDataPointer','QTextEdit','QAbstractTableModel',
-			'QDomNotation','QLibrary','QShortcut','QTextEncoder','QAbstractTextDocumentLayout',
-			'QDomProcessingInstruction','QLibraryInfo','QShortcutEvent','QTextFormat','QAccessible','QDomText',
-			'QLine','QShowEvent','QTextFragment','QAccessibleBridge','QDoubleSpinBox','QLinearGradient',
-			'QSignalMapper','QTextFrame','QAccessibleBridgePlugin','QDoubleValidator','QLineEdit','QSignalSpy',
-			'QTextFrameFormat','QAccessibleEvent','QDrag','QLineF','QSize','QTextImageFormat','QAccessibleInterface',
-			'QDragEnterEvent','QLinkedList','QSizeF','QTextInlineObject','QAccessibleObject','QDragLeaveEvent',
-			'QLinkedListIterator','QSizeGrip','QTextLayout','QAccessiblePlugin','QDragMoveEvent','QLinuxFbScreen',
-			'QSizePolicy','QTextLength','QAccessibleWidget','QDropEvent','QList','QSlider','QTextLine','QAction',
-			'QDynamicPropertyChangeEvent','QListIterator','QSocketNotifier','QTextList','QActionEvent','QErrorMessage',
-			'QListView','QSortFilterProxyModel','QTextListFormat','QActionGroup','QEvent','QListWidget','QSound',
-			'QTextObject','QApplication','QEventLoop','QListWidgetItem','QSpacerItem','QTextOption','QAssistantClient',
-			'QExtensionFactory','QLocale','QSpinBox','QTextStream','QAxAggregated','QExtensionManager',
-			'QMacPasteboardMime','QSplashScreen','QTextTable','QAxBase','QFile','QMacStyle','QSplitter',
-			'QTextTableCell','QAxBindable','QFileDialog','QMainWindow','QSplitterHandle','QTextTableFormat',
-			'QAxFactory','QFileIconProvider','QMap','QSqlDatabase','QThread','QAxObject','QFileInfo','QMapIterator',
-			'QSqlDriver','QThreadStorage','QAxScript','QFileOpenEvent','QMatrix','QSqlDriverCreator','QTime',
-			'QAxScriptEngine','QFileSystemWatcher','QMenu','QSqlDriverCreatorBase','QTimeEdit','QAxScriptManager',
-			'QFlag','QMenuBar','QSqlDriverPlugin','QTimeLine','QAxWidget','QFlags','QMessageBox','QSqlError','QTimer',
-			'QBasicTimer','QFocusEvent','QMetaClassInfo','QSqlField','QTimerEvent','QBitArray','QFocusFrame',
-			'QMetaEnum','QSqlIndex','QToolBar','QBitmap','QFont','QMetaMethod','QSqlQuery','QToolBox','QBoxLayout',
-			'QFontComboBox','QMetaObject','QSqlQueryModel','QToolButton','QBrush','QFontDatabase','QMetaProperty',
-			'QSqlRecord','QToolTip','QBuffer','QFontDialog','QMetaType','QSqlRelation','QTransformedScreen',
-			'QButtonGroup','QFontInfo','QMimeData','QSqlRelationalDelegate','QTranslator','QByteArray','QFontMetrics',
-			'QMimeSource','QSqlRelationalTableModel','QTreeView','QByteArrayMatcher','QFontMetricsF','QModelIndex',
-			'QSqlResult','QTreeWidget','QCache','QFormBuilder','QMotifStyle','QSqlTableModel','QTreeWidgetItem',
-			'QCalendarWidget','QFrame','QMouseDriverFactory','QStack','QTreeWidgetItemIterator','QCDEStyle',
-			'QFSFileEngine','QMouseDriverPlugin','QStackedLayout','QUdpSocket','QChar','QFtp','QMouseEvent',
-			'QStackedWidget','QUiLoader','QCheckBox','QGenericArgument','QMoveEvent','QStandardItem','QUndoCommand',
-			'QChildEvent','QGenericReturnArgument','QMovie','QStandardItemEditorCreator','QUndoGroup',
-			'QCleanlooksStyle','QGLColormap','QMultiHash','QStandardItemModel','QUndoStack','QClipboard',
-			'QGLContext','QMultiMap','QStatusBar','QUndoView','QCloseEvent','QGLFormat','QMutableHashIterator',
-			'QStatusTipEvent','QUrl','QColor','QGLFramebufferObject','QMutableLinkedListIterator','QString',
-			'QUrlInfo','QColorDialog','QGLPixelBuffer','QMutableListIterator','QStringList','QUuid','QColormap',
-			'QGLWidget','QMutableMapIterator','QStringListModel','QValidator','QComboBox','QGradient',
-			'QMutableSetIterator','QStringMatcher','QVariant','QCommonStyle','QGraphicsEllipseItem',
-			'QMutableVectorIterator','QStyle','QVarLengthArray','QCompleter','QGraphicsItem','QMutex',
-			'QStyleFactory','QVBoxLayout','QConicalGradient','QGraphicsItemAnimation','QMutexLocker',
-			'QStyleHintReturn','QVector','QContextMenuEvent','QGraphicsItemGroup','QNetworkAddressEntry',
-			'QStyleHintReturnMask','QVectorIterator','QCopChannel','QGraphicsLineItem','QNetworkInterface',
-			'QStyleOption','QVFbScreen','QCoreApplication','QGraphicsPathItem','QNetworkProxy','QStyleOptionButton',
-			'QVNCScreen','QCursor','QGraphicsPixmapItem','QObject','QStyleOptionComboBox','QWaitCondition',
-			'QCustomRasterPaintDevice','QGraphicsPolygonItem','QObjectCleanupHandler','QStyleOptionComplex',
-			'QWhatsThis','QDataStream','QGraphicsRectItem','QPageSetupDialog','QStyleOptionDockWidget',
-			'QWhatsThisClickedEvent','QDataWidgetMapper','QGraphicsScene','QPaintDevice','QStyleOptionFocusRect',
-			'QWheelEvent','QDate','QGraphicsSceneContextMenuEvent','QPaintEngine','QStyleOptionFrame','QWidget',
-			'QDateEdit','QGraphicsSceneEvent','QPaintEngineState','QStyleOptionFrameV2','QWidgetAction','QDateTime',
-			'QGraphicsSceneHoverEvent','QPainter','QStyleOptionGraphicsItem','QWidgetItem','QDateTimeEdit',
-			'QGraphicsSceneMouseEvent','QPainterPath','QStyleOptionGroupBox','QWindowsMime','QDBusAbstractAdaptor',
-			'QGraphicsSceneWheelEvent','QPainterPathStroker','QStyleOptionHeader','QWindowsStyle',
-			'QDBusAbstractInterface','QGraphicsSimpleTextItem','QPaintEvent','QStyleOptionMenuItem',
-			'QWindowStateChangeEvent','QDBusArgument','QGraphicsSvgItem','QPair','QStyleOptionProgressBar',
-			'QWindowsXPStyle','QDBusConnection','QGraphicsTextItem','QPalette','QStyleOptionProgressBarV2',
-			'QWorkspace','QDBusConnectionInterface','QGraphicsView','QPen','QStyleOptionQ3DockWindow','QWriteLocker',
-			'QDBusError','QGridLayout','QPersistentModelIndex','QStyleOptionQ3ListView','QWSCalibratedMouseHandler',
-			'QDBusInterface','QGroupBox','QPicture','QStyleOptionQ3ListViewItem','QWSClient','QDBusMessage','QHash',
-			'QPictureFormatPlugin','QStyleOptionRubberBand','QWSEmbedWidget','QDBusObjectPath','QHashIterator',
-			'QPictureIO','QStyleOptionSizeGrip','QWSEvent','QDBusReply','QHBoxLayout','QPixmap','QStyleOptionSlider',
-			'QWSInputMethod','QDBusServer','QHeaderView','QPixmapCache','QStyleOptionSpinBox','QWSKeyboardHandler',
-			'QDBusSignature','QHelpEvent','QPlastiqueStyle','QStyleOptionTab','QWSMouseHandler','QDBusVariant',
-			'QHideEvent','QPluginLoader','QStyleOptionTabBarBase','QWSPointerCalibrationData','QDecoration',
-			'QHostAddress','QPoint','QStyleOptionTabV2','QWSScreenSaver','QDecorationFactory','QHostInfo','QPointer',
-			'QStyleOptionTabWidgetFrame','QWSServer','QDecorationPlugin','QHoverEvent','QPointF','QStyleOptionTitleBar',
-			'QWSTslibMouseHandler','QDesignerActionEditorInterface','QHttp','QPolygon','QStyleOptionToolBar','QWSWindow',
-			'QDesignerContainerExtension','QHttpHeader','QPolygonF','QStyleOptionToolBox','QWSWindowSurface',
-			'QDesignerCustomWidgetCollectionInterface','QHttpRequestHeader','QPrintDialog','QStyleOptionToolButton',
-			'QX11EmbedContainer','QDesignerCustomWidgetInterface','QHttpResponseHeader','QPrintEngine',
-			'QStyleOptionViewItem','QX11EmbedWidget','QDesignerFormEditorInterface','QIcon','QPrinter',
-			'QStyleOptionViewItemV2','QX11Info','QDesignerFormWindowCursorInterface','QIconDragEvent','QProcess',
-			'QStylePainter','QXmlAttributes','QDesignerFormWindowInterface','QIconEngine','QProgressBar',
-			'QStylePlugin','QXmlContentHandler','QDesignerFormWindowManagerInterface','QIconEnginePlugin',
-			'QProgressDialog','QSvgRenderer','QXmlDeclHandler','QDesignerMemberSheetExtension','QImage',
-			'QProxyModel','QSvgWidget','QXmlDefaultHandler','QDesignerObjectInspectorInterface','QImageIOHandler',
-			'QPushButton','QSyntaxHighlighter','QXmlDTDHandler','QDesignerPropertyEditorInterface','QImageIOPlugin',
-			'QQueue','QSysInfo','QXmlEntityResolver','QDesignerPropertySheetExtension','QImageReader','QRadialGradient',
-			'QSystemLocale','QXmlErrorHandler','QDesignerTaskMenuExtension','QImageWriter','QRadioButton',
-			'QSystemTrayIcon','QXmlInputSource','QDesignerWidgetBoxInterface','QInputContext','QRasterPaintEngine',
-			'QTabBar','QXmlLexicalHandler','QDesktopServices','QInputContextFactory','QReadLocker','QTabletEvent',
-			'QXmlLocator','QDesktopWidget','QInputContextPlugin','QReadWriteLock','QTableView','QXmlNamespaceSupport',
-			'QDial','QInputDialog','QRect','QTableWidget','QXmlParseException','QDialog','QInputEvent','QRectF',
-			'QTableWidgetItem','QXmlReader','QDialogButtonBox','QInputMethodEvent','QRegExp',
-			'QTableWidgetSelectionRange','QXmlSimpleReader'
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		5 => true,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #0000ff;',
-			2 => 'color: #0000ff;',
-			3 => 'color: #0000dd;',
-			4 => 'color: #0000ff;',
-			5 => 'color: #0000ee;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #ff0000;',
-			2 => 'color: #339900;',
-			'MULTI' => 'color: #ff0000; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #666666; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #000000;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #666666;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #0000dd;'
-			),
-		'METHODS' => array(
-			1 => 'color: #00eeff;',
-			2 => 'color: #00eeff;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #000000;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => '',
-		4 => '',
-		5 => 'http://doc.trolltech.com/4.2/{FNAME}.html'
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.',
-		2 => '::'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
+    'LANG_NAME' => 'C++ (QT)',
+    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    //Multiline-continued Singleline comments
+    'COMMENT_REGEXP' => array(1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(
+        //Simple Single Char Escapes
+        1 => "#\\\\[abfnrtv\\'\"?\n]#i",
+        //Hexadecimal Char Specs
+        2 => "#\\\\x[\da-fA-F]{2}#",
+        //Hexadecimal Char Specs
+        3 => "#\\\\u[\da-fA-F]{4}#",
+        //Hexadecimal Char Specs
+        4 => "#\\\\U[\da-fA-F]{8}#",
+        //Octal Char Specs
+        5 => "#\\\\[0-7]{1,3}#"
         ),
-    'TAB_WIDTH' => 4
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
+        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
+        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
+    'KEYWORDS' => array(
+        1 => array(
+            'case', 'continue', 'default', 'do', 'else', 'for', 'goto', 'if', 'return',
+            'switch', 'while', 'delete', 'new', 'this'
+            ),
+        2 => array(
+            'NULL', 'false', 'break', 'true', 'enum', 'errno', 'EDOM',
+            'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
+            'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
+            'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
+            'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
+            'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
+            'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
+            'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
+            'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
+            'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam',
+            'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
+            'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
+            'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace',
+            'try', 'catch', 'inline', 'dynamic_cast', 'const_cast', 'reinterpret_cast',
+            'static_cast', 'explicit', 'friend', 'wchar_t', 'typename', 'typeid', 'class' ,
+            'foreach','connect', 'Q_OBJECT' , 'slots' , 'signals'
+            ),
+        3 => array(
+            'cin', 'cerr', 'clog', 'cout',
+            'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
+            'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
+            'ispunct', 'isspace', 'isupper', 'isxdigit', 'tolower', 'toupper',
+            'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
+            'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
+            'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp',
+            'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
+            'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
+            'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
+            'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
+            'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
+            'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
+            'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
+            'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
+            'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
+            'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
+            'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
+            'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
+            'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
+            ),
+        4 => array(
+            'auto', 'bool', 'char', 'const', 'double', 'float', 'int', 'long', 'longint',
+            'register', 'short', 'shortint', 'signed', 'static', 'struct',
+            'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
+            'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
+            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
+            ),
+        5 => array(
+            'QAbstractButton','QDir','QIntValidator','QRegExpValidator','QTabWidget','QAbstractEventDispatcher',
+            'QDirectPainter','QIODevice','QRegion','QTcpServer','QAbstractExtensionFactory','QDirModel',
+            'QItemDelegate','QResizeEvent','QTcpSocket','QAbstractExtensionManager','QDockWidget',
+            'QItemEditorCreatorBase','QResource','QTemporaryFile','QAbstractFileEngine','QDomAttr',
+            'QItemEditorFactory','QRubberBand','QTestEventList','QAbstractFileEngineHandler','QDomCDATASection',
+            'QItemSelection','QScreen','QTextBlock','QAbstractFormBuilder','QDomCharacterData','QItemSelectionModel',
+            'QScreenCursor','QTextBlockFormat','QAbstractGraphicsShapeItem','QDomComment','QItemSelectionRange',
+            'QScreenDriverFactory','QTextBlockGroup','QAbstractItemDelegate','QDomDocument','QKbdDriverFactory',
+            'QScreenDriverPlugin','QTextBlockUserData','QAbstractItemModel','QDomDocumentFragment','QKbdDriverPlugin',
+            'QScrollArea','QTextBrowser','QAbstractItemView','QDomDocumentType','QKeyEvent','QScrollBar',
+            'QTextCharFormat','QAbstractListModel','QDomElement','QKeySequence','QSemaphore','QTextCodec',
+            'QAbstractPrintDialog','QDomEntity','QLabel','QSessionManager','QTextCodecPlugin','QAbstractProxyModel',
+            'QDomEntityReference','QLatin1Char','QSet','QTextCursor','QAbstractScrollArea','QDomImplementation',
+            'QLatin1String','QSetIterator','QTextDecoder','QAbstractSlider','QDomNamedNodeMap','QLayout','QSettings',
+            'QTextDocument','QAbstractSocket','QDomNode','QLayoutItem','QSharedData','QTextDocumentFragment',
+            'QAbstractSpinBox','QDomNodeList','QLCDNumber','QSharedDataPointer','QTextEdit','QAbstractTableModel',
+            'QDomNotation','QLibrary','QShortcut','QTextEncoder','QAbstractTextDocumentLayout',
+            'QDomProcessingInstruction','QLibraryInfo','QShortcutEvent','QTextFormat','QAccessible','QDomText',
+            'QLine','QShowEvent','QTextFragment','QAccessibleBridge','QDoubleSpinBox','QLinearGradient',
+            'QSignalMapper','QTextFrame','QAccessibleBridgePlugin','QDoubleValidator','QLineEdit','QSignalSpy',
+            'QTextFrameFormat','QAccessibleEvent','QDrag','QLineF','QSize','QTextImageFormat','QAccessibleInterface',
+            'QDragEnterEvent','QLinkedList','QSizeF','QTextInlineObject','QAccessibleObject','QDragLeaveEvent',
+            'QLinkedListIterator','QSizeGrip','QTextLayout','QAccessiblePlugin','QDragMoveEvent','QLinuxFbScreen',
+            'QSizePolicy','QTextLength','QAccessibleWidget','QDropEvent','QList','QSlider','QTextLine','QAction',
+            'QDynamicPropertyChangeEvent','QListIterator','QSocketNotifier','QTextList','QActionEvent','QErrorMessage',
+            'QListView','QSortFilterProxyModel','QTextListFormat','QActionGroup','QEvent','QListWidget','QSound',
+            'QTextObject','QApplication','QEventLoop','QListWidgetItem','QSpacerItem','QTextOption','QAssistantClient',
+            'QExtensionFactory','QLocale','QSpinBox','QTextStream','QAxAggregated','QExtensionManager',
+            'QMacPasteboardMime','QSplashScreen','QTextTable','QAxBase','QFile','QMacStyle','QSplitter',
+            'QTextTableCell','QAxBindable','QFileDialog','QMainWindow','QSplitterHandle','QTextTableFormat',
+            'QAxFactory','QFileIconProvider','QMap','QSqlDatabase','QThread','QAxObject','QFileInfo','QMapIterator',
+            'QSqlDriver','QThreadStorage','QAxScript','QFileOpenEvent','QMatrix','QSqlDriverCreator','QTime',
+            'QAxScriptEngine','QFileSystemWatcher','QMenu','QSqlDriverCreatorBase','QTimeEdit','QAxScriptManager',
+            'QFlag','QMenuBar','QSqlDriverPlugin','QTimeLine','QAxWidget','QFlags','QMessageBox','QSqlError','QTimer',
+            'QBasicTimer','QFocusEvent','QMetaClassInfo','QSqlField','QTimerEvent','QBitArray','QFocusFrame',
+            'QMetaEnum','QSqlIndex','QToolBar','QBitmap','QFont','QMetaMethod','QSqlQuery','QToolBox','QBoxLayout',
+            'QFontComboBox','QMetaObject','QSqlQueryModel','QToolButton','QBrush','QFontDatabase','QMetaProperty',
+            'QSqlRecord','QToolTip','QBuffer','QFontDialog','QMetaType','QSqlRelation','QTransformedScreen',
+            'QButtonGroup','QFontInfo','QMimeData','QSqlRelationalDelegate','QTranslator','QByteArray','QFontMetrics',
+            'QMimeSource','QSqlRelationalTableModel','QTreeView','QByteArrayMatcher','QFontMetricsF','QModelIndex',
+            'QSqlResult','QTreeWidget','QCache','QFormBuilder','QMotifStyle','QSqlTableModel','QTreeWidgetItem',
+            'QCalendarWidget','QFrame','QMouseDriverFactory','QStack','QTreeWidgetItemIterator','QCDEStyle',
+            'QFSFileEngine','QMouseDriverPlugin','QStackedLayout','QUdpSocket','QChar','QFtp','QMouseEvent',
+            'QStackedWidget','QUiLoader','QCheckBox','QGenericArgument','QMoveEvent','QStandardItem','QUndoCommand',
+            'QChildEvent','QGenericReturnArgument','QMovie','QStandardItemEditorCreator','QUndoGroup',
+            'QCleanlooksStyle','QGLColormap','QMultiHash','QStandardItemModel','QUndoStack','QClipboard',
+            'QGLContext','QMultiMap','QStatusBar','QUndoView','QCloseEvent','QGLFormat','QMutableHashIterator',
+            'QStatusTipEvent','QUrl','QColor','QGLFramebufferObject','QMutableLinkedListIterator','QString',
+            'QUrlInfo','QColorDialog','QGLPixelBuffer','QMutableListIterator','QStringList','QUuid','QColormap',
+            'QGLWidget','QMutableMapIterator','QStringListModel','QValidator','QComboBox','QGradient',
+            'QMutableSetIterator','QStringMatcher','QVariant','QCommonStyle','QGraphicsEllipseItem',
+            'QMutableVectorIterator','QStyle','QVarLengthArray','QCompleter','QGraphicsItem','QMutex',
+            'QStyleFactory','QVBoxLayout','QConicalGradient','QGraphicsItemAnimation','QMutexLocker',
+            'QStyleHintReturn','QVector','QContextMenuEvent','QGraphicsItemGroup','QNetworkAddressEntry',
+            'QStyleHintReturnMask','QVectorIterator','QCopChannel','QGraphicsLineItem','QNetworkInterface',
+            'QStyleOption','QVFbScreen','QCoreApplication','QGraphicsPathItem','QNetworkProxy','QStyleOptionButton',
+            'QVNCScreen','QCursor','QGraphicsPixmapItem','QObject','QStyleOptionComboBox','QWaitCondition',
+            'QCustomRasterPaintDevice','QGraphicsPolygonItem','QObjectCleanupHandler','QStyleOptionComplex',
+            'QWhatsThis','QDataStream','QGraphicsRectItem','QPageSetupDialog','QStyleOptionDockWidget',
+            'QWhatsThisClickedEvent','QDataWidgetMapper','QGraphicsScene','QPaintDevice','QStyleOptionFocusRect',
+            'QWheelEvent','QDate','QGraphicsSceneContextMenuEvent','QPaintEngine','QStyleOptionFrame','QWidget',
+            'QDateEdit','QGraphicsSceneEvent','QPaintEngineState','QStyleOptionFrameV2','QWidgetAction','QDateTime',
+            'QGraphicsSceneHoverEvent','QPainter','QStyleOptionGraphicsItem','QWidgetItem','QDateTimeEdit',
+            'QGraphicsSceneMouseEvent','QPainterPath','QStyleOptionGroupBox','QWindowsMime','QDBusAbstractAdaptor',
+            'QGraphicsSceneWheelEvent','QPainterPathStroker','QStyleOptionHeader','QWindowsStyle',
+            'QDBusAbstractInterface','QGraphicsSimpleTextItem','QPaintEvent','QStyleOptionMenuItem',
+            'QWindowStateChangeEvent','QDBusArgument','QGraphicsSvgItem','QPair','QStyleOptionProgressBar',
+            'QWindowsXPStyle','QDBusConnection','QGraphicsTextItem','QPalette','QStyleOptionProgressBarV2',
+            'QWorkspace','QDBusConnectionInterface','QGraphicsView','QPen','QStyleOptionQ3DockWindow','QWriteLocker',
+            'QDBusError','QGridLayout','QPersistentModelIndex','QStyleOptionQ3ListView','QWSCalibratedMouseHandler',
+            'QDBusInterface','QGroupBox','QPicture','QStyleOptionQ3ListViewItem','QWSClient','QDBusMessage','QHash',
+            'QPictureFormatPlugin','QStyleOptionRubberBand','QWSEmbedWidget','QDBusObjectPath','QHashIterator',
+            'QPictureIO','QStyleOptionSizeGrip','QWSEvent','QDBusReply','QHBoxLayout','QPixmap','QStyleOptionSlider',
+            'QWSInputMethod','QDBusServer','QHeaderView','QPixmapCache','QStyleOptionSpinBox','QWSKeyboardHandler',
+            'QDBusSignature','QHelpEvent','QPlastiqueStyle','QStyleOptionTab','QWSMouseHandler','QDBusVariant',
+            'QHideEvent','QPluginLoader','QStyleOptionTabBarBase','QWSPointerCalibrationData','QDecoration',
+            'QHostAddress','QPoint','QStyleOptionTabV2','QWSScreenSaver','QDecorationFactory','QHostInfo','QPointer',
+            'QStyleOptionTabWidgetFrame','QWSServer','QDecorationPlugin','QHoverEvent','QPointF','QStyleOptionTitleBar',
+            'QWSTslibMouseHandler','QDesignerActionEditorInterface','QHttp','QPolygon','QStyleOptionToolBar','QWSWindow',
+            'QDesignerContainerExtension','QHttpHeader','QPolygonF','QStyleOptionToolBox','QWSWindowSurface',
+            'QDesignerCustomWidgetCollectionInterface','QHttpRequestHeader','QPrintDialog','QStyleOptionToolButton',
+            'QX11EmbedContainer','QDesignerCustomWidgetInterface','QHttpResponseHeader','QPrintEngine',
+            'QStyleOptionViewItem','QX11EmbedWidget','QDesignerFormEditorInterface','QIcon','QPrinter',
+            'QStyleOptionViewItemV2','QX11Info','QDesignerFormWindowCursorInterface','QIconDragEvent','QProcess',
+            'QStylePainter','QXmlAttributes','QDesignerFormWindowInterface','QIconEngine','QProgressBar',
+            'QStylePlugin','QXmlContentHandler','QDesignerFormWindowManagerInterface','QIconEnginePlugin',
+            'QProgressDialog','QSvgRenderer','QXmlDeclHandler','QDesignerMemberSheetExtension','QImage',
+            'QProxyModel','QSvgWidget','QXmlDefaultHandler','QDesignerObjectInspectorInterface','QImageIOHandler',
+            'QPushButton','QSyntaxHighlighter','QXmlDTDHandler','QDesignerPropertyEditorInterface','QImageIOPlugin',
+            'QQueue','QSysInfo','QXmlEntityResolver','QDesignerPropertySheetExtension','QImageReader','QRadialGradient',
+            'QSystemLocale','QXmlErrorHandler','QDesignerTaskMenuExtension','QImageWriter','QRadioButton',
+            'QSystemTrayIcon','QXmlInputSource','QDesignerWidgetBoxInterface','QInputContext','QRasterPaintEngine',
+            'QTabBar','QXmlLexicalHandler','QDesktopServices','QInputContextFactory','QReadLocker','QTabletEvent',
+            'QXmlLocator','QDesktopWidget','QInputContextPlugin','QReadWriteLock','QTableView','QXmlNamespaceSupport',
+            'QDial','QInputDialog','QRect','QTableWidget','QXmlParseException','QDialog','QInputEvent','QRectF',
+            'QTableWidgetItem','QXmlReader','QDialogButtonBox','QInputMethodEvent','QRegExp',
+            'QTableWidgetSelectionRange','QXmlSimpleReader'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':', ',', ';', '|', '<', '>'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000; font-weight:bold;',
+            2 => 'color: #0057AE;',
+            3 => 'color: #2B74C7;',
+            4 => 'color: #0057AE;',
+            5 => 'color: #22aadd;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #888888;',
+            2 => 'color: #006E28;',
+            'MULTI' => 'color: #888888; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            1 => 'color: #000099; font-weight: bold;',
+            2 => 'color: #660099; font-weight: bold;',
+            3 => 'color: #660099; font-weight: bold;',
+            4 => 'color: #660099; font-weight: bold;',
+            5 => 'color: #006699; font-weight: bold;',
+            'HARD' => '',
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #006E28;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #BF0303;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #B08000;',
+            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
+            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
+            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
+            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
+            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #2B74C7;',
+            2 => 'color: #2B74C7;',
+            3 => 'color: #2B74C7;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #006E28;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => 'http://doc.trolltech.com/latest/{FNAMEL}.html'
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.',
+        2 => '::',
+        3 => '-&gt;',
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#>|^])",
+            'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-])"
+        ),
+        'OOLANG' => array(
+            'MATCH_AFTER' => '~?[a-zA-Z][a-zA-Z0-9_]*',
+        )
+    )
 );
 
 ?>
--- a/plugins/geshi/geshi/cpp.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/cpp.php	Fri May 29 19:30:59 2009 -0400
@@ -7,13 +7,15 @@
  *  - M. Uli Kusterer (witness.of.teachtext@gmx.net)
  *  - Jack Lloyd (lloyd@randombit.net)
  * Copyright: (c) 2004 Dennis Bayer, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/09/27
  *
  * C++ language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *  -  Added description of extra language features (SF#1970248)
  * 2004/XX/XX (1.0.2)
  *  -  Added several new keywords (Jack Lloyd)
  * 2004/11/27 (1.0.1)
@@ -47,125 +49,174 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'C++',
-	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'case', 'continue', 'default', 'do', 'else', 'for', 'goto', 'if', 'return',
-			'switch', 'while'
-			),
-		2 => array(
-			'NULL', 'false', 'break', 'true', 'enum', 'errno', 'EDOM',
-			'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
-			'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
-			'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
-			'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
-			'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
-			'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
-			'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
-			'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
-			'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam', 'NULL',
-			'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
-			'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
-			'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace',
-			'try', 'catch', 'inline', 'dynamic_cast', 'const_cast', 'reinterpret_cast',
-			'static_cast', 'explicit', 'friend', 'wchar_t', 'typename', 'typeid', 'class'
-			),
-		3 => array(
-			'cin', 'cerr', 'clog', 'cout', 'delete', 'new', 'this',
-			'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
-			'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
-			'ispunct', 'isspace', 'ispunct', 'isupper', 'isxdigit', 'tolower', 'toupper',
-			'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
-			'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
-			'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp', 'asin', 'acos', 'atan', 'atan2',
-			'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
-			'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
-			'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
-			'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
-			'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
-			'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
-			'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
-			'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
-			'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
-			'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
-			'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
-			'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
-			'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
-			),
-		4 => array(
-			'auto', 'bool', 'char', 'const', 'double', 'float', 'int', 'long', 'longint',
-			'register', 'short', 'shortint', 'signed', 'static', 'struct',
-			'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
-			'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
-			'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
-			),
-		),
-	'SYMBOLS' => array(
-		'(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #0000ff;',
-			2 => 'color: #0000ff;',
-			3 => 'color: #0000dd;',
-			4 => 'color: #0000ff;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #ff0000;',
-			2 => 'color: #339900;',
-			'MULTI' => 'color: #ff0000; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #666666; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #000000;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #666666;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #0000dd;'
-			),
-		'METHODS' => array(
-			1 => 'color: #00eeff;',
-			2 => 'color: #00eeff;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #000000;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.',
-		2 => '::'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
+    'LANG_NAME' => 'C++',
+    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    //Multiline-continued single-line comments
+    'COMMENT_REGEXP' => array(1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(
+        //Simple Single Char Escapes
+        1 => "#\\\\[abfnrtv\\'\"?\n]#i",
+        //Hexadecimal Char Specs
+        2 => "#\\\\x[\da-fA-F]{2}#",
+        //Hexadecimal Char Specs
+        3 => "#\\\\u[\da-fA-F]{4}#",
+        //Hexadecimal Char Specs
+        4 => "#\\\\U[\da-fA-F]{8}#",
+        //Octal Char Specs
+        5 => "#\\\\[0-7]{1,3}#"
+        ),
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
+        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
+        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
+    'KEYWORDS' => array(
+        1 => array(
+            'break', 'case', 'continue', 'default', 'do', 'else', 'for', 'goto', 'if', 'return',
+            'switch', 'throw', 'while'
+            ),
+        2 => array(
+            'NULL', 'false', 'true', 'enum', 'errno', 'EDOM',
+            'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
+            'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
+            'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
+            'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
+            'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
+            'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
+            'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
+            'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
+            'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam',
+            'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
+            'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
+            'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace',
+            'try', 'catch', 'inline', 'dynamic_cast', 'const_cast', 'reinterpret_cast',
+            'static_cast', 'explicit', 'friend', 'wchar_t', 'typename', 'typeid', 'class'
+            ),
+        3 => array(
+            'cin', 'cerr', 'clog', 'cout', 'delete', 'new', 'this',
+            'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
+            'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
+            'ispunct', 'isspace', 'isupper', 'isxdigit', 'tolower', 'toupper',
+            'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
+            'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
+            'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp',
+            'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
+            'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
+            'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
+            'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
+            'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
+            'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
+            'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
+            'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
+            'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
+            'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
+            'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
+            'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
+            'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
+            ),
+        4 => array(
+            'auto', 'bool', 'char', 'const', 'double', 'float', 'int', 'long', 'longint',
+            'register', 'short', 'shortint', 'signed', 'static', 'struct',
+            'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
+            'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
+            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
+            ),
+        ),
+    'SYMBOLS' => array(
+        0 => array('(', ')', '{', '}', '[', ']'),
+        1 => array('<', '>','='),
+        2 => array('+', '-', '*', '/', '%'),
+        3 => array('!', '^', '&', '|'),
+        4 => array('?', ':', ';')
         ),
-    'TAB_WIDTH' => 4
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000ff;',
+            2 => 'color: #0000ff;',
+            3 => 'color: #0000dd;',
+            4 => 'color: #0000ff;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666;',
+            2 => 'color: #339900;',
+            'MULTI' => 'color: #ff0000; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            1 => 'color: #000099; font-weight: bold;',
+            2 => 'color: #660099; font-weight: bold;',
+            3 => 'color: #660099; font-weight: bold;',
+            4 => 'color: #660099; font-weight: bold;',
+            5 => 'color: #006699; font-weight: bold;',
+            'HARD' => '',
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #008000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #FF0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #0000dd;',
+            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
+            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
+            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
+            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
+            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #007788;',
+            2 => 'color: #007788;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #008000;',
+            1 => 'color: #000080;',
+            2 => 'color: #000040;',
+            3 => 'color: #000040;',
+            4 => 'color: #008080;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.',
+        2 => '::'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#])",
+            'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_\|%\\-])"
+        )
+    )
 );
 
 ?>
--- a/plugins/geshi/geshi/csharp.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/csharp.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * ----------
  * Author: Alan Juden (alan@judenware.org)
  * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/06/04
  *
  * C# language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/25 (1.0.7.22)
+ *   -  Added highlighting of using and namespace directives as non-OOP
  * 2005/01/05 (1.0.1)
  *  -  Used hardquote support for @"..." strings (Cliff Stanford)
  * 2004/11/27 (1.0.0)
@@ -39,194 +41,209 @@
  *
  ************************************************************************************/
 
- $language_data = array (
-	'LANG_NAME' => 'C#',
-	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
+$language_data = array (
+    'LANG_NAME' => 'C#',
+    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'COMMENT_REGEXP' => array(
+        //Using and Namespace directives (basic support)
+        //Please note that the alias syntax for using is not supported
+        3 => '/(?:(?<=using[\\n\\s])|(?<=namespace[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*[a-zA-Z0-9_]+[\n\s]*(?=[;=])/i'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
     'HARDQUOTE' => array('@"', '"'),
     'HARDESCAPE' => array('""'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'as', 'auto', 'base', 'break', 'case', 'catch', 'const', 'continue',
-			'default', 'do', 'else', 'event', 'explicit', 'extern', 'false',
-			'finally', 'fixed', 'for', 'foreach', 'goto', 'if', 'implicit',
-			'in', 'internal', 'lock', 'namespace', 'null', 'operator', 'out',
-			'override', 'params', 'private', 'protected', 'public', 'readonly',
-			'ref', 'return', 'sealed', 'stackalloc', 'static', 'switch', 'this',
-			'throw', 'true', 'try', 'unsafe', 'using', 'virtual', 'void', 'while'
-			),
-		2 => array(
-			'#elif', '#endif', '#endregion', '#else', '#error', '#define', '#if',
-			'#line', '#region', '#undef', '#warning'
-			),
-		3 => array(
-			'checked', 'is', 'new', 'sizeof', 'typeof', 'unchecked'
-			),
-		4 => array(
-			'bool', 'byte', 'char', 'class', 'decimal', 'delegate', 'double',
-			'enum', 'float', 'int', 'interface', 'long', 'object', 'sbyte',
-			'short', 'string', 'struct', 'uint', 'ulong', 'ushort'
-			),
-		5 => array(
-			'Microsoft.Win32',
-			'System',
-			'System.CodeDOM',
-			'System.CodeDOM.Compiler',
-			'System.Collections',
-			'System.Collections.Bases',
-			'System.ComponentModel',
-			'System.ComponentModel.Design',
-			'System.ComponentModel.Design.CodeModel',
-			'System.Configuration',
-			'System.Configuration.Assemblies',
-			'System.Configuration.Core',
-			'System.Configuration.Install',
-			'System.Configuration.Interceptors',
-			'System.Configuration.Schema',
-			'System.Configuration.Web',
-			'System.Core',
-			'System.Data',
-			'System.Data.ADO',
-			'System.Data.Design',
-			'System.Data.Internal',
-			'System.Data.SQL',
-			'System.Data.SQLTypes',
-			'System.Data.XML',
-			'System.Data.XML.DOM',
-			'System.Data.XML.XPath',
-			'System.Data.XML.XSLT',
-			'System.Diagnostics',
-			'System.Diagnostics.SymbolStore',
-			'System.DirectoryServices',
-			'System.Drawing',
-			'System.Drawing.Design',
-			'System.Drawing.Drawing2D',
-			'System.Drawing.Imaging',
-			'System.Drawing.Printing',
-			'System.Drawing.Text',
-			'System.Globalization',
-			'System.IO',
-			'System.IO.IsolatedStorage',
-			'System.Messaging',
-			'System.Net',
-			'System.Net.Sockets',
-			'System.NewXml',
-			'System.NewXml.XPath',
-			'System.NewXml.Xsl',
-			'System.Reflection',
-			'System.Reflection.Emit',
-			'System.Resources',
-			'System.Runtime.InteropServices',
-			'System.Runtime.InteropServices.Expando',
-			'System.Runtime.Remoting',
-			'System.Runtime.Serialization',
-			'System.Runtime.Serialization.Formatters',
-			'System.Runtime.Serialization.Formatters.Binary',
-			'System.Security',
-			'System.Security.Cryptography',
-			'System.Security.Cryptography.X509Certificates',
-			'System.Security.Permissions',
-			'System.Security.Policy',
-			'System.Security.Principal',
-			'System.ServiceProcess',
-			'System.Text',
-			'System.Text.RegularExpressions',
-			'System.Threading',
-			'System.Timers',
-			'System.Web',
-			'System.Web.Caching',
-			'System.Web.Configuration',
-			'System.Web.Security',
-			'System.Web.Services',
-			'System.Web.Services.Description',
-			'System.Web.Services.Discovery',
-			'System.Web.Services.Protocols',
-			'System.Web.UI',
-			'System.Web.UI.Design',
-			'System.Web.UI.Design.WebControls',
-			'System.Web.UI.Design.WebControls.ListControls',
-			'System.Web.UI.HtmlControls',
-			'System.Web.UI.WebControls',
-			'System.WinForms',
-			'System.WinForms.ComponentModel',
-			'System.WinForms.Design',
-			'System.Xml',
-			'System.Xml.Serialization',
-			'System.Xml.Serialization.Code',
-			'System.Xml.Serialization.Schema'
-			),
-		),
-	'SYMBOLS' => array(
-		'+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', '|', ':',
-		'(', ')', '{', '}', '[', ']'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		5 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #0600FF;',
-			2 => 'color: #FF8000; font-weight: bold;',
-			3 => 'color: #008000;',
-			4 => 'color: #FF0000;',
-			5 => 'color: #000000;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #008080; font-style: italic;',
-			2 => 'color: #008080;',
-			'MULTI' => 'color: #008080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #008080; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #000000;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #808080;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #FF0000;'
-			),
-		'METHODS' => array(
-			1 => 'color: #0000FF;',
-			2 => 'color: #0000FF;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #008000;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => 'http://www.google.com/search?q={FNAME}+msdn.microsoft.com',
-		4 => ''
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.',
-		2 => '::'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'as', 'auto', 'base', 'break', 'case', 'catch', 'const', 'continue',
+            'default', 'do', 'else', 'event', 'explicit', 'extern', 'false',
+            'finally', 'fixed', 'for', 'foreach', 'goto', 'if', 'implicit',
+            'in', 'internal', 'lock', 'namespace', 'null', 'operator', 'out',
+            'override', 'params', 'partial', 'private', 'protected', 'public',
+            'readonly', 'ref', 'return', 'sealed', 'stackalloc', 'static',
+            'switch', 'this', 'throw', 'true', 'try', 'unsafe', 'using',
+            'virtual', 'void', 'while'
+            ),
+        2 => array(
+            '#elif', '#endif', '#endregion', '#else', '#error', '#define', '#if',
+            '#line', '#region', '#undef', '#warning'
+            ),
+        3 => array(
+            'checked', 'is', 'new', 'sizeof', 'typeof', 'unchecked'
+            ),
+        4 => array(
+            'bool', 'byte', 'char', 'class', 'decimal', 'delegate', 'double',
+            'enum', 'float', 'int', 'interface', 'long', 'object', 'sbyte',
+            'short', 'string', 'struct', 'uint', 'ulong', 'ushort'
+            ),
+        5 => array(
+            'Microsoft.Win32',
+            'System',
+            'System.CodeDOM',
+            'System.CodeDOM.Compiler',
+            'System.Collections',
+            'System.Collections.Bases',
+            'System.ComponentModel',
+            'System.ComponentModel.Design',
+            'System.ComponentModel.Design.CodeModel',
+            'System.Configuration',
+            'System.Configuration.Assemblies',
+            'System.Configuration.Core',
+            'System.Configuration.Install',
+            'System.Configuration.Interceptors',
+            'System.Configuration.Schema',
+            'System.Configuration.Web',
+            'System.Core',
+            'System.Data',
+            'System.Data.ADO',
+            'System.Data.Design',
+            'System.Data.Internal',
+            'System.Data.SQL',
+            'System.Data.SQLTypes',
+            'System.Data.XML',
+            'System.Data.XML.DOM',
+            'System.Data.XML.XPath',
+            'System.Data.XML.XSLT',
+            'System.Diagnostics',
+            'System.Diagnostics.SymbolStore',
+            'System.DirectoryServices',
+            'System.Drawing',
+            'System.Drawing.Design',
+            'System.Drawing.Drawing2D',
+            'System.Drawing.Imaging',
+            'System.Drawing.Printing',
+            'System.Drawing.Text',
+            'System.Globalization',
+            'System.IO',
+            'System.IO.IsolatedStorage',
+            'System.Messaging',
+            'System.Net',
+            'System.Net.Sockets',
+            'System.NewXml',
+            'System.NewXml.XPath',
+            'System.NewXml.Xsl',
+            'System.Reflection',
+            'System.Reflection.Emit',
+            'System.Resources',
+            'System.Runtime.InteropServices',
+            'System.Runtime.InteropServices.Expando',
+            'System.Runtime.Remoting',
+            'System.Runtime.Serialization',
+            'System.Runtime.Serialization.Formatters',
+            'System.Runtime.Serialization.Formatters.Binary',
+            'System.Security',
+            'System.Security.Cryptography',
+            'System.Security.Cryptography.X509Certificates',
+            'System.Security.Permissions',
+            'System.Security.Policy',
+            'System.Security.Principal',
+            'System.ServiceProcess',
+            'System.Text',
+            'System.Text.RegularExpressions',
+            'System.Threading',
+            'System.Timers',
+            'System.Web',
+            'System.Web.Caching',
+            'System.Web.Configuration',
+            'System.Web.Security',
+            'System.Web.Services',
+            'System.Web.Services.Description',
+            'System.Web.Services.Discovery',
+            'System.Web.Services.Protocols',
+            'System.Web.UI',
+            'System.Web.UI.Design',
+            'System.Web.UI.Design.WebControls',
+            'System.Web.UI.Design.WebControls.ListControls',
+            'System.Web.UI.HtmlControls',
+            'System.Web.UI.WebControls',
+            'System.WinForms',
+            'System.WinForms.ComponentModel',
+            'System.WinForms.Design',
+            'System.Xml',
+            'System.Xml.Serialization',
+            'System.Xml.Serialization.Code',
+            'System.Xml.Serialization.Schema'
+            ),
         ),
-    'TAB_WIDTH' => 4
+    'SYMBOLS' => array(
+        '+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', ':', ';',
+        '(', ')', '{', '}', '[', ']', '|'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0600FF;',
+            2 => 'color: #FF8000; font-weight: bold;',
+            3 => 'color: #008000;',
+            4 => 'color: #FF0000;',
+            5 => 'color: #000000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008080; font-style: italic;',
+            2 => 'color: #008080;',
+            3 => 'color: #008080;',
+            'MULTI' => 'color: #008080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #008080; font-weight: bold;',
+            'HARD' => 'color: #008080; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #666666;',
+            'HARD' => 'color: #666666;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #FF0000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #0000FF;',
+            2 => 'color: #0000FF;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #008000;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => 'http://www.google.com/search?q={FNAMEL}+msdn.microsoft.com',
+        4 => '',
+        5 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.',
+        2 => '::'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#>|^])",
+            'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-])"
+        )
+    )
 );
 
 ?>
--- a/plugins/geshi/geshi/css.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/css.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * -------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/06/18
  *
  * CSS language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *  -  Added description of extra language features (SF#1970248)
  * 2004/11/27 (1.0.3)
  *  -  Added support for multiple object splitters
  * 2004/10/27 (1.0.2)
@@ -47,16 +49,18 @@
  *
  ************************************************************************************/
 
-
 $language_data = array (
-	'LANG_NAME' => 'CSS',
-	'COMMENT_SINGLE' => array(1 => '@'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"', "'"),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
+    'LANG_NAME' => 'CSS',
+    'COMMENT_SINGLE' => array(1 => '@'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'COMMENT_REGEXP' => array(
+        2 => "/(?<=\\()\\s*(?:(?:[a-z0-9]+?:\\/\\/)?[a-z0-9_\\-\\.\\/:]+?)?[a-z]+?\\.[a-z]+?(\\?[^\)]+?)?\\s*?(?=\\))/i"
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"', "'"),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
             'aqua', 'azimuth', 'background-attachment', 'background-color',
             'background-image', 'background-position', 'background-repeat',
             'background', 'black', 'blue', 'border-bottom-color',
@@ -88,121 +92,121 @@
             'vertical-align', 'visibility', 'voice-family', 'volume',
             'white-space', 'widows', 'width', 'word-spacing', 'z-index',
             'bottom', 'left', 'height'
-        ),
-		2 => array(
-             'above', 'absolute', 'always', 'armenian', 'aural', 'auto',
-             'avoid', 'baseline', 'behind', 'below', 'bidi-override', 'blink',
-             'block', 'bold', 'bolder', 'both', 'capitalize', 'center-left',
-             'center-right', 'center', 'circle', 'cjk-ideographic',
-             'close-quote', 'collapse', 'condensed', 'continuous', 'crop',
-             'crosshair', 'cross', 'cursive', 'dashed', 'decimal-leading-zero',
-             'decimal', 'default', 'digits', 'disc', 'dotted', 'double',
-             'e-resize', 'embed', 'extra-condensed', 'extra-expanded',
-             'expanded', 'fantasy', 'far-left', 'far-right', 'faster', 'fast',
-             'fixed', 'fuchsia', 'georgian', 'gray', 'green', 'groove',
-             'hebrew', 'help', 'hidden', 'hide', 'higher', 'high',
-             'hiragana-iroha', 'hiragana', 'icon', 'inherit', 'inline-table',
-             'inline', 'inset', 'inside', 'invert', 'italic', 'justify',
-             'katakana-iroha', 'katakana', 'landscape', 'larger', 'large',
-             'left-side', 'leftwards', 'level', 'lighter', 'lime',
-             'line-through', 'list-item', 'loud', 'lower-alpha', 'lower-greek',
-             'lower-roman', 'lowercase', 'ltr', 'lower', 'low', 'maroon',
-             'medium', 'message-box', 'middle', 'mix', 'monospace', 'n-resize',
-             'narrower', 'navy', 'ne-resize', 'no-close-quote',
-             'no-open-quote', 'no-repeat', 'none', 'normal', 'nowrap',
-             'nw-resize', 'oblique', 'olive', 'once', 'open-quote', 'outset',
-             'outside', 'overline', 'pointer', 'portrait', 'purple', 'px',
-             'red', 'relative', 'repeat-x', 'repeat-y', 'repeat', 'rgb',
-             'ridge', 'right-side', 'rightwards', 's-resize', 'sans-serif',
-             'scroll', 'se-resize', 'semi-condensed', 'semi-expanded',
-             'separate', 'serif', 'show', 'silent', 'silver', 'slow', 'slower',
-             'small-caps', 'small-caption', 'smaller', 'soft', 'solid',
-             'spell-out', 'square', 'static', 'status-bar', 'super',
-             'sw-resize', 'table-caption', 'table-cell', 'table-column',
-             'table-column-group', 'table-footer-group', 'table-header-group',
-             'table-row', 'table-row-group', 'teal', 'text', 'text-bottom',
-             'text-top', 'thick', 'thin', 'transparent', 'ultra-condensed',
-             'ultra-expanded', 'underline', 'upper-alpha', 'upper-latin',
-             'upper-roman', 'uppercase', 'url', 'visible', 'w-resize', 'wait',
-             'white', 'wider', 'x-fast', 'x-high', 'x-large', 'x-loud',
-             'x-low', 'x-small', 'x-soft', 'xx-large', 'xx-small', 'yellow',
-             'yes'
+            ),
+        2 => array(
+            'above', 'absolute', 'always', 'armenian', 'aural', 'auto',
+            'avoid', 'baseline', 'behind', 'below', 'bidi-override', 'blink',
+            'block', 'bold', 'bolder', 'both', 'capitalize', 'center-left',
+            'center-right', 'center', 'circle', 'cjk-ideographic',
+            'close-quote', 'collapse', 'condensed', 'continuous', 'crop',
+            'crosshair', 'cross', 'cursive', 'dashed', 'decimal-leading-zero',
+            'decimal', 'default', 'digits', 'disc', 'dotted', 'double',
+            'e-resize', 'embed', 'extra-condensed', 'extra-expanded',
+            'expanded', 'fantasy', 'far-left', 'far-right', 'faster', 'fast',
+            'fixed', 'fuchsia', 'georgian', 'gray', 'green', 'groove',
+            'hebrew', 'help', 'hidden', 'hide', 'higher', 'high',
+            'hiragana-iroha', 'hiragana', 'icon', 'inherit', 'inline-table',
+            'inline', 'inset', 'inside', 'invert', 'italic', 'justify',
+            'katakana-iroha', 'katakana', 'landscape', 'larger', 'large',
+            'left-side', 'leftwards', 'level', 'lighter', 'lime',
+            'line-through', 'list-item', 'loud', 'lower-alpha', 'lower-greek',
+            'lower-roman', 'lowercase', 'ltr', 'lower', 'low', 'maroon',
+            'medium', 'message-box', 'middle', 'mix', 'monospace', 'n-resize',
+            'narrower', 'navy', 'ne-resize', 'no-close-quote',
+            'no-open-quote', 'no-repeat', 'none', 'normal', 'nowrap',
+            'nw-resize', 'oblique', 'olive', 'once', 'open-quote', 'outset',
+            'outside', 'overline', 'pointer', 'portrait', 'purple', 'px',
+            'red', 'relative', 'repeat-x', 'repeat-y', 'repeat', 'rgb',
+            'ridge', 'right-side', 'rightwards', 's-resize', 'sans-serif',
+            'scroll', 'se-resize', 'semi-condensed', 'semi-expanded',
+            'separate', 'serif', 'show', 'silent', 'silver', 'slow', 'slower',
+            'small-caps', 'small-caption', 'smaller', 'soft', 'solid',
+            'spell-out', 'square', 'static', 'status-bar', 'super',
+            'sw-resize', 'table-caption', 'table-cell', 'table-column',
+            'table-column-group', 'table-footer-group', 'table-header-group',
+            'table-row', 'table-row-group', 'teal', 'text', 'text-bottom',
+            'text-top', 'thick', 'thin', 'transparent', 'ultra-condensed',
+            'ultra-expanded', 'underline', 'upper-alpha', 'upper-latin',
+            'upper-roman', 'uppercase', 'url', 'visible', 'w-resize', 'wait',
+            'white', 'wider', 'x-fast', 'x-high', 'x-large', 'x-loud',
+            'x-low', 'x-small', 'x-soft', 'xx-large', 'xx-small', 'yellow',
+            'yes'
             )
         ),
-	'SYMBOLS' => array(
-		'(', ')', '{', '}', ':', ';'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => true,
-		2 => true
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #000000; font-weight: bold;',
-			2 => 'color: #993333;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #a1a100;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'SCRIPT' => array(
-			),
-		'REGEXPS' => array(
-			0 => 'color: #cc00cc;',
-			1 => 'color: #6666ff;',
-			2 => 'color: #3333ff;',
-            3 => 'color: #933;',
-            4 => 'color: #933;',
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => ''
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		0 => '\#[a-zA-Z0-9\-_]+',
-		1 => '\.[a-zA-Z0-9\-_]+',
-        2 => ':[a-zA-Z0-9\-]+',
-        3 => '(\d+|(\d*\.\d+))(em|ex|pt|px|cm|in|%)',
-        4 => array(
-            GESHI_SEARCH    => '(url\()([^)]+)(\))',
-            GESHI_REPLACE   => '\\2',
-            GESHI_BEFORE    => '\\1',
-            GESHI_AFTER     => '\\3',
-            GESHI_MODIFIERS => 'si'
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', ':', ';',
+        '>', '+', '*', ',', '^', '='
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000; font-weight: bold;',
+            2 => 'color: #993333;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #a1a100;',
+            2 => 'color: #ff0000; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #00AA00;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #00AA00;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #cc00cc;',
+            1 => 'color: #6666ff;',
+            2 => 'color: #3333ff;',
+            3 => 'color: #933;'
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        //DOM Node ID
+        0 => '\#[a-zA-Z0-9\-_]+',
+        //CSS classname
+        1 => '\.(?!\d)[a-zA-Z0-9\-_]+\b(?=[\{\.#\s,:].|<\|)',
+        //CSS Pseudo classes
+        //note: & is needed for &gt; (i.e. > )
+        2 => ':(?!\d)[a-zA-Z0-9\-]+\b(?:\s*(?=[\{\.#a-zA-Z,:+*&](.|\n)|<\|))',
+        //Measurements
+        3 => '[+\-]?(\d+|(\d*\.\d+))(em|ex|pt|px|cm|in|%)',
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-&\.])'
         )
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-        ),
-    'TAB_WIDTH' => 4
+    )
 );
 
-if (isset($this) && is_a($this, 'GeSHi')) {
-    $language_data['STYLES']['NUMBERS'][0] = $language_data['STYLES']['REGEXPS'][3];
-}
-
 ?>
--- a/plugins/geshi/geshi/d.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/d.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * -----
  * Author: Thomas Kuehne (thomas@kuehne.cn)
  * Copyright: (c) 2005 Thomas Kuehne (http://thomas.kuehne.cn/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2005/04/22
  *
  * D language file for GeSHi.
@@ -44,176 +44,145 @@
 
 $language_data = array (
     'LANG_NAME' => 'D',
-    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_SINGLE' => array(2 => '///', 1 => '//'),
     'COMMENT_MULTI' => array('/*' => '*/'),
+    'COMMENT_REGEXP' => array(
+        // doxygen comments
+        3 => '#/\*\*(?![\*\/]).*\*/#sU',
+        // raw strings
+        4 => '#r"[^"]*"#s',
+        // Script Style interpreter comment
+        5 => "/\A#!(?=\\/).*?$/m"
+        ),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-    'QUOTEMARKS' => array('"', "'", '`'),
-    'ESCAPE_CHAR' => '\\',
+    'QUOTEMARKS' => array('"', "'"),
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(
+        //Simple Single Char Escapes
+        1 => "#\\\\[abfnrtv\\'\"?\n]#i",
+        //Hexadecimal Char Specs
+        2 => "#\\\\x[\da-fA-F]{2}#",
+        //Hexadecimal Char Specs
+        3 => "#\\\\u[\da-fA-F]{4}#",
+        //Hexadecimal Char Specs
+        4 => "#\\\\U[\da-fA-F]{8}#",
+        //Octal Char Specs
+        5 => "#\\\\[0-7]{1,3}#",
+        //Named entity escapes
+        /*6 => "#\\\\&(?:quot|amp|lt|gt|OElig|oelig|Scaron|scaron|Yuml|circ|tilde|".
+            "ensp|emsp|thinsp|zwnj|zwj|lrm|rlm|ndash|mdash|lsquo|rsquo|sbquo|".
+            "ldquo|rdquo|bdquo|dagger|Dagger|permil|lsaquo|rsaquo|euro|nbsp|".
+            "iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|".
+            "shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|".
+            "sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|".
+            "Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|".
+            "Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|".
+            "times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|".
+            "aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|".
+            "euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|".
+            "otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|".
+            "yuml|fnof|Alpha|Beta|Gamma|Delta|Epsilon|Zeta|Eta|Theta|Iota|".
+            "Kappa|Lambda|Mu|Nu|Xi|Omicron|Pi|Rho|Sigma|Tau|Upsilon|Phi|Chi|".
+            "Psi|Omega|alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|".
+            "kappa|lambda|mu|nu|xi|omicron|pi|rho|sigmaf|sigma|tau|upsilon|".
+            "phi|chi|psi|omega|thetasym|upsih|piv|bull|hellip|prime|Prime|".
+            "oline|frasl|weierp|image|real|trade|alefsym|larr|uarr|rarr|darr|".
+            "harr|crarr|lArr|uArr|rArr|dArr|hArr|forall|part|exist|empty|".
+            "nabla|isin|notin|ni|prod|sum|minus|lowast|radic|prop|infin|ang|".
+            "and|or|cap|cup|int|there4|sim|cong|asymp|ne|equiv|le|ge|sub|sup|".
+            "nsub|sube|supe|oplus|otimes|perp|sdot|lceil|rceil|lfloor|rfloor|".
+            "lang|rang|loz|spades|clubs|hearts|diams);#",*/
+        // optimized:
+        6 => "#\\\\&(?:A(?:Elig|acute|circ|grave|lpha|ring|tilde|uml)|Beta|".
+            "C(?:cedil|hi)|D(?:agger|elta)|E(?:TH|acute|circ|grave|psilon|ta|uml)|".
+            "Gamma|I(?:acute|circ|grave|ota|uml)|Kappa|Lambda|Mu|N(?:tilde|u)|".
+            "O(?:Elig|acute|circ|grave|m(?:ega|icron)|slash|tilde|uml)|".
+            "P(?:hi|i|rime|si)|Rho|S(?:caron|igma)|T(?:HORN|au|heta)|".
+            "U(?:acute|circ|grave|psilon|uml)|Xi|Y(?:acute|uml)|Zeta|".
+            "a(?:acute|c(?:irc|ute)|elig|grave|l(?:efsym|pha)|mp|n[dg]|ring|".
+            "symp|tilde|uml)|b(?:dquo|eta|rvbar|ull)|c(?:ap|cedil|e(?:dil|nt)|".
+            "hi|irc|lubs|o(?:ng|py)|rarr|u(?:p|rren))|d(?:Arr|a(?:gger|rr)|".
+            "e(?:g|lta)|i(?:ams|vide))|e(?:acute|circ|grave|m(?:pty|sp)|nsp|".
+            "psilon|quiv|t[ah]|u(?:ml|ro)|xist)|f(?:nof|orall|ra(?:c(?:1[24]|34)|sl))|".
+            "g(?:amma|e|t)|h(?:Arr|arr|e(?:arts|llip))|i(?:acute|circ|excl|grave|mage|".
+            "n(?:fin|t)|ota|quest|sin|uml)|kappa|l(?:Arr|a(?:mbda|ng|quo|rr)|ceil|".
+            "dquo|e|floor|o(?:wast|z)|rm|s(?:aquo|quo)|t)|m(?:acr|dash|".
+            "i(?:cro|ddot|nus)|u)|n(?:abla|bsp|dash|e|i|ot(?:in)?|sub|tilde|u)|".
+            "o(?:acute|circ|elig|grave|line|m(?:ega|icron)|plus|r(?:d[fm])?|".
+            "slash|ti(?:lde|mes)|uml)|p(?:ar[at]|er(?:mil|p)|hi|iv?|lusmn|ound|".
+            "r(?:ime|o[dp])|si)|quot|r(?:Arr|a(?:dic|ng|quo|rr)|ceil|dquo|e(?:al|g)|".
+            "floor|ho|lm|s(?:aquo|quo))|s(?:bquo|caron|dot|ect|hy|i(?:gmaf?|m)|".
+            "pades|u(?:be?|m|p[123e]?)|zlig)|t(?:au|h(?:e(?:re4|ta(?:sym)?)|insp|".
+            "orn)|i(?:lde|mes)|rade)|u(?:Arr|a(?:cute|rr)|circ|grave|ml|".
+            "psi(?:h|lon)|uml)|weierp|xi|y(?:acute|en|uml)|z(?:eta|w(?:j|nj)));#",
+        ),
+    'HARDQUOTE' => array('`', '`'),
+    'HARDESCAPE' => array(),
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
+        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
+        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
     'KEYWORDS' => array(
         1 => array(
-                'while',
-                'switch',
-                'if',
-                'foreach',
-                'for',
-                'goto',
-                'return',
-                'else',
-                'do',
-                'case',
-                'continue',
-                'break'
+                'break', 'case', 'continue', 'do', 'else',
+                'for', 'foreach', 'goto', 'if', 'return',
+                'switch', 'while'
             ),
         2 => array(
-                'with',
-                'union',
-                'typeof',
-                'typeid',
-                'typedef',
-                'try',
-                'true',
-                'throw',
-                'this',
-                'super',
-                'pragma',
-                'out',
-                'null',
-                'new',
-                'module',
-                'mixin',
-                'is',
-                'invariant',
-                'interface',
-                'inout',
-                'in',
-                'import',
-                'function',
-                'finally',
-                'false',
-                'extern',
-                'delete',
-                'delegate',
-                'default',
-                'catch',
-                'cast',
-                'body',
-                'assert',
-                'asm',
-                'alias'
+                'alias', 'asm', 'assert', 'body', 'cast',
+                'catch', 'default', 'delegate', 'delete',
+                'extern', 'false', 'finally', 'function',
+                'import', 'in', 'inout', 'interface',
+                'invariant', 'is', 'mixin', 'module', 'new',
+                'null', 'out', 'pragma', 'ref', 'super', 'this',
+                'throw', 'true', 'try', 'typedef', 'typeid',
+                'typeof', 'union', 'with'
             ),
         3 => array(
-                'TypeInfo',
-                'SwitchError',
-                'OutOfMemoryException',
-                'Object',
-                'ModuleInfo',
-                'Interface',
-                'Exception',
-                'Error',
-                'ClassInfo',
-                'ArrayBoundsError',
-                'AssertError',
+                'ArrayBoundsError', 'AssertError',
+                'ClassInfo', 'Error', 'Exception',
+                'Interface', 'ModuleInfo', 'Object',
+                'OutOfMemoryException', 'SwitchError',
+                'TypeInfo', '_d_arrayappend',
+                '_d_arrayappendb', '_d_arrayappendc',
+                '_d_arrayappendcb', '_d_arraycast',
+                '_d_arraycast_frombit', '_d_arraycat',
+                '_d_arraycatb', '_d_arraycatn',
+                '_d_arraycopy', '_d_arraycopybit',
+                '_d_arraysetbit', '_d_arraysetbit2',
+                '_d_arraysetlength', '_d_arraysetlengthb',
+                '_d_callfinalizer',
+                '_d_create_exception_object',
+                '_d_criticalenter', '_d_criticalexit',
+                '_d_delarray', '_d_delclass',
+                '_d_delinterface', '_d_delmemory',
+                '_d_dynamic_cast', '_d_exception',
+                '_d_exception_filter', '_d_framehandler',
+                '_d_interface_cast', '_d_interface_vtbl',
+                '_d_invariant', '_d_isbaseof',
+                '_d_isbaseof2', '_d_local_unwind',
+                '_d_monitorenter', '_d_monitorexit',
+                '_d_monitorrelease', '_d_monitor_epilog',
+                '_d_monitor_handler', '_d_monitor_prolog',
+                '_d_new', '_d_newarrayi', '_d_newbitarray',
+                '_d_newclass', '_d_obj_cmp', '_d_obj_eq',
+                '_d_OutOfMemory', '_d_switch_dstring',
+                '_d_switch_string', '_d_switch_ustring',
                 '_d_throw',
-                '_d_switch_ustring',
-                '_d_switch_string',
-                '_d_switch_dstring',
-                '_d_OutOfMemory',
-                '_d_obj_eq',
-                '_d_obj_cmp',
-                '_d_newclass',
-                '_d_newbitarray',
-                '_d_newarrayi',
-                '_d_new',
-                '_d_monitorrelease',
-                '_d_monitor_prolog',
-                '_d_monitor_handler',
-                '_d_monitorexit',
-                '_d_monitor_epilog',
-                '_d_monitorenter',
-                '_d_local_unwind',
-                '_d_isbaseof2',
-                '_d_isbaseof',
-                '_d_invariant',
-                '_d_interface_vtbl',
-                '_d_interface_cast',
-                '_d_framehandler',
-                '_d_exception_filter',
-                '_d_exception',
-                '_d_dynamic_cast',
-                '_d_delmemory',
-                '_d_delinterface',
-                '_d_delclass',
-                '_d_delarray',
-                '_d_criticalexit',
-                '_d_criticalenter',
-                '_d_create_exception_object',
-                '_d_callfinalizer',
-                '_d_arraysetlengthb',
-                '_d_arraysetlength',
-                '_d_arraysetbit2',
-                '_d_arraysetbit',
-                '_d_arraycopybit',
-                '_d_arraycopy',
-                '_d_arraycatn',
-                '_d_arraycatb',
-                '_d_arraycat',
-                '_d_arraycast_frombit',
-                '_d_arraycast',
-                '_d_arrayappendcb',
-                '_d_arrayappendc',
-                '_d_arrayappendb',
-                '_d_arrayappend',
             ),
         4 => array(
-                'wchar',
-                'volatile',
-                'void',
-                'version',
-                'ushort',
-                'unittest',
-                'ulong',
-                'uint',
-                'ucent',
-                'ubyte',
-                'template',
-                'struct',
-                'static',
-                'synchronized',
-                'size_t',
-                'short',
-                'real',
-                'public',
-                'protected',
-                'private',
-                'ptrdiff_t',
-                'package',
-                'override',
-                'long',
-                'int',
-                'ireal',
-                'ifloat',
-                'idouble',
-                'float',
-                'final',
-                'export',
-                'enum',
-                'double',
-                'deprecated',
-                'debug',
-                'dchar',
-                'creal',
-                'const',
-                'class',
-                'char',
-                'cfloat',
-                'cent',
-                'cdouble',
-                'byte',
-                'bool',
-                'bit',
-                'auto',
-                'align',
-                'abstract'
+                'abstract', 'align', 'auto', 'bit', 'bool',
+                'byte', 'cdouble', 'cent', 'cfloat', 'char',
+                'class', 'const', 'creal', 'dchar', 'debug',
+                'deprecated', 'double', 'enum', 'export',
+                'final', 'float', 'idouble', 'ifloat', 'int',
+                'ireal', 'long', 'override', 'package',
+                'private', 'protected', 'ptrdiff_t',
+                'public', 'real', 'short', 'size_t',
+                'static', 'struct', 'synchronized',
+                'template', 'ubyte', 'ucent', 'uint',
+                'ulong', 'unittest', 'ushort', 'version',
+                'void', 'volatile', 'wchar'
             )
         ),
     'SYMBOLS' => array(
@@ -221,7 +190,7 @@
         '+', '-', '*', '/', '%', '&', '|', '^', '<', '>', '=', '~',
         ),
     'CASE_SENSITIVE' => array(
-        GESHI_COMMENTS => true,
+        GESHI_COMMENTS => false,
         1 => true,
         2 => true,
         3 => true,
@@ -235,21 +204,39 @@
             4 => 'color: #993333;'
             ),
         'COMMENTS' => array(
-            1=> 'color: #808080; font-style: italic;',
-            2=> 'color: #a1a100;',
+            1 => 'color: #808080; font-style: italic;',
+            2 => 'color: #009933; font-style: italic;',
+            3 => 'color: #009933; font-style: italic;',
+            4 => 'color: #ff0000;',
+            5 => 'color: #0040ff;',
             'MULTI' => 'color: #808080; font-style: italic;'
             ),
         'ESCAPE_CHAR' => array(
-            0 => 'color: #000099; font-weight: bold;'
+            0 => 'color: #000099; font-weight: bold;',
+            1 => 'color: #000099; font-weight: bold;',
+            2 => 'color: #660099; font-weight: bold;',
+            3 => 'color: #660099; font-weight: bold;',
+            4 => 'color: #660099; font-weight: bold;',
+            5 => 'color: #006699; font-weight: bold;',
+            6 => 'color: #666699; font-weight: bold; font-style: italic;',
+            'HARD' => '',
             ),
         'BRACKETS' => array(
             0 => 'color: #66cc66;'
             ),
         'STRINGS' => array(
-            0 => 'color: #ff0000;'
+            0 => 'color: #ff0000;',
+            'HARD' => 'color: #ff0000;'
             ),
         'NUMBERS' => array(
-            0 => 'color: #cc66cc;'
+            0 => 'color: #0000dd;',
+            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
+            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
+            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
+            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
+            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
             ),
         'METHODS' => array(
             1 => 'color: #006600;',
--- a/plugins/geshi/geshi/delphi.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/delphi.php	Fri May 29 19:30:59 2009 -0400
@@ -2,15 +2,17 @@
 /*************************************************************************************
  * delphi.php
  * ----------
- * Author: Járja Norbert (jnorbi@vipmail.hu)
- * Copyright: (c) 2004 Járja Norbert, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Author: J�rja Norbert (jnorbi@vipmail.hu), Benny Baumann (BenBE@omorphia.de)
+ * Copyright: (c) 2004 J�rja Norbert, Benny Baumann (BenBE@omorphia.de), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.2
  * Date Started: 2004/07/26
  *
  * Delphi (Object Pascal) language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *   -  Added description of extra language features (SF#1970248)
  * 2005/11/19 (1.0.3)
  *   -  Updated the very incomplete keyword and type lists
  * 2005/09/03 (1.0.2)
@@ -47,23 +49,26 @@
     'LANG_NAME' => 'Delphi',
     'COMMENT_SINGLE' => array(1 => '//'),
     'COMMENT_MULTI' => array('(*' => '*)', '{' => '}'),
+    //Compiler directives
+    'COMMENT_REGEXP' => array(2 => '/{\\$.*?}|\\(\\*\\$.*?\\*\\)/U'),
     'CASE_KEYWORDS' => 0,
-    'QUOTEMARKS' => array("'", '"'),
+    'QUOTEMARKS' => array("'"),
     'ESCAPE_CHAR' => '',
     'KEYWORDS' => array(
         1 => array(
-            'Abstract', 'And', 'Array', 'As', 'Asm', 'At', 'Begin', 'Case', 'Class',
-            'Const', 'Constructor', 'Contains', 'Destructor', 'DispInterface', 'Div',
-            'Do', 'DownTo', 'Else', 'End', 'Except', 'File', 'Finalization',
-            'Finally', 'For', 'Function', 'Goto', 'If', 'Implementation', 'In',
-            'Inherited', 'Initialization', 'Inline', 'Interface', 'Is', 'Label',
+            'Abstract', 'And', 'Array', 'As', 'Asm', 'At', 'Begin', 'Case',
+            'Class', 'Const', 'Constructor', 'Contains', 'Destructor',
+            'DispInterface', 'Div', 'Do', 'DownTo', 'Else', 'End', 'Except',
+            'Export', 'Exports', 'External', 'File', 'Finalization', 'Finally',
+            'For', 'Function', 'Goto', 'If', 'Implementation', 'In', 'Inherited',
+            'Initialization', 'Inline', 'Interface', 'Is', 'Label', 'Library',
             'Mod', 'Not', 'Object', 'Of', 'On', 'Or', 'Overload', 'Override',
             'Package', 'Packed', 'Private', 'Procedure', 'Program', 'Property',
-            'Protected', 'Public', 'Published', 'Raise', 'Record', 'Repeat',
-            'Requires', 'Resourcestring', 'Set', 'Shl', 'Shr', 'Then', 'ThreadVar',
-            'To', 'Try', 'Type', 'Unit', 'Until', 'Uses', 'Var', 'Virtual', 'While',
-            'With', 'Xor', 'assembler', 'cdecl', 'far', 'near', 'pascal', 'register',
-            'safecall', 'stdcall', 'varargs'
+            'Protected', 'Public', 'Published', 'Raise', 'Record', 'Register',
+            'Repeat', 'Requires', 'Resourcestring', 'Set', 'Shl', 'Shr', 'Then',
+            'ThreadVar', 'To', 'Try', 'Type', 'Unit', 'Until', 'Uses', 'Var',
+            'Virtual', 'While', 'With', 'Xor', 'assembler', 'far',
+            'near', 'pascal', 'register', 'cdecl', 'safecall', 'stdcall', 'varargs'
             ),
         2 => array(
             'nil', 'false', 'self', 'true', 'var', 'type', 'const'
@@ -205,33 +210,41 @@
             ),
         ),
     'CASE_SENSITIVE' => array(
-        GESHI_COMMENTS => true,
+        GESHI_COMMENTS => false,
         1 => false,
         2 => false,
         3 => false,
         4 => false,
         ),
+    'SYMBOLS' => array(
+        0 => array('(', ')', '[', ']'),
+        1 => array('.', ',', ':', ';'),
+        2 => array('@', '^'),
+        3 => array('=', '+', '-', '*', '/')
+        ),
     'STYLES' => array(
         'KEYWORDS' => array(
             1 => 'color: #000000; font-weight: bold;',
             2 => 'color: #000000; font-weight: bold;',
             3 => 'color: #000066;',
-            4 => 'color: #993333;'
+            4 => 'color: #000066; font-weight: bold;'
             ),
         'COMMENTS' => array(
             1 => 'color: #808080; font-style: italic;',
+            2 => 'color: #008000; font-style: italic;',
             'MULTI' => 'color: #808080; font-style: italic;'
             ),
         'ESCAPE_CHAR' => array(
+            0 => 'color: #ff0000; font-weight: bold;'
             ),
         'BRACKETS' => array(
-            0 => 'color: #66cc66;'
+            0 => 'color: #000066;'
             ),
         'STRINGS' => array(
             0 => 'color: #ff0000;'
             ),
         'NUMBERS' => array(
-            0 => 'color: #cc66cc;'
+            0 => 'color: #0000ff;'
             ),
         'METHODS' => array(
             1 => 'color: #006600;'
@@ -241,7 +254,10 @@
             1 => 'color: #ff0000;'
             ),
         'SYMBOLS' => array(
-            0 => 'color: #66cc66;'
+            0 => 'color: #000066;',
+            1 => 'color: #000066;',
+            2 => 'color: #000066;',
+            3 => 'color: #000066;'
             ),
         'SCRIPT' => array(
             )
@@ -257,7 +273,9 @@
         1 => '.'
         ),
     'REGEXPS' => array(
+        //Hex numbers
         0 => '\$[0-9a-fA-F]+',
+        //Characters
         1 => '\#\$?[0-9]{1,3}'
         ),
     'STRICT_MODE_APPLIES' => GESHI_NEVER,
--- a/plugins/geshi/geshi/diff.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/diff.php	Fri May 29 19:30:59 2009 -0400
@@ -4,22 +4,23 @@
  * --------
  * Author: Conny Brunnkvist (conny@fuchsia.se), W. Tasin (tasin@fhm.edu)
  * Copyright: (c) 2004 Fuchsia Open Source Solutions (http://www.fuchsia.se/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/12/29
  *
  * Diff-output language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *  -  Added description of extra language features (SF#1970248)
  * 2006/02/27
  *  -  changing language file to use matching of start (^) and end ($) (wt)
- * 
  * 2004/12/29 (1.0.0)
  *  -  First Release
  *
  * TODO (updated 2006/02/27)
  * -------------------------
- *    
+ *
  *
  *************************************************************************************
  *
@@ -43,142 +44,153 @@
 
 
 $language_data = array (
-	'LANG_NAME' => 'Diff',
-	'COMMENT_SINGLE' => array(),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array(),
-	'ESCAPE_CHAR' => ' ',
-	'KEYWORDS' => array(
-			1 => array(
-				'\ No newline at end of file'
-			),
-			2 => array(
-				'***************' /* This only seems to works in some cases? */
-			),
-		),
-	'SYMBOLS' => array(
-		),
-	'CASE_SENSITIVE' => array(
+    'LANG_NAME' => 'Diff',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => ' ',
+    'KEYWORDS' => array(
+            1 => array(
+                '\ No newline at end of file'
+            ),
+//            2 => array(
+//                '***************' /* This only seems to works in some cases? */
+//            ),
+        ),
+    'SYMBOLS' => array(
+        ),
+    'CASE_SENSITIVE' => array(
         1 => false,
-        2 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #aaaaaa; font-style: italic;',
-			2 => 'color: #dd6611;',
-			),
-		'COMMENTS' => array(
+//        2 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #aaaaaa; font-style: italic;',
+//            2 => 'color: #dd6611;',
             ),
-		'ESCAPE_CHAR' => array(
+        'COMMENTS' => array(
+            ),
+        'ESCAPE_CHAR' => array(
             0 => ''
-			),
-		'BRACKETS' => array(
+            ),
+        'BRACKETS' => array(
             0 => ''
-			),
-		'STRINGS' => array(
+            ),
+        'STRINGS' => array(
             0 => ''
-			),
-		'NUMBERS' => array(
+            ),
+        'NUMBERS' => array(
             0 => ''
-			),
-		'METHODS' => array(
+            ),
+        'METHODS' => array(
             0 => ''
-			),
-		'SYMBOLS' => array(
+            ),
+        'SYMBOLS' => array(
             0 => ''
-			),
-		'SCRIPT' => array(
+            ),
+        'SCRIPT' => array(
             0 => ''
-			),
+            ),
         'REGEXPS' => array(
-			0 => 'color: #440088;',
-			1 => 'color: #991111;',
-			2 => 'color: #00b000;',
-            3 => 'color: #888822;', 
-            4 => 'color: #888822;', 
-            5 => 'color: #0011dd;', 
-            6 => 'color: #440088;', 
-			7 => 'color: #991111;',
-            8 => 'color: #00b000;', 
-			9 => 'color: #888822;',
-                        ),
-		),
-	'URLS' => array(
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTER' => '',
-	'REGEXPS' => array(
-			0 => "[0-9,]+[acd][0-9,]+",
-			1 => array(
-			GESHI_SEARCH => '^\\&lt;.*$',
-			GESHI_REPLACE => '\\0',
-			GESHI_MODIFIERS => 'm',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => ''
-			),
-			2 => array(
-			GESHI_SEARCH => '^\\&gt;.*$',
-			GESHI_REPLACE => '\\0',
-			GESHI_MODIFIERS => 'm',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => ''
-			),
-			3 => array(
-			GESHI_SEARCH => '^[\\-]{3}\\s.*$',
-			GESHI_REPLACE => '\\0',
-			GESHI_MODIFIERS => 'm',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => ''
-			),
-			4 => array(
-			GESHI_SEARCH => '^(\\+){3}\\s.*$',
-			GESHI_REPLACE => '\\0',
-			GESHI_MODIFIERS => 'm',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => ''
-			),
-			5 => array(
-			GESHI_SEARCH => '^\\!.*$',
-			GESHI_REPLACE => '\\0',
-			GESHI_MODIFIERS => 'm',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => ''
-			),
-			6 => array(
-			GESHI_SEARCH => '^[\\@]{2}.*$',
-			GESHI_REPLACE => '\\0',
-			GESHI_MODIFIERS => 'm',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => ''
-			),
-			7 => array(
-			GESHI_SEARCH => '^\\-.*$',
-			GESHI_REPLACE => '\\0',
-			GESHI_MODIFIERS => 'm',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => ''
-			),
-			8 => array(
-			GESHI_SEARCH => '^\\+.*$',
-			GESHI_REPLACE => '\\0',
-			GESHI_MODIFIERS => 'm',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => ''
-			),
-			9 => array(
-			GESHI_SEARCH => '^(\\*){3}\\s.*$',
-			GESHI_REPLACE => '\\0',
-			GESHI_MODIFIERS => 'm',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => ''
-			),
-	),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+            0 => 'color: #440088;',
+            1 => 'color: #991111;',
+            2 => 'color: #00b000;',
+            3 => 'color: #888822;',
+            4 => 'color: #888822;',
+            5 => 'color: #0011dd;',
+            6 => 'color: #440088;',
+            7 => 'color: #991111;',
+            8 => 'color: #00b000;',
+            9 => 'color: #888822;',
+            ),
+        ),
+    'URLS' => array(
+        1 => '',
+//        2 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'REGEXPS' => array(
+        0 => "[0-9,]+[acd][0-9,]+",
+        //Removed lines
+        1 => array(
+            GESHI_SEARCH => '^\\&lt;.*$',
+            GESHI_REPLACE => '\\0',
+            GESHI_MODIFIERS => 'm',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        //Inserted lines
+        2 => array(
+            GESHI_SEARCH => '^\\&gt;.*$',
+            GESHI_REPLACE => '\\0',
+            GESHI_MODIFIERS => 'm',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        //Location line
+        3 => array(
+            GESHI_SEARCH => '^[\\-]{3}\\s.*$',
+            GESHI_REPLACE => '\\0',
+            GESHI_MODIFIERS => 'm',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        //Inserted line
+        4 => array(
+            GESHI_SEARCH => '^(\\+){3}\\s.*$',
+            GESHI_REPLACE => '\\0',
+            GESHI_MODIFIERS => 'm',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        //Modified line
+        5 => array(
+            GESHI_SEARCH => '^\\!.*$',
+            GESHI_REPLACE => '\\0',
+            GESHI_MODIFIERS => 'm',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        //File specification
+        6 => array(
+            GESHI_SEARCH => '^[\\@]{2}.*$',
+            GESHI_REPLACE => '\\0',
+            GESHI_MODIFIERS => 'm',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        //Removed line
+        7 => array(
+            GESHI_SEARCH => '^\\-.*$',
+            GESHI_REPLACE => '\\0',
+            GESHI_MODIFIERS => 'm',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        //Inserted line
+        8 => array(
+            GESHI_SEARCH => '^\\+.*$',
+            GESHI_REPLACE => '\\0',
+            GESHI_MODIFIERS => 'm',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        //File specification
+        9 => array(
+            GESHI_SEARCH => '^(\\*){3}\\s.*$',
+            GESHI_REPLACE => '\\0',
+            GESHI_MODIFIERS => 'm',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/div.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/div.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * ---------------------------------
  * Author: Gabriel Lorenzo (ermakina@gmail.com)
  * Copyright: (c) 2005 Gabriel Lorenzo (http://ermakina.gazpachito.net)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2005/06/19
  *
  * DIV language file for GeSHi.
@@ -39,88 +39,88 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'DIV',
-	'COMMENT_SINGLE' => array(1 => '//'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		1 => array(
-			'while','until','to','switch','step','return','repeat','loop','if','from','frame','for','end','elseif',
-			'else','default','debug','continue','clone','case','break','begin'
-			),
-		2 => array(
-			'xor','whoami','type','sizeof','pointer','or','offset','not','neg','mod','id','dup','and','_ne','_lt',
-			'_le','_gt','_ge','_eq'
-			),
-		3 => array(
-			'setup_program','program','process','private','local','import','global','function','const',
-			'compiler_options'
-			),
-		4 => array(
-			'word','struct','string','int','byte'
-			),
-		),
-	'SYMBOLS' => array(
-		'(',')','[',']','=','+','-','*','/','!','%','^','&',':',';',',','<','>'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #0040b1;',
-			2 => 'color: #000000;',
-			3 => 'color: #000066; font-weight: bold;',
-			4 => 'color: #993333;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => ''
-			),
-		'BRACKETS' => array(
-			0 => 'color: #44aa44;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			0 => 'color: #202020;',
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #44aa44;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => '',
-		4 => ''
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTER' => '',
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'DIV',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'while','until','to','switch','step','return','repeat','loop','if','from','frame','for','end','elseif',
+            'else','default','debug','continue','clone','case','break','begin'
+            ),
+        2 => array(
+            'xor','whoami','type','sizeof','pointer','or','offset','not','neg','mod','id','dup','and','_ne','_lt',
+            '_le','_gt','_ge','_eq'
+            ),
+        3 => array(
+            'setup_program','program','process','private','local','import','global','function','const',
+            'compiler_options'
+            ),
+        4 => array(
+            'word','struct','string','int','byte'
+            ),
+        ),
+    'SYMBOLS' => array(
+        '(',')','[',']','=','+','-','*','/','!','%','^','&',':',';',',','<','>'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0040b1;',
+            2 => 'color: #000000;',
+            3 => 'color: #000066; font-weight: bold;',
+            4 => 'color: #993333;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => ''
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #44aa44;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            0 => 'color: #202020;',
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #44aa44;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/dos.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/dos.php	Fri May 29 19:30:59 2009 -0400
@@ -4,20 +4,21 @@
  * -------
  * Author: Alessandro Staltari (staltari@geocities.com)
  * Copyright: (c) 2005 Alessandro Staltari (http://www.geocities.com/SiliconValley/Vista/8155/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2005/07/05
  *
  * DOS language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *   -  Added description of extra language features (SF#1970248)
  * 2005/07/05 (1.0.0)
  *  -  First Release
  *
  * TODO (updated 2005/07/05)
  * -------------------------
  *
- * - Find a way to higlight %*
  * - Highlight pipes and redirection (do we really need this?)
  * - Add missing keywords.
  * - Find a good hyperlink for keywords.
@@ -59,125 +60,139 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'DOS',
-	'COMMENT_SINGLE' => array(1 =>'REM', 2 => '@REM'),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array(),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-	    /* Flow control keywords */
-		1 => array(
-			'if', 'else', 'goto',
-			'for', 'in', 'do',
-			'call', 'exit'
-			),
-	    /* IF statement keywords */
-		2 => array(
-			'not', 'exist', 'errorlevel',
-			'defined',
-			'equ', 'neq', 'lss', 'leq', 'gtr', 'geq'
-			),
-	    /* Internal commands */
-		3 => array(
-			'shift',
-			'cd', 'dir', 'echo',
-			'setlocal', 'endlocal', 'set',
-			'pause'
-			),
-	    /* Special files */
-
-		4 => array(
-			'prn', 'nul', 'lpt3', 'lpt2', 'lpt1', 'con',
-			'com4', 'com3', 'com2', 'com1', 'aux'
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #00b100; font-weight: bold;',
-			2 => 'color: #000000; font-weight: bold;',
-			3 => 'color: #b1b100; font-weight: bold;',
-			4 => 'color: #0000ff; font-weight: bold;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			2 => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-/*			0 => 'color: #cc66cc;' */
-			),
-		'METHODS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #33cc33;',
-			1 => 'color: #33cc33;'
-			),
-		'SCRIPT' => array(
-			),
-		'REGEXPS' => array(
-			0 => 'color: #b100b1; font-weight: bold;',
-			1 => 'color: #448844;',
-			2 => 'color: #448888;'
-			)
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
+    'LANG_NAME' => 'DOS',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(),
+    //DOS comment lines
+    'COMMENT_REGEXP' => array(1 => "/^\s*@?REM.*$/mi"),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        /* Flow control keywords */
+        1 => array(
+            'if', 'else', 'goto', 'shift',
+            'for', 'in', 'do',
+            'call', 'exit'
+            ),
+        /* IF statement keywords */
+        2 => array(
+            'not', 'exist', 'errorlevel',
+            'defined',
+            'equ', 'neq', 'lss', 'leq', 'gtr', 'geq'
+            ),
+        /* Internal commands */
+        3 => array(
+            'cd', 'md', 'rd', 'chdir', 'mkdir', 'rmdir', 'dir',
+            'del', 'copy', 'move', 'ren', 'rename',
+            'echo',
+            'setlocal', 'endlocal', 'set',
+            'pause',
+            'pushd', 'popd', 'title', 'verify'
+            ),
+        /* Special files */
+        4 => array(
+            'prn', 'nul', 'lpt3', 'lpt2', 'lpt1', 'con',
+            'com4', 'com3', 'com2', 'com1', 'aux'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '@', '%'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #00b100; font-weight: bold;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #b1b100; font-weight: bold;',
+            4 => 'color: #0000ff; font-weight: bold;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #ff0000; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #33cc33;',
+            1 => 'color: #33cc33;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #b100b1; font-weight: bold;',
+            1 => 'color: #448844;',
+            2 => 'color: #448888;'
+            )
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
     'URLS' => array(
-         1 => 'http://www.ss64.com/nt/{FNAME}.html',
-         2 => 'http://www.ss64.com/nt/{FNAME}.html',
-         3 => 'http://www.ss64.com/nt/{FNAME}.html',
-         4 => 'http://www.ss64.com/nt/{FNAME}.html'
-         ),
-	'REGEXPS' => array(
-	/* Label */
-	    0 => array(
-/*		GESHI_SEARCH => '((?si:[@\s]+GOTO\s+|\s+:)[\s]*)((?<!\n)[^\s\n]*)',*/
-		GESHI_SEARCH => '((?si:[@\s]+GOTO\s+|\s+:)[\s]*)((?<!\n)[^\n]*)',
-		GESHI_REPLACE => '\\2',
-		GESHI_MODIFIERS => 'si',
-		GESHI_BEFORE => '\\1',
-		GESHI_AFTER => ''
-		),
-	/* Variable assignement */
-	    1 => array(
-/*		GESHI_SEARCH => '(SET[\s]+(?si:/A[\s]+|/P[\s]+|))([^=\s\n]+)([\s]*=)',*/
-		GESHI_SEARCH => '(SET[\s]+(?si:/A[\s]+|/P[\s]+|))([^=\n]+)([\s]*=)',
-		GESHI_REPLACE => '\\2',
-		GESHI_MODIFIERS => 'si',
-		GESHI_BEFORE => '\\1',
-		GESHI_AFTER => '\\3'
-		),
-	/* Arguments or variable evaluation */
-	    2 => array(
-/*		GESHI_SEARCH => '(%)([\d*]|[^%\s]*(?=%))((?<!%\d)%|)',*/
-		GESHI_SEARCH => '(%)([\d*]|[^%]*(?=%))((?<!%\d)%|)',
-		GESHI_REPLACE => '\\2',
-		GESHI_MODIFIERS => 'si',
-		GESHI_BEFORE => '\\1',
-		GESHI_AFTER => '\\3'
-		)
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+        1 => 'http://www.ss64.com/nt/{FNAMEL}.html',
+        2 => 'http://www.ss64.com/nt/{FNAMEL}.html',
+        3 => 'http://www.ss64.com/nt/{FNAMEL}.html',
+        4 => 'http://www.ss64.com/nt/{FNAMEL}.html'
+        ),
+    'REGEXPS' => array(
+        /* Label */
+        0 => array(
+/*            GESHI_SEARCH => '((?si:[@\s]+GOTO\s+|\s+:)[\s]*)((?<!\n)[^\s\n]*)',*/
+            GESHI_SEARCH => '((?si:[@\s]+GOTO\s+|\s+:)[\s]*)((?<!\n)[^\n]*)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'si',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
+        ),
+        /* Variable assignement */
+        1 => array(
+/*            GESHI_SEARCH => '(SET[\s]+(?si:\/A[\s]+|\/P[\s]+|))([^=\s\n]+)([\s]*=)',*/
+            GESHI_SEARCH => '(SET[\s]+(?si:\/A[\s]+|\/P[\s]+|))([^=\n]+)([\s]*=)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'si',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3'
+            ),
+        /* Arguments or variable evaluation */
+        2 => array(
+/*            GESHI_SEARCH => '(%)([\d*]|[^%\s]*(?=%))((?<!%\d)%|)',*/
+            GESHI_SEARCH => '(%(?:%(?=[a-z0-9]))?)([\d*]|(?:~[adfnpstxz]*(?:$\w+:)?)?[a-z0-9](?!\w)|[^%\n]*(?=%))((?<!%\d)%|)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'si',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3'
+            )
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            4 => array(
+                'DISALLOWED_BEFORE' => '(?<!\w)'
+                )
+            )
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/dot.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/dot.php	Fri May 29 19:30:59 2009 -0400
@@ -4,10 +4,8 @@
  * ---------------------------------
  * Author: Adrien Friggeri (adrien@friggeri.net)
  * Copyright: (c) 2007 Adrien Friggeri (http://www.friggeri.net)
- * Release Version: 1.0.7.20
- * CVS Revision Version: $Revision: 958 $
+ * Release Version: 1.0.8.2
  * Date Started: 2007/05/30
- * Last Modified: $Date: 2007-04-01 23:51:03 +1200 (Sun, 01 Apr 2007) $
  *
  * dot language file for GeSHi.
  *
@@ -48,104 +46,110 @@
     'QUOTEMARKS' => array('"'),
     'ESCAPE_CHAR' => '\\',
     'KEYWORDS' => array(
-        1 => array('URL', 'arrowhead', 'arrowsize', 'arrowtail', 'bb', 'bgcolor', 'bottomlabel',
-          'center', 'clusterrank', 'color', 'comment', 'constraint', 'decorate',
-          'dir', 'distortion', 'fillcolor', 'fixedsize', 'fontcolor',
-          'fontname', 'fontsize', 'group', 'headclip', 'headlabel', 'headport',
-          'height', 'id', 'label', 'labelangle', 'labeldistance', 'labelfontcolor',
-          'labelfontname', 'labelfontsize', 'layer', 'layers', 'margin', 'mclimit',
-          'minlen', 'nodesep', 'nslimit', 'ordering', 'orientation', 'page',
-          'pagedir', 'peripheries', 'port_label_distance', 'quantum', 'rank', 'rankdir',
-          'ranksep', 'ratio', 'regular', 'rotate', 'samehead', 'sametail', 'searchsize',
-          'shape', 'shapefile', 'showboxes', 'sides', 'size', 'skew', 'style',
-          'tailclip', 'taillabel', 'tailport', 'toplabel', 'weight', 'width' 
-        ),
-        2 => array('node', 'graph', 'digraph', 'strict', 'edge', 'subgraph'),
-        3 => array('FALSE', 'Mcircle', 'Mdiamond', 'Mrecord', 'Msquare', 'TRUE', 'auto', 'back',
-          'bold', 'both', 'box', 'circle', 'compress', 'dashed', 'diamond', 'dot',
-          'dotted', 'doublecircle', 'doubleoctagon', 'egg', 'ellipse', 'epsf', 'false',
-          'fill', 'filled', 'forward', 'global', 'hexagon', 'house', 'inv', 'invdot',
-          'invhouse', 'invis', 'invodot', 'invtrapezium', 'invtriangle', 'local', 'max',
-          'min', 'none', 'normal', 'octagon', 'odot', 'out', 'parallelogram', 'plaintext',
-          'polygon', 'record', 'same', 'solid', 'trapezium', 'triangle', 'tripleoctagon',
-          'true' 
+        1 => array(
+            'URL', 'arrowhead', 'arrowsize', 'arrowtail', 'bb', 'bgcolor', 'bottomlabel',
+            'center', 'clusterrank', 'color', 'comment', 'constraint', 'decorate',
+            'dir', 'distortion', 'fillcolor', 'fixedsize', 'fontcolor',
+            'fontname', 'fontsize', 'group', 'headclip', 'headlabel', 'headport',
+            'height', 'id', 'label', 'labelangle', 'labeldistance', 'labelfontcolor',
+            'labelfontname', 'labelfontsize', 'layer', 'layers', 'margin', 'mclimit',
+            'minlen', 'nodesep', 'nslimit', 'ordering', 'orientation', 'page',
+            'pagedir', 'peripheries', 'port_label_distance', 'quantum', 'rank', 'rankdir',
+            'ranksep', 'ratio', 'regular', 'rotate', 'samehead', 'sametail', 'searchsize',
+            'shape', 'shapefile', 'showboxes', 'sides', 'size', 'skew', 'style',
+            'tailclip', 'taillabel', 'tailport', 'toplabel', 'weight', 'width'
+            ),
+        2 => array(
+            'node', 'graph', 'digraph', 'strict', 'edge', 'subgraph'
+            ),
+        3 => array(
+            'Mcircle', 'Mdiamond', 'Mrecord', 'Msquare', 'TRUE', 'auto', 'back',
+            'bold', 'both', 'box', 'circle', 'compress', 'dashed', 'diamond', 'dot',
+            'dotted', 'doublecircle', 'doubleoctagon', 'egg', 'ellipse', 'epsf', 'false',
+            'fill', 'filled', 'forward', 'global', 'hexagon', 'house', 'inv', 'invdot',
+            'invhouse', 'invis', 'invodot', 'invtrapezium', 'invtriangle', 'local', 'max',
+            'min', 'none', 'normal', 'octagon', 'odot', 'out', 'parallelogram', 'plaintext',
+            'polygon', 'record', 'same', 'solid', 'trapezium', 'triangle', 'tripleoctagon',
+            'true'
+            ),
+        4 => array(
+            'aliceblue', 'antiquewhite', 'aquamarine', 'azure', 'beige', 'bisque', 'black',
+            'blanchedalmond', 'blue', 'blueviolet', 'brown', 'burlywood', 'cadetblue',
+            'chartreuse', 'chocolate', 'coral', 'cornflowerblue', 'cornsilk', 'crimson',
+            'cyan', 'darkgoldenrod', 'darkgreen', 'darkkhaki', 'darkolivegreen',
+            'darkorange', 'darkorchid', 'darksalmon', 'darkseagreen', 'darkslateblue',
+            'darkslategray', 'darkturquoise', 'darkviolet', 'deeppink', 'deepskyblue',
+            'dimgray', 'dodgerblue', 'firebrick', 'forestgreen', 'gainsboro', 'ghostwhite',
+            'gold', 'goldenrod', 'gray', 'green', 'greenyellow', 'honeydew', 'hotpink',
+            'indianred', 'indigo', 'ivory', 'khaki', 'lavender', 'lavenderblush',
+            'lawngreen', 'lemonchiffon', 'lightblue', 'lightcyan', 'lightgoldenrod',
+            'lightgoldenrodyellow', 'lightgray', 'lightpink', 'lightsalmon',
+            'lightseagreen', 'lightskyblue', 'lightslateblue', 'lightslategray',
+            'lightyellow', 'limegreen', 'linen', 'magenta', 'maroon', 'mediumaquamarine',
+            'mediumblue', 'mediumorchid', 'mediumpurple', 'mediumseagreen',
+            'mediumslateblue', 'mediumspringgreen', 'mediumturquoise', 'mediumvioletred',
+            'midnightblue', 'mintcream', 'mistyrose', 'moccasin', 'navajowhite', 'navy',
+            'navyblue', 'oldlace', 'olivedrab', 'oralwhite', 'orange', 'orangered',
+            'orchid', 'palegoldenrod', 'palegreen', 'paleturquoise', 'palevioletred',
+            'papayawhip', 'peachpuff', 'peru', 'pink', 'plum', 'powderblue', 'purple',
+            'red', 'rosybrown', 'royalblue', 'saddlebrown', 'salmon', 'salmon2', 'sandybrown',
+            'seagreen', 'seashell', 'sienna', 'skyblue', 'slateblue', 'slategray', 'snow',
+            'springgreen', 'steelblue', 'tan', 'thistle', 'tomato', 'turquoise', 'violet',
+            'violetred', 'wheat', 'white', 'whitesmoke', 'yellow', 'yellowgreen'
+            )
         ),
-        4 => array('aliceblue', 'antiquewhite', 'aquamarine', 'azure', 'beige', 'bisque', 'black',
-          'blanchedalmond', 'blue', 'blueviolet', 'brown', 'burlywood', 'cadetblue',
-          'chartreuse', 'chocolate', 'coral', 'cornflowerblue', 'cornsilk', 'crimson',
-          'cyan', 'darkgoldenrod', 'darkgreen', 'darkkhaki', 'darkolivegreen',
-          'darkorange', 'darkorchid', 'darksalmon', 'darkseagreen', 'darkslateblue',
-          'darkslategray', 'darkturquoise', 'darkviolet', 'deeppink', 'deepskyblue',
-          'dimgray', 'dodgerblue', 'firebrick', 'forestgreen', 'gainsboro', 'ghostwhite',
-          'gold', 'goldenrod', 'gray', 'green', 'greenyellow', 'honeydew', 'hotpink',
-          'indianred', 'indigo', 'ivory', 'khaki', 'lavender', 'lavenderblush',
-          'lawngreen', 'lemonchiffon', 'lightblue', 'lightcyan', 'lightgoldenrod',
-          'lightgoldenrodyellow', 'lightgray', 'lightpink', 'lightsalmon',
-          'lightseagreen', 'lightskyblue', 'lightslateblue', 'lightslategray',
-          'lightyellow', 'limegreen', 'linen', 'magenta', 'maroon', 'mediumaquamarine',
-          'mediumblue', 'mediumorchid', 'mediumpurple', 'mediumseagreen',
-          'mediumslateblue', 'mediumspringgreen', 'mediumturquoise', 'mediumvioletred',
-          'midnightblue', 'mintcream', 'mistyrose', 'moccasin', 'navajowhite', 'navy',
-          'navyblue', 'oldlace', 'olivedrab', 'oralwhite', 'orange', 'orangered',
-          'orchid', 'palegoldenrod', 'palegreen', 'paleturquoise', 'palevioletred',
-          'papayawhip', 'peachpuff', 'peru', 'pink', 'plum', 'powderblue', 'purple',
-          'red', 'rosybrown', 'royalblue', 'saddlebrown', 'salmon', 'salmon2', 'sandybrown',
-          'seagreen', 'seashell', 'sienna', 'skyblue', 'slateblue', 'slategray', 'snow',
-          'springgreen', 'steelblue', 'tan', 'thistle', 'tomato', 'turquoise', 'violet',
-          'violetred', 'wheat', 'white', 'whitesmoke', 'yellow', 'yellowgreen' 
-        )
-      ),
     'SYMBOLS' => array(
         '[', ']', '{', '}', '-', '+', '*', '/', '<', '>', '!', '~', '%', '&', '|', '='
-    ),
+        ),
     'CASE_SENSITIVE' => array(
         GESHI_COMMENTS => false,
         1 => false,
         2 => false,
         3 => false,
         4 => false,
-    ),
+        ),
     'STYLES' => array(
         'KEYWORDS' => array(
             1 => 'color: #000066;',
             2 => 'color: #000000; font-weight: bold;',
             3 => 'color: #993333;',
             4 => 'color: #b1b100;'
-        ),
+            ),
         'COMMENTS' => array(
             1 => 'color: #808080; font-style: italic;',
             2 => 'color: #339933;',
             'MULTI' => 'color: #808080; font-style: italic;'
-        ),
+            ),
         'ESCAPE_CHAR' => array(
             0 => 'color: #af624d; font-weight: bold;'
-        ),
+            ),
         'BRACKETS' => array(
             0 => 'color: #66cc66;'
-        ),
+            ),
         'STRINGS' => array(
             0 => 'color: #ff0000;'
-        ),
+            ),
         'NUMBERS' => array(
             0 => 'color: #cc66cc;'
-        ),
+            ),
         'SYMBOLS' => array(
             0 => 'color: #66cc66;'
-        ),
+            ),
         'METHODS' => array(
             ),
         'SCRIPT' => array(
             ),
         'REGEXPS' => array(
             ),
-    ),
+        ),
     'URLS' => array(
         1 => '',
         2 => '',
-        3 => ''
-    ),
+        3 => '',
+        4 => ''
+        ),
     'OOLANG' => false,
-    'OBJECT_SPLITTER' => '',    
+    'OBJECT_SPLITTERS' => array(),
     'REGEXPS' => array(),
     'STRICT_MODE_APPLIES' => GESHI_MAYBE,
     'SCRIPT_DELIMITERS' => array(),
@@ -154,7 +158,7 @@
         1 => true,
         2 => true,
         3 => true
-    )
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/eiffel.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/eiffel.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * ----------
  * Author: Zoran Simic (zsimic@axarosenberg.com)
  * Copyright: (c) 2005 Zoran Simic
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2005/06/30
  *
  * Eiffel language file for GeSHi.
@@ -37,358 +37,359 @@
  *
  ************************************************************************************/
 
- $language_data = array (
-	'LANG_NAME' => 'Eiffel',
-	'COMMENT_SINGLE' => array(1 => '--'),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '%',
-	'KEYWORDS' => array(
-		1 => array(
-			'separate',
-			'invariant',
-			'inherit',
-			'indexing',
-			'feature',
-			'expanded',
-			'deferred',
-			'class'
-			),
-		2 => array(
-			'xor',
-			'when',
-			'variant',
-			'until',
-			'unique',
-			'undefine',
-			'then',
-			'strip',
-			'select',
-			'retry',
-			'rescue',
-			'require',
-			'rename',
-			'reference',
-			'redefine',
-			'prefix',
-			'or',
-			'once',
-			'old',
-			'obsolete',
-			'not',
-			'loop',
-			'local',
-			'like',
-			'is',
-			'inspect',
-			'infix',
-			'include',
-			'implies',
-			'if',
-			'frozen',
-			'from',
-			'external',
-			'export',
-			'ensure',
-			'end',
-			'elseif',
-			'else',
-			'do',
-			'creation',
-			'create',
-			'check',
-			'as',
-			'and',
-			'alias',
-			'agent'
-			),
-		3 => array(
-			'Void',
-			'True',
-			'Result',
-			'Precursor',
-			'False',
-			'Current'
-			),
-		4 => array(
-			'UNIX_SIGNALS',
-			'UNIX_FILE_INFO',
-			'UNBOUNDED',
-			'TWO_WAY_TREE_CURSOR',
-			'TWO_WAY_TREE',
-			'TWO_WAY_SORTED_SET',
-			'TWO_WAY_LIST',
-			'TWO_WAY_CURSOR_TREE',
-			'TWO_WAY_CIRCULAR',
-			'TWO_WAY_CHAIN_ITERATOR',
-			'TUPLE',
-			'TREE',
-			'TRAVERSABLE',
-			'TO_SPECIAL',
-			'THREAD_CONTROL',
-			'THREAD_ATTRIBUTES',
-			'THREAD',
-			'TABLE',
-			'SUBSET',
-			'STRING_HANDLER',
-			'STRING',
-			'STREAM',
-			'STORABLE',
-			'STD_FILES',
-			'STACK',
-			'SPECIAL',
-			'SORTED_TWO_WAY_LIST',
-			'SORTED_STRUCT',
-			'SORTED_LIST',
-			'SINGLE_MATH',
-			'SET',
-			'SEQUENCE',
-			'SEQ_STRING',
-			'SEMAPHORE',
-			'ROUTINE',
-			'RESIZABLE',
-			'RECURSIVE_TREE_CURSOR',
-			'RECURSIVE_CURSOR_TREE',
-			'REAL_REF',
-			'REAL',
-			'RAW_FILE',
-			'RANDOM',
-			'QUEUE',
-			'PROXY',
-			'PROFILING_SETTING',
-			'PROCEDURE',
-			'PRIORITY_QUEUE',
-			'PRIMES',
-			'PRECOMP',
-			'POINTER_REF',
-			'POINTER',
-			'PLATFORM',
-			'PLAIN_TEXT_FILE',
-			'PATH_NAME',
-			'PART_SORTED_TWO_WAY_LIST',
-			'PART_SORTED_SET',
-			'PART_SORTED_LIST',
-			'PART_COMPARABLE',
-			'OPERATING_ENVIRONMENT',
-			'ONCE_CONTROL',
-			'OBJECT_OWNER',
-			'OBJECT_CONTROL',
-			'NUMERIC',
-			'NONE',
-			'MUTEX',
-			'MULTI_ARRAY_LIST',
-			'MULTAR_LIST_CURSOR',
-			'MEMORY',
-			'MEM_INFO',
-			'MEM_CONST',
-			'MATH_CONST',
-			'LIST',
-			'LINKED_TREE_CURSOR',
-			'LINKED_TREE',
-			'LINKED_STACK',
-			'LINKED_SET',
-			'LINKED_QUEUE',
-			'LINKED_PRIORITY_QUEUE',
-			'LINKED_LIST_CURSOR',
-			'LINKED_LIST',
-			'LINKED_CURSOR_TREE',
-			'LINKED_CIRCULAR',
-			'LINKABLE',
-			'LINEAR_ITERATOR',
-			'LINEAR',
-			'ITERATOR',
-			'IO_MEDIUM',
-			'INTERNAL',
-			'INTEGER_REF',
-			'INTEGER_INTERVAL',
-			'INTEGER',
-			'INFINITE',
-			'INDEXABLE',
-			'IDENTIFIED_CONTROLLER',
-			'IDENTIFIED',
-			'HIERARCHICAL',
-			'HEAP_PRIORITY_QUEUE',
-			'HASHABLE',
-			'HASH_TABLE_CURSOR',
-			'HASH_TABLE',
-			'GENERAL',
-			'GC_INFO',
-			'FUNCTION',
-			'FORMAT_INTEGER',
-			'FORMAT_DOUBLE',
-			'FIXED_TREE',
-			'FIXED_LIST',
-			'FIXED',
-			'FINITE',
-			'FILE_NAME',
-			'FILE',
-			'FIBONACCI',
-			'EXECUTION_ENVIRONMENT',
-			'EXCEPTIONS',
-			'EXCEP_CONST',
-			'DYNAMIC_TREE',
-			'DYNAMIC_LIST',
-			'DYNAMIC_CIRCULAR',
-			'DYNAMIC_CHAIN',
-			'DOUBLE_REF',
-			'DOUBLE_MATH',
-			'DOUBLE',
-			'DISPENSER',
-			'DIRECTORY_NAME',
-			'DIRECTORY',
-			'DECLARATOR',
-			'DEBUG_OUTPUT',
-			'CURSOR_TREE_ITERATOR',
-			'CURSOR_TREE',
-			'CURSOR_STRUCTURE',
-			'CURSOR',
-			'COUNTABLE_SEQUENCE',
-			'COUNTABLE',
-			'CONTAINER',
-			'CONSOLE',
-			'CONDITION_VARIABLE',
-			'COMPARABLE_STRUCT',
-			'COMPARABLE_SET',
-			'COMPARABLE',
-			'COMPACT_TREE_CURSOR',
-			'COMPACT_CURSOR_TREE',
-			'COLLECTION',
-			'CIRCULAR_CURSOR',
-			'CIRCULAR',
-			'CHARACTER_REF',
-			'CHARACTER',
-			'CHAIN',
-			'CELL',
-			'BOX',
-			'BOUNDED_STACK',
-			'BOUNDED_QUEUE',
-			'BOUNDED',
-			'BOOLEAN_REF',
-			'BOOLEAN',
-			'BOOL_STRING',
-			'BIT_REF',
-			'BINARY_TREE',
-			'BINARY_SEARCH_TREE_SET',
-			'BINARY_SEARCH_TREE',
-			'BILINEAR',
-			'BI_LINKABLE',
-			'BASIC_ROUTINES',
-			'BAG',
-			'ASCII',
-			'ARRAYED_TREE',
-			'ARRAYED_STACK',
-			'ARRAYED_QUEUE',
-			'ARRAYED_LIST_CURSOR',
-			'ARRAYED_LIST',
-			'ARRAYED_CIRCULAR',
-			'ARRAY2',
-			'ARRAY',
-			'ARGUMENTS',
-			'ANY',
-			'ACTIVE'
-			),
-		5 => array(
-			'yes',
-			'visible',
-			'trace',
-			'system',
-			'root',
-			'profile',
-			'override_cluster',
-			'object',
-			'no',
-			'multithreaded',
-			'msil_generation_type',
-			'line_generation',
-			'library',
-			'inlining_size',
-			'inlining',
-			'include_path',
-			'il_verifiable',
-			'exclude',
-			'exception_trace',
-			'dynamic_runtime',
-			'dotnet_naming_convention',
-			'disabled_debug',
-			'default',
-			'debug',
-			'dead_code_removal',
-			'console_application',
-			'cluster',
-			'cls_compliant',
-			'check_vape',
-			'assertion',
-			'array_optimization',
-			'all',
-			'address_expression'
-			),
-		),
-	'SYMBOLS' => array(
-		'+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', '|', ':',
-		'(', ')', '{', '}', '[', ']', '#'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => true,
-		5 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #0600FF; font-weight: bold;',
-			2 => 'color: #0600FF; font-weight: bold;',
-			3 => 'color: #800080;',
-			4 => 'color: #800000',
-			5 => 'color: #603000;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #008000; font-style: italic;',
-			'MULTI' => ''
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #005070; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #FF0000;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #0080A0;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #FF0000;'
-			),
-		'METHODS' => array(
-			1 => 'color: #000060;',
-			2 => 'color: #000050;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #600000;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => '',
-		4 => 'http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+{FNAME}&btnI=I%27m+Feeling+Lucky'
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+$language_data = array (
+    'LANG_NAME' => 'Eiffel',
+    'COMMENT_SINGLE' => array(1 => '--'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '%',
+    'KEYWORDS' => array(
+        1 => array(
+            'separate',
+            'invariant',
+            'inherit',
+            'indexing',
+            'feature',
+            'expanded',
+            'deferred',
+            'class'
+            ),
+        2 => array(
+            'xor',
+            'when',
+            'variant',
+            'until',
+            'unique',
+            'undefine',
+            'then',
+            'strip',
+            'select',
+            'retry',
+            'rescue',
+            'require',
+            'rename',
+            'reference',
+            'redefine',
+            'prefix',
+            'or',
+            'once',
+            'old',
+            'obsolete',
+            'not',
+            'loop',
+            'local',
+            'like',
+            'is',
+            'inspect',
+            'infix',
+            'include',
+            'implies',
+            'if',
+            'frozen',
+            'from',
+            'external',
+            'export',
+            'ensure',
+            'end',
+            'elseif',
+            'else',
+            'do',
+            'creation',
+            'create',
+            'check',
+            'as',
+            'and',
+            'alias',
+            'agent'
+            ),
+        3 => array(
+            'Void',
+            'True',
+            'Result',
+            'Precursor',
+            'False',
+            'Current'
+            ),
+        4 => array(
+            'UNIX_SIGNALS',
+            'UNIX_FILE_INFO',
+            'UNBOUNDED',
+            'TWO_WAY_TREE_CURSOR',
+            'TWO_WAY_TREE',
+            'TWO_WAY_SORTED_SET',
+            'TWO_WAY_LIST',
+            'TWO_WAY_CURSOR_TREE',
+            'TWO_WAY_CIRCULAR',
+            'TWO_WAY_CHAIN_ITERATOR',
+            'TUPLE',
+            'TREE',
+            'TRAVERSABLE',
+            'TO_SPECIAL',
+            'THREAD_CONTROL',
+            'THREAD_ATTRIBUTES',
+            'THREAD',
+            'TABLE',
+            'SUBSET',
+            'STRING_HANDLER',
+            'STRING',
+            'STREAM',
+            'STORABLE',
+            'STD_FILES',
+            'STACK',
+            'SPECIAL',
+            'SORTED_TWO_WAY_LIST',
+            'SORTED_STRUCT',
+            'SORTED_LIST',
+            'SINGLE_MATH',
+            'SET',
+            'SEQUENCE',
+            'SEQ_STRING',
+            'SEMAPHORE',
+            'ROUTINE',
+            'RESIZABLE',
+            'RECURSIVE_TREE_CURSOR',
+            'RECURSIVE_CURSOR_TREE',
+            'REAL_REF',
+            'REAL',
+            'RAW_FILE',
+            'RANDOM',
+            'QUEUE',
+            'PROXY',
+            'PROFILING_SETTING',
+            'PROCEDURE',
+            'PRIORITY_QUEUE',
+            'PRIMES',
+            'PRECOMP',
+            'POINTER_REF',
+            'POINTER',
+            'PLATFORM',
+            'PLAIN_TEXT_FILE',
+            'PATH_NAME',
+            'PART_SORTED_TWO_WAY_LIST',
+            'PART_SORTED_SET',
+            'PART_SORTED_LIST',
+            'PART_COMPARABLE',
+            'OPERATING_ENVIRONMENT',
+            'ONCE_CONTROL',
+            'OBJECT_OWNER',
+            'OBJECT_CONTROL',
+            'NUMERIC',
+            'NONE',
+            'MUTEX',
+            'MULTI_ARRAY_LIST',
+            'MULTAR_LIST_CURSOR',
+            'MEMORY',
+            'MEM_INFO',
+            'MEM_CONST',
+            'MATH_CONST',
+            'LIST',
+            'LINKED_TREE_CURSOR',
+            'LINKED_TREE',
+            'LINKED_STACK',
+            'LINKED_SET',
+            'LINKED_QUEUE',
+            'LINKED_PRIORITY_QUEUE',
+            'LINKED_LIST_CURSOR',
+            'LINKED_LIST',
+            'LINKED_CURSOR_TREE',
+            'LINKED_CIRCULAR',
+            'LINKABLE',
+            'LINEAR_ITERATOR',
+            'LINEAR',
+            'ITERATOR',
+            'IO_MEDIUM',
+            'INTERNAL',
+            'INTEGER_REF',
+            'INTEGER_INTERVAL',
+            'INTEGER',
+            'INFINITE',
+            'INDEXABLE',
+            'IDENTIFIED_CONTROLLER',
+            'IDENTIFIED',
+            'HIERARCHICAL',
+            'HEAP_PRIORITY_QUEUE',
+            'HASHABLE',
+            'HASH_TABLE_CURSOR',
+            'HASH_TABLE',
+            'GENERAL',
+            'GC_INFO',
+            'FUNCTION',
+            'FORMAT_INTEGER',
+            'FORMAT_DOUBLE',
+            'FIXED_TREE',
+            'FIXED_LIST',
+            'FIXED',
+            'FINITE',
+            'FILE_NAME',
+            'FILE',
+            'FIBONACCI',
+            'EXECUTION_ENVIRONMENT',
+            'EXCEPTIONS',
+            'EXCEP_CONST',
+            'DYNAMIC_TREE',
+            'DYNAMIC_LIST',
+            'DYNAMIC_CIRCULAR',
+            'DYNAMIC_CHAIN',
+            'DOUBLE_REF',
+            'DOUBLE_MATH',
+            'DOUBLE',
+            'DISPENSER',
+            'DIRECTORY_NAME',
+            'DIRECTORY',
+            'DECLARATOR',
+            'DEBUG_OUTPUT',
+            'CURSOR_TREE_ITERATOR',
+            'CURSOR_TREE',
+            'CURSOR_STRUCTURE',
+            'CURSOR',
+            'COUNTABLE_SEQUENCE',
+            'COUNTABLE',
+            'CONTAINER',
+            'CONSOLE',
+            'CONDITION_VARIABLE',
+            'COMPARABLE_STRUCT',
+            'COMPARABLE_SET',
+            'COMPARABLE',
+            'COMPACT_TREE_CURSOR',
+            'COMPACT_CURSOR_TREE',
+            'COLLECTION',
+            'CIRCULAR_CURSOR',
+            'CIRCULAR',
+            'CHARACTER_REF',
+            'CHARACTER',
+            'CHAIN',
+            'CELL',
+            'BOX',
+            'BOUNDED_STACK',
+            'BOUNDED_QUEUE',
+            'BOUNDED',
+            'BOOLEAN_REF',
+            'BOOLEAN',
+            'BOOL_STRING',
+            'BIT_REF',
+            'BINARY_TREE',
+            'BINARY_SEARCH_TREE_SET',
+            'BINARY_SEARCH_TREE',
+            'BILINEAR',
+            'BI_LINKABLE',
+            'BASIC_ROUTINES',
+            'BAG',
+            'ASCII',
+            'ARRAYED_TREE',
+            'ARRAYED_STACK',
+            'ARRAYED_QUEUE',
+            'ARRAYED_LIST_CURSOR',
+            'ARRAYED_LIST',
+            'ARRAYED_CIRCULAR',
+            'ARRAY2',
+            'ARRAY',
+            'ARGUMENTS',
+            'ANY',
+            'ACTIVE'
+            ),
+        5 => array(
+            'yes',
+            'visible',
+            'trace',
+            'system',
+            'root',
+            'profile',
+            'override_cluster',
+            'object',
+            'no',
+            'multithreaded',
+            'msil_generation_type',
+            'line_generation',
+            'library',
+            'inlining_size',
+            'inlining',
+            'include_path',
+            'il_verifiable',
+            'exclude',
+            'exception_trace',
+            'dynamic_runtime',
+            'dotnet_naming_convention',
+            'disabled_debug',
+            'default',
+            'debug',
+            'dead_code_removal',
+            'console_application',
+            'cluster',
+            'cls_compliant',
+            'check_vape',
+            'assertion',
+            'array_optimization',
+            'all',
+            'address_expression'
+            ),
+        ),
+    'SYMBOLS' => array(
+        '+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', '|', ':',
+        '(', ')', '{', '}', '[', ']', '#'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => true,
+        5 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0600FF; font-weight: bold;',
+            2 => 'color: #0600FF; font-weight: bold;',
+            3 => 'color: #800080;',
+            4 => 'color: #800000',
+            5 => 'color: #603000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008000; font-style: italic;',
+            'MULTI' => ''
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #005070; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #FF0000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #0080A0;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #FF0000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #000060;',
+            2 => 'color: #000050;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #600000;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => 'http://www.google.com/search?q=site%3Ahttp%3A%2F%2Fdocs.eiffel.com%2Feiffelstudio%2Flibraries+{FNAMEL}&amp;btnI=I%27m+Feeling+Lucky',
+        5 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/email.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,209 @@
+<?php
+/*************************************************************************************
+ * email.php
+ * ---------------
+ * Author: Benny Baumann (BenBE@geshi.org)
+ * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/10/19
+ *
+ * Email (mbox \ eml \ RFC format) language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/19 (1.0.8.1)
+ *   -  First Release
+ *
+ * TODO (updated 2008/10/19)
+ * -------------------------
+ * * Better checks when a header field should be expected
+ * * Fix the bound checks for kw groups 2 and 3, as well as rx group 1
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'eMail (mbox)',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'HTTP', 'SMTP', 'ASMTP', 'ESMTP'
+            ),
+        2 => array(
+            'Content-Type','Content-Transfer-Encoding','Content-Disposition',
+            'Delivered-To','Dkim-Signature','Domainkey-Signature','In-Reply-To',
+            'Message-Id','MIME-Version','Received','Received-SPF','References',
+            'Resend-From','Resend-To','Return-Path'
+            ),
+        3 => array(
+            'Date','From','Subject','To',
+            ),
+        4 => array(
+            'by', 'for', 'from', 'id', 'with'
+            )
+        ),
+    'SYMBOLS' => array(
+        ':', ';', '<', '>', '[', ']'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => false,
+        3 => false,
+        4 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000FF; font-weight: bold;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #800000; font-weight: bold;',
+            4 => 'font-weight: bold;',
+            ),
+        'COMMENTS' => array(
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SCRIPT' => array(
+            0 => 'color: #000040;',
+            ),
+        'REGEXPS' => array(
+            1 => 'color: #000000; font-weight: bold;',
+            2 => 'color: #0000FF;',
+            3 => 'color: #008000;',
+            4 => 'color: #0000FF; font-weight: bold;',
+            5 => 'font-weight: bold;',
+            6 => 'color: #400080;'
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        // Non-Standard-Header
+        1 => array(
+            GESHI_SEARCH => "(?<=\A\x20|\n)x-[a-z0-9\-]*(?=\s*:|\s*<)",
+            GESHI_REPLACE => "\\0",
+            GESHI_MODIFIERS => "smi",
+            GESHI_BEFORE => "",
+            GESHI_AFTER => ""
+            ),
+        //Email-Adresses or Mail-IDs
+        2 => array(
+            GESHI_SEARCH => "\b[\w\.]+@\w+(?:(?:\.\w+)*\.\w{2,4})?",
+            GESHI_REPLACE => "\\0",
+            GESHI_MODIFIERS => "mi",
+            GESHI_BEFORE => "",
+            GESHI_AFTER => ""
+            ),
+        //Date values in RFC format
+        3 => array(
+            GESHI_SEARCH => "\b(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s+\d\d?\s+" .
+                "(?:Jan|Feb|Mar|apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+" .
+                "\d{4}\s+\d\d?:\d\d:\d\d\s+[+\-]\d{4}(?:\s+\(\w+\))?",
+            GESHI_REPLACE => "\\0",
+            GESHI_MODIFIERS => "mi",
+            GESHI_BEFORE => "",
+            GESHI_AFTER => ""
+            ),
+        //IP addresses
+        4 => array(
+            GESHI_SEARCH => "(?<=\s)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?=\s)|".
+                "(?<=\[)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?=\])|".
+                "(?<==)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?=<)",
+            GESHI_REPLACE => "\\0",
+            GESHI_MODIFIERS => "i",
+            GESHI_BEFORE => "",
+            GESHI_AFTER => ""
+            ),
+        //Field-Assignments
+        5 => array(
+            GESHI_SEARCH => "(?<=\s)[A-Z0-9\-]+(?==(?!\s|$))",
+            GESHI_REPLACE => "\\0",
+            GESHI_MODIFIERS => "mi",
+            GESHI_BEFORE => "",
+            GESHI_AFTER => ""
+            ),
+        //MIME type
+        6 => array(
+            GESHI_SEARCH => "(?<=\s)(?:audio|application|image|multipart|text|".
+                "video|x-[a-z0-9\-]+)\/[a-z0-9][a-z0-9\-]*(?=\s|<|$)",
+            GESHI_REPLACE => "\\0",
+            GESHI_MODIFIERS => "m",
+            GESHI_BEFORE => "",
+            GESHI_AFTER => ""
+            )
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+    'SCRIPT_DELIMITERS' => array(
+        0 => "/(^)[A-Z][a-zA-Z0-9\-]*\s*:\s*(?:.|(?=\n\s)\n)*($)/m"
+    ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true,
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            2 => array(
+                'DISALLOWED_BEFORE' => '(?<=\A\x20|\n)',
+                'DISALLOWED_AFTER' => '(?=\s*:)',
+            ),
+            3 => array(
+                'DISALLOWED_BEFORE' => '(?<=\A\x20|\n)',
+                'DISALLOWED_AFTER' => '(?=\s*:)',
+            ),
+            4 => array(
+                'DISALLOWED_BEFORE' => '(?<=\s)',
+                'DISALLOWED_AFTER' => '(?=\s|\b)',
+            )
+        ),
+        'ENABLE_FLAGS' => array(
+            'BRACKETS' => GESHI_NEVER,
+            'COMMENTS' => GESHI_NEVER,
+            'NUMBERS' => GESHI_NEVER
+        )
+    )
+);
+
+?>
--- a/plugins/geshi/geshi/fortran.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/fortran.php	Fri May 29 19:30:59 2009 -0400
@@ -4,17 +4,19 @@
  * -----------
  * Author: Cedric Arrabie (cedric.arrabie@univ-pau.fr)
  * Copyright: (C) 2006 Cetric Arrabie
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2006/04/22
- * 
+ *
  * Fortran language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *   -  Added description of extra language features (SF#1970248)
  * 2006/04/20 (1.0.0)
  *   -  First Release
  *
- * TODO 
+ * TODO
  * -------------------------
  *  -  Get a list of inbuilt functions to add (and explore fortran more
  *     to complete this rather bare language file)
@@ -40,117 +42,119 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME'=>'Fortran',
-	'COMMENT_SINGLE'=> array(1 =>'!',2=>'Cf2py'),
-	'COMMENT_MULTI'=> array(),
-	'CASE_KEYWORDS'=> GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS'=> array("'",'"'),
-	'ESCAPE_CHAR'=>'\\',
-	'KEYWORDS'=> array(
-		1 => array(
-			'allocate','block','call','case','contains','continue','cycle','deallocate',
-			'default','do','else','elseif','elsewhere','end','enddo','endif','endwhere',
-			'entry','exit','function','go','goto','if','interface','module','nullify','only', 
-			'operator','procedure','program','recursive','return','select','stop', 
-			'subroutine','then','to','where','while',
+    'LANG_NAME'=>'Fortran',
+    'COMMENT_SINGLE'=> array(1 =>'!',2=>'Cf2py'),
+    'COMMENT_MULTI'=> array(),
+    //Fortran Comments
+    'COMMENT_REGEXP' => array(1 => '/^C.*?$/mi'),
+    'CASE_KEYWORDS'=> GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS'=> array("'",'"'),
+    'ESCAPE_CHAR'=>'\\',
+    'KEYWORDS'=> array(
+        1 => array(
+            'allocate','block','call','case','contains','continue','cycle','deallocate',
+            'default','do','else','elseif','elsewhere','end','enddo','endif','endwhere',
+            'entry','exit','function','go','goto','if','interface','module','nullify','only',
+            'operator','procedure','program','recursive','return','select','stop',
+            'subroutine','then','to','where','while',
             'access','action','advance','blank','blocksize','carriagecontrol',
-			'delim','direct','eor','err','exist','file','flen','fmt','form','formatted',
-			'iostat','name','named','nextrec','nml','number','opened','pad','position',
-			'readwrite','recl','sequential','status','unformatted','unit'
-			),
-		2 => array(
-			'.AND.','.EQ.','.EQV.','.GE.','.GT.','.LE.','.LT.','.NE.','.NEQV.','.NOT.',
-			'.OR.','.TRUE.','.FALSE.'
-			),
-		3 => array(
-			'allocatable','character','common','complex','data','dimension','double',
-			'equivalence','external','implicit','in','inout','integer','intent','intrinsic',
-			'kind','logical','namelist','none','optional','out','parameter','pointer',
-			'private','public','real','result','save','sequence','target','type','use'
-			),
-		4 => array(
-			'abs','achar','acos','adjustl','adjustr','aimag','aint','all','allocated',
-			'anint','any','asin','atan','atan2','bit_size','break','btest','carg',
-			'ceiling','char','cmplx','conjg','cos','cosh','cpu_time','count','cshift',
-			'date_and_time','dble','digits','dim','dot_product','dprod dvchk',
-			'eoshift','epsilon','error','exp','exponent','floor','flush','fraction',
-			'getcl','huge','iachar','iand','ibclr','ibits','ibset','ichar','ieor','index',
-			'int','intrup','invalop','ior','iostat_msg','ishft','ishftc','lbound',
-			'len','len_trim','lge','lgt','lle','llt','log','log10','matmul','max','maxexponent',
-			'maxloc','maxval','merge','min','minexponent','minloc','minval','mod','modulo',
-			'mvbits','nbreak','ndperr','ndpexc','nearest','nint','not','offset','ovefl',
-			'pack','precfill','precision','present','product','prompt','radix',
-			'random_number','random_seed','range','repeat','reshape','rrspacing',
-			'scale','scan','segment','selected_int_kind','selected_real_kind',
-			'set_exponent','shape','sign','sin','sinh','size','spacing','spread','sqrt',
-			'sum system','system_clock','tan','tanh','timer','tiny','transfer','transpose',
-			'trim','ubound','undfl','unpack','val','verify'
-			),
-		),
-	'SYMBOLS'=> array(
-		'(',')','{','}','[',']','=','+','-','*','/','!','%','^','&',':'
-		),
-	'CASE_SENSITIVE'=> array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		),
-	'STYLES'=> array(
-		'KEYWORDS'=> array(
-			1 =>'color: #b1b100;',
-			2 =>'color: #000000; font-weight: bold;',
-			3 =>'color: #000066;',
-			4 =>'color: #993333;'
-			),
-		'COMMENTS'=> array(
-			1 =>'color: #808080; font-style: italic;',
-			2 =>'color: #339933;',
-			'MULTI'=>'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR'=> array(
-			0 =>'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS'=> array(
-			0 =>'color: #66cc66;'
-			),
-		'STRINGS'=> array(
-			0 =>'color: #ff0000;'
-			),
-		'NUMBERS'=> array(
-			0 =>'color: #cc66cc;'
-			),
-		'METHODS'=> array(
-			1 =>'color: #202020;',
-			2 =>'color: #202020;'
-			),
-		'SYMBOLS'=> array(
-			0 =>'color: #66cc66;'
-			),
-		'REGEXPS'=> array(
-			),
-		'SCRIPT'=> array(
-			)
-		),
-	'URLS'=> array(
-		1 =>'',
-		2 =>'',
-		3 =>'',
-		4 =>''
-		),
-	'OOLANG'=> true,
-	'OBJECT_SPLITTERS'=> array(
-		1 =>'.',
-		2 =>'::'
-		),
-	'REGEXPS'=> array(
-		),
-	'STRICT_MODE_APPLIES'=> GESHI_NEVER,
-	'SCRIPT_DELIMITERS'=> array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK'=> array(
-		)
+            'delim','direct','eor','err','exist','file','flen','fmt','form','formatted',
+            'iostat','name','named','nextrec','nml','number','opened','pad','position',
+            'readwrite','recl','sequential','status','unformatted','unit'
+            ),
+        2 => array(
+            '.AND.','.EQ.','.EQV.','.GE.','.GT.','.LE.','.LT.','.NE.','.NEQV.','.NOT.',
+            '.OR.','.TRUE.','.FALSE.'
+            ),
+        3 => array(
+            'allocatable','character','common','complex','data','dimension','double',
+            'equivalence','external','implicit','in','inout','integer','intent','intrinsic',
+            'kind','logical','namelist','none','optional','out','parameter','pointer',
+            'private','public','real','result','save','sequence','target','type','use'
+            ),
+        4 => array(
+            'abs','achar','acos','adjustl','adjustr','aimag','aint','all','allocated',
+            'anint','any','asin','atan','atan2','bit_size','break','btest','carg',
+            'ceiling','char','cmplx','conjg','cos','cosh','cpu_time','count','cshift',
+            'date_and_time','dble','digits','dim','dot_product','dprod dvchk',
+            'eoshift','epsilon','error','exp','exponent','floor','flush','fraction',
+            'getcl','huge','iachar','iand','ibclr','ibits','ibset','ichar','ieor','index',
+            'int','intrup','invalop','ior','iostat_msg','ishft','ishftc','lbound',
+            'len','len_trim','lge','lgt','lle','llt','log','log10','matmul','max','maxexponent',
+            'maxloc','maxval','merge','min','minexponent','minloc','minval','mod','modulo',
+            'mvbits','nbreak','ndperr','ndpexc','nearest','nint','not','offset','ovefl',
+            'pack','precfill','precision','present','product','prompt','radix',
+            'random_number','random_seed','range','repeat','reshape','rrspacing',
+            'scale','scan','segment','selected_int_kind','selected_real_kind',
+            'set_exponent','shape','sign','sin','sinh','size','spacing','spread','sqrt',
+            'sum system','system_clock','tan','tanh','timer','tiny','transfer','transpose',
+            'trim','ubound','undfl','unpack','val','verify'
+            ),
+        ),
+    'SYMBOLS'=> array(
+        '(',')','{','}','[',']','=','+','-','*','/','!','%','^','&',':'
+        ),
+    'CASE_SENSITIVE'=> array(
+        GESHI_COMMENTS => true,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        ),
+    'STYLES'=> array(
+        'KEYWORDS'=> array(
+            1 =>'color: #b1b100;',
+            2 =>'color: #000000; font-weight: bold;',
+            3 =>'color: #000066;',
+            4 =>'color: #993333;'
+            ),
+        'COMMENTS'=> array(
+            1 =>'color: #666666; font-style: italic;',
+            2 =>'color: #339933;',
+            'MULTI'=>'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR'=> array(
+            0 =>'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS'=> array(
+            0 =>'color: #009900;'
+            ),
+        'STRINGS'=> array(
+            0 =>'color: #ff0000;'
+            ),
+        'NUMBERS'=> array(
+            0 =>'color: #cc66cc;'
+            ),
+        'METHODS'=> array(
+            1 =>'color: #202020;',
+            2 =>'color: #202020;'
+            ),
+        'SYMBOLS'=> array(
+            0 =>'color: #339933;'
+            ),
+        'REGEXPS'=> array(
+            ),
+        'SCRIPT'=> array(
+            )
+        ),
+    'URLS'=> array(
+        1 =>'',
+        2 =>'',
+        3 =>'',
+        4 =>''
+        ),
+    'OOLANG'=> true,
+    'OBJECT_SPLITTERS'=> array(
+        1 =>'.',
+        2 =>'::'
+        ),
+    'REGEXPS'=> array(
+        ),
+    'STRICT_MODE_APPLIES'=> GESHI_NEVER,
+    'SCRIPT_DELIMITERS'=> array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK'=> array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/freebasic.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/freebasic.php	Fri May 29 19:30:59 2009 -0400
@@ -2,9 +2,9 @@
 /*************************************************************************************
  * freebasic.php
  * -------------
- * Author: Roberto Rossi 
+ * Author: Roberto Rossi
  * Copyright: (c) 2005 Roberto Rossi (http://rsoftware.altervista.org)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2005/08/19
  *
  * FreeBasic (http://www.freebasic.net/) language file for GeSHi.
@@ -34,104 +34,108 @@
  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  ************************************************************************************/
- $language_data = array (
-	'LANG_NAME' => 'FreeBasic',
-	'COMMENT_SINGLE' => array(1 => "'", 2 => '#'),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-    "append", "as", "asc", "asin", "asm", "atan2", "atn", "beep", "bin", "binary", "bit",
-    "bitreset", "bitset", "bload", "bsave", "byref", "byte", "byval", "call",
-    "callocate", "case", "cbyte", "cdbl", "cdecl", "chain", "chdir", "chr", "cint",
-    "circle", "clear", "clng", "clngint", "close", "cls", "color", "command",
-    "common", "cons", "const", "continue", "cos", "cshort", "csign", "csng",
-    "csrlin", "cubyte", "cuint", "culngint", "cunsg", "curdir", "cushort", "custom",
-    "cvd", "cvi", "cvl", "cvlongint", "cvs", "cvshort", "data", "date",
-    "deallocate", "declare", "defbyte", "defdbl", "defined", "defint", "deflng",
-    "deflngint", "defshort", "defsng", "defstr", "defubyte", "defuint",
-    "defulngint", "defushort", "dim", "dir", "do", "double", "draw", "dylibload",
-    "dylibsymbol", "else", "elseif", "end", "enum", "environ", 'environ$', "eof",
-    "eqv", "erase", "err", "error", "exec", "exepath", "exit", "exp", "export",
-    "extern", "field", "fix", "flip", "for", "fre", "freefile", "function", "get",
-    "getjoystick", "getkey", "getmouse", "gosub", "goto", "hex", "hibyte", "hiword",
-    "if", "iif", "imagecreate", "imagedestroy", "imp", "inkey", "inp", "input",
-    "instr", "int", "integer", "is", "kill", "lbound", "lcase", "left", "len",
-    "let", "lib", "line", "lobyte", "loc", "local", "locate", "lock", "lof", "log",
-    "long", "longint", "loop", "loword", "lset", "ltrim", "mid", "mkd", "mkdir",
-    "mki", "mkl", "mklongint", "mks", "mkshort", "mod", "multikey", "mutexcreate",
-    "mutexdestroy", "mutexlock", "mutexunlock", "name", "next", "not", "oct", "on",
-    "once", "open", "option", "or", "out", "output", "overload", "paint", "palette",
-    "pascal", "pcopy", "peek", "peeki", "peeks", "pipe", "pmap", "point", "pointer",
-    "poke", "pokei", "pokes", "pos", "preserve", "preset", "print", "private",
-    "procptr", "pset", "ptr", "public", "put", "random", "randomize", "read",
-    "reallocate", "redim", "rem", "reset", "restore", "resume", "resume", "next",
-    "return", "rgb", "rgba", "right", "rmdir", "rnd", "rset", "rtrim", "run",
-    "sadd", "screen", "screencopy", "screeninfo", "screenlock", "screenptr",
-    "screenres", "screenset", "screensync", "screenunlock", "seek", "statement",
-    "seek", "function", "selectcase", "setdate", "setenviron", "setmouse",
-    "settime", "sgn", "shared", "shell", "shl", "short", "shr", "sin", "single",
-    "sizeof", "sleep", "space", "spc", "sqr", "static", "stdcall", "step", "stop",
-    "str", "string", "string", "strptr", "sub", "swap", "system", "tab", "tan",
-    "then", "threadcreate", "threadwait", "time", "time", "timer", "to", "trans",
-    "trim", "type", "ubound", "ubyte", "ucase", "uinteger", "ulongint", "union",
-    "unlock", "unsigned", "until", "ushort", "using", "va_arg", "va_first",
-    "va_next", "val", "val64", "valint", "varptr", "view", "viewprint", "wait",
-    "wend", "while", "width", "window", "windowtitle", "with", "write", "xor",
-    "zstring", "explicit", "escape", "true", "false"
-      )
-		),
-	'SYMBOLS' => array(
-		'(', ')'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080;',
-      2 => 'color: #339933;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099;'
-			),
-		'SCRIPT' => array(
-			),
-		'REGEXPS' => array(
-			)
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+
+$language_data = array (
+    'LANG_NAME' => 'FreeBasic',
+    'COMMENT_SINGLE' => array(1 => "'", 2 => '#'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            "append", "as", "asc", "asin", "asm", "atan2", "atn", "beep", "bin", "binary", "bit",
+            "bitreset", "bitset", "bload", "bsave", "byref", "byte", "byval", "call",
+            "callocate", "case", "cbyte", "cdbl", "cdecl", "chain", "chdir", "chr", "cint",
+            "circle", "clear", "clng", "clngint", "close", "cls", "color", "command",
+            "common", "cons", "const", "continue", "cos", "cshort", "csign", "csng",
+            "csrlin", "cubyte", "cuint", "culngint", "cunsg", "curdir", "cushort", "custom",
+            "cvd", "cvi", "cvl", "cvlongint", "cvs", "cvshort", "data", "date",
+            "deallocate", "declare", "defbyte", "defdbl", "defined", "defint", "deflng",
+            "deflngint", "defshort", "defsng", "defstr", "defubyte", "defuint",
+            "defulngint", "defushort", "dim", "dir", "do", "double", "draw", "dylibload",
+            "dylibsymbol", "else", "elseif", "end", "enum", "environ", 'environ$', "eof",
+            "eqv", "erase", "err", "error", "exec", "exepath", "exit", "exp", "export",
+            "extern", "field", "fix", "flip", "for", "fre", "freefile", "function", "get",
+            "getjoystick", "getkey", "getmouse", "gosub", "goto", "hex", "hibyte", "hiword",
+            "if", "iif", "imagecreate", "imagedestroy", "imp", "inkey", "inp", "input",
+            "instr", "int", "integer", "is", "kill", "lbound", "lcase", "left", "len",
+            "let", "lib", "line", "lobyte", "loc", "local", "locate", "lock", "lof", "log",
+            "long", "longint", "loop", "loword", "lset", "ltrim", "mid", "mkd", "mkdir",
+            "mki", "mkl", "mklongint", "mks", "mkshort", "mod", "multikey", "mutexcreate",
+            "mutexdestroy", "mutexlock", "mutexunlock", "name", "next", "not", "oct", "on",
+            "once", "open", "option", "or", "out", "output", "overload", "paint", "palette",
+            "pascal", "pcopy", "peek", "peeki", "peeks", "pipe", "pmap", "point", "pointer",
+            "poke", "pokei", "pokes", "pos", "preserve", "preset", "print", "private",
+            "procptr", "pset", "ptr", "public", "put", "random", "randomize", "read",
+            "reallocate", "redim", "rem", "reset", "restore", "resume",
+            "return", "rgb", "rgba", "right", "rmdir", "rnd", "rset", "rtrim", "run",
+            "sadd", "screen", "screencopy", "screeninfo", "screenlock", "screenptr",
+            "screenres", "screenset", "screensync", "screenunlock", "seek", "statement",
+            "selectcase", "setdate", "setenviron", "setmouse",
+            "settime", "sgn", "shared", "shell", "shl", "short", "shr", "sin", "single",
+            "sizeof", "sleep", "space", "spc", "sqr", "static", "stdcall", "step", "stop",
+            "str", "string", "strptr", "sub", "swap", "system", "tab", "tan",
+            "then", "threadcreate", "threadwait", "time", "timer", "to", "trans",
+            "trim", "type", "ubound", "ubyte", "ucase", "uinteger", "ulongint", "union",
+            "unlock", "unsigned", "until", "ushort", "using", "va_arg", "va_first",
+            "va_next", "val", "val64", "valint", "varptr", "view", "viewprint", "wait",
+            "wend", "while", "width", "window", "windowtitle", "with", "write", "xor",
+            "zstring", "explicit", "escape", "true", "false"
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080;',
+            2 => 'color: #339933;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/genero.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/genero.php	Fri May 29 19:30:59 2009 -0400
@@ -4,8 +4,8 @@
  * ----------
  * Author: Lars Gersmann (lars.gersmann@gmail.com)
  * Copyright: (c) 2007 Lars Gersmann, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
- * CVS Revision Version: $Revision: 1.4 $
+ * Release Version: 1.0.8.2
+ * Date Started: 2007/07/01
  *
  * Genero (FOURJ's Genero 4GL) language file for GeSHi.
  *
@@ -34,7 +34,7 @@
  *
  ************************************************************************************/
 
- $language_data = array (
+$language_data = array (
     'LANG_NAME' => 'genero',
     'COMMENT_SINGLE' => array(1 => '--', 2 => '#'),
     'COMMENT_MULTI' => array('{' => '}'),
@@ -43,7 +43,7 @@
     'ESCAPE_CHAR' => '\\',
     'KEYWORDS' => array(
         1 => array(
-          "ABSOLUTE",
+            "ABSOLUTE",
             "ACCEPT",
             "ACTION",
             "ADD",
@@ -53,7 +53,7 @@
             "AND",
             "ANY",
             "APPEND",
-            "APPLICATION",          
+            "APPLICATION",
             "AS",
             "AT",
             "ATTRIBUTE",
@@ -64,7 +64,6 @@
             "BEGIN",
             "BETWEEN",
             "BORDER",
-            "BORDER",
             "BOTTOM",
             "BREAKPOINT",
             "BUFFER",
@@ -98,7 +97,7 @@
             "COUNT",
             "CREATE",
             "CROSS",
-            "CURRENT",          
+            "CURRENT",
             "DATABASE",
             "DBA",
             "DEC",
@@ -118,7 +117,7 @@
             "DISCONNECT",
             "DISPLAY",
             "DISTINCT",
-            "DORMANT",          
+            "DORMANT",
             "DOWN",
             "DROP",
             "DYNAMIC",
@@ -134,7 +133,7 @@
             "EXPLAIN",
             "EXTEND",
             "EXTENT",
-            "EXTERNAL",         
+            "EXTERNAL",
             "FETCH",
             "FGL_DRAWBOX",
             "FIELD",
@@ -159,7 +158,7 @@
             "GLOBALS",
             "GO",
             "GOTO",
-            "GRANT",            
+            "GRANT",
             "GROUP",
             "HAVING",
             "HEADER",
@@ -200,7 +199,7 @@
             "LOCATE",
             "LOCK",
             "LOG",
-            "LSTR",         
+            "LSTR",
             "MAIN",
             "MARGIN",
             "MATCHES",
@@ -215,7 +214,7 @@
             "MOD",
             "MODE",
             "MODIFY",
-            "MONEY",            
+            "MONEY",
             "NAME",
             "NEED",
             "NEXT",
@@ -302,7 +301,7 @@
             "START",
             "STATISTICS",
             "STEP",
-            "STOP",         
+            "STOP",
             "STYLE",
             "SUM",
             "SYNONYM",
@@ -338,11 +337,11 @@
             "VIEW",
             "WAIT",
             "WAITING",
-            "WARNING",          
+            "WARNING",
             "WHEN",
             "WHENEVER",
             "WHERE",
-            "WHILE",            
+            "WHILE",
             "WINDOW",
             "WITH",
             "WITHOUT",
@@ -351,7 +350,7 @@
             "WRAP"
             ),
         2 => array(
-            '&AMP;IFDEF', '&AMP;ENDIF'
+            '&amp;IFDEF', '&amp;ENDIF'
             ),
         3 => array(
             "ARRAY",
@@ -360,7 +359,7 @@
             "CHARACTER",
             "CURSOR",
             "DATE",
-            "DATETIME",           
+            "DATETIME",
             "DECIMAL",
             "DOUBLE",
             "FALSE",
@@ -389,7 +388,7 @@
             "OFF",
             "WHITE",
             "YELLOW",
-            "YEAR",   
+            "YEAR",
             "DAY",
             "MONTH",
             "WEEKDAY"
@@ -400,7 +399,7 @@
         '(', ')', '[', ']'
         ),
     'CASE_SENSITIVE' => array(
-        GESHI_COMMENTS => true,
+        GESHI_COMMENTS => false,
         1 => false,
         2 => false,
         3 => false,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/gettext.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,97 @@
+<?php
+/*************************************************************************************
+ * gettext.php
+ * --------
+ * Author: Milian Wolff (mail@milianw.de)
+ * Copyright: (c) 2008 Milian Wolff
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/05/25
+ *
+ * GNU Gettext .po/.pot language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/08/02 (1.0.8)
+ *  -  New comments: flags and previous-fields
+ *  -  New keywords: msgctxt, msgid_plural
+ *  -  Msgstr array indices
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'GNU Gettext',
+    'COMMENT_SINGLE' => array('#:', '#.', '#,', '#|', '#'),
+    'COMMENT_MULTI' => array(),
+    'COMMENT_REGEXP' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array('msgctxt', 'msgid_plural', 'msgid', 'msgstr'),
+    ),
+    'SYMBOLS' => array(),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+    ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000; font-weight: bold;'
+        ),
+        'COMMENTS' => array(
+            0 => 'color: #000099;',
+            1 => 'color: #000099;',
+            2 => 'color: #000099;',
+            3 => 'color: #006666;',
+            4 => 'color: #666666; font-style: italic;',
+        ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+        ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+        ),
+        'REGEXPS' => array(),
+        'SYMBOLS' => array(),
+        'NUMBERS' => array(
+            0 => 'color: #000099;'
+        ),
+        'METHODS' => array(),
+        'SCRIPT' => array(),
+        'BRACKETS' => array(
+            0 => 'color: #000099;'
+        ),
+    ),
+    'URLS' => array(
+        1 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'REGEXPS' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/glsl.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,199 @@
+<?php
+/*************************************************************************************
+ * glsl.php
+ * -----
+ * Author: Benny Baumann (BenBE@omorphia.de)
+ * Copyright: (c) 2008 Benny Baumann (BenBE@omorphia.de)
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/03/20
+ *
+ * glSlang language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/03/20 (1.0.7.21)
+ *   -  First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'glSlang',
+    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'if', 'else', 'for', 'while', 'do', 'break', 'continue', 'asm',
+            'switch', 'case', 'default', 'return', 'discard',
+            'namespace', 'using', 'sizeof', 'cast'
+            ),
+        2 => array(
+            'const', 'uniform', 'attribute', 'centroid', 'varying', 'invariant',
+            'in', 'out', 'inout', 'input', 'output', 'typedef', 'volatile',
+            'public', 'static', 'extern', 'external', 'packed',
+            'inline', 'noinline'
+            ),
+        3 => array(
+            'void', 'bool', 'int', 'long', 'short', 'float', 'half', 'fixed',
+            'unsigned', 'lowp', 'mediump', 'highp', 'precision',
+            'vec2', 'vec3', 'vec4', 'bvec2', 'bvec3', 'bvec4',
+            'dvec2', 'dvec3', 'dvec4', 'fvec2', 'fvec3', 'fvec4',
+            'hvec2', 'hvec3', 'hvec4', 'ivec2', 'ivec3', 'ivec4',
+            'mat2', 'mat3', 'mat4', 'mat2x2', 'mat3x2', 'mat4x2',
+            'mat2x3', 'mat3x3', 'mat4x3', 'mat2x4', 'mat3x4', 'mat4x4',
+            'sampler1D', 'sampler2D', 'sampler3D', 'samplerCube',
+            'sampler1DShadow', 'sampler2DShadow',
+            'struct', 'class', 'union', 'enum', 'interface', 'template'
+            ),
+        4 => array(
+            'this', 'false', 'true'
+            ),
+        5 => array(
+            'radians', 'degrees', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan',
+            'pow', 'exp2', 'log2', 'sqrt', 'inversesqrt', 'abs', 'sign', 'ceil',
+            'floor', 'fract', 'mod', 'min', 'max', 'clamp', 'mix', 'step',
+            'smoothstep', 'length', 'distance', 'dot', 'cross', 'normalize',
+            'ftransform', 'faceforward', 'reflect', 'matrixCompMult', 'equal',
+            'lessThan', 'lessThanEqual', 'greaterThan', 'greaterThanEqual',
+            'notEqual', 'any', 'all', 'not', 'texture1D', 'texture1DProj',
+            'texture1DLod', 'texture1DProjLod', 'texture2D', 'texture2DProj',
+            'texture2DLod', 'texture2DProjLod', 'texture3D', 'texture3DProj',
+            'texture3DLod', 'texture3DProjLod', 'textureCube', 'textureCubeLod',
+            'shadow1D', 'shadow1DProj', 'shadow1DLod', 'shadow1DProjLod',
+            'shadow2D', 'shadow2DProj', 'shadow2DLod', 'shadow2DProjLod',
+            'noise1', 'noise2', 'noise3', 'noise4'
+            ),
+        6 => array(
+            'gl_Position', 'gl_PointSize', 'gl_ClipVertex', 'gl_FragColor',
+            'gl_FragData', 'gl_FragDepth', 'gl_FragCoord', 'gl_FrontFacing',
+            'gl_Color', 'gl_SecondaryColor', 'gl_Normal', 'gl_Vertex',
+            'gl_MultiTexCoord0', 'gl_MultiTexCoord1', 'gl_MultiTexCoord2',
+            'gl_MultiTexCoord3', 'gl_MultiTexCoord4', 'gl_MultiTexCoord5',
+            'gl_MultiTexCoord6', 'gl_MultiTexCoord7', 'gl_FogCoord',
+            'gl_MaxLights', 'gl_MaxClipPlanes', 'gl_MaxTextureUnits',
+            'gl_MaxTextureCoords', 'gl_MaxVertexAttribs', 'gl_MaxVaryingFloats',
+            'gl_MaxVertexUniformComponents', 'gl_MaxVertexTextureImageUnits',
+            'gl_MaxCombinedTextureImageUnits', 'gl_MaxTextureImageUnits',
+            'gl_MaxFragmentUniformComponents', 'gl_MaxDrawBuffers', 'gl_Point',
+            'gl_ModelViewMatrix', 'gl_ProjectionMatrix', 'gl_FrontMaterial',
+            'gl_ModelViewProjectionMatrix', 'gl_TextureMatrix', 'gl_ClipPlane',
+            'gl_NormalMatrix', 'gl_ModelViewMatrixInverse', 'gl_BackMaterial',
+            'gl_ProjectionMatrixInverse', 'gl_ModelViewProjectionMatrixInverse',
+            'gl_TextureMatrixInverse', 'gl_ModelViewMatrixTranspose', 'gl_Fog',
+            'gl_ProjectionMatrixTranspose', 'gl_NormalScale', 'gl_DepthRange',
+            'gl_odelViewProjectionMatrixTranspose', 'gl_TextureMatrixTranspose',
+            'gl_ModelViewMatrixInverseTranspose', 'gl_LightSource',
+            'gl_ProjectionMatrixInverseTranspose', 'gl_LightModel',
+            'gl_ModelViewProjectionMatrixInverseTranspose', 'gl_TexCoord',
+            'gl_TextureMatrixInverseTranspose', 'gl_TextureEnvColor',
+            'gl_FrontLightModelProduct', 'gl_BackLightModelProduct',
+            'gl_FrontLightProduct', 'gl_BackLightProduct', 'gl_ObjectPlaneS',
+            'gl_ObjectPlaneT', 'gl_ObjectPlaneR', 'gl_ObjectPlaneQ',
+            'gl_EyePlaneS', 'gl_EyePlaneT', 'gl_EyePlaneR', 'gl_EyePlaneQ',
+            'gl_FrontColor', 'gl_BackColor', 'gl_FrontSecondaryColor',
+            'gl_BackSecondaryColor', 'gl_FogFragCoord', 'gl_PointCoord'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^',
+        '&', '?', ':', '.', '|', ';', ',', '<', '>'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true,
+        6 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000; font-weight: bold;',
+            2 => 'color: #333399; font-weight: bold;',
+            3 => 'color: #000066; font-weight: bold;',
+            4 => 'color: #333399; font-weight: bold;',
+            5 => 'color: #993333; font-weight: bold;',
+            6 => 'color: #551111;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            2 => 'color: #009900;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000066;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000066;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'OOLANG' => array(
+            'MATCH_BEFORE' => '',
+            'MATCH_AFTER' => '[a-zA-Z_][a-zA-Z0-9_]*',
+            'MATCH_SPACES' => '[\s]*'
+        )
+    )
+);
+
+?>
--- a/plugins/geshi/geshi/gml.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/gml.php	Fri May 29 19:30:59 2009 -0400
@@ -2,9 +2,9 @@
 /*************************************************************************************
  * gml.php
  * --------
- * Author: José Jorge Enríquez (jenriquez@users.sourceforge.net)
- * Copyright: (c) 2005 José Jorge Enríquez Rodríguez (http://www.zonamakers.com)
- * Release Version: 1.0.7.20
+ * Author: Jos� Jorge Enr�quez (jenriquez@users.sourceforge.net)
+ * Copyright: (c) 2005 Jos� Jorge Enr�quez Rodr�guez (http://www.zonamakers.com)
+ * Release Version: 1.0.8.2
  * Date Started: 2005/06/21
  *
  * GML language file for GeSHi.
@@ -62,441 +62,445 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'GML',
-	'COMMENT_SINGLE' => array(1 => '//'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'"),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		// language keywords
-		1 => array(
-			'break', 'continue', 'do', 'until', 'if', 'else',
-			'exit', 'for', 'for', 'repeat', 'return', 'switch',
-			'case', 'default', 'var', 'while', 'with', 'div', 'mod', 
-			// GML Language overview
-			'self', 'other', 'all', 'noone', 'global',
-			),
-		// modifiers and built-in variables
-		2 => array(
-			// Game play
-			'x','y','xprevious','yprevious','xstart','ystart','hspeed','vspeed','direction','speed',
-			'friction','gravity','gravity_direction',
-			'path_index','path_position','path_positionprevious','path_speed','path_orientation',
-			'path_scale','path_endaction',
-			'object_index','id','mask_index','solid','persistent','instance_count','instance_id',
-			'room_speed','fps','current_time','current_year','current_month','current_day','current_weekday',
-			'current_hour','current_minute','current_second','alarm','timeline_index','timeline_position',
-			'timeline_speed',
-			'room','room_first','room_last','room_width','room_height','room_caption','room_persistent',
-			'score','lives','health','show_score','show_lives','show_health','caption_score','caption_lives',
-			'caption_health',
-			'event_type','event_number','event_object','event_action',
-			'error_occurred','error_last',
-			// User interaction
-			'keyboard_lastkey','keyboard_key','keyboard_lastchar','keyboard_string',
-			'mouse_x','mouse_y','mouse_button','mouse_lastbutton',
-			// Game Graphics
-			'visible','sprite_index','sprite_width','sprite_height','sprite_xoffset','sprite_yoffset',
-			'image_number','image_index','image_speed','depth','image_xscale','image_yscale','image_angle',
-			'image_alpha','image_blend','bbox_left','bbox_right','bbox_top','bbox_bottom',
-			'background_color','background_showcolor','background_visible','background_foreground',
-			'background_index','background_x','background_y','background_width','background_height',
-			'background_htiled','background_vtiled','background_xscale','background_yscale',
-			'background_hspeed','background_vspeed','background_blend','background_alpha',
-			'background','left, top, width, height','x,y','depth','visible','xscale, yscale','blend','alpha',
-			'view_enabled','view_current','view_visible','view_yview','view_wview','view_hview','view_xport',
-			'view_yport','view_wport','view_hport','view_angle','view_hborder','view_vborder','view_hspeed',
-			'view_vspeed','view_object',
-			'transition_kind',
-			// Files, registry and executing programs
-			'game_id','working_directory','temp_directory',
-			'secure_mode',
-			// Creating particles
-			'xmin', 'xmax', 'ymin', 'ymax','shape','distribution','particle type','number',
-			'x', 'y', 'force','dist','kind','additive', 'friction', 'parttype1', 'parttype2'
-			),
-		// functions
-		3 => array(
-			// Computing things
-			'random','choose','abs','sign','round','floor','ceil','frac','sqrt','sqr','power','exp','ln',
-			'log2','log10','logn','sin','cos','tan','arcsin','arccos','arctan','arctan2','degtorad',
-			'radtodeg','min','max','mean','median','point_distance','point_direction','lengthdir_x',
-			'lengthdir_y','is_real','is_string',
-			'chr','ord','real','string','string_format','string_length','string_pos','string_copy',
-			'string_char_at','string_delete','string_insert','string_replace','string_replace_all',
-			'string_count','string_lower','string_upper','string_repeat','string_letters','string_digits',
-			'string_lettersdigits','clipboard_has_text','clipboard_get_text','clipboard_set_text',
-			'date_current_datetime','date_current_date','date_current_time','date_create_datetime',
-			'date_create_date','date_create_time','date_valid_datetime','date_valid_date','date_valid_time',
-			'date_inc_year','date_inc_month','date_inc_week','date_inc_day','date_inc_hour',
-			'date_inc_minute','date_inc_second','date_get_year','date_get_month','date_get_week',
-			'date_get_day','date_get_hour', 'date_get_minute','date_get_second','date_get_weekday',
-			'date_get_day_of_year','date_get_hour_of_year','date_get_minute_of_year',
-			'date_get_second_of_year','date_year_span','date_month_span','date_week_span','date_day_span',
-			'date_hour_span','date_minute_span','date_second_span','date_compare_datetime',
-			'date_compare_date','date_compare_time','date_date_of','date_time_of','date_datetime_string',
-			'date_date_string','date_time_string','date_days_in_month','date_days_in_year','date_leap_year',
-			'date_is_today',
-			// Game play
-			'motion_set','motion_add','place_free','place_empty','place_meeting','place_snapped',
-			'move_random','move_snap','move_wrap','move_towards_point','move_bounce_solid','move_bounce_all',
-			'move_contact_solid','move_contact_all','move_outside_solid','move_outside_all',
-			'distance_to_point','distance_to_object','position_empty','position_meeting',
-			'path_start','path_end',
-			'mp_linear_step','mp_linear_step_object','mp_potential_step','mp_potential_step_object',
-			'mp_potential_settings','mp_linear_path','mp_linear_path_object', 'mp_potential_path',
-			'mp_potential_path_object','mp_grid_create','mp_grid_destroy','mp_grid_clear_all',
-			'mp_grid_clear_cell','mp_grid_clear_rectangle','mp_grid_add_cell','mp_grid_add_rectangle',
-			'mp_grid_add_instances','mp_grid_path','mp_grid_draw',
-			'collision_point','collision_rectangle','collision_circle','collision_ellipse','collision_line',
-			'instance_find','instance_exists','instance_number','instance_position','instance_nearest',
-			'instance_furthest','instance_place','instance_create','instance_copy','instance_destroy',
-			'instance_change','position_destroy','position_change',
-			'instance_deactivate_all','instance_deactivate_object','instance_deactivate_region',
-			'instance_activate_all','instance_activate_object','instance_activate_region',
-			'sleep',
-			'room_goto','room_goto_previous','room_goto_next','room_restart','room_previous','room_next',
-			'game_end','game_restart','game_save','game_load',
-			'event_perform', 'event_perform_object','event_user','event_inherited',
-			'show_debug_message','variable_global_exists','variable_local_exists','variable_global_get',
-			'variable_global_array_get','variable_global_array2_get','variable_local_get',
-			'variable_local_array_get','variable_local_array2_get','variable_global_set',
-			'variable_global_array_set','variable_global_array2_set','variable_local_set',
-			'variable_local_array_set','variable_local_array2_set','set_program_priority',
-			// User interaction
-			'keyboard_set_map','keyboard_get_map','keyboard_unset_map','keyboard_check',
-			'keyboard_check_pressed','keyboard_check_released','keyboard_check_direct',
-			'keyboard_get_numlock','keyboard_set_numlock','keyboard_key_press','keyboard_key_release',
-			'keyboard_clear','io_clear','io_handle','keyboard_wait',
-			'mouse_check_button','mouse_check_button_pressed','mouse_check_button_released','mouse_clear',
-			'io_clear','io_handle','mouse_wait',
-			'joystick_exists','joystick_name','joystick_axes','joystick_buttons','joystick_has_pov',
-			'joystick_direction','joystick_check_button','joystick_xpos','joystick_ypos','joystick_zpos',
-			'joystick_rpos','joystick_upos','joystick_vpos','joystick_pov',
-			// Game Graphics
-			'draw_sprite','draw_sprite_stretched','draw_sprite_tiled','draw_sprite_part','draw_background',
-			'draw_background_stretched','draw_background_tiled','draw_background_part','draw_sprite_ext',
-			'draw_sprite_stretched_ext','draw_sprite_tiled_ext','draw_sprite_part_ext','draw_sprite_general',
-			'draw_background_ext','draw_background_stretched_ext','draw_background_tiled_ext',
-			'draw_background_part_ext','draw_background_general',
-			'draw_clear','draw_clear_alpha','draw_point','draw_line','draw_rectangle','draw_roundrect',
-			'draw_triangle','draw_circle','draw_ellipse','draw_arrow','draw_button','draw_path',
-			'draw_healthbar','draw_set_color','draw_set_alpha','draw_get_color','draw_get_alpha',
-			'make_color_rgb','make_color_hsv','color_get_red','color_get_green','color_get_blue',
-			'color_get_hue','color_get_saturation','color_get_value','merge_color','draw_getpixel',
-			'screen_save','screen_save_part',
-			'draw_set_font','draw_set_halign','draw_set_valign','draw_text','draw_text_ext','string_width',
-			'string_height','string_width_ext','string_height_ext','draw_text_transformed',
-			'draw_text_ext_transformed','draw_text_color','draw_text_ext_color',
-			'draw_text_transformed_color','draw_text_ext_transformed_color',
-			'draw_point_color','draw_line_color','draw_rectangle_color','draw_roundrect_color',
-			'draw_triangle_color','draw_circle_color','draw_ellipse_color','draw_primitive_begin',
-			'draw_vertex','draw_vertex_color','draw_primitive_end','sprite_get_texture',
-			'background_get_texture','texture_preload','texture_set_priority',
-			'texture_get_width','texture_get_height','draw_primitive_begin_texture','draw_vertex_texture',
-			'draw_vertex_texture_color','draw_primitive_end','texture_set_interpolation',
-			'texture_set_blending','texture_set_repeat','draw_set_blend_mode','draw_set_blend_mode_ext',
-			'surface_create','surface_free','surface_exists','surface_get_width','surface_get_height',
-			'surface_get_texture','surface_set_target','surface_reset_target','surface_getpixel',
-			'surface_save','surface_save_part','draw_surface','draw_surface_stretched','draw_surface_tiled',
-			'draw_surface_part','draw_surface_ext','draw_surface_stretched_ext','draw_surface_tiled_ext',
-			'draw_surface_part_ext','draw_surface_general','surface_copy','surface_copy_part',
-			'tile_add','tile_delete','tile_exists','tile_get_x','tile_get_y','tile_get_left','tile_get_top',
-			'tile_get_width','tile_get_height','tile_get_depth','tile_get_visible','tile_get_xscale',
-			'tile_get_yscale','tile_get_background','tile_get_blend','tile_get_alpha','tile_set_position',
-			'tile_set_region','tile_set_background','tile_set_visible','tile_set_depth','tile_set_scale',
-			'tile_set_blend','tile_set_alpha','tile_layer_hide','tile_layer_show','tile_layer_delete',
-			'tile_layer_shift','tile_layer_find','tile_layer_delete_at','tile_layer_depth',
-			'display_get_width','display_get_height','display_get_colordepth','display_get_frequency',
-			'display_set_size','display_set_colordepth','display_set_frequency','display_set_all',
-			'display_test_all','display_reset','display_mouse_get_x','display_mouse_get_y','display_mouse_set',
-			'window_set_visible','window_get_visible','window_set_fullscreen','window_get_fullscreen',
-			'window_set_showborder','window_get_showborder','window_set_showicons','window_get_showicons',
-			'window_set_stayontop','window_get_stayontop','window_set_sizeable','window_get_sizeable',
-			'window_set_caption','window_get_caption','window_set_cursor', 'window_get_cursor',
-			'window_set_color','window_get_color','window_set_region_scale','window_get_region_scale',
-			'window_set_position','window_set_size','window_set_rectangle','window_center','window_default',
-			'window_get_x','window_get_y','window_get_width','window_get_height','window_mouse_get_x',
-			'window_mouse_get_y','window_mouse_set',
-			'window_set_region_size','window_get_region_width','window_get_region_height',
-			'window_view_mouse_get_x','window_view_mouse_get_y','window_view_mouse_set',
-			'window_views_mouse_get_x','window_views_mouse_get_y','window_views_mouse_set',
-			'screen_redraw','screen_refresh','set_automatic_draw','set_synchronization','screen_wait_vsync',
-			// Sound and music)
-			'sound_play','sound_loop','sound_stop','sound_stop_all','sound_isplaying','sound_volume',
-			'sound_global_volume','sound_fade','sound_pan','sound_background_tempo','sound_set_search_directory',
-			'sound_effect_set','sound_effect_chorus','sound_effect_echo',	'sound_effect_flanger',
-			'sound_effect_gargle','sound_effect_reverb','sound_effect_compressor','sound_effect_equalizer',
-			'sound_3d_set_sound_position','sound_3d_set_sound_velocity','sound_3d_set_sound_distance',
-			'sound_3d_set_sound_cone',
-			'cd_init','cd_present','cd_number','cd_playing','cd_paused','cd_track','cd_length',
-			'cd_track_length','cd_position','cd_track_position','cd_play','cd_stop','cd_pause','cd_resume',
-			'cd_set_position','cd_set_track_position','cd_open_door','cd_close_door','MCI_command',
-			// Splash screens, highscores, and other pop-ups
-			'show_text','show_image','show_video','show_info','load_info',
-			'show_message','show_message_ext','show_question','get_integer','get_string',
-			'message_background','message_alpha','message_button','message_text_font','message_button_font',
-			'message_input_font','message_mouse_color','message_input_color','message_caption',
-			'message_position','message_size','show_menu','show_menu_pos','get_color','get_open_filename',
-			'get_save_filename','get_directory','get_directory_alt','show_error',
-			'highscore_show','highscore_set_background','highscore_set_border','highscore_set_font',
-			'highscore_set_colors','highscore_set_strings','highscore_show_ext','highscore_clear',
-			'highscore_add','highscore_add_current','highscore_value','highscore_name','draw_highscore',
-			// Resources
-			'sprite_exists','sprite_get_name','sprite_get_number','sprite_get_width','sprite_get_height',
-			'sprite_get_transparent','sprite_get_smooth','sprite_get_preload','sprite_get_xoffset',
-			'sprite_get_yoffset','sprite_get_bbox_left','sprite_get_bbox_right','sprite_get_bbox_top',
-			'sprite_get_bbox_bottom','sprite_get_bbox_mode','sprite_get_precise',
-			'sound_exists','sound_get_name','sound_get_kind','sound_get_preload','sound_discard',
-			'sound_restore',
-			'background_exists','background_get_name','background_get_width','background_get_height',
-			'background_get_transparent','background_get_smooth','background_get_preload',
-			'font_exists','font_get_name','font_get_fontname','font_get_bold','font_get_italic',
-			'font_get_first','font_get_last',
-			'path_exists','path_get_name','path_get_length','path_get_kind','path_get_closed',
-			'path_get_precision','path_get_number','path_get_point_x','path_get_point_y',
-			'path_get_point_speed','path_get_x','path_get_y','path_get_speed',
-			'script_exists','script_get_name','script_get_text',
-			'timeline_exists','timeline_get_name',
-			'object_exists','object_get_name','object_get_sprite','object_get_solid','object_get_visible',
-			'object_get_depth','object_get_persistent','object_get_mask','object_get_parent',
-			'object_is_ancestor',
-			'room_exists','room_get_name',
-			// Changing resources
-			'sprite_set_offset','sprite_set_bbox_mode','sprite_set_bbox','sprite_set_precise',
-			'sprite_duplicate','sprite_assign','sprite_merge','sprite_add','sprite_replace',
-			'sprite_create_from_screen','sprite_add_from_screen','sprite_create_from_surface',
-			'sprite_add_from_surface','sprite_delete','sprite_set_alpha_from_sprite',
-			'sound_add','sound_replace','sound_delete',
-			'background_duplicate','background_assign','background_add','background_replace',
-			'background_create_color','background_create_gradient','background_create_from_screen',
-			'background_create_from_surface','background_delete','background_set_alpha_from_background',
-			'font_add','font_add_sprite','font_replace_sprite','font_delete',
-			'path_set_kind','path_set_closed','path_set_precision','path_add','path_delete','path_duplicate',
-			'path_assign','path_append','path_add_point','path_insert_point','path_change_point',
-			'path_delete_point','path_clear_points','path_reverse','path_mirror','path_flip','path_rotate',
-			'path_scale','path_shift',
-			'execute_string','execute_file','script_execute',
-			'timeline_add','timeline_delete','timeline_moment_add','timeline_moment_clear',
-			'object_set_sprite','object_set_solid','object_set_visible','object_set_depth',
-			'object_set_persistent','object_set_mask','object_set_parent','object_add','object_delete',
-			'object_event_add','object_event_clear',
-			'room_set_width','room_set_height','room_set_caption','room_set_persistent','room_set_code',
-			'room_set_background_color','room_set_background','room_set_view','room_set_view_enabled',
-			'room_add','room_duplicate','room_assign','room_instance_add','room_instance_clear',
-			'room_tile_add','room_tile_add_ext','room_tile_clear',
-			// Files, registry and executing programs
-			'file_text_open_read','file_text_open_write','file_text_open_append','file_text_close',
-			'file_text_write_string','file_text_write_real','file_text_writeln','file_text_read_string',
-			'file_text_read_real','file_text_readln','file_text_eof','file_exists','file_delete',
-			'file_rename','file_copy','directory_exists','directory_create','file_find_first',
-			'file_find_next','file_find_close','file_attributes', 'filename_name','filename_path',
-			'filename_dir','filename_drive','filename_ext','filename_change_ext','file_bin_open',
-			'file_bin_rewrite','file_bin_close','file_bin_size','file_bin_position','file_bin_seek',
-			'file_bin_write_byte','file_bin_read_byte','parameter_count','parameter_string',
-			'environment_get_variable',
-			'registry_write_string','registry_write_real','registry_read_string','registry_read_real',
-			'registry_exists','registry_write_string_ext','registry_write_real_ext',
-			'registry_read_string_ext','registry_read_real_ext','registry_exists_ext','registry_set_root',
-			'ini_open','ini_close','ini_read_string','ini_read_real','ini_write_string','ini_write_real',
-			'ini_key_exists','ini_section_exists','ini_key_delete','ini_section_delete',
-			'execute_program','execute_shell',
-			// Data structures
-			'ds_stack_create','ds_stack_destroy','ds_stack_clear','ds_stack_size','ds_stack_empty',
-			'ds_stack_push','ds_stack_pop','ds_stack_top',
-			'ds_queue_create','ds_queue_destroy','ds_queue_clear','ds_queue_size','ds_queue_empty',
-			'ds_queue_enqueue','ds_queue_dequeue','ds_queue_head','ds_queue_tail',
-			'ds_list_create','ds_list_destroy','ds_list_clear','ds_list_size','ds_list_empty','ds_list_add',
-			'ds_list_insert','ds_list_replace','ds_list_delete','ds_list_find_index','ds_list_find_value',
-			'ds_list_sort',
-			'ds_map_create','ds_map_destroy','ds_map_clear','ds_map_size','ds_map_empty','ds_map_add',
-			'ds_map_replace','ds_map_delete','ds_map_exists','ds_map_find_value','ds_map_find_previous',
-			'ds_map_find_next','ds_map_find_first','ds_map_find_last',
-			'ds_priority_create','ds_priority_destroy','ds_priority_clear','ds_priority_size',
-			'ds_priority_empty','ds_priority_add','ds_priority_change_priority','ds_priority_find_priority',
-			'ds_priority_delete_value','ds_priority_delete_min','ds_priority_find_min',
-			'ds_priority_delete_max','ds_priority_find_max',
-			'ds_grid_create','ds_grid_destroy','ds_grid_resize','ds_grid_width','ds_grid_height',
-			'ds_grid_clear','ds_grid_set','ds_grid_add','ds_grid_multiply','ds_grid_set_region',
-			'ds_grid_add_region','ds_grid_multiply_region','ds_grid_set_disk','ds_grid_add_disk',
-			'ds_grid_multiply_disk','ds_grid_get','ds_grid_get_sum','ds_grid_get_max','ds_grid_get_min',
-			'ds_grid_get_mean','ds_grid_get_disk_sum','ds_grid_get_disk_min','ds_grid_get_disk_max',
-			'ds_grid_get_disk_mean','ds_grid_value_exists','ds_grid_value_x','ds_grid_value_y',
-			'ds_grid_value_disk_exists','ds_grid_value_disk_x','ds_grid_value_disk_y',
-			// Creating particles
-			'effect_create_below','effect_create_above','effect_clear',
-			'part_type_create','part_type_destroy','part_type_exists','part_type_clear','part_type_shape',
-			'part_type_sprite','part_type_size','part_type_scale',
-			'part_type_orientation','part_type_color1','part_type_color2','part_type_color3',
-			'part_type_color_mix','part_type_color_rgb','part_type_color_hsv',
-			'part_type_alpha1','part_type_alpha2','part_type_alpha3','part_type_blend','part_type_life',
-			'part_type_step','part_type_death','part_type_speed','part_type_direction','part_type_gravity',
-			'part_system_create','part_system_destroy','part_system_exists','part_system_clear',
-			'part_system_draw_order','part_system_depth','part_system_position',
-			'part_system_automatic_update','part_system_automatic_draw','part_system_update',
-			'part_system_drawit','part_particles_create','part_particles_create_color',
-			'part_particles_clear','part_particles_count',
-			'part_emitter_create','part_emitter_destroy','part_emitter_destroy_all','part_emitter_exists',
-			'part_emitter_clear','part_emitter_region','part_emitter_burst','part_emitter_stream',
-			'part_attractor_create','part_attractor_destroy','part_attractor_destroy_all',
-			'part_attractor_exists','part_attractor_clear','part_attractor_position','part_attractor_force',
-			'part_destroyer_create','part_destroyer_destroy','part_destroyer_destroy_all',
-			'part_destroyer_exists','part_destroyer_clear','part_destroyer_region',
-			'part_deflector_create','part_deflector_destroy','part_deflector_destroy_all',
-			'part_deflector_exists','part_deflector_clear','part_deflector_region','part_deflector_kind',
-			'part_deflector_friction',
-			'part_changer_create','part_changer_destroy','part_changer_destroy_all','part_changer_exists',
-			'part_changer_clear','part_changer_region','part_changer_types','part_changer_kind',
-			// Multiplayer games
-			'mplay_init_ipx','mplay_init_tcpip','mplay_init_modem','mplay_init_serial',
-			'mplay_connect_status','mplay_end','mplay_ipaddress',
-			'mplay_session_create','mplay_session_find','mplay_session_name','mplay_session_join',
-			'mplay_session_mode','mplay_session_status','mplay_session_end',
-			'mplay_player_find','mplay_player_name','mplay_player_id',
-			'mplay_data_write','mplay_data_read','mplay_data_mode',
-			'mplay_message_send','mplay_message_send_guaranteed','mplay_message_receive','mplay_message_id',
-			'mplay_message_value','mplay_message_player','mplay_message_name','mplay_message_count',
-			'mplay_message_clear',
-			// Using DLL's
-			'external_define','external_call','external_free','execute_string','execute_file','window_handle',
-			// 3D Graphics
-			'd3d_start','d3d_end','d3d_set_hidden','d3d_set_perspective',
-			'd3d_set_depth',
-			'd3d_primitive_begin','d3d_vertex','d3d_vertex_color','d3d_primitive_end',
-			'd3d_primitive_begin_texture','d3d_vertex_texture','d3d_vertex_texture_color','d3d_set_culling',
-			'd3d_draw_block','d3d_draw_cylinder','d3d_draw_cone','d3d_draw_ellipsoid','d3d_draw_wall',
-			'd3d_draw_floor',
-			'd3d_set_projection','d3d_set_projection_ext','d3d_set_projection_ortho',
-			'd3d_set_projection_perspective',
-			'd3d_transform_set_identity','d3d_transform_set_translation','d3d_transform_set_scaling',
-			'd3d_transform_set_rotation_x','d3d_transform_set_rotation_y','d3d_transform_set_rotation_z',
-			'd3d_transform_set_rotation_axis','d3d_transform_add_translation','d3d_transform_add_scaling',
-			'd3d_transform_add_rotation_x','d3d_transform_add_rotation_y','d3d_transform_add_rotation_z',
-			'd3d_transform_add_rotation_axis','d3d_transform_stack_clear','d3d_transform_stack_empty',
-			'd3d_transform_stack_push','d3d_transform_stack_pop','d3d_transform_stack_top',
-			'd3d_transform_stack_discard',
-			'd3d_set_fog',
-			'd3d_set_lighting','d3d_set_shading','d3d_light_define_direction','d3d_light_define_point',
-			'd3d_light_enable','d3d_vertex_normal','d3d_vertex_normal_color','d3d_vertex_normal_texture',
-			'd3d_vertex_normal_texture_color',
-			'd3d_model_create','d3d_model_destroy','d3d_model_clear','d3d_model_save','d3d_model_load',
-			'd3d_model_draw','d3d_model_primitive_begin','d3d_model_vertex','d3d_model_vertex_color',
-			'd3d_model_vertex_texture','d3d_model_vertex_texture_color','d3d_model_vertex_normal',
-			'd3d_model_vertex_normal_color','d3d_model_vertex_normal_texture',
-			'd3d_model_vertex_normal_texture_color','d3d_model_primitive_end','d3d_model_block',
-			'd3d_model_cylinder','d3d_model_cone','d3d_model_ellipsoid','d3d_model_wall','d3d_model_floor'
-			),
-		// constants
-		4 => array(
-			'true', 'false', 'pi',
-			'ev_destroy','ev_step','ev_alarm','ev_keyboard','ev_mouse','ev_collision','ev_other','ev_draw',
-			'ev_keypress','ev_keyrelease','ev_left_button','ev_right_button','ev_middle_button',
-			'ev_no_button','ev_left_press','ev_right_press','ev_middle_press','ev_left_release',
-			'ev_right_release','ev_middle_release','ev_mouse_enter','ev_mouse_leave','ev_mouse_wheel_up',
-			'ev_mouse_wheel_down','ev_global_left_button','ev_global_right_button','ev_global_middle_button',
-			'ev_global_left_press','ev_global_right_press','ev_global_middle_press','ev_global_left_release',
-			'ev_global_right_release','ev_global_middle_release','ev_joystick1_left','ev_joystick1_right',
-			'ev_joystick1_up','ev_joystick1_down','ev_joystick1_button1','ev_joystick1_button2',
-			'ev_joystick1_button3','ev_joystick1_button4','ev_joystick1_button5','ev_joystick1_button6',
-			'ev_joystick1_button7','ev_joystick1_button8','ev_joystick2_left','ev_joystick2_right',
-			'ev_joystick2_up','ev_joystick2_down','ev_joystick2_button1','ev_joystick2_button2',
-			'ev_joystick2_button3','ev_joystick2_button4','ev_joystick2_button5','ev_joystick2_button6',
-			'ev_joystick2_button7','ev_joystick2_button8',
-			'ev_outside','ev_boundary','ev_game_start','ev_game_end','ev_room_start','ev_room_end',
-			'ev_no_more_lives','ev_no_more_health','ev_animation_end','ev_end_of_path','ev_user0','ev_user1',
-			'ev_user2','ev_user3','ev_user4','ev_user5','ev_user6','ev_user7','ev_user8','ev_user9',
-			'ev_user10','ev_user11','ev_user12','ev_user13','ev_user14','ev_user15','ev_step_normal',
-			'ev_step_begin','ev_step_end',
-			'vk_nokey','vk_anykey','vk_left','vk_right','vk_up','vk_down','vk_enter','vk_escape','vk_space',
-			'vk_shift','vk_control','vk_alt','vk_backspace','vk_tab','vk_home','vk_end','vk_delete',
-			'vk_insert','vk_pageup','vk_pagedown','vk_pause','vk_printscreen',
-			'vk_f1','vk_f2','vk_f3','vk_f4','vk_f5','vk_f6','vk_f7','vk_f8','vk_f9','vk_f10','vk_f11','vk_f12',
-			'vk_numpad0','vk_numpad1','vk_numpad2','vk_numpad3','vk_numpad4','vk_numpad5','vk_numpad6',
-			'vk_numpad7','vk_numpad8','vk_numpad9', 'vk_multiply','vk_divide','vk_add','vk_subtract',
-			'vk_decimal','vk_lshift','vk_lcontrol','vk_lalt','vk_rshift','vk_rcontrol','vk_ralt',
-			'c_aqua','c_black','c_blue','c_dkgray','c_fuchsia','c_gray','c_green','c_lime','c_ltgray',
-			'c_maroon','c_navy','c_olive','c_purple','c_red','c_silver','c_teal','c_white','c_yellow',
-			'fa_left', 'fa_center','fa_right','fa_top','fa_middle','fa_bottom',
-			'pr_pointlist','pr_linelist','pr_linestrip','pr_trianglelist','pr_trianglestrip',
-			'pr_trianglefan',
-			'cr_none','cr_arrow','cr_cross','cr_beam','cr_size_nesw','cr_size_ns','cr_size_nwse',
-			'cr_size_we','cr_uparrow','cr_hourglass','cr_drag','cr_nodrop','cr_hsplit','cr_vsplit',
-			'cr_multidrag','cr_sqlwait','cr_no','cr_appstart','cr_help','cr_handpoint','cr_size_all',
-			'se_chorus','se_echo','se_flanger','se_gargle','se_reverb','se_compressor','se_equalizer',
-			'fa_readonly','fa_hidden','fa_sysfile','fa_volumeid','fa_directory','fa_archive',
-			'pt_shape_pixel','pt_shape_disk','pt_shape_square','pt_shape_line','pt_shape_star',
-			'pt_shape_circle','pt_shape_ring','pt_shape_sphere','pt_shape_flare','pt_shape_spark',
-			'pt_shape_explosion','pt_shape_cloud','pt_shape_smoke','pt_shape_snow',
-			'ps_shape_rectangle','ps_shape_ellipse ','ps_shape_diamond','ps_shape_line',
-			'ps_distr_linear','ps_distr_gaussian','ps_force_constant','ps_force_linear','ps_force_quadratic',
-			'ps_deflect_horizontal', 'ps_deflect_vertical',
-			'ps_change_motion','ps_change_shape','ps_change_all'
-			),
-		),
-	'SYMBOLS' => array(
-		'(', ')', '{', '}', '[', ']', '&&', '||', '^^', '<', '<=', '==', '!=', '>', '>=',
-		'|', '&', '^', '<<', '>>', '+', '-', '*', '/', '!', '-', '~'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => true,
-		2 => true,
-		3 => true,
-		4 => true,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'font-weight: bold; color: #000000;',
-			2 => 'font-weight: bold; color: #000000;',
-			3 => 'color: navy;',
-			4 => 'color: #663300;',
-			),
-		'COMMENTS' => array(
-			1 => 'font-style: italic; color: green;',
-			'MULTI' => 'font-style: italic; color: green;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #000000;' //'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #202020;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66; font-weight: bold;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		// All GML functions have been indexed, but need some corrections.
-		3 => 'http://www.zonamakers.com/gmlreference/{FNAME}.html', // (provisional, could change soon!)
-		4 => ''
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'GML',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'"),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        // language keywords
+        1 => array(
+            'break', 'continue', 'do', 'until', 'if', 'else',
+            'exit', 'for', 'repeat', 'return', 'switch',
+            'case', 'default', 'var', 'while', 'with', 'div', 'mod',
+            // GML Language overview
+            'self', 'other', 'all', 'noone', 'global',
+            ),
+        // modifiers and built-in variables
+        2 => array(
+            // Game play
+            'x','y','xprevious','yprevious','xstart','ystart','hspeed','vspeed','direction','speed',
+            'friction','gravity','gravity_direction',
+            'path_index','path_position','path_positionprevious','path_speed','path_orientation',
+            'path_endaction',
+            'object_index','id','mask_index','solid','persistent','instance_count','instance_id',
+            'room_speed','fps','current_time','current_year','current_month','current_day','current_weekday',
+            'current_hour','current_minute','current_second','alarm','timeline_index','timeline_position',
+            'timeline_speed',
+            'room','room_first','room_last','room_width','room_height','room_caption','room_persistent',
+            'score','lives','health','show_score','show_lives','show_health','caption_score','caption_lives',
+            'caption_health',
+            'event_type','event_number','event_object','event_action',
+            'error_occurred','error_last',
+            // User interaction
+            'keyboard_lastkey','keyboard_key','keyboard_lastchar','keyboard_string',
+            'mouse_x','mouse_y','mouse_button','mouse_lastbutton',
+            // Game Graphics
+            'sprite_index','sprite_width','sprite_height','sprite_xoffset','sprite_yoffset',
+            'image_number','image_index','image_speed','image_xscale','image_yscale','image_angle',
+            'image_alpha','image_blend','bbox_left','bbox_right','bbox_top','bbox_bottom',
+            'background_color','background_showcolor','background_visible','background_foreground',
+            'background_index','background_x','background_y','background_width','background_height',
+            'background_htiled','background_vtiled','background_xscale','background_yscale',
+            'background_hspeed','background_vspeed','background_blend','background_alpha',
+            'background','left, top, width, height','depth','visible','xscale','yscale','blend','alpha',
+            'view_enabled','view_current','view_visible','view_yview','view_wview','view_hview','view_xport',
+            'view_yport','view_wport','view_hport','view_angle','view_hborder','view_vborder','view_hspeed',
+            'view_vspeed','view_object',
+            'transition_kind',
+            // Files, registry and executing programs
+            'game_id','working_directory','temp_directory',
+            'secure_mode',
+            // Creating particles
+            'xmin', 'xmax', 'ymin', 'ymax','shape','distribution','particle type','number',
+            'force','dist','kind','additive', 'parttype1', 'parttype2'
+            ),
+        // functions
+        3 => array(
+            // Computing things
+            'random','choose','abs','sign','round','floor','ceil','frac','sqrt','sqr','power','exp','ln',
+            'log2','log10','logn','sin','cos','tan','arcsin','arccos','arctan','arctan2','degtorad',
+            'radtodeg','min','max','mean','median','point_distance','point_direction','lengthdir_x',
+            'lengthdir_y','is_real','is_string',
+            'chr','ord','real','string','string_format','string_length','string_pos','string_copy',
+            'string_char_at','string_delete','string_insert','string_replace','string_replace_all',
+            'string_count','string_lower','string_upper','string_repeat','string_letters','string_digits',
+            'string_lettersdigits','clipboard_has_text','clipboard_get_text','clipboard_set_text',
+            'date_current_datetime','date_current_date','date_current_time','date_create_datetime',
+            'date_create_date','date_create_time','date_valid_datetime','date_valid_date','date_valid_time',
+            'date_inc_year','date_inc_month','date_inc_week','date_inc_day','date_inc_hour',
+            'date_inc_minute','date_inc_second','date_get_year','date_get_month','date_get_week',
+            'date_get_day','date_get_hour', 'date_get_minute','date_get_second','date_get_weekday',
+            'date_get_day_of_year','date_get_hour_of_year','date_get_minute_of_year',
+            'date_get_second_of_year','date_year_span','date_month_span','date_week_span','date_day_span',
+            'date_hour_span','date_minute_span','date_second_span','date_compare_datetime',
+            'date_compare_date','date_compare_time','date_date_of','date_time_of','date_datetime_string',
+            'date_date_string','date_time_string','date_days_in_month','date_days_in_year','date_leap_year',
+            'date_is_today',
+            // Game play
+            'motion_set','motion_add','place_free','place_empty','place_meeting','place_snapped',
+            'move_random','move_snap','move_wrap','move_towards_point','move_bounce_solid','move_bounce_all',
+            'move_contact_solid','move_contact_all','move_outside_solid','move_outside_all',
+            'distance_to_point','distance_to_object','position_empty','position_meeting',
+            'path_start','path_end',
+            'mp_linear_step','mp_linear_step_object','mp_potential_step','mp_potential_step_object',
+            'mp_potential_settings','mp_linear_path','mp_linear_path_object', 'mp_potential_path',
+            'mp_potential_path_object','mp_grid_create','mp_grid_destroy','mp_grid_clear_all',
+            'mp_grid_clear_cell','mp_grid_clear_rectangle','mp_grid_add_cell','mp_grid_add_rectangle',
+            'mp_grid_add_instances','mp_grid_path','mp_grid_draw',
+            'collision_point','collision_rectangle','collision_circle','collision_ellipse','collision_line',
+            'instance_find','instance_exists','instance_number','instance_position','instance_nearest',
+            'instance_furthest','instance_place','instance_create','instance_copy','instance_destroy',
+            'instance_change','position_destroy','position_change',
+            'instance_deactivate_all','instance_deactivate_object','instance_deactivate_region',
+            'instance_activate_all','instance_activate_object','instance_activate_region',
+            'sleep',
+            'room_goto','room_goto_previous','room_goto_next','room_restart','room_previous','room_next',
+            'game_end','game_restart','game_save','game_load',
+            'event_perform', 'event_perform_object','event_user','event_inherited',
+            'show_debug_message','variable_global_exists','variable_local_exists','variable_global_get',
+            'variable_global_array_get','variable_global_array2_get','variable_local_get',
+            'variable_local_array_get','variable_local_array2_get','variable_global_set',
+            'variable_global_array_set','variable_global_array2_set','variable_local_set',
+            'variable_local_array_set','variable_local_array2_set','set_program_priority',
+            // User interaction
+            'keyboard_set_map','keyboard_get_map','keyboard_unset_map','keyboard_check',
+            'keyboard_check_pressed','keyboard_check_released','keyboard_check_direct',
+            'keyboard_get_numlock','keyboard_set_numlock','keyboard_key_press','keyboard_key_release',
+            'keyboard_clear','io_clear','io_handle','keyboard_wait',
+            'mouse_check_button','mouse_check_button_pressed','mouse_check_button_released','mouse_clear',
+            'mouse_wait',
+            'joystick_exists','joystick_name','joystick_axes','joystick_buttons','joystick_has_pov',
+            'joystick_direction','joystick_check_button','joystick_xpos','joystick_ypos','joystick_zpos',
+            'joystick_rpos','joystick_upos','joystick_vpos','joystick_pov',
+            // Game Graphics
+            'draw_sprite','draw_sprite_stretched','draw_sprite_tiled','draw_sprite_part','draw_background',
+            'draw_background_stretched','draw_background_tiled','draw_background_part','draw_sprite_ext',
+            'draw_sprite_stretched_ext','draw_sprite_tiled_ext','draw_sprite_part_ext','draw_sprite_general',
+            'draw_background_ext','draw_background_stretched_ext','draw_background_tiled_ext',
+            'draw_background_part_ext','draw_background_general',
+            'draw_clear','draw_clear_alpha','draw_point','draw_line','draw_rectangle','draw_roundrect',
+            'draw_triangle','draw_circle','draw_ellipse','draw_arrow','draw_button','draw_path',
+            'draw_healthbar','draw_set_color','draw_set_alpha','draw_get_color','draw_get_alpha',
+            'make_color_rgb','make_color_hsv','color_get_red','color_get_green','color_get_blue',
+            'color_get_hue','color_get_saturation','color_get_value','merge_color','draw_getpixel',
+            'screen_save','screen_save_part',
+            'draw_set_font','draw_set_halign','draw_set_valign','draw_text','draw_text_ext','string_width',
+            'string_height','string_width_ext','string_height_ext','draw_text_transformed',
+            'draw_text_ext_transformed','draw_text_color','draw_text_ext_color',
+            'draw_text_transformed_color','draw_text_ext_transformed_color',
+            'draw_point_color','draw_line_color','draw_rectangle_color','draw_roundrect_color',
+            'draw_triangle_color','draw_circle_color','draw_ellipse_color','draw_primitive_begin',
+            'draw_vertex','draw_vertex_color','draw_primitive_end','sprite_get_texture',
+            'background_get_texture','texture_preload','texture_set_priority',
+            'texture_get_width','texture_get_height','draw_primitive_begin_texture','draw_vertex_texture',
+            'draw_vertex_texture_color','texture_set_interpolation',
+            'texture_set_blending','texture_set_repeat','draw_set_blend_mode','draw_set_blend_mode_ext',
+            'surface_create','surface_free','surface_exists','surface_get_width','surface_get_height',
+            'surface_get_texture','surface_set_target','surface_reset_target','surface_getpixel',
+            'surface_save','surface_save_part','draw_surface','draw_surface_stretched','draw_surface_tiled',
+            'draw_surface_part','draw_surface_ext','draw_surface_stretched_ext','draw_surface_tiled_ext',
+            'draw_surface_part_ext','draw_surface_general','surface_copy','surface_copy_part',
+            'tile_add','tile_delete','tile_exists','tile_get_x','tile_get_y','tile_get_left','tile_get_top',
+            'tile_get_width','tile_get_height','tile_get_depth','tile_get_visible','tile_get_xscale',
+            'tile_get_yscale','tile_get_background','tile_get_blend','tile_get_alpha','tile_set_position',
+            'tile_set_region','tile_set_background','tile_set_visible','tile_set_depth','tile_set_scale',
+            'tile_set_blend','tile_set_alpha','tile_layer_hide','tile_layer_show','tile_layer_delete',
+            'tile_layer_shift','tile_layer_find','tile_layer_delete_at','tile_layer_depth',
+            'display_get_width','display_get_height','display_get_colordepth','display_get_frequency',
+            'display_set_size','display_set_colordepth','display_set_frequency','display_set_all',
+            'display_test_all','display_reset','display_mouse_get_x','display_mouse_get_y','display_mouse_set',
+            'window_set_visible','window_get_visible','window_set_fullscreen','window_get_fullscreen',
+            'window_set_showborder','window_get_showborder','window_set_showicons','window_get_showicons',
+            'window_set_stayontop','window_get_stayontop','window_set_sizeable','window_get_sizeable',
+            'window_set_caption','window_get_caption','window_set_cursor', 'window_get_cursor',
+            'window_set_color','window_get_color','window_set_region_scale','window_get_region_scale',
+            'window_set_position','window_set_size','window_set_rectangle','window_center','window_default',
+            'window_get_x','window_get_y','window_get_width','window_get_height','window_mouse_get_x',
+            'window_mouse_get_y','window_mouse_set',
+            'window_set_region_size','window_get_region_width','window_get_region_height',
+            'window_view_mouse_get_x','window_view_mouse_get_y','window_view_mouse_set',
+            'window_views_mouse_get_x','window_views_mouse_get_y','window_views_mouse_set',
+            'screen_redraw','screen_refresh','set_automatic_draw','set_synchronization','screen_wait_vsync',
+            // Sound and music)
+            'sound_play','sound_loop','sound_stop','sound_stop_all','sound_isplaying','sound_volume',
+            'sound_global_volume','sound_fade','sound_pan','sound_background_tempo','sound_set_search_directory',
+            'sound_effect_set','sound_effect_chorus','sound_effect_echo',    'sound_effect_flanger',
+            'sound_effect_gargle','sound_effect_reverb','sound_effect_compressor','sound_effect_equalizer',
+            'sound_3d_set_sound_position','sound_3d_set_sound_velocity','sound_3d_set_sound_distance',
+            'sound_3d_set_sound_cone',
+            'cd_init','cd_present','cd_number','cd_playing','cd_paused','cd_track','cd_length',
+            'cd_track_length','cd_position','cd_track_position','cd_play','cd_stop','cd_pause','cd_resume',
+            'cd_set_position','cd_set_track_position','cd_open_door','cd_close_door','MCI_command',
+            // Splash screens, highscores, and other pop-ups
+            'show_text','show_image','show_video','show_info','load_info',
+            'show_message','show_message_ext','show_question','get_integer','get_string',
+            'message_background','message_alpha','message_button','message_text_font','message_button_font',
+            'message_input_font','message_mouse_color','message_input_color','message_caption',
+            'message_position','message_size','show_menu','show_menu_pos','get_color','get_open_filename',
+            'get_save_filename','get_directory','get_directory_alt','show_error',
+            'highscore_show','highscore_set_background','highscore_set_border','highscore_set_font',
+            'highscore_set_colors','highscore_set_strings','highscore_show_ext','highscore_clear',
+            'highscore_add','highscore_add_current','highscore_value','highscore_name','draw_highscore',
+            // Resources
+            'sprite_exists','sprite_get_name','sprite_get_number','sprite_get_width','sprite_get_height',
+            'sprite_get_transparent','sprite_get_smooth','sprite_get_preload','sprite_get_xoffset',
+            'sprite_get_yoffset','sprite_get_bbox_left','sprite_get_bbox_right','sprite_get_bbox_top',
+            'sprite_get_bbox_bottom','sprite_get_bbox_mode','sprite_get_precise',
+            'sound_exists','sound_get_name','sound_get_kind','sound_get_preload','sound_discard',
+            'sound_restore',
+            'background_exists','background_get_name','background_get_width','background_get_height',
+            'background_get_transparent','background_get_smooth','background_get_preload',
+            'font_exists','font_get_name','font_get_fontname','font_get_bold','font_get_italic',
+            'font_get_first','font_get_last',
+            'path_exists','path_get_name','path_get_length','path_get_kind','path_get_closed',
+            'path_get_precision','path_get_number','path_get_point_x','path_get_point_y',
+            'path_get_point_speed','path_get_x','path_get_y','path_get_speed',
+            'script_exists','script_get_name','script_get_text',
+            'timeline_exists','timeline_get_name',
+            'object_exists','object_get_name','object_get_sprite','object_get_solid','object_get_visible',
+            'object_get_depth','object_get_persistent','object_get_mask','object_get_parent',
+            'object_is_ancestor',
+            'room_exists','room_get_name',
+            // Changing resources
+            'sprite_set_offset','sprite_set_bbox_mode','sprite_set_bbox','sprite_set_precise',
+            'sprite_duplicate','sprite_assign','sprite_merge','sprite_add','sprite_replace',
+            'sprite_create_from_screen','sprite_add_from_screen','sprite_create_from_surface',
+            'sprite_add_from_surface','sprite_delete','sprite_set_alpha_from_sprite',
+            'sound_add','sound_replace','sound_delete',
+            'background_duplicate','background_assign','background_add','background_replace',
+            'background_create_color','background_create_gradient','background_create_from_screen',
+            'background_create_from_surface','background_delete','background_set_alpha_from_background',
+            'font_add','font_add_sprite','font_replace_sprite','font_delete',
+            'path_set_kind','path_set_closed','path_set_precision','path_add','path_delete','path_duplicate',
+            'path_assign','path_append','path_add_point','path_insert_point','path_change_point',
+            'path_delete_point','path_clear_points','path_reverse','path_mirror','path_flip','path_rotate',
+            'path_scale','path_shift',
+            'execute_string','execute_file','script_execute',
+            'timeline_add','timeline_delete','timeline_moment_add','timeline_moment_clear',
+            'object_set_sprite','object_set_solid','object_set_visible','object_set_depth',
+            'object_set_persistent','object_set_mask','object_set_parent','object_add','object_delete',
+            'object_event_add','object_event_clear',
+            'room_set_width','room_set_height','room_set_caption','room_set_persistent','room_set_code',
+            'room_set_background_color','room_set_background','room_set_view','room_set_view_enabled',
+            'room_add','room_duplicate','room_assign','room_instance_add','room_instance_clear',
+            'room_tile_add','room_tile_add_ext','room_tile_clear',
+            // Files, registry and executing programs
+            'file_text_open_read','file_text_open_write','file_text_open_append','file_text_close',
+            'file_text_write_string','file_text_write_real','file_text_writeln','file_text_read_string',
+            'file_text_read_real','file_text_readln','file_text_eof','file_exists','file_delete',
+            'file_rename','file_copy','directory_exists','directory_create','file_find_first',
+            'file_find_next','file_find_close','file_attributes', 'filename_name','filename_path',
+            'filename_dir','filename_drive','filename_ext','filename_change_ext','file_bin_open',
+            'file_bin_rewrite','file_bin_close','file_bin_size','file_bin_position','file_bin_seek',
+            'file_bin_write_byte','file_bin_read_byte','parameter_count','parameter_string',
+            'environment_get_variable',
+            'registry_write_string','registry_write_real','registry_read_string','registry_read_real',
+            'registry_exists','registry_write_string_ext','registry_write_real_ext',
+            'registry_read_string_ext','registry_read_real_ext','registry_exists_ext','registry_set_root',
+            'ini_open','ini_close','ini_read_string','ini_read_real','ini_write_string','ini_write_real',
+            'ini_key_exists','ini_section_exists','ini_key_delete','ini_section_delete',
+            'execute_program','execute_shell',
+            // Data structures
+            'ds_stack_create','ds_stack_destroy','ds_stack_clear','ds_stack_size','ds_stack_empty',
+            'ds_stack_push','ds_stack_pop','ds_stack_top',
+            'ds_queue_create','ds_queue_destroy','ds_queue_clear','ds_queue_size','ds_queue_empty',
+            'ds_queue_enqueue','ds_queue_dequeue','ds_queue_head','ds_queue_tail',
+            'ds_list_create','ds_list_destroy','ds_list_clear','ds_list_size','ds_list_empty','ds_list_add',
+            'ds_list_insert','ds_list_replace','ds_list_delete','ds_list_find_index','ds_list_find_value',
+            'ds_list_sort',
+            'ds_map_create','ds_map_destroy','ds_map_clear','ds_map_size','ds_map_empty','ds_map_add',
+            'ds_map_replace','ds_map_delete','ds_map_exists','ds_map_find_value','ds_map_find_previous',
+            'ds_map_find_next','ds_map_find_first','ds_map_find_last',
+            'ds_priority_create','ds_priority_destroy','ds_priority_clear','ds_priority_size',
+            'ds_priority_empty','ds_priority_add','ds_priority_change_priority','ds_priority_find_priority',
+            'ds_priority_delete_value','ds_priority_delete_min','ds_priority_find_min',
+            'ds_priority_delete_max','ds_priority_find_max',
+            'ds_grid_create','ds_grid_destroy','ds_grid_resize','ds_grid_width','ds_grid_height',
+            'ds_grid_clear','ds_grid_set','ds_grid_add','ds_grid_multiply','ds_grid_set_region',
+            'ds_grid_add_region','ds_grid_multiply_region','ds_grid_set_disk','ds_grid_add_disk',
+            'ds_grid_multiply_disk','ds_grid_get','ds_grid_get_sum','ds_grid_get_max','ds_grid_get_min',
+            'ds_grid_get_mean','ds_grid_get_disk_sum','ds_grid_get_disk_min','ds_grid_get_disk_max',
+            'ds_grid_get_disk_mean','ds_grid_value_exists','ds_grid_value_x','ds_grid_value_y',
+            'ds_grid_value_disk_exists','ds_grid_value_disk_x','ds_grid_value_disk_y',
+            // Creating particles
+            'effect_create_below','effect_create_above','effect_clear',
+            'part_type_create','part_type_destroy','part_type_exists','part_type_clear','part_type_shape',
+            'part_type_sprite','part_type_size','part_type_scale',
+            'part_type_orientation','part_type_color1','part_type_color2','part_type_color3',
+            'part_type_color_mix','part_type_color_rgb','part_type_color_hsv',
+            'part_type_alpha1','part_type_alpha2','part_type_alpha3','part_type_blend','part_type_life',
+            'part_type_step','part_type_death','part_type_speed','part_type_direction','part_type_gravity',
+            'part_system_create','part_system_destroy','part_system_exists','part_system_clear',
+            'part_system_draw_order','part_system_depth','part_system_position',
+            'part_system_automatic_update','part_system_automatic_draw','part_system_update',
+            'part_system_drawit','part_particles_create','part_particles_create_color',
+            'part_particles_clear','part_particles_count',
+            'part_emitter_create','part_emitter_destroy','part_emitter_destroy_all','part_emitter_exists',
+            'part_emitter_clear','part_emitter_region','part_emitter_burst','part_emitter_stream',
+            'part_attractor_create','part_attractor_destroy','part_attractor_destroy_all',
+            'part_attractor_exists','part_attractor_clear','part_attractor_position','part_attractor_force',
+            'part_destroyer_create','part_destroyer_destroy','part_destroyer_destroy_all',
+            'part_destroyer_exists','part_destroyer_clear','part_destroyer_region',
+            'part_deflector_create','part_deflector_destroy','part_deflector_destroy_all',
+            'part_deflector_exists','part_deflector_clear','part_deflector_region','part_deflector_kind',
+            'part_deflector_friction',
+            'part_changer_create','part_changer_destroy','part_changer_destroy_all','part_changer_exists',
+            'part_changer_clear','part_changer_region','part_changer_types','part_changer_kind',
+            // Multiplayer games
+            'mplay_init_ipx','mplay_init_tcpip','mplay_init_modem','mplay_init_serial',
+            'mplay_connect_status','mplay_end','mplay_ipaddress',
+            'mplay_session_create','mplay_session_find','mplay_session_name','mplay_session_join',
+            'mplay_session_mode','mplay_session_status','mplay_session_end',
+            'mplay_player_find','mplay_player_name','mplay_player_id',
+            'mplay_data_write','mplay_data_read','mplay_data_mode',
+            'mplay_message_send','mplay_message_send_guaranteed','mplay_message_receive','mplay_message_id',
+            'mplay_message_value','mplay_message_player','mplay_message_name','mplay_message_count',
+            'mplay_message_clear',
+            // Using DLL's
+            'external_define','external_call','external_free','window_handle',
+            // 3D Graphics
+            'd3d_start','d3d_end','d3d_set_hidden','d3d_set_perspective',
+            'd3d_set_depth',
+            'd3d_primitive_begin','d3d_vertex','d3d_vertex_color','d3d_primitive_end',
+            'd3d_primitive_begin_texture','d3d_vertex_texture','d3d_vertex_texture_color','d3d_set_culling',
+            'd3d_draw_block','d3d_draw_cylinder','d3d_draw_cone','d3d_draw_ellipsoid','d3d_draw_wall',
+            'd3d_draw_floor',
+            'd3d_set_projection','d3d_set_projection_ext','d3d_set_projection_ortho',
+            'd3d_set_projection_perspective',
+            'd3d_transform_set_identity','d3d_transform_set_translation','d3d_transform_set_scaling',
+            'd3d_transform_set_rotation_x','d3d_transform_set_rotation_y','d3d_transform_set_rotation_z',
+            'd3d_transform_set_rotation_axis','d3d_transform_add_translation','d3d_transform_add_scaling',
+            'd3d_transform_add_rotation_x','d3d_transform_add_rotation_y','d3d_transform_add_rotation_z',
+            'd3d_transform_add_rotation_axis','d3d_transform_stack_clear','d3d_transform_stack_empty',
+            'd3d_transform_stack_push','d3d_transform_stack_pop','d3d_transform_stack_top',
+            'd3d_transform_stack_discard',
+            'd3d_set_fog',
+            'd3d_set_lighting','d3d_set_shading','d3d_light_define_direction','d3d_light_define_point',
+            'd3d_light_enable','d3d_vertex_normal','d3d_vertex_normal_color','d3d_vertex_normal_texture',
+            'd3d_vertex_normal_texture_color',
+            'd3d_model_create','d3d_model_destroy','d3d_model_clear','d3d_model_save','d3d_model_load',
+            'd3d_model_draw','d3d_model_primitive_begin','d3d_model_vertex','d3d_model_vertex_color',
+            'd3d_model_vertex_texture','d3d_model_vertex_texture_color','d3d_model_vertex_normal',
+            'd3d_model_vertex_normal_color','d3d_model_vertex_normal_texture',
+            'd3d_model_vertex_normal_texture_color','d3d_model_primitive_end','d3d_model_block',
+            'd3d_model_cylinder','d3d_model_cone','d3d_model_ellipsoid','d3d_model_wall','d3d_model_floor'
+            ),
+        // constants
+        4 => array(
+            'true', 'false', 'pi',
+            'ev_destroy','ev_step','ev_alarm','ev_keyboard','ev_mouse','ev_collision','ev_other','ev_draw',
+            'ev_keypress','ev_keyrelease','ev_left_button','ev_right_button','ev_middle_button',
+            'ev_no_button','ev_left_press','ev_right_press','ev_middle_press','ev_left_release',
+            'ev_right_release','ev_middle_release','ev_mouse_enter','ev_mouse_leave','ev_mouse_wheel_up',
+            'ev_mouse_wheel_down','ev_global_left_button','ev_global_right_button','ev_global_middle_button',
+            'ev_global_left_press','ev_global_right_press','ev_global_middle_press','ev_global_left_release',
+            'ev_global_right_release','ev_global_middle_release','ev_joystick1_left','ev_joystick1_right',
+            'ev_joystick1_up','ev_joystick1_down','ev_joystick1_button1','ev_joystick1_button2',
+            'ev_joystick1_button3','ev_joystick1_button4','ev_joystick1_button5','ev_joystick1_button6',
+            'ev_joystick1_button7','ev_joystick1_button8','ev_joystick2_left','ev_joystick2_right',
+            'ev_joystick2_up','ev_joystick2_down','ev_joystick2_button1','ev_joystick2_button2',
+            'ev_joystick2_button3','ev_joystick2_button4','ev_joystick2_button5','ev_joystick2_button6',
+            'ev_joystick2_button7','ev_joystick2_button8',
+            'ev_outside','ev_boundary','ev_game_start','ev_game_end','ev_room_start','ev_room_end',
+            'ev_no_more_lives','ev_no_more_health','ev_animation_end','ev_end_of_path','ev_user0','ev_user1',
+            'ev_user2','ev_user3','ev_user4','ev_user5','ev_user6','ev_user7','ev_user8','ev_user9',
+            'ev_user10','ev_user11','ev_user12','ev_user13','ev_user14','ev_user15','ev_step_normal',
+            'ev_step_begin','ev_step_end',
+            'vk_nokey','vk_anykey','vk_left','vk_right','vk_up','vk_down','vk_enter','vk_escape','vk_space',
+            'vk_shift','vk_control','vk_alt','vk_backspace','vk_tab','vk_home','vk_end','vk_delete',
+            'vk_insert','vk_pageup','vk_pagedown','vk_pause','vk_printscreen',
+            'vk_f1','vk_f2','vk_f3','vk_f4','vk_f5','vk_f6','vk_f7','vk_f8','vk_f9','vk_f10','vk_f11','vk_f12',
+            'vk_numpad0','vk_numpad1','vk_numpad2','vk_numpad3','vk_numpad4','vk_numpad5','vk_numpad6',
+            'vk_numpad7','vk_numpad8','vk_numpad9', 'vk_multiply','vk_divide','vk_add','vk_subtract',
+            'vk_decimal','vk_lshift','vk_lcontrol','vk_lalt','vk_rshift','vk_rcontrol','vk_ralt',
+            'c_aqua','c_black','c_blue','c_dkgray','c_fuchsia','c_gray','c_green','c_lime','c_ltgray',
+            'c_maroon','c_navy','c_olive','c_purple','c_red','c_silver','c_teal','c_white','c_yellow',
+            'fa_left', 'fa_center','fa_right','fa_top','fa_middle','fa_bottom',
+            'pr_pointlist','pr_linelist','pr_linestrip','pr_trianglelist','pr_trianglestrip',
+            'pr_trianglefan',
+            'cr_none','cr_arrow','cr_cross','cr_beam','cr_size_nesw','cr_size_ns','cr_size_nwse',
+            'cr_size_we','cr_uparrow','cr_hourglass','cr_drag','cr_nodrop','cr_hsplit','cr_vsplit',
+            'cr_multidrag','cr_sqlwait','cr_no','cr_appstart','cr_help','cr_handpoint','cr_size_all',
+            'se_chorus','se_echo','se_flanger','se_gargle','se_reverb','se_compressor','se_equalizer',
+            'fa_readonly','fa_hidden','fa_sysfile','fa_volumeid','fa_directory','fa_archive',
+            'pt_shape_pixel','pt_shape_disk','pt_shape_square','pt_shape_line','pt_shape_star',
+            'pt_shape_circle','pt_shape_ring','pt_shape_sphere','pt_shape_flare','pt_shape_spark',
+            'pt_shape_explosion','pt_shape_cloud','pt_shape_smoke','pt_shape_snow',
+            'ps_shape_rectangle','ps_shape_ellipse ','ps_shape_diamond','ps_shape_line',
+            'ps_distr_linear','ps_distr_gaussian','ps_force_constant','ps_force_linear','ps_force_quadratic',
+            'ps_deflect_horizontal', 'ps_deflect_vertical',
+            'ps_change_motion','ps_change_shape','ps_change_all'
+            ),
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']',
+        '&&', '||', '^^', '&', '|', '^',
+        '<', '<=', '==', '!=', '>', '>=', '=',
+        '<<', '>>',
+        '+=', '-=', '*=', '/=',
+        '+', '-', '*', '/',
+        '!', '~', ',', ';'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'font-weight: bold; color: #000000;',
+            2 => 'font-weight: bold; color: #000000;',
+            3 => 'color: navy;',
+            4 => 'color: #663300;',
+            ),
+        'COMMENTS' => array(
+            1 => 'font-style: italic; color: green;',
+            'MULTI' => 'font-style: italic; color: green;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;' //'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #202020;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66; font-weight: bold;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/gnuplot.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,296 @@
+<?php
+/*************************************************************************************
+ * gnuplot.php
+ * ----------
+ * Author: Milian Wolff (mail@milianw.de)
+ * Copyright: (c) 2008 Milian Wolff (http://milianw.de)
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/07/07
+ *
+ * Gnuplot script language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/07/07 (1.0.8)
+ *  -  Initial import
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Gnuplot',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('`', '"', "'"),
+    'ESCAPE_CHAR' => '\\',
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC |
+        GESHI_NUMBER_FLT_NONSCI |
+        GESHI_NUMBER_FLT_SCI_SHORT |
+        GESHI_NUMBER_FLT_SCI_ZERO,
+    'KEYWORDS' => array(
+        // copy output of help command, indent properly and use this replace regexp:
+        // ([a-z0-9_\-]+)(( )+|$)          =>     '\1',\3
+
+        // commands as found in `help commands`
+        1 => array(
+            'bind', 'call', 'cd', 'clear',
+            'exit', 'fit', 'help', 'history',
+            'if', 'load', 'lower', 'pause',
+            'plot', 'print', 'pwd', 'quit',
+            'raise', 'replot', 'reread', 'reset',
+            'save', 'set', 'shell', 'show',
+            'splot', 'system', 'test', 'unset',
+            'update'
+            ),
+        2 => array(
+            // set commands as returned by `help set`
+            'angles', 'arrow', 'autoscale', 'bars',
+            'bmargin', 'border', 'boxwidth', 'cbdata',
+            'cbdtics', 'cblabel', 'cbmtics', 'cbrange',
+            'cbtics', 'clabel', 'clip', 'cntrparam',
+            'colorbox', 'contour', 'datafile', 'date_specifiers',
+            'decimalsign', 'dgrid3d', 'dummy', 'encoding',
+            'fontpath', 'format', 'grid',
+            'hidden3d', 'historysize', 'isosamples', 'key',
+            'label', 'lmargin', 'loadpath', 'locale',
+            'log', 'logscale', 'macros', 'mapping',
+            'margin', 'missing', 'mouse', 'multiplot',
+            'mx2tics', 'mxtics', 'my2tics', 'mytics',
+            'mztics', 'object', 'offsets', 'origin',
+            'output', 'palette', 'parametric', 'pm3d',
+            'pointsize', 'polar', 'rmargin',
+            'rrange', 'samples', 'size', 'style',
+            'surface', 'table', 'term', 'terminal',
+            'termoption', 'tics', 'ticscale', 'ticslevel',
+            'time_specifiers', 'timefmt', 'timestamp', 'title',
+            'trange', 'urange', 'view',
+            'vrange', 'x2data', 'x2dtics', 'x2label',
+            'x2mtics', 'x2range', 'x2tics', 'x2zeroaxis',
+            'xdata', 'xdtics', 'xlabel', 'xmtics',
+            'xrange', 'xtics', 'xyplane', 'xzeroaxis',
+            'y2data', 'y2dtics', 'y2label', 'y2mtics',
+            'y2range', 'y2tics', 'y2zeroaxis', 'ydata',
+            'ydtics', 'ylabel', 'ymtics', 'yrange',
+            'ytics', 'yzeroaxis', 'zdata', 'zdtics',
+            'zero', 'zeroaxis', 'zlabel', 'zmtics',
+            'zrange', 'ztics', 'zzeroaxis',
+            // same but with leading no
+            'noangles', 'noarrow', 'noautoscale', 'nobars',
+            'nobmargin', 'noborder', 'noboxwidth', 'nocbdata',
+            'nocbdtics', 'nocblabel', 'nocbmtics', 'nocbrange',
+            'nocbtics', 'noclabel', 'noclip', 'nocntrparam',
+            'nocolorbox', 'nocontour', 'nodatafile', 'nodate_specifiers',
+            'nodecimalsign', 'nodgrid3d', 'nodummy', 'noencoding',
+            'nofit', 'nofontpath', 'noformat', 'nogrid',
+            'nohidden3d', 'nohistorysize', 'noisosamples', 'nokey',
+            'nolabel', 'nolmargin', 'noloadpath', 'nolocale',
+            'nolog', 'nologscale', 'nomacros', 'nomapping',
+            'nomargin', 'nomissing', 'nomouse', 'nomultiplot',
+            'nomx2tics', 'nomxtics', 'nomy2tics', 'nomytics',
+            'nomztics', 'noobject', 'nooffsets', 'noorigin',
+            'nooutput', 'nopalette', 'noparametric', 'nopm3d',
+            'nopointsize', 'nopolar', 'noprint', 'normargin',
+            'norrange', 'nosamples', 'nosize', 'nostyle',
+            'nosurface', 'notable', 'noterm', 'noterminal',
+            'notermoption', 'notics', 'noticscale', 'noticslevel',
+            'notime_specifiers', 'notimefmt', 'notimestamp', 'notitle',
+            'notmargin', 'notrange', 'nourange', 'noview',
+            'novrange', 'nox2data', 'nox2dtics', 'nox2label',
+            'nox2mtics', 'nox2range', 'nox2tics', 'nox2zeroaxis',
+            'noxdata', 'noxdtics', 'noxlabel', 'noxmtics',
+            'noxrange', 'noxtics', 'noxyplane', 'noxzeroaxis',
+            'noy2data', 'noy2dtics', 'noy2label', 'noy2mtics',
+            'noy2range', 'noy2tics', 'noy2zeroaxis', 'noydata',
+            'noydtics', 'noylabel', 'noymtics', 'noyrange',
+            'noytics', 'noyzeroaxis', 'nozdata', 'nozdtics',
+            'nozero', 'nozeroaxis', 'nozlabel', 'nozmtics',
+            'nozrange', 'noztics', 'nozzeroaxis',
+            ),
+        3 => array(
+            // predefined variables
+            'pi', 'NaN', 'GNUTERM',
+            'GPVAL_X_MIN', 'GPVAL_X_MAX', 'GPVAL_Y_MIN', 'GPVAL_Y_MAX',
+            'GPVAL_TERM', 'GPVAL_TERMOPTIONS', 'GPVAL_OUTPUT',
+            'GPVAL_VERSION', 'GPVAL_PATcHLEVEL', 'GPVAL_COMPILE_OPTIONS',
+            'MOUSE_KEY', 'MOUSE_X', 'MOUSE_X2', 'MOUSE_Y', 'MOUSE_Y2',
+            'MOUSE_BUTTON', 'MOUSE_SHIFT', 'MOUSE_ALT', 'MOUSE_CTRL'
+            ),
+        4 => array(
+            // predefined functions `help functions`
+            'abs', 'acos', 'acosh', 'arg',
+            'asin', 'asinh', 'atan', 'atan2',
+            'atanh', 'besj0', 'besj1', 'besy0',
+            'besy1', 'ceil', 'column', 'cos',
+            'cosh', 'defined', 'erf', 'erfc',
+            'exists', 'exp', 'floor', 'gamma',
+            'gprintf', 'ibeta', 'igamma', 'imag',
+            'int', 'inverf', 'invnorm', 'lambertw',
+            'lgamma', 'log10', 'norm',
+            'rand', 'random', 'real', 'sgn',
+            'sin', 'sinh', 'sprintf', 'sqrt',
+            'stringcolumn', 'strlen', 'strstrt', 'substr',
+            'tan', 'tanh', 'timecolumn',
+            'tm_hour', 'tm_mday', 'tm_min', 'tm_mon',
+            'tm_sec', 'tm_wday', 'tm_yday', 'tm_year',
+            'valid', 'word', 'words',
+            ),
+        5 => array(
+            // mixed arguments
+            // there is no sane way to get these ones easily...
+            'autofreq', 'x', 'y', 'z',
+            'lt', 'linetype', 'lw', 'linewidth', 'ls', 'linestyle',
+            'out', 'rotate by', 'screen',
+            'enhanced', 'via',
+            // `help set key`
+            'on', 'off', 'default', 'inside', 'outside', 'tmargin',
+            'at', 'left', 'right', 'center', 'top', 'bottom', 'vertical', 'horizontal', 'Left', 'Right',
+            'noreverse', 'reverse', 'noinvert', 'invert', 'samplen', 'spacing', 'width', 'height',
+            'noautotitle', 'autotitle', 'noenhanced', 'nobox', 'box',
+
+            // help set terminal postscript
+            'landscape', 'portrait', 'eps', 'defaultplex', 'simplex', 'duplex',
+            'fontfile', 'add', 'delete', 'nofontfiles', 'level1', 'leveldefault',
+            'color', 'colour', 'monochrome', 'solid', 'dashed', 'dashlength', 'dl',
+            'rounded', 'butt', 'palfuncparam', 'blacktext', 'colortext', 'colourtext',
+            'font',
+
+            // help set terminal png
+            'notransparent', 'transparent', 'nointerlace', 'interlace',
+            'notruecolor', 'truecolor', 'tiny', 'small', 'medium', 'large', 'giant',
+            'nocrop', 'crop',
+
+            // `help plot`
+            'acsplines', 'bezier', 'binary', 'csplines',
+            'every',
+            'example', 'frequency', 'index', 'matrix',
+            'ranges', 'sbezier', 'smooth',
+            'special-filenames', 'thru',
+            'unique', 'using', 'with',
+
+            // `help plotting styles`
+            'boxerrorbars', 'boxes', 'boxxyerrorbars', 'candlesticks',
+            'dots', 'errorbars', 'errorlines', 'filledcurves',
+            'financebars', 'fsteps', 'histeps', 'histograms',
+            'image', 'impulses', 'labels', 'lines',
+            'linespoints', 'points', 'rgbimage', 'steps',
+            'vectors', 'xerrorbars', 'xerrorlines', 'xyerrorbars',
+            'xyerrorlines', 'yerrorbars', 'yerrorlines',
+
+
+            // terminals `help terminals`
+            'aed512', 'aed767', 'aifm', 'bitgraph',
+            'cgm', 'corel', 'dumb', 'dxf',
+            'eepic', 'emf', 'emtex', 'epslatex',
+            'epson-180dpi', 'epson-60dpi', 'epson-lx800', 'fig',
+            'gif', 'gpic', 'hp2623a', 'hp2648',
+            'hp500c', 'hpdj', 'hpgl', 'hpljii',
+            'hppj', 'imagen', 'jpeg', 'kc-tek40xx',
+            'km-tek40xx', 'latex', 'mf', 'mif',
+            'mp', 'nec-cp6', 'okidata', 'pbm',
+            'pcl5', 'png', 'pop', 'postscript',
+            'pslatex', 'pstex', 'pstricks', 'push',
+            'qms', 'regis', 'selanar', 'starc',
+            'svg', 'tandy-60dpi', 'tek40xx', 'tek410x',
+            'texdraw', 'tgif', 'tkcanvas', 'tpic',
+            'vttek', 'x11', 'xlib',
+            )
+        ),
+    'REGEXPS' => array(
+        //Variable assignment
+        0 => "([a-zA-Z_][a-zA-Z0-9_]*)\s*=",
+        //Numbers with unit
+        1 => "(?<=^|\s)([0-9]*\.?[0-9]+\s*cm)"
+        ),
+    'SYMBOLS' => array(
+        '-', '+', '~', '!', '$',
+        '*', '/', '%', '=', '<', '>', '&',
+        '^', '|', '.', 'eq', 'ne', '?:', ':', '`', ','
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #990000;',
+            3 => 'color: #550000;',
+            4 => 'color: #7a0874;',
+            5 => 'color: #448888;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #adadad; font-style: italic;',
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight:bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000099; font-weight:bold;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #0000ff;',
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000; font-weight: bold;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #007800;',
+            1 => 'color: #cc66cc;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => 'http://www.google.com/search?q=%22set+{FNAME}%22+site%3Ahttp%3A%2F%2Fwww.gnuplot.info%2Fdocs%2F&amp;btnI=lucky',
+        3 => '',
+        4 => '',
+        5 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            4 => array(
+                'DISALLOWED_AFTER' =>  "(?![\.\-a-zA-Z0-9_%])"
+            )
+        )
+    ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- a/plugins/geshi/geshi/groovy.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/groovy.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * ----------
  * Author: Ivan F. Villanueva B. (geshi_groovy@artificialidea.com)
  * Copyright: (c) 2006 Ivan F. Villanueva B.(http://www.artificialidea.com)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2006/04/29
  *
  * Groovy language file for GeSHi.
@@ -13,6 +13,8 @@
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *   -  Added description of extra language features (SF#1970248)
  * 2006/04/29 (1.0.0)
  *   -  First Release
  *
@@ -41,2077 +43,969 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Groovy',
-	'COMMENT_SINGLE' => array(1 => '//', 2 => 'import', 3 => '#'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'''", '"""', "'", '"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'||',
-			'while',
-			'switch',
-			'in',
-			'if',
-			'foreach',
-			'for',
-			'else',
-			'do',
-			'case',
-			'=&gt;',
-			'--',
-			'++',
-			'&lt;&lt;',
-			'&lt;&lt;&lt;',
-			'&&'
-			),
-		2 => array(
-			'volatile',
-			'try',
-			'true',
-			'transient',
-			'throws',
-			'throw',
-			'this',
-			'synchronized',
-			'super',
-			'strictfp',
-			'static',
-			'return',
-			'public',
-			'protected',
-			'property',
-			'private',
-			'package',
-			'null',
-			'new',
-			'native',
-			'interface',
-			'instanceof',
-			'implements',
-			'goto',
-			'finally',
-			'final',
-			'false',
-			'extends',
-			'enum',
-			'default',
-			'def',
-			'continue',
-			'const',
-			'class',
-			'catch',
-			'break',
-			'assert',
-			'abstract',
-			'as'
-			),
-		3 => array(
-			'_Remote_Stub',
-			'_PolicyStub',
-			'_NamingContextStub',
-			'_NamingContextImplBase',
-			'_IDLTypeStub',
-			'_BindingIteratorStub',
-			'_BindingIteratorImplBase',
-			'ZoneView',
-			'ZipOutputStream',
-			'ZipInputStream',
-			'ZipFile',
-			'ZipException',
-			'ZipEntry',
-			'X509Extension',
-			'X509EncodedKeySpec',
-			'X509Certificate',
-			'X509CRLEntry',
-			'X509CRL',
-			'WrongTransaction',
-			'Writer',
-			'WriteAbortedException',
-			'WritableRenderedImage',
-			'WritableRaster',
-			'WrappedPlainView',
-			'WindowListener',
-			'WindowEvent',
-			'WindowConstants',
-			'WindowAdapter',
-			'Window',
-			'WeakReference',
-			'WeakHashMap',
-			'WStringValueHelper',
-			'WCharSeqHolder',
-			'WCharSeqHelper',
-			'Void',
-			'VoiceStatus',
-			'VisibilityHelper',
-			'Visibility',
-			'VirtualMachineError',
-			'ViewportUI',
-			'ViewportLayout',
-			'ViewFactory',
-			'View',
-			'VetoableChangeSupport',
-			'VetoableChangeListener',
-			'VersionSpecHelper',
-			'VerifyError',
-			'Vector',
-			'VariableHeightLayoutCache',
-			'ValueMemberHelper',
-			'ValueMember',
-			'ValueHandler',
-			'ValueFactory',
-			'ValueBaseHolder',
-			'ValueBaseHelper',
-			'ValueBase',
-			'VM_TRUNCATABLE',
-			'VM_NONE',
-			'VM_CUSTOM',
-			'VM_ABSTRACT',
-			'VMID',
-			'Utilities',
-			'UtilDelegate',
-			'Util',
-			'UserException',
-			'UnsupportedOperationException',
-			'UnsupportedLookAndFeelException',
-			'UnsupportedFlavorException',
-			'UnsupportedEncodingException',
-			'UnsupportedClassVersionError',
-			'UnsupportedAudioFileException',
-			'UnsolicitedNotificationListener',
-			'UnsolicitedNotificationEvent',
-			'UnsolicitedNotification',
-			'UnsatisfiedLinkError',
-			'UnresolvedPermission',
-			'Unreferenced',
-			'UnrecoverableKeyException',
-			'UnmarshalException',
-			'UnknownUserException',
-			'UnknownServiceException',
-			'UnknownObjectException',
-			'UnknownHostException',
-			'UnknownHostException',
-			'UnknownGroupException',
-			'UnknownException',
-			'UnknownError',
-			'UnionMemberHelper',
-			'UnionMember',
-			'UnicastRemoteObject',
-			'UnexpectedException',
-			'UndoableEditSupport',
-			'UndoableEditListener',
-			'UndoableEditEvent',
-			'UndoableEdit',
-			'UndoManager',
-			'UndeclaredThrowableException',
-			'UTFDataFormatException',
-			'UShortSeqHolder',
-			'UShortSeqHelper',
-			'URLStreamHandlerFactory',
-			'URLStreamHandler',
-			'URLEncoder',
-			'URLDecoder',
-			'URLConnection',
-			'URLClassLoader',
-			'URL',
-			'UNSUPPORTED_POLICY_VALUE',
-			'UNSUPPORTED_POLICY',
-			'UNKNOWN',
-			'ULongSeqHolder',
-			'ULongSeqHelper',
-			'ULongLongSeqHolder',
-			'ULongLongSeqHelper',
-			'UIResource',
-			'UIManager.LookAndFeelInfo',
-			'UIManager',
-			'UIDefaults.ProxyLazyValue',
-			'UIDefaults.LazyValue',
-			'UIDefaults.LazyInputMap',
-			'UIDefaults.ActiveValue',
-			'UIDefaults',
-			'UID',
-			'Types',
-			'TypeMismatch',
-			'TypeCodeHolder',
-			'TypeCode',
-			'TreeWillExpandListener',
-			'TreeUI',
-			'TreeSet',
-			'TreeSelectionModel',
-			'TreeSelectionListener',
-			'TreeSelectionEvent',
-			'TreePath',
-			'TreeNode',
-			'TreeModelListener',
-			'TreeModelEvent',
-			'TreeModel',
-			'TreeMap',
-			'TreeExpansionListener',
-			'TreeExpansionEvent',
-			'TreeCellRenderer',
-			'TreeCellEditor',
-			'Transparency',
-			'Transmitter',
-			'TransformAttribute',
-			'Transferable',
-			'TransactionRolledbackException',
-			'TransactionRequiredException',
-			'Track',
-			'Toolkit',
-			'ToolTipUI',
-			'ToolTipManager',
-			'ToolBarUI',
-			'TooManyListenersException',
-			'TitledBorder',
-			'Timestamp',
-			'TimerTask',
-			'Timer',
-			'Timer',
-			'TimeZone',
-			'TimeLimitExceededException',
-			'Time',
-			'TileObserver',
-			'Tie',
-			'Throwable',
-			'ThreadLocal',
-			'ThreadGroup',
-			'ThreadDeath',
-			'Thread',
-			'TexturePaint',
-			'TextUI',
-			'TextMeasurer',
-			'TextListener',
-			'TextLayout.CaretPolicy',
-			'TextLayout',
-			'TextHitInfo',
-			'TextField',
-			'TextEvent',
-			'TextComponent',
-			'TextAttribute',
-			'TextArea',
-			'TextAction',
-			'TargetDataLine',
-			'TagElement',
-			'TableView',
-			'TableUI',
-			'TableModelListener',
-			'TableModelEvent',
-			'TableModel',
-			'TableHeaderUI',
-			'TableColumnModelListener',
-			'TableColumnModelEvent',
-			'TableColumnModel',
-			'TableColumn',
-			'TableCellRenderer',
-			'TableCellEditor',
-			'TabbedPaneUI',
-			'TabableView',
-			'TabStop',
-			'TabSet',
-			'TabExpander',
-			'TRANSIENT',
-			'TRANSACTION_ROLLEDBACK',
-			'TRANSACTION_REQUIRED',
-			'TCKind',
-			'SystemFlavorMap',
-			'SystemException',
-			'SystemColor',
-			'System',
-			'SysexMessage',
-			'Synthesizer',
-			'SyncFailedException',
-			'SwingUtilities',
-			'SwingPropertyChangeSupport',
-			'SwingConstants',
-			'StyledEditorKit.UnderlineAction',
-			'StyledEditorKit.StyledTextAction',
-			'StyledEditorKit.ItalicAction',
-			'StyledEditorKit.ForegroundAction',
-			'StyledEditorKit.FontSizeAction',
-			'StyledEditorKit.FontFamilyAction',
-			'StyledEditorKit.BoldAction',
-			'StyledEditorKit.AlignmentAction',
-			'StyledEditorKit',
-			'StyledDocument',
-			'StyleSheet.ListPainter',
-			'StyleSheet.BoxPainter',
-			'StyleSheet',
-			'StyleContext',
-			'StyleConstants.ParagraphConstants',
-			'StyleConstants.FontConstants',
-			'StyleConstants.ColorConstants',
-			'StyleConstants.CharacterConstants',
-			'StyleConstants',
-			'Style',
-			'StubNotFoundException',
-			'StubDelegate',
-			'Stub',
-			'StructMemberHelper',
-			'StructMember',
-			'Struct',
-			'Stroke',
-			'StringWriter',
-			'StringValueHelper',
-			'StringTokenizer',
-			'StringSelection',
-			'StringRefAddr',
-			'StringReader',
-			'StringIndexOutOfBoundsException',
-			'StringHolder',
-			'StringContent',
-			'StringCharacterIterator',
-			'StringBufferInputStream',
-			'StringBuffer',
-			'String',
-			'StrictMath',
-			'StreamableValue',
-			'Streamable',
-			'StreamTokenizer',
-			'StreamCorruptedException',
-			'Statement',
-			'StateFactory',
-			'StateEditable',
-			'StateEdit',
-			'StackOverflowError',
-			'Stack',
-			'SplitPaneUI',
-			'SourceDataLine',
-			'SoundbankResource',
-			'SoundbankReader',
-			'Soundbank',
-			'SortedSet',
-			'SortedMap',
-			'SoftReference',
-			'SoftBevelBorder',
-			'SocketSecurityException',
-			'SocketPermission',
-			'SocketOptions',
-			'SocketImplFactory',
-			'SocketImpl',
-			'SocketException',
-			'Socket',
-			'SliderUI',
-			'SkeletonNotFoundException',
-			'SkeletonMismatchException',
-			'Skeleton',
-			'SizeSequence',
-			'SizeRequirements',
-			'SizeLimitExceededException',
-			'SingleSelectionModel',
-			'SinglePixelPackedSampleModel',
-			'SimpleTimeZone',
-			'SimpleDateFormat',
-			'SimpleBeanInfo',
-			'SimpleAttributeSet',
-			'Signer',
-			'SignedObject',
-			'SignatureSpi',
-			'SignatureException',
-			'Signature',
-			'ShortSeqHolder',
-			'ShortSeqHelper',
-			'ShortMessage',
-			'ShortLookupTable',
-			'ShortHolder',
-			'Short',
-			'ShapeGraphicAttribute',
-			'Shape',
-			'SetOverrideTypeHelper',
-			'SetOverrideType',
-			'Set',
-			'ServiceUnavailableException',
-			'ServiceInformationHolder',
-			'ServiceInformationHelper',
-			'ServiceInformation',
-			'ServiceDetailHelper',
-			'ServiceDetail',
-			'ServerSocket',
-			'ServerRuntimeException',
-			'ServerRequest',
-			'ServerRef',
-			'ServerNotActiveException',
-			'ServerException',
-			'ServerError',
-			'ServerCloneException',
-			'ServantObject',
-			'SerializablePermission',
-			'Serializable',
-			'Sequencer.SyncMode',
-			'Sequencer',
-			'SequenceInputStream',
-			'Sequence',
-			'SeparatorUI',
-			'Segment',
-			'SecurityPermission',
-			'SecurityManager',
-			'SecurityException',
-			'Security',
-			'SecureRandomSpi',
-			'SecureRandom',
-			'SecureClassLoader',
-			'SearchResult',
-			'SearchControls',
-			'Scrollbar',
-			'Scrollable',
-			'ScrollPaneUI',
-			'ScrollPaneLayout.UIResource',
-			'ScrollPaneLayout',
-			'ScrollPaneConstants',
-			'ScrollPane',
-			'ScrollBarUI',
-			'SchemaViolationException',
-			'SampleModel',
-			'SQLWarning',
-			'SQLPermission',
-			'SQLOutput',
-			'SQLInput',
-			'SQLException',
-			'SQLData',
-			'RuntimePermission',
-			'RuntimeException',
-			'Runtime',
-			'Runnable',
-			'RunTimeOperations',
-			'RunTime',
-			'RuleBasedCollator',
-			'RowMapper',
-			'RoundRectangle2D.Float',
-			'RoundRectangle2D.Double',
-			'RoundRectangle2D',
-			'RootPaneUI',
-			'RootPaneContainer',
-			'Robot',
-			'ReverbType',
-			'ResultSetMetaData',
-			'ResultSet',
-			'ResponseHandler',
-			'ResourceBundle',
-			'Resolver',
-			'ResolveResult',
-			'RescaleOp',
-			'Request',
-			'RepositoryIdHelper',
-			'Repository',
-			'ReplicateScaleFilter',
-			'RepaintManager',
-			'RenderingHints.Key',
-			'RenderingHints',
-			'Renderer',
-			'RenderedImageFactory',
-			'RenderedImage',
-			'RenderableImageProducer',
-			'RenderableImageOp',
-			'RenderableImage',
-			'RenderContext',
-			'RemoteStub',
-			'RemoteServer',
-			'RemoteRef',
-			'RemoteObject',
-			'RemoteException',
-			'RemoteCall',
-			'Remote',
-			'RemarshalException',
-			'RegistryHandler',
-			'Registry',
-			'ReflectPermission',
-			'ReferralException',
-			'Referenceable',
-			'ReferenceQueue',
-			'Reference',
-			'RefAddr',
-			'Ref',
-			'RectangularShape',
-			'Rectangle2D.Float',
-			'Rectangle2D.Double',
-			'Rectangle2D',
-			'Rectangle',
-			'Receiver',
-			'Reader',
-			'RasterOp',
-			'RasterFormatException',
-			'Raster',
-			'RandomAccessFile',
-			'Random',
-			'RTFEditorKit',
-			'RSAPublicKeySpec',
-			'RSAPublicKey',
-			'RSAPrivateKeySpec',
-			'RSAPrivateKey',
-			'RSAPrivateCrtKeySpec',
-			'RSAPrivateCrtKey',
-			'RSAKeyGenParameterSpec',
-			'RSAKey',
-			'RMISocketFactory',
-			'RMIServerSocketFactory',
-			'RMISecurityManager',
-			'RMISecurityException',
-			'RMIFailureHandler',
-			'RMIClientSocketFactory',
-			'RMIClassLoader',
-			'RGBImageFilter',
-			'QuadCurve2D.Float',
-			'QuadCurve2D.Double',
-			'QuadCurve2D',
-			'PushbackReader',
-			'PushbackInputStream',
-			'PublicKey',
-			'Proxy',
-			'ProviderException',
-			'Provider',
-			'ProtocolException',
-			'ProtectionDomain',
-			'PropertyVetoException',
-			'PropertyResourceBundle',
-			'PropertyPermission',
-			'PropertyEditorSupport',
-			'PropertyEditorManager',
-			'PropertyEditor',
-			'PropertyDescriptor',
-			'PropertyChangeSupport',
-			'PropertyChangeListener',
-			'PropertyChangeEvent',
-			'Properties',
-			'ProgressMonitorInputStream',
-			'ProgressMonitor',
-			'ProgressBarUI',
-			'ProfileDataException',
-			'Process',
-			'PrivilegedExceptionAction',
-			'PrivilegedActionException',
-			'PrivilegedAction',
-			'PrivateKey',
-			'PrinterJob',
-			'PrinterIOException',
-			'PrinterGraphics',
-			'PrinterException',
-			'PrinterAbortException',
-			'Printable',
-			'PrintWriter',
-			'PrintStream',
-			'PrintJob',
-			'PrintGraphics',
-			'PrincipalHolder',
-			'Principal',
-			'Principal',
-			'PreparedStatement',
-			'Position.Bias',
-			'Position',
-			'PortableRemoteObjectDelegate',
-			'PortableRemoteObject',
-			'Port.Info',
-			'Port',
-			'PopupMenuUI',
-			'PopupMenuListener',
-			'PopupMenuEvent',
-			'PopupMenu',
-			'Polygon',
-			'PolicyTypeHelper',
-			'PolicyOperations',
-			'PolicyListHolder',
-			'PolicyListHelper',
-			'PolicyHolder',
-			'PolicyHelper',
-			'PolicyError',
-			'Policy',
-			'Policy',
-			'Point2D.Float',
-			'Point2D.Double',
-			'Point2D',
-			'Point',
-			'PlainView',
-			'PlainDocument',
-			'PixelInterleavedSampleModel',
-			'PixelGrabber',
-			'PipedWriter',
-			'PipedReader',
-			'PipedOutputStream',
-			'PipedInputStream',
-			'PhantomReference',
-			'Permissions',
-			'PermissionCollection',
-			'Permission',
-			'Permission',
-			'PathIterator',
-			'Patch',
-			'PasswordView',
-			'PasswordAuthentication',
-			'PartialResultException',
-			'ParserDelegator',
-			'Parser',
-			'ParsePosition',
-			'ParseException',
-			'ParameterDescriptor',
-			'ParameterBlock',
-			'ParagraphView',
-			'ParagraphView',
-			'Paper',
-			'PanelUI',
-			'Panel',
-			'PaintEvent',
-			'PaintContext',
-			'Paint',
-			'Pageable',
-			'PageFormat',
-			'PageAttributes.PrintQualityType',
-			'PageAttributes.OriginType',
-			'PageAttributes.OrientationRequestedType',
-			'PageAttributes.MediaType',
-			'PageAttributes.ColorType',
-			'PageAttributes',
-			'PackedColorModel',
-			'Package',
-			'PUBLIC_MEMBER',
-			'PRIVATE_MEMBER',
-			'PKCS8EncodedKeySpec',
-			'PERSIST_STORE',
-			'Owner',
-			'OverlayLayout',
-			'OutputStreamWriter',
-			'OutputStream',
-			'OutOfMemoryError',
-			'OptionalDataException',
-			'OptionPaneUI',
-			'Option',
-			'OperationNotSupportedException',
-			'Operation',
-			'OpenType',
-			'OctetSeqHolder',
-			'OctetSeqHelper',
-			'Observer',
-			'Observable',
-			'ObjectView',
-			'ObjectStreamField',
-			'ObjectStreamException',
-			'ObjectStreamConstants',
-			'ObjectStreamClass',
-			'ObjectOutputStream.PutField',
-			'ObjectOutputStream',
-			'ObjectOutput',
-			'ObjectInputValidation',
-			'ObjectInputStream.GetField',
-			'ObjectInputStream',
-			'ObjectInput',
-			'ObjectImpl',
-			'ObjectImpl',
-			'ObjectHolder',
-			'ObjectHelper',
-			'ObjectFactoryBuilder',
-			'ObjectFactory',
-			'ObjectChangeListener',
-			'Object',
-			'ObjID',
-			'ORB',
-			'OMGVMCID',
-			'OBJ_ADAPTER',
-			'OBJECT_NOT_EXIST',
-			'NumberFormatException',
-			'NumberFormat',
-			'Number',
-			'NullPointerException',
-			'NotSerializableException',
-			'NotOwnerException',
-			'NotFoundReasonHolder',
-			'NotFoundReasonHelper',
-			'NotFoundReason',
-			'NotFoundHolder',
-			'NotFoundHelper',
-			'NotFound',
-			'NotEmptyHolder',
-			'NotEmptyHelper',
-			'NotEmpty',
-			'NotContextException',
-			'NotBoundException',
-			'NotActiveException',
-			'NoninvertibleTransformException',
-			'NoSuchProviderException',
-			'NoSuchObjectException',
-			'NoSuchMethodException',
-			'NoSuchMethodError',
-			'NoSuchFieldException',
-			'NoSuchFieldError',
-			'NoSuchElementException',
-			'NoSuchAttributeException',
-			'NoSuchAlgorithmException',
-			'NoRouteToHostException',
-			'NoPermissionException',
-			'NoInitialContextException',
-			'NoClassDefFoundError',
-			'NetPermission',
-			'NegativeArraySizeException',
-			'NamingSecurityException',
-			'NamingManager',
-			'NamingListener',
-			'NamingExceptionEvent',
-			'NamingException',
-			'NamingEvent',
-			'NamingEnumeration',
-			'NamingContextOperations',
-			'NamingContextHolder',
-			'NamingContextHelper',
-			'NamingContext',
-			'Naming',
-			'NamespaceChangeListener',
-			'NamedValue',
-			'NameValuePairHelper',
-			'NameValuePair',
-			'NameParser',
-			'NameNotFoundException',
-			'NameHolder',
-			'NameHelper',
-			'NameComponentHolder',
-			'NameComponentHelper',
-			'NameComponent',
-			'NameClassPair',
-			'NameAlreadyBoundException',
-			'Name',
-			'NVList',
-			'NO_RESPONSE',
-			'NO_RESOURCES',
-			'NO_PERMISSION',
-			'NO_MEMORY',
-			'NO_IMPLEMENT',
-			'MutableTreeNode',
-			'MutableComboBoxModel',
-			'MutableAttributeSet',
-			'MultipleMaster',
-			'MulticastSocket',
-			'MultiViewportUI',
-			'MultiTreeUI',
-			'MultiToolTipUI',
-			'MultiToolBarUI',
-			'MultiTextUI',
-			'MultiTableUI',
-			'MultiTableHeaderUI',
-			'MultiTabbedPaneUI',
-			'MultiSplitPaneUI',
-			'MultiSliderUI',
-			'MultiSeparatorUI',
-			'MultiScrollPaneUI',
-			'MultiScrollBarUI',
-			'MultiProgressBarUI',
-			'MultiPopupMenuUI',
-			'MultiPixelPackedSampleModel',
-			'MultiPanelUI',
-			'MultiOptionPaneUI',
-			'MultiMenuItemUI',
-			'MultiMenuBarUI',
-			'MultiLookAndFeel',
-			'MultiListUI',
-			'MultiLabelUI',
-			'MultiInternalFrameUI',
-			'MultiFileChooserUI',
-			'MultiDesktopPaneUI',
-			'MultiDesktopIconUI',
-			'MultiComboBoxUI',
-			'MultiColorChooserUI',
-			'MultiButtonUI',
-			'MouseMotionListener',
-			'MouseMotionAdapter',
-			'MouseListener',
-			'MouseInputListener',
-			'MouseInputAdapter',
-			'MouseEvent',
-			'MouseDragGestureRecognizer',
-			'MouseAdapter',
-			'Modifier',
-			'ModificationItem',
-			'MixerProvider',
-			'Mixer.Info',
-			'Mixer',
-			'MissingResourceException',
-			'MinimalHTMLWriter',
-			'MimeTypeParseException',
-			'MidiUnavailableException',
-			'MidiSystem',
-			'MidiMessage',
-			'MidiFileWriter',
-			'MidiFileReader',
-			'MidiFileFormat',
-			'MidiEvent',
-			'MidiDeviceProvider',
-			'MidiDevice.Info',
-			'MidiDevice',
-			'MidiChannel',
-			'MethodDescriptor',
-			'Method',
-			'MetalTreeUI',
-			'MetalToolTipUI',
-			'MetalToolBarUI',
-			'MetalToggleButtonUI',
-			'MetalTheme',
-			'MetalTextFieldUI',
-			'MetalTabbedPaneUI',
-			'MetalSplitPaneUI',
-			'MetalSliderUI',
-			'MetalSeparatorUI',
-			'MetalScrollPaneUI',
-			'MetalScrollButton',
-			'MetalScrollBarUI',
-			'MetalRadioButtonUI',
-			'MetalProgressBarUI',
-			'MetalPopupMenuSeparatorUI',
-			'MetalLookAndFeel',
-			'MetalLabelUI',
-			'MetalInternalFrameUI',
-			'MetalInternalFrameTitlePane',
-			'MetalIconFactory.TreeLeafIcon',
-			'MetalIconFactory.TreeFolderIcon',
-			'MetalIconFactory.TreeControlIcon',
-			'MetalIconFactory.PaletteCloseIcon',
-			'MetalIconFactory.FolderIcon16',
-			'MetalIconFactory.FileIcon16',
-			'MetalIconFactory',
-			'MetalFileChooserUI',
-			'MetalDesktopIconUI',
-			'MetalComboBoxUI',
-			'MetalComboBoxIcon',
-			'MetalComboBoxEditor.UIResource',
-			'MetalComboBoxEditor',
-			'MetalComboBoxButton',
-			'MetalCheckBoxUI',
-			'MetalCheckBoxIcon',
-			'MetalButtonUI',
-			'MetalBorders.ToolBarBorder',
-			'MetalBorders.ToggleButtonBorder',
-			'MetalBorders.TextFieldBorder',
-			'MetalBorders.TableHeaderBorder',
-			'MetalBorders.ScrollPaneBorder',
-			'MetalBorders.RolloverButtonBorder',
-			'MetalBorders.PopupMenuBorder',
-			'MetalBorders.PaletteBorder',
-			'MetalBorders.OptionDialogBorder',
-			'MetalBorders.MenuItemBorder',
-			'MetalBorders.MenuBarBorder',
-			'MetalBorders.InternalFrameBorder',
-			'MetalBorders.Flush3DBorder',
-			'MetalBorders.ButtonBorder',
-			'MetalBorders',
-			'MetaMessage',
-			'MetaEventListener',
-			'MessageFormat',
-			'MessageDigestSpi',
-			'MessageDigest',
-			'MenuShortcut',
-			'MenuSelectionManager',
-			'MenuListener',
-			'MenuKeyListener',
-			'MenuKeyEvent',
-			'MenuItemUI',
-			'MenuItem',
-			'MenuEvent',
-			'MenuElement',
-			'MenuDragMouseListener',
-			'MenuDragMouseEvent',
-			'MenuContainer',
-			'MenuComponent',
-			'MenuBarUI',
-			'MenuBar',
-			'Menu',
-			'MemoryImageSource',
-			'Member',
-			'MediaTracker',
-			'MatteBorder',
-			'Math',
-			'MarshalledObject',
-			'MarshalException',
-			'Map.Entry',
-			'Map',
-			'Manifest',
-			'MalformedURLException',
-			'MalformedLinkException',
-			'MARSHAL',
-			'LookupTable',
-			'LookupOp',
-			'LookAndFeel',
-			'LongSeqHolder',
-			'LongSeqHelper',
-			'LongLongSeqHolder',
-			'LongLongSeqHelper',
-			'LongHolder',
-			'Long',
-			'LogStream',
-			'LocateRegistry',
-			'Locale',
-			'LoaderHandler',
-			'ListView',
-			'ListUI',
-			'ListSelectionModel',
-			'ListSelectionListener',
-			'ListSelectionEvent',
-			'ListResourceBundle',
-			'ListModel',
-			'ListIterator',
-			'ListDataListener',
-			'ListDataEvent',
-			'ListCellRenderer',
-			'List',
-			'List',
-			'LinkedList',
-			'LinkageError',
-			'LinkRef',
-			'LinkLoopException',
-			'LinkException',
-			'LineUnavailableException',
-			'LineNumberReader',
-			'LineNumberInputStream',
-			'LineMetrics',
-			'LineListener',
-			'LineEvent.Type',
-			'LineEvent',
-			'LineBreakMeasurer',
-			'LineBorder',
-			'Line2D.Float',
-			'Line2D.Double',
-			'Line2D',
-			'Line.Info',
-			'Line',
-			'LimitExceededException',
-			'Lease',
-			'LdapReferralException',
-			'LdapContext',
-			'LayoutQueue',
-			'LayoutManager2',
-			'LayoutManager',
-			'LayeredHighlighter.LayerPainter',
-			'LayeredHighlighter',
-			'LastOwnerException',
-			'LabelView',
-			'LabelUI',
-			'Label',
-			'Keymap',
-			'KeyStroke',
-			'KeyStoreSpi',
-			'KeyStoreException',
-			'KeyStore',
-			'KeySpec',
-			'KeyPairGeneratorSpi',
-			'KeyPairGenerator',
-			'KeyPair',
-			'KeyManagementException',
-			'KeyListener',
-			'KeyFactorySpi',
-			'KeyFactory',
-			'KeyException',
-			'KeyEvent',
-			'KeyAdapter',
-			'Key',
-			'Kernel',
-			'JobAttributes.SidesType',
-			'JobAttributes.MultipleDocumentHandlingType',
-			'JobAttributes.DialogType',
-			'JobAttributes.DestinationType',
-			'JobAttributes.DefaultSelectionType',
-			'JobAttributes',
-			'JarURLConnection',
-			'JarOutputStream',
-			'JarInputStream',
-			'JarFile',
-			'JarException',
-			'JarEntry',
-			'JWindow',
-			'JViewport',
-			'JTree.EmptySelectionModel',
-			'JTree.DynamicUtilTreeNode',
-			'JTree',
-			'JToolTip',
-			'JToolBar.Separator',
-			'JToolBar',
-			'JToggleButton.ToggleButtonModel',
-			'JToggleButton',
-			'JTextPane',
-			'JTextField',
-			'JTextComponent.KeyBinding',
-			'JTextComponent',
-			'JTextArea',
-			'JTableHeader',
-			'JTable',
-			'JTabbedPane',
-			'JSplitPane',
-			'JSlider',
-			'JSeparator',
-			'JScrollPane',
-			'JScrollBar',
-			'JRootPane',
-			'JRadioButtonMenuItem',
-			'JRadioButton',
-			'JProgressBar',
-			'JPopupMenu.Separator',
-			'JPopupMenu',
-			'JPasswordField',
-			'JPanel',
-			'JOptionPane',
-			'JMenuItem',
-			'JMenuBar',
-			'JMenu',
-			'JList',
-			'JLayeredPane',
-			'JLabel',
-			'JInternalFrame.JDesktopIcon',
-			'JInternalFrame',
-			'JFrame',
-			'JFileChooser',
-			'JEditorPane',
-			'JDialog',
-			'JDesktopPane',
-			'JComponent',
-			'JComboBox.KeySelectionManager',
-			'JComboBox',
-			'JColorChooser',
-			'JCheckBoxMenuItem',
-			'JCheckBox',
-			'JButton',
-			'JApplet',
-			'Iterator',
-			'ItemSelectable',
-			'ItemListener',
-			'ItemEvent',
-			'IstringHelper',
-			'InvokeHandler',
-			'InvocationTargetException',
-			'InvocationHandler',
-			'InvocationEvent',
-			'InvalidValue',
-			'InvalidTransactionException',
-			'InvalidSeq',
-			'InvalidSearchFilterException',
-			'InvalidSearchControlsException',
-			'InvalidParameterSpecException',
-			'InvalidParameterException',
-			'InvalidObjectException',
-			'InvalidNameHolder',
-			'InvalidNameHelper',
-			'InvalidNameException',
-			'InvalidName',
-			'InvalidName',
-			'InvalidMidiDataException',
-			'InvalidKeySpecException',
-			'InvalidKeyException',
-			'InvalidDnDOperationException',
-			'InvalidClassException',
-			'InvalidAttributesException',
-			'InvalidAttributeValueException',
-			'InvalidAttributeIdentifierException',
-			'InvalidAlgorithmParameterException',
-			'Invalid',
-			'Introspector',
-			'IntrospectionException',
-			'InterruptedNamingException',
-			'InterruptedIOException',
-			'InterruptedException',
-			'InternalFrameUI',
-			'InternalFrameListener',
-			'InternalFrameEvent',
-			'InternalFrameAdapter',
-			'InternalError',
-			'Integer',
-			'IntHolder',
-			'InsufficientResourcesException',
-			'Instrument',
-			'InstantiationException',
-			'InstantiationError',
-			'InsetsUIResource',
-			'Insets',
-			'InputVerifier',
-			'InputSubset',
-			'InputStreamReader',
-			'InputStream',
-			'InputStream',
-			'InputStream',
-			'InputMethodRequests',
-			'InputMethodListener',
-			'InputMethodHighlight',
-			'InputMethodEvent',
-			'InputMethodDescriptor',
-			'InputMethodContext',
-			'InputMethod',
-			'InputMapUIResource',
-			'InputMap',
-			'InputEvent',
-			'InputContext',
-			'InlineView',
-			'Initializer',
-			'InitialLdapContext',
-			'InitialDirContext',
-			'InitialContextFactoryBuilder',
-			'InitialContextFactory',
-			'InitialContext',
-			'InheritableThreadLocal',
-			'InflaterInputStream',
-			'Inflater',
-			'InetAddress',
-			'IndirectionException',
-			'IndexedPropertyDescriptor',
-			'IndexOutOfBoundsException',
-			'IndexColorModel',
-			'InconsistentTypeCode',
-			'IncompatibleClassChangeError',
-			'ImagingOpException',
-			'ImageProducer',
-			'ImageObserver',
-			'ImageIcon',
-			'ImageGraphicAttribute',
-			'ImageFilter',
-			'ImageConsumer',
-			'Image',
-			'IllegalThreadStateException',
-			'IllegalStateException',
-			'IllegalPathStateException',
-			'IllegalMonitorStateException',
-			'IllegalComponentStateException',
-			'IllegalArgumentException',
-			'IllegalAccessException',
-			'IllegalAccessError',
-			'IdentityScope',
-			'Identity',
-			'IdentifierHelper',
-			'IconView',
-			'IconUIResource',
-			'Icon',
-			'IRObjectOperations',
-			'IRObject',
-			'IOException',
-			'INV_POLICY',
-			'INV_OBJREF',
-			'INV_IDENT',
-			'INV_FLAG',
-			'INVALID_TRANSACTION',
-			'INTF_REPOS',
-			'INTERNAL',
-			'INITIALIZE',
-			'IMP_LIMIT',
-			'IDLTypeOperations',
-			'IDLTypeHelper',
-			'IDLType',
-			'IDLEntity',
-			'ICC_ProfileRGB',
-			'ICC_ProfileGray',
-			'ICC_Profile',
-			'ICC_ColorSpace',
-			'HyperlinkListener',
-			'HyperlinkEvent.EventType',
-			'HyperlinkEvent',
-			'HttpURLConnection',
-			'Highlighter.HighlightPainter',
-			'Highlighter.Highlight',
-			'Highlighter',
-			'HierarchyListener',
-			'HierarchyEvent',
-			'HierarchyBoundsListener',
-			'HierarchyBoundsAdapter',
-			'Hashtable',
-			'HashSet',
-			'HashMap',
-			'HasControls',
-			'HTMLWriter',
-			'HTMLFrameHyperlinkEvent',
-			'HTMLEditorKit.ParserCallback',
-			'HTMLEditorKit.Parser',
-			'HTMLEditorKit.LinkController',
-			'HTMLEditorKit.InsertHTMLTextAction',
-			'HTMLEditorKit.HTMLTextAction',
-			'HTMLEditorKit.HTMLFactory',
-			'HTMLEditorKit',
-			'HTMLDocument.Iterator',
-			'HTMLDocument',
-			'HTML.UnknownTag',
-			'HTML.Tag',
-			'HTML.Attribute',
-			'HTML',
-			'GuardedObject',
-			'Guard',
-			'Group',
-			'GridLayout',
-			'GridBagLayout',
-			'GridBagConstraints',
-			'GregorianCalendar',
-			'GrayFilter',
-			'GraphicsEnvironment',
-			'GraphicsDevice',
-			'GraphicsConfiguration',
-			'GraphicsConfigTemplate',
-			'Graphics2D',
-			'Graphics',
-			'GraphicAttribute',
-			'GradientPaint',
-			'GlyphView.GlyphPainter',
-			'GlyphView',
-			'GlyphVector',
-			'GlyphMetrics',
-			'GlyphJustificationInfo',
-			'GeneralSecurityException',
-			'GeneralPath',
-			'GapContent',
-			'GZIPOutputStream',
-			'GZIPInputStream',
-			'Frame',
-			'FormatConversionProvider',
-			'Format',
-			'FormView',
-			'FontUIResource',
-			'FontRenderContext',
-			'FontMetrics',
-			'FontFormatException',
-			'Font',
-			'FocusManager',
-			'FocusListener',
-			'FocusEvent',
-			'FocusAdapter',
-			'FlowView.FlowStrategy',
-			'FlowView',
-			'FlowLayout',
-			'FloatSeqHolder',
-			'FloatSeqHelper',
-			'FloatHolder',
-			'FloatControl.Type',
-			'FloatControl',
-			'Float',
-			'FlavorMap',
-			'FlatteningPathIterator',
-			'FixedHolder',
-			'FixedHeightLayoutCache',
-			'FilteredImageSource',
-			'FilterWriter',
-			'FilterReader',
-			'FilterOutputStream',
-			'FilterInputStream',
-			'FilenameFilter',
-			'FileWriter',
-			'FileView',
-			'FileSystemView',
-			'FileReader',
-			'FilePermission',
-			'FileOutputStream',
-			'FileNotFoundException',
-			'FileNameMap',
-			'FileInputStream',
-			'FileFilter',
-			'FileFilter',
-			'FileDialog',
-			'FileDescriptor',
-			'FileChooserUI',
-			'File',
-			'FieldView',
-			'FieldPosition',
-			'FieldNameHelper',
-			'Field',
-			'FeatureDescriptor',
-			'FREE_MEM',
-			'Externalizable',
-			'ExtendedResponse',
-			'ExtendedRequest',
-			'ExportException',
-			'ExpandVetoException',
-			'ExceptionList',
-			'ExceptionInInitializerError',
-			'Exception',
-			'EventSetDescriptor',
-			'EventQueue',
-			'EventObject',
-			'EventListenerList',
-			'EventListener',
-			'EventDirContext',
-			'EventContext',
-			'Event',
-			'EtchedBorder',
-			'Error',
-			'Environment',
-			'Enumeration',
-			'EnumControl.Type',
-			'EnumControl',
-			'Entity',
-			'EncodedKeySpec',
-			'EmptyStackException',
-			'EmptyBorder',
-			'Ellipse2D.Float',
-			'Ellipse2D.Double',
-			'Ellipse2D',
-			'ElementIterator',
-			'Element',
-			'EditorKit',
-			'EOFException',
-			'DynamicImplementation',
-			'DynValue',
-			'DynUnion',
-			'DynStruct',
-			'DynSequence',
-			'DynFixed',
-			'DynEnum',
-			'DynArray',
-			'DynAny',
-			'DropTargetListener',
-			'DropTargetEvent',
-			'DropTargetDropEvent',
-			'DropTargetDragEvent',
-			'DropTargetContext',
-			'DropTarget.DropTargetAutoScroller',
-			'DropTarget',
-			'DriverPropertyInfo',
-			'DriverManager',
-			'Driver',
-			'DragSourceListener',
-			'DragSourceEvent',
-			'DragSourceDropEvent',
-			'DragSourceDragEvent',
-			'DragSourceContext',
-			'DragSource',
-			'DragGestureRecognizer',
-			'DragGestureListener',
-			'DragGestureEvent',
-			'DoubleSeqHolder',
-			'DoubleSeqHelper',
-			'DoubleHolder',
-			'Double',
-			'DomainManagerOperations',
-			'DomainManager',
-			'DomainCombiner',
-			'DocumentParser',
-			'DocumentListener',
-			'DocumentEvent.EventType',
-			'DocumentEvent.ElementChange',
-			'DocumentEvent',
-			'Document',
-			'DnDConstants',
-			'DirectoryManager',
-			'DirectColorModel',
-			'DirStateFactory.Result',
-			'DirStateFactory',
-			'DirObjectFactory',
-			'DirContext',
-			'DimensionUIResource',
-			'Dimension2D',
-			'Dimension',
-			'DigestOutputStream',
-			'DigestInputStream',
-			'DigestException',
-			'Dictionary',
-			'Dialog',
-			'DesktopPaneUI',
-			'DesktopManager',
-			'DesktopIconUI',
-			'DesignMode',
-			'Delegate',
-			'DeflaterOutputStream',
-			'Deflater',
-			'DefinitionKindHelper',
-			'DefinitionKind',
-			'DefaultTreeSelectionModel',
-			'DefaultTreeModel',
-			'DefaultTreeCellRenderer',
-			'DefaultTreeCellEditor',
-			'DefaultTextUI',
-			'DefaultTableModel',
-			'DefaultTableColumnModel',
-			'DefaultTableCellRenderer.UIResource',
-			'DefaultTableCellRenderer',
-			'DefaultStyledDocument.ElementSpec',
-			'DefaultStyledDocument.AttributeUndoableEdit',
-			'DefaultStyledDocument',
-			'DefaultSingleSelectionModel',
-			'DefaultMutableTreeNode',
-			'DefaultMetalTheme',
-			'DefaultMenuLayout',
-			'DefaultListSelectionModel',
-			'DefaultListModel',
-			'DefaultListCellRenderer.UIResource',
-			'DefaultListCellRenderer',
-			'DefaultHighlighter.DefaultHighlightPainter',
-			'DefaultHighlighter',
-			'DefaultFocusManager',
-			'DefaultEditorKit.PasteAction,',
-			'DefaultEditorKit.InsertTabAction',
-			'DefaultEditorKit.InsertContentAction',
-			'DefaultEditorKit.InsertBreakAction',
-			'DefaultEditorKit.DefaultKeyTypedAction',
-			'DefaultEditorKit.CutAction',
-			'DefaultEditorKit.CopyAction',
-			'DefaultEditorKit.BeepAction',
-			'DefaultEditorKit',
-			'DefaultDesktopManager',
-			'DefaultComboBoxModel',
-			'DefaultColorSelectionModel',
-			'DefaultCellEditor',
-			'DefaultCaret',
-			'DefaultButtonModel',
-			'DefaultBoundedRangeModel',
-			'DecimalFormatSymbols',
-			'DecimalFormat',
-			'DebugGraphics',
-			'DateFormatSymbols',
-			'DateFormat',
-			'Date',
-			'DatagramSocketImplFactory',
-			'DatagramSocketImpl',
-			'DatagramSocket',
-			'DatagramPacket',
-			'DatabaseMetaData',
-			'DataTruncation',
-			'DataOutputStream',
-			'DataOutputStream',
-			'DataOutput',
-			'DataLine.Info',
-			'DataLine',
-			'DataInputStream',
-			'DataInput',
-			'DataFormatException',
-			'DataFlavor',
-			'DataBufferUShort',
-			'DataBufferShort',
-			'DataBufferInt',
-			'DataBufferByte',
-			'DataBuffer',
-			'DTDConstants',
-			'DTD',
-			'DSAPublicKeySpec',
-			'DSAPublicKey',
-			'DSAPrivateKeySpec',
-			'DSAPrivateKey',
-			'DSAParams',
-			'DSAParameterSpec',
-			'DSAKeyPairGenerator',
-			'DSAKey',
-			'DGC',
-			'DATA_CONVERSION',
-			'Customizer',
-			'CustomValue',
-			'CustomMarshal',
-			'Cursor',
-			'CurrentOperations',
-			'CurrentHolder',
-			'CurrentHelper',
-			'Current',
-			'CubicCurve2D.Float',
-			'CubicCurve2D.Double',
-			'CubicCurve2D',
-			'CropImageFilter',
-			'ConvolveOp',
-			'ControllerEventListener',
-			'ControlFactory',
-			'Control.Type',
-			'Control',
-			'ContextualRenderedImageFactory',
-			'ContextNotEmptyException',
-			'ContextList',
-			'Context',
-			'ContentModel',
-			'ContentHandlerFactory',
-			'ContentHandler',
-			'ContainerListener',
-			'ContainerEvent',
-			'ContainerAdapter',
-			'Container',
-			'Constructor',
-			'Connection',
-			'ConnectIOException',
-			'ConnectException',
-			'ConnectException',
-			'ConfigurationException',
-			'ConcurrentModificationException',
-			'CompoundName',
-			'CompoundEdit',
-			'CompoundControl.Type',
-			'CompoundControl',
-			'CompoundBorder',
-			'CompositeView',
-			'CompositeName',
-			'CompositeContext',
-			'Composite',
-			'ComponentView',
-			'ComponentUI',
-			'ComponentSampleModel',
-			'ComponentOrientation',
-			'ComponentListener',
-			'ComponentInputMapUIResource',
-			'ComponentInputMap',
-			'ComponentEvent',
-			'ComponentColorModel',
-			'ComponentAdapter',
-			'Component',
-			'CompletionStatusHelper',
-			'CompletionStatus',
-			'Compiler',
-			'Comparator',
-			'Comparable',
-			'CommunicationException',
-			'ComboPopup',
-			'ComboBoxUI',
-			'ComboBoxModel',
-			'ComboBoxEditor',
-			'ColorUIResource',
-			'ColorSpace',
-			'ColorSelectionModel',
-			'ColorModel',
-			'ColorConvertOp',
-			'ColorChooserUI',
-			'ColorChooserComponentFactory',
-			'Color',
-			'Collections',
-			'Collection',
-			'Collator',
-			'CollationKey',
-			'CollationElementIterator',
-			'CodeSource',
-			'Cloneable',
-			'CloneNotSupportedException',
-			'Clob',
-			'ClipboardOwner',
-			'Clipboard',
-			'Clip',
-			'ClassNotFoundException',
-			'ClassLoader',
-			'ClassFormatError',
-			'ClassDesc',
-			'ClassCircularityError',
-			'ClassCastException',
-			'Class',
-			'ChoiceFormat',
-			'Choice',
-			'Checksum',
-			'CheckedOutputStream',
-			'CheckedInputStream',
-			'CheckboxMenuItem',
-			'CheckboxGroup',
-			'Checkbox',
-			'CharacterIterator',
-			'Character.UnicodeBlock',
-			'Character.Subset',
-			'Character',
-			'CharSeqHolder',
-			'CharSeqHelper',
-			'CharHolder',
-			'CharConversionException',
-			'CharArrayWriter',
-			'CharArrayReader',
-			'ChangedCharSetException',
-			'ChangeListener',
-			'ChangeEvent',
-			'CertificateParsingException',
-			'CertificateNotYetValidException',
-			'CertificateFactorySpi',
-			'CertificateFactory',
-			'CertificateExpiredException',
-			'CertificateException',
-			'CertificateEncodingException',
-			'Certificate.CertificateRep',
-			'Certificate',
-			'CellRendererPane',
-			'CellEditorListener',
-			'CellEditor',
-			'CaretListener',
-			'CaretEvent',
-			'Caret',
-			'CardLayout',
-			'Canvas',
-			'CannotUndoException',
-			'CannotRedoException',
-			'CannotProceedHolder',
-			'CannotProceedHelper',
-			'CannotProceedException',
-			'CannotProceed',
-			'CallableStatement',
-			'Calendar',
-			'CTX_RESTRICT_SCOPE',
-			'CSS.Attribute',
-			'CSS',
-			'CRLException',
-			'CRL',
-			'CRC32',
-			'COMM_FAILURE',
-			'CMMException',
-			'ByteLookupTable',
-			'ByteHolder',
-			'ByteArrayOutputStream',
-			'ByteArrayInputStream',
-			'Byte',
-			'ButtonUI',
-			'ButtonModel',
-			'ButtonGroup',
-			'Button',
-			'BufferedWriter',
-			'BufferedReader',
-			'BufferedOutputStream',
-			'BufferedInputStream',
-			'BufferedImageOp',
-			'BufferedImageFilter',
-			'BufferedImage',
-			'BreakIterator',
-			'BoxedValueHelper',
-			'BoxView',
-			'BoxLayout',
-			'Box.Filler',
-			'Box',
-			'Bounds',
-			'BoundedRangeModel',
-			'BorderUIResource.TitledBorderUIResource',
-			'BorderUIResource.MatteBorderUIResource',
-			'BorderUIResource.LineBorderUIResource',
-			'BorderUIResource.EtchedBorderUIResource',
-			'BorderUIResource.EmptyBorderUIResource',
-			'BorderUIResource.CompoundBorderUIResource',
-			'BorderUIResource.BevelBorderUIResource',
-			'BorderUIResource',
-			'BorderLayout',
-			'BorderFactory',
-			'Border',
-			'BooleanSeqHolder',
-			'BooleanSeqHelper',
-			'BooleanHolder',
-			'BooleanControl.Type',
-			'BooleanControl',
-			'Boolean',
-			'Book',
-			'BlockView',
-			'Blob',
-			'BitSet',
-			'BindingTypeHolder',
-			'BindingTypeHelper',
-			'BindingType',
-			'BindingListHolder',
-			'BindingListHelper',
-			'BindingIteratorOperations',
-			'BindingIteratorHolder',
-			'BindingIteratorHelper',
-			'BindingIterator',
-			'BindingHolder',
-			'BindingHelper',
-			'Binding',
-			'BindException',
-			'BinaryRefAddr',
-			'BigInteger',
-			'BigDecimal',
-			'BevelBorder',
-			'Beans',
-			'BeanInfo',
-			'BeanDescriptor',
-			'BeanContextSupport.BCSIterator',
-			'BeanContextSupport',
-			'BeanContextServicesSupport.BCSSServiceProvider',
-			'BeanContextServicesSupport',
-			'BeanContextServicesListener',
-			'BeanContextServices',
-			'BeanContextServiceRevokedListener',
-			'BeanContextServiceRevokedEvent',
-			'BeanContextServiceProviderBeanInfo',
-			'BeanContextServiceProvider',
-			'BeanContextServiceAvailableEvent',
-			'BeanContextProxy',
-			'BeanContextMembershipListener',
-			'BeanContextMembershipEvent',
-			'BeanContextEvent',
-			'BeanContextContainerProxy',
-			'BeanContextChildSupport',
-			'BeanContextChildComponentProxy',
-			'BeanContextChild',
-			'BeanContext',
-			'BatchUpdateException',
-			'BasicViewportUI',
-			'BasicTreeUI',
-			'BasicToolTipUI',
-			'BasicToolBarUI',
-			'BasicToolBarSeparatorUI',
-			'BasicToggleButtonUI',
-			'BasicTextUI.BasicHighlighter',
-			'BasicTextUI.BasicCaret',
-			'BasicTextUI',
-			'BasicTextPaneUI',
-			'BasicTextFieldUI',
-			'BasicTextAreaUI',
-			'BasicTableUI',
-			'BasicTableHeaderUI',
-			'BasicTabbedPaneUI',
-			'BasicStroke',
-			'BasicSplitPaneUI',
-			'BasicSplitPaneDivider',
-			'BasicSliderUI',
-			'BasicSeparatorUI',
-			'BasicScrollPaneUI',
-			'BasicScrollBarUI',
-			'BasicRootPaneUI',
-			'BasicRadioButtonUI',
-			'BasicRadioButtonMenuItemUI',
-			'BasicProgressBarUI',
-			'BasicPopupMenuUI',
-			'BasicPopupMenuSeparatorUI',
-			'BasicPermission',
-			'BasicPasswordFieldUI',
-			'BasicPanelUI',
-			'BasicOptionPaneUI.ButtonAreaLayout',
-			'BasicOptionPaneUI',
-			'BasicMenuUI',
-			'BasicMenuItemUI',
-			'BasicMenuBarUI',
-			'BasicLookAndFeel',
-			'BasicListUI',
-			'BasicLabelUI',
-			'BasicInternalFrameUI',
-			'BasicInternalFrameTitlePane',
-			'BasicIconFactory',
-			'BasicHTML',
-			'BasicGraphicsUtils',
-			'BasicFileChooserUI',
-			'BasicEditorPaneUI',
-			'BasicDirectoryModel',
-			'BasicDesktopPaneUI',
-			'BasicDesktopIconUI',
-			'BasicComboPopup',
-			'BasicComboBoxUI',
-			'BasicComboBoxRenderer.UIResource',
-			'BasicComboBoxRenderer',
-			'BasicComboBoxEditor.UIResource',
-			'BasicComboBoxEditor',
-			'BasicColorChooserUI',
-			'BasicCheckBoxUI',
-			'BasicCheckBoxMenuItemUI',
-			'BasicButtonUI',
-			'BasicButtonListener',
-			'BasicBorders.ToggleButtonBorder',
-			'BasicBorders.SplitPaneBorder',
-			'BasicBorders.RadioButtonBorder',
-			'BasicBorders.MenuBarBorder',
-			'BasicBorders.MarginBorder',
-			'BasicBorders.FieldBorder',
-			'BasicBorders.ButtonBorder',
-			'BasicBorders',
-			'BasicAttributes',
-			'BasicAttribute',
-			'BasicArrowButton',
-			'BandedSampleModel',
-			'BandCombineOp',
-			'BadLocationException',
-			'BadKind',
-			'BAD_TYPECODE',
-			'BAD_POLICY_VALUE',
-			'BAD_POLICY_TYPE',
-			'BAD_POLICY',
-			'BAD_PARAM',
-			'BAD_OPERATION',
-			'BAD_INV_ORDER',
-			'BAD_CONTEXT',
-			'Autoscroll',
-			'Authenticator',
-			'AuthenticationNotSupportedException',
-			'AuthenticationException',
-			'AudioSystem',
-			'AudioPermission',
-			'AudioInputStream',
-			'AudioFormat.Encoding',
-			'AudioFormat',
-			'AudioFileWriter',
-			'AudioFileReader',
-			'AudioFileFormat.Type',
-			'AudioFileFormat',
-			'AudioClip',
-			'Attributes.Name',
-			'Attributes',
-			'AttributedString',
-			'AttributedCharacterIterator.Attribute',
-			'AttributedCharacterIterator',
-			'AttributeSet.ParagraphAttribute',
-			'AttributeSet.FontAttribute',
-			'AttributeSet.ColorAttribute',
-			'AttributeSet.CharacterAttribute',
-			'AttributeSet',
-			'AttributeModificationException',
-			'AttributeList',
-			'AttributeInUseException',
-			'Attribute',
-			'AsyncBoxView',
-			'Arrays',
-			'ArrayStoreException',
-			'ArrayList',
-			'ArrayIndexOutOfBoundsException',
-			'Array',
-			'ArithmeticException',
-			'AreaAveragingScaleFilter',
-			'Area',
-			'Arc2D.Float',
-			'Arc2D.Double',
-			'Arc2D',
-			'ApplicationException',
-			'AppletStub',
-			'AppletInitializer',
-			'AppletContext',
-			'Applet',
-			'AnySeqHolder',
-			'AnySeqHelper',
-			'AnyHolder',
-			'Any',
-			'Annotation',
-			'AncestorListener',
-			'AncestorEvent',
-			'AlreadyBoundHolder',
-			'AlreadyBoundHelper',
-			'AlreadyBoundException',
-			'AlreadyBound',
-			'AlphaComposite',
-			'AllPermission',
-			'AlgorithmParametersSpi',
-			'AlgorithmParameters',
-			'AlgorithmParameterSpec',
-			'AlgorithmParameterGeneratorSpi',
-			'AlgorithmParameterGenerator',
-			'AffineTransformOp',
-			'AffineTransform',
-			'Adler32',
-			'AdjustmentListener',
-			'AdjustmentEvent',
-			'Adjustable',
-			'ActiveEvent',
-			'Activator',
-			'ActivationSystem',
-			'ActivationMonitor',
-			'ActivationInstantiator',
-			'ActivationID',
-			'ActivationGroupID',
-			'ActivationGroupDesc.CommandEnvironment',
-			'ActivationGroupDesc',
-			'ActivationGroup',
-			'ActivationException',
-			'ActivationDesc',
-			'ActivateFailedException',
-			'Activatable',
-			'ActionMapUIResource',
-			'ActionMap',
-			'ActionListener',
-			'ActionEvent',
-			'Action',
-			'AclNotFoundException',
-			'AclEntry',
-			'Acl',
-			'AccessibleValue',
-			'AccessibleText',
-			'AccessibleTableModelChange',
-			'AccessibleTable',
-			'AccessibleStateSet',
-			'AccessibleState',
-			'AccessibleSelection',
-			'AccessibleRole',
-			'AccessibleResourceBundle',
-			'AccessibleRelationSet',
-			'AccessibleRelation',
-			'AccessibleObject',
-			'AccessibleIcon',
-			'AccessibleHypertext',
-			'AccessibleHyperlink',
-			'AccessibleContext',
-			'AccessibleComponent',
-			'AccessibleBundle',
-			'AccessibleAction',
-			'Accessible',
-			'AccessException',
-			'AccessController',
-			'AccessControlException',
-			'AccessControlContext',
-			'AbstractWriter',
-			'AbstractUndoableEdit',
-			'AbstractTableModel',
-			'AbstractSet',
-			'AbstractSequentialList',
-			'AbstractMethodError',
-			'AbstractMap',
-			'AbstractListModel',
-			'AbstractList',
-			'AbstractLayoutCache.NodeDimensions',
-			'AbstractLayoutCache',
-			'AbstractDocument.ElementEdit',
-			'AbstractDocument.Content',
-			'AbstractDocument.AttributeContext',
-			'AbstractDocument',
-			'AbstractColorChooserPanel',
-			'AbstractCollection',
-			'AbstractCellEditor',
-			'AbstractButton',
-			'AbstractBorder',
-			'AbstractAction',
-			'AWTPermission',
-			'AWTException',
-			'AWTEventMulticaster',
-			'AWTEventListener',
-			'AWTEvent',
-			'AWTError',
-			'ARG_OUT',
-			'ARG_INOUT',
-			'ARG_IN'
-			),
-		4 => array(
-			'void',
-			'short',
-			'long',
-			'int',
-			'double',
-			'char',
-			'byte',
-			'boolean',
-			'float'
-			),
-		5 => array(
-			'toList',
-			'subMap',
-			'sort',
-			'size',
-			'reverseEach',
-			'reverse',
-			'pop',
-			'min',
-			'max',
-			'join',
-			'intersect',
-			'inject',
-			'grep',
-			'get',
-			'flatten',
-			'findIndexOf',
-			'findAll',
-			'find',
-			'eachWithIndex',
-			'eachPropertyName',
-			'eachProperty',
-			'each',
-			'count',
-			'collect',
-			'asSynchronized',
-			'asImmutable',
-			'allProperties'
-			),
-		6 => array(
-			'tokenize',
-			'toURL',
-			'toLong',
-			'toList',
-			'toCharacter',
-			'padRight',
-			'padLeft',
-			'eachMatch',
-			'contains',
-			'center'
-			),
-		7 => array(
-			'writeLine',
-			'write',
-			'withWriterAppend',
-			'withWriter',
-			'withStreams',
-			'withStream',
-			'withReader',
-			'withPrintWriter',
-			'withOutputStream',
-			'transformLine',
-			'transformChar',
-			'splitEachLine',
-			'getText',
-			'filterLine',
-			'encodeBase64',
-			'eachLines',
-			'eachLine',
-			'eachFileRecurse',
-			'eachFile',
-			'eachByte',
-			'append'
-			),
-		8 => array(
-			'dump',
-			'inspect',
-			'invokeMethod',
-			'print',
-			'println',
-			'step',
-			'times',
-			'upto',
-			'use',
-			'getText',
-			'start',
-			'startDaemon',
-			'getLastMatcher'
-			),
-		9 => array(
-			'Sql',
-			'call',
-			'eachRow',
-			'execute',
-			'executeUpdate',
-			'close'
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?', '|', '='
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => true,
-		4 => true,
-		5 => true,
-		6 => true,
-		7 => true,
-		8 => true,
-		9 => true
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;',
-			2 => 'color: #000000; font-weight: bold;',
-			3 => 'color: #aaaadd; font-weight: bold;',
-			4 => 'color: #993333;',
-			5 => 'color: #663399;',
-			6 => 'color: #CC0099;',
-			7 => 'color: #FFCC33;',
-			8 => 'color: #993399;',
-			9 => 'color: #993399; font-weight: bold;'
-			),
-		'COMMENTS' => array(
-			1=> 'color: #808080; font-style: italic;',
-			2=> 'color: #a1a100;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #006600;',
-			2 => 'color: #006600;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'SCRIPT' => array(
-			),
-		'REGEXPS' => array(
-			0 => 'color: #0000ff;'
-			)
-		),
-	'URLS' => array(
-		1 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
-		2 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
-		3 => 'http://www.google.de/search?as_q={FNAME}&num=100&hl=en&as_occt=url&as_sitesearch=java.sun.com%2Fj2se%2F1.5.0%2Fdocs%2Fapi%2F',
-		4 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
-		5 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
-		6 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
-		7 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
-		8 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
-		9 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}'
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		0 => '\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}'
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'Groovy',
+    'COMMENT_SINGLE' => array(1 => '//', 3 => '#'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'COMMENT_REGEXP' => array(
+        //Import and Package directives (Basic Support only)
+        2 => '/(?:(?<=import[\\n\\s])|(?<=package[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*([a-zA-Z0-9_]+|\*)(?=[\n\s;])/i',
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'''", '"""', "'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'case', 'do', 'else', 'for', 'foreach', 'if', 'in', 'switch',
+            'while',
+            ),
+        2 => array(
+            'abstract', 'as', 'assert', 'break', 'catch', 'class', 'const',
+            'continue', 'def', 'default', 'enum', 'extends',
+            'false', 'final', 'finally', 'goto', 'implements', 'import',
+            'instanceof', 'interface', 'native', 'new', 'null',
+            'package', 'private', 'property', 'protected',
+            'public', 'return', 'static', 'strictfp', 'super',
+            'synchronized', 'this', 'throw', 'throws',
+            'transient', 'true', 'try', 'volatile'
+            ),
+        3 => array(
+            'AbstractAction', 'AbstractBorder', 'AbstractButton',
+            'AbstractCellEditor', 'AbstractCollection',
+            'AbstractColorChooserPanel', 'AbstractDocument',
+            'AbstractDocument.AttributeContext',
+            'AbstractDocument.Content',
+            'AbstractDocument.ElementEdit',
+            'AbstractLayoutCache',
+            'AbstractLayoutCache.NodeDimensions', 'AbstractList',
+            'AbstractListModel', 'AbstractMap',
+            'AbstractMethodError', 'AbstractSequentialList',
+            'AbstractSet', 'AbstractTableModel',
+            'AbstractUndoableEdit', 'AbstractWriter',
+            'AccessControlContext', 'AccessControlException',
+            'AccessController', 'AccessException', 'Accessible',
+            'AccessibleAction', 'AccessibleBundle',
+            'AccessibleComponent', 'AccessibleContext',
+            'AccessibleHyperlink', 'AccessibleHypertext',
+            'AccessibleIcon', 'AccessibleObject',
+            'AccessibleRelation', 'AccessibleRelationSet',
+            'AccessibleResourceBundle', 'AccessibleRole',
+            'AccessibleSelection', 'AccessibleState',
+            'AccessibleStateSet', 'AccessibleTable',
+            'AccessibleTableModelChange', 'AccessibleText',
+            'AccessibleValue', 'Acl', 'AclEntry',
+            'AclNotFoundException', 'Action', 'ActionEvent',
+            'ActionListener', 'ActionMap', 'ActionMapUIResource',
+            'Activatable', 'ActivateFailedException',
+            'ActivationDesc', 'ActivationException',
+            'ActivationGroup', 'ActivationGroupDesc',
+            'ActivationGroupDesc.CommandEnvironment',
+            'ActivationGroupID', 'ActivationID',
+            'ActivationInstantiator', 'ActivationMonitor',
+            'ActivationSystem', 'Activator', 'ActiveEvent',
+            'Adjustable', 'AdjustmentEvent',
+            'AdjustmentListener', 'Adler32', 'AffineTransform',
+            'AffineTransformOp', 'AlgorithmParameterGenerator',
+            'AlgorithmParameterGeneratorSpi',
+            'AlgorithmParameters', 'AlgorithmParameterSpec',
+            'AlgorithmParametersSpi', 'AllPermission',
+            'AlphaComposite', 'AlreadyBound',
+            'AlreadyBoundException', 'AlreadyBoundHelper',
+            'AlreadyBoundHolder', 'AncestorEvent',
+            'AncestorListener', 'Annotation', 'Any', 'AnyHolder',
+            'AnySeqHelper', 'AnySeqHolder', 'Applet',
+            'AppletContext', 'AppletInitializer', 'AppletStub',
+            'ApplicationException', 'Arc2D', 'Arc2D.Double',
+            'Arc2D.Float', 'Area', 'AreaAveragingScaleFilter',
+            'ARG_IN', 'ARG_INOUT', 'ARG_OUT',
+            'ArithmeticException', 'Array',
+            'ArrayIndexOutOfBoundsException', 'ArrayList',
+            'Arrays', 'ArrayStoreException', 'AsyncBoxView',
+            'Attribute', 'AttributedCharacterIterator',
+            'AttributedCharacterIterator.Attribute',
+            'AttributedString', 'AttributeInUseException',
+            'AttributeList', 'AttributeModificationException',
+            'Attributes', 'Attributes.Name', 'AttributeSet',
+            'AttributeSet.CharacterAttribute',
+            'AttributeSet.ColorAttribute',
+            'AttributeSet.FontAttribute',
+            'AttributeSet.ParagraphAttribute', 'AudioClip',
+            'AudioFileFormat', 'AudioFileFormat.Type',
+            'AudioFileReader', 'AudioFileWriter', 'AudioFormat',
+            'AudioFormat.Encoding', 'AudioInputStream',
+            'AudioPermission', 'AudioSystem',
+            'AuthenticationException',
+            'AuthenticationNotSupportedException',
+            'Authenticator', 'Autoscroll', 'AWTError',
+            'AWTEvent', 'AWTEventListener',
+            'AWTEventMulticaster', 'AWTException',
+            'AWTPermission', 'BadKind', 'BadLocationException',
+            'BAD_CONTEXT', 'BAD_INV_ORDER', 'BAD_OPERATION',
+            'BAD_PARAM', 'BAD_POLICY', 'BAD_POLICY_TYPE',
+            'BAD_POLICY_VALUE', 'BAD_TYPECODE', 'BandCombineOp',
+            'BandedSampleModel', 'BasicArrowButton',
+            'BasicAttribute', 'BasicAttributes', 'BasicBorders',
+            'BasicBorders.ButtonBorder',
+            'BasicBorders.FieldBorder',
+            'BasicBorders.MarginBorder',
+            'BasicBorders.MenuBarBorder',
+            'BasicBorders.RadioButtonBorder',
+            'BasicBorders.SplitPaneBorder',
+            'BasicBorders.ToggleButtonBorder',
+            'BasicButtonListener', 'BasicButtonUI',
+            'BasicCheckBoxMenuItemUI', 'BasicCheckBoxUI',
+            'BasicColorChooserUI', 'BasicComboBoxEditor',
+            'BasicComboBoxEditor.UIResource',
+            'BasicComboBoxRenderer',
+            'BasicComboBoxRenderer.UIResource',
+            'BasicComboBoxUI', 'BasicComboPopup',
+            'BasicDesktopIconUI', 'BasicDesktopPaneUI',
+            'BasicDirectoryModel', 'BasicEditorPaneUI',
+            'BasicFileChooserUI', 'BasicGraphicsUtils',
+            'BasicHTML', 'BasicIconFactory',
+            'BasicInternalFrameTitlePane',
+            'BasicInternalFrameUI', 'BasicLabelUI',
+            'BasicListUI', 'BasicLookAndFeel', 'BasicMenuBarUI',
+            'BasicMenuItemUI', 'BasicMenuUI',
+            'BasicOptionPaneUI',
+            'BasicOptionPaneUI.ButtonAreaLayout', 'BasicPanelUI',
+            'BasicPasswordFieldUI', 'BasicPermission',
+            'BasicPopupMenuSeparatorUI', 'BasicPopupMenuUI',
+            'BasicProgressBarUI', 'BasicRadioButtonMenuItemUI',
+            'BasicRadioButtonUI', 'BasicRootPaneUI',
+            'BasicScrollBarUI', 'BasicScrollPaneUI',
+            'BasicSeparatorUI', 'BasicSliderUI',
+            'BasicSplitPaneDivider', 'BasicSplitPaneUI',
+            'BasicStroke', 'BasicTabbedPaneUI',
+            'BasicTableHeaderUI', 'BasicTableUI',
+            'BasicTextAreaUI', 'BasicTextFieldUI',
+            'BasicTextPaneUI', 'BasicTextUI',
+            'BasicTextUI.BasicCaret',
+            'BasicTextUI.BasicHighlighter',
+            'BasicToggleButtonUI', 'BasicToolBarSeparatorUI',
+            'BasicToolBarUI', 'BasicToolTipUI', 'BasicTreeUI',
+            'BasicViewportUI', 'BatchUpdateException',
+            'BeanContext', 'BeanContextChild',
+            'BeanContextChildComponentProxy',
+            'BeanContextChildSupport',
+            'BeanContextContainerProxy', 'BeanContextEvent',
+            'BeanContextMembershipEvent',
+            'BeanContextMembershipListener', 'BeanContextProxy',
+            'BeanContextServiceAvailableEvent',
+            'BeanContextServiceProvider',
+            'BeanContextServiceProviderBeanInfo',
+            'BeanContextServiceRevokedEvent',
+            'BeanContextServiceRevokedListener',
+            'BeanContextServices', 'BeanContextServicesListener',
+            'BeanContextServicesSupport',
+            'BeanContextServicesSupport.BCSSServiceProvider',
+            'BeanContextSupport',
+            'BeanContextSupport.BCSIterator', 'BeanDescriptor',
+            'BeanInfo', 'Beans', 'BevelBorder', 'BigDecimal',
+            'BigInteger', 'BinaryRefAddr', 'BindException',
+            'Binding', 'BindingHelper', 'BindingHolder',
+            'BindingIterator', 'BindingIteratorHelper',
+            'BindingIteratorHolder', 'BindingIteratorOperations',
+            'BindingListHelper', 'BindingListHolder',
+            'BindingType', 'BindingTypeHelper',
+            'BindingTypeHolder', 'BitSet', 'Blob', 'BlockView',
+            'Book', 'Boolean', 'BooleanControl',
+            'BooleanControl.Type', 'BooleanHolder',
+            'BooleanSeqHelper', 'BooleanSeqHolder', 'Border',
+            'BorderFactory', 'BorderLayout', 'BorderUIResource',
+            'BorderUIResource.BevelBorderUIResource',
+            'BorderUIResource.CompoundBorderUIResource',
+            'BorderUIResource.EmptyBorderUIResource',
+            'BorderUIResource.EtchedBorderUIResource',
+            'BorderUIResource.LineBorderUIResource',
+            'BorderUIResource.MatteBorderUIResource',
+            'BorderUIResource.TitledBorderUIResource',
+            'BoundedRangeModel', 'Bounds', 'Box', 'Box.Filler',
+            'BoxedValueHelper', 'BoxLayout', 'BoxView',
+            'BreakIterator', 'BufferedImage',
+            'BufferedImageFilter', 'BufferedImageOp',
+            'BufferedInputStream', 'BufferedOutputStream',
+            'BufferedReader', 'BufferedWriter', 'Button',
+            'ButtonGroup', 'ButtonModel', 'ButtonUI', 'Byte',
+            'ByteArrayInputStream', 'ByteArrayOutputStream',
+            'ByteHolder', 'ByteLookupTable', 'Calendar',
+            'CallableStatement', 'CannotProceed',
+            'CannotProceedException', 'CannotProceedHelper',
+            'CannotProceedHolder', 'CannotRedoException',
+            'CannotUndoException', 'Canvas', 'CardLayout',
+            'Caret', 'CaretEvent', 'CaretListener', 'CellEditor',
+            'CellEditorListener', 'CellRendererPane',
+            'Certificate', 'Certificate.CertificateRep',
+            'CertificateEncodingException',
+            'CertificateException',
+            'CertificateExpiredException', 'CertificateFactory',
+            'CertificateFactorySpi',
+            'CertificateNotYetValidException',
+            'CertificateParsingException',
+            'ChangedCharSetException', 'ChangeEvent',
+            'ChangeListener', 'Character', 'Character.Subset',
+            'Character.UnicodeBlock', 'CharacterIterator',
+            'CharArrayReader', 'CharArrayWriter',
+            'CharConversionException', 'CharHolder',
+            'CharSeqHelper', 'CharSeqHolder', 'Checkbox',
+            'CheckboxGroup', 'CheckboxMenuItem',
+            'CheckedInputStream', 'CheckedOutputStream',
+            'Checksum', 'Choice', 'ChoiceFormat', 'Class',
+            'ClassCastException', 'ClassCircularityError',
+            'ClassDesc', 'ClassFormatError', 'ClassLoader',
+            'ClassNotFoundException', 'Clip', 'Clipboard',
+            'ClipboardOwner', 'Clob', 'Cloneable',
+            'CloneNotSupportedException', 'CMMException',
+            'CodeSource', 'CollationElementIterator',
+            'CollationKey', 'Collator', 'Collection',
+            'Collections', 'Color',
+            'ColorChooserComponentFactory', 'ColorChooserUI',
+            'ColorConvertOp', 'ColorModel',
+            'ColorSelectionModel', 'ColorSpace',
+            'ColorUIResource', 'ComboBoxEditor', 'ComboBoxModel',
+            'ComboBoxUI', 'ComboPopup', 'CommunicationException',
+            'COMM_FAILURE', 'Comparable', 'Comparator',
+            'Compiler', 'CompletionStatus',
+            'CompletionStatusHelper', 'Component',
+            'ComponentAdapter', 'ComponentColorModel',
+            'ComponentEvent', 'ComponentInputMap',
+            'ComponentInputMapUIResource', 'ComponentListener',
+            'ComponentOrientation', 'ComponentSampleModel',
+            'ComponentUI', 'ComponentView', 'Composite',
+            'CompositeContext', 'CompositeName', 'CompositeView',
+            'CompoundBorder', 'CompoundControl',
+            'CompoundControl.Type', 'CompoundEdit',
+            'CompoundName', 'ConcurrentModificationException',
+            'ConfigurationException', 'ConnectException',
+            'ConnectIOException', 'Connection', 'Constructor',
+            'Container', 'ContainerAdapter', 'ContainerEvent',
+            'ContainerListener', 'ContentHandler',
+            'ContentHandlerFactory', 'ContentModel', 'Context',
+            'ContextList', 'ContextNotEmptyException',
+            'ContextualRenderedImageFactory', 'Control',
+            'Control.Type', 'ControlFactory',
+            'ControllerEventListener', 'ConvolveOp', 'CRC32',
+            'CRL', 'CRLException', 'CropImageFilter', 'CSS',
+            'CSS.Attribute', 'CTX_RESTRICT_SCOPE',
+            'CubicCurve2D', 'CubicCurve2D.Double',
+            'CubicCurve2D.Float', 'Current', 'CurrentHelper',
+            'CurrentHolder', 'CurrentOperations', 'Cursor',
+            'Customizer', 'CustomMarshal', 'CustomValue',
+            'DatabaseMetaData', 'DataBuffer', 'DataBufferByte',
+            'DataBufferInt', 'DataBufferShort',
+            'DataBufferUShort', 'DataFlavor',
+            'DataFormatException', 'DatagramPacket',
+            'DatagramSocket', 'DatagramSocketImpl',
+            'DatagramSocketImplFactory', 'DataInput',
+            'DataInputStream', 'DataLine', 'DataLine.Info',
+            'DataOutput', 'DataOutputStream', 'DataTruncation',
+            'DATA_CONVERSION', 'Date', 'DateFormat',
+            'DateFormatSymbols', 'DebugGraphics',
+            'DecimalFormat', 'DecimalFormatSymbols',
+            'DefaultBoundedRangeModel', 'DefaultButtonModel',
+            'DefaultCaret', 'DefaultCellEditor',
+            'DefaultColorSelectionModel', 'DefaultComboBoxModel',
+            'DefaultDesktopManager', 'DefaultEditorKit',
+            'DefaultEditorKit.BeepAction',
+            'DefaultEditorKit.CopyAction',
+            'DefaultEditorKit.CutAction',
+            'DefaultEditorKit.DefaultKeyTypedAction',
+            'DefaultEditorKit.InsertBreakAction',
+            'DefaultEditorKit.InsertContentAction',
+            'DefaultEditorKit.InsertTabAction',
+            'DefaultEditorKit.PasteAction,',
+            'DefaultFocusManager', 'DefaultHighlighter',
+            'DefaultHighlighter.DefaultHighlightPainter',
+            'DefaultListCellRenderer',
+            'DefaultListCellRenderer.UIResource',
+            'DefaultListModel', 'DefaultListSelectionModel',
+            'DefaultMenuLayout', 'DefaultMetalTheme',
+            'DefaultMutableTreeNode',
+            'DefaultSingleSelectionModel',
+            'DefaultStyledDocument',
+            'DefaultStyledDocument.AttributeUndoableEdit',
+            'DefaultStyledDocument.ElementSpec',
+            'DefaultTableCellRenderer',
+            'DefaultTableCellRenderer.UIResource',
+            'DefaultTableColumnModel', 'DefaultTableModel',
+            'DefaultTextUI', 'DefaultTreeCellEditor',
+            'DefaultTreeCellRenderer', 'DefaultTreeModel',
+            'DefaultTreeSelectionModel', 'DefinitionKind',
+            'DefinitionKindHelper', 'Deflater',
+            'DeflaterOutputStream', 'Delegate', 'DesignMode',
+            'DesktopIconUI', 'DesktopManager', 'DesktopPaneUI',
+            'DGC', 'Dialog', 'Dictionary', 'DigestException',
+            'DigestInputStream', 'DigestOutputStream',
+            'Dimension', 'Dimension2D', 'DimensionUIResource',
+            'DirContext', 'DirectColorModel', 'DirectoryManager',
+            'DirObjectFactory', 'DirStateFactory',
+            'DirStateFactory.Result', 'DnDConstants', 'Document',
+            'DocumentEvent', 'DocumentEvent.ElementChange',
+            'DocumentEvent.EventType', 'DocumentListener',
+            'DocumentParser', 'DomainCombiner', 'DomainManager',
+            'DomainManagerOperations', 'Double', 'DoubleHolder',
+            'DoubleSeqHelper', 'DoubleSeqHolder',
+            'DragGestureEvent', 'DragGestureListener',
+            'DragGestureRecognizer', 'DragSource',
+            'DragSourceContext', 'DragSourceDragEvent',
+            'DragSourceDropEvent', 'DragSourceEvent',
+            'DragSourceListener', 'Driver', 'DriverManager',
+            'DriverPropertyInfo', 'DropTarget',
+            'DropTarget.DropTargetAutoScroller',
+            'DropTargetContext', 'DropTargetDragEvent',
+            'DropTargetDropEvent', 'DropTargetEvent',
+            'DropTargetListener', 'DSAKey',
+            'DSAKeyPairGenerator', 'DSAParameterSpec',
+            'DSAParams', 'DSAPrivateKey', 'DSAPrivateKeySpec',
+            'DSAPublicKey', 'DSAPublicKeySpec', 'DTD',
+            'DTDConstants', 'DynamicImplementation', 'DynAny',
+            'DynArray', 'DynEnum', 'DynFixed', 'DynSequence',
+            'DynStruct', 'DynUnion', 'DynValue', 'EditorKit',
+            'Element', 'ElementIterator', 'Ellipse2D',
+            'Ellipse2D.Double', 'Ellipse2D.Float', 'EmptyBorder',
+            'EmptyStackException', 'EncodedKeySpec', 'Entity',
+            'EnumControl', 'EnumControl.Type', 'Enumeration',
+            'Environment', 'EOFException', 'Error',
+            'EtchedBorder', 'Event', 'EventContext',
+            'EventDirContext', 'EventListener',
+            'EventListenerList', 'EventObject', 'EventQueue',
+            'EventSetDescriptor', 'Exception',
+            'ExceptionInInitializerError', 'ExceptionList',
+            'ExpandVetoException', 'ExportException',
+            'ExtendedRequest', 'ExtendedResponse',
+            'Externalizable', 'FeatureDescriptor', 'Field',
+            'FieldNameHelper', 'FieldPosition', 'FieldView',
+            'File', 'FileChooserUI', 'FileDescriptor',
+            'FileDialog', 'FileFilter', 'FileInputStream',
+            'FilenameFilter', 'FileNameMap',
+            'FileNotFoundException', 'FileOutputStream',
+            'FilePermission', 'FileReader', 'FileSystemView',
+            'FileView', 'FileWriter', 'FilteredImageSource',
+            'FilterInputStream', 'FilterOutputStream',
+            'FilterReader', 'FilterWriter',
+            'FixedHeightLayoutCache', 'FixedHolder',
+            'FlatteningPathIterator', 'FlavorMap', 'Float',
+            'FloatControl', 'FloatControl.Type', 'FloatHolder',
+            'FloatSeqHelper', 'FloatSeqHolder', 'FlowLayout',
+            'FlowView', 'FlowView.FlowStrategy', 'FocusAdapter',
+            'FocusEvent', 'FocusListener', 'FocusManager',
+            'Font', 'FontFormatException', 'FontMetrics',
+            'FontRenderContext', 'FontUIResource', 'Format',
+            'FormatConversionProvider', 'FormView', 'Frame',
+            'FREE_MEM', 'GapContent', 'GeneralPath',
+            'GeneralSecurityException', 'GlyphJustificationInfo',
+            'GlyphMetrics', 'GlyphVector', 'GlyphView',
+            'GlyphView.GlyphPainter', 'GradientPaint',
+            'GraphicAttribute', 'Graphics', 'Graphics2D',
+            'GraphicsConfigTemplate', 'GraphicsConfiguration',
+            'GraphicsDevice', 'GraphicsEnvironment',
+            'GrayFilter', 'GregorianCalendar',
+            'GridBagConstraints', 'GridBagLayout', 'GridLayout',
+            'Group', 'Guard', 'GuardedObject', 'GZIPInputStream',
+            'GZIPOutputStream', 'HasControls', 'HashMap',
+            'HashSet', 'Hashtable', 'HierarchyBoundsAdapter',
+            'HierarchyBoundsListener', 'HierarchyEvent',
+            'HierarchyListener', 'Highlighter',
+            'Highlighter.Highlight',
+            'Highlighter.HighlightPainter', 'HTML',
+            'HTML.Attribute', 'HTML.Tag', 'HTML.UnknownTag',
+            'HTMLDocument', 'HTMLDocument.Iterator',
+            'HTMLEditorKit', 'HTMLEditorKit.HTMLFactory',
+            'HTMLEditorKit.HTMLTextAction',
+            'HTMLEditorKit.InsertHTMLTextAction',
+            'HTMLEditorKit.LinkController',
+            'HTMLEditorKit.Parser',
+            'HTMLEditorKit.ParserCallback',
+            'HTMLFrameHyperlinkEvent', 'HTMLWriter',
+            'HttpURLConnection', 'HyperlinkEvent',
+            'HyperlinkEvent.EventType', 'HyperlinkListener',
+            'ICC_ColorSpace', 'ICC_Profile', 'ICC_ProfileGray',
+            'ICC_ProfileRGB', 'Icon', 'IconUIResource',
+            'IconView', 'IdentifierHelper', 'Identity',
+            'IdentityScope', 'IDLEntity', 'IDLType',
+            'IDLTypeHelper', 'IDLTypeOperations',
+            'IllegalAccessError', 'IllegalAccessException',
+            'IllegalArgumentException',
+            'IllegalComponentStateException',
+            'IllegalMonitorStateException',
+            'IllegalPathStateException', 'IllegalStateException',
+            'IllegalThreadStateException', 'Image',
+            'ImageConsumer', 'ImageFilter',
+            'ImageGraphicAttribute', 'ImageIcon',
+            'ImageObserver', 'ImageProducer',
+            'ImagingOpException', 'IMP_LIMIT',
+            'IncompatibleClassChangeError',
+            'InconsistentTypeCode', 'IndexColorModel',
+            'IndexedPropertyDescriptor',
+            'IndexOutOfBoundsException', 'IndirectionException',
+            'InetAddress', 'Inflater', 'InflaterInputStream',
+            'InheritableThreadLocal', 'InitialContext',
+            'InitialContextFactory',
+            'InitialContextFactoryBuilder', 'InitialDirContext',
+            'INITIALIZE', 'Initializer', 'InitialLdapContext',
+            'InlineView', 'InputContext', 'InputEvent',
+            'InputMap', 'InputMapUIResource', 'InputMethod',
+            'InputMethodContext', 'InputMethodDescriptor',
+            'InputMethodEvent', 'InputMethodHighlight',
+            'InputMethodListener', 'InputMethodRequests',
+            'InputStream', 'InputStreamReader', 'InputSubset',
+            'InputVerifier', 'Insets', 'InsetsUIResource',
+            'InstantiationError', 'InstantiationException',
+            'Instrument', 'InsufficientResourcesException',
+            'Integer', 'INTERNAL', 'InternalError',
+            'InternalFrameAdapter', 'InternalFrameEvent',
+            'InternalFrameListener', 'InternalFrameUI',
+            'InterruptedException', 'InterruptedIOException',
+            'InterruptedNamingException', 'INTF_REPOS',
+            'IntHolder', 'IntrospectionException',
+            'Introspector', 'Invalid',
+            'InvalidAlgorithmParameterException',
+            'InvalidAttributeIdentifierException',
+            'InvalidAttributesException',
+            'InvalidAttributeValueException',
+            'InvalidClassException',
+            'InvalidDnDOperationException',
+            'InvalidKeyException', 'InvalidKeySpecException',
+            'InvalidMidiDataException', 'InvalidName',
+            'InvalidNameException', 'InvalidNameHelper',
+            'InvalidNameHolder', 'InvalidObjectException',
+            'InvalidParameterException',
+            'InvalidParameterSpecException',
+            'InvalidSearchControlsException',
+            'InvalidSearchFilterException', 'InvalidSeq',
+            'InvalidTransactionException', 'InvalidValue',
+            'INVALID_TRANSACTION', 'InvocationEvent',
+            'InvocationHandler', 'InvocationTargetException',
+            'InvokeHandler', 'INV_FLAG', 'INV_IDENT',
+            'INV_OBJREF', 'INV_POLICY', 'IOException',
+            'IRObject', 'IRObjectOperations', 'IstringHelper',
+            'ItemEvent', 'ItemListener', 'ItemSelectable',
+            'Iterator', 'JApplet', 'JarEntry', 'JarException',
+            'JarFile', 'JarInputStream', 'JarOutputStream',
+            'JarURLConnection', 'JButton', 'JCheckBox',
+            'JCheckBoxMenuItem', 'JColorChooser', 'JComboBox',
+            'JComboBox.KeySelectionManager', 'JComponent',
+            'JDesktopPane', 'JDialog', 'JEditorPane',
+            'JFileChooser', 'JFrame', 'JInternalFrame',
+            'JInternalFrame.JDesktopIcon', 'JLabel',
+            'JLayeredPane', 'JList', 'JMenu', 'JMenuBar',
+            'JMenuItem', 'JobAttributes',
+            'JobAttributes.DefaultSelectionType',
+            'JobAttributes.DestinationType',
+            'JobAttributes.DialogType',
+            'JobAttributes.MultipleDocumentHandlingType',
+            'JobAttributes.SidesType', 'JOptionPane', 'JPanel',
+            'JPasswordField', 'JPopupMenu',
+            'JPopupMenu.Separator', 'JProgressBar',
+            'JRadioButton', 'JRadioButtonMenuItem', 'JRootPane',
+            'JScrollBar', 'JScrollPane', 'JSeparator', 'JSlider',
+            'JSplitPane', 'JTabbedPane', 'JTable',
+            'JTableHeader', 'JTextArea', 'JTextComponent',
+            'JTextComponent.KeyBinding', 'JTextField',
+            'JTextPane', 'JToggleButton',
+            'JToggleButton.ToggleButtonModel', 'JToolBar',
+            'JToolBar.Separator', 'JToolTip', 'JTree',
+            'JTree.DynamicUtilTreeNode',
+            'JTree.EmptySelectionModel', 'JViewport', 'JWindow',
+            'Kernel', 'Key', 'KeyAdapter', 'KeyEvent',
+            'KeyException', 'KeyFactory', 'KeyFactorySpi',
+            'KeyListener', 'KeyManagementException', 'Keymap',
+            'KeyPair', 'KeyPairGenerator', 'KeyPairGeneratorSpi',
+            'KeySpec', 'KeyStore', 'KeyStoreException',
+            'KeyStoreSpi', 'KeyStroke', 'Label', 'LabelUI',
+            'LabelView', 'LastOwnerException',
+            'LayeredHighlighter',
+            'LayeredHighlighter.LayerPainter', 'LayoutManager',
+            'LayoutManager2', 'LayoutQueue', 'LdapContext',
+            'LdapReferralException', 'Lease',
+            'LimitExceededException', 'Line', 'Line.Info',
+            'Line2D', 'Line2D.Double', 'Line2D.Float',
+            'LineBorder', 'LineBreakMeasurer', 'LineEvent',
+            'LineEvent.Type', 'LineListener', 'LineMetrics',
+            'LineNumberInputStream', 'LineNumberReader',
+            'LineUnavailableException', 'LinkageError',
+            'LinkedList', 'LinkException', 'LinkLoopException',
+            'LinkRef', 'List', 'ListCellRenderer',
+            'ListDataEvent', 'ListDataListener', 'ListIterator',
+            'ListModel', 'ListResourceBundle',
+            'ListSelectionEvent', 'ListSelectionListener',
+            'ListSelectionModel', 'ListUI', 'ListView',
+            'LoaderHandler', 'Locale', 'LocateRegistry',
+            'LogStream', 'Long', 'LongHolder',
+            'LongLongSeqHelper', 'LongLongSeqHolder',
+            'LongSeqHelper', 'LongSeqHolder', 'LookAndFeel',
+            'LookupOp', 'LookupTable', 'MalformedLinkException',
+            'MalformedURLException', 'Manifest', 'Map',
+            'Map.Entry', 'MARSHAL', 'MarshalException',
+            'MarshalledObject', 'Math', 'MatteBorder',
+            'MediaTracker', 'Member', 'MemoryImageSource',
+            'Menu', 'MenuBar', 'MenuBarUI', 'MenuComponent',
+            'MenuContainer', 'MenuDragMouseEvent',
+            'MenuDragMouseListener', 'MenuElement', 'MenuEvent',
+            'MenuItem', 'MenuItemUI', 'MenuKeyEvent',
+            'MenuKeyListener', 'MenuListener',
+            'MenuSelectionManager', 'MenuShortcut',
+            'MessageDigest', 'MessageDigestSpi', 'MessageFormat',
+            'MetaEventListener', 'MetalBorders',
+            'MetalBorders.ButtonBorder',
+            'MetalBorders.Flush3DBorder',
+            'MetalBorders.InternalFrameBorder',
+            'MetalBorders.MenuBarBorder',
+            'MetalBorders.MenuItemBorder',
+            'MetalBorders.OptionDialogBorder',
+            'MetalBorders.PaletteBorder',
+            'MetalBorders.PopupMenuBorder',
+            'MetalBorders.RolloverButtonBorder',
+            'MetalBorders.ScrollPaneBorder',
+            'MetalBorders.TableHeaderBorder',
+            'MetalBorders.TextFieldBorder',
+            'MetalBorders.ToggleButtonBorder',
+            'MetalBorders.ToolBarBorder', 'MetalButtonUI',
+            'MetalCheckBoxIcon', 'MetalCheckBoxUI',
+            'MetalComboBoxButton', 'MetalComboBoxEditor',
+            'MetalComboBoxEditor.UIResource',
+            'MetalComboBoxIcon', 'MetalComboBoxUI',
+            'MetalDesktopIconUI', 'MetalFileChooserUI',
+            'MetalIconFactory', 'MetalIconFactory.FileIcon16',
+            'MetalIconFactory.FolderIcon16',
+            'MetalIconFactory.PaletteCloseIcon',
+            'MetalIconFactory.TreeControlIcon',
+            'MetalIconFactory.TreeFolderIcon',
+            'MetalIconFactory.TreeLeafIcon',
+            'MetalInternalFrameTitlePane',
+            'MetalInternalFrameUI', 'MetalLabelUI',
+            'MetalLookAndFeel', 'MetalPopupMenuSeparatorUI',
+            'MetalProgressBarUI', 'MetalRadioButtonUI',
+            'MetalScrollBarUI', 'MetalScrollButton',
+            'MetalScrollPaneUI', 'MetalSeparatorUI',
+            'MetalSliderUI', 'MetalSplitPaneUI',
+            'MetalTabbedPaneUI', 'MetalTextFieldUI',
+            'MetalTheme', 'MetalToggleButtonUI',
+            'MetalToolBarUI', 'MetalToolTipUI', 'MetalTreeUI',
+            'MetaMessage', 'Method', 'MethodDescriptor',
+            'MidiChannel', 'MidiDevice', 'MidiDevice.Info',
+            'MidiDeviceProvider', 'MidiEvent', 'MidiFileFormat',
+            'MidiFileReader', 'MidiFileWriter', 'MidiMessage',
+            'MidiSystem', 'MidiUnavailableException',
+            'MimeTypeParseException', 'MinimalHTMLWriter',
+            'MissingResourceException', 'Mixer', 'Mixer.Info',
+            'MixerProvider', 'ModificationItem', 'Modifier',
+            'MouseAdapter', 'MouseDragGestureRecognizer',
+            'MouseEvent', 'MouseInputAdapter',
+            'MouseInputListener', 'MouseListener',
+            'MouseMotionAdapter', 'MouseMotionListener',
+            'MultiButtonUI', 'MulticastSocket',
+            'MultiColorChooserUI', 'MultiComboBoxUI',
+            'MultiDesktopIconUI', 'MultiDesktopPaneUI',
+            'MultiFileChooserUI', 'MultiInternalFrameUI',
+            'MultiLabelUI', 'MultiListUI', 'MultiLookAndFeel',
+            'MultiMenuBarUI', 'MultiMenuItemUI',
+            'MultiOptionPaneUI', 'MultiPanelUI',
+            'MultiPixelPackedSampleModel', 'MultipleMaster',
+            'MultiPopupMenuUI', 'MultiProgressBarUI',
+            'MultiScrollBarUI', 'MultiScrollPaneUI',
+            'MultiSeparatorUI', 'MultiSliderUI',
+            'MultiSplitPaneUI', 'MultiTabbedPaneUI',
+            'MultiTableHeaderUI', 'MultiTableUI', 'MultiTextUI',
+            'MultiToolBarUI', 'MultiToolTipUI', 'MultiTreeUI',
+            'MultiViewportUI', 'MutableAttributeSet',
+            'MutableComboBoxModel', 'MutableTreeNode', 'Name',
+            'NameAlreadyBoundException', 'NameClassPair',
+            'NameComponent', 'NameComponentHelper',
+            'NameComponentHolder', 'NamedValue', 'NameHelper',
+            'NameHolder', 'NameNotFoundException', 'NameParser',
+            'NamespaceChangeListener', 'NameValuePair',
+            'NameValuePairHelper', 'Naming', 'NamingContext',
+            'NamingContextHelper', 'NamingContextHolder',
+            'NamingContextOperations', 'NamingEnumeration',
+            'NamingEvent', 'NamingException',
+            'NamingExceptionEvent', 'NamingListener',
+            'NamingManager', 'NamingSecurityException',
+            'NegativeArraySizeException', 'NetPermission',
+            'NoClassDefFoundError', 'NoInitialContextException',
+            'NoninvertibleTransformException',
+            'NoPermissionException', 'NoRouteToHostException',
+            'NoSuchAlgorithmException',
+            'NoSuchAttributeException', 'NoSuchElementException',
+            'NoSuchFieldError', 'NoSuchFieldException',
+            'NoSuchMethodError', 'NoSuchMethodException',
+            'NoSuchObjectException', 'NoSuchProviderException',
+            'NotActiveException', 'NotBoundException',
+            'NotContextException', 'NotEmpty', 'NotEmptyHelper',
+            'NotEmptyHolder', 'NotFound', 'NotFoundHelper',
+            'NotFoundHolder', 'NotFoundReason',
+            'NotFoundReasonHelper', 'NotFoundReasonHolder',
+            'NotOwnerException', 'NotSerializableException',
+            'NO_IMPLEMENT', 'NO_MEMORY', 'NO_PERMISSION',
+            'NO_RESOURCES', 'NO_RESPONSE',
+            'NullPointerException', 'Number', 'NumberFormat',
+            'NumberFormatException', 'NVList', 'Object',
+            'ObjectChangeListener', 'ObjectFactory',
+            'ObjectFactoryBuilder', 'ObjectHelper',
+            'ObjectHolder', 'ObjectImpl', 'ObjectInput',
+            'ObjectInputStream', 'ObjectInputStream.GetField',
+            'ObjectInputValidation', 'ObjectOutput',
+            'ObjectOutputStream', 'ObjectOutputStream.PutField',
+            'ObjectStreamClass', 'ObjectStreamConstants',
+            'ObjectStreamException', 'ObjectStreamField',
+            'ObjectView', 'OBJECT_NOT_EXIST', 'ObjID',
+            'OBJ_ADAPTER', 'Observable', 'Observer',
+            'OctetSeqHelper', 'OctetSeqHolder', 'OMGVMCID',
+            'OpenType', 'Operation',
+            'OperationNotSupportedException', 'Option',
+            'OptionalDataException', 'OptionPaneUI', 'ORB',
+            'OutOfMemoryError', 'OutputStream',
+            'OutputStreamWriter', 'OverlayLayout', 'Owner',
+            'Package', 'PackedColorModel', 'Pageable',
+            'PageAttributes', 'PageAttributes.ColorType',
+            'PageAttributes.MediaType',
+            'PageAttributes.OrientationRequestedType',
+            'PageAttributes.OriginType',
+            'PageAttributes.PrintQualityType', 'PageFormat',
+            'Paint', 'PaintContext', 'PaintEvent', 'Panel',
+            'PanelUI', 'Paper', 'ParagraphView',
+            'ParameterBlock', 'ParameterDescriptor',
+            'ParseException', 'ParsePosition', 'Parser',
+            'ParserDelegator', 'PartialResultException',
+            'PasswordAuthentication', 'PasswordView', 'Patch',
+            'PathIterator', 'Permission', 'PermissionCollection',
+            'Permissions', 'PERSIST_STORE', 'PhantomReference',
+            'PipedInputStream', 'PipedOutputStream',
+            'PipedReader', 'PipedWriter', 'PixelGrabber',
+            'PixelInterleavedSampleModel', 'PKCS8EncodedKeySpec',
+            'PlainDocument', 'PlainView', 'Point', 'Point2D',
+            'Point2D.Double', 'Point2D.Float', 'Policy',
+            'PolicyError', 'PolicyHelper', 'PolicyHolder',
+            'PolicyListHelper', 'PolicyListHolder',
+            'PolicyOperations', 'PolicyTypeHelper', 'Polygon',
+            'PopupMenu', 'PopupMenuEvent', 'PopupMenuListener',
+            'PopupMenuUI', 'Port', 'Port.Info',
+            'PortableRemoteObject',
+            'PortableRemoteObjectDelegate', 'Position',
+            'Position.Bias', 'PreparedStatement', 'Principal',
+            'PrincipalHolder', 'Printable',
+            'PrinterAbortException', 'PrinterException',
+            'PrinterGraphics', 'PrinterIOException',
+            'PrinterJob', 'PrintGraphics', 'PrintJob',
+            'PrintStream', 'PrintWriter', 'PrivateKey',
+            'PRIVATE_MEMBER', 'PrivilegedAction',
+            'PrivilegedActionException',
+            'PrivilegedExceptionAction', 'Process',
+            'ProfileDataException', 'ProgressBarUI',
+            'ProgressMonitor', 'ProgressMonitorInputStream',
+            'Properties', 'PropertyChangeEvent',
+            'PropertyChangeListener', 'PropertyChangeSupport',
+            'PropertyDescriptor', 'PropertyEditor',
+            'PropertyEditorManager', 'PropertyEditorSupport',
+            'PropertyPermission', 'PropertyResourceBundle',
+            'PropertyVetoException', 'ProtectionDomain',
+            'ProtocolException', 'Provider', 'ProviderException',
+            'Proxy', 'PublicKey', 'PUBLIC_MEMBER',
+            'PushbackInputStream', 'PushbackReader',
+            'QuadCurve2D', 'QuadCurve2D.Double',
+            'QuadCurve2D.Float', 'Random', 'RandomAccessFile',
+            'Raster', 'RasterFormatException', 'RasterOp',
+            'Reader', 'Receiver', 'Rectangle', 'Rectangle2D',
+            'Rectangle2D.Double', 'Rectangle2D.Float',
+            'RectangularShape', 'Ref', 'RefAddr', 'Reference',
+            'Referenceable', 'ReferenceQueue',
+            'ReferralException', 'ReflectPermission', 'Registry',
+            'RegistryHandler', 'RemarshalException', 'Remote',
+            'RemoteCall', 'RemoteException', 'RemoteObject',
+            'RemoteRef', 'RemoteServer', 'RemoteStub',
+            'RenderableImage', 'RenderableImageOp',
+            'RenderableImageProducer', 'RenderContext',
+            'RenderedImage', 'RenderedImageFactory', 'Renderer',
+            'RenderingHints', 'RenderingHints.Key',
+            'RepaintManager', 'ReplicateScaleFilter',
+            'Repository', 'RepositoryIdHelper', 'Request',
+            'RescaleOp', 'Resolver', 'ResolveResult',
+            'ResourceBundle', 'ResponseHandler', 'ResultSet',
+            'ResultSetMetaData', 'ReverbType', 'RGBImageFilter',
+            'RMIClassLoader', 'RMIClientSocketFactory',
+            'RMIFailureHandler', 'RMISecurityException',
+            'RMISecurityManager', 'RMIServerSocketFactory',
+            'RMISocketFactory', 'Robot', 'RootPaneContainer',
+            'RootPaneUI', 'RoundRectangle2D',
+            'RoundRectangle2D.Double', 'RoundRectangle2D.Float',
+            'RowMapper', 'RSAKey', 'RSAKeyGenParameterSpec',
+            'RSAPrivateCrtKey', 'RSAPrivateCrtKeySpec',
+            'RSAPrivateKey', 'RSAPrivateKeySpec', 'RSAPublicKey',
+            'RSAPublicKeySpec', 'RTFEditorKit',
+            'RuleBasedCollator', 'Runnable', 'Runtime',
+            'RunTime', 'RuntimeException', 'RunTimeOperations',
+            'RuntimePermission', 'SampleModel',
+            'SchemaViolationException', 'Scrollable',
+            'Scrollbar', 'ScrollBarUI', 'ScrollPane',
+            'ScrollPaneConstants', 'ScrollPaneLayout',
+            'ScrollPaneLayout.UIResource', 'ScrollPaneUI',
+            'SearchControls', 'SearchResult',
+            'SecureClassLoader', 'SecureRandom',
+            'SecureRandomSpi', 'Security', 'SecurityException',
+            'SecurityManager', 'SecurityPermission', 'Segment',
+            'SeparatorUI', 'Sequence', 'SequenceInputStream',
+            'Sequencer', 'Sequencer.SyncMode', 'Serializable',
+            'SerializablePermission', 'ServantObject',
+            'ServerCloneException', 'ServerError',
+            'ServerException', 'ServerNotActiveException',
+            'ServerRef', 'ServerRequest',
+            'ServerRuntimeException', 'ServerSocket',
+            'ServiceDetail', 'ServiceDetailHelper',
+            'ServiceInformation', 'ServiceInformationHelper',
+            'ServiceInformationHolder',
+            'ServiceUnavailableException', 'Set',
+            'SetOverrideType', 'SetOverrideTypeHelper', 'Shape',
+            'ShapeGraphicAttribute', 'Short', 'ShortHolder',
+            'ShortLookupTable', 'ShortMessage', 'ShortSeqHelper',
+            'ShortSeqHolder', 'Signature', 'SignatureException',
+            'SignatureSpi', 'SignedObject', 'Signer',
+            'SimpleAttributeSet', 'SimpleBeanInfo',
+            'SimpleDateFormat', 'SimpleTimeZone',
+            'SinglePixelPackedSampleModel',
+            'SingleSelectionModel', 'SizeLimitExceededException',
+            'SizeRequirements', 'SizeSequence', 'Skeleton',
+            'SkeletonMismatchException',
+            'SkeletonNotFoundException', 'SliderUI', 'Socket',
+            'SocketException', 'SocketImpl', 'SocketImplFactory',
+            'SocketOptions', 'SocketPermission',
+            'SocketSecurityException', 'SoftBevelBorder',
+            'SoftReference', 'SortedMap', 'SortedSet',
+            'Soundbank', 'SoundbankReader', 'SoundbankResource',
+            'SourceDataLine', 'SplitPaneUI', 'SQLData',
+            'SQLException', 'SQLInput', 'SQLOutput',
+            'SQLPermission', 'SQLWarning', 'Stack',
+            'StackOverflowError', 'StateEdit', 'StateEditable',
+            'StateFactory', 'Statement', 'Streamable',
+            'StreamableValue', 'StreamCorruptedException',
+            'StreamTokenizer', 'StrictMath', 'String',
+            'StringBuffer', 'StringBufferInputStream',
+            'StringCharacterIterator', 'StringContent',
+            'StringHolder', 'StringIndexOutOfBoundsException',
+            'StringReader', 'StringRefAddr', 'StringSelection',
+            'StringTokenizer', 'StringValueHelper',
+            'StringWriter', 'Stroke', 'Struct', 'StructMember',
+            'StructMemberHelper', 'Stub', 'StubDelegate',
+            'StubNotFoundException', 'Style', 'StyleConstants',
+            'StyleConstants.CharacterConstants',
+            'StyleConstants.ColorConstants',
+            'StyleConstants.FontConstants',
+            'StyleConstants.ParagraphConstants', 'StyleContext',
+            'StyledDocument', 'StyledEditorKit',
+            'StyledEditorKit.AlignmentAction',
+            'StyledEditorKit.BoldAction',
+            'StyledEditorKit.FontFamilyAction',
+            'StyledEditorKit.FontSizeAction',
+            'StyledEditorKit.ForegroundAction',
+            'StyledEditorKit.ItalicAction',
+            'StyledEditorKit.StyledTextAction',
+            'StyledEditorKit.UnderlineAction', 'StyleSheet',
+            'StyleSheet.BoxPainter', 'StyleSheet.ListPainter',
+            'SwingConstants', 'SwingPropertyChangeSupport',
+            'SwingUtilities', 'SyncFailedException',
+            'Synthesizer', 'SysexMessage', 'System',
+            'SystemColor', 'SystemException', 'SystemFlavorMap',
+            'TabableView', 'TabbedPaneUI', 'TabExpander',
+            'TableCellEditor', 'TableCellRenderer',
+            'TableColumn', 'TableColumnModel',
+            'TableColumnModelEvent', 'TableColumnModelListener',
+            'TableHeaderUI', 'TableModel', 'TableModelEvent',
+            'TableModelListener', 'TableUI', 'TableView',
+            'TabSet', 'TabStop', 'TagElement', 'TargetDataLine',
+            'TCKind', 'TextAction', 'TextArea', 'TextAttribute',
+            'TextComponent', 'TextEvent', 'TextField',
+            'TextHitInfo', 'TextLayout',
+            'TextLayout.CaretPolicy', 'TextListener',
+            'TextMeasurer', 'TextUI', 'TexturePaint', 'Thread',
+            'ThreadDeath', 'ThreadGroup', 'ThreadLocal',
+            'Throwable', 'Tie', 'TileObserver', 'Time',
+            'TimeLimitExceededException', 'Timer', 'TimerTask',
+            'Timestamp', 'TimeZone', 'TitledBorder', 'ToolBarUI',
+            'Toolkit', 'ToolTipManager', 'ToolTipUI',
+            'TooManyListenersException', 'Track',
+            'TransactionRequiredException',
+            'TransactionRolledbackException',
+            'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK',
+            'Transferable', 'TransformAttribute', 'TRANSIENT',
+            'Transmitter', 'Transparency', 'TreeCellEditor',
+            'TreeCellRenderer', 'TreeExpansionEvent',
+            'TreeExpansionListener', 'TreeMap', 'TreeModel',
+            'TreeModelEvent', 'TreeModelListener', 'TreeNode',
+            'TreePath', 'TreeSelectionEvent',
+            'TreeSelectionListener', 'TreeSelectionModel',
+            'TreeSet', 'TreeUI', 'TreeWillExpandListener',
+            'TypeCode', 'TypeCodeHolder', 'TypeMismatch',
+            'Types', 'UID', 'UIDefaults',
+            'UIDefaults.ActiveValue', 'UIDefaults.LazyInputMap',
+            'UIDefaults.LazyValue', 'UIDefaults.ProxyLazyValue',
+            'UIManager', 'UIManager.LookAndFeelInfo',
+            'UIResource', 'ULongLongSeqHelper',
+            'ULongLongSeqHolder', 'ULongSeqHelper',
+            'ULongSeqHolder', 'UndeclaredThrowableException',
+            'UndoableEdit', 'UndoableEditEvent',
+            'UndoableEditListener', 'UndoableEditSupport',
+            'UndoManager', 'UnexpectedException',
+            'UnicastRemoteObject', 'UnionMember',
+            'UnionMemberHelper', 'UNKNOWN', 'UnknownError',
+            'UnknownException', 'UnknownGroupException',
+            'UnknownHostException', 'UnknownObjectException',
+            'UnknownServiceException', 'UnknownUserException',
+            'UnmarshalException', 'UnrecoverableKeyException',
+            'Unreferenced', 'UnresolvedPermission',
+            'UnsatisfiedLinkError', 'UnsolicitedNotification',
+            'UnsolicitedNotificationEvent',
+            'UnsolicitedNotificationListener',
+            'UnsupportedAudioFileException',
+            'UnsupportedClassVersionError',
+            'UnsupportedEncodingException',
+            'UnsupportedFlavorException',
+            'UnsupportedLookAndFeelException',
+            'UnsupportedOperationException',
+            'UNSUPPORTED_POLICY', 'UNSUPPORTED_POLICY_VALUE',
+            'URL', 'URLClassLoader', 'URLConnection',
+            'URLDecoder', 'URLEncoder', 'URLStreamHandler',
+            'URLStreamHandlerFactory', 'UserException',
+            'UShortSeqHelper', 'UShortSeqHolder',
+            'UTFDataFormatException', 'Util', 'UtilDelegate',
+            'Utilities', 'ValueBase', 'ValueBaseHelper',
+            'ValueBaseHolder', 'ValueFactory', 'ValueHandler',
+            'ValueMember', 'ValueMemberHelper',
+            'VariableHeightLayoutCache', 'Vector', 'VerifyError',
+            'VersionSpecHelper', 'VetoableChangeListener',
+            'VetoableChangeSupport', 'View', 'ViewFactory',
+            'ViewportLayout', 'ViewportUI',
+            'VirtualMachineError', 'Visibility',
+            'VisibilityHelper', 'VMID', 'VM_ABSTRACT',
+            'VM_CUSTOM', 'VM_NONE', 'VM_TRUNCATABLE',
+            'VoiceStatus', 'Void', 'WCharSeqHelper',
+            'WCharSeqHolder', 'WeakHashMap', 'WeakReference',
+            'Window', 'WindowAdapter', 'WindowConstants',
+            'WindowEvent', 'WindowListener', 'WrappedPlainView',
+            'WritableRaster', 'WritableRenderedImage',
+            'WriteAbortedException', 'Writer',
+            'WrongTransaction', 'WStringValueHelper',
+            'X509Certificate', 'X509CRL', 'X509CRLEntry',
+            'X509EncodedKeySpec', 'X509Extension', 'ZipEntry',
+            'ZipException', 'ZipFile', 'ZipInputStream',
+            'ZipOutputStream', 'ZoneView',
+            '_BindingIteratorImplBase', '_BindingIteratorStub',
+            '_IDLTypeStub', '_NamingContextImplBase',
+            '_NamingContextStub', '_PolicyStub', '_Remote_Stub'
+            ),
+        4 => array(
+            'boolean', 'byte', 'char', 'double', 'float', 'int', 'long',
+            'short', 'void'
+            ),
+        5 => array(
+            'allProperties', 'asImmutable', 'asSynchronized', 'collect',
+            'count', 'each', 'eachProperty', 'eachPropertyName',
+            'eachWithIndex', 'find', 'findAll', 'findIndexOf',
+            'flatten', 'get', 'grep', 'inject', 'intersect',
+            'join', 'max', 'min', 'pop', 'reverse',
+            'reverseEach', 'size', 'sort', 'subMap', 'toList'
+            ),
+        6 => array(
+            'center', 'contains', 'eachMatch', 'padLeft', 'padRight',
+            'toCharacter', 'tokenize', 'toLong', 'toURL'
+            ),
+        7 => array(
+            'append', 'eachByte', 'eachFile', 'eachFileRecurse', 'eachLine',
+            'eachLines', 'encodeBase64', 'filterLine', 'getText',
+            'splitEachLine', 'transformChar', 'transformLine',
+            'withOutputStream', 'withPrintWriter', 'withReader',
+            'withStream', 'withStreams', 'withWriter',
+            'withWriterAppend', 'write', 'writeLine'
+            ),
+        8 => array(
+            'dump', 'getLastMatcher', 'inspect', 'invokeMethod', 'print',
+            'println', 'start', 'startDaemon', 'step', 'times',
+            'upto', 'use'
+            ),
+        9 => array(
+            'call', 'close', 'eachRow', 'execute', 'executeUpdate', 'Sql'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?', '|', '=',
+        '=>', '||', '-', '+', '<<', '<<<', '&&'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => true,
+        1 => false,
+        2 => false,
+        3 => true,
+        4 => true,
+        5 => true,
+        6 => true,
+        7 => true,
+        8 => true,
+        9 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #aaaadd; font-weight: bold;',
+            4 => 'color: #993333;',
+            5 => 'color: #663399;',
+            6 => 'color: #CC0099;',
+            7 => 'color: #FFCC33;',
+            8 => 'color: #993399;',
+            9 => 'color: #993399; font-weight: bold;'
+            ),
+        'COMMENTS' => array(
+            1=> 'color: #808080; font-style: italic;',
+            2=> 'color: #a1a100;',
+            3=> 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;',
+            2 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #0000ff;'
+            )
+        ),
+    'URLS' => array(
+        1 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAMEL}',
+        2 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAMEL}',
+        3 => 'http://www.google.de/search?as_q={FNAME}&amp;num=100&amp;hl=en&amp;as_occt=url&amp;as_sitesearch=java.sun.com%2Fj2se%2F1.5.0%2Fdocs%2Fapi%2F',
+        4 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+        5 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+        6 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+        7 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+        8 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}',
+        9 => 'http://www.google.de/search?q=site%3Adocs.codehaus.org/%20{FNAME}'
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        //Variables
+        0 => '\\$\\{[a-zA-Z_][a-zA-Z0-9_]*\\}'
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/haskell.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/haskell.php	Fri May 29 19:30:59 2009 -0400
@@ -2,12 +2,10 @@
 /*************************************************************************************
  * haskell.php
  * ----------
- * Author: Jason Dagit (dagit@codersbase.com) based on ocaml.php by Flaie (fireflaie@gmail.com) 
+ * Author: Jason Dagit (dagit@codersbase.com) based on ocaml.php by Flaie (fireflaie@gmail.com)
  * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
- * CVS Revision Version: $Revision: 1.6 $
+ * Release Version: 1.0.8.2
  * Date Started: 2005/08/27
- * Last Modified: $Date: 2006/02/25 00:46:33 $
  *
  * Haskell language file for GeSHi.
  *
@@ -43,78 +41,79 @@
     'LANG_NAME' => 'Haskell',
     'COMMENT_SINGLE' => array( 1 => '--'),
     'COMMENT_MULTI' => array('{-' => '-}'),
+    'COMMENT_REGEXP' => array(2 => "/-->/"),
     'CASE_KEYWORDS' => 0,
     'QUOTEMARKS' => array('"'),
     'ESCAPE_CHAR' => "\\",
     'KEYWORDS' => array(
-       /* main haskell keywords */
+        /* main haskell keywords */
         1 => array(
-           'as',
-           'case', 'of', 'class', 'data', 'default', 
-           'deriving', 'do', 'forall', 'hiding', 'if', 'then',
-           'else', 'import', 'infix', 'infixl', 'infixr', 
-           'instance', 'let', 'in', 'module', 'newtype',
-           'qualified', 'type', 'where'
+            'as',
+            'case', 'of', 'class', 'data', 'default',
+            'deriving', 'do', 'forall', 'hiding', 'if', 'then',
+            'else', 'import', 'infix', 'infixl', 'infixr',
+            'instance', 'let', 'in', 'module', 'newtype',
+            'qualified', 'type', 'where'
             ),
         /* define names of main librarys, so we can link to it */
         2 => array(
-           'Foreign', 'Numeric', 'Prelude'
-           ),
+            'Foreign', 'Numeric', 'Prelude'
+            ),
         /* just link to Prelude functions, cause it's the default opened library when starting Haskell */
         3 => array(
-           'not', 'otherwise', 'maybe', 
-           'either', 'fst', 'snd', 'curry', 'uncurry',
-           'compare', 
-           'max', 'min', 'succ', 'pred', 'toEnum', 'fromEnum',
-           'enumFrom', 'enumFromThen', 'enumFromTo', 
-           'enumFromThenTo', 'minBound', 'maxBound',
-           'negate', 'abs', 'signum',
-           'fromInteger', 'toRational', 'quot', 'rem',
-           'div', 'mod', 'quotRem', 'divMod', 'toInteger',
-           'recip', 'fromRational', 'pi', 'exp',
-           'log', 'sqrt', 'logBase', 'sin', 'cos',
-           'tan', 'asin', 'acos', 'atan', 'sinh', 'cosh',
-           'tanh', 'asinh', 'acosh', 'atanh',
-           'properFraction', 'truncate', 'round', 'ceiling',
-           'floor', 'floatRadix', 'floatDigits', 'floatRange',
-           'decodeFloat', 'encodeFloat', 'exponent',
-           'significand', 'scaleFloat', 'isNaN', 'isInfinite',
-           'isDenomalized', 'isNegativeZero', 'isIEEE',
-           'atan2', 'subtract', 'even', 'odd', 'gcd',
-           'lcm', 'fromIntegral', 'realToFrac',
-           'return', 'fail', 'fmap',
-           'mapM', 'mapM_', 'sequence', 'sequence_',
-           'id', 'const','flip',
-           'until', 'asTypeOf', 'error', 'undefined',
-           'seq','map','filter', 'head',
-           'last', 'tail', 'init', 'null', 'length',
-           'reverse', 'foldl', 'foldl1', 'foldr',
-           'foldr1', 'and', 'or', 'any', 'all', 'sum',
-           'product', 'concat', 'concatMap', 'maximum',
-           'minimum', 'scanl', 'scanl1', 'scanr', 'scanr1',
-           'iterate', 'repeat', 'cycle', 'take', 'drop',
-           'splitAt', 'teakWhile', 'dropWhile', 'span',
-           'break', 'elem', 'notElem', 'lookup', 'zip',
-           'zip3', 'zipWith', 'zipWith3', 'unzip', 'unzip3',
-           'unzip', 'unzip3', 'lines', 'words', 'unlines',
-           'unwords', 'showPrec', 'show', 'showList',
-           'shows', 'showChar', 'showString', 'showParen',
-           'readsPrec', 'readList', 'reads', 'readParen',
-           'read', 'lex', 'putChar', 'putStr', 'putStrLn',
-           'print', 'getChar', 'getLine', 'getContents',
-           'interact', 'readFile', 'writeFile', 'appendFile',
-           'readIO', 'readLn', 'ioError', 'userError', 'catch'
-           ),
+            'not', 'otherwise', 'maybe',
+            'either', 'fst', 'snd', 'curry', 'uncurry',
+            'compare',
+            'max', 'min', 'succ', 'pred', 'toEnum', 'fromEnum',
+            'enumFrom', 'enumFromThen', 'enumFromTo',
+            'enumFromThenTo', 'minBound', 'maxBound',
+            'negate', 'abs', 'signum',
+            'fromInteger', 'toRational', 'quot', 'rem',
+            'div', 'mod', 'quotRem', 'divMod', 'toInteger',
+            'recip', 'fromRational', 'pi', 'exp',
+            'log', 'sqrt', 'logBase', 'sin', 'cos',
+            'tan', 'asin', 'acos', 'atan', 'sinh', 'cosh',
+            'tanh', 'asinh', 'acosh', 'atanh',
+            'properFraction', 'truncate', 'round', 'ceiling',
+            'floor', 'floatRadix', 'floatDigits', 'floatRange',
+            'decodeFloat', 'encodeFloat', 'exponent',
+            'significand', 'scaleFloat', 'isNaN', 'isInfinite',
+            'isDenomalized', 'isNegativeZero', 'isIEEE',
+            'atan2', 'subtract', 'even', 'odd', 'gcd',
+            'lcm', 'fromIntegral', 'realToFrac',
+            'return', 'fail', 'fmap',
+            'mapM', 'mapM_', 'sequence', 'sequence_',
+            'id', 'const','flip',
+            'until', 'asTypeOf', 'error', 'undefined',
+            'seq','map','filter', 'head',
+            'last', 'tail', 'init', 'null', 'length',
+            'reverse', 'foldl', 'foldl1', 'foldr',
+            'foldr1', 'and', 'or', 'any', 'all', 'sum',
+            'product', 'concat', 'concatMap', 'maximum',
+            'minimum', 'scanl', 'scanl1', 'scanr', 'scanr1',
+            'iterate', 'repeat', 'cycle', 'take', 'drop',
+            'splitAt', 'teakWhile', 'dropWhile', 'span',
+            'break', 'elem', 'notElem', 'lookup', 'zip',
+            'zip3', 'zipWith', 'zipWith3', 'unzip', 'unzip3',
+            'lines', 'words', 'unlines',
+            'unwords', 'showPrec', 'show', 'showList',
+            'shows', 'showChar', 'showString', 'showParen',
+            'readsPrec', 'readList', 'reads', 'readParen',
+            'read', 'lex', 'putChar', 'putStr', 'putStrLn',
+            'print', 'getChar', 'getLine', 'getContents',
+            'interact', 'readFile', 'writeFile', 'appendFile',
+            'readIO', 'readLn', 'ioError', 'userError', 'catch'
+            ),
         /* here Prelude Types */
         4 => array (
-            'Bool', 'Maybe', 'Either', 'Ord', 'Ordering', 
-            'Char', 'String', 'Eq', 'Enum', 'Bounded', 
+            'Bool', 'Maybe', 'Either', 'Ord', 'Ordering',
+            'Char', 'String', 'Eq', 'Enum', 'Bounded',
             'Int', 'Integer', 'Float', 'Double', 'Rational',
-            'Num', 'Real', 'Integral', 'Fractional', 
+            'Num', 'Real', 'Integral', 'Fractional',
             'Floating', 'RealFrac', 'RealFloat', 'Monad',
-            'Functor', 'Show', 'ShowS', 'Read', 'ReadS', 
+            'Functor', 'Show', 'ShowS', 'Read', 'ReadS',
             'IO'
-           ),
+            ),
         /* finally Prelude Exceptions */
         5 => array (
             'IOError', 'IOException'
@@ -122,14 +121,14 @@
         ),
     /* highlighting symbols is really important in Haskell */
     'SYMBOLS' => array(
-           '|', '->', '<-', '@', '!', '::', '_', '~', '=',
-           '&&', '||', '==', '/=', '<', '<=', '>', 
-           '>=','+', '-', '*','/',  '**', '^', '^^', 
-           '>>=', '>>', '=<<',  '$', '.',  '$!',  
-           '++', '!!'
-            ), 
+        '|', '->', '<-', '@', '!', '::', '_', '~', '=', '?',
+        '&&', '||', '==', '/=', '<', '<=', '>',
+        '>=','+', '-', '*','/', '%', '**', '^', '^^',
+        '>>=', '>>', '=<<',  '$', '.', ',', '$!',
+        '++', '!!'
+        ),
     'CASE_SENSITIVE' => array(
-        GESHI_COMMENTS => true,
+        GESHI_COMMENTS => false,
         1 => true,
         2 => true, /* functions name are case seinsitive */
         3 => true, /* types name too */
@@ -146,9 +145,11 @@
             ),
         'COMMENTS' => array(
             1 => 'color: #5d478b; font-style: italic;',
+            2 => 'color: #339933; font-weight: bold;',
             'MULTI' => 'color: #5d478b; font-style: italic;' /* light purpHle */
             ),
         'ESCAPE_CHAR' => array(
+            0 => 'background-color: #3cb371; font-weight: bold;'
             ),
         'BRACKETS' => array(
             0 => 'color: green;'
@@ -164,8 +165,8 @@
             ),
         'REGEXPS' => array(
             ),
-        'SYMBOLS' => array( 
-            0 => 'color: #66cc66; font-weight: bold;'
+        'SYMBOLS' => array(
+            0 => 'color: #339933; font-weight: bold;'
             ),
         'SCRIPT' => array(
             )
@@ -176,11 +177,11 @@
         /* link to the wanted library */
         2 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/{FNAME}.html',
         /* link to Prelude functions */
-        3 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#v:{FNAME}', 
+        3 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#v:{FNAME}',
         /* link to Prelude types */
-        4 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:{FNAME}', 
+        4 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:{FNAME}',
         /* link to Prelude exceptions */
-        5 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:{FNAME}', 
+        5 => 'http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t:{FNAME}',
         ),
     'OOLANG' => false,
     'OBJECT_SPLITTERS' => array(
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/hq9plus.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,104 @@
+<?php
+/*************************************************************************************
+ * hq9plus.php
+ * ----------
+ * Author: Benny Baumann (BenBE@geshi.org)
+ * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.2
+ * Date Started: 2009/10/31
+ *
+ * HQ9+ language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/31 (1.0.8.1)
+ *   -  First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+$language_data = array (
+    'LANG_NAME' => 'HQ9+',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(),
+    'COMMENT_REGEXP' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        ),
+    'SYMBOLS' => array(
+        'H', 'Q', '9', '+', 'h', 'q'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            ),
+        'COMMENTS' => array(
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #a16000;'
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'KEYWORDS' => GESHI_NEVER,
+            'COMMENTS' => GESHI_NEVER,
+            'STRINGS' => GESHI_NEVER,
+            'REGEXPS' => GESHI_NEVER,
+            'NUMBERS' => GESHI_NEVER
+            )
+        )
+);
+
+?>
--- a/plugins/geshi/geshi/html.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/html.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * ---------------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/07/10
  *
  * HTML 4.01 strict language file for GeSHi.
@@ -50,206 +50,154 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'HTML',
-	'COMMENT_SINGLE' => array(),
-	'COMMENT_MULTI' => array('<!--' => '-->'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		1 => array(
-			),
-		2 => array(
-			'&lt;a&gt;', '&lt;abbr&gt;', '&lt;acronym&gt;', '&lt;address&gt;', '&lt;applet&gt;',
-			'&lt;a', '&lt;abbr', '&lt;acronym', '&lt;address', '&lt;applet',
-			'&lt;/a&gt;', '&lt;/abbr&gt;', '&lt;/acronym&gt;', '&lt;/address&gt;', '&lt;/applet&gt;',
-			'&lt;/a', '&lt;/abbr', '&lt;/acronym', '&lt;/address', '&lt;/applet',
-
-			'&lt;base&gt;', '&lt;basefont&gt;', '&lt;bdo&gt;', '&lt;big&gt;', '&lt;blockquote&gt;', '&lt;body&gt;', '&lt;br&gt;', '&lt;button&gt;', '&lt;b&gt;',
-			'&lt;base', '&lt;basefont', '&lt;bdo', '&lt;big', '&lt;blockquote', '&lt;body', '&lt;br', '&lt;button', '&lt;b',
-			'&lt;/base&gt;', '&lt;/basefont&gt;', '&lt;/bdo&gt;', '&lt;/big&gt;', '&lt;/blockquote&gt;', '&lt;/body&gt;', '&lt;/br&gt;', '&lt;/button&gt;', '&lt;/b&gt;',
-			'&lt;/base', '&lt;/basefont', '&lt;/bdo', '&lt;/big', '&lt;/blockquote', '&lt;/body', '&lt;/br', '&lt;/button', '&lt;/b',
-
-			'&lt;caption&gt;', '&lt;center&gt;', '&lt;cite&gt;', '&lt;code&gt;', '&lt;colgroup&gt;', '&lt;col&gt;',
-			'&lt;caption', '&lt;center', '&lt;cite', '&lt;code', '&lt;colgroup', '&lt;col',
-			'&lt;/caption&gt;', '&lt;/center&gt;', '&lt;/cite&gt;', '&lt;/code&gt;', '&lt;/colgroup&gt;', '&lt;/col&gt;',
-			'&lt;/caption', '&lt;/center', '&lt;/cite', '&lt;/code', '&lt;/colgroup', '&lt;/col',
+    'LANG_NAME' => 'HTML',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        2 => array(
+            'a', 'abbr', 'acronym', 'address', 'applet',
 
-			'&lt;dd&gt;', '&lt;del&gt;', '&lt;dfn&gt;', '&lt;dir&gt;', '&lt;div&gt;', '&lt;dl&gt;', '&lt;dt&gt;',
-			'&lt;dd', '&lt;del', '&lt;dfn', '&lt;dir', '&lt;div', '&lt;dl', '&lt;dt',
-			'&lt;/dd&gt;', '&lt;/del&gt;', '&lt;/dfn&gt;', '&lt;/dir&gt;', '&lt;/div&gt;', '&lt;/dl&gt;', '&lt;/dt&gt;',
-			'&lt;/dd', '&lt;/del', '&lt;/dfn', '&lt;/dir', '&lt;/div', '&lt;/dl', '&lt;/dt',
+            'base', 'basefont', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'b',
 
-			'&lt;em&gt;',
-			'&lt;em',
-			'&lt;/em&gt;',
-			'&lt;/em',
+            'caption', 'center', 'cite', 'code', 'colgroup', 'col',
+
+            'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt',
 
-			'&lt;fieldset&gt;', '&lt;font&gt;', '&lt;form&gt;', '&lt;frame&gt;', '&lt;frameset&gt;',
-			'&lt;fieldset', '&lt;font', '&lt;form', '&lt;frame', '&lt;frameset',
-			'&lt;/fieldset&gt;', '&lt;/font&gt;', '&lt;/form&gt;', '&lt;/frame&gt;', '&lt;/frameset&gt;',
-			'&lt;/fieldset', '&lt;/font', '&lt;/form', '&lt;/frame', '&lt;/frameset',
+            'em',
 
-			'&lt;h1&gt;', '&lt;h2&gt;', '&lt;h3&gt;', '&lt;h4&gt;', '&lt;h5&gt;', '&lt;h6&gt;', '&lt;head&gt;', '&lt;hr&gt;', '&lt;html&gt;',
-			'&lt;h1', '&lt;h2', '&lt;h3', '&lt;h4', '&lt;h5', '&lt;h6', '&lt;head', '&lt;hr', '&lt;html',
-			'&lt;/h1&gt;', '&lt;/h2&gt;', '&lt;/h3&gt;', '&lt;/h4&gt;', '&lt;/h5&gt;', '&lt;/h6&gt;', '&lt;/head&gt;', '&lt;/hr&gt;', '&lt;/html&gt;',
-			'&lt;/h1', '&lt;/h2', '&lt;/h3', '&lt;/h4', '&lt;/h5', '&lt;/h6', '&lt;/head', '&lt;/hr', '&lt;/html',
+            'fieldset', 'font', 'form', 'frame', 'frameset',
 
-			'&lt;iframe&gt;', '&lt;ilayer&gt;', '&lt;img&gt;', '&lt;input&gt;', '&lt;ins&gt;', '&lt;isindex&gt;', '&lt;i&gt;',
-			'&lt;iframe', '&lt;ilayer', '&lt;img', '&lt;input', '&lt;ins', '&lt;isindex', '&lt;i',
-			'&lt;/iframe&gt;', '&lt;/ilayer&gt;', '&lt;/img&gt;', '&lt;/input&gt;', '&lt;/ins&gt;', '&lt;/isindex&gt;', '&lt;/i&gt;',
-			'&lt;/iframe', '&lt;/ilayer', '&lt;/img', '&lt;/input', '&lt;/ins', '&lt;/isindex', '&lt;/i',
+            'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'hr', 'html',
 
-			'&lt;kbd&gt;',
-			'&lt;kbd',
-			'&t;/kbd&gt;',
-			'&lt;/kbd',
+            'iframe', 'ilayer', 'img', 'input', 'ins', 'isindex', 'i',
 
-			'&lt;label&gt;', '&lt;legend&gt;', '&lt;link&gt;', '&lt;li&gt;',
-			'&lt;label', '&lt;legend', '&lt;link', '&lt;li',
-			'&lt;/label&gt;', '&lt;/legend&gt;', '&lt;/link&gt;', '&lt;/li&gt;',
-			'&lt;/label', '&lt;/legend', '&lt;/link', '&lt;/li',
+            'kbd',
 
-			'&lt;map&gt;', '&lt;meta&gt;',
-			'&lt;map', '&lt;meta',
-			'&lt;/map&gt;', '&lt;/meta&gt;',
-			'&lt;/map', '&lt;/meta',
+            'label', 'legend', 'link', 'li',
 
-			'&lt;noframes&gt;', '&lt;noscript&gt;',
-			'&lt;noframes', '&lt;noscript',
-			'&lt;/noframes&gt;', '&lt;/noscript&gt;',
-			'&lt;/noframes', '&lt;/noscript',
+            'map', 'meta',
 
-			'&lt;object&gt;', '&lt;ol&gt;', '&lt;optgroup&gt;', '&lt;option&gt;',
-			'&lt;object', '&lt;ol', '&lt;optgroup', '&lt;option',
-			'&lt;/object&gt;', '&lt;/ol&gt;', '&lt;/optgroup&gt;', '&lt;/option&gt;',
-			'&lt;/object', '&lt;/ol', '&lt;/optgroup', '&lt;/option',
+            'noframes', 'noscript',
 
-			'&lt;param&gt;', '&lt;pre&gt;', '&lt;p&gt;',
-			'&lt;param', '&lt;pre', '&lt;p',
-			'&lt;/param&gt;', '&lt;/pre&gt;', '&lt;/p&gt;',
-			'&lt;/param', '&lt;/pre', '&lt;/p',
+            'object', 'ol', 'optgroup', 'option',
 
-			'&lt;q&gt;',
-			'&lt;q',
-			'&lt;/q&gt;',
-			'&lt;/q',
+            'param', 'pre', 'p',
+
+            'q',
 
-			'&lt;samp&gt;', '&lt;script&gt;', '&lt;select&gt;', '&lt;small&gt;', '&lt;span&gt;', '&lt;strike&gt;', '&lt;strong&gt;', '&lt;style&gt;', '&lt;sub&gt;', '&lt;sup&gt;', '&lt;s&gt;',
-			'&lt;samp', '&lt;script', '&lt;select', '&lt;small', '&lt;span', '&lt;strike', '&lt;strong', '&lt;style', '&lt;sub', '&lt;sup', '&lt;s',
-			'&lt;/samp&gt;', '&lt;/script&gt;', '&lt;/select&gt;', '&lt;/small&gt;', '&lt;/span&gt;', '&lt;/strike&gt;', '&lt;/strong&gt;', '&lt;/style&gt;', '&lt;/sub&gt;', '&lt;/sup&gt;', '&lt;/s&gt;',
-			'&lt;/samp', '&lt;/script', '&lt;/select', '&lt;/small', '&lt;/span', '&lt;/strike', '&lt;/strong', '&lt;/style', '&lt;/sub', '&lt;/sup', '&lt;/s',
+            'samp', 'script', 'select', 'small', 'span', 'strike', 'strong', 'style', 'sub', 'sup', 's',
 
-			'&lt;table&gt;', '&lt;tbody&gt;', '&lt;td&gt;', '&lt;textarea&gt;', '&lt;text&gt;', '&lt;tfoot&gt;', '&lt;thead&gt;', '&lt;th&gt;', '&lt;title&gt;', '&lt;tr&gt;', '&lt;tt&gt;',
-			'&lt;table', '&lt;tbody', '&lt;td', '&lt;textarea', '&lt;text', '&lt;tfoot', '&lt;tfoot', '&lt;thead', '&lt;th', '&lt;title', '&lt;tr', '&lt;tt',
-			'&lt;/table&gt;', '&lt;/tbody&gt;', '&lt;/td&gt;', '&lt;/textarea&gt;', '&lt;/text&gt;', '&lt;/tfoot&gt;', '&lt;/thead', '&lt;/tfoot', '&lt;/th&gt;', '&lt;/title&gt;', '&lt;/tr&gt;', '&lt;/tt&gt;',
-			'&lt;/table', '&lt;/tbody', '&lt;/td', '&lt;/textarea', '&lt;/text', '&lt;/tfoot', '&lt;/tfoot', '&lt;/thead', '&lt;/th', '&lt;/title', '&lt;/tr', '&lt;/tt',
+            'table', 'tbody', 'td', 'textarea', 'text', 'tfoot', 'thead', 'th', 'title', 'tr', 'tt',
 
-			'&lt;ul&gt;', '&lt;u&gt;',
-			'&lt;ul', '&lt;u',
-			'&lt;/ul&gt;', '&lt;/ul&gt;',
-			'&lt;/ul', '&lt;/u',
+            'ul', 'u',
 
-			'&lt;var&gt;',
-			'&lt;var',
-			'&lt;/var&gt;',
-			'&lt;/var',
-
-			'&gt;', '&lt;'
-			),
-		3 => array(
-			'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
-			'background', 'bgcolor', 'border',
-			'cellpadding', 'cellspacing', 'char', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
-			'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
-			'enctype',
-			'face', 'for', 'frame', 'frameborder',
-			'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
-			'id', 'ismap',
-			'label', 'lang', 'language', 'link', 'longdesc',
-			'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
-			'name', 'nohref', 'noresize', 'noshade', 'nowrap',
-			'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
-			'profile', 'prompt',
-			'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
-			'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
-			'tabindex', 'target', 'text', 'title', 'type',
-			'usemap',
-			'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
-			'width'
-			)
-		),
-	'SYMBOLS' => array(
-		'/', '='
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false,
-		2 => false,
-		3 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;',
-			2 => 'color: #000000; font-weight: bold;',
-			3 => 'color: #000066;'
-			),
-		'COMMENTS' => array(
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'SCRIPT' => array(
-			0 => 'color: #00bbdd;',
-			1 => 'color: #ddbb00;',
-			2 => 'color: #009900;'
-			),
-		'REGEXPS' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => 'http://december.com/html/4/element/{FNAME}.html',
-		3 => ''
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
-	'SCRIPT_DELIMITERS' => array(
-		0 => array(
-			'<!DOCTYPE' => '>'
-			),
-		1 => array(
-			'&' => ';'
-			),
-		2 => array(
-			'<' => '>'
-			)
-	),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		0 => false,
-		1 => false,
-		2 => true
+            'var',
+            ),
+        3 => array(
+            'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
+            'background', 'bgcolor', 'border',
+            'cellpadding', 'cellspacing', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
+            'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
+            'enctype',
+            'face', 'for', 'frame', 'frameborder',
+            'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
+            'id', 'ismap',
+            'label', 'lang', 'language', 'link', 'longdesc',
+            'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
+            'name', 'nohref', 'noresize', 'noshade', 'nowrap',
+            'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
+            'profile', 'prompt',
+            'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
+            'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
+            'tabindex', 'target', 'text', 'title', 'type',
+            'usemap',
+            'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
+            'width'
+            )
+        ),
+    'SYMBOLS' => array(
+        '/', '='
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        2 => false,
+        3 => false,
         ),
-    'TAB_WIDTH' => 4
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #000066;'
+            ),
+        'COMMENTS' => array(
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SCRIPT' => array(
+            -1 => 'color: #808080; font-style: italic;', // comments
+            0 => 'color: #00bbdd;',
+            1 => 'color: #ddbb00;',
+            2 => 'color: #009900;'
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        2 => 'http://december.com/html/4/element/{FNAMEL}.html',
+        3 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+    'SCRIPT_DELIMITERS' => array(
+        -1 => array(
+            '<!--' => '-->'
+            ),
+        0 => array(
+            '<!DOCTYPE' => '>'
+            ),
+        1 => array(
+            '&' => ';'
+            ),
+        2 => array(
+            '<' => '>'
+            )
+    ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        -1 => false,
+        0 => false,
+        1 => false,
+        2 => true
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            2 => array(
+                'DISALLOWED_BEFORE' => '(?<=&lt;|&lt;\/)',
+                'DISALLOWED_AFTER' => '(?=\s|\/|&gt;)',
+            )
+        )
+    )
 );
 
 ?>
--- a/plugins/geshi/geshi/idl.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/idl.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * -------
  * Author: Cedric Bosdonnat (cedricbosdo@openoffice.org)
  * Copyright: (c) 2006 Cedric Bosdonnat
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2006/08/20
  *
  * Unoidl language file for GeSHi.
@@ -34,86 +34,90 @@
 
 
 $language_data = array (
-	'LANG_NAME' => 'Uno Idl',
-	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'published', 'get', 'set', 'service', 'singleton', 'type', 'module', 'interface', 'struct',
-			'const', 'constants', 'exception', 'enum', 'raises', 'typedef'
-			),
-		2 => array(
+    'LANG_NAME' => 'Uno Idl',
+    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'published', 'get', 'set', 'service', 'singleton', 'type', 'module', 'interface', 'struct',
+            'const', 'constants', 'exception', 'enum', 'raises', 'typedef'
+            ),
+        2 => array(
             'bound', 'maybeambiguous', 'maybedefault', 'maybevoid', 'oneway', 'optional',
             'readonly', 'in', 'out', 'inout', 'attribute', 'transient', 'removable'
-          	),
-		3 => array(
-			'True', 'False', 'TRUE', 'FALSE'
+            ),
+        3 => array(
+            'True', 'False', 'TRUE', 'FALSE'
+            ),
+        4 => array(
+            'string', 'long', 'byte', 'hyper', 'boolean', 'any', 'char', 'double',
+            'void', 'sequence', 'unsigned'
             ),
-		4 => array(
-		    'string', 'long', 'byte', 'hyper', 'boolean', 'any', 'char', 'double', 'long', 
-            'void', 'sequence', 'unsigned', '...'
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':', ';', '...'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #990078; font-weight: bold',
+            2 => 'color: #36dd1c;',
+            3 => 'color: #990078; font-weight: bold',
+            4 => 'color: #0000ec;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #3f7f5f;',
+            2 => 'color: #808080;',
+            'MULTI' => 'color: #4080ff; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #666666; font-weight: bold;'
             ),
-		),
-	'SYMBOLS' => array(
-        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':', ';'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => true,
-		2 => true,
-		3 => true,
-		4 => true,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #990078; font-weight: bold',
-			2 => 'color: #36dd1c;',
-			3 => 'color: #990078; font-weight: bold',
-			4 => 'color: #0000ec;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #3f7f5f;',
-			2 => 'color: #808080;',
-			'MULTI' => 'color: #4080ff; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #666666; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #808080;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #0000dd;'
-			),
-		'METHODS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		1 => '::'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+        'BRACKETS' => array(
+            0 => 'color: #808080;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #0000dd;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        1 => '::'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/ini.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/ini.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * --------
  * Author: deguix (cevo_deguix@yahoo.com.br)
  * Copyright: (c) 2005 deguix
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2005/03/27
  *
  * INI language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *   -  Added description of extra language features (SF#1970248)
  * 2005/12/28 (1.0.1)
  *   -  Removed unnecessary keyword style index
  *   -  Added support for " strings
@@ -41,83 +43,86 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'INI',
-	'COMMENT_SINGLE' => array(0 => ';'),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"'),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		),
-	'SYMBOLS' => array(
-		'[', ']', '='
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			),
-		'COMMENTS' => array(
-			0 => 'color: #666666; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-		    0 => ''
-			),
-		'BRACKETS' => array(
-		    0 => ''
-			),
-		'STRINGS' => array(
-		    0 => 'color: #933;'
-			),
-		'NUMBERS' => array(
-		    0 => ''
-			),
-		'METHODS' => array(
-		    0 => ''
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #000066; font-weight:bold;'
-			),
-		'REGEXPS' => array(
-			0 => 'color: #000066; font-weight:bold;',
-			1 => 'color: #000099;',
-			2 => 'color: #660066;'
-			),
-		'SCRIPT' => array(
-		    0 => ''
-			)
-		),
-	'URLS' => array(
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		0 => '\[.+\]',
-		1 => array(
-			GESHI_SEARCH => '([a-zA-Z0-9_]+\s*)=(.+)',
-			GESHI_REPLACE => '\\1',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => '=\\2'
-			),
-		2 => array(
+    'LANG_NAME' => 'INI',
+    'COMMENT_SINGLE' => array(0 => ';'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        ),
+    'SYMBOLS' => array(
+        '[', ']', '='
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            ),
+        'COMMENTS' => array(
+            0 => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => ''
+            ),
+        'BRACKETS' => array(
+            0 => ''
+            ),
+        'STRINGS' => array(
+            0 => 'color: #933;'
+            ),
+        'NUMBERS' => array(
+            0 => ''
+            ),
+        'METHODS' => array(
+            0 => ''
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000066; font-weight:bold;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #000066; font-weight:bold;',
+            1 => 'color: #000099;',
+            2 => 'color: #660066;'
+            ),
+        'SCRIPT' => array(
+            0 => ''
+            )
+        ),
+    'URLS' => array(
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        //Section names
+        0 => '\[.+\]',
+        //Entry names
+        1 => array(
+            GESHI_SEARCH => '^(\s*)([a-zA-Z0-9_\-]+)(\s*=)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'm',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3'
+            ),
+        //Entry values
+        2 => array(
             // Evil hackery to get around GeSHi bug: <>" and ; are added so <span>s can be matched
             // Explicit match on variable names because if a comment is before the first < of the span
             // gets chewed up...
-			GESHI_SEARCH => '([<>";a-zA-Z0-9_]+\s*)=(.+)',
-			GESHI_REPLACE => '\\2',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '\\1=',
-			GESHI_AFTER => ''
-			)
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+            GESHI_SEARCH => '([<>";a-zA-Z0-9_]+\s*)=(.*)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1=',
+            GESHI_AFTER => ''
+            )
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/inno.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/inno.php	Fri May 29 19:30:59 2009 -0400
@@ -2,9 +2,9 @@
 /*************************************************************************************
  * Inno.php
  * ----------
- * Author: Thomas Klingler (hotline@theratech.de) based on delphi.php from Járja Norbert (jnorbi@vipmail.hu)
- * Copyright: (c) 2004 Járja Norbert, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Author: Thomas Klingler (hotline@theratech.de) based on delphi.php from J�rja Norbert (jnorbi@vipmail.hu)
+ * Copyright: (c) 2004 J�rja Norbert, Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.2
  * Date Started: 2005/07/29
  *
  * Inno Script language inkl. Delphi (Object Pascal) language file for GeSHi.
@@ -38,176 +38,175 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Inno',
-	'COMMENT_SINGLE' => array(1 => '//'),
-	'COMMENT_MULTI' => array('(*' => '*)'),
-	'CASE_KEYWORDS' => 0,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		1 => array('Setup','Types','Components','Tasks','Dirs','Files','Icons','INI','InstallDelete','Languages','Messages',
-					'CustomMessage','LangOptions','Registry','RUN','UninstallDelete','UninstallRun'
-					,'app','win','sys','syswow64','src','sd','pf','pf32','pf64','cf','cf32','cf64','tmp','fonts','dao',
-					'group','localappdata','sendto','userappdata','commonappdata','userdesktop','commondesktop','userdocs',
-					'commondocs','userfavorites','commonfavorites','userprograms','commonprograms','userstartmenu',
-					'commonstartmenu','userstartup','commonstartup','usertemplates','commontemplates'
-			),
-		2 => array(
-			'nil', 'false', 'true', 'var', 'type', 'const','And', 'Array', 'As', 'Begin', 'Case', 'Class', 'Constructor', 'Destructor', 'Div', 'Do', 'DownTo', 'Else',
-			'End', 'Except', 'File', 'Finally', 'For', 'Function', 'Goto', 'If', 'Implementation', 'In', 'Inherited', 'Interface',
-			'Is', 'Mod', 'Not', 'Object', 'Of', 'On', 'Or', 'Packed', 'Procedure', 'Property', 'Raise', 'Record',
-			'Repeat', 'Set', 'Shl', 'Shr', 'Then', 'ThreadVar', 'To', 'Try', 'Unit', 'Until', 'Uses', 'While', 'With', 'Xor',
-			
-			'HKCC','HKCR','HKCU','HKLM','HKU','alwaysoverwrite','alwaysskipifsameorolder','append',
-			'binary','classic','closeonexit','comparetimestamp','confirmoverwrite',
-			'createkeyifdoesntexist','createonlyiffileexists','createvalueifdoesntexist',
-			'deleteafterinstall','deletekey','deletevalue','dirifempty','dontcloseonexit',
-			'dontcopy','dontcreatekey','disablenouninstallwarning','dword','exclusive','expandsz',
-			'external','files','filesandordirs','fixed','fontisnttruetype','ignoreversion','iscustom','isreadme',
-			'modern','multisz','new','noerror','none','normal','nowait','onlyifdestfileexists',
-			'onlyifdoesntexist','onlyifnewer','overwrite','overwritereadonly','postinstall',
-			'preservestringtype','promptifolder','regserver','regtypelib','restart','restartreplace',
-			'runhidden','runmaximized','runminimized','sharedfile','shellexec','showcheckbox',
-			'skipifnotsilent','skipifsilent','silent','skipifdoesntexist',
-			'skipifsourcedoesntexist','sortfilesbyextension','unchecked','uninsalwaysuninstall',
-			'uninsclearvalue','uninsdeleteentry','uninsdeletekey','uninsdeletekeyifempty',
-			'uninsdeletesection','uninsdeletesectionifempty','uninsdeletevalue',
-			'uninsneveruninstall','useapppaths','verysilent','waituntilidle'
+    'LANG_NAME' => 'Inno',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('(*' => '*)'),
+    'CASE_KEYWORDS' => 0,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'Setup','Types','Components','Tasks','Dirs','Files','Icons','INI',
+            'InstallDelete','Languages','Messages','CustomMessage',
+            'LangOptions','Registry','RUN','UninstallDelete','UninstallRun',
+            'app','win','sys','syswow64','src','sd','pf','pf32','pf64','cf',
+            'cf32','cf64','tmp','fonts','dao','group','localappdata','sendto',
+            'userappdata','commonappdata','userdesktop','commondesktop',
+            'userdocs','commondocs','userfavorites','commonfavorites',
+            'userprograms','commonprograms','userstartmenu','commonstartmenu',
+            'userstartup','commonstartup','usertemplates','commontemplates'
+            ),
+        2 => array(
+            'nil', 'false', 'true', 'var', 'type', 'const','And', 'Array', 'As', 'Begin', 'Case', 'Class', 'Constructor', 'Destructor', 'Div', 'Do', 'DownTo', 'Else',
+            'End', 'Except', 'File', 'Finally', 'For', 'Function', 'Goto', 'If', 'Implementation', 'In', 'Inherited', 'Interface',
+            'Is', 'Mod', 'Not', 'Object', 'Of', 'On', 'Or', 'Packed', 'Procedure', 'Property', 'Raise', 'Record',
+            'Repeat', 'Set', 'Shl', 'Shr', 'Then', 'ThreadVar', 'To', 'Try', 'Unit', 'Until', 'Uses', 'While', 'With', 'Xor',
+
+            'HKCC','HKCR','HKCU','HKLM','HKU','alwaysoverwrite','alwaysskipifsameorolder','append',
+            'binary','classic','closeonexit','comparetimestamp','confirmoverwrite',
+            'createkeyifdoesntexist','createonlyiffileexists','createvalueifdoesntexist',
+            'deleteafterinstall','deletekey','deletevalue','dirifempty','dontcloseonexit',
+            'dontcopy','dontcreatekey','disablenouninstallwarning','dword','exclusive','expandsz',
+            'external','files','filesandordirs','fixed','fontisnttruetype','ignoreversion','iscustom','isreadme',
+            'modern','multisz','new','noerror','none','normal','nowait','onlyifdestfileexists',
+            'onlyifdoesntexist','onlyifnewer','overwrite','overwritereadonly','postinstall',
+            'preservestringtype','promptifolder','regserver','regtypelib','restart','restartreplace',
+            'runhidden','runmaximized','runminimized','sharedfile','shellexec','showcheckbox',
+            'skipifnotsilent','skipifsilent','silent','skipifdoesntexist',
+            'skipifsourcedoesntexist','sortfilesbyextension','unchecked','uninsalwaysuninstall',
+            'uninsclearvalue','uninsdeleteentry','uninsdeletekey','uninsdeletekeyifempty',
+            'uninsdeletesection','uninsdeletesectionifempty','uninsdeletevalue',
+            'uninsneveruninstall','useapppaths','verysilent','waituntilidle'
+            ),
+        3 => array(
+            'Abs', 'Addr', 'AnsiCompareStr', 'AnsiCompareText', 'AnsiContainsStr', 'AnsiEndsStr', 'AnsiIndexStr', 'AnsiLeftStr',
+            'AnsiLowerCase', 'AnsiMatchStr', 'AnsiMidStr', 'AnsiPos', 'AnsiReplaceStr', 'AnsiReverseString', 'AnsiRightStr',
+            'AnsiStartsStr', 'AnsiUpperCase', 'ArcCos', 'ArcSin', 'ArcTan', 'Assigned', 'BeginThread', 'Bounds', 'CelsiusToFahrenheit',
+            'ChangeFileExt', 'Chr', 'CompareStr', 'CompareText', 'Concat', 'Convert', 'Copy', 'Cos', 'CreateDir', 'CurrToStr',
+            'CurrToStrF', 'Date', 'DateTimeToFileDate', 'DateTimeToStr', 'DateToStr', 'DayOfTheMonth', 'DayOfTheWeek', 'DayOfTheYear',
+            'DayOfWeek', 'DaysBetween', 'DaysInAMonth', 'DaysInAYear', 'DaySpan', 'DegToRad', 'DeleteFile', 'DiskFree', 'DiskSize',
+            'DupeString', 'EncodeDate', 'EncodeDateTime', 'EncodeTime', 'EndOfADay', 'EndOfAMonth', 'Eof', 'Eoln', 'Exp', 'ExtractFileDir',
+            'ExtractFileDrive', 'ExtractFileExt', 'ExtractFileName', 'ExtractFilePath', 'FahrenheitToCelsius', 'FileAge',
+            'FileDateToDateTime', 'FileExists', 'FilePos', 'FileSearch', 'FileSetDate', 'FileSize', 'FindClose', 'FindCmdLineSwitch',
+            'FindFirst', 'FindNext', 'FloatToStr', 'FloatToStrF', 'Format', 'FormatCurr', 'FormatDateTime', 'FormatFloat', 'Frac',
+            'GetCurrentDir', 'GetLastError', 'GetMem', 'High', 'IncDay', 'IncMinute', 'IncMonth', 'IncYear', 'InputBox',
+            'InputQuery', 'Int', 'IntToHex', 'IntToStr', 'IOResult', 'IsInfinite', 'IsLeapYear', 'IsMultiThread', 'IsNaN',
+            'LastDelimiter', 'Length', 'Ln', 'Lo', 'Log10', 'Low', 'LowerCase', 'Max', 'Mean', 'MessageDlg', 'MessageDlgPos',
+            'MonthOfTheYear', 'Now', 'Odd', 'Ord', 'ParamCount', 'ParamStr', 'Pi', 'Point', 'PointsEqual', 'Pos', 'Pred',
+            'Printer', 'PromptForFileName', 'PtInRect', 'RadToDeg', 'Random', 'RandomRange', 'RecodeDate', 'RecodeTime', 'Rect',
+            'RemoveDir', 'RenameFile', 'Round', 'SeekEof', 'SeekEoln', 'SelectDirectory', 'SetCurrentDir', 'Sin', 'SizeOf',
+            'Slice', 'Sqr', 'Sqrt', 'StringOfChar', 'StringReplace', 'StringToWideChar', 'StrToCurr', 'StrToDate', 'StrToDateTime',
+            'StrToFloat', 'StrToInt', 'StrToInt64', 'StrToInt64Def', 'StrToIntDef', 'StrToTime', 'StuffString', 'Succ', 'Sum', 'Tan',
+            'Time', 'TimeToStr', 'Tomorrow', 'Trunc', 'UpCase', 'UpperCase', 'VarType', 'WideCharToString', 'WrapText', 'Yesterday',
+            'Append', 'AppendStr', 'Assign', 'AssignFile', 'AssignPrn', 'Beep', 'BlockRead', 'BlockWrite', 'Break',
+            'ChDir', 'Close', 'CloseFile', 'Continue', 'DateTimeToString', 'Dec', 'DecodeDate', 'DecodeDateTime',
+            'DecodeTime', 'Delete', 'Dispose', 'EndThread', 'Erase', 'Exclude', 'Exit', 'FillChar', 'Flush', 'FreeAndNil',
+            'FreeMem', 'GetDir', 'GetLocaleFormatSettings', 'Halt', 'Inc', 'Include', 'Insert', 'MkDir', 'Move', 'New',
+            'ProcessPath', 'Randomize', 'Read', 'ReadLn', 'ReallocMem', 'Rename', 'ReplaceDate', 'ReplaceTime',
+            'Reset', 'ReWrite', 'RmDir', 'RunError', 'Seek', 'SetLength', 'SetString', 'ShowMessage', 'ShowMessageFmt',
+            'ShowMessagePos', 'Str', 'Truncate', 'Val', 'Write', 'WriteLn',
 
-			
-			),
-		3 => array(
-			'Abs', 'Addr', 'AnsiCompareStr', 'AnsiCompareText', 'AnsiContainsStr', 'AnsiEndsStr', 'AnsiIndexStr', 'AnsiLeftStr',
-			'AnsiLowerCase', 'AnsiMatchStr', 'AnsiMidStr', 'AnsiPos', 'AnsiReplaceStr', 'AnsiReverseString', 'AnsiRightStr',
-			'AnsiStartsStr', 'AnsiUpperCase', 'ArcCos', 'ArcSin', 'ArcTan', 'Assigned', 'BeginThread', 'Bounds', 'CelsiusToFahrenheit',
-			'ChangeFileExt', 'Chr', 'CompareStr', 'CompareText', 'Concat', 'Convert', 'Copy', 'Cos', 'CreateDir', 'CurrToStr',
-			'CurrToStrF', 'Date', 'DateTimeToFileDate', 'DateTimeToStr', 'DateToStr', 'DayOfTheMonth', 'DayOfTheWeek', 'DayOfTheYear',
-			'DayOfWeek', 'DaysBetween', 'DaysInAMonth', 'DaysInAYear', 'DaySpan', 'DegToRad', 'DeleteFile', 'DiskFree', 'DiskSize',
-			'DupeString', 'EncodeDate', 'EncodeDateTime', 'EncodeTime', 'EndOfADay', 'EndOfAMonth', 'Eof', 'Eoln', 'Exp', 'ExtractFileDir',
-			'ExtractFileDrive', 'ExtractFileExt', 'ExtractFileName', 'ExtractFilePath', 'FahrenheitToCelsius', 'FileAge',
-			'FileDateToDateTime', 'FileExists', 'FilePos', 'FileSearch', 'FileSetDate', 'FileSize', 'FindClose', 'FindCmdLineSwitch',
-			'FindFirst', 'FindNext', 'FloatToStr', 'FloatToStrF', 'Format', 'FormatCurr', 'FormatDateTime', 'FormatFloat', 'Frac',
-			'GetCurrentDir', 'GetLastError', 'GetMem', 'High', 'IncDay', 'IncMinute', 'IncMonth', 'IncYear', 'InputBox',
-			'InputQuery', 'Int', 'IntToHex', 'IntToStr', 'IOResult', 'IsInfinite', 'IsLeapYear', 'IsMultiThread', 'IsNaN',
-			'LastDelimiter', 'Length', 'Ln', 'Lo', 'Log10', 'Low', 'LowerCase', 'Max', 'Mean', 'MessageDlg', 'MessageDlgPos',
-			'MonthOfTheYear', 'Now', 'Odd', 'Ord', 'ParamCount', 'ParamStr', 'Pi', 'Point', 'PointsEqual', 'Pos', 'Pred',
-			'Printer', 'PromptForFileName', 'PtInRect', 'RadToDeg', 'Random', 'RandomRange', 'RecodeDate', 'RecodeTime', 'Rect',
-			'RemoveDir', 'RenameFile', 'Round', 'SeekEof', 'SeekEoln', 'SelectDirectory', 'SetCurrentDir', 'Sin', 'SizeOf',
-			'Slice', 'Sqr', 'Sqrt', 'StringOfChar', 'StringReplace', 'StringToWideChar', 'StrToCurr', 'StrToDate', 'StrToDateTime',
-			'StrToFloat', 'StrToInt', 'StrToInt64', 'StrToInt64Def', 'StrToIntDef', 'StrToTime', 'StuffString', 'Succ', 'Sum', 'Tan',
-			'Time', 'TimeToStr', 'Tomorrow', 'Trunc', 'UpCase', 'UpperCase', 'VarType', 'WideCharToString', 'WrapText', 'Yesterday',
-			'Append', 'AppendStr', 'Assign', 'AssignFile', 'AssignPrn', 'Beep', 'BlockRead', 'BlockWrite', 'Break',
-			'ChDir', 'Close', 'CloseFile', 'Continue', 'DateTimeToString', 'Dec', 'DecodeDate', 'DecodeDateTime',
-			'DecodeTime', 'Delete', 'Dispose', 'EndThread', 'Erase', 'Exclude', 'Exit', 'FillChar', 'Flush', 'FreeAndNil',
-			'FreeMem', 'GetDir', 'GetLocaleFormatSettings', 'Halt', 'Inc', 'Include', 'Insert', 'MkDir', 'Move', 'New',
-			'ProcessPath', 'Randomize', 'Read', 'ReadLn', 'ReallocMem', 'Rename', 'ReplaceDate', 'ReplaceTime',
-			'Reset', 'ReWrite', 'RmDir', 'RunError', 'Seek', 'SetLength', 'SetString', 'ShowMessage', 'ShowMessageFmt',
-			'ShowMessagePos', 'Str', 'Truncate', 'Val', 'Write', 'WriteLn',
-			
-			'AdminPrivilegesRequired','AfterInstall','AllowCancelDuringInstall','AllowNoIcons','AllowRootDirectory','AllowUNCPath','AlwaysRestart','AlwaysShowComponentsList','AlwaysShowDirOnReadyPage','AlwaysShowGroupOnReadyPage ','AlwaysUsePersonalGroup','AppComments','AppContact','AppCopyright','AppendDefaultDirName',
-			'AppendDefaultGroupName','AppId','AppModifyPath','AppMutex','AppName','AppPublisher',
-			'AppPublisherURL','AppReadmeFile','AppSupportURL','AppUpdatesURL','AppVerName','AppVersion',
-			'Attribs','BackColor','BackColor2','BackColorDirection','BackSolid','BeforeInstall',
-			'ChangesAssociations','ChangesEnvironment','Check','CodeFile','Comment','Components','Compression','CopyMode',
-			'CreateAppDir','CreateUninstallRegKey','DefaultDirName','DefaultGroupName',
-			'DefaultUserInfoName','DefaultUserInfoOrg','DefaultUserInfoSerial',
-			'Description','DestDir','DestName','DirExistsWarning',
-			'DisableDirPage','DisableFinishedPage',
-			'DisableProgramGroupPage','DisableReadyMemo','DisableReadyPage',
-			'DisableStartupPrompt','DiskClusterSize','DiskSliceSize','DiskSpaceMBLabel',
-			'DiskSpanning','DontMergeDuplicateFiles','EnableDirDoesntExistWarning','Encryption',
-			'Excludes','ExtraDiskSpaceRequired','Filename','Flags','FlatComponentsList','FontInstall',
-			'GroupDescription','HotKey','IconFilename','IconIndex','InfoAfterFile','InfoBeforeFile',
-			'InternalCompressLevel','Key','LanguageDetectionMethod','Languages',
-			'LicenseFile','MergeDuplicateFiles','MessagesFile','MinVersion','Name',
-			'OnlyBelowVersion','OutputBaseFilename','OutputManifestFile','OutputDir',
-			'Parameters','Password','Permissions','PrivilegesRequired','ReserveBytes',
-			'RestartIfNeededByRun','Root','RunOnceId','Section','SetupIconFile',
-			'ShowComponentSizes','ShowLanguageDialog','ShowTasksTreeLines','SlicesPerDisk',
-			'SolidCompression','Source','SourceDir','StatusMsg','Subkey','Tasks',
-			'TimeStampRounding','TimeStampsInUTC','TouchDate','TouchTime','Type','Types',
-			'UninstallDisplayIcon','UninstallDisplayName','UninstallFilesDir','UninstallIconFile',
-			'UninstallLogMode','UninstallRestartComputer','UninstallStyle','Uninstallable',
-			'UpdateUninstallLogAppName','UsePreviousAppDir','UsePreviousGroup',
-			'UsePreviousTasks','UsePreviousSetupType','UsePreviousUserInfo',
-			'UserInfoPage','UseSetupLdr','ValueData','ValueName','ValueType',
-			'VersionInfoVersion','VersionInfoCompany','VersionInfoDescription','VersionInfoTextVersion',
-			'WindowResizable','WindowShowCaption','WindowStartMaximized',
-			'WindowVisible','WizardImageBackColor','WizardImageFile','WizardImageStretch','WizardSmallImageBackColor','WizardSmallImageFile','WizardStyle','WorkingDir'
-
-			
-			),
-		4 => array(
-			'AnsiChar', 'AnsiString', 'Boolean', 'Byte', 'Cardinal', 'Char', 'Comp', 'Currency', 'Double', 'Extended',
-			'Int64', 'Integer', 'LongInt', 'LongWord', 'PAnsiChar', 'PAnsiString', 'PChar', 'PCurrency', 'PDateTime',
-			'PExtended', 'PInt64', 'Pointer', 'PShortString', 'PString', 'PVariant', 'PWideChar', 'PWideString',
-			'Real', 'Real48', 'ShortInt', 'ShortString', 'Single', 'SmallInt', 'String', 'TBits', 'TConvType', 'TDateTime',
-			'Text', 'TextFile', 'TFloatFormat', 'TFormatSettings', 'TList', 'TObject', 'TOpenDialog', 'TPoint',
-			'TPrintDialog', 'TRect', 'TReplaceFlags', 'TSaveDialog', 'TSearchRec', 'TStringList', 'TSysCharSet',
-			'TThreadFunc', 'Variant', 'WideChar', 'WideString', 'Word'
-			),
-		),
-	'SYMBOLS' => array(
-		'(', ')', '[', ']', '{', '}', '@', '%', '&', '*', '|', '/', '<', '>'
-		),	
-		
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #000000; font-weight: bold;',/*bold Black*/
-			2 => 'color: #000000;font-style: italic;',/*Black*/
-			3 => 'color: #0000FF;',/*blue*/
-			4 => 'color: #CC0000;'/*red*/
-			),
-		'COMMENTS' => array(
-			1 => 'color: #33FF00; font-style: italic;',
-			'MULTI' => 'color: #33FF00; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #006600;'
-			),
-		'REGEXPS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color:  #000000; font-weight: bold;',
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => '',
-		4 => ''
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+            'AdminPrivilegesRequired','AfterInstall','AllowCancelDuringInstall','AllowNoIcons','AllowRootDirectory','AllowUNCPath','AlwaysRestart','AlwaysShowComponentsList','AlwaysShowDirOnReadyPage','AlwaysShowGroupOnReadyPage ','AlwaysUsePersonalGroup','AppComments','AppContact','AppCopyright','AppendDefaultDirName',
+            'AppendDefaultGroupName','AppId','AppModifyPath','AppMutex','AppName','AppPublisher',
+            'AppPublisherURL','AppReadmeFile','AppSupportURL','AppUpdatesURL','AppVerName','AppVersion',
+            'Attribs','BackColor','BackColor2','BackColorDirection','BackSolid','BeforeInstall',
+            'ChangesAssociations','ChangesEnvironment','Check','CodeFile','Comment','Compression','CopyMode',
+            'CreateAppDir','CreateUninstallRegKey','DefaultDirName','DefaultGroupName',
+            'DefaultUserInfoName','DefaultUserInfoOrg','DefaultUserInfoSerial',
+            'Description','DestDir','DestName','DirExistsWarning',
+            'DisableDirPage','DisableFinishedPage',
+            'DisableProgramGroupPage','DisableReadyMemo','DisableReadyPage',
+            'DisableStartupPrompt','DiskClusterSize','DiskSliceSize','DiskSpaceMBLabel',
+            'DiskSpanning','DontMergeDuplicateFiles','EnableDirDoesntExistWarning','Encryption',
+            'Excludes','ExtraDiskSpaceRequired','Filename','Flags','FlatComponentsList','FontInstall',
+            'GroupDescription','HotKey','IconFilename','IconIndex','InfoAfterFile','InfoBeforeFile',
+            'InternalCompressLevel','Key','LanguageDetectionMethod',
+            'LicenseFile','MergeDuplicateFiles','MessagesFile','MinVersion','Name',
+            'OnlyBelowVersion','OutputBaseFilename','OutputManifestFile','OutputDir',
+            'Parameters','Password','Permissions','PrivilegesRequired','ReserveBytes',
+            'RestartIfNeededByRun','Root','RunOnceId','Section','SetupIconFile',
+            'ShowComponentSizes','ShowLanguageDialog','ShowTasksTreeLines','SlicesPerDisk',
+            'SolidCompression','Source','SourceDir','StatusMsg','Subkey',
+            'TimeStampRounding','TimeStampsInUTC','TouchDate','TouchTime','Type',
+            'UninstallDisplayIcon','UninstallDisplayName','UninstallFilesDir','UninstallIconFile',
+            'UninstallLogMode','UninstallRestartComputer','UninstallStyle','Uninstallable',
+            'UpdateUninstallLogAppName','UsePreviousAppDir','UsePreviousGroup',
+            'UsePreviousTasks','UsePreviousSetupType','UsePreviousUserInfo',
+            'UserInfoPage','UseSetupLdr','ValueData','ValueName','ValueType',
+            'VersionInfoVersion','VersionInfoCompany','VersionInfoDescription','VersionInfoTextVersion',
+            'WindowResizable','WindowShowCaption','WindowStartMaximized',
+            'WindowVisible','WizardImageBackColor','WizardImageFile','WizardImageStretch','WizardSmallImageBackColor','WizardSmallImageFile','WizardStyle','WorkingDir'
+            ),
+        4 => array(
+            'AnsiChar', 'AnsiString', 'Boolean', 'Byte', 'Cardinal', 'Char', 'Comp', 'Currency', 'Double', 'Extended',
+            'Int64', 'Integer', 'LongInt', 'LongWord', 'PAnsiChar', 'PAnsiString', 'PChar', 'PCurrency', 'PDateTime',
+            'PExtended', 'PInt64', 'Pointer', 'PShortString', 'PString', 'PVariant', 'PWideChar', 'PWideString',
+            'Real', 'Real48', 'ShortInt', 'ShortString', 'Single', 'SmallInt', 'String', 'TBits', 'TConvType', 'TDateTime',
+            'Text', 'TextFile', 'TFloatFormat', 'TFormatSettings', 'TList', 'TObject', 'TOpenDialog', 'TPoint',
+            'TPrintDialog', 'TRect', 'TReplaceFlags', 'TSaveDialog', 'TSearchRec', 'TStringList', 'TSysCharSet',
+            'TThreadFunc', 'Variant', 'WideChar', 'WideString', 'Word'
+            ),
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}', '@', '%', '&', '*', '|', '/', '<', '>'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000; font-weight: bold;',/*bold Black*/
+            2 => 'color: #000000;font-style: italic;',/*Black*/
+            3 => 'color: #0000FF;',/*blue*/
+            4 => 'color: #CC0000;'/*red*/
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #33FF00; font-style: italic;',
+            'MULTI' => 'color: #33FF00; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color:  #000000; font-weight: bold;',
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/intercal.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,122 @@
+<?php
+/*************************************************************************************
+ * intercal.php
+ * ----------
+ * Author: Benny Baumann (BenBE@geshi.org)
+ * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.2
+ * Date Started: 2009/10/31
+ *
+ * INTERCAL language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/31 (1.0.8.1)
+ *   -  First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+$language_data = array (
+    'LANG_NAME' => 'INTERCAL',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(),
+    'COMMENT_REGEXP' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        //Politeness
+        1 => array(
+            'DO', 'DONT', 'NOT', 'PLEASE', 'PLEASENT', 'MAYBE'
+            ),
+        //Statements
+        2 => array(
+            'STASH', 'RETRIEVE', 'NEXT', 'RESUME', 'FORGET', 'ABSTAIN',
+            'COME', 'FROM', 'CALCULATING', 'REINSTATE', 'IGNORE', 'REMEMBER',
+            'WRITE', 'IN', 'READ', 'OUT', 'GIVE', 'UP'
+            )
+        ),
+    'SYMBOLS' => array(
+        '.', ',', ':', ';', '#',
+        '~', '$', '&', '?',
+        '\'', '"', '<-'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000080;',
+            2 => 'color: #000080; font-width: bold;'
+            ),
+        'COMMENTS' => array(
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            1 => 'color: #808080; font-style: italic;'
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        1 => '^\(\d+\)'
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'COMMENTS' => GESHI_NEVER,
+            'STRINGS' => GESHI_NEVER,
+            'NUMBERS' => GESHI_NEVER
+            )
+        )
+);
+
+?>
--- a/plugins/geshi/geshi/io.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/io.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * -------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2006 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2006/09/23
  *
  * Io language file for GeSHi. Thanks to Johnathan Wright for the suggestion and help
@@ -39,17 +39,17 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Io',
-	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
+    'LANG_NAME' => 'Io',
+    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
         1 => array(
             'and', 'break', 'else', 'elseif', 'exit', 'for', 'foreach', 'if', 'ifFalse', 'ifNil',
             'ifTrue', 'or', 'pass', 'raise', 'return', 'then', 'try', 'wait', 'while', 'yield'
-			),
+            ),
         2 => array(
             'activate', 'activeCoroCount', 'asString', 'block', 'catch', 'clone', 'collectGarbage',
             'compileString', 'continue', 'do', 'doFile', 'doMessage', 'doString', 'forward',
@@ -59,7 +59,7 @@
             'sender', 'setSchedulerSleepSeconds', 'setSlot', 'shallowCopy', 'slotNames', 'super',
             'system', 'thisBlock', 'thisContext', 'thisMessage', 'type', 'uniqueId', 'updateSlot',
             'write'
-			),
+            ),
         3 => array(
             'Array', 'AudioDevice', 'AudioMixer', 'Block', 'Box', 'Buffer', 'CFunction', 'CGI',
             'Color', 'Curses', 'DBM', 'DNSResolver', 'DOConnection', 'DOProxy', 'DOServer',
@@ -72,68 +72,67 @@
             'Socket', 'SocketManager', 'Sound', 'Soup', 'Store', 'String', 'Tree', 'UDPSender',
             'UDPReceiver', 'URL', 'User', 'Warning', 'WeakLink'
             )
-		),
-	'SYMBOLS' => array(
-		'(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false,
-		2 => false,
-		3 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;',
-			2 => 'color: #000000; font-weight: bold;',
-			3 => 'color: #000066;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			2 => 'color: #808080; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #006600;',
-			2 => 'color: #006600;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			0 => 'color: #0000ff;'
-			),
-		'SCRIPT' => array(
-			0 => ''
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => ''
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #000066;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            2 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;',
+            2 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            0 => ''
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/java.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/java.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * --------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/07/10
  *
  * Java language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/25 (1.0.7.22)
+ *   -  Added highlighting of import and package directives as non-OOP
  * 2005/12/28 (1.0.4)
  *   -  Added instanceof keyword
  * 2004/11/27 (1.0.3)
@@ -50,1339 +52,932 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Java',
-	'COMMENT_SINGLE' => array(1 => '//', 2 => 'import'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'for', 'foreach', 'if', 'else', 'while', 'do',
-			'switch', 'case'
-			),
-		2 => array(
-			'null', 'return', 'false', 'final', 'true', 'public',
-			'private', 'protected', 'extends', 'break', 'class',
-			'new', 'try', 'catch', 'throws', 'finally', 'implements',
-			'interface', 'throw', 'native', 'synchronized', 'this',
+    'LANG_NAME' => 'Java',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'COMMENT_REGEXP' => array(
+        //Import and Package directives (Basic Support only)
+        2 => '/(?:(?<=import[\\n\\s])|(?<=package[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*([a-zA-Z0-9_]+|\*)(?=[\n\s;])/i',
+        // javadoc comments
+        3 => '#/\*\*(?![\*\/]).*\*/#sU'
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'for', 'foreach', 'if', 'else', 'while', 'do',
+            'switch', 'case',  'return', 'public',
+            'private', 'protected', 'extends', 'break', 'class',
+            'new', 'try', 'catch', 'throws', 'finally', 'implements',
+            'interface', 'throw', 'final', 'native', 'synchronized', 'this',
             'abstract', 'transient', 'instanceof', 'assert', 'continue',
             'default', 'enum', 'package', 'static', 'strictfp', 'super',
-            'volatile', 'const', 'goto'
-			),
-		3 => array(
-			'AbstractAction', 'AbstractBorder', 'AbstractButton', 'AbstractCellEditor',
-			'AbstractCollection', 'AbstractColorChooserPanel', 'AbstractDocument',
-			'AbstractDocument.AttributeContext', 'AbstractDocument.Content',
-			'AbstractDocument.ElementEdit', 'AbstractLayoutCache',
-			'AbstractLayoutCache.NodeDimensions', 'AbstractList', 'AbstractListModel',
-			'AbstractMap', 'AbstractMethodError', 'AbstractSequentialList',
-			'AbstractSet', 'AbstractTableModel', 'AbstractUndoableEdit', 'AbstractWriter',
-			'AccessControlContext', 'AccessControlException', 'AccessController',
-			'AccessException', 'Accessible', 'AccessibleAction', 'AccessibleBundle',
-			'AccessibleComponent', 'AccessibleContext', 'AccessibleHyperlink',
-			'AccessibleHypertext', 'AccessibleIcon', 'AccessibleObject',
-			'AccessibleRelation', 'AccessibleRelationSet', 'AccessibleResourceBundle',
-			'AccessibleRole', 'AccessibleSelection', 'AccessibleState',
-			'AccessibleStateSet', 'AccessibleTable', 'AccessibleTableModelChange',
-			'AccessibleText', 'AccessibleValue', 'Acl', 'AclEntry', 'AclNotFoundException',
-			'Action', 'ActionEvent', 'ActionListener', 'ActionMap', 'ActionMapUIResource',
-			'Activatable', 'ActivateFailedException', 'ActivationDesc',
-			'ActivationException', 'ActivationGroup', 'ActivationGroupDesc',
-			'ActivationGroupDesc.CommandEnvironment', 'ActivationGroupID', 'ActivationID',
-			'ActivationInstantiator', 'ActivationMonitor', 'ActivationSystem',
-			'Activator', 'ActiveEvent', 'Adjustable', 'AdjustmentEvent', 'AdjustmentListener',
-			'Adler32', 'AffineTransform', 'AffineTransformOp', 'AlgorithmParameterGenerator',
-			'AlgorithmParameterGeneratorSpi', 'AlgorithmParameters', 'AlgorithmParameterSpec',
-			'AlgorithmParametersSpi', 'AllPermission', 'AlphaComposite', 'AlreadyBound',
-			'AlreadyBoundException', 'AlreadyBoundHelper', 'AlreadyBoundHolder',
-			'AncestorEvent', 'AncestorListener', 'Annotation', 'Any', 'AnyHolder',
-			'AnySeqHelper', 'AnySeqHolder', 'Applet', 'AppletContext', 'AppletInitializer',
-			'AppletStub', 'ApplicationException', 'Arc2D', 'Arc2D.Double', 'Arc2D.Float',
-			'Area', 'AreaAveragingScaleFilter', 'ARG_IN', 'ARG_INOUT', 'ARG_OUT',
-			'ArithmeticException', 'Array', 'ArrayIndexOutOfBoundsException',
-			'ArrayList', 'Arrays', 'ArrayStoreException', 'AsyncBoxView',
-			'Attribute', 'AttributedCharacterIterator', 'AttributedCharacterIterator.Attribute',
-			'AttributedString', 'AttributeInUseException', 'AttributeList',
-			'AttributeModificationException', 'Attributes', 'Attributes.Name',
-			'AttributeSet', 'AttributeSet.CharacterAttribute', 'AttributeSet.ColorAttribute',
-			'AttributeSet.FontAttribute', 'AttributeSet.ParagraphAttribute',
-			'AudioClip', 'AudioFileFormat', 'AudioFileFormat.Type', 'AudioFileReader',
-			'AudioFileWriter', 'AudioFormat', 'AudioFormat.Encoding', 'AudioInputStream',
-			'AudioPermission', 'AudioSystem', 'AuthenticationException',
-			'AuthenticationNotSupportedException', 'Authenticator', 'Autoscroll',
-			'AWTError', 'AWTEvent', 'AWTEventListener', 'AWTEventMulticaster',
-			'AWTException', 'AWTPermission', 'BAD_CONTEXT', 'BAD_INV_ORDER', 'BAD_OPERATION',
-			'BAD_PARAM', 'BAD_POLICY', 'BAD_POLICY_TYPE', 'BAD_POLICY_VALUE', 'BAD_TYPECODE',
-			'BadKind', 'BadLocationException', 'BandCombineOp', 'BandedSampleModel','BasicArrowButton',
-			'BasicAttribute', 'BasicAttributes', 'BasicBorders', 'BasicBorders.ButtonBorder',
-			'BasicBorders.FieldBorder', 'BasicBorders.MarginBorder', 'BasicBorders.MenuBarBorder',
-			'BasicBorders.RadioButtonBorder', 'BasicBorders.SplitPaneBorder',
-			'BasicBorders.ToggleButtonBorder', 'BasicButtonListener', 'BasicButtonUI',
-			'BasicCheckBoxMenuItemUI', 'BasicCheckBoxUI', 'BasicColorChooserUI', 'BasicComboBoxEditor',
-			'BasicComboBoxEditor.UIResource', 'BasicComboBoxRenderer', 'BasicComboBoxRenderer.UIResource',
-			'BasicComboBoxUI', 'BasicComboPopup', 'BasicDesktopIconUI', 'BasicDesktopPaneUI',
-			'BasicDirectoryModel', 'BasicEditorPaneUI', 'BasicFileChooserUI',
-			'BasicGraphicsUtils', 'BasicHTML', 'BasicIconFactory', 'BasicInternalFrameTitlePane',
-			'BasicInternalFrameUI', 'BasicLabelUI', 'BasicListUI', 'BasicLookAndFeel',
-			'BasicMenuBarUI', 'BasicMenuItemUI', 'BasicMenuUI', 'BasicOptionPaneUI',
-			'BasicOptionPaneUI.ButtonAreaLayout', 'BasicPanelUI', 'BasicPasswordFieldUI',
-			'BasicPermission', 'BasicPopupMenuSeparatorUI', 'BasicPopupMenuUI',
-			'BasicProgressBarUI', 'BasicRadioButtonMenuItemUI', 'BasicRadioButtonUI',
-			'BasicRootPaneUI', 'BasicScrollBarUI', 'BasicScrollPaneUI', 'BasicSeparatorUI',
-			'BasicSliderUI', 'BasicSplitPaneDivider', 'BasicSplitPaneUI', 'BasicStroke',
-			'BasicTabbedPaneUI', 'BasicTableHeaderUI', 'BasicTableUI', 'BasicTextAreaUI',
-			'BasicTextFieldUI', 'BasicTextPaneUI', 'BasicTextUI', 'BasicTextUI.BasicCaret',
-			'BasicTextUI.BasicHighlighter', 'BasicToggleButtonUI', 'BasicToolBarSeparatorUI',
-			'BasicToolBarUI', 'BasicToolTipUI', 'BasicTreeUI', 'BasicViewportUI',
-			'BatchUpdateException', 'BeanContext', 'BeanContextChild',
-			'BeanContextChildComponentProxy', 'BeanContextChildSupport', 'BeanContextContainerProxy',
-			'BeanContextEvent', 'BeanContextMembershipEvent', 'BeanContextMembershipListener',
-			'BeanContextProxy', 'BeanContextServiceAvailableEvent', 'BeanContextServiceProvider',
-			'BeanContextServiceProviderBeanInfo', 'BeanContextServiceRevokedEvent',
-			'BeanContextServiceRevokedListener', 'BeanContextServices',
-			'BeanContextServicesListener', 'BeanContextServicesSupport',
-			'BeanContextServicesSupport.BCSSServiceProvider', 'BeanContextSupport',
-			'BeanContextSupport.BCSIterator', 'BeanDescriptor', 'BeanInfo', 'Beans',
-			'BevelBorder', 'BigDecimal', 'BigInteger', 'BinaryRefAddr', 'BindException',
-			'Binding', 'BindingHelper', 'BindingHolder', 'BindingIterator',
-			'BindingIteratorHelper', 'BindingIteratorHolder', 'BindingIteratorOperations',
-			'BindingListHelper', 'BindingListHolder', 'BindingType', 'BindingTypeHelper',
-			'BindingTypeHolder', 'BitSet', 'Blob', 'BlockView', 'Book', 'Boolean',
-			'BooleanControl', 'BooleanControl.Type', 'BooleanHolder', 'BooleanSeqHelper',
-			'BooleanSeqHolder', 'Border', 'BorderFactory', 'BorderLayout', 'BorderUIResource',
-			'BorderUIResource.BevelBorderUIResource', 'BorderUIResource.CompoundBorderUIResource',
-			'BorderUIResource.EmptyBorderUIResource', 'BorderUIResource.EtchedBorderUIResource',
-			'BorderUIResource.LineBorderUIResource', 'BorderUIResource.MatteBorderUIResource',
-			'BorderUIResource.TitledBorderUIResource', 'BoundedRangeModel', 'Bounds',
-			'Box', 'Box.Filler', 'BoxedValueHelper', 'BoxLayout', 'BoxView',
-			'BreakIterator', 'BufferedImage', 'BufferedImageFilter', 'BufferedImageOp',
-			'BufferedInputStream', 'BufferedOutputStream', 'BufferedReader', 'BufferedWriter',
-			'Button', 'ButtonGroup', 'ButtonModel', 'ButtonUI', 'Byte', 'ByteArrayInputStream',
-			'ByteArrayOutputStream', 'ByteHolder', 'ByteLookupTable', 'Calendar',
-			'CallableStatement', 'CannotProceed', 'CannotProceedException', 'CannotProceedHelper',
-			'CannotProceedHolder', 'CannotRedoException', 'CannotUndoException',
-			'Canvas', 'CardLayout', 'Caret', 'CaretEvent', 'CaretListener', 'CellEditor',
-			'CellEditorListener', 'CellRendererPane', 'Certificate', 'Certificate.CertificateRep',
-			'CertificateEncodingException', 'CertificateException', 'CertificateExpiredException',
-			'CertificateFactory', 'CertificateFactorySpi', 'CertificateNotYetValidException',
-			'CertificateParsingException', 'ChangedCharSetException', 'ChangeEvent',
-			'ChangeListener', 'Character', 'Character.Subset', 'Character.UnicodeBlock',
-			'CharacterIterator', 'CharArrayReader', 'CharArrayWriter', 'CharConversionException',
-			'CharHolder', 'CharSeqHelper', 'CharSeqHolder', 'Checkbox', 'CheckboxGroup',
-			'CheckboxMenuItem', 'CheckedInputStream', 'CheckedOutputStream', 'Checksum',
-			'Choice', 'ChoiceFormat', 'Class', 'ClassCastException', 'ClassCircularityError',
-			'ClassDesc', 'ClassFormatError', 'ClassLoader', 'ClassNotFoundException',
-			'Clip', 'Clipboard', 'ClipboardOwner', 'Clob', 'Cloneable', 'CloneNotSupportedException',
-			'CMMException', 'CodeSource', 'CollationElementIterator', 'CollationKey',
-			'Collator', 'Collection', 'Collections', 'Color', 'ColorChooserComponentFactory',
-			'ColorChooserUI', 'ColorConvertOp', 'ColorModel', 'ColorSelectionModel',
-			'ColorSpace', 'ColorUIResource', 'ComboBoxEditor', 'ComboBoxModel', 'ComboBoxUI',
-			'ComboPopup', 'COMM_FAILURE', 'CommunicationException', 'Comparable',
-			'Comparator', 'Compiler', 'CompletionStatus', 'CompletionStatusHelper',
-			'Component', 'ComponentAdapter', 'ComponentColorModel', 'ComponentEvent',
-			'ComponentInputMap', 'ComponentInputMapUIResource', 'ComponentListener',
-			'ComponentOrientation', 'ComponentSampleModel', 'ComponentUI', 'ComponentView',
-			'Composite', 'CompositeContext', 'CompositeName','CompositeView', 'CompoundBorder',
-			'CompoundControl', 'CompoundControl.Type', 'CompoundEdit', 'CompoundName',
-			'ConcurrentModificationException', 'ConfigurationException', 'ConnectException',
-			'ConnectException', 'ConnectIOException', 'Connection', 'Constructor',
-			'Container', 'ContainerAdapter', 'ContainerEvent', 'ContainerListener',
-			'ContentHandler', 'ContentHandlerFactory', 'ContentModel', 'Context', 'ContextList',
-			'ContextNotEmptyException', 'ContextualRenderedImageFactory', 'Control',
-			'Control.Type', 'ControlFactory', 'ControllerEventListener', 'ConvolveOp',
-			'CRC32', 'CRL', 'CRLException', 'CropImageFilter', 'CSS', 'CSS.Attribute',
-			'CTX_RESTRICT_SCOPE', 'CubicCurve2D', 'CubicCurve2D.Double', 'CubicCurve2D.Float',
-			'Current', 'CurrentHelper', 'CurrentHolder', 'CurrentOperations', 'Cursor',
-			'Customizer', 'CustomMarshal', 'CustomValue', 'DATA_CONVERSION', 'DatabaseMetaData',
-			'DataBuffer', 'DataBufferByte', 'DataBufferInt', 'DataBufferShort', 'DataBufferUShort',
-			'DataFlavor', 'DataFormatException', 'DatagramPacket', 'DatagramSocket',
-			'DatagramSocketImpl', 'DatagramSocketImplFactory', 'DataInput', 'DataInputStream',
-			'DataLine', 'DataLine.Info', 'DataOutput', 'DataOutputStream', 'DataOutputStream',
-			'DataTruncation', 'Date', 'DateFormat', 'DateFormatSymbols', 'DebugGraphics',
-			'DecimalFormat', 'DecimalFormatSymbols', 'DefaultBoundedRangeModel',
-			'DefaultButtonModel', 'DefaultCaret', 'DefaultCellEditor', 'DefaultColorSelectionModel',
-			'DefaultComboBoxModel', 'DefaultDesktopManager', 'DefaultEditorKit',
-			'DefaultEditorKit.BeepAction', 'DefaultEditorKit.CopyAction',
-			'DefaultEditorKit.CutAction', 'DefaultEditorKit.DefaultKeyTypedAction',
-			'DefaultEditorKit.InsertBreakAction', 'DefaultEditorKit.InsertContentAction',
-			'DefaultEditorKit.InsertTabAction', 'DefaultEditorKit.PasteAction,',
-			'DefaultFocusManager', 'DefaultHighlighter', 'DefaultHighlighter.DefaultHighlightPainter',
-			'DefaultListCellRenderer', 'DefaultListCellRenderer.UIResource', 'DefaultListModel',
-			'DefaultListSelectionModel', 'DefaultMenuLayout', 'DefaultMetalTheme',
-			'DefaultMutableTreeNode', 'DefaultSingleSelectionModel', 'DefaultStyledDocument',
-			'DefaultStyledDocument.AttributeUndoableEdit', 'DefaultStyledDocument.ElementSpec',
-			'DefaultTableCellRenderer', 'DefaultTableCellRenderer.UIResource', 'DefaultTableColumnModel',
-			'DefaultTableModel', 'DefaultTextUI', 'DefaultTreeCellEditor', 'DefaultTreeCellRenderer',
-			'DefaultTreeModel', 'DefaultTreeSelectionModel', 'DefinitionKind', 'DefinitionKindHelper',
-			'Deflater', 'DeflaterOutputStream', 'Delegate', 'DesignMode', 'DesktopIconUI',
-			'DesktopManager', 'DesktopPaneUI', 'DGC', 'Dialog', 'Dictionary', 'DigestException',
-			'DigestInputStream', 'DigestOutputStream', 'Dimension', 'Dimension2D',
-			'DimensionUIResource', 'DirContext', 'DirectColorModel', 'DirectoryManager',
-			'DirObjectFactory', 'DirStateFactory', 'DirStateFactory.Result', 'DnDConstants',
-			'Document', 'DocumentEvent', 'DocumentEvent.ElementChange', 'DocumentEvent.EventType',
-			'DocumentListener', 'DocumentParser', 'DomainCombiner', 'DomainManager',
-			'DomainManagerOperations', 'Double', 'DoubleHolder', 'DoubleSeqHelper',
-			'DoubleSeqHolder', 'DragGestureEvent', 'DragGestureListener', 'DragGestureRecognizer',
-			'DragSource', 'DragSourceContext', 'DragSourceDragEvent', 'DragSourceDropEvent',
-			'DragSourceEvent', 'DragSourceListener', 'Driver', 'DriverManager',
-			'DriverPropertyInfo', 'DropTarget', 'DropTarget.DropTargetAutoScroller',
-			'DropTargetContext', 'DropTargetDragEvent', 'DropTargetDropEvent',
-			'DropTargetEvent', 'DropTargetListener', 'DSAKey', 'DSAKeyPairGenerator',
-			'DSAParameterSpec', 'DSAParams', 'DSAPrivateKey', 'DSAPrivateKeySpec',
-			'DSAPublicKey', 'DSAPublicKeySpec', 'DTD', 'DTDConstants', 'DynamicImplementation',
-			'DynAny', 'DynArray', 'DynEnum', 'DynFixed', 'DynSequence', 'DynStruct',
-			'DynUnion', 'DynValue', 'EditorKit', 'Element', 'ElementIterator', 'Ellipse2D',
-			'Ellipse2D.Double', 'Ellipse2D.Float', 'EmptyBorder', 'EmptyStackException',
-			'EncodedKeySpec', 'Entity', 'EnumControl', 'EnumControl.Type','Enumeration',
-			'Environment', 'EOFException', 'Error', 'EtchedBorder', 'Event', 'EventContext',
-			'EventDirContext', 'EventListener', 'EventListenerList', 'EventObject', 'EventQueue',
-			'EventSetDescriptor', 'Exception', 'ExceptionInInitializerError', 'ExceptionList',
-			'ExpandVetoException', 'ExportException', 'ExtendedRequest', 'ExtendedResponse',
-			'Externalizable', 'FeatureDescriptor', 'Field', 'FieldNameHelper',
-			'FieldPosition', 'FieldView', 'File', 'FileChooserUI', 'FileDescriptor',
-			'FileDialog', 'FileFilter', 'FileFilter', 'FileInputStream', 'FilenameFilter',
-			'FileNameMap', 'FileNotFoundException', 'FileOutputStream', 'FilePermission',
-			'FileReader', 'FileSystemView', 'FileView', 'FileWriter', 'FilteredImageSource',
-			'FilterInputStream', 'FilterOutputStream', 'FilterReader', 'FilterWriter',
-			'FixedHeightLayoutCache', 'FixedHolder', 'FlatteningPathIterator', 'FlavorMap',
-			'Float', 'FloatControl', 'FloatControl.Type', 'FloatHolder', 'FloatSeqHelper',
-			'FloatSeqHolder', 'FlowLayout', 'FlowView', 'FlowView.FlowStrategy', 'FocusAdapter',
-			'FocusEvent', 'FocusListener', 'FocusManager', 'Font', 'FontFormatException',
-			'FontMetrics', 'FontRenderContext', 'FontUIResource', 'Format', 'FormatConversionProvider',
-			'FormView', 'Frame', 'FREE_MEM', 'GapContent', 'GeneralPath', 'GeneralSecurityException',
-			'GlyphJustificationInfo', 'GlyphMetrics', 'GlyphVector', 'GlyphView', 'GlyphView.GlyphPainter',
-			'GradientPaint', 'GraphicAttribute', 'Graphics', 'Graphics2D', 'GraphicsConfigTemplate',
-			'GraphicsConfiguration', 'GraphicsDevice', 'GraphicsEnvironment', 'GrayFilter',
-            'GregorianCalendar', 'GridBagConstraints', 'GridBagLayout', 'GridLayout', 'Group', 'Guard',
-			'GuardedObject', 'GZIPInputStream', 'GZIPOutputStream',
-			'HasControls',
-			'HashMap',
-			'HashSet',
-			'Hashtable',
-			'HierarchyBoundsAdapter',
-			'HierarchyBoundsListener',
-			'HierarchyEvent',
-			'HierarchyListener',
-			'Highlighter',
-			'Highlighter.Highlight',
-			'Highlighter.HighlightPainter',
-			'HTML',
-			'HTML.Attribute',
-			'HTML.Tag',
-			'HTML.UnknownTag',
-			'HTMLDocument',
-			'HTMLDocument.Iterator',
-			'HTMLEditorKit',
-			'HTMLEditorKit.HTMLFactory',
-			'HTMLEditorKit.HTMLTextAction',
-			'HTMLEditorKit.InsertHTMLTextAction',
-			'HTMLEditorKit.LinkController',
-			'HTMLEditorKit.Parser',
-			'HTMLEditorKit.ParserCallback',
-			'HTMLFrameHyperlinkEvent',
-			'HTMLWriter',
-			'HttpURLConnection',
-			'HyperlinkEvent',
-			'HyperlinkEvent.EventType',
-			'HyperlinkListener',
-			'ICC_ColorSpace',
-			'ICC_Profile',
-			'ICC_ProfileGray',
-			'ICC_ProfileRGB',
-			'Icon',
-			'IconUIResource',
-			'IconView',
-			'IdentifierHelper',
-			'Identity',
-			'IdentityScope',
-			'IDLEntity',
-			'IDLType',
-			'IDLTypeHelper', 'IDLTypeOperations',
-			'IllegalAccessError',
-			'IllegalAccessException',
-			'IllegalArgumentException',
-			'IllegalComponentStateException',
-			'IllegalMonitorStateException',
-			'IllegalPathStateException',
-			'IllegalStateException',
-			'IllegalThreadStateException',
-			'Image',
-			'ImageConsumer',
-			'ImageFilter',
-			'ImageGraphicAttribute',
-			'ImageIcon',
-			'ImageObserver',
-			'ImageProducer',
-			'ImagingOpException',
-			'IMP_LIMIT',
-			'IncompatibleClassChangeError',
-			'InconsistentTypeCode',
-			'IndexColorModel',
-			'IndexedPropertyDescriptor',
-			'IndexOutOfBoundsException',
-			'IndirectionException',
-			'InetAddress',
-			'Inflater',
-			'InflaterInputStream',
-			'InheritableThreadLocal',
-			'InitialContext',
-			'InitialContextFactory',
-			'InitialContextFactoryBuilder',
-			'InitialDirContext',
-			'INITIALIZE',
-			'Initializer',
-			'InitialLdapContext',
-			'InlineView',
-			'InputContext',
-			'InputEvent',
-			'InputMap',
-			'InputMapUIResource',
-			'InputMethod',
-			'InputMethodContext',
-			'InputMethodDescriptor',
-			'InputMethodEvent',
-			'InputMethodHighlight',
-			'InputMethodListener',
-			'InputMethodRequests',
-			'InputStream',
-			'InputStream',
-			'InputStream',
-			'InputStreamReader',
-			'InputSubset',
-			'InputVerifier',
-			'Insets',
-			'InsetsUIResource',
-			'InstantiationError',
-			'InstantiationException',
-			'Instrument',
-			'InsufficientResourcesException',
-			'Integer',
-			'INTERNAL',
-			'InternalError', 'InternalFrameAdapter',
-			'InternalFrameEvent',
-			'InternalFrameListener',
-			'InternalFrameUI',
-			'InterruptedException',
-			'InterruptedIOException',
-			'InterruptedNamingException',
-			'INTF_REPOS',
-			'IntHolder',
-			'IntrospectionException',
-			'Introspector',
-			'INV_FLAG',
-			'INV_IDENT',
-			'INV_OBJREF',
-			'INV_POLICY',
-			'Invalid',
-			'INVALID_TRANSACTION',
-			'InvalidAlgorithmParameterException',
-			'InvalidAttributeIdentifierException',
-			'InvalidAttributesException',
-			'InvalidAttributeValueException',
-			'InvalidClassException',
-			'InvalidDnDOperationException',
-			'InvalidKeyException',
-			'InvalidKeySpecException',
-			'InvalidMidiDataException',
-			'InvalidName',
-			'InvalidName',
-			'InvalidNameException',
-			'InvalidNameHelper',
-			'InvalidNameHolder',
-			'InvalidObjectException',
-			'InvalidParameterException',
-			'InvalidParameterSpecException',
-			'InvalidSearchControlsException',
-			'InvalidSearchFilterException',
-			'InvalidSeq',
-			'InvalidTransactionException',
-			'InvalidValue',
-			'InvocationEvent',
-			'InvocationHandler',
-			'InvocationTargetException',
-			'InvokeHandler',
-			'IOException',
-			'IRObject',
-			'IRObjectOperations', 'IstringHelper', 'ItemEvent', 'ItemListener',
-			'ItemSelectable', 'Iterator', 'JApplet', 'JarEntry', 'JarException',
-			'JarFile', 'JarInputStream', 'JarOutputStream', 'JarURLConnection',
-			'JButton', 'JCheckBox', 'JCheckBoxMenuItem', 'JColorChooser',
-			'JComboBox',
-			'JComboBox.KeySelectionManager',
-			'JComponent',
-			'JDesktopPane',
-			'JDialog',
-			'JEditorPane',
-			'JFileChooser',
-			'JFrame',
-			'JInternalFrame',
-			'JInternalFrame.JDesktopIcon',
-			'JLabel',
-			'JLayeredPane',
-			'JList',
-			'JMenu',
-			'JMenuBar',
-			'JMenuItem',
-			'JobAttributes',
-			'JobAttributes.DefaultSelectionType',
-			'JobAttributes.DestinationType',
-			'JobAttributes.DialogType',
-			'JobAttributes.MultipleDocumentHandlingType',
-			'JobAttributes.SidesType',
-			'JOptionPane',
-			'JPanel',
-			'JPasswordField',
-			'JPopupMenu',
-			'JPopupMenu.Separator',
-			'JProgressBar',
-			'JRadioButton',
-			'JRadioButtonMenuItem',
-			'JRootPane',
-			'JScrollBar',
-			'JScrollPane',
-			'JSeparator',
-			'JSlider',
-			'JSplitPane',
-			'JTabbedPane',
-			'JTable',
-			'JTableHeader',
-			'JTextArea',
-			'JTextComponent',
-			'JTextComponent.KeyBinding', 'JTextField',
-			'JTextPane',
-			'JToggleButton',
-			'JToggleButton.ToggleButtonModel',
-			'JToolBar',
-			'JToolBar.Separator',
-			'JToolTip',
-			'JTree',
-			'JTree.DynamicUtilTreeNode',
-			'JTree.EmptySelectionModel',
-			'JViewport',
-			'JWindow',
-			'Kernel',
-			'Key',
-			'KeyAdapter',
-			'KeyEvent',
-			'KeyException',
-			'KeyFactory',
-			'KeyFactorySpi',
-			'KeyListener',
-			'KeyManagementException',
-			'Keymap',
-			'KeyPair',
-			'KeyPairGenerator',
-			'KeyPairGeneratorSpi',
-			'KeySpec',
-			'KeyStore',
-			'KeyStoreException',
-			'KeyStoreSpi',
-			'KeyStroke',
-			'Label',
-			'LabelUI',
-			'LabelView',
-			'LastOwnerException',
-			'LayeredHighlighter',
-			'LayeredHighlighter.LayerPainter',
-			'LayoutManager',
-			'LayoutManager2',
-			'LayoutQueue',
-			'LdapContext',
-			'LdapReferralException',
-			'Lease',
-			'LimitExceededException',
-			'Line',
-			'Line.Info',
-			'Line2D',
-			'Line2D.Double',
-			'Line2D.Float',
-			'LineBorder',
-			'LineBreakMeasurer',
-			'LineEvent',
-			'LineEvent.Type',
-			'LineListener',
-			'LineMetrics',
-			'LineNumberInputStream',
-			'LineNumberReader',
-			'LineUnavailableException',
-			'LinkageError',
-			'LinkedList',
-			'LinkException',
-			'LinkLoopException',
-			'LinkRef',
-			'List',
-			'List',
-			'ListCellRenderer',
-			'ListDataEvent',
-			'ListDataListener',
-			'ListIterator',
-			'ListModel',
-			'ListResourceBundle',
-			'ListSelectionEvent',
-			'ListSelectionListener',
-			'ListSelectionModel',
-			'ListUI',
-			'ListView',
-			'LoaderHandler',
-			'Locale',
-			'LocateRegistry',
-			'LogStream',
-			'Long',
-			'LongHolder',
-			'LongLongSeqHelper',
-			'LongLongSeqHolder',
-			'LongSeqHelper',
-			'LongSeqHolder',
-			'LookAndFeel',
-			'LookupOp',
-			'LookupTable',
-			'MalformedLinkException',
-			'MalformedURLException',
-			'Manifest', 'Map',
-			'Map.Entry',
-			'MARSHAL',
-			'MarshalException',
-			'MarshalledObject',
-			'Math',
-			'MatteBorder',
-			'MediaTracker',
-			'Member',
-			'MemoryImageSource',
-			'Menu',
-			'MenuBar',
-			'MenuBarUI',
-			'MenuComponent',
-			'MenuContainer',
-			'MenuDragMouseEvent',
-			'MenuDragMouseListener',
-			'MenuElement',
-			'MenuEvent',
-			'MenuItem',
-			'MenuItemUI',
-			'MenuKeyEvent',
-			'MenuKeyListener',
-			'MenuListener',
-			'MenuSelectionManager',
-			'MenuShortcut',
-			'MessageDigest',
-			'MessageDigestSpi',
-			'MessageFormat',
-			'MetaEventListener',
-			'MetalBorders',
-			'MetalBorders.ButtonBorder',
-			'MetalBorders.Flush3DBorder',
-			'MetalBorders.InternalFrameBorder',
-			'MetalBorders.MenuBarBorder',
-			'MetalBorders.MenuItemBorder',
-			'MetalBorders.OptionDialogBorder',
-			'MetalBorders.PaletteBorder',
-			'MetalBorders.PopupMenuBorder',
-			'MetalBorders.RolloverButtonBorder',
-			'MetalBorders.ScrollPaneBorder',
-			'MetalBorders.TableHeaderBorder',
-			'MetalBorders.TextFieldBorder',
-			'MetalBorders.ToggleButtonBorder',
-			'MetalBorders.ToolBarBorder',
-			'MetalButtonUI',
-			'MetalCheckBoxIcon',
-			'MetalCheckBoxUI',
-			'MetalComboBoxButton',
-			'MetalComboBoxEditor',
-			'MetalComboBoxEditor.UIResource',
-			'MetalComboBoxIcon',
-			'MetalComboBoxUI',
-			'MetalDesktopIconUI',
-			'MetalFileChooserUI',
-			'MetalIconFactory',
-			'MetalIconFactory.FileIcon16',
-			'MetalIconFactory.FolderIcon16',
-			'MetalIconFactory.PaletteCloseIcon',
-			'MetalIconFactory.TreeControlIcon',
-			'MetalIconFactory.TreeFolderIcon',
-			'MetalIconFactory.TreeLeafIcon',
-			'MetalInternalFrameTitlePane',
-			'MetalInternalFrameUI',
-			'MetalLabelUI',
-			'MetalLookAndFeel',
-			'MetalPopupMenuSeparatorUI',
-			'MetalProgressBarUI',
-			'MetalRadioButtonUI',
-			'MetalScrollBarUI',
-			'MetalScrollButton',
-			'MetalScrollPaneUI',
-			'MetalSeparatorUI',
-			'MetalSliderUI',
-			'MetalSplitPaneUI',
-			'MetalTabbedPaneUI',
-			'MetalTextFieldUI',
-			'MetalTheme',
-			'MetalToggleButtonUI',
-			'MetalToolBarUI',
-			'MetalToolTipUI',
-			'MetalTreeUI',
-			'MetaMessage',
-			'Method',
-			'MethodDescriptor',
-			'MidiChannel',
-			'MidiDevice',
-			'MidiDevice.Info',
-			'MidiDeviceProvider',
-			'MidiEvent',
-			'MidiFileFormat',
-			'MidiFileReader',
-			'MidiFileWriter',
-			'MidiMessage',
-			'MidiSystem',
-			'MidiUnavailableException',
-			'MimeTypeParseException',
-			'MinimalHTMLWriter',
-			'MissingResourceException',
-			'Mixer',
-			'Mixer.Info',
-			'MixerProvider',
-			'ModificationItem',
-			'Modifier',
-			'MouseAdapter',
-			'MouseDragGestureRecognizer',
-			'MouseEvent',
-			'MouseInputAdapter',
-			'MouseInputListener',
-			'MouseListener',
-			'MouseMotionAdapter',
-			'MouseMotionListener',
-			'MultiButtonUI',
-			'MulticastSocket',
-			'MultiColorChooserUI',
-			'MultiComboBoxUI',
-			'MultiDesktopIconUI',
-			'MultiDesktopPaneUI',
-			'MultiFileChooserUI',
-			'MultiInternalFrameUI',
-			'MultiLabelUI', 'MultiListUI',
-			'MultiLookAndFeel',
-			'MultiMenuBarUI',
-			'MultiMenuItemUI',
-			'MultiOptionPaneUI',
-			'MultiPanelUI',
-			'MultiPixelPackedSampleModel',
-			'MultipleMaster',
-			'MultiPopupMenuUI',
-			'MultiProgressBarUI',
-			'MultiScrollBarUI',
-			'MultiScrollPaneUI',
-			'MultiSeparatorUI',
-			'MultiSliderUI',
-			'MultiSplitPaneUI',
-			'MultiTabbedPaneUI',
-			'MultiTableHeaderUI',
-			'MultiTableUI',
-			'MultiTextUI',
-			'MultiToolBarUI',
-			'MultiToolTipUI',
-			'MultiTreeUI',
-			'MultiViewportUI',
-			'MutableAttributeSet',
-			'MutableComboBoxModel',
-			'MutableTreeNode',
-			'Name',
-			'NameAlreadyBoundException',
-			'NameClassPair',
-			'NameComponent',
-			'NameComponentHelper',
-			'NameComponentHolder',
-			'NamedValue',
-			'NameHelper',
-			'NameHolder',
-			'NameNotFoundException',
-			'NameParser',
-			'NamespaceChangeListener',
-			'NameValuePair',
-			'NameValuePairHelper',
-			'Naming',
-			'NamingContext',
-			'NamingContextHelper',
-			'NamingContextHolder',
-			'NamingContextOperations',
-			'NamingEnumeration',
-			'NamingEvent',
-			'NamingException',
-			'NamingExceptionEvent',
-			'NamingListener',
-			'NamingManager',
-			'NamingSecurityException',
-			'NegativeArraySizeException',
-			'NetPermission',
-			'NO_IMPLEMENT',
-			'NO_MEMORY',
-			'NO_PERMISSION',
-			'NO_RESOURCES',
-			'NO_RESPONSE',
-			'NoClassDefFoundError',
-			'NoInitialContextException', 'NoninvertibleTransformException',
-			'NoPermissionException',
-			'NoRouteToHostException',
-			'NoSuchAlgorithmException',
-			'NoSuchAttributeException',
-			'NoSuchElementException',
-			'NoSuchFieldError',
-			'NoSuchFieldException',
-			'NoSuchMethodError',
-			'NoSuchMethodException',
-			'NoSuchObjectException',
-			'NoSuchProviderException',
-			'NotActiveException',
-			'NotBoundException',
-			'NotContextException',
-			'NotEmpty',
-			'NotEmptyHelper',
-			'NotEmptyHolder',
-			'NotFound',
-			'NotFoundHelper',
-			'NotFoundHolder',
-			'NotFoundReason',
-			'NotFoundReasonHelper',
-			'NotFoundReasonHolder',
-			'NotOwnerException',
-			'NotSerializableException',
-			'NullPointerException',
-			'Number',
-			'NumberFormat', 'NumberFormatException', 'NVList',
-			'OBJ_ADAPTER', 'Object', 'OBJECT_NOT_EXIST', 'ObjectChangeListener',
-			'ObjectFactory',
-			'ObjectFactoryBuilder',
-			'ObjectHelper',
-			'ObjectHolder',
-			'ObjectImpl', 'ObjectImpl',
-			'ObjectInput',
-			'ObjectInputStream',
-			'ObjectInputStream.GetField',
-			'ObjectInputValidation',
-			'ObjectOutput',
-			'ObjectOutputStream',
-			'ObjectOutputStream.PutField',
-			'ObjectStreamClass',
-			'ObjectStreamConstants',
-			'ObjectStreamException',
-			'ObjectStreamField',
-			'ObjectView',
-			'ObjID',
-			'Observable',
-			'Observer',
-			'OctetSeqHelper',
-			'OctetSeqHolder',
-			'OMGVMCID',
-			'OpenType',
-			'Operation',
-			'OperationNotSupportedException',
-			'Option',
-			'OptionalDataException',
-			'OptionPaneUI',
-			'ORB',
-			'OutOfMemoryError',
-			'OutputStream',
-			'OutputStreamWriter',
-			'OverlayLayout',
-			'Owner',
-			'Package',
-			'PackedColorModel',
-			'Pageable',
-			'PageAttributes',
-			'PageAttributes.ColorType',
-			'PageAttributes.MediaType',
-			'PageAttributes.OrientationRequestedType',
-			'PageAttributes.OriginType',
-			'PageAttributes.PrintQualityType',
-			'PageFormat',
-			'Paint',
-			'PaintContext',
-			'PaintEvent',
-			'Panel',
-			'PanelUI',
-			'Paper',
-			'ParagraphView',
-			'ParagraphView',
-			'ParameterBlock',
-			'ParameterDescriptor',
-			'ParseException',
-			'ParsePosition',
-			'Parser',
-			'ParserDelegator',
-			'PartialResultException',
-			'PasswordAuthentication',
-			'PasswordView',
-			'Patch',
-			'PathIterator',
-			'Permission',
-			'Permission',
-			'PermissionCollection',
-			'Permissions',
-			'PERSIST_STORE',
-			'PhantomReference',
-			'PipedInputStream',
-			'PipedOutputStream',
-			'PipedReader',
-			'PipedWriter',
-			'PixelGrabber',
-			'PixelInterleavedSampleModel',
-			'PKCS8EncodedKeySpec',
-			'PlainDocument',
-			'PlainView',
-			'Point',
-			'Point2D',
-			'Point2D.Double',
-			'Point2D.Float',
-			'Policy',
-			'Policy',
-			'PolicyError',
-			'PolicyHelper',
-			'PolicyHolder',
-			'PolicyListHelper',
-			'PolicyListHolder',
-			'PolicyOperations', 'PolicyTypeHelper',
-			'Polygon',
-			'PopupMenu',
-			'PopupMenuEvent',
-			'PopupMenuListener',
-			'PopupMenuUI',
-			'Port',
-			'Port.Info',
-			'PortableRemoteObject',
-			'PortableRemoteObjectDelegate',
-			'Position',
-			'Position.Bias',
-			'PreparedStatement',
-			'Principal',
-			'Principal',
-			'PrincipalHolder',
-			'Printable',
-			'PrinterAbortException',
-			'PrinterException',
-			'PrinterGraphics',
-			'PrinterIOException',
-			'PrinterJob',
-			'PrintGraphics',
-			'PrintJob',
-			'PrintStream',
-			'PrintWriter',
-			'PRIVATE_MEMBER',
-			'PrivateKey',
-			'PrivilegedAction',
-			'PrivilegedActionException',
-			'PrivilegedExceptionAction',
-			'Process',
-			'ProfileDataException',
-			'ProgressBarUI',
-			'ProgressMonitor',
-			'ProgressMonitorInputStream',
-			'Properties',
-			'PropertyChangeEvent',
-			'PropertyChangeListener',
-			'PropertyChangeSupport',
-			'PropertyDescriptor',
-			'PropertyEditor',
-			'PropertyEditorManager',
-			'PropertyEditorSupport',
-			'PropertyPermission',
-			'PropertyResourceBundle',
-			'PropertyVetoException',
-			'ProtectionDomain',
-			'ProtocolException',
-			'Provider',
-			'ProviderException',
-			'Proxy',
-			'PUBLIC_MEMBER',
-			'PublicKey',
-			'PushbackInputStream',
-			'PushbackReader',
-			'QuadCurve2D',
-			'QuadCurve2D.Double',
-			'QuadCurve2D.Float',
-			'Random',
-			'RandomAccessFile', 'Raster', 'RasterFormatException', 'RasterOp',
-			'Reader', 'Receiver', 'Rectangle', 'Rectangle2D', 'Rectangle2D.Double',
-			'Rectangle2D.Float', 'RectangularShape', 'Ref', 'RefAddr', 'Reference',
-			'Referenceable', 'ReferenceQueue', 'ReferralException',
-			'ReflectPermission', 'Registry', 'RegistryHandler', 'RemarshalException',
-			'Remote', 'RemoteCall', 'RemoteException', 'RemoteObject', 'RemoteRef',
-			'RemoteServer',
-			'RemoteStub',
-			'RenderableImage',
-			'RenderableImageOp',
-			'RenderableImageProducer',
-			'RenderContext',
-			'RenderedImage',
-			'RenderedImageFactory',
-			'Renderer',
-			'RenderingHints',
-			'RenderingHints.Key',
-			'RepaintManager',
-			'ReplicateScaleFilter',
-			'Repository',
-			'RepositoryIdHelper',
-			'Request',
-			'RescaleOp',
-			'Resolver',
-			'ResolveResult',
-			'ResourceBundle',
-			'ResponseHandler',
-			'ResultSet',
-			'ResultSetMetaData',
-			'ReverbType',
-			'RGBImageFilter',
-			'RMIClassLoader',
-			'RMIClientSocketFactory',
-			'RMIFailureHandler',
-			'RMISecurityException',
-			'RMISecurityManager',
-			'RMIServerSocketFactory',
-			'RMISocketFactory',
-			'Robot',
-			'RootPaneContainer',
-			'RootPaneUI',
-			'RoundRectangle2D',
-			'RoundRectangle2D.Double',
-			'RoundRectangle2D.Float',
-			'RowMapper',
-			'RSAKey',
-			'RSAKeyGenParameterSpec',
-			'RSAPrivateCrtKey',
-			'RSAPrivateCrtKeySpec',
-			'RSAPrivateKey',
-			'RSAPrivateKeySpec',
-			'RSAPublicKey',
-			'RSAPublicKeySpec',
-			'RTFEditorKit',
-			'RuleBasedCollator',
-			'Runnable',
-			'Runtime',
-			'RunTime',
-			'RuntimeException',
-			'RunTimeOperations',
-			'RuntimePermission',
-			'SampleModel',
-			'SchemaViolationException',
-			'Scrollable',
-			'Scrollbar',
-			'ScrollBarUI',
-			'ScrollPane',
-			'ScrollPaneConstants',
-			'ScrollPaneLayout',
-			'ScrollPaneLayout.UIResource',
-			'ScrollPaneUI',
-			'SearchControls',
-			'SearchResult',
-			'SecureClassLoader',
-			'SecureRandom',
-			'SecureRandomSpi',
-			'Security',
-			'SecurityException',
-			'SecurityManager',
-			'SecurityPermission',
-			'Segment',
-			'SeparatorUI',
-			'Sequence',
-			'SequenceInputStream',
-			'Sequencer',
-			'Sequencer.SyncMode',
-			'Serializable',
-			'SerializablePermission',
-			'ServantObject',
-			'ServerCloneException',
-			'ServerError', 'ServerException',
-			'ServerNotActiveException',
-			'ServerRef',
-			'ServerRequest',
-			'ServerRuntimeException',
-			'ServerSocket',
-			'ServiceDetail',
-			'ServiceDetailHelper',
-			'ServiceInformation',
-			'ServiceInformationHelper',
-			'ServiceInformationHolder',
-			'ServiceUnavailableException',
-			'Set',
-			'SetOverrideType',
-			'SetOverrideTypeHelper',
-			'Shape',
-			'ShapeGraphicAttribute',
-			'Short',
-			'ShortHolder',
-			'ShortLookupTable',
-			'ShortMessage',
-			'ShortSeqHelper',
-			'ShortSeqHolder',
-			'Signature',
-			'SignatureException',
-			'SignatureSpi',
-			'SignedObject',
-			'Signer',
-			'SimpleAttributeSet',
-			'SimpleBeanInfo',
-			'SimpleDateFormat',
-			'SimpleTimeZone',
-			'SinglePixelPackedSampleModel',
-			'SingleSelectionModel',
-			'SizeLimitExceededException',
-			'SizeRequirements',
-			'SizeSequence',
-			'Skeleton',
-			'SkeletonMismatchException',
-			'SkeletonNotFoundException',
-			'SliderUI',
-			'Socket',
-			'SocketException',
-			'SocketImpl',
-			'SocketImplFactory',
-			'SocketOptions',
-			'SocketPermission',
-			'SocketSecurityException',
-			'SoftBevelBorder',
-			'SoftReference',
-			'SortedMap',
-			'SortedSet',
-			'Soundbank',
-			'SoundbankReader',
-			'SoundbankResource',
-			'SourceDataLine',
-			'SplitPaneUI',
-			'SQLData',
-			'SQLException',
-			'SQLInput',
-			'SQLOutput', 'SQLPermission',
-			'SQLWarning',
-			'Stack',
-			'StackOverflowError',
-			'StateEdit',
-			'StateEditable',
-			'StateFactory',
-			'Statement',
-			'Streamable',
-			'StreamableValue',
-			'StreamCorruptedException',
-			'StreamTokenizer',
-			'StrictMath',
-			'String',
-			'StringBuffer',
-			'StringBufferInputStream',
-			'StringCharacterIterator',
-			'StringContent',
-			'StringHolder',
-			'StringIndexOutOfBoundsException',
-			'StringReader',
-			'StringRefAddr',
-			'StringSelection',
-			'StringTokenizer',
-			'StringValueHelper',
-			'StringWriter',
-			'Stroke',
-			'Struct',
-			'StructMember',
-			'StructMemberHelper',
-			'Stub',
-			'StubDelegate',
-			'StubNotFoundException',
-			'Style',
-			'StyleConstants',
-			'StyleConstants.CharacterConstants',
-			'StyleConstants.ColorConstants',
-			'StyleConstants.FontConstants',
-			'StyleConstants.ParagraphConstants',
-			'StyleContext',
-			'StyledDocument',
-			'StyledEditorKit',
-			'StyledEditorKit.AlignmentAction',
-			'StyledEditorKit.BoldAction',
-			'StyledEditorKit.FontFamilyAction',
-			'StyledEditorKit.FontSizeAction',
-			'StyledEditorKit.ForegroundAction',
-			'StyledEditorKit.ItalicAction',
-			'StyledEditorKit.StyledTextAction',
-			'StyledEditorKit.UnderlineAction',
-			'StyleSheet',
-			'StyleSheet.BoxPainter',
-			'StyleSheet.ListPainter',
-			'SwingConstants',
-			'SwingPropertyChangeSupport',
-			'SwingUtilities',
-			'SyncFailedException',
-			'Synthesizer',
-			'SysexMessage',
-			'System',
-			'SystemColor', 'SystemException',
-			'SystemFlavorMap',
-			'TabableView',
-			'TabbedPaneUI',
-			'TabExpander',
-			'TableCellEditor',
-			'TableCellRenderer',
-			'TableColumn',
-			'TableColumnModel',
-			'TableColumnModelEvent',
-			'TableColumnModelListener',
-			'TableHeaderUI',
-			'TableModel',
-			'TableModelEvent',
-			'TableModelListener',
-			'TableUI',
-			'TableView',
-			'TabSet',
-			'TabStop',
-			'TagElement',
-			'TargetDataLine',
-			'TCKind',
-			'TextAction',
-			'TextArea',
-			'TextAttribute',
-			'TextComponent',
-			'TextEvent',
-			'TextField',
-			'TextHitInfo',
-			'TextLayout',
-			'TextLayout.CaretPolicy',
-			'TextListener',
-			'TextMeasurer',
-			'TextUI',
-			'TexturePaint',
-			'Thread',
-			'ThreadDeath',
-			'ThreadGroup',
-			'ThreadLocal',
-			'Throwable',
-			'Tie',
-			'TileObserver',
-			'Time',
-			'TimeLimitExceededException',
-			'Timer',
-			'Timer',
-			'TimerTask',
-			'Timestamp',
-			'TimeZone',
-			'TitledBorder',
-			'ToolBarUI',
-			'Toolkit',
-			'ToolTipManager',
-			'ToolTipUI',
-			'TooManyListenersException',
-			'Track',
-			'TRANSACTION_REQUIRED',
-			'TRANSACTION_ROLLEDBACK',
-			'TransactionRequiredException',
-			'TransactionRolledbackException',
-			'Transferable',
-			'TransformAttribute',
-			'TRANSIENT',
-			'Transmitter',
-			'Transparency',
-			'TreeCellEditor',
-			'TreeCellRenderer',
-			'TreeExpansionEvent',
-			'TreeExpansionListener',
-			'TreeMap',
-			'TreeModel',
-			'TreeModelEvent',
-			'TreeModelListener',
-			'TreeNode',
-			'TreePath',
-			'TreeSelectionEvent',
-			'TreeSelectionListener',
-			'TreeSelectionModel',
-			'TreeSet',
-			'TreeUI',
-			'TreeWillExpandListener',
-			'TypeCode',
-			'TypeCodeHolder',
-			'TypeMismatch',
-			'Types',
-			'UID',
-			'UIDefaults',
-			'UIDefaults.ActiveValue',
-			'UIDefaults.LazyInputMap',
-			'UIDefaults.LazyValue',
-			'UIDefaults.ProxyLazyValue', 'UIManager',
-			'UIManager.LookAndFeelInfo',
-			'UIResource',
-			'ULongLongSeqHelper',
-			'ULongLongSeqHolder',
-			'ULongSeqHelper',
-			'ULongSeqHolder',
-			'UndeclaredThrowableException',
-			'UndoableEdit',
-			'UndoableEditEvent',
-			'UndoableEditListener',
-			'UndoableEditSupport',
-			'UndoManager',
-			'UnexpectedException',
-			'UnicastRemoteObject',
-			'UnionMember',
-			'UnionMemberHelper',
-			'UNKNOWN',
-			'UnknownError',
-			'UnknownException',
-			'UnknownGroupException',
-			'UnknownHostException',
-			'UnknownHostException',
-			'UnknownObjectException',
-			'UnknownServiceException',
-			'UnknownUserException',
-			'UnmarshalException',
-			'UnrecoverableKeyException',
-			'Unreferenced',
-			'UnresolvedPermission',
-			'UnsatisfiedLinkError',
-			'UnsolicitedNotification',
-			'UnsolicitedNotificationEvent',
-			'UnsolicitedNotificationListener',
-			'UNSUPPORTED_POLICY',
-			'UNSUPPORTED_POLICY_VALUE',
-			'UnsupportedAudioFileException',
-			'UnsupportedClassVersionError',
-			'UnsupportedEncodingException',
-			'UnsupportedFlavorException',
-			'UnsupportedLookAndFeelException',
-			'UnsupportedOperationException',
-			'URL',
-			'URLClassLoader',
-			'URLConnection',
-			'URLDecoder',
-			'URLEncoder',
-			'URLStreamHandler',
-			'URLStreamHandlerFactory',
-			'UserException',
-			'UShortSeqHelper',
-			'UShortSeqHolder',
-			'UTFDataFormatException',
-			'Util',
-			'UtilDelegate',
-			'Utilities',
-			'ValueBase',
-			'ValueBaseHelper',
-			'ValueBaseHolder',
-			'ValueFactory',
-			'ValueHandler',
-			'ValueMember',
-			'ValueMemberHelper',
-			'VariableHeightLayoutCache',
-			'Vector',
-			'VerifyError',
-			'VersionSpecHelper',
-			'VetoableChangeListener',
-			'VetoableChangeSupport',
-			'View',
-			'ViewFactory',
-			'ViewportLayout',
-			'ViewportUI',
-			'VirtualMachineError',
-			'Visibility',
-			'VisibilityHelper',
-			'VM_ABSTRACT',
-			'VM_CUSTOM',
-			'VM_NONE',
-			'VM_TRUNCATABLE',
-			'VMID',
-			'VoiceStatus',
-			'Void',
-			'WCharSeqHelper',
-			'WCharSeqHolder',
-			'WeakHashMap',
-			'WeakReference',
-			'Window',
-			'WindowAdapter',
-			'WindowConstants',
-			'WindowEvent', 'WindowListener',
-			'WrappedPlainView',
-			'WritableRaster',
-			'WritableRenderedImage',
-			'WriteAbortedException',
-			'Writer',
-			'WrongTransaction',
-			'WStringValueHelper',
-			'X509Certificate',
-			'X509CRL',
-			'X509CRLEntry',
-			'X509EncodedKeySpec',
-			'X509Extension',
-			'ZipEntry',
-			'ZipException',
-			'ZipFile',
-			'ZipInputStream',
-			'ZipOutputStream',
-			'ZoneView',
-			'_BindingIteratorImplBase',
-			'_BindingIteratorStub',
-			'_IDLTypeStub',
-			'_NamingContextImplBase',
-			'_NamingContextStub',
-			'_PolicyStub',
-			'_Remote_Stub '
-			),
-		4 => array(
-			'void', 'double', 'int', 'boolean', 'byte', 'short', 'long', 'char', 'float'
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => true,
-		4 => true
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;',
-			2 => 'color: #000000; font-weight: bold;',
-			3 => 'color: #aaaadd; font-weight: bold;',
-			4 => 'color: #993333;'
-			),
-		'COMMENTS' => array(
-			1=> 'color: #808080; font-style: italic;',
-			2=> 'color: #a1a100;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #006600;',
-			2 => 'color: #006600;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'SCRIPT' => array(
-			),
-		'REGEXPS' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => 'http://www.google.com/search?hl=en&amp;q=allinurl%3A{FNAME}+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky',
-		4 => ''
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+            'volatile', 'const', 'goto', 'import'
+            ),
+        2 => array(
+            'null', 'false', 'true'
+            ),
+        3 => array(
+            'AbstractAction', 'AbstractBorder', 'AbstractButton',
+            'AbstractCellEditor', 'AbstractCollection',
+            'AbstractColorChooserPanel', 'AbstractDocument',
+            'AbstractDocument.AttributeContext',
+            'AbstractDocument.Content',
+            'AbstractDocument.ElementEdit',
+            'AbstractLayoutCache',
+            'AbstractLayoutCache.NodeDimensions', 'AbstractList',
+            'AbstractListModel', 'AbstractMap',
+            'AbstractMethodError', 'AbstractSequentialList',
+            'AbstractSet', 'AbstractTableModel',
+            'AbstractUndoableEdit', 'AbstractWriter',
+            'AccessControlContext', 'AccessControlException',
+            'AccessController', 'AccessException', 'Accessible',
+            'AccessibleAction', 'AccessibleBundle',
+            'AccessibleComponent', 'AccessibleContext',
+            'AccessibleHyperlink', 'AccessibleHypertext',
+            'AccessibleIcon', 'AccessibleObject',
+            'AccessibleRelation', 'AccessibleRelationSet',
+            'AccessibleResourceBundle', 'AccessibleRole',
+            'AccessibleSelection', 'AccessibleState',
+            'AccessibleStateSet', 'AccessibleTable',
+            'AccessibleTableModelChange', 'AccessibleText',
+            'AccessibleValue', 'Acl', 'AclEntry',
+            'AclNotFoundException', 'Action', 'ActionEvent',
+            'ActionListener', 'ActionMap', 'ActionMapUIResource',
+            'Activatable', 'ActivateFailedException',
+            'ActivationDesc', 'ActivationException',
+            'ActivationGroup', 'ActivationGroupDesc',
+            'ActivationGroupDesc.CommandEnvironment',
+            'ActivationGroupID', 'ActivationID',
+            'ActivationInstantiator', 'ActivationMonitor',
+            'ActivationSystem', 'Activator', 'ActiveEvent',
+            'Adjustable', 'AdjustmentEvent',
+            'AdjustmentListener', 'Adler32', 'AffineTransform',
+            'AffineTransformOp', 'AlgorithmParameterGenerator',
+            'AlgorithmParameterGeneratorSpi',
+            'AlgorithmParameters', 'AlgorithmParameterSpec',
+            'AlgorithmParametersSpi', 'AllPermission',
+            'AlphaComposite', 'AlreadyBound',
+            'AlreadyBoundException', 'AlreadyBoundHelper',
+            'AlreadyBoundHolder', 'AncestorEvent',
+            'AncestorListener', 'Annotation', 'Any', 'AnyHolder',
+            'AnySeqHelper', 'AnySeqHolder', 'Applet',
+            'AppletContext', 'AppletInitializer', 'AppletStub',
+            'ApplicationException', 'Arc2D', 'Arc2D.Double',
+            'Arc2D.Float', 'Area', 'AreaAveragingScaleFilter',
+            'ARG_IN', 'ARG_INOUT', 'ARG_OUT',
+            'ArithmeticException', 'Array',
+            'ArrayIndexOutOfBoundsException', 'ArrayList',
+            'Arrays', 'ArrayStoreException', 'AsyncBoxView',
+            'Attribute', 'AttributedCharacterIterator',
+            'AttributedCharacterIterator.Attribute',
+            'AttributedString', 'AttributeInUseException',
+            'AttributeList', 'AttributeModificationException',
+            'Attributes', 'Attributes.Name', 'AttributeSet',
+            'AttributeSet.CharacterAttribute',
+            'AttributeSet.ColorAttribute',
+            'AttributeSet.FontAttribute',
+            'AttributeSet.ParagraphAttribute', 'AudioClip',
+            'AudioFileFormat', 'AudioFileFormat.Type',
+            'AudioFileReader', 'AudioFileWriter', 'AudioFormat',
+            'AudioFormat.Encoding', 'AudioInputStream',
+            'AudioPermission', 'AudioSystem',
+            'AuthenticationException',
+            'AuthenticationNotSupportedException',
+            'Authenticator', 'Autoscroll', 'AWTError',
+            'AWTEvent', 'AWTEventListener',
+            'AWTEventMulticaster', 'AWTException',
+            'AWTPermission', 'BadKind', 'BadLocationException',
+            'BAD_CONTEXT', 'BAD_INV_ORDER', 'BAD_OPERATION',
+            'BAD_PARAM', 'BAD_POLICY', 'BAD_POLICY_TYPE',
+            'BAD_POLICY_VALUE', 'BAD_TYPECODE', 'BandCombineOp',
+            'BandedSampleModel', 'BasicArrowButton',
+            'BasicAttribute', 'BasicAttributes', 'BasicBorders',
+            'BasicBorders.ButtonBorder',
+            'BasicBorders.FieldBorder',
+            'BasicBorders.MarginBorder',
+            'BasicBorders.MenuBarBorder',
+            'BasicBorders.RadioButtonBorder',
+            'BasicBorders.SplitPaneBorder',
+            'BasicBorders.ToggleButtonBorder',
+            'BasicButtonListener', 'BasicButtonUI',
+            'BasicCheckBoxMenuItemUI', 'BasicCheckBoxUI',
+            'BasicColorChooserUI', 'BasicComboBoxEditor',
+            'BasicComboBoxEditor.UIResource',
+            'BasicComboBoxRenderer',
+            'BasicComboBoxRenderer.UIResource',
+            'BasicComboBoxUI', 'BasicComboPopup',
+            'BasicDesktopIconUI', 'BasicDesktopPaneUI',
+            'BasicDirectoryModel', 'BasicEditorPaneUI',
+            'BasicFileChooserUI', 'BasicGraphicsUtils',
+            'BasicHTML', 'BasicIconFactory',
+            'BasicInternalFrameTitlePane',
+            'BasicInternalFrameUI', 'BasicLabelUI',
+            'BasicListUI', 'BasicLookAndFeel', 'BasicMenuBarUI',
+            'BasicMenuItemUI', 'BasicMenuUI',
+            'BasicOptionPaneUI',
+            'BasicOptionPaneUI.ButtonAreaLayout', 'BasicPanelUI',
+            'BasicPasswordFieldUI', 'BasicPermission',
+            'BasicPopupMenuSeparatorUI', 'BasicPopupMenuUI',
+            'BasicProgressBarUI', 'BasicRadioButtonMenuItemUI',
+            'BasicRadioButtonUI', 'BasicRootPaneUI',
+            'BasicScrollBarUI', 'BasicScrollPaneUI',
+            'BasicSeparatorUI', 'BasicSliderUI',
+            'BasicSplitPaneDivider', 'BasicSplitPaneUI',
+            'BasicStroke', 'BasicTabbedPaneUI',
+            'BasicTableHeaderUI', 'BasicTableUI',
+            'BasicTextAreaUI', 'BasicTextFieldUI',
+            'BasicTextPaneUI', 'BasicTextUI',
+            'BasicTextUI.BasicCaret',
+            'BasicTextUI.BasicHighlighter',
+            'BasicToggleButtonUI', 'BasicToolBarSeparatorUI',
+            'BasicToolBarUI', 'BasicToolTipUI', 'BasicTreeUI',
+            'BasicViewportUI', 'BatchUpdateException',
+            'BeanContext', 'BeanContextChild',
+            'BeanContextChildComponentProxy',
+            'BeanContextChildSupport',
+            'BeanContextContainerProxy', 'BeanContextEvent',
+            'BeanContextMembershipEvent',
+            'BeanContextMembershipListener', 'BeanContextProxy',
+            'BeanContextServiceAvailableEvent',
+            'BeanContextServiceProvider',
+            'BeanContextServiceProviderBeanInfo',
+            'BeanContextServiceRevokedEvent',
+            'BeanContextServiceRevokedListener',
+            'BeanContextServices', 'BeanContextServicesListener',
+            'BeanContextServicesSupport',
+            'BeanContextServicesSupport.BCSSServiceProvider',
+            'BeanContextSupport',
+            'BeanContextSupport.BCSIterator', 'BeanDescriptor',
+            'BeanInfo', 'Beans', 'BevelBorder', 'BigDecimal',
+            'BigInteger', 'BinaryRefAddr', 'BindException',
+            'Binding', 'BindingHelper', 'BindingHolder',
+            'BindingIterator', 'BindingIteratorHelper',
+            'BindingIteratorHolder', 'BindingIteratorOperations',
+            'BindingListHelper', 'BindingListHolder',
+            'BindingType', 'BindingTypeHelper',
+            'BindingTypeHolder', 'BitSet', 'Blob', 'BlockView',
+            'Book', 'Boolean', 'BooleanControl',
+            'BooleanControl.Type', 'BooleanHolder',
+            'BooleanSeqHelper', 'BooleanSeqHolder', 'Border',
+            'BorderFactory', 'BorderLayout', 'BorderUIResource',
+            'BorderUIResource.BevelBorderUIResource',
+            'BorderUIResource.CompoundBorderUIResource',
+            'BorderUIResource.EmptyBorderUIResource',
+            'BorderUIResource.EtchedBorderUIResource',
+            'BorderUIResource.LineBorderUIResource',
+            'BorderUIResource.MatteBorderUIResource',
+            'BorderUIResource.TitledBorderUIResource',
+            'BoundedRangeModel', 'Bounds', 'Box', 'Box.Filler',
+            'BoxedValueHelper', 'BoxLayout', 'BoxView',
+            'BreakIterator', 'BufferedImage',
+            'BufferedImageFilter', 'BufferedImageOp',
+            'BufferedInputStream', 'BufferedOutputStream',
+            'BufferedReader', 'BufferedWriter', 'Button',
+            'ButtonGroup', 'ButtonModel', 'ButtonUI', 'Byte',
+            'ByteArrayInputStream', 'ByteArrayOutputStream',
+            'ByteHolder', 'ByteLookupTable', 'Calendar',
+            'CallableStatement', 'CannotProceed',
+            'CannotProceedException', 'CannotProceedHelper',
+            'CannotProceedHolder', 'CannotRedoException',
+            'CannotUndoException', 'Canvas', 'CardLayout',
+            'Caret', 'CaretEvent', 'CaretListener', 'CellEditor',
+            'CellEditorListener', 'CellRendererPane',
+            'Certificate', 'Certificate.CertificateRep',
+            'CertificateEncodingException',
+            'CertificateException',
+            'CertificateExpiredException', 'CertificateFactory',
+            'CertificateFactorySpi',
+            'CertificateNotYetValidException',
+            'CertificateParsingException',
+            'ChangedCharSetException', 'ChangeEvent',
+            'ChangeListener', 'Character', 'Character.Subset',
+            'Character.UnicodeBlock', 'CharacterIterator',
+            'CharArrayReader', 'CharArrayWriter',
+            'CharConversionException', 'CharHolder',
+            'CharSeqHelper', 'CharSeqHolder', 'Checkbox',
+            'CheckboxGroup', 'CheckboxMenuItem',
+            'CheckedInputStream', 'CheckedOutputStream',
+            'Checksum', 'Choice', 'ChoiceFormat', 'Class',
+            'ClassCastException', 'ClassCircularityError',
+            'ClassDesc', 'ClassFormatError', 'ClassLoader',
+            'ClassNotFoundException', 'Clip', 'Clipboard',
+            'ClipboardOwner', 'Clob', 'Cloneable',
+            'CloneNotSupportedException', 'CMMException',
+            'CodeSource', 'CollationElementIterator',
+            'CollationKey', 'Collator', 'Collection',
+            'Collections', 'Color',
+            'ColorChooserComponentFactory', 'ColorChooserUI',
+            'ColorConvertOp', 'ColorModel',
+            'ColorSelectionModel', 'ColorSpace',
+            'ColorUIResource', 'ComboBoxEditor', 'ComboBoxModel',
+            'ComboBoxUI', 'ComboPopup', 'CommunicationException',
+            'COMM_FAILURE', 'Comparable', 'Comparator',
+            'Compiler', 'CompletionStatus',
+            'CompletionStatusHelper', 'Component',
+            'ComponentAdapter', 'ComponentColorModel',
+            'ComponentEvent', 'ComponentInputMap',
+            'ComponentInputMapUIResource', 'ComponentListener',
+            'ComponentOrientation', 'ComponentSampleModel',
+            'ComponentUI', 'ComponentView', 'Composite',
+            'CompositeContext', 'CompositeName', 'CompositeView',
+            'CompoundBorder', 'CompoundControl',
+            'CompoundControl.Type', 'CompoundEdit',
+            'CompoundName', 'ConcurrentModificationException',
+            'ConfigurationException', 'ConnectException',
+            'ConnectIOException', 'Connection', 'Constructor', 'Container',
+            'ContainerAdapter', 'ContainerEvent',
+            'ContainerListener', 'ContentHandler',
+            'ContentHandlerFactory', 'ContentModel', 'Context',
+            'ContextList', 'ContextNotEmptyException',
+            'ContextualRenderedImageFactory', 'Control',
+            'Control.Type', 'ControlFactory',
+            'ControllerEventListener', 'ConvolveOp', 'CRC32',
+            'CRL', 'CRLException', 'CropImageFilter', 'CSS',
+            'CSS.Attribute', 'CTX_RESTRICT_SCOPE',
+            'CubicCurve2D', 'CubicCurve2D.Double',
+            'CubicCurve2D.Float', 'Current', 'CurrentHelper',
+            'CurrentHolder', 'CurrentOperations', 'Cursor',
+            'Customizer', 'CustomMarshal', 'CustomValue',
+            'DatabaseMetaData', 'DataBuffer', 'DataBufferByte',
+            'DataBufferInt', 'DataBufferShort',
+            'DataBufferUShort', 'DataFlavor',
+            'DataFormatException', 'DatagramPacket',
+            'DatagramSocket', 'DatagramSocketImpl',
+            'DatagramSocketImplFactory', 'DataInput',
+            'DataInputStream', 'DataLine', 'DataLine.Info',
+            'DataOutput', 'DataOutputStream',
+            'DataTruncation', 'DATA_CONVERSION', 'Date',
+            'DateFormat', 'DateFormatSymbols', 'DebugGraphics',
+            'DecimalFormat', 'DecimalFormatSymbols',
+            'DefaultBoundedRangeModel', 'DefaultButtonModel',
+            'DefaultCaret', 'DefaultCellEditor',
+            'DefaultColorSelectionModel', 'DefaultComboBoxModel',
+            'DefaultDesktopManager', 'DefaultEditorKit',
+            'DefaultEditorKit.BeepAction',
+            'DefaultEditorKit.CopyAction',
+            'DefaultEditorKit.CutAction',
+            'DefaultEditorKit.DefaultKeyTypedAction',
+            'DefaultEditorKit.InsertBreakAction',
+            'DefaultEditorKit.InsertContentAction',
+            'DefaultEditorKit.InsertTabAction',
+            'DefaultEditorKit.PasteAction,',
+            'DefaultFocusManager', 'DefaultHighlighter',
+            'DefaultHighlighter.DefaultHighlightPainter',
+            'DefaultListCellRenderer',
+            'DefaultListCellRenderer.UIResource',
+            'DefaultListModel', 'DefaultListSelectionModel',
+            'DefaultMenuLayout', 'DefaultMetalTheme',
+            'DefaultMutableTreeNode',
+            'DefaultSingleSelectionModel',
+            'DefaultStyledDocument',
+            'DefaultStyledDocument.AttributeUndoableEdit',
+            'DefaultStyledDocument.ElementSpec',
+            'DefaultTableCellRenderer',
+            'DefaultTableCellRenderer.UIResource',
+            'DefaultTableColumnModel', 'DefaultTableModel',
+            'DefaultTextUI', 'DefaultTreeCellEditor',
+            'DefaultTreeCellRenderer', 'DefaultTreeModel',
+            'DefaultTreeSelectionModel', 'DefinitionKind',
+            'DefinitionKindHelper', 'Deflater',
+            'DeflaterOutputStream', 'Delegate', 'DesignMode',
+            'DesktopIconUI', 'DesktopManager', 'DesktopPaneUI',
+            'DGC', 'Dialog', 'Dictionary', 'DigestException',
+            'DigestInputStream', 'DigestOutputStream',
+            'Dimension', 'Dimension2D', 'DimensionUIResource',
+            'DirContext', 'DirectColorModel', 'DirectoryManager',
+            'DirObjectFactory', 'DirStateFactory',
+            'DirStateFactory.Result', 'DnDConstants', 'Document',
+            'DocumentEvent', 'DocumentEvent.ElementChange',
+            'DocumentEvent.EventType', 'DocumentListener',
+            'DocumentParser', 'DomainCombiner', 'DomainManager',
+            'DomainManagerOperations', 'Double', 'DoubleHolder',
+            'DoubleSeqHelper', 'DoubleSeqHolder',
+            'DragGestureEvent', 'DragGestureListener',
+            'DragGestureRecognizer', 'DragSource',
+            'DragSourceContext', 'DragSourceDragEvent',
+            'DragSourceDropEvent', 'DragSourceEvent',
+            'DragSourceListener', 'Driver', 'DriverManager',
+            'DriverPropertyInfo', 'DropTarget',
+            'DropTarget.DropTargetAutoScroller',
+            'DropTargetContext', 'DropTargetDragEvent',
+            'DropTargetDropEvent', 'DropTargetEvent',
+            'DropTargetListener', 'DSAKey',
+            'DSAKeyPairGenerator', 'DSAParameterSpec',
+            'DSAParams', 'DSAPrivateKey', 'DSAPrivateKeySpec',
+            'DSAPublicKey', 'DSAPublicKeySpec', 'DTD',
+            'DTDConstants', 'DynamicImplementation', 'DynAny',
+            'DynArray', 'DynEnum', 'DynFixed', 'DynSequence',
+            'DynStruct', 'DynUnion', 'DynValue', 'EditorKit',
+            'Element', 'ElementIterator', 'Ellipse2D',
+            'Ellipse2D.Double', 'Ellipse2D.Float', 'EmptyBorder',
+            'EmptyStackException', 'EncodedKeySpec', 'Entity',
+            'EnumControl', 'EnumControl.Type', 'Enumeration',
+            'Environment', 'EOFException', 'Error',
+            'EtchedBorder', 'Event', 'EventContext',
+            'EventDirContext', 'EventListener',
+            'EventListenerList', 'EventObject', 'EventQueue',
+            'EventSetDescriptor', 'Exception',
+            'ExceptionInInitializerError', 'ExceptionList',
+            'ExpandVetoException', 'ExportException',
+            'ExtendedRequest', 'ExtendedResponse',
+            'Externalizable', 'FeatureDescriptor', 'Field',
+            'FieldNameHelper', 'FieldPosition', 'FieldView',
+            'File', 'FileChooserUI', 'FileDescriptor',
+            'FileDialog', 'FileFilter',
+            'FileInputStream', 'FilenameFilter', 'FileNameMap',
+            'FileNotFoundException', 'FileOutputStream',
+            'FilePermission', 'FileReader', 'FileSystemView',
+            'FileView', 'FileWriter', 'FilteredImageSource',
+            'FilterInputStream', 'FilterOutputStream',
+            'FilterReader', 'FilterWriter',
+            'FixedHeightLayoutCache', 'FixedHolder',
+            'FlatteningPathIterator', 'FlavorMap', 'Float',
+            'FloatControl', 'FloatControl.Type', 'FloatHolder',
+            'FloatSeqHelper', 'FloatSeqHolder', 'FlowLayout',
+            'FlowView', 'FlowView.FlowStrategy', 'FocusAdapter',
+            'FocusEvent', 'FocusListener', 'FocusManager',
+            'Font', 'FontFormatException', 'FontMetrics',
+            'FontRenderContext', 'FontUIResource', 'Format',
+            'FormatConversionProvider', 'FormView', 'Frame',
+            'FREE_MEM', 'GapContent', 'GeneralPath',
+            'GeneralSecurityException', 'GlyphJustificationInfo',
+            'GlyphMetrics', 'GlyphVector', 'GlyphView',
+            'GlyphView.GlyphPainter', 'GradientPaint',
+            'GraphicAttribute', 'Graphics', 'Graphics2D',
+            'GraphicsConfigTemplate', 'GraphicsConfiguration',
+            'GraphicsDevice', 'GraphicsEnvironment',
+            'GrayFilter', 'GregorianCalendar',
+            'GridBagConstraints', 'GridBagLayout', 'GridLayout',
+            'Group', 'Guard', 'GuardedObject', 'GZIPInputStream',
+            'GZIPOutputStream', 'HasControls', 'HashMap',
+            'HashSet', 'Hashtable', 'HierarchyBoundsAdapter',
+            'HierarchyBoundsListener', 'HierarchyEvent',
+            'HierarchyListener', 'Highlighter',
+            'Highlighter.Highlight',
+            'Highlighter.HighlightPainter', 'HTML',
+            'HTML.Attribute', 'HTML.Tag', 'HTML.UnknownTag',
+            'HTMLDocument', 'HTMLDocument.Iterator',
+            'HTMLEditorKit', 'HTMLEditorKit.HTMLFactory',
+            'HTMLEditorKit.HTMLTextAction',
+            'HTMLEditorKit.InsertHTMLTextAction',
+            'HTMLEditorKit.LinkController',
+            'HTMLEditorKit.Parser',
+            'HTMLEditorKit.ParserCallback',
+            'HTMLFrameHyperlinkEvent', 'HTMLWriter',
+            'HttpURLConnection', 'HyperlinkEvent',
+            'HyperlinkEvent.EventType', 'HyperlinkListener',
+            'ICC_ColorSpace', 'ICC_Profile', 'ICC_ProfileGray',
+            'ICC_ProfileRGB', 'Icon', 'IconUIResource',
+            'IconView', 'IdentifierHelper', 'Identity',
+            'IdentityScope', 'IDLEntity', 'IDLType',
+            'IDLTypeHelper', 'IDLTypeOperations',
+            'IllegalAccessError', 'IllegalAccessException',
+            'IllegalArgumentException',
+            'IllegalComponentStateException',
+            'IllegalMonitorStateException',
+            'IllegalPathStateException', 'IllegalStateException',
+            'IllegalThreadStateException', 'Image',
+            'ImageConsumer', 'ImageFilter',
+            'ImageGraphicAttribute', 'ImageIcon',
+            'ImageObserver', 'ImageProducer',
+            'ImagingOpException', 'IMP_LIMIT',
+            'IncompatibleClassChangeError',
+            'InconsistentTypeCode', 'IndexColorModel',
+            'IndexedPropertyDescriptor',
+            'IndexOutOfBoundsException', 'IndirectionException',
+            'InetAddress', 'Inflater', 'InflaterInputStream',
+            'InheritableThreadLocal', 'InitialContext',
+            'InitialContextFactory',
+            'InitialContextFactoryBuilder', 'InitialDirContext',
+            'INITIALIZE', 'Initializer', 'InitialLdapContext',
+            'InlineView', 'InputContext', 'InputEvent',
+            'InputMap', 'InputMapUIResource', 'InputMethod',
+            'InputMethodContext', 'InputMethodDescriptor',
+            'InputMethodEvent', 'InputMethodHighlight',
+            'InputMethodListener', 'InputMethodRequests',
+            'InputStream',
+            'InputStreamReader', 'InputSubset', 'InputVerifier',
+            'Insets', 'InsetsUIResource', 'InstantiationError',
+            'InstantiationException', 'Instrument',
+            'InsufficientResourcesException', 'Integer',
+            'INTERNAL', 'InternalError', 'InternalFrameAdapter',
+            'InternalFrameEvent', 'InternalFrameListener',
+            'InternalFrameUI', 'InterruptedException',
+            'InterruptedIOException',
+            'InterruptedNamingException', 'INTF_REPOS',
+            'IntHolder', 'IntrospectionException',
+            'Introspector', 'Invalid',
+            'InvalidAlgorithmParameterException',
+            'InvalidAttributeIdentifierException',
+            'InvalidAttributesException',
+            'InvalidAttributeValueException',
+            'InvalidClassException',
+            'InvalidDnDOperationException',
+            'InvalidKeyException', 'InvalidKeySpecException',
+            'InvalidMidiDataException', 'InvalidName',
+            'InvalidNameException',
+            'InvalidNameHelper', 'InvalidNameHolder',
+            'InvalidObjectException',
+            'InvalidParameterException',
+            'InvalidParameterSpecException',
+            'InvalidSearchControlsException',
+            'InvalidSearchFilterException', 'InvalidSeq',
+            'InvalidTransactionException', 'InvalidValue',
+            'INVALID_TRANSACTION', 'InvocationEvent',
+            'InvocationHandler', 'InvocationTargetException',
+            'InvokeHandler', 'INV_FLAG', 'INV_IDENT',
+            'INV_OBJREF', 'INV_POLICY', 'IOException',
+            'IRObject', 'IRObjectOperations', 'IstringHelper',
+            'ItemEvent', 'ItemListener', 'ItemSelectable',
+            'Iterator', 'JApplet', 'JarEntry', 'JarException',
+            'JarFile', 'JarInputStream', 'JarOutputStream',
+            'JarURLConnection', 'JButton', 'JCheckBox',
+            'JCheckBoxMenuItem', 'JColorChooser', 'JComboBox',
+            'JComboBox.KeySelectionManager', 'JComponent',
+            'JDesktopPane', 'JDialog', 'JEditorPane',
+            'JFileChooser', 'JFrame', 'JInternalFrame',
+            'JInternalFrame.JDesktopIcon', 'JLabel',
+            'JLayeredPane', 'JList', 'JMenu', 'JMenuBar',
+            'JMenuItem', 'JobAttributes',
+            'JobAttributes.DefaultSelectionType',
+            'JobAttributes.DestinationType',
+            'JobAttributes.DialogType',
+            'JobAttributes.MultipleDocumentHandlingType',
+            'JobAttributes.SidesType', 'JOptionPane', 'JPanel',
+            'JPasswordField', 'JPopupMenu',
+            'JPopupMenu.Separator', 'JProgressBar',
+            'JRadioButton', 'JRadioButtonMenuItem', 'JRootPane',
+            'JScrollBar', 'JScrollPane', 'JSeparator', 'JSlider',
+            'JSplitPane', 'JTabbedPane', 'JTable',
+            'JTableHeader', 'JTextArea', 'JTextComponent',
+            'JTextComponent.KeyBinding', 'JTextField',
+            'JTextPane', 'JToggleButton',
+            'JToggleButton.ToggleButtonModel', 'JToolBar',
+            'JToolBar.Separator', 'JToolTip', 'JTree',
+            'JTree.DynamicUtilTreeNode',
+            'JTree.EmptySelectionModel', 'JViewport', 'JWindow',
+            'Kernel', 'Key', 'KeyAdapter', 'KeyEvent',
+            'KeyException', 'KeyFactory', 'KeyFactorySpi',
+            'KeyListener', 'KeyManagementException', 'Keymap',
+            'KeyPair', 'KeyPairGenerator', 'KeyPairGeneratorSpi',
+            'KeySpec', 'KeyStore', 'KeyStoreException',
+            'KeyStoreSpi', 'KeyStroke', 'Label', 'LabelUI',
+            'LabelView', 'LastOwnerException',
+            'LayeredHighlighter',
+            'LayeredHighlighter.LayerPainter', 'LayoutManager',
+            'LayoutManager2', 'LayoutQueue', 'LdapContext',
+            'LdapReferralException', 'Lease',
+            'LimitExceededException', 'Line', 'Line.Info',
+            'Line2D', 'Line2D.Double', 'Line2D.Float',
+            'LineBorder', 'LineBreakMeasurer', 'LineEvent',
+            'LineEvent.Type', 'LineListener', 'LineMetrics',
+            'LineNumberInputStream', 'LineNumberReader',
+            'LineUnavailableException', 'LinkageError',
+            'LinkedList', 'LinkException', 'LinkLoopException',
+            'LinkRef', 'List', 'ListCellRenderer',
+            'ListDataEvent', 'ListDataListener', 'ListIterator',
+            'ListModel', 'ListResourceBundle',
+            'ListSelectionEvent', 'ListSelectionListener',
+            'ListSelectionModel', 'ListUI', 'ListView',
+            'LoaderHandler', 'Locale', 'LocateRegistry',
+            'LogStream', 'Long', 'LongHolder',
+            'LongLongSeqHelper', 'LongLongSeqHolder',
+            'LongSeqHelper', 'LongSeqHolder', 'LookAndFeel',
+            'LookupOp', 'LookupTable', 'MalformedLinkException',
+            'MalformedURLException', 'Manifest', 'Map',
+            'Map.Entry', 'MARSHAL', 'MarshalException',
+            'MarshalledObject', 'Math', 'MatteBorder',
+            'MediaTracker', 'Member', 'MemoryImageSource',
+            'Menu', 'MenuBar', 'MenuBarUI', 'MenuComponent',
+            'MenuContainer', 'MenuDragMouseEvent',
+            'MenuDragMouseListener', 'MenuElement', 'MenuEvent',
+            'MenuItem', 'MenuItemUI', 'MenuKeyEvent',
+            'MenuKeyListener', 'MenuListener',
+            'MenuSelectionManager', 'MenuShortcut',
+            'MessageDigest', 'MessageDigestSpi', 'MessageFormat',
+            'MetaEventListener', 'MetalBorders',
+            'MetalBorders.ButtonBorder',
+            'MetalBorders.Flush3DBorder',
+            'MetalBorders.InternalFrameBorder',
+            'MetalBorders.MenuBarBorder',
+            'MetalBorders.MenuItemBorder',
+            'MetalBorders.OptionDialogBorder',
+            'MetalBorders.PaletteBorder',
+            'MetalBorders.PopupMenuBorder',
+            'MetalBorders.RolloverButtonBorder',
+            'MetalBorders.ScrollPaneBorder',
+            'MetalBorders.TableHeaderBorder',
+            'MetalBorders.TextFieldBorder',
+            'MetalBorders.ToggleButtonBorder',
+            'MetalBorders.ToolBarBorder', 'MetalButtonUI',
+            'MetalCheckBoxIcon', 'MetalCheckBoxUI',
+            'MetalComboBoxButton', 'MetalComboBoxEditor',
+            'MetalComboBoxEditor.UIResource',
+            'MetalComboBoxIcon', 'MetalComboBoxUI',
+            'MetalDesktopIconUI', 'MetalFileChooserUI',
+            'MetalIconFactory', 'MetalIconFactory.FileIcon16',
+            'MetalIconFactory.FolderIcon16',
+            'MetalIconFactory.PaletteCloseIcon',
+            'MetalIconFactory.TreeControlIcon',
+            'MetalIconFactory.TreeFolderIcon',
+            'MetalIconFactory.TreeLeafIcon',
+            'MetalInternalFrameTitlePane',
+            'MetalInternalFrameUI', 'MetalLabelUI',
+            'MetalLookAndFeel', 'MetalPopupMenuSeparatorUI',
+            'MetalProgressBarUI', 'MetalRadioButtonUI',
+            'MetalScrollBarUI', 'MetalScrollButton',
+            'MetalScrollPaneUI', 'MetalSeparatorUI',
+            'MetalSliderUI', 'MetalSplitPaneUI',
+            'MetalTabbedPaneUI', 'MetalTextFieldUI',
+            'MetalTheme', 'MetalToggleButtonUI',
+            'MetalToolBarUI', 'MetalToolTipUI', 'MetalTreeUI',
+            'MetaMessage', 'Method', 'MethodDescriptor',
+            'MidiChannel', 'MidiDevice', 'MidiDevice.Info',
+            'MidiDeviceProvider', 'MidiEvent', 'MidiFileFormat',
+            'MidiFileReader', 'MidiFileWriter', 'MidiMessage',
+            'MidiSystem', 'MidiUnavailableException',
+            'MimeTypeParseException', 'MinimalHTMLWriter',
+            'MissingResourceException', 'Mixer', 'Mixer.Info',
+            'MixerProvider', 'ModificationItem', 'Modifier',
+            'MouseAdapter', 'MouseDragGestureRecognizer',
+            'MouseEvent', 'MouseInputAdapter',
+            'MouseInputListener', 'MouseListener',
+            'MouseMotionAdapter', 'MouseMotionListener',
+            'MultiButtonUI', 'MulticastSocket',
+            'MultiColorChooserUI', 'MultiComboBoxUI',
+            'MultiDesktopIconUI', 'MultiDesktopPaneUI',
+            'MultiFileChooserUI', 'MultiInternalFrameUI',
+            'MultiLabelUI', 'MultiListUI', 'MultiLookAndFeel',
+            'MultiMenuBarUI', 'MultiMenuItemUI',
+            'MultiOptionPaneUI', 'MultiPanelUI',
+            'MultiPixelPackedSampleModel', 'MultipleMaster',
+            'MultiPopupMenuUI', 'MultiProgressBarUI',
+            'MultiScrollBarUI', 'MultiScrollPaneUI',
+            'MultiSeparatorUI', 'MultiSliderUI',
+            'MultiSplitPaneUI', 'MultiTabbedPaneUI',
+            'MultiTableHeaderUI', 'MultiTableUI', 'MultiTextUI',
+            'MultiToolBarUI', 'MultiToolTipUI', 'MultiTreeUI',
+            'MultiViewportUI', 'MutableAttributeSet',
+            'MutableComboBoxModel', 'MutableTreeNode', 'Name',
+            'NameAlreadyBoundException', 'NameClassPair',
+            'NameComponent', 'NameComponentHelper',
+            'NameComponentHolder', 'NamedValue', 'NameHelper',
+            'NameHolder', 'NameNotFoundException', 'NameParser',
+            'NamespaceChangeListener', 'NameValuePair',
+            'NameValuePairHelper', 'Naming', 'NamingContext',
+            'NamingContextHelper', 'NamingContextHolder',
+            'NamingContextOperations', 'NamingEnumeration',
+            'NamingEvent', 'NamingException',
+            'NamingExceptionEvent', 'NamingListener',
+            'NamingManager', 'NamingSecurityException',
+            'NegativeArraySizeException', 'NetPermission',
+            'NoClassDefFoundError', 'NoInitialContextException',
+            'NoninvertibleTransformException',
+            'NoPermissionException', 'NoRouteToHostException',
+            'NoSuchAlgorithmException',
+            'NoSuchAttributeException', 'NoSuchElementException',
+            'NoSuchFieldError', 'NoSuchFieldException',
+            'NoSuchMethodError', 'NoSuchMethodException',
+            'NoSuchObjectException', 'NoSuchProviderException',
+            'NotActiveException', 'NotBoundException',
+            'NotContextException', 'NotEmpty', 'NotEmptyHelper',
+            'NotEmptyHolder', 'NotFound', 'NotFoundHelper',
+            'NotFoundHolder', 'NotFoundReason',
+            'NotFoundReasonHelper', 'NotFoundReasonHolder',
+            'NotOwnerException', 'NotSerializableException',
+            'NO_IMPLEMENT', 'NO_MEMORY', 'NO_PERMISSION',
+            'NO_RESOURCES', 'NO_RESPONSE',
+            'NullPointerException', 'Number', 'NumberFormat',
+            'NumberFormatException', 'NVList', 'Object',
+            'ObjectChangeListener', 'ObjectFactory',
+            'ObjectFactoryBuilder', 'ObjectHelper',
+            'ObjectHolder', 'ObjectImpl',
+            'ObjectInput', 'ObjectInputStream',
+            'ObjectInputStream.GetField',
+            'ObjectInputValidation', 'ObjectOutput',
+            'ObjectOutputStream', 'ObjectOutputStream.PutField',
+            'ObjectStreamClass', 'ObjectStreamConstants',
+            'ObjectStreamException', 'ObjectStreamField',
+            'ObjectView', 'OBJECT_NOT_EXIST', 'ObjID',
+            'OBJ_ADAPTER', 'Observable', 'Observer',
+            'OctetSeqHelper', 'OctetSeqHolder', 'OMGVMCID',
+            'OpenType', 'Operation',
+            'OperationNotSupportedException', 'Option',
+            'OptionalDataException', 'OptionPaneUI', 'ORB',
+            'OutOfMemoryError', 'OutputStream',
+            'OutputStreamWriter', 'OverlayLayout', 'Owner',
+            'Package', 'PackedColorModel', 'Pageable',
+            'PageAttributes', 'PageAttributes.ColorType',
+            'PageAttributes.MediaType',
+            'PageAttributes.OrientationRequestedType',
+            'PageAttributes.OriginType',
+            'PageAttributes.PrintQualityType', 'PageFormat',
+            'Paint', 'PaintContext', 'PaintEvent', 'Panel',
+            'PanelUI', 'Paper', 'ParagraphView',
+            'ParameterBlock', 'ParameterDescriptor',
+            'ParseException', 'ParsePosition', 'Parser',
+            'ParserDelegator', 'PartialResultException',
+            'PasswordAuthentication', 'PasswordView', 'Patch',
+            'PathIterator', 'Permission',
+            'PermissionCollection', 'Permissions',
+            'PERSIST_STORE', 'PhantomReference',
+            'PipedInputStream', 'PipedOutputStream',
+            'PipedReader', 'PipedWriter', 'PixelGrabber',
+            'PixelInterleavedSampleModel', 'PKCS8EncodedKeySpec',
+            'PlainDocument', 'PlainView', 'Point', 'Point2D',
+            'Point2D.Double', 'Point2D.Float', 'Policy',
+            'PolicyError', 'PolicyHelper',
+            'PolicyHolder', 'PolicyListHelper',
+            'PolicyListHolder', 'PolicyOperations',
+            'PolicyTypeHelper', 'Polygon', 'PopupMenu',
+            'PopupMenuEvent', 'PopupMenuListener', 'PopupMenuUI',
+            'Port', 'Port.Info', 'PortableRemoteObject',
+            'PortableRemoteObjectDelegate', 'Position',
+            'Position.Bias', 'PreparedStatement', 'Principal',
+            'PrincipalHolder', 'Printable',
+            'PrinterAbortException', 'PrinterException',
+            'PrinterGraphics', 'PrinterIOException',
+            'PrinterJob', 'PrintGraphics', 'PrintJob',
+            'PrintStream', 'PrintWriter', 'PrivateKey',
+            'PRIVATE_MEMBER', 'PrivilegedAction',
+            'PrivilegedActionException',
+            'PrivilegedExceptionAction', 'Process',
+            'ProfileDataException', 'ProgressBarUI',
+            'ProgressMonitor', 'ProgressMonitorInputStream',
+            'Properties', 'PropertyChangeEvent',
+            'PropertyChangeListener', 'PropertyChangeSupport',
+            'PropertyDescriptor', 'PropertyEditor',
+            'PropertyEditorManager', 'PropertyEditorSupport',
+            'PropertyPermission', 'PropertyResourceBundle',
+            'PropertyVetoException', 'ProtectionDomain',
+            'ProtocolException', 'Provider', 'ProviderException',
+            'Proxy', 'PublicKey', 'PUBLIC_MEMBER',
+            'PushbackInputStream', 'PushbackReader',
+            'QuadCurve2D', 'QuadCurve2D.Double',
+            'QuadCurve2D.Float', 'Random', 'RandomAccessFile',
+            'Raster', 'RasterFormatException', 'RasterOp',
+            'Reader', 'Receiver', 'Rectangle', 'Rectangle2D',
+            'Rectangle2D.Double', 'Rectangle2D.Float',
+            'RectangularShape', 'Ref', 'RefAddr', 'Reference',
+            'Referenceable', 'ReferenceQueue',
+            'ReferralException', 'ReflectPermission', 'Registry',
+            'RegistryHandler', 'RemarshalException', 'Remote',
+            'RemoteCall', 'RemoteException', 'RemoteObject',
+            'RemoteRef', 'RemoteServer', 'RemoteStub',
+            'RenderableImage', 'RenderableImageOp',
+            'RenderableImageProducer', 'RenderContext',
+            'RenderedImage', 'RenderedImageFactory', 'Renderer',
+            'RenderingHints', 'RenderingHints.Key',
+            'RepaintManager', 'ReplicateScaleFilter',
+            'Repository', 'RepositoryIdHelper', 'Request',
+            'RescaleOp', 'Resolver', 'ResolveResult',
+            'ResourceBundle', 'ResponseHandler', 'ResultSet',
+            'ResultSetMetaData', 'ReverbType', 'RGBImageFilter',
+            'RMIClassLoader', 'RMIClientSocketFactory',
+            'RMIFailureHandler', 'RMISecurityException',
+            'RMISecurityManager', 'RMIServerSocketFactory',
+            'RMISocketFactory', 'Robot', 'RootPaneContainer',
+            'RootPaneUI', 'RoundRectangle2D',
+            'RoundRectangle2D.Double', 'RoundRectangle2D.Float',
+            'RowMapper', 'RSAKey', 'RSAKeyGenParameterSpec',
+            'RSAPrivateCrtKey', 'RSAPrivateCrtKeySpec',
+            'RSAPrivateKey', 'RSAPrivateKeySpec', 'RSAPublicKey',
+            'RSAPublicKeySpec', 'RTFEditorKit',
+            'RuleBasedCollator', 'Runnable', 'RunTime',
+            'Runtime', 'RuntimeException', 'RunTimeOperations',
+            'RuntimePermission', 'SampleModel',
+            'SchemaViolationException', 'Scrollable',
+            'Scrollbar', 'ScrollBarUI', 'ScrollPane',
+            'ScrollPaneConstants', 'ScrollPaneLayout',
+            'ScrollPaneLayout.UIResource', 'ScrollPaneUI',
+            'SearchControls', 'SearchResult',
+            'SecureClassLoader', 'SecureRandom',
+            'SecureRandomSpi', 'Security', 'SecurityException',
+            'SecurityManager', 'SecurityPermission', 'Segment',
+            'SeparatorUI', 'Sequence', 'SequenceInputStream',
+            'Sequencer', 'Sequencer.SyncMode', 'Serializable',
+            'SerializablePermission', 'ServantObject',
+            'ServerCloneException', 'ServerError',
+            'ServerException', 'ServerNotActiveException',
+            'ServerRef', 'ServerRequest',
+            'ServerRuntimeException', 'ServerSocket',
+            'ServiceDetail', 'ServiceDetailHelper',
+            'ServiceInformation', 'ServiceInformationHelper',
+            'ServiceInformationHolder',
+            'ServiceUnavailableException', 'Set',
+            'SetOverrideType', 'SetOverrideTypeHelper', 'Shape',
+            'ShapeGraphicAttribute', 'Short', 'ShortHolder',
+            'ShortLookupTable', 'ShortMessage', 'ShortSeqHelper',
+            'ShortSeqHolder', 'Signature', 'SignatureException',
+            'SignatureSpi', 'SignedObject', 'Signer',
+            'SimpleAttributeSet', 'SimpleBeanInfo',
+            'SimpleDateFormat', 'SimpleTimeZone',
+            'SinglePixelPackedSampleModel',
+            'SingleSelectionModel', 'SizeLimitExceededException',
+            'SizeRequirements', 'SizeSequence', 'Skeleton',
+            'SkeletonMismatchException',
+            'SkeletonNotFoundException', 'SliderUI', 'Socket',
+            'SocketException', 'SocketImpl', 'SocketImplFactory',
+            'SocketOptions', 'SocketPermission',
+            'SocketSecurityException', 'SoftBevelBorder',
+            'SoftReference', 'SortedMap', 'SortedSet',
+            'Soundbank', 'SoundbankReader', 'SoundbankResource',
+            'SourceDataLine', 'SplitPaneUI', 'SQLData',
+            'SQLException', 'SQLInput', 'SQLOutput',
+            'SQLPermission', 'SQLWarning', 'Stack',
+            'StackOverflowError', 'StateEdit', 'StateEditable',
+            'StateFactory', 'Statement', 'Streamable',
+            'StreamableValue', 'StreamCorruptedException',
+            'StreamTokenizer', 'StrictMath', 'String',
+            'StringBuffer', 'StringBufferInputStream',
+            'StringCharacterIterator', 'StringContent',
+            'StringHolder', 'StringIndexOutOfBoundsException',
+            'StringReader', 'StringRefAddr', 'StringSelection',
+            'StringTokenizer', 'StringValueHelper',
+            'StringWriter', 'Stroke', 'Struct', 'StructMember',
+            'StructMemberHelper', 'Stub', 'StubDelegate',
+            'StubNotFoundException', 'Style', 'StyleConstants',
+            'StyleConstants.CharacterConstants',
+            'StyleConstants.ColorConstants',
+            'StyleConstants.FontConstants',
+            'StyleConstants.ParagraphConstants', 'StyleContext',
+            'StyledDocument', 'StyledEditorKit',
+            'StyledEditorKit.AlignmentAction',
+            'StyledEditorKit.BoldAction',
+            'StyledEditorKit.FontFamilyAction',
+            'StyledEditorKit.FontSizeAction',
+            'StyledEditorKit.ForegroundAction',
+            'StyledEditorKit.ItalicAction',
+            'StyledEditorKit.StyledTextAction',
+            'StyledEditorKit.UnderlineAction', 'StyleSheet',
+            'StyleSheet.BoxPainter', 'StyleSheet.ListPainter',
+            'SwingConstants', 'SwingPropertyChangeSupport',
+            'SwingUtilities', 'SyncFailedException',
+            'Synthesizer', 'SysexMessage', 'System',
+            'SystemColor', 'SystemException', 'SystemFlavorMap',
+            'TabableView', 'TabbedPaneUI', 'TabExpander',
+            'TableCellEditor', 'TableCellRenderer',
+            'TableColumn', 'TableColumnModel',
+            'TableColumnModelEvent', 'TableColumnModelListener',
+            'TableHeaderUI', 'TableModel', 'TableModelEvent',
+            'TableModelListener', 'TableUI', 'TableView',
+            'TabSet', 'TabStop', 'TagElement', 'TargetDataLine',
+            'TCKind', 'TextAction', 'TextArea', 'TextAttribute',
+            'TextComponent', 'TextEvent', 'TextField',
+            'TextHitInfo', 'TextLayout',
+            'TextLayout.CaretPolicy', 'TextListener',
+            'TextMeasurer', 'TextUI', 'TexturePaint', 'Thread',
+            'ThreadDeath', 'ThreadGroup', 'ThreadLocal',
+            'Throwable', 'Tie', 'TileObserver', 'Time',
+            'TimeLimitExceededException', 'Timer',
+            'TimerTask', 'Timestamp', 'TimeZone', 'TitledBorder',
+            'ToolBarUI', 'Toolkit', 'ToolTipManager',
+            'ToolTipUI', 'TooManyListenersException', 'Track',
+            'TransactionRequiredException',
+            'TransactionRolledbackException',
+            'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK',
+            'Transferable', 'TransformAttribute', 'TRANSIENT',
+            'Transmitter', 'Transparency', 'TreeCellEditor',
+            'TreeCellRenderer', 'TreeExpansionEvent',
+            'TreeExpansionListener', 'TreeMap', 'TreeModel',
+            'TreeModelEvent', 'TreeModelListener', 'TreeNode',
+            'TreePath', 'TreeSelectionEvent',
+            'TreeSelectionListener', 'TreeSelectionModel',
+            'TreeSet', 'TreeUI', 'TreeWillExpandListener',
+            'TypeCode', 'TypeCodeHolder', 'TypeMismatch',
+            'Types', 'UID', 'UIDefaults',
+            'UIDefaults.ActiveValue', 'UIDefaults.LazyInputMap',
+            'UIDefaults.LazyValue', 'UIDefaults.ProxyLazyValue',
+            'UIManager', 'UIManager.LookAndFeelInfo',
+            'UIResource', 'ULongLongSeqHelper',
+            'ULongLongSeqHolder', 'ULongSeqHelper',
+            'ULongSeqHolder', 'UndeclaredThrowableException',
+            'UndoableEdit', 'UndoableEditEvent',
+            'UndoableEditListener', 'UndoableEditSupport',
+            'UndoManager', 'UnexpectedException',
+            'UnicastRemoteObject', 'UnionMember',
+            'UnionMemberHelper', 'UNKNOWN', 'UnknownError',
+            'UnknownException', 'UnknownGroupException',
+            'UnknownHostException',
+            'UnknownObjectException', 'UnknownServiceException',
+            'UnknownUserException', 'UnmarshalException',
+            'UnrecoverableKeyException', 'Unreferenced',
+            'UnresolvedPermission', 'UnsatisfiedLinkError',
+            'UnsolicitedNotification',
+            'UnsolicitedNotificationEvent',
+            'UnsolicitedNotificationListener',
+            'UnsupportedAudioFileException',
+            'UnsupportedClassVersionError',
+            'UnsupportedEncodingException',
+            'UnsupportedFlavorException',
+            'UnsupportedLookAndFeelException',
+            'UnsupportedOperationException',
+            'UNSUPPORTED_POLICY', 'UNSUPPORTED_POLICY_VALUE',
+            'URL', 'URLClassLoader', 'URLConnection',
+            'URLDecoder', 'URLEncoder', 'URLStreamHandler',
+            'URLStreamHandlerFactory', 'UserException',
+            'UShortSeqHelper', 'UShortSeqHolder',
+            'UTFDataFormatException', 'Util', 'UtilDelegate',
+            'Utilities', 'ValueBase', 'ValueBaseHelper',
+            'ValueBaseHolder', 'ValueFactory', 'ValueHandler',
+            'ValueMember', 'ValueMemberHelper',
+            'VariableHeightLayoutCache', 'Vector', 'VerifyError',
+            'VersionSpecHelper', 'VetoableChangeListener',
+            'VetoableChangeSupport', 'View', 'ViewFactory',
+            'ViewportLayout', 'ViewportUI',
+            'VirtualMachineError', 'Visibility',
+            'VisibilityHelper', 'VMID', 'VM_ABSTRACT',
+            'VM_CUSTOM', 'VM_NONE', 'VM_TRUNCATABLE',
+            'VoiceStatus', 'Void', 'WCharSeqHelper',
+            'WCharSeqHolder', 'WeakHashMap', 'WeakReference',
+            'Window', 'WindowAdapter', 'WindowConstants',
+            'WindowEvent', 'WindowListener', 'WrappedPlainView',
+            'WritableRaster', 'WritableRenderedImage',
+            'WriteAbortedException', 'Writer',
+            'WrongTransaction', 'WStringValueHelper',
+            'X509Certificate', 'X509CRL', 'X509CRLEntry',
+            'X509EncodedKeySpec', 'X509Extension', 'ZipEntry',
+            'ZipException', 'ZipFile', 'ZipInputStream',
+            'ZipOutputStream', 'ZoneView',
+            '_BindingIteratorImplBase', '_BindingIteratorStub',
+            '_IDLTypeStub', '_NamingContextImplBase',
+            '_NamingContextStub', '_PolicyStub', '_Remote_Stub'
+            ),
+        4 => array(
+            'void', 'double', 'int', 'boolean', 'byte', 'short', 'long', 'char', 'float'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}',
+        '+', '-', '*', '/', '%',
+        '!', '&', '|', '^',
+        '<', '>', '=',
+        '?', ':', ';',
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => true,
+        4 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000; font-weight: bold;',
+            2 => 'color: #000066; font-weight: bold;',
+            3 => 'color: #003399;',
+            4 => 'color: #000066; font-weight: bold;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            2 => 'color: #006699;',
+            3 => 'color: #008000; font-style: italic; font-weight: bold;',
+            3 => 'color: #008000; font-style: italic; font-weight: bold;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006633;',
+            2 => 'color: #006633;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => 'http://www.google.com/search?hl=en&amp;q=allinurl%3A{FNAMEL}+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/java5.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/java5.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * --------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/07/10
  *
  * Java language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/25 (1.0.7.22)
+ *   -  Added highlighting of import and package directives as non-OOP
  * 2005/12/28 (1.0.4)
  *   -  Added instanceof keyword
  * 2004/11/27 (1.0.3)
@@ -49,973 +51,981 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Java(TM) 2 Platform Standard Edition 5.0',
-	'COMMENT_SINGLE' => array(1 => '//'),   /* import statements are not comments! */
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			/* see the authoritative list of all 50 Java keywords at */
-			/* http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#229308 */
+    'LANG_NAME' => 'Java(TM) 2 Platform Standard Edition 5.0',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'COMMENT_REGEXP' => array(
+        //Import and Package directives (Basic Support only)
+        2 => '/(?:(?<=import[\\n\\s])|(?<=package[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*([a-zA-Z0-9_]+|\*)(?=[\n\s;])/i',
+        // javadoc comments
+        3 => '#/\*\*(?![\*\/]).*\*/#sU'
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            /* see the authoritative list of all 50 Java keywords at */
+            /* http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#229308 */
 
-			/* java keywords, part 1: control flow */
-			'case', 'default', 'do', 'else', 'for',
-			'goto', 'if', 'switch', 'while'
+            /* java keywords, part 1: control flow */
+            'case', 'default', 'do', 'else', 'for',
+            'goto', 'if', 'switch', 'while'
 
-			/* IMO 'break', 'continue', 'return' and 'throw' */
+            /* IMO 'break', 'continue', 'return' and 'throw' */
                         /* should also be added to this group, as they   */
-			/* also manage the control flow,                 */
-			/* arguably 'try'/'catch'/'finally' as well      */
-			),
-		2 => array(
-			/* java keywords, part 2 */
+            /* also manage the control flow,                 */
+            /* arguably 'try'/'catch'/'finally' as well      */
+            ),
+        2 => array(
+            /* java keywords, part 2 */
 
-			'break', 'continue', 'return', 'throw',
-			'try', 'catch', 'finally',
+            'break', 'continue', 'return', 'throw',
+            'try', 'catch', 'finally',
 
-			'abstract', 'assert', 'class', 'const', 'enum', 'extends',
-			'final', 'implements', 'import', 'instanceof', 'interface',
-			'native', 'new', 'package', 'private', 'protected',
-			'public', 'static', 'strictfp', 'super', 'synchronized',
-			'this', 'throws', 'transient', 'volatile'
-			),
-		3 => array(
-			/* Java keywords, part 3: primitive data types and 'void' */
-			'boolean', 'byte', 'char', 'double',
-			'float', 'int', 'long', 'short', 'void'
-			),
-		4 => array(
-			/* other reserved words in Java: literals */
-			/* should be styled to look similar to numbers and Strings */
-			'false', 'null', 'true'
-			),
-		5 => array (
-			'Applet', 'AppletContext', 'AppletStub', 'AudioClip'
-			),
-		6 => array (
-			'AWTError', 'AWTEvent', 'AWTEventMulticaster', 'AWTException', 'AWTKeyStroke', 'AWTPermission', 'ActiveEvent', 'Adjustable', 'AlphaComposite', 'BasicStroke', 'BorderLayout', 'BufferCapabilities', 'BufferCapabilities.FlipContents', 'Button', 'Canvas', 'CardLayout', 'Checkbox', 'CheckboxGroup', 'CheckboxMenuItem', 'Choice', 'Color', 'Component', 'ComponentOrientation', 'Composite', 'CompositeContext', 'Container', 'ContainerOrderFocusTraversalPolicy', 'Cursor', 'DefaultFocusTraversalPolicy', 'DefaultKeyboardFocusManager', 'Dialog', 'Dimension', 'DisplayMode', 'EventQueue', 'FileDialog', 'FlowLayout', 'FocusTraversalPolicy', 'Font', 'FontFormatException', 'FontMetrics', 'Frame', 'GradientPaint', 'Graphics', 'Graphics2D', 'GraphicsConfigTemplate', 'GraphicsConfiguration', 'GraphicsDevice', 'GraphicsEnvironment', 'GridBagConstraints', 'GridBagLayout', 'GridLayout', 'HeadlessException', 'IllegalComponentStateException', 'Image', 'ImageCapabilities', 'Insets', 'ItemSelectable', 'JobAttributes',
-			'JobAttributes.DefaultSelectionType', 'JobAttributes.DestinationType', 'JobAttributes.DialogType', 'JobAttributes.MultipleDocumentHandlingType', 'JobAttributes.SidesType', 'KeyEventDispatcher', 'KeyEventPostProcessor', 'KeyboardFocusManager', 'Label', 'LayoutManager', 'LayoutManager2', 'MediaTracker', 'Menu', 'MenuBar', 'MenuComponent', 'MenuContainer', 'MenuItem', 'MenuShortcut', 'MouseInfo', 'PageAttributes', 'PageAttributes.ColorType', 'PageAttributes.MediaType', 'PageAttributes.OrientationRequestedType', 'PageAttributes.OriginType', 'PageAttributes.PrintQualityType', 'Paint', 'PaintContext', 'Panel', 'Point', 'PointerInfo', 'Polygon', 'PopupMenu', 'PrintGraphics', 'PrintJob', 'Rectangle', 'RenderingHints', 'RenderingHints.Key', 'Robot', 'ScrollPane', 'ScrollPaneAdjustable', 'Scrollbar', 'Shape', 'Stroke', 'SystemColor', 'TextArea', 'TextComponent', 'TextField', 'TexturePaint', 'Toolkit', 'Transparency', 'Window'
-			),
-		7 => array (
-			'CMMException', 'ColorSpace', 'ICC_ColorSpace', 'ICC_Profile', 'ICC_ProfileGray', 'ICC_ProfileRGB', 'ProfileDataException'
-			),
-		8 => array (
-			'Clipboard', 'ClipboardOwner', 'DataFlavor', 'FlavorEvent', 'FlavorListener', 'FlavorMap', 'FlavorTable', 'MimeTypeParseException', 'StringSelection', 'SystemFlavorMap', 'Transferable', 'UnsupportedFlavorException'
-			),
-		9 => array (
-			'Autoscroll', 'DnDConstants', 'DragGestureEvent', 'DragGestureListener', 'DragGestureRecognizer', 'DragSource', 'DragSourceAdapter', 'DragSourceContext', 'DragSourceDragEvent', 'DragSourceDropEvent', 'DragSourceEvent', 'DragSourceListener', 'DragSourceMotionListener', 'DropTarget', 'DropTarget.DropTargetAutoScroller', 'DropTargetAdapter', 'DropTargetContext', 'DropTargetDragEvent', 'DropTargetDropEvent', 'DropTargetEvent', 'DropTargetListener', 'InvalidDnDOperationException', 'MouseDragGestureRecognizer'
-			),
-		10 => array (
-			'AWTEventListener', 'AWTEventListenerProxy', 'ActionEvent', 'ActionListener', 'AdjustmentEvent', 'AdjustmentListener', 'ComponentAdapter', 'ComponentEvent', 'ComponentListener', 'ContainerAdapter', 'ContainerEvent', 'ContainerListener', 'FocusAdapter', 'FocusEvent', 'FocusListener', 'HierarchyBoundsAdapter', 'HierarchyBoundsListener', 'HierarchyEvent', 'HierarchyListener', 'InputEvent', 'InputMethodEvent', 'InputMethodListener', 'InvocationEvent', 'ItemEvent', 'ItemListener', 'KeyAdapter', 'KeyEvent', 'KeyListener', 'MouseAdapter', 'MouseListener', 'MouseMotionAdapter', 'MouseMotionListener', 'MouseWheelEvent', 'MouseWheelListener', 'PaintEvent', 'TextEvent', 'TextListener', 'WindowAdapter', 'WindowEvent', 'WindowFocusListener', 'WindowListener', 'WindowStateListener'
-			),
-		11 => array (
-			'FontRenderContext', 'GlyphJustificationInfo', 'GlyphMetrics', 'GlyphVector', 'GraphicAttribute', 'ImageGraphicAttribute', 'LineBreakMeasurer', 'LineMetrics', 'MultipleMaster', 'NumericShaper', 'ShapeGraphicAttribute', 'TextAttribute', 'TextHitInfo', 'TextLayout', 'TextLayout.CaretPolicy', 'TextMeasurer', 'TransformAttribute'
-			),
-		12 => array (
-			'AffineTransform', 'Arc2D', 'Arc2D.Double', 'Arc2D.Float', 'Area', 'CubicCurve2D', 'CubicCurve2D.Double', 'CubicCurve2D.Float', 'Dimension2D', 'Ellipse2D', 'Ellipse2D.Double', 'Ellipse2D.Float', 'FlatteningPathIterator', 'GeneralPath', 'IllegalPathStateException', 'Line2D', 'Line2D.Double', 'Line2D.Float', 'NoninvertibleTransformException', 'PathIterator', 'Point2D', 'Point2D.Double', 'Point2D.Float', 'QuadCurve2D', 'QuadCurve2D.Double', 'QuadCurve2D.Float', 'Rectangle2D', 'Rectangle2D.Double', 'Rectangle2D.Float', 'RectangularShape', 'RoundRectangle2D', 'RoundRectangle2D.Double', 'RoundRectangle2D.Float'
-			),
-		13 => array (
-			'InputContext', 'InputMethodHighlight', 'InputMethodRequests', 'InputSubset'
-			),
-		14 => array (
-			'InputMethod', 'InputMethodContext', 'InputMethodDescriptor'
-			),
-		15 => array (
-			'AffineTransformOp', 'AreaAveragingScaleFilter', 'BandCombineOp', 'BandedSampleModel', 'BufferStrategy', 'BufferedImage', 'BufferedImageFilter', 'BufferedImageOp', 'ByteLookupTable', 'ColorConvertOp', 'ColorModel', 'ComponentColorModel', 'ComponentSampleModel', 'ConvolveOp', 'CropImageFilter', 'DataBuffer', 'DataBufferByte', 'DataBufferDouble', 'DataBufferFloat', 'DataBufferInt', 'DataBufferShort', 'DataBufferUShort', 'DirectColorModel', 'FilteredImageSource', 'ImageConsumer', 'ImageFilter', 'ImageObserver', 'ImageProducer', 'ImagingOpException', 'IndexColorModel', 'Kernel', 'LookupOp', 'LookupTable', 'MemoryImageSource', 'MultiPixelPackedSampleModel', 'PackedColorModel', 'PixelGrabber', 'PixelInterleavedSampleModel', 'RGBImageFilter', 'Raster', 'RasterFormatException', 'RasterOp', 'RenderedImage', 'ReplicateScaleFilter', 'RescaleOp', 'SampleModel', 'ShortLookupTable', 'SinglePixelPackedSampleModel', 'TileObserver', 'VolatileImage', 'WritableRaster', 'WritableRenderedImage'
-			),
-		16 => array (
-			'ContextualRenderedImageFactory', 'ParameterBlock', 'RenderContext', 'RenderableImage', 'RenderableImageOp', 'RenderableImageProducer', 'RenderedImageFactory'
-			),
-		17 => array (
-			'Book', 'PageFormat', 'Pageable', 'Paper', 'Printable', 'PrinterAbortException', 'PrinterException', 'PrinterGraphics', 'PrinterIOException', 'PrinterJob'
-			),
-		18 => array (
-			'AppletInitializer', 'BeanDescriptor', 'BeanInfo', 'Beans', 'Customizer', 'DefaultPersistenceDelegate', 'DesignMode', 'Encoder', 'EventHandler', 'EventSetDescriptor', 'ExceptionListener', 'Expression', 'FeatureDescriptor', 'IndexedPropertyChangeEvent', 'IndexedPropertyDescriptor', 'Introspector', 'MethodDescriptor', 'ParameterDescriptor', 'PersistenceDelegate', 'PropertyChangeEvent', 'PropertyChangeListener', 'PropertyChangeListenerProxy', 'PropertyChangeSupport', 'PropertyDescriptor', 'PropertyEditor', 'PropertyEditorManager', 'PropertyEditorSupport', 'PropertyVetoException', 'SimpleBeanInfo', 'VetoableChangeListener', 'VetoableChangeListenerProxy', 'VetoableChangeSupport', 'Visibility', 'XMLDecoder', 'XMLEncoder'
-			),
-		19 => array (
-			'BeanContext', 'BeanContextChild', 'BeanContextChildComponentProxy', 'BeanContextChildSupport', 'BeanContextContainerProxy', 'BeanContextEvent', 'BeanContextMembershipEvent', 'BeanContextMembershipListener', 'BeanContextProxy', 'BeanContextServiceAvailableEvent', 'BeanContextServiceProvider', 'BeanContextServiceProviderBeanInfo', 'BeanContextServiceRevokedEvent', 'BeanContextServiceRevokedListener', 'BeanContextServices', 'BeanContextServicesListener', 'BeanContextServicesSupport', 'BeanContextServicesSupport.BCSSServiceProvider', 'BeanContextSupport', 'BeanContextSupport.BCSIterator'
-			),
-		20 => array (
-			'BufferedInputStream', 'BufferedOutputStream', 'BufferedReader', 'BufferedWriter', 'ByteArrayInputStream', 'ByteArrayOutputStream', 'CharArrayReader', 'CharArrayWriter', 'CharConversionException', 'Closeable', 'DataInput', 'DataOutput', 'EOFException', 'Externalizable', 'File', 'FileDescriptor', 'FileInputStream', 'FileNotFoundException', 'FileOutputStream', 'FilePermission', 'FileReader', 'FileWriter', 'FilenameFilter', 'FilterInputStream', 'FilterOutputStream', 'FilterReader', 'FilterWriter', 'Flushable', 'IOException', 'InputStreamReader', 'InterruptedIOException', 'InvalidClassException', 'InvalidObjectException', 'LineNumberInputStream', 'LineNumberReader', 'NotActiveException', 'NotSerializableException', 'ObjectInput', 'ObjectInputStream', 'ObjectInputStream.GetField', 'ObjectInputValidation', 'ObjectOutput', 'ObjectOutputStream', 'ObjectOutputStream.PutField', 'ObjectStreamClass', 'ObjectStreamConstants', 'ObjectStreamException', 'ObjectStreamField', 'OptionalDataException', 'OutputStreamWriter',
-			'PipedInputStream', 'PipedOutputStream', 'PipedReader', 'PipedWriter', 'PrintStream', 'PrintWriter', 'PushbackInputStream', 'PushbackReader', 'RandomAccessFile', 'Reader', 'SequenceInputStream', 'Serializable', 'SerializablePermission', 'StreamCorruptedException', 'StreamTokenizer', 'StringBufferInputStream', 'StringReader', 'StringWriter', 'SyncFailedException', 'UTFDataFormatException', 'UnsupportedEncodingException', 'WriteAbortedException', 'Writer'
-			),
-		21 => array (
-			'AbstractMethodError', 'Appendable', 'ArithmeticException', 'ArrayIndexOutOfBoundsException', 'ArrayStoreException', 'AssertionError', 'Boolean', 'Byte', 'CharSequence', 'Character', 'Character.Subset', 'Character.UnicodeBlock', 'Class', 'ClassCastException', 'ClassCircularityError', 'ClassFormatError', 'ClassLoader', 'ClassNotFoundException', 'CloneNotSupportedException', 'Cloneable', 'Comparable', 'Compiler', 'Deprecated', 'Double', 'Enum', 'EnumConstantNotPresentException', 'Error', 'Exception', 'ExceptionInInitializerError', 'Float', 'IllegalAccessError', 'IllegalAccessException', 'IllegalArgumentException', 'IllegalMonitorStateException', 'IllegalStateException', 'IllegalThreadStateException', 'IncompatibleClassChangeError', 'IndexOutOfBoundsException', 'InheritableThreadLocal', 'InstantiationError', 'InstantiationException', 'Integer', 'InternalError', 'InterruptedException', 'Iterable', 'LinkageError', 'Long', 'Math', 'NegativeArraySizeException', 'NoClassDefFoundError', 'NoSuchFieldError',
-			'NoSuchFieldException', 'NoSuchMethodError', 'NoSuchMethodException', 'NullPointerException', 'Number', 'NumberFormatException', 'OutOfMemoryError', 'Override', 'Package', 'Process', 'ProcessBuilder', 'Readable', 'Runnable', 'Runtime', 'RuntimeException', 'RuntimePermission', 'SecurityException', 'SecurityManager', 'Short', 'StackOverflowError', 'StackTraceElement', 'StrictMath', 'String', 'StringBuffer', 'StringBuilder', 'StringIndexOutOfBoundsException', 'SuppressWarnings', 'System', 'Thread', 'Thread.State', 'Thread.UncaughtExceptionHandler', 'ThreadDeath', 'ThreadGroup', 'ThreadLocal', 'Throwable', 'TypeNotPresentException', 'UnknownError', 'UnsatisfiedLinkError', 'UnsupportedClassVersionError', 'UnsupportedOperationException', 'VerifyError', 'VirtualMachineError', 'Void'
-			),
-		22 => array (
-			'AnnotationFormatError', 'AnnotationTypeMismatchException', 'Documented', 'ElementType', 'IncompleteAnnotationException', 'Inherited', 'Retention', 'RetentionPolicy', 'Target'
-			),
-		23 => array (
-			'ClassDefinition', 'ClassFileTransformer', 'IllegalClassFormatException', 'Instrumentation', 'UnmodifiableClassException'
-			),
-		24 => array (
-			'ClassLoadingMXBean', 'CompilationMXBean', 'GarbageCollectorMXBean', 'ManagementFactory', 'ManagementPermission', 'MemoryMXBean', 'MemoryManagerMXBean', 'MemoryNotificationInfo', 'MemoryPoolMXBean', 'MemoryType', 'MemoryUsage', 'OperatingSystemMXBean', 'RuntimeMXBean', 'ThreadInfo', 'ThreadMXBean'
-			),
-		25 => array (
-			'PhantomReference', 'ReferenceQueue', 'SoftReference', 'WeakReference'
-			),
-		26 => array (
-			'AccessibleObject', 'AnnotatedElement', 'Constructor', 'Field', 'GenericArrayType', 'GenericDeclaration', 'GenericSignatureFormatError', 'InvocationHandler', 'InvocationTargetException', 'MalformedParameterizedTypeException', 'Member', 'Method', 'Modifier', 'ParameterizedType', 'ReflectPermission', 'Type', 'TypeVariable', 'UndeclaredThrowableException', 'WildcardType'
-			),
-		27 => array (
-			'BigDecimal', 'BigInteger', 'MathContext', 'RoundingMode'
-			),
-		28 => array (
-			'Authenticator', 'Authenticator.RequestorType', 'BindException', 'CacheRequest', 'CacheResponse', 'ContentHandlerFactory', 'CookieHandler', 'DatagramPacket', 'DatagramSocket', 'DatagramSocketImpl', 'DatagramSocketImplFactory', 'FileNameMap', 'HttpRetryException', 'HttpURLConnection', 'Inet4Address', 'Inet6Address', 'InetAddress', 'InetSocketAddress', 'JarURLConnection', 'MalformedURLException', 'MulticastSocket', 'NetPermission', 'NetworkInterface', 'NoRouteToHostException', 'PasswordAuthentication', 'PortUnreachableException', 'ProtocolException', 'Proxy.Type', 'ProxySelector', 'ResponseCache', 'SecureCacheResponse', 'ServerSocket', 'Socket', 'SocketAddress', 'SocketException', 'SocketImpl', 'SocketImplFactory', 'SocketOptions', 'SocketPermission', 'SocketTimeoutException', 'URI', 'URISyntaxException', 'URL', 'URLClassLoader', 'URLConnection', 'URLDecoder', 'URLEncoder', 'URLStreamHandler', 'URLStreamHandlerFactory', 'UnknownServiceException'
-			),
-		29 => array (
-			'Buffer', 'BufferOverflowException', 'BufferUnderflowException', 'ByteBuffer', 'ByteOrder', 'CharBuffer', 'DoubleBuffer', 'FloatBuffer', 'IntBuffer', 'InvalidMarkException', 'LongBuffer', 'MappedByteBuffer', 'ReadOnlyBufferException', 'ShortBuffer'
-			),
-		30 => array (
-			'AlreadyConnectedException', 'AsynchronousCloseException', 'ByteChannel', 'CancelledKeyException', 'Channel', 'Channels', 'ClosedByInterruptException', 'ClosedChannelException', 'ClosedSelectorException', 'ConnectionPendingException', 'DatagramChannel', 'FileChannel', 'FileChannel.MapMode', 'FileLock', 'FileLockInterruptionException', 'GatheringByteChannel', 'IllegalBlockingModeException', 'IllegalSelectorException', 'InterruptibleChannel', 'NoConnectionPendingException', 'NonReadableChannelException', 'NonWritableChannelException', 'NotYetBoundException', 'NotYetConnectedException', 'OverlappingFileLockException', 'Pipe', 'Pipe.SinkChannel', 'Pipe.SourceChannel', 'ReadableByteChannel', 'ScatteringByteChannel', 'SelectableChannel', 'SelectionKey', 'Selector', 'ServerSocketChannel', 'SocketChannel', 'UnresolvedAddressException', 'UnsupportedAddressTypeException', 'WritableByteChannel'
-			),
-		31 => array (
-			'AbstractInterruptibleChannel', 'AbstractSelectableChannel', 'AbstractSelectionKey', 'AbstractSelector', 'SelectorProvider'
-			),
-		32 => array (
-			'CharacterCodingException', 'Charset', 'CharsetDecoder', 'CharsetEncoder', 'CoderMalfunctionError', 'CoderResult', 'CodingErrorAction', 'IllegalCharsetNameException', 'MalformedInputException', 'UnmappableCharacterException', 'UnsupportedCharsetException'
-			),
-		33 => array (
-			'CharsetProvider'
-			),
-		34 => array (
-			'AccessException', 'AlreadyBoundException', 'ConnectIOException', 'MarshalException', 'MarshalledObject', 'Naming', 'NoSuchObjectException', 'NotBoundException', 'RMISecurityException', 'RMISecurityManager', 'Remote', 'RemoteException', 'ServerError', 'ServerException', 'ServerRuntimeException', 'StubNotFoundException', 'UnexpectedException', 'UnmarshalException'
-			),
-		35 => array (
-			'Activatable', 'ActivateFailedException', 'ActivationDesc', 'ActivationException', 'ActivationGroup', 'ActivationGroupDesc', 'ActivationGroupDesc.CommandEnvironment', 'ActivationGroupID', 'ActivationGroup_Stub', 'ActivationID', 'ActivationInstantiator', 'ActivationMonitor', 'ActivationSystem', 'Activator', 'UnknownGroupException', 'UnknownObjectException'
-			),
-		36 => array (
-			'DGC', 'Lease', 'VMID'
-			),
-		37 => array (
-			'LocateRegistry', 'Registry', 'RegistryHandler'
-			),
-		38 => array (
-			'ExportException', 'LoaderHandler', 'LogStream', 'ObjID', 'Operation', 'RMIClassLoader', 'RMIClassLoaderSpi', 'RMIClientSocketFactory', 'RMIFailureHandler', 'RMIServerSocketFactory', 'RMISocketFactory', 'RemoteCall', 'RemoteObject', 'RemoteObjectInvocationHandler', 'RemoteRef', 'RemoteServer', 'RemoteStub', 'ServerCloneException', 'ServerNotActiveException', 'ServerRef', 'Skeleton', 'SkeletonMismatchException', 'SkeletonNotFoundException', 'SocketSecurityException', 'UID', 'UnicastRemoteObject', 'Unreferenced'
-			),
-		39 => array (
-			'AccessControlContext', 'AccessControlException', 'AccessController', 'AlgorithmParameterGenerator', 'AlgorithmParameterGeneratorSpi', 'AlgorithmParameters', 'AlgorithmParametersSpi', 'AllPermission', 'AuthProvider', 'BasicPermission', 'CodeSigner', 'CodeSource', 'DigestException', 'DigestInputStream', 'DigestOutputStream', 'DomainCombiner', 'GeneralSecurityException', 'Guard', 'GuardedObject', 'Identity', 'IdentityScope', 'InvalidAlgorithmParameterException', 'InvalidParameterException', 'Key', 'KeyException', 'KeyFactory', 'KeyFactorySpi', 'KeyManagementException', 'KeyPair', 'KeyPairGenerator', 'KeyPairGeneratorSpi', 'KeyRep', 'KeyRep.Type', 'KeyStore', 'KeyStore.Builder', 'KeyStore.CallbackHandlerProtection', 'KeyStore.Entry', 'KeyStore.LoadStoreParameter', 'KeyStore.PasswordProtection', 'KeyStore.PrivateKeyEntry', 'KeyStore.ProtectionParameter', 'KeyStore.SecretKeyEntry', 'KeyStore.TrustedCertificateEntry', 'KeyStoreException', 'KeyStoreSpi', 'MessageDigest', 'MessageDigestSpi',
-			'NoSuchAlgorithmException', 'NoSuchProviderException', 'PermissionCollection', 'Permissions', 'PrivateKey', 'PrivilegedAction', 'PrivilegedActionException', 'PrivilegedExceptionAction', 'ProtectionDomain', 'Provider', 'Provider.Service', 'ProviderException', 'PublicKey', 'SecureClassLoader', 'SecureRandom', 'SecureRandomSpi', 'Security', 'SecurityPermission', 'Signature', 'SignatureException', 'SignatureSpi', 'SignedObject', 'Signer', 'UnrecoverableEntryException', 'UnrecoverableKeyException', 'UnresolvedPermission'
-			),
-		40 => array (
-			'Acl', 'AclEntry', 'AclNotFoundException', 'Group', 'LastOwnerException', 'NotOwnerException', 'Owner'
-			),
-		41 => array (
-			'CRL', 'CRLException', 'CRLSelector', 'CertPath', 'CertPath.CertPathRep', 'CertPathBuilder', 'CertPathBuilderException', 'CertPathBuilderResult', 'CertPathBuilderSpi', 'CertPathParameters', 'CertPathValidator', 'CertPathValidatorException', 'CertPathValidatorResult', 'CertPathValidatorSpi', 'CertSelector', 'CertStore', 'CertStoreException', 'CertStoreParameters', 'CertStoreSpi', 'Certificate.CertificateRep', 'CertificateFactory', 'CertificateFactorySpi', 'CollectionCertStoreParameters', 'LDAPCertStoreParameters', 'PKIXBuilderParameters', 'PKIXCertPathBuilderResult', 'PKIXCertPathChecker', 'PKIXCertPathValidatorResult', 'PKIXParameters', 'PolicyNode', 'PolicyQualifierInfo', 'TrustAnchor', 'X509CRL', 'X509CRLEntry', 'X509CRLSelector', 'X509CertSelector', 'X509Extension'
-			),
-		42 => array (
-			'DSAKey', 'DSAKeyPairGenerator', 'DSAParams', 'DSAPrivateKey', 'DSAPublicKey', 'ECKey', 'ECPrivateKey', 'ECPublicKey', 'RSAKey', 'RSAMultiPrimePrivateCrtKey', 'RSAPrivateCrtKey', 'RSAPrivateKey', 'RSAPublicKey'
-			),
-		43 => array (
-			'AlgorithmParameterSpec', 'DSAParameterSpec', 'DSAPrivateKeySpec', 'DSAPublicKeySpec', 'ECField', 'ECFieldF2m', 'ECFieldFp', 'ECGenParameterSpec', 'ECParameterSpec', 'ECPoint', 'ECPrivateKeySpec', 'ECPublicKeySpec', 'EllipticCurve', 'EncodedKeySpec', 'InvalidKeySpecException', 'InvalidParameterSpecException', 'KeySpec', 'MGF1ParameterSpec', 'PKCS8EncodedKeySpec', 'PSSParameterSpec', 'RSAKeyGenParameterSpec', 'RSAMultiPrimePrivateCrtKeySpec', 'RSAOtherPrimeInfo', 'RSAPrivateCrtKeySpec', 'RSAPrivateKeySpec', 'RSAPublicKeySpec', 'X509EncodedKeySpec'
-			),
-		44 => array (
-			'BatchUpdateException', 'Blob', 'CallableStatement', 'Clob', 'Connection', 'DataTruncation', 'DatabaseMetaData', 'Driver', 'DriverManager', 'DriverPropertyInfo', 'ParameterMetaData', 'PreparedStatement', 'Ref', 'ResultSet', 'ResultSetMetaData', 'SQLData', 'SQLException', 'SQLInput', 'SQLOutput', 'SQLPermission', 'SQLWarning', 'Savepoint', 'Struct', 'Time', 'Types'
-			),
-		45 => array (
-			'AttributedCharacterIterator', 'AttributedCharacterIterator.Attribute', 'AttributedString', 'Bidi', 'BreakIterator', 'CharacterIterator', 'ChoiceFormat', 'CollationElementIterator', 'CollationKey', 'Collator', 'DateFormat', 'DateFormat.Field', 'DateFormatSymbols', 'DecimalFormat', 'DecimalFormatSymbols', 'FieldPosition', 'Format', 'Format.Field', 'MessageFormat', 'MessageFormat.Field', 'NumberFormat', 'NumberFormat.Field', 'ParseException', 'ParsePosition', 'RuleBasedCollator', 'SimpleDateFormat', 'StringCharacterIterator'
-			),
-		46 => array (
-			'AbstractCollection', 'AbstractList', 'AbstractMap', 'AbstractQueue', 'AbstractSequentialList', 'AbstractSet', 'ArrayList', 'Arrays', 'BitSet', 'Calendar', 'Collection', 'Collections', 'Comparator', 'ConcurrentModificationException', 'Currency', 'Dictionary', 'DuplicateFormatFlagsException', 'EmptyStackException', 'EnumMap', 'EnumSet', 'Enumeration', 'EventListenerProxy', 'EventObject', 'FormatFlagsConversionMismatchException', 'Formattable', 'FormattableFlags', 'Formatter.BigDecimalLayoutForm', 'FormatterClosedException', 'GregorianCalendar', 'HashMap', 'HashSet', 'Hashtable', 'IdentityHashMap', 'IllegalFormatCodePointException', 'IllegalFormatConversionException', 'IllegalFormatException', 'IllegalFormatFlagsException', 'IllegalFormatPrecisionException', 'IllegalFormatWidthException', 'InputMismatchException', 'InvalidPropertiesFormatException', 'Iterator', 'LinkedHashMap', 'LinkedHashSet', 'LinkedList', 'ListIterator', 'ListResourceBundle', 'Locale', 'Map', 'Map.Entry', 'MissingFormatArgumentException',
-			'MissingFormatWidthException', 'MissingResourceException', 'NoSuchElementException', 'Observable', 'Observer', 'PriorityQueue', 'Properties', 'PropertyPermission', 'PropertyResourceBundle', 'Queue', 'Random', 'RandomAccess', 'ResourceBundle', 'Scanner', 'Set', 'SimpleTimeZone', 'SortedMap', 'SortedSet', 'Stack', 'StringTokenizer', 'TimeZone', 'TimerTask', 'TooManyListenersException', 'TreeMap', 'TreeSet', 'UUID', 'UnknownFormatConversionException', 'UnknownFormatFlagsException', 'Vector', 'WeakHashMap'
-			),
-		47 => array (
-			'AbstractExecutorService', 'ArrayBlockingQueue', 'BlockingQueue', 'BrokenBarrierException', 'Callable', 'CancellationException', 'CompletionService', 'ConcurrentHashMap', 'ConcurrentLinkedQueue', 'ConcurrentMap', 'CopyOnWriteArrayList', 'CopyOnWriteArraySet', 'CountDownLatch', 'CyclicBarrier', 'DelayQueue', 'Delayed', 'Exchanger', 'ExecutionException', 'Executor', 'ExecutorCompletionService', 'ExecutorService', 'Executors', 'Future', 'FutureTask', 'LinkedBlockingQueue', 'PriorityBlockingQueue', 'RejectedExecutionException', 'RejectedExecutionHandler', 'ScheduledExecutorService', 'ScheduledFuture', 'ScheduledThreadPoolExecutor', 'Semaphore', 'SynchronousQueue', 'ThreadFactory', 'ThreadPoolExecutor', 'ThreadPoolExecutor.AbortPolicy', 'ThreadPoolExecutor.CallerRunsPolicy', 'ThreadPoolExecutor.DiscardOldestPolicy', 'ThreadPoolExecutor.DiscardPolicy', 'TimeUnit', 'TimeoutException'
-			),
-		48 => array (
-			'AtomicBoolean', 'AtomicInteger', 'AtomicIntegerArray', 'AtomicIntegerFieldUpdater', 'AtomicLong', 'AtomicLongArray', 'AtomicLongFieldUpdater', 'AtomicMarkableReference', 'AtomicReference', 'AtomicReferenceArray', 'AtomicReferenceFieldUpdater', 'AtomicStampedReference'
-			),
-		49 => array (
-			'AbstractQueuedSynchronizer', 'Condition', 'Lock', 'LockSupport', 'ReadWriteLock', 'ReentrantLock', 'ReentrantReadWriteLock', 'ReentrantReadWriteLock.ReadLock', 'ReentrantReadWriteLock.WriteLock'
-			),
-		50 => array (
-			'Attributes.Name', 'JarEntry', 'JarException', 'JarFile', 'JarInputStream', 'JarOutputStream', 'Manifest', 'Pack200', 'Pack200.Packer', 'Pack200.Unpacker'
-			),
-		51 => array (
-			'ConsoleHandler', 'ErrorManager', 'FileHandler', 'Filter', 'Handler', 'Level', 'LogManager', 'LogRecord', 'Logger', 'LoggingMXBean', 'LoggingPermission', 'MemoryHandler', 'SimpleFormatter', 'SocketHandler', 'StreamHandler', 'XMLFormatter'
-			),
-		52 => array (
-			'AbstractPreferences', 'BackingStoreException', 'InvalidPreferencesFormatException', 'NodeChangeEvent', 'NodeChangeListener', 'PreferenceChangeEvent', 'PreferenceChangeListener', 'Preferences', 'PreferencesFactory'
-			),
-		53 => array (
-			'MatchResult', 'Matcher', 'Pattern', 'PatternSyntaxException'
-			),
-		54 => array (
-			'Adler32', 'CRC32', 'CheckedInputStream', 'CheckedOutputStream', 'Checksum', 'DataFormatException', 'Deflater', 'DeflaterOutputStream', 'GZIPInputStream', 'GZIPOutputStream', 'Inflater', 'InflaterInputStream', 'ZipEntry', 'ZipException', 'ZipFile', 'ZipInputStream', 'ZipOutputStream'
-			),
-		55 => array (
-			'Accessible', 'AccessibleAction', 'AccessibleAttributeSequence', 'AccessibleBundle', 'AccessibleComponent', 'AccessibleContext', 'AccessibleEditableText', 'AccessibleExtendedComponent', 'AccessibleExtendedTable', 'AccessibleExtendedText', 'AccessibleHyperlink', 'AccessibleHypertext', 'AccessibleIcon', 'AccessibleKeyBinding', 'AccessibleRelation', 'AccessibleRelationSet', 'AccessibleResourceBundle', 'AccessibleRole', 'AccessibleSelection', 'AccessibleState', 'AccessibleStateSet', 'AccessibleStreamable', 'AccessibleTable', 'AccessibleTableModelChange', 'AccessibleText', 'AccessibleTextSequence', 'AccessibleValue'
-			),
-		56 => array (
-			'ActivityCompletedException', 'ActivityRequiredException', 'InvalidActivityException'
-			),
-		57 => array (
-			'BadPaddingException', 'Cipher', 'CipherInputStream', 'CipherOutputStream', 'CipherSpi', 'EncryptedPrivateKeyInfo', 'ExemptionMechanism', 'ExemptionMechanismException', 'ExemptionMechanismSpi', 'IllegalBlockSizeException', 'KeyAgreement', 'KeyAgreementSpi', 'KeyGenerator', 'KeyGeneratorSpi', 'Mac', 'MacSpi', 'NoSuchPaddingException', 'NullCipher', 'SealedObject', 'SecretKey', 'SecretKeyFactory', 'SecretKeyFactorySpi', 'ShortBufferException'
-			),
-		58 => array (
-			'DHKey', 'DHPrivateKey', 'DHPublicKey', 'PBEKey'
-			),
-		59 => array (
-			'DESKeySpec', 'DESedeKeySpec', 'DHGenParameterSpec', 'DHParameterSpec', 'DHPrivateKeySpec', 'DHPublicKeySpec', 'IvParameterSpec', 'OAEPParameterSpec', 'PBEKeySpec', 'PBEParameterSpec', 'PSource', 'PSource.PSpecified', 'RC2ParameterSpec', 'RC5ParameterSpec', 'SecretKeySpec'
-			),
-		60 => array (
-			'IIOException', 'IIOImage', 'IIOParam', 'IIOParamController', 'ImageIO', 'ImageReadParam', 'ImageReader', 'ImageTranscoder', 'ImageTypeSpecifier', 'ImageWriteParam', 'ImageWriter'
-			),
-		61 => array (
-			'IIOReadProgressListener', 'IIOReadUpdateListener', 'IIOReadWarningListener', 'IIOWriteProgressListener', 'IIOWriteWarningListener'
-			),
-		62 => array (
-			'IIOInvalidTreeException', 'IIOMetadata', 'IIOMetadataController', 'IIOMetadataFormat', 'IIOMetadataFormatImpl', 'IIOMetadataNode'
-			),
-		63 => array (
-			'BMPImageWriteParam'
-			),
-		64 => array (
-			'JPEGHuffmanTable', 'JPEGImageReadParam', 'JPEGImageWriteParam', 'JPEGQTable'
-			),
-		65 => array (
-			'IIORegistry', 'IIOServiceProvider', 'ImageInputStreamSpi', 'ImageOutputStreamSpi', 'ImageReaderSpi', 'ImageReaderWriterSpi', 'ImageTranscoderSpi', 'ImageWriterSpi', 'RegisterableService', 'ServiceRegistry', 'ServiceRegistry.Filter'
-			),
-		66 => array (
-			'FileCacheImageInputStream', 'FileCacheImageOutputStream', 'FileImageInputStream', 'FileImageOutputStream', 'IIOByteBuffer', 'ImageInputStream', 'ImageInputStreamImpl', 'ImageOutputStream', 'ImageOutputStreamImpl', 'MemoryCacheImageInputStream', 'MemoryCacheImageOutputStream'
-			),
-		67 => array (
-			'AttributeChangeNotification', 'AttributeChangeNotificationFilter', 'AttributeNotFoundException', 'AttributeValueExp', 'BadAttributeValueExpException', 'BadBinaryOpValueExpException', 'BadStringOperationException', 'Descriptor', 'DescriptorAccess', 'DynamicMBean', 'InstanceAlreadyExistsException', 'InstanceNotFoundException', 'InvalidApplicationException', 'JMException', 'JMRuntimeException', 'ListenerNotFoundException', 'MBeanAttributeInfo', 'MBeanConstructorInfo', 'MBeanException', 'MBeanFeatureInfo', 'MBeanInfo', 'MBeanNotificationInfo', 'MBeanOperationInfo', 'MBeanParameterInfo', 'MBeanPermission', 'MBeanRegistration', 'MBeanRegistrationException', 'MBeanServer', 'MBeanServerBuilder', 'MBeanServerConnection', 'MBeanServerDelegate', 'MBeanServerDelegateMBean', 'MBeanServerFactory', 'MBeanServerInvocationHandler', 'MBeanServerNotification', 'MBeanServerPermission', 'MBeanTrustPermission', 'MalformedObjectNameException', 'NotCompliantMBeanException', 'Notification', 'NotificationBroadcaster',
-			'NotificationBroadcasterSupport', 'NotificationEmitter', 'NotificationFilter', 'NotificationFilterSupport', 'NotificationListener', 'ObjectInstance', 'ObjectName', 'OperationsException', 'PersistentMBean', 'Query', 'QueryEval', 'QueryExp', 'ReflectionException', 'RuntimeErrorException', 'RuntimeMBeanException', 'RuntimeOperationsException', 'ServiceNotFoundException', 'StandardMBean', 'StringValueExp', 'ValueExp'
-			),
-		68 => array (
-			'ClassLoaderRepository', 'MLet', 'MLetMBean', 'PrivateClassLoader', 'PrivateMLet'
-			),
-		69 => array (
-			'DescriptorSupport', 'InvalidTargetObjectTypeException', 'ModelMBean', 'ModelMBeanAttributeInfo', 'ModelMBeanConstructorInfo', 'ModelMBeanInfo', 'ModelMBeanInfoSupport', 'ModelMBeanNotificationBroadcaster', 'ModelMBeanNotificationInfo', 'ModelMBeanOperationInfo', 'RequiredModelMBean', 'XMLParseException'
-			),
-		70 => array (
-			'CounterMonitor', 'CounterMonitorMBean', 'GaugeMonitor', 'GaugeMonitorMBean', 'Monitor', 'MonitorMBean', 'MonitorNotification', 'MonitorSettingException', 'StringMonitor', 'StringMonitorMBean'
-			),
-		71 => array (
-			'ArrayType', 'CompositeData', 'CompositeDataSupport', 'CompositeType', 'InvalidOpenTypeException', 'KeyAlreadyExistsException', 'OpenDataException', 'OpenMBeanAttributeInfo', 'OpenMBeanAttributeInfoSupport', 'OpenMBeanConstructorInfo', 'OpenMBeanConstructorInfoSupport', 'OpenMBeanInfo', 'OpenMBeanInfoSupport', 'OpenMBeanOperationInfo', 'OpenMBeanOperationInfoSupport', 'OpenMBeanParameterInfo', 'OpenMBeanParameterInfoSupport', 'SimpleType', 'TabularData', 'TabularDataSupport', 'TabularType'
-			),
-		72 => array (
-			'InvalidRelationIdException', 'InvalidRelationServiceException', 'InvalidRelationTypeException', 'InvalidRoleInfoException', 'InvalidRoleValueException', 'MBeanServerNotificationFilter', 'Relation', 'RelationException', 'RelationNotFoundException', 'RelationNotification', 'RelationService', 'RelationServiceMBean', 'RelationServiceNotRegisteredException', 'RelationSupport', 'RelationSupportMBean', 'RelationType', 'RelationTypeNotFoundException', 'RelationTypeSupport', 'Role', 'RoleInfo', 'RoleInfoNotFoundException', 'RoleList', 'RoleNotFoundException', 'RoleResult', 'RoleStatus', 'RoleUnresolved', 'RoleUnresolvedList'
-			),
-		73 => array (
-			'JMXAuthenticator', 'JMXConnectionNotification', 'JMXConnector', 'JMXConnectorFactory', 'JMXConnectorProvider', 'JMXConnectorServer', 'JMXConnectorServerFactory', 'JMXConnectorServerMBean', 'JMXConnectorServerProvider', 'JMXPrincipal', 'JMXProviderException', 'JMXServerErrorException', 'JMXServiceURL', 'MBeanServerForwarder', 'NotificationResult', 'SubjectDelegationPermission', 'TargetedNotification'
-			),
-		74 => array (
-			'RMIConnection', 'RMIConnectionImpl', 'RMIConnectionImpl_Stub', 'RMIConnector', 'RMIConnectorServer', 'RMIIIOPServerImpl', 'RMIJRMPServerImpl', 'RMIServer', 'RMIServerImpl', 'RMIServerImpl_Stub'
-			),
-		75 => array (
-			'TimerAlarmClockNotification', 'TimerMBean', 'TimerNotification'
-			),
-		76 => array (
-			'AuthenticationNotSupportedException', 'BinaryRefAddr', 'CannotProceedException', 'CommunicationException', 'CompositeName', 'CompoundName', 'ConfigurationException', 'ContextNotEmptyException', 'InitialContext', 'InsufficientResourcesException', 'InterruptedNamingException', 'InvalidNameException', 'LimitExceededException', 'LinkException', 'LinkLoopException', 'LinkRef', 'MalformedLinkException', 'Name', 'NameAlreadyBoundException', 'NameClassPair', 'NameNotFoundException', 'NameParser', 'NamingEnumeration', 'NamingException', 'NamingSecurityException', 'NoInitialContextException', 'NoPermissionException', 'NotContextException', 'OperationNotSupportedException', 'PartialResultException', 'RefAddr', 'Referenceable', 'ReferralException', 'ServiceUnavailableException', 'SizeLimitExceededException', 'StringRefAddr', 'TimeLimitExceededException'
-			),
-		77 => array (
-			'AttributeInUseException', 'AttributeModificationException', 'BasicAttribute', 'BasicAttributes', 'DirContext', 'InitialDirContext', 'InvalidAttributeIdentifierException', 'InvalidAttributesException', 'InvalidSearchControlsException', 'InvalidSearchFilterException', 'ModificationItem', 'NoSuchAttributeException', 'SchemaViolationException', 'SearchControls', 'SearchResult'
-			),
-		78 => array (
-			'EventContext', 'EventDirContext', 'NamespaceChangeListener', 'NamingEvent', 'NamingExceptionEvent', 'NamingListener', 'ObjectChangeListener'
-			),
-		79 => array (
-			'BasicControl', 'ControlFactory', 'ExtendedRequest', 'ExtendedResponse', 'HasControls', 'InitialLdapContext', 'LdapContext', 'LdapName', 'LdapReferralException', 'ManageReferralControl', 'PagedResultsControl', 'PagedResultsResponseControl', 'Rdn', 'SortControl', 'SortKey', 'SortResponseControl', 'StartTlsRequest', 'StartTlsResponse', 'UnsolicitedNotification', 'UnsolicitedNotificationEvent', 'UnsolicitedNotificationListener'
-			),
-		80 => array (
-			'DirObjectFactory', 'DirStateFactory', 'DirStateFactory.Result', 'DirectoryManager', 'InitialContextFactory', 'InitialContextFactoryBuilder', 'NamingManager', 'ObjectFactory', 'ObjectFactoryBuilder', 'ResolveResult', 'Resolver', 'StateFactory'
-			),
-		81 => array (
-			'ServerSocketFactory', 'SocketFactory'
-			),
-		82 => array (
-			'CertPathTrustManagerParameters', 'HandshakeCompletedEvent', 'HandshakeCompletedListener', 'HostnameVerifier', 'HttpsURLConnection', 'KeyManager', 'KeyManagerFactory', 'KeyManagerFactorySpi', 'KeyStoreBuilderParameters', 'ManagerFactoryParameters', 'SSLContext', 'SSLContextSpi', 'SSLEngine', 'SSLEngineResult', 'SSLEngineResult.HandshakeStatus', 'SSLEngineResult.Status', 'SSLException', 'SSLHandshakeException', 'SSLKeyException', 'SSLPeerUnverifiedException', 'SSLPermission', 'SSLProtocolException', 'SSLServerSocket', 'SSLServerSocketFactory', 'SSLSession', 'SSLSessionBindingEvent', 'SSLSessionBindingListener', 'SSLSessionContext', 'SSLSocket', 'SSLSocketFactory', 'TrustManager', 'TrustManagerFactory', 'TrustManagerFactorySpi', 'X509ExtendedKeyManager', 'X509KeyManager', 'X509TrustManager'
-			),
-		83 => array (
-			'AttributeException', 'CancelablePrintJob', 'Doc', 'DocFlavor', 'DocFlavor.BYTE_ARRAY', 'DocFlavor.CHAR_ARRAY', 'DocFlavor.INPUT_STREAM', 'DocFlavor.READER', 'DocFlavor.SERVICE_FORMATTED', 'DocFlavor.STRING', 'DocFlavor.URL', 'DocPrintJob', 'FlavorException', 'MultiDoc', 'MultiDocPrintJob', 'MultiDocPrintService', 'PrintException', 'PrintService', 'PrintServiceLookup', 'ServiceUI', 'ServiceUIFactory', 'SimpleDoc', 'StreamPrintService', 'StreamPrintServiceFactory', 'URIException'
-			),
-		84 => array (
-			'AttributeSetUtilities', 'DateTimeSyntax', 'DocAttribute', 'DocAttributeSet', 'EnumSyntax', 'HashAttributeSet', 'HashDocAttributeSet', 'HashPrintJobAttributeSet', 'HashPrintRequestAttributeSet', 'HashPrintServiceAttributeSet', 'IntegerSyntax', 'PrintJobAttribute', 'PrintJobAttributeSet', 'PrintRequestAttribute', 'PrintRequestAttributeSet', 'PrintServiceAttribute', 'PrintServiceAttributeSet', 'ResolutionSyntax', 'SetOfIntegerSyntax', 'Size2DSyntax', 'SupportedValuesAttribute', 'TextSyntax', 'URISyntax', 'UnmodifiableSetException'
-			),
-		85 => array (
-			'Chromaticity', 'ColorSupported', 'Compression', 'Copies', 'CopiesSupported', 'DateTimeAtCompleted', 'DateTimeAtCreation', 'DateTimeAtProcessing', 'Destination', 'DocumentName', 'Fidelity', 'Finishings', 'JobHoldUntil', 'JobImpressions', 'JobImpressionsCompleted', 'JobImpressionsSupported', 'JobKOctets', 'JobKOctetsProcessed', 'JobKOctetsSupported', 'JobMediaSheets', 'JobMediaSheetsCompleted', 'JobMediaSheetsSupported', 'JobMessageFromOperator', 'JobName', 'JobOriginatingUserName', 'JobPriority', 'JobPrioritySupported', 'JobSheets', 'JobState', 'JobStateReason', 'JobStateReasons', 'Media', 'MediaName', 'MediaPrintableArea', 'MediaSize', 'MediaSize.Engineering', 'MediaSize.ISO', 'MediaSize.JIS', 'MediaSize.NA', 'MediaSize.Other', 'MediaSizeName', 'MediaTray', 'MultipleDocumentHandling', 'NumberOfDocuments', 'NumberOfInterveningJobs', 'NumberUp', 'NumberUpSupported', 'OrientationRequested', 'OutputDeviceAssigned', 'PDLOverrideSupported', 'PageRanges', 'PagesPerMinute', 'PagesPerMinuteColor',
-			'PresentationDirection', 'PrintQuality', 'PrinterInfo', 'PrinterIsAcceptingJobs', 'PrinterLocation', 'PrinterMakeAndModel', 'PrinterMessageFromOperator', 'PrinterMoreInfo', 'PrinterMoreInfoManufacturer', 'PrinterName', 'PrinterResolution', 'PrinterState', 'PrinterStateReason', 'PrinterStateReasons', 'PrinterURI', 'QueuedJobCount', 'ReferenceUriSchemesSupported', 'RequestingUserName', 'Severity', 'SheetCollate', 'Sides'
-			),
-		86 => array (
-			'PrintEvent', 'PrintJobAdapter', 'PrintJobAttributeEvent', 'PrintJobAttributeListener', 'PrintJobEvent', 'PrintJobListener', 'PrintServiceAttributeEvent', 'PrintServiceAttributeListener'
-			),
-		87 => array (
-			'PortableRemoteObject'
-			),
-		88 => array (
-			'ClassDesc', 'PortableRemoteObjectDelegate', 'Stub', 'StubDelegate', 'Tie', 'Util', 'UtilDelegate', 'ValueHandler', 'ValueHandlerMultiFormat'
-			),
-		89 => array (
-			'SslRMIClientSocketFactory', 'SslRMIServerSocketFactory'
-			),
-		90 => array (
-			'AuthPermission', 'DestroyFailedException', 'Destroyable', 'PrivateCredentialPermission', 'RefreshFailedException', 'Refreshable', 'Subject', 'SubjectDomainCombiner'
-			),
-		91 => array (
-			'Callback', 'CallbackHandler', 'ChoiceCallback', 'ConfirmationCallback', 'LanguageCallback', 'NameCallback', 'PasswordCallback', 'TextInputCallback', 'TextOutputCallback', 'UnsupportedCallbackException'
-			),
-		92 => array (
-			'DelegationPermission', 'KerberosKey', 'KerberosPrincipal', 'KerberosTicket', 'ServicePermission'
-			),
-		93 => array (
-			'AccountException', 'AccountExpiredException', 'AccountLockedException', 'AccountNotFoundException', 'AppConfigurationEntry', 'AppConfigurationEntry.LoginModuleControlFlag', 'Configuration', 'CredentialException', 'CredentialExpiredException', 'CredentialNotFoundException', 'FailedLoginException', 'LoginContext', 'LoginException'
-			),
-		94 => array (
-			'LoginModule'
-			),
-		95 => array (
-			'X500Principal', 'X500PrivateCredential'
-			),
-		96 => array (
-			'AuthorizeCallback', 'RealmCallback', 'RealmChoiceCallback', 'Sasl', 'SaslClient', 'SaslClientFactory', 'SaslException', 'SaslServer', 'SaslServerFactory'
-			),
-		97 => array (
-			'ControllerEventListener', 'Instrument', 'InvalidMidiDataException', 'MetaEventListener', 'MetaMessage', 'MidiChannel', 'MidiDevice', 'MidiDevice.Info', 'MidiEvent', 'MidiFileFormat', 'MidiMessage', 'MidiSystem', 'MidiUnavailableException', 'Patch', 'Receiver', 'Sequence', 'Sequencer', 'Sequencer.SyncMode', 'ShortMessage', 'Soundbank', 'SoundbankResource', 'Synthesizer', 'SysexMessage', 'Track', 'Transmitter', 'VoiceStatus'
-			),
-		98 => array (
-			'MidiDeviceProvider', 'MidiFileReader', 'MidiFileWriter', 'SoundbankReader'
-			),
-		99 => array (
-			'AudioFileFormat', 'AudioFileFormat.Type', 'AudioFormat', 'AudioFormat.Encoding', 'AudioInputStream', 'AudioPermission', 'AudioSystem', 'BooleanControl', 'BooleanControl.Type', 'Clip', 'CompoundControl', 'CompoundControl.Type', 'Control.Type', 'DataLine', 'DataLine.Info', 'EnumControl', 'EnumControl.Type', 'FloatControl', 'FloatControl.Type', 'Line', 'Line.Info', 'LineEvent', 'LineEvent.Type', 'LineListener', 'LineUnavailableException', 'Mixer', 'Mixer.Info', 'Port', 'Port.Info', 'ReverbType', 'SourceDataLine', 'TargetDataLine', 'UnsupportedAudioFileException'
-			),
-		100 => array (
-			'AudioFileReader', 'AudioFileWriter', 'FormatConversionProvider', 'MixerProvider'
-			),
-		101 => array (
-			'ConnectionEvent', 'ConnectionEventListener', 'ConnectionPoolDataSource', 'DataSource', 'PooledConnection', 'RowSet', 'RowSetEvent', 'RowSetInternal', 'RowSetListener', 'RowSetMetaData', 'RowSetReader', 'RowSetWriter', 'XAConnection', 'XADataSource'
-			),
-		102 => array (
-			'BaseRowSet', 'CachedRowSet', 'FilteredRowSet', 'JdbcRowSet', 'JoinRowSet', 'Joinable', 'Predicate', 'RowSetMetaDataImpl', 'RowSetWarning', 'WebRowSet'
-			),
-		103 => array (
-			'SQLInputImpl', 'SQLOutputImpl', 'SerialArray', 'SerialBlob', 'SerialClob', 'SerialDatalink', 'SerialException', 'SerialJavaObject', 'SerialRef', 'SerialStruct'
-			),
-		104 => array (
-			'SyncFactory', 'SyncFactoryException', 'SyncProvider', 'SyncProviderException', 'SyncResolver', 'TransactionalWriter', 'XmlReader', 'XmlWriter'
-			),
-		105 => array (
-			'AbstractAction', 'AbstractButton', 'AbstractCellEditor', 'AbstractListModel', 'AbstractSpinnerModel', 'Action', 'ActionMap', 'BorderFactory', 'BoundedRangeModel', 'Box', 'Box.Filler', 'BoxLayout', 'ButtonGroup', 'ButtonModel', 'CellEditor', 'CellRendererPane', 'ComboBoxEditor', 'ComboBoxModel', 'ComponentInputMap', 'DebugGraphics', 'DefaultBoundedRangeModel', 'DefaultButtonModel', 'DefaultCellEditor', 'DefaultComboBoxModel', 'DefaultDesktopManager', 'DefaultFocusManager', 'DefaultListCellRenderer', 'DefaultListCellRenderer.UIResource', 'DefaultListModel', 'DefaultListSelectionModel', 'DefaultSingleSelectionModel', 'DesktopManager', 'FocusManager', 'GrayFilter', 'Icon', 'ImageIcon', 'InputMap', 'InputVerifier', 'InternalFrameFocusTraversalPolicy', 'JApplet', 'JButton', 'JCheckBox', 'JCheckBoxMenuItem', 'JColorChooser', 'JComboBox', 'JComboBox.KeySelectionManager', 'JComponent', 'JDesktopPane', 'JDialog', 'JEditorPane', 'JFileChooser', 'JFormattedTextField', 'JFormattedTextField.AbstractFormatter',
-			'JFormattedTextField.AbstractFormatterFactory', 'JFrame', 'JInternalFrame', 'JInternalFrame.JDesktopIcon', 'JLabel', 'JLayeredPane', 'JList', 'JMenu', 'JMenuBar', 'JMenuItem', 'JOptionPane', 'JPanel', 'JPasswordField', 'JPopupMenu', 'JPopupMenu.Separator', 'JProgressBar', 'JRadioButton', 'JRadioButtonMenuItem', 'JRootPane', 'JScrollBar', 'JScrollPane', 'JSeparator', 'JSlider', 'JSpinner', 'JSpinner.DateEditor', 'JSpinner.DefaultEditor', 'JSpinner.ListEditor', 'JSpinner.NumberEditor', 'JSplitPane', 'JTabbedPane', 'JTable', 'JTable.PrintMode', 'JTextArea', 'JTextField', 'JTextPane', 'JToggleButton', 'JToggleButton.ToggleButtonModel', 'JToolBar', 'JToolBar.Separator', 'JToolTip', 'JTree', 'JTree.DynamicUtilTreeNode', 'JTree.EmptySelectionModel', 'JViewport', 'JWindow', 'KeyStroke', 'LayoutFocusTraversalPolicy', 'ListCellRenderer', 'ListModel', 'ListSelectionModel', 'LookAndFeel', 'MenuElement', 'MenuSelectionManager', 'MutableComboBoxModel', 'OverlayLayout', 'Popup', 'PopupFactory', 'ProgressMonitor',
-			'ProgressMonitorInputStream', 'Renderer', 'RepaintManager', 'RootPaneContainer', 'ScrollPaneConstants', 'ScrollPaneLayout', 'ScrollPaneLayout.UIResource', 'Scrollable', 'SingleSelectionModel', 'SizeRequirements', 'SizeSequence', 'SortingFocusTraversalPolicy', 'SpinnerDateModel', 'SpinnerListModel', 'SpinnerModel', 'SpinnerNumberModel', 'Spring', 'SpringLayout', 'SpringLayout.Constraints', 'SwingConstants', 'SwingUtilities', 'ToolTipManager', 'TransferHandler', 'UIDefaults', 'UIDefaults.ActiveValue', 'UIDefaults.LazyInputMap', 'UIDefaults.LazyValue', 'UIDefaults.ProxyLazyValue', 'UIManager', 'UIManager.LookAndFeelInfo', 'UnsupportedLookAndFeelException', 'ViewportLayout', 'WindowConstants'
-			),
-		106 => array (
-			'AbstractBorder', 'BevelBorder', 'Border', 'CompoundBorder', 'EmptyBorder', 'EtchedBorder', 'LineBorder', 'MatteBorder', 'SoftBevelBorder', 'TitledBorder'
-			),
-		107 => array (
-			'AbstractColorChooserPanel', 'ColorChooserComponentFactory', 'ColorSelectionModel', 'DefaultColorSelectionModel'
-			),
-		108 => array (
-			'AncestorEvent', 'AncestorListener', 'CaretEvent', 'CaretListener', 'CellEditorListener', 'ChangeEvent', 'ChangeListener', 'DocumentEvent.ElementChange', 'DocumentEvent.EventType', 'DocumentListener', 'EventListenerList', 'HyperlinkEvent', 'HyperlinkEvent.EventType', 'HyperlinkListener', 'InternalFrameAdapter', 'InternalFrameEvent', 'InternalFrameListener', 'ListDataEvent', 'ListDataListener', 'ListSelectionEvent', 'ListSelectionListener', 'MenuDragMouseEvent', 'MenuDragMouseListener', 'MenuEvent', 'MenuKeyEvent', 'MenuKeyListener', 'MenuListener', 'MouseInputAdapter', 'MouseInputListener', 'PopupMenuEvent', 'PopupMenuListener', 'SwingPropertyChangeSupport', 'TableColumnModelEvent', 'TableColumnModelListener', 'TableModelEvent', 'TableModelListener', 'TreeExpansionEvent', 'TreeExpansionListener', 'TreeModelEvent', 'TreeModelListener', 'TreeSelectionEvent', 'TreeSelectionListener', 'TreeWillExpandListener', 'UndoableEditEvent', 'UndoableEditListener'
-			),
-		109 => array (
-			'FileSystemView', 'FileView'
-			),
-		110 => array (
-			'ActionMapUIResource', 'BorderUIResource', 'BorderUIResource.BevelBorderUIResource', 'BorderUIResource.CompoundBorderUIResource', 'BorderUIResource.EmptyBorderUIResource', 'BorderUIResource.EtchedBorderUIResource', 'BorderUIResource.LineBorderUIResource', 'BorderUIResource.MatteBorderUIResource', 'BorderUIResource.TitledBorderUIResource', 'ButtonUI', 'ColorChooserUI', 'ColorUIResource', 'ComboBoxUI', 'ComponentInputMapUIResource', 'ComponentUI', 'DesktopIconUI', 'DesktopPaneUI', 'DimensionUIResource', 'FileChooserUI', 'FontUIResource', 'IconUIResource', 'InputMapUIResource', 'InsetsUIResource', 'InternalFrameUI', 'LabelUI', 'ListUI', 'MenuBarUI', 'MenuItemUI', 'OptionPaneUI', 'PanelUI', 'PopupMenuUI', 'ProgressBarUI', 'RootPaneUI', 'ScrollBarUI', 'ScrollPaneUI', 'SeparatorUI', 'SliderUI', 'SpinnerUI', 'SplitPaneUI', 'TabbedPaneUI', 'TableHeaderUI', 'TableUI', 'TextUI', 'ToolBarUI', 'ToolTipUI', 'TreeUI', 'UIResource', 'ViewportUI'
-			),
-		111 => array (
-			'BasicArrowButton', 'BasicBorders', 'BasicBorders.ButtonBorder', 'BasicBorders.FieldBorder', 'BasicBorders.MarginBorder', 'BasicBorders.MenuBarBorder', 'BasicBorders.RadioButtonBorder', 'BasicBorders.RolloverButtonBorder', 'BasicBorders.SplitPaneBorder', 'BasicBorders.ToggleButtonBorder', 'BasicButtonListener', 'BasicButtonUI', 'BasicCheckBoxMenuItemUI', 'BasicCheckBoxUI', 'BasicColorChooserUI', 'BasicComboBoxEditor', 'BasicComboBoxEditor.UIResource', 'BasicComboBoxRenderer', 'BasicComboBoxRenderer.UIResource', 'BasicComboBoxUI', 'BasicComboPopup', 'BasicDesktopIconUI', 'BasicDesktopPaneUI', 'BasicDirectoryModel', 'BasicEditorPaneUI', 'BasicFileChooserUI', 'BasicFormattedTextFieldUI', 'BasicGraphicsUtils', 'BasicHTML', 'BasicIconFactory', 'BasicInternalFrameTitlePane', 'BasicInternalFrameUI', 'BasicLabelUI', 'BasicListUI', 'BasicLookAndFeel', 'BasicMenuBarUI', 'BasicMenuItemUI', 'BasicMenuUI', 'BasicOptionPaneUI', 'BasicOptionPaneUI.ButtonAreaLayout', 'BasicPanelUI', 'BasicPasswordFieldUI',
-			'BasicPopupMenuSeparatorUI', 'BasicPopupMenuUI', 'BasicProgressBarUI', 'BasicRadioButtonMenuItemUI', 'BasicRadioButtonUI', 'BasicRootPaneUI', 'BasicScrollBarUI', 'BasicScrollPaneUI', 'BasicSeparatorUI', 'BasicSliderUI', 'BasicSpinnerUI', 'BasicSplitPaneDivider', 'BasicSplitPaneUI', 'BasicTabbedPaneUI', 'BasicTableHeaderUI', 'BasicTableUI', 'BasicTextAreaUI', 'BasicTextFieldUI', 'BasicTextPaneUI', 'BasicTextUI', 'BasicTextUI.BasicCaret', 'BasicTextUI.BasicHighlighter', 'BasicToggleButtonUI', 'BasicToolBarSeparatorUI', 'BasicToolBarUI', 'BasicToolTipUI', 'BasicTreeUI', 'BasicViewportUI', 'ComboPopup', 'DefaultMenuLayout'
-			),
-		112 => array (
-			'DefaultMetalTheme', 'MetalBorders', 'MetalBorders.ButtonBorder', 'MetalBorders.Flush3DBorder', 'MetalBorders.InternalFrameBorder', 'MetalBorders.MenuBarBorder', 'MetalBorders.MenuItemBorder', 'MetalBorders.OptionDialogBorder', 'MetalBorders.PaletteBorder', 'MetalBorders.PopupMenuBorder', 'MetalBorders.RolloverButtonBorder', 'MetalBorders.ScrollPaneBorder', 'MetalBorders.TableHeaderBorder', 'MetalBorders.TextFieldBorder', 'MetalBorders.ToggleButtonBorder', 'MetalBorders.ToolBarBorder', 'MetalButtonUI', 'MetalCheckBoxIcon', 'MetalCheckBoxUI', 'MetalComboBoxButton', 'MetalComboBoxEditor', 'MetalComboBoxEditor.UIResource', 'MetalComboBoxIcon', 'MetalComboBoxUI', 'MetalDesktopIconUI', 'MetalFileChooserUI', 'MetalIconFactory', 'MetalIconFactory.FileIcon16', 'MetalIconFactory.FolderIcon16', 'MetalIconFactory.PaletteCloseIcon', 'MetalIconFactory.TreeControlIcon', 'MetalIconFactory.TreeFolderIcon', 'MetalIconFactory.TreeLeafIcon', 'MetalInternalFrameTitlePane', 'MetalInternalFrameUI', 'MetalLabelUI',
-			'MetalLookAndFeel', 'MetalMenuBarUI', 'MetalPopupMenuSeparatorUI', 'MetalProgressBarUI', 'MetalRadioButtonUI', 'MetalRootPaneUI', 'MetalScrollBarUI', 'MetalScrollButton', 'MetalScrollPaneUI', 'MetalSeparatorUI', 'MetalSliderUI', 'MetalSplitPaneUI', 'MetalTabbedPaneUI', 'MetalTextFieldUI', 'MetalTheme', 'MetalToggleButtonUI', 'MetalToolBarUI', 'MetalToolTipUI', 'MetalTreeUI', 'OceanTheme'
-			),
-		113 => array (
-			'MultiButtonUI', 'MultiColorChooserUI', 'MultiComboBoxUI', 'MultiDesktopIconUI', 'MultiDesktopPaneUI', 'MultiFileChooserUI', 'MultiInternalFrameUI', 'MultiLabelUI', 'MultiListUI', 'MultiLookAndFeel', 'MultiMenuBarUI', 'MultiMenuItemUI', 'MultiOptionPaneUI', 'MultiPanelUI', 'MultiPopupMenuUI', 'MultiProgressBarUI', 'MultiRootPaneUI', 'MultiScrollBarUI', 'MultiScrollPaneUI', 'MultiSeparatorUI', 'MultiSliderUI', 'MultiSpinnerUI', 'MultiSplitPaneUI', 'MultiTabbedPaneUI', 'MultiTableHeaderUI', 'MultiTableUI', 'MultiTextUI', 'MultiToolBarUI', 'MultiToolTipUI', 'MultiTreeUI', 'MultiViewportUI'
-			),
-		114 => array (
-			'ColorType', 'Region', 'SynthConstants', 'SynthContext', 'SynthGraphicsUtils', 'SynthLookAndFeel', 'SynthPainter', 'SynthStyle', 'SynthStyleFactory'
-			),
-		115 => array (
-			'AbstractTableModel', 'DefaultTableCellRenderer', 'DefaultTableCellRenderer.UIResource', 'DefaultTableColumnModel', 'DefaultTableModel', 'JTableHeader', 'TableCellEditor', 'TableCellRenderer', 'TableColumn', 'TableColumnModel', 'TableModel'
-			),
-		116 => array (
-			'AbstractDocument', 'AbstractDocument.AttributeContext', 'AbstractDocument.Content', 'AbstractDocument.ElementEdit', 'AbstractWriter', 'AsyncBoxView', 'AttributeSet.CharacterAttribute', 'AttributeSet.ColorAttribute', 'AttributeSet.FontAttribute', 'AttributeSet.ParagraphAttribute', 'BadLocationException', 'BoxView', 'Caret', 'ChangedCharSetException', 'ComponentView', 'CompositeView', 'DateFormatter', 'DefaultCaret', 'DefaultEditorKit', 'DefaultEditorKit.BeepAction', 'DefaultEditorKit.CopyAction', 'DefaultEditorKit.CutAction', 'DefaultEditorKit.DefaultKeyTypedAction', 'DefaultEditorKit.InsertBreakAction', 'DefaultEditorKit.InsertContentAction', 'DefaultEditorKit.InsertTabAction', 'DefaultEditorKit.PasteAction', 'DefaultFormatter', 'DefaultFormatterFactory', 'DefaultHighlighter', 'DefaultHighlighter.DefaultHighlightPainter', 'DefaultStyledDocument', 'DefaultStyledDocument.AttributeUndoableEdit', 'DefaultStyledDocument.ElementSpec', 'DefaultTextUI', 'DocumentFilter', 'DocumentFilter.FilterBypass',
-			'EditorKit', 'ElementIterator', 'FieldView', 'FlowView', 'FlowView.FlowStrategy', 'GapContent', 'GlyphView', 'GlyphView.GlyphPainter', 'Highlighter', 'Highlighter.Highlight', 'Highlighter.HighlightPainter', 'IconView', 'InternationalFormatter', 'JTextComponent', 'JTextComponent.KeyBinding', 'Keymap', 'LabelView', 'LayeredHighlighter', 'LayeredHighlighter.LayerPainter', 'LayoutQueue', 'MaskFormatter', 'MutableAttributeSet', 'NavigationFilter', 'NavigationFilter.FilterBypass', 'NumberFormatter', 'PasswordView', 'PlainDocument', 'PlainView', 'Position', 'Position.Bias', 'Segment', 'SimpleAttributeSet', 'StringContent', 'Style', 'StyleConstants', 'StyleConstants.CharacterConstants', 'StyleConstants.ColorConstants', 'StyleConstants.FontConstants', 'StyleConstants.ParagraphConstants', 'StyleContext', 'StyledDocument', 'StyledEditorKit', 'StyledEditorKit.AlignmentAction', 'StyledEditorKit.BoldAction', 'StyledEditorKit.FontFamilyAction', 'StyledEditorKit.FontSizeAction', 'StyledEditorKit.ForegroundAction',
-			'StyledEditorKit.ItalicAction', 'StyledEditorKit.StyledTextAction', 'StyledEditorKit.UnderlineAction', 'TabExpander', 'TabSet', 'TabStop', 'TabableView', 'TableView', 'TextAction', 'Utilities', 'View', 'ViewFactory', 'WrappedPlainView', 'ZoneView'
-			),
-		117 => array (
-			'BlockView', 'CSS', 'CSS.Attribute', 'FormSubmitEvent', 'FormSubmitEvent.MethodType', 'FormView', 'HTML', 'HTML.Attribute', 'HTML.Tag', 'HTML.UnknownTag', 'HTMLDocument', 'HTMLDocument.Iterator', 'HTMLEditorKit', 'HTMLEditorKit.HTMLFactory', 'HTMLEditorKit.HTMLTextAction', 'HTMLEditorKit.InsertHTMLTextAction', 'HTMLEditorKit.LinkController', 'HTMLEditorKit.Parser', 'HTMLEditorKit.ParserCallback', 'HTMLFrameHyperlinkEvent', 'HTMLWriter', 'ImageView', 'InlineView', 'ListView', 'MinimalHTMLWriter', 'ObjectView', 'Option', 'StyleSheet', 'StyleSheet.BoxPainter', 'StyleSheet.ListPainter'
-			),
-		118 => array (
-			'ContentModel', 'DTD', 'DTDConstants', 'DocumentParser', 'ParserDelegator', 'TagElement'
-			),
-		119 => array (
-			'RTFEditorKit'
-			),
-		120 => array (
-			'AbstractLayoutCache', 'AbstractLayoutCache.NodeDimensions', 'DefaultMutableTreeNode', 'DefaultTreeCellEditor', 'DefaultTreeCellRenderer', 'DefaultTreeModel', 'DefaultTreeSelectionModel', 'ExpandVetoException', 'FixedHeightLayoutCache', 'MutableTreeNode', 'RowMapper', 'TreeCellEditor', 'TreeCellRenderer', 'TreeModel', 'TreeNode', 'TreePath', 'TreeSelectionModel', 'VariableHeightLayoutCache'
-			),
-		121 => array (
-			'AbstractUndoableEdit', 'CannotRedoException', 'CannotUndoException', 'CompoundEdit', 'StateEdit', 'StateEditable', 'UndoManager', 'UndoableEdit', 'UndoableEditSupport'
-			),
-		122 => array (
-			'InvalidTransactionException', 'TransactionRequiredException', 'TransactionRolledbackException'
-			),
-		123 => array (
-			'XAException', 'XAResource', 'Xid'
-			),
-		124 => array (
-			'XMLConstants'
-			),
-		125 => array (
-			'DatatypeConfigurationException', 'DatatypeConstants', 'DatatypeConstants.Field', 'DatatypeFactory', 'Duration', 'XMLGregorianCalendar'
-			),
-		126 => array (
-			'NamespaceContext', 'QName'
-			),
-		127 => array (
-			'DocumentBuilder', 'DocumentBuilderFactory', 'FactoryConfigurationError', 'ParserConfigurationException', 'SAXParser', 'SAXParserFactory'
-			),
-		128 => array (
-			'ErrorListener', 'OutputKeys', 'Result', 'Source', 'SourceLocator', 'Templates', 'Transformer', 'TransformerConfigurationException', 'TransformerException', 'TransformerFactory', 'TransformerFactoryConfigurationError', 'URIResolver'
-			),
-		129 => array (
-			'DOMResult', 'DOMSource'
-			),
-		130 => array (
-			'SAXResult', 'SAXSource', 'SAXTransformerFactory', 'TemplatesHandler', 'TransformerHandler'
-			),
-		131 => array (
-			'StreamResult', 'StreamSource'
-			),
-		132 => array (
-			'Schema', 'SchemaFactory', 'SchemaFactoryLoader', 'TypeInfoProvider', 'Validator', 'ValidatorHandler'
-			),
-		133 => array (
-			'XPath', 'XPathConstants', 'XPathException', 'XPathExpression', 'XPathExpressionException', 'XPathFactory', 'XPathFactoryConfigurationException', 'XPathFunction', 'XPathFunctionException', 'XPathFunctionResolver', 'XPathVariableResolver'
-			),
-		134 => array (
-			'ChannelBinding', 'GSSContext', 'GSSCredential', 'GSSException', 'GSSManager', 'GSSName', 'MessageProp', 'Oid'
-			),
-		135 => array (
-			'ACTIVITY_COMPLETED', 'ACTIVITY_REQUIRED', 'ARG_IN', 'ARG_INOUT', 'ARG_OUT', 'Any', 'AnyHolder', 'AnySeqHolder', 'BAD_CONTEXT', 'BAD_INV_ORDER', 'BAD_OPERATION', 'BAD_PARAM', 'BAD_POLICY', 'BAD_POLICY_TYPE', 'BAD_POLICY_VALUE', 'BAD_QOS', 'BAD_TYPECODE', 'BooleanHolder', 'BooleanSeqHelper', 'BooleanSeqHolder', 'ByteHolder', 'CODESET_INCOMPATIBLE', 'COMM_FAILURE', 'CTX_RESTRICT_SCOPE', 'CharHolder', 'CharSeqHelper', 'CharSeqHolder', 'CompletionStatus', 'CompletionStatusHelper', 'ContextList', 'CurrentHolder', 'CustomMarshal', 'DATA_CONVERSION', 'DefinitionKind', 'DefinitionKindHelper', 'DomainManager', 'DomainManagerOperations', 'DoubleHolder', 'DoubleSeqHelper', 'DoubleSeqHolder', 'Environment', 'ExceptionList', 'FREE_MEM', 'FixedHolder', 'FloatHolder', 'FloatSeqHelper', 'FloatSeqHolder', 'IDLType', 'IDLTypeHelper', 'IDLTypeOperations', 'IMP_LIMIT', 'INITIALIZE', 'INTERNAL', 'INTF_REPOS', 'INVALID_ACTIVITY', 'INVALID_TRANSACTION', 'INV_FLAG', 'INV_IDENT', 'INV_OBJREF', 'INV_POLICY', 'IRObject',
-			'IRObjectOperations', 'IdentifierHelper', 'IntHolder', 'LocalObject', 'LongHolder', 'LongLongSeqHelper', 'LongLongSeqHolder', 'LongSeqHelper', 'LongSeqHolder', 'MARSHAL', 'NO_IMPLEMENT', 'NO_MEMORY', 'NO_PERMISSION', 'NO_RESOURCES', 'NO_RESPONSE', 'NVList', 'NamedValue', 'OBJECT_NOT_EXIST', 'OBJ_ADAPTER', 'OMGVMCID', 'ObjectHelper', 'ObjectHolder', 'OctetSeqHelper', 'OctetSeqHolder', 'PERSIST_STORE', 'PRIVATE_MEMBER', 'PUBLIC_MEMBER', 'ParameterMode', 'ParameterModeHelper', 'ParameterModeHolder', 'PolicyError', 'PolicyErrorCodeHelper', 'PolicyErrorHelper', 'PolicyErrorHolder', 'PolicyHelper', 'PolicyHolder', 'PolicyListHelper', 'PolicyListHolder', 'PolicyOperations', 'PolicyTypeHelper', 'PrincipalHolder', 'REBIND', 'RepositoryIdHelper', 'Request', 'ServerRequest', 'ServiceDetail', 'ServiceDetailHelper', 'ServiceInformation', 'ServiceInformationHelper', 'ServiceInformationHolder', 'SetOverrideType', 'SetOverrideTypeHelper', 'ShortHolder', 'ShortSeqHelper', 'ShortSeqHolder', 'StringHolder',
-			'StringSeqHelper', 'StringSeqHolder', 'StringValueHelper', 'StructMember', 'StructMemberHelper', 'SystemException', 'TCKind', 'TIMEOUT', 'TRANSACTION_MODE', 'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK', 'TRANSACTION_UNAVAILABLE', 'TRANSIENT', 'TypeCode', 'TypeCodeHolder', 'ULongLongSeqHelper', 'ULongLongSeqHolder', 'ULongSeqHelper', 'ULongSeqHolder', 'UNSUPPORTED_POLICY', 'UNSUPPORTED_POLICY_VALUE', 'UShortSeqHelper', 'UShortSeqHolder', 'UnionMember', 'UnionMemberHelper', 'UnknownUserException', 'UnknownUserExceptionHelper', 'UnknownUserExceptionHolder', 'UserException', 'VM_ABSTRACT', 'VM_CUSTOM', 'VM_NONE', 'VM_TRUNCATABLE', 'ValueBaseHelper', 'ValueBaseHolder', 'ValueMember', 'ValueMemberHelper', 'VersionSpecHelper', 'VisibilityHelper', 'WCharSeqHelper', 'WCharSeqHolder', 'WStringSeqHelper', 'WStringSeqHolder', 'WStringValueHelper', 'WrongTransaction', 'WrongTransactionHelper', 'WrongTransactionHolder', '_IDLTypeStub', '_PolicyStub'
-			),
-		136 => array (
-			'Invalid', 'InvalidSeq'
-			),
-		137 => array (
-			'BadKind'
-			),
-		138 => array (
-			'ApplicationException', 'BoxedValueHelper', 'CustomValue', 'IDLEntity', 'IndirectionException', 'InvokeHandler', 'RemarshalException', 'ResponseHandler', 'ServantObject', 'Streamable', 'StreamableValue', 'UnknownException', 'ValueBase', 'ValueFactory', 'ValueInputStream', 'ValueOutputStream'
-			),
-		139 => array (
-			'BindingHelper', 'BindingHolder', 'BindingIterator', 'BindingIteratorHelper', 'BindingIteratorHolder', 'BindingIteratorOperations', 'BindingIteratorPOA', 'BindingListHelper', 'BindingListHolder', 'BindingType', 'BindingTypeHelper', 'BindingTypeHolder', 'IstringHelper', 'NameComponent', 'NameComponentHelper', 'NameComponentHolder', 'NameHelper', 'NameHolder', 'NamingContext', 'NamingContextExt', 'NamingContextExtHelper', 'NamingContextExtHolder', 'NamingContextExtOperations', 'NamingContextExtPOA', 'NamingContextHelper', 'NamingContextHolder', 'NamingContextOperations', 'NamingContextPOA', '_BindingIteratorImplBase', '_BindingIteratorStub', '_NamingContextExtStub', '_NamingContextImplBase', '_NamingContextStub'
-			),
-		140 => array (
-			'AddressHelper', 'InvalidAddress', 'InvalidAddressHelper', 'InvalidAddressHolder', 'StringNameHelper', 'URLStringHelper'
-			),
-		141 => array (
-			'AlreadyBound', 'AlreadyBoundHelper', 'AlreadyBoundHolder', 'CannotProceed', 'CannotProceedHelper', 'CannotProceedHolder', 'InvalidNameHolder', 'NotEmpty', 'NotEmptyHelper', 'NotEmptyHolder', 'NotFound', 'NotFoundHelper', 'NotFoundHolder', 'NotFoundReason', 'NotFoundReasonHelper', 'NotFoundReasonHolder'
-			),
-		142 => array (
-			'Parameter'
-			),
-		143 => array (
-			'DynAnyFactory', 'DynAnyFactoryHelper', 'DynAnyFactoryOperations', 'DynAnyHelper', 'DynAnyOperations', 'DynAnySeqHelper', 'DynArrayHelper', 'DynArrayOperations', 'DynEnumHelper', 'DynEnumOperations', 'DynFixedHelper', 'DynFixedOperations', 'DynSequenceHelper', 'DynSequenceOperations', 'DynStructHelper', 'DynStructOperations', 'DynUnionHelper', 'DynUnionOperations', 'DynValueBox', 'DynValueBoxOperations', 'DynValueCommon', 'DynValueCommonOperations', 'DynValueHelper', 'DynValueOperations', 'NameDynAnyPair', 'NameDynAnyPairHelper', 'NameDynAnyPairSeqHelper', 'NameValuePairSeqHelper', '_DynAnyFactoryStub', '_DynAnyStub', '_DynArrayStub', '_DynEnumStub', '_DynFixedStub', '_DynSequenceStub', '_DynStructStub', '_DynUnionStub', '_DynValueStub'
-			),
-		144 => array (
-			'InconsistentTypeCodeHelper'
-			),
-		145 => array (
-			'InvalidValueHelper'
-			),
-		146 => array (
-			'CodeSets', 'Codec', 'CodecFactory', 'CodecFactoryHelper', 'CodecFactoryOperations', 'CodecOperations', 'ComponentIdHelper', 'ENCODING_CDR_ENCAPS', 'Encoding', 'ExceptionDetailMessage', 'IOR', 'IORHelper', 'IORHolder', 'MultipleComponentProfileHelper', 'MultipleComponentProfileHolder', 'ProfileIdHelper', 'RMICustomMaxStreamFormat', 'ServiceContext', 'ServiceContextHelper', 'ServiceContextHolder', 'ServiceContextListHelper', 'ServiceContextListHolder', 'ServiceIdHelper', 'TAG_ALTERNATE_IIOP_ADDRESS', 'TAG_CODE_SETS', 'TAG_INTERNET_IOP', 'TAG_JAVA_CODEBASE', 'TAG_MULTIPLE_COMPONENTS', 'TAG_ORB_TYPE', 'TAG_POLICIES', 'TAG_RMI_CUSTOM_MAX_STREAM_FORMAT', 'TaggedComponent', 'TaggedComponentHelper', 'TaggedComponentHolder', 'TaggedProfile', 'TaggedProfileHelper', 'TaggedProfileHolder', 'TransactionService'
-			),
-		147 => array (
-			'UnknownEncoding', 'UnknownEncodingHelper'
-			),
-		148 => array (
-			'FormatMismatch', 'FormatMismatchHelper', 'InvalidTypeForEncoding', 'InvalidTypeForEncodingHelper'
-			),
-		149 => array (
-			'SYNC_WITH_TRANSPORT', 'SyncScopeHelper'
-			),
-		150 => array (
-			'ACTIVE', 'AdapterManagerIdHelper', 'AdapterNameHelper', 'AdapterStateHelper', 'ClientRequestInfo', 'ClientRequestInfoOperations', 'ClientRequestInterceptor', 'ClientRequestInterceptorOperations', 'DISCARDING', 'HOLDING', 'INACTIVE', 'IORInfo', 'IORInfoOperations', 'IORInterceptor', 'IORInterceptorOperations', 'IORInterceptor_3_0', 'IORInterceptor_3_0Helper', 'IORInterceptor_3_0Holder', 'IORInterceptor_3_0Operations', 'Interceptor', 'InterceptorOperations', 'InvalidSlot', 'InvalidSlotHelper', 'LOCATION_FORWARD', 'NON_EXISTENT', 'ORBIdHelper', 'ORBInitInfo', 'ORBInitInfoOperations', 'ORBInitializer', 'ORBInitializerOperations', 'ObjectReferenceFactory', 'ObjectReferenceFactoryHelper', 'ObjectReferenceFactoryHolder', 'ObjectReferenceTemplate', 'ObjectReferenceTemplateHelper', 'ObjectReferenceTemplateHolder', 'ObjectReferenceTemplateSeqHelper', 'ObjectReferenceTemplateSeqHolder', 'PolicyFactory', 'PolicyFactoryOperations', 'RequestInfo', 'RequestInfoOperations', 'SUCCESSFUL', 'SYSTEM_EXCEPTION',
-			'ServerIdHelper', 'ServerRequestInfo', 'ServerRequestInfoOperations', 'ServerRequestInterceptor', 'ServerRequestInterceptorOperations', 'TRANSPORT_RETRY', 'USER_EXCEPTION'
-			),
-		151 => array (
-			'DuplicateName', 'DuplicateNameHelper'
-			),
-		152 => array (
-			'AdapterActivator', 'AdapterActivatorOperations', 'ID_ASSIGNMENT_POLICY_ID', 'ID_UNIQUENESS_POLICY_ID', 'IMPLICIT_ACTIVATION_POLICY_ID', 'IdAssignmentPolicy', 'IdAssignmentPolicyOperations', 'IdAssignmentPolicyValue', 'IdUniquenessPolicy', 'IdUniquenessPolicyOperations', 'IdUniquenessPolicyValue', 'ImplicitActivationPolicy', 'ImplicitActivationPolicyOperations', 'ImplicitActivationPolicyValue', 'LIFESPAN_POLICY_ID', 'LifespanPolicy', 'LifespanPolicyOperations', 'LifespanPolicyValue', 'POA', 'POAHelper', 'POAManager', 'POAManagerOperations', 'POAOperations', 'REQUEST_PROCESSING_POLICY_ID', 'RequestProcessingPolicy', 'RequestProcessingPolicyOperations', 'RequestProcessingPolicyValue', 'SERVANT_RETENTION_POLICY_ID', 'Servant', 'ServantActivator', 'ServantActivatorHelper', 'ServantActivatorOperations', 'ServantActivatorPOA', 'ServantLocator', 'ServantLocatorHelper', 'ServantLocatorOperations', 'ServantLocatorPOA', 'ServantManager', 'ServantManagerOperations', 'ServantRetentionPolicy',
-			'ServantRetentionPolicyOperations', 'ServantRetentionPolicyValue', 'THREAD_POLICY_ID', 'ThreadPolicy', 'ThreadPolicyOperations', 'ThreadPolicyValue', '_ServantActivatorStub', '_ServantLocatorStub'
-			),
-		153 => array (
-			'NoContext', 'NoContextHelper'
-			),
-		154 => array (
-			'AdapterInactive', 'AdapterInactiveHelper', 'State'
-			),
-		155 => array (
-			'AdapterAlreadyExists', 'AdapterAlreadyExistsHelper', 'AdapterNonExistent', 'AdapterNonExistentHelper', 'InvalidPolicy', 'InvalidPolicyHelper', 'NoServant', 'NoServantHelper', 'ObjectAlreadyActive', 'ObjectAlreadyActiveHelper', 'ObjectNotActive', 'ObjectNotActiveHelper', 'ServantAlreadyActive', 'ServantAlreadyActiveHelper', 'ServantNotActive', 'ServantNotActiveHelper', 'WrongAdapter', 'WrongAdapterHelper', 'WrongPolicy', 'WrongPolicyHelper'
-			),
-		156 => array (
-			'CookieHolder'
-			),
-		157 => array (
-			'RunTime', 'RunTimeOperations'
-			),
-		158 => array (
-			'_Remote_Stub'
-			),
-		159 => array (
-			'Attr', 'CDATASection', 'CharacterData', 'Comment', 'DOMConfiguration', 'DOMError', 'DOMErrorHandler', 'DOMException', 'DOMImplementation', 'DOMImplementationList', 'DOMImplementationSource', 'DOMStringList', 'DocumentFragment', 'DocumentType', 'EntityReference', 'NameList', 'NamedNodeMap', 'Node', 'NodeList', 'Notation', 'ProcessingInstruction', 'Text', 'TypeInfo', 'UserDataHandler'
-			),
-		160 => array (
-			'DOMImplementationRegistry'
-			),
-		161 => array (
-			'EventException', 'EventTarget', 'MutationEvent', 'UIEvent'
-			),
-		162 => array (
-			'DOMImplementationLS', 'LSException', 'LSInput', 'LSLoadEvent', 'LSOutput', 'LSParser', 'LSParserFilter', 'LSProgressEvent', 'LSResourceResolver', 'LSSerializer', 'LSSerializerFilter'
-			),
-		163 => array (
-			'DTDHandler', 'DocumentHandler', 'EntityResolver', 'ErrorHandler', 'HandlerBase', 'InputSource', 'Locator', 'SAXException', 'SAXNotRecognizedException', 'SAXNotSupportedException', 'SAXParseException', 'XMLFilter', 'XMLReader'
-			),
-		164 => array (
-			'Attributes2', 'Attributes2Impl', 'DeclHandler', 'DefaultHandler2', 'EntityResolver2', 'LexicalHandler', 'Locator2', 'Locator2Impl'
-			),
-		165 => array (
-			'AttributeListImpl', 'AttributesImpl', 'DefaultHandler', 'LocatorImpl', 'NamespaceSupport', 'ParserAdapter', 'ParserFactory', 'XMLFilterImpl', 'XMLReaderAdapter', 'XMLReaderFactory'
-			),
-		/* ambiguous class names (appear in more than one package) */
-		166 => array (
-			'Annotation', 'AnySeqHelper', 'Array', 'Attribute', 'AttributeList', 'AttributeSet', 'Attributes', 'AuthenticationException', 'Binding', 'Bounds', 'Certificate', 'CertificateEncodingException', 'CertificateException', 'CertificateExpiredException', 'CertificateNotYetValidException', 'CertificateParsingException', 'ConnectException', 'ContentHandler', 'Context', 'Control', 'Current', 'CurrentHelper', 'CurrentOperations', 'DOMLocator', 'DataInputStream', 'DataOutputStream', 'Date', 'DefaultLoaderRepository', 'Delegate', 'Document', 'DocumentEvent', 'DynAny', 'DynArray', 'DynEnum', 'DynFixed', 'DynSequence', 'DynStruct', 'DynUnion', 'DynValue', 'DynamicImplementation', 'Element', 'Entity', 'Event', 'EventListener', 'FieldNameHelper', 'FileFilter', 'Formatter', 'ForwardRequest', 'ForwardRequestHelper', 'InconsistentTypeCode', 'InputStream', 'IntrospectionException', 'InvalidAttributeValueException', 'InvalidKeyException', 'InvalidName', 'InvalidNameHelper', 'InvalidValue', 'List', 'MouseEvent',
-			'NameValuePair', 'NameValuePairHelper', 'ORB', 'Object', 'ObjectIdHelper', 'ObjectImpl', 'OpenType', 'OutputStream', 'ParagraphView', 'Parser', 'Permission', 'Policy', 'Principal', 'Proxy', 'Reference', 'Statement', 'Timer', 'Timestamp', 'TypeMismatch', 'TypeMismatchHelper', 'UNKNOWN', 'UnknownHostException', 'X509Certificate'
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		/* all Java keywords are case sensitive */
-		1 => true, 2 => true, 3 => true, 4 => true,
-		5 => true, 6 => true, 7 => true, 8 => true, 9 => true,
-		10 => true, 11 => true, 12 => true, 13 => true, 14 => true,
-		15 => true, 16 => true, 17 => true, 18 => true, 19 => true,
-		20 => true, 21 => true, 22 => true, 23 => true, 24 => true,
-		25 => true, 26 => true, 27 => true, 28 => true, 29 => true,
-		30 => true, 31 => true, 32 => true, 33 => true, 34 => true,
-		35 => true, 36 => true, 37 => true, 38 => true, 39 => true,
-		40 => true, 41 => true, 42 => true, 43 => true, 44 => true,
-		45 => true, 46 => true, 47 => true, 48 => true, 49 => true,
-		50 => true, 51 => true, 52 => true, 53 => true, 54 => true,
-		55 => true, 56 => true, 57 => true, 58 => true, 59 => true,
-		60 => true, 61 => true, 62 => true, 63 => true, 64 => true,
-		65 => true, 66 => true, 67 => true, 68 => true, 69 => true,
-		70 => true, 71 => true, 72 => true, 73 => true, 74 => true,
-		75 => true, 76 => true, 77 => true, 78 => true, 79 => true,
-		80 => true, 81 => true, 82 => true, 83 => true, 84 => true,
-		85 => true, 86 => true, 87 => true, 88 => true, 89 => true,
-		90 => true, 91 => true, 92 => true, 93 => true, 94 => true,
-		95 => true, 96 => true, 97 => true, 98 => true, 99 => true,
-		100 => true, 101 => true, 102 => true, 103 => true, 104 => true,
-		105 => true, 106 => true, 107 => true, 108 => true, 109 => true,
-		110 => true, 111 => true, 112 => true, 113 => true, 114 => true,
-		115 => true, 116 => true, 117 => true, 118 => true, 119 => true,
-		120 => true, 121 => true, 122 => true, 123 => true, 124 => true,
-		125 => true, 126 => true, 127 => true, 128 => true, 129 => true,
-		130 => true, 131 => true, 132 => true, 133 => true, 134 => true,
-		135 => true, 136 => true, 137 => true, 138 => true, 139 => true,
-		140 => true, 141 => true, 142 => true, 143 => true, 144 => true,
-		145 => true, 146 => true, 147 => true, 148 => true, 149 => true,
-		150 => true, 151 => true, 152 => true, 153 => true, 154 => true,
-		155 => true, 156 => true, 157 => true, 158 => true, 159 => true,
-		160 => true, 161 => true, 162 => true, 163 => true, 164 => true,
-		165 => true, 166 => true
-	),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;',
-			2 => 'color: #000000; font-weight: bold;',
-			3 => 'color: #993333;',
-			4 => 'color: #b13366;',
-			5 => 'color: #aaaadd; font-weight: bold;',
-			6 => 'color: #aaaadd; font-weight: bold;',
-			7 => 'color: #aaaadd; font-weight: bold;',
-			8 => 'color: #aaaadd; font-weight: bold;',
-			9 => 'color: #aaaadd; font-weight: bold;',
-			10 => 'color: #aaaadd; font-weight: bold;',
-			11 => 'color: #aaaadd; font-weight: bold;',
-			12 => 'color: #aaaadd; font-weight: bold;',
-			13 => 'color: #aaaadd; font-weight: bold;',
-			14 => 'color: #aaaadd; font-weight: bold;',
-			15 => 'color: #aaaadd; font-weight: bold;',
-			16 => 'color: #aaaadd; font-weight: bold;',
-			17 => 'color: #aaaadd; font-weight: bold;',
-			18 => 'color: #aaaadd; font-weight: bold;',
-			19 => 'color: #aaaadd; font-weight: bold;',
-			20 => 'color: #aaaadd; font-weight: bold;',
-			21 => 'color: #aaaadd; font-weight: bold;',
-			22 => 'color: #aaaadd; font-weight: bold;',
-			23 => 'color: #aaaadd; font-weight: bold;',
-			24 => 'color: #aaaadd; font-weight: bold;',
-			25 => 'color: #aaaadd; font-weight: bold;',
-			26 => 'color: #aaaadd; font-weight: bold;',
-			27 => 'color: #aaaadd; font-weight: bold;',
-			28 => 'color: #aaaadd; font-weight: bold;',
-			29 => 'color: #aaaadd; font-weight: bold;',
-			30 => 'color: #aaaadd; font-weight: bold;',
-			31 => 'color: #aaaadd; font-weight: bold;',
-			32 => 'color: #aaaadd; font-weight: bold;',
-			33 => 'color: #aaaadd; font-weight: bold;',
-			34 => 'color: #aaaadd; font-weight: bold;',
-			35 => 'color: #aaaadd; font-weight: bold;',
-			36 => 'color: #aaaadd; font-weight: bold;',
-			37 => 'color: #aaaadd; font-weight: bold;',
-			38 => 'color: #aaaadd; font-weight: bold;',
-			39 => 'color: #aaaadd; font-weight: bold;',
-			40 => 'color: #aaaadd; font-weight: bold;',
-			41 => 'color: #aaaadd; font-weight: bold;',
-			42 => 'color: #aaaadd; font-weight: bold;',
-			43 => 'color: #aaaadd; font-weight: bold;',
-			44 => 'color: #aaaadd; font-weight: bold;',
-			45 => 'color: #aaaadd; font-weight: bold;',
-			46 => 'color: #aaaadd; font-weight: bold;',
-			47 => 'color: #aaaadd; font-weight: bold;',
-			48 => 'color: #aaaadd; font-weight: bold;',
-			49 => 'color: #aaaadd; font-weight: bold;',
-			50 => 'color: #aaaadd; font-weight: bold;',
-			51 => 'color: #aaaadd; font-weight: bold;',
-			52 => 'color: #aaaadd; font-weight: bold;',
-			53 => 'color: #aaaadd; font-weight: bold;',
-			54 => 'color: #aaaadd; font-weight: bold;',
-			55 => 'color: #aaaadd; font-weight: bold;',
-			56 => 'color: #aaaadd; font-weight: bold;',
-			57 => 'color: #aaaadd; font-weight: bold;',
-			58 => 'color: #aaaadd; font-weight: bold;',
-			59 => 'color: #aaaadd; font-weight: bold;',
-			60 => 'color: #aaaadd; font-weight: bold;',
-			61 => 'color: #aaaadd; font-weight: bold;',
-			62 => 'color: #aaaadd; font-weight: bold;',
-			63 => 'color: #aaaadd; font-weight: bold;',
-			64 => 'color: #aaaadd; font-weight: bold;',
-			65 => 'color: #aaaadd; font-weight: bold;',
-			66 => 'color: #aaaadd; font-weight: bold;',
-			67 => 'color: #aaaadd; font-weight: bold;',
-			68 => 'color: #aaaadd; font-weight: bold;',
-			69 => 'color: #aaaadd; font-weight: bold;',
-			70 => 'color: #aaaadd; font-weight: bold;',
-			71 => 'color: #aaaadd; font-weight: bold;',
-			72 => 'color: #aaaadd; font-weight: bold;',
-			73 => 'color: #aaaadd; font-weight: bold;',
-			74 => 'color: #aaaadd; font-weight: bold;',
-			75 => 'color: #aaaadd; font-weight: bold;',
-			76 => 'color: #aaaadd; font-weight: bold;',
-			77 => 'color: #aaaadd; font-weight: bold;',
-			78 => 'color: #aaaadd; font-weight: bold;',
-			79 => 'color: #aaaadd; font-weight: bold;',
-			80 => 'color: #aaaadd; font-weight: bold;',
-			81 => 'color: #aaaadd; font-weight: bold;',
-			82 => 'color: #aaaadd; font-weight: bold;',
-			83 => 'color: #aaaadd; font-weight: bold;',
-			84 => 'color: #aaaadd; font-weight: bold;',
-			85 => 'color: #aaaadd; font-weight: bold;',
-			86 => 'color: #aaaadd; font-weight: bold;',
-			87 => 'color: #aaaadd; font-weight: bold;',
-			88 => 'color: #aaaadd; font-weight: bold;',
-			89 => 'color: #aaaadd; font-weight: bold;',
-			90 => 'color: #aaaadd; font-weight: bold;',
-			91 => 'color: #aaaadd; font-weight: bold;',
-			92 => 'color: #aaaadd; font-weight: bold;',
-			93 => 'color: #aaaadd; font-weight: bold;',
-			94 => 'color: #aaaadd; font-weight: bold;',
-			95 => 'color: #aaaadd; font-weight: bold;',
-			96 => 'color: #aaaadd; font-weight: bold;',
-			97 => 'color: #aaaadd; font-weight: bold;',
-			98 => 'color: #aaaadd; font-weight: bold;',
-			99 => 'color: #aaaadd; font-weight: bold;',
-			100 => 'color: #aaaadd; font-weight: bold;',
-			101 => 'color: #aaaadd; font-weight: bold;',
-			102 => 'color: #aaaadd; font-weight: bold;',
-			103 => 'color: #aaaadd; font-weight: bold;',
-			104 => 'color: #aaaadd; font-weight: bold;',
-			105 => 'color: #aaaadd; font-weight: bold;',
-			106 => 'color: #aaaadd; font-weight: bold;',
-			107 => 'color: #aaaadd; font-weight: bold;',
-			108 => 'color: #aaaadd; font-weight: bold;',
-			109 => 'color: #aaaadd; font-weight: bold;',
-			110 => 'color: #aaaadd; font-weight: bold;',
-			111 => 'color: #aaaadd; font-weight: bold;',
-			112 => 'color: #aaaadd; font-weight: bold;',
-			113 => 'color: #aaaadd; font-weight: bold;',
-			114 => 'color: #aaaadd; font-weight: bold;',
-			115 => 'color: #aaaadd; font-weight: bold;',
-			116 => 'color: #aaaadd; font-weight: bold;',
-			117 => 'color: #aaaadd; font-weight: bold;',
-			118 => 'color: #aaaadd; font-weight: bold;',
-			119 => 'color: #aaaadd; font-weight: bold;',
-			120 => 'color: #aaaadd; font-weight: bold;',
-			121 => 'color: #aaaadd; font-weight: bold;',
-			122 => 'color: #aaaadd; font-weight: bold;',
-			123 => 'color: #aaaadd; font-weight: bold;',
-			124 => 'color: #aaaadd; font-weight: bold;',
-			125 => 'color: #aaaadd; font-weight: bold;',
-			126 => 'color: #aaaadd; font-weight: bold;',
-			127 => 'color: #aaaadd; font-weight: bold;',
-			128 => 'color: #aaaadd; font-weight: bold;',
-			129 => 'color: #aaaadd; font-weight: bold;',
-			130 => 'color: #aaaadd; font-weight: bold;',
-			131 => 'color: #aaaadd; font-weight: bold;',
-			132 => 'color: #aaaadd; font-weight: bold;',
-			133 => 'color: #aaaadd; font-weight: bold;',
-			134 => 'color: #aaaadd; font-weight: bold;',
-			135 => 'color: #aaaadd; font-weight: bold;',
-			136 => 'color: #aaaadd; font-weight: bold;',
-			137 => 'color: #aaaadd; font-weight: bold;',
-			138 => 'color: #aaaadd; font-weight: bold;',
-			139 => 'color: #aaaadd; font-weight: bold;',
-			140 => 'color: #aaaadd; font-weight: bold;',
-			141 => 'color: #aaaadd; font-weight: bold;',
-			142 => 'color: #aaaadd; font-weight: bold;',
-			143 => 'color: #aaaadd; font-weight: bold;',
-			144 => 'color: #aaaadd; font-weight: bold;',
-			145 => 'color: #aaaadd; font-weight: bold;',
-			146 => 'color: #aaaadd; font-weight: bold;',
-			147 => 'color: #aaaadd; font-weight: bold;',
-			148 => 'color: #aaaadd; font-weight: bold;',
-			149 => 'color: #aaaadd; font-weight: bold;',
-			150 => 'color: #aaaadd; font-weight: bold;',
-			151 => 'color: #aaaadd; font-weight: bold;',
-			152 => 'color: #aaaadd; font-weight: bold;',
-			153 => 'color: #aaaadd; font-weight: bold;',
-			154 => 'color: #aaaadd; font-weight: bold;',
-			155 => 'color: #aaaadd; font-weight: bold;',
-			156 => 'color: #aaaadd; font-weight: bold;',
-			157 => 'color: #aaaadd; font-weight: bold;',
-			158 => 'color: #aaaadd; font-weight: bold;',
-			159 => 'color: #aaaadd; font-weight: bold;',
-			160 => 'color: #aaaadd; font-weight: bold;',
-			161 => 'color: #aaaadd; font-weight: bold;',
-			162 => 'color: #aaaadd; font-weight: bold;',
-			163 => 'color: #aaaadd; font-weight: bold;',
-			164 => 'color: #aaaadd; font-weight: bold;',
-			165 => 'color: #aaaadd; font-weight: bold;',
-			166 => 'color: #aaaadd; font-weight: bold;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #006600;',
-			2 => 'color: #006600;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'SCRIPT' => array(
-			),
-		'REGEXPS' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => '',
-		4 => '',
-		5 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/applet/{FNAME}.html',
-		6 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/{FNAME}.html',
-		7 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/color/{FNAME}.html',
-		8 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/datatransfer/{FNAME}.html',
-		9 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/dnd/{FNAME}.html',
-		10 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/{FNAME}.html',
-		11 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/font/{FNAME}.html',
-		12 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/geom/{FNAME}.html',
-		13 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/im/{FNAME}.html',
-		14 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/im/spi/{FNAME}.html',
-		15 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/{FNAME}.html',
-		16 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/renderable/{FNAME}.html',
-		17 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/print/{FNAME}.html',
-		18 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/beans/{FNAME}.html',
-		19 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/beans/beancontext/{FNAME}.html',
-		20 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/io/{FNAME}.html',
-		21 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/{FNAME}.html',
-		22 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/annotation/{FNAME}.html',
-		23 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/instrument/{FNAME}.html',
-		24 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/management/{FNAME}.html',
-		25 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ref/{FNAME}.html',
-		26 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/{FNAME}.html',
-		27 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/math/{FNAME}.html',
-		28 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/net/{FNAME}.html',
-		29 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/{FNAME}.html',
-		30 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/channels/{FNAME}.html',
-		31 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/channels/spi/{FNAME}.html',
-		32 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/charset/{FNAME}.html',
-		33 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/charset/spi/{FNAME}.html',
-		34 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/{FNAME}.html',
-		35 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/activation/{FNAME}.html',
-		36 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/dgc/{FNAME}.html',
-		37 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/registry/{FNAME}.html',
-		38 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/server/{FNAME}.html',
-		39 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/{FNAME}.html',
-		40 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/acl/{FNAME}.html',
-		41 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/cert/{FNAME}.html',
-		42 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/interfaces/{FNAME}.html',
-		43 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/spec/{FNAME}.html',
-		44 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/sql/{FNAME}.html',
-		45 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/text/{FNAME}.html',
-		46 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/{FNAME}.html',
-		47 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/{FNAME}.html',
-		48 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/atomic/{FNAME}.html',
-		49 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/locks/{FNAME}.html',
-		50 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/jar/{FNAME}.html',
-		51 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/logging/{FNAME}.html',
-		52 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/prefs/{FNAME}.html',
-		53 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/{FNAME}.html',
-		54 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/zip/{FNAME}.html',
-		55 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/accessibility/{FNAME}.html',
-		56 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/activity/{FNAME}.html',
-		57 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/crypto/{FNAME}.html',
-		58 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/crypto/interfaces/{FNAME}.html',
-		59 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/crypto/spec/{FNAME}.html',
-		60 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/{FNAME}.html',
-		61 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/event/{FNAME}.html',
-		62 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/metadata/{FNAME}.html',
-		63 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/plugins/bmp/{FNAME}.html',
-		64 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/plugins/jpeg/{FNAME}.html',
-		65 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/spi/{FNAME}.html',
-		66 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/stream/{FNAME}.html',
-		67 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/{FNAME}.html',
-		68 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/loading/{FNAME}.html',
-		69 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/modelmbean/{FNAME}.html',
-		70 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/monitor/{FNAME}.html',
-		71 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/openmbean/{FNAME}.html',
-		72 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/relation/{FNAME}.html',
-		73 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/remote/{FNAME}.html',
-		74 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/remote/rmi/{FNAME}.html',
-		75 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/timer/{FNAME}.html',
-		76 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/{FNAME}.html',
-		77 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/directory/{FNAME}.html',
-		78 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/event/{FNAME}.html',
-		79 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/ldap/{FNAME}.html',
-		80 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/{FNAME}.html',
-		81 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/net/{FNAME}.html',
-		82 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/{FNAME}.html',
-		83 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/print/{FNAME}.html',
-		84 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/print/attribute/{FNAME}.html',
-		85 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/print/attribute/standard/{FNAME}.html',
-		86 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/print/event/{FNAME}.html',
-		87 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/{FNAME}.html',
-		88 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/CORBA/{FNAME}.html',
-		89 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/ssl/{FNAME}.html',
-		90 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/{FNAME}.html',
-		91 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/callback/{FNAME}.html',
-		92 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/kerberos/{FNAME}.html',
-		93 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/login/{FNAME}.html',
-		94 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/spi/{FNAME}.html',
-		95 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/x500/{FNAME}.html',
-		96 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/sasl/{FNAME}.html',
-		97 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/midi/{FNAME}.html',
-		98 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/midi/spi/{FNAME}.html',
-		99 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/sampled/{FNAME}.html',
-		100 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/sampled/spi/{FNAME}.html',
-		101 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/{FNAME}.html',
-		102 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/rowset/{FNAME}.html',
-		103 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/rowset/serial/{FNAME}.html',
-		104 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/rowset/spi/{FNAME}.html',
-		105 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/{FNAME}.html',
-		106 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/border/{FNAME}.html',
-		107 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/colorchooser/{FNAME}.html',
-		108 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/{FNAME}.html',
-		109 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/filechooser/{FNAME}.html',
-		110 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/{FNAME}.html',
-		111 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/basic/{FNAME}.html',
-		112 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/metal/{FNAME}.html',
-		113 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/multi/{FNAME}.html',
-		114 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/synth/{FNAME}.html',
-		115 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/{FNAME}.html',
-		116 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/{FNAME}.html',
-		117 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/html/{FNAME}.html',
-		118 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/html/parser/{FNAME}.html',
-		119 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/rtf/{FNAME}.html',
-		120 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/{FNAME}.html',
-		121 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/undo/{FNAME}.html',
-		122 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/{FNAME}.html',
-		123 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/{FNAME}.html',
-		124 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/{FNAME}.html',
-		125 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/datatype/{FNAME}.html',
-		126 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/namespace/{FNAME}.html',
-		127 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/parsers/{FNAME}.html',
-		128 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/{FNAME}.html',
-		129 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/dom/{FNAME}.html',
-		130 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/sax/{FNAME}.html',
-		131 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/stream/{FNAME}.html',
-		132 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/validation/{FNAME}.html',
-		133 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/xpath/{FNAME}.html',
-		134 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/ietf/jgss/{FNAME}.html',
-		135 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CORBA/{FNAME}.html',
-		136 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CORBA/DynAnyPackage/{FNAME}.html',
-		137 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CORBA/TypeCodePackage/{FNAME}.html',
-		138 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CORBA/portable/{FNAME}.html',
-		139 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CosNaming/{FNAME}.html',
-		140 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CosNaming/NamingContextExtPackage/{FNAME}.html',
-		141 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CosNaming/NamingContextPackage/{FNAME}.html',
-		142 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/Dynamic/{FNAME}.html',
-		143 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/DynamicAny/{FNAME}.html',
-		144 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/DynamicAny/DynAnyFactoryPackage/{FNAME}.html',
-		145 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/DynamicAny/DynAnyPackage/{FNAME}.html',
-		146 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/IOP/{FNAME}.html',
-		147 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/IOP/CodecFactoryPackage/{FNAME}.html',
-		148 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/IOP/CodecPackage/{FNAME}.html',
-		149 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/Messaging/{FNAME}.html',
-		150 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableInterceptor/{FNAME}.html',
-		151 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableInterceptor/ORBInitInfoPackage/{FNAME}.html',
-		152 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/{FNAME}.html',
-		153 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/CurrentPackage/{FNAME}.html',
-		154 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/{FNAME}.html',
-		155 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/POAPackage/{FNAME}.html',
-		156 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/ServantLocatorPackage/{FNAME}.html',
-		157 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/SendingContext/{FNAME}.html',
-		158 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/stub/java/rmi/{FNAME}.html',
-		159 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/w3c/dom/{FNAME}.html',
-		160 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/w3c/dom/bootstrap/{FNAME}.html',
-		161 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/w3c/dom/events/{FNAME}.html',
-		162 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/w3c/dom/ls/{FNAME}.html',
-		163 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/{FNAME}.html',
-		164 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/ext/{FNAME}.html',
-		165 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/helpers/{FNAME}.html',
-		/* ambiguous class names (appear in more than one package) */
-		166 => 'http://www.google.com/search?sitesearch=java.sun.com&amp;q=allinurl%3Aj2se%2F1+5+0%2Fdocs%2Fapi+{FNAME}'
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		/* Java does not use '::' */
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+            'abstract', 'assert', 'class', 'const', 'enum', 'extends',
+            'final', 'implements', 'import', 'instanceof', 'interface',
+            'native', 'new', 'package', 'private', 'protected',
+            'public', 'static', 'strictfp', 'super', 'synchronized',
+            'this', 'throws', 'transient', 'volatile'
+            ),
+        3 => array(
+            /* Java keywords, part 3: primitive data types and 'void' */
+            'boolean', 'byte', 'char', 'double',
+            'float', 'int', 'long', 'short', 'void'
+            ),
+        4 => array(
+            /* other reserved words in Java: literals */
+            /* should be styled to look similar to numbers and Strings */
+            'false', 'null', 'true'
+            ),
+        5 => array (
+            'Applet', 'AppletContext', 'AppletStub', 'AudioClip'
+            ),
+        6 => array (
+            'AWTError', 'AWTEvent', 'AWTEventMulticaster', 'AWTException', 'AWTKeyStroke', 'AWTPermission', 'ActiveEvent', 'Adjustable', 'AlphaComposite', 'BasicStroke', 'BorderLayout', 'BufferCapabilities', 'BufferCapabilities.FlipContents', 'Button', 'Canvas', 'CardLayout', 'Checkbox', 'CheckboxGroup', 'CheckboxMenuItem', 'Choice', 'Color', 'Component', 'ComponentOrientation', 'Composite', 'CompositeContext', 'Container', 'ContainerOrderFocusTraversalPolicy', 'Cursor', 'DefaultFocusTraversalPolicy', 'DefaultKeyboardFocusManager', 'Dialog', 'Dimension', 'DisplayMode', 'EventQueue', 'FileDialog', 'FlowLayout', 'FocusTraversalPolicy', 'Font', 'FontFormatException', 'FontMetrics', 'Frame', 'GradientPaint', 'Graphics', 'Graphics2D', 'GraphicsConfigTemplate', 'GraphicsConfiguration', 'GraphicsDevice', 'GraphicsEnvironment', 'GridBagConstraints', 'GridBagLayout', 'GridLayout', 'HeadlessException', 'IllegalComponentStateException', 'Image', 'ImageCapabilities', 'Insets', 'ItemSelectable', 'JobAttributes',
+            'JobAttributes.DefaultSelectionType', 'JobAttributes.DestinationType', 'JobAttributes.DialogType', 'JobAttributes.MultipleDocumentHandlingType', 'JobAttributes.SidesType', 'KeyEventDispatcher', 'KeyEventPostProcessor', 'KeyboardFocusManager', 'Label', 'LayoutManager', 'LayoutManager2', 'MediaTracker', 'Menu', 'MenuBar', 'MenuComponent', 'MenuContainer', 'MenuItem', 'MenuShortcut', 'MouseInfo', 'PageAttributes', 'PageAttributes.ColorType', 'PageAttributes.MediaType', 'PageAttributes.OrientationRequestedType', 'PageAttributes.OriginType', 'PageAttributes.PrintQualityType', 'Paint', 'PaintContext', 'Panel', 'Point', 'PointerInfo', 'Polygon', 'PopupMenu', 'PrintGraphics', 'PrintJob', 'Rectangle', 'RenderingHints', 'RenderingHints.Key', 'Robot', 'ScrollPane', 'ScrollPaneAdjustable', 'Scrollbar', 'Shape', 'Stroke', 'SystemColor', 'TextArea', 'TextComponent', 'TextField', 'TexturePaint', 'Toolkit', 'Transparency', 'Window'
+            ),
+        7 => array (
+            'CMMException', 'ColorSpace', 'ICC_ColorSpace', 'ICC_Profile', 'ICC_ProfileGray', 'ICC_ProfileRGB', 'ProfileDataException'
+            ),
+        8 => array (
+            'Clipboard', 'ClipboardOwner', 'DataFlavor', 'FlavorEvent', 'FlavorListener', 'FlavorMap', 'FlavorTable', 'MimeTypeParseException', 'StringSelection', 'SystemFlavorMap', 'Transferable', 'UnsupportedFlavorException'
+            ),
+        9 => array (
+            'Autoscroll', 'DnDConstants', 'DragGestureEvent', 'DragGestureListener', 'DragGestureRecognizer', 'DragSource', 'DragSourceAdapter', 'DragSourceContext', 'DragSourceDragEvent', 'DragSourceDropEvent', 'DragSourceEvent', 'DragSourceListener', 'DragSourceMotionListener', 'DropTarget', 'DropTarget.DropTargetAutoScroller', 'DropTargetAdapter', 'DropTargetContext', 'DropTargetDragEvent', 'DropTargetDropEvent', 'DropTargetEvent', 'DropTargetListener', 'InvalidDnDOperationException', 'MouseDragGestureRecognizer'
+            ),
+        10 => array (
+            'AWTEventListener', 'AWTEventListenerProxy', 'ActionEvent', 'ActionListener', 'AdjustmentEvent', 'AdjustmentListener', 'ComponentAdapter', 'ComponentEvent', 'ComponentListener', 'ContainerAdapter', 'ContainerEvent', 'ContainerListener', 'FocusAdapter', 'FocusEvent', 'FocusListener', 'HierarchyBoundsAdapter', 'HierarchyBoundsListener', 'HierarchyEvent', 'HierarchyListener', 'InputEvent', 'InputMethodEvent', 'InputMethodListener', 'InvocationEvent', 'ItemEvent', 'ItemListener', 'KeyAdapter', 'KeyEvent', 'KeyListener', 'MouseAdapter', 'MouseListener', 'MouseMotionAdapter', 'MouseMotionListener', 'MouseWheelEvent', 'MouseWheelListener', 'PaintEvent', 'TextEvent', 'TextListener', 'WindowAdapter', 'WindowEvent', 'WindowFocusListener', 'WindowListener', 'WindowStateListener'
+            ),
+        11 => array (
+            'FontRenderContext', 'GlyphJustificationInfo', 'GlyphMetrics', 'GlyphVector', 'GraphicAttribute', 'ImageGraphicAttribute', 'LineBreakMeasurer', 'LineMetrics', 'MultipleMaster', 'NumericShaper', 'ShapeGraphicAttribute', 'TextAttribute', 'TextHitInfo', 'TextLayout', 'TextLayout.CaretPolicy', 'TextMeasurer', 'TransformAttribute'
+            ),
+        12 => array (
+            'AffineTransform', 'Arc2D', 'Arc2D.Double', 'Arc2D.Float', 'Area', 'CubicCurve2D', 'CubicCurve2D.Double', 'CubicCurve2D.Float', 'Dimension2D', 'Ellipse2D', 'Ellipse2D.Double', 'Ellipse2D.Float', 'FlatteningPathIterator', 'GeneralPath', 'IllegalPathStateException', 'Line2D', 'Line2D.Double', 'Line2D.Float', 'NoninvertibleTransformException', 'PathIterator', 'Point2D', 'Point2D.Double', 'Point2D.Float', 'QuadCurve2D', 'QuadCurve2D.Double', 'QuadCurve2D.Float', 'Rectangle2D', 'Rectangle2D.Double', 'Rectangle2D.Float', 'RectangularShape', 'RoundRectangle2D', 'RoundRectangle2D.Double', 'RoundRectangle2D.Float'
+            ),
+        13 => array (
+            'InputContext', 'InputMethodHighlight', 'InputMethodRequests', 'InputSubset'
+            ),
+        14 => array (
+            'InputMethod', 'InputMethodContext', 'InputMethodDescriptor'
+            ),
+        15 => array (
+            'AffineTransformOp', 'AreaAveragingScaleFilter', 'BandCombineOp', 'BandedSampleModel', 'BufferStrategy', 'BufferedImage', 'BufferedImageFilter', 'BufferedImageOp', 'ByteLookupTable', 'ColorConvertOp', 'ColorModel', 'ComponentColorModel', 'ComponentSampleModel', 'ConvolveOp', 'CropImageFilter', 'DataBuffer', 'DataBufferByte', 'DataBufferDouble', 'DataBufferFloat', 'DataBufferInt', 'DataBufferShort', 'DataBufferUShort', 'DirectColorModel', 'FilteredImageSource', 'ImageConsumer', 'ImageFilter', 'ImageObserver', 'ImageProducer', 'ImagingOpException', 'IndexColorModel', 'Kernel', 'LookupOp', 'LookupTable', 'MemoryImageSource', 'MultiPixelPackedSampleModel', 'PackedColorModel', 'PixelGrabber', 'PixelInterleavedSampleModel', 'RGBImageFilter', 'Raster', 'RasterFormatException', 'RasterOp', 'RenderedImage', 'ReplicateScaleFilter', 'RescaleOp', 'SampleModel', 'ShortLookupTable', 'SinglePixelPackedSampleModel', 'TileObserver', 'VolatileImage', 'WritableRaster', 'WritableRenderedImage'
+            ),
+        16 => array (
+            'ContextualRenderedImageFactory', 'ParameterBlock', 'RenderContext', 'RenderableImage', 'RenderableImageOp', 'RenderableImageProducer', 'RenderedImageFactory'
+            ),
+        17 => array (
+            'Book', 'PageFormat', 'Pageable', 'Paper', 'Printable', 'PrinterAbortException', 'PrinterException', 'PrinterGraphics', 'PrinterIOException', 'PrinterJob'
+            ),
+        18 => array (
+            'AppletInitializer', 'BeanDescriptor', 'BeanInfo', 'Beans', 'Customizer', 'DefaultPersistenceDelegate', 'DesignMode', 'Encoder', 'EventHandler', 'EventSetDescriptor', 'ExceptionListener', 'Expression', 'FeatureDescriptor', 'IndexedPropertyChangeEvent', 'IndexedPropertyDescriptor', 'Introspector', 'MethodDescriptor', 'ParameterDescriptor', 'PersistenceDelegate', 'PropertyChangeEvent', 'PropertyChangeListener', 'PropertyChangeListenerProxy', 'PropertyChangeSupport', 'PropertyDescriptor', 'PropertyEditor', 'PropertyEditorManager', 'PropertyEditorSupport', 'PropertyVetoException', 'SimpleBeanInfo', 'VetoableChangeListener', 'VetoableChangeListenerProxy', 'VetoableChangeSupport', 'Visibility', 'XMLDecoder', 'XMLEncoder'
+            ),
+        19 => array (
+            'BeanContext', 'BeanContextChild', 'BeanContextChildComponentProxy', 'BeanContextChildSupport', 'BeanContextContainerProxy', 'BeanContextEvent', 'BeanContextMembershipEvent', 'BeanContextMembershipListener', 'BeanContextProxy', 'BeanContextServiceAvailableEvent', 'BeanContextServiceProvider', 'BeanContextServiceProviderBeanInfo', 'BeanContextServiceRevokedEvent', 'BeanContextServiceRevokedListener', 'BeanContextServices', 'BeanContextServicesListener', 'BeanContextServicesSupport', 'BeanContextServicesSupport.BCSSServiceProvider', 'BeanContextSupport', 'BeanContextSupport.BCSIterator'
+            ),
+        20 => array (
+            'BufferedInputStream', 'BufferedOutputStream', 'BufferedReader', 'BufferedWriter', 'ByteArrayInputStream', 'ByteArrayOutputStream', 'CharArrayReader', 'CharArrayWriter', 'CharConversionException', 'Closeable', 'DataInput', 'DataOutput', 'EOFException', 'Externalizable', 'File', 'FileDescriptor', 'FileInputStream', 'FileNotFoundException', 'FileOutputStream', 'FilePermission', 'FileReader', 'FileWriter', 'FilenameFilter', 'FilterInputStream', 'FilterOutputStream', 'FilterReader', 'FilterWriter', 'Flushable', 'IOException', 'InputStreamReader', 'InterruptedIOException', 'InvalidClassException', 'InvalidObjectException', 'LineNumberInputStream', 'LineNumberReader', 'NotActiveException', 'NotSerializableException', 'ObjectInput', 'ObjectInputStream', 'ObjectInputStream.GetField', 'ObjectInputValidation', 'ObjectOutput', 'ObjectOutputStream', 'ObjectOutputStream.PutField', 'ObjectStreamClass', 'ObjectStreamConstants', 'ObjectStreamException', 'ObjectStreamField', 'OptionalDataException', 'OutputStreamWriter',
+            'PipedInputStream', 'PipedOutputStream', 'PipedReader', 'PipedWriter', 'PrintStream', 'PrintWriter', 'PushbackInputStream', 'PushbackReader', 'RandomAccessFile', 'Reader', 'SequenceInputStream', 'Serializable', 'SerializablePermission', 'StreamCorruptedException', 'StreamTokenizer', 'StringBufferInputStream', 'StringReader', 'StringWriter', 'SyncFailedException', 'UTFDataFormatException', 'UnsupportedEncodingException', 'WriteAbortedException', 'Writer'
+            ),
+        21 => array (
+            'AbstractMethodError', 'Appendable', 'ArithmeticException', 'ArrayIndexOutOfBoundsException', 'ArrayStoreException', 'AssertionError', 'Boolean', 'Byte', 'CharSequence', 'Character', 'Character.Subset', 'Character.UnicodeBlock', 'Class', 'ClassCastException', 'ClassCircularityError', 'ClassFormatError', 'ClassLoader', 'ClassNotFoundException', 'CloneNotSupportedException', 'Cloneable', 'Comparable', 'Compiler', 'Deprecated', 'Double', 'Enum', 'EnumConstantNotPresentException', 'Error', 'Exception', 'ExceptionInInitializerError', 'Float', 'IllegalAccessError', 'IllegalAccessException', 'IllegalArgumentException', 'IllegalMonitorStateException', 'IllegalStateException', 'IllegalThreadStateException', 'IncompatibleClassChangeError', 'IndexOutOfBoundsException', 'InheritableThreadLocal', 'InstantiationError', 'InstantiationException', 'Integer', 'InternalError', 'InterruptedException', 'Iterable', 'LinkageError', 'Long', 'Math', 'NegativeArraySizeException', 'NoClassDefFoundError', 'NoSuchFieldError',
+            'NoSuchFieldException', 'NoSuchMethodError', 'NoSuchMethodException', 'NullPointerException', 'Number', 'NumberFormatException', 'OutOfMemoryError', 'Override', 'Package', 'Process', 'ProcessBuilder', 'Readable', 'Runnable', 'Runtime', 'RuntimeException', 'RuntimePermission', 'SecurityException', 'SecurityManager', 'Short', 'StackOverflowError', 'StackTraceElement', 'StrictMath', 'String', 'StringBuffer', 'StringBuilder', 'StringIndexOutOfBoundsException', 'SuppressWarnings', 'System', 'Thread', 'Thread.State', 'Thread.UncaughtExceptionHandler', 'ThreadDeath', 'ThreadGroup', 'ThreadLocal', 'Throwable', 'TypeNotPresentException', 'UnknownError', 'UnsatisfiedLinkError', 'UnsupportedClassVersionError', 'UnsupportedOperationException', 'VerifyError', 'VirtualMachineError', 'Void'
+            ),
+        22 => array (
+            'AnnotationFormatError', 'AnnotationTypeMismatchException', 'Documented', 'ElementType', 'IncompleteAnnotationException', 'Inherited', 'Retention', 'RetentionPolicy', 'Target'
+            ),
+        23 => array (
+            'ClassDefinition', 'ClassFileTransformer', 'IllegalClassFormatException', 'Instrumentation', 'UnmodifiableClassException'
+            ),
+        24 => array (
+            'ClassLoadingMXBean', 'CompilationMXBean', 'GarbageCollectorMXBean', 'ManagementFactory', 'ManagementPermission', 'MemoryMXBean', 'MemoryManagerMXBean', 'MemoryNotificationInfo', 'MemoryPoolMXBean', 'MemoryType', 'MemoryUsage', 'OperatingSystemMXBean', 'RuntimeMXBean', 'ThreadInfo', 'ThreadMXBean'
+            ),
+        25 => array (
+            'PhantomReference', 'ReferenceQueue', 'SoftReference', 'WeakReference'
+            ),
+        26 => array (
+            'AccessibleObject', 'AnnotatedElement', 'Constructor', 'Field', 'GenericArrayType', 'GenericDeclaration', 'GenericSignatureFormatError', 'InvocationHandler', 'InvocationTargetException', 'MalformedParameterizedTypeException', 'Member', 'Method', 'Modifier', 'ParameterizedType', 'ReflectPermission', 'Type', 'TypeVariable', 'UndeclaredThrowableException', 'WildcardType'
+            ),
+        27 => array (
+            'BigDecimal', 'BigInteger', 'MathContext', 'RoundingMode'
+            ),
+        28 => array (
+            'Authenticator', 'Authenticator.RequestorType', 'BindException', 'CacheRequest', 'CacheResponse', 'ContentHandlerFactory', 'CookieHandler', 'DatagramPacket', 'DatagramSocket', 'DatagramSocketImpl', 'DatagramSocketImplFactory', 'FileNameMap', 'HttpRetryException', 'HttpURLConnection', 'Inet4Address', 'Inet6Address', 'InetAddress', 'InetSocketAddress', 'JarURLConnection', 'MalformedURLException', 'MulticastSocket', 'NetPermission', 'NetworkInterface', 'NoRouteToHostException', 'PasswordAuthentication', 'PortUnreachableException', 'ProtocolException', 'Proxy.Type', 'ProxySelector', 'ResponseCache', 'SecureCacheResponse', 'ServerSocket', 'Socket', 'SocketAddress', 'SocketException', 'SocketImpl', 'SocketImplFactory', 'SocketOptions', 'SocketPermission', 'SocketTimeoutException', 'URI', 'URISyntaxException', 'URL', 'URLClassLoader', 'URLConnection', 'URLDecoder', 'URLEncoder', 'URLStreamHandler', 'URLStreamHandlerFactory', 'UnknownServiceException'
+            ),
+        29 => array (
+            'Buffer', 'BufferOverflowException', 'BufferUnderflowException', 'ByteBuffer', 'ByteOrder', 'CharBuffer', 'DoubleBuffer', 'FloatBuffer', 'IntBuffer', 'InvalidMarkException', 'LongBuffer', 'MappedByteBuffer', 'ReadOnlyBufferException', 'ShortBuffer'
+            ),
+        30 => array (
+            'AlreadyConnectedException', 'AsynchronousCloseException', 'ByteChannel', 'CancelledKeyException', 'Channel', 'Channels', 'ClosedByInterruptException', 'ClosedChannelException', 'ClosedSelectorException', 'ConnectionPendingException', 'DatagramChannel', 'FileChannel', 'FileChannel.MapMode', 'FileLock', 'FileLockInterruptionException', 'GatheringByteChannel', 'IllegalBlockingModeException', 'IllegalSelectorException', 'InterruptibleChannel', 'NoConnectionPendingException', 'NonReadableChannelException', 'NonWritableChannelException', 'NotYetBoundException', 'NotYetConnectedException', 'OverlappingFileLockException', 'Pipe', 'Pipe.SinkChannel', 'Pipe.SourceChannel', 'ReadableByteChannel', 'ScatteringByteChannel', 'SelectableChannel', 'SelectionKey', 'Selector', 'ServerSocketChannel', 'SocketChannel', 'UnresolvedAddressException', 'UnsupportedAddressTypeException', 'WritableByteChannel'
+            ),
+        31 => array (
+            'AbstractInterruptibleChannel', 'AbstractSelectableChannel', 'AbstractSelectionKey', 'AbstractSelector', 'SelectorProvider'
+            ),
+        32 => array (
+            'CharacterCodingException', 'Charset', 'CharsetDecoder', 'CharsetEncoder', 'CoderMalfunctionError', 'CoderResult', 'CodingErrorAction', 'IllegalCharsetNameException', 'MalformedInputException', 'UnmappableCharacterException', 'UnsupportedCharsetException'
+            ),
+        33 => array (
+            'CharsetProvider'
+            ),
+        34 => array (
+            'AccessException', 'AlreadyBoundException', 'ConnectIOException', 'MarshalException', 'MarshalledObject', 'Naming', 'NoSuchObjectException', 'NotBoundException', 'RMISecurityException', 'RMISecurityManager', 'Remote', 'RemoteException', 'ServerError', 'ServerException', 'ServerRuntimeException', 'StubNotFoundException', 'UnexpectedException', 'UnmarshalException'
+            ),
+        35 => array (
+            'Activatable', 'ActivateFailedException', 'ActivationDesc', 'ActivationException', 'ActivationGroup', 'ActivationGroupDesc', 'ActivationGroupDesc.CommandEnvironment', 'ActivationGroupID', 'ActivationGroup_Stub', 'ActivationID', 'ActivationInstantiator', 'ActivationMonitor', 'ActivationSystem', 'Activator', 'UnknownGroupException', 'UnknownObjectException'
+            ),
+        36 => array (
+            'DGC', 'Lease', 'VMID'
+            ),
+        37 => array (
+            'LocateRegistry', 'Registry', 'RegistryHandler'
+            ),
+        38 => array (
+            'ExportException', 'LoaderHandler', 'LogStream', 'ObjID', 'Operation', 'RMIClassLoader', 'RMIClassLoaderSpi', 'RMIClientSocketFactory', 'RMIFailureHandler', 'RMIServerSocketFactory', 'RMISocketFactory', 'RemoteCall', 'RemoteObject', 'RemoteObjectInvocationHandler', 'RemoteRef', 'RemoteServer', 'RemoteStub', 'ServerCloneException', 'ServerNotActiveException', 'ServerRef', 'Skeleton', 'SkeletonMismatchException', 'SkeletonNotFoundException', 'SocketSecurityException', 'UID', 'UnicastRemoteObject', 'Unreferenced'
+            ),
+        39 => array (
+            'AccessControlContext', 'AccessControlException', 'AccessController', 'AlgorithmParameterGenerator', 'AlgorithmParameterGeneratorSpi', 'AlgorithmParameters', 'AlgorithmParametersSpi', 'AllPermission', 'AuthProvider', 'BasicPermission', 'CodeSigner', 'CodeSource', 'DigestException', 'DigestInputStream', 'DigestOutputStream', 'DomainCombiner', 'GeneralSecurityException', 'Guard', 'GuardedObject', 'Identity', 'IdentityScope', 'InvalidAlgorithmParameterException', 'InvalidParameterException', 'Key', 'KeyException', 'KeyFactory', 'KeyFactorySpi', 'KeyManagementException', 'KeyPair', 'KeyPairGenerator', 'KeyPairGeneratorSpi', 'KeyRep', 'KeyRep.Type', 'KeyStore', 'KeyStore.Builder', 'KeyStore.CallbackHandlerProtection', 'KeyStore.Entry', 'KeyStore.LoadStoreParameter', 'KeyStore.PasswordProtection', 'KeyStore.PrivateKeyEntry', 'KeyStore.ProtectionParameter', 'KeyStore.SecretKeyEntry', 'KeyStore.TrustedCertificateEntry', 'KeyStoreException', 'KeyStoreSpi', 'MessageDigest', 'MessageDigestSpi',
+            'NoSuchAlgorithmException', 'NoSuchProviderException', 'PermissionCollection', 'Permissions', 'PrivateKey', 'PrivilegedAction', 'PrivilegedActionException', 'PrivilegedExceptionAction', 'ProtectionDomain', 'Provider', 'Provider.Service', 'ProviderException', 'PublicKey', 'SecureClassLoader', 'SecureRandom', 'SecureRandomSpi', 'Security', 'SecurityPermission', 'Signature', 'SignatureException', 'SignatureSpi', 'SignedObject', 'Signer', 'UnrecoverableEntryException', 'UnrecoverableKeyException', 'UnresolvedPermission'
+            ),
+        40 => array (
+            'Acl', 'AclEntry', 'AclNotFoundException', 'Group', 'LastOwnerException', 'NotOwnerException', 'Owner'
+            ),
+        41 => array (
+            'CRL', 'CRLException', 'CRLSelector', 'CertPath', 'CertPath.CertPathRep', 'CertPathBuilder', 'CertPathBuilderException', 'CertPathBuilderResult', 'CertPathBuilderSpi', 'CertPathParameters', 'CertPathValidator', 'CertPathValidatorException', 'CertPathValidatorResult', 'CertPathValidatorSpi', 'CertSelector', 'CertStore', 'CertStoreException', 'CertStoreParameters', 'CertStoreSpi', 'Certificate.CertificateRep', 'CertificateFactory', 'CertificateFactorySpi', 'CollectionCertStoreParameters', 'LDAPCertStoreParameters', 'PKIXBuilderParameters', 'PKIXCertPathBuilderResult', 'PKIXCertPathChecker', 'PKIXCertPathValidatorResult', 'PKIXParameters', 'PolicyNode', 'PolicyQualifierInfo', 'TrustAnchor', 'X509CRL', 'X509CRLEntry', 'X509CRLSelector', 'X509CertSelector', 'X509Extension'
+            ),
+        42 => array (
+            'DSAKey', 'DSAKeyPairGenerator', 'DSAParams', 'DSAPrivateKey', 'DSAPublicKey', 'ECKey', 'ECPrivateKey', 'ECPublicKey', 'RSAKey', 'RSAMultiPrimePrivateCrtKey', 'RSAPrivateCrtKey', 'RSAPrivateKey', 'RSAPublicKey'
+            ),
+        43 => array (
+            'AlgorithmParameterSpec', 'DSAParameterSpec', 'DSAPrivateKeySpec', 'DSAPublicKeySpec', 'ECField', 'ECFieldF2m', 'ECFieldFp', 'ECGenParameterSpec', 'ECParameterSpec', 'ECPoint', 'ECPrivateKeySpec', 'ECPublicKeySpec', 'EllipticCurve', 'EncodedKeySpec', 'InvalidKeySpecException', 'InvalidParameterSpecException', 'KeySpec', 'MGF1ParameterSpec', 'PKCS8EncodedKeySpec', 'PSSParameterSpec', 'RSAKeyGenParameterSpec', 'RSAMultiPrimePrivateCrtKeySpec', 'RSAOtherPrimeInfo', 'RSAPrivateCrtKeySpec', 'RSAPrivateKeySpec', 'RSAPublicKeySpec', 'X509EncodedKeySpec'
+            ),
+        44 => array (
+            'BatchUpdateException', 'Blob', 'CallableStatement', 'Clob', 'Connection', 'DataTruncation', 'DatabaseMetaData', 'Driver', 'DriverManager', 'DriverPropertyInfo', 'ParameterMetaData', 'PreparedStatement', 'Ref', 'ResultSet', 'ResultSetMetaData', 'SQLData', 'SQLException', 'SQLInput', 'SQLOutput', 'SQLPermission', 'SQLWarning', 'Savepoint', 'Struct', 'Time', 'Types'
+            ),
+        45 => array (
+            'AttributedCharacterIterator', 'AttributedCharacterIterator.Attribute', 'AttributedString', 'Bidi', 'BreakIterator', 'CharacterIterator', 'ChoiceFormat', 'CollationElementIterator', 'CollationKey', 'Collator', 'DateFormat', 'DateFormat.Field', 'DateFormatSymbols', 'DecimalFormat', 'DecimalFormatSymbols', 'FieldPosition', 'Format', 'Format.Field', 'MessageFormat', 'MessageFormat.Field', 'NumberFormat', 'NumberFormat.Field', 'ParseException', 'ParsePosition', 'RuleBasedCollator', 'SimpleDateFormat', 'StringCharacterIterator'
+            ),
+        46 => array (
+            'AbstractCollection', 'AbstractList', 'AbstractMap', 'AbstractQueue', 'AbstractSequentialList', 'AbstractSet', 'ArrayList', 'Arrays', 'BitSet', 'Calendar', 'Collection', 'Collections', 'Comparator', 'ConcurrentModificationException', 'Currency', 'Dictionary', 'DuplicateFormatFlagsException', 'EmptyStackException', 'EnumMap', 'EnumSet', 'Enumeration', 'EventListenerProxy', 'EventObject', 'FormatFlagsConversionMismatchException', 'Formattable', 'FormattableFlags', 'Formatter.BigDecimalLayoutForm', 'FormatterClosedException', 'GregorianCalendar', 'HashMap', 'HashSet', 'Hashtable', 'IdentityHashMap', 'IllegalFormatCodePointException', 'IllegalFormatConversionException', 'IllegalFormatException', 'IllegalFormatFlagsException', 'IllegalFormatPrecisionException', 'IllegalFormatWidthException', 'InputMismatchException', 'InvalidPropertiesFormatException', 'Iterator', 'LinkedHashMap', 'LinkedHashSet', 'LinkedList', 'ListIterator', 'ListResourceBundle', 'Locale', 'Map', 'Map.Entry', 'MissingFormatArgumentException',
+            'MissingFormatWidthException', 'MissingResourceException', 'NoSuchElementException', 'Observable', 'Observer', 'PriorityQueue', 'Properties', 'PropertyPermission', 'PropertyResourceBundle', 'Queue', 'Random', 'RandomAccess', 'ResourceBundle', 'Scanner', 'Set', 'SimpleTimeZone', 'SortedMap', 'SortedSet', 'Stack', 'StringTokenizer', 'TimeZone', 'TimerTask', 'TooManyListenersException', 'TreeMap', 'TreeSet', 'UUID', 'UnknownFormatConversionException', 'UnknownFormatFlagsException', 'Vector', 'WeakHashMap'
+            ),
+        47 => array (
+            'AbstractExecutorService', 'ArrayBlockingQueue', 'BlockingQueue', 'BrokenBarrierException', 'Callable', 'CancellationException', 'CompletionService', 'ConcurrentHashMap', 'ConcurrentLinkedQueue', 'ConcurrentMap', 'CopyOnWriteArrayList', 'CopyOnWriteArraySet', 'CountDownLatch', 'CyclicBarrier', 'DelayQueue', 'Delayed', 'Exchanger', 'ExecutionException', 'Executor', 'ExecutorCompletionService', 'ExecutorService', 'Executors', 'Future', 'FutureTask', 'LinkedBlockingQueue', 'PriorityBlockingQueue', 'RejectedExecutionException', 'RejectedExecutionHandler', 'ScheduledExecutorService', 'ScheduledFuture', 'ScheduledThreadPoolExecutor', 'Semaphore', 'SynchronousQueue', 'ThreadFactory', 'ThreadPoolExecutor', 'ThreadPoolExecutor.AbortPolicy', 'ThreadPoolExecutor.CallerRunsPolicy', 'ThreadPoolExecutor.DiscardOldestPolicy', 'ThreadPoolExecutor.DiscardPolicy', 'TimeUnit', 'TimeoutException'
+            ),
+        48 => array (
+            'AtomicBoolean', 'AtomicInteger', 'AtomicIntegerArray', 'AtomicIntegerFieldUpdater', 'AtomicLong', 'AtomicLongArray', 'AtomicLongFieldUpdater', 'AtomicMarkableReference', 'AtomicReference', 'AtomicReferenceArray', 'AtomicReferenceFieldUpdater', 'AtomicStampedReference'
+            ),
+        49 => array (
+            'AbstractQueuedSynchronizer', 'Condition', 'Lock', 'LockSupport', 'ReadWriteLock', 'ReentrantLock', 'ReentrantReadWriteLock', 'ReentrantReadWriteLock.ReadLock', 'ReentrantReadWriteLock.WriteLock'
+            ),
+        50 => array (
+            'Attributes.Name', 'JarEntry', 'JarException', 'JarFile', 'JarInputStream', 'JarOutputStream', 'Manifest', 'Pack200', 'Pack200.Packer', 'Pack200.Unpacker'
+            ),
+        51 => array (
+            'ConsoleHandler', 'ErrorManager', 'FileHandler', 'Filter', 'Handler', 'Level', 'LogManager', 'LogRecord', 'Logger', 'LoggingMXBean', 'LoggingPermission', 'MemoryHandler', 'SimpleFormatter', 'SocketHandler', 'StreamHandler', 'XMLFormatter'
+            ),
+        52 => array (
+            'AbstractPreferences', 'BackingStoreException', 'InvalidPreferencesFormatException', 'NodeChangeEvent', 'NodeChangeListener', 'PreferenceChangeEvent', 'PreferenceChangeListener', 'Preferences', 'PreferencesFactory'
+            ),
+        53 => array (
+            'MatchResult', 'Matcher', 'Pattern', 'PatternSyntaxException'
+            ),
+        54 => array (
+            'Adler32', 'CRC32', 'CheckedInputStream', 'CheckedOutputStream', 'Checksum', 'DataFormatException', 'Deflater', 'DeflaterOutputStream', 'GZIPInputStream', 'GZIPOutputStream', 'Inflater', 'InflaterInputStream', 'ZipEntry', 'ZipException', 'ZipFile', 'ZipInputStream', 'ZipOutputStream'
+            ),
+        55 => array (
+            'Accessible', 'AccessibleAction', 'AccessibleAttributeSequence', 'AccessibleBundle', 'AccessibleComponent', 'AccessibleContext', 'AccessibleEditableText', 'AccessibleExtendedComponent', 'AccessibleExtendedTable', 'AccessibleExtendedText', 'AccessibleHyperlink', 'AccessibleHypertext', 'AccessibleIcon', 'AccessibleKeyBinding', 'AccessibleRelation', 'AccessibleRelationSet', 'AccessibleResourceBundle', 'AccessibleRole', 'AccessibleSelection', 'AccessibleState', 'AccessibleStateSet', 'AccessibleStreamable', 'AccessibleTable', 'AccessibleTableModelChange', 'AccessibleText', 'AccessibleTextSequence', 'AccessibleValue'
+            ),
+        56 => array (
+            'ActivityCompletedException', 'ActivityRequiredException', 'InvalidActivityException'
+            ),
+        57 => array (
+            'BadPaddingException', 'Cipher', 'CipherInputStream', 'CipherOutputStream', 'CipherSpi', 'EncryptedPrivateKeyInfo', 'ExemptionMechanism', 'ExemptionMechanismException', 'ExemptionMechanismSpi', 'IllegalBlockSizeException', 'KeyAgreement', 'KeyAgreementSpi', 'KeyGenerator', 'KeyGeneratorSpi', 'Mac', 'MacSpi', 'NoSuchPaddingException', 'NullCipher', 'SealedObject', 'SecretKey', 'SecretKeyFactory', 'SecretKeyFactorySpi', 'ShortBufferException'
+            ),
+        58 => array (
+            'DHKey', 'DHPrivateKey', 'DHPublicKey', 'PBEKey'
+            ),
+        59 => array (
+            'DESKeySpec', 'DESedeKeySpec', 'DHGenParameterSpec', 'DHParameterSpec', 'DHPrivateKeySpec', 'DHPublicKeySpec', 'IvParameterSpec', 'OAEPParameterSpec', 'PBEKeySpec', 'PBEParameterSpec', 'PSource', 'PSource.PSpecified', 'RC2ParameterSpec', 'RC5ParameterSpec', 'SecretKeySpec'
+            ),
+        60 => array (
+            'IIOException', 'IIOImage', 'IIOParam', 'IIOParamController', 'ImageIO', 'ImageReadParam', 'ImageReader', 'ImageTranscoder', 'ImageTypeSpecifier', 'ImageWriteParam', 'ImageWriter'
+            ),
+        61 => array (
+            'IIOReadProgressListener', 'IIOReadUpdateListener', 'IIOReadWarningListener', 'IIOWriteProgressListener', 'IIOWriteWarningListener'
+            ),
+        62 => array (
+            'IIOInvalidTreeException', 'IIOMetadata', 'IIOMetadataController', 'IIOMetadataFormat', 'IIOMetadataFormatImpl', 'IIOMetadataNode'
+            ),
+        63 => array (
+            'BMPImageWriteParam'
+            ),
+        64 => array (
+            'JPEGHuffmanTable', 'JPEGImageReadParam', 'JPEGImageWriteParam', 'JPEGQTable'
+            ),
+        65 => array (
+            'IIORegistry', 'IIOServiceProvider', 'ImageInputStreamSpi', 'ImageOutputStreamSpi', 'ImageReaderSpi', 'ImageReaderWriterSpi', 'ImageTranscoderSpi', 'ImageWriterSpi', 'RegisterableService', 'ServiceRegistry', 'ServiceRegistry.Filter'
+            ),
+        66 => array (
+            'FileCacheImageInputStream', 'FileCacheImageOutputStream', 'FileImageInputStream', 'FileImageOutputStream', 'IIOByteBuffer', 'ImageInputStream', 'ImageInputStreamImpl', 'ImageOutputStream', 'ImageOutputStreamImpl', 'MemoryCacheImageInputStream', 'MemoryCacheImageOutputStream'
+            ),
+        67 => array (
+            'AttributeChangeNotification', 'AttributeChangeNotificationFilter', 'AttributeNotFoundException', 'AttributeValueExp', 'BadAttributeValueExpException', 'BadBinaryOpValueExpException', 'BadStringOperationException', 'Descriptor', 'DescriptorAccess', 'DynamicMBean', 'InstanceAlreadyExistsException', 'InstanceNotFoundException', 'InvalidApplicationException', 'JMException', 'JMRuntimeException', 'ListenerNotFoundException', 'MBeanAttributeInfo', 'MBeanConstructorInfo', 'MBeanException', 'MBeanFeatureInfo', 'MBeanInfo', 'MBeanNotificationInfo', 'MBeanOperationInfo', 'MBeanParameterInfo', 'MBeanPermission', 'MBeanRegistration', 'MBeanRegistrationException', 'MBeanServer', 'MBeanServerBuilder', 'MBeanServerConnection', 'MBeanServerDelegate', 'MBeanServerDelegateMBean', 'MBeanServerFactory', 'MBeanServerInvocationHandler', 'MBeanServerNotification', 'MBeanServerPermission', 'MBeanTrustPermission', 'MalformedObjectNameException', 'NotCompliantMBeanException', 'Notification', 'NotificationBroadcaster',
+            'NotificationBroadcasterSupport', 'NotificationEmitter', 'NotificationFilter', 'NotificationFilterSupport', 'NotificationListener', 'ObjectInstance', 'ObjectName', 'OperationsException', 'PersistentMBean', 'Query', 'QueryEval', 'QueryExp', 'ReflectionException', 'RuntimeErrorException', 'RuntimeMBeanException', 'RuntimeOperationsException', 'ServiceNotFoundException', 'StandardMBean', 'StringValueExp', 'ValueExp'
+            ),
+        68 => array (
+            'ClassLoaderRepository', 'MLet', 'MLetMBean', 'PrivateClassLoader', 'PrivateMLet'
+            ),
+        69 => array (
+            'DescriptorSupport', 'InvalidTargetObjectTypeException', 'ModelMBean', 'ModelMBeanAttributeInfo', 'ModelMBeanConstructorInfo', 'ModelMBeanInfo', 'ModelMBeanInfoSupport', 'ModelMBeanNotificationBroadcaster', 'ModelMBeanNotificationInfo', 'ModelMBeanOperationInfo', 'RequiredModelMBean', 'XMLParseException'
+            ),
+        70 => array (
+            'CounterMonitor', 'CounterMonitorMBean', 'GaugeMonitor', 'GaugeMonitorMBean', 'Monitor', 'MonitorMBean', 'MonitorNotification', 'MonitorSettingException', 'StringMonitor', 'StringMonitorMBean'
+            ),
+        71 => array (
+            'ArrayType', 'CompositeData', 'CompositeDataSupport', 'CompositeType', 'InvalidOpenTypeException', 'KeyAlreadyExistsException', 'OpenDataException', 'OpenMBeanAttributeInfo', 'OpenMBeanAttributeInfoSupport', 'OpenMBeanConstructorInfo', 'OpenMBeanConstructorInfoSupport', 'OpenMBeanInfo', 'OpenMBeanInfoSupport', 'OpenMBeanOperationInfo', 'OpenMBeanOperationInfoSupport', 'OpenMBeanParameterInfo', 'OpenMBeanParameterInfoSupport', 'SimpleType', 'TabularData', 'TabularDataSupport', 'TabularType'
+            ),
+        72 => array (
+            'InvalidRelationIdException', 'InvalidRelationServiceException', 'InvalidRelationTypeException', 'InvalidRoleInfoException', 'InvalidRoleValueException', 'MBeanServerNotificationFilter', 'Relation', 'RelationException', 'RelationNotFoundException', 'RelationNotification', 'RelationService', 'RelationServiceMBean', 'RelationServiceNotRegisteredException', 'RelationSupport', 'RelationSupportMBean', 'RelationType', 'RelationTypeNotFoundException', 'RelationTypeSupport', 'Role', 'RoleInfo', 'RoleInfoNotFoundException', 'RoleList', 'RoleNotFoundException', 'RoleResult', 'RoleStatus', 'RoleUnresolved', 'RoleUnresolvedList'
+            ),
+        73 => array (
+            'JMXAuthenticator', 'JMXConnectionNotification', 'JMXConnector', 'JMXConnectorFactory', 'JMXConnectorProvider', 'JMXConnectorServer', 'JMXConnectorServerFactory', 'JMXConnectorServerMBean', 'JMXConnectorServerProvider', 'JMXPrincipal', 'JMXProviderException', 'JMXServerErrorException', 'JMXServiceURL', 'MBeanServerForwarder', 'NotificationResult', 'SubjectDelegationPermission', 'TargetedNotification'
+            ),
+        74 => array (
+            'RMIConnection', 'RMIConnectionImpl', 'RMIConnectionImpl_Stub', 'RMIConnector', 'RMIConnectorServer', 'RMIIIOPServerImpl', 'RMIJRMPServerImpl', 'RMIServer', 'RMIServerImpl', 'RMIServerImpl_Stub'
+            ),
+        75 => array (
+            'TimerAlarmClockNotification', 'TimerMBean', 'TimerNotification'
+            ),
+        76 => array (
+            'AuthenticationNotSupportedException', 'BinaryRefAddr', 'CannotProceedException', 'CommunicationException', 'CompositeName', 'CompoundName', 'ConfigurationException', 'ContextNotEmptyException', 'InitialContext', 'InsufficientResourcesException', 'InterruptedNamingException', 'InvalidNameException', 'LimitExceededException', 'LinkException', 'LinkLoopException', 'LinkRef', 'MalformedLinkException', 'Name', 'NameAlreadyBoundException', 'NameClassPair', 'NameNotFoundException', 'NameParser', 'NamingEnumeration', 'NamingException', 'NamingSecurityException', 'NoInitialContextException', 'NoPermissionException', 'NotContextException', 'OperationNotSupportedException', 'PartialResultException', 'RefAddr', 'Referenceable', 'ReferralException', 'ServiceUnavailableException', 'SizeLimitExceededException', 'StringRefAddr', 'TimeLimitExceededException'
+            ),
+        77 => array (
+            'AttributeInUseException', 'AttributeModificationException', 'BasicAttribute', 'BasicAttributes', 'DirContext', 'InitialDirContext', 'InvalidAttributeIdentifierException', 'InvalidAttributesException', 'InvalidSearchControlsException', 'InvalidSearchFilterException', 'ModificationItem', 'NoSuchAttributeException', 'SchemaViolationException', 'SearchControls', 'SearchResult'
+            ),
+        78 => array (
+            'EventContext', 'EventDirContext', 'NamespaceChangeListener', 'NamingEvent', 'NamingExceptionEvent', 'NamingListener', 'ObjectChangeListener'
+            ),
+        79 => array (
+            'BasicControl', 'ControlFactory', 'ExtendedRequest', 'ExtendedResponse', 'HasControls', 'InitialLdapContext', 'LdapContext', 'LdapName', 'LdapReferralException', 'ManageReferralControl', 'PagedResultsControl', 'PagedResultsResponseControl', 'Rdn', 'SortControl', 'SortKey', 'SortResponseControl', 'StartTlsRequest', 'StartTlsResponse', 'UnsolicitedNotification', 'UnsolicitedNotificationEvent', 'UnsolicitedNotificationListener'
+            ),
+        80 => array (
+            'DirObjectFactory', 'DirStateFactory', 'DirStateFactory.Result', 'DirectoryManager', 'InitialContextFactory', 'InitialContextFactoryBuilder', 'NamingManager', 'ObjectFactory', 'ObjectFactoryBuilder', 'ResolveResult', 'Resolver', 'StateFactory'
+            ),
+        81 => array (
+            'ServerSocketFactory', 'SocketFactory'
+            ),
+        82 => array (
+            'CertPathTrustManagerParameters', 'HandshakeCompletedEvent', 'HandshakeCompletedListener', 'HostnameVerifier', 'HttpsURLConnection', 'KeyManager', 'KeyManagerFactory', 'KeyManagerFactorySpi', 'KeyStoreBuilderParameters', 'ManagerFactoryParameters', 'SSLContext', 'SSLContextSpi', 'SSLEngine', 'SSLEngineResult', 'SSLEngineResult.HandshakeStatus', 'SSLEngineResult.Status', 'SSLException', 'SSLHandshakeException', 'SSLKeyException', 'SSLPeerUnverifiedException', 'SSLPermission', 'SSLProtocolException', 'SSLServerSocket', 'SSLServerSocketFactory', 'SSLSession', 'SSLSessionBindingEvent', 'SSLSessionBindingListener', 'SSLSessionContext', 'SSLSocket', 'SSLSocketFactory', 'TrustManager', 'TrustManagerFactory', 'TrustManagerFactorySpi', 'X509ExtendedKeyManager', 'X509KeyManager', 'X509TrustManager'
+            ),
+        83 => array (
+            'AttributeException', 'CancelablePrintJob', 'Doc', 'DocFlavor', 'DocFlavor.BYTE_ARRAY', 'DocFlavor.CHAR_ARRAY', 'DocFlavor.INPUT_STREAM', 'DocFlavor.READER', 'DocFlavor.SERVICE_FORMATTED', 'DocFlavor.STRING', 'DocFlavor.URL', 'DocPrintJob', 'FlavorException', 'MultiDoc', 'MultiDocPrintJob', 'MultiDocPrintService', 'PrintException', 'PrintService', 'PrintServiceLookup', 'ServiceUI', 'ServiceUIFactory', 'SimpleDoc', 'StreamPrintService', 'StreamPrintServiceFactory', 'URIException'
+            ),
+        84 => array (
+            'AttributeSetUtilities', 'DateTimeSyntax', 'DocAttribute', 'DocAttributeSet', 'EnumSyntax', 'HashAttributeSet', 'HashDocAttributeSet', 'HashPrintJobAttributeSet', 'HashPrintRequestAttributeSet', 'HashPrintServiceAttributeSet', 'IntegerSyntax', 'PrintJobAttribute', 'PrintJobAttributeSet', 'PrintRequestAttribute', 'PrintRequestAttributeSet', 'PrintServiceAttribute', 'PrintServiceAttributeSet', 'ResolutionSyntax', 'SetOfIntegerSyntax', 'Size2DSyntax', 'SupportedValuesAttribute', 'TextSyntax', 'URISyntax', 'UnmodifiableSetException'
+            ),
+        85 => array (
+            'Chromaticity', 'ColorSupported', 'Compression', 'Copies', 'CopiesSupported', 'DateTimeAtCompleted', 'DateTimeAtCreation', 'DateTimeAtProcessing', 'Destination', 'DocumentName', 'Fidelity', 'Finishings', 'JobHoldUntil', 'JobImpressions', 'JobImpressionsCompleted', 'JobImpressionsSupported', 'JobKOctets', 'JobKOctetsProcessed', 'JobKOctetsSupported', 'JobMediaSheets', 'JobMediaSheetsCompleted', 'JobMediaSheetsSupported', 'JobMessageFromOperator', 'JobName', 'JobOriginatingUserName', 'JobPriority', 'JobPrioritySupported', 'JobSheets', 'JobState', 'JobStateReason', 'JobStateReasons', 'Media', 'MediaName', 'MediaPrintableArea', 'MediaSize', 'MediaSize.Engineering', 'MediaSize.ISO', 'MediaSize.JIS', 'MediaSize.NA', 'MediaSize.Other', 'MediaSizeName', 'MediaTray', 'MultipleDocumentHandling', 'NumberOfDocuments', 'NumberOfInterveningJobs', 'NumberUp', 'NumberUpSupported', 'OrientationRequested', 'OutputDeviceAssigned', 'PDLOverrideSupported', 'PageRanges', 'PagesPerMinute', 'PagesPerMinuteColor',
+            'PresentationDirection', 'PrintQuality', 'PrinterInfo', 'PrinterIsAcceptingJobs', 'PrinterLocation', 'PrinterMakeAndModel', 'PrinterMessageFromOperator', 'PrinterMoreInfo', 'PrinterMoreInfoManufacturer', 'PrinterName', 'PrinterResolution', 'PrinterState', 'PrinterStateReason', 'PrinterStateReasons', 'PrinterURI', 'QueuedJobCount', 'ReferenceUriSchemesSupported', 'RequestingUserName', 'Severity', 'SheetCollate', 'Sides'
+            ),
+        86 => array (
+            'PrintEvent', 'PrintJobAdapter', 'PrintJobAttributeEvent', 'PrintJobAttributeListener', 'PrintJobEvent', 'PrintJobListener', 'PrintServiceAttributeEvent', 'PrintServiceAttributeListener'
+            ),
+        87 => array (
+            'PortableRemoteObject'
+            ),
+        88 => array (
+            'ClassDesc', 'PortableRemoteObjectDelegate', 'Stub', 'StubDelegate', 'Tie', 'Util', 'UtilDelegate', 'ValueHandler', 'ValueHandlerMultiFormat'
+            ),
+        89 => array (
+            'SslRMIClientSocketFactory', 'SslRMIServerSocketFactory'
+            ),
+        90 => array (
+            'AuthPermission', 'DestroyFailedException', 'Destroyable', 'PrivateCredentialPermission', 'RefreshFailedException', 'Refreshable', 'Subject', 'SubjectDomainCombiner'
+            ),
+        91 => array (
+            'Callback', 'CallbackHandler', 'ChoiceCallback', 'ConfirmationCallback', 'LanguageCallback', 'NameCallback', 'PasswordCallback', 'TextInputCallback', 'TextOutputCallback', 'UnsupportedCallbackException'
+            ),
+        92 => array (
+            'DelegationPermission', 'KerberosKey', 'KerberosPrincipal', 'KerberosTicket', 'ServicePermission'
+            ),
+        93 => array (
+            'AccountException', 'AccountExpiredException', 'AccountLockedException', 'AccountNotFoundException', 'AppConfigurationEntry', 'AppConfigurationEntry.LoginModuleControlFlag', 'Configuration', 'CredentialException', 'CredentialExpiredException', 'CredentialNotFoundException', 'FailedLoginException', 'LoginContext', 'LoginException'
+            ),
+        94 => array (
+            'LoginModule'
+            ),
+        95 => array (
+            'X500Principal', 'X500PrivateCredential'
+            ),
+        96 => array (
+            'AuthorizeCallback', 'RealmCallback', 'RealmChoiceCallback', 'Sasl', 'SaslClient', 'SaslClientFactory', 'SaslException', 'SaslServer', 'SaslServerFactory'
+            ),
+        97 => array (
+            'ControllerEventListener', 'Instrument', 'InvalidMidiDataException', 'MetaEventListener', 'MetaMessage', 'MidiChannel', 'MidiDevice', 'MidiDevice.Info', 'MidiEvent', 'MidiFileFormat', 'MidiMessage', 'MidiSystem', 'MidiUnavailableException', 'Patch', 'Receiver', 'Sequence', 'Sequencer', 'Sequencer.SyncMode', 'ShortMessage', 'Soundbank', 'SoundbankResource', 'Synthesizer', 'SysexMessage', 'Track', 'Transmitter', 'VoiceStatus'
+            ),
+        98 => array (
+            'MidiDeviceProvider', 'MidiFileReader', 'MidiFileWriter', 'SoundbankReader'
+            ),
+        99 => array (
+            'AudioFileFormat', 'AudioFileFormat.Type', 'AudioFormat', 'AudioFormat.Encoding', 'AudioInputStream', 'AudioPermission', 'AudioSystem', 'BooleanControl', 'BooleanControl.Type', 'Clip', 'CompoundControl', 'CompoundControl.Type', 'Control.Type', 'DataLine', 'DataLine.Info', 'EnumControl', 'EnumControl.Type', 'FloatControl', 'FloatControl.Type', 'Line', 'Line.Info', 'LineEvent', 'LineEvent.Type', 'LineListener', 'LineUnavailableException', 'Mixer', 'Mixer.Info', 'Port', 'Port.Info', 'ReverbType', 'SourceDataLine', 'TargetDataLine', 'UnsupportedAudioFileException'
+            ),
+        100 => array (
+            'AudioFileReader', 'AudioFileWriter', 'FormatConversionProvider', 'MixerProvider'
+            ),
+        101 => array (
+            'ConnectionEvent', 'ConnectionEventListener', 'ConnectionPoolDataSource', 'DataSource', 'PooledConnection', 'RowSet', 'RowSetEvent', 'RowSetInternal', 'RowSetListener', 'RowSetMetaData', 'RowSetReader', 'RowSetWriter', 'XAConnection', 'XADataSource'
+            ),
+        102 => array (
+            'BaseRowSet', 'CachedRowSet', 'FilteredRowSet', 'JdbcRowSet', 'JoinRowSet', 'Joinable', 'Predicate', 'RowSetMetaDataImpl', 'RowSetWarning', 'WebRowSet'
+            ),
+        103 => array (
+            'SQLInputImpl', 'SQLOutputImpl', 'SerialArray', 'SerialBlob', 'SerialClob', 'SerialDatalink', 'SerialException', 'SerialJavaObject', 'SerialRef', 'SerialStruct'
+            ),
+        104 => array (
+            'SyncFactory', 'SyncFactoryException', 'SyncProvider', 'SyncProviderException', 'SyncResolver', 'TransactionalWriter', 'XmlReader', 'XmlWriter'
+            ),
+        105 => array (
+            'AbstractAction', 'AbstractButton', 'AbstractCellEditor', 'AbstractListModel', 'AbstractSpinnerModel', 'Action', 'ActionMap', 'BorderFactory', 'BoundedRangeModel', 'Box', 'Box.Filler', 'BoxLayout', 'ButtonGroup', 'ButtonModel', 'CellEditor', 'CellRendererPane', 'ComboBoxEditor', 'ComboBoxModel', 'ComponentInputMap', 'DebugGraphics', 'DefaultBoundedRangeModel', 'DefaultButtonModel', 'DefaultCellEditor', 'DefaultComboBoxModel', 'DefaultDesktopManager', 'DefaultFocusManager', 'DefaultListCellRenderer', 'DefaultListCellRenderer.UIResource', 'DefaultListModel', 'DefaultListSelectionModel', 'DefaultSingleSelectionModel', 'DesktopManager', 'FocusManager', 'GrayFilter', 'Icon', 'ImageIcon', 'InputMap', 'InputVerifier', 'InternalFrameFocusTraversalPolicy', 'JApplet', 'JButton', 'JCheckBox', 'JCheckBoxMenuItem', 'JColorChooser', 'JComboBox', 'JComboBox.KeySelectionManager', 'JComponent', 'JDesktopPane', 'JDialog', 'JEditorPane', 'JFileChooser', 'JFormattedTextField', 'JFormattedTextField.AbstractFormatter',
+            'JFormattedTextField.AbstractFormatterFactory', 'JFrame', 'JInternalFrame', 'JInternalFrame.JDesktopIcon', 'JLabel', 'JLayeredPane', 'JList', 'JMenu', 'JMenuBar', 'JMenuItem', 'JOptionPane', 'JPanel', 'JPasswordField', 'JPopupMenu', 'JPopupMenu.Separator', 'JProgressBar', 'JRadioButton', 'JRadioButtonMenuItem', 'JRootPane', 'JScrollBar', 'JScrollPane', 'JSeparator', 'JSlider', 'JSpinner', 'JSpinner.DateEditor', 'JSpinner.DefaultEditor', 'JSpinner.ListEditor', 'JSpinner.NumberEditor', 'JSplitPane', 'JTabbedPane', 'JTable', 'JTable.PrintMode', 'JTextArea', 'JTextField', 'JTextPane', 'JToggleButton', 'JToggleButton.ToggleButtonModel', 'JToolBar', 'JToolBar.Separator', 'JToolTip', 'JTree', 'JTree.DynamicUtilTreeNode', 'JTree.EmptySelectionModel', 'JViewport', 'JWindow', 'KeyStroke', 'LayoutFocusTraversalPolicy', 'ListCellRenderer', 'ListModel', 'ListSelectionModel', 'LookAndFeel', 'MenuElement', 'MenuSelectionManager', 'MutableComboBoxModel', 'OverlayLayout', 'Popup', 'PopupFactory', 'ProgressMonitor',
+            'ProgressMonitorInputStream', 'Renderer', 'RepaintManager', 'RootPaneContainer', 'ScrollPaneConstants', 'ScrollPaneLayout', 'ScrollPaneLayout.UIResource', 'Scrollable', 'SingleSelectionModel', 'SizeRequirements', 'SizeSequence', 'SortingFocusTraversalPolicy', 'SpinnerDateModel', 'SpinnerListModel', 'SpinnerModel', 'SpinnerNumberModel', 'Spring', 'SpringLayout', 'SpringLayout.Constraints', 'SwingConstants', 'SwingUtilities', 'ToolTipManager', 'TransferHandler', 'UIDefaults', 'UIDefaults.ActiveValue', 'UIDefaults.LazyInputMap', 'UIDefaults.LazyValue', 'UIDefaults.ProxyLazyValue', 'UIManager', 'UIManager.LookAndFeelInfo', 'UnsupportedLookAndFeelException', 'ViewportLayout', 'WindowConstants'
+            ),
+        106 => array (
+            'AbstractBorder', 'BevelBorder', 'Border', 'CompoundBorder', 'EmptyBorder', 'EtchedBorder', 'LineBorder', 'MatteBorder', 'SoftBevelBorder', 'TitledBorder'
+            ),
+        107 => array (
+            'AbstractColorChooserPanel', 'ColorChooserComponentFactory', 'ColorSelectionModel', 'DefaultColorSelectionModel'
+            ),
+        108 => array (
+            'AncestorEvent', 'AncestorListener', 'CaretEvent', 'CaretListener', 'CellEditorListener', 'ChangeEvent', 'ChangeListener', 'DocumentEvent.ElementChange', 'DocumentEvent.EventType', 'DocumentListener', 'EventListenerList', 'HyperlinkEvent', 'HyperlinkEvent.EventType', 'HyperlinkListener', 'InternalFrameAdapter', 'InternalFrameEvent', 'InternalFrameListener', 'ListDataEvent', 'ListDataListener', 'ListSelectionEvent', 'ListSelectionListener', 'MenuDragMouseEvent', 'MenuDragMouseListener', 'MenuEvent', 'MenuKeyEvent', 'MenuKeyListener', 'MenuListener', 'MouseInputAdapter', 'MouseInputListener', 'PopupMenuEvent', 'PopupMenuListener', 'SwingPropertyChangeSupport', 'TableColumnModelEvent', 'TableColumnModelListener', 'TableModelEvent', 'TableModelListener', 'TreeExpansionEvent', 'TreeExpansionListener', 'TreeModelEvent', 'TreeModelListener', 'TreeSelectionEvent', 'TreeSelectionListener', 'TreeWillExpandListener', 'UndoableEditEvent', 'UndoableEditListener'
+            ),
+        109 => array (
+            'FileSystemView', 'FileView'
+            ),
+        110 => array (
+            'ActionMapUIResource', 'BorderUIResource', 'BorderUIResource.BevelBorderUIResource', 'BorderUIResource.CompoundBorderUIResource', 'BorderUIResource.EmptyBorderUIResource', 'BorderUIResource.EtchedBorderUIResource', 'BorderUIResource.LineBorderUIResource', 'BorderUIResource.MatteBorderUIResource', 'BorderUIResource.TitledBorderUIResource', 'ButtonUI', 'ColorChooserUI', 'ColorUIResource', 'ComboBoxUI', 'ComponentInputMapUIResource', 'ComponentUI', 'DesktopIconUI', 'DesktopPaneUI', 'DimensionUIResource', 'FileChooserUI', 'FontUIResource', 'IconUIResource', 'InputMapUIResource', 'InsetsUIResource', 'InternalFrameUI', 'LabelUI', 'ListUI', 'MenuBarUI', 'MenuItemUI', 'OptionPaneUI', 'PanelUI', 'PopupMenuUI', 'ProgressBarUI', 'RootPaneUI', 'ScrollBarUI', 'ScrollPaneUI', 'SeparatorUI', 'SliderUI', 'SpinnerUI', 'SplitPaneUI', 'TabbedPaneUI', 'TableHeaderUI', 'TableUI', 'TextUI', 'ToolBarUI', 'ToolTipUI', 'TreeUI', 'UIResource', 'ViewportUI'
+            ),
+        111 => array (
+            'BasicArrowButton', 'BasicBorders', 'BasicBorders.ButtonBorder', 'BasicBorders.FieldBorder', 'BasicBorders.MarginBorder', 'BasicBorders.MenuBarBorder', 'BasicBorders.RadioButtonBorder', 'BasicBorders.RolloverButtonBorder', 'BasicBorders.SplitPaneBorder', 'BasicBorders.ToggleButtonBorder', 'BasicButtonListener', 'BasicButtonUI', 'BasicCheckBoxMenuItemUI', 'BasicCheckBoxUI', 'BasicColorChooserUI', 'BasicComboBoxEditor', 'BasicComboBoxEditor.UIResource', 'BasicComboBoxRenderer', 'BasicComboBoxRenderer.UIResource', 'BasicComboBoxUI', 'BasicComboPopup', 'BasicDesktopIconUI', 'BasicDesktopPaneUI', 'BasicDirectoryModel', 'BasicEditorPaneUI', 'BasicFileChooserUI', 'BasicFormattedTextFieldUI', 'BasicGraphicsUtils', 'BasicHTML', 'BasicIconFactory', 'BasicInternalFrameTitlePane', 'BasicInternalFrameUI', 'BasicLabelUI', 'BasicListUI', 'BasicLookAndFeel', 'BasicMenuBarUI', 'BasicMenuItemUI', 'BasicMenuUI', 'BasicOptionPaneUI', 'BasicOptionPaneUI.ButtonAreaLayout', 'BasicPanelUI', 'BasicPasswordFieldUI',
+            'BasicPopupMenuSeparatorUI', 'BasicPopupMenuUI', 'BasicProgressBarUI', 'BasicRadioButtonMenuItemUI', 'BasicRadioButtonUI', 'BasicRootPaneUI', 'BasicScrollBarUI', 'BasicScrollPaneUI', 'BasicSeparatorUI', 'BasicSliderUI', 'BasicSpinnerUI', 'BasicSplitPaneDivider', 'BasicSplitPaneUI', 'BasicTabbedPaneUI', 'BasicTableHeaderUI', 'BasicTableUI', 'BasicTextAreaUI', 'BasicTextFieldUI', 'BasicTextPaneUI', 'BasicTextUI', 'BasicTextUI.BasicCaret', 'BasicTextUI.BasicHighlighter', 'BasicToggleButtonUI', 'BasicToolBarSeparatorUI', 'BasicToolBarUI', 'BasicToolTipUI', 'BasicTreeUI', 'BasicViewportUI', 'ComboPopup', 'DefaultMenuLayout'
+            ),
+        112 => array (
+            'DefaultMetalTheme', 'MetalBorders', 'MetalBorders.ButtonBorder', 'MetalBorders.Flush3DBorder', 'MetalBorders.InternalFrameBorder', 'MetalBorders.MenuBarBorder', 'MetalBorders.MenuItemBorder', 'MetalBorders.OptionDialogBorder', 'MetalBorders.PaletteBorder', 'MetalBorders.PopupMenuBorder', 'MetalBorders.RolloverButtonBorder', 'MetalBorders.ScrollPaneBorder', 'MetalBorders.TableHeaderBorder', 'MetalBorders.TextFieldBorder', 'MetalBorders.ToggleButtonBorder', 'MetalBorders.ToolBarBorder', 'MetalButtonUI', 'MetalCheckBoxIcon', 'MetalCheckBoxUI', 'MetalComboBoxButton', 'MetalComboBoxEditor', 'MetalComboBoxEditor.UIResource', 'MetalComboBoxIcon', 'MetalComboBoxUI', 'MetalDesktopIconUI', 'MetalFileChooserUI', 'MetalIconFactory', 'MetalIconFactory.FileIcon16', 'MetalIconFactory.FolderIcon16', 'MetalIconFactory.PaletteCloseIcon', 'MetalIconFactory.TreeControlIcon', 'MetalIconFactory.TreeFolderIcon', 'MetalIconFactory.TreeLeafIcon', 'MetalInternalFrameTitlePane', 'MetalInternalFrameUI', 'MetalLabelUI',
+            'MetalLookAndFeel', 'MetalMenuBarUI', 'MetalPopupMenuSeparatorUI', 'MetalProgressBarUI', 'MetalRadioButtonUI', 'MetalRootPaneUI', 'MetalScrollBarUI', 'MetalScrollButton', 'MetalScrollPaneUI', 'MetalSeparatorUI', 'MetalSliderUI', 'MetalSplitPaneUI', 'MetalTabbedPaneUI', 'MetalTextFieldUI', 'MetalTheme', 'MetalToggleButtonUI', 'MetalToolBarUI', 'MetalToolTipUI', 'MetalTreeUI', 'OceanTheme'
+            ),
+        113 => array (
+            'MultiButtonUI', 'MultiColorChooserUI', 'MultiComboBoxUI', 'MultiDesktopIconUI', 'MultiDesktopPaneUI', 'MultiFileChooserUI', 'MultiInternalFrameUI', 'MultiLabelUI', 'MultiListUI', 'MultiLookAndFeel', 'MultiMenuBarUI', 'MultiMenuItemUI', 'MultiOptionPaneUI', 'MultiPanelUI', 'MultiPopupMenuUI', 'MultiProgressBarUI', 'MultiRootPaneUI', 'MultiScrollBarUI', 'MultiScrollPaneUI', 'MultiSeparatorUI', 'MultiSliderUI', 'MultiSpinnerUI', 'MultiSplitPaneUI', 'MultiTabbedPaneUI', 'MultiTableHeaderUI', 'MultiTableUI', 'MultiTextUI', 'MultiToolBarUI', 'MultiToolTipUI', 'MultiTreeUI', 'MultiViewportUI'
+            ),
+        114 => array (
+            'ColorType', 'Region', 'SynthConstants', 'SynthContext', 'SynthGraphicsUtils', 'SynthLookAndFeel', 'SynthPainter', 'SynthStyle', 'SynthStyleFactory'
+            ),
+        115 => array (
+            'AbstractTableModel', 'DefaultTableCellRenderer', 'DefaultTableCellRenderer.UIResource', 'DefaultTableColumnModel', 'DefaultTableModel', 'JTableHeader', 'TableCellEditor', 'TableCellRenderer', 'TableColumn', 'TableColumnModel', 'TableModel'
+            ),
+        116 => array (
+            'AbstractDocument', 'AbstractDocument.AttributeContext', 'AbstractDocument.Content', 'AbstractDocument.ElementEdit', 'AbstractWriter', 'AsyncBoxView', 'AttributeSet.CharacterAttribute', 'AttributeSet.ColorAttribute', 'AttributeSet.FontAttribute', 'AttributeSet.ParagraphAttribute', 'BadLocationException', 'BoxView', 'Caret', 'ChangedCharSetException', 'ComponentView', 'CompositeView', 'DateFormatter', 'DefaultCaret', 'DefaultEditorKit', 'DefaultEditorKit.BeepAction', 'DefaultEditorKit.CopyAction', 'DefaultEditorKit.CutAction', 'DefaultEditorKit.DefaultKeyTypedAction', 'DefaultEditorKit.InsertBreakAction', 'DefaultEditorKit.InsertContentAction', 'DefaultEditorKit.InsertTabAction', 'DefaultEditorKit.PasteAction', 'DefaultFormatter', 'DefaultFormatterFactory', 'DefaultHighlighter', 'DefaultHighlighter.DefaultHighlightPainter', 'DefaultStyledDocument', 'DefaultStyledDocument.AttributeUndoableEdit', 'DefaultStyledDocument.ElementSpec', 'DefaultTextUI', 'DocumentFilter', 'DocumentFilter.FilterBypass',
+            'EditorKit', 'ElementIterator', 'FieldView', 'FlowView', 'FlowView.FlowStrategy', 'GapContent', 'GlyphView', 'GlyphView.GlyphPainter', 'Highlighter', 'Highlighter.Highlight', 'Highlighter.HighlightPainter', 'IconView', 'InternationalFormatter', 'JTextComponent', 'JTextComponent.KeyBinding', 'Keymap', 'LabelView', 'LayeredHighlighter', 'LayeredHighlighter.LayerPainter', 'LayoutQueue', 'MaskFormatter', 'MutableAttributeSet', 'NavigationFilter', 'NavigationFilter.FilterBypass', 'NumberFormatter', 'PasswordView', 'PlainDocument', 'PlainView', 'Position', 'Position.Bias', 'Segment', 'SimpleAttributeSet', 'StringContent', 'Style', 'StyleConstants', 'StyleConstants.CharacterConstants', 'StyleConstants.ColorConstants', 'StyleConstants.FontConstants', 'StyleConstants.ParagraphConstants', 'StyleContext', 'StyledDocument', 'StyledEditorKit', 'StyledEditorKit.AlignmentAction', 'StyledEditorKit.BoldAction', 'StyledEditorKit.FontFamilyAction', 'StyledEditorKit.FontSizeAction', 'StyledEditorKit.ForegroundAction',
+            'StyledEditorKit.ItalicAction', 'StyledEditorKit.StyledTextAction', 'StyledEditorKit.UnderlineAction', 'TabExpander', 'TabSet', 'TabStop', 'TabableView', 'TableView', 'TextAction', 'Utilities', 'View', 'ViewFactory', 'WrappedPlainView', 'ZoneView'
+            ),
+        117 => array (
+            'BlockView', 'CSS', 'CSS.Attribute', 'FormSubmitEvent', 'FormSubmitEvent.MethodType', 'FormView', 'HTML', 'HTML.Attribute', 'HTML.Tag', 'HTML.UnknownTag', 'HTMLDocument', 'HTMLDocument.Iterator', 'HTMLEditorKit', 'HTMLEditorKit.HTMLFactory', 'HTMLEditorKit.HTMLTextAction', 'HTMLEditorKit.InsertHTMLTextAction', 'HTMLEditorKit.LinkController', 'HTMLEditorKit.Parser', 'HTMLEditorKit.ParserCallback', 'HTMLFrameHyperlinkEvent', 'HTMLWriter', 'ImageView', 'InlineView', 'ListView', 'MinimalHTMLWriter', 'ObjectView', 'Option', 'StyleSheet', 'StyleSheet.BoxPainter', 'StyleSheet.ListPainter'
+            ),
+        118 => array (
+            'ContentModel', 'DTD', 'DTDConstants', 'DocumentParser', 'ParserDelegator', 'TagElement'
+            ),
+        119 => array (
+            'RTFEditorKit'
+            ),
+        120 => array (
+            'AbstractLayoutCache', 'AbstractLayoutCache.NodeDimensions', 'DefaultMutableTreeNode', 'DefaultTreeCellEditor', 'DefaultTreeCellRenderer', 'DefaultTreeModel', 'DefaultTreeSelectionModel', 'ExpandVetoException', 'FixedHeightLayoutCache', 'MutableTreeNode', 'RowMapper', 'TreeCellEditor', 'TreeCellRenderer', 'TreeModel', 'TreeNode', 'TreePath', 'TreeSelectionModel', 'VariableHeightLayoutCache'
+            ),
+        121 => array (
+            'AbstractUndoableEdit', 'CannotRedoException', 'CannotUndoException', 'CompoundEdit', 'StateEdit', 'StateEditable', 'UndoManager', 'UndoableEdit', 'UndoableEditSupport'
+            ),
+        122 => array (
+            'InvalidTransactionException', 'TransactionRequiredException', 'TransactionRolledbackException'
+            ),
+        123 => array (
+            'XAException', 'XAResource', 'Xid'
+            ),
+        124 => array (
+            'XMLConstants'
+            ),
+        125 => array (
+            'DatatypeConfigurationException', 'DatatypeConstants', 'DatatypeConstants.Field', 'DatatypeFactory', 'Duration', 'XMLGregorianCalendar'
+            ),
+        126 => array (
+            'NamespaceContext', 'QName'
+            ),
+        127 => array (
+            'DocumentBuilder', 'DocumentBuilderFactory', 'FactoryConfigurationError', 'ParserConfigurationException', 'SAXParser', 'SAXParserFactory'
+            ),
+        128 => array (
+            'ErrorListener', 'OutputKeys', 'Result', 'Source', 'SourceLocator', 'Templates', 'Transformer', 'TransformerConfigurationException', 'TransformerException', 'TransformerFactory', 'TransformerFactoryConfigurationError', 'URIResolver'
+            ),
+        129 => array (
+            'DOMResult', 'DOMSource'
+            ),
+        130 => array (
+            'SAXResult', 'SAXSource', 'SAXTransformerFactory', 'TemplatesHandler', 'TransformerHandler'
+            ),
+        131 => array (
+            'StreamResult', 'StreamSource'
+            ),
+        132 => array (
+            'Schema', 'SchemaFactory', 'SchemaFactoryLoader', 'TypeInfoProvider', 'Validator', 'ValidatorHandler'
+            ),
+        133 => array (
+            'XPath', 'XPathConstants', 'XPathException', 'XPathExpression', 'XPathExpressionException', 'XPathFactory', 'XPathFactoryConfigurationException', 'XPathFunction', 'XPathFunctionException', 'XPathFunctionResolver', 'XPathVariableResolver'
+            ),
+        134 => array (
+            'ChannelBinding', 'GSSContext', 'GSSCredential', 'GSSException', 'GSSManager', 'GSSName', 'MessageProp', 'Oid'
+            ),
+        135 => array (
+            'ACTIVITY_COMPLETED', 'ACTIVITY_REQUIRED', 'ARG_IN', 'ARG_INOUT', 'ARG_OUT', 'Any', 'AnyHolder', 'AnySeqHolder', 'BAD_CONTEXT', 'BAD_INV_ORDER', 'BAD_OPERATION', 'BAD_PARAM', 'BAD_POLICY', 'BAD_POLICY_TYPE', 'BAD_POLICY_VALUE', 'BAD_QOS', 'BAD_TYPECODE', 'BooleanHolder', 'BooleanSeqHelper', 'BooleanSeqHolder', 'ByteHolder', 'CODESET_INCOMPATIBLE', 'COMM_FAILURE', 'CTX_RESTRICT_SCOPE', 'CharHolder', 'CharSeqHelper', 'CharSeqHolder', 'CompletionStatus', 'CompletionStatusHelper', 'ContextList', 'CurrentHolder', 'CustomMarshal', 'DATA_CONVERSION', 'DefinitionKind', 'DefinitionKindHelper', 'DomainManager', 'DomainManagerOperations', 'DoubleHolder', 'DoubleSeqHelper', 'DoubleSeqHolder', 'Environment', 'ExceptionList', 'FREE_MEM', 'FixedHolder', 'FloatHolder', 'FloatSeqHelper', 'FloatSeqHolder', 'IDLType', 'IDLTypeHelper', 'IDLTypeOperations', 'IMP_LIMIT', 'INITIALIZE', 'INTERNAL', 'INTF_REPOS', 'INVALID_ACTIVITY', 'INVALID_TRANSACTION', 'INV_FLAG', 'INV_IDENT', 'INV_OBJREF', 'INV_POLICY', 'IRObject',
+            'IRObjectOperations', 'IdentifierHelper', 'IntHolder', 'LocalObject', 'LongHolder', 'LongLongSeqHelper', 'LongLongSeqHolder', 'LongSeqHelper', 'LongSeqHolder', 'MARSHAL', 'NO_IMPLEMENT', 'NO_MEMORY', 'NO_PERMISSION', 'NO_RESOURCES', 'NO_RESPONSE', 'NVList', 'NamedValue', 'OBJECT_NOT_EXIST', 'OBJ_ADAPTER', 'OMGVMCID', 'ObjectHelper', 'ObjectHolder', 'OctetSeqHelper', 'OctetSeqHolder', 'PERSIST_STORE', 'PRIVATE_MEMBER', 'PUBLIC_MEMBER', 'ParameterMode', 'ParameterModeHelper', 'ParameterModeHolder', 'PolicyError', 'PolicyErrorCodeHelper', 'PolicyErrorHelper', 'PolicyErrorHolder', 'PolicyHelper', 'PolicyHolder', 'PolicyListHelper', 'PolicyListHolder', 'PolicyOperations', 'PolicyTypeHelper', 'PrincipalHolder', 'REBIND', 'RepositoryIdHelper', 'Request', 'ServerRequest', 'ServiceDetail', 'ServiceDetailHelper', 'ServiceInformation', 'ServiceInformationHelper', 'ServiceInformationHolder', 'SetOverrideType', 'SetOverrideTypeHelper', 'ShortHolder', 'ShortSeqHelper', 'ShortSeqHolder', 'StringHolder',
+            'StringSeqHelper', 'StringSeqHolder', 'StringValueHelper', 'StructMember', 'StructMemberHelper', 'SystemException', 'TCKind', 'TIMEOUT', 'TRANSACTION_MODE', 'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK', 'TRANSACTION_UNAVAILABLE', 'TRANSIENT', 'TypeCode', 'TypeCodeHolder', 'ULongLongSeqHelper', 'ULongLongSeqHolder', 'ULongSeqHelper', 'ULongSeqHolder', 'UNSUPPORTED_POLICY', 'UNSUPPORTED_POLICY_VALUE', 'UShortSeqHelper', 'UShortSeqHolder', 'UnionMember', 'UnionMemberHelper', 'UnknownUserException', 'UnknownUserExceptionHelper', 'UnknownUserExceptionHolder', 'UserException', 'VM_ABSTRACT', 'VM_CUSTOM', 'VM_NONE', 'VM_TRUNCATABLE', 'ValueBaseHelper', 'ValueBaseHolder', 'ValueMember', 'ValueMemberHelper', 'VersionSpecHelper', 'VisibilityHelper', 'WCharSeqHelper', 'WCharSeqHolder', 'WStringSeqHelper', 'WStringSeqHolder', 'WStringValueHelper', 'WrongTransaction', 'WrongTransactionHelper', 'WrongTransactionHolder', '_IDLTypeStub', '_PolicyStub'
+            ),
+        136 => array (
+            'Invalid', 'InvalidSeq'
+            ),
+        137 => array (
+            'BadKind'
+            ),
+        138 => array (
+            'ApplicationException', 'BoxedValueHelper', 'CustomValue', 'IDLEntity', 'IndirectionException', 'InvokeHandler', 'RemarshalException', 'ResponseHandler', 'ServantObject', 'Streamable', 'StreamableValue', 'UnknownException', 'ValueBase', 'ValueFactory', 'ValueInputStream', 'ValueOutputStream'
+            ),
+        139 => array (
+            'BindingHelper', 'BindingHolder', 'BindingIterator', 'BindingIteratorHelper', 'BindingIteratorHolder', 'BindingIteratorOperations', 'BindingIteratorPOA', 'BindingListHelper', 'BindingListHolder', 'BindingType', 'BindingTypeHelper', 'BindingTypeHolder', 'IstringHelper', 'NameComponent', 'NameComponentHelper', 'NameComponentHolder', 'NameHelper', 'NameHolder', 'NamingContext', 'NamingContextExt', 'NamingContextExtHelper', 'NamingContextExtHolder', 'NamingContextExtOperations', 'NamingContextExtPOA', 'NamingContextHelper', 'NamingContextHolder', 'NamingContextOperations', 'NamingContextPOA', '_BindingIteratorImplBase', '_BindingIteratorStub', '_NamingContextExtStub', '_NamingContextImplBase', '_NamingContextStub'
+            ),
+        140 => array (
+            'AddressHelper', 'InvalidAddress', 'InvalidAddressHelper', 'InvalidAddressHolder', 'StringNameHelper', 'URLStringHelper'
+            ),
+        141 => array (
+            'AlreadyBound', 'AlreadyBoundHelper', 'AlreadyBoundHolder', 'CannotProceed', 'CannotProceedHelper', 'CannotProceedHolder', 'InvalidNameHolder', 'NotEmpty', 'NotEmptyHelper', 'NotEmptyHolder', 'NotFound', 'NotFoundHelper', 'NotFoundHolder', 'NotFoundReason', 'NotFoundReasonHelper', 'NotFoundReasonHolder'
+            ),
+        142 => array (
+            'Parameter'
+            ),
+        143 => array (
+            'DynAnyFactory', 'DynAnyFactoryHelper', 'DynAnyFactoryOperations', 'DynAnyHelper', 'DynAnyOperations', 'DynAnySeqHelper', 'DynArrayHelper', 'DynArrayOperations', 'DynEnumHelper', 'DynEnumOperations', 'DynFixedHelper', 'DynFixedOperations', 'DynSequenceHelper', 'DynSequenceOperations', 'DynStructHelper', 'DynStructOperations', 'DynUnionHelper', 'DynUnionOperations', 'DynValueBox', 'DynValueBoxOperations', 'DynValueCommon', 'DynValueCommonOperations', 'DynValueHelper', 'DynValueOperations', 'NameDynAnyPair', 'NameDynAnyPairHelper', 'NameDynAnyPairSeqHelper', 'NameValuePairSeqHelper', '_DynAnyFactoryStub', '_DynAnyStub', '_DynArrayStub', '_DynEnumStub', '_DynFixedStub', '_DynSequenceStub', '_DynStructStub', '_DynUnionStub', '_DynValueStub'
+            ),
+        144 => array (
+            'InconsistentTypeCodeHelper'
+            ),
+        145 => array (
+            'InvalidValueHelper'
+            ),
+        146 => array (
+            'CodeSets', 'Codec', 'CodecFactory', 'CodecFactoryHelper', 'CodecFactoryOperations', 'CodecOperations', 'ComponentIdHelper', 'ENCODING_CDR_ENCAPS', 'Encoding', 'ExceptionDetailMessage', 'IOR', 'IORHelper', 'IORHolder', 'MultipleComponentProfileHelper', 'MultipleComponentProfileHolder', 'ProfileIdHelper', 'RMICustomMaxStreamFormat', 'ServiceContext', 'ServiceContextHelper', 'ServiceContextHolder', 'ServiceContextListHelper', 'ServiceContextListHolder', 'ServiceIdHelper', 'TAG_ALTERNATE_IIOP_ADDRESS', 'TAG_CODE_SETS', 'TAG_INTERNET_IOP', 'TAG_JAVA_CODEBASE', 'TAG_MULTIPLE_COMPONENTS', 'TAG_ORB_TYPE', 'TAG_POLICIES', 'TAG_RMI_CUSTOM_MAX_STREAM_FORMAT', 'TaggedComponent', 'TaggedComponentHelper', 'TaggedComponentHolder', 'TaggedProfile', 'TaggedProfileHelper', 'TaggedProfileHolder', 'TransactionService'
+            ),
+        147 => array (
+            'UnknownEncoding', 'UnknownEncodingHelper'
+            ),
+        148 => array (
+            'FormatMismatch', 'FormatMismatchHelper', 'InvalidTypeForEncoding', 'InvalidTypeForEncodingHelper'
+            ),
+        149 => array (
+            'SYNC_WITH_TRANSPORT', 'SyncScopeHelper'
+            ),
+        150 => array (
+            'ACTIVE', 'AdapterManagerIdHelper', 'AdapterNameHelper', 'AdapterStateHelper', 'ClientRequestInfo', 'ClientRequestInfoOperations', 'ClientRequestInterceptor', 'ClientRequestInterceptorOperations', 'DISCARDING', 'HOLDING', 'INACTIVE', 'IORInfo', 'IORInfoOperations', 'IORInterceptor', 'IORInterceptorOperations', 'IORInterceptor_3_0', 'IORInterceptor_3_0Helper', 'IORInterceptor_3_0Holder', 'IORInterceptor_3_0Operations', 'Interceptor', 'InterceptorOperations', 'InvalidSlot', 'InvalidSlotHelper', 'LOCATION_FORWARD', 'NON_EXISTENT', 'ORBIdHelper', 'ORBInitInfo', 'ORBInitInfoOperations', 'ORBInitializer', 'ORBInitializerOperations', 'ObjectReferenceFactory', 'ObjectReferenceFactoryHelper', 'ObjectReferenceFactoryHolder', 'ObjectReferenceTemplate', 'ObjectReferenceTemplateHelper', 'ObjectReferenceTemplateHolder', 'ObjectReferenceTemplateSeqHelper', 'ObjectReferenceTemplateSeqHolder', 'PolicyFactory', 'PolicyFactoryOperations', 'RequestInfo', 'RequestInfoOperations', 'SUCCESSFUL', 'SYSTEM_EXCEPTION',
+            'ServerIdHelper', 'ServerRequestInfo', 'ServerRequestInfoOperations', 'ServerRequestInterceptor', 'ServerRequestInterceptorOperations', 'TRANSPORT_RETRY', 'USER_EXCEPTION'
+            ),
+        151 => array (
+            'DuplicateName', 'DuplicateNameHelper'
+            ),
+        152 => array (
+            'AdapterActivator', 'AdapterActivatorOperations', 'ID_ASSIGNMENT_POLICY_ID', 'ID_UNIQUENESS_POLICY_ID', 'IMPLICIT_ACTIVATION_POLICY_ID', 'IdAssignmentPolicy', 'IdAssignmentPolicyOperations', 'IdAssignmentPolicyValue', 'IdUniquenessPolicy', 'IdUniquenessPolicyOperations', 'IdUniquenessPolicyValue', 'ImplicitActivationPolicy', 'ImplicitActivationPolicyOperations', 'ImplicitActivationPolicyValue', 'LIFESPAN_POLICY_ID', 'LifespanPolicy', 'LifespanPolicyOperations', 'LifespanPolicyValue', 'POA', 'POAHelper', 'POAManager', 'POAManagerOperations', 'POAOperations', 'REQUEST_PROCESSING_POLICY_ID', 'RequestProcessingPolicy', 'RequestProcessingPolicyOperations', 'RequestProcessingPolicyValue', 'SERVANT_RETENTION_POLICY_ID', 'Servant', 'ServantActivator', 'ServantActivatorHelper', 'ServantActivatorOperations', 'ServantActivatorPOA', 'ServantLocator', 'ServantLocatorHelper', 'ServantLocatorOperations', 'ServantLocatorPOA', 'ServantManager', 'ServantManagerOperations', 'ServantRetentionPolicy',
+            'ServantRetentionPolicyOperations', 'ServantRetentionPolicyValue', 'THREAD_POLICY_ID', 'ThreadPolicy', 'ThreadPolicyOperations', 'ThreadPolicyValue', '_ServantActivatorStub', '_ServantLocatorStub'
+            ),
+        153 => array (
+            'NoContext', 'NoContextHelper'
+            ),
+        154 => array (
+            'AdapterInactive', 'AdapterInactiveHelper', 'State'
+            ),
+        155 => array (
+            'AdapterAlreadyExists', 'AdapterAlreadyExistsHelper', 'AdapterNonExistent', 'AdapterNonExistentHelper', 'InvalidPolicy', 'InvalidPolicyHelper', 'NoServant', 'NoServantHelper', 'ObjectAlreadyActive', 'ObjectAlreadyActiveHelper', 'ObjectNotActive', 'ObjectNotActiveHelper', 'ServantAlreadyActive', 'ServantAlreadyActiveHelper', 'ServantNotActive', 'ServantNotActiveHelper', 'WrongAdapter', 'WrongAdapterHelper', 'WrongPolicy', 'WrongPolicyHelper'
+            ),
+        156 => array (
+            'CookieHolder'
+            ),
+        157 => array (
+            'RunTime', 'RunTimeOperations'
+            ),
+        158 => array (
+            '_Remote_Stub'
+            ),
+        159 => array (
+            'Attr', 'CDATASection', 'CharacterData', 'Comment', 'DOMConfiguration', 'DOMError', 'DOMErrorHandler', 'DOMException', 'DOMImplementation', 'DOMImplementationList', 'DOMImplementationSource', 'DOMStringList', 'DocumentFragment', 'DocumentType', 'EntityReference', 'NameList', 'NamedNodeMap', 'Node', 'NodeList', 'Notation', 'ProcessingInstruction', 'Text', 'TypeInfo', 'UserDataHandler'
+            ),
+        160 => array (
+            'DOMImplementationRegistry'
+            ),
+        161 => array (
+            'EventException', 'EventTarget', 'MutationEvent', 'UIEvent'
+            ),
+        162 => array (
+            'DOMImplementationLS', 'LSException', 'LSInput', 'LSLoadEvent', 'LSOutput', 'LSParser', 'LSParserFilter', 'LSProgressEvent', 'LSResourceResolver', 'LSSerializer', 'LSSerializerFilter'
+            ),
+        163 => array (
+            'DTDHandler', 'DocumentHandler', 'EntityResolver', 'ErrorHandler', 'HandlerBase', 'InputSource', 'Locator', 'SAXException', 'SAXNotRecognizedException', 'SAXNotSupportedException', 'SAXParseException', 'XMLFilter', 'XMLReader'
+            ),
+        164 => array (
+            'Attributes2', 'Attributes2Impl', 'DeclHandler', 'DefaultHandler2', 'EntityResolver2', 'LexicalHandler', 'Locator2', 'Locator2Impl'
+            ),
+        165 => array (
+            'AttributeListImpl', 'AttributesImpl', 'DefaultHandler', 'LocatorImpl', 'NamespaceSupport', 'ParserAdapter', 'ParserFactory', 'XMLFilterImpl', 'XMLReaderAdapter', 'XMLReaderFactory'
+            ),
+        /* ambiguous class names (appear in more than one package) */
+        166 => array (
+            'Annotation', 'AnySeqHelper', 'Array', 'Attribute', 'AttributeList', 'AttributeSet', 'Attributes', 'AuthenticationException', 'Binding', 'Bounds', 'Certificate', 'CertificateEncodingException', 'CertificateException', 'CertificateExpiredException', 'CertificateNotYetValidException', 'CertificateParsingException', 'ConnectException', 'ContentHandler', 'Context', 'Control', 'Current', 'CurrentHelper', 'CurrentOperations', 'DOMLocator', 'DataInputStream', 'DataOutputStream', 'Date', 'DefaultLoaderRepository', 'Delegate', 'Document', 'DocumentEvent', 'DynAny', 'DynArray', 'DynEnum', 'DynFixed', 'DynSequence', 'DynStruct', 'DynUnion', 'DynValue', 'DynamicImplementation', 'Element', 'Entity', 'Event', 'EventListener', 'FieldNameHelper', 'FileFilter', 'Formatter', 'ForwardRequest', 'ForwardRequestHelper', 'InconsistentTypeCode', 'InputStream', 'IntrospectionException', 'InvalidAttributeValueException', 'InvalidKeyException', 'InvalidName', 'InvalidNameHelper', 'InvalidValue', 'List', 'MouseEvent',
+            'NameValuePair', 'NameValuePairHelper', 'ORB', 'Object', 'ObjectIdHelper', 'ObjectImpl', 'OpenType', 'OutputStream', 'ParagraphView', 'Parser', 'Permission', 'Policy', 'Principal', 'Proxy', 'Reference', 'Statement', 'Timer', 'Timestamp', 'TypeMismatch', 'TypeMismatchHelper', 'UNKNOWN', 'UnknownHostException', 'X509Certificate'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        /* all Java keywords are case sensitive */
+        1 => true, 2 => true, 3 => true, 4 => true,
+        5 => true, 6 => true, 7 => true, 8 => true, 9 => true,
+        10 => true, 11 => true, 12 => true, 13 => true, 14 => true,
+        15 => true, 16 => true, 17 => true, 18 => true, 19 => true,
+        20 => true, 21 => true, 22 => true, 23 => true, 24 => true,
+        25 => true, 26 => true, 27 => true, 28 => true, 29 => true,
+        30 => true, 31 => true, 32 => true, 33 => true, 34 => true,
+        35 => true, 36 => true, 37 => true, 38 => true, 39 => true,
+        40 => true, 41 => true, 42 => true, 43 => true, 44 => true,
+        45 => true, 46 => true, 47 => true, 48 => true, 49 => true,
+        50 => true, 51 => true, 52 => true, 53 => true, 54 => true,
+        55 => true, 56 => true, 57 => true, 58 => true, 59 => true,
+        60 => true, 61 => true, 62 => true, 63 => true, 64 => true,
+        65 => true, 66 => true, 67 => true, 68 => true, 69 => true,
+        70 => true, 71 => true, 72 => true, 73 => true, 74 => true,
+        75 => true, 76 => true, 77 => true, 78 => true, 79 => true,
+        80 => true, 81 => true, 82 => true, 83 => true, 84 => true,
+        85 => true, 86 => true, 87 => true, 88 => true, 89 => true,
+        90 => true, 91 => true, 92 => true, 93 => true, 94 => true,
+        95 => true, 96 => true, 97 => true, 98 => true, 99 => true,
+        100 => true, 101 => true, 102 => true, 103 => true, 104 => true,
+        105 => true, 106 => true, 107 => true, 108 => true, 109 => true,
+        110 => true, 111 => true, 112 => true, 113 => true, 114 => true,
+        115 => true, 116 => true, 117 => true, 118 => true, 119 => true,
+        120 => true, 121 => true, 122 => true, 123 => true, 124 => true,
+        125 => true, 126 => true, 127 => true, 128 => true, 129 => true,
+        130 => true, 131 => true, 132 => true, 133 => true, 134 => true,
+        135 => true, 136 => true, 137 => true, 138 => true, 139 => true,
+        140 => true, 141 => true, 142 => true, 143 => true, 144 => true,
+        145 => true, 146 => true, 147 => true, 148 => true, 149 => true,
+        150 => true, 151 => true, 152 => true, 153 => true, 154 => true,
+        155 => true, 156 => true, 157 => true, 158 => true, 159 => true,
+        160 => true, 161 => true, 162 => true, 163 => true, 164 => true,
+        165 => true, 166 => true
+    ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000;  font-weight: bold;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #006600; font-weight: bold;',
+            4 => 'color: #006600; font-weight: bold;',
+            5 => 'color: #003399; font-weight: bold;',
+            6 => 'color: #003399; font-weight: bold;',
+            7 => 'color: #003399; font-weight: bold;',
+            8 => 'color: #003399; font-weight: bold;',
+            9 => 'color: #003399; font-weight: bold;',
+            10 => 'color: #003399; font-weight: bold;',
+            11 => 'color: #003399; font-weight: bold;',
+            12 => 'color: #003399; font-weight: bold;',
+            13 => 'color: #003399; font-weight: bold;',
+            14 => 'color: #003399; font-weight: bold;',
+            15 => 'color: #003399; font-weight: bold;',
+            16 => 'color: #003399; font-weight: bold;',
+            17 => 'color: #003399; font-weight: bold;',
+            18 => 'color: #003399; font-weight: bold;',
+            19 => 'color: #003399; font-weight: bold;',
+            20 => 'color: #003399; font-weight: bold;',
+            21 => 'color: #003399; font-weight: bold;',
+            22 => 'color: #003399; font-weight: bold;',
+            23 => 'color: #003399; font-weight: bold;',
+            24 => 'color: #003399; font-weight: bold;',
+            25 => 'color: #003399; font-weight: bold;',
+            26 => 'color: #003399; font-weight: bold;',
+            27 => 'color: #003399; font-weight: bold;',
+            28 => 'color: #003399; font-weight: bold;',
+            29 => 'color: #003399; font-weight: bold;',
+            30 => 'color: #003399; font-weight: bold;',
+            31 => 'color: #003399; font-weight: bold;',
+            32 => 'color: #003399; font-weight: bold;',
+            33 => 'color: #003399; font-weight: bold;',
+            34 => 'color: #003399; font-weight: bold;',
+            35 => 'color: #003399; font-weight: bold;',
+            36 => 'color: #003399; font-weight: bold;',
+            37 => 'color: #003399; font-weight: bold;',
+            38 => 'color: #003399; font-weight: bold;',
+            39 => 'color: #003399; font-weight: bold;',
+            40 => 'color: #003399; font-weight: bold;',
+            41 => 'color: #003399; font-weight: bold;',
+            42 => 'color: #003399; font-weight: bold;',
+            43 => 'color: #003399; font-weight: bold;',
+            44 => 'color: #003399; font-weight: bold;',
+            45 => 'color: #003399; font-weight: bold;',
+            46 => 'color: #003399; font-weight: bold;',
+            47 => 'color: #003399; font-weight: bold;',
+            48 => 'color: #003399; font-weight: bold;',
+            49 => 'color: #003399; font-weight: bold;',
+            50 => 'color: #003399; font-weight: bold;',
+            51 => 'color: #003399; font-weight: bold;',
+            52 => 'color: #003399; font-weight: bold;',
+            53 => 'color: #003399; font-weight: bold;',
+            54 => 'color: #003399; font-weight: bold;',
+            55 => 'color: #003399; font-weight: bold;',
+            56 => 'color: #003399; font-weight: bold;',
+            57 => 'color: #003399; font-weight: bold;',
+            58 => 'color: #003399; font-weight: bold;',
+            59 => 'color: #003399; font-weight: bold;',
+            60 => 'color: #003399; font-weight: bold;',
+            61 => 'color: #003399; font-weight: bold;',
+            62 => 'color: #003399; font-weight: bold;',
+            63 => 'color: #003399; font-weight: bold;',
+            64 => 'color: #003399; font-weight: bold;',
+            65 => 'color: #003399; font-weight: bold;',
+            66 => 'color: #003399; font-weight: bold;',
+            67 => 'color: #003399; font-weight: bold;',
+            68 => 'color: #003399; font-weight: bold;',
+            69 => 'color: #003399; font-weight: bold;',
+            70 => 'color: #003399; font-weight: bold;',
+            71 => 'color: #003399; font-weight: bold;',
+            72 => 'color: #003399; font-weight: bold;',
+            73 => 'color: #003399; font-weight: bold;',
+            74 => 'color: #003399; font-weight: bold;',
+            75 => 'color: #003399; font-weight: bold;',
+            76 => 'color: #003399; font-weight: bold;',
+            77 => 'color: #003399; font-weight: bold;',
+            78 => 'color: #003399; font-weight: bold;',
+            79 => 'color: #003399; font-weight: bold;',
+            80 => 'color: #003399; font-weight: bold;',
+            81 => 'color: #003399; font-weight: bold;',
+            82 => 'color: #003399; font-weight: bold;',
+            83 => 'color: #003399; font-weight: bold;',
+            84 => 'color: #003399; font-weight: bold;',
+            85 => 'color: #003399; font-weight: bold;',
+            86 => 'color: #003399; font-weight: bold;',
+            87 => 'color: #003399; font-weight: bold;',
+            88 => 'color: #003399; font-weight: bold;',
+            89 => 'color: #003399; font-weight: bold;',
+            90 => 'color: #003399; font-weight: bold;',
+            91 => 'color: #003399; font-weight: bold;',
+            92 => 'color: #003399; font-weight: bold;',
+            93 => 'color: #003399; font-weight: bold;',
+            94 => 'color: #003399; font-weight: bold;',
+            95 => 'color: #003399; font-weight: bold;',
+            96 => 'color: #003399; font-weight: bold;',
+            97 => 'color: #003399; font-weight: bold;',
+            98 => 'color: #003399; font-weight: bold;',
+            99 => 'color: #003399; font-weight: bold;',
+            100 => 'color: #003399; font-weight: bold;',
+            101 => 'color: #003399; font-weight: bold;',
+            102 => 'color: #003399; font-weight: bold;',
+            103 => 'color: #003399; font-weight: bold;',
+            104 => 'color: #003399; font-weight: bold;',
+            105 => 'color: #003399; font-weight: bold;',
+            106 => 'color: #003399; font-weight: bold;',
+            107 => 'color: #003399; font-weight: bold;',
+            108 => 'color: #003399; font-weight: bold;',
+            109 => 'color: #003399; font-weight: bold;',
+            110 => 'color: #003399; font-weight: bold;',
+            111 => 'color: #003399; font-weight: bold;',
+            112 => 'color: #003399; font-weight: bold;',
+            113 => 'color: #003399; font-weight: bold;',
+            114 => 'color: #003399; font-weight: bold;',
+            115 => 'color: #003399; font-weight: bold;',
+            116 => 'color: #003399; font-weight: bold;',
+            117 => 'color: #003399; font-weight: bold;',
+            118 => 'color: #003399; font-weight: bold;',
+            119 => 'color: #003399; font-weight: bold;',
+            120 => 'color: #003399; font-weight: bold;',
+            121 => 'color: #003399; font-weight: bold;',
+            122 => 'color: #003399; font-weight: bold;',
+            123 => 'color: #003399; font-weight: bold;',
+            124 => 'color: #003399; font-weight: bold;',
+            125 => 'color: #003399; font-weight: bold;',
+            126 => 'color: #003399; font-weight: bold;',
+            127 => 'color: #003399; font-weight: bold;',
+            128 => 'color: #003399; font-weight: bold;',
+            129 => 'color: #003399; font-weight: bold;',
+            130 => 'color: #003399; font-weight: bold;',
+            131 => 'color: #003399; font-weight: bold;',
+            132 => 'color: #003399; font-weight: bold;',
+            133 => 'color: #003399; font-weight: bold;',
+            134 => 'color: #003399; font-weight: bold;',
+            135 => 'color: #003399; font-weight: bold;',
+            136 => 'color: #003399; font-weight: bold;',
+            137 => 'color: #003399; font-weight: bold;',
+            138 => 'color: #003399; font-weight: bold;',
+            139 => 'color: #003399; font-weight: bold;',
+            140 => 'color: #003399; font-weight: bold;',
+            141 => 'color: #003399; font-weight: bold;',
+            142 => 'color: #003399; font-weight: bold;',
+            143 => 'color: #003399; font-weight: bold;',
+            144 => 'color: #003399; font-weight: bold;',
+            145 => 'color: #003399; font-weight: bold;',
+            146 => 'color: #003399; font-weight: bold;',
+            147 => 'color: #003399; font-weight: bold;',
+            148 => 'color: #003399; font-weight: bold;',
+            149 => 'color: #003399; font-weight: bold;',
+            150 => 'color: #003399; font-weight: bold;',
+            151 => 'color: #003399; font-weight: bold;',
+            152 => 'color: #003399; font-weight: bold;',
+            153 => 'color: #003399; font-weight: bold;',
+            154 => 'color: #003399; font-weight: bold;',
+            155 => 'color: #003399; font-weight: bold;',
+            156 => 'color: #003399; font-weight: bold;',
+            157 => 'color: #003399; font-weight: bold;',
+            158 => 'color: #003399; font-weight: bold;',
+            159 => 'color: #003399; font-weight: bold;',
+            160 => 'color: #003399; font-weight: bold;',
+            161 => 'color: #003399; font-weight: bold;',
+            162 => 'color: #003399; font-weight: bold;',
+            163 => 'color: #003399; font-weight: bold;',
+            164 => 'color: #003399; font-weight: bold;',
+            165 => 'color: #003399; font-weight: bold;',
+            166 => 'color: #003399; font-weight: bold;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            2 => 'color: #006699;',
+            3 => 'color: #008000; font-style: italic; font-weight: bold;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006633;',
+            2 => 'color: #006633;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/applet/{FNAME}.html',
+        6 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/{FNAME}.html',
+        7 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/color/{FNAME}.html',
+        8 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/datatransfer/{FNAME}.html',
+        9 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/dnd/{FNAME}.html',
+        10 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/{FNAME}.html',
+        11 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/font/{FNAME}.html',
+        12 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/geom/{FNAME}.html',
+        13 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/im/{FNAME}.html',
+        14 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/im/spi/{FNAME}.html',
+        15 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/{FNAME}.html',
+        16 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/renderable/{FNAME}.html',
+        17 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/awt/print/{FNAME}.html',
+        18 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/beans/{FNAME}.html',
+        19 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/beans/beancontext/{FNAME}.html',
+        20 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/io/{FNAME}.html',
+        21 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/{FNAME}.html',
+        22 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/annotation/{FNAME}.html',
+        23 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/instrument/{FNAME}.html',
+        24 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/management/{FNAME}.html',
+        25 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ref/{FNAME}.html',
+        26 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/{FNAME}.html',
+        27 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/math/{FNAME}.html',
+        28 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/net/{FNAME}.html',
+        29 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/{FNAME}.html',
+        30 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/channels/{FNAME}.html',
+        31 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/channels/spi/{FNAME}.html',
+        32 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/charset/{FNAME}.html',
+        33 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/nio/charset/spi/{FNAME}.html',
+        34 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/{FNAME}.html',
+        35 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/activation/{FNAME}.html',
+        36 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/dgc/{FNAME}.html',
+        37 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/registry/{FNAME}.html',
+        38 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/rmi/server/{FNAME}.html',
+        39 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/{FNAME}.html',
+        40 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/acl/{FNAME}.html',
+        41 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/cert/{FNAME}.html',
+        42 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/interfaces/{FNAME}.html',
+        43 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/security/spec/{FNAME}.html',
+        44 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/sql/{FNAME}.html',
+        45 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/text/{FNAME}.html',
+        46 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/{FNAME}.html',
+        47 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/{FNAME}.html',
+        48 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/atomic/{FNAME}.html',
+        49 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/locks/{FNAME}.html',
+        50 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/jar/{FNAME}.html',
+        51 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/logging/{FNAME}.html',
+        52 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/prefs/{FNAME}.html',
+        53 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/{FNAME}.html',
+        54 => 'http://java.sun.com/j2se/1.5.0/docs/api/java/util/zip/{FNAME}.html',
+        55 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/accessibility/{FNAME}.html',
+        56 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/activity/{FNAME}.html',
+        57 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/crypto/{FNAME}.html',
+        58 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/crypto/interfaces/{FNAME}.html',
+        59 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/crypto/spec/{FNAME}.html',
+        60 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/{FNAME}.html',
+        61 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/event/{FNAME}.html',
+        62 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/metadata/{FNAME}.html',
+        63 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/plugins/bmp/{FNAME}.html',
+        64 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/plugins/jpeg/{FNAME}.html',
+        65 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/spi/{FNAME}.html',
+        66 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/imageio/stream/{FNAME}.html',
+        67 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/{FNAME}.html',
+        68 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/loading/{FNAME}.html',
+        69 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/modelmbean/{FNAME}.html',
+        70 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/monitor/{FNAME}.html',
+        71 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/openmbean/{FNAME}.html',
+        72 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/relation/{FNAME}.html',
+        73 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/remote/{FNAME}.html',
+        74 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/remote/rmi/{FNAME}.html',
+        75 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/management/timer/{FNAME}.html',
+        76 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/{FNAME}.html',
+        77 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/directory/{FNAME}.html',
+        78 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/event/{FNAME}.html',
+        79 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/ldap/{FNAME}.html',
+        80 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/{FNAME}.html',
+        81 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/net/{FNAME}.html',
+        82 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/net/ssl/{FNAME}.html',
+        83 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/print/{FNAME}.html',
+        84 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/print/attribute/{FNAME}.html',
+        85 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/print/attribute/standard/{FNAME}.html',
+        86 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/print/event/{FNAME}.html',
+        87 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/{FNAME}.html',
+        88 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/CORBA/{FNAME}.html',
+        89 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/ssl/{FNAME}.html',
+        90 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/{FNAME}.html',
+        91 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/callback/{FNAME}.html',
+        92 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/kerberos/{FNAME}.html',
+        93 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/login/{FNAME}.html',
+        94 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/spi/{FNAME}.html',
+        95 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/auth/x500/{FNAME}.html',
+        96 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/security/sasl/{FNAME}.html',
+        97 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/midi/{FNAME}.html',
+        98 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/midi/spi/{FNAME}.html',
+        99 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/sampled/{FNAME}.html',
+        100 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sound/sampled/spi/{FNAME}.html',
+        101 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/{FNAME}.html',
+        102 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/rowset/{FNAME}.html',
+        103 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/rowset/serial/{FNAME}.html',
+        104 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/rowset/spi/{FNAME}.html',
+        105 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/{FNAME}.html',
+        106 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/border/{FNAME}.html',
+        107 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/colorchooser/{FNAME}.html',
+        108 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/{FNAME}.html',
+        109 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/filechooser/{FNAME}.html',
+        110 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/{FNAME}.html',
+        111 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/basic/{FNAME}.html',
+        112 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/metal/{FNAME}.html',
+        113 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/multi/{FNAME}.html',
+        114 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/plaf/synth/{FNAME}.html',
+        115 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/{FNAME}.html',
+        116 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/{FNAME}.html',
+        117 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/html/{FNAME}.html',
+        118 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/html/parser/{FNAME}.html',
+        119 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/rtf/{FNAME}.html',
+        120 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/{FNAME}.html',
+        121 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/undo/{FNAME}.html',
+        122 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/{FNAME}.html',
+        123 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/{FNAME}.html',
+        124 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/{FNAME}.html',
+        125 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/datatype/{FNAME}.html',
+        126 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/namespace/{FNAME}.html',
+        127 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/parsers/{FNAME}.html',
+        128 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/{FNAME}.html',
+        129 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/dom/{FNAME}.html',
+        130 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/sax/{FNAME}.html',
+        131 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/stream/{FNAME}.html',
+        132 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/validation/{FNAME}.html',
+        133 => 'http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/xpath/{FNAME}.html',
+        134 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/ietf/jgss/{FNAME}.html',
+        135 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CORBA/{FNAME}.html',
+        136 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CORBA/DynAnyPackage/{FNAME}.html',
+        137 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CORBA/TypeCodePackage/{FNAME}.html',
+        138 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CORBA/portable/{FNAME}.html',
+        139 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CosNaming/{FNAME}.html',
+        140 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CosNaming/NamingContextExtPackage/{FNAME}.html',
+        141 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/CosNaming/NamingContextPackage/{FNAME}.html',
+        142 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/Dynamic/{FNAME}.html',
+        143 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/DynamicAny/{FNAME}.html',
+        144 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/DynamicAny/DynAnyFactoryPackage/{FNAME}.html',
+        145 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/DynamicAny/DynAnyPackage/{FNAME}.html',
+        146 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/IOP/{FNAME}.html',
+        147 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/IOP/CodecFactoryPackage/{FNAME}.html',
+        148 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/IOP/CodecPackage/{FNAME}.html',
+        149 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/Messaging/{FNAME}.html',
+        150 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableInterceptor/{FNAME}.html',
+        151 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableInterceptor/ORBInitInfoPackage/{FNAME}.html',
+        152 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/{FNAME}.html',
+        153 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/CurrentPackage/{FNAME}.html',
+        154 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/POAManagerPackage/{FNAME}.html',
+        155 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/POAPackage/{FNAME}.html',
+        156 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableServer/ServantLocatorPackage/{FNAME}.html',
+        157 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/SendingContext/{FNAME}.html',
+        158 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/omg/stub/java/rmi/{FNAME}.html',
+        159 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/w3c/dom/{FNAME}.html',
+        160 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/w3c/dom/bootstrap/{FNAME}.html',
+        161 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/w3c/dom/events/{FNAME}.html',
+        162 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/w3c/dom/ls/{FNAME}.html',
+        163 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/{FNAME}.html',
+        164 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/ext/{FNAME}.html',
+        165 => 'http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/helpers/{FNAME}.html',
+        /* ambiguous class names (appear in more than one package) */
+        166 => 'http://www.google.com/search?sitesearch=java.sun.com&amp;q=allinurl%3Aj2se%2F1+5+0%2Fdocs%2Fapi+{FNAME}'
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        /* Java does not use '::' */
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/javascript.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/javascript.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * --------------
  * Author: Ben Keen (ben.keen@gmail.com)
  * Copyright: (c) 2004 Ben Keen (ben.keen@gmail.com), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/06/20
  *
  * JavaScript language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *  -  Added description of extra language features (SF#1970248)
  * 2004/11/27 (1.0.1)
  *  -  Added support for multiple object splitters
  * 2004/10/27 (1.0.0)
@@ -40,105 +42,109 @@
  ************************************************************************************/
 
 $language_data = array (
-  'LANG_NAME' => 'Javascript',
-  'COMMENT_SINGLE' => array(1 => '//'),
-  'COMMENT_MULTI' => array('/*' => '*/'),
-  'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-  'QUOTEMARKS' => array("'", '"'),
-  'ESCAPE_CHAR' => '\\',
-  'KEYWORDS' => array(
-    1 => array(
-      'as', 'break', 'case', 'catch', 'continue', 'decodeURI', 'delete', 'do',
-      'else', 'encodeURI', 'eval', 'finally', 'for', 'if', 'in', 'is', 'item',
-      'instanceof', 'return', 'switch', 'this', 'throw', 'try', 'typeof', 'void',
-      'while', 'write', 'with'
-      ),
-    2 => array(
-      'class', 'const', 'default', 'debugger', 'export', 'extends', 'false',
-      'function', 'import', 'namespace', 'new', 'null', 'package', 'private',
-      'protected', 'public', 'super', 'true', 'use', 'var'
-      ),
-    3 => array(
-
-      // common functions for Window object
-      'alert', 'back', 'blur', 'close', 'confirm', 'focus', 'forward', 'home',
-      'name', 'navigate', 'onblur', 'onerror', 'onfocus', 'onload', 'onmove',
-      'onresize', 'onunload', 'open', 'print', 'prompt', 'scroll', 'status',
-      'stop',
-      )
-    ),
-  'SYMBOLS' => array(
-    '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'
-    ),
-  'CASE_SENSITIVE' => array(
-    GESHI_COMMENTS => false,
-    1 => false,
-    2 => false,
-    3 => false
-    ),
-  'STYLES' => array(
+    'LANG_NAME' => 'Javascript',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    //Regular Expressions
+    'COMMENT_REGEXP' => array(2 => "/(?<=[\\s^])s\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])m?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\,\\;\\)])/iU"),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
     'KEYWORDS' => array(
-      1 => 'color: #000066; font-weight: bold;',
-      2 => 'color: #003366; font-weight: bold;',
-      3 => 'color: #000066;'
-      ),
-    'COMMENTS' => array(
-      1 => 'color: #009900; font-style: italic;',
-      'MULTI' => 'color: #009900; font-style: italic;'
-      ),
-    'ESCAPE_CHAR' => array(
-      0 => 'color: #000099; font-weight: bold;'
-      ),
-    'BRACKETS' => array(
-      0 => 'color: #66cc66;'
-      ),
-    'STRINGS' => array(
-      0 => 'color: #3366CC;'
-      ),
-    'NUMBERS' => array(
-      0 => 'color: #CC0000;'
-      ),
-    'METHODS' => array(
-      1 => 'color: #006600;'
-      ),
+        1 => array(
+            'as', 'break', 'case', 'catch', 'continue', 'decodeURI', 'delete', 'do',
+            'else', 'encodeURI', 'eval', 'finally', 'for', 'if', 'in', 'is', 'item',
+            'instanceof', 'return', 'switch', 'this', 'throw', 'try', 'typeof', 'void',
+            'while', 'write', 'with'
+            ),
+        2 => array(
+            'class', 'const', 'default', 'debugger', 'export', 'extends', 'false',
+            'function', 'import', 'namespace', 'new', 'null', 'package', 'private',
+            'protected', 'public', 'super', 'true', 'use', 'var'
+            ),
+        3 => array(
+            // common functions for Window object
+            'alert', 'back', 'blur', 'close', 'confirm', 'focus', 'forward', 'home',
+            'name', 'navigate', 'onblur', 'onerror', 'onfocus', 'onload', 'onmove',
+            'onresize', 'onunload', 'open', 'print', 'prompt', 'scroll', 'status',
+            'stop',
+            )
+        ),
     'SYMBOLS' => array(
-      0 => 'color: #66cc66;'
-      ),
+        '(', ')', '[', ']', '{', '}',
+        '+', '-', '*', '/', '%',
+        '!', '@', '&', '|', '^',
+        '<', '>', '=',
+        ',', ';', '?', ':'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000066; font-weight: bold;',
+            2 => 'color: #003366; font-weight: bold;',
+            3 => 'color: #000066;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #006600; font-style: italic;',
+            2 => 'color: #009966; font-style: italic;',
+            'MULTI' => 'color: #006600; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #3366CC;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #CC0000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #660066;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            0 => '',
+            1 => '',
+            2 => '',
+            3 => ''
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
     'REGEXPS' => array(
-      0 => 'color: #0066FF;'
-      ),
-    'SCRIPT' => array(
-      0 => '',
-      1 => '',
-      2 => '',
-      3 => ''
-      )
-    ),
-  'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => ''
-  	),
-  'OOLANG' => true,
-  'OBJECT_SPLITTERS' => array(
-  	1 => '.'
-	),
-  'REGEXPS' => array(
-    0 => "/.*/([igm]*)?"         // matches js reg exps
-    ),
-  'STRICT_MODE_APPLIES' => GESHI_MAYBE,
-  'SCRIPT_DELIMITERS' => array(
-    0 => array(
-      '<script type="text/javascript">' => '</script>'
-      ),
-    1 => array(
-      '<script language="javascript">' => '</script>'
-      )
-    ),
-  'HIGHLIGHT_STRICT_BLOCK' => array(
-    0 => true,
-    1 => true
-  )
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(
+        0 => array(
+            '<script type="text/javascript">' => '</script>'
+            ),
+        1 => array(
+            '<script language="javascript">' => '</script>'
+            )
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true,
+        1 => true
+        )
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/kixtart.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,329 @@
+<?php
+/*************************************************************************************
+ * kixtart.php
+ * --------
+ * Author: Riley McArdle (riley@glyff.net)
+ * Copyright: (c) 2007 Riley McArdle (http://www.glyff.net/)
+ * Release Version: 1.0.8.2
+ * Date Started: 2007/08/31
+ *
+ * PHP language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2007/08/31 (1.0.7.22)
+ *  -  First Release
+ *
+ * TODO (updated 2007/08/31)
+ * -------------------------
+ * *
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'KiXtart',
+    'COMMENT_SINGLE' => array(1 => ';'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'While', 'Loop',
+            'Use',
+            'Small',
+            'Sleep',
+            'Shell',
+            'SetTime',
+            'SetM',
+            'SetL',
+            'Set',
+            'Select', 'Case',
+            'Run',
+            'Return',
+            'Redim',
+            'RD',
+            'Quit',
+            'Play',
+            'Move',
+            'MD',
+            'Include',
+            'If', 'Else', 'Endif',
+            'GoTo',
+            'GoSub',
+            'Go',
+            'Global',
+            'GetS',
+            'Get',
+            'Function', 'Endfunction',
+            'For', 'Next',
+            'Each',
+            'FlushKb',
+            'Exit',
+            'Do', 'Until',
+            'Display',
+            'Dim',
+            'Del',
+            'Debug',
+            'Copy',
+            'Cookie1',
+            'Color',
+            'CLS',
+            'CD',
+            'Call',
+            'Break',
+            'Big',
+            'Beep',
+            ),
+        2 => array(
+            '@Address',
+            '@Build',
+            '@Color',
+            '@Comment',
+            '@CPU',
+            '@CRLF',
+            '@CSD',
+            '@CurDir',
+            '@Date',
+            '@Day',
+            '@Domain',
+            '@DOS',
+            '@Error',
+            '@FullName',
+            '@HomeDir',
+            '@HomeDrive',
+            '@HomeShr',
+            '@HostName',
+            '@InWin',
+            '@IPaddressX',
+            '@KiX',
+            '@LanRoot',
+            '@LDomain',
+            '@LDrive',
+            '@LM',
+            '@LogonMode',
+            '@LongHomeDir',
+            '@LServer',
+            '@MaxPWAge',
+            '@MDayNo',
+            '@MHz',
+            '@MonthNo',
+            '@Month',
+            '@MSecs',
+            '@OnWoW64',
+            '@PID',
+            '@PrimaryGroup',
+            '@Priv',
+            '@ProductSuite',
+            '@ProductType',
+            '@PWAge',
+            '@RAS',
+            '@Result',
+            '@RServer',
+            '@ScriptDir',
+            '@ScriptExe',
+            '@ScriptName',
+            '@SError',
+            '@SID',
+            '@Site',
+            '@StartDir',
+            '@SysLang',
+            '@Ticks',
+            '@Time',
+            '@TsSession',
+            '@UserID',
+            '@UserLang',
+            '@WDayNo',
+            '@Wksta',
+            '@WUserID',
+            '@YDayNo',
+            '@Year',
+            ),
+        3 => array(
+            'WriteValue',
+            'WriteProfileString',
+            'WriteLine',
+            'VarTypeName',
+            'VarType',
+            'Val',
+            'UnloadHive',
+            'UCase',
+            'Ubound',
+            'Trim',
+            'Substr',
+            'SRnd',
+            'Split',
+            'SidToName',
+            'ShutDown',
+            'ShowProgramGroup',
+            'SetWallpaper',
+            'SetTitle',
+            'SetSystemState',
+            'SetOption',
+            'SetFocus',
+            'SetFileAttr',
+            'SetDefaultPrinter',
+            'SetConsole',
+            'SetAscii',
+            'SendMessage',
+            'SendKeys',
+            'SaveKey',
+            'RTrim',
+            'Round',
+            'Rnd',
+            'Right',
+            'RedirectOutput',
+            'ReadValue',
+            'ReadType',
+            'ReadProfileString',
+            'ReadLine',
+            'Open',
+            'MessageBox',
+            'MemorySize',
+            'LTrim',
+            'Logoff',
+            'LogEvent',
+            'LoadKey',
+            'LoadHive',
+            'Len',
+            'Left',
+            'LCase',
+            'KeyExist',
+            'KbHit',
+            'Join',
+            'IsDeclared',
+            'Int',
+            'InStrRev',
+            'InStr',
+            'InGroup',
+            'IIF',
+            'GetObject',
+            'GetFileVersion',
+            'GetFileTime',
+            'GetFileSize',
+            'GetFileAttr',
+            'GetDiskSpace',
+            'FreeFileHandle',
+            'FormatNumber',
+            'Fix',
+            'ExpandEnvironmentVars',
+            'Exist',
+            'Execute',
+            'EnumValue',
+            'EnumLocalGroup',
+            'EnumKey',
+            'EnumIpInfo',
+            'EnumGroup',
+            'Dir',
+            'DelValue',
+            'DelTree',
+            'DelProgramItem',
+            'DelProgramGroup',
+            'DelPrinterConnection',
+            'DelKey',
+            'DecToHex',
+            'CStr',
+            'CreateObject',
+            'CompareFileTimes',
+            'Close',
+            'ClearEventLog',
+            'CInt',
+            'Chr',
+            'CDbl',
+            'Box',
+            'BackupEventLog',
+            'At',
+            'AScan',
+            'Asc',
+            'AddProgramItem',
+            'AddProgramGroup',
+            'AddPrinterConnection',
+            'AddKey',
+            'Abs'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '?', ':', '+', '-', '*', '/', '&', '|', '^', '~', '<', '>', '='
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #000066;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;',
+            2 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => 'http://www.kixtart.org/manual/Commands/{FNAMEL}.htm',
+        2 => '',
+        3 => 'http://www.kixtart.org/manual/Functions/{FNAMEL}.htm'
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true,
+        1 => true,
+        2 => true,
+        3 => true
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/klonec.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,282 @@
+<?php
+/*************************************************************************************
+ * klonec.php
+ * --------
+ * Author: AUGER Mickael
+ * Copyright: Synchronic
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/04/16
+ *
+ * KLone with C language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/04/16 (1.0.8)
+ *  -  First Release
+ *
+ * TODO (updated 2008/04/16)
+ * -------------------------
+ * A tester et a completer si besoin
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'KLone C',
+    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),//#pour precede les include de C
+    'COMMENT_MULTI' => array('/*' => '*/', '<!--' => '-->' ),//comentaires C et KLone suivi de ceux pour HTML
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(//mots-cles C
+            'if', 'return', 'while', 'case', 'class', 'continue', 'default',
+            'do', 'else', 'for', 'switch', 'goto',
+            'null', 'break', 'true', 'enum', 'extern', 'inline', 'false'
+            ),
+        2 => array(//mots-cles KLone
+            'out', 'request', 'response',
+            ),
+        3 => array(//fonctions C usuelles
+            'printf', 'malloc', 'fopen', 'fclose', 'free', 'fputs', 'fgets', 'feof', 'fwrite',
+            'perror', 'ferror', 'qsort', 'stats', 'sscanf', 'scanf',
+            'strdup', 'strcpy', 'strcmp', 'strncpy', 'strcasecmp', 'cat', 'strcat', 'strstr',
+            'strlen', 'strtof', 'strtod', 'strtok', 'towlower', 'towupper',
+            'cd', 'system', 'exit', 'exec', 'fork', 'vfork', 'kill', 'signal', 'syslog',
+            'usleep', 'utime', 'wait', 'waitpid', 'waitid',
+            'ceil', 'eval', 'round', 'floor',
+            'atoi', 'atol', 'abs', 'cos', 'sin', 'tan', 'acos', 'asin', 'atan', 'exp',
+            'time', 'ctime', 'localtime', 'asctime', 'gmtime', 'difftime', 'date'
+            ),
+        4 => array(//fonctions KLone usuelles
+            'request_get_cookies', 'request_get_cookie', 'request_get_args', 'request_get_arg',
+            'request_io', 'request_get_uri', 'request_get_filename', 'request_get_query_string', 'request_get_path_info',
+            'request_get_if_modified_since', 'request_get_http', 'request_get_client_request',
+            'request_get_content_length', 'request_get_uploads', 'request_get_uploaded_file',
+            'request_get_method', 'request_get_protocol', 'request_get_resolved_filename',
+            'request_get_resolved_path_info', 'request_get_addr', 'request_get_peer_addr',
+            'request_get_header', 'request_get_field', 'request_get_field_value',
+            'response_set_content_encoding', 'response_disable_caching', 'response_enable_caching',
+            'response_set_cookie', 'response_set_method', 'response_get_method',
+            'response_print_header', 'response_set_field', 'response_del_field',
+            'response_set_content_type', 'response_set_date', 'response_set_last_modified',
+            'response_set_content_length', 'response_get_status', 'response_get_header',
+            'response_io', 'response_redirect', 'response_set_status',
+            'session_get_vars', 'session_get', 'session_set', 'session_age', 'session_clean', 'session_del',
+            'io_type', 'io_pipe', 'io_dup', 'io_copy', 'io_seek', 'io_tell', 'io_close',
+            'io_free', 'io_read', 'io_printf', 'io_flush', 'io_write', 'io_putc', 'io_getc',
+            'io_get_until', 'io_gets', 'io_codec_add_head', 'io_codec_add_tail',
+            'io_codecs_remove', 'io_name_set', 'io_name_get'
+            ),
+        5 => array(//types C
+            'auto', 'char', 'const', 'double',  'float', 'int', 'long',
+            'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct',
+            'typedef', 'union', 'unsigned', 'void', 'volatile',
+            'wchar_t', 'time_t', 'FILE'
+            ),
+        6 => array(//mots-cles HTML
+            'a', 'abbr', 'acronym', 'address', 'applet',
+
+            'base', 'basefont', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'b',
+
+            'caption', 'center', 'cite', 'code', 'colgroup', 'col',
+
+            'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt',
+
+            'em',
+
+            'fieldset', 'font', 'form', 'frame', 'frameset',
+
+            'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'hr', 'html',
+
+            'iframe', 'ilayer', 'img', 'input', 'ins', 'isindex', 'i',
+
+            'kbd',
+
+            'label', 'legend', 'link', 'li',
+
+            'map', 'meta',
+
+            'noframes', 'noscript',
+
+            'object', 'ol', 'optgroup', 'option',
+
+            'param', 'pre', 'p',
+
+            'q',
+
+            'samp', 'script', 'select', 'small', 'span', 'strike', 'strong', 'style', 'sub', 'sup', 's',
+
+            'table', 'tbody', 'td', 'textarea', 'text', 'tfoot', 'thead', 'th', 'title', 'tr', 'tt',
+
+            'ul', 'u',
+
+            'var',
+            ),
+        7 => array(//autres mots-cles HTML
+            'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
+            'background', 'bgcolor', 'border',
+            'cellpadding', 'cellspacing', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
+            'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
+            'enctype',
+            'face', 'for', 'frame', 'frameborder',
+            'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
+            'id', 'ismap',
+            'label', 'lang', 'language', 'link', 'longdesc',
+            'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
+            'name', 'nohref', 'noresize', 'noshade', 'nowrap',
+            'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
+            'profile', 'prompt',
+            'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
+            'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
+            'tabindex', 'target', 'text', 'title', 'type',
+            'usemap',
+            'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
+            'width'
+            )
+        ),
+    'SYMBOLS' => array(
+        1 => array(
+            '<%=', '<%!', '<%', '%>'
+            ),
+        0 => array(
+            '(', ')', '[', ']', '{', '}',
+            '!', '%', '&', '|', '/',
+            '<', '>',
+            '=', '-', '+', '*',
+            '.', ':', ',', ';', '^'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false,
+        6 => false,
+        7 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100; font-weight: bold;',//pour les mots-cles C
+            2 => 'color: #000000; font-weight: bold;',//pour les mots-cles KLone
+            3 => 'color: #6600FF;',//pour les fonctions C
+            4 => 'color: #6600FF;',//pour les fonctions Klone
+            5 => 'color: #0099FF; font-weight: bold;',//pour les types C
+            6 => 'color: #990099; font-weight: bold;',//pour les mots-cles HTML
+            7 => 'color: #000066;'//pour les autres mots-cles HTML
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',//commentaire sur une ligne C et KLone
+            2 => 'color: #339933;',//pour les #... en C
+            'MULTI' => 'color: #808080; font-style: italic;'//commentaire sur plusieurs lignes C et KLone
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;',
+            2 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000000;',
+            1 => 'color: #000000; font-weight: bold;'
+            ),
+        'REGEXPS' => array(),
+        'SCRIPT' => array(
+            0 => 'background-color:#ffccff; font-weight: bold; color:#000000;',
+            1 => '',
+            2 => '',
+            3 => 'color: #00bbdd; font-weight: bold;',
+            4 => 'color: #ddbb00;',
+            5 => 'color: #009900;'
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html',
+        4 => 'http://www.koanlogic.com/klone/api/html/globals.html',
+        5 => '',
+        6 => 'http://december.com/html/4/element/{FNAMEL}.html',
+        7 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.',
+        2 => '::'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+    'SCRIPT_DELIMITERS' => array(
+        //delimiteurs pour KLone
+        0 => array(
+            '<%=' => '%>'
+            ),
+        1 => array(
+            '<%!' => '%>'
+            ),
+        2 => array(
+            '<%' => '%>'
+            ),
+        //delimiteur pour HTML
+        3 => array(
+            '<!DOCTYPE' => '>'
+            ),
+        4 => array(
+            '&' => ';'
+            ),
+        5 => array(
+            '<' => '>'
+            )
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => false,
+        1 => true,
+        2 => true,
+        3 => false,
+        4 => false,
+        5 => true
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            6 => array(
+                'DISALLOWED_BEFORE' => '(?<=&lt;|&lt;\/)',
+                'DISALLOWED_AFTER' => '(?=\s|\/|&gt;)',
+            ),
+            7 => array(
+                'DISALLOWED_AFTER' => '(?=\s*=)',
+            )
+        )
+    )
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/klonecpp.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,310 @@
+<?php
+/*************************************************************************************
+ * klonecpp.php
+ * --------
+ * Author: AUGER Mickael
+ * Copyright: Synchronic
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/04/16
+ *
+ * KLone with C++ language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/04/16 (1.0.8)
+ *  -  First Release
+ *
+ * TODO (updated 2008/04/16)
+ * -------------------------
+ * A tester et a completer si besoin
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'KLone C++',
+    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),//#pour precede les include de C
+    'COMMENT_MULTI' => array('/*' => '*/', '<!--' => '-->' ),//comentaires C et KLone suivi de ceux pour HTML
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(//mots-cles C++
+            'if', 'return', 'while', 'case', 'continue', 'default',
+            'do', 'else', 'for', 'switch', 'goto',
+            'break', 'true', 'enum', 'extern', 'inline', 'false',
+            'errno', 'stdin', 'stdout', 'stderr',
+            'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace',
+            'try', 'catch', 'dynamic_cast', 'const_cast', 'reinterpret_cast',
+            'static_cast', 'explicit', 'friend', 'typename', 'typeid', 'class',
+            'EDOM', 'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
+            'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
+            'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
+            'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
+            'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
+            'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
+            'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
+            'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
+            'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam', 'NULL',
+            'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX',
+            'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC'
+            ),
+        2 => array(//mots-cles KLone
+            'out', 'request', 'response',
+            ),
+        3 => array(//fonctions C++ usuelles
+            'cin', 'cerr', 'clog', 'cout', 'delete', 'new', 'this',
+            'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
+            'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
+            'ispunct', 'isspace', 'isupper', 'isxdigit', 'tolower', 'toupper',
+            'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
+            'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
+            'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp',
+            'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
+            'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
+            'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
+            'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
+            'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
+            'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
+            'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
+            'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
+            'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
+            'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
+            'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
+            'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
+            'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
+            ),
+        4 => array(//fonctions KLone usuelles
+            'request_get_cookies', 'request_get_cookie', 'request_get_args', 'request_get_arg',
+            'request_io', 'request_get_uri', 'request_get_filename', 'request_get_query_string', 'request_get_path_info',
+            'request_get_if_modified_since', 'request_get_http', 'request_get_client_request',
+            'request_get_content_length', 'request_get_uploads', 'request_get_uploaded_file',
+            'request_get_method', 'request_get_protocol', 'request_get_resolved_filename',
+            'request_get_resolved_path_info', 'request_get_addr', 'request_get_peer_addr',
+            'request_get_header', 'request_get_field', 'request_get_field_value',
+            'response_set_content_encoding', 'response_disable_caching', 'response_enable_caching',
+            'response_set_cookie', 'response_set_method', 'response_get_method',
+            'response_print_header', 'response_set_field', 'response_del_field',
+            'response_set_content_type', 'response_set_date', 'response_set_last_modified',
+            'response_set_content_length', 'response_get_status', 'response_get_header',
+            'response_io', 'response_redirect', 'response_set_status',
+            'session_get_vars', 'session_get', 'session_set', 'session_age', 'session_clean', 'session_del',
+            'io_type', 'io_pipe', 'io_dup', 'io_copy', 'io_seek', 'io_tell', 'io_close',
+            'io_free', 'io_read', 'io_printf', 'io_flush', 'io_write', 'io_putc', 'io_getc',
+            'io_get_until', 'io_gets', 'io_codec_add_head', 'io_codec_add_tail',
+            'io_codecs_remove', 'io_name_set', 'io_name_get'
+            ),
+        5 => array(//types C++
+            'auto', 'bool', 'char', 'const', 'double', 'float', 'int', 'long', 'longint',
+            'register', 'short', 'shortint', 'signed', 'static', 'struct',
+            'typedef', 'union', 'unsigned', 'void', 'volatile', 'jmp_buf',
+            'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
+            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
+            'string', 'wchar_t'
+            ),
+        6 => array(//mots-cles HTML
+            'a', 'abbr', 'acronym', 'address', 'applet',
+
+            'base', 'basefont', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'b',
+
+            'caption', 'center', 'cite', 'code', 'colgroup', 'col',
+
+            'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt',
+
+            'em',
+
+            'fieldset', 'font', 'form', 'frame', 'frameset',
+
+            'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'hr', 'html',
+
+            'iframe', 'ilayer', 'img', 'input', 'ins', 'isindex', 'i',
+
+            'kbd',
+
+            'label', 'legend', 'link', 'li',
+
+            'map', 'meta',
+
+            'noframes', 'noscript',
+
+            'object', 'ol', 'optgroup', 'option',
+
+            'param', 'pre', 'p',
+
+            'q',
+
+            'samp', 'script', 'select', 'small', 'span', 'strike', 'strong', 'style', 'sub', 'sup', 's',
+
+            'table', 'tbody', 'td', 'textarea', 'text', 'tfoot', 'thead', 'th', 'title', 'tr', 'tt',
+
+            'ul', 'u',
+
+            'var',
+            ),
+        7 => array(//autres mots-cles HTML
+            'abbr', 'accept-charset', 'accept', 'accesskey', 'action', 'align', 'alink', 'alt', 'archive', 'axis',
+            'background', 'bgcolor', 'border',
+            'cellpadding', 'cellspacing', 'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'classid', 'clear', 'code', 'codebase', 'codetype', 'color', 'cols', 'colspan', 'compact', 'content', 'coords',
+            'data', 'datetime', 'declare', 'defer', 'dir', 'disabled',
+            'enctype',
+            'face', 'for', 'frame', 'frameborder',
+            'headers', 'height', 'href', 'hreflang', 'hspace', 'http-equiv',
+            'id', 'ismap',
+            'label', 'lang', 'language', 'link', 'longdesc',
+            'marginheight', 'marginwidth', 'maxlength', 'media', 'method', 'multiple',
+            'name', 'nohref', 'noresize', 'noshade', 'nowrap',
+            'object', 'onblur', 'onchange', 'onclick', 'ondblclick', 'onfocus', 'onkeydown', 'onkeypress', 'onkeyup', 'onload', 'onmousedown', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onreset', 'onselect', 'onsubmit', 'onunload',
+            'profile', 'prompt',
+            'readonly', 'rel', 'rev', 'rowspan', 'rows', 'rules',
+            'scheme', 'scope', 'scrolling', 'selected', 'shape', 'size', 'span', 'src', 'standby', 'start', 'style', 'summary',
+            'tabindex', 'target', 'text', 'title', 'type',
+            'usemap',
+            'valign', 'value', 'valuetype', 'version', 'vlink', 'vspace',
+            'width'
+            )
+        ),
+    'SYMBOLS' => array(
+        1 => array(
+            '<%=', '<%!', '<%', '%>'
+            ),
+        0 => array(
+            '(', ')', '[', ']', '{', '}',
+            '!', '%', '&', '|', '/',
+            '<', '>',
+            '=', '-', '+', '*',
+            '.', ':', ',', ';', '^'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false,
+        6 => false,
+        7 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100; font-weight: bold;',//pour les mots-cles C++
+            2 => 'color: #000000; font-weight: bold;',//pour les mots-cles KLone
+            3 => 'color: #6600FF;',//pour les fonctions C++
+            4 => 'color: #6600FF;',//pour les fonctions Klone
+            5 => 'color: #0099FF; font-weight: bold;',//pour les types C++
+            6 => 'color: #990099; font-weight: bold;',//pour les mots-cles HTML
+            7 => 'color: #000066;'//pour les autres mots-cles HTML
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',//commentaire sur une ligne C++ et KLone
+            2 => 'color: #339933;',//pour les #... en C++
+            'MULTI' => 'color: #808080; font-style: italic;'//commentaire sur plusieurs lignes C++ et KLone
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;',
+            2 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000000;',
+            1 => 'color: #000000; font-weight: bold;'
+            ),
+        'REGEXPS' => array(),
+        'SCRIPT' => array(
+            0 => 'background-color:#ffccff; font-weight: bold; color:#000000;',
+            1 => '',
+            2 => '',
+            3 => 'color: #00bbdd; font-weight: bold;',
+            4 => 'color: #ddbb00;',
+            5 => 'color: #009900;'
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAMEL}.html',
+        4 => 'http://www.koanlogic.com/klone/api/html/globals.html',
+        5 => '',
+        6 => 'http://december.com/html/4/element/{FNAMEL}.html',
+        7 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.',
+        2 => '::'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+    'SCRIPT_DELIMITERS' => array(
+        //delimiteurs pour KLone
+        0 => array(
+            '<%=' => '%>'
+            ),
+        1 => array(
+            '<%!' => '%>'
+            ),
+        2 => array(
+            '<%' => '%>'
+            ),
+        //delimiteur pour HTML
+        3 => array(
+            '<!DOCTYPE' => '>'
+            ),
+        4 => array(
+            '&' => ';'
+            ),
+        5 => array(
+            '<' => '>'
+            )
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => false,
+        1 => true,
+        2 => true,
+        3 => false,
+        4 => false,
+        5 => true
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            6 => array(
+                'DISALLOWED_BEFORE' => '(?<=&lt;|&lt;\/)',
+                'DISALLOWED_AFTER' => '(?=\s|\/|&gt;)',
+            ),
+            7 => array(
+                'DISALLOWED_AFTER' => '(?=\s*=)',
+            )
+        )
+    )
+);
+
+?>
--- a/plugins/geshi/geshi/latex.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/latex.php	Fri May 29 19:30:59 2009 -0400
@@ -2,11 +2,37 @@
 /*************************************************************************************
  * latex.php
  * -----
- * Original Author: efi
- * modified by Matthias Pospiech (mail@matthiaspospiech.de)
+ * Author: efi, Matthias Pospiech (matthias@pospiech.eu)
+ * Copyright: (c) 2006 efi, Matthias Pospiech (matthias@pospiech.eu), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.2
+ * Date Started: 2006/09/23
+ *
+ * LaTeX language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/08/18 (1.0.8.1)
+ *  - Changes in color and some additional command recognition
+ *  - No special Color for Brackets, it is only distracting
+ *    if color should be reintroduced it should be less bright
+ *  - Math color changed from green to violett, since green is now used for comments
+ *  - Comments are now colored and the only green. The reason for coloring the comments
+ *    is that often important information is in the comments und was merely unvisible before.
+ *  - New Color for [Options]
+ *  - color for labels not specialised anymore. It makes sence in large documents but less in
+ *    small web examples.
+ *  - \@keyword introduced
+ *  - Fixed \& escaped ampersand
+ * 2006/09/23 (1.0.0)
+ *  -  First Release
+ *
+ * TODO
+ * -------------------------
+ * *
+ *
  *************************************************************************************
  *
- *   This file is not yet part of GeSHi. (and is not compatible to the 1.1+ branch)
+ *     This file is part of GeSHi.
  *
  *   GeSHi is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
@@ -24,14 +50,11 @@
  *
  ************************************************************************************/
 
-if (isset($this) && is_a($this, 'GeSHi')) {
-    $this->set_symbols_highlighting(false);
-    $this->set_numbers_highlighting(false);
-}
-
 $language_data = array (
     'LANG_NAME' => 'LaTeX',
-    'COMMENT_SINGLE' => array(1 => '%'),
+    'COMMENT_SINGLE' => array(
+        1 => '%'
+        ),
     'COMMENT_MULTI' => array(),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array(),
@@ -39,45 +62,45 @@
     'KEYWORDS' => array(
         ),
     'SYMBOLS' => array(
-        '.', ',','\\',"~", "{", "}", "[", "]", "$"
+        "&", "\\", "{", "}", "[", "]"
         ),
     'CASE_SENSITIVE' => array(
-        GESHI_COMMENTS => true,
-        1 => false,
-        2 => false,
-        3 => false,
-        4 => false,
+        GESHI_COMMENTS => false,
         ),
     'STYLES' => array(
         'KEYWORDS' => array(
             ),
         'COMMENTS' => array(
-            1 => 'color: #808080; font-style: italic;'
+            1 => 'color: #2C922C; font-style: italic;'
             ),
         'ESCAPE_CHAR' => array(
+            0 =>  'color: #000000; font-weight: bold;'
             ),
         'BRACKETS' => array(
             ),
         'STRINGS' => array(
+            0 =>  'color: #000000;'
             ),
         'NUMBERS' => array(
             ),
         'METHODS' => array(
             ),
         'SYMBOLS' => array(
+            0 =>  'color: #0000D0; '
             ),
         'REGEXPS' => array(
-            1 => 'color: #00A000; font-weight: bold;',  // Math inner
-            2 => 'color: #800000; font-weight: normal;', // \keyword #202020
-            3 => 'color: #2222D0; font-weight: normal;', // {...}
-            4 => 'color: #2222D0; font-weight: normal;', // [Option]
-            5 => 'color: #00A000; font-weight: normal;', // Mathe #CCF020
-            6 => 'color: #F00000; font-weight: normal;', // Structure \begin
-            7 => 'color: #F00000; font-weight: normal;', // Structure \end
-            8 => 'color: #F00000; font-weight: normal;', // Structure: Labels
-            //9 => 'color: #F00000; font-weight: normal;',  // Structure
-            10 => 'color: #0000D0; font-weight: bold;',  // Environment
-            11 => 'color: #0000D0; font-weight: bold;',  // Environment
+            1 => 'color: #8020E0; font-weight: normal;',  // Math inner
+            2 => 'color: #C08020; font-weight: normal;', // [Option]
+            3 => 'color: #8020E0; font-weight: normal;', // Maths
+            4 => 'color: #800000; font-weight: normal;', // Structure: Labels
+            5 => 'color: #00008B; font-weight: bold;',  // Structure (\section{->x<-})
+            6 => 'color: #800000; font-weight: normal;', // Structure (\section)
+            7 => 'color: #0000D0; font-weight: normal;', // Environment \end or \begin{->x<-} (brighter blue)
+            8 => 'color: #C00000; font-weight: normal;', // Structure \end or \begin
+            9 => 'color: #2020C0; font-weight: normal;', // {...}
+            10 => 'color: #800000; font-weight: normal;', // \%, \& etc.
+            11 => 'color: #E00000; font-weight: normal;', // \@keyword
+            12 => 'color: #800000; font-weight: normal;', // \keyword
         ),
         'SCRIPT' => array(
             )
@@ -90,92 +113,64 @@
     'REGEXPS' => array(
         // Math inner
         1 => array(
-            GESHI_SEARCH => "(\\\\begin\\{)(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|alignat|flalign )(\\})(.*)(\\\\end\\{)(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|alignat|flalign)(\\})",
-            GESHI_REPLACE => '\\4',
-            GESHI_MODIFIERS => 's',
-            GESHI_BEFORE => '\1\2\3',
-            GESHI_AFTER => '\5\6\7'
+            GESHI_SEARCH => "(\\\\begin\\{(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|alignat|flalign)\\})(.*)(\\\\end\\{\\2\\})",
+            GESHI_REPLACE => '\3',
+            GESHI_MODIFIERS => 'Us',
+            GESHI_BEFORE => '\1',
+            GESHI_AFTER => '\4'
             ),
-        //  \keywords
+        // [options]
         2 => array(
-            GESHI_SEARCH => "(\\\\)([a-zA-Z]+)",
-            GESHI_REPLACE => '\1\2',
-            GESHI_MODIFIERS => '',
+            GESHI_SEARCH => "(?<=\[).+(?=\])",
+            GESHI_REPLACE => '\0',
+            GESHI_MODIFIERS => 'Us',
             GESHI_BEFORE => '',
             GESHI_AFTER => ''
             ),
-        // {parameters}
+        // Math mode with $ ... $
         3 => array(
-            GESHI_SEARCH => "(\\{)(.*)(\\})",
-            GESHI_REPLACE => '\2',
-            GESHI_MODIFIERS => '',
-            GESHI_BEFORE => '\1',
-            GESHI_AFTER => '\3'
-            ),
-        // [Option]
-        4 => array(
-            GESHI_SEARCH => "(\[)(.+)(\])",
-            GESHI_REPLACE => '\2',
-            GESHI_MODIFIERS => '',
-            GESHI_BEFORE => '\1',
-            GESHI_AFTER => '\3'
-            ),
-        // Mathe  mit $ ... $
-        5 => array(
-            GESHI_SEARCH => "(\\$)(.+)(\\$)",
-            GESHI_REPLACE => '\1\2\3',
-            GESHI_MODIFIERS => '',
+            GESHI_SEARCH => "\\$.+\\$",
+            GESHI_REPLACE => '\0',
+            GESHI_MODIFIERS => 'Us',
             GESHI_BEFORE => '',
             GESHI_AFTER => ''
             ),
-        // Structure begin
-        6 => array(
-            GESHI_SEARCH => "(\\\\begin)(?=[^a-zA-Z])",
-            GESHI_REPLACE => '\\1',
-            GESHI_MODIFIERS => '',
-            GESHI_BEFORE => '',
-            GESHI_AFTER => '\\2'
-            ),
-        // Structure end
-        7 => array(
-            GESHI_SEARCH => "(\\\\end)(?=[^a-zA-Z])",
-            GESHI_REPLACE => '\\1',
-            GESHI_MODIFIERS => '',
-            GESHI_BEFORE => '',
-            GESHI_AFTER => '\\2'
+        // Structure: Label
+        4 => "\\\\(?:label|pageref|ref|cite)(?=[^a-zA-Z])",
+        // Structure: sections
+        5 => array(
+            GESHI_SEARCH => "(\\\\(?:part|chapter|(?:sub){0,2}section|(?:sub)?paragraph|addpart|addchap|addsec)\*?\\{)(.*)(?=\\})",
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'U',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
             ),
-        //Structure: Label
-        8 => array(
-            GESHI_SEARCH => "(\\\\)(label|pageref|ref|cite)(?=[^a-zA-Z])",
-            GESHI_REPLACE => '\\1\\2',
-            GESHI_MODIFIERS => '',
-            GESHI_BEFORE => '',
-            GESHI_AFTER => '\\3'
+        // Structure: sections
+        6 => "\\\\(?:part|chapter|(?:sub){0,2}section|(?:sub)?paragraph|addpart|addchap|addsec)\*?(?=[^a-zA-Z])",
+        // environment \begin{} and \end{} (i.e. the things inside the {})
+        7 => array(
+            GESHI_SEARCH => "(\\\\(?:begin|end)\\{)(.*)(?=\\})",
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'U',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
             ),
-// Structure: sections
-/*9 => array(
-            GESHI_SEARCH => "(\\\\)(part|chapter|section|subsection|subsubsection|paragraph|subparagraph)(?=[^a-zA-Z])",
-            GESHI_REPLACE => '\1\\2',
-            GESHI_MODIFIERS => '',
-            GESHI_BEFORE => '',
-            GESHI_AFTER => '\\3'
-            ),*/
-// environment begin
-10 => array(
-            GESHI_SEARCH => "(\\\\begin)(\\{)(.*)(\\})",
-            GESHI_REPLACE => '\\3',
-            GESHI_MODIFIERS => '',
+        // Structure \begin and \end
+        8 => "\\\\(?:end|begin)(?=[^a-zA-Z])",
+        // {parameters}
+        9 => array(
+            GESHI_SEARCH => "(?<=\\{)(?!<\|!REG3XP5!>).*(?=\\})",
+            GESHI_REPLACE => '\0',
+            GESHI_MODIFIERS => 'Us',
             GESHI_BEFORE => '',
             GESHI_AFTER => ''
             ),
-// environment end
-11 => array(
-            GESHI_SEARCH => "(\\\\end)(\\{)(.*)(\\})",
-            GESHI_REPLACE => '\\3',
-            GESHI_MODIFIERS => '',
-            GESHI_BEFORE => '',
-            GESHI_AFTER => ''
-            ),
+        // \%, \& usw.
+        10 => "\\\\(?:[_$%]|&amp;)",
+        //  \@keywords
+        11 => "(?<!<\|!REG3XP[8]!>)\\\\@[a-zA-Z]+\*?",
+        // \keywords
+        12 => "(?<!<\|!REG3XP[468]!>)\\\\[a-zA-Z]+\*?",
 
 // ---------------------------------------------
         ),
@@ -183,7 +178,16 @@
     'SCRIPT_DELIMITERS' => array(
         ),
     'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'COMMENTS' => array(
+            'DISALLOWED_BEFORE' => '\\'
+        ),
+        'ENABLE_FLAGS' => array(
+            'NUMBERS' => GESHI_NEVER,
+            'BRACKETS' => GESHI_NEVER
         )
+    )
 );
 
 ?>
--- a/plugins/geshi/geshi/lisp.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/lisp.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * --------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/08/30
  *
  * Generic Lisp language file for GeSHi.
@@ -42,92 +42,103 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Lisp',
-	'COMMENT_SINGLE' => array(1 => ';'),
-	'COMMENT_MULTI' => array(';|' => '|;'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-		  'not','defun','princ',
-		  'eval','apply','funcall','quote','identity','function',
-		  'complement','backquote','lambda','set','setq','setf',
-		  'defun','defmacro','gensym','make','symbol','intern',
-		  'symbol','name','symbol','value','symbol','plist','get',
-		  'getf','putprop','remprop','hash','make','array','aref',
-		  'car','cdr','caar','cadr','cdar','cddr','caaar','caadr','cadar',
-		  'caddr','cdaar','cdadr','cddar','cdddr','caaaar','caaadr',
-		  'caadar','caaddr','cadaar','cadadr','caddar','cadddr',
-		  'cdaaar','cdaadr','cdadar','cdaddr','cddaar','cddadr',
-		  'cdddar','cddddr','cons','list','append','reverse','last','nth',
-		  'nthcdr','member','assoc','subst','sublis','nsubst',
-		  'nsublis','remove','length','list','length',
-		  'mapc','mapcar','mapl','maplist','mapcan','mapcon','rplaca',
-		  'rplacd','nconc','delete','atom','symbolp','numberp',
-		  'boundp','null','listp','consp','minusp','zerop','plusp',
-		  'evenp','oddp','eq','eql','equal','cond','case','and','or',
-		  'let','l','if','prog','prog1','prog2','progn','go','return',
-		  'do','dolist','dotimes','catch','throw','error','cerror','break',
-		  'continue','errset','baktrace','evalhook','truncate','float',
-		  'rem','min','max','abs','sin','cos','tan','expt','exp','sqrt',
-		  'random','logand','logior','logxor','lognot','bignums','logeqv',
-		  'lognand','lognor','logorc2','logtest','logbitp','logcount',
-		  'integer','length','nil'
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')', '{', '}', '[', ']', '!', '%', '^', '&', '/','+','-','*','=','<','>',';','|'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			0 => 'color: #555;',
+    'LANG_NAME' => 'Lisp',
+    'COMMENT_SINGLE' => array(1 => ';'),
+    'COMMENT_MULTI' => array(';|' => '|;'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'not','defun','princ','when',
+            'eval','apply','funcall','quote','identity','function',
+            'complement','backquote','lambda','set','setq','setf',
+            'defmacro','gensym','make','symbol','intern',
+            'name','value','plist','get',
+            'getf','putprop','remprop','hash','array','aref',
+            'car','cdr','caar','cadr','cdar','cddr','caaar','caadr','cadar',
+            'caddr','cdaar','cdadr','cddar','cdddr','caaaar','caaadr',
+            'caadar','caaddr','cadaar','cadadr','caddar','cadddr',
+            'cdaaar','cdaadr','cdadar','cdaddr','cddaar','cddadr',
+            'cdddar','cddddr','cons','list','append','reverse','last','nth',
+            'nthcdr','member','assoc','subst','sublis','nsubst',
+            'nsublis','remove','length',
+            'mapc','mapcar','mapl','maplist','mapcan','mapcon','rplaca',
+            'rplacd','nconc','delete','atom','symbolp','numberp',
+            'boundp','null','listp','consp','minusp','zerop','plusp',
+            'evenp','oddp','eq','eql','equal','cond','case','and','or',
+            'let','l','if','prog','prog1','prog2','progn','go','return',
+            'do','dolist','dotimes','catch','throw','error','cerror','break',
+            'continue','errset','baktrace','evalhook','truncate','float',
+            'rem','min','max','abs','sin','cos','tan','expt','exp','sqrt',
+            'random','logand','logior','logxor','lognot','bignums','logeqv',
+            'lognand','lognor','logorc2','logtest','logbitp','logcount',
+            'integer','nil','parse-integer'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']',
+        '!', '%', '^', '&',
+        ' + ',' - ',' * ',' / ',
+        '=','<','>',
+        '.',':',',',';',
+        '|'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            0 => 'color: #555;',
             1 => 'color: #555;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-            '::', ':'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        '::', ':'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'OOLANG' => array(
+            'MATCH_AFTER' => '[a-zA-Z][a-zA-Z0-9_\-]*'
+            )
+        )
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/lolcode.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,147 @@
+<?php
+/*************************************************************************************
+ * lolcode.php
+ * ----------
+ * Author: Benny Baumann (BenBE@geshi.org)
+ * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.2
+ * Date Started: 2009/10/31
+ *
+ * LOLcode language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/31 (1.0.8.1)
+ *   -  First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+$language_data = array (
+    'LANG_NAME' => 'LOLcode',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(),
+    'COMMENT_REGEXP' => array(
+        1 => "/\bBTW\b.*$/im",
+        2 => "/(^|\b)(?:OBTW\b.+?\bTLDR|LOL\b.+?\/LOL)(\b|$)/si"
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(
+        1 => '/:[)>o":]/',
+        2 => '/:\([\da-f]+\)/i',
+        3 => '/:\{\w+\}/i',
+        4 => '/:\[\w+\]/i',
+        ),
+    'KEYWORDS' => array(
+        //Statements
+        1 => array(
+            'VISIBLE', 'HAI', 'KTHX', 'KTHXBYE', 'SMOOSH', 'GIMMEH', 'PLZ',
+            'ON', 'INVISIBLE', 'R', 'ITZ', 'GTFO', 'COMPLAIN', 'GIMME',
+
+            'OPEN', 'FILE', 'I HAS A', 'AWSUM THX', 'O NOES', 'CAN', 'HAS', 'HAZ',
+            'HOW DOES I', 'IF U SAY SO', 'FOUND YR', 'BORROW', 'OWN', 'ALONG',
+            'WITH', 'WIT', 'LOOK', 'AT', 'AWSUM', 'THX'
+            ),
+        //Conditionals
+        2 => array(
+            'IZ', 'YARLY', 'NOWAI', 'WTF?', 'MEBBE', 'OMG', 'OMGWTF',
+            'ORLY?', 'OF', 'NOPE', 'SO', 'IM', 'MAI',
+
+            'O RLY?', 'SUM', 'BOTH SAEM', 'DIFFRINT', 'BOTH', 'EITHER', 'WON',
+            'DIFF', 'PRODUKT', 'QUOSHUNT', 'MOD', 'MKAY', 'OK', 'THING',
+            'BIGNESS'
+            ),
+        //Repetition
+        3 => array(
+            'IN', 'OUTTA', 'LOOP', 'WHILE'
+            ),
+        //Operators \Math
+        4 => array(
+            'AN', 'AND', 'NOT', 'UP', 'YR', 'UPPIN', 'NERF', 'NERFIN', 'NERFZ',
+            'SMASHING', 'UR', 'KINDA', 'LIKE', 'SAEM', 'BIG', 'SMALL',
+            'BIGGR', 'SMALLR', 'BIGGER', 'SMALLER', 'GOOD', 'CUTE', 'THAN'
+            )
+        ),
+    'SYMBOLS' => array(
+        '.', ',', '?',
+        '!!'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #008000;',
+            2 => 'color: #000080;',
+            3 => 'color: #000080;',
+            4 => 'color: #800000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; style: italic;',
+            2 => 'color: #666666; style: italic;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/lotusformulas.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,318 @@
+<?php
+/*************************************************************************************
+ * lotusformulas.php
+ * ------------------------
+ * Author: Richard Civil (info@richardcivil.net)
+ * Copyright: (c) 2008 Richard Civil (info@richardcivil.net), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/04/12
+ *
+ * @Formula/@Command language file for GeSHi.
+ *
+ * @Formula/@Command source: IBM Lotus Notes/Domino 8 Designer Help
+ *
+ * CHANGES
+ * -------
+ * 2008/04/12 (1.0.7.22)
+ *  -  First Release
+ *
+ * TODO (updated 2008/04/12)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Lotus Notes @Formulas',
+    'COMMENT_SINGLE' => array(1 => "'"),
+    'COMMENT_MULTI' => array('REM' => ';'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array (
+            '[ZoomPreview]', '[WorkspaceStackReplicaIcons]',
+            '[WorkspaceProperties]', '[WindowWorkspace]',
+            '[WindowTile]', '[WindowRestore]', '[WindowNext]',
+            '[WindowMinimizeAll]', '[WindowMinimize]', '[WindowMaximizeAll]',
+            '[WindowMaximize]', '[WindowCascade]', '[ViewSwitchForm]',
+            '[ViewShowUnread]', '[ViewShowServerNames]', '[ViewShowSearchBar]',
+            '[ViewShowRuler]', '[ViewShowPageBreaks]', '[ViewShowOnlyUnread]',
+            '[ViewShowOnlySelected]', '[ViewShowOnlySearchResults]',
+            '[ViewShowOnlyCategories]', '[ViewShowObject]',
+            '[ViewShowFieldHelp]', '[ViewRenamePerson]', '[ViewRefreshUnread]',
+            '[ViewRefreshFields]', '[ViewNavigatorsNone]',
+            '[ViewNavigatorsFolders]', '[ViewMoveName]', '[ViewHorizScrollbar]',
+            '[ViewExpandWithChildren]', '[ViewExpandAll]', '[ViewExpand]',
+            '[ViewCollapseAll]', '[ViewCollapse]', '[ViewChange]',
+            '[ViewCertify]', '[ViewBesideFolders]', '[ViewBelowFolders]',
+            '[ViewArrangeIcons]', '[V3EditPrevField]', '[V3EditNextField]',
+            '[UserIDSwitch]', '[UserIDSetPassword]', '[UserIDMergeCopy]',
+            '[UserIDInfo]', '[UserIDEncryptionKeys]', '[UserIDCreateSafeCopy]',
+            '[UserIDClearPassword]', '[UserIDCertificates]',
+            '[ToolsUserLogoff]', '[ToolsSpellCheck]', '[ToolsSmartIcons]',
+            '[ToolsSetupUserSetup]', '[ToolsSetupPorts]', '[ToolsSetupMail]',
+            '[ToolsSetupLocation]', '[ToolsScanUnreadSelected]',
+            '[ToolsScanUnreadPreferred]', '[ToolsScanUnreadChoose]',
+            '[ToolsRunMacro]', '[ToolsRunBackgroundMacros]', '[ToolsReplicate]',
+            '[ToolsRefreshSelectedDocs]', '[ToolsRefreshAllDocs]',
+            '[ToolsMarkSelectedUnread]', '[ToolsMarkSelectedRead]',
+            '[ToolsMarkAllUnread]', '[ToolsMarkAllRead]', '[ToolsHangUp]',
+            '[ToolsCategorize]', '[ToolsCall]', '[TextUnderline]',
+            '[TextSpacingSingle]', '[TextSpacingOneAndaHalf]',
+            '[TextSpacingDouble]', '[TextSetFontSize]', '[TextSetFontFace]',
+            '[TextSetFontColor]', '[TextReduceFont]', '[TextPermanentPen]',
+            '[TextParagraphStyles]', '[TextParagraph]', '[TextOutdent]',
+            '[TextNumbers]', '[TextNormal]', '[TextItalic]', '[TextFont]',
+            '[TextEnlargeFont]', '[TextCycleSpacing]', '[TextBullet]',
+            '[TextBold]', '[TextAlignRight]', '[TextAlignNone]',
+            '[TextAlignLeft]', '[TextAlignFull]', '[TextAlignCenter]',
+            '[SwitchView]', '[SwitchForm]', '[StyleCycleKey]',
+            '[SmartIconsNextSet]', '[SmartIconsFloating]', '[ShowProperties]',
+            '[ShowHidePreviewPane]', '[ShowHideParentPreview]',
+            '[ShowHideLinkPreview]', '[ShowHideIMContactList]',
+            '[SetCurrentLocation]', '[SendInstantMessage]',
+            '[SectionRemoveHeader]', '[SectionProperties]',
+            '[SectionExpandAll]', '[SectionExpand]', '[SectionDefineEditors]',
+            '[SectionCollapseAll]', '[SectionCollapse]', '[RunScheduledAgents]',
+            '[RunAgent]', '[ReplicatorStop]', '[ReplicatorStart]',
+            '[ReplicatorSendReceiveMail]', '[ReplicatorSendMail]',
+            '[ReplicatorReplicateWithServer]', '[ReplicatorReplicateSelected]',
+            '[ReplicatorReplicateNext]', '[ReplicatorReplicateHigh]',
+            '[Replicator]', '[RenameDatabase]', '[RemoveFromFolder]',
+            '[RemoteDebugLotusScript]', '[ReloadWindow]', '[RefreshWindow]',
+            '[RefreshParentNote]', '[RefreshHideFormulas]', '[RefreshFrame]',
+            '[PublishDatabase]', '[PictureProperties]', '[PasteBitmapAsObject]',
+            '[PasteBitmapAsBackground]', '[OpenView]', '[OpenPage]',
+            '[OpenNavigator]', '[OpenInNewWindow]', '[OpenHelpDocument]',
+            '[OpenFrameset]', '[OpenDocument]', '[OpenCalendar]',
+            '[ObjectProperties]', '[ObjectOpen]', '[ObjectDisplayAs]',
+            '[NavPrevUnread]', '[NavPrevSelected]', '[NavPrevMain]',
+            '[NavPrev]', '[NavNextUnread]', '[NavNextSelected]',
+            '[NavNextMain]', '[NavNext]', '[NavigatorTest]',
+            '[NavigatorProperties]', '[NavigateToBacklink]',
+            '[NavigatePrevUnread]', '[NavigatePrevSelected]',
+            '[NavigatePrevMain]', '[NavigatePrevHighlight]', '[NavigatePrev]',
+            '[NavigateNextUnread]', '[NavigateNextSelected]',
+            '[NavigateNextMain]', '[NavigateNextHighlight]', '[NavigateNext]',
+            '[MoveToTrash]', '[MailSendPublicKey]', '[MailSendEncryptionKey]',
+            '[MailSendCertificateRequest]', '[MailSend]', '[MailScanUnread]',
+            '[MailRequestNewPublicKey]', '[MailRequestNewName]',
+            '[MailRequestCrossCert]', '[MailOpen]', '[MailForwardAsAttachment]',
+            '[MailForward]', '[MailComposeMemo]', '[MailAddress]',
+            '[LayoutProperties]', '[LayoutElementSendToBack]',
+            '[LayoutElementProperties]', '[LayoutElementBringToFront]',
+            '[LayoutAddText]', '[LayoutAddGraphic]', '[InsertSubform]',
+            '[HotspotProperties]', '[HotspotClear]', '[HelpUsingDatabase]',
+            '[HelpAboutNotes]', '[HelpAboutDatabase]', '[GoUpLevel]',
+            '[FormTestDocument]', '[FormActions]', '[FolderRename]',
+            '[FolderProperties]', '[FolderMove]', '[FolderExpandWithChildren]',
+            '[FolderExpandAll]', '[FolderExpand]', '[FolderDocuments]',
+            '[FolderCustomize]', '[FolderCollapse]', '[Folder]',
+            '[FindFreeTimeDialog]', '[FileSaveNewVersion]', '[FileSave]',
+            '[FilePrintSetup]', '[FilePrint]', '[FilePageSetup]',
+            '[FileOpenDBRepID]', '[FileOpenDatabase]', '[FileNewReplica]',
+            '[FileNewDatabase]', '[FileImport]', '[FileFullTextUpdate]',
+            '[FileFullTextInfo]', '[FileFullTextDelete]',
+            '[FileFullTextCreate]', '[FileExport]', '[FileExit]',
+            '[FileDatabaseUseServer]', '[FileDatabaseRemove]',
+            '[FileDatabaseInfo]', '[FileDatabaseDelete]', '[FileDatabaseCopy]',
+            '[FileDatabaseCompact]', '[FileDatabaseACL]', '[FileCloseWindow]',
+            '[ExitNotes]', '[Execute]', '[ExchangeUnreadMarks]', '[EmptyTrash]',
+            '[EditUp]', '[EditUntruncate]', '[EditUndo]', '[EditTop]',
+            '[EditTableInsertRowColumn]', '[EditTableFormat]',
+            '[EditTableDeleteRowColumn]', '[EditShowHideHiddenChars]',
+            '[EditSelectByDate]', '[EditSelectAll]', '[EditRight]',
+            '[EditRestoreDocument]', '[EditResizePicture]',
+            '[EditQuoteSelection]', '[EditProfileDocument]', '[EditProfile]',
+            '[EditPrevField]', '[EditPhoneNumbers]', '[EditPasteSpecial]',
+            '[EditPaste]', '[EditOpenLink]', '[EditNextField]',
+            '[EditMakeDocLink]', '[EditLocations]', '[EditLinks]', '[EditLeft]',
+            '[EditInsertText]', '[EditInsertTable]', '[EditInsertPopup]',
+            '[EditInsertPageBreak]', '[EditInsertObject]',
+            '[EditInsertFileAttachment]', '[EditInsertButton]',
+            '[EditIndentFirstLine]', '[EditIndent]', '[EditHorizScrollbar]',
+            '[EditHeaderFooter]', '[EditGotoField]', '[EditFindNext]',
+            '[EditFindInPreview]', '[EditFind]', '[EditEncryptionKeys]',
+            '[EditDown]', '[EditDocument]', '[EditDetach]', '[EditDeselectAll]',
+            '[EditCut]', '[EditCopy]', '[EditClear]', '[EditButton]',
+            '[EditBottom]', '[DiscoverFolders]', '[Directories]',
+            '[DialingRules]', '[DesignViewSelectFormula]', '[DesignViews]',
+            '[DesignViewNewColumn]', '[DesignViewFormFormula]',
+            '[DesignViewEditActions]', '[DesignViewColumnDef]',
+            '[DesignViewAttributes]', '[DesignViewAppendColumn]',
+            '[DesignSynopsis]', '[DesignSharedFields]', '[DesignReplace]',
+            '[DesignRefresh]', '[DesignMacros]', '[DesignIcon]',
+            '[DesignHelpUsingDocument]', '[DesignHelpAboutDocument]',
+            '[DesignFormWindowTitle]', '[DesignFormUseField]',
+            '[DesignFormShareField]', '[DesignForms]', '[DesignFormNewField]',
+            '[DesignFormFieldDef]', '[DesignFormAttributes]',
+            '[DesignDocumentInfo]', '[DebugLotusScript]',
+            '[DatabaseReplSettings]', '[DatabaseDelete]', '[CreateView]',
+            '[CreateTextbox]', '[CreateSubForm]', '[CreateSection]',
+            '[CreateRectangularHotspot]', '[CreateRectangle]',
+            '[CreatePolyline]', '[CreatePolygon]', '[CreateNavigator]',
+            '[CreateLayoutRegion]', '[CreateForm]', '[CreateFolder]',
+            '[CreateEllipse]', '[CreateControlledAccessSection]',
+            '[CreateAgent]', '[CreateAction]', '[CopySelectedAsTable]',
+            '[ComposeWithReference]', '[Compose]', '[CloseWindow]', '[Clear]',
+            '[ChooseFolders]', '[CalendarGoTo]', '[CalendarFormat]',
+            '[AttachmentView]', '[AttachmentProperties]', '[AttachmentLaunch]',
+            '[AttachmentDetachAll]', '[AgentTestRun]', '[AgentSetServerName]',
+            '[AgentRun]', '[AgentLog]', '[AgentEnableDisable]', '[AgentEdit]',
+            '[AdminTraceConnection]', '[AdminStatisticsConfig]',
+            '[AdminSendMailTrace]', '[AdminRemoteConsole]',
+            '[AdminRegisterUser]', '[AdminRegisterServer]',
+            '[AdminRegisterFromFile]', '[AdminOutgoingMail]',
+            '[AdminOpenUsersView]', '[AdminOpenStatistics]',
+            '[AdminOpenServersView]', '[AdminOpenServerLog]',
+            '[AdminOpenGroupsView]', '[AdminOpenCertLog]', '[AdminOpenCatalog]',
+            '[AdminOpenAddressBook]', '[AdminNewOrgUnit]',
+            '[AdminNewOrganization]', '[Administration]',
+            '[AdminIDFileSetPassword]', '[AdminIDFileExamine]',
+            '[AdminIDFileClearPassword]', '[AdminDatabaseQuotas]',
+            '[AdminDatabaseAnalysis]', '[AdminCrossCertifyKey]',
+            '[AdminCrossCertifyIDFile]', '[AdminCreateGroup]', '[AdminCertify]',
+            '[AddToIMContactList]', '[AddDatabaseRepID]', '[AddDatabase]',
+            '[AddBookmark]'
+            ),
+        2 => array(
+            'SELECT', 'FIELD', 'ENVIRONMENT', 'DEFAULT', '@Zone ', '@Yesterday',
+            '@Yes', '@Year', '@Word', '@Wide', '@While', '@Weekday',
+            '@WebDbName', '@ViewTitle', '@ViewShowThisUnread', '@Version',
+            '@VerifyPassword', '@ValidateInternetAddress', '@V4UserAccess',
+            '@V3UserName', '@V2If', '@UserRoles', '@UserPrivileges',
+            '@UserNamesList', '@UserNameLanguage', '@UserName', '@UserAccess',
+            '@UrlQueryString', '@URLOpen', '@URLHistory', '@URLGetHeader',
+            '@URLEncode', '@URLDecode', '@UpperCase', '@UpdateFormulaContext',
+            '@Unique', '@UndeleteDocument', '@Unavailable', '@True', '@Trim',
+            '@Transform', '@ToTime', '@ToNumber', '@Tomorrow', '@Today',
+            '@TimeZoneToText', '@TimeToTextInZone', '@TimeMerge', '@Time',
+            '@ThisValue', '@ThisName', '@TextToTime', '@TextToNumber', '@Text',
+            '@TemplateVersion', '@Tan', '@Sum', '@Success', '@Subset',
+            '@StatusBar', '@Sqrt', '@Soundex', '@Sort', '@Sin', '@Sign',
+            '@SetViewInfo', '@SetTargetFrame', '@SetProfileField',
+            '@SetHTTPHeader', '@SetField', '@SetEnvironment', '@SetDocField',
+            '@Set', '@ServerName', '@ServerAccess', '@Select', '@Second',
+            '@Round', '@RightBack', '@Right', '@Return', '@Responses',
+            '@ReplicaID', '@ReplaceSubstring', '@Replace', '@Repeat',
+            '@RegQueryValue', '@RefreshECL', '@Random', '@ProperCase',
+            '@Prompt', '@Power', '@PostedCommand', '@PolicyIsFieldLocked',
+            '@Platform', '@PickList', '@Pi', '@PasswordQuality', '@Password',
+            '@OrgDir', '@OptimizeMailAddress', '@OpenInNewWindow', '@Now',
+            '@Nothing', '@NoteID', '@No', '@NewLine', '@Narrow', '@NameLookup',
+            '@Name', '@Month', '@Modulo', '@Modified', '@Minute', '@Min',
+            '@MiddleBack', '@Middle', '@Member', '@Max', '@Matches',
+            '@MailSignPreference', '@MailSend', '@MailSavePreference',
+            '@MailEncryptSentPreference', '@MailEncryptSavedPreference',
+            '@MailDbName', '@LowerCase', '@Log', '@Locale', '@Ln', '@Like',
+            '@Length', '@LeftBack', '@Left', '@LDAPServer', '@LaunchApp',
+            '@LanguagePreference', '@Keywords', '@IsVirtualizedDirectory',
+            '@IsValid', '@IsUsingJavaElement', '@IsUnavailable', '@IsTime',
+            '@IsText', '@IsResponseDoc', '@IsNumber', '@IsNull', '@IsNotMember',
+            '@IsNewDoc', '@IsModalHelp', '@IsMember', '@IsExpandable',
+            '@IsError', '@IsEmbeddedInsideWCT', '@IsDocTruncated',
+            '@IsDocBeingSaved', '@IsDocBeingRecalculated', '@IsDocBeingMailed',
+            '@IsDocBeingLoaded', '@IsDocBeingEdited', '@IsDB2', '@IsCategory',
+            '@IsAvailable', '@IsAppInstalled', '@IsAgentEnabled', '@Integer',
+            '@InheritedDocumentUniqueID', '@Implode', '@IfError', '@If',
+            '@Hour', '@HashPassword', '@HardDeleteDocument', '@GetViewInfo',
+            '@GetProfileField', '@GetPortsList', '@GetIMContactListGroupNames',
+            '@GetHTTPHeader', '@GetFocusTable', '@GetField', '@GetDocField',
+            '@GetCurrentTimeZone', '@GetAddressBooks', '@FormLanguage', '@For',
+            '@FontList', '@FloatEq', '@FileDir', '@False', '@Failure',
+            '@Explode', '@Exp', '@Eval', '@Error', '@Environment', '@Ends',
+            '@EnableAlarms', '@Elements', '@EditUserECL', '@EditECL',
+            '@DoWhile', '@Domain', '@DocumentUniqueID', '@DocSiblings',
+            '@DocParentNumber', '@DocOmmittedLength', '@DocNumber', '@DocMark',
+            '@DocLock', '@DocLevel', '@DocLength', '@DocFields',
+            '@DocDescendants', '@DocChildren', '@Do', '@DialogBox',
+            '@DeleteField', '@DeleteDocument', '@DDETerminate', '@DDEPoke',
+            '@DDEInitiate', '@DDEExecute', '@DbTitle', '@DbName', '@DbManager',
+            '@DbLookup', '@DbExists', '@DbCommand', '@DbColumn', '@DB2Schema',
+            '@Day', '@Date', '@Created', '@Count', '@Cos', '@Contains',
+            '@ConfigFile', '@Compare', '@Command', '@ClientType',
+            '@CheckFormulaSyntax', '@CheckAlarms', '@Char', '@Certificate',
+            '@BusinessDays', '@BrowserInfo', '@Begins', '@Author',
+            '@Attachments', '@AttachmentNames', '@AttachmentModifiedTimes',
+            '@AttachmentLengths', '@ATan2', '@ATan', '@ASin', '@Ascii',
+            '@AllDescendants', '@AllChildren', '@All', '@AdminECLIsLocked',
+            '@Adjust', '@AddToFolder', '@ACos', '@Accessed', '@AbstractSimple',
+            '@Abstract', '@Abs'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #800000;',
+            2 => 'color: #0000FF;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008000;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #FF00FF;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #FF00FF;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #0000AA;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 2
+    );
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/lotusscript.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,191 @@
+<?php
+/**
+ * lotusscript.php
+ * ------------------------
+ * Author: Richard Civil (info@richardcivil.net)
+ * Copyright: (c) 2008 Richard Civil (info@richardcivil.net), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/04/12
+ *
+ * LotusScript language file for GeSHi.
+ *
+ * LotusScript source: IBM Lotus Notes/Domino 8 Designer Help
+ *
+ * CHANGES
+ * -------
+ * 2008/04/12 (1.0.7.22)
+ *     -  First Release
+ *
+ * TODO (2008/04/12)
+ * -----------------
+ *
+ *************************************************************************************
+ *
+ *   This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'LotusScript',
+    'COMMENT_SINGLE' => array(1 => "'"),
+    'COMMENT_MULTI' => array('%REM' => '%END REM'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"' , "|"),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array (
+            'Yield', 'Year', 'Xor', 'Write', 'With', 'Width', 'While', 'Wend',
+            'Weekday', 'VarType', 'Variant', 'Val', 'UString', 'UString$',
+            'UseLSX', 'Use', 'Until', 'Unlock', 'Unicode', 'Uni', 'UChr',
+            'UChr$', 'UCase', 'UCase$', 'UBound', 'TypeName', 'Type', 'TRUE',
+            'Trim', 'Trim$', 'Today', 'To', 'TimeValue', 'TimeSerial', 'Timer',
+            'TimeNumber', 'Time', 'Time$', 'Then', 'Text', 'Tan', 'Tab', 'Sub',
+            'StrToken', 'StrToken$', 'StrRightBack', 'StrRightBack$',
+            'StrRight', 'StrRight$', 'StrLeftBack', 'StrLeftBack$', 'StrLeft',
+            'StrLeft$', 'String', 'String$', 'StrConv', 'StrCompare', 'StrComp',
+            'Str', 'Str$', 'Stop', 'Step', 'Static', 'Sqr', 'Split', 'Spc',
+            'Space', 'Space$', 'Sleep', 'Single', 'Sin', 'Shell', 'Shared',
+            'Sgn', 'SetFileAttr', 'SetAttr', 'Set', 'SendKeys', 'Select',
+            'Seek', 'Second', 'RTrim', 'RTrim$', 'RSet', 'Round', 'Rnd',
+            'RmDir', 'RightC', 'RightC$', 'RightBP', 'RightBP$', 'RightB',
+            'RightB$', 'Right', 'Right$', 'Return', 'Resume', 'Reset',
+            'Replace', 'Remove', 'Rem', 'ReDim', 'Read', 'Randomize',
+            'Random', 'Put', 'Public', 'Property', 'Private', 'Print',
+            'Preserve', 'Pitch', 'PI', 'Output', 'Or', 'Option', 'Open', 'On',
+            'Oct', 'Oct$', 'NULL', 'Now', 'NOTHING', 'Not', 'NoPitch', 'NoCase',
+            'Next', 'New', 'Name', 'MsgBox', 'Month', 'Mod', 'MkDir', 'Minute',
+            'MidC', 'MidC$', 'MidBP', 'MidBP$', 'MidB', 'MidB$', 'Mid', 'Mid$',
+            'MessageBox', 'Me', 'LTrim', 'LTrim$', 'LSServer', 'LSI_Info',
+            'LSet', 'Loop', 'Long', 'Log', 'LOF', 'Lock', 'LOC', 'LMBCS',
+            'ListTag', 'List', 'Line', 'Like', 'Lib', 'Let', 'LenC', 'LenBP',
+            'LenB', 'Len', 'LeftC', 'LeftC$', 'LeftBP', 'LeftBP$', 'LeftB',
+            'LeftB$', 'Left', 'Left$', 'LCase', 'LCase$', 'LBound', 'Kill',
+            'Join', 'IsUnknown', 'IsScalar', 'IsObject', 'IsNumeric', 'IsNull',
+            'IsList', 'IsEmpty', 'IsElement', 'IsDate', 'IsArray', 'IsA', 'Is',
+            'Integer', 'Int', 'InStrC', 'InStrBP', 'InStrB', 'InStr', 'InputBP',
+            'InputBP$', 'InputBox', 'InputBox$', 'InputB', 'InputB$', 'Input',
+            'Input$', 'In', 'IMSetMode', 'Implode', 'Implode$', 'Imp',
+            'IMEStatus', 'If', 'Hour', 'Hex', 'Hex$', 'Goto', 'GoSub',
+            'GetThreadInfo', 'GetFileAttr', 'GetAttr', 'Get', 'Function',
+            'FullTrim', 'From', 'FreeFile', 'Fraction', 'Format', 'Format$',
+            'ForAll', 'For', 'Fix', 'FileLen', 'FileDateTime', 'FileCopy',
+            'FileAttr', 'FALSE', 'Explicit', 'Exp', 'Exit', 'Execute', 'Event',
+            'Evaluate', 'Error', 'Error$', 'Err', 'Erl', 'Erase', 'Eqv', 'EOF',
+            'Environ', 'Environ$', 'End', 'ElseIf', 'Else', 'Double', 'DoEvents',
+            'Do', 'Dir', 'Dir$', 'Dim', 'DestroyLock', 'Delete', 'DefVar',
+            'DefStr', 'DefSng', 'DefLng', 'DefInt', 'DefDbl', 'DefCur',
+            'DefByte', 'DefBool', 'Declare', 'Day', 'DateValue', 'DateSerial',
+            'DateNumber', 'Date', 'Date$', 'DataType', 'CVDate', 'CVar',
+            'Currency', 'CurDrive', 'CurDrive$', 'CurDir', 'CurDir$', 'CStr',
+            'CSng', 'CreateLock', 'Cos', 'Const', 'Compare', 'Command',
+            'Command$', 'CodeUnlock', 'CodeLockCheck', 'CodeLock', 'Close',
+            'CLng', 'Class', 'CInt', 'Chr', 'Chr$', 'ChDrive', 'ChDir', 'CDbl',
+            'CDat', 'CCur', 'CByte', 'CBool', 'Case', 'Call', 'ByVal', 'Byte',
+            'Boolean', 'Bind', 'Binary', 'Bin', 'Bin$', 'Beep', 'Base', 'Atn2',
+            'Atn', 'ASin', 'Asc', 'As', 'ArrayUnique', 'ArrayReplace',
+            'ArrayGetIndex', 'ArrayAppend', 'Append', 'AppActivate', 'Any',
+            'And', 'Alias', 'ActivateApp', 'ACos', 'Access', 'Abs', '%Include',
+            '%If', '%END', '%ElseIf', '%Else'
+            ),
+        2 => array (
+            'NotesXSLTransformer', 'NotesXMLProcessor', 'NotesViewNavigator',
+            'NotesViewEntryCollection', 'NotesViewEntry', 'NotesViewColumn',
+            'NotesView', 'NotesUIWorkspace', 'NotesUIView', 'NotesUIScheduler',
+            'NotesUIDocument', 'NotesUIDatabase', 'NotesTimer', 'NotesStream',
+            'NotesSession', 'NotesSAXParser', 'NotesSAXException',
+            'NotesSAXAttributeList', 'NotesRichTextTable', 'NotesRichTextTab',
+            'NotesRichTextStyle', 'NotesRichTextSection', 'NotesRichTextRange',
+            'NotesRichTextParagraphStyle', 'NotesRichTextNavigator',
+            'NotesRichTextItem', 'NotesRichTextDocLink',
+            'NotesReplicationEntry', 'NotesReplication', 'NotesRegistration',
+            'NotesOutlineEntry', 'NotesOutline', 'NotesNoteCollection',
+            'NotesNewsLetter', 'NotesName', 'NotesMIMEHeader',
+            'NotesMIMEEntity', 'NotesLog', 'NotesItem', 'NotesInternational',
+            'NotesForm', 'NotesEmbeddedObject', 'NotesDXLImporter',
+            'NotesDXLExporter', 'NotesDOMXMLDeclNode', 'NotesDOMTextNode',
+            'NotesDOMProcessingInstructionNode', 'NotesDOMParser',
+            'NotesDOMNotationNode', 'NotesDOMNodeList', 'NotesDOMNode',
+            'NotesDOMNamedNodeMap', 'NotesDOMEntityReferenceNode',
+            'NotesDOMEntityNode', 'NotesDOMElementNode',
+            'NotesDOMDocumentTypeNode', 'NotesDOMDocumentNode',
+            'NotesDOMDocumentFragmentNode', 'NotesDOMCommentNode',
+            'NotesDOMCharacterDataNote', 'NotesDOMCDATASectionNode',
+            'NotesDOMAttributeNode', 'NotesDocumentCollection', 'NotesDocument',
+            'NotesDbDirectory', 'NotesDateTime', 'NotesDateRange',
+            'NotesDatabase', 'NotesColorObject', 'NotesAgent',
+            'NotesAdministrationProcess', 'NotesACLEntry', 'NotesACL',
+            'Navigator', 'Field', 'Button'
+            )
+        ) ,
+    'SYMBOLS' => array(
+        '(', ')'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000FF;',
+            2 => 'color: #0000EE;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008000;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #000000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #FF00FF;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #0000AA;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #006600;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 2
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/lscript.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,387 @@
+<?php
+/*************************************************************************************
+ * lscript.php
+ * ---------
+ * Author: Arendedwinter (admin@arendedwinter.com)
+ * Copyright: (c) 2008 Beau McGuigan (http://www.arendedwinter.com)
+ * Release Version: 1.0.8.2
+ * Date Started: 15/11/2008
+ *
+ * Lightwave Script language file for GeSHi.
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'LScript',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+    //Yes, I'm aware these are out of order,
+    //I had to rearrange and couldn't be bothered changing the numbers...
+        7 => array(
+            '@data', '@define', '@else', '@end', '@fpdepth', '@if', '@include',
+            '@insert', '@library', '@localipc', '@name', '@save', '@script',
+            '@sequence', '@version', '@warnings'
+            ),
+        1 => array(
+            'break', 'case', 'continue', 'else', 'end', 'false', 'for',
+            'foreach', 'if', 'return', 'switch', 'true', 'while',
+            ),
+        3 => array(
+            'active', 'alertlevel', 'alpha', 'alphaprefix', 'animfilename', 'autokeycreate',
+            'backdroptype', 'blue', 'boxthreshold', 'button',
+            'channelsvisible', 'childrenvisible', 'compfg', 'compbg', 'compfgalpha',
+            'coneangles', 'cosine', 'count', 'ctl', 'curFilename', 'curFrame',
+            'currenttime', 'curTime', 'curType',
+            'depth', 'diffshade', 'diffuse', 'dimensions', 'displayopts', 'dynamicupdate',
+            'end', 'eta',
+            'filename', 'flags', 'fogtype', 'fps', 'frame', 'frameend', 'frameheight',
+            'framestart', 'framestep', 'framewidth',
+            'generalopts', 'genus', 'geometry', 'gNorm', 'goal', 'green',
+            'h', 'hasAlpha', 'height',
+            'id', 'innerlimit', 'isColor',
+            'keyCount', 'keys',
+            'limiteregion', 'locked', 'luminous',
+            'maxsamplesperpixel', 'minsamplesperpixel', 'mirror', 'motionx', 'motiony',
+            'name', 'newFilename', 'newFrame', 'newTime', 'newType', 'null', 'numthreads',
+            'objID', 'oPos', 'outerlimit', 'oXfrm',
+            'parent', 'pixel', 'pixelaspect', 'point', 'points', 'pointcount', 'polNum',
+            'polycount', 'polygon', 'polygons', 'postBehavior', 'preBehavior', 'previewend',
+            'previewstart', 'previewstep',
+            'range', 'rawblue', 'rawgreen', 'rawred', 'rayLength', 'raySource', 'red',
+            'reflectblue', 'reflectgreen', 'reflectred', 'recursiondepth', 'renderend',
+            'renderopts', 'renderstart', 'renderstep', 'rendertype', 'restlength',
+            'rgbprefix', 'roughness',
+            'selected', 'setColor', 'setPattern', 'shading', 'shadow', 'shadows',
+            'shadowtype', 'size', 'source', 'special', 'specshade', 'specular',
+            'spotsize', 'start', 'sx', 'sy', 'sz',
+            'target', 'totallayers', 'totalpoints', 'totalpolygons', 'trans', 'transparency',
+            'type',
+            'value', 'view', 'visible', 'visibility',
+            'w', 'width', 'wNorm', 'wPos', 'wXfrm',
+            'x', 'xoffset',
+            'y', 'yoffset',
+            'z'
+            ),
+        4 => array(
+            'addLayer', 'addParticle', 'alphaspot', 'ambient', 'asAsc', 'asBin',
+            'asInt', 'asNum', 'asStr', 'asVec', 'attach', 'axislocks',
+            'backdropColor', 'backdropRay', 'backdropSqueeze', 'bone', 'blurLength',
+            'close', 'color', 'contains', 'copy', 'createKey',
+            'deleteKey', 'detach', 'drawCircle', 'drawLine', 'drawPoint', 'drawText',
+            'drawTriangle',
+            'edit', 'eof', 'event',
+            'firstChannel', 'firstLayer', 'firstSelect', 'focalLength', 'fogColor',
+            'fogMaxAmount', 'fogMaxDist', 'fogMinAmount', 'fogMinDist',
+            'fovAngles', 'fStop', 'firstChild', 'focalDistance',
+            'get', 'getChannelGroup', 'getEnvelope', 'getForward', 'getKeyBias',
+            'getKeyContinuity', 'getKeyCurve', 'getKeyHermite', 'getKeyTension',
+            'getKeyTime', 'getKeyValue', 'getParticle', 'getPivot', 'getPosition',
+            'getRight', 'getRotation', 'getSelect', 'getScaling', 'getTag', 'getTexture',
+            'getUp', 'getValue', 'getWorldPosition', 'getWorldForward', 'getWorldRight',
+            'getWorldRotation', 'getWorldUp', 'globalBlur', 'globalMask', 'globalResolution',
+            'hasCCEnd', 'hasCCStart',
+            'illuminate', 'indexOf', 'isAscii', 'isAlnum', 'isAlpha', 'isBone',
+            'isCamera', 'isChannel', 'isChannelGroup', 'isCntrl', 'isCurve', 'isDigit',
+            'isEnvelope', 'isImage', 'isInt', 'isLight', 'isLower', 'isMapped', 'isMesh',
+            'isNil', 'isNum', 'IsOpen', 'isOriginal', 'isPrint', 'isPunct', 'isScene',
+            'isSpace', 'isStr', 'isUpper', 'isValid', 'isVMap', 'isVec', 'isXDigit',
+            'keyExists',
+            'layer', 'layerName', 'layerVisible', 'limits', 'line', 'linecount', 'load', 'luma',
+            'next', 'nextLayer', 'nextSelect', 'nextChannel', 'nextChild', 'nl',
+            'offset', 'open',
+            'pack', 'param', 'parse', 'paste', 'persist', 'polygonCount', 'position',
+            'rayCast', 'rayTrace', 'read', 'readByte', 'readInt', 'readNumber',
+            'readDouble', 'readShort', 'readString', 'readVector', 'reduce',
+            'remParticle', 'renderCamera', 'reopen', 'replace', 'reset', 'restParam',
+            'rewind', 'rgb', 'rgbambient', 'rgbcolor', 'rgbspot',
+            'save', 'schemaPosition', 'select', 'set', 'setChannelGroup', 'setKeyBias',
+            'setKeyContinuity', 'setKeyCurve',
+            'setKeyHermite', 'setKeyTension', 'setKeyValue', 'setParticle', 'setPoints',
+            'setTag', 'setValue', 'server', 'serverFlags', 'sortA', 'sortD', 'surface',
+            'trunc',
+            'write', 'writeln', 'writeByte', 'writeData', 'writeNumber', 'writeDouble',
+            'writeShort', 'writeString', 'writeVector',
+            'vertex', 'vertexCount',
+            'zoomFactor'
+            ),
+        2 => array(
+            'abs', 'acos', 'angle', 'append', 'ascii', 'asin', 'atan',
+            'binary',
+            'ceil', 'center', 'chdir', 'clearimage', 'cloned', 'comringattach',
+            'comringdecode', 'comringdetach', 'comringencode', 'comringmsg', 'cos',
+            'cosh', 'cot', 'cross2d', 'cross3d', 'csc', 'ctlstring', 'ctlinteger',
+            'ctlnumber', 'ctlvector', 'ctldistance', 'ctlchoice', 'ctltext',
+            'ctlcolor', 'ctlsurface', 'ctlfont', 'ctlpopup', 'ctledit', 'ctlpercent',
+            'ctlangle', 'ctlrgb', 'ctlhsv', 'ctlcheckbox', 'ctlstate', 'ctlfilename',
+            'ctlbutton', 'ctllistbox', 'ctlslider', 'ctlminislider', 'ctlsep', 'ctlimage',
+            'ctltab', 'ctlallitems', 'ctlmeshitems', 'ctlcameraitems', 'ctllightitems',
+            'ctlboneitems', 'ctlimageitems', 'ctlchannel', 'ctlviewport', 'Control_Management',
+            'ctlpage', 'ctlgroup', 'ctlposition', 'ctlactive', 'ctlvisible', 'ctlalign',
+            'ctlrefresh', 'ctlmenu', 'ctlinfo',
+            'date', 'debug', 'deg', 'dot2d', 'dot3d', 'drawborder', 'drawbox', 'drawcircle',
+            'drawelipse', 'drawerase', 'drawfillcircle', 'drawfillelipse', 'drawline',
+            'drawpixel', 'drawtext', 'drawtextwidth', 'drawtextheight', 'dump',
+            'error', 'exp', 'expose', 'extent',
+            'fac', 'filecrc', 'filedelete', 'fileexists', 'filefind', 'filerename',
+            'filestat', 'floor', 'format', 'frac', 'fullpath',
+            'gamma', 'getdir', 'getenv', 'getfile', 'getfirstitem', 'getsep', 'getvalue',
+            'globalrecall', 'globalstore',
+            'hash', 'hex', 'hostBuild', 'hostVersion', 'hypot',
+            'info', 'integer',
+            'library', 'licenseId', 'lscriptVersion', 'load', 'loadimage', 'log', 'log10',
+            'matchdirs', 'matchfiles', 'max', 'min', 'mkdir', 'mod', 'monend', 'moninit', 'monstep',
+            'nil', 'normalize', 'number',
+            'octal', 'overlayglyph',
+            'parse', 'platform', 'pow',
+            'rad', 'random', 'randu', 'range', 'read', 'readdouble', 'readInt', 'readNumber',
+            'readShort', 'recall', 'regexp', 'reqabort', 'reqbegin', 'reqend', 'reqisopen',
+            'reqkeyboard', 'reqopen', 'reqposition', 'reqpost', 'reqredraw',
+            'reqsize', 'reqresize', 'requpdate', 'rmdir', 'round', 'runningUnder',
+            'save', 'sec', 'select', 'selector', 'setdesc', 'setvalue', 'sin', 'sinh', 'size',
+            'sizeof', 'sleep', 'spawn', 'split', 'sqrt', 'step', 'store', 'string', 'strleft',
+            'strlower', 'strright', 'strsub', 'strupper',
+            'tan', 'tanh', 'targetobject', 'terminate', 'text', 'time',
+            'wait', 'warn', 'when', 'write', 'writeDouble', 'writeInt', 'writeNumber', 'writeShort',
+            'var', 'vector', 'visitnodes', 'vmag',
+            ),
+        5 => array(
+            'addcurve', 'addpoint', 'addpolygon', 'addquad', 'addtriangle', 'alignpols',
+            'autoflex', 'axisdrill',
+            'bend', 'bevel', 'boolean', 'boundingbox',
+            'changepart', 'changesurface', 'close', 'closeall', 'cmdseq', 'copy', 'copysurface',
+            'createsurface', 'cut',
+            'deformregion', 'delete',
+            'editbegin', 'editend', 'exit', 'extrude',
+            'fixedflex', 'flip', 'fontclear', 'fontcount', 'fontindex', 'fontload',
+            'fontname', 'fracsubdivide', 'freezecurves',
+            'getdefaultsurface',
+            'jitter',
+            'lathe', 'layerName', 'layerVisible', 'lyrbg', 'lyrdata', 'lyrempty', 'lyremptybg',
+            'lyremptyfg', 'lyrfg', 'lyrsetbg', 'lyrsetfg', 'lyrswap',
+            'magnet', 'make4patch', 'makeball', 'makebox', 'makecone', 'makedisc',
+            'maketesball', 'maketext', 'mergepoints', 'mergepols', 'meshedit', 'mirror',
+            'morphpols', 'move',
+            'new', 'nextsurface',
+            'paste', 'pathclone', 'pathextrude', 'pixel', 'pointcount', 'pointinfo',
+            'pointmove', 'pole', 'polycount', 'polyinfo', 'polynormal', 'polypointcount',
+            'polypoints', 'polysurface',
+            'quantize',
+            'railclone', 'railextrude', 'redo', 'removepols', 'rempoint', 'rempoly',
+            'renamesurface', 'revert', 'rotate',
+            'scale', 'selhide', 'selinvert', 'selmode', 'selpoint', 'selpolygon', 'selunhide',
+            'selectvmap', 'setlayername', 'setobject', 'setpivot', 'setsurface', 'shapebevel',
+            'shear', 'skinpols', 'smooth', 'smoothcurves', 'smoothscale', 'smoothshift',
+            'soliddrill', 'splitpols', 'subdivide', 'swaphidden',
+            'taper', 'triple', 'toggleCCend', 'toggleCCstart', 'togglepatches', 'twist',
+            'undo', 'undogroupend', 'undogroupbegin', 'unifypols', 'unweld',
+            'vortex',
+            'weldaverage', 'weldpoints'
+            ),
+        6 => array(
+            'About', 'AboutOpenGL', 'AdaptiveSampling', 'AdaptiveThreshold',
+            'AddAreaLight', 'AddBone', 'AddButton', 'AddCamera', 'AddChildBone',
+            'AddDistantLight', 'AddEnvelope', 'AddLinearLight', 'AddNull',
+            'AddPartigon', 'AddPlugins', 'AddPointLight', 'AddPosition',
+            'AddRotation', 'AddScale', 'AddSpotlight', 'AddToSelection',
+            'AdjustRegionTool', 'AffectCaustics', 'AffectDiffuse', 'AffectOpenGL',
+            'AffectSpecular', 'AlertLevel', 'AmbientColor', 'AmbientIntensity',
+            'Antialiasing', 'ApertureHeight', 'ApplyServer', 'AreaLight',
+            'AutoConfirm', 'AutoFrameAdvance', 'AutoKey',
+            'BackdropColor', 'BackView', 'BController', 'BLimits', 'BLurLength', 'BoneActive',
+            'BoneFalloffType', 'BoneJointComp', 'BoneJointCompAmounts', 'BoneJointCompParent',
+            'BoneLimitedRange', 'BoneMaxRange', 'BoneMinRange', 'BoneMuscleFlex',
+            'BoneMuscleFlexAmounts', 'BoneMuscleFlexParent', 'BoneNormalization',
+            'BoneRestLength', 'BoneRestPosition', 'BoneRestRotation', 'BoneSource',
+            'BoneStrength', 'BoneStrengthMultiply', 'BoneWeightMapName', 'BoneWeightMapOnly',
+            'BoneWeightShade', 'BoneXRay', 'BottomView', 'BoundingBoxThreshold',
+            'BStiffness',
+            'CacheCaustics', 'CacheRadiosity', 'CacheShadowMap',
+            'CameraMask', 'CameraView', 'CameraZoomTool', 'CastShadow', 'CausticIntensity',
+            'CenterItem', 'CenterMouse', 'ChangeTool', 'ClearAllBones', 'ClearAllCameras',
+            'ClearAllLights', 'ClearAllObjects', 'ClearAudio', 'ClearScene', 'ClearSelected',
+            'Clone', 'CommandHistory', 'CommandInput', 'Compositing', 'ConeAngleTool',
+            'ContentDirectory', 'CreateKey',
+            'DecreaseGrid', 'DeleteKey', 'DepthBufferAA', 'DepthOfField', 'DisplayOptions',
+            'DistantLight', 'DrawAntialiasing', 'DrawBones', 'DrawChildBones', 'DynamicUpdate',
+            'EditBones', 'EditCameras', 'EditKeys', 'EditLights',
+            'EditMenus', 'EditObjects', 'EditPlugins', 'EditServer', 'EnableCaustics',
+            'EnableDeformations', 'EnableIK', 'EnableLensFlares', 'EnableRadiosity', 'EnableServer',
+            'EnableShadowMaps', 'EnableVIPER', 'EnableVolumetricLights', 'EnableXH',
+            'EnableYP', 'EnableZB', 'EnahancedAA', 'ExcludeLight', 'ExcludeObject',
+            'EyeSeparation',
+            'FasterBones', 'FirstFrame', 'FirstItem', 'FitAll', 'FitSelected',
+            'FlareIntensity', 'FlareOptions', 'FocalDistance', 'FogColor', 'FogMaxAmount',
+            'FogMaxDistance', 'FogMinAmount', 'FogMinDistance', 'FogType', 'FractionalFrames',
+            'FrameSize', 'FramesPerSecond', 'FrameStep', 'FreePreview', 'FrontView', 'FullTimeIK',
+            'GeneralOptions', 'Generics', 'GlobalApertureHeight', 'GlobalBlurLength',
+            'GlobalFrameSize', 'GlobalIllumination', 'GlobalMaskPosition', 'GlobalMotionBlur',
+            'GlobalParticleBlur', 'GlobalPixelAspect', 'GlobalResolutionMulitplier', 'GoalItem',
+            'GoalStrength', 'GoToFrame', 'GradientBackdrop', 'GraphEditor', 'GridSize', 'GroundColor',
+            'HController', 'HideToolbar', 'HideWindows', 'HLimits', 'HStiffness',
+            'ImageEditor', 'ImageProcessing', 'IncludeLight', 'IncludeObject', 'IncreaseGrid',
+            'IndirectBounces', 'Item_SetWindowPos', 'ItemActive', 'ItemColor', 'ItemLock',
+            'ItemProperties', 'ItemVisibilty',
+            'KeepGoalWithinReach',
+            'LastFrame', 'LastItem', 'LastPluginInterface', 'Layout_SetWindowPos',
+            'Layout_SetWindowSize', 'LeftView', 'LensFlare', 'LensFStop', 'LightColor',
+            'LightConeAngle', 'LightEdgeAngle', 'LightFalloffType', 'LightIntensity',
+            'LightIntensityTool', 'LightQuality', 'LightRange', 'LightView', 'LimitB',
+            'LimitDynamicRange', 'LimitedRegion', 'LimitH', 'LimitP', 'LinearLight',
+            'LoadAudio', 'LoadFromScene', 'LoadMotion', 'LoadObject', 'LoadObjectLayer',
+            'LoadPreview', 'LoadScene', 'LocalCoordinateSystem',
+            'MakePreview', 'MaskColor', 'MaskPosition', 'MasterPlugins', 'MatchGoalOrientation',
+            'MatteColor', 'MatteObject', 'MetaballResolution', 'Model', 'MorphAmount',
+            'MorphAmountTool', 'MorphMTSE', 'MorphSurfaces', 'MorphTarget', 'MotionBlur',
+            'MotionBlurDOFPreview', 'MotionOptions', 'MovePathTool', 'MovePivotTool', 'MoveTool',
+            'NadirColor', 'NetRender', 'NextFrame', 'NextItem', 'NextKey', 'NextSibling',
+            'NextViewLayout', 'NoiseReduction', 'Numeric',
+            'ObjectDissolve',
+            'ParentCoordinateSystem', 'ParentInPlace', 'ParentItem',
+            'ParticleBlur', 'PathAlignLookAhead', 'PathAlignMaxLookSteps', 'PathAlignReliableDist',
+            'Pause', 'PController', 'PerspectiveView',
+            'PivotPosition', 'PivotRotation', 'PixelAspect', 'PlayAudio', 'PlayBackward',
+            'PlayForward', 'PlayPreview', 'PLimits', 'PointLight', 'PolygonEdgeColor',
+            'PolygonEdgeFlags', 'PolygonEdgeThickness', 'PolygonEdgeZScale', 'PolygonSize',
+            'Position', 'Presets', 'PreviewFirstFrame', 'PreviewFrameStep', 'PreviewLastFrame',
+            'PreviewOptions', 'PreviousFrame', 'PreviousItem', 'PreviousKey', 'PreviousSibling',
+            'PreviousViewLayout', 'PStiffness',
+            'Quit',
+            'RadiosityIntensity', 'RadiosityTolerance', 'RadiosityType', 'RayRecursionLimit',
+            'RayTraceReflection', 'RayTraceShadows',
+            'RayTraceTransparency', 'ReceiveShadow', 'RecentContentDirs', 'RecentScenes',
+            'ReconstructionFilter', 'RecordMaxAngles', 'RecordMinAngles', 'RecordPivotRotation',
+            'RecordRestPosition', 'Redraw', 'RedrawNow', 'Refresh', 'RefreshNow', 'RegionPosition',
+            'RemoveEnvelope', 'RemoveFromSelection', 'RemoveServer', 'Rename', 'RenderFrame',
+            'RenderOptions', 'RenderScene', 'RenderSelected', 'RenderThreads',
+            'ReplaceObjectLayer', 'ReplaceWithNull', 'ReplaceWithObject', 'Reset',
+            'ResolutionMultiplier', 'RestLengthTool', 'RightView', 'RotatePivotTool',
+            'RotateTool', 'Rotation',
+            'SaveAllObjects', 'SaveCommandList', 'SaveCommandMessages',
+            'SaveEndomorph', 'SaveLight', 'SaveLWSC1', 'SaveMotion', 'SaveObject', 'SaveObjectCopy',
+            'SavePreview', 'SaveScene', 'SaveSceneAs', 'SaveSceneCopy', 'SaveTransformed',
+            'SaveViewLayout', 'Scale', 'Scene_SetWindowPos', 'Scene_SetWindowSize',
+            'SceneEditor', 'SchematicPosition', 'SchematicView', 'SelectAllBones',
+            'SelectAllCameras', 'SelectAllLights', 'SelectAllObjects', 'SelectByName',
+            'SelectChild', 'SelectItem', 'SelectParent', 'SelfShadow', 'ShadowColor',
+            'ShadowExclusion', 'ShadowMapAngle', 'ShadowMapFitCone', 'ShadowMapFuzziness',
+            'ShadowMapSize', 'ShadowType', 'ShowCages', 'ShowFieldChart', 'ShowHandles',
+            'ShowIKChains', 'ShowMotionPaths', 'ShowSafeAreas', 'ShowTargetLines',
+            'ShrinkEdgesWithDistance', 'SingleView', 'SizeTool', 'SkelegonsToBones', 'SkyColor',
+            'Spotlight', 'SquashTool', 'Statistics', 'StatusMsg', 'Stereoscopic', 'StretchTool',
+            'SubdivisionOrder', 'SubPatchLevel', 'SurfaceEditor', 'Synchronize',
+            'TargetItem', 'TopView',
+            'UnaffectedByFog', 'UnaffectedByIK', 'Undo', 'UnseenByAlphaChannel', 'UnseenByCamera',
+            'UnseenByRays', 'UseGlobalResolution', 'UseGlobalBlur', 'UseGlobalMask',
+            'UseMorphedPositions',
+            'ViewLayout', 'VIPER', 'VolumetricLighting',
+            'VolumetricLightingOptions', 'VolumetricRadiosity', 'Volumetrics',
+            'WorldCoordinateSystem',
+            'XYView', 'XZView',
+            'ZenithColor', 'ZoomFactor', 'ZoomIn', 'ZoomInX2', 'ZoomOut', 'ZoomOutX2', 'ZYView',
+            'Camera', 'Channel', 'ChannelGroup', 'Envelope', 'File', 'Glyph', 'Icon', 'Image',
+            'Light', 'Mesh', 'Scene', 'Surface', 'VMap'
+            ),
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']', '=', '<', '>', '+', '-', '*', '/', '!', '%', '&', '@'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => true,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false,
+        6 => false,
+        7 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000; font-weight: bold;',
+            2 => 'color: #FF6820; font-weight: bold;', //LS_COMMANDS
+            3 => 'color: #007F7F; font-weight: bold;', //LS_MEMBERS
+            4 => 'color: #800080; font-weight: bold;', //LS_METHODS
+            5 => 'color: #51BD95; font-weight: bold;', //LS_MODELER
+            6 => 'color: #416F85; font-weight: bold;', //LS_GENERAL
+            7 => 'color: #C92929; font-weight: bold;'  //LS_COMMANDS (cont)
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #7F7F7F;',
+            'MULTI' => 'color: #7F7F7F;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #0040A0;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #00C800;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #6953AC;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #0040A0;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            ),
+        'ESCAPE_CHAR' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => '',
+        7 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            3 => array(
+                'DISALLOWED_BEFORE' => '(?<=\.)'
+                ),
+            4 => array(
+                'DISALLOWED_BEFORE' => '(?<=\.)'
+                )
+            )
+        )
+);
+
+?>
\ No newline at end of file
--- a/plugins/geshi/geshi/lua.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/lua.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * -------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/07/10
  *
  * LUA language file for GeSHi.
@@ -43,29 +43,29 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Lua',
-	'COMMENT_SINGLE' => array(1 => "--"),
-	'COMMENT_MULTI' => array('--[[' => ']]'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'and','break','do','else','elseif','end','false','for','function','if',
-			'in','local','nil','not','or','repeat','return','then','true','until','while',
-			'_VERSION','assert','collectgarbage','dofile','error','gcinfo','loadfile','loadstring',
-			'print','tonumber','tostring','type','unpack',
-			'_ALERT','_ERRORMESSAGE','_INPUT','_PROMPT','_OUTPUT',
-			'_STDERR','_STDIN','_STDOUT','call','dostring','foreach','foreachi','getn','globals','newtype',
-			'rawget','rawset','require','sort','tinsert','tremove',
-			'abs','acos','asin','atan','atan2','ceil','cos','deg','exp',
-			'floor','format','frexp','gsub','ldexp','log','log10','max','min','mod','rad','random','randomseed',
-			'sin','sqrt','strbyte','strchar','strfind','strlen','strlower','strrep','strsub','strupper','tan',
-			'openfile','closefile','readfrom','writeto','appendto',
-			'remove','rename','flush','seek','tmpfile','tmpname','read','write',
-			'clock','date','difftime','execute','exit','getenv','setlocale','time',
-			'_G','getfenv','getmetatable','ipairs','loadlib','next','pairs','pcall',
-			'rawegal','rawget','rawset','require','setfenv','setmetatable','xpcall',
+    'LANG_NAME' => 'Lua',
+    'COMMENT_SINGLE' => array(1 => "--"),
+    'COMMENT_MULTI' => array('--[[' => ']]'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'and','break','do','else','elseif','end','false','for','function','if',
+            'in','local','nil','not','or','repeat','return','then','true','until','while',
+            '_VERSION','assert','collectgarbage','dofile','error','gcinfo','loadfile','loadstring',
+            'print','tonumber','tostring','type','unpack',
+            '_ALERT','_ERRORMESSAGE','_INPUT','_PROMPT','_OUTPUT',
+            '_STDERR','_STDIN','_STDOUT','call','dostring','foreach','foreachi','getn','globals','newtype',
+            'rawget','rawset','require','sort','tinsert','tremove',
+            'abs','acos','asin','atan','atan2','ceil','cos','deg','exp',
+            'floor','format','frexp','gsub','ldexp','log','log10','max','min','mod','rad','random','randomseed',
+            'sin','sqrt','strbyte','strchar','strfind','strlen','strlower','strrep','strsub','strupper','tan',
+            'openfile','closefile','readfrom','writeto','appendto',
+            'remove','rename','flush','seek','tmpfile','tmpname','read','write',
+            'clock','date','difftime','execute','exit','getenv','setlocale','time',
+            '_G','getfenv','getmetatable','ipairs','loadlib','next','pairs','pcall',
+            'rawegal','setfenv','setmetatable','xpcall',
             'string.byte','string.char','string.dump','string.find','string.len',
             'string.lower','string.rep','string.sub','string.upper','string.format','string.gfind','string.gsub',
             'table.concat','table.foreach','table.foreachi','table.getn','table.sort','table.insert','table.remove','table.setn',
@@ -78,57 +78,60 @@
             'io.stdin','io.stdout','io.stderr',
             'os.clock','os.date','os.difftime','os.execute','os.exit','os.getenv','os.remove','os.rename',
             'os.setlocale','os.time','os.tmpname',
-			'string','table','math','coroutine','io','os','debug'
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>', '=', ';'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => true
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-      0 => 'color: #b1b100;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+            'string','table','math','coroutine','io','os','debug'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>', '=', ';'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            0 => 'color: #b1b100;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/m68k.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/m68k.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * --------
  * Author: Benny Baumann (BenBE@omorphia.de)
  * Copyright: (c) 2007 Benny Baumann (http://www.omorphia.de/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2007/02/06
  *
  * Motorola 68000 Assembler language file for GeSHi.
@@ -14,6 +14,8 @@
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *   -  Added description of extra language features (SF#1970248)
  * 2007/06/02 (1.0.0)
  *   -  First Release
  *
@@ -41,93 +43,99 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Motorola 68000 Assembler',
-	'COMMENT_SINGLE' => array(1 => ';'),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		/*CPU*/
-		1 => array(
-			'adc','add','ais','aix','and','asl','asr','bcc','bclr','bcs','beq',
-			'bge','bgt','bhcc','bhcs','bhi','bhs','bih','bil','bit','ble','blo',
-			'bls','blt','bmc','bmi','bms','bne','bpl','bra','brclr','brn',
-			'brset','bset','bsr','cbeq','clc','cli','clr','cmp','com','cphx',
-			'cpx','daa','dbnz','dec','div','eor','inc','jmp','jsr','lda','ldhx',
-			'ldx','lsl','lsr','mov','mul','neg','nop','nsa','ora','psha','pshh',
-			'pshx','pula','pulh','pulx','rol','ror','rsp','rti','rts','sbc',
-			'sec','sei','sta','sthx','stop','stx','sub','swi','tap','tax','tpa',
-			'tst','tsx','txa','txs','wait'
-		),
-		/*registers*/
-		2 => array(
-			'a','h','x',
-			'hx','sp'
-			),
-		/*Directive*/
-		3 => array(
-			'#define','#endif','#else','#ifdef','#ifndef','#include','#undef',
-			'.db','.dd','.df','.dq','.dt','.dw','.end','.org','equ'
-			),
-		),
-	'SYMBOLS' => array(
-		','
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #0000ff; font-weight:bold;',
-			2 => 'color: #0000ff;',
-			3 => 'color: #46aa03; font-weight:bold;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #adadad; font-style: italic;',
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #0000ff;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #7f007f;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #dd22dd;'
-			),
-		'METHODS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #008000;'
-			),
-		'REGEXPS' => array(
-			0 => 'color: #22bbff;',
-			1 => 'color: #22bbff;',
-			2 => 'color: #993333;'
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		0 => '#?0[0-9a-fA-F]{1,32}[hH]',
-		1 => '\%[01]{1,64}[bB]',
-		2 => '^[_a-zA-Z][_a-zA-Z0-9]{0,50}\:'
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
+    'LANG_NAME' => 'Motorola 68000 Assembler',
+    'COMMENT_SINGLE' => array(1 => ';'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        /*CPU*/
+        1 => array(
+            'adc','add','ais','aix','and','asl','asr','bcc','bclr','bcs','beq',
+            'bge','bgt','bhcc','bhcs','bhi','bhs','bih','bil','bit','ble','blo',
+            'bls','blt','bmc','bmi','bms','bne','bpl','bra','brclr','brn',
+            'brset','bset','bsr','cbeq','clc','cli','clr','cmp','com','cphx',
+            'cpx','daa','dbnz','dec','div','eor','inc','jmp','jsr','lda','ldhx',
+            'ldx','lsl','lsr','mov','mul','neg','nop','nsa','ora','psha','pshh',
+            'pshx','pula','pulh','pulx','rol','ror','rsp','rti','rts','sbc',
+            'sec','sei','sta','sthx','stop','stx','sub','swi','tap','tax','tpa',
+            'tst','tsx','txa','txs','wait'
+        ),
+        /*registers*/
+        2 => array(
+            'a','h','x',
+            'hx','sp'
+            ),
+        /*Directive*/
+        3 => array(
+            '#define','#endif','#else','#ifdef','#ifndef','#include','#undef',
+            '.db','.dd','.df','.dq','.dt','.dw','.end','.org','equ'
+            ),
+        ),
+    'SYMBOLS' => array(
+        ','
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000ff; font-weight:bold;',
+            2 => 'color: #0000ff;',
+            3 => 'color: #46aa03; font-weight:bold;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #adadad; font-style: italic;',
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #7f007f;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #dd22dd;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #008000;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #22bbff;',
+            1 => 'color: #22bbff;',
+            2 => 'color: #993333;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        //Hex numbers
+        0 => '#?0[0-9a-fA-F]{1,32}[hH]',
+        //Binary numbers
+        1 => '\%[01]{1,64}[bB]',
+        //Labels
+        2 => '^[_a-zA-Z][_a-zA-Z0-9]*?\:'
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
         ),
     'TAB_WIDTH' => 8
 );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/make.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,151 @@
+<?php
+/*************************************************************************************
+ * make.php
+ * --------
+ * Author: Neil Bird <phoenix@fnxweb.com>
+ * Copyright: (c) 2008 Neil Bird
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/08/26
+ *
+ * make language file for GeSHi.
+ *
+ * (GNU make specific)
+ *
+ * CHANGES
+ * -------
+ * 2008/09/05 (1.0.0)
+ *  -  First Release
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'GNU make',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_REGEXP' => array(
+        //Escaped String Starters
+        2 => "/\\\\['\"]/siU"
+        ),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            // core
+            'ifeq', 'else', 'endif', 'ifneq', 'ifdef', 'ifndef',
+            'include', 'vpath', 'export', 'unexport', 'override',
+            'info', 'warning', 'error'
+            ),
+        2 => array(
+            // macros, literals
+            '.SUFFIXES', '.PHONY', '.DEFAULT', '.PRECIOUS', '.IGNORE', '.SILENT', '.EXPORT_ALL_VARIABLES', '.KEEP_STATE',
+            '.LIBPATTERNS', '.NOTPARALLEL', '.DELETE_ON_ERROR', '.INTERMEDIATE', '.POSIX', '.SECONDARY'
+            ),
+        /*
+        3 => array(
+            // funcs - see regex
+            //'subst', 'addprefix', 'addsuffix', 'basename', 'call', 'dir', 'error', 'eval', 'filter-out', 'filter',
+            //'findstring', 'firstword', 'foreach', 'if', 'join', 'notdir', 'origin', 'patsubst', 'shell', 'sort', 'strip',
+            //'suffix', 'warning', 'wildcard', 'word', 'wordlist', 'words'
+            )*/
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}',
+        '!', '@', '%', '&', '|', '/',
+        '<', '>',
+        '=', '-', '+', '*',
+        '.', ':', ',', ';',
+        '$'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        //3 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #666622; font-weight: bold;',
+            2 => 'color: #990000;',
+            //3 => 'color: #000000; font-weight: bold;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #339900; font-style: italic;',
+            2 => 'color: #000099; font-weight: bold;',
+            'MULTI' => ''
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(  # keep same as symbols so as to make ${} and $() equiv.
+            0 => 'color: #004400;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #CC2200;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #CC2200;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #004400;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #000088; font-weight: bold;',
+            1 => 'color: #0000CC; font-weight: bold;',
+            2 => 'color: #000088;'
+            ),
+        'SCRIPT' => array(),
+        'METHODS' => array()
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        //3 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'REGEXPS' => array(
+        //Simple variables
+        0 => "\\$(?:[^{(&]|&(?:amp|lt|gt);)",
+        //Complex variables/functions [built-ins]
+        1 => array(
+            GESHI_SEARCH => '(\\$[({])(subst|addprefix|addsuffix|basename|call|dir|error|eval|filter-out|filter,|findstring|firstword|foreach|if|join|notdir|origin|patsubst|shell|sort|strip,|suffix|warning|wildcard|word|wordlist|words)([ })])',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3'
+            ),
+            //Complex variables/functions [others]
+        2 => array(
+            GESHI_SEARCH => '(\\$[({])([A-Za-z_][A-Za-z_0-9]*)([ })])',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3'
+            ),
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array(),
+    'TAB_WIDTH' => 8
+// vim: set sw=4 sts=4 :
+);
+?>
--- a/plugins/geshi/geshi/matlab.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/matlab.php	Fri May 29 19:30:59 2009 -0400
@@ -4,14 +4,14 @@
  * -----------
  * Author: Florian Knorn (floz@gmx.de)
  * Copyright: (c) 2004 Florian Knorn (http://www.florian-knorn.com)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2005/02/09
  *
- * Matlab M-file language file for GeSHi. 
+ * Matlab M-file language file for GeSHi.
  *
  * CHANGES
  * -------
- * 2006-03-25
+ * 2006-03-25 (1.0.7.22)
  *   - support for the transpose operator
  *   - many keywords added
  *   - links to the matlab documentation at mathworks
@@ -41,827 +41,187 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Matlab M',
-	'COMMENT_SINGLE' => array(1 => '%'),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array(),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		1 => array(
-			'break', 'case', 'catch', 'continue', 'elseif', 'else', 'end', 'for', 
-			'function', 'global', 'if', 'otherwise', 'persistent', 'return', 
-			'switch', 'try', 'while','...'
-			),
+    'LANG_NAME' => 'Matlab M',
+    'COMMENT_SINGLE' => array(1 => '%'),
+    'COMMENT_MULTI' => array(),
+    //Matlab Strings
+    'COMMENT_REGEXP' => array(
+        2 => "/(?<![\\w\\)\\]\\}\\.])('[^\\n']*?')/"
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'break', 'case', 'catch', 'continue', 'elseif', 'else', 'end', 'for',
+            'function', 'global', 'if', 'otherwise', 'persistent', 'return',
+            'switch', 'try', 'while'
+            ),
         2 => array(
-                            'all',
-							'any',
-							'exist',
-							'find',
-							'is',
-							'isa',
-							'logical',
-							'mislocked',
-							
-							'builtin',
-							'eval',
-							'evalc',
-							'evalin',
-							'feval',
-							'function',
-							'global',
-							'nargchk',
-							'persistent',
-							'script',
-							'break',
-							'case',
-							'catch',
-							'else',
-							'elseif',
-							'end',
-							'error',
-							'for',
-							'if',
-							'otherwise',
-							'return',
-							'switch',
-							'try',
-							'warning',
-							'while',
-							'input',
-							'keyboard',
-							'menu',
-							'pause',
-							'class',
-							'double',
-							'inferiorto',
-							'inline',
-							'int8',
-							'int16',
-							'int32',
-							'isa',
-							'loadobj',
-							'saveobj',
-							'single',
-							'superiorto',
-							'uint8',
-							'int16',
-							'uint32',
-							'dbclear',
-							'dbcont',
-							'dbdown',
-							'dbmex',
-							'dbquit',
-							'dbstack',
-							'dbstatus',
-							'dbstep',
-							'dbstop',
-							'dbtype',
-							'dbup',
-								
-							'blkdiag',
-							'eye',
-							'linspace',
-							'logspace',
-							'ones',
-							'rand',
-							'randn',
-							'zeros',
-							'ans',
-							'computer',
-							'eps',
-							'flops',
-							'i',
-							'Inf',
-							'inputname',
-							'j',
-							'NaN',
-							'nargin',
-							'nargout',
-							'pi',
-							'realmax',
-							'realmin',
-							'varargin',
-							'varargout',
-							'calendar',
-							'clock',
-							'cputime',
-							'date',
-							'datenum',
-							'datestr',
-							'datevec',
-							'eomday',
-							'etime',
-							'now',
-							'tic',
-							'toc',
-							'weekday',
-							'cat',
-							'diag',
-							'fliplr',
-							'flipud',
-							'repmat',
-							'reshape',
-							'rot90',
-							'tril',
-							'triu',
-							'compan',
-							'gallery',
-							'hadamard',
-							'hankel',
-							'hilb',
-							'invhilb',
-							'magic',
-							'pascal',
-							'toeplitz',
-							'wilkinson',
-							'abs',
-							'acos',
-							'acosh',
-							'acot',
-							'acoth',
-							'acsc',
-							'acsch',
-							'angle',
-							'asec',
-							'asech',
-							'asin',
-							'asinh',
-							'atan',
-							'atanh',
-							'atan2',
-							'ceil',
-							'complex',
-							'conj',
-							'cos',
-							'cosh',
-							'cot',
-							'coth',
-							'csc',
-							'csch',
-							'exp',
-							'fix',
-							'floor',
-							'gcd',
-							'imag',
-							'lcm',
-							'log',
-							'log2',
-							'log10',
-							'mod',
-							'nchoosek',
-							'real',
-							'rem',
-							'round',
-							'sec',
-							'sech',
-							'sign',
-							'sin',
-							'sinh',
-							'sqrt',
-							'tan',
-							'tanh',
-							'airy',
-							'besselh',
-							'besseli',
-							'besselk',
-							'besselj',
-							'Bessely',
-							'beta',
-							'betainc',
-							'betaln',
-							'ellipj',
-							'ellipke',
-							'erf',
-							'erfc',
-							'erfcx',
-							'erfiny',
-							'expint',
-							'factorial',
-							'gamma',
-							'gammainc',
-							'gammaln',
-							'legendre',
-							'pow2',
-							'rat',
-							'rats',
-							'cart2pol',
-							'cart2sph',
-							'pol2cart',
-							'sph2cart',
-							'abs',
-							'eval',
-							'real',
-							'strings',
-							'deblank',
-							'findstr',
-							'lower',
-							'strcat',
-							'strcmp',
-							'strcmpi',
-							'strjust',
-							'strmatch',
-							'strncmp',
-							'strrep',
-							'strtok',
-							'strvcat',
-							'symvar',
-							'texlabel',
-							'upper',
-							'char',
-							'int2str',
-							'mat2str',
-							'num2str',
-							'sprintf',
-							'sscanf',
-							'str2double',
-							'str2num',
-							'bin2dec',
-							'dec2bin',
-							'dec2hex',
-							'hex2dec',
-							'hex2num',
-							'fclose',
-							'fopen',
-							'fread',
-							'fwrite',
-							'fgetl',
-							'fgets',
-							'fprintf',
-							'fscanf',
-							'feof',
-							'ferror',
-							'frewind',
-							'fseek',
-							'ftell',
-							'sprintf',
-							'sscanf',
-							'dlmread',
-							'dlmwrite',
-							'hdf',
-							'imfinfo',
-							'imread',
-							'imwrite',
-							'textread',
-							'wk1read',
-							'wk1write',
-							'bitand',
-							'bitcmp',
-							'bitor',
-							'bitmax',
-							'bitset',
-							'bitshift',
-							'bitget',
-							'bitxor',
-							'fieldnames',
-							'getfield',
-							'rmfield',
-							'setfield',
-							'struct',
-							'struct2cell',
-							'class',
-							'isa',
-							'cell',
-							'cellfun',
-							'cellstr',
-							'cell2struct',
-							'celldisp',
-							'cellplot',
-							'num2cell',
-							'cat',
-							'flipdim',
-							'ind2sub',
-							'ipermute',
-							'ndgrid',
-							'ndims',
-							'permute',
-							'reshape',
-							'shiftdim',
-							'squeeze',
-							'sub2ind',
-							'cond',
-							'condeig',
-							'det',
-							'norm',
-							'null',
-							'orth',
-							'rank',
-							'rcond',
-							'rref',
-							'rrefmovie',
-							'subspace',
-							'trace',
-							'chol',
-							'inv',
-							'lscov',
-							'lu',
-							'nnls',
-							'pinv',
-							'qr',
-							'balance',
-							'cdf2rdf',
-							'eig',
-							'gsvd',
-							'hess',
-							'poly',
-							'qz',
-							'rsf2csf',
-							'schur',
-							'svd',
-							'expm',
-							'funm',
-							'logm',
-							'sqrtm',
-							'qrdelete',
-							'qrinsert',
-							'bar',
-							'barh',
-							'hist',
-							'hold',
-							'loglog',
-							'pie',
-							'plot',
-							'polar',
-							'semilogx',
-							'semilogy',
-							'subplot',
-							'bar3',
-							'bar3h',
-							'comet3',
-							'cylinder',
-							'fill3',
-							'plot3',
-							'quiver3',
-							'slice',
-							'sphere',
-							'stem3',
-							'waterfall',
-							'clabel',
-							'datetick',
-							'grid',
-							'gtext',
-							'legend',
-							'plotyy',
-							'title',
-							'xlabel',
-							'ylabel',
-							'zlabel',
-							'contour',
-							'contourc',
-							'contourf',
-							'hidden',
-							'meshc',
-							'mesh',
-							'peaks',
-							'surf',
-							'surface',
-							'surfc',
-							'surfl',
-							'trimesh',
-							'trisurf',
-							'coneplot',
-							'contourslice',
-							'isocaps',
-							'isonormals',
-							'isosurface',
-							'reducepatch',
-							'reducevolume',
-							'shrinkfaces',
-							'smooth3',
-							'stream2',
-							'stream3',
-							'streamline',
-							'surf2patch',
-							'subvolume',
-							'griddata',
-							'meshgrid',
-							'area',
-							'box',
-							'comet',
-							'compass',
-							'errorbar',
-							'ezcontour',
-							'ezcontourf',
-							'ezmesh',
-							'ezmeshc',
-							'ezplot',
-							'ezplot3',
-							'ezpolar',
-							'ezsurf',
-							'ezsurfc',
-							'feather',
-							'fill',
-							'fplot',
-							'pareto',
-							'pie3',
-							'plotmatrix',
-							'pcolor',
-							'rose',
-							'quiver',
-							'ribbon',
-							'stairs',
-							'scatter',
-							'scatter3',
-							'stem',
-							'convhull',
-							'delaunay',
-							'dsearch',
-							'inpolygon',
-							'polyarea',
-							'tsearch',
-							'voronoi',
-							'camdolly',
-							'camlookat',
-							'camorbit',
-							'campan',
-							'campos',
-							'camproj',
-							'camroll',
-							'camtarget',
-							'camup',
-							'camva',
-							'camzoom',
-							'daspect',
-							'pbaspect',
-							'view',
-							'viewmtx',
-							'xlim',
-							'ylim',
-							'zlim',
-							'camlight',
-							'diffuse',
-							'lighting',
-							'lightingangle',
-							'material',
-							'specular',
-							'brighten',
-							'bwcontr',
-							'caxis',
-							'colorbar',
-							'colorcube',
-							'colordef',
-							'colormap',
-							'graymon',
-							'hsv2rgb',
-							'rgb2hsv',
-							'rgbplot',
-							'shading',
-							'spinmap',
-							'surfnorm',
-							'whitebg',
-							'autumn',
-							'bone',
-							'contrast',
-							'cool',
-							'copper',
-							'flag',
-							'gray',
-							'hot',
-							'hsv',
-							'jet',
-							'lines',
-							'prism',
-							'spring',
-							'summer',
-							'winter',
-							'orient',
-							'print',
-							'printopt',
-							'saveas',
-							'copyobj',
-							'findobj',
-							'gcbo',
-							'gco',
-							'get',
-							'rotate',
-							'ishandle',
-							'set',
-							'axes',
-							'figure',
-							'image',
-							'light',
-							'line',
-							'patch',
-							'rectangle',
-							'surface',
-							'text Create',
-							'uicontext Create',
-							'capture',
-							'clc',
-							'clf',
-							'clg',
-							'close',
-							'gcf',
-							'newplot',
-							'refresh',
-							'saveas',
-							'axis',
-							'cla',
-							'gca',
-							'propedit',
-							'reset',
-							'rotate3d',
-							'selectmoveresize',
-							'shg',
-							'ginput',
-							'zoom',
-							'dragrect',
-							'drawnow',
-							'rbbox',
-							'dialog',
-							'errordlg',
-							'helpdlg',
-							'inputdlg',
-							'listdlg',
-							'msgbox',
-							'pagedlg',
-							'printdlg',
-							'questdlg',
-							'uigetfile',
-							'uiputfile',
-							'uisetcolor',
-							'uisetfont',
-							'warndlg',
-							'menu',
-							'menuedit',
-							'uicontextmenu',
-							'uicontrol',
-							'uimenu',
-							'dragrect',
-							'findfigs',
-							'gcbo',
-							'rbbox',
-							'selectmoveresize',
-							'textwrap',
-							'uiresume',
-							'uiwait Used',
-							'waitbar',
-							'waitforbuttonpress',
-							'convhull',
-							'cumprod',
-							'cumsum',
-							'cumtrapz',
-							'delaunay',
-							'dsearch',
-							'factor',
-							'inpolygon',
-							'max',
-							'mean',
-							'median',
-							'min',
-							'perms',
-							'polyarea',
-							'primes',
-							'prod',
-							'sort',
-							'sortrows',
-							'std',
-							'sum',
-							'trapz',
-							'tsearch',
-							'var',
-							'voronoi',
-							'del2',
-							'diff',
-							'gradient',
-							'corrcoef',
-							'cov',
-							'conv',
-							'conv2',
-							'deconv',
-							'filter',
-							'filter2',
-							'abs',
-							'angle',
-							'cplxpair',
-							'fft',
-							'fft2',
-							'fftshift',
-							'ifft',
-							'ifft2',
-							'ifftn',
-							'ifftshift',
-							'nextpow2',
-							'unwrap',
-							'cross',
-							'intersect',
-							'ismember',
-							'setdiff',
-							'setxor',
-							'union',
-							'unique',
-							'conv',
-							'deconv',
-							'poly',
-							'polyder',
-							'polyeig',
-							'polyfit',
-							'polyval',
-							'polyvalm',
-							'residue',
-							'roots',
-							'griddata',
-							'interp1',
-							'interp2',
-							'interp3',
-							'interpft',
-							'interpn',
-							'meshgrid',
-							'ndgrid',
-							'spline',
-							'dblquad',
-							'fmin',
-							'fmins',
-							'fzero',
-							'ode45,',
-							'ode113,',
-							'ode15s,',
-							'ode23s,',
-							'ode23t,',
-							'ode23tb',
-							'odefile',
-							'odeget',
-							'odeset',
-							'quad,',
-							'vectorize',
-							'spdiags',
-							'speye',
-							'sprand',
-							'sprandn',
-							'sprandsym',
-							'find',
-							'full',
-							'sparse',
-							'spconvert',
-							'nnz',
-							'nonzeros',
-							'nzmax',
-							'spalloc',
-							'spfun',
-							'spones',
-							'colmmd',
-							'colperm',
-							'dmperm',
-							'randperm',
-							'symmmd',
-							'symrcm',
-							'condest',
-							'normest',
-							'bicg',
-							'bicgstab',
-							'cgs',
-							'cholinc',
-							'cholupdate',
-							'gmres',
-							'luinc',
-							'pcg',
-							'qmr',
-							'qr',
-							'qrdelete',
-							'qrinsert',
-							'qrupdate',
-							'eigs',
-							'svds',
-							'spparms',
-							'lin2mu',
-							'mu2lin',
-							'sound',
-							'soundsc',
-							'auread',
-							'auwrite',
-							'wavread',
-							'wavwrite',
-							'[Keywords 6]',
-							'addpath',
-							'doc',
-							'docopt',
-							'help',
-							'helpdesk',
-							'helpwin',
-							'lasterr',
-							'lastwarn',
-							'lookfor',
-							'partialpath',
-							'path',
-							'pathtool',
-							'profile',
-							'profreport',
-							'rmpath',
-							'type',
-							'ver',
-							'version',
-							'web',
-							'what',
-							'whatsnew',
-							'which',
-							'clear',
-							'disp',
-							'length',
-							'load',
-							'mlock',
-							'munlock',
-							'openvar',
-							'pack',
-							'save',
-							'saveas',
-							'size',
-							'who',
-							'whos',
-							'workspace',
-							'clc',
-							'echo',
-							'format',
-							'home',
-							'more',
-							'cd',
-							'copyfile',
-							'delete',
-							'diary',
-							'dir',
-							'edit',
-							'fileparts',
-							'fullfile',
-							'inmem',
-							'ls',
-							'matlabroot',
-							'mkdir',
-							'open',
-							'pwd',
-							'tempdir',
-							'tempname',
-							'matlabrc',
-							'quit',                            
-)
-		),
-	'SYMBOLS' => array( 
-		'...' 
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		//3 => false,
-		//4 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #0000FF;',
+            'all','any','exist','is','logical','mislocked',
+
+            'abs','acos','acosh','acot','acoth','acsc','acsch','airy','angle',
+            'ans','area','asec','asech','asin','asinh','atan','atan2','atanh',
+            'auread','autumn','auwrite','axes','axis','balance','bar','bar3',
+            'bar3h','barh','besselh','besseli','besselj','besselk','Bessely',
+            'beta','betainc','betaln','bicg','bicgstab','bin2dec','bitand',
+            'bitcmp','bitget','bitmax','bitor','bitset','bitshift','bitxor',
+            'blkdiag','bone','box','brighten','builtin','bwcontr','calendar',
+            'camdolly','camlight','camlookat','camorbit','campan','campos',
+            'camproj','camroll','camtarget','camup','camva','camzoom','capture',
+            'cart2pol','cart2sph','cat','caxis','cdf2rdf','ceil','cell',
+            'cell2struct','celldisp','cellfun','cellplot','cellstr','cgs',
+            'char','chol','cholinc','cholupdate','cla','clabel','class','clc',
+            'clf','clg','clock','close','colmmd','colorbar','colorcube',
+            'colordef','colormap','colperm','comet','comet3','compan','compass',
+            'complex','computer','cond','condeig','condest','coneplot','conj',
+            'contour','contourc','contourf','contourslice','contrast','conv',
+            'conv2','convhull','cool','copper','copyobj','corrcoef','cos',
+            'cosh','cot','coth','cov','cplxpair','cputime','cross','csc','csch',
+            'cumprod','cumsum','cumtrapz','cylinder','daspect','date','datenum',
+            'datestr','datetick','datevec','dbclear','dbcont','dbdown',
+            'dblquad','dbmex','dbquit','dbstack','dbstatus','dbstep','dbstop',
+            'dbtype','dbup','deblank','dec2bin','dec2hex','deconv','del2',
+            'delaunay','det','diag','dialog','diff','diffuse','dlmread',
+            'dlmwrite','dmperm','double','dragrect','drawnow','dsearch','eig',
+            'eigs','ellipj','ellipke','eomday','eps','erf','erfc','erfcx',
+            'erfiny','error','errorbar','errordlg','etime','eval','evalc',
+            'evalin','exp','expint','expm','eye','ezcontour','ezcontourf',
+            'ezmesh','ezmeshc','ezplot','ezplot3','ezpolar','ezsurf','ezsurfc',
+            'factor','factorial','fclose','feather','feof','ferror','feval',
+            'fft','fft2','fftshift','fgetl','fgets','fieldnames','figure',
+            'fill','fill3','filter','filter2','find','findfigs','findobj',
+            'findstr','fix','flag','flipdim','fliplr','flipud','floor','flops',
+            'fmin','fmins','fopen','fplot','fprintf','fread','frewind','fscanf',
+            'fseek','ftell','full','funm','fwrite','fzero','gallery','gamma',
+            'gammainc','gammaln','gca','gcbo','gcd','gcf','gco','get',
+            'getfield','ginput','gmres','gradient','gray','graymon','grid',
+            'griddata','gsvd','gtext','hadamard','hankel','hdf','helpdlg',
+            'hess','hex2dec','hex2num','hidden','hilb','hist','hold','hot',
+            'hsv','hsv2rgb','i','ifft','ifft2','ifftn','ifftshift','imag',
+            'image','imfinfo','imread','imwrite','ind2sub','Inf','inferiorto',
+            'inline','inpolygon','input','inputdlg','inputname','int16',
+            'int2str','int32','int8','interp1','interp2','interp3','interpft',
+            'interpn','intersect','inv','invhilb','ipermute','isa','ishandle',
+            'ismember','isocaps','isonormals','isosurface','j','jet','keyboard',
+            'lcm','legend','legendre','light','lighting','lightingangle',
+            'lin2mu','line','lines','linspace','listdlg','loadobj','log',
+            'log10','log2','loglog','logm','logspace','lower','lscov','lu',
+            'luinc','magic','mat2str','material','max','mean','median','menu',
+            'menuedit','mesh','meshc','meshgrid','min','mod','msgbox','mu2lin',
+            'NaN','nargchk','nargin','nargout','nchoosek','ndgrid','ndims',
+            'newplot','nextpow2','nnls','nnz','nonzeros','norm','normest','now',
+            'null','num2cell','num2str','nzmax','ode113,','ode15s,','ode23s,',
+            'ode23t,','ode23tb','ode45,','odefile','odeget','odeset','ones',
+            'orient','orth','pagedlg','pareto','pascal','patch','pause',
+            'pbaspect','pcg','pcolor','peaks','perms','permute','pi','pie',
+            'pie3','pinv','plot','plot3','plotmatrix','plotyy','pol2cart',
+            'polar','poly','polyarea','polyder','polyeig','polyfit','polyval',
+            'polyvalm','pow2','primes','print','printdlg','printopt','prism',
+            'prod','propedit','qmr','qr','qrdelete','qrinsert','qrupdate',
+            'quad','questdlg','quiver','quiver3','qz','rand','randn','randperm',
+            'rank','rat','rats','rbbox','rcond','real','realmax','realmin',
+            'rectangle','reducepatch','reducevolume','refresh','rem','repmat',
+            'reset','reshape','residue','rgb2hsv','rgbplot','ribbon','rmfield',
+            'roots','rose','rot90','rotate','rotate3d','round','rref',
+            'rrefmovie','rsf2csf','saveobj','scatter','scatter3','schur',
+            'script','sec','sech','selectmoveresize','semilogx','semilogy',
+            'set','setdiff','setfield','setxor','shading','shg','shiftdim',
+            'shrinkfaces','sign','sin','single','sinh','slice','smooth3','sort',
+            'sortrows','sound','soundsc','spalloc','sparse','spconvert',
+            'spdiags','specular','speye','spfun','sph2cart','sphere','spinmap',
+            'spline','spones','spparms','sprand','sprandn','sprandsym','spring',
+            'sprintf','sqrt','sqrtm','squeeze','sscanf','stairs','std','stem',
+            'stem3','str2double','str2num','strcat','strcmp','strcmpi',
+            'stream2','stream3','streamline','strings','strjust','strmatch',
+            'strncmp','strrep','strtok','struct','struct2cell','strvcat',
+            'sub2ind','subplot','subspace','subvolume','sum','summer',
+            'superiorto','surf','surf2patch','surface','surfc','surfl',
+            'surfnorm','svd','svds','symmmd','symrcm','symvar','tan','tanh',
+            'texlabel','text Create','textread','textwrap','tic','title','toc',
+            'toeplitz','trace','trapz','tril','trimesh','trisurf','triu',
+            'tsearch','uicontext Create','uicontextmenu','uicontrol',
+            'uigetfile','uimenu','uint32','uint8','uiputfile','uiresume',
+            'uisetcolor','uisetfont','uiwait Used','union','unique','unwrap',
+            'upper','var','varargin','varargout','vectorize','view','viewmtx',
+            'voronoi','waitbar','waitforbuttonpress','warndlg','warning',
+            'waterfall','wavread','wavwrite','weekday','whitebg','wilkinson',
+            'winter','wk1read','wk1write','xlabel','xlim','ylabel','ylim',
+            'zeros','zlabel','zlim','zoom',
+            //'[Keywords 6]',
+            'addpath','cd','clear','copyfile','delete','diary','dir','disp',
+            'doc','docopt','echo','edit','fileparts','format','fullfile','help',
+            'helpdesk','helpwin','home','inmem','lasterr','lastwarn','length',
+            'load','lookfor','ls','matlabrc','matlabroot','mkdir','mlock',
+            'more','munlock','open','openvar','pack','partialpath','path',
+            'pathtool','profile','profreport','pwd','quit','rmpath','save',
+            'saveas','size','tempdir','tempname','type','ver','version','web',
+            'what','whatsnew','which','who','whos','workspace'
+            )
+        ),
+    'SYMBOLS' => array(
+        '...'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        //3 => false,
+        //4 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000FF;',
             2 => 'color: #0000FF;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #228B22;',
-			),
-		'ESCAPE_CHAR' => array(
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #228B22;',
+            2 => 'color:#A020F0;'
+            ),
+        'ESCAPE_CHAR' => array(
             0 => ''
-			),
-		'BRACKETS' => array(
+            ),
+        'BRACKETS' => array(
             0 => 'color: #080;'
-			),
-		'STRINGS' => array(
-			//0 => 'color: #A020F0;'
-			),
-		'NUMBERS' => array(
+            ),
+        'STRINGS' => array(
+            //0 => 'color: #A020F0;'
+            ),
+        'NUMBERS' => array(
             0 => 'color: #33f;'
-			),
-		'METHODS' => array(
+            ),
+        'METHODS' => array(
             1 => '',
             2 => ''
-			),
-		'SYMBOLS' => array(
+            ),
+        'SYMBOLS' => array(
             0 => 'color: #080;'
-			),
-		'REGEXPS' => array(
-            0 => 'color:#A020F0;'
-			),
-		'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #33f;'
+            ),
+        'SCRIPT' => array(
             0 => ''
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => 'http://www.mathworks.com/access/helpdesk/help/techdoc/ref/{FNAME}.html',
-		3 => '',
-		4 => ''
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.',
-		2 => '::'
-		),
-	'REGEXPS' => array(
-        0 => array(
-            GESHI_SEARCH => "([^\w])'([^\\n\\r']*)'",
-            GESHI_REPLACE => '\\2',
-            GESHI_MODIFIERS => '',
-            GESHI_BEFORE => "\\1'",
-            GESHI_AFTER => "'"
-		)
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => 'http://www.mathworks.com/access/helpdesk/help/techdoc/ref/{FNAMEL}.html'
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.',
+        2 => '::'
+        ),
+    'REGEXPS' => array(
+        //Complex numbers
+        0 => '(?<![\\w])[+-]?[\\d]*([\\d]\\.|\\.[\\d])?[\\d]*[ij](?![\\w])'
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/mirc.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/mirc.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * -----
  * Author: Alberto 'Birckin' de Areba (Birckin@hotmail.com)
  * Copyright: (c) 2006 Alberto de Areba
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2006/05/29
  *
  * mIRC Scripting language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *   -  Added description of extra language features (SF#1970248)
  * 2006/05/29 (1.0.0)
  *   -  First Release
  *
@@ -35,120 +37,137 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'mIRC Scripting',
-	'COMMENT_SINGLE' => array(1 => ';'),
-  	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array(),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		1 => array(
-        	'alias', 'menu', 'dialog',
-			),
-		2 => array(
-			'if', 'elseif', 'else', 'while', 'return', 'goto',
-			),
-		3 => array(
-			'/action','/ajinvite','/alias','/amsg','/ame','/anick','/aop',
-			'/auser','/avoice','/auto','/autojoin','/away','/background','/ban',
-			'/beep','/channel','/clear','/clearall','/clipboard','/close',
-			'/closemsg','/color','/copy','/creq','/ctcp','/ctcpreply','/ctcps',
-			'/dcc','/dde','/ddeserver','/debug','/describe','/disable',
-			'/disconnect','/dlevel','/dll','/dns','/dqwindow','/ebeeps','/echo',
-			'/editbox','/emailaddr','/enable','/events','/exit','/filter',
-			'/findtext','/finger','/flash','/flood','/flush','/flushini',
-			'/font','/fsend','/fserve','/fullname','/ghide','/gload','/gmove',
-			'/gopts','/gplay','/gpoint','/gqreq','/groups','/gshow','/gsize',
-			'/gstop','/gtalk','/gunload','/guser','/help','/hop','/ignore',
-			'/invite','/join','/kick','/linesep','/links','/list','/load',
-			'/loadbuf','/localinfo','/log','/me','/mdi','/mkdir','/mnick',
-			'/mode','/msg','/names','/nick','/noop','/notice','/notify',
-			'/omsg','/onotice','/part','/partall','/pdcc','/perform','/ping',
-			'/play','/pop','/protect','/pvoice','/qmsg','/qme','/query',
-			'/queryrn','/quit','/raw','/remini','/remote','/remove','/rename',
-			'renwin','/resetidle','/rlevel','/rmdir','/run','/ruser','/save',
-			'/savebuf','/save','/saveini','/say','/server','/showmirc','/sline',
-			'/sound','/speak','/splay','/sreq','/strip','/time',
-			//'/timer[N/name]', //Handled as a regular expression below ...
-			'/timers','/timestamp','/titlebar','/tnick','/tokenize','/topic',
-			'/ulist','/unload','/updatenl','/url','/uwho','window','/winhelp',
-			'/write','/writeini','/who','/whois','/whowas'
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')', '{', '}', '[', ']', '|',
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #994444;',
-			2 => 'color: #000000; font-weight: bold;',
-			3 => 'color: #990000; font-weight: bold;',
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			),
-		'ESCAPE_CHAR' => array(
-			),
-		'BRACKETS' => array(
-			0 => 'color: #FF0000;',
-			),
-		'STRINGS' => array(
-			),
+    'LANG_NAME' => 'mIRC Scripting',
+    'COMMENT_SINGLE' => array(1 => ';'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'alias', 'menu', 'dialog',
+            ),
+        2 => array(
+            'if', 'elseif', 'else', 'while', 'return', 'goto','var'
+            ),
+        3 => array(
+            'action','ajinvite','amsg','ame','anick','aop','auser',
+            'avoice','auto','autojoin','away','background','ban','beep',
+            'channel','clear','clearall','clipboard','close','closemsg','color',
+            'copy','creq','ctcp','ctcpreply','ctcps','dcc','dde','ddeserver',
+            'debug','describe','disable','disconnect','dlevel','dll','dns',
+            'dqwindow','ebeeps','echo','editbox','emailaddr','enable','events',
+            'exit','filter','findtext','finger','flash','flood','flush',
+            'flushini','font','fsend','fserve','fullname','ghide','gload',
+            'gmove','gopts','gplay','gpoint','gqreq','groups','gshow','gsize',
+            'gstop','gtalk','gunload','guser','help','hop','ignore','invite',
+            'join','kick','linesep','links','list','load','loadbuf','localinfo',
+            'log','me','mdi','mkdir','mnick','mode','msg','names','nick','noop',
+            'notice','notify','omsg','onotice','part','partall','pdcc',
+            'perform','ping','play','pop','protect','pvoice','qmsg','qme',
+            'query','queryrn','quit','raw','remini','remote','remove','rename',
+            'enwin','resetidle','rlevel','rmdir','run','ruser','save','savebuf',
+            'saveini','say','server','showmirc','sline','sound','speak','splay',
+            'sreq','strip','time',
+            //'timer[N/name]', //Handled as a regular expression below ...
+            'timers','timestamp','titlebar','tnick','tokenize','topic','ulist',
+            'unload','updatenl','url','uwho','window','winhelp','write',
+            'writeini','who','whois','whowas'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #994444;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #990000; font-weight: bold;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #FF0000;',
+            ),
+        'STRINGS' => array(
+            ),
         'NUMBERS' => array(
             0 => '',
-			),
-		'METHODS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #FF0000;',
-			),
-		'REGEXPS' => array(
-			0 => 'color: #000099;',
-			1 => 'color: #990000;',
-			2 => 'color: #888800;',
-			3 => 'color: #888800;',
-			4 => 'color: #000099;',
-			5 => 'color: #000099;',
-			6 => 'color: #990000; font-weight: bold;',
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => 'http://www.mirc.com/{FNAME}',
-		4 => ''
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		0 => '\$[^$][^ ,\(\)]*',
-		1 => '(%|&).+?[^ ,\)]*',
-		2 => '(#|@).+?[^ ,\)]*',
-		3 => '-[a-z\d]+',
-		4 => '(on|ctcp) (!|@|&)?(\d|\*):[a-zA-Z]+:',
-		/*4 => array(
-			GESHI_SEARCH => '((on|ctcp) (!|@|&)?(\d|\*):(Action|Active|Agent|AppActive|Ban|Chat|Close|Connect|Ctcp|CtcpReply|DccServer|DeHelp|DeOp|DeVoice|Dialog|Dns|Error|Exit|FileRcvd|FileSent|GetFail|Help|Hotlink|Input|Invite|Join|KeyDown|KeyUp|Kick|Load|Logon|MidiEnd|Mode|Mp3End|Nick|NoSound|Notice|Notify|Op|Open|Part|Ping|Pong|PlayEnd|Quit|Raw|RawMode|SendFail|Serv|ServerMode|ServerOp|Signal|Snotice|Start|Text|Topic|UnBan|Unload|Unotify|User|Mode|Voice|Wallops|WaveEnd):)',
-			GESHI_REPLACE => '\\1',
-			GESHI_MODIFIERS => 'i',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => ''
-			),*/
+            ),
+        'METHODS' => array(
+            0 => 'color: #008000;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #FF0000;',
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #000099;',
+            1 => 'color: #990000;',
+            2 => 'color: #000099;',
+            3 => 'color: #888800;',
+            4 => 'color: #888800;',
+            5 => 'color: #000099;',
+            6 => 'color: #990000; font-weight: bold;',
+            7 => 'color: #990000; font-weight: bold;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => 'http://www.mirc.com/{FNAMEL}'
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array('.'),
+    'REGEXPS' => array(
+        //Variable names
+        0 => '\$[a-zA-Z0-9]+',
+        //Variable names
+        1 => '(%|&amp;)[a-zA-Z0-9äöü]+',
+        //Client to Client Protocol handling
+        2 => '(on|ctcp) (!|@|&amp;)?(\d|\*):[a-zA-Z]+:',
+        /*4 => array(
+            GESHI_SEARCH => '((on|ctcp) (!|@|&)?(\d|\*):(Action|Active|Agent|AppActive|Ban|Chat|Close|Connect|Ctcp|CtcpReply|DccServer|DeHelp|DeOp|DeVoice|Dialog|Dns|Error|Exit|FileRcvd|FileSent|GetFail|Help|Hotlink|Input|Invite|Join|KeyDown|KeyUp|Kick|Load|Logon|MidiEnd|Mode|Mp3End|Nick|NoSound|Notice|Notify|Op|Open|Part|Ping|Pong|PlayEnd|Quit|Raw|RawMode|SendFail|Serv|ServerMode|ServerOp|Signal|Snotice|Start|Text|Topic|UnBan|Unload|Unotify|User|Mode|Voice|Wallops|WaveEnd):)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'i',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),*/
+        //Channel names
+        3 => '(#|@)[a-zA-Z0-9]+',
+        4 => '-[a-z\d]+',
+        //Raw protocol handling
         5 => 'raw (\d|\*):',
-		6 => '\/timer(?!s\b)[0-9a-zA-Z_]+',
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+        //Timer handling
+        6 => '\/timer(?!s\b)[0-9a-zA-Z_]+',
+        // /...
+        7 => '\/[a-zA-Z0-9]+'
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'NUMBERS' => GESHI_NEVER
+            ),
+        'KEYWORDS' => array(
+            2 => array(
+                'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9\$_\|\#;>^&\/])'
+            )
+        )
+    )
 );
 
 ?>
--- a/plugins/geshi/geshi/mpasm.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/mpasm.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * ---------
  * Author: Bakalex (bakalex@gmail.com)
  * Copyright: (c) 2004 Bakalex, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/12/6
  *
  * Microchip Assembler language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *  - Added description of extra language features (SF#1970248)
  * 2005/01/29 (1.0.0)
  *  - First Release
  *
@@ -42,117 +44,121 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Microchip Assembler',
-	'COMMENT_SINGLE' => array(1 => ';'),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		/*Directive Language*/
-		4 => array(
-			'CONSTANT', '#DEFINE', 'END', 'EQU', 'ERROR', 'ERROR-LEVEL', '#INCLUDE', 'LIST',
-			'MESSG', 'NOLIST', 'ORG', 'PAGE', 'PROCESSOR', 'RADIX', 'SET', 'SPACE', 'SUBTITLE',
-			'TITLE', '#UNDEFINE', 'VARIABLE', 'ELSE', 'ENDIF', 'ENDW', 'IF', 'IFDEF', 'IFNDEF',
-			'WHILE', '__BADRAM', 'CBLOCK', '__CONFIG', 'DA', 'DATA', 'DB', 'DE', 'DT', 'DW',
-			'ENDC', 'FILL', '__IDLOCS', '__MAXRAM', 'RES', 'ENDM', 'EXITM', 'EXPAND', 'LOCAL',
-			'MACRO', 'NOEXPAND', 'BANKISEL', 'BANKSEL', 'CODE', 'EXTERN', 'GLOBAL', 'IDATA',
-			'PAGESEL', 'UDATA', 'UDATA_ACS', 'UDATA_OVR', 'UDATA_SHR'
-		  ),
-		/* 12&14-bit Specific Instruction Set*/
-		1 => array(
-			'andlw', 'call', 'clrwdt', 'goto', 'iorlw', 'movlw', 'option', 'retlw', 'sleep',
-			'tris', 'xorlw', 'addwf', 'andwf', 'clrf', 'clrw', 'comf', 'decf', 'decfsz', 'incf',
-			'incfsz', 'iorwf', 'movf', 'movwf', 'nop', 'rlf', 'rrf', 'subwf', 'swapf', 'xorwf',
-			'bcf', 'bsf', 'btfsc', 'btfss',
-			'addlw', 'iorlw', 'retfie', 'return', 'sublw', 'xorlw', 'addcf', 'adddcf', 'b', 'bc', 'bdc',
-			'bnc', 'bndc', 'bnz', 'bz', 'clrc', 'clrdc', 'clrz', 'lcall', 'lgoto', 'movfw',
-			'negf', 'setc', 'setdc', 'setz', 'skpc', 'skpdc', 'skpnc', 'skpndc', 'skpnz', 'skpz',
-			'subcf', 'subdcf', 'tstf'
-		    ),
-		/* 16-bit Specific Instructiob Set */
-		2 => array (
-			'movfp', 'movlb', 'movlp', 'movpf', 'movwf', 'tablrd', 'tablwt', 'tlrd', 'tlwt',
-			'addwfc', 'daw', 'mullw', 'negw', 'rlcf', 'rlncf', 'rrcf', 'rrncf', 'setf', 'subwfb',
-			'btg', 'cpfseq', 'cpfsgt', 'cpfslt', 'dcfsnz', 'infsnz', 'tstfsz', 'lfsr', 'bnn',
-			'bnov', 'bra', 'pop', 'push', 'rcall', 'reset'
-		    ),
-		/* Registers */
-		3 => array(
-			'INDF', 'TMR0', 'PCL', 'STATUS', 'FSR', 'PORTA', 'PORTB', 'PORTC', 'PORTD', 'PORTE',
-			'PCLATH', 'INTCON', 'PIR1', 'PIR2', 'TMR1L', 'TMR1H', 'T1CON', 'TMR2', 'T2CON', 'TMR2L',
-			'TMR2H', 'TMR0H', 'TMR0L', 'SSPBUF', 'SSPCON', 'CCPR1L', 'CCPR1H', 'CCP1CON', 'RCSTA',
-			'TXREG', 'RCREG', 'CCPR2L', 'CCPR2H', 'CCP2CON', 'OPTION', 'TRISA', 'TRISB', 'TRISC',
-			'TRISD', 'TRISE', 'PIE2', 'PIE1', 'PR2', 'SSPADD', 'SSPSTAT', 'TXSTA', 'SPBRG'
-		    ),
-		/*Operands*/
-		5 => array(
-			 'high','low'
-			)
-		),
-	'SYMBOLS' => array(
-		'[', ']', '(', ')'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		5 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #00007f;',
-			2 => 'color: #0000ff;',
-			3 => 'color: #007f00;',
-			4 => 'color: #46aa03; font-weight:bold;',
-			5 => 'color: #7f0000;',
-			6 => 'color: #7f0000;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #adadad; font-style: italic;',
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #7f007f;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'METHODS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			0 => 'color: #ff0000;',
-			1 => 'color: #ff0000;'
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => ''
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		0 => '[0-9a-fA-F]{1,32}[hH]',
-		1 => '[01]{1,64}[bB]'
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'Microchip Assembler',
+    'COMMENT_SINGLE' => array(1 => ';'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        /*Directive Language*/
+        4 => array(
+            'CONSTANT', '#DEFINE', 'END', 'EQU', 'ERROR', 'ERROR-LEVEL', '#INCLUDE', 'LIST',
+            'MESSG', 'NOLIST', 'ORG', 'PAGE', 'PROCESSOR', 'RADIX', 'SET', 'SPACE', 'SUBTITLE',
+            'TITLE', '#UNDEFINE', 'VARIABLE', 'ELSE', 'ENDIF', 'ENDW', 'IF', 'IFDEF', 'IFNDEF',
+            'WHILE', '__BADRAM', 'CBLOCK', '__CONFIG', 'DA', 'DATA', 'DB', 'DE', 'DT', 'DW',
+            'ENDC', 'FILL', '__IDLOCS', '__MAXRAM', 'RES', 'ENDM', 'EXITM', 'EXPAND', 'LOCAL',
+            'MACRO', 'NOEXPAND', 'BANKISEL', 'BANKSEL', 'CODE', 'EXTERN', 'GLOBAL', 'IDATA',
+            'PAGESEL', 'UDATA', 'UDATA_ACS', 'UDATA_OVR', 'UDATA_SHR'
+            ),
+        /* 12&14-bit Specific Instruction Set*/
+        1 => array(
+            'andlw', 'call', 'clrwdt', 'goto', 'iorlw', 'movlw', 'option', 'retlw', 'sleep',
+            'tris', 'xorlw', 'addwf', 'andwf', 'clrf', 'clrw', 'comf', 'decf', 'decfsz', 'incf',
+            'incfsz', 'iorwf', 'movf', 'nop', 'rlf', 'rrf', 'subwf', 'swapf', 'xorwf',
+            'bcf', 'bsf', 'btfsc', 'btfss',
+            'addlw', 'retfie', 'return', 'sublw', 'addcf', 'adddcf', 'b', 'bc', 'bdc',
+            'bnc', 'bndc', 'bnz', 'bz', 'clrc', 'clrdc', 'clrz', 'lcall', 'lgoto', 'movfw',
+            'negf', 'setc', 'setdc', 'setz', 'skpc', 'skpdc', 'skpnc', 'skpndc', 'skpnz', 'skpz',
+            'subcf', 'subdcf', 'tstf'
+            ),
+        /* 16-bit Specific Instructiob Set */
+        2 => array (
+            'movfp', 'movlb', 'movlp', 'movpf', 'movwf', 'tablrd', 'tablwt', 'tlrd', 'tlwt',
+            'addwfc', 'daw', 'mullw', 'negw', 'rlcf', 'rlncf', 'rrcf', 'rrncf', 'setf', 'subwfb',
+            'btg', 'cpfseq', 'cpfsgt', 'cpfslt', 'dcfsnz', 'infsnz', 'tstfsz', 'lfsr', 'bnn',
+            'bnov', 'bra', 'pop', 'push', 'rcall', 'reset'
+            ),
+        /* Registers */
+        3 => array(
+            'INDF', 'TMR0', 'PCL', 'STATUS', 'FSR', 'PORTA', 'PORTB', 'PORTC', 'PORTD', 'PORTE',
+            'PCLATH', 'INTCON', 'PIR1', 'PIR2', 'TMR1L', 'TMR1H', 'T1CON', 'TMR2', 'T2CON', 'TMR2L',
+            'TMR2H', 'TMR0H', 'TMR0L', 'SSPBUF', 'SSPCON', 'CCPR1L', 'CCPR1H', 'CCP1CON', 'RCSTA',
+            'TXREG', 'RCREG', 'CCPR2L', 'CCPR2H', 'CCP2CON', 'OPTION', 'TRISA', 'TRISB', 'TRISC',
+            'TRISD', 'TRISE', 'PIE2', 'PIE1', 'PR2', 'SSPADD', 'SSPSTAT', 'TXSTA', 'SPBRG'
+            ),
+        /*Operands*/
+        5 => array(
+            'high','low'
+            )
+        ),
+    'SYMBOLS' => array(
+        '[', ']', '(', ')'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #00007f;',
+            2 => 'color: #0000ff;',
+            3 => 'color: #007f00;',
+            4 => 'color: #46aa03; font-weight:bold;',
+            5 => 'color: #7f0000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #adadad; font-style: italic;',
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #7f007f;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #ff0000;',
+            1 => 'color: #ff0000;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        //Hex numbers
+        0 => '[0-9a-fA-F]{1,32}[hH]',
+        //Binary numbers
+        1 => '[01]{1,64}[bB]'
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/mxml.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,145 @@
+<?php
+/*************************************************************************************
+ * mxml.php
+ * -------
+ * Author: David Spurr
+ * Copyright: (c) 2007 David Spurr (http://www.defusion.org.uk/)
+ * Release Version: 1.0.8.2
+ * Date Started: 2007/10/04
+ *
+ * MXML language file for GeSHi. Based on the XML file by Nigel McNie
+ *
+ * CHANGES
+ * -------
+ * 2007/10/04 (1.0.7.22)
+ *   -  First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'MXML',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array('<!--' => '-->'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        ),
+    'SYMBOLS' => array(
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            ),
+        'COMMENTS' => array(
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SCRIPT' => array(
+            0 => 'color: #00bbdd;',
+            1 => 'color: #ddbb00;',
+            2 => 'color: #339933;',
+            3 => 'color: #000000;'
+            ),
+        'REGEXPS' => array(
+            0 => 'font-weight: bold; color: black;',
+            1 => 'color: #7400FF;',
+            2 => 'color: #7400FF;'
+            )
+        ),
+    'URLS' => array(
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        // xml declaration
+        0 => array(
+            GESHI_SEARCH => '(&lt;[\/?|(\?xml)]?[a-z0-9_\-:]*(\?&gt;))',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'i',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        // opening tags
+        1 => array(
+            GESHI_SEARCH => '(&lt;\/?[a-z]+:[a-z]+)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'i',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        // closing tags
+        2 => array(
+            GESHI_SEARCH => '(\/?&gt;)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'i',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            )
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+    'SCRIPT_DELIMITERS' => array(
+        0 => array(
+            '<!DOCTYPE' => '>'
+            ),
+        1 => array(
+            '&' => ';'
+            ),
+        2 => array(
+            //'<![CDATA[' => ']]>'
+            '<mx:Script>' => '</mx:Script>'
+            ),
+        3 => array(
+            '<' => '>'
+            )
+    ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => false,
+        1 => false,
+        2 => false,
+        3 => true
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- a/plugins/geshi/geshi/mysql.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/mysql.php	Fri May 29 19:30:59 2009 -0400
@@ -1,181 +1,475 @@
-<?php 
- /************************************************************************************* 
- * mysql.php 
- * --------- 
- * Author: Carl F�rstenberg (azatoth@gmail.com) 
- * Copyright: (c) 2005 Carl F�rstenberg, Nigel McNie (http://qbnz.com/highlighter) 
- * Release Version: 1.0.7.20
- * Date Started: 2004/06/04 
- * 
- * MySQL language file for GeSHi. 
- * 
- * 
- ************************************************************************************* 
- * 
- * This file is part of GeSHi. 
- * 
- * GeSHi 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. 
- * 
- * GeSHi 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 GeSHi; if not, write to the Free Software 
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 
- * 
- ************************************************************************************/ 
-  
-$language_data = array ( 
-  'LANG_NAME' => 'MySQL', 
-  'COMMENT_SINGLE' => array(1 =>'--', 2 => '#'), 
-  'COMMENT_MULTI' => array('/*' => '*/'), 
-  'CASE_KEYWORDS' => 1, 
-  'QUOTEMARKS' => array("'", '"', ''), 
-  'ESCAPE_CHAR' => '\\', 
-  'KEYWORDS' => array( 
-  1 => array( 
-  /* Mix */ 
-  'ALTER DATABASE', 'ALTER TABLE', 'CREATE DATABASE', 'CREATE INDEX', 'CREATE TABLE', 'DROP DATABASE', 
-  'DROP INDEX', 'DROP TABLE', 'RENAME TABLE', 'DELETE', 'DO', 'HANDLER', 'INSERT', 'LOAD DATA INFILE',  
-  'REPLACE', 'SELECT', 'TRUNCATE', 'UPDATE', 'DESCRIBE', 'USE', 'START TRANSACTION', 'COMMIT', 'ROLLBACK', 
-  'SAVEPOINT', 'ROLLBACK TO SAVEPOINT', 'LOCK TABLES', 'UNLOCK_TABLES', 'SET TRANACTIONS', 'SET', 'SHOW', 
-  'CREATE PROCEDURE', 'CREATE FUNCTION', 'ALTER PROCEDURE', 'ALTER FUNCTION', 'DROP PROCEDURE', 'DROP FUNCTION',  
-  'SHOW CREATE PROCEDURE', 'SHOW CREATE FUNCTION', 'SHOW PROCEDURE STATUS', 'SHOW FUNCTION STATUS',  
-  'CALL', 'BEGIN', 'END', 'DECLARE', 'CREATE ROUTINE', 'ALTER ROUTINE', 'CREATE', 'ALTER', 'DROP', 
-  'PRIMARY KEY', 'VALUES', 'INTO', 'FROM',  
-  'ANALYZE', 'BDB', 'BERKELEYDB', 'BTREE', 'BY', 'CASCADE', 'CHECK', 'COLUMN', 'COLUMNS', 'CONSTRAINT', 
-  'CROSS', 'DATABASES', 'DELAYED', 'DISTINCT', 'DISTINCTROW', 'ENCLOSED', 'ERRORS', 'ESCAPED', 'EXISTS', 
-  'EXPLAIN', 'FALSE', 'FIELDS', 'FORCE', 'FOREIGN', 'FULLTEXT', 'GEOMETRY', 'GRANT', 'GROUP', 'HASH', 
-  'HAVING', 'HELP', 'HIGH_PRIORITY', 'IGNORE', 'INNER', 'INNODB', 'INTERVAL', 'JOIN', 'KEYS', 'KILL', 
-  'LINES', 'LOW_PRIORITY', 'MASTER_SERVER_ID', 'MATCH', 'MIDDLEINT', 'MRG_MYISAM', 'NATURAL', 'OPTIMIZE', 
-  'OPTION', 'OPTIONALLY', 'ORDER', 'OUTER', 'OUTFILE', 'PRIVILEGES', 'PURGE', 'READ', 'REFERENCES', 
-  'REQUIRE', 'RESTRICT', 'RETURNS', 'REVOKE', 'RLIKE', 'RTREE', 'SOME', 'SONAME', 'SPATIAL', 'SQL_BIG_RESULT',  
-  'SQL_CALC_FOUND_ROWS', 'SQL_SMALL_RESULT', 'SSL', 'STARTING', 'STRAIGHT_JOIN', 'STRIPED', 'TERMINATED',  
-  'TRUE', 'TYPES', 'UNION', 'USAGE', 'USER_RESOURCES', 'USING', 'VARCHARACTER', 'WARNINGS', 'WHERE', 'WRITE', 
-  /* Control Flow Functions */ 
-  'CASE', 'WHEN', 'THEN', 'ELSE', 'END', 
-  /* String Functions */ 
-  'UNHEX', 'BIN', 'BIT_LENGTH', 'CHAR_LENGTH', 'CHARACTER_LENGTH', 'COMPRESS', 'CONCAT', 
-  'CONCAT_WS', 'CONV', 'ELT', 'EXPORT_SET', 'FIELD', 'FIND_IN_SET', 'FORMAT', 'HEX',  
-  'INSERT', 'INSTR', 'LCASE', 'LEFT', 'LENGTH', 'LOAD_FILE', 'LOCATE', 'LOWER', 'LPAD', 
-  'LTRIM', 'MAKE_SET', 'MID', 'OCT', 'OCTET_LENGTH', 'ORD', 'POSITION', 'QUOTE', 'REPEAT', 
-  'REPLACE', 'REVERSE', 'RIGHT', 'RPAD', 'RTRIM', 'SOUNDEX', 'SPACE', 'SUBSTRING',  
-  'SUBSTRING_INDEX', 'TRIM', 'UCASE', 'UPPER', 'UNCOMPRESS', 'UNCOMPRESSD_LENGTH',
-  'MD5', 'SHA1',  
-  /* Numeric Functions */ 
-  'ABS', 'ACOS', 'ASIN', 'ATAN', 'ATAN2', 'CEILING', 'CEIL', 'COS', 'COT', 'CRC32', 'DEGREES', 
-  'EXP', 'FLOOR', 'LN', 'LOG', 'LOG2', 'LOG10', 'MOD', 'PI', 'POW', 'POWER', 'RADIANS', 'RAND', 
-  'ROUND', 'SIGN', 'SIN', 'SQRT', 'TAN', 'TRUNCATE', 
-  /* Date and Time Functions */ 
-  'ADDDATE', 'ADDTIME', 'CONVERT_TZ', 'CURDATE', 'CURRENT_DATE', 'CURTIME', 'CURRENT_TIME', 
-  'CURRENT_TIMESTAMP', 'DATEDIFF', 'DATE_ADD', 'DATE_SUB', 'DATE_FORMAT', 'DAY',  
-  'DAYNAME', 'DAYOFMONTH', 'DAYOFWEEK', 'DAYOFYEAR', 'EXTRACT', 'FROM_DAYS', 'FROM_UNIXTIME', 
-  'GET_FORMAT', 'LAST_DAY', 'LOCALTIME', 'LOCALTIMESTAMP', 'MAKEDATE', 'MAKETIME',  
-  'MICROSECOND', 'MONTHNAME', 'NOW', 'PERIOD_ADD', 'PERIOD_DIFF', 'QUARTER', 
-  'SECOND', 'SEC_TO_TIME', 'STR_TO_DATE', 'SUBDATE', 'SUBTIME', 'SYSDATE', 'TIME', 'TIMEDIFF', 
-  'TIMESTAMP', 'TIMESTAMPADD', 'TIMESTAMPDIFF', 'TIME_FORMAT', 'TIME_TO_SEC', 'TO_DAYS',  
-  'UNIX_TIMESTAMP', 'UTC_DATE', 'UTC_TIME', 'UTC_TIMESTAMP', 'WEEKDAY', 'WEEKOFYEAR', 
-  'YEARWEEK', 
-   
-   ), 
-   2 => array( 
-   'INTEGER', 'SMALLINT', 'DECIMAL', 'NUMERIC', 'FLOAT', 'REAL', 'DOUBLE PRECISION', 
-   'DOUBLE', 'INT', 'DEC', 'BIT' ,'TINYINT', 'SMALLINT', 'MEDIUMINT', 'BIGINT',  
-   'DATETIME', 'DATE', 'TIMESTAMP', 'TIME', 'YEAR',  
-   'CHAR', 'VARCHAR', 'BINARY', 'CHARACTER VARYING', 'VARBINARY', 'TINYBLOB', 'TINYTEXT', 
-   'BLOB', 'TEXT','MEDIUMBLOB', 'MEDIUMTEXT', 'LONGBLOB', 'LONGTEXT', 'ENUM', 'SET', 
-   'SERIAL DEFAULT VALUE', 'SERIAL', 'FIXED' 
-   ), 
-   3 => array( 
-   'ZEROFILL', 'NOT NULL', 'UNSIGNED', 'AUTO_INCREMENT', 'UNIQUE', 'NOT', 'NULL', 'CHARACTER SET', 'CHARSET', 
-   'ASCII', 'UNICODE', 'NATIONAL', 'BOTH', 'LEADING', 'TRAILING','DEFAULT' 
-   ), 
-   4 => array( 
-   'MICROSECOND', 'SECOND', 'MINUTE', 'HOUR', 'DAY', 'WEEK', 'MONTH', 'QUARTER', 'YEAR', 'SECOND_MICROSECOND',  
-   'MINUTE_MICROSECOND', 'MINUTE_SECOND', 'HOUR_MICROSECOND', 'HOUR_SECOND', 'HOUR_MINUTE', 'DAY_MICROSECOND', 
-   'DAY_SECOND', 'DAY_MINUTE', 'DAY_HOUR', 'YEAR_MONTH' 
-   ),
-   5 => array(
-   'OR', 'XOR', 'AND', 'NOT', 'BETWEEN', 'IS', 'LIKE', 'REGEXP', 'IN', 'DIV',
-    'MOD', 'BINARY', 'COLLATE', 'LIMIT', 'OFFSET'
-   ), 
-   ),
-   'SYMBOLS' => array( 
-   ':=', 
-   '||', 'OR', 'XOR', 
-   '&&', 'AND', 
-   'NOT', 
-   'BETWEEN', 'CASE', 'WHEN', 'THEN', 'ELSE', 
-   '=', '<=>', '>=', '>', '<=', '<', '<>', '!=', 'IS', 'LIKE', 'REGEXP', 'IN', 
-   '|', 
-   '&', 
-   '<<', '>>', 
-   '-', '+', 
-   '*', '/', 'DIV', '%', 'MOD', 
-   '^', 
-   '-', '~', 
-   '!', 
-   'BINARY', 'COLLATE', 
-   '(', ')', 
-   ), 
-   'CASE_SENSITIVE' => array( 
-   GESHI_COMMENTS => false, 
-   1 => false, 
-   2 => false, 
-   3 => false, 
-   4 => false, 
-   5 => false
-   ), 
-   'STYLES' => array( 
-   'KEYWORDS' => array( 
-   1 => 'color: #993333; font-weight: bold;', 
-   2 => 'color: #aa9933; font-weight: bold;', 
-   3 => 'color: #aa3399; font-weight: bold;', 
-   4 => 'color: #33aa99; font-weight: bold;',
-   5 => 'color: #993333; font-weight: bold;'
-   ), 
-   'COMMENTS' => array( 
-   'MULTI' => 'color: #808080; font-style: italic;', 
-   1 => 'color: #808080; font-style: italic;', 
-   2 => 'color: #808080; font-style: italic;' 
-   ), 
-   'ESCAPE_CHAR' => array( 
-   0 => 'color: #000099; font-weight: bold;' 
-   ), 
-   'BRACKETS' => array( 
-   0 => 'color: #66cc66;' 
-   ), 
-   'STRINGS' => array( 
-   0 => 'color: #ff0000;' 
-   ), 
-   'NUMBERS' => array( 
-   0 => 'color: #cc66cc;' 
-   ), 
-   'METHODS' => array( 
-   ), 
-   'SYMBOLS' => array( 
-   0 => 'color: #66cc66;' 
-   ), 
-   'SCRIPT' => array( 
-   ), 
-   'REGEXPS' => array( 
-   ) 
-   ), 
-   'OOLANG' => false, 
-   'OBJECT_SPLITTERS' => array( 
-   ), 
-   'REGEXPS' => array( 
-   ), 
-   'STRICT_MODE_APPLIES' => GESHI_NEVER, 
-   'SCRIPT_DELIMITERS' => array( 
-   ), 
-   'HIGHLIGHT_STRICT_BLOCK' => array( 
-   ) 
+<?php
+/*************************************************************************************
+ * mysql.php
+ * ---------
+ * Author: Marjolein Katsma (marjolein.is.back@gmail.com)
+ * Copyright: (c) 2008 Marjolein Katsma (http://blog.marjoleinkatsma.com/)
+ * Release Version: 1.0.8.2
+ * Date Started: 2008-12-12
+ *
+ * MySQL language file for GeSHi.
+ *
+ * Based on original MySQL language file by Carl Fürstenberg (2004); brought
+ * up-to-date for current MySQL versions, and with more classes for different
+ * types of keywords; several minor errors were corrected as well.
+ *
+ * Some "classes" have two groups here: this is to allow for the fact that some
+ * keywords in MySQL have a double function: many of those are either a function
+ * (must be immediately followed by an opening bracket) or some other keyword:
+ * so they can be distinguished by the presence (or not) of that opening bracket.
+ * (An immediately following opening bracket is a default rule for functions in
+ * MySQL, though this may be overridden; because it's only a default, we use a
+ * regex lookahead only where necessary to distinguish homonyms, not generally
+ * to match any function.)
+ * Other keywords with double usage cannot be distinguished and are classified
+ * in the "Mix" category.
+ *
+ *************************************************************************************
+ *
+ * This file is part of GeSHi.
+ *
+ * GeSHi 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.
+ *
+ * GeSHi 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 GeSHi; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'MySQL',
+    //'COMMENT_SINGLE' => array(1 =>'--', 2 => '#'),    // '--' MUST be folowed by whitespace,not necessarily a space
+    'COMMENT_SINGLE' => array(
+        1 =>'-- ',
+        2 => '#'
+        ),
+    'COMMENT_REGEXP' => array(
+        1 => "/(?:--\s).*?$/",                          // double dash followed by any whitespace
+        ),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,            // @@@ would be nice if this could be defined per group!
+    'QUOTEMARKS' => array("'", '"', '`'),
+    'ESCAPE_CHAR' => '\\',                              // by default only, can be specified
+    'ESCAPE_REGEXP' => array(
+        1 => "/[_%]/",                                  // search wildcards
+        ),
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC |
+        GESHI_NUMBER_OCT_PREFIX |
+        GESHI_NUMBER_HEX_PREFIX |
+        GESHI_NUMBER_FLT_NONSCI |
+        GESHI_NUMBER_FLT_SCI_SHORT |
+        GESHI_NUMBER_FLT_SCI_ZERO,
+    'KEYWORDS' => array(
+        1 => array(
+            // Mix: statement keywords and keywords that don't fit in any other
+            // category, or have multiple usage/meanings
+            'ACTION','ADD','AFTER','ALGORITHM','ALL','ALTER','ANALYZE','ANY',
+            'ASC','AS','BDB','BEGIN','BERKELEYDB','BINARY','BTREE','CALL',
+            'CASCADED','CASCADE','CHAIN','CHECK','COLUMNS','COLUMN','COMMENT',
+            'COMMIT','COMMITTED','CONSTRAINT','CONTAINS SQL','CONSISTENT',
+            'CONVERT','CREATE','CROSS','DATA','DATABASES',
+            'DECLARE','DEFINER','DELAYED','DELETE','DESCRIBE','DESC',
+            'DETERMINISTIC','DISABLE','DISCARD','DISTINCTROW','DISTINCT','DO',
+            'DROP','DUMPFILE','DUPLICATE KEY','ENABLE','ENCLOSED BY','ENGINE',
+            'ERRORS','ESCAPED BY','EXISTS','EXPLAIN','EXTENDED','FIELDS',
+            'FIRST','FOR EACH ROW','FORCE','FOREIGN KEY','FROM','FULL',
+            'FUNCTION','GLOBAL','GRANT','GROUP BY','HANDLER','HASH','HAVING',
+            'HELP','HIGH_PRIORITY','IF NOT EXISTS','IGNORE','IMPORT','INDEX',
+            'INFILE','INNER','INNODB','INOUT','INTO','INVOKER',
+            'ISOLATION LEVEL','JOIN','KEYS','KEY','KILL','LANGUAGE SQL','LAST',
+            'LIMIT','LINES','LOAD','LOCAL','LOCK','LOW_PRIORITY',
+            'MASTER_SERVER_ID','MATCH','MERGE','MIDDLEINT','MODIFIES SQL DATA',
+            'MODIFY','MRG_MYISAM','NATURAL','NEXT','NO SQL','NO','ON',
+            'OPTIMIZE','OPTIONALLY','OPTION','ORDER BY','OUTER','OUTFILE','OUT',
+            'PARTIAL','PREV','PRIMARY KEY','PRIVILEGES','PROCEDURE','PURGE',
+            'QUICK','READS SQL DATA','READ','REFERENCES','RELEASE','RENAME',
+            'REPEATABLE','REQUIRE','RESTRICT','RETURNS','REVOKE',
+            'ROLLBACK','ROUTINE','RTREE','SAVEPOINT','SELECT',
+            'SERIALIZABLE','SESSION','SET','SHARE MODE','SHOW','SIMPLE',
+            'SNAPSHOT','SOME','SONAME','SQL SECURITY','SQL_BIG_RESULT',
+            'SQL_BUFFER_RESULT','SQL_CACHE','SQL_CALC_FOUND_ROWS',
+            'SQL_NO_CACHE','SQL_SMALL_RESULT','SSL','START','STARTING BY',
+            'STATUS','STRAIGHT_JOIN','STRIPED','TABLESPACE','TABLES','TABLE',
+            'TEMPORARY','TEMPTABLE','TERMINATED BY','TO','TRANSACTIONS',
+            'TRANSACTION','TRIGGER','TYPES','TYPE','UNCOMMITTED','UNDEFINED',
+            'UNION','UNLOCK_TABLES','UPDATE','USAGE','USE','USER_RESOURCES',
+            'USING','VALUES','VALUE','VIEW','WARNINGS','WHERE','WITH ROLLUP',
+            'WITH','WORK','WRITE',
+            ),
+        2 => array(     //No ( must follow
+            // Mix: statement keywords distinguished from functions by the same name
+            "CURRENT_USER", "DATABASE", "IN", "INSERT", "DEFAULT", "REPLACE", "SCHEMA", "TRUNCATE"
+            ),
+        3 => array(
+            // Values (Constants)
+            'FALSE','NULL','TRUE',
+            ),
+        4 => array(
+            // Column Data Types
+            'BIGINT','BIT','BLOB','BOOLEAN','BOOL','CHARACTER VARYING',
+            'CHAR VARYING','DATETIME','DECIMAL','DEC','DOUBLE PRECISION',
+            'DOUBLE','ENUM','FIXED','FLOAT','GEOMETRYCOLLECTION','GEOMETRY',
+            'INTEGER','INT','LINESTRING','LONGBLOB','LONGTEXT','MEDIUMBLOB',
+            'MEDIUMINT','MEDIUMTEXT','MULTIPOINT','MULTILINESTRING',
+            'MULTIPOLYGON','NATIONAL CHARACTER','NATIONAL CHARACTER VARYING',
+            'NATIONAL CHAR VARYING','NATIONAL VARCHAR','NCHAR VARCHAR','NCHAR',
+            'NUMERIC','POINT','POLYGON','REAL','SERIAL',
+            'SMALLINT','TEXT','TIMESTAMP','TINYBLOB','TINYINT',
+            'TINYTEXT','VARBINARY','VARCHARACTER','VARCHAR',
+            ),
+        5 => array(     //No ( must follow
+            // Column data types distinguished from functions by the same name
+            "CHAR", "DATE", "TIME"
+            ),
+        6 => array(
+            // Table, Column & Index Attributes
+            'AUTO_INCREMENT','AVG_ROW_LENGTH','BOTH','CHECKSUM','CONNECTION',
+            'DATA DIRECTORY','DEFAULT NULL','DELAY_KEY_WRITE','FULLTEXT',
+            'INDEX DIRECTORY','INSERT_METHOD','LEADING','MAX_ROWS','MIN_ROWS',
+            'NOT NULL','PACK_KEYS','ROW_FORMAT','SERIAL DEFAULT VALUE','SIGNED',
+            'SPATIAL','TRAILING','UNIQUE','UNSIGNED','ZEROFILL'
+            ),
+        7 => array(     //No ( must follow
+            // Column attribute distinguished from function by the same name
+            "CHARSET"
+            ),
+        8 => array(
+            // Date and Time Unit Specifiers
+            'DAY_HOUR','DAY_MICROSECOND','DAY_MINUTE','DAY_SECOND',
+            'HOUR_MICROSECOND','HOUR_MINUTE','HOUR_SECOND',
+            'MINUTE_MICROSECOND','MINUTE_SECOND',
+            'SECOND_MICROSECOND','YEAR_MONTH'
+            ),
+        9 => array(     //No ( must follow
+            // Date-time unit specifiers distinguished from functions by the same name
+            "DAY", "HOUR", "MICROSECOND", "MINUTE", "MONTH", "QUARTER", "SECOND", "WEEK", "YEAR"
+            ),
+        10 => array(
+            // Operators (see also Symbols)
+            'AND','BETWEEN','CHARACTER SET','COLLATE','DIV','IS NOT NULL',
+            'IS NOT','IS NULL','IS','LIKE','NOT','OFFSET','OR','REGEXP','RLIKE',
+            'SOUNDS LIKE','XOR'
+            ),
+        11 => array(     //No ( must follow
+            // Operator distinghuished from function by the same name
+            "INTERVAL"
+            ),
+        12 => array(
+            // Control Flow (functions)
+            'CASE','ELSE','END','IFNULL','IF','NULLIF','THEN','WHEN',
+            ),
+        13 => array(
+            // String Functions
+            'ASCII','BIN','BIT_LENGTH','CHAR_LENGTH','CHARACTER_LENGTH',
+            'CONCAT_WS','CONCAT','ELT','EXPORT_SET','FIELD',
+            'FIND_IN_SET','FORMAT','HEX','INSTR','LCASE','LEFT','LENGTH',
+            'LOAD_FILE','LOCATE','LOWER','LPAD','LTRIM','MAKE_SET','MID',
+            'OCTET_LENGTH','ORD','POSITION','QUOTE','REPEAT','REVERSE',
+            'RIGHT','RPAD','RTRIM','SOUNDEX','SPACE','STRCMP','SUBSTRING_INDEX',
+            'SUBSTRING','TRIM','UCASE','UNHEX','UPPER',
+            ),
+        14 => array(     //A ( must follow
+            // String functions distinguished from other keywords by the same name
+            "INSERT", "REPLACE", "CHAR"
+            ),
+        15 => array(
+            // Numeric Functions
+            'ABS','ACOS','ASIN','ATAN2','ATAN','CEILING','CEIL',
+            'CONV','COS','COT','CRC32','DEGREES','EXP','FLOOR','LN','LOG10',
+            'LOG2','LOG','MOD','OCT','PI','POWER','POW','RADIANS','RAND',
+            'ROUND','SIGN','SIN','SQRT','TAN',
+            ),
+        16 => array(     //A ( must follow
+            // Numeric function distinguished from other keyword by the same name
+            "TRUNCATE"
+            ),
+        17 => array(
+            // Date and Time Functions
+            'ADDDATE','ADDTIME','CONVERT_TZ','CURDATE','CURRENT_DATE',
+            'CURRENT_TIME','CURRENT_TIMESTAMP','CURTIME','DATE_ADD',
+            'DATE_FORMAT','DATE_SUB','DATEDIFF','DAYNAME','DAYOFMONTH',
+            'DAYOFWEEK','DAYOFYEAR','EXTRACT','FROM_DAYS','FROM_UNIXTIME',
+            'GET_FORMAT','LAST_DAY','LOCALTIME','LOCALTIMESTAMP','MAKEDATE',
+            'MAKETIME','MONTHNAME','NOW','PERIOD_ADD',
+            'PERIOD_DIFF','SEC_TO_TIME','STR_TO_DATE','SUBDATE','SUBTIME',
+            'SYSDATE','TIME_FORMAT','TIME_TO_SEC',
+            'TIMESTAMPADD','TIMESTAMPDIFF','TO_DAYS',
+            'UNIX_TIMESTAMP','UTC_DATE','UTC_TIME','UTC_TIMESTAMP','WEEKDAY',
+            'WEEKOFYEAR','YEARWEEK',
+            ),
+        18 => array(     //A ( must follow
+            // Date-time functions distinguished from other keywords by the same name
+            "DATE", "DAY", "HOUR", "MICROSECOND", "MINUTE", "MONTH", "QUARTER",
+            "SECOND", "TIME", "WEEK", "YEAR"
+            ),
+        19 => array(
+            // Comparison Functions
+            'COALESCE','GREATEST','ISNULL','LEAST',
+            ),
+        20 => array(     //A ( must follow
+            // Comparison functions distinguished from other keywords by the same name
+            "IN", "INTERVAL"
+            ),
+        21 => array(
+            // Encryption and Compression Functions
+            'AES_DECRYPT','AES_ENCRYPT','COMPRESS','DECODE','DES_DECRYPT',
+            'DES_ENCRYPT','ENCODE','ENCRYPT','MD5','OLD_PASSWORD','PASSWORD',
+            'SHA1','SHA','UNCOMPRESS','UNCOMPRESSED_LENGTH',
+            ),
+        22 => array(
+            // GROUP BY (aggregate) Functions
+            'AVG','BIT_AND','BIT_OR','BIT_XOR','COUNT','GROUP_CONCAT',
+            'MAX','MIN','STDDEV_POP','STDDEV_SAMP','STDDEV','STD','SUM',
+            'VAR_POP','VAR_SAMP','VARIANCE',
+            ),
+        23 => array(
+            // Information Functions
+            'BENCHMARK','COERCIBILITY','COLLATION','CONNECTION_ID',
+            'FOUND_ROWS','LAST_INSERT_ID','ROW_COUNT',
+            'SESSION_USER','SYSTEM_USER','USER','VERSION',
+            ),
+        24 => array(     //A ( must follow
+            // Information functions distinguished from other keywords by the same name
+            "CURRENT_USER", "DATABASE", "SCHEMA", "CHARSET"
+            ),
+        25 => array(
+            // Miscellaneous Functions
+            'ExtractValue','BIT_COUNT','GET_LOCK','INET_ATON','INET_NTOA',
+            'IS_FREE_LOCK','IS_USED_LOCK','MASTER_POS_WAIT','NAME_CONST',
+            'RELEASE_LOCK','SLEEP','UpdateXML','UUID',
+            ),
+        26 => array(     //A ( must follow
+            // Miscellaneous function distinguished from other keyword by the same name
+            "DEFAULT"
+            ),
+        27 => array(
+            // Geometry Functions
+            'Area','AsBinary','AsText','AsWKB','AsWKT','Boundary','Buffer',
+            'Centroid','Contains','ConvexHull','Crosses',
+            'Difference','Dimension','Disjoint','Distance',
+            'EndPoint','Envelope','Equals','ExteriorRing',
+            'GLength','GeomCollFromText','GeomCollFromWKB','GeomFromText',
+            'GeomFromWKB','GeometryCollectionFromText',
+            'GeometryCollectionFromWKB','GeometryFromText','GeometryFromWKB',
+            'GeometryN','GeometryType',
+            'InteriorRingN','Intersection','Intersects','IsClosed','IsEmpty',
+            'IsRing','IsSimple',
+            'LineFromText','LineFromWKB','LineStringFromText',
+            'LineStringFromWKB',
+            'MBRContains','MBRDisjoint','MBREqual','MBRIntersects',
+            'MBROverlaps','MBRTouches','MBRWithin','MLineFromText',
+            'MLineFromWKB','MPointFromText','MPointFromWKB','MPolyFromText',
+            'MPolyFromWKB','MultiLineStringFromText','MultiLineStringFromWKB',
+            'MultiPointFromText','MultiPointFromWKB','MultiPolygonFromText',
+            'MultiPolygonFromWKB',
+            'NumGeometries','NumInteriorRings','NumPoints',
+            'Overlaps',
+            'PointFromText','PointFromWKB','PointN','PointOnSurface',
+            'PolyFromText','PolyFromWKB','PolygonFromText','PolygonFromWKB',
+            'Related','SRID','StartPoint','SymDifference',
+            'Touches',
+            'Union',
+            'Within',
+            'X',
+            'Y',
+            ),
+        ),
+    'SYMBOLS' => array(
+        1 => array(
+            /* Operators */
+            '=', ':=',                                      // assignment operators
+            '||', '&&', '!',                                // locical operators
+            '=', '<=>', '>=', '>', '<=', '<', '<>', '!=',   // comparison operators
+            '|', '&', '^', '~', '<<', '>>',                 // bitwise operators
+            '-', '+', '*', '/', '%',                        // numerical operators
+            ),
+        2 => array(
+            /* Other syntactical symbols */
+            '(', ')',
+            ',', ';',
+            ),
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false,
+        6 => false,
+        7 => false,
+        8 => false,
+        9 => false,
+        10 => false,
+        11 => false,
+        12 => false,
+        13 => false,
+        13 => false,
+        14 => false,
+        15 => false,
+        16 => false,
+        17 => false,
+        18 => false,
+        19 => false,
+        20 => false,
+        21 => false,
+        22 => false,
+        23 => false,
+        24 => false,
+        25 => false,
+        26 => false,
+        27 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #990099; font-weight: bold;',      // mix
+            2 => 'color: #990099; font-weight: bold;',      // mix
+            3 => 'color: #9900FF; font-weight: bold;',      // constants
+            4 => 'color: #999900; font-weight: bold;',      // column data types
+            5 => 'color: #999900; font-weight: bold;',      // column data types
+            6 => 'color: #FF9900; font-weight: bold;',      // attributes
+            7 => 'color: #FF9900; font-weight: bold;',      // attributes
+            8 => 'color: #9900FF; font-weight: bold;',      // date-time units
+            9 => 'color: #9900FF; font-weight: bold;',      // date-time units
+
+            10 => 'color: #CC0099; font-weight: bold;',      // operators
+            11 => 'color: #CC0099; font-weight: bold;',      // operators
+
+            12 => 'color: #009900;',     // control flow (functions)
+            13 => 'color: #000099;',     // string functions
+            14 => 'color: #000099;',     // string functions
+            15 => 'color: #000099;',     // numeric functions
+            16 => 'color: #000099;',     // numeric functions
+            17 => 'color: #000099;',     // date-time functions
+            18 => 'color: #000099;',     // date-time functions
+            19 => 'color: #000099;',     // comparison functions
+            20 => 'color: #000099;',     // comparison functions
+            21 => 'color: #000099;',     // encryption functions
+            22 => 'color: #000099;',     // aggregate functions
+            23 => 'color: #000099;',     // information functions
+            24 => 'color: #000099;',     // information functions
+            25 => 'color: #000099;',     // miscellaneous functions
+            26 => 'color: #000099;',     // miscellaneous functions
+            27 => 'color: #00CC00;',     // geometry functions
+            ),
+        'COMMENTS' => array(
+            'MULTI' => 'color: #808000; font-style: italic;',
+            1 => 'color: #808080; font-style: italic;',
+            2 => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #004000; font-weight: bold;',
+            1 => 'color: #008080; font-weight: bold;'       // search wildcards
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #FF00FF;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #008000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #008080;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            1 => 'color: #CC0099;',         // operators
+            2 => 'color: #000033;',         // syntax
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => 'http://search.mysql.com/search?site=refman-51&amp;q={FNAME}&amp;lr=lang_en',
+        2 => 'http://search.mysql.com/search?site=refman-51&amp;q={FNAME}&amp;lr=lang_en',
+        3 => 'http://search.mysql.com/search?site=refman-51&amp;q={FNAME}&amp;lr=lang_en',
+        4 => 'http://search.mysql.com/search?site=refman-51&amp;q={FNAME}&amp;lr=lang_en',
+        5 => 'http://search.mysql.com/search?site=refman-51&amp;q={FNAME}&amp;lr=lang_en',
+        6 => 'http://search.mysql.com/search?site=refman-51&amp;q={FNAME}&amp;lr=lang_en',
+        7 => 'http://search.mysql.com/search?site=refman-51&amp;q={FNAME}&amp;lr=lang_en',
+        8 => 'http://search.mysql.com/search?site=refman-51&amp;q={FNAME}&amp;lr=lang_en',
+        9 => 'http://search.mysql.com/search?site=refman-51&amp;q={FNAME}&amp;lr=lang_en',
+
+        10 => 'http://dev.mysql.com/doc/refman/5.1/en/non-typed-operators.html',
+        11 => 'http://dev.mysql.com/doc/refman/5.1/en/non-typed-operators.html',
+
+        12 => 'http://dev.mysql.com/doc/refman/5.1/en/control-flow-functions.html',
+        13 => 'http://dev.mysql.com/doc/refman/5.1/en/string-functions.html',
+        14 => 'http://dev.mysql.com/doc/refman/5.1/en/string-functions.html',
+        15 => 'http://dev.mysql.com/doc/refman/5.1/en/numeric-functions.html',
+        16 => 'http://dev.mysql.com/doc/refman/5.1/en/numeric-functions.html',
+        17 => 'http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html',
+        18 => 'http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html',
+        19 => 'http://dev.mysql.com/doc/refman/5.1/en/comparison-operators.html',
+        20 => 'http://dev.mysql.com/doc/refman/5.1/en/comparison-operators.html',
+        21 => 'http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html',
+        22 => 'http://dev.mysql.com/doc/refman/5.1/en/group-by-functions-and-modifiers.html',
+        23 => 'http://dev.mysql.com/doc/refman/5.1/en/information-functions.html',
+        24 => 'http://dev.mysql.com/doc/refman/5.1/en/information-functions.html',
+        25 => 'http://dev.mysql.com/doc/refman/5.1/en/func-op-summary-ref.html',
+        26 => 'http://dev.mysql.com/doc/refman/5.1/en/func-op-summary-ref.html',
+        27 => 'http://dev.mysql.com/doc/refman/5.1/en/analysing-spatial-information.html',
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            2 => array(
+                'DISALLOWED_AFTER' => '(?![\(\w])'
+                ),
+            5 => array(
+                'DISALLOWED_AFTER' => '(?![\(\w])'
+                ),
+            7 => array(
+                'DISALLOWED_AFTER' => '(?![\(\w])'
+                ),
+            9 => array(
+                'DISALLOWED_AFTER' => '(?![\(\w])'
+                ),
+            11 => array(
+                'DISALLOWED_AFTER' => '(?![\(\w])'
+                ),
+
+            14 => array(
+                'DISALLOWED_AFTER' => '(?=\()'
+                ),
+            16 => array(
+                'DISALLOWED_AFTER' => '(?=\()'
+                ),
+            18 => array(
+                'DISALLOWED_AFTER' => '(?=\()'
+                ),
+            20 => array(
+                'DISALLOWED_AFTER' => '(?=\()'
+                ),
+            24 => array(
+                'DISALLOWED_AFTER' => '(?=\()'
+                ),
+            26 => array(
+                'DISALLOWED_AFTER' => '(?=\()'
+                )
+            )
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/nsis.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/nsis.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * --------
  * Author: deguix (cevo_deguix@yahoo.com.br), Tux (http://tux.a4.cz/)
  * Copyright: (c) 2005 deguix, 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2005/12/03
  *
  * Nullsoft Scriptable Install System language file for GeSHi.
@@ -48,305 +48,304 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'NSIS',
-	'COMMENT_SINGLE' => array(1 => ';', 2 => '#'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'",'"','`'),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		1 => array(
-			'!appendfile', '!addIncludeDir', '!addplugindir', '!cd', '!define', '!delfile', '!echo', '!else',
-			'!endif', '!error', '!execute', '!ifdef', '!ifmacrodef', '!ifmacrondef', '!ifndef', '!include',
-			'!insertmacro', '!macro', '!macroend', '!packhdr', '!tempfile', '!system', '!undef', '!verbose',
-			'!warning'
-		  ),
-		2 => array(
-			'AddBrandingImage', 'AllowRootDirInstall', 'AutoCloseWindow', 'BGFont',
-			'BGGradient', 'BrandingText', 'Caption', 'ChangeUI', 'CheckBitmap', 'CompletedText', 'ComponentText',
-			'CRCCheck', 'DetailsButtonText', 'DirShow', 'DirText', 'DirVar', 'DirVerify', 'FileErrorText',
-			'Function', 'FunctionEnd', 'Icon', 'InstallButtonText', 'InstallColors', 'InstallDir',
-			'InstallDirRegKey', 'InstProgressFlags', 'InstType', 'LangString', 'LangStringUP', 'LicenseBkColor',
-			'LicenseData', 'LicenseForceSelection', 'LicenseLangString', 'LicenseText', 'LoadLanguageFile',
-			'MiscButtonText', 'Name', 'OutFile', 'Page', 'PageEx', 'PageExEnd', 'Section',
-			'SectionEnd', 'SectionGroup', 'SectionGroupEnd', 'SetCompressor', 'SetFont', 'ShowInstDetails',
-			'ShowUninstDetails', 'SilentInstall', 'SilentUnInstall', 'SpaceTexts', 'SubCaption', 'SubSection',
-			'SubSectionEnd', 'UninstallButtonText', 'UninstallCaption', 'UninstallIcon', 'UninstallSubCaption',
-			'UninstallText', 'UninstPage', 'Var', 'VIAddVersionKey', 'VIProductVersion', 'WindowIcon', 'XPStyle'
-		  ),
-		3 => array(
-			'AddSize', 'AllowSkipFiles', 'AutoCloseWindow', 'FileBufSize', 'GetInstDirError', 'PageCallbacks',
-			'SectionIn', 'SetCompress', 'SetCompressionLevel', 'SetCompressorDictSize',
-			'SetDatablockOptimize', 'SetDateSave', 'SetOverwrite', 'SetPluginUnload'
-		  ),
-		4 => array(
-			'Abort', 'BringToFront', 'Call', 'CallInstDLL', 'ClearErrors', 'CopyFiles','CreateDirectory',
-			'CreateFont', 'CreateShortCut', 'Delete', 'DeleteINISec', 'DeleteINIStr', 'DeleteRegKey',
-			'DeleteRegValue', 'DetailPrint', 'EnableWindow', 'EnumRegKey', 'EnumRegValue', 'Exch', 'Exec',
-			'ExecShell', 'ExecWait', 'ExpandEnvStrings', 'File', 'FileClose', 'FileOpen', 'FileRead',
-			'FileReadByte', 'FileSeek', 'FileWrite', 'FileWriteByte', 'FindClose', 'FindFirst', 'FindNext',
-			'FindWindow', 'FlushINI', 'GetCurInstType', 'GetCurrentAddress', 'GetDlgItem', 'GetDLLVersion',
-			'GetDLLVersionLocal', 'GetErrorLevel', 'GetFileTime', 'GetFileTimeLocal', 'GetFullPathName',
-			'GetFunctionAddress', 'GetLabelAddress', 'GetTempFileName', 'GetWindowText', 'Goto', 'HideWindow',
-			'IfAbort', 'IfErrors', 'IfFileExists', 'IfRebootFlag', 'IfSilent', 'InitPluginsDir', 'InstTypeGetText',
-			'InstTypeSetText', 'IntCmp', 'IntCmpU', 'IntFmt', 'IntOp', 'IsWindow', 'LockWindow', 'LogSet', 'LogText',
-			'MessageBox', 'Nop', 'Pop', 'Push', 'Quit', 'ReadEnvStr', 'ReadIniStr', 'ReadRegDWORD', 'ReadRegStr',
-			'Reboot', 'RegDLL', 'Rename', 'ReserveFile', 'Return', 'RMDir', 'SearchPath', 'SectionGetFlags',
-			'SectionGetInstTypes', 'SectionGetSize', 'SectionGetText', 'SectionSetFlags', 'SectionSetInstTypes',
-			'SectionSetSize', 'SectionSetText', 'SendMessage', 'SetAutoClose', 'SetBrandingImage', 'SetCtlColors',
-			'SetCurInstType', 'SetDetailsPrint', 'SetDetailsView', 'SetErrorLevel', 'SetErrors', 'SetFileAttributes',
-			'SetOutPath', 'SetRebootFlag', 'SetShellVarContext', 'SetSilent', 'ShowWindow', 'Sleep', 'StrCmp',
-			'StrCpy', 'StrLen', 'UnRegDLL', 'WriteINIStr', 'WriteRegBin', 'WriteRegDWORD', 'WriteRegExpandStr',
-			'WriteRegStr', 'WriteUninstaller'
-		  ),
-		5 => array(
-			'all', 'alwaysoff', 'ARCHIVE', 'auto', 'both', 'bzip2', 'checkbox', 'components', 'current',
-			'custom', 'directory', 'false', 'FILE_ATTRIBUTE_ARCHIVE', 'FILE_ATTRIBUTE_HIDDEN', 'FILE_ATTRIBUTE_NORMAL',
-			'FILE_ATTRIBUTE_OFFLINE', 'FILE_ATTRIBUTE_READONLY', 'FILE_ATTRIBUTE_SYSTEM,TEMPORARY',
-			'FILE_ATTRIBUTE_TEMPORARY', 'force', 'HIDDEN', 'hide', 'HKCC', 'HKCR', 'HKCU', 'HKDD', 'HKEY_CLASSES_ROOT',
-			'HKEY_CURRENT_CONFIG', 'HKEY_CURRENT_USER', 'HKEY_DYN_DATA', 'HKEY_LOCAL_MACHINE', 'HKEY_PERFORMANCE_DATA',
-			'HKEY_USERS', 'HKLM', 'HKPD', 'HKU', 'IDABORT', 'IDCANCEL', 'IDIGNORE', 'IDNO', 'IDOK', 'IDRETRY', 'IDYES',
-			'ifdiff', 'ifnewer', 'instfiles', 'lastused', 'leave', 'license', 'listonly', 'lzma', 'manual',
-			'MB_ABORTRETRYIGNORE', 'MB_DEFBUTTON1', 'MB_DEFBUTTON2', 'MB_DEFBUTTON3', 'MB_DEFBUTTON4',
-			'MB_ICONEXCLAMATION', 'MB_ICONINFORMATION', 'MB_ICONQUESTION', 'MB_ICONSTOP', 'MB_OK', 'MB_OKCANCEL',
-			'MB_RETRYCANCEL', 'MB_RIGHT', 'MB_SETFOREGROUND', 'MB_TOPMOST', 'MB_YESNO', 'MB_YESNOCANCEL', 'nevershow',
-			'none', 'normal', 'off', 'OFFLINE', 'on', 'radiobuttons', 'READONLY', 'RO', 'SHCTX', 'SHELL_CONTEXT', 'show',
-			'silent', 'silentlog', 'SW_HIDE', 'SW_SHOWMAXIMIZED', 'SW_SHOWMINIMIZED', 'SW_SHOWNORMAL', 'SYSTEM',
-			'textonly', 'true', 'try', 'uninstConfirm', 'zlib'
-		   ),
-		6 => array(
-			'/a', '/components', '/COMPONENTSONLYONCUSTOM', '/CUSTOMSTRING', '/e', '/FILESONLY', '/FINAL', '/gray', '/GLOBAL',
-			'/ifempty', '/IMGID', '/ITALIC', '/lang', '/NOCUSTOM', '/nonfatal', '/NOUNLOAD', '/oname', '/r', '/REBOOTOK',
-			'/RESIZETOFIT', '/SOLID', '/SD', '/SHORT', '/silent', '/SOLID', '/STRIKE', '/TIMEOUT', '/TRIMCENTER', '/TRIMLEFT',
-			'/TRIMRIGHT', '/UNDERLINE', '/windows', '/x'
-		   ),
-		7 => array(
-			'.onGUIEnd', '.onGUIInit', '.onInit', '.onInstFailed', '.onInstSuccess', '.onMouseOverSection',
-			'.onRebootFailed', '.onSelChange', '.onUserAbort', '.onVerifyInstDir', 'un.onGUIEnd', 'un.onGUIInit',
-			'un.onInit', 'un.onRebootFailed', 'un.onUninstFailed', 'un.onUninstSuccess', 'un.onUserAbort'
-		   ),
-		8 => array(
-			'MUI.nsh', '"${NSISDIR}\Contrib\Modern UI\System.nsh"', 'MUI_SYSVERSION', 'MUI_ICON', 'MUI_UNICON',
-			'MUI_HEADERIMAGE', 'MUI_HEADERIMAGE_BITMAP', 'MUI_HEADERIMAGE_BITMAP_NOSTRETCH', 'MUI_HEADERIMAGE_BITMAP_RTL',
-			'MUI_HEADERIMAGE_BITMAP_RTL_NOSTRETCH', 'MUI_HEADERIMAGE_UNBITMAP', 'MUI_HEADERIMAGE_UNBITMAP_NOSTRETCH',
-			'MUI_HEADERIMAGE_UNBITMAP_RTL', 'MUI_HEADERIMAGE_UNBITMAP_RTL_NOSTRETCH', 'MUI_HEADERIMAGE_RIGHT', 'MUI_BGCOLOR',
-			'MUI_UI', 'MUI_UI_HEADERIMAGE', 'MUI_UI_HEADERIMAGE_RIGHT', 'MUI_UI_COMPONENTSPAGE_SMALLDESC',
-			'MUI_UI_COMPONENTSPAGE_NODESC', 'MUI_WELCOMEFINISHPAGE_BITMAP', 'MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH',
-			'MUI_WELCOMEFINISHPAGE_INI', 'MUI_UNWELCOMEFINISHPAGE_BITMAP', 'MUI_UNWELCOMEFINISHPAGE_BITMAP_NOSTRETCH',
-			'MUI_UNWELCOMEFINISHPAGE_INI', 'MUI_LICENSEPAGE_BGCOLOR', 'MUI_COMPONENTSPAGE_CHECKBITMAP',
-			'MUI_COMPONENTSPAGE_SMALLDESC', 'MUI_COMPONENTSPAGE_NODESC', 'MUI_INSTFILESPAGE_COLORS',
-			'MUI_INSTFILESPAGE_PROGRESSBAR', 'MUI_FINISHPAGE_NOAUTOCLOSE', 'MUI_UNFINISHPAGE_NOAUTOCLOSE',
-			'MUI_ABORTWARNING', 'MUI_ABORTWARNING_TEXT', 'MUI_UNABORTWARNING', 'MUI_UNABORTWARNING_TEXT',
-			'MUI_PAGE_WELCOME', 'MUI_PAGE_LICENSE', 'MUI_PAGE_COMPONENTS', 'MUI_PAGE_DIRECTORY',
-			'MUI_PAGE_STARTMENU', 'MUI_PAGE_INSTFILES', 'MUI_PAGE_FINISH', 'MUI_UNPAGE_WELCOME',
-			'MUI_UNPAGE_CONFIRM', 'MUI_UNPAGE_LICENSE', 'MUI_UNPAGE_COMPONENTS', 'MUI_UNPAGE_DIRECTORY',
-			'MUI_UNPAGE_INSTFILES', 'MUI_UNPAGE_FINISH', 'MUI_PAGE_HEADER_TEXT', 'MUI_PAGE_HEADER_SUBTEXT',
-			'MUI_WELCOMEPAGE_TITLE', 'MUI_WELCOMEPAGE_TITLE_3LINES', 'MUI_WELCOMEPAGE_TEXT',
-			'MUI_LICENSEPAGE_TEXT_TOP', 'MUI_LICENSEPAGE_TEXT_BOTTOM', 'MUI_LICENSEPAGE_BUTTON',
-			'MUI_LICENSEPAGE_CHECKBOX', 'MUI_LICENSEPAGE_CHECKBOX_TEXT', 'MUI_LICENSEPAGE_RADIOBUTTONS',
-			'MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT', 'MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE',
-			'MUI_COMPONENTSPAGE_TEXT_TOP', 'MUI_COMPONENTSPAGE_TEXT_COMPLIST', 'MUI_COMPONENTSPAGE_TEXT_INSTTYPE',
-			'MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE', 'MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO',
-			'MUI_DIRECTORYPAGE_TEXT_TOP', 'MUI_DIRECTORYPAGE_TEXT_DESTINATION', 'MUI_DIRECTORYPAGE_VARIABLE',
-			'MUI_DIRECTORYPAGE_VERIFYONLEAVE', 'MUI_STARTMENU_WRITE_BEGIN', 'MUI_STARTMENU_WRITE_END',
-			'MUI_STARTMENUPAGE_TEXT_TOP', 'MUI_STARTMENUPAGE_TEXT_CHECKBOX', 'MUI_STARTMENUPAGE_DEFAULTFOLDER',
-			'MUI_STARTMENUPAGE_NODISABLE', 'MUI_STARTMENUPAGE_REGISTRY_ROOT', 'MUI_STARTMENUPAGE_REGISTRY_KEY',
-			'MUI_STARTMENUPAGE_REGISTRY_VALUENAME', 'MUI_INSTFILESPAGE_FINISHHEADER_TEXT',
-			'MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT', 'MUI_INSTFILESPAGE_ABORTHEADER_TEXT',
-			'MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT', 'MUI_FINISHPAGE_TITLE', 'MUI_FINISHPAGE_TITLE_3LINES',
-			'MUI_FINISHPAGE_TEXT', 'MUI_FINISHPAGE_TEXT_LARGE', 'MUI_FINISHPAGE_BUTTON',
-			'MUI_FINISHPAGE_TEXT_REBOOT', 'MUI_FINISHPAGE_TEXT_REBOOTNOW', 'MUI_FINISHPAGE_TEXT_REBOOTLATER',
-			'MUI_FINISHPAGE_RUN', 'MUI_FINISHPAGE_RUN_TEXT', 'MUI_FINISHPAGE_RUN_PARAMETERS',
-			'MUI_FINISHPAGE_RUN_NOTCHECKED', 'MUI_FINISHPAGE_RUN_FUNCTION', 'MUI_FINISHPAGE_SHOWREADME',
-			'MUI_FINISHPAGE_SHOWREADME_TEXT', 'MUI_FINISHPAGE_SHOWREADME_NOTCHECKED',
-			'MUI_FINISHPAGE_SHOWREADME_FUNCTION', 'MUI_FINISHPAGE_LINK', 'MUI_FINISHPAGE_LINK_LOCATION',
-			'MUI_FINISHPAGE_LINK_COLOR', 'MUI_FINISHPAGE_NOREBOOTSUPPORT', 'MUI_UNCONFIRMPAGE_TEXT_TOP',
-			'MUI_UNCONFIRMPAGE_TEXT_LOCATION', 'MUI_LANGUAGE', 'MUI_LANGDLL_DISPLAY',
-			'MUI_LANGDLL_REGISTRY_ROOT', 'MUI_LANGDLL_REGISTRY_KEY', 'MUI_LANGDLL_REGISTRY_VALUENAME',
-			'MUI_LANGDLL_WINDOWTITLE', 'MUI_LANGDLL_INFO', 'MUI_LANGDLL_ALWAYSSHOW',
-			'MUI_RESERVEFILE_INSTALLOPTIONS', 'MUI_RESERVEFILE_LANGDLL', 'MUI_FUNCTION_DESCRIPTION_BEGIN',
-			'MUI_DESCRIPTION_TEXT', 'MUI_FUNCTION_DESCRIPTION_END', 'MUI_INSTALLOPTIONS_EXTRACT',
-			'MUI_INSTALLOPTIONS_EXTRACT_AS', 'MUI_HEADER_TEXT', 'MUI_INSTALLOPTIONS_DISPLAY',
-			'MUI_INSTALLOPTIONS_INITDIALOG', 'MUI_INSTALLOPTIONS_SHOW',
-			'MUI_INSTALLOPTIONS_DISPLAY_RETURN', 'MUI_INSTALLOPTIONS_SHOW_RETURN',
-			'MUI_INSTALLOPTIONS_READ', 'MUI_INSTALLOPTIONS_WRITE',
-			'MUI_CUSTOMFUNCTION_GUIINIT', 'MUI_CUSTOMFUNCTION_GUIINIT',
-			'MUI_CUSTOMFUNCTION_UNGUIINIT', 'MUI_CUSTOMFUNCTION_ABORT', 'MUI_CUSTOMFUNCTION_UNABORT',
-			'MUI_PAGE_CUSTOMFUNCTION_PRE', 'MUI_PAGE_CUSTOMFUNCTION_SHOW', 'MUI_PAGE_CUSTOMFUNCTION_LEAVE',
-			'MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT'
-		   ),
-		9 => array(
-			'LogicLib.nsh', '${LOGICLIB}', 'LOGICLIB_STRCMP', 'LOGICLIB_INT64CMP', 'LOGICLIB_SECTIONCMP', '${If}', '${Unless}',
-			'${ElseIf}', '${ElseUnless}', '${Else}', '${EndIf}', '${EndUnless}', '${AndIf}', '${AndUnless}',
-			'${OrIf}', '${OrUnless}', '${IfThen}', '${IfCmd}', '${Select}', '${Case2}', '${Case3}',
-			'${Case4}', '${Case5}', '${CaseElse}', '${Default}', '${EndSelect}', '${Switch}',
-			'${Case}', '${EndSwitch}', '${Do}', '${DoWhile}', '${UntilWhile}', '${Continue}', '${Break}',
-			'${Loop}', '${LoopWhile}', '${LoopUntil}', '${While}', '${ExitWhile}', '${EndWhile}', '${For}',
-			'${ForEach}', '${ExitFor}', '${Next}', '${Abort}', '${Errors}', '${RebootFlag}', '${Silent}',
-			'${FileExists}', '${Cmd}', '${SectionIsSelected}', '${SectionIsSectionGroup}',
-			'${SectionIsSectionGroupEnd}', '${SectionIsBold}', '${SectionIsReadOnly}',
-			'${SectionIsExpanded}', '${SectionIsPartiallySelected}'
-		   ),
-		10 => array(
-			'StrFunc.nsh', '${STRFUNC}', '${StrCase}', '${StrClb}', '${StrIOToNSIS}', '${StrLoc}', '${StrNSISToIO}', '${StrRep}',
-			'${StrSort}', '${StrStr}', '${StrStrAdv}', '${StrTok}', '${StrTrimNewLines}'
-		   ),
-		11 => array(
-			'UpgradeDLL.nsh', 'UPGRADEDLL_INCLUDED', 'UpgradeDLL'
-		   ),
-		12 => array(
-			'Sections.nsh', 'SECTIONS_INCLUDED', '${SF_SELECTED}', '${SF_SECGRP}', '${SF_SUBSEC}', '${SF_SECGRPEND}',
-			'${SF_SUBSECEND}', '${SF_BOLD}', '${SF_RO}', '${SF_EXPAND}', '${SF_PSELECTED}', '${SF_TOGGLED}',
-			'${SF_NAMECHG}', '${SECTION_OFF}', 'SelectSection', 'UnselectSection', 'ReverseSection',
-			'StartRadioButtons', 'RadioButton', 'EndRadioButtons', '${INSTTYPE_1}', '${INSTTYPE_1}', '${INSTTYPE_2}',
-			'${INSTTYPE_3}', '${INSTTYPE_4}', '${INSTTYPE_5}', '${INSTTYPE_6}', '${INSTTYPE_7}', '${INSTTYPE_8}',
-			'${INSTTYPE_9}', '${INSTTYPE_10}', '${INSTTYPE_11}', '${INSTTYPE_12}', '${INSTTYPE_13}', '${INSTTYPE_14}',
-			'${INSTTYPE_15}', '${INSTTYPE_16}', '${INSTTYPE_17}', '${INSTTYPE_18}', '${INSTTYPE_19}', '${INSTTYPE_20}',
-			'${INSTTYPE_21}', '${INSTTYPE_22}', '${INSTTYPE_23}', '${INSTTYPE_24}', '${INSTTYPE_25}', '${INSTTYPE_26}',
-			'${INSTTYPE_27}', '${INSTTYPE_28}', '${INSTTYPE_29}', '${INSTTYPE_30}', '${INSTTYPE_31}', '${INSTTYPE_32}',
-			'SetSectionInInstType', 'ClearSectionInInstType', 'SetSectionFlag', 'ClearSectionFlag', 'SectionFlagIsSet'
-		   ),
-		13 => array(
-			'Colors.nsh', 'WHITE', 'BLACK', 'YELLOW', 'RED', 'GREEN', 'BLUE', 'MAGENTA', 'CYAN', 'rgb2hex'
-		   ),
-		14 => array(
-			'FileFunc.nsh', '${Locate}', '${GetSize}', '${DriveSpace}', '${GetDrives}', '${GetTime}', '${GetFileAttributes}', '${GetFileVersion}', '${GetExeName}', '${GetExePath}', '${GetParameters}', '${GetOptions}', '${GetRoot}', '${GetParent}', '${GetFileName}', '${GetBaseName}', '${GetFileExt}', '${BannerTrimPath}', '${DirState}', '${RefreshShellIcons}'
-		   ),
-		15 => array(
-			'TextFunc.nsh', '${LineFind}', '${LineRead}', '${FileReadFromEnd}', '${LineSum}', '${FileJoin}', '${TextCompare}', '${ConfigRead}', '${ConfigWrite}', '${FileRecode}', '${TrimNewLines}'
-		   ),
-		16 => array(
-			'WordFunc.nsh', '${WordFind}', '${WordFind2X}', '${WordFind3X}', '${WordReplace}', '${WordAdd}', '${WordInsert}', '${StrFilter}', '${VersionCompare}', '${VersionConvert}'
-		   )
-	),
-	'SYMBOLS' => array(
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		5 => false,
-		6 => false,
-		7 => false,
-		8 => false,
-		9 => false,
-		10 => false,
-		11 => false,
-		12 => false,
-		13 => false,
-		14 => false,
-		15 => false,
-		16 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #000066; font-weight:bold;',
-			2 => 'color: #000066;',
-			3 => 'color: #003366;',
-			4 => 'color: #000099;',
-			5 => 'color: #ff6600;',
-			6 => 'color: #ff6600;',
-			7 => 'color: #006600;',
-			8 => 'color: #006600;',
-			9 => 'color: #006600;',
-			10 => 'color: #006600;',
-			11 => 'color: #006600;',
-			12 => 'color: #006600;',
-			13 => 'color: #006600;',
-			14 => 'color: #006600;',
-			15 => 'color: #006600;',
-			16 => 'color: #006600;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #666666; font-style: italic;',
-			2 => 'color: #666666; font-style: italic;',
-			'MULTI' => 'color: #666666; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #660066; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => ''
-			),
-		'STRINGS' => array(
-			0 => 'color: #660066;'
-			),
-		'NUMBERS' => array(
-			0 => ''
-			),
-		'METHODS' => array(
-			0 => ''
-			),
-		'SYMBOLS' => array(
-			0 => ''
-			),
-		'REGEXPS' => array(
-			0 => 'color: #660000;',
-			1 => 'color: #660000;',
-			2 => 'color: #660000;',
-			3 => 'color: #660000;',
-			4 => 'color: #660000;',
-			5 => 'color: #660000;',
-			6 => 'color: #660000;',
-			7 => 'color: #000099;',
-			8 => 'color: #003399;'
-			),
-		'SCRIPT' => array(
-			0 => ''
-			)
-		),
-	'URLS' => array(
-		0 => '',
-		1 => '',
-		2 => '',
-		3 => '',
-		4 => '',
-		5 => '',
-		6 => '',
-		7 => '',
-		8 => '',
-		9 => '',
-		10 => '',
-		11 => '',
-		12 => '',
-		13 => '',
-		14 => '',
-		15 => '',
-		16 => ''
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		0 => '\$\$',
-		1 => '\$\\r',
-		2 => '\$\\n',
-		3 => '\$\\t',
-		4 => '\$[a-zA-Z0-9_]+',
-		5 => '\$\{.{1,256}\}',
-		6 => '\$\\\(.{1,256}\\\)',
-		7 => array(
-			GESHI_SEARCH => '([^:/\\\*\?\"\<\>\|\s]*?)(::)([^:/\\\*\?\"\<\>\|\s]*?)',
-			GESHI_REPLACE => '\\1',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => '\\2\\3'
-			),
-		8 => array(
-			GESHI_SEARCH => '([^:/\\\*\?\"\<\>\|\s]*?)(::)([^:/\\\*\?\"\<\>\|]*?\s)',
-			GESHI_REPLACE => '\\3',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '\\1\\2',
-			GESHI_AFTER => ''
-			)
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'NSIS',
+    'COMMENT_SINGLE' => array(1 => ';', 2 => '#'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'",'"','`'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            '!appendfile', '!addIncludeDir', '!addplugindir', '!cd', '!define', '!delfile', '!echo', '!else',
+            '!endif', '!error', '!execute', '!ifdef', '!ifmacrodef', '!ifmacrondef', '!ifndef', '!include',
+            '!insertmacro', '!macro', '!macroend', '!packhdr', '!tempfile', '!system', '!undef', '!verbose',
+            '!warning'
+            ),
+        2 => array(
+            'AddBrandingImage', 'AllowRootDirInstall', 'AutoCloseWindow', 'BGFont',
+            'BGGradient', 'BrandingText', 'Caption', 'ChangeUI', 'CheckBitmap', 'CompletedText', 'ComponentText',
+            'CRCCheck', 'DetailsButtonText', 'DirShow', 'DirText', 'DirVar', 'DirVerify', 'FileErrorText',
+            'Function', 'FunctionEnd', 'Icon', 'InstallButtonText', 'InstallColors', 'InstallDir',
+            'InstallDirRegKey', 'InstProgressFlags', 'InstType', 'LangString', 'LangStringUP', 'LicenseBkColor',
+            'LicenseData', 'LicenseForceSelection', 'LicenseLangString', 'LicenseText', 'LoadLanguageFile',
+            'MiscButtonText', 'Name', 'OutFile', 'Page', 'PageEx', 'PageExEnd', 'Section',
+            'SectionEnd', 'SectionGroup', 'SectionGroupEnd', 'SetCompressor', 'SetFont', 'ShowInstDetails',
+            'ShowUninstDetails', 'SilentInstall', 'SilentUnInstall', 'SpaceTexts', 'SubCaption', 'SubSection',
+            'SubSectionEnd', 'UninstallButtonText', 'UninstallCaption', 'UninstallIcon', 'UninstallSubCaption',
+            'UninstallText', 'UninstPage', 'Var', 'VIAddVersionKey', 'VIProductVersion', 'WindowIcon', 'XPStyle'
+            ),
+        3 => array(
+            'AddSize', 'AllowSkipFiles', 'FileBufSize', 'GetInstDirError', 'PageCallbacks',
+            'SectionIn', 'SetCompress', 'SetCompressionLevel', 'SetCompressorDictSize',
+            'SetDatablockOptimize', 'SetDateSave', 'SetOverwrite', 'SetPluginUnload'
+            ),
+        4 => array(
+            'Abort', 'BringToFront', 'Call', 'CallInstDLL', 'ClearErrors', 'CopyFiles','CreateDirectory',
+            'CreateFont', 'CreateShortCut', 'Delete', 'DeleteINISec', 'DeleteINIStr', 'DeleteRegKey',
+            'DeleteRegValue', 'DetailPrint', 'EnableWindow', 'EnumRegKey', 'EnumRegValue', 'Exch', 'Exec',
+            'ExecShell', 'ExecWait', 'ExpandEnvStrings', 'File', 'FileClose', 'FileOpen', 'FileRead',
+            'FileReadByte', 'FileSeek', 'FileWrite', 'FileWriteByte', 'FindClose', 'FindFirst', 'FindNext',
+            'FindWindow', 'FlushINI', 'GetCurInstType', 'GetCurrentAddress', 'GetDlgItem', 'GetDLLVersion',
+            'GetDLLVersionLocal', 'GetErrorLevel', 'GetFileTime', 'GetFileTimeLocal', 'GetFullPathName',
+            'GetFunctionAddress', 'GetLabelAddress', 'GetTempFileName', 'GetWindowText', 'Goto', 'HideWindow',
+            'IfAbort', 'IfErrors', 'IfFileExists', 'IfRebootFlag', 'IfSilent', 'InitPluginsDir', 'InstTypeGetText',
+            'InstTypeSetText', 'IntCmp', 'IntCmpU', 'IntFmt', 'IntOp', 'IsWindow', 'LockWindow', 'LogSet', 'LogText',
+            'MessageBox', 'Nop', 'Pop', 'Push', 'Quit', 'ReadEnvStr', 'ReadIniStr', 'ReadRegDWORD', 'ReadRegStr',
+            'Reboot', 'RegDLL', 'Rename', 'ReserveFile', 'Return', 'RMDir', 'SearchPath', 'SectionGetFlags',
+            'SectionGetInstTypes', 'SectionGetSize', 'SectionGetText', 'SectionSetFlags', 'SectionSetInstTypes',
+            'SectionSetSize', 'SectionSetText', 'SendMessage', 'SetAutoClose', 'SetBrandingImage', 'SetCtlColors',
+            'SetCurInstType', 'SetDetailsPrint', 'SetDetailsView', 'SetErrorLevel', 'SetErrors', 'SetFileAttributes',
+            'SetOutPath', 'SetRebootFlag', 'SetShellVarContext', 'SetSilent', 'ShowWindow', 'Sleep', 'StrCmp',
+            'StrCpy', 'StrLen', 'UnRegDLL', 'WriteINIStr', 'WriteRegBin', 'WriteRegDWORD', 'WriteRegExpandStr',
+            'WriteRegStr', 'WriteUninstaller'
+            ),
+        5 => array(
+            'all', 'alwaysoff', 'ARCHIVE', 'auto', 'both', 'bzip2', 'checkbox', 'components', 'current',
+            'custom', 'directory', 'false', 'FILE_ATTRIBUTE_ARCHIVE', 'FILE_ATTRIBUTE_HIDDEN', 'FILE_ATTRIBUTE_NORMAL',
+            'FILE_ATTRIBUTE_OFFLINE', 'FILE_ATTRIBUTE_READONLY', 'FILE_ATTRIBUTE_SYSTEM,TEMPORARY',
+            'FILE_ATTRIBUTE_TEMPORARY', 'force', 'HIDDEN', 'hide', 'HKCC', 'HKCR', 'HKCU', 'HKDD', 'HKEY_CLASSES_ROOT',
+            'HKEY_CURRENT_CONFIG', 'HKEY_CURRENT_USER', 'HKEY_DYN_DATA', 'HKEY_LOCAL_MACHINE', 'HKEY_PERFORMANCE_DATA',
+            'HKEY_USERS', 'HKLM', 'HKPD', 'HKU', 'IDABORT', 'IDCANCEL', 'IDIGNORE', 'IDNO', 'IDOK', 'IDRETRY', 'IDYES',
+            'ifdiff', 'ifnewer', 'instfiles', 'lastused', 'leave', 'license', 'listonly', 'lzma', 'manual',
+            'MB_ABORTRETRYIGNORE', 'MB_DEFBUTTON1', 'MB_DEFBUTTON2', 'MB_DEFBUTTON3', 'MB_DEFBUTTON4',
+            'MB_ICONEXCLAMATION', 'MB_ICONINFORMATION', 'MB_ICONQUESTION', 'MB_ICONSTOP', 'MB_OK', 'MB_OKCANCEL',
+            'MB_RETRYCANCEL', 'MB_RIGHT', 'MB_SETFOREGROUND', 'MB_TOPMOST', 'MB_YESNO', 'MB_YESNOCANCEL', 'nevershow',
+            'none', 'normal', 'off', 'OFFLINE', 'on', 'radiobuttons', 'READONLY', 'RO', 'SHCTX', 'SHELL_CONTEXT', 'show',
+            'silent', 'silentlog', 'SW_HIDE', 'SW_SHOWMAXIMIZED', 'SW_SHOWMINIMIZED', 'SW_SHOWNORMAL', 'SYSTEM',
+            'textonly', 'true', 'try', 'uninstConfirm', 'zlib'
+            ),
+        6 => array(
+            '/a', '/components', '/COMPONENTSONLYONCUSTOM', '/CUSTOMSTRING', '/e', '/FILESONLY', '/FINAL', '/gray', '/GLOBAL',
+            '/ifempty', '/IMGID', '/ITALIC', '/lang', '/NOCUSTOM', '/nonfatal', '/NOUNLOAD', '/oname', '/r', '/REBOOTOK',
+            '/RESIZETOFIT', '/SOLID', '/SD', '/SHORT', '/silent', '/STRIKE', '/TIMEOUT', '/TRIMCENTER', '/TRIMLEFT',
+            '/TRIMRIGHT', '/UNDERLINE', '/windows', '/x'
+            ),
+        7 => array(
+            '.onGUIEnd', '.onGUIInit', '.onInit', '.onInstFailed', '.onInstSuccess', '.onMouseOverSection',
+            '.onRebootFailed', '.onSelChange', '.onUserAbort', '.onVerifyInstDir', 'un.onGUIEnd', 'un.onGUIInit',
+            'un.onInit', 'un.onRebootFailed', 'un.onUninstFailed', 'un.onUninstSuccess', 'un.onUserAbort'
+            ),
+        8 => array(
+            'MUI.nsh', '"${NSISDIR}\Contrib\Modern UI\System.nsh"', 'MUI_SYSVERSION', 'MUI_ICON', 'MUI_UNICON',
+            'MUI_HEADERIMAGE', 'MUI_HEADERIMAGE_BITMAP', 'MUI_HEADERIMAGE_BITMAP_NOSTRETCH', 'MUI_HEADERIMAGE_BITMAP_RTL',
+            'MUI_HEADERIMAGE_BITMAP_RTL_NOSTRETCH', 'MUI_HEADERIMAGE_UNBITMAP', 'MUI_HEADERIMAGE_UNBITMAP_NOSTRETCH',
+            'MUI_HEADERIMAGE_UNBITMAP_RTL', 'MUI_HEADERIMAGE_UNBITMAP_RTL_NOSTRETCH', 'MUI_HEADERIMAGE_RIGHT', 'MUI_BGCOLOR',
+            'MUI_UI', 'MUI_UI_HEADERIMAGE', 'MUI_UI_HEADERIMAGE_RIGHT', 'MUI_UI_COMPONENTSPAGE_SMALLDESC',
+            'MUI_UI_COMPONENTSPAGE_NODESC', 'MUI_WELCOMEFINISHPAGE_BITMAP', 'MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH',
+            'MUI_WELCOMEFINISHPAGE_INI', 'MUI_UNWELCOMEFINISHPAGE_BITMAP', 'MUI_UNWELCOMEFINISHPAGE_BITMAP_NOSTRETCH',
+            'MUI_UNWELCOMEFINISHPAGE_INI', 'MUI_LICENSEPAGE_BGCOLOR', 'MUI_COMPONENTSPAGE_CHECKBITMAP',
+            'MUI_COMPONENTSPAGE_SMALLDESC', 'MUI_COMPONENTSPAGE_NODESC', 'MUI_INSTFILESPAGE_COLORS',
+            'MUI_INSTFILESPAGE_PROGRESSBAR', 'MUI_FINISHPAGE_NOAUTOCLOSE', 'MUI_UNFINISHPAGE_NOAUTOCLOSE',
+            'MUI_ABORTWARNING', 'MUI_ABORTWARNING_TEXT', 'MUI_UNABORTWARNING', 'MUI_UNABORTWARNING_TEXT',
+            'MUI_PAGE_WELCOME', 'MUI_PAGE_LICENSE', 'MUI_PAGE_COMPONENTS', 'MUI_PAGE_DIRECTORY',
+            'MUI_PAGE_STARTMENU', 'MUI_PAGE_INSTFILES', 'MUI_PAGE_FINISH', 'MUI_UNPAGE_WELCOME',
+            'MUI_UNPAGE_CONFIRM', 'MUI_UNPAGE_LICENSE', 'MUI_UNPAGE_COMPONENTS', 'MUI_UNPAGE_DIRECTORY',
+            'MUI_UNPAGE_INSTFILES', 'MUI_UNPAGE_FINISH', 'MUI_PAGE_HEADER_TEXT', 'MUI_PAGE_HEADER_SUBTEXT',
+            'MUI_WELCOMEPAGE_TITLE', 'MUI_WELCOMEPAGE_TITLE_3LINES', 'MUI_WELCOMEPAGE_TEXT',
+            'MUI_LICENSEPAGE_TEXT_TOP', 'MUI_LICENSEPAGE_TEXT_BOTTOM', 'MUI_LICENSEPAGE_BUTTON',
+            'MUI_LICENSEPAGE_CHECKBOX', 'MUI_LICENSEPAGE_CHECKBOX_TEXT', 'MUI_LICENSEPAGE_RADIOBUTTONS',
+            'MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT', 'MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE',
+            'MUI_COMPONENTSPAGE_TEXT_TOP', 'MUI_COMPONENTSPAGE_TEXT_COMPLIST', 'MUI_COMPONENTSPAGE_TEXT_INSTTYPE',
+            'MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE', 'MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO',
+            'MUI_DIRECTORYPAGE_TEXT_TOP', 'MUI_DIRECTORYPAGE_TEXT_DESTINATION', 'MUI_DIRECTORYPAGE_VARIABLE',
+            'MUI_DIRECTORYPAGE_VERIFYONLEAVE', 'MUI_STARTMENU_WRITE_BEGIN', 'MUI_STARTMENU_WRITE_END',
+            'MUI_STARTMENUPAGE_TEXT_TOP', 'MUI_STARTMENUPAGE_TEXT_CHECKBOX', 'MUI_STARTMENUPAGE_DEFAULTFOLDER',
+            'MUI_STARTMENUPAGE_NODISABLE', 'MUI_STARTMENUPAGE_REGISTRY_ROOT', 'MUI_STARTMENUPAGE_REGISTRY_KEY',
+            'MUI_STARTMENUPAGE_REGISTRY_VALUENAME', 'MUI_INSTFILESPAGE_FINISHHEADER_TEXT',
+            'MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT', 'MUI_INSTFILESPAGE_ABORTHEADER_TEXT',
+            'MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT', 'MUI_FINISHPAGE_TITLE', 'MUI_FINISHPAGE_TITLE_3LINES',
+            'MUI_FINISHPAGE_TEXT', 'MUI_FINISHPAGE_TEXT_LARGE', 'MUI_FINISHPAGE_BUTTON',
+            'MUI_FINISHPAGE_TEXT_REBOOT', 'MUI_FINISHPAGE_TEXT_REBOOTNOW', 'MUI_FINISHPAGE_TEXT_REBOOTLATER',
+            'MUI_FINISHPAGE_RUN', 'MUI_FINISHPAGE_RUN_TEXT', 'MUI_FINISHPAGE_RUN_PARAMETERS',
+            'MUI_FINISHPAGE_RUN_NOTCHECKED', 'MUI_FINISHPAGE_RUN_FUNCTION', 'MUI_FINISHPAGE_SHOWREADME',
+            'MUI_FINISHPAGE_SHOWREADME_TEXT', 'MUI_FINISHPAGE_SHOWREADME_NOTCHECKED',
+            'MUI_FINISHPAGE_SHOWREADME_FUNCTION', 'MUI_FINISHPAGE_LINK', 'MUI_FINISHPAGE_LINK_LOCATION',
+            'MUI_FINISHPAGE_LINK_COLOR', 'MUI_FINISHPAGE_NOREBOOTSUPPORT', 'MUI_UNCONFIRMPAGE_TEXT_TOP',
+            'MUI_UNCONFIRMPAGE_TEXT_LOCATION', 'MUI_LANGUAGE', 'MUI_LANGDLL_DISPLAY',
+            'MUI_LANGDLL_REGISTRY_ROOT', 'MUI_LANGDLL_REGISTRY_KEY', 'MUI_LANGDLL_REGISTRY_VALUENAME',
+            'MUI_LANGDLL_WINDOWTITLE', 'MUI_LANGDLL_INFO', 'MUI_LANGDLL_ALWAYSSHOW',
+            'MUI_RESERVEFILE_INSTALLOPTIONS', 'MUI_RESERVEFILE_LANGDLL', 'MUI_FUNCTION_DESCRIPTION_BEGIN',
+            'MUI_DESCRIPTION_TEXT', 'MUI_FUNCTION_DESCRIPTION_END', 'MUI_INSTALLOPTIONS_EXTRACT',
+            'MUI_INSTALLOPTIONS_EXTRACT_AS', 'MUI_HEADER_TEXT', 'MUI_INSTALLOPTIONS_DISPLAY',
+            'MUI_INSTALLOPTIONS_INITDIALOG', 'MUI_INSTALLOPTIONS_SHOW',
+            'MUI_INSTALLOPTIONS_DISPLAY_RETURN', 'MUI_INSTALLOPTIONS_SHOW_RETURN',
+            'MUI_INSTALLOPTIONS_READ', 'MUI_INSTALLOPTIONS_WRITE',
+            'MUI_CUSTOMFUNCTION_GUIINIT', 'MUI_CUSTOMFUNCTION_UNGUIINIT',
+            'MUI_CUSTOMFUNCTION_ABORT', 'MUI_CUSTOMFUNCTION_UNABORT',
+            'MUI_PAGE_CUSTOMFUNCTION_PRE', 'MUI_PAGE_CUSTOMFUNCTION_SHOW', 'MUI_PAGE_CUSTOMFUNCTION_LEAVE',
+            'MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT'
+            ),
+        9 => array(
+            'LogicLib.nsh', '${LOGICLIB}', 'LOGICLIB_STRCMP', 'LOGICLIB_INT64CMP', 'LOGICLIB_SECTIONCMP', '${If}', '${Unless}',
+            '${ElseIf}', '${ElseUnless}', '${Else}', '${EndIf}', '${EndUnless}', '${AndIf}', '${AndUnless}',
+            '${OrIf}', '${OrUnless}', '${IfThen}', '${IfCmd}', '${Select}', '${Case2}', '${Case3}',
+            '${Case4}', '${Case5}', '${CaseElse}', '${Default}', '${EndSelect}', '${Switch}',
+            '${Case}', '${EndSwitch}', '${Do}', '${DoWhile}', '${UntilWhile}', '${Continue}', '${Break}',
+            '${Loop}', '${LoopWhile}', '${LoopUntil}', '${While}', '${ExitWhile}', '${EndWhile}', '${For}',
+            '${ForEach}', '${ExitFor}', '${Next}', '${Abort}', '${Errors}', '${RebootFlag}', '${Silent}',
+            '${FileExists}', '${Cmd}', '${SectionIsSelected}', '${SectionIsSectionGroup}',
+            '${SectionIsSectionGroupEnd}', '${SectionIsBold}', '${SectionIsReadOnly}',
+            '${SectionIsExpanded}', '${SectionIsPartiallySelected}'
+            ),
+        10 => array(
+            'StrFunc.nsh', '${STRFUNC}', '${StrCase}', '${StrClb}', '${StrIOToNSIS}', '${StrLoc}', '${StrNSISToIO}', '${StrRep}',
+            '${StrSort}', '${StrStr}', '${StrStrAdv}', '${StrTok}', '${StrTrimNewLines}'
+            ),
+        11 => array(
+            'UpgradeDLL.nsh', 'UPGRADEDLL_INCLUDED', 'UpgradeDLL'
+            ),
+        12 => array(
+            'Sections.nsh', 'SECTIONS_INCLUDED', '${SF_SELECTED}', '${SF_SECGRP}', '${SF_SUBSEC}', '${SF_SECGRPEND}',
+            '${SF_SUBSECEND}', '${SF_BOLD}', '${SF_RO}', '${SF_EXPAND}', '${SF_PSELECTED}', '${SF_TOGGLED}',
+            '${SF_NAMECHG}', '${SECTION_OFF}', 'SelectSection', 'UnselectSection', 'ReverseSection',
+            'StartRadioButtons', 'RadioButton', 'EndRadioButtons', '${INSTTYPE_0}', '${INSTTYPE_1}', '${INSTTYPE_2}',
+            '${INSTTYPE_3}', '${INSTTYPE_4}', '${INSTTYPE_5}', '${INSTTYPE_6}', '${INSTTYPE_7}', '${INSTTYPE_8}',
+            '${INSTTYPE_9}', '${INSTTYPE_10}', '${INSTTYPE_11}', '${INSTTYPE_12}', '${INSTTYPE_13}', '${INSTTYPE_14}',
+            '${INSTTYPE_15}', '${INSTTYPE_16}', '${INSTTYPE_17}', '${INSTTYPE_18}', '${INSTTYPE_19}', '${INSTTYPE_20}',
+            '${INSTTYPE_21}', '${INSTTYPE_22}', '${INSTTYPE_23}', '${INSTTYPE_24}', '${INSTTYPE_25}', '${INSTTYPE_26}',
+            '${INSTTYPE_27}', '${INSTTYPE_28}', '${INSTTYPE_29}', '${INSTTYPE_30}', '${INSTTYPE_31}', '${INSTTYPE_32}',
+            'SetSectionInInstType', 'ClearSectionInInstType', 'SetSectionFlag', 'ClearSectionFlag', 'SectionFlagIsSet'
+            ),
+        13 => array(
+            'Colors.nsh', 'WHITE', 'BLACK', 'YELLOW', 'RED', 'GREEN', 'BLUE', 'MAGENTA', 'CYAN', 'rgb2hex'
+            ),
+        14 => array(
+            'FileFunc.nsh', '${Locate}', '${GetSize}', '${DriveSpace}', '${GetDrives}', '${GetTime}', '${GetFileAttributes}', '${GetFileVersion}', '${GetExeName}', '${GetExePath}', '${GetParameters}', '${GetOptions}', '${GetRoot}', '${GetParent}', '${GetFileName}', '${GetBaseName}', '${GetFileExt}', '${BannerTrimPath}', '${DirState}', '${RefreshShellIcons}'
+            ),
+        15 => array(
+            'TextFunc.nsh', '${LineFind}', '${LineRead}', '${FileReadFromEnd}', '${LineSum}', '${FileJoin}', '${TextCompare}', '${ConfigRead}', '${ConfigWrite}', '${FileRecode}', '${TrimNewLines}'
+            ),
+        16 => array(
+            'WordFunc.nsh', '${WordFind}', '${WordFind2X}', '${WordFind3X}', '${WordReplace}', '${WordAdd}', '${WordInsert}', '${StrFilter}', '${VersionCompare}', '${VersionConvert}'
+            )
+        ),
+    'SYMBOLS' => array(
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false,
+        6 => false,
+        7 => false,
+        8 => false,
+        9 => false,
+        10 => false,
+        11 => false,
+        12 => false,
+        13 => false,
+        14 => false,
+        15 => false,
+        16 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000066; font-weight:bold;',
+            2 => 'color: #000066;',
+            3 => 'color: #003366;',
+            4 => 'color: #000099;',
+            5 => 'color: #ff6600;',
+            6 => 'color: #ff6600;',
+            7 => 'color: #006600;',
+            8 => 'color: #006600;',
+            9 => 'color: #006600;',
+            10 => 'color: #006600;',
+            11 => 'color: #006600;',
+            12 => 'color: #006600;',
+            13 => 'color: #006600;',
+            14 => 'color: #006600;',
+            15 => 'color: #006600;',
+            16 => 'color: #006600;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            2 => 'color: #666666; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #660066; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => ''
+            ),
+        'STRINGS' => array(
+            0 => 'color: #660066;'
+            ),
+        'NUMBERS' => array(
+            0 => ''
+            ),
+        'METHODS' => array(
+            0 => ''
+            ),
+        'SYMBOLS' => array(
+            0 => ''
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #660000;',
+            1 => 'color: #660000;',
+            2 => 'color: #660000;',
+            3 => 'color: #660000;',
+            4 => 'color: #660000;',
+            5 => 'color: #660000;',
+            6 => 'color: #660000;',
+            7 => 'color: #000099;',
+            8 => 'color: #003399;'
+            ),
+        'SCRIPT' => array(
+            0 => ''
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => '',
+        7 => '',
+        8 => '',
+        9 => '',
+        10 => '',
+        11 => '',
+        12 => '',
+        13 => '',
+        14 => '',
+        15 => '',
+        16 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        0 => '\$\$',
+        1 => '\$\\r',
+        2 => '\$\\n',
+        3 => '\$\\t',
+        4 => '\$[a-zA-Z0-9_]+',
+        5 => '\$\{.{1,256}\}',
+        6 => '\$\\\(.{1,256}\\\)',
+        7 => array(
+            GESHI_SEARCH => '([^:\/\\\*\?\"\<\>(?:<PIPE>)\s]*?)(::)([^:\/\\\*\?\"\<\>(?:<PIPE>)\s]*?)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '\\2\\3'
+            ),
+        8 => array(
+            GESHI_SEARCH => '([^:\/\\\*\?\"\<\>(?:<PIPE>)\s]*?)(::)([^:\/\\\*\?\"\<\>(?:<PIPE>)]*?\s)',
+            GESHI_REPLACE => '\\3',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1\\2',
+            GESHI_AFTER => ''
+            )
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/objc.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/objc.php	Fri May 29 19:30:59 2009 -0400
@@ -3,14 +3,24 @@
  * objc.php
  * --------
  * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net)
- * Copyright: (c) 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
+ * Contributors: Quinn Taylor (quinntaylor@mac.com)
+ * Copyright: (c) 2008 Quinn Taylor, 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.2
  * Date Started: 2004/06/04
  *
- * Objective C language file for GeSHi.
+ * Objective-C language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/07/11 (1.0.8)
+ *   -  Added support for @ before strings being highlighted
+ * 2008/06/10 (1.0.7.22)
+ *   -  Added keywords for Objective-C 2.0 (Leopard+).
+ *   -  Changed colors to match Xcode 3 highlighting more closely.
+ *   -  Updated API for AppKit and Foundation; added CoreData classes.
+ *   -  Updated URLs for AppKit and Foundation; split classes and protocols.
+ *   -  Sorted all keyword group in reverse-alpha order for correct matching.
+ *   -  Changed all keyword groups to be case-sensitive.
  * 2004/11/27 (1.0.0)
  *   -  First Release
  *
@@ -38,202 +48,311 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Objective C',
-	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'if', 'return', 'while', 'case', 'continue', 'default',
-			'do', 'else', 'for', 'switch', 'goto'
-			),
-		2 => array(
-			'NULL', 'false', 'break', 'true', 'enum', 'nil', 'Nil', 'errno', 'EDOM',
-			'ERANGE', 'FLT_RADIX', 'FLT_ROUNDS', 'FLT_DIG', 'DBL_DIG', 'LDBL_DIG',
-			'FLT_EPSILON', 'DBL_EPSILON', 'LDBL_EPSILON', 'FLT_MANT_DIG', 'DBL_MANT_DIG',
-			'LDBL_MANT_DIG', 'FLT_MAX', 'DBL_MAX', 'LDBL_MAX', 'FLT_MAX_EXP', 'DBL_MAX_EXP',
-			'LDBL_MAX_EXP', 'FLT_MIN', 'DBL_MIN', 'LDBL_MIN', 'FLT_MIN_EXP', 'DBL_MIN_EXP',
-			'LDBL_MIN_EXP', 'CHAR_BIT', 'CHAR_MAX', 'CHAR_MIN', 'SCHAR_MAX', 'SCHAR_MIN',
-			'UCHAR_MAX', 'SHRT_MAX', 'SHRT_MIN', 'USHRT_MAX', 'INT_MAX', 'INT_MIN',
-			'UINT_MAX', 'LONG_MAX', 'LONG_MIN', 'ULONG_MAX', 'HUGE_VAL', 'SIGABRT',
-			'SIGFPE', 'SIGILL', 'SIGINT', 'SIGSEGV', 'SIGTERM', 'SIG_DFL', 'SIG_ERR',
-			'SIG_IGN', 'BUFSIZ', 'EOF', 'FILENAME_MAX', 'FOPEN_MAX', 'L_tmpnam', 'NULL',
-			'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'stdin', 'stdout', 'stderr',
-			'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC'
-			),
-		3 => array(
-			'printf', 'fprintf', 'snprintf', 'sprintf', 'assert',
-			'isalnum', 'isalpha', 'isdigit', 'iscntrl', 'isgraph', 'islower', 'isprint',
-			'ispunct', 'isspace', 'ispunct', 'isupper', 'isxdigit', 'tolower', 'toupper',
-			'exp', 'log', 'log10', 'pow', 'sqrt', 'ceil', 'floor', 'fabs', 'ldexp',
-			'frexp', 'modf', 'fmod', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'atan2',
-			'sinh', 'cosh', 'tanh', 'setjmp', 'longjmp', 'asin', 'acos', 'atan', 'atan2',
-			'va_start', 'va_arg', 'va_end', 'offsetof', 'sizeof', 'fopen', 'freopen',
-			'fflush', 'fclose', 'remove', 'rename', 'tmpfile', 'tmpname', 'setvbuf',
-			'setbuf', 'vfprintf', 'vprintf', 'vsprintf', 'fscanf', 'scanf', 'sscanf',
-			'fgetc', 'fgets', 'fputc', 'fputs', 'getc', 'getchar', 'gets', 'putc',
-			'putchar', 'puts', 'ungetc', 'fread', 'fwrite', 'fseek', 'ftell', 'rewind',
-			'fgetpos', 'fsetpos', 'clearerr', 'feof', 'ferror', 'perror', 'abs', 'labs',
-			'div', 'ldiv', 'atof', 'atoi', 'atol', 'strtod', 'strtol', 'strtoul', 'calloc',
-			'malloc', 'realloc', 'free', 'abort', 'exit', 'atexit', 'system', 'getenv',
-			'bsearch', 'qsort', 'rand', 'srand', 'strcpy', 'strncpy', 'strcat', 'strncat',
-			'strcmp', 'strncmp', 'strcoll', 'strchr', 'strrchr', 'strspn', 'strcspn',
-			'strpbrk', 'strstr', 'strlen', 'strerror', 'strtok', 'strxfrm', 'memcpy',
-			'memmove', 'memcmp', 'memchr', 'memset', 'clock', 'time', 'difftime', 'mktime',
-			'asctime', 'ctime', 'gmtime', 'localtime', 'strftime'
-			),
-		4 => array(   // Data types:
-			'auto', 'char', 'const', 'double',  'float', 'int', 'long',
-			'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct',
-			'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
-			'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
-			'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
-			// OpenStep/GNUstep/Cocoa:
-			'SEL', 'id', 'NSRect', 'NSRange', 'NSPoint', 'NSZone', 'Class', 'IMP', 'BOOL',
-			// OpenStep/GNUstep/Cocoa @identifiers
-			'@selector', '@class', '@protocol', '@interface', '@implementation', '@end',
-			'@private', '@protected', '@public', '@try', '@throw', '@catch', '@finally',
-			'@encode', '@defs', '@synchronized'
-			),
-        5 => array( // OpenStep/GNUstep/Cocoa Foundation
-			'NSAppleEventDescriptor', 'NSNetService', 'NSAppleEventManager',
-			'NSNetServiceBrowser', 'NSAppleScript', 'NSNotification', 'NSArchiver',
-			'NSNotificationCenter', 'NSArray', 'NSNotificationQueue', 'NSAssertionHandler',
-			'NSNull', 'NSAttributedString', 'NSNumber', 'NSAutoreleasePool',
-			'NSNumberFormatter', 'NSBundle', 'NSObject', 'NSCachedURLResponse',
-			'NSOutputStream', 'NSCalendarDate', 'NSPipe', 'NSCharacterSet', 'NSPort',
-			'NSClassDescription', 'NSPortCoder', 'NSCloneCommand', 'NSPortMessage',
-			'NSCloseCommand', 'NSPortNameServer', 'NSCoder', 'NSPositionalSpecifier',
-			'NSConditionLock', 'NSProcessInfo', 'NSConnection', 'NSPropertyListSerialization',
-			'NSCountCommand', 'NSPropertySpecifier', 'NSCountedSet', 'NSProtocolChecker',
-			'NSCreateCommand', 'NSProxy', 'NSData', 'NSQuitCommand', 'NSDate',
-			'NSRandomSpecifier', 'NSDateFormatter', 'NSRangeSpecifier', 'NSDecimalNumber',
-			'NSRecursiveLock', 'NSDecimalNumberHandler', 'NSRelativeSpecifier',
-			'NSDeleteCommand', 'NSRunLoop', 'NSDeserializer', 'NSScanner', 'NSDictionary',
-			'NSScriptClassDescription', 'NSDirectoryEnumerator', 'NSScriptCoercionHandler',
-			'NSDistantObject', 'NSScriptCommand', 'NSDistantObjectRequest',
-			'NSScriptCommandDescription', 'NSDistributedLock', 'NSScriptExecutionContext',
-			'NSDistributedNotificationCenter', 'NSScriptObjectSpecifier', 'NSEnumerator',
-			'NSScriptSuiteRegistry', 'NSError', 'NSScriptWhoseTest', 'NSException',
-			'NSSerializer', 'NSExistsCommand', 'NSSet', 'NSFileHandle', 'NSSetCommand',
-			'NSFileManager', 'NSSocketPort', 'NSFormatter', 'NSSocketPortNameServer',
-			'NSGetCommand', 'NSSortDescriptor', 'NSHost', 'NSSpecifierTest', 'NSHTTPCookie',
-			'NSSpellServer', 'NSHTTPCookieStorage', 'NSStream', 'NSHTTPURLResponse',
-			'NSString', 'NSIndexSet', 'NSTask', 'NSIndexSpecifier', 'NSThread',
-			'NSInputStream', 'NSTimer', 'NSInvocation', 'NSTimeZone', 'NSKeyedArchiver',
-			'NSUnarchiver', 'NSKeyedUnarchiver', 'NSUndoManager', 'NSLock',
-			'NSUniqueIDSpecifier', 'NSLogicalTest', 'NSURL', 'NSMachBootstrapServer',
-			'NSURLAuthenticationChallenge', 'NSMachPort', 'NSURLCache', 'NSMessagePort',
-			'NSURLConnection', 'NSMessagePortNameServer', 'NSURLCredential',
-			'NSMethodSignature', 'NSURLCredentialStorage', 'NSMiddleSpecifier',
-			'NSURLDownload', 'NSMoveCommand', 'NSURLHandle', 'NSMutableArray',
-			'NSURLProtectionSpace', 'NSMutableAttributedString', 'NSURLProtocol',
-			'NSMutableCharacterSet', 'NSURLRequest', 'NSMutableData', 'NSURLResponse',
-			'NSMutableDictionary', 'NSUserDefaults', 'NSMutableIndexSet', 'NSValue',
-			'NSMutableSet', 'NSValueTransformer', 'NSMutableString', 'NSWhoseSpecifier',
-			'NSMutableURLRequest', 'NSXMLParser', 'NSNameSpecifier'
-		),
-		6 => array( // OpenStep/GNUstep/Cocoa AppKit
-			'NSActionCell', 'NSOpenGLPixelFormat', 'NSAffineTransform', 'NSOpenGLView',
-			'NSAlert', 'NSOpenPanel', 'NSAppleScript Additions', 'NSOutlineView',
-			'NSApplication', 'NSPageLayout', 'NSArrayController', 'NSPanel',
-			'NSATSTypesetter', 'NSParagraphStyle', 'NSPasteboard', 'NSBezierPath',
-			'NSPDFImageRep', 'NSBitmapImageRep', 'NSPICTImageRep', 'NSBox', 'NSPopUpButton',
-			'NSBrowser', 'NSPopUpButtonCell', 'NSBrowserCell', 'NSPrinter', 'NSPrintInfo',
-			'NSButton', 'NSPrintOperation', 'NSButtonCell', 'NSPrintPanel', 'NSCachedImageRep',
-			'NSProgressIndicator', 'NSCell', 'NSQuickDrawView', 'NSClipView', 'NSResponder',
-			'NSRulerMarker', 'NSColor', 'NSRulerView', 'NSColorList', 'NSSavePanel',
-			'NSColorPanel', 'NSScreen', 'NSColorPicker', 'NSScroller', 'NSColorWell',
-			'NSScrollView', 'NSComboBox', 'NSSearchField', 'NSComboBoxCell',
-			'NSSearchFieldCell', 'NSControl', 'NSSecureTextField', 'NSController',
-			'NSSecureTextFieldCell', 'NSCursor', 'NSSegmentedCell', 'NSCustomImageRep',
-			'NSSegmentedControl', 'NSDocument', 'NSShadow', 'NSDocumentController',
-			'NSSimpleHorizontalTypesetter', 'NSDrawer', 'NSSlider', 'NSEPSImageRep',
-			'NSSliderCell', 'NSEvent', 'NSSound', 'NSFileWrapper', 'NSSpeechRecognizer',
-			'NSFont', 'NSSpeechSynthesizer', 'NSFontDescriptor', 'NSSpellChecker',
-			'NSFontManager', 'NSSplitView', 'NSFontPanel', 'NSStatusBar', 'NSForm',
-			'NSStatusItem', 'NSFormCell', 'NSStepper', 'NSGlyphGenerator', 'NSStepperCell',
-			'NSGlyphInfo', 'NSGraphicsContext', 'NSTableColumn', 'NSHelpManager',
-			'NSTableHeaderCell', 'NSImage', 'NSTableHeaderView', 'NSImageCell', 'NSTableView',
-			'NSImageRep', 'NSTabView', 'NSImageView', 'NSTabViewItem', 'NSInputManager',
-			'NSText', 'NSInputServer', 'NSTextAttachment', 'NSLayoutManager',
-			'NSTextAttachmentCell', 'NSMatrix', 'NSTextContainer', 'NSMenu', 'NSTextField',
-			'NSMenuItem', 'NSTextFieldCell', 'NSMenuItemCell', 'NSTextStorage', 'NSMenuView',
-			'NSTextTab', 'NSMovie', 'NSTextView', 'NSMovieView', 'NSToolbar', 'NSToolbarItem',
-			'NSMutableParagraphStyle', 'NSTypesetter', 'NSNib', 'NSNibConnector',
-			'NSUserDefaultsController', 'NSNibControlConnector', 'NSView',
-			'NSNibOutletConnector', 'NSWindow', 'NSObjectController', 'NSWindowController',
-			'NSOpenGLContext', 'NSWorkspace', 'NSOpenGLPixelBuffer'
-		)
-	),
-	'SYMBOLS' => array(
-		'(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		5 => false,
-		6 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #0000ff;',
-			2 => 'color: #0000ff;',
-			3 => 'color: #0000dd;',
-			4 => 'color: #0000ff;',
-			5 => 'color: #0000ff;',
-			6 => 'color: #0000ff;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #ff0000;',
-			2 => 'color: #339900;',
-			'MULTI' => 'color: #ff0000; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #666666; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #002200;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #666666;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #0000dd;'
-			),
-		'METHODS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #002200;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAME}.html',
-		4 => '',
-		5 => 'http://developer.apple.com/documentation/Cocoa/Reference/Foundation/ObjC_classic/Classes/{FNAME}.html',
-		6 => 'http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/{FNAME}.html'
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'Objective-C',
+    'COMMENT_SINGLE' => array(
+        //Compiler directives
+        1 => '#',
+        //Single line C-Comments
+        2 => '//'
+        ),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'COMMENT_REGEXP' => array(
+        //Multiline Continuation for single-line comment
+        2 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
+        //Pseudo-Highlighting of the @-sign before strings
+        3 => "/@(?=\")/"
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"', "'"),
+    'ESCAPE_CHAR' => '\\',
+
+    'KEYWORDS' => array(
+        // Objective-C keywords
+        1 => array(
+            'while', 'switch', 'return', 'in', 'if', 'goto', 'foreach', 'for',
+            'else', 'do', 'default', 'continue', 'case', '@try', '@throw',
+            '@synthesize', '@synchronized', '@selector', '@public', '@protocol',
+            '@protected', '@property', '@private', '@interface',
+            '@implementation', '@finally', '@end', '@encode', '@defs', '@class',
+            '@catch'
+            ),
+        // Macros and constants
+        2 => array(
+            'YES', 'USHRT_MAX', 'ULONG_MAX', 'UINT_MAX', 'UCHAR_MAX', 'true',
+            'TMP_MAX', 'stdout', 'stdin', 'stderr', 'SIGTERM', 'SIGSEGV',
+            'SIGINT', 'SIGILL', 'SIG_IGN', 'SIGFPE', 'SIG_ERR', 'SIG_DFL',
+            'SIGABRT', 'SHRT_MIN', 'SHRT_MAX', 'SEEK_SET', 'SEEK_END',
+            'SEEK_CUR', 'SCHAR_MIN', 'SCHAR_MAX', 'RAND_MAX', 'NULL',
+            'NO', 'nil', 'Nil', 'L_tmpnam', 'LONG_MIN', 'LONG_MAX',
+            'LDBL_MIN_EXP', 'LDBL_MIN', 'LDBL_MAX_EXP', 'LDBL_MAX',
+            'LDBL_MANT_DIG', 'LDBL_EPSILON', 'LDBL_DIG', 'INT_MIN', 'INT_MAX',
+            'HUGE_VAL', 'FOPEN_MAX', 'FLT_ROUNDS', 'FLT_RADIX', 'FLT_MIN_EXP',
+            'FLT_MIN', 'FLT_MAX_EXP', 'FLT_MAX', 'FLT_MANT_DIG', 'FLT_EPSILON',
+            'FLT_DIG', 'FILENAME_MAX', 'false', 'EXIT_SUCCESS', 'EXIT_FAILURE',
+            'errno', 'ERANGE', 'EOF', 'enum', 'EDOM', 'DBL_MIN_EXP', 'DBL_MIN',
+            'DBL_MAX_EXP', 'DBL_MAX', 'DBL_MANT_DIG', 'DBL_EPSILON', 'DBL_DIG',
+            'CLOCKS_PER_SEC', 'CHAR_MIN', 'CHAR_MAX', 'CHAR_BIT', 'BUFSIZ',
+            'break'
+            ),
+        // C standard library functions
+        3 => array(
+            'vsprintf', 'vprintf', 'vfprintf', 'va_start', 'va_end', 'va_arg',
+            'ungetc', 'toupper', 'tolower', 'tmpname', 'tmpfile', 'time',
+            'tanh', 'tan', 'system', 'strxfrm', 'strtoul', 'strtol', 'strtok',
+            'strtod', 'strstr', 'strspn', 'strrchr', 'strpbrk', 'strncpy',
+            'strncmp', 'strncat', 'strlen', 'strftime', 'strerror', 'strcspn',
+            'strcpy', 'strcoll', 'strcmp', 'strchr', 'strcat', 'sscanf',
+            'srand', 'sqrt', 'sprintf', 'snprintf', 'sizeof', 'sinh', 'sin',
+            'setvbuf', 'setjmp', 'setbuf', 'scanf', 'rewind', 'rename',
+            'remove', 'realloc', 'rand', 'qsort', 'puts', 'putchar', 'putc',
+            'printf', 'pow', 'perror', 'offsetof', 'modf', 'mktime', 'memset',
+            'memmove', 'memcpy', 'memcmp', 'memchr', 'malloc', 'longjmp',
+            'log10', 'log', 'localtime', 'ldiv', 'ldexp', 'labs', 'isxdigit',
+            'isupper', 'isspace', 'ispunct', 'isprint', 'islower',
+            'isgraph', 'isdigit', 'iscntrl', 'isalpha', 'isalnum', 'gmtime',
+            'gets', 'getenv', 'getchar', 'getc', 'fwrite', 'ftell', 'fsetpos',
+            'fseek', 'fscanf', 'frexp', 'freopen', 'free', 'fread', 'fputs',
+            'fputc', 'fprintf', 'fopen', 'fmod', 'floor', 'fgets', 'fgetpos',
+            'fgetc', 'fflush', 'ferror', 'feof', 'fclose', 'fabs', 'exp',
+            'exit', 'div', 'difftime', 'ctime', 'cosh', 'cos', 'clock',
+            'clearerr', 'ceil', 'calloc', 'bsearch', 'atol', 'atoi', 'atof',
+            'atexit', 'atan2', 'atan', 'assert', 'asin', 'asctime', 'acos',
+            'abs', 'abort'
+            ),
+        // Data types (C, Objective-C, Cocoa)
+        4 => array(
+            'volatile', 'void', 'va_list', 'unsigned', 'union', 'typedef', 'tm',
+            'time_t', 'struct', 'string', 'static', 'size_t',
+            'signed', 'signal', 'short', 'SEL', 'register', 'raise',
+            'ptrdiff_t', 'NSZone', 'NSRect', 'NSRange', 'NSPoint', 'long',
+            'ldiv_t', 'jmp_buf', 'int', 'IMP', 'id', 'fpos_t', 'float', 'FILE',
+            'extern', 'double', 'div_t', 'const', 'clock_t', 'Class', 'char',
+            'BOOL', 'auto'
+            ),
+        // Foundation classes
+        5 => array(
+            'NSXMLParser', 'NSXMLNode', 'NSXMLElement', 'NSXMLDTDNode',
+            'NSXMLDTD', 'NSXMLDocument', 'NSWhoseSpecifier',
+            'NSValueTransformer', 'NSValue', 'NSUserDefaults', 'NSURLResponse',
+            'NSURLRequest', 'NSURLProtocol', 'NSURLProtectionSpace',
+            'NSURLHandle', 'NSURLDownload', 'NSURLCredentialStorage',
+            'NSURLCredential', 'NSURLConnection', 'NSURLCache',
+            'NSURLAuthenticationChallenge', 'NSURL', 'NSUniqueIDSpecifier',
+            'NSUndoManager', 'NSUnarchiver', 'NSTimeZone', 'NSTimer',
+            'NSThread', 'NSTask', 'NSString', 'NSStream', 'NSSpellServer',
+            'NSSpecifierTest', 'NSSortDescriptor', 'NSSocketPortNameServer',
+            'NSSocketPort', 'NSSetCommand', 'NSSet', 'NSSerializer',
+            'NSScriptWhoseTest', 'NSScriptSuiteRegistry',
+            'NSScriptObjectSpecifier', 'NSScriptExecutionContext',
+            'NSScriptCommandDescription', 'NSScriptCommand',
+            'NSScriptCoercionHandler', 'NSScriptClassDescription', 'NSScanner',
+            'NSRunLoop', 'NSRelativeSpecifier', 'NSRecursiveLock',
+            'NSRangeSpecifier', 'NSRandomSpecifier', 'NSQuitCommand', 'NSProxy',
+            'NSProtocolChecker', 'NSPropertySpecifier',
+            'NSPropertyListSerialization', 'NSProcessInfo', 'NSPredicate',
+            'NSPositionalSpecifier', 'NSPortNameServer', 'NSPortMessage',
+            'NSPortCoder', 'NSPort', 'NSPointerFunctions', 'NSPointerArray',
+            'NSPipe', 'NSOutputStream', 'NSOperationQueue', 'NSOperation',
+            'NSObject', 'NSNumberFormatter', 'NSNumber', 'NSNull',
+            'NSNotificationQueue', 'NSNotificationCenter', 'NSNotification',
+            'NSNetServiceBrowser', 'NSNetService', 'NSNameSpecifier',
+            'NSMutableURLRequest', 'NSMutableString', 'NSMutableSet',
+            'NSMutableIndexSet', 'NSMutableDictionary', 'NSMutableData',
+            'NSMutableCharacterSet', 'NSMutableAttributedString',
+            'NSMutableArray', 'NSMoveCommand', 'NSMiddleSpecifier',
+            'NSMethodSignature', 'NSMetadataQueryResultGroup',
+            'NSMetadataQueryAttributeValueTuple', 'NSMetadataQuery',
+            'NSMetadataItem', 'NSMessagePortNameServer', 'NSMessagePort',
+            'NSMapTable', 'NSMachPort', 'NSMachBootstrapServer',
+            'NSLogicalTest', 'NSLock', 'NSLocale', 'NSKeyedUnarchiver',
+            'NSKeyedArchiver', 'NSInvocationOperation', 'NSInvocation',
+            'NSInputStream', 'NSIndexSpecifier', 'NSIndexSet', 'NSIndexPath',
+            'NSHTTPURLResponse', 'NSHTTPCookieStorage', 'NSHTTPCookie',
+            'NSHost', 'NSHashTable', 'NSGetCommand', 'NSGarbageCollector',
+            'NSFormatter', 'NSFileManager', 'NSFileHandle', 'NSExpression',
+            'NSExistsCommand', 'NSException', 'NSError', 'NSEnumerator',
+            'NSDistributedNotificationCenter', 'NSDistributedLock',
+            'NSDistantObjectRequest', 'NSDistantObject',
+            'NSDirectoryEnumerator', 'NSDictionary', 'NSDeserializer',
+            'NSDeleteCommand', 'NSDecimalNumberHandler', 'NSDecimalNumber',
+            'NSDateFormatter', 'NSDateComponents', 'NSDate', 'NSData',
+            'NSCreateCommand', 'NSCountedSet', 'NSCountCommand', 'NSConnection',
+            'NSConditionLock', 'NSCondition', 'NSCompoundPredicate',
+            'NSComparisonPredicate', 'NSCoder', 'NSCloseCommand',
+            'NSCloneCommand', 'NSClassDescription', 'NSCharacterSet',
+            'NSCalendarDate', 'NSCalendar', 'NSCachedURLResponse', 'NSBundle',
+            'NSAutoreleasePool', 'NSAttributedString', 'NSAssertionHandler',
+            'NSArray', 'NSArchiver', 'NSAppleScript', 'NSAppleEventManager',
+            'NSAppleEventDescriptor', 'NSAffineTransform'
+            ),
+        // Foundation protocols
+        6 => array(
+            'NSURLProtocolClient', 'NSURLHandleClient', 'NSURLClient',
+            'NSURLAuthenticationChallengeSender', 'NSScriptObjectSpecifiers',
+            'NSScriptKeyValueCoding', 'NSScriptingComparisonMethods',
+            'NSObjCTypeSerializationCallBack', 'NSMutableCopying',
+            'NSLocking', 'NSKeyValueObserving', 'NSKeyValueCoding',
+            'NSFastEnumeration', 'NSErrorRecoveryAttempting',
+            'NSDecimalNumberBehaviors', 'NSCopying', 'NSComparisonMethods',
+            'NSCoding'
+            ),
+        // AppKit classes
+        7 => array(
+            'NSWorkspace', 'NSWindowController', 'NSWindow', 'NSViewController',
+            'NSViewAnimation', 'NSView', 'NSUserDefaultsController',
+            'NSTypesetter', 'NSTreeNode', 'NSTreeController', 'NSTrackingArea',
+            'NSToolbarItemGroup', 'NSToolbarItem', 'NSToolbar',
+            'NSTokenFieldCell', 'NSTokenField', 'NSTextView',
+            'NSTextTableBlock', 'NSTextTable', 'NSTextTab', 'NSTextStorage',
+            'NSTextList', 'NSTextFieldCell', 'NSTextField', 'NSTextContainer',
+            'NSTextBlock', 'NSTextAttachmentCell', 'NSTextAttachment', 'NSText',
+            'NSTabViewItem', 'NSTabView', 'NSTableView', 'NSTableHeaderView',
+            'NSTableHeaderCell', 'NSTableColumn', 'NSStepperCell', 'NSStepper',
+            'NSStatusItem', 'NSStatusBar', 'NSSplitView', 'NSSpellChecker',
+            'NSSpeechSynthesizer', 'NSSpeechRecognizer', 'NSSound',
+            'NSSliderCell', 'NSSlider', 'NSSimpleHorizontalTypesetter',
+            'NSShadow', 'NSSegmentedControl', 'NSSegmentedCell',
+            'NSSecureTextFieldCell', 'NSSecureTextField', 'NSSearchFieldCell',
+            'NSSearchField', 'NSScrollView', 'NSScroller', 'NSScreen',
+            'NSSavePanel', 'NSRulerView', 'NSRulerMarker', 'NSRuleEditor',
+            'NSResponder', 'NSQuickDrawView', 'NSProgressIndicator',
+            'NSPrintPanel', 'NSPrintOperation', 'NSPrintInfo', 'NSPrinter',
+            'NSPredicateEditorRowTemplate', 'NSPredicateEditor',
+            'NSPopUpButtonCell', 'NSPopUpButton', 'NSPICTImageRep',
+            'NSPersistentDocument', 'NSPDFImageRep', 'NSPathControl',
+            'NSPathComponentCell', 'NSPathCell', 'NSPasteboard',
+            'NSParagraphStyle', 'NSPanel', 'NSPageLayout', 'NSOutlineView',
+            'NSOpenPanel', 'NSOpenGLView', 'NSOpenGLPixelFormat',
+            'NSOpenGLPixelBuffer', 'NSOpenGLContext', 'NSObjectController',
+            'NSNibOutletConnector', 'NSNibControlConnector', 'NSNibConnector',
+            'NSNib', 'NSMutableParagraphStyle', 'NSMovieView', 'NSMovie',
+            'NSMenuView', 'NSMenuItemCell', 'NSMenuItem', 'NSMenu', 'NSMatrix',
+            'NSLevelIndicatorCell', 'NSLevelIndicator', 'NSLayoutManager',
+            'NSInputServer', 'NSInputManager', 'NSImageView', 'NSImageRep',
+            'NSImageCell', 'NSImage', 'NSHelpManager', 'NSGraphicsContext',
+            'NSGradient', 'NSGlyphInfo', 'NSGlyphGenerator', 'NSFormCell',
+            'NSForm', 'NSFontPanel', 'NSFontManager', 'NSFontDescriptor',
+            'NSFont', 'NSFileWrapper', 'NSEvent', 'NSEPSImageRep', 'NSDrawer',
+            'NSDocumentController', 'NSDocument', 'NSDockTile',
+            'NSDictionaryController', 'NSDatePickerCell', 'NSDatePicker',
+            'NSCustomImageRep', 'NSCursor', 'NSController', 'NSControl',
+            'NSComboBoxCell', 'NSComboBox', 'NSColorWell', 'NSColorSpace',
+            'NSColorPicker', 'NSColorPanel', 'NSColorList', 'NSColor',
+            'NSCollectionViewItem', 'NSCollectionView', 'NSClipView',
+            'NSCIImageRep', 'NSCell', 'NSCachedImageRep', 'NSButtonCell',
+            'NSButton', 'NSBrowserCell', 'NSBrowser', 'NSBox',
+            'NSBitmapImageRep', 'NSBezierPath', 'NSATSTypesetter',
+            'NSArrayController', 'NSApplication', 'NSAnimationContext',
+            'NSAnimation', 'NSAlert', 'NSActionCell'
+            ),
+        // AppKit protocols
+        8 => array(
+            'NSWindowScripting', 'NSValidatedUserInterfaceItem',
+            'NSUserInterfaceValidations', 'NSToolTipOwner',
+            'NSToolbarItemValidation', 'NSTextInput',
+            'NSTableDataSource', 'NSServicesRequests',
+            'NSPrintPanelAccessorizing', 'NSPlaceholders',
+            'NSPathControlDelegate', 'NSPathCellDelegate',
+            'NSOutlineViewDataSource', 'NSNibAwaking', 'NSMenuValidation',
+            'NSKeyValueBindingCreation', 'NSInputServiceProvider',
+            'NSInputServerMouseTracker', 'NSIgnoreMisspelledWords',
+            'NSGlyphStorage', 'NSFontPanelValidation', 'NSEditorRegistration',
+            'NSEditor', 'NSDraggingSource', 'NSDraggingInfo',
+            'NSDraggingDestination', 'NSDictionaryControllerKeyValuePair',
+            'NSComboBoxDataSource', 'NSComboBoxCellDataSource',
+            'NSColorPickingDefault', 'NSColorPickingCustom', 'NSChangeSpelling',
+            'NSAnimatablePropertyContainer', 'NSAccessibility'
+            ),
+        // CoreData classes
+        9 => array(
+            'NSRelationshipDescription', 'NSPropertyMapping',
+            'NSPropertyDescription', 'NSPersistentStoreCoordinator',
+            'NSPersistentStore', 'NSMigrationManager', 'NSMappingModel',
+            'NSManagedObjectModel', 'NSManagedObjectID',
+            'NSManagedObjectContext', 'NSManagedObject',
+            'NSFetchRequestExpression', 'NSFetchRequest',
+            'NSFetchedPropertyDescription', 'NSEntityMigrationPolicy',
+            'NSEntityMapping', 'NSEntityDescription', 'NSAttributeDescription',
+            'NSAtomicStoreCacheNode', 'NSAtomicStore'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => true,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true,
+        6 => true,
+        7 => true,
+        8 => true,
+        9 => true
+        ),
+    // Define the colors for the groups listed above
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #a61390;', // Objective-C keywords
+            2 => 'color: #a61390;', // Macros and constants
+            3 => 'color: #a61390;', // C standard library functions
+            4 => 'color: #a61390;', // data types
+            5 => 'color: #400080;', // Foundation classes
+            6 => 'color: #2a6f76;', // Foundation protocols
+            7 => 'color: #400080;', // AppKit classes
+            8 => 'color: #2a6f76;', // AppKit protocols
+            9 => 'color: #400080;' // CoreData classes
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #6e371a;', // Preprocessor directives
+            2 => 'color: #11740a; font-style: italic;', // Normal C single-line comments
+            3 => 'color: #bf1d1a;', // Q-sign in front of Strings
+            'MULTI' => 'color: #11740a; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #2400d9;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #002200;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #bf1d1a;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #2400d9;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #002200;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => 'http://www.opengroup.org/onlinepubs/009695399/functions/{FNAME}.html',
+        4 => '',
+        5 => 'http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/{FNAME}_Class/',
+        6 => 'http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Protocols/{FNAME}_Protocol/',
+        7 => 'http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/{FNAME}_Class/',
+        8 => 'http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Protocols/{FNAME}_Protocol/',
+        9 => 'http://developer.apple.com/documentation/Cocoa/Reference/CoreDataFramework/Classes/{FNAME}_Class/'
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/ocaml-brief.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/ocaml-brief.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * ----------
  * Author: Flaie (fireflaie@gmail.com)
  * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2005/08/27
  *
  * OCaml (Objective Caml) language file for GeSHi.
@@ -38,75 +38,75 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'OCaml',
-	'COMMENT_SINGLE' => array(),
-	'COMMENT_MULTI' => array('(*' => '*)'),
-	'CASE_KEYWORDS' => 0,
-	'QUOTEMARKS' => array('"'),
-	'ESCAPE_CHAR' => "",
-	'KEYWORDS' => array(
-	   /* main OCaml keywords */
-		1 => array(
-			'and', 'As', 'asr', 'begin', 'Class', 'Closed', 'constraint', 'do', 'done', 'downto', 'else',
-			'end', 'exception', 'external', 'failwith', 'false', 'flush', 'for', 'fun', 'function', 'functor',
-			'if', 'in', 'include', 'inherit',  'incr', 'land', 'let', 'load', 'los', 'lsl', 'lsr', 'lxor',
-			'match', 'method', 'mod', 'module', 'mutable', 'new', 'not', 'of', 'open', 'option', 'or', 'parser',
-			'private', 'ref', 'rec', 'raise', 'regexp', 'sig', 'struct', 'stdout', 'stdin', 'stderr', 'then',
-			'to', 'true', 'try', 'type', 'val', 'virtual', 'when', 'while', 'with'
-			)
-		),
-	/* highlighting symbols is really important in OCaml */
-	'SYMBOLS' => array(
-			';', '!', ':', '.', '=', '%', '^', '*', '-', '/', '+', 
-			'>', '<', '(', ')', '[', ']', '&', '|', '#', "'"
-			), 
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #06c; font-weight: bold;' /* nice blue */
-			),
-		'COMMENTS' => array(
-			'MULTI' => 'color: #5d478b; font-style: italic;' /* light purple */
-			),
-		'ESCAPE_CHAR' => array(
-			),
-		'BRACKETS' => array(
-			0 => 'color: #6c6;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #3cb371;' /* nice green */
-			),
-		'NUMBERS' => array(
-			0 => 'color: #c6c;' /* pink */
-			),
-		'METHODS' => array(
-			1 => 'color: #060;' /* dark green */
-			),
-		'REGEXPS' => array(
-			),
-		'SYMBOLS' => array( 
-			0 => 'color: #a52a2a;' /* maroon */
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'OCaml (brief)',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array('(*' => '*)'),
+    'CASE_KEYWORDS' => 0,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => "",
+    'KEYWORDS' => array(
+        /* main OCaml keywords */
+        1 => array(
+            'and', 'as', 'asr', 'begin', 'class', 'closed', 'constraint', 'do', 'done', 'downto', 'else',
+            'end', 'exception', 'external', 'failwith', 'false', 'flush', 'for', 'fun', 'function', 'functor',
+            'if', 'in', 'include', 'inherit',  'incr', 'land', 'let', 'load', 'los', 'lsl', 'lsr', 'lxor',
+            'match', 'method', 'mod', 'module', 'mutable', 'new', 'not', 'of', 'open', 'option', 'or', 'parser',
+            'private', 'ref', 'rec', 'raise', 'regexp', 'sig', 'struct', 'stdout', 'stdin', 'stderr', 'then',
+            'to', 'true', 'try', 'type', 'val', 'virtual', 'when', 'while', 'with'
+            )
+        ),
+    /* highlighting symbols is really important in OCaml */
+    'SYMBOLS' => array(
+        ';', '!', ':', '.', '=', '%', '^', '*', '-', '/', '+',
+        '>', '<', '(', ')', '[', ']', '&', '|', '#', "'"
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #06c; font-weight: bold;' /* nice blue */
+            ),
+        'COMMENTS' => array(
+            'MULTI' => 'color: #5d478b; font-style: italic;' /* light purple */
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #6c6;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #3cb371;' /* nice green */
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #c6c;' /* pink */
+            ),
+        'METHODS' => array(
+            1 => 'color: #060;' /* dark green */
+            ),
+        'REGEXPS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #a52a2a;' /* maroon */
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/ocaml.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/ocaml.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * ----------
  * Author: Flaie (fireflaie@gmail.com)
  * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2005/08/27
  *
  * OCaml (Objective Caml) language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/03/29 (1.0.7.22)
+ *   -  Fixed warnings resulting from missing style information
  * 2005/08/27 (1.0.0)
  *   -  First Release
  *
@@ -38,124 +40,135 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'OCaml',
-	'COMMENT_SINGLE' => array(),
-	'COMMENT_MULTI' => array('(*' => '*)'),
-	'CASE_KEYWORDS' => 0,
-	'QUOTEMARKS' => array('"'),
-	'ESCAPE_CHAR' => "",
-	'KEYWORDS' => array(
-	   /* main OCaml keywords */
-		1 => array(
-			'and', 'As', 'asr', 'begin', 'Class', 'Closed', 'constraint', 'do', 'done', 'downto', 'else',
-			'end', 'exception', 'external', 'failwith', 'false', 'flush', 'for', 'fun', 'function', 'functor',
-			'if', 'in', 'include', 'inherit',  'incr', 'land', 'let', 'load', 'los', 'lsl', 'lsr', 'lxor',
-			'match', 'method', 'mod', 'module', 'mutable', 'new', 'not', 'of', 'open', 'option', 'or', 'parser',
-			'private', 'ref', 'rec', 'raise', 'regexp', 'sig', 'struct', 'stdout', 'stdin', 'stderr', 'then',
-			'to', 'true', 'try', 'type', 'val', 'virtual', 'when', 'while', 'with'
-			),
-		/* define names of main librarys, so we can link to it */
-		2 => array(
-			'Arg', 'Arith_status', 'Array', 'ArrayLabels', 'Big_int', 'Bigarray', 'Buffer', 'Callback',
-			'CamlinternalOO', 'Char', 'Complex', 'Condition', 'Dbm', 'Digest', 'Dynlink', 'Event',
-			'Filename', 'Format', 'Gc', 'Genlex', 'Graphics', 'GraphicsX11', 'Hashtbl', 'Int32', 'Int64',
-			'Lazy', 'Lexing', 'List', 'ListLabels', 'Map', 'Marshal', 'MoreLabels', 'Mutex', 'Nativeint',
-			'Num', 'Obj', 'Oo', 'Parsing', 'Pervasives', 'Printexc', 'Printf', 'Queue', 'Random', 'Scanf',
-			'Set', 'Sort', 'Stack', 'StdLabels', 'Str', 'Stream', 'String', 'StringLabels', 'Sys', 'Thread',
-			'ThreadUnix', 'Tk'
-		   ),
-		/* just link to the Pervasives functions library, cause it's the default opened library when starting OCaml */
-		3 => array(
-			'raise', 'invalid_arg', 'failwith', 'compare', 'min', 'max', 'succ', 'pred', 'mod', 'abs', 
-			'max_int', 'min_int', 'sqrt', 'exp', 'log', 'log10', 'cos', 'sin', 'tan', 'acos', 'asin', 
-			'atan', 'atan2', 'cosh', 'sinh', 'tanh', 'ceil', 'floor', 'abs_float', 'mod_float', 'frexp',
-			'ldexp', 'modf', 'float', 'float_of_int', 'truncate', 'int_of_float', 'infinity', 'nan',
-			'max_float', 'min_float', 'epsilon_float', 'classify_float', 'int_of_char', 'char_of_int', 
-			'ignore', 'string_of_bool', 'bool_of_string', 'string_of_int', 'int_of_string', 
-			'string_of_float', 'float_of_string', 'fst', 'snd', 'stdin', 'stdout', 'stderr', 'print_char',
-			'print_string', 'print_int', 'print_float', 'print_endline', 'print_newline', 'prerr_char',
-			'prerr_string', 'prerr_int', 'prerr_float', 'prerr_endline', 'prerr_newline', 'read_line',
-			'read_int', 'read_float', 'open_out', 'open_out_bin', 'open_out_gen', 'flush', 'flush_all',
-			'output_char', 'output_string', 'output', 'output_byte', 'output_binary_int', 'output_value',
-			'seek_out', 'pos_out',  'out_channel_length', 'close_out', 'close_out_noerr', 'set_binary_mode_out',
-			'open_in', 'open_in_bin', 'open_in_gen', 'input_char', 'input_line', 'input', 'really_input',
-			'input_byte', 'input_binary_int', 'input_value', 'seek_in', 'pos_in', 'in_channel_length',
-			'close_in', 'close_in_noerr', 'set_binary_mode_in', 'incr', 'decr', 'string_of_format',
-			'format_of_string', 'exit', 'at_exit' 
-		   ),
-		/* here Pervasives Types */
-		4 => array (
-		   'fpclass', 'in_channel', 'out_channel', 'open_flag', 'Sys_error', 'ref', 'format'
-		   ),
-		/* finally Pervasives Exceptions */
-		5 => array (
-			'Exit', 'Invalid_Argument', 'Failure', 'Division_by_zero'
-		   )
-		),
-	/* highlighting symbols is really important in OCaml */
-	'SYMBOLS' => array(
-			';', '!', ':', '.', '=', '%', '^', '*', '-', '/', '+', 
-			'>', '<', '(', ')', '[', ']', '&', '|', '#', "'"
-			), 
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => true, /* functions name are case seinsitive */
-		3 => true, /* types name too */
-		4 => true  /* finally exceptions too */
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #06c; font-weight: bold;' /* nice blue */
-			),
-		'COMMENTS' => array(
-			'MULTI' => 'color: #5d478b; font-style: italic;' /* light purple */
-			),
-		'ESCAPE_CHAR' => array(
-			),
-		'BRACKETS' => array(
-			0 => 'color: #6c6;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #3cb371;' /* nice green */
-			),
-		'NUMBERS' => array(
-			0 => 'color: #c6c;' /* pink */
-			),
-		'METHODS' => array(
-			1 => 'color: #060;' /* dark green */
-			),
-		'REGEXPS' => array(
-			),
-		'SYMBOLS' => array( 
-			0 => 'color: #a52a2a;' /* maroon */
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-	   /* some of keywords are Pervasives functions (land, lxor, asr, ...) */
-		1 => '',
-		/* link to the wanted library */
-		2 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/{FNAME}.html', 
-		/* link to Pervasives functions */
-		3 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#VAL{FNAME}', 
-		/* link to Pervasives type */
-		4 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#TYPE{FNAME}',
-		/* link to Pervasives exceptions */
-		5 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#EXCEPTION{FNAME}'
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'OCaml',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array('(*' => '*)'),
+    'CASE_KEYWORDS' => 0,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => "",
+    'KEYWORDS' => array(
+        /* main OCaml keywords */
+        1 => array(
+            'and', 'as', 'asr', 'begin', 'class', 'closed', 'constraint', 'do', 'done', 'downto', 'else',
+            'end', 'exception', 'external', 'failwith', 'false', 'for', 'fun', 'function', 'functor',
+            'if', 'in', 'include', 'inherit',  'incr', 'land', 'let', 'load', 'los', 'lsl', 'lsr', 'lxor',
+            'match', 'method', 'mod', 'module', 'mutable', 'new', 'not', 'of', 'open', 'option', 'or', 'parser',
+            'private', 'ref', 'rec', 'raise', 'regexp', 'sig', 'struct', 'stdout', 'stdin', 'stderr', 'then',
+            'to', 'true', 'try', 'type', 'val', 'virtual', 'when', 'while', 'with'
+            ),
+        /* define names of main librarys, so we can link to it */
+        2 => array(
+            'Arg', 'Arith_status', 'Array', 'ArrayLabels', 'Big_int', 'Bigarray', 'Buffer', 'Callback',
+            'CamlinternalOO', 'Char', 'Complex', 'Condition', 'Dbm', 'Digest', 'Dynlink', 'Event',
+            'Filename', 'Format', 'Gc', 'Genlex', 'Graphics', 'GraphicsX11', 'Hashtbl', 'Int32', 'Int64',
+            'Lazy', 'Lexing', 'List', 'ListLabels', 'Map', 'Marshal', 'MoreLabels', 'Mutex', 'Nativeint',
+            'Num', 'Obj', 'Oo', 'Parsing', 'Pervasives', 'Printexc', 'Printf', 'Queue', 'Random', 'Scanf',
+            'Set', 'Sort', 'Stack', 'StdLabels', 'Str', 'Stream', 'String', 'StringLabels', 'Sys', 'Thread',
+            'ThreadUnix', 'Tk'
+            ),
+        /* just link to the Pervasives functions library, cause it's the default opened library when starting OCaml */
+        3 => array(
+            'abs', 'abs_float', 'acos', 'asin', 'at_exit', 'atan', 'atan2',
+            'bool_of_string', 'ceil', 'char_of_int', 'classify_float',
+            'close_in', 'close_in_noerr', 'close_out', 'close_out_noerr',
+            'compare', 'cos', 'cosh', 'decr', 'epsilon_float', 'exit', 'exp',
+            'float', 'float_of_int', 'float_of_string', 'floor', 'flush',
+            'flush_all', 'format_of_string', 'frexp', 'fst', 'ignore',
+            'in_channel_length', 'infinity', 'input', 'input_binary_int',
+            'input_byte', 'input_char', 'input_line', 'input_value',
+            'int_of_char', 'int_of_float', 'int_of_string', 'invalid_arg',
+            'ldexp', 'log', 'log10', 'max', 'max_float', 'max_int', 'min',
+            'min_float', 'min_int', 'mod_float', 'modf', 'nan', 'open_in',
+            'open_in_bin', 'open_in_gen', 'open_out', 'open_out_bin',
+            'open_out_gen', 'out_channel_length', 'output', 'output_binary_int',
+            'output_byte', 'output_char', 'output_string', 'output_value',
+            'pos_in', 'pos_out',  'pred', 'prerr_char', 'prerr_endline',
+            'prerr_float', 'prerr_int', 'prerr_newline', 'prerr_string',
+            'print_char', 'print_endline', 'print_float', 'print_int',
+            'print_newline', 'print_string', 'read_float', 'read_int',
+            'read_line', 'really_input', 'seek_in', 'seek_out',
+            'set_binary_mode_in', 'set_binary_mode_out', 'sin', 'sinh', 'snd',
+            'sqrt', 'string_of_bool', 'string_of_float', 'string_of_format',
+            'string_of_int', 'succ', 'tan', 'tanh', 'truncate'
+            ),
+        /* here Pervasives Types */
+        4 => array (
+            'fpclass', 'in_channel', 'out_channel', 'open_flag', 'Sys_error', 'format'
+            ),
+        /* finally Pervasives Exceptions */
+        5 => array (
+            'Exit', 'Invalid_Argument', 'Failure', 'Division_by_zero'
+            )
+        ),
+    /* highlighting symbols is really important in OCaml */
+    'SYMBOLS' => array(
+        ';', '!', ':', '.', '=', '%', '^', '*', '-', '/', '+',
+        '>', '<', '(', ')', '[', ']', '&', '|', '#', "'"
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => true, /* functions name are case sensitive */
+        3 => true, /* types name too */
+        4 => true, /* pervasives types */
+        5 => true  /* pervasives exceptions */
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #06c; font-weight: bold;', /* nice blue */
+            2 => 'color: #06c; font-weight: bold;', /* nice blue */
+            3 => 'color: #06c; font-weight: bold;', /* nice blue */
+            4 => 'color: #06c; font-weight: bold;', /* nice blue */
+            5 => 'color: #06c; font-weight: bold;' /* nice blue */
+            ),
+        'COMMENTS' => array(
+            'MULTI' => 'color: #5d478b; font-style: italic;' /* light purple */
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #6c6;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #3cb371;' /* nice green */
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #c6c;' /* pink */
+            ),
+        'METHODS' => array(
+            1 => 'color: #060;' /* dark green */
+            ),
+        'REGEXPS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #a52a2a;' /* maroon */
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        /* some of keywords are Pervasives functions (land, lxor, asr, ...) */
+        1 => '',
+        /* link to the wanted library */
+        2 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/{FNAME}.html',
+        /* link to Pervasives functions */
+        3 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#VAL{FNAME}',
+        /* link to Pervasives type */
+        4 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#TYPE{FNAME}',
+        /* link to Pervasives exceptions */
+        5 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#EXCEPTION{FNAME}'
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/oobas.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/oobas.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * ---------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/08/30
  *
  * OpenOffice.org Basic language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *  -  Added description of extra language features (SF#1970248)
  * 2004/11/27 (1.0.1)
  *  -  Added support for multiple object splitters
  * 2004/10/27 (1.0.0)
@@ -40,91 +42,94 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'OpenOffice.org Basic',
-	'COMMENT_SINGLE' => array(1 => "'"),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"'),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		1 => array(
-			'dim','private','public','global','as','if','redim','true','set',
-			'byval',
-			'false','bool','double','integer','long','object','single','variant',
-			'msgbox','print','inputbox','green','blue','red','qbcolor',
-			'rgb','open','close','reset','freefile','get','input','line',
-			'put','write','loc','seek','eof','lof','chdir','chdrive',
-			'curdir','dir','fileattr','filecopy','filedatetime','fileexists',
-			'filelen','getattr','kill','mkdir','name','rmdir','setattr',
-			'dateserial','datevalue','day','month','weekday','year','cdatetoiso',
-			'cdatefromiso','hour','minute','second','timeserial','timevalue',
-			'date','now','time','timer','erl','err','error','on','error','goto','resume',
-			'and','eqv','imp','not','or','xor','mod','','atn','cos','sin','tan','log',
-			'exp','rnd','randomize','sqr','fix','int','abs','sgn','hex','oct',
-			'it','then','else','select','case','iif','do','loop','for','next',
-			'while','wend','gosub','return','goto','on','goto','call','choose','declare',
-			'end','exit','freelibrary','function','rem','stop','sub','switch','with',
-			'cbool','cdate','cdbl','cint','clng','const','csng','cstr','defbool',
-			'defdate','defdbl','defint','deflng','asc','chr','str','val','cbyte',
-			'space','string','format','lcase','left','lset','ltrim','mid','right',
-			'rset','rtrim','trim','ucase','split','join','converttourl','convertfromurl',
-			'instr','len','strcomp','beep','shell','wait','getsystemticks','environ',
-			'getsolarversion','getguitype','twipsperpixelx','twipsperpixely',
-			'createunostruct','createunoservice','getprocessservicemanager',
-			'createunodialog','createunolistener','createunovalue','thiscomponent',
-			'globalscope'
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')', '='
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #006600;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099;'
-			),
-		'SCRIPT' => array(
-			),
-		'REGEXPS' => array(
-			)
-		),
-	'URLS' => array(
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'OpenOffice.org Basic',
+    'COMMENT_SINGLE' => array(1 => "'"),
+    'COMMENT_MULTI' => array(),
+    //Single-Line comments using REM keyword
+    'COMMENT_REGEXP' => array(2 => '/\bREM.*?$/i'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'dim','private','public','global','as','if','redim','true','set','byval',
+            'false','bool','double','integer','long','object','single','variant',
+            'msgbox','print','inputbox','green','blue','red','qbcolor',
+            'rgb','open','close','reset','freefile','get','input','line',
+            'put','write','loc','seek','eof','lof','chdir','chdrive',
+            'curdir','dir','fileattr','filecopy','filedatetime','fileexists',
+            'filelen','getattr','kill','mkdir','name','rmdir','setattr',
+            'dateserial','datevalue','day','month','weekday','year','cdatetoiso',
+            'cdatefromiso','hour','minute','second','timeserial','timevalue',
+            'date','now','time','timer','erl','err','error','on','goto','resume',
+            'and','eqv','imp','not','or','xor','mod','atn','cos','sin','tan','log',
+            'exp','rnd','randomize','sqr','fix','int','abs','sgn','hex','oct',
+            'it','then','else','select','case','iif','do','loop','for','next','to',
+            'while','wend','gosub','return','call','choose','declare',
+            'end','exit','freelibrary','function','rem','stop','sub','switch','with',
+            'cbool','cdate','cdbl','cint','clng','const','csng','cstr','defbool',
+            'defdate','defdbl','defint','deflng','asc','chr','str','val','cbyte',
+            'space','string','format','lcase','left','lset','ltrim','mid','right',
+            'rset','rtrim','trim','ucase','split','join','converttourl','convertfromurl',
+            'instr','len','strcomp','beep','shell','wait','getsystemticks','environ',
+            'getsolarversion','getguitype','twipsperpixelx','twipsperpixely',
+            'createunostruct','createunoservice','getprocessservicemanager',
+            'createunodialog','createunolistener','createunovalue','thiscomponent',
+            'globalscope'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '='
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080;',
+            2 => 'color: #808080;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/oracle11.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,614 @@
+<?php
+/*************************************************************************************
+ * oracle11.php
+ * -----------
+ * Author: Guy Wicks (Guy.Wicks@rbs.co.uk)
+ * Contributions:
+ * - Updated for 11i by Simon Redhead
+ * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.2
+ * Date Started: 2004/06/04
+ *
+ * Oracle 11i language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/04/08 (1.0.8)
+ *  -  SR changes to oracle8.php to support Oracle 11i reserved words.
+ * 2005/01/29 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2004/11/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Oracle 11 SQL',
+    'COMMENT_SINGLE' => array(1 => '--'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+    'QUOTEMARKS' => array("'", '"', '`'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+//Put your package names here - e.g. select distinct ''''|| lower(name) || ''',' from user_source;
+//        6 => array(
+//            ),
+
+//Put your table names here - e.g. select distinct ''''|| lower(table_name) || ''',' from user_tables;
+//        5 => array(
+//            ),
+
+//Put your view names here - e.g. select distinct ''''|| lower(view_name) || ''',' from user_views;
+//        4 => array(
+//            ),
+
+//Put your table field names here - e.g. select distinct ''''|| lower(column_name) || ''',' from user_tab_columns;
+//        3 => array(
+//            ),
+
+        //Put ORACLE reserved keywords here (11i).  I like mine uppercase.
+        1 => array(
+            'ABS',
+            'ACCESS',
+            'ACOS',
+            'ADD',
+            'ADD_MONTHS',
+            'ALL',
+            'ALTER',
+            'ANALYZE',
+            'AND',
+            'ANY',
+            'APPENDCHILDXML',
+            'ARRAY',
+            'AS',
+            'ASC',
+            'ASCII',
+            'ASCIISTR',
+            'ASIN',
+            'ASSOCIATE',
+            'AT',
+            'ATAN',
+            'ATAN2',
+            'AUDIT',
+            'AUTHID',
+            'AVG',
+            'BEGIN',
+            'BETWEEN',
+            'BFILENAME',
+            'BIN_TO_NUM',
+            'BINARY_INTEGER',
+            'BITAND',
+            'BODY',
+            'BOOLEAN',
+            'BULK',
+            'BY',
+            'CALL',
+            'CARDINALITY',
+            'CASCADE',
+            'CASE',
+            'CAST',
+            'CEIL',
+            'CHAR',
+            'CHAR_BASE',
+            'CHARTOROWID',
+            'CHECK',
+            'CHR',
+            'CLOSE',
+            'CLUSTER',
+            'CLUSTER_ID',
+            'CLUSTER_PROBABILITY',
+            'CLUSTER_SET',
+            'COALESCE',
+            'COLLECT',
+            'COLUMN',
+            'COMMENT',
+            'COMMIT',
+            'COMPOSE',
+            'COMPRESS',
+            'CONCAT',
+            'CONNECT',
+            'CONSTANT',
+            'CONSTRAINT',
+            'CONSTRAINTS',
+            'CONTEXT',
+            'CONTROLFILE',
+            'CONVERT',
+            'CORR',
+            'CORR_K',
+            'CORR_S',
+            'COS',
+            'COSH',
+            'COST',
+            'COUNT',
+            'COVAR_POP',
+            'COVAR_SAMP',
+            'CREATE',
+            'CUBE_TABLE',
+            'CUME_DIST',
+            'CURRENT',
+            'CURRENT_DATE',
+            'CURRENT_TIMESTAMP',
+            'CURRVAL',
+            'CURSOR',
+            'CV',
+            'DATABASE',
+            'DATAOBJ_TO_PARTITION',
+            'DATE',
+            'DAY',
+            'DBTIMEZONE',
+            'DECIMAL',
+            'DECLARE',
+            'DECODE',
+            'DECOMPOSE',
+            'DEFAULT',
+            'DELETE',
+            'DELETEXML',
+            'DENSE_RANK',
+            'DEPTH',
+            'DEREF',
+            'DESC',
+            'DIMENSION',
+            'DIRECTORY',
+            'DISASSOCIATE',
+            'DISTINCT',
+            'DO',
+            'DROP',
+            'DUMP',
+            'ELSE',
+            'ELSIF',
+            'EMPTY_BLOB',
+            'EMPTY_CLOB',
+            'END',
+            'EXCEPTION',
+            'EXCLUSIVE',
+            'EXEC',
+            'EXECUTE',
+            'EXISTS',
+            'EXISTSNODE',
+            'EXIT',
+            'EXP',
+            'EXPLAIN',
+            'EXTENDS',
+            'EXTRACT',
+            'EXTRACTVALUE',
+            'FALSE',
+            'FEATURE_ID',
+            'FEATURE_SET',
+            'FEATURE_VALUE',
+            'FETCH',
+            'FILE',
+            'FIRST',
+            'FIRST_VALUE',
+            'FLOAT',
+            'FLOOR',
+            'FOR',
+            'FORALL',
+            'FROM',
+            'FROM_TZ',
+            'FUNCTION',
+            'GOTO',
+            'GRANT',
+            'GREATEST',
+            'GROUP',
+            'GROUP_ID',
+            'GROUPING',
+            'GROUPING_ID',
+            'HAVING',
+            'HEAP',
+            'HEXTORAW',
+            'HOUR',
+            'IDENTIFIED',
+            'IF',
+            'IMMEDIATE',
+            'IN',
+            'INCREMENT',
+            'INDEX',
+            'INDEXTYPE',
+            'INDICATOR',
+            'INITCAP',
+            'INITIAL',
+            'INSERT',
+            'INSERTCHILDXML',
+            'INSERTXMLBEFORE',
+            'INSTR',
+            'INSTRB',
+            'INTEGER',
+            'INTERFACE',
+            'INTERSECT',
+            'INTERVAL',
+            'INTO',
+            'IS',
+            'ISOLATION',
+            'ITERATION_NUMBER',
+            'JAVA',
+            'KEY',
+            'LAG',
+            'LAST',
+            'LAST_DAY',
+            'LAST_VALUE',
+            'LEAD',
+            'LEAST',
+            'LENGTH',
+            'LENGTHB',
+            'LEVEL',
+            'LIBRARY',
+            'LIKE',
+            'LIMITED',
+            'LINK',
+            'LN',
+            'LNNVL',
+            'LOCALTIMESTAMP',
+            'LOCK',
+            'LOG',
+            'LONG',
+            'LOOP',
+            'LOWER',
+            'LPAD',
+            'LTRIM',
+            'MAKE_REF',
+            'MATERIALIZED',
+            'MAX',
+            'MAXEXTENTS',
+            'MEDIAN',
+            'MIN',
+            'MINUS',
+            'MINUTE',
+            'MLSLABEL',
+            'MOD',
+            'MODE',
+            'MODIFY',
+            'MONTH',
+            'MONTHS_BETWEEN',
+            'NANVL',
+            'NATURAL',
+            'NATURALN',
+            'NCHR',
+            'NEW',
+            'NEW_TIME',
+            'NEXT_DAY',
+            'NEXTVAL',
+            'NLS_CHARSET_DECL_LEN',
+            'NLS_CHARSET_ID',
+            'NLS_CHARSET_NAME',
+            'NLS_INITCAP',
+            'NLS_LOWER',
+            'NLS_UPPER',
+            'NLSSORT',
+            'NOAUDIT',
+            'NOCOMPRESS',
+            'NOCOPY',
+            'NOT',
+            'NOWAIT',
+            'NTILE',
+            'NULL',
+            'NULLIF',
+            'NUMBER',
+            'NUMBER_BASE',
+            'NUMTODSINTERVAL',
+            'NUMTOYMINTERVAL',
+            'NVL',
+            'NVL2',
+            'OCIROWID',
+            'OF',
+            'OFFLINE',
+            'ON',
+            'ONLINE',
+            'OPAQUE',
+            'OPEN',
+            'OPERATOR',
+            'OPTION',
+            'OR',
+            'ORA_HASH',
+            'ORDER',
+            'ORGANIZATION',
+            'OTHERS',
+            'OUT',
+            'OUTLINE',
+            'PACKAGE',
+            'PARTITION',
+            'PATH',
+            'PCTFREE',
+            'PERCENT_RANK',
+            'PERCENTILE_CONT',
+            'PERCENTILE_DISC',
+            'PLAN',
+            'PLS_INTEGER',
+            'POSITIVE',
+            'POSITIVEN',
+            'POWER',
+            'POWERMULTISET',
+            'POWERMULTISET_BY_CARDINALITY',
+            'PRAGMA',
+            'PREDICTION',
+            'PREDICTION_BOUNDS',
+            'PREDICTION_COST',
+            'PREDICTION_DETAILS',
+            'PREDICTION_PROBABILITY',
+            'PREDICTION_SET',
+            'PRESENTNNV',
+            'PRESENTV',
+            'PREVIOUS',
+            'PRIMARY',
+            'PRIOR',
+            'PRIVATE',
+            'PRIVILEGES',
+            'PROCEDURE',
+            'PROFILE',
+            'PUBLIC',
+            'RAISE',
+            'RANGE',
+            'RANK',
+            'RATIO_TO_REPORT',
+            'RAW',
+            'RAWTOHEX',
+            'RAWTONHEX',
+            'REAL',
+            'RECORD',
+            'REF',
+            'REFTOHEX',
+            'REGEXP_COUNT',
+            'REGEXP_INSTR',
+            'REGEXP_REPLACE',
+            'REGEXP_SUBSTR',
+            'REGR_AVGX',
+            'REGR_AVGY',
+            'REGR_COUNT',
+            'REGR_INTERCEPT',
+            'REGR_R2',
+            'REGR_SLOPE',
+            'REGR_SXX',
+            'REGR_SXY',
+            'REGR_SYY',
+            'RELEASE',
+            'REMAINDER',
+            'RENAME',
+            'REPLACE',
+            'RESOURCE',
+            'RETURN',
+            'RETURNING',
+            'REVERSE',
+            'REVOKE',
+            'ROLE',
+            'ROLLBACK',
+            'ROUND',
+            'ROW',
+            'ROW_NUMBER',
+            'ROWID',
+            'ROWIDTOCHAR',
+            'ROWIDTONCHAR',
+            'ROWNUM',
+            'ROWS',
+            'ROWTYPE',
+            'RPAD',
+            'RTRIM',
+            'SAVEPOINT',
+            'SCHEMA',
+            'SCN_TO_TIMESTAMP',
+            'SECOND',
+            'SEGMENT',
+            'SELECT',
+            'SEPERATE',
+            'SEQUENCE',
+            'SESSION',
+            'SESSIONTIMEZONE',
+            'SET',
+            'SHARE',
+            'SIGN',
+            'SIN',
+            'SINH',
+            'SIZE',
+            'SMALLINT',
+            'SOUNDEX',
+            'SPACE',
+            'SQL',
+            'SQLCODE',
+            'SQLERRM',
+            'SQRT',
+            'START',
+            'STATISTICS',
+            'STATS_BINOMIAL_TEST',
+            'STATS_CROSSTAB',
+            'STATS_F_TEST',
+            'STATS_KS_TEST',
+            'STATS_MODE',
+            'STATS_MW_TEST',
+            'STATS_ONE_WAY_ANOVA',
+            'STATS_T_TEST_INDEP',
+            'STATS_T_TEST_INDEPU',
+            'STATS_T_TEST_ONE',
+            'STATS_T_TEST_PAIRED',
+            'STATS_WSR_TEST',
+            'STDDEV',
+            'STDDEV_POP',
+            'STDDEV_SAMP',
+            'STOP',
+            'SUBSTR',
+            'SUBSTRB',
+            'SUBTYPE',
+            'SUCCESSFUL',
+            'SUM',
+            'SYNONYM',
+            'SYS_CONNECT_BY_PATH',
+            'SYS_CONTEXT',
+            'SYS_DBURIGEN',
+            'SYS_EXTRACT_UTC',
+            'SYS_GUID',
+            'SYS_TYPEID',
+            'SYS_XMLAGG',
+            'SYS_XMLGEN',
+            'SYSDATE',
+            'SYSTEM',
+            'SYSTIMESTAMP',
+            'TABLE',
+            'TABLESPACE',
+            'TAN',
+            'TANH',
+            'TEMPORARY',
+            'THEN',
+            'TIME',
+            'TIMESTAMP',
+            'TIMESTAMP_TO_SCN',
+            'TIMEZONE_ABBR',
+            'TIMEZONE_HOUR',
+            'TIMEZONE_MINUTE',
+            'TIMEZONE_REGION',
+            'TIMING',
+            'TO',
+            'TO_BINARY_DOUBLE',
+            'TO_BINARY_FLOAT',
+            'TO_CHAR',
+            'TO_CLOB',
+            'TO_DATE',
+            'TO_DSINTERVAL',
+            'TO_LOB',
+            'TO_MULTI_BYTE',
+            'TO_NCHAR',
+            'TO_NCLOB',
+            'TO_NUMBER',
+            'TO_SINGLE_BYTE',
+            'TO_TIMESTAMP',
+            'TO_TIMESTAMP_TZ',
+            'TO_YMINTERVAL',
+            'TRANSACTION',
+            'TRANSLATE',
+            'TREAT',
+            'TRIGGER',
+            'TRIM',
+            'TRUE',
+            'TRUNC',
+            'TRUNCATE',
+            'TYPE',
+            'TZ_OFFSET',
+            'UI',
+            'UID',
+            'UNION',
+            'UNIQUE',
+            'UNISTR',
+            'UPDATE',
+            'UPDATEXML',
+            'UPPER',
+            'USE',
+            'USER',
+            'USERENV',
+            'USING',
+            'VALIDATE',
+            'VALUE',
+            'VALUES',
+            'VAR_POP',
+            'VAR_SAMP',
+            'VARCHAR',
+            'VARCHAR2',
+            'VARIANCE',
+            'VIEW',
+            'VSIZE',
+            'WHEN',
+            'WHENEVER',
+            'WHERE',
+            'WHILE',
+            'WIDTH_BUCKET',
+            'WITH',
+            'WORK',
+            'WRITE',
+            'XMLAGG',
+            'XMLCAST',
+            'XMLCDATA',
+            'XMLCOLATTVAL',
+            'XMLCOMMENT',
+            'XMLCONCAT',
+            'XMLDIFF',
+            'XMLELEMENT',
+            'XMLEXISTS',
+            'XMLFOREST',
+            'XMLPARSE',
+            'XMLPATCH',
+            'XMLPI',
+            'XMLQUERY',
+            'XMLROOT',
+            'XMLSEQUENCE',
+            'XMLSERIALIZE',
+            'XMLTABLE',
+            'XMLTRANSFORM',
+            'YEAR',
+            'ZONE'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '=', '<', '>', '|', '+', '-', '*', '/', ','
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+//        3 => false,
+//        4 => false,
+//        5 => false,
+//        6 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #993333; font-weight: bold; text-transform: uppercase;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #ff0000;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+//        3 => '',
+//        4 => '',
+//        5 => '',
+//        6 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
+);
+
+?>
--- a/plugins/geshi/geshi/oracle8.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/oracle8.php	Fri May 29 19:30:59 2009 -0400
@@ -4,10 +4,10 @@
  * -----------
  * Author: Guy Wicks (Guy.Wicks@rbs.co.uk)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/06/04
  *
- * Oracle 8 language file for GeSHi
+ * Oracle 8 language file for GeSHi.
  *
  * CHANGES
  * -------
@@ -38,450 +38,459 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Oracle 8 SQL',
-	'COMMENT_SINGLE' => array(1 => '--'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
-	'QUOTEMARKS' => array("'", '"', '`'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
+    'LANG_NAME' => 'Oracle 8 SQL',
+    'COMMENT_SINGLE' => array(1 => '--'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+    'QUOTEMARKS' => array("'", '"', '`'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
 //Put your package names here - e.g. select distinct ''''|| lower(name) || ''',' from user_source;
-		6 => array(
-			),
+//        6 => array(
+//            ),
 
 //Put your table names here - e.g. select distinct ''''|| lower(table_name) || ''',' from user_tables;
-		5 => array(
-			),
+//        5 => array(
+//            ),
 
 //Put your view names here - e.g. select distinct ''''|| lower(view_name) || ''',' from user_views;
-		4 => array(
-			),
+//        4 => array(
+//            ),
 
 //Put your table field names here - e.g. select distinct ''''|| lower(column_name) || ''',' from user_tab_columns;
-		3 => array(
-			),
+//        3 => array(
+//            ),
+
 //Put ORACLE reserved keywords here (8.1.7).  I like mine uppercase.
-		1 => array(
-			'ABS',
-			'ACCESS',
-			'ACOS',
-			'ADD',
-			'ADD_MONTHS',
-			'ALL',
-			'ALTER',
-			'ANALYZE',
-			'AND',
-			'ANY',
-			'ARRAY',
-			'AS',
-			'ASC',
-			'ASCII',
-			'ASIN',
-			'ASSOCIATE',
-			'AT',
-			'ATAN',
-			'ATAN2',
-			'AUDIT',
-			'AUTHID',
-			'AVG',
-			'BEGIN',
-			'BETWEEN',
-			'BFILENAME',
-			'BINARY_INTEGER',
-			'BITAND',
-			'BODY',
-			'BOOLEAN',
-			'BULK',
-			'BY',
-			'CALL',
-			'CASCADE',
-			'CASE',
-			'CEIL',
-			'CHAR',
-			'CHAR_BASE',
-			'CHARTOROWID',
-			'CHECK',
-			'CHR',
-			'CLOSE',
-			'CLUSTER',
-			'COALESCE',
-			'COLLECT',
-			'COLUMN',
-			'COMMENT',
-			'COMMIT',
-			'COMPRESS',
-			'CONCAT',
-			'CONNECT',
-			'CONSTANT',
-			'CONSTRAINT',
-			'CONSTRAINTS',
-			'CONTEXT',
-			'CONTROLFILE',
-			'CONVERT',
-			'CORR',
-			'COS',
-			'COSH',
-			'COST',
-			'COUNT',
-			'COVAR_POP',
-			'COVAR_SAMP',
-			'CREATE',
-			'CUME_DIST',
-			'CURRENT',
-			'CURRVAL',
-			'CURSOR',
-			'DATABASE',
-			'DATE',
-			'DAY',
-			'DECIMAL',
-			'DECLARE',
-			'DECODE',
-			'DEFAULT',
-			'DELETE',
-			'DENSE_RANK',
-			'DEREF',
-			'DESC',
-			'DIMENSION',
-			'DIRECTORY',
-			'DISASSOCIATE',
-			'DISTINCT',
-			'DO',
-			'DROP',
-			'DUMP',
-			'ELSE',
-			'ELSIF',
-			'EMPTY_BLOB',
-			'EMPTY_CLOB',
-			'END',
-			'EXCEPTION',
-			'EXCLUSIVE',
-			'EXEC',
-			'EXECUTE',
-			'EXISTS',
-			'EXIT',
-			'EXP',
-			'EXPLAIN',
-			'EXTENDS',
-			'EXTRACT',
-			'FALSE',
-			'FETCH',
-			'FILE',
-			'FIRST_VALUE',
-			'FLOAT',
-			'FLOOR',
-			'FOR',
-			'FORALL',
-			'FROM',
-			'FUNCTION',
-			'GOTO',
-			'GRANT',
-			'GREATEST',
-			'GROUP',
-			'GROUPING',
-			'HAVING',
-			'HEAP',
-			'HEXTORAW',
-			'HOUR',
-			'IDENTIFIED',
-			'IF',
-			'IMMEDIATE',
-			'IN',
-			'INCREMENT',
-			'INDEX',
-			'INDEXTYPE',
-			'INDICATOR',
-			'INITCAP',
-			'INITIAL',
-			'INSERT',
-			'INSTR',
-			'INSTRB',
-			'INTEGER',
-			'INTERFACE',
-			'INTERSECT',
-			'INTERVAL',
-			'INTO',
-			'IS',
-			'ISOLATION',
-			'JAVA',
-			'KEY',
-			'LAG',
-			'LAST_DAY',
-			'LAST_VALUE',
-			'LEAD',
-			'LEAST',
-			'LENGTH',
-			'LENGTHB',
-			'LEVEL',
-			'LIBRARY',
-			'LIKE',
-			'LIMITED',
-			'LINK',
-			'LN',
-			'LOCK',
-			'LOG',
-			'LONG',
-			'LOOP',
-			'LOWER',
-			'LPAD',
-			'LTRIM',
-			'MAKE_REF',
-			'MATERIALIZED',
-			'MAX',
-			'MAXEXTENTS',
-			'MIN',
-			'MINUS',
-			'MINUTE',
-			'MLSLABEL',
-			'MOD',
-			'MODE',
-			'MODIFY',
-			'MONTH',
-			'MONTHS_BETWEEN',
-			'NATURAL',
-			'NATURALN',
-			'NEW',
-			'NEW_TIME',
-			'NEXT_DAY',
-			'NEXTVAL',
-			'NLS_CHARSET_DECL_LEN',
-			'NLS_CHARSET_ID',
-			'NLS_CHARSET_NAME',
-			'NLS_INITCAP',
-			'NLS_LOWER',
-			'NLS_UPPER',
-			'NLSSORT',
-			'NOAUDIT',
-			'NOCOMPRESS',
-			'NOCOPY',
-			'NOT',
-			'NOWAIT',
-			'NTILE',
-			'NULL',
-			'NULLIF',
-			'NUMBER',
-			'NUMBER_BASE',
-			'NUMTODSINTERVAL',
-			'NUMTOYMINTERVAL',
-			'NVL',
-			'NVL2',
-			'OCIROWID',
-			'OF',
-			'OFFLINE',
-			'ON',
-			'ONLINE',
-			'OPAQUE',
-			'OPEN',
-			'OPERATOR',
-			'OPTION',
-			'OR',
-			'ORDER',
-			'ORGANIZATION',
-			'OTHERS',
-			'OUT',
-			'OUTLINE',
-			'PACKAGE',
-			'PARTITION',
-			'PCTFREE',
-			'PERCENT_RANK',
-			'PLAN',
-			'PLS_INTEGER',
-			'POSITIVE',
-			'POSITIVEN',
-			'POWER',
-			'PRAGMA',
-			'PRIMARY',
-			'PRIOR',
-			'PRIVATE',
-			'PRIVILEGES',
-			'PROCEDURE',
-			'PROFILE',
-			'PUBLIC',
-			'RAISE',
-			'RANGE',
-			'RANK',
-			'RATIO_TO_REPORT',
-			'RAW',
-			'RAWTOHEX',
-			'REAL',
-			'RECORD',
-			'REF',
-			'REFTOHEX',
-			'REGR_AVGX',
-			'REGR_AVGY',
-			'REGR_COUNT',
-			'REGR_INTERCEPT',
-			'REGR_R2',
-			'REGR_SLOPE',
-			'REGR_SXX',
-			'REGR_SXY',
-			'REGR_SYY',
-			'RELEASE',
-			'RENAME',
-			'REPLACE',
-			'RESOURCE',
-			'RETURN',
-			'RETURNING',
-			'REVERSE',
-			'REVOKE',
-			'ROLE',
-			'ROLLBACK',
-			'ROUND',
-			'ROW',
-			'ROW_NUMBER',
-			'ROWID',
-			'ROWIDTOCHAR',
-			'ROWNUM',
-			'ROWS',
-			'ROWTYPE',
-			'RPAD',
-			'RTRIM',
-			'SAVEPOINT',
-			'SCHEMA',
-			'SECOND',
-			'SEGMENT',
-			'SELECT',
-			'SEPERATE',
-			'SEQUENCE',
-			'SESSION',
-			'SET',
-			'SHARE',
-			'SIGN',
-			'SIN',
-			'SINH',
-			'SIZE',
-			'SMALLINT',
-			'SOUNDEX',
-			'SPACE',
-			'SQL',
-			'SQLCODE',
-			'SQLERRM',
-			'SQRT',
-			'START',
-			'STATISTICS',
-			'STDDEV',
-			'STDDEV_POP',
-			'STDDEV_SAMP',
-			'STOP',
-			'SUBSTR',
-			'SUBSTRB',
-			'SUBTYPE',
-			'SUCCESSFUL',
-			'SUM',
-			'SYNONYM',
-			'SYS_CONTEXT',
-			'SYS_GUID',
-			'SYSDATE',
-			'SYSTEM',
-			'TABLE',
-			'TABLESPACE',
-			'TAN',
-			'TANH',
-			'TEMPORARY',
-			'THEN',
-			'TIME',
-			'TIMESTAMP',
-			'TIMEZONE_ABBR',
-			'TIMEZONE_HOUR',
-			'TIMEZONE_MINUTE',
-			'TIMEZONE_REGION',
-			'TIMING',
-			'TO',
-			'TO_CHAR',
-			'TO_DATE',
-			'TO_LOB',
-			'TO_MULTI_BYTE',
-			'TO_NUMBER',
-			'TO_SINGLE_BYTE',
-			'TRANSACTION',
-			'TRANSLATE',
-			'TRIGGER',
-			'TRIM',
-			'TRUE',
-			'TRUNC',
-			'TRUNCATE',
-			'TYPE',
-			'UI',
-			'UID',
-			'UNION',
-			'UNIQUE',
-			'UPDATE',
-			'UPPER',
-			'USE',
-			'USER',
-			'USERENV',
-			'USING',
-			'VALIDATE',
-			'VALUE',
-			'VALUES',
-			'VAR_POP',
-			'VAR_SAMP',
-			'VARCHAR',
-			'VARCHAR2',
-			'VARIANCE',
-			'VIEW',
-			'VSIZE',
-			'WHEN',
-			'WHENEVER',
-			'WHERE',
-			'WHILE',
-			'WITH',
-			'WORK',
-			'WRITE',
-			'YEAR',
-			'ZONE'
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')', '=', '<', '>', '|'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #993333; font-weight: bold; text-transform: uppercase;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			2 => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #ff0000;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'SCRIPT' => array(
-			),
-		'REGEXPS' => array(
-			)
-		),
-	'URLS' => array(
-		),
-
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+        1 => array(
+            'ABS',
+            'ACCESS',
+            'ACOS',
+            'ADD',
+            'ADD_MONTHS',
+            'ALL',
+            'ALTER',
+            'ANALYZE',
+            'AND',
+            'ANY',
+            'ARRAY',
+            'AS',
+            'ASC',
+            'ASCII',
+            'ASIN',
+            'ASSOCIATE',
+            'AT',
+            'ATAN',
+            'ATAN2',
+            'AUDIT',
+            'AUTHID',
+            'AVG',
+            'BEGIN',
+            'BETWEEN',
+            'BFILENAME',
+            'BINARY_INTEGER',
+            'BITAND',
+            'BODY',
+            'BOOLEAN',
+            'BULK',
+            'BY',
+            'CALL',
+            'CASCADE',
+            'CASE',
+            'CEIL',
+            'CHAR',
+            'CHAR_BASE',
+            'CHARTOROWID',
+            'CHECK',
+            'CHR',
+            'CLOSE',
+            'CLUSTER',
+            'COALESCE',
+            'COLLECT',
+            'COLUMN',
+            'COMMENT',
+            'COMMIT',
+            'COMPRESS',
+            'CONCAT',
+            'CONNECT',
+            'CONSTANT',
+            'CONSTRAINT',
+            'CONSTRAINTS',
+            'CONTEXT',
+            'CONTROLFILE',
+            'CONVERT',
+            'CORR',
+            'COS',
+            'COSH',
+            'COST',
+            'COUNT',
+            'COVAR_POP',
+            'COVAR_SAMP',
+            'CREATE',
+            'CUME_DIST',
+            'CURRENT',
+            'CURRVAL',
+            'CURSOR',
+            'DATABASE',
+            'DATE',
+            'DAY',
+            'DECIMAL',
+            'DECLARE',
+            'DECODE',
+            'DEFAULT',
+            'DELETE',
+            'DENSE_RANK',
+            'DEREF',
+            'DESC',
+            'DIMENSION',
+            'DIRECTORY',
+            'DISASSOCIATE',
+            'DISTINCT',
+            'DO',
+            'DROP',
+            'DUMP',
+            'ELSE',
+            'ELSIF',
+            'EMPTY_BLOB',
+            'EMPTY_CLOB',
+            'END',
+            'EXCEPTION',
+            'EXCLUSIVE',
+            'EXEC',
+            'EXECUTE',
+            'EXISTS',
+            'EXIT',
+            'EXP',
+            'EXPLAIN',
+            'EXTENDS',
+            'EXTRACT',
+            'FALSE',
+            'FETCH',
+            'FILE',
+            'FIRST_VALUE',
+            'FLOAT',
+            'FLOOR',
+            'FOR',
+            'FORALL',
+            'FROM',
+            'FUNCTION',
+            'GOTO',
+            'GRANT',
+            'GREATEST',
+            'GROUP',
+            'GROUPING',
+            'HAVING',
+            'HEAP',
+            'HEXTORAW',
+            'HOUR',
+            'IDENTIFIED',
+            'IF',
+            'IMMEDIATE',
+            'IN',
+            'INCREMENT',
+            'INDEX',
+            'INDEXTYPE',
+            'INDICATOR',
+            'INITCAP',
+            'INITIAL',
+            'INSERT',
+            'INSTR',
+            'INSTRB',
+            'INTEGER',
+            'INTERFACE',
+            'INTERSECT',
+            'INTERVAL',
+            'INTO',
+            'IS',
+            'ISOLATION',
+            'JAVA',
+            'KEY',
+            'LAG',
+            'LAST_DAY',
+            'LAST_VALUE',
+            'LEAD',
+            'LEAST',
+            'LENGTH',
+            'LENGTHB',
+            'LEVEL',
+            'LIBRARY',
+            'LIKE',
+            'LIMITED',
+            'LINK',
+            'LN',
+            'LOCK',
+            'LOG',
+            'LONG',
+            'LOOP',
+            'LOWER',
+            'LPAD',
+            'LTRIM',
+            'MAKE_REF',
+            'MATERIALIZED',
+            'MAX',
+            'MAXEXTENTS',
+            'MIN',
+            'MINUS',
+            'MINUTE',
+            'MLSLABEL',
+            'MOD',
+            'MODE',
+            'MODIFY',
+            'MONTH',
+            'MONTHS_BETWEEN',
+            'NATURAL',
+            'NATURALN',
+            'NEW',
+            'NEW_TIME',
+            'NEXT_DAY',
+            'NEXTVAL',
+            'NLS_CHARSET_DECL_LEN',
+            'NLS_CHARSET_ID',
+            'NLS_CHARSET_NAME',
+            'NLS_INITCAP',
+            'NLS_LOWER',
+            'NLS_UPPER',
+            'NLSSORT',
+            'NOAUDIT',
+            'NOCOMPRESS',
+            'NOCOPY',
+            'NOT',
+            'NOWAIT',
+            'NTILE',
+            'NULL',
+            'NULLIF',
+            'NUMBER',
+            'NUMBER_BASE',
+            'NUMTODSINTERVAL',
+            'NUMTOYMINTERVAL',
+            'NVL',
+            'NVL2',
+            'OCIROWID',
+            'OF',
+            'OFFLINE',
+            'ON',
+            'ONLINE',
+            'OPAQUE',
+            'OPEN',
+            'OPERATOR',
+            'OPTION',
+            'OR',
+            'ORDER',
+            'ORGANIZATION',
+            'OTHERS',
+            'OUT',
+            'OUTLINE',
+            'PACKAGE',
+            'PARTITION',
+            'PCTFREE',
+            'PERCENT_RANK',
+            'PLAN',
+            'PLS_INTEGER',
+            'POSITIVE',
+            'POSITIVEN',
+            'POWER',
+            'PRAGMA',
+            'PRIMARY',
+            'PRIOR',
+            'PRIVATE',
+            'PRIVILEGES',
+            'PROCEDURE',
+            'PROFILE',
+            'PUBLIC',
+            'RAISE',
+            'RANGE',
+            'RANK',
+            'RATIO_TO_REPORT',
+            'RAW',
+            'RAWTOHEX',
+            'REAL',
+            'RECORD',
+            'REF',
+            'REFTOHEX',
+            'REGR_AVGX',
+            'REGR_AVGY',
+            'REGR_COUNT',
+            'REGR_INTERCEPT',
+            'REGR_R2',
+            'REGR_SLOPE',
+            'REGR_SXX',
+            'REGR_SXY',
+            'REGR_SYY',
+            'RELEASE',
+            'RENAME',
+            'REPLACE',
+            'RESOURCE',
+            'RETURN',
+            'RETURNING',
+            'REVERSE',
+            'REVOKE',
+            'ROLE',
+            'ROLLBACK',
+            'ROUND',
+            'ROW',
+            'ROW_NUMBER',
+            'ROWID',
+            'ROWIDTOCHAR',
+            'ROWNUM',
+            'ROWS',
+            'ROWTYPE',
+            'RPAD',
+            'RTRIM',
+            'SAVEPOINT',
+            'SCHEMA',
+            'SECOND',
+            'SEGMENT',
+            'SELECT',
+            'SEPERATE',
+            'SEQUENCE',
+            'SESSION',
+            'SET',
+            'SHARE',
+            'SIGN',
+            'SIN',
+            'SINH',
+            'SIZE',
+            'SMALLINT',
+            'SOUNDEX',
+            'SPACE',
+            'SQL',
+            'SQLCODE',
+            'SQLERRM',
+            'SQRT',
+            'START',
+            'STATISTICS',
+            'STDDEV',
+            'STDDEV_POP',
+            'STDDEV_SAMP',
+            'STOP',
+            'SUBSTR',
+            'SUBSTRB',
+            'SUBTYPE',
+            'SUCCESSFUL',
+            'SUM',
+            'SYNONYM',
+            'SYS_CONTEXT',
+            'SYS_GUID',
+            'SYSDATE',
+            'SYSTEM',
+            'TABLE',
+            'TABLESPACE',
+            'TAN',
+            'TANH',
+            'TEMPORARY',
+            'THEN',
+            'TIME',
+            'TIMESTAMP',
+            'TIMEZONE_ABBR',
+            'TIMEZONE_HOUR',
+            'TIMEZONE_MINUTE',
+            'TIMEZONE_REGION',
+            'TIMING',
+            'TO',
+            'TO_CHAR',
+            'TO_DATE',
+            'TO_LOB',
+            'TO_MULTI_BYTE',
+            'TO_NUMBER',
+            'TO_SINGLE_BYTE',
+            'TRANSACTION',
+            'TRANSLATE',
+            'TRIGGER',
+            'TRIM',
+            'TRUE',
+            'TRUNC',
+            'TRUNCATE',
+            'TYPE',
+            'UI',
+            'UID',
+            'UNION',
+            'UNIQUE',
+            'UPDATE',
+            'UPPER',
+            'USE',
+            'USER',
+            'USERENV',
+            'USING',
+            'VALIDATE',
+            'VALUE',
+            'VALUES',
+            'VAR_POP',
+            'VAR_SAMP',
+            'VARCHAR',
+            'VARCHAR2',
+            'VARIANCE',
+            'VIEW',
+            'VSIZE',
+            'WHEN',
+            'WHENEVER',
+            'WHERE',
+            'WHILE',
+            'WITH',
+            'WORK',
+            'WRITE',
+            'YEAR',
+            'ZONE'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '=', '<', '>', '|', '+', '-', '*', '/', ','
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+//        3 => false,
+//        4 => false,
+//        5 => false,
+//        6 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #993333; font-weight: bold; text-transform: uppercase;'
+//Add the styles for groups 3-6 here when used
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #ff0000;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+//        3 => '',
+//        4 => '',
+//        5 => '',
+//        6 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/pascal.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/pascal.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * ----------
  * Author: Tux (tux@inamil.cz)
  * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/07/26
  *
  * Pascal language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *   -  Added description of extra language features (SF#1970248)
  * 2004/11/27 (1.0.2)
  *  -  Added support for multiple object splitters
  * 2004/10/27 (1.0.1)
@@ -46,97 +48,103 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Pascal',
-	'COMMENT_SINGLE' => array(1 => '//'),
-	'COMMENT_MULTI' => array('{' => '}','(*' => '*)'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'if', 'while', 'until', 'repeat', 'default',
-			'do', 'else', 'for', 'switch', 'goto','label','asm','begin','end',
-			'assembler','case', 'downto', 'to','div','mod','far','forward','in','inherited',
-			'inline','interrupt','label','library','not','var','of','then','stdcall',
-			'cdecl','end.','raise','try','except','name','finally','resourcestring','override','overload',
-			'default','public','protected','private','property','published','stored','catch'
-			),
-		2 => array(
-			'nil', 'false', 'break', 'true', 'function', 'procedure','implementation','interface',
-			'unit','program','initialization','finalization','uses'
-			),
-		3 => array(
-			'abs', 'absolute','and','arc','arctan','chr','constructor','destructor',
-			'dispose','cos','eof','eoln','exp','get','index','ln','new','xor','write','writeln',
-			'shr','sin','sqrt','succ','pred','odd','read','readln','ord','ordinal','blockread','blockwrite'
-			),
-		4 => array(
-			'array', 'char', 'const', 'boolean',  'real', 'integer', 'longint',
-			'word', 'shortint', 'record','byte','bytebool','string',
-			'type','object','export','exports','external','file','longbool','pointer','set',
-			'packed','ansistring','union'
-			),
-		),
-	'SYMBOLS' => array(
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;',
-			2 => 'color: #000000; font-weight: bold;',
-			3 => '',
-			4 => 'color: #993333;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			2 => 'color: #339933;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #202020;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => '',
-		4 => ''
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
+    'LANG_NAME' => 'Pascal',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('{' => '}','(*' => '*)'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'HARDQUOTE' => array("'", "'"),
+    'HARDESCAPE' => array("''"),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'absolute','asm','assembler','begin','break','case','catch','cdecl',
+            'const','constructor','default','destructor','div','do','downto',
+            'else','end','except','export','exports','external','far',
+            'finalization','finally','for','forward','function','goto','if',
+            'implementation','in','index','inherited','initialization','inline',
+            'interface','interrupt','label','library','mod','name','not','of',
+            'or','overload','override','private','procedure','program',
+            'property','protected','public','published','raise','repeat',
+            'resourcestring','shl','shr','stdcall','stored','switch','then',
+            'to','try','type','unit','until','uses','var','while','xor'
+            ),
+        2 => array(
+            'nil', 'false', 'true',
+            ),
+        3 => array(
+            'abs','and','arc','arctan','blockread','blockwrite','chr','dispose',
+            'cos','eof','eoln','exp','get','ln','new','odd','ord','ordinal',
+            'pred','read','readln','sin','sqrt','succ','write','writeln'
+            ),
+        4 => array(
+            'ansistring','array','boolean','byte','bytebool','char','file',
+            'integer','longbool','longint','object','packed','pointer','real',
+            'record','set','shortint','smallint','string','union','word'
+            ),
+        ),
+    'SYMBOLS' => array(
+        ',', ':', '=', '+', '-', '*', '/'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000; font-weight: bold;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #000066;',
+            4 => 'color: #000066; font-weight: bold;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            'HARD' => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;',
+            'HARD' => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #0066ee;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
         ),
     'TAB_WIDTH' => 4
 );
--- a/plugins/geshi/geshi/per.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/per.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * --------
  * Author: Lars Gersmann (lars.gersmann@gmail.com)
  * Copyright: (c) 2007 Lars Gersmann
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2007/06/03
  *
  * Per (forms) (FOURJ's Genero 4GL) language file for GeSHi.
@@ -29,7 +29,7 @@
  *
  ************************************************************************************/
 
- $language_data = array (
+$language_data = array (
     'LANG_NAME' => 'per',
     'COMMENT_SINGLE' => array(1 => '--', 2 => '#'),
     'COMMENT_MULTI' => array('{' => '}'),
@@ -46,7 +46,7 @@
             "AUTO",
             "AUTONEXT",
             "AUTOSCALE",
-            "BETWEEN",          
+            "BETWEEN",
             "BOTH",
             "BUTTON",
             "BUTTONEDIT",
@@ -67,10 +67,10 @@
             "COMPRESS",
             "CONFIG",
             "CONTROL",
-            "CURRENT",          
-            "DATABASE",         
+            "CURRENT",
+            "DATABASE",
             "DATEEDIT",
-            "DEC",          
+            "DEC",
             "DEFAULT",
             "DEFAULTS",
             "DELIMITERS",
@@ -79,23 +79,23 @@
             "DOWNSHIFT",
             "DYNAMIC",
             "EDIT",
-            "FIXED",        
+            "FIXED",
             "FOLDER",
             "FONTPITCH",
             "FORMAT",
-            "FORMONLY",                 
+            "FORMONLY",
             "GRID",
             "GRIDCHILDRENINPARENT",
             "GROUP",
             "HBOX",
             "HEIGHT",
             "HIDDEN",
-            "HORIZONTAL",       
+            "HORIZONTAL",
             "INCLUDE",
             "INITIAL",
             "INITIALIZER",
             "INPUT",
-            "INSTRUCTIONS",         
+            "INSTRUCTIONS",
             "INTERVAL",
             "INVISIBLE",
             "IS",
@@ -107,14 +107,14 @@
             "LABEL",
             "LEFT",
             "LIKE",
-            "LINES",        
-            "MATCHES",          
+            "LINES",
+            "MATCHES",
             "NAME",
             "NOENTRY",
-            "NONCOMPRESS",          
+            "NONCOMPRESS",
             "NORMAL",
             "NOT",
-            "NOUPDATE",         
+            "NOUPDATE",
             "OPTIONS",
             "OR",
             "ORIENTATION",
@@ -130,11 +130,11 @@
             "QUERYCLEAR",
             "QUERYEDITABLE",
             "RADIOGROUP",
-            "RECORD",        
+            "RECORD",
             "REQUIRED",
             "REVERSE",
             "RIGHT",
-            "SAMPLE",       
+            "SAMPLE",
             "SCREEN",
             "SCROLL",
             "SCROLLBARS",
@@ -146,7 +146,7 @@
             "SIZEPOLICY",
             "SMALLFLOAT",
             "SMALLINT",
-            "SPACING", 
+            "SPACING",
             "STRETCH",
             "STYLE",
             "TABINDEX",
@@ -155,12 +155,12 @@
             "TEXT",
             "TEXTEDIT",
             "THROUGH",
-            "THRU",         
+            "THRU",
             "TITLE",
-            "TO",       
+            "TO",
             "TOOLBAR",
             "TOPMENU",
-            "TYPE",         
+            "TYPE",
             "UNHIDABLE",
             "UNHIDABLECOLUMNS",
             "UNMOVABLE",
@@ -194,7 +194,7 @@
             "WITHOUT",
             "WORDWRAP",
             "X",
-            "Y",        
+            "Y",
             "ZEROFILL",
             "SCHEMA",
             "ATTRIBUTES",
@@ -213,12 +213,12 @@
             "CENTURY",
             "FRACTION",
             "CHAR",
-            "CHARACTER",        
+            "CHARACTER",
             "CHARACTERS",
             "CYAN",
             "DATE",
             "DATETIME",
-            "DAY",      
+            "DAY",
             "DECIMAL",
             "FALSE",
             "FLOAT",
@@ -232,7 +232,7 @@
             "NONE",
             "NULL",
             "REAL",
-            "RED", 
+            "RED",
             "TRUE",
             "TODAY",
             "MONTH",
@@ -244,7 +244,7 @@
         '(', ')', '[', ']'
         ),
     'CASE_SENSITIVE' => array(
-        GESHI_COMMENTS => true,
+        GESHI_COMMENTS => false,
         1 => false,
         2 => false,
         ),
--- a/plugins/geshi/geshi/perl.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/perl.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,20 @@
  * --------
  * Author: Andreas Gohr (andi@splitbrain.org), Ben Keen (ben.keen@gmail.com)
  * Copyright: (c) 2004 Andreas Gohr, Ben Keen (http://www.benjaminkeen.org/), Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/08/20
  *
  * Perl language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/06/22 (1.0.8)
+ *   -  Added support for system calls in backticks (Corley Kinnane)
+ * 2008/05/23 (1.0.7.22)
+ *   -  Added description of extra language features (SF#1970248)
+ *   -  Added comment_regexp for predefined variables
+ * 2008/02/15 (1.003)
+ *   -  Fixed SF#1891630 with placebo patch
  * 2006/01/05 (1.0.2)
  *   -  Used hardescape feature for ' strings (Cliff Stanford)
  * 2004/11/27 (1.0.1)
@@ -44,124 +51,163 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Perl',
-	'COMMENT_SINGLE' => array(1 => '#'),
-	'COMMENT_MULTI' => array( '=pod' => '=cut'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"'),
-	'HARDQUOTE' => array("'", "'"),		    // An optional 2-element array defining the beginning and end of a hard-quoted string
-	'HARDESCAPE' => array('\\\'', "\\\\"),	    // Things that must still be escaped inside a hard-quoted string
-						    // If HARDQUOTE is defined, HARDESCAPE must be defined
-						    // This will not work unless the first character of each element is either in the
-						    // QUOTEMARKS array or is the ESCAPE_CHAR
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'case', 'do', 'else', 'elsif', 'for', 'if', 'then', 'until', 'while', 'foreach', 'my',
-			'or', 'and', 'unless', 'next', 'last', 'redo', 'not', 'our',
-			'reset', 'continue','and', 'cmp', 'ne'
-			),
-		2 => array(
-			'use', 'sub', 'new', '__END__', '__DATA__', '__DIE__', '__WARN__', 'BEGIN',
-			'STDIN', 'STDOUT', 'STDERR'
-			),
-		3 => array(
-			'abs', 'accept', 'alarm', 'atan2', 'bind', 'binmode', 'bless',
-			'caller', 'chdir', 'chmod', 'chomp', 'chop', 'chown', 'chr',
-			'chroot', 'close', 'closedir', 'connect', 'continue', 'cos',
-			'crypt', 'dbmclose', 'dbmopen', 'defined', 'delete', 'die',
-			'dump', 'each', 'endgrent', 'endhostent', 'endnetent', 'endprotoent',
-			'endpwent', 'endservent', 'eof', 'eval', 'exec', 'exists', 'exit',
-			'exp', 'fcntl', 'fileno', 'flock', 'fork', 'format', 'formline',
-			'getc', 'getgrent', 'getgrgid', 'getgrnam', 'gethostbyaddr',
-			'gethostbyname', 'gethostent', 'getlogin', 'getnetbyaddr', 'getnetbyname',
-			'getnetent', 'getpeername', 'getpgrp', 'getppid', 'getpriority',
-			'getprotobyname', 'getprotobynumber', 'getprotoent', 'getpwent',
-			'getpwnam', 'getpwuid', 'getservbyname', 'getservbyport', 'getservent',
-			'getsockname', 'getsockopt', 'glob', 'gmtime', 'goto', 'grep',
-			'hex', 'import', 'index', 'int', 'ioctl', 'join', 'keys', 'kill',
-			'last', 'lc', 'lcfirst', 'length', 'link', 'listen', 'local',
-			'localtime', 'log', 'lstat', 'm', 'map', 'mkdir', 'msgctl', 'msgget',
-			'msgrcv', 'msgsnd', 'my', 'next', 'no', 'oct', 'open', 'opendir',
-			'ord', 'our', 'pack', 'package', 'pipe', 'pop', 'pos', 'print',
-			'printf', 'prototype', 'push', 'qq', 'qr', 'quotemeta', 'qw',
-			'qx', 'q', 'rand', 'read', 'readdir', 'readline', 'readlink', 'readpipe',
-			'recv', 'redo', 'ref', 'rename', 'require', 'return',
-			'reverse', 'rewinddir', 'rindex', 'rmdir', 's', 'scalar', 'seek',
-			'seekdir', 'select', 'semctl', 'semget', 'semop', 'send', 'setgrent',
-			'sethostent', 'setnetent', 'setpgrp', 'setpriority', 'setprotoent',
-			'setpwent', 'setservent', 'setsockopt', 'shift', 'shmctl', 'shmget',
-			'shmread', 'shmwrite', 'shutdown', 'sin', 'sleep', 'socket', 'socketpair',
-			'sort', 'splice', 'split', 'sprintf', 'sqrt', 'srand', 'stat',
-			'study', 'substr', 'symlink', 'syscall', 'sysopen', 'sysread',
-			'sysseek', 'system', 'syswrite', 'tell', 'telldir', 'tie', 'tied',
-			'time', 'times', 'tr', 'truncate', 'uc', 'ucfirst', 'umask', 'undef',
-			'unlink', 'unpack', 'unshift', 'untie', 'utime', 'values',
-			'vec', 'wait', 'waitpid', 'wantarray', 'warn', 'write', 'y'
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => true,
-		2 => true,
-		3 => true,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;',
-			2 => 'color: #000000; font-weight: bold;',
-			3 => 'color: #000066;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #006600;',
-			2 => 'color: #006600;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			0 => 'color: #0000ff;',
-			4 => 'color: #009999;',
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		3 => 'http://perldoc.perl.org/functions/{FNAME}.html'
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '-&gt;',
-		2 => '::'
-		),
-	'REGEXPS' => array(
-		0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*',
-		4 => '&lt;[a-zA-Z_][a-zA-Z0-9_]*&gt;',
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'Perl',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array(
+        '=back' => '=cut',
+        '=head' => '=cut',
+        '=item' => '=cut',
+        '=over' => '=cut',
+        '=begin' => '=cut',
+        '=end' => '=cut',
+        '=for' => '=cut',
+        '=encoding' => '=cut',
+        '=pod' => '=cut'
+        ),
+    'COMMENT_REGEXP' => array(
+        //Regular expressions
+        2 => "/(?<=[\\s^])(s|tr|y)\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])*\\/[msixpogcde]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])(m|q[qrwx]?)?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[msixpogc]*(?=[\\s$\\.\\,\\;\\)])/iU",
+        //Regular expression match variables
+        3 => '/\$\d+/',
+        //Heredoc
+        4 => '/<<\s*?([\'"]?)([a-zA-Z0-9]+)\1;[^\n]*?\\n.*\\n\\2(?![a-zA-Z0-9])/siU',
+        //Predefined variables
+        5 => '/\$(\^[a-zA-Z]?|[\$`\'&_\.,+\-~:\\\\\/"\|%=\?!@<>\(\)\[\]])|@_/',
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"','`'),
+    'HARDQUOTE' => array("'", "'"),            // An optional 2-element array defining the beginning and end of a hard-quoted string
+    'HARDESCAPE' => array('\\\'',),
+        // Things that must still be escaped inside a hard-quoted string
+        // If HARDQUOTE is defined, HARDESCAPE must be defined
+        // This will not work unless the first character of each element is either in the
+        // QUOTEMARKS array or is the ESCAPE_CHAR
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'case', 'do', 'else', 'elsif', 'for', 'if', 'then', 'until', 'while', 'foreach', 'my',
+            'or', 'and', 'unless', 'next', 'last', 'redo', 'not', 'our',
+            'reset', 'continue', 'cmp', 'ne'
+            ),
+        2 => array(
+            'use', 'sub', 'new', '__END__', '__DATA__', '__DIE__', '__WARN__', 'BEGIN',
+            'STDIN', 'STDOUT', 'STDERR'
+            ),
+        3 => array(
+            'abs', 'accept', 'alarm', 'atan2', 'bind', 'binmode', 'bless',
+            'caller', 'chdir', 'chmod', 'chomp', 'chop', 'chown', 'chr',
+            'chroot', 'close', 'closedir', 'connect', 'cos',
+            'crypt', 'dbmclose', 'dbmopen', 'defined', 'delete', 'die',
+            'dump', 'each', 'endgrent', 'endhostent', 'endnetent', 'endprotoent',
+            'endpwent', 'endservent', 'eof', 'eval', 'exec', 'exists', 'exit',
+            'exp', 'fcntl', 'fileno', 'flock', 'fork', 'format', 'formline',
+            'getc', 'getgrent', 'getgrgid', 'getgrnam', 'gethostbyaddr',
+            'gethostbyname', 'gethostent', 'getlogin', 'getnetbyaddr', 'getnetbyname',
+            'getnetent', 'getpeername', 'getpgrp', 'getppid', 'getpriority',
+            'getprotobyname', 'getprotobynumber', 'getprotoent', 'getpwent',
+            'getpwnam', 'getpwuid', 'getservbyname', 'getservbyport', 'getservent',
+            'getsockname', 'getsockopt', 'glob', 'gmtime', 'goto', 'grep',
+            'hex', 'import', 'index', 'int', 'ioctl', 'join', 'keys', 'kill',
+            'lc', 'lcfirst', 'length', 'link', 'listen', 'local',
+            'localtime', 'log', 'lstat', 'm', 'map', 'mkdir', 'msgctl', 'msgget',
+            'msgrcv', 'msgsnd', 'no', 'oct', 'open', 'opendir',
+            'ord', 'pack', 'package', 'pipe', 'pop', 'pos', 'print',
+            'printf', 'prototype', 'push', 'qq', 'qr', 'quotemeta', 'qw',
+            'qx', 'q', 'rand', 'read', 'readdir', 'readline', 'readlink', 'readpipe',
+            'recv', 'ref', 'rename', 'require', 'return',
+            'reverse', 'rewinddir', 'rindex', 'rmdir', 's', 'scalar', 'seek',
+            'seekdir', 'select', 'semctl', 'semget', 'semop', 'send', 'setgrent',
+            'sethostent', 'setnetent', 'setpgrp', 'setpriority', 'setprotoent',
+            'setpwent', 'setservent', 'setsockopt', 'shift', 'shmctl', 'shmget',
+            'shmread', 'shmwrite', 'shutdown', 'sin', 'sleep', 'socket', 'socketpair',
+            'sort', 'splice', 'split', 'sprintf', 'sqrt', 'srand', 'stat',
+            'study', 'substr', 'symlink', 'syscall', 'sysopen', 'sysread',
+            'sysseek', 'system', 'syswrite', 'tell', 'telldir', 'tie', 'tied',
+            'time', 'times', 'tr', 'truncate', 'uc', 'ucfirst', 'umask', 'undef',
+            'unlink', 'unpack', 'unshift', 'untie', 'utime', 'values',
+            'vec', 'wait', 'waitpid', 'wantarray', 'warn', 'write', 'y'
+            )
+        ),
+    'SYMBOLS' => array(
+        '<', '>', '=',
+        '!', '@', '~', '&', '|',
+        '+','-', '*', '/', '%',
+        ',', ';', '?', ':'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #000066;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            2 => 'color: #009966; font-style: italic;',
+            3 => 'color: #0000ff;',
+            4 => 'color: #cc0000; font-style: italic;',
+            5 => 'color: #0000ff;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            'HARD' => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;',
+            'HARD' => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;',
+            2 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #0000ff;',
+            4 => 'color: #009999;',
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => 'http://perldoc.perl.org/functions/{FNAMEL}.html'
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '-&gt;',
+        2 => '::'
+        ),
+    'REGEXPS' => array(
+        //Variable
+        0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*',
+        //File Descriptor
+        4 => '&lt;[a-zA-Z_][a-zA-Z0-9_]*&gt;',
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'COMMENTS' => array(
+            'DISALLOWED_BEFORE' => '$'
+        )
+    )
 );
 
 ?>
--- a/plugins/geshi/geshi/php-brief.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/php-brief.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * -------------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/06/02
  *
- * PHP language file for GeSHi (brief version).
+ * PHP (brief version) language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *  -  Added description of extra language features (SF#1970248)
  * 2004/11/27 (1.0.3)
  *  -  Added support for multiple object splitters
  *  -  Fixed &new problem
@@ -46,114 +48,153 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'PHP',
-	'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'include', 'require', 'include_once', 'require_once',
-			'for', 'as', 'foreach', 'if', 'elseif', 'else', 'while', 'do', 'endwhile', 'endif', 'switch', 'case', 'endswitch',
-			'return', 'break'
-			),
-		2 => array(
-			'null', '__LINE__', '__FILE__',
-			'false', '&lt;?php', '?&gt;',
-			'true', 'var', 'default',
-			'function', 'class', 'new', '&amp;new', 'public', 'private', 'interface', 'extends',
-			),
-		3 => array(
-			'func_num_args', 'func_get_arg', 'func_get_args', 'strlen', 'strcmp', 'strncmp', 'strcasecmp', 'strncasecmp', 'each', 'error_reporting', 'define', 'defined',
-			'trigger_error', 'user_error', 'set_error_handler', 'restore_error_handler', 'get_declared_classes', 'get_loaded_extensions',
-			'extension_loaded', 'get_extension_funcs', 'debug_backtrace',
-			'constant', 'bin2hex', 'sleep', 'usleep', 'time', 'mktime', 'gmmktime', 'strftime', 'gmstrftime', 'strtotime', 'date', 'gmdate', 'getdate', 'localtime', 'checkdate', 'flush', 'wordwrap', 'htmlspecialchars', 'htmlentities', 'html_entity_decode', 'md5', 'md5_file', 'crc32', 'getimagesize', 'image_type_to_mime_type', 'phpinfo', 'phpversion', 'phpcredits', 'strnatcmp', 'strnatcasecmp', 'substr_count', 'strspn', 'strcspn', 'strtok', 'strtoupper', 'strtolower', 'strpos', 'strrpos', 'strrev', 'hebrev', 'hebrevc', 'nl2br', 'basename', 'dirname', 'pathinfo', 'stripslashes', 'stripcslashes', 'strstr', 'stristr', 'strrchr', 'str_shuffle', 'str_word_count', 'strcoll', 'substr', 'substr_replace', 'quotemeta', 'ucfirst', 'ucwords', 'strtr', 'addslashes', 'addcslashes', 'rtrim', 'str_replace', 'str_repeat', 'count_chars', 'chunk_split', 'trim', 'ltrim', 'strip_tags', 'similar_text', 'explode', 'implode', 'setlocale', 'localeconv',
-			'parse_str', 'str_pad', 'chop', 'strchr', 'sprintf', 'printf', 'vprintf', 'vsprintf', 'sscanf', 'fscanf', 'parse_url', 'urlencode', 'urldecode', 'rawurlencode', 'rawurldecode', 'readlink', 'linkinfo', 'link', 'unlink', 'exec', 'system', 'escapeshellcmd', 'escapeshellarg', 'passthru', 'shell_exec', 'proc_open', 'proc_close', 'rand', 'srand', 'getrandmax', 'mt_rand', 'mt_srand', 'mt_getrandmax', 'base64_decode', 'base64_encode', 'abs', 'ceil', 'floor', 'round', 'is_finite', 'is_nan', 'is_infinite', 'bindec', 'hexdec', 'octdec', 'decbin', 'decoct', 'dechex', 'base_convert', 'number_format', 'fmod', 'ip2long', 'long2ip', 'getenv', 'putenv', 'getopt', 'microtime', 'gettimeofday', 'getrusage', 'uniqid', 'quoted_printable_decode', 'set_time_limit', 'get_cfg_var', 'magic_quotes_runtime', 'set_magic_quotes_runtime', 'get_magic_quotes_gpc', 'get_magic_quotes_runtime',
-			'import_request_variables', 'error_log', 'serialize', 'unserialize', 'memory_get_usage', 'var_dump', 'var_export', 'debug_zval_dump', 'print_r','highlight_file', 'show_source', 'highlight_string', 'ini_get', 'ini_get_all', 'ini_set', 'ini_alter', 'ini_restore', 'get_include_path', 'set_include_path', 'restore_include_path', 'setcookie', 'header', 'headers_sent', 'connection_aborted', 'connection_status', 'ignore_user_abort', 'parse_ini_file', 'is_uploaded_file', 'move_uploaded_file', 'intval', 'floatval', 'doubleval', 'strval', 'gettype', 'settype', 'is_null', 'is_resource', 'is_bool', 'is_long', 'is_float', 'is_int', 'is_integer', 'is_double', 'is_real', 'is_numeric', 'is_string', 'is_array', 'is_object', 'is_scalar',
-			'ereg', 'ereg_replace', 'eregi', 'eregi_replace', 'split', 'spliti', 'join', 'sql_regcase', 'dl', 'pclose', 'popen', 'readfile', 'rewind', 'rmdir', 'umask', 'fclose', 'feof', 'fgetc', 'fgets', 'fgetss', 'fread', 'fopen', 'fpassthru', 'ftruncate', 'fstat', 'fseek', 'ftell', 'fflush', 'fwrite', 'fputs', 'mkdir', 'rename', 'copy', 'tempnam', 'tmpfile', 'file', 'file_get_contents', 'stream_select', 'stream_context_create', 'stream_context_set_params', 'stream_context_set_option', 'stream_context_get_options', 'stream_filter_prepend', 'stream_filter_append', 'fgetcsv', 'flock', 'get_meta_tags', 'stream_set_write_buffer', 'set_file_buffer', 'set_socket_blocking', 'stream_set_blocking', 'socket_set_blocking', 'stream_get_meta_data', 'stream_register_wrapper', 'stream_wrapper_register', 'stream_set_timeout', 'socket_set_timeout', 'socket_get_status', 'realpath', 'fnmatch', 'fsockopen', 'pfsockopen', 'pack', 'unpack', 'get_browser', 'crypt', 'opendir', 'closedir', 'chdir', 'getcwd', 'rewinddir', 'readdir', 'dir', 'glob', 'fileatime', 'filectime', 'filegroup', 'fileinode', 'filemtime', 'fileowner', 'fileperms', 'filesize', 'filetype', 'file_exists', 'is_writable', 'is_writeable', 'is_readable', 'is_executable', 'is_file', 'is_dir', 'is_link', 'stat', 'lstat', 'chown',
-			'touch', 'clearstatcache', 'mail', 'ob_start', 'ob_flush', 'ob_clean', 'ob_end_flush', 'ob_end_clean', 'ob_get_flush', 'ob_get_clean', 'ob_get_length', 'ob_get_level', 'ob_get_status', 'ob_get_contents', 'ob_implicit_flush', 'ob_list_handlers', 'ksort', 'krsort', 'natsort', 'natcasesort', 'asort', 'arsort', 'sort', 'rsort', 'usort', 'uasort', 'uksort', 'shuffle', 'array_walk', 'count', 'end', 'prev', 'next', 'reset', 'current', 'key', 'min', 'max', 'in_array', 'array_search', 'extract', 'compact', 'array_fill', 'range', 'array_multisort', 'array_push', 'array_pop', 'array_shift', 'array_unshift', 'array_splice', 'array_slice', 'array_merge', 'array_merge_recursive', 'array_keys', 'array_values', 'array_count_values', 'array_reverse', 'array_reduce', 'array_pad', 'array_flip', 'array_change_key_case', 'array_rand', 'array_unique', 'array_intersect', 'array_intersect_assoc', 'array_diff', 'array_diff_assoc', 'array_sum', 'array_filter', 'array_map', 'array_chunk', 'array_key_exists', 'pos', 'sizeof', 'key_exists', 'assert', 'assert_options', 'version_compare', 'ftok', 'str_rot13', 'aggregate',
-			'session_name', 'session_module_name', 'session_save_path', 'session_id', 'session_regenerate_id', 'session_decode', 'session_register', 'session_unregister', 'session_is_registered', 'session_encode',
-			'session_start', 'session_destroy', 'session_unset', 'session_set_save_handler', 'session_cache_limiter', 'session_cache_expire', 'session_set_cookie_params', 'session_get_cookie_params', 'session_write_close', 'preg_match', 'preg_match_all', 'preg_replace', 'preg_replace_callback', 'preg_split', 'preg_quote', 'preg_grep', 'overload', 'ctype_alnum', 'ctype_alpha', 'ctype_cntrl', 'ctype_digit', 'ctype_lower', 'ctype_graph', 'ctype_print', 'ctype_punct', 'ctype_space', 'ctype_upper', 'ctype_xdigit', 'virtual', 'apache_request_headers', 'apache_note', 'apache_lookup_uri', 'apache_child_terminate', 'apache_setenv', 'apache_response_headers', 'apache_get_version', 'getallheaders', 'mysql_connect', 'mysql_pconnect', 'mysql_close', 'mysql_select_db', 'mysql_create_db', 'mysql_drop_db', 'mysql_query', 'mysql_unbuffered_query', 'mysql_db_query', 'mysql_list_dbs', 'mysql_list_tables', 'mysql_list_fields', 'mysql_list_processes', 'mysql_error', 'mysql_errno', 'mysql_affected_rows', 'mysql_insert_id', 'mysql_result', 'mysql_num_rows', 'mysql_num_fields', 'mysql_fetch_row', 'mysql_fetch_array', 'mysql_fetch_assoc', 'mysql_fetch_object', 'mysql_data_seek', 'mysql_fetch_lengths', 'mysql_fetch_field', 'mysql_field_seek', 'mysql_free_result', 'mysql_field_name', 'mysql_field_table', 'mysql_field_len', 'mysql_field_type', 'mysql_field_flags', 'mysql_escape_string', 'mysql_real_escape_string', 'mysql_stat',
-			'mysql_thread_id', 'mysql_client_encoding', 'mysql_get_client_info', 'mysql_get_host_info', 'mysql_get_proto_info', 'mysql_get_server_info', 'mysql_info', 'mysql', 'mysql_fieldname', 'mysql_fieldtable', 'mysql_fieldlen', 'mysql_fieldtype', 'mysql_fieldflags', 'mysql_selectdb', 'mysql_createdb', 'mysql_dropdb', 'mysql_freeresult', 'mysql_numfields', 'mysql_numrows', 'mysql_listdbs', 'mysql_listtables', 'mysql_listfields', 'mysql_db_name', 'mysql_dbname', 'mysql_tablename', 'mysql_table_name', 'pg_connect', 'pg_pconnect', 'pg_close', 'pg_connection_status', 'pg_connection_busy', 'pg_connection_reset', 'pg_host', 'pg_dbname', 'pg_port', 'pg_tty', 'pg_options', 'pg_ping', 'pg_query', 'pg_send_query', 'pg_cancel_query', 'pg_fetch_result', 'pg_fetch_row', 'pg_fetch_assoc', 'pg_fetch_array', 'pg_fetch_object', 'pg_fetch_all', 'pg_affected_rows', 'pg_get_result', 'pg_result_seek', 'pg_result_status', 'pg_free_result', 'pg_last_oid', 'pg_num_rows', 'pg_num_fields', 'pg_field_name', 'pg_field_num', 'pg_field_size', 'pg_field_type', 'pg_field_prtlen', 'pg_field_is_null', 'pg_get_notify', 'pg_get_pid', 'pg_result_error', 'pg_last_error', 'pg_last_notice', 'pg_put_line', 'pg_end_copy', 'pg_copy_to', 'pg_copy_from',
-			'pg_trace', 'pg_untrace', 'pg_lo_create', 'pg_lo_unlink', 'pg_lo_open', 'pg_lo_close', 'pg_lo_read', 'pg_lo_write', 'pg_lo_read_all', 'pg_lo_import', 'pg_lo_export', 'pg_lo_seek', 'pg_lo_tell', 'pg_escape_string', 'pg_escape_bytea', 'pg_unescape_bytea', 'pg_client_encoding', 'pg_set_client_encoding', 'pg_meta_data', 'pg_convert', 'pg_insert', 'pg_update', 'pg_delete', 'pg_select', 'pg_exec', 'pg_getlastoid', 'pg_cmdtuples', 'pg_errormessage', 'pg_numrows', 'pg_numfields', 'pg_fieldname', 'pg_fieldsize', 'pg_fieldtype', 'pg_fieldnum', 'pg_fieldprtlen', 'pg_fieldisnull', 'pg_freeresult', 'pg_result', 'pg_loreadall', 'pg_locreate', 'pg_lounlink', 'pg_loopen', 'pg_loclose', 'pg_loread', 'pg_lowrite', 'pg_loimport', 'pg_loexport',
-			'echo', 'print', 'global', 'static', 'exit', 'array', 'empty', 'eval', 'isset', 'unset', 'die'
-			)
-		),
-	'SYMBOLS' => array(
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false,
-		2 => false,
-		3 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;',
-			2 => 'color: #000000; font-weight: bold;',
-			3 => 'color: #000066;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			2 => 'color: #808080; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #006600;',
-			2 => 'color: #006600;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			0 => 'color: #0000ff;'
-			),
-		'SCRIPT' => array(
-			0 => '',
-			1 => '',
-			2 => '',
-			3 => ''
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => 'http://www.php.net/{FNAME}',
-		4 => ''
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '-&gt;',
-		2 => '::'
-		),
-	'REGEXPS' => array(
-		0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"
-		),
-	'STRICT_MODE_APPLIES' => GESHI_MAYBE,
-	'SCRIPT_DELIMITERS' => array(
-		'<?php' => '?>',
-		'<?' => '?>',
-		'<%' => '%>',
-		'<script language="php">' => '</script>'
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		0 => true,
-		1 => true,
-		2 => true,
-		3 => true
+    'LANG_NAME' => 'PHP (brief)',
+    'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    //Heredoc and Nowdoc syntax
+    'COMMENT_REGEXP' => array(3 => '/<<<\s*?(\'?)([a-zA-Z0-9]+)\1[^\n]*?\\n.*\\n\\2(?![a-zA-Z0-9])/siU'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'HARDQUOTE' => array("'", "'"),
+    'HARDESCAPE' => array("\'"),
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC |  GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX |
+        GESHI_NUMBER_FLT_SCI_ZERO,
+    'KEYWORDS' => array(
+        1 => array(
+            'include', 'require', 'include_once', 'require_once',
+            'for', 'as', 'foreach', 'if', 'elseif', 'else', 'while', 'do', 'endwhile', 'endif', 'switch', 'case', 'endswitch',
+            'return', 'break'
+            ),
+        2 => array(
+            'null', '__LINE__', '__FILE__',
+            'false', '&lt;?php',
+            'true', 'var', 'default',
+            'function', 'class', 'new', '&amp;new', 'public', 'private', 'interface', 'extends',
+            'const', 'self'
+            ),
+        3 => array(
+            'func_num_args', 'func_get_arg', 'func_get_args', 'strlen', 'strcmp', 'strncmp', 'strcasecmp', 'strncasecmp', 'each', 'error_reporting', 'define', 'defined',
+            'trigger_error', 'user_error', 'set_error_handler', 'restore_error_handler', 'get_declared_classes', 'get_loaded_extensions',
+            'extension_loaded', 'get_extension_funcs', 'debug_backtrace',
+            'constant', 'bin2hex', 'sleep', 'usleep', 'time', 'mktime', 'gmmktime', 'strftime', 'gmstrftime', 'strtotime', 'date', 'gmdate', 'getdate', 'localtime', 'checkdate', 'flush', 'wordwrap', 'htmlspecialchars', 'htmlentities', 'html_entity_decode', 'md5', 'md5_file', 'crc32', 'getimagesize', 'image_type_to_mime_type', 'phpinfo', 'phpversion', 'phpcredits', 'strnatcmp', 'strnatcasecmp', 'substr_count', 'strspn', 'strcspn', 'strtok', 'strtoupper', 'strtolower', 'strpos', 'strrpos', 'strrev', 'hebrev', 'hebrevc', 'nl2br', 'basename', 'dirname', 'pathinfo', 'stripslashes', 'stripcslashes', 'strstr', 'stristr', 'strrchr', 'str_shuffle', 'str_word_count', 'strcoll', 'substr', 'substr_replace', 'quotemeta', 'ucfirst', 'ucwords', 'strtr', 'addslashes', 'addcslashes', 'rtrim', 'str_replace', 'str_repeat', 'count_chars', 'chunk_split', 'trim', 'ltrim', 'strip_tags', 'similar_text', 'explode', 'implode', 'setlocale', 'localeconv',
+            'parse_str', 'str_pad', 'chop', 'strchr', 'sprintf', 'printf', 'vprintf', 'vsprintf', 'sscanf', 'fscanf', 'parse_url', 'urlencode', 'urldecode', 'rawurlencode', 'rawurldecode', 'readlink', 'linkinfo', 'link', 'unlink', 'exec', 'system', 'escapeshellcmd', 'escapeshellarg', 'passthru', 'shell_exec', 'proc_open', 'proc_close', 'rand', 'srand', 'getrandmax', 'mt_rand', 'mt_srand', 'mt_getrandmax', 'base64_decode', 'base64_encode', 'abs', 'ceil', 'floor', 'round', 'is_finite', 'is_nan', 'is_infinite', 'bindec', 'hexdec', 'octdec', 'decbin', 'decoct', 'dechex', 'base_convert', 'number_format', 'fmod', 'ip2long', 'long2ip', 'getenv', 'putenv', 'getopt', 'microtime', 'gettimeofday', 'getrusage', 'uniqid', 'quoted_printable_decode', 'set_time_limit', 'get_cfg_var', 'magic_quotes_runtime', 'set_magic_quotes_runtime', 'get_magic_quotes_gpc', 'get_magic_quotes_runtime',
+            'import_request_variables', 'error_log', 'serialize', 'unserialize', 'memory_get_usage', 'var_dump', 'var_export', 'debug_zval_dump', 'print_r','highlight_file', 'show_source', 'highlight_string', 'ini_get', 'ini_get_all', 'ini_set', 'ini_alter', 'ini_restore', 'get_include_path', 'set_include_path', 'restore_include_path', 'setcookie', 'header', 'headers_sent', 'connection_aborted', 'connection_status', 'ignore_user_abort', 'parse_ini_file', 'is_uploaded_file', 'move_uploaded_file', 'intval', 'floatval', 'doubleval', 'strval', 'gettype', 'settype', 'is_null', 'is_resource', 'is_bool', 'is_long', 'is_float', 'is_int', 'is_integer', 'is_double', 'is_real', 'is_numeric', 'is_string', 'is_array', 'is_object', 'is_scalar',
+            'ereg', 'ereg_replace', 'eregi', 'eregi_replace', 'split', 'spliti', 'join', 'sql_regcase', 'dl', 'pclose', 'popen', 'readfile', 'rewind', 'rmdir', 'umask', 'fclose', 'feof', 'fgetc', 'fgets', 'fgetss', 'fread', 'fopen', 'fpassthru', 'ftruncate', 'fstat', 'fseek', 'ftell', 'fflush', 'fwrite', 'fputs', 'mkdir', 'rename', 'copy', 'tempnam', 'tmpfile', 'file', 'file_get_contents', 'stream_select', 'stream_context_create', 'stream_context_set_params', 'stream_context_set_option', 'stream_context_get_options', 'stream_filter_prepend', 'stream_filter_append', 'fgetcsv', 'flock', 'get_meta_tags', 'stream_set_write_buffer', 'set_file_buffer', 'set_socket_blocking', 'stream_set_blocking', 'socket_set_blocking', 'stream_get_meta_data', 'stream_register_wrapper', 'stream_wrapper_register', 'stream_set_timeout', 'socket_set_timeout', 'socket_get_status', 'realpath', 'fnmatch', 'fsockopen', 'pfsockopen', 'pack', 'unpack', 'get_browser', 'crypt', 'opendir', 'closedir', 'chdir', 'getcwd', 'rewinddir', 'readdir', 'dir', 'glob', 'fileatime', 'filectime', 'filegroup', 'fileinode', 'filemtime', 'fileowner', 'fileperms', 'filesize', 'filetype', 'file_exists', 'is_writable', 'is_writeable', 'is_readable', 'is_executable', 'is_file', 'is_dir', 'is_link', 'stat', 'lstat', 'chown',
+            'touch', 'clearstatcache', 'mail', 'ob_start', 'ob_flush', 'ob_clean', 'ob_end_flush', 'ob_end_clean', 'ob_get_flush', 'ob_get_clean', 'ob_get_length', 'ob_get_level', 'ob_get_status', 'ob_get_contents', 'ob_implicit_flush', 'ob_list_handlers', 'ksort', 'krsort', 'natsort', 'natcasesort', 'asort', 'arsort', 'sort', 'rsort', 'usort', 'uasort', 'uksort', 'shuffle', 'array_walk', 'count', 'end', 'prev', 'next', 'reset', 'current', 'key', 'min', 'max', 'in_array', 'array_search', 'extract', 'compact', 'array_fill', 'range', 'array_multisort', 'array_push', 'array_pop', 'array_shift', 'array_unshift', 'array_splice', 'array_slice', 'array_merge', 'array_merge_recursive', 'array_keys', 'array_values', 'array_count_values', 'array_reverse', 'array_reduce', 'array_pad', 'array_flip', 'array_change_key_case', 'array_rand', 'array_unique', 'array_intersect', 'array_intersect_assoc', 'array_diff', 'array_diff_assoc', 'array_sum', 'array_filter', 'array_map', 'array_chunk', 'array_key_exists', 'pos', 'sizeof', 'key_exists', 'assert', 'assert_options', 'version_compare', 'ftok', 'str_rot13', 'aggregate',
+            'session_name', 'session_module_name', 'session_save_path', 'session_id', 'session_regenerate_id', 'session_decode', 'session_register', 'session_unregister', 'session_is_registered', 'session_encode',
+            'session_start', 'session_destroy', 'session_unset', 'session_set_save_handler', 'session_cache_limiter', 'session_cache_expire', 'session_set_cookie_params', 'session_get_cookie_params', 'session_write_close', 'preg_match', 'preg_match_all', 'preg_replace', 'preg_replace_callback', 'preg_split', 'preg_quote', 'preg_grep', 'overload', 'ctype_alnum', 'ctype_alpha', 'ctype_cntrl', 'ctype_digit', 'ctype_lower', 'ctype_graph', 'ctype_print', 'ctype_punct', 'ctype_space', 'ctype_upper', 'ctype_xdigit', 'virtual', 'apache_request_headers', 'apache_note', 'apache_lookup_uri', 'apache_child_terminate', 'apache_setenv', 'apache_response_headers', 'apache_get_version', 'getallheaders', 'mysql_connect', 'mysql_pconnect', 'mysql_close', 'mysql_select_db', 'mysql_create_db', 'mysql_drop_db', 'mysql_query', 'mysql_unbuffered_query', 'mysql_db_query', 'mysql_list_dbs', 'mysql_list_tables', 'mysql_list_fields', 'mysql_list_processes', 'mysql_error', 'mysql_errno', 'mysql_affected_rows', 'mysql_insert_id', 'mysql_result', 'mysql_num_rows', 'mysql_num_fields', 'mysql_fetch_row', 'mysql_fetch_array', 'mysql_fetch_assoc', 'mysql_fetch_object', 'mysql_data_seek', 'mysql_fetch_lengths', 'mysql_fetch_field', 'mysql_field_seek', 'mysql_free_result', 'mysql_field_name', 'mysql_field_table', 'mysql_field_len', 'mysql_field_type', 'mysql_field_flags', 'mysql_escape_string', 'mysql_real_escape_string', 'mysql_stat',
+            'mysql_thread_id', 'mysql_client_encoding', 'mysql_get_client_info', 'mysql_get_host_info', 'mysql_get_proto_info', 'mysql_get_server_info', 'mysql_info', 'mysql', 'mysql_fieldname', 'mysql_fieldtable', 'mysql_fieldlen', 'mysql_fieldtype', 'mysql_fieldflags', 'mysql_selectdb', 'mysql_createdb', 'mysql_dropdb', 'mysql_freeresult', 'mysql_numfields', 'mysql_numrows', 'mysql_listdbs', 'mysql_listtables', 'mysql_listfields', 'mysql_db_name', 'mysql_dbname', 'mysql_tablename', 'mysql_table_name', 'pg_connect', 'pg_pconnect', 'pg_close', 'pg_connection_status', 'pg_connection_busy', 'pg_connection_reset', 'pg_host', 'pg_dbname', 'pg_port', 'pg_tty', 'pg_options', 'pg_ping', 'pg_query', 'pg_send_query', 'pg_cancel_query', 'pg_fetch_result', 'pg_fetch_row', 'pg_fetch_assoc', 'pg_fetch_array', 'pg_fetch_object', 'pg_fetch_all', 'pg_affected_rows', 'pg_get_result', 'pg_result_seek', 'pg_result_status', 'pg_free_result', 'pg_last_oid', 'pg_num_rows', 'pg_num_fields', 'pg_field_name', 'pg_field_num', 'pg_field_size', 'pg_field_type', 'pg_field_prtlen', 'pg_field_is_null', 'pg_get_notify', 'pg_get_pid', 'pg_result_error', 'pg_last_error', 'pg_last_notice', 'pg_put_line', 'pg_end_copy', 'pg_copy_to', 'pg_copy_from',
+            'pg_trace', 'pg_untrace', 'pg_lo_create', 'pg_lo_unlink', 'pg_lo_open', 'pg_lo_close', 'pg_lo_read', 'pg_lo_write', 'pg_lo_read_all', 'pg_lo_import', 'pg_lo_export', 'pg_lo_seek', 'pg_lo_tell', 'pg_escape_string', 'pg_escape_bytea', 'pg_unescape_bytea', 'pg_client_encoding', 'pg_set_client_encoding', 'pg_meta_data', 'pg_convert', 'pg_insert', 'pg_update', 'pg_delete', 'pg_select', 'pg_exec', 'pg_getlastoid', 'pg_cmdtuples', 'pg_errormessage', 'pg_numrows', 'pg_numfields', 'pg_fieldname', 'pg_fieldsize', 'pg_fieldtype', 'pg_fieldnum', 'pg_fieldprtlen', 'pg_fieldisnull', 'pg_freeresult', 'pg_result', 'pg_loreadall', 'pg_locreate', 'pg_lounlink', 'pg_loopen', 'pg_loclose', 'pg_loread', 'pg_lowrite', 'pg_loimport', 'pg_loexport',
+            'echo', 'print', 'global', 'static', 'exit', 'array', 'empty', 'eval', 'isset', 'unset', 'die'
+            )
+        ),
+    'SYMBOLS' => array(
+        1 => array(
+            '<%', '<%=', '%>', '<?', '<?=', '?>'
+            ),
+        0 => array(
+            '(', ')', '[', ']', '{', '}',
+            '!', '@', '%', '&', '|', '/',
+            '<', '>',
+            '=', '-', '+', '*',
+            '.', ':', ',', ';'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #990000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            2 => 'color: #666666; font-style: italic;',
+            3 => 'color: #0000cc; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            'HARD' => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #0000ff;',
+            'HARD' => 'color: #0000ff;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;',
+            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
+            ),
+        'METHODS' => array(
+            1 => 'color: #004000;',
+            2 => 'color: #004000;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;',
+            1 => 'color: #000000; font-weight: bold;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'SCRIPT' => array(
+            0 => '',
+            1 => '',
+            2 => '',
+            3 => '',
+            4 => '',
+            5 => ''
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => 'http://www.php.net/{FNAMEL}'
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '-&gt;',
+        2 => '::'
+        ),
+    'REGEXPS' => array(
+        //Variables
+        0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(
+        0 => array(
+            '<?php' => '?>'
+            ),
+        1 => array(
+            '<?' => '?>'
+            ),
+        2 => array(
+            '<%' => '%>'
+            ),
+        3 => array(
+            '<script language="php">' => '</script>'
+            ),
+        4 => "/(<\?(?:php)?)(?:'(?:[^'\\\\]|\\\\.)*?'|\"(?:[^\"\\\\]|\\\\.)*?\"|\/\*(?!\*\/).*?\*\/|.)*?(\?>|\Z)/sm",
+        5 => "/(<%)(?:'(?:[^'\\\\]|\\\\.)*?'|\"(?:[^\"\\\\]|\\\\.)*?\"|\/\*(?!\*\/).*?\*\/|.)*?(%>|\Z)/sm"
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true
         ),
     'TAB_WIDTH' => 4
 );
--- a/plugins/geshi/geshi/php.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/php.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * --------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/06/20
  *
  * PHP language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *  -  Added description of extra language features (SF#1970248)
  * 2004/11/25 (1.0.3)
  *  -  Added support for multiple object splitters
  *  -  Fixed &new problem
@@ -52,9 +54,34 @@
     'LANG_NAME' => 'PHP',
     'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
     'COMMENT_MULTI' => array('/*' => '*/'),
+    'HARDQUOTE' => array("'", "'"),
+    'HARDESCAPE' => array("\'"),
+    'COMMENT_REGEXP' => array(
+        //Heredoc and Nowdoc syntax
+        3 => '/<<<\s*?(\'?)([a-zA-Z0-9]+?)\1[^\n]*?\\n.*\\n\\2(?![a-zA-Z0-9])/siU',
+        // phpdoc comments
+        4 => '#/\*\*(?![\*\/]).*\*/#sU'
+        ),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-    'QUOTEMARKS' => array("'", '"'),
-    'ESCAPE_CHAR' => '\\',
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(
+        //Simple Single Char Escapes
+        1 => "#\\\\[nfrtv\\$\\\"\n]#i",
+        //Hexadecimal Char Specs
+        2 => "#\\\\x[\da-fA-F]{1,2}#i",
+        //Octal Char Specs
+        3 => "#\\\\[0-7]{1,3}#",
+        //String Parsing of Variable Names
+        4 => "#\\$[a-z0-9_]+(?:\\[[a-z0-9_]+\\]|->[a-z0-9_]+)?|(?:\\{\\$|\\$\\{)[a-z0-9_]+(?:\\[('?)[a-z0-9_]*\\1\\]|->[a-z0-9_]+)*\\}#i",
+        //Experimental extension supporting cascaded {${$var}} syntax
+        5 => "#\$[a-z0-9_]+(?:\[[a-z0-9_]+\]|->[a-z0-9_]+)?|(?:\{\$|\$\{)[a-z0-9_]+(?:\[('?)[a-z0-9_]*\\1\]|->[a-z0-9_]+)*\}|\{\$(?R)\}#i",
+        //Format String support in ""-Strings
+        6 => "#%(?:%|(?:\d+\\\\\\\$)?\\+?(?:\x20|0|'.)?-?(?:\d+|\\*)?(?:\.\d+)?[bcdefFosuxX])#"
+        ),
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC |  GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX |
+        GESHI_NUMBER_FLT_SCI_ZERO,
     'KEYWORDS' => array(
         1 => array(
             'include', 'require', 'include_once', 'require_once',
@@ -63,202 +90,411 @@
             'return', 'break', 'continue'
             ),
         2 => array(
-            'null', '__LINE__', '__FILE__',
-            'false', '&lt;?php', '?&gt;', '&lt;?',
-            '&lt;script language', '&lt;/script&gt;',
-            'true', 'var', 'default',
-            'function', 'class', 'new', '&amp;new', 'public', 'private', 'interface', 'extends',
-            '__FUNCTION__', '__CLASS__', '__METHOD__', 'PHP_VERSION',
-            'PHP_OS', 'DEFAULT_INCLUDE_PATH', 'PEAR_INSTALL_DIR', 'PEAR_EXTENSION_DIR',
-            'PHP_EXTENSION_DIR', 'PHP_BINDIR', 'PHP_LIBDIR', 'PHP_DATADIR', 'PHP_SYSCONFDIR',
-            'PHP_LOCALSTATEDIR', 'PHP_CONFIG_FILE_PATH', 'PHP_OUTPUT_HANDLER_START', 'PHP_OUTPUT_HANDLER_CONT',
-            'PHP_OUTPUT_HANDLER_END', 'E_ERROR', 'E_WARNING', 'E_PARSE', 'E_NOTICE',
-            'E_CORE_ERROR', 'E_CORE_WARNING', 'E_COMPILE_ERROR', 'E_COMPILE_WARNING', 'E_USER_ERROR',
-            'E_USER_WARNING', 'E_USER_NOTICE', 'E_ALL'
+            '&amp;new', '&lt;/script&gt;', '&lt;?php',
+            '&lt;script language', 'class', 'const',
+            'default', 'DEFAULT_INCLUDE_PATH', 'extends',
+            'E_ALL', 'E_COMPILE_ERROR', 'E_COMPILE_WARNING',
+            'E_CORE_ERROR', 'E_CORE_WARNING', 'E_ERROR',
+            'E_NOTICE', 'E_PARSE', 'E_STRICT', 'E_USER_ERROR',
+            'E_USER_NOTICE', 'E_USER_WARNING', 'E_WARNING',
+            'false', 'function', 'interface', 'new', 'null',
+            'PEAR_EXTENSION_DIR', 'PEAR_INSTALL_DIR',
+            'PHP_BINDIR', 'PHP_CONFIG_FILE_PATH', 'PHP_DATADIR',
+            'PHP_EXTENSION_DIR', 'PHP_LIBDIR',
+            'PHP_LOCALSTATEDIR', 'PHP_OS',
+            'PHP_OUTPUT_HANDLER_CONT', 'PHP_OUTPUT_HANDLER_END',
+            'PHP_OUTPUT_HANDLER_START', 'PHP_SYSCONFDIR',
+            'PHP_VERSION', 'private', 'public', 'self', 'true',
+            'var', '__CLASS__', '__FILE__', '__FUNCTION__',
+            '__LINE__', '__METHOD__'
             ),
         3 => array(
-            'zlib_get_coding_type','zend_version','zend_logo_guid','yp_order','yp_next',
-            'yp_match','yp_master','yp_get_default_domain','yp_first','yp_errno','yp_err_string',
-            'yp_cat','yp_all','xml_set_unparsed_entity_decl_handler','xml_set_start_namespace_decl_handler','xml_set_processing_instruction_handler','xml_set_object',
-            'xml_set_notation_decl_handler','xml_set_external_entity_ref_handler','xml_set_end_namespace_decl_handler','xml_set_element_handler','xml_set_default_handler','xml_set_character_data_handler',
-            'xml_parser_set_option','xml_parser_get_option','xml_parser_free','xml_parser_create_ns','xml_parser_create','xml_parse_into_struct',
-            'xml_parse','xml_get_error_code','xml_get_current_line_number','xml_get_current_column_number','xml_get_current_byte_index','xml_error_string',
-            'wordwrap','wddx_serialize_vars','wddx_serialize_value','wddx_packet_start','wddx_packet_end','wddx_deserialize',
-            'wddx_add_vars','vsprintf','vprintf','virtual','version_compare','var_export',
-            'var_dump','utf8_encode','utf8_decode','usort','usleep','user_error',
-            'urlencode','urldecode','unserialize','unregister_tick_function','unpack','unlink',
-            'unixtojd','uniqid','umask','uksort','ucwords','ucfirst',
-            'uasort','trim','trigger_error','touch','token_name','token_get_all',
-            'tmpfile','time','textdomain','tempnam','tanh','tan',
-            'system','syslog','symlink','substr_replace','substr_count','substr',
-            'strval','strtr','strtoupper','strtotime','strtolower','strtok',
-            'strstr','strspn','strrpos','strrev','strrchr','strpos',
-            'strncmp','strncasecmp','strnatcmp','strnatcasecmp','strlen','stristr',
-            'stripslashes','stripcslashes','strip_tags','strftime','stream_wrapper_register','stream_set_write_buffer',
-            'stream_set_timeout','stream_set_blocking','stream_select','stream_register_wrapper','stream_get_meta_data','stream_filter_prepend',
-            'stream_filter_append','stream_context_set_params','stream_context_set_option','stream_context_get_options','stream_context_create','strcspn',
-            'strcoll','strcmp','strchr','strcasecmp','str_word_count','str_shuffle',
-            'str_rot13','str_replace','str_repeat','str_pad','stat','sscanf',
-            'srand','sqrt','sql_regcase','sprintf','spliti','split',
-            'soundex','sort','socket_writev','socket_write','socket_strerror','socket_shutdown',
-            'socket_setopt','socket_set_timeout','socket_set_option','socket_set_nonblock','socket_set_blocking','socket_set_block',
-            'socket_sendto','socket_sendmsg','socket_send','socket_select','socket_recvmsg','socket_recvfrom',
-            'socket_recv','socket_readv','socket_read','socket_listen','socket_last_error','socket_iovec_set',
-            'socket_iovec_free','socket_iovec_fetch','socket_iovec_delete','socket_iovec_alloc','socket_iovec_add','socket_getsockname',
-            'socket_getpeername','socket_getopt','socket_get_status','socket_get_option','socket_create_pair','socket_create_listen',
-            'socket_create','socket_connect','socket_close','socket_clear_error','socket_bind','socket_accept',
-            'sleep','sizeof','sinh','sin','similar_text','shuffle',
-            'show_source','shmop_write','shmop_size','shmop_read','shmop_open','shmop_delete',
-            'shmop_close','shm_remove_var','shm_remove','shm_put_var','shm_get_var','shm_detach',
-            'shm_attach','shell_exec','sha1_file','sha1','settype','setlocale',
-            'setcookie','set_time_limit','set_socket_blocking','set_magic_quotes_runtime','set_include_path','set_file_buffer',
-            'set_error_handler','session_write_close','session_unset','session_unregister','session_start','session_set_save_handler',
-            'session_set_cookie_params','session_save_path','session_register','session_regenerate_id','session_name','session_module_name',
-            'session_is_registered','session_id','session_get_cookie_params','session_encode','session_destroy','session_decode',
-            'session_cache_limiter','session_cache_expire','serialize','sem_remove','sem_release','sem_get',
-            'sem_acquire','rtrim','rsort','round','rmdir','rewinddir',
-            'rewind','restore_include_path','restore_error_handler','reset','rename','register_tick_function',
-            'register_shutdown_function','realpath','readlink','readgzfile','readfile','readdir',
-            'read_exif_data','rawurlencode','rawurldecode','range','rand','rad2deg',
-            'quotemeta','quoted_printable_decode','putenv','proc_open','proc_close','printf',
-            'print_r','prev','preg_split','preg_replace_callback','preg_replace','preg_quote',
-            'preg_match_all','preg_match','preg_grep','pow','posix_uname','posix_ttyname',
-            'posix_times','posix_strerror','posix_setuid','posix_setsid','posix_setpgid','posix_setgid',
-            'posix_seteuid','posix_setegid','posix_mkfifo','posix_kill','posix_isatty','posix_getuid',
-            'posix_getsid','posix_getrlimit','posix_getpwuid','posix_getpwnam','posix_getppid','posix_getpid',
-            'posix_getpgrp','posix_getpgid','posix_getlogin','posix_getgroups','posix_getgrnam','posix_getgrgid',
-            'posix_getgid','posix_geteuid','posix_getegid','posix_getcwd','posix_get_last_error','posix_errno',
-            'posix_ctermid','pos','popen','pi','phpversion','phpinfo',
-            'phpcredits','php_uname','php_sapi_name','php_logo_guid','php_ini_scanned_files','pg_update',
-            'pg_untrace','pg_unescape_bytea','pg_tty','pg_trace','pg_setclientencoding','pg_set_client_encoding',
-            'pg_send_query','pg_select','pg_result_status','pg_result_seek','pg_result_error','pg_result',
-            'pg_query','pg_put_line','pg_port','pg_ping','pg_pconnect','pg_options',
-            'pg_numrows','pg_numfields','pg_num_rows','pg_num_fields','pg_meta_data','pg_lowrite',
-            'pg_lounlink','pg_loreadall','pg_loread','pg_loopen','pg_loimport','pg_loexport',
-            'pg_locreate','pg_loclose','pg_lo_write','pg_lo_unlink','pg_lo_tell','pg_lo_seek',
-            'pg_lo_read_all','pg_lo_read','pg_lo_open','pg_lo_import','pg_lo_export','pg_lo_create',
-            'pg_lo_close','pg_last_oid','pg_last_notice','pg_last_error','pg_insert','pg_host',
-            'pg_getlastoid','pg_get_result','pg_get_pid','pg_get_notify','pg_freeresult','pg_free_result',
-            'pg_fieldtype','pg_fieldsize','pg_fieldprtlen','pg_fieldnum','pg_fieldname','pg_fieldisnull',
-            'pg_field_type','pg_field_size','pg_field_prtlen','pg_field_num','pg_field_name','pg_field_is_null',
-            'pg_fetch_row','pg_fetch_result','pg_fetch_object','pg_fetch_assoc','pg_fetch_array','pg_fetch_all',
-            'pg_exec','pg_escape_string','pg_escape_bytea','pg_errormessage','pg_end_copy','pg_delete',
-            'pg_dbname','pg_copy_to','pg_copy_from','pg_convert','pg_connection_status','pg_connection_reset',
-            'pg_connection_busy','pg_connect','pg_cmdtuples','pg_close','pg_clientencoding','pg_client_encoding',
-            'pg_cancel_query','pg_affected_rows','pfsockopen','pclose','pathinfo','passthru',
-            'parse_url','parse_str','parse_ini_file','pack','overload','output_reset_rewrite_vars',
-            'output_add_rewrite_var','ord','openssl_x509_read','openssl_x509_parse','openssl_x509_free','openssl_x509_export_to_file',
-            'openssl_x509_export','openssl_x509_checkpurpose','openssl_x509_check_private_key','openssl_verify','openssl_sign','openssl_seal',
-            'openssl_public_encrypt','openssl_public_decrypt','openssl_private_encrypt','openssl_private_decrypt','openssl_pkey_new','openssl_pkey_get_public',
-            'openssl_pkey_get_private','openssl_pkey_free','openssl_pkey_export_to_file','openssl_pkey_export','openssl_pkcs7_verify','openssl_pkcs7_sign',
-            'openssl_pkcs7_encrypt','openssl_pkcs7_decrypt','openssl_open','openssl_get_publickey','openssl_get_privatekey','openssl_free_key',
-            'openssl_error_string','openssl_csr_sign','openssl_csr_new','openssl_csr_export_to_file','openssl_csr_export','openlog',
-            'opendir','octdec','ob_start','ob_list_handlers','ob_implicit_flush','ob_iconv_handler',
-            'ob_gzhandler','ob_get_status','ob_get_level','ob_get_length','ob_get_flush','ob_get_contents',
-            'ob_get_clean','ob_flush','ob_end_flush','ob_end_clean','ob_clean','number_format',
-            'nl_langinfo','nl2br','ngettext','next','natsort','natcasesort',
-            'mysql_unbuffered_query','mysql_thread_id','mysql_tablename','mysql_table_name','mysql_stat','mysql_selectdb',
-            'mysql_select_db','mysql_result','mysql_real_escape_string','mysql_query','mysql_ping','mysql_pconnect',
-            'mysql_numrows','mysql_numfields','mysql_num_rows','mysql_num_fields','mysql_listtables','mysql_listfields',
-            'mysql_listdbs','mysql_list_tables','mysql_list_processes','mysql_list_fields','mysql_list_dbs','mysql_insert_id',
-            'mysql_info','mysql_get_server_info','mysql_get_proto_info','mysql_get_host_info','mysql_get_client_info','mysql_freeresult',
-            'mysql_free_result','mysql_fieldtype','mysql_fieldtable','mysql_fieldname','mysql_fieldlen','mysql_fieldflags',
-            'mysql_field_type','mysql_field_table','mysql_field_seek','mysql_field_name','mysql_field_len','mysql_field_flags',
-            'mysql_fetch_row','mysql_fetch_object','mysql_fetch_lengths','mysql_fetch_field','mysql_fetch_assoc','mysql_fetch_array',
-            'mysql_escape_string','mysql_error','mysql_errno','mysql_dropdb','mysql_drop_db','mysql_dbname',
-            'mysql_db_query','mysql_db_name','mysql_data_seek','mysql_createdb','mysql_create_db','mysql_connect',
-            'mysql_close','mysql_client_encoding','mysql_affected_rows','mysql','mt_srand','mt_rand',
-            'mt_getrandmax','move_uploaded_file','money_format','mktime','mkdir','min',
-            'microtime','method_exists','metaphone','memory_get_usage','md5_file','md5',
-            'mbsubstr','mbstrrpos','mbstrpos','mbstrlen','mbstrcut','mbsplit',
-            'mbregex_encoding','mberegi_replace','mberegi','mbereg_search_setpos','mbereg_search_regs','mbereg_search_pos',
-            'mbereg_search_init','mbereg_search_getregs','mbereg_search_getpos','mbereg_search','mbereg_replace','mbereg_match',
-            'mbereg','mb_substr_count','mb_substr','mb_substitute_character','mb_strwidth','mb_strtoupper',
-            'mb_strtolower','mb_strrpos','mb_strpos','mb_strlen','mb_strimwidth','mb_strcut',
-            'mb_split','mb_send_mail','mb_regex_set_options','mb_regex_encoding','mb_preferred_mime_name','mb_parse_str',
-            'mb_output_handler','mb_language','mb_internal_encoding','mb_http_output','mb_http_input','mb_get_info',
-            'mb_eregi_replace','mb_eregi','mb_ereg_search_setpos','mb_ereg_search_regs','mb_ereg_search_pos','mb_ereg_search_init',
-            'mb_ereg_search_getregs','mb_ereg_search_getpos','mb_ereg_search','mb_ereg_replace','mb_ereg_match','mb_ereg',
-            'mb_encode_numericentity','mb_encode_mimeheader','mb_detect_order','mb_detect_encoding','mb_decode_numericentity','mb_decode_mimeheader',
-            'mb_convert_variables','mb_convert_kana','mb_convert_encoding','mb_convert_case','max','mail',
-            'magic_quotes_runtime','ltrim','lstat','long2ip','log1p','log10',
-            'log','localtime','localeconv','linkinfo','link','levenshtein',
-            'lcg_value','ksort','krsort','key_exists','key','juliantojd',
-            'join','jewishtojd','jdtounix','jdtojulian','jdtojewish','jdtogregorian',
-            'jdtofrench','jdmonthname','jddayofweek','is_writeable','is_writable','is_uploaded_file',
-            'is_subclass_of','is_string','is_scalar','is_resource','is_real','is_readable',
-            'is_object','is_numeric','is_null','is_nan','is_long','is_link',
-            'is_integer','is_int','is_infinite','is_float','is_finite','is_file',
-            'is_executable','is_double','is_dir','is_callable','is_bool','is_array',
-            'is_a','iptcparse','iptcembed','ip2long','intval','ini_set',
-            'ini_restore','ini_get_all','ini_get','ini_alter','in_array','import_request_variables',
-            'implode','image_type_to_mime_type','ignore_user_abort','iconv_set_encoding','iconv_get_encoding','iconv',
-            'i18n_mime_header_encode','i18n_mime_header_decode','i18n_ja_jp_hantozen','i18n_internal_encoding','i18n_http_output','i18n_http_input',
-            'i18n_discover_encoding','i18n_convert','hypot','htmlspecialchars','htmlentities','html_entity_decode',
-            'highlight_string','highlight_file','hexdec','hebrevc','hebrev','headers_sent',
-            'header','gzwrite','gzuncompress','gztell','gzseek','gzrewind',
-            'gzread','gzputs','gzpassthru','gzopen','gzinflate','gzgetss',
-            'gzgets','gzgetc','gzfile','gzeof','gzencode','gzdeflate',
-            'gzcompress','gzclose','gregoriantojd','gmstrftime','gmmktime','gmdate',
-            'glob','gettype','gettimeofday','gettext','getservbyport','getservbyname',
-            'getrusage','getrandmax','getprotobynumber','getprotobyname','getopt','getmyuid',
-            'getmypid','getmyinode','getmygid','getmxrr','getlastmod','getimagesize',
-            'gethostbynamel','gethostbyname','gethostbyaddr','getenv','getdate','getcwd',
-            'getallheaders','get_resource_type','get_required_files','get_parent_class','get_object_vars','get_meta_tags',
-            'get_magic_quotes_runtime','get_magic_quotes_gpc','get_loaded_extensions','get_included_files','get_include_path','get_html_translation_table',
-            'get_extension_funcs','get_defined_vars','get_defined_functions','get_defined_constants','get_declared_classes','get_current_user',
-            'get_class_vars','get_class_methods','get_class','get_cfg_var','get_browser','fwrite',
-            'function_exists','func_num_args','func_get_args','func_get_arg','ftruncate','ftp_systype',
-            'ftp_ssl_connect','ftp_size','ftp_site','ftp_set_option','ftp_rmdir','ftp_rename',
-            'ftp_rawlist','ftp_quit','ftp_pwd','ftp_put','ftp_pasv','ftp_nlist',
-            'ftp_nb_put','ftp_nb_get','ftp_nb_fput','ftp_nb_fget','ftp_nb_continue','ftp_mkdir',
-            'ftp_mdtm','ftp_login','ftp_get_option','ftp_get','ftp_fput','ftp_fget',
-            'ftp_exec','ftp_delete','ftp_connect','ftp_close','ftp_chdir','ftp_cdup',
-            'ftok','ftell','fstat','fsockopen','fseek','fscanf',
-            'frenchtojd','fread','fputs','fpassthru','fopen','fnmatch',
-            'fmod','flush','floor','flock','floatval','filetype',
-            'filesize','filepro_rowcount','filepro_retrieve','filepro_fieldwidth','filepro_fieldtype','filepro_fieldname',
-            'filepro_fieldcount','filepro','fileperms','fileowner','filemtime','fileinode',
-            'filegroup','filectime','fileatime','file_get_contents','file_exists','file',
-            'fgetss','fgets','fgetcsv','fgetc','fflush','feof',
-            'fclose','ezmlm_hash','extract','extension_loaded','expm1','explode',
-            'exp','exif_thumbnail','exif_tagname','exif_read_data','exif_imagetype','exec',
-            'escapeshellcmd','escapeshellarg','error_reporting','error_log','eregi_replace','eregi',
-            'ereg_replace','ereg','end','easter_days','easter_date','each',
-            'doubleval','dngettext','dl','diskfreespace','disk_total_space','disk_free_space',
-            'dirname','dir','dgettext','deg2rad','defined','define_syslog_variables',
-            'define','decoct','dechex','decbin','debug_zval_dump','debug_backtrace',
-            'deaggregate','dcngettext','dcgettext','dba_sync','dba_replace','dba_popen',
-            'dba_optimize','dba_open','dba_nextkey','dba_list','dba_insert','dba_handlers',
-            'dba_firstkey','dba_fetch','dba_exists','dba_delete','dba_close','date',
-            'current','ctype_xdigit','ctype_upper','ctype_space','ctype_punct','ctype_print',
-            'ctype_lower','ctype_graph','ctype_digit','ctype_cntrl','ctype_alpha','ctype_alnum',
-            'crypt','create_function','crc32','count_chars','count','cosh',
-            'cos','copy','convert_cyr_string','constant','connection_status','connection_aborted',
-            'compact','closelog','closedir','clearstatcache','class_exists','chunk_split',
-            'chr','chown','chop','chmod','chgrp','checkdnsrr',
-            'checkdate','chdir','ceil','call_user_method_array','call_user_method','call_user_func_array',
-            'call_user_func','cal_to_jd','cal_info','cal_from_jd','cal_days_in_month','bzwrite',
-            'bzread','bzopen','bzflush','bzerrstr','bzerror','bzerrno',
-            'bzdecompress','bzcompress','bzclose','bindtextdomain','bindec','bind_textdomain_codeset',
-            'bin2hex','bcsub','bcsqrt','bcscale','bcpow','bcmul',
-            'bcmod','bcdiv','bccomp','bcadd','basename','base_convert',
-            'base64_encode','base64_decode','atanh','atan2','atan','assert_options',
-            'assert','asort','asinh','asin','arsort','array_walk',
-            'array_values','array_unshift','array_unique','array_sum','array_splice','array_slice',
-            'array_shift','array_search','array_reverse','array_reduce','array_rand','array_push',
-            'array_pop','array_pad','array_multisort','array_merge_recursive','array_merge','array_map',
-            'array_keys','array_key_exists','array_intersect_assoc','array_intersect','array_flip','array_filter',
-            'array_fill','array_diff_assoc','array_diff','array_count_values','array_chunk','array_change_key_case',
-            'apache_setenv','apache_response_headers','apache_request_headers','apache_note','apache_lookup_uri','apache_get_version',
-            'apache_child_terminate','aggregation_info','aggregate_properties_by_regexp','aggregate_properties_by_list','aggregate_properties','aggregate_methods_by_regexp',
-            'aggregate_methods_by_list','aggregate_methods','aggregate','addslashes','addcslashes','acosh',
-            'acos','abs','_','echo', 'print', 'global', 'static', 'exit', 'array', 'empty',
-            'eval', 'isset', 'unset', 'die', 'list'
+            'abs', 'acos', 'acosh', 'addcslashes', 'addslashes', 'aggregate',
+            'aggregate_methods', 'aggregate_methods_by_list',
+            'aggregate_methods_by_regexp',
+            'aggregate_properties',
+            'aggregate_properties_by_list',
+            'aggregate_properties_by_regexp', 'aggregation_info',
+            'apache_child_terminate', 'apache_get_version',
+            'apache_lookup_uri', 'apache_note',
+            'apache_request_headers', 'apache_response_headers',
+            'apache_setenv', 'array', 'array_change_key_case',
+            'array_chunk', 'array_count_values', 'array_diff',
+            'array_diff_assoc', 'array_fill', 'array_filter',
+            'array_flip', 'array_intersect',
+            'array_intersect_assoc', 'array_keys',
+            'array_key_exists', 'array_map', 'array_merge',
+            'array_merge_recursive', 'array_multisort',
+            'array_pad', 'array_pop', 'array_push', 'array_rand',
+            'array_reduce', 'array_reverse', 'array_search',
+            'array_shift', 'array_slice', 'array_splice',
+            'array_sum', 'array_unique', 'array_unshift',
+            'array_values', 'array_walk', 'arsort', 'asin',
+            'asinh', 'asort', 'assert', 'assert_options', 'atan',
+            'atan2', 'atanh', 'base64_decode', 'base64_encode',
+            'basename', 'base_convert', 'bcadd', 'bccomp',
+            'bcdiv', 'bcmod', 'bcmul', 'bcpow', 'bcscale',
+            'bcsqrt', 'bcsub', 'bin2hex', 'bindec',
+            'bindtextdomain', 'bind_textdomain_codeset',
+            'bzclose', 'bzcompress', 'bzdecompress', 'bzerrno',
+            'bzerror', 'bzerrstr', 'bzflush', 'bzopen', 'bzread',
+            'bzwrite', 'call_user_func', 'call_user_func_array',
+            'call_user_method', 'call_user_method_array',
+            'cal_days_in_month', 'cal_from_jd', 'cal_info',
+            'cal_to_jd', 'ceil', 'chdir', 'checkdate',
+            'checkdnsrr', 'chgrp', 'chmod', 'chop', 'chown',
+            'chr', 'chunk_split', 'class_exists',
+            'clearstatcache', 'closedir', 'closelog', 'compact',
+            'connection_aborted', 'connection_status',
+            'constant', 'convert_cyr_string', 'copy', 'cos',
+            'cosh', 'count', 'count_chars', 'crc32',
+            'create_function', 'crypt', 'ctype_alnum',
+            'ctype_alpha', 'ctype_cntrl', 'ctype_digit',
+            'ctype_graph', 'ctype_lower', 'ctype_print',
+            'ctype_punct', 'ctype_space', 'ctype_upper',
+            'ctype_xdigit', 'current', 'date', 'dba_close',
+            'dba_delete', 'dba_exists', 'dba_fetch',
+            'dba_firstkey', 'dba_handlers', 'dba_insert',
+            'dba_list', 'dba_nextkey', 'dba_open',
+            'dba_optimize', 'dba_popen', 'dba_replace',
+            'dba_sync', 'dcgettext', 'dcngettext', 'deaggregate',
+            'debug_backtrace', 'debug_zval_dump', 'decbin',
+            'dechex', 'decoct', 'define', 'defined',
+            'define_syslog_variables', 'deg2rad', 'dgettext',
+            'die', 'dir', 'dirname', 'diskfreespace',
+            'disk_free_space', 'disk_total_space', 'dl',
+            'dngettext', 'doubleval', 'each', 'easter_date',
+            'easter_days', 'echo', 'empty', 'end', 'ereg',
+            'eregi', 'eregi_replace', 'ereg_replace',
+            'error_log', 'error_reporting', 'escapeshellarg',
+            'escapeshellcmd', 'eval', 'exec', 'exif_imagetype',
+            'exif_read_data', 'exif_tagname', 'exif_thumbnail',
+            'exit', 'exp', 'explode', 'expm1',
+            'extension_loaded', 'extract', 'ezmlm_hash',
+            'fclose', 'feof', 'fflush', 'fgetc', 'fgetcsv',
+            'fgets', 'fgetss', 'file', 'fileatime', 'filectime',
+            'filegroup', 'fileinode', 'filemtime', 'fileowner',
+            'fileperms', 'filepro', 'filepro_fieldcount',
+            'filepro_fieldname', 'filepro_fieldtype',
+            'filepro_fieldwidth', 'filepro_retrieve',
+            'filepro_rowcount', 'filesize', 'filetype',
+            'file_exists', 'file_get_contents', 'floatval',
+            'flock', 'floor', 'flush', 'fmod', 'fnmatch',
+            'fopen', 'fpassthru', 'fputs', 'fread', 'frenchtojd',
+            'fscanf', 'fseek', 'fsockopen', 'fstat', 'ftell',
+            'ftok', 'ftp_cdup', 'ftp_chdir', 'ftp_close',
+            'ftp_connect', 'ftp_delete', 'ftp_exec', 'ftp_fget',
+            'ftp_fput', 'ftp_get', 'ftp_get_option', 'ftp_login',
+            'ftp_mdtm', 'ftp_mkdir', 'ftp_nb_continue',
+            'ftp_nb_fget', 'ftp_nb_fput', 'ftp_nb_get',
+            'ftp_nb_put', 'ftp_nlist', 'ftp_pasv', 'ftp_put',
+            'ftp_pwd', 'ftp_quit', 'ftp_rawlist', 'ftp_rename',
+            'ftp_rmdir', 'ftp_set_option', 'ftp_site',
+            'ftp_size', 'ftp_ssl_connect', 'ftp_systype',
+            'ftruncate', 'function_exists', 'func_get_arg',
+            'func_get_args', 'func_num_args', 'fwrite',
+            'getallheaders', 'getcwd', 'getdate', 'getenv',
+            'gethostbyaddr', 'gethostbyname', 'gethostbynamel',
+            'getimagesize', 'getlastmod', 'getmxrr', 'getmygid',
+            'getmyinode', 'getmypid', 'getmyuid', 'getopt',
+            'getprotobyname', 'getprotobynumber', 'getrandmax',
+            'getrusage', 'getservbyname', 'getservbyport',
+            'gettext', 'gettimeofday', 'gettype', 'get_browser',
+            'get_cfg_var', 'get_class', 'get_class_methods',
+            'get_class_vars', 'get_current_user',
+            'get_declared_classes', 'get_defined_constants',
+            'get_defined_functions', 'get_defined_vars',
+            'get_extension_funcs', 'get_html_translation_table',
+            'get_included_files', 'get_include_path',
+            'get_loaded_extensions', 'get_magic_quotes_gpc',
+            'get_magic_quotes_runtime', 'get_meta_tags',
+            'get_object_vars', 'get_parent_class',
+            'get_required_files', 'get_resource_type', 'glob',
+            'global', 'gmdate', 'gmmktime', 'gmstrftime',
+            'gregoriantojd', 'gzclose', 'gzcompress',
+            'gzdeflate', 'gzencode', 'gzeof', 'gzfile', 'gzgetc',
+            'gzgets', 'gzgetss', 'gzinflate', 'gzopen',
+            'gzpassthru', 'gzputs', 'gzread', 'gzrewind',
+            'gzseek', 'gztell', 'gzuncompress', 'gzwrite',
+            'header', 'headers_sent', 'hebrev', 'hebrevc',
+            'hexdec', 'highlight_file', 'highlight_string',
+            'htmlentities', 'htmlspecialchars',
+            'html_entity_decode', 'hypot', 'i18n_convert',
+            'i18n_discover_encoding', 'i18n_http_input',
+            'i18n_http_output', 'i18n_internal_encoding',
+            'i18n_ja_jp_hantozen', 'i18n_mime_header_decode',
+            'i18n_mime_header_encode', 'iconv',
+            'iconv_get_encoding', 'iconv_set_encoding',
+            'ignore_user_abort', 'image_type_to_mime_type',
+            'implode', 'import_request_variables', 'ini_alter',
+            'ini_get', 'ini_get_all', 'ini_restore', 'ini_set',
+            'intval', 'in_array', 'ip2long', 'iptcembed',
+            'iptcparse', 'isset', 'is_a', 'is_array', 'is_bool',
+            'is_callable', 'is_dir', 'is_double',
+            'is_executable', 'is_file', 'is_finite', 'is_float',
+            'is_infinite', 'is_int', 'is_integer', 'is_link',
+            'is_long', 'is_nan', 'is_null', 'is_numeric',
+            'is_object', 'is_readable', 'is_real', 'is_resource',
+            'is_scalar', 'is_string', 'is_subclass_of',
+            'is_uploaded_file', 'is_writable', 'is_writeable',
+            'jddayofweek', 'jdmonthname', 'jdtofrench',
+            'jdtogregorian', 'jdtojewish', 'jdtojulian',
+            'jdtounix', 'jewishtojd', 'join', 'juliantojd',
+            'key', 'key_exists', 'krsort', 'ksort', 'lcg_value',
+            'levenshtein', 'link', 'linkinfo', 'list',
+            'localeconv', 'localtime', 'log', 'log1p', 'log10',
+            'long2ip', 'lstat', 'ltrim', 'magic_quotes_runtime',
+            'mail', 'max', 'mbereg', 'mberegi',
+            'mberegi_replace', 'mbereg_match', 'mbereg_replace',
+            'mbereg_search', 'mbereg_search_getpos',
+            'mbereg_search_getregs', 'mbereg_search_init',
+            'mbereg_search_pos', 'mbereg_search_regs',
+            'mbereg_search_setpos', 'mbregex_encoding',
+            'mbsplit', 'mbstrcut', 'mbstrlen', 'mbstrpos',
+            'mbstrrpos', 'mbsubstr', 'mb_convert_case',
+            'mb_convert_encoding', 'mb_convert_kana',
+            'mb_convert_variables', 'mb_decode_mimeheader',
+            'mb_decode_numericentity', 'mb_detect_encoding',
+            'mb_detect_order', 'mb_encode_mimeheader',
+            'mb_encode_numericentity', 'mb_ereg', 'mb_eregi',
+            'mb_eregi_replace', 'mb_ereg_match',
+            'mb_ereg_replace', 'mb_ereg_search',
+            'mb_ereg_search_getpos', 'mb_ereg_search_getregs',
+            'mb_ereg_search_init', 'mb_ereg_search_pos',
+            'mb_ereg_search_regs', 'mb_ereg_search_setpos',
+            'mb_get_info', 'mb_http_input', 'mb_http_output',
+            'mb_internal_encoding', 'mb_language',
+            'mb_output_handler', 'mb_parse_str',
+            'mb_preferred_mime_name', 'mb_regex_encoding',
+            'mb_regex_set_options', 'mb_send_mail', 'mb_split',
+            'mb_strcut', 'mb_strimwidth', 'mb_strlen',
+            'mb_strpos', 'mb_strrpos', 'mb_strtolower',
+            'mb_strtoupper', 'mb_strwidth',
+            'mb_substitute_character', 'mb_substr',
+            'mb_substr_count', 'md5', 'md5_file',
+            'memory_get_usage', 'metaphone', 'method_exists',
+            'microtime', 'min', 'mkdir', 'mktime',
+            'money_format', 'move_uploaded_file',
+            'mt_getrandmax', 'mt_rand', 'mt_srand', 'mysql',
+            'mysql_affected_rows', 'mysql_client_encoding',
+            'mysql_close', 'mysql_connect', 'mysql_createdb',
+            'mysql_create_db', 'mysql_data_seek', 'mysql_dbname',
+            'mysql_db_name', 'mysql_db_query', 'mysql_dropdb',
+            'mysql_drop_db', 'mysql_errno', 'mysql_error',
+            'mysql_escape_string', 'mysql_fetch_array',
+            'mysql_fetch_assoc', 'mysql_fetch_field',
+            'mysql_fetch_lengths', 'mysql_fetch_object',
+            'mysql_fetch_row', 'mysql_fieldflags',
+            'mysql_fieldlen', 'mysql_fieldname',
+            'mysql_fieldtable', 'mysql_fieldtype',
+            'mysql_field_flags', 'mysql_field_len',
+            'mysql_field_name', 'mysql_field_seek',
+            'mysql_field_table', 'mysql_field_type',
+            'mysql_freeresult', 'mysql_free_result',
+            'mysql_get_client_info', 'mysql_get_host_info',
+            'mysql_get_proto_info', 'mysql_get_server_info',
+            'mysql_info', 'mysql_insert_id', 'mysql_listdbs',
+            'mysql_listfields', 'mysql_listtables',
+            'mysql_list_dbs', 'mysql_list_fields',
+            'mysql_list_processes', 'mysql_list_tables',
+            'mysql_numfields', 'mysql_numrows',
+            'mysql_num_fields', 'mysql_num_rows',
+            'mysql_pconnect', 'mysql_ping', 'mysql_query',
+            'mysql_real_escape_string', 'mysql_result',
+            'mysql_selectdb', 'mysql_select_db', 'mysql_stat',
+            'mysql_tablename', 'mysql_table_name',
+            'mysql_thread_id', 'mysql_unbuffered_query',
+            'natcasesort', 'natsort', 'next', 'ngettext',
+            'nl2br', 'nl_langinfo', 'number_format', 'ob_clean',
+            'ob_end_clean', 'ob_end_flush', 'ob_flush',
+            'ob_get_clean', 'ob_get_contents', 'ob_get_flush',
+            'ob_get_length', 'ob_get_level', 'ob_get_status',
+            'ob_gzhandler', 'ob_iconv_handler',
+            'ob_implicit_flush', 'ob_list_handlers', 'ob_start',
+            'octdec', 'opendir', 'openlog', 'openssl_csr_export',
+            'openssl_csr_export_to_file', 'openssl_csr_new',
+            'openssl_csr_sign', 'openssl_error_string',
+            'openssl_free_key', 'openssl_get_privatekey',
+            'openssl_get_publickey', 'openssl_open',
+            'openssl_pkcs7_decrypt', 'openssl_pkcs7_encrypt',
+            'openssl_pkcs7_sign', 'openssl_pkcs7_verify',
+            'openssl_pkey_export', 'openssl_pkey_export_to_file',
+            'openssl_pkey_free', 'openssl_pkey_get_private',
+            'openssl_pkey_get_public', 'openssl_pkey_new',
+            'openssl_private_decrypt', 'openssl_private_encrypt',
+            'openssl_public_decrypt', 'openssl_public_encrypt',
+            'openssl_seal', 'openssl_sign', 'openssl_verify',
+            'openssl_x509_checkpurpose',
+            'openssl_x509_check_private_key',
+            'openssl_x509_export', 'openssl_x509_export_to_file',
+            'openssl_x509_free', 'openssl_x509_parse',
+            'openssl_x509_read', 'ord', 'output_add_rewrite_var',
+            'output_reset_rewrite_vars', 'overload', 'pack',
+            'parse_ini_file', 'parse_str', 'parse_url',
+            'passthru', 'pathinfo', 'pclose', 'pfsockopen',
+            'pg_affected_rows', 'pg_cancel_query',
+            'pg_clientencoding', 'pg_client_encoding',
+            'pg_close', 'pg_cmdtuples', 'pg_connect',
+            'pg_connection_busy', 'pg_connection_reset',
+            'pg_connection_status', 'pg_convert', 'pg_copy_from',
+            'pg_copy_to', 'pg_dbname', 'pg_delete',
+            'pg_end_copy', 'pg_errormessage', 'pg_escape_bytea',
+            'pg_escape_string', 'pg_exec', 'pg_fetch_all',
+            'pg_fetch_array', 'pg_fetch_assoc',
+            'pg_fetch_object', 'pg_fetch_result', 'pg_fetch_row',
+            'pg_fieldisnull', 'pg_fieldname', 'pg_fieldnum',
+            'pg_fieldprtlen', 'pg_fieldsize', 'pg_fieldtype',
+            'pg_field_is_null', 'pg_field_name', 'pg_field_num',
+            'pg_field_prtlen', 'pg_field_size', 'pg_field_type',
+            'pg_freeresult', 'pg_free_result', 'pg_getlastoid',
+            'pg_get_notify', 'pg_get_pid', 'pg_get_result',
+            'pg_host', 'pg_insert', 'pg_last_error',
+            'pg_last_notice', 'pg_last_oid', 'pg_loclose',
+            'pg_locreate', 'pg_loexport', 'pg_loimport',
+            'pg_loopen', 'pg_loread', 'pg_loreadall',
+            'pg_lounlink', 'pg_lowrite', 'pg_lo_close',
+            'pg_lo_create', 'pg_lo_export', 'pg_lo_import',
+            'pg_lo_open', 'pg_lo_read', 'pg_lo_read_all',
+            'pg_lo_seek', 'pg_lo_tell', 'pg_lo_unlink',
+            'pg_lo_write', 'pg_meta_data', 'pg_numfields',
+            'pg_numrows', 'pg_num_fields', 'pg_num_rows',
+            'pg_options', 'pg_pconnect', 'pg_ping', 'pg_port',
+            'pg_put_line', 'pg_query', 'pg_result',
+            'pg_result_error', 'pg_result_seek',
+            'pg_result_status', 'pg_select', 'pg_send_query',
+            'pg_setclientencoding', 'pg_set_client_encoding',
+            'pg_trace', 'pg_tty', 'pg_unescape_bytea',
+            'pg_untrace', 'pg_update', 'phpcredits', 'phpinfo',
+            'phpversion', 'php_ini_scanned_files',
+            'php_logo_guid', 'php_sapi_name', 'php_uname', 'pi',
+            'popen', 'pos', 'posix_ctermid', 'posix_errno',
+            'posix_getcwd', 'posix_getegid', 'posix_geteuid',
+            'posix_getgid', 'posix_getgrgid', 'posix_getgrnam',
+            'posix_getgroups', 'posix_getlogin', 'posix_getpgid',
+            'posix_getpgrp', 'posix_getpid', 'posix_getppid',
+            'posix_getpwnam', 'posix_getpwuid',
+            'posix_getrlimit', 'posix_getsid', 'posix_getuid',
+            'posix_get_last_error', 'posix_isatty', 'posix_kill',
+            'posix_mkfifo', 'posix_setegid', 'posix_seteuid',
+            'posix_setgid', 'posix_setpgid', 'posix_setsid',
+            'posix_setuid', 'posix_strerror', 'posix_times',
+            'posix_ttyname', 'posix_uname', 'pow', 'preg_grep',
+            'preg_match', 'preg_match_all', 'preg_quote',
+            'preg_replace', 'preg_replace_callback',
+            'preg_split', 'prev', 'print', 'printf', 'print_r',
+            'proc_close', 'proc_open', 'putenv',
+            'quoted_printable_decode', 'quotemeta', 'rad2deg',
+            'rand', 'range', 'rawurldecode', 'rawurlencode',
+            'readdir', 'readfile', 'readgzfile', 'readlink',
+            'read_exif_data', 'realpath',
+            'register_shutdown_function',
+            'register_tick_function', 'rename', 'reset',
+            'restore_error_handler', 'restore_include_path',
+            'rewind', 'rewinddir', 'rmdir', 'round', 'rsort',
+            'rtrim', 'sem_acquire', 'sem_get', 'sem_release',
+            'sem_remove', 'serialize', 'session_cache_expire',
+            'session_cache_limiter', 'session_decode',
+            'session_destroy', 'session_encode',
+            'session_get_cookie_params', 'session_id',
+            'session_is_registered', 'session_module_name',
+            'session_name', 'session_regenerate_id',
+            'session_register', 'session_save_path',
+            'session_set_cookie_params',
+            'session_set_save_handler', 'session_start',
+            'session_unregister', 'session_unset',
+            'session_write_close', 'setcookie', 'setlocale',
+            'settype', 'set_error_handler', 'set_file_buffer',
+            'set_include_path', 'set_magic_quotes_runtime',
+            'set_socket_blocking', 'set_time_limit', 'sha1',
+            'sha1_file', 'shell_exec', 'shmop_close',
+            'shmop_delete', 'shmop_open', 'shmop_read',
+            'shmop_size', 'shmop_write', 'shm_attach',
+            'shm_detach', 'shm_get_var', 'shm_put_var',
+            'shm_remove', 'shm_remove_var', 'show_source',
+            'shuffle', 'similar_text', 'sin', 'sinh', 'sizeof',
+            'sleep', 'socket_accept', 'socket_bind',
+            'socket_clear_error', 'socket_close',
+            'socket_connect', 'socket_create',
+            'socket_create_listen', 'socket_create_pair',
+            'socket_getopt', 'socket_getpeername',
+            'socket_getsockname', 'socket_get_option',
+            'socket_get_status', 'socket_iovec_add',
+            'socket_iovec_alloc', 'socket_iovec_delete',
+            'socket_iovec_fetch', 'socket_iovec_free',
+            'socket_iovec_set', 'socket_last_error',
+            'socket_listen', 'socket_read', 'socket_readv',
+            'socket_recv', 'socket_recvfrom', 'socket_recvmsg',
+            'socket_select', 'socket_send', 'socket_sendmsg',
+            'socket_sendto', 'socket_setopt', 'socket_set_block',
+            'socket_set_blocking', 'socket_set_nonblock',
+            'socket_set_option', 'socket_set_timeout',
+            'socket_shutdown', 'socket_strerror', 'socket_write',
+            'socket_writev', 'sort', 'soundex', 'split',
+            'spliti', 'sprintf', 'sql_regcase', 'sqrt', 'srand',
+            'sscanf', 'stat', 'static', 'strcasecmp', 'strchr',
+            'strcmp', 'strcoll', 'strcspn',
+            'stream_context_create',
+            'stream_context_get_options',
+            'stream_context_set_option',
+            'stream_context_set_params', 'stream_filter_append',
+            'stream_filter_prepend', 'stream_get_meta_data',
+            'stream_register_wrapper', 'stream_select',
+            'stream_set_blocking', 'stream_set_timeout',
+            'stream_set_write_buffer', 'stream_wrapper_register',
+            'strftime', 'stripcslashes', 'stripslashes',
+            'strip_tags', 'stristr', 'strlen', 'strnatcasecmp',
+            'strnatcmp', 'strncasecmp', 'strncmp', 'strpos',
+            'strrchr', 'strrev', 'strrpos', 'strspn', 'strstr',
+            'strtok', 'strtolower', 'strtotime', 'strtoupper',
+            'strtr', 'strval', 'str_pad', 'str_repeat',
+            'str_replace', 'str_rot13', 'str_shuffle',
+            'str_word_count', 'substr', 'substr_count',
+            'substr_replace', 'symlink', 'syslog', 'system',
+            'tan', 'tanh', 'tempnam', 'textdomain', 'time',
+            'tmpfile', 'token_get_all', 'token_name', 'touch',
+            'trigger_error', 'trim', 'uasort', 'ucfirst',
+            'ucwords', 'uksort', 'umask', 'uniqid', 'unixtojd',
+            'unlink', 'unpack', 'unregister_tick_function',
+            'unserialize', 'unset', 'urldecode', 'urlencode',
+            'user_error', 'usleep', 'usort', 'utf8_decode',
+            'utf8_encode', 'var_dump', 'var_export',
+            'version_compare', 'virtual', 'vprintf', 'vsprintf',
+            'wddx_add_vars', 'wddx_deserialize',
+            'wddx_packet_end', 'wddx_packet_start',
+            'wddx_serialize_value', 'wddx_serialize_vars',
+            'wordwrap', 'xml_error_string',
+            'xml_get_current_byte_index',
+            'xml_get_current_column_number',
+            'xml_get_current_line_number', 'xml_get_error_code',
+            'xml_parse', 'xml_parser_create',
+            'xml_parser_create_ns', 'xml_parser_free',
+            'xml_parser_get_option', 'xml_parser_set_option',
+            'xml_parse_into_struct',
+            'xml_set_character_data_handler',
+            'xml_set_default_handler', 'xml_set_element_handler',
+            'xml_set_end_namespace_decl_handler',
+            'xml_set_external_entity_ref_handler',
+            'xml_set_notation_decl_handler', 'xml_set_object',
+            'xml_set_processing_instruction_handler',
+            'xml_set_start_namespace_decl_handler',
+            'xml_set_unparsed_entity_decl_handler', 'yp_all',
+            'yp_cat', 'yp_errno', 'yp_err_string', 'yp_first',
+            'yp_get_default_domain', 'yp_master', 'yp_match',
+            'yp_next', 'yp_order', 'zend_logo_guid',
+            'zend_version', 'zlib_get_coding_type', '_'
             )
         ),
     'SYMBOLS' => array(
-        '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'
+        1 => array(
+            '<%', '<%=', '%>', '<?', '<?=', '?>'
+            ),
+        0 => array(
+            '(', ')', '[', ']', '{', '}',
+            '!', '@', '%', '&', '|', '/',
+            '<', '>',
+            '=', '-', '+', '*',
+            '.', ':', ',', ';'
+            )
         ),
     'CASE_SENSITIVE' => array(
         GESHI_COMMENTS => false,
@@ -270,48 +506,62 @@
         'KEYWORDS' => array(
             1 => 'color: #b1b100;',
             2 => 'color: #000000; font-weight: bold;',
-            3 => 'color: #000066;'
+            3 => 'color: #990000;'
             ),
         'COMMENTS' => array(
-            1 => 'color: #808080; font-style: italic;',
-            2 => 'color: #808080; font-style: italic;',
-            'MULTI' => 'color: #808080; font-style: italic;'
+            1 => 'color: #666666; font-style: italic;',
+            2 => 'color: #666666; font-style: italic;',
+            3 => 'color: #0000cc; font-style: italic;',
+            4 => 'color: #009933; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
             ),
         'ESCAPE_CHAR' => array(
-            0 => 'color: #000099; font-weight: bold;'
+            0 => 'color: #000099; font-weight: bold;',
+            1 => 'color: #000099; font-weight: bold;',
+            2 => 'color: #660099; font-weight: bold;',
+            3 => 'color: #660099; font-weight: bold;',
+            4 => 'color: #006699; font-weight: bold;',
+            5 => 'color: #006699; font-weight: bold; font-style: italic;',
+            6 => 'color: #009933; font-weight: bold;',
+            'HARD' => 'color: #000099; font-weight: bold;'
             ),
         'BRACKETS' => array(
-            0 => 'color: #66cc66;'
+            0 => 'color: #009900;'
             ),
         'STRINGS' => array(
-            0 => 'color: #ff0000;'
+            0 => 'color: #0000ff;',
+            'HARD' => 'color: #0000ff;'
             ),
         'NUMBERS' => array(
-            0 => 'color: #cc66cc;'
+            0 => 'color: #cc66cc;',
+            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
             ),
         'METHODS' => array(
-            1 => 'color: #006600;',
-            2 => 'color: #006600;'
+            1 => 'color: #004000;',
+            2 => 'color: #004000;'
             ),
         'SYMBOLS' => array(
-            0 => 'color: #66cc66;'
+            0 => 'color: #339933;',
+            1 => 'color: #000000; font-weight: bold;'
             ),
         'REGEXPS' => array(
-            0 => 'color: #0000ff;',
-            1 => 'color: #ff0000'
+            0 => 'color: #000088;'
             ),
         'SCRIPT' => array(
             0 => '',
             1 => '',
             2 => '',
-            3 => ''
+            3 => '',
+            4 => '',
+            5 => ''
             )
         ),
     'URLS' => array(
         1 => '',
         2 => '',
-        3 => 'http://www.php.net/{FNAME}',
-        4 => ''
+        3 => 'http://www.php.net/{FNAMEL}'
         ),
     'OOLANG' => true,
     'OBJECT_SPLITTERS' => array(
@@ -319,14 +569,8 @@
         2 => '::'
         ),
     'REGEXPS' => array(
-        0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*",
-        1 => array(
-            GESHI_SEARCH  => "([a-zA-Z]+)(\n)(.*)(\n)(\\1;?)",
-            GESHI_REPLACE => '\3',
-            GESHI_BEFORE => '\1\2',
-            GESHI_AFTER => '\4\5',
-            GESHI_MODIFIERS => 'siU'
-            )
+        //Variables
+        0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"
         ),
     'STRICT_MODE_APPLIES' => GESHI_MAYBE,
     'SCRIPT_DELIMITERS' => array(
@@ -341,13 +585,17 @@
             ),
         3 => array(
             '<script language="php">' => '</script>'
-            )
+            ),
+        4 => "/(<\?(?:php)?)(?:'(?:[^'\\\\]|\\\\.)*?'|\"(?:[^\"\\\\]|\\\\.)*?\"|\/\*(?!\*\/).*?\*\/|.)*?(\?>|\Z)/sm",
+        5 => "/(<%)(?:'(?:[^'\\\\]|\\\\.)*?'|\"(?:[^\"\\\\]|\\\\.)*?\"|\/\*(?!\*\/).*?\*\/|.)*?(%>|\Z)/sm"
         ),
     'HIGHLIGHT_STRICT_BLOCK' => array(
         0 => true,
         1 => true,
         2 => true,
-        3 => true
+        3 => true,
+        4 => true,
+        5 => true
         ),
     'TAB_WIDTH' => 4
 );
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/pic16.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,141 @@
+<?php
+/*************************************************************************************
+ * pic16.php
+ * -------
+ * Author: Phil Mattison (mattison@ohmikron.com)
+ * Copyright: (c) 2008 Ohmikron Corp. (http://www.ohmikron.com/)
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/07/30
+ *
+ * PIC16 Assembler language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/07/30 (1.0.8)
+ *   -  First Release
+ *
+ * TODO (updated 2008/07/30)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *   This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'PIC16',
+    'COMMENT_SINGLE' => array(1 => ';'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        /*Instructions*/
+        1 => array(
+            'addcf','adddcf','addlw','addwf','andlw','andwf','bc','bcf','bdc',
+            'bnc','bndc','bnz','bsf','btfsc','btfss','bz','call','clrc','clrdc',
+            'clrf','clrw','clrwdt','clrz','comf','decf','goto','incf','incfsz',
+            'iorlw','iorwf','lcall','lgoto','movf','movfw','movlw','movwf',
+            'option','negf','nop','retfie','retlw','return','rlf','rrf','setc',
+            'setdc','setz','skpc','skpdc','skpnc','skpndc','skpnz','skpz',
+            'sleep','subcf','subdcf','sublw','subwf','swapf','tris','tstf',
+            'xorlw','xorwf'
+            ),
+        /*Registers*/
+        2 => array(
+            'INDF','TMR0','OPTION','PCL','STATUS','FSR','PORTA','PORTB','PORTC',
+            'PORTD','PORTE','PORTF','TRISA','TRISB','TRISC','TRISD','TRISE',
+            'TRISF','PCLATH','INTCON','PIR1','PIE1','PCON','CMCON','VRCON',
+            'F','W'
+            ),
+        /*Directives*/
+        3 => array(
+            '_BADRAM','BANKISEL','BANKSEL','CBLOCK','CODE','_CONFIG','CONSTANT',
+            'DA','DATA','DB','DE','#DEFINE','DT','DW','ELSE','END','ENDC',
+            'ENDIF','ENDM','ENDW','EQU','ERROR','ERRORLEVEL','EXITM','EXPAND',
+            'EXTERN','FILL','GLOBAL','IDATA','_IDLOCS','IF','IFDEF','IFNDEF',
+            'INCLUDE','#INCLUDE','LIST','LOCAL','MACRO','_MAXRAM','MESSG',
+            'NOEXPAND','NOLIST','ORG','PAGE','PAGESEL','PROCESSOR','RADIX',
+            'RES','SET','SPACE','SUBTITLE','TITLE','UDATA','UDATA_ACS',
+            'UDATA_OVR','UDATA_SHR','#UNDEFINE','VARIABLE','WHILE',
+            'D','H','O','B','A'
+            ),
+        ),
+    'SYMBOLS' => array('=','.',',',':'),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000a0; font-weight: bold;',
+            2 => 'color: #aa3300; font-weight: bold;',
+            3 => 'color: #0000ff;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #00a000;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff7700;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #ff7700;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #7777ff;'
+            ),
+        'REGEXPS' => array(),
+        'SCRIPT' => array()
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC |
+        GESHI_NUMBER_BIN_SUFFIX |
+        GESHI_NUMBER_HEX_PREFIX |
+        GESHI_NUMBER_HEX_SUFFIX,
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array(),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => "a-zA-Z0-9\$_\|\#>|^",
+            'DISALLOWED_AFTER' => "a-zA-Z0-9_<\|%"
+            )
+        )
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/pixelbender.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,176 @@
+<?php
+/*************************************************************************************
+ * pixelbender.php
+ * ----------------
+ * Author: Richard Olsson (r@richardolsson.se)
+ * Copyright: (c) 2008 Richard Olsson (richardolsson.se)
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/11/16
+ *
+ * Pixel Bender 1.0 language file for GeSHi.
+ *
+ *
+ * Please feel free to modify this file, although I would greatly appreciate
+ * it if you would then send some feedback on why the file needed to be
+ * changed, using the e-mail address above.
+ *
+ *
+ * The colors are inspired by those used in the Pixel Bender Toolkit, with
+ * some slight modifications.
+ *
+ * For more info on Pixel Bender, see the Adobe Labs Wiki article at
+ * http://labs.adobe.com/wiki/index.php/Pixel_Bender_Toolkit.
+ *
+ * Keyword groups are defined as follows (groups marked with an asterisk
+ * inherit their names from terminology used in the language specification
+ * included with the Pixel Bender Toolkit, see URL above.)
+ *
+ *  1. languageVersion & kernel keywords
+ *  2. Kernel Members *
+ *  3. Types *
+ *  4. Statements * & qualifiers (in, out, inout)
+ *  5. Built-in functions *
+ *  6. Meta-data names
+ *  7. Preprocessor & Pre-defined symbols *
+ *
+ *
+ * CHANGES
+ * -------
+ * 2008/11/16 (1.0.8.2)
+ *  - Initial release
+ *
+ * TODO (updated 2008/11/16)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array(
+    'LANG_NAME' => 'Pixel Bender 1.0',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'languageVersion', 'kernel'
+            ),
+        2 => array(
+            'import', 'parameter', 'dependent', 'const', 'input', 'output',
+            'evaluatePixel', 'evaluateDependents', 'needed', 'changed', 'generated'
+            ),
+        3 => array(
+            'bool', 'bool2', 'bool3', 'bool4', 'int', 'int2', 'int3', 'int4',
+            'float', 'float2', 'float3', 'float4', 'float2x2', 'float3x3', 'float4x4',
+            'pixel2', 'pixel3', 'pixel4', 'region', 'image1', 'image2', 'image3', 'image4',
+            'imageRef', 'void'
+            ),
+        4 => array(
+            'in', 'out', 'inout', 'if', 'else', 'for', 'while', 'do', 'break',
+            'continue', 'return'
+            ),
+        5 => array(
+            'radians', 'degrees', 'sin', 'cos', 'tan', 'asin', 'acos', 'atan', 'pow',
+            'exp', 'exp2', 'log', 'log2', 'sqrt', 'inverseSqrt', 'abs', 'sign', 'floor',
+            'ceil', 'fract', 'mod', 'min', 'max', 'step', 'clamp', 'mix', 'smoothStep',
+            'length', 'distance', 'dot', 'cross', 'normalize', 'matrixCompMult', 'lessThan',
+            'lessThanEqual', 'greaterThan', 'greaterThanEqual', 'equal', 'notEqual', 'any',
+            'all', 'not', 'nowhere', 'everywhere', 'transform', 'union', 'intersect',
+            'outset', 'inset', 'bounds', 'isEmpty', 'sample', 'sampleLinear', 'sampleNearest',
+            'outCoord', 'dod', 'pixelSize', 'pixelAspectRatio'
+            ),
+        6 => array(
+            'namespace', 'vendor', 'version', 'minValue', 'maxValue', 'defaultValue', 'description'
+            ),
+        7 => array(
+            '#if', '#endif', '#ifdef', '#elif', 'defined', '#define',
+            'AIF_ATI', 'AIF_NVIDIA', 'AIF_FLASH_TARGET'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}', '!', '%', '&', '|', '+', '-', '*', '/', '=', '<', '>', '?', ':'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true,
+        6 => true,
+        7 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0033ff;',
+            2 => 'color: #0033ff; font-weight: bold;',
+            3 => 'color: #0033ff;',
+            4 => 'color: #9900cc; font-weight: bold;',
+            5 => 'color: #333333;',
+            6 => 'color: #666666;',
+            7 => 'color: #990000;',
+        ),
+        'COMMENTS' => array(
+            1 => 'color: #009900;',
+            'MULTI' => 'color: #3f5fbf;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => ''
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #990000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #000000; font-weight:bold;'
+            ),
+        'METHODS' => array(
+            0 => 'color: #000000;',
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000000; font-weight: bold;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => '',
+        7 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array('.'),
+    'REGEXPS' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array()
+);
+
+
+?>
--- a/plugins/geshi/geshi/plsql.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/plsql.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * -------
  * Author: Victor Engmark <victor.engmark@gmail.com>
  * Copyright: (c) 2006 Victor Engmark (http://l0b0.net/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2006/10/26
  *
  * Oracle 9.2 PL/SQL language file for GeSHi.
@@ -13,7 +13,7 @@
  * CHANGES
  * -------
  * 2006/10/27 (1.0.0)
- *	-	First Release
+ *    -    First Release
  *
  * TODO (updated 2006/10/27)
  * -------------------------
@@ -22,235 +22,235 @@
  *
  *************************************************************************************
  *
- *		 This file is part of GeSHi.
+ *         This file is part of GeSHi.
  *
- *	 GeSHi 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.
+ *     GeSHi 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.
  *
- *	 GeSHi 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.
+ *     GeSHi 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 GeSHi; if not, write to the Free Software
- *	 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA	02111-1307	USA
+ *     You should have received a copy of the GNU General Public License
+ *     along with GeSHi; if not, write to the Free Software
+ *     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA    02111-1307    USA
  *
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'PL/SQL',
-	'COMMENT_SINGLE' => array(1 =>'--'), //http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#2930
-	'COMMENT_MULTI' => array('/*' => '*/'), //http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#2950
-	'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
-	'QUOTEMARKS' => array("'", '"'), //http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		//PL/SQL reserved keywords (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/f_words.htm#LNPLS019)
-        1 => array('ZONE', 'YEAR', 'WRITE', 'WORK', 'WITH', 'WHILE', 'WHERE', 
-        'WHENEVER', 'WHEN', 'VIEW', 'VARCHAR2', 'VARCHAR', 'VALUES', 
-        'VALIDATE', 'USE', 'UPDATE', 'UNIQUE', 'UNION', 'TYPE', 'TRUE', 
-        'TRIGGER', 'TO', 'TIMEZONE_REGION', 'TIMEZONE_MINUTE', 'TIMEZONE_HOUR', 
-        'TIMEZONE_ABBR', 'TIMESTAMP', 'TIME', 'THEN', 'TABLE', 'SYNONYM', 
-        'SUCCESSFUL', 'SUBTYPE', 'START', 'SQLERRM', 'SQLCODE', 'SQL', 'SPACE', 
-        'SMALLINT', 'SHARE', 'SET', 'SEPARATE', 'SELECT', 'SECOND', 
-        'SAVEPOINT', 'ROWTYPE', 'ROWNUM', 'ROWID', 'ROW', 'ROLLBACK', 
-        'REVERSE', 'RETURN', 'RELEASE', 'RECORD', 'REAL', 'RAW', 'RANGE', 
-        'RAISE', 'PUBLIC', 'PROCEDURE', 'PRIVATE', 'PRIOR', 'PRAGMA', 
-        'POSITIVEN', 'POSITIVE', 'PLS_INTEGER', 'PCTFREE', 'PARTITION', 
-        'PACKAGE', 'OUT', 'OTHERS', 'ORGANIZATION', 'ORDER', 'OR', 'OPTION', 
-        'OPERATOR', 'OPEN', 'OPAQUE', 'ON', 'OF', 'OCIROWID', 'NUMBER_BASE', 
-        'NUMBER', 'NULL', 'NOWAIT', 'NOT', 'NOCOPY', 'NEXTVAL', 'NEW', 
-        'NATURALN', 'NATURAL', 'MONTH', 'MODE', 'MLSLABEL', 'MINUTE', 'MINUS', 
-        'LOOP', 'LONG', 'LOCK', 'LIMITED', 'LIKE', 'LEVEL', 'JAVA', 
-        'ISOLATION', 'IS', 'INTO', 'INTERVAL', 'INTERSECT', 'INTERFACE', 
-        'INTEGER', 'INSERT', 'INDICATOR', 'INDEX', 'IN', 'IMMEDIATE', 'IF', 
-        'HOUR', 'HEAP', 'HAVING', 'GROUP', 'GOTO', 'FUNCTION', 'FROM', 
-        'FORALL', 'FOR', 'FLOAT', 'FETCH', 'FALSE', 'EXTENDS', 'EXIT', 
-        'EXISTS', 'EXECUTE', 'EXCLUSIVE', 'EXCEPTION', 'END', 'ELSIF', 'ELSE', 
-        'DROP', 'DO', 'DISTINCT', 'DESC', 'DELETE', 'DEFAULT', 'DECLARE', 
-        'DECIMAL', 'DAY', 'DATE', 'CURSOR', 'CURRVAL', 'CURRENT', 'CREATE', 
-        'CONSTANT', 'CONNECT', 'COMPRESS', 'COMMIT', 'COMMENT', 'COLLECT', 
-        'CLUSTER', 'CLOSE', 'CHECK', 'CHAR_BASE', 'CHAR', 'CASE', 'BY', 'BULK', 
-        'BOOLEAN', 'BODY', 'BINARY_INTEGER', 'BETWEEN', 'BEGIN', 'AUTHID', 
+    'LANG_NAME' => 'PL/SQL',
+    'COMMENT_SINGLE' => array(1 =>'--'), //http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#2930
+    'COMMENT_MULTI' => array('/*' => '*/'), //http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#2950
+    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+    'QUOTEMARKS' => array("'", '"'), //http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        //PL/SQL reserved keywords (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/f_words.htm#LNPLS019)
+        1 => array('ZONE', 'YEAR', 'WRITE', 'WORK', 'WITH', 'WHILE', 'WHERE',
+        'WHENEVER', 'WHEN', 'VIEW', 'VARCHAR2', 'VARCHAR', 'VALUES',
+        'VALIDATE', 'USE', 'UPDATE', 'UNIQUE', 'UNION', 'TYPE', 'TRUE',
+        'TRIGGER', 'TO', 'TIMEZONE_REGION', 'TIMEZONE_MINUTE', 'TIMEZONE_HOUR',
+        'TIMEZONE_ABBR', 'TIMESTAMP', 'TIME', 'THEN', 'TABLE', 'SYNONYM',
+        'SUCCESSFUL', 'SUBTYPE', 'START', 'SQLERRM', 'SQLCODE', 'SQL', 'SPACE',
+        'SMALLINT', 'SHARE', 'SET', 'SEPARATE', 'SELECT', 'SECOND',
+        'SAVEPOINT', 'ROWTYPE', 'ROWNUM', 'ROWID', 'ROW', 'ROLLBACK',
+        'REVERSE', 'RETURN', 'RELEASE', 'RECORD', 'REAL', 'RAW', 'RANGE',
+        'RAISE', 'PUBLIC', 'PROCEDURE', 'PRIVATE', 'PRIOR', 'PRAGMA',
+        'POSITIVEN', 'POSITIVE', 'PLS_INTEGER', 'PCTFREE', 'PARTITION',
+        'PACKAGE', 'OUT', 'OTHERS', 'ORGANIZATION', 'ORDER', 'OR', 'OPTION',
+        'OPERATOR', 'OPEN', 'OPAQUE', 'ON', 'OF', 'OCIROWID', 'NUMBER_BASE',
+        'NUMBER', 'NULL', 'NOWAIT', 'NOT', 'NOCOPY', 'NEXTVAL', 'NEW',
+        'NATURALN', 'NATURAL', 'MONTH', 'MODE', 'MLSLABEL', 'MINUTE', 'MINUS',
+        'LOOP', 'LONG', 'LOCK', 'LIMITED', 'LIKE', 'LEVEL', 'JAVA',
+        'ISOLATION', 'IS', 'INTO', 'INTERVAL', 'INTERSECT', 'INTERFACE',
+        'INTEGER', 'INSERT', 'INDICATOR', 'INDEX', 'IN', 'IMMEDIATE', 'IF',
+        'HOUR', 'HEAP', 'HAVING', 'GROUP', 'GOTO', 'FUNCTION', 'FROM',
+        'FORALL', 'FOR', 'FLOAT', 'FETCH', 'FALSE', 'EXTENDS', 'EXIT',
+        'EXISTS', 'EXECUTE', 'EXCLUSIVE', 'EXCEPTION', 'END', 'ELSIF', 'ELSE',
+        'DROP', 'DO', 'DISTINCT', 'DESC', 'DELETE', 'DEFAULT', 'DECLARE',
+        'DECIMAL', 'DAY', 'DATE', 'CURSOR', 'CURRVAL', 'CURRENT', 'CREATE',
+        'CONSTANT', 'CONNECT', 'COMPRESS', 'COMMIT', 'COMMENT', 'COLLECT',
+        'CLUSTER', 'CLOSE', 'CHECK', 'CHAR_BASE', 'CHAR', 'CASE', 'BY', 'BULK',
+        'BOOLEAN', 'BODY', 'BINARY_INTEGER', 'BETWEEN', 'BEGIN', 'AUTHID',
         'AT', 'ASC', 'AS', 'ARRAY', 'ANY', 'AND', 'ALTER', 'ALL'),
-		//SQL functions (http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96540/toc.htm & http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96540/functions101a.htm#85925)
-        2 => array('XMLTRANSFORM', 'XMLSEQUENCE', 'XMLFOREST', 'XMLELEMENT', 
-        'XMLCONCAT', 'XMLCOLATTVAL', 'XMLAGG', 'WIDTH_BUCKET', 'VSIZE', 
-        'VARIANCE', 'VAR_SAMP', 'VAR_POP', 'VALUE', 'USERENV', 'USER', 'UPPER', 
-        'UPDATEXML', 'UNISTR', 'UID', 'TZ_OFFSET', 'TRUNC', 'TRIM', 'TREAT', 
-        'TRANSLATE', 'TO_YMINTERVAL', 'TO_TIMESTAMP_TZ', 'TO_TIMESTAMP', 
-        'TO_SINGLE_BYTE', 'TO_NUMBER', 'TO_NCLOB', 'TO_NCHAR', 'TO_MULTI_BYTE', 
-        'TO_LOB', 'TO_DSINTERVAL', 'TO_DATE', 'TO_CLOB', 'TO_CHAR', 'TANH', 
-        'TAN', 'SYSTIMESTAMP', 'SYSDATE', 'SYS_XMLGEN', 'SYS_XMLAGG', 
-        'SYS_TYPEID', 'SYS_GUID', 'SYS_EXTRACT_UTC', 'SYS_DBURIGEN', 
-        'SYS_CONTEXT', 'SYS_CONNECT_BY_PATH', 'SUM', 'SUBSTR', 'STDDEV_SAMP', 
-        'STDDEV_POP', 'STDDEV', 'SQRT', 'SOUNDEX', 'SINH', 'SIN', 'SIGN', 
-        'SESSIONTIMEZONE', 'RTRIM', 'RPAD', 'ROWIDTONCHAR', 'ROWIDTOCHAR', 
-        'ROW_NUMBER', 'ROUND', 'REPLACE', 'REGR_SYY', 'REGR_SXY', 'REGR_SXX', 
-        'REGR_SLOPE', 'REGR_R2', 'REGR_INTERCEPT', 'REGR_COUNT', 'REGR_AVGY', 
-        'REGR_AVGX', 'REFTOHEX', 'REF', 'RAWTONHEX', 'RAWTOHEX', 
-        'RATIO_TO_REPORT', 'RANK', 'POWER', 'PERCENTILE_DISC', 
-        'PERCENTILE_CONT', 'PERCENT_RANK', 'PATH', 'NVL2', 'NVL', 
-        'NUMTOYMINTERVAL', 'NUMTODSINTERVAL', 'NULLIF', 'NTILE', 'NLSSORT', 
-        'NLS_UPPER', 'NLS_LOWER', 'NLS_INITCAP', 'NLS_CHARSET_NAME', 
-        'NLS_CHARSET_ID', 'NLS_CHARSET_DECL_LEN', 'NEXT_DAY', 'NEW_TIME', 
-        'NCHR', 'MONTHS_BETWEEN', 'MOD', 'MIN', 'MAX', 'MAKE_REF', 'LTRIM', 
-        'LPAD', 'LOWER', 'LOG', 'LOCALTIMESTAMP', 'LN', 'LENGTH', 'LEAST', 
-        'LEAD', 'LAST_VALUE', 'LAST_DAY', 'LAST', 'LAG', 'INSTR', 'INITCAP', 
-        'HEXTORAW', 'GROUPING_ID', 'GROUPING', 'GROUP_ID', 'GREATEST', 
-        'FROM_TZ', 'FLOOR', 'FIRST_VALUE', 'FIRST', 'EXTRACTVALUE', 'EXTRACT', 
-        'EXP', 'EXISTSNODE', 'EMPTY_CLOB', 'EMPTY_BLOB', 'DUMP', 'DEREF', 
-        'DEPTH', 'DENSE_RANK', 'DECOMPOSE', 'DECODE', 'DBTIMEZONE', 
-        'CURRENT_TIMESTAMP', 'CURRENT_DATE', 'CUME_DIST', 'COVAR_SAMP', 
-        'COVAR_POP', 'COUNT', 'COSH', 'COS', 'CORR', 'CONVERT', 'CONCAT', 
-        'COMPOSE', 'COALESCE', 'CHR', 'CHARTOROWID', 'CEIL', 'CAST', 'BITAND', 
-        'BIN_TO_NUM', 'BFILENAME', 'AVG', 'ATAN2', 'ATAN', 'ASIN', 'ASCIISTR', 
+        //SQL functions (http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96540/toc.htm & http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96540/functions101a.htm#85925)
+        2 => array('XMLTRANSFORM', 'XMLSEQUENCE', 'XMLFOREST', 'XMLELEMENT',
+        'XMLCONCAT', 'XMLCOLATTVAL', 'XMLAGG', 'WIDTH_BUCKET', 'VSIZE',
+        'VARIANCE', 'VAR_SAMP', 'VAR_POP', 'VALUE', 'USERENV', 'USER', 'UPPER',
+        'UPDATEXML', 'UNISTR', 'UID', 'TZ_OFFSET', 'TRUNC', 'TRIM', 'TREAT',
+        'TRANSLATE', 'TO_YMINTERVAL', 'TO_TIMESTAMP_TZ', 'TO_TIMESTAMP',
+        'TO_SINGLE_BYTE', 'TO_NUMBER', 'TO_NCLOB', 'TO_NCHAR', 'TO_MULTI_BYTE',
+        'TO_LOB', 'TO_DSINTERVAL', 'TO_DATE', 'TO_CLOB', 'TO_CHAR', 'TANH',
+        'TAN', 'SYSTIMESTAMP', 'SYSDATE', 'SYS_XMLGEN', 'SYS_XMLAGG',
+        'SYS_TYPEID', 'SYS_GUID', 'SYS_EXTRACT_UTC', 'SYS_DBURIGEN',
+        'SYS_CONTEXT', 'SYS_CONNECT_BY_PATH', 'SUM', 'SUBSTR', 'STDDEV_SAMP',
+        'STDDEV_POP', 'STDDEV', 'SQRT', 'SOUNDEX', 'SINH', 'SIN', 'SIGN',
+        'SESSIONTIMEZONE', 'RTRIM', 'RPAD', 'ROWIDTONCHAR', 'ROWIDTOCHAR',
+        'ROW_NUMBER', 'ROUND', 'REPLACE', 'REGR_SYY', 'REGR_SXY', 'REGR_SXX',
+        'REGR_SLOPE', 'REGR_R2', 'REGR_INTERCEPT', 'REGR_COUNT', 'REGR_AVGY',
+        'REGR_AVGX', 'REFTOHEX', 'REF', 'RAWTONHEX', 'RAWTOHEX',
+        'RATIO_TO_REPORT', 'RANK', 'POWER', 'PERCENTILE_DISC',
+        'PERCENTILE_CONT', 'PERCENT_RANK', 'PATH', 'NVL2', 'NVL',
+        'NUMTOYMINTERVAL', 'NUMTODSINTERVAL', 'NULLIF', 'NTILE', 'NLSSORT',
+        'NLS_UPPER', 'NLS_LOWER', 'NLS_INITCAP', 'NLS_CHARSET_NAME',
+        'NLS_CHARSET_ID', 'NLS_CHARSET_DECL_LEN', 'NEXT_DAY', 'NEW_TIME',
+        'NCHR', 'MONTHS_BETWEEN', 'MOD', 'MIN', 'MAX', 'MAKE_REF', 'LTRIM',
+        'LPAD', 'LOWER', 'LOG', 'LOCALTIMESTAMP', 'LN', 'LENGTH', 'LEAST',
+        'LEAD', 'LAST_VALUE', 'LAST_DAY', 'LAST', 'LAG', 'INSTR', 'INITCAP',
+        'HEXTORAW', 'GROUPING_ID', 'GROUPING', 'GROUP_ID', 'GREATEST',
+        'FROM_TZ', 'FLOOR', 'FIRST_VALUE', 'FIRST', 'EXTRACTVALUE', 'EXTRACT',
+        'EXP', 'EXISTSNODE', 'EMPTY_CLOB', 'EMPTY_BLOB', 'DUMP', 'DEREF',
+        'DEPTH', 'DENSE_RANK', 'DECOMPOSE', 'DECODE', 'DBTIMEZONE',
+        'CURRENT_TIMESTAMP', 'CURRENT_DATE', 'CUME_DIST', 'COVAR_SAMP',
+        'COVAR_POP', 'COUNT', 'COSH', 'COS', 'CORR', 'CONVERT', 'CONCAT',
+        'COMPOSE', 'COALESCE', 'CHR', 'CHARTOROWID', 'CEIL', 'CAST', 'BITAND',
+        'BIN_TO_NUM', 'BFILENAME', 'AVG', 'ATAN2', 'ATAN', 'ASIN', 'ASCIISTR',
         'ASCII', 'ADD_MONTHS', 'ACOS', 'ABS'),
-		//PL/SQL packages (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96612/intro2.htm#1025672)
-        3 => array('UTL_URL', 'UTL_TCP', 'UTL_SMTP', 'UTL_REF', 'UTL_RAW', 
-        'UTL_PG', 'UTL_INADDR', 'UTL_HTTP', 'UTL_FILE', 'UTL_ENCODE', 
-        'UTL_COLL', 'SDO_UTIL', 'SDO_TUNE', 'SDO_MIGRATE', 'SDO_LRS', 
-        'SDO_GEOM', 'SDO_CS', 'DMBS_XMLQUERY', 'DMBS_FLASHBACK', 
-        'DMBS_DEFER_SYS', 'DEBUG_EXTPROC', 'DBMS_XSLPROCESSOR', 'DBMS_XPLAN', 
-        'DBMS_XMLSCHEMA', 'DBMS_XMLSAVE', 'DBMS_XMLPARSER', 'DBMS_XMLGEN', 
-        'DBMS_XMLDOM', 'DBMS_XDBT', 'DBMS_XDB_VERSION', 'DBMS_XDB', 'DBMS_WM', 
-        'DBMS_UTILITY', 'DBMS_TYPES', 'DBMS_TTS', 'DBMS_TRANSFORM', 
-        'DBMS_TRANSACTION', 'DBMS_TRACE', 'DBMS_STRM_A', 'DBMS_STRM', 
-        'DBMS_STORAGE_MAP', 'DBMS_STATS', 'DBMS_SQL', 'DBMS_SPACE_ADMIN', 
-        'DBMS_SPACE', 'DBMS_SHARED_POOL', 'DBMS_SESSION', 'DBMS_RULE_ADM', 
-        'DBMS_RULE', 'DBMS_ROWID', 'DBMS_RLS', 'DBMS_RESUMABLE', 
-        'DBMS_RESOURCE_MANAGER_PRIVS', 'DBMS_RESOURCE_MANAGER', 'DBMS_REPUTIL', 
-        'DBMS_REPCAT_RGT', 'DBMS_REPCAT_INSTATIATE', 'DBMS_REPCAT_ADMIN', 
-        'DBMS_REPCAT', 'DBMS_REPAIR', 'DBMS_REFRESH', 'DBMS_REDEFINITION', 
-        'DBMS_RECTIFIER_DIFF', 'DBMS_RANDOM', 'DBMS_PROPAGATION_ADM', 
-        'DBMS_PROFILER', 'DBMS_PIPE', 'DBMS_PCLXUTIL', 'DBMS_OUTPUT', 
-        'DBMS_OUTLN_EDIT', 'DBMS_OUTLN', 'DBMS_ORACLE_TRACE_USER', 
-        'DBMS_ORACLE_TRACE_AGENT', 'DBMS_OLAP', 'DBMS_OFFLINE_SNAPSHOT', 
-        'DBMS_OFFLINE_OG', 'DBMS_ODCI', 'DBMS_OBFUSCATION_TOOLKIT', 
-        'DBMS_MVIEW', 'DBMS_MGWMSG', 'DBMS_MGWADM', 'DBMS_METADATA', 
-        'DBMS_LOGSTDBY', 'DBMS_LOGMNR_D', 'DBMS_LOGMNR_CDC_SUBSCRIBE', 
-        'DBMS_LOGMNR_CDC_PUBLISH', 'DBMS_LOGMNR', 'DBMS_LOCK', 'DBMS_LOB', 
-        'DBMS_LIBCACHE', 'DBMS_LDAP', 'DBMS_JOB', 'DBMS_IOT', 
-        'DBMS_HS_PASSTHROUGH', 'DBMS_FGA', 'DBMS_DISTRIBUTED_TRUST_ADMIN', 
-        'DBMS_DESCRIBE', 'DBMS_DEFER_QUERY', 'DBMS_DEFER', 'DBMS_DEBUG', 
-        'DBMS_DDL', 'DBMS_CAPTURE_ADM', 'DBMS_AW', 'DBMS_AQELM', 'DBMS_AQADM', 
-        'DBMS_AQ', 'DBMS_APPLY_ADM', 'DBMS_APPLICATION_INFO', 'DBMS_ALERT', 
+        //PL/SQL packages (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96612/intro2.htm#1025672)
+        3 => array('UTL_URL', 'UTL_TCP', 'UTL_SMTP', 'UTL_REF', 'UTL_RAW',
+        'UTL_PG', 'UTL_INADDR', 'UTL_HTTP', 'UTL_FILE', 'UTL_ENCODE',
+        'UTL_COLL', 'SDO_UTIL', 'SDO_TUNE', 'SDO_MIGRATE', 'SDO_LRS',
+        'SDO_GEOM', 'SDO_CS', 'DMBS_XMLQUERY', 'DMBS_FLASHBACK',
+        'DMBS_DEFER_SYS', 'DEBUG_EXTPROC', 'DBMS_XSLPROCESSOR', 'DBMS_XPLAN',
+        'DBMS_XMLSCHEMA', 'DBMS_XMLSAVE', 'DBMS_XMLPARSER', 'DBMS_XMLGEN',
+        'DBMS_XMLDOM', 'DBMS_XDBT', 'DBMS_XDB_VERSION', 'DBMS_XDB', 'DBMS_WM',
+        'DBMS_UTILITY', 'DBMS_TYPES', 'DBMS_TTS', 'DBMS_TRANSFORM',
+        'DBMS_TRANSACTION', 'DBMS_TRACE', 'DBMS_STRM_A', 'DBMS_STRM',
+        'DBMS_STORAGE_MAP', 'DBMS_STATS', 'DBMS_SQL', 'DBMS_SPACE_ADMIN',
+        'DBMS_SPACE', 'DBMS_SHARED_POOL', 'DBMS_SESSION', 'DBMS_RULE_ADM',
+        'DBMS_RULE', 'DBMS_ROWID', 'DBMS_RLS', 'DBMS_RESUMABLE',
+        'DBMS_RESOURCE_MANAGER_PRIVS', 'DBMS_RESOURCE_MANAGER', 'DBMS_REPUTIL',
+        'DBMS_REPCAT_RGT', 'DBMS_REPCAT_INSTATIATE', 'DBMS_REPCAT_ADMIN',
+        'DBMS_REPCAT', 'DBMS_REPAIR', 'DBMS_REFRESH', 'DBMS_REDEFINITION',
+        'DBMS_RECTIFIER_DIFF', 'DBMS_RANDOM', 'DBMS_PROPAGATION_ADM',
+        'DBMS_PROFILER', 'DBMS_PIPE', 'DBMS_PCLXUTIL', 'DBMS_OUTPUT',
+        'DBMS_OUTLN_EDIT', 'DBMS_OUTLN', 'DBMS_ORACLE_TRACE_USER',
+        'DBMS_ORACLE_TRACE_AGENT', 'DBMS_OLAP', 'DBMS_OFFLINE_SNAPSHOT',
+        'DBMS_OFFLINE_OG', 'DBMS_ODCI', 'DBMS_OBFUSCATION_TOOLKIT',
+        'DBMS_MVIEW', 'DBMS_MGWMSG', 'DBMS_MGWADM', 'DBMS_METADATA',
+        'DBMS_LOGSTDBY', 'DBMS_LOGMNR_D', 'DBMS_LOGMNR_CDC_SUBSCRIBE',
+        'DBMS_LOGMNR_CDC_PUBLISH', 'DBMS_LOGMNR', 'DBMS_LOCK', 'DBMS_LOB',
+        'DBMS_LIBCACHE', 'DBMS_LDAP', 'DBMS_JOB', 'DBMS_IOT',
+        'DBMS_HS_PASSTHROUGH', 'DBMS_FGA', 'DBMS_DISTRIBUTED_TRUST_ADMIN',
+        'DBMS_DESCRIBE', 'DBMS_DEFER_QUERY', 'DBMS_DEFER', 'DBMS_DEBUG',
+        'DBMS_DDL', 'DBMS_CAPTURE_ADM', 'DBMS_AW', 'DBMS_AQELM', 'DBMS_AQADM',
+        'DBMS_AQ', 'DBMS_APPLY_ADM', 'DBMS_APPLICATION_INFO', 'DBMS_ALERT',
         'CWM2_OLAP_AW_ACCESS'),
-		//PL/SQL predefined exceptions (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/07_errs.htm#784)
-        4 => array('ZERO_DIVIDE', 'VALUE_ERROR', 'TOO_MANY_ROWS', 
-        'TIMEOUT_ON_RESOURCE', 'SYS_INVALID_ROWID', 'SUBSCRIPT_OUTSIDE_LIMIT', 
-        'SUBSCRIPT_BEYOND_COUNT', 'STORAGE_ERROR', 'SELF_IS_NULL', 
-        'ROWTYPE_MISMATCH', 'PROGRAM_ERROR', 'NOT_LOGGED_ON', 'NO_DATA_FOUND', 
-        'LOGIN_DENIED', 'INVALID_NUMBER', 'INVALID_CURSOR', 'DUP_VAL_ON_INDEX', 
-        'CURSOR_ALREADY_OPEN', 'COLLECTION_IS_NULL', 'CASE_NOT_FOUND', 
+        //PL/SQL predefined exceptions (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/07_errs.htm#784)
+        4 => array('ZERO_DIVIDE', 'VALUE_ERROR', 'TOO_MANY_ROWS',
+        'TIMEOUT_ON_RESOURCE', 'SYS_INVALID_ROWID', 'SUBSCRIPT_OUTSIDE_LIMIT',
+        'SUBSCRIPT_BEYOND_COUNT', 'STORAGE_ERROR', 'SELF_IS_NULL',
+        'ROWTYPE_MISMATCH', 'PROGRAM_ERROR', 'NOT_LOGGED_ON', 'NO_DATA_FOUND',
+        'LOGIN_DENIED', 'INVALID_NUMBER', 'INVALID_CURSOR', 'DUP_VAL_ON_INDEX',
+        'CURSOR_ALREADY_OPEN', 'COLLECTION_IS_NULL', 'CASE_NOT_FOUND',
         'ACCESS_INTO_NULL'),
-		//Static data dictionary views (http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96536/ch2.htm)
-        5 => array('USER_REPSITES', 'USER_REPSCHEMA', 
-        'USER_REPRESOLUTION_STATISTICS', 'USER_REPRESOLUTION_METHOD', 
-        'USER_REPRESOLUTION', 'USER_REPRESOL_STATS_CONTROL', 'USER_REPPROP', 
-        'USER_REPPRIORITY_GROUP', 'USER_REPPRIORITY', 
-        'USER_REPPARAMETER_COLUMN', 'USER_REPOBJECT', 'USER_REPKEY_COLUMNS', 
-        'USER_REPGROUPED_COLUMN', 'USER_REPGROUP_PRIVILEGES', 'USER_REPGROUP', 
-        'USER_REPGENOBJECTS', 'USER_REPGENERATED', 'USER_REPFLAVORS', 
-        'USER_REPFLAVOR_OBJECTS', 'USER_REPFLAVOR_COLUMNS', 'USER_REPDDL', 
-        'USER_REPCONFLICT', 'USER_REPCOLUMN_GROUP', 'USER_REPCOLUMN', 
-        'USER_REPCATLOG', 'USER_REPCAT_USER_PARM_VALUES', 
-        'USER_REPCAT_USER_AUTHORIZATIONS', 'USER_REPCAT_TEMPLATE_SITES', 
-        'USER_REPCAT_TEMPLATE_PARMS', 'USER_REPCAT_TEMPLATE_OBJECTS', 
-        'USER_REPCAT_REFRESH_TEMPLATES', 'USER_REPCAT', 'USER_REPAUDIT_COLUMN', 
-        'USER_REPAUDIT_ATTRIBUTE', 'DBA_REPSITES_NEW', 'DBA_REPSITES', 
-        'DBA_REPSCHEMA', 'DBA_REPRESOLUTION_STATISTICS', 
-        'DBA_REPRESOLUTION_METHOD', 'DBA_REPRESOLUTION', 
-        'DBA_REPRESOL_STATS_CONTROL', 'DBA_REPPROP', 'DBA_REPPRIORITY_GROUP', 
-        'DBA_REPPRIORITY', 'DBA_REPPARAMETER_COLUMN', 'DBA_REPOBJECT', 
-        'DBA_REPKEY_COLUMNS', 'DBA_REPGROUPED_COLUMN', 
-        'DBA_REPGROUP_PRIVILEGES', 'DBA_REPGROUP', 'DBA_REPGENOBJECTS', 
-        'DBA_REPGENERATED', 'DBA_REPFLAVORS', 'DBA_REPFLAVOR_OBJECTS', 
-        'DBA_REPFLAVOR_COLUMNS', 'DBA_REPEXTENSIONS', 'DBA_REPDDL', 
-        'DBA_REPCONFLICT', 'DBA_REPCOLUMN_GROUP', 'DBA_REPCOLUMN', 
-        'DBA_REPCATLOG', 'DBA_REPCAT_USER_PARM_VALUES', 
-        'DBA_REPCAT_USER_AUTHORIZATIONS', 'DBA_REPCAT_TEMPLATE_SITES', 
-        'DBA_REPCAT_TEMPLATE_PARMS', 'DBA_REPCAT_TEMPLATE_OBJECTS', 
-        'DBA_REPCAT_REFRESH_TEMPLATES', 'DBA_REPCAT_EXCEPTIONS', 'DBA_REPCAT', 
-        'DBA_REPAUDIT_COLUMN', 'DBA_REPAUDIT_ATTRIBUTE', 'ALL_REPSITES', 
-        'ALL_REPSCHEMA', 'ALL_REPRESOLUTION_STATISTICS', 
-        'ALL_REPRESOLUTION_METHOD', 'ALL_REPRESOLUTION', 
-        'ALL_REPRESOL_STATS_CONTROL', 'ALL_REPPROP', 'ALL_REPPRIORITY_GROUP', 
-        'ALL_REPPRIORITY', 'ALL_REPPARAMETER_COLUMN', 'ALL_REPOBJECT', 
-        'ALL_REPKEY_COLUMNS', 'ALL_REPGROUPED_COLUMN', 
-        'ALL_REPGROUP_PRIVILEGES', 'ALL_REPGROUP', 'ALL_REPGENOBJECTS', 
-        'ALL_REPGENERATED', 'ALL_REPFLAVORS', 'ALL_REPFLAVOR_OBJECTS', 
-        'ALL_REPFLAVOR_COLUMNS', 'ALL_REPDDL', 'ALL_REPCONFLICT', 
-        'ALL_REPCOLUMN_GROUP', 'ALL_REPCOLUMN', 'ALL_REPCATLOG', 
-        'ALL_REPCAT_USER_PARM_VALUES', 'ALL_REPCAT_USER_AUTHORIZATIONS', 
-        'ALL_REPCAT_TEMPLATE_SITES', 'ALL_REPCAT_TEMPLATE_PARMS', 
-        'ALL_REPCAT_TEMPLATE_OBJECTS', 'ALL_REPCAT_REFRESH_TEMPLATES', 
+        //Static data dictionary views (http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96536/ch2.htm)
+        5 => array('USER_REPSITES', 'USER_REPSCHEMA',
+        'USER_REPRESOLUTION_STATISTICS', 'USER_REPRESOLUTION_METHOD',
+        'USER_REPRESOLUTION', 'USER_REPRESOL_STATS_CONTROL', 'USER_REPPROP',
+        'USER_REPPRIORITY_GROUP', 'USER_REPPRIORITY',
+        'USER_REPPARAMETER_COLUMN', 'USER_REPOBJECT', 'USER_REPKEY_COLUMNS',
+        'USER_REPGROUPED_COLUMN', 'USER_REPGROUP_PRIVILEGES', 'USER_REPGROUP',
+        'USER_REPGENOBJECTS', 'USER_REPGENERATED', 'USER_REPFLAVORS',
+        'USER_REPFLAVOR_OBJECTS', 'USER_REPFLAVOR_COLUMNS', 'USER_REPDDL',
+        'USER_REPCONFLICT', 'USER_REPCOLUMN_GROUP', 'USER_REPCOLUMN',
+        'USER_REPCATLOG', 'USER_REPCAT_USER_PARM_VALUES',
+        'USER_REPCAT_USER_AUTHORIZATIONS', 'USER_REPCAT_TEMPLATE_SITES',
+        'USER_REPCAT_TEMPLATE_PARMS', 'USER_REPCAT_TEMPLATE_OBJECTS',
+        'USER_REPCAT_REFRESH_TEMPLATES', 'USER_REPCAT', 'USER_REPAUDIT_COLUMN',
+        'USER_REPAUDIT_ATTRIBUTE', 'DBA_REPSITES_NEW', 'DBA_REPSITES',
+        'DBA_REPSCHEMA', 'DBA_REPRESOLUTION_STATISTICS',
+        'DBA_REPRESOLUTION_METHOD', 'DBA_REPRESOLUTION',
+        'DBA_REPRESOL_STATS_CONTROL', 'DBA_REPPROP', 'DBA_REPPRIORITY_GROUP',
+        'DBA_REPPRIORITY', 'DBA_REPPARAMETER_COLUMN', 'DBA_REPOBJECT',
+        'DBA_REPKEY_COLUMNS', 'DBA_REPGROUPED_COLUMN',
+        'DBA_REPGROUP_PRIVILEGES', 'DBA_REPGROUP', 'DBA_REPGENOBJECTS',
+        'DBA_REPGENERATED', 'DBA_REPFLAVORS', 'DBA_REPFLAVOR_OBJECTS',
+        'DBA_REPFLAVOR_COLUMNS', 'DBA_REPEXTENSIONS', 'DBA_REPDDL',
+        'DBA_REPCONFLICT', 'DBA_REPCOLUMN_GROUP', 'DBA_REPCOLUMN',
+        'DBA_REPCATLOG', 'DBA_REPCAT_USER_PARM_VALUES',
+        'DBA_REPCAT_USER_AUTHORIZATIONS', 'DBA_REPCAT_TEMPLATE_SITES',
+        'DBA_REPCAT_TEMPLATE_PARMS', 'DBA_REPCAT_TEMPLATE_OBJECTS',
+        'DBA_REPCAT_REFRESH_TEMPLATES', 'DBA_REPCAT_EXCEPTIONS', 'DBA_REPCAT',
+        'DBA_REPAUDIT_COLUMN', 'DBA_REPAUDIT_ATTRIBUTE', 'ALL_REPSITES',
+        'ALL_REPSCHEMA', 'ALL_REPRESOLUTION_STATISTICS',
+        'ALL_REPRESOLUTION_METHOD', 'ALL_REPRESOLUTION',
+        'ALL_REPRESOL_STATS_CONTROL', 'ALL_REPPROP', 'ALL_REPPRIORITY_GROUP',
+        'ALL_REPPRIORITY', 'ALL_REPPARAMETER_COLUMN', 'ALL_REPOBJECT',
+        'ALL_REPKEY_COLUMNS', 'ALL_REPGROUPED_COLUMN',
+        'ALL_REPGROUP_PRIVILEGES', 'ALL_REPGROUP', 'ALL_REPGENOBJECTS',
+        'ALL_REPGENERATED', 'ALL_REPFLAVORS', 'ALL_REPFLAVOR_OBJECTS',
+        'ALL_REPFLAVOR_COLUMNS', 'ALL_REPDDL', 'ALL_REPCONFLICT',
+        'ALL_REPCOLUMN_GROUP', 'ALL_REPCOLUMN', 'ALL_REPCATLOG',
+        'ALL_REPCAT_USER_PARM_VALUES', 'ALL_REPCAT_USER_AUTHORIZATIONS',
+        'ALL_REPCAT_TEMPLATE_SITES', 'ALL_REPCAT_TEMPLATE_PARMS',
+        'ALL_REPCAT_TEMPLATE_OBJECTS', 'ALL_REPCAT_REFRESH_TEMPLATES',
         'ALL_REPCAT', 'ALL_REPAUDIT_COLUMN', 'ALL_REPAUDIT_ATTRIBUTE')
-		),
-	'SYMBOLS' => array(
-		//PL/SQL delimiters (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#2732)
-		'+', '%', "'", '.', '/', '(', ')', ':', ',', '*', '"', '=', '<', '>', '@', ';', '-', ':=', '=>', '||', '**', '<<', '>>', '/*', '*/', '..', '<>', '!=', '~=', '^=', '<=', '>='
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		5 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #00F;',
-			2 => 'color: #000;',
-			3 => 'color: #00F;',
-			4 => 'color: #F00;',
-			5 => 'color: #800;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #080; font-style: italic;',
-			'MULTI' => 'color: #080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #00F;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #F00;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #800;'
-			),
-		'METHODS' => array(
-			0 => 'color: #0F0;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #00F;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			0 => 'color: #0F0;'
-			)
-		),
-		'URLS' => array(
-			1 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAME}',
-			2 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAME}',
-			3 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAME}',
-			4 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAME}',
-			5 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAME}'
-			),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(),
-	'REGEXPS' => array(),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(),
-	'HIGHLIGHT_STRICT_BLOCK' => array()
+        ),
+    'SYMBOLS' => array(
+        //PL/SQL delimiters (http://download-uk.oracle.com/docs/cd/B10501_01/appdev.920/a96624/02_funds.htm#2732)
+        '+', '%', "'", '.', '/', '(', ')', ':', ',', '*', '"', '=', '<', '>', '@', ';', '-', ':=', '=>', '||', '**', '<<', '>>', '/*', '*/', '..', '<>', '!=', '~=', '^=', '<=', '>='
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #00F;',
+            2 => 'color: #000;',
+            3 => 'color: #00F;',
+            4 => 'color: #F00;',
+            5 => 'color: #800;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #080; font-style: italic;',
+            'MULTI' => 'color: #080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #00F;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #F00;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #800;'
+            ),
+        'METHODS' => array(
+            0 => 'color: #0F0;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #00F;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            0 => 'color: #0F0;'
+            )
+        ),
+        'URLS' => array(
+            1 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAMEU}',
+            2 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAMEU}',
+            3 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAMEU}',
+            4 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAMEU}',
+            5 => 'http://www.oracle.com/pls/db92/db92.drilldown?word={FNAMEU}'
+            ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'REGEXPS' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array()
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/povray.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,199 @@
+<?php
+/*************************************************************************************
+ * povray.php
+ * --------
+ * Author: Carl Fürstenberg (azatoth@gmail.com)
+ * Copyright: © 2007 Carl Fürstenberg
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/07/11
+ *
+ * Povray language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/07/11 (1.0.8)
+ *   -  initial import to GeSHi SVN
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'POVRAY',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'yes', 'wrinkles', 'wood', 'width', 'waves', 'water_level', 'warp', 'vturbulence',
+            'vstr', 'vrotate', 'vnormalize', 'vlength', 'vcross', 'vaxis_rotate', 'variance', 'v_steps',
+            'uv_mapping', 'utf8', 'use_index', 'use_colour', 'use_color', 'use_alpha', 'up', 'undef',
+            'ultra_wide_angle', 'u_steps', 'type', 'turbulence', 'turb_depth', 'ttf', 'true', 'triangle_wave',
+            'translate', 'transform', 'trace', 'toroidal', 'tolerance', 'tiles', 'tile2', 'tightness',
+            'tiff', 'threshold', 'thickness', 'tga', 'texture_map', 'target', 'sys', 'sum',
+            'substr', 'sturm', 'strupr', 'strlwr', 'strength', 'str', 'statistics', 'sqr',
+            'spotted', 'spotlight', 'split_union', 'spline', 'spiral2', 'spiral1', 'spherical', 'specular',
+            'spacing', 'solid', 'smooth', 'slope', 'slice', 'sky', 'size', 'sine_wave',
+            'shadowless', 'scattering', 'scallop_wave', 'scale', 'save_file', 'samples', 'roughness', 'rotate',
+            'ripples', 'right', 'rgbt', 'rgbft', 'rgbf', 'rgb', 'repeat', 'render',
+            'refraction', 'reflection_exponent', 'recursion_limit', 'reciprocal', 'ratio', 'ramp_wave', 'radius', 'radial',
+            'quilted', 'quick_colour', 'quick_color', 'quaternion', 'quadratic_spline', 'pwr', 'projected_through', 'prod',
+            'pretrace_start', 'pretrace_end', 'precompute', 'precision', 'ppm', 'pow', 'pot', 'poly_wave',
+            'point_at', 'png', 'planar', 'pigment_pattern', 'pi', 'phong_size', 'phong', 'phase',
+            'pgm', 'perspective', 'pattern', 'pass_through', 'parallel', 'panoramic', 'orthographic', 'orientation',
+            'orient', 'open', 'onion', 'once', 'on', 'omnimax', 'omega', 'offset',
+            'off', 'octaves', 'number_of_waves', 'noise_generator', 'no_shadow', 'no_reflection', 'no_image', 'no_bump_scale',
+            'no', 'nearest_count', 'natural_spline', 'mortar', 'minimum_reuse', 'min_extent', 'metric', 'method',
+            'metallic', 'media_interaction', 'media_attenuation', 'media', 'max_trace_level', 'max_trace', 'max_sample', 'max_iteration',
+            'max_intersections', 'max_gradient', 'max_extent', 'matrix', 'material_map', 'marble', 'map_type', 'mandel',
+            'major_radius', 'magnet', 'low_error_factor', 'look_at', 'location', 'load_file', 'linear_sweep', 'linear_spline',
+            'leopard', 'lambda', 'julia', 'jpeg', 'jitter', 'irid_wavelength', 'ior', 'inverse',
+            'intervals', 'interpolate', 'internal', 'inside_vector', 'inside', 'initial_frame', 'initial_clock', 'image_width',
+            'image_pattern', 'image_height', 'iff', 'hypercomplex', 'hollow', 'hierarchy', 'hf_gray_16', 'hexagon',
+            'gray_threshold', 'granite', 'gradient', 'global_lights', 'gif', 'gather', 'fresnel', 'frequency',
+            'frame_number', 'form', 'fog_type', 'fog_offset', 'fog_alt', 'focal_point', 'flip', 'flatness',
+            'fisheye', 'final_frame', 'final_clock', 'false', 'falloff_angle', 'falloff', 'fade_power', 'fade_distance',
+            'fade_colour', 'fade_color', 'facets', 'extinction', 'exterior', 'exponent', 'expand_thresholds', 'evaluate',
+            'error_bound', 'emission', 'eccentricity', 'double_illuminate', 'distance', 'dist_exp', 'dispersion_samples', 'dispersion',
+            'direction', 'diffuse', 'df3', 'dents', 'density_map', 'density_file', 'density', 'cylindrical',
+            'cutaway_textures', 'cubic_wave', 'cubic_spline', 'cube', 'crand', 'crackle', 'count', 'coords',
+            'control1', 'control0', 'conserve_energy', 'conic_sweep', 'confidence', 'concat', 'composite', 'component',
+            'colour_map', 'colour', 'color', 'collect', 'clock_on', 'clock_delta', 'clock', 'circular',
+            'chr', 'checker', 'charset', 'cells', 'caustics', 'bumps', 'bump_size', 'brilliance',
+            'brightness', 'brick_size', 'brick', 'bozo', 'boxed', 'blur_samples', 'black_hole', 'bezier_spline',
+            'b_spline', 'average', 'autostop', 'assumed_gamma', 'ascii', 'array', 'area_light', 'arc_angle',
+            'append', 'aperture', 'angle', 'ambient_light', 'ambient', 'always_sample', 'altitude', 'alpha',
+            'all_intersections', 'all', 'agate_turb', 'agate', 'adc_bailout', 'adaptive', 'accuracy', 'absorption',
+            'aa_threshold', 'aa_level', 'reflection'
+            ),
+        2 => array(
+            'abs', 'acos', 'acosh', 'asc', 'asin', 'asinh', 'atan', 'atanh',
+            'atan2', 'ceil', 'cos', 'cosh', 'defined', 'degrees', 'dimensions', 'dimension_size',
+            'div', 'exp', 'file_exists', 'floor', 'int', 'ln', 'log', 'max',
+            'min', 'mod', 'pov', 'radians', 'rand', 'seed', 'select', 'sin',
+            'sinh', 'sqrt', 'strcmp', 'strlen', 'tan', 'tanh', 'val', 'vdot',
+            'vlenght',
+            ),
+        3 => array (
+            'x', 'y', 'z', 't', 'u', 'v', 'red', 'blue',
+            'green', 'filter', 'transmit', 'gray', 'e',
+            ),
+        4 => array (
+            'camera', 'background', 'fog', 'sky_sphere', 'rainbow', 'global_settings', 'radiosity', 'photon',
+            'object', 'blob', 'sphere', 'cylinder', 'box', 'cone', 'height_field', 'julia_fractal',
+            'lathe', 'prism', 'sphere_sweep', 'superellipsoid', 'sor', 'text', 'torus', 'bicubic_patch',
+            'disc', 'mesh', 'triangle', 'smooth_triangle', 'mesh2', 'vertex_vectors', 'normal_vectors', 'uv_vectors',
+            'texture_list', 'face_indices', 'normal_indices', 'uv_indices', 'texture', 'polygon', 'plane', 'poly',
+            'cubic', 'quartic', 'quadric', 'isosurface', 'function', 'contained_by', 'parametric', 'pigment',
+            'union', 'intersection', 'difference', 'merge', 'light_source', 'looks_like', 'light_group', 'clipped_by',
+            'bounded_by', 'interior', 'material', 'interior_texture', 'normal', 'finish', 'color_map', 'pigment_map',
+            'image_map', 'bump_map', 'slope_map', 'normal_map', 'irid', 'photons',
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}', '!',
+        '@', '%', '&', '*', '|', '/', '<',
+        '>', '+', '-', '.', '=', '<=', '>=',
+        '!=',
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #a63123;',
+            2 => 'color: #2312bc;',
+            3 => 'color: #cc1122; font-weight: bold;',
+            4 => 'color: #116688; font-weight: bold;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+//            2 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66aa;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;',
+            2 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #6666cc; font-weight: bold;',
+            1 => 'color: #66cc66; font-weight: bold;',
+            2 => 'color: #66cc66; font-weight: bold;'
+            ),
+        'SCRIPT' => array(
+            0 => '',
+            1 => '',
+            2 => '',
+            3 => ''
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        # normal hash lines
+        0 => '\#(?!(include|declare|local|fopen|fclose|read|write|default|version|if|else|end|ifdef|ifndef|switch|case|range|break|while|debug|error|warning|macro) )[[:word:]]*',
+        # syntax functions hash thingis
+        1 => "\#(include|declare|local|fopen|fclose|read|write|default|version|if|else|end|ifdef|ifndef|switch|case|range|break|while|debug|error|warning|macro)",
+        2 => array(
+            GESHI_SEARCH  => "([a-zA-Z]+)(\n)(.*)(\n)(\\1;?)",
+            GESHI_REPLACE => '\3',
+            GESHI_BEFORE => '\1\2',
+            GESHI_AFTER => '\4\5',
+            GESHI_MODIFIERS => 'siU'
+            )
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true,
+        1 => true,
+        2 => true,
+        3 => true
+        ),
+    'TAB_WIDTH' => 4
+);
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/powershell.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,250 @@
+<?php
+/*************************************************************************************
+ * powershell.php
+ * ---------------------------------
+ * Author: Frode Aarebrot (frode@aarebrot.net)
+ * Copyright: (c) 2008 Frode Aarebrot (http://www.aarebrot.net)
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/06/20
+ *
+ * PowerShell language file for GeSHi.
+ *
+ * I've tried to make this language file as true to the highlighting in PowerGUI as
+ * possible. Unfortunately it's not 100% complete, although it is pretty close.
+ *
+ * I've included some classes and their members, but there's tons and tons of these.
+ * I suggest you add the ones you need yourself. I've included a few Sharepoint ones
+ * in this language file.
+ *
+ * CHANGES
+ * -------
+ * 2008/06/20 (1.0.8)
+ *  -  First Release
+ *
+ * TODO (updated 2008/06/20)
+ * -------------------------
+ * - Color text between Cmdlets/Aliases and pipe/end-of-line
+ * - Try and get -- and ++ to work in the KEYWORDS array with the other operators
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'posh',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '`',
+    'KEYWORDS' => array(
+        1 => array(
+            // Cmdlets
+            'Add-Content', 'Add-History', 'Add-Member', 'Add-PSSnapin', 'Clear-Content', 'Clear-Item',
+            'Clear-ItemProperty', 'Clear-Variable', 'Compare-Object', 'ConvertFrom-SecureString',
+            'Convert-Path', 'ConvertTo-Html', 'ConvertTo-SecureString', 'Copy-Item', 'Copy-ItemProperty',
+            'Export-Alias', 'Export-Clixml', 'Export-Console', 'Export-Csv', 'ForEach-Object',
+            'Format-Custom', 'Format-List', 'Format-Table', 'Format-Wide', 'Get-Acl', 'Get-Alias',
+            'Get-AuthenticodeSignature', 'Get-ChildItem', 'Get-Command', 'Get-Content', 'Get-Credential',
+            'Get-Culture', 'Get-Date', 'Get-EventLog', 'Get-ExecutionPolicy', 'Get-Help', 'Get-History',
+            'Get-Host', 'Get-Item', 'Get-ItemProperty', 'Get-Location', 'Get-Member',
+            'Get-PfxCertificate', 'Get-Process', 'Get-PSDrive', 'Get-PSProvider', 'Get-PSSnapin',
+            'Get-Service', 'Get-TraceSource', 'Get-UICulture', 'Get-Unique', 'Get-Variable',
+            'Get-WmiObject', 'Group-Object', 'Import-Alias', 'Import-Clixml', 'Import-Csv',
+            'Invoke-Expression', 'Invoke-History', 'Invoke-Item', 'Join-Path', 'Measure-Command',
+            'Measure-Object', 'Move-Item', 'Move-ItemProperty', 'New-Alias', 'New-Item',
+            'New-ItemProperty', 'New-Object', 'New-PSDrive', 'New-Service', 'New-TimeSpan',
+            'New-Variable', 'Out-Default', 'Out-File', 'Out-Host', 'Out-Null', 'Out-Printer',
+            'Out-String', 'Pop-Location', 'Push-Location', 'Read-Host', 'Remove-Item',
+            'Remove-ItemProperty', 'Remove-PSDrive', 'Remove-PSSnapin', 'Remove-Variable', 'Rename-Item',
+            'Rename-ItemProperty', 'Resolve-Path', 'Restart-Service', 'Resume-Service', 'Select-Object',
+            'Select-String', 'Set-Acl', 'Set-Alias', 'Set-AuthenticodeSignature', 'Set-Content',
+            'Set-Date', 'Set-ExecutionPolicy', 'Set-Item', 'Set-ItemProperty', 'Set-Location',
+            'Set-PSDebug', 'Set-Service', 'Set-TraceSource', 'Set-Variable', 'Sort-Object', 'Split-Path',
+            'Start-Service', 'Start-Sleep', 'Start-Transcript', 'Stop-Process', 'Stop-Service',
+            'Stop-Transcript', 'Suspend-Service', 'Tee-Object', 'Test-Path', 'Trace-Command',
+            'Update-FormatData', 'Update-TypeData', 'Where-Object', 'Write-Debug', 'Write-Error',
+            'Write-Host', 'Write-Output', 'Write-Progress', 'Write-Verbose', 'Write-Warning'
+            ),
+        2 => array(
+            // Aliases
+            'ac', 'asnp', 'clc', 'cli', 'clp', 'clv', 'cpi', 'cpp', 'cvpa', 'diff', 'epal', 'epcsv', 'fc',
+            'fl', 'ft', 'fw', 'gal', 'gc', 'gci', 'gcm', 'gdr', 'ghy', 'gi', 'gl', 'gm',
+            'gp', 'gps', 'group', 'gsv', 'gsnp', 'gu', 'gv', 'gwmi', 'iex', 'ihy', 'ii', 'ipal', 'ipcsv',
+            'mi', 'mp', 'nal', 'ndr', 'ni', 'nv', 'oh', 'rdr', 'ri', 'rni', 'rnp', 'rp', 'rsnp', 'rv',
+            'rvpa', 'sal', 'sasv', 'sc', 'select', 'si', 'sl', 'sleep', 'sort', 'sp', 'spps', 'spsv', 'sv',
+            'tee', 'write', 'cat', 'cd', 'clear', 'cp', 'h', 'history', 'kill', 'lp', 'ls',
+            'mount', 'mv', 'popd', 'ps', 'pushd', 'pwd', 'r', 'rm', 'rmdir', 'echo', 'cls', 'chdir',
+            'copy', 'del', 'dir', 'erase', 'move', 'rd', 'ren', 'set', 'type'
+            ),
+        3 => array(
+            // Reserved words
+            'break', 'continue', 'do', 'for', 'foreach', 'while', 'if', 'switch', 'until', 'where',
+            'function', 'filter', 'else', 'elseif', 'in', 'return', 'param', 'throw', 'trap'
+            ),
+        4 => array(
+            // Operators
+            '-eq', '-ne', '-gt', '-ge', '-lt', '-le', '-ieq', '-ine', '-igt', '-ige', '-ilt', '-ile',
+            '-ceq', '-cne', '-cgt', '-cge', '-clt', '-cle', '-like', '-notlike', '-match', '-notmatch',
+            '-ilike', '-inotlike', '-imatch', '-inotmatch', '-clike', '-cnotlike', '-cmatch', '-cnotmatch',
+            '-contains', '-notcontains', '-icontains', '-inotcontains', '-ccontains', '-cnotcontains',
+            '-isnot', '-is', '-as', '-replace', '-ireplace', '-creplace', '-and', '-or', '-band', '-bor',
+            '-not', '-bnot', '-f', '-casesensitive', '-exact', '-file', '-regex', '-wildcard'
+            ),
+        5 => array(
+            // Options
+            '-Year', '-Wrap', '-Word', '-Width', '-WhatIf', '-Wait', '-View', '-Verbose', '-Verb',
+            '-Variable', '-ValueOnly', '-Value', '-Unique', '-UFormat', '-TypeName', '-Trace', '-TotalCount',
+            '-Title', '-TimestampServer', '-TargetObject', '-Syntax', '-SyncWindow', '-Sum', '-String',
+            '-Strict', '-Stream', '-Step', '-Status', '-Static', '-StartupType', '-Start', '-StackName',
+            '-Stack', '-SourceId', '-SimpleMatch', '-ShowError', '-Separator', '-SecureString', '-SecureKey',
+            '-SecondValue', '-SecondsRemaining', '-Seconds', '-Second', '-Scope', '-Root', '-Role',
+            '-Resolve', '-RemoveListener', '-RemoveFileListener', '-Registered', '-ReferenceObject',
+            '-Recurse', '-RecommendedAction', '-ReadCount', '-Quiet', '-Query', '-Qualifier', '-PSSnapin',
+            '-PSProvider', '-PSHost', '-PSDrive', '-PropertyType', '-Property', '-Prompt', '-Process',
+            '-PrependPath', '-PercentComplete', '-Pattern', '-PathType', '-Path', '-PassThru', '-ParentId',
+            '-Parent', '-Parameter', '-Paging', '-OutVariable', '-OutBuffer', '-Option', '-OnType', '-Off',
+            '-Object', '-Noun', '-NoTypeInformation', '-NoQualifier', '-NoNewline', '-NoElement',
+            '-NoClobber', '-NewName', '-Newest', '-Namespace', '-Name', '-Month', '-Minutes', '-Minute',
+            '-Minimum', '-Milliseconds', '-Message', '-MemberType', '-Maximum', '-LogName', '-LiteralPath',
+            '-LiteralName', '-ListenerOption', '-List', '-Line', '-Leaf', '-Last', '-Key', '-ItemType',
+            '-IsValid', '-IsAbsolute', '-InputObject', '-IncludeEqual', '-IncludeChain', '-Include',
+            '-IgnoreWhiteSpace', '-Id', '-Hours', '-Hour', '-HideTableHeaders', '-Head', '-GroupBy',
+            '-Functionality', '-Full', '-Format', '-ForegroundColor', '-Force', '-First', '-FilterScript',
+            '-Filter', '-FilePath', '-Expression', '-ExpandProperty', '-Expand', '-ExecutionPolicy',
+            '-ExcludeProperty', '-ExcludeDifferent', '-Exclude', '-Exception', '-Examples', '-ErrorVariable',
+            '-ErrorRecord', '-ErrorId', '-ErrorAction', '-End', '-Encoding', '-DisplayName', '-DisplayHint',
+            '-DisplayError', '-DifferenceObject', '-Detailed', '-Destination', '-Description', '-Descending',
+            '-Depth', '-DependsOn', '-Delimiter', '-Debugger', '-Debug', '-Days', '-Day', '-Date',
+            '-CurrentOperation', '-Culture', '-Credential', '-Count', '-Container', '-Confirm',
+            '-ComputerName', '-Component', '-Completed', '-ComObject', '-CommandType', '-Command',
+            '-Column', '-Class', '-ChildPath', '-Character', '-Certificate', '-CategoryTargetType',
+            '-CategoryTargetName', '-CategoryReason', '-CategoryActivity', '-Category', '-CaseSensitive',
+            '-Body', '-BinaryPathName', '-Begin', '-BackgroundColor', '-Average', '-AutoSize', '-Audit',
+            '-AsString', '-AsSecureString', '-AsPlainText', '-As', '-ArgumentList', '-AppendPath', '-Append',
+            '-Adjust', '-Activity', '-AclObject'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}', '=', '<', '>', '@', '|', '&', ',', '?',
+        '+=', '-=', '*=', '/=', '%=', '*', '/', '%', '!', '+', '-', '++', '--'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #008080; font-weight: bold;',
+            2 => 'color: #008080; font-weight: bold;',
+            3 => 'color: #0000FF;',
+            4 => 'color: #FF0000;',
+            5 => 'color: #008080; font-style: italic;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008000;',
+            'MULTI' => 'color: #008000;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #008080; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #800000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #000000;'
+            ),
+        'METHODS' => array(
+            0 => 'color: pink;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: pink;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #800080;',
+            3 => 'color: #008080;',
+            4 => 'color: #008080;',
+            5 => 'color: #800000;',
+            6 => 'color: #000080;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => '',
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        // variables
+        0 => "[\\$][a-zA-Z0-9_]*",
+        // special after pipe
+        3 => array(
+            GESHI_SEARCH => '(\[)(int|long|string|char|bool|byte|double|decimal|float|single|regex|array|xml|scriptblock|switch|hashtable|type|ref|psobject|wmi|wmisearcher|wmiclass|object)((\[.*\])?\])',
+            GESHI_REPLACE => '\2',
+            GESHI_MODIFIERS => 'si',
+            GESHI_BEFORE => '\1',
+            GESHI_AFTER => '\3'
+            ),
+        // Classes
+        4 => array(
+            GESHI_SEARCH => '(\[)(System\.Reflection\.Assembly|System\.Net\.CredentialCache|Microsoft\.SharePoint\.SPFileLevel|Microsoft\.SharePoint\.Publishing\.PublishingWeb|Microsoft\.SharePoint\.Publishing|Microsoft\.SharePoint\.SPWeb)(\])',
+            GESHI_REPLACE => '\2',
+            GESHI_MODIFIERS => 'i',
+            GESHI_BEFORE => '\1',
+            GESHI_AFTER => '\3'
+            ),
+        // Members
+        // There's about a hundred million of these, add the ones you need as you need them
+        5 => array (
+            GESHI_SEARCH => '(::)(ReflectionOnlyLoadFrom|ReflectionOnlyLoad|ReferenceEquals|LoadWithPartialName|LoadFrom|LoadFile|Load|GetExecutingAssembly|GetEntryAssembly|GetCallingAssembly|GetAssembly|Equals|DefaultNetworkCredentials|DefaultCredentials|CreateQualifiedName|Checkout|Draft|Published|IsPublishingWeb)',
+            GESHI_REPLACE => '\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\1',
+            GESHI_AFTER => ''
+            ),
+        // Special variables
+        6 => array(
+            GESHI_SEARCH => '(\$)(\$|\?|\$\^|_|args|DebugPreference|Error|ErrorActionPreference|foreach|Home|Input|LASTEXITCODE|MaximumAliasCount|MaximumDriveCount|MaximumFunctionCount|MaximumHistoryCount|MaximumVariableCount|PsHome|Host|OFS|ReportErrorShowExceptionClass|ReportErrorShowInnerException|ReportErrorShowSource|ReportErrorShowStackTrace|ShouldProcessPreference|ShouldProcessReturnPreference|StackTrace|VerbosePreference|WarningPreference|PWD)',
+            GESHI_REPLACE => '\1\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '\3'
+            ),
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/progress.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,479 @@
+<?php
+/*************************************************************************************
+ * progress.php
+ * --------
+ * Author: Marco Aurelio de Pasqual (marcop@hdi.com.br)
+ * Copyright: (c) 2008 Marco Aurelio de Pasqual, Benny Baumann (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/07/11
+ *
+ * Progress language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/07/11 (1.0.8)
+ *   -  First Release
+ *
+ * TODO (updated 2008/07/11)
+ * -------------------------
+ * * Clean up the keyword list
+ * * Sort Keyword lists by Control Structures, Predefined functions and other important keywords
+ * * Complete language support
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array(
+    'LANG_NAME' => 'Progress',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array (
+        1 => array(
+            'ACCUMULATE','APPLY','ASSIGN','BELL','QUERY',
+            'BUFFER-COMPARE','BUFFER-COPY','CALL','CASE',
+            'CHOOSE','CLASS','CLEAR','CLOSE QUERY','each','WHERE',
+            'CLOSE STORED-PROCEDURE','COLOR','COMPILE','CONNECT',
+            'CONSTRUCTOR','COPY-LOB','CREATE','CREATE ALIAS',
+            'CREATE BROWSE','CREATE BUFFER','CREATE CALL','CREATE CLIENT-PRINCIPAL',
+            'CREATE DATABASE','CREATE DATASET','CREATE DATA-SOURCE','CREATE QUERY',
+            'CREATE SAX-attributeS','CREATE SAX-READER','CREATE SAX-WRITER','CREATE SERVER',
+            'CREATE SERVER-SOCKET','CREATE SOAP-HEADER','CREATE SOAP-HEADER-ENTRYREF','CREATE SOCKET',
+            'CREATE TEMP-TABLE','CREATE WIDGET','CREATE widget-POOL','CREATE X-DOCUMENT',
+            'CREATE X-NODEREF','CURRENT-LANGUAGE','CURRENT-VALUE','DDE ADVISE',
+            'DDE EXECUTE','DDE GET','DDE INITIATE','DDE REQUEST',
+            'DDE SEND','DDE TERMINATE','DEFINE BROWSE','DEFINE BUFFER','DEFINE',
+            'DEFINE BUTTON','DEFINE DATASET','DEFINE DATA-SOURCE','DEFINE FRAME','DEF','VAR',
+            'DEFINE IMAGE','DEFINE MENU','DEFINE PARAMETER','DEFINE property','PARAM',
+            'DEFINE QUERY','DEFINE RECTANGLE','DEFINE STREAM','DEFINE SUB-MENU',
+            'DEFINE TEMP-TABLE','DEFINE WORKFILE','DEFINE WORK-TABLE',
+            'DELETE','DELETE ALIAS','DELETE object','DELETE PROCEDURE',
+            'DELETE widget','DELETE widget-POOL','DESTRUCTOR','DICTIONARY',
+            'DISABLE','DISABLE TRIGGERS','DISCONNECT','DISPLAY',
+            'DO','DOS','DOWN','DYNAMIC-CURRENT-VALUE',
+            'ELSE','EMPTY TEMP-TABLE','ENABLE','END',
+            'ENTRY','EXPORT','FIND','AND',
+            'FIX-CODEPAGE','FOR','FORM','FRAME-VALUE',
+            'GET','GET-KEY-VALUE','HIDE','IF',
+            'IMPORT','INPUT CLEAR','INPUT CLOSE','INPUT FROM','input',
+            'INPUT THROUGH','INPUT-OUTPUT CLOSE','INPUT-OUTPUT THROUGH','INSERT',
+            'INTERFACE','LEAVE','LOAD','BREAK',
+            'LOAD-PICTURE','MESSAGE','method','NEXT','prev',
+            'NEXT-PROMPT','ON','OPEN QUERY','OS-APPEND',
+            'OS-COMMAND','OS-COPY','OS-CREATE-DIR','OS-DELETE',
+            'OS-RENAME','OUTPUT CLOSE','OUTPUT THROUGH','OUTPUT TO',
+            'OVERLAY','PAGE','PAUSE','PROCEDURE',
+            'PROCESS EVENTS','PROMPT-FOR','PROMSGS','PROPATH',
+            'PUBLISH','PUT','PUT CURSOR','PUT SCREEN',
+            'PUT-BITS','PUT-BYTE','PUT-BYTES','PUT-DOUBLE',
+            'PUT-FLOAT','PUT-INT64','PUT-KEY-VALUE','PUT-LONG',
+            'PUT-SHORT','PUT-STRING','PUT-UNSIGNED-LONG','PUT-UNSIGNED-SHORT',
+            'QUIT','RAW-TRANSFER','READKEY','RELEASE',
+            'RELEASE EXTERNAL','RELEASE object','REPEAT','REPOSITION',
+            'RUN','RUN STORED-PROCEDURE','RUN SUPER',
+            'SAVE CACHE','SCROLL','SEEK','SET',
+            'SET-BYTE-ORDER','SET-POINTER-VALUE','SET-SIZE','SHOW-STATS',
+            'STATUS','STOP','SUBSCRIBE','SUBSTRING',
+            'system-DIALOG COLOR','system-DIALOG FONT','system-DIALOG GET-DIR','system-DIALOG GET-FILE',
+            'system-DIALOG PRINTER-SETUP','system-HELP','THEN','THIS-object',
+            'TRANSACTION-MODE AUTOMATIC','TRIGGER PROCEDURE','UNDERLINE','UNDO',
+            'UNIX','UNLOAD','UNSUBSCRIBE','UP','STRING',
+            'UPDATE','USE','USING','VALIDATE','substr','SKIP','CLOSE',
+            'VIEW','WAIT-FOR','MODULO','NE','AVAIL',
+            'NOT','OR','&GLOBAL-DEFINE','&IF','UNFORMATTED','NO-PAUSE',
+            '&THEN','&ELSEIF','&ELSE','&ENDIF','OPEN','NO-WAIT',
+            '&MESSAGE','&SCOPED-DEFINE','&UNDEFINE','DEFINED',
+            'BROWSE','BUTTON','COMBO-BOX','CONTROL-FRAME',
+            'DIALOG-BOX','EDITOR','FIELD-GROUP','FILL-IN',
+            'FRAME','IMAGE','LITERAL','MENU',
+            'MENU-ITEM','RADIO-SET','RECTANGLE','SELECTION-LIST',
+            'SLIDER','SUB-MENU','TEXT','TOGGLE-BOX',
+            'WINDOW','WITH','AT','OF','EDITING','ON ENDKEY','output',
+            'ON ERROR','ON QUIT','ON STOP','PRESELECT',
+            'QUERY-TUNING','SIZE','Trigger','VIEW-AS','ALERT-BOX',
+            'Buffer','Data-relation','ProDataSet','SAX-attributes',
+            'SAX-reader','SAX-writer','Server socket','SOAP-fault',
+            'SOAP-header','SOAP-header-entryref','Socket','Temp-table',
+            'X-noderef','Height','Left','Top','TO',
+            'Width','ACTIVE-WINDOW','AUDIT-CONTROL','FIRST','LAST',
+            'AUDIT-POLICY','CLIPBOARD','CODEBASE-LOCATOR','COLOR-TABLE',
+            'COMPILER','COM-SELF','DEBUGGER','DEFAULT-WINDOW',
+            'ERROR-STATUS','FILE-INFO','FOCUS','FONT-TABLE',
+            'LAST-EVENT','LOG-MANAGER','RCODE-INFO','SECURITY-POLICY',
+            'SELF','SESSION','SOURCE-PROCEDURE','TARGET-PROCEDURE','NO-LOCK','NO-error',
+            'THIS-PROCEDURE','WEB-CONTEXT','FUNCTION','RETURNS','NO-UNDO'
+            ),
+        2 => array(
+            'ACCEPT-CHANGES','ACCEPT-ROW-CHANGES','ADD-BUFFER','ADD-CALC-COLUMN',
+            'ADD-COLUMNS-FROM','ADD-EVENTS-PROCEDURE','ADD-FIELDS-FROM','ADD-FIRST',
+            'ADD-HEADER-ENTRY','ADD-INDEX-FIELD','ADD-LAST','ADD-LIKE-COLUMN',
+            'ADD-LIKE-FIELD','ADD-LIKE-INDEX','ADD-NEW-FIELD','ADD-NEW-INDEX',
+            'ADD-RELATION','ADD-SCHEMA-LOCATION','ADD-SOURCE-BUFFER','ADD-SUPER-PROCEDURE',
+            'APPEND-CHILD','APPLY-CALLBACK','ATTACH-DATA-SOURCE','AUTHENTICATION-FAILED',
+            'BEGIN-EVENT-GROUP','BUFFER-COMPARE','BUFFER-COPY','BUFFER-CREATE',
+            'BUFFER-DELETE','BUFFER-FIELD','BUFFER-RELEASE','BUFFER-VALIDATE',
+            'CANCEL-BREAK','CANCEL-REQUESTS','CLEAR','CLEAR-APPL-CONTEXT',
+            'CLEAR-LOG','CLEAR-SELECTION','CLEAR-SORT-ARROWS','CLONE-NODE',
+            'CLOSE-LOG','CONNECT','CONNECTED','CONVERT-TO-OFFSET',
+            'COPY-DATASET','COPY-SAX-attributeS','COPY-TEMP-TABLE','CREATE-LIKE',
+            'CREATE-NODE','CREATE-NODE-NAMESPACE','CREATE-RESULT-LIST-ENTRY','DEBUG',
+            'DECLARE-NAMESPACE','DELETE-CHAR','DELETE-CURRENT-ROW',
+            'DELETE-HEADER-ENTRY','DELETE-LINE','DELETE-NODE','DELETE-RESULT-LIST-ENTRY',
+            'DELETE-SELECTED-ROW','DELETE-SELECTED-ROWS','DESELECT-FOCUSED-ROW','DESELECT-ROWS',
+            'DESELECT-SELECTED-ROW','DETACH-DATA-SOURCE','DISABLE','DISABLE-CONNECTIONS',
+            'DISABLE-DUMP-TRIGGERS','DISABLE-LOAD-TRIGGERS','DISCONNECT','DISPLAY-MESSAGE',
+            'DUMP-LOGGING-NOW','EDIT-CLEAR','EDIT-COPY','EDIT-CUT',
+            'EDIT-PASTE','EDIT-UNDO','EMPTY-DATASET','EMPTY-TEMP-TABLE',
+            'ENABLE','ENABLE-CONNECTIONS','ENABLE-EVENTS','ENCRYPT-AUDIT-MAC-KEY',
+            'END-DOCUMENT','END-ELEMENT','END-EVENT-GROUP','END-FILE-DROP',
+            'EXPORT','EXPORT-PRINCIPAL','FETCH-SELECTED-ROW',
+            'FILL','FIND-BY-ROWID','FIND-CURRENT','FIND-FIRST',
+            'FIND-LAST','FIND-UNIQUE','GET-attribute','GET-attribute-NODE',
+            'GET-BINARY-DATA','GET-BLUE-VALUE','GET-BROWSE-COLUMN','GET-BUFFER-HANDLE',
+            'GET-BYTES-AVAILABLE','GET-CALLBACK-PROC-CONTEXT','GET-CALLBACK-PROC-NAME','GET-CGI-LIST',
+            'GET-CGI-LONG-VALUE','GET-CGI-VALUE','GET-CHANGES','GET-CHILD',
+            'GET-CHILD-RELATION','GET-CONFIG-VALUE','GET-CURRENT','GET-DATASET-BUFFER',
+            'GET-DOCUMENT-ELEMENT','GET-DROPPED-FILE','GET-DYNAMIC','GET-ERROR-COLUMN ',
+            'GET-ERROR-ROW ','GET-FILE-NAME ','GET-FILE-OFFSET ','GET-FIRST',
+            'GET-GREEN-VALUE','GET-HEADER-ENTRY','GET-INDEX-BY-NAMESPACE-NAME','GET-INDEX-BY-QNAME',
+            'GET-ITERATION','GET-LAST','GET-LOCALNAME-BY-INDEX','GET-MESSAGE',
+            'GET-NEXT','GET-NODE','GET-NUMBER','GET-PARENT',
+            'GET-PREV','GET-PRINTERS','GET-property','GET-QNAME-BY-INDEX',
+            'GET-RED-VALUE','GET-RELATION','GET-REPOSITIONED-ROW','GET-RGB-VALUE',
+            'GET-SELECTED-widget','GET-SERIALIZED','GET-SIGNATURE','GET-SOCKET-OPTION',
+            'GET-SOURCE-BUFFER','GET-TAB-ITEM','GET-TEXT-HEIGHT-CHARS','GET-TEXT-HEIGHT-PIXELS',
+            'GET-TEXT-WIDTH-CHARS','GET-TEXT-WIDTH-PIXELS','GET-TOP-BUFFER','GET-TYPE-BY-INDEX',
+            'GET-TYPE-BY-NAMESPACE-NAME','GET-TYPE-BY-QNAME','GET-URI-BY-INDEX','GET-VALUE-BY-INDEX',
+            'GET-VALUE-BY-NAMESPACE-NAME','GET-VALUE-BY-QNAME','GET-WAIT-STATE','IMPORT-NODE',
+            'IMPORT-PRINCIPAL','INCREMENT-EXCLUSIVE-ID','INDEX-INFORMATION','INITIALIZE-DOCUMENT-TYPE',
+            'INITIATE','INSERT','INSERT-attribute','INSERT-BACKTAB',
+            'INSERT-BEFORE','INSERT-FILE','INSERT-ROW','INSERT-STRING',
+            'INSERT-TAB','INVOKE','IS-ROW-SELECTED','IS-SELECTED',
+            'LIST-property-NAMES','LOAD','LoadControls','LOAD-DOMAINS',
+            'LOAD-ICON','LOAD-IMAGE','LOAD-IMAGE-DOWN','LOAD-IMAGE-INSENSITIVE',
+            'LOAD-IMAGE-UP','LOAD-MOUSE-POINTER','LOAD-SMALL-ICON','LOCK-REGISTRATION',
+            'LOG-AUDIT-EVENT','LOGOUT','LONGCHAR-TO-NODE-VALUE','LOOKUP',
+            'MEMPTR-TO-NODE-VALUE','MERGE-CHANGES','MERGE-ROW-CHANGES','MOVE-AFTER-TAB-ITEM',
+            'MOVE-BEFORE-TAB-ITEM','MOVE-COLUMN','MOVE-TO-BOTTOM','MOVE-TO-EOF',
+            'MOVE-TO-TOP','NODE-VALUE-TO-LONGCHAR','NODE-VALUE-TO-MEMPTR','NORMALIZE',
+            'QUERY-CLOSE','QUERY-OPEN','QUERY-PREPARE','RAW-TRANSFER',
+            'READ','READ-FILE','READ-XML','READ-XMLSCHEMA',
+            'REFRESH','REFRESH-AUDIT-POLICY','REGISTER-DOMAIN','REJECT-CHANGES',
+            'REJECT-ROW-CHANGES','REMOVE-attribute','REMOVE-CHILD','REMOVE-EVENTS-PROCEDURE',
+            'REMOVE-SUPER-PROCEDURE','REPLACE','REPLACE-CHILD','REPLACE-SELECTION-TEXT',
+            'REPOSITION-BACKWARD','REPOSITION-FORWARD','REPOSITION-TO-ROW','REPOSITION-TO-ROWID',
+            'RESET','SAVE','SAVE-FILE','SAVE-ROW-CHANGES',
+            'SAX-PARSE','SAX-PARSE-FIRST','SAX-PARSE-NEXT','SCROLL-TO-CURRENT-ROW',
+            'SCROLL-TO-ITEM','SCROLL-TO-SELECTED-ROW','SEAL','SEARCH',
+            'SELECT-ALL','SELECT-FOCUSED-ROW','SELECT-NEXT-ROW','SELECT-PREV-ROW',
+            'SELECT-ROW','SET-ACTOR','SET-APPL-CONTEXT','SET-attribute',
+            'SET-attribute-NODE','SET-BLUE-VALUE','SET-BREAK','SET-BUFFERS',
+            'SET-CALLBACK','SET-CALLBACK-PROCEDURE','SET-CLIENT','SET-COMMIT',
+            'SET-CONNECT-PROCEDURE','SET-DYNAMIC','SET-GREEN-VALUE','SET-INPUT-SOURCE',
+            'SET-MUST-UNDERSTAND','SET-NODE','SET-NUMERIC-FORMAT','SET-OUTPUT-DESTINATION',
+            'SET-PARAMETER','SET-property','SET-READ-RESPONSE-PROCEDURE','SET-RED-VALUE',
+            'SET-REPOSITIONED-ROW','SET-RGB-VALUE','SET-ROLLBACK','SET-SELECTION',
+            'SET-SERIALIZED','SET-SOCKET-OPTION','SET-SORT-ARROW','SET-WAIT-STATE',
+            'START-DOCUMENT','START-ELEMENT','STOP-PARSING','SYNCHRONIZE',
+            'TEMP-TABLE-PREPARE','UPDATE-attribute','URL-DECODE','URL-ENCODE',
+            'VALIDATE','VALIDATE-SEAL','WRITE','WRITE-CDATA','USE-INDEX',
+            'WRITE-CHARACTERS','WRITE-COMMENT','WRITE-DATA-ELEMENT','WRITE-EMPTY-ELEMENT',
+            'WRITE-ENTITY-REF','WRITE-EXTERNAL-DTD','WRITE-FRAGMENT','WRITE-MESSAGE',
+            'WRITE-PROCESSING-INSTRUCTION','WRITE-XML','WRITE-XMLSCHEMA','FALSE','true'
+            ),
+        3 => array(
+            'ABSOLUTE','ACCUM','ADD-INTERVAL','ALIAS','mod',
+            'AMBIGUOUS','ASC','AUDIT-ENABLED','AVAILABLE',
+            'BASE64-DECODE','BASE64-ENCODE','CAN-DO','CAN-FIND',
+            'CAN-QUERY','CAN-SET','CAPS','CAST','OS-DIR',
+            'CHR','CODEPAGE-CONVERT','COMPARE','CONNECTED',
+            'COUNT-OF','CURRENT-CHANGED','CURRENT-RESULT-ROW','DATASERVERS',
+            'DATA-SOURCE-MODIFIED','DATETIME','DATETIME-TZ',
+            'DAY','DBCODEPAGE','DBCOLLATION','DBNAME',
+            'DBPARAM','DBRESTRICTIONS','DBTASKID','DBTYPE',
+            'DBVERSION','DECIMAL','DECRYPT','DYNAMIC-function',
+            'DYNAMIC-NEXT-VALUE','ENCODE','ENCRYPT','ENTERED',
+            'ERROR','ETIME','EXP','FILL','ENDKEY','END-error',
+            'FIRST-OF','FRAME-DB','FRAME-DOWN',
+            'FRAME-FIELD','FRAME-FILE','FRAME-INDEX','FRAME-LINE',
+            'GATEWAYS','GENERATE-PBE-KEY','GENERATE-PBE-SALT','GENERATE-RANDOM-KEY',
+            'GENERATE-UUID','GET-BITS','GET-BYTE','GET-BYTE-ORDER',
+            'GET-BYTES','GET-CODEPAGE','GET-CODEPAGES','GET-COLLATION',
+            'GET-COLLATIONS','GET-DOUBLE','GET-FLOAT','GET-INT64',
+            'GET-LONG','GET-POINTER-VALUE','GET-SHORT','GET-SIZE',
+            'GET-STRING','GET-UNSIGNED-LONG','GET-UNSIGNED-SHORT','GO-PENDING',
+            'GUID','HEX-DECODE','INDEX',
+            'INT64','INTEGER','INTERVAL','IS-ATTR-SPACE',
+            'IS-CODEPAGE-FIXED','IS-COLUMN-CODEPAGE','IS-LEAD-BYTE','ISO-DATE',
+            'KBLABEL','KEYCODE','KEYFUNCTION','KEYLABEL',
+            'KEYWORD','KEYWORD-ALL','LASTKEY',
+            'LAST-OF','LC','LDBNAME','LEFT-TRIM',
+            'LIBRARY','LINE-COUNTER','LIST-EVENTS','LIST-QUERY-ATTRS',
+            'LIST-SET-ATTRS','LIST-widgetS','LOCKED','LOG',
+            'LOGICAL','LOOKUP','MAXIMUM','MD5-DIGEST',
+            'MEMBER','MESSAGE-LINES','MINIMUM','MONTH',
+            'MTIME','NEW','NEXT-VALUE','NORMALIZE','SHARED',
+            'NOT ENTERED','NOW','NUM-ALIASES','NUM-DBS',
+            'NUM-ENTRIES','NUM-RESULTS','OPSYS','OS-DRIVES',
+            'OS-ERROR','OS-GETENV','PAGE-NUMBER','PAGE-SIZE',
+            'PDBNAME','PROC-HANDLE','PROC-STATUS','PROGRAM-NAME',
+            'PROGRESS','PROVERSION','QUERY-OFF-END','QUOTER',
+            'RANDOM','RAW','RECID','REJECTED',
+            'REPLACE','RETRY','RETURN-VALUE','RGB-VALUE',
+            'RIGHT-TRIM','R-INDEX','ROUND','ROWID','LENGTH',
+            'SDBNAME','SEARCH','SET-DB-CLIENT','SETUSERID',
+            'SHA1-DIGEST','SQRT','SUBSTITUTE','VARIABLE',
+            'SUPER','TERMINAL','TIME','TIMEZONE','external','ENTRY',
+            'TODAY','TO-ROWID','TRIM','TRUNCATE','return',
+            'TYPE-OF','USERID','VALID-EVENT','VALID-HANDLE',
+            'VALID-object','WEEKDAY','YEAR','BEGINS','VALUE',
+            'EQ','GE','GT','LE','LT','MATCHES','AS','BY','LIKE'
+            ),
+        4 => array(
+            'ACCELERATOR','ACTIVE','ACTOR','ADM-DATA',
+            'AFTER-BUFFER','AFTER-ROWID','AFTER-TABLE','ALLOW-COLUMN-SEARCHING',
+            'ALWAYS-ON-TOP','APPL-ALERT-BOXES','APPL-CONTEXT-ID','APPSERVER-INFO',
+            'APPSERVER-PASSWORD','APPSERVER-USERID','ASYNCHRONOUS','ASYNC-REQUEST-COUNT',
+            'ASYNC-REQUEST-HANDLE','ATTACHED-PAIRLIST','attribute-NAMES','ATTR-SPACE',
+            'AUDIT-EVENT-CONTEXT','AUTO-COMPLETION','AUTO-DELETE','AUTO-DELETE-XML',
+            'AUTO-END-KEY','AUTO-GO','AUTO-INDENT','AUTO-RESIZE',
+            'AUTO-RETURN','AUTO-SYNCHRONIZE','AUTO-VALIDATE','AUTO-ZAP',
+            'AVAILABLE-FORMATS','BACKGROUND','BASE-ADE','BASIC-LOGGING',
+            'BATCH-MODE','BATCH-SIZE','BEFORE-BUFFER','BEFORE-ROWID',
+            'BEFORE-TABLE','BGCOLOR','BLANK','BLOCK-ITERATION-DISPLAY',
+            'BORDER-BOTTOM-CHARS','BORDER-BOTTOM-PIXELS','BORDER-LEFT-CHARS','BORDER-LEFT-PIXELS',
+            'BORDER-RIGHT-CHARS','BORDER-RIGHT-PIXELS','BORDER-TOP-CHARS','BORDER-TOP-PIXELS',
+            'BOX','BOX-SELECTABLE','BUFFER-CHARS','BUFFER-FIELD',
+            'BUFFER-HANDLE','BUFFER-LINES','BUFFER-NAME','BUFFER-VALUE',
+            'BYTES-READ','BYTES-WRITTEN','CACHE','CALL-NAME',
+            'CALL-TYPE','CANCEL-BUTTON','CANCELLED','CAN-CREATE',
+            'CAN-DELETE','CAN-READ','CAN-WRITE','CAREFUL-PAINT',
+            'CASE-SENSITIVE','CENTERED','CHARSET','CHECKED',
+            'CHILD-BUFFER','CHILD-NUM','CLASS-TYPE','CLIENT-CONNECTION-ID',
+            'CLIENT-TTY','CLIENT-TYPE','CLIENT-WORKSTATION','CODE',
+            'CODEPAGE','COLUMN','COLUMN-BGCOLOR','COLUMN-DCOLOR',
+            'COLUMN-FGCOLOR','COLUMN-FONT','COLUMN-LABEL','COLUMN-MOVABLE',
+            'COLUMN-PFCOLOR','COLUMN-READ-ONLY','COLUMN-RESIZABLE','COLUMN-SCROLLING',
+            'COM-HANDLE','COMPLETE','CONFIG-NAME','CONTEXT-HELP',
+            'CONTEXT-HELP-FILE','CONTEXT-HELP-ID','CONTROL-BOX','CONVERT-3D-COLORS',
+            'CPCASE','CPCOLL','CPINTERNAL','CPLOG',
+            'CPPRINT','CPRCODEIN','CPRCODEOUT','CPSTREAM',
+            'CPTERM','CRC-VALUE','CURRENT-COLUMN','CURRENT-ENVIRONMENT',
+            'CURRENT-ITERATION','CURRENT-ROW-MODIFIED','CURRENT-WINDOW','CURSOR-CHAR',
+            'CURSOR-LINE','CURSOR-OFFSET','DATA-ENTRY-RETURN','DATASET',
+            'DATA-SOURCE','DATA-SOURCE-COMPLETE-MAP','DATA-TYPE','DATE-FORMAT',
+            'DB-REFERENCES','DCOLOR','DDE-ERROR','DDE-ID',
+            'DDE-ITEM','DDE-NAME','DDE-TOPIC','DEBLANK',
+            'DEBUG-ALERT','DECIMALS','DEFAULT','DEFAULT-BUFFER-HANDLE',
+            'DEFAULT-BUTTON','DEFAULT-COMMIT','DELIMITER','DISABLE-AUTO-ZAP',
+            'DISPLAY-TIMEZONE','DISPLAY-TYPE','DOMAIN-DESCRIPTION','DOMAIN-NAME',
+            'DOMAIN-TYPE','DRAG-ENABLED','DROP-TARGET','DYNAMIC',
+            'EDGE-CHARS','EDGE-PIXELS','EDIT-CAN-PASTE','EDIT-CAN-UNDO',
+            'EMPTY','ENCODING','ENCRYPTION-SALT','END-USER-PROMPT',
+            'ENTRY-TYPES-LIST','ERROR-COLUMN','ERROR-object-DETAIL','ERROR-ROW',
+            'ERROR-STRING','EVENT-GROUP-ID','EVENT-PROCEDURE','EVENT-PROCEDURE-CONTEXT',
+            'EVENT-TYPE','EXCLUSIVE-ID','EXECUTION-LOG','EXPAND',
+            'EXPANDABLE','FGCOLOR','FILE-CREATE-DATE','FILE-CREATE-TIME',
+            'FILE-MOD-DATE','FILE-MOD-TIME','FILE-NAME','FILE-OFFSET',
+            'FILE-SIZE','FILE-TYPE','FILLED','FILL-MODE',
+            'FILL-WHERE-STRING','FIRST-ASYNC-REQUEST','FIRST-BUFFER','FIRST-CHILD',
+            'FIRST-COLUMN','FIRST-DATASET','FIRST-DATA-SOURCE','FIRST-object',
+            'FIRST-PROCEDURE','FIRST-QUERY','FIRST-SERVER','FIRST-SERVER-SOCKET',
+            'FIRST-SOCKET','FIRST-TAB-ITEM','FIT-LAST-COLUMN','FLAT-BUTTON',
+            'FOCUSED-ROW','FOCUSED-ROW-SELECTED','FONT','FOREGROUND',
+            'FORMAT','FORMATTED','FORM-INPUT','FORM-LONG-INPUT',
+            'FORWARD-ONLY','FRAGMENT','FRAME-COL','FRAME-NAME',
+            'FRAME-ROW','FRAME-SPACING','FRAME-X','FRAME-Y',
+            'FREQUENCY','FULL-HEIGHT-CHARS','FULL-HEIGHT-PIXELS','FULL-PATHNAME',
+            'FULL-WIDTH-CHARS','FULL-WIDTH-PIXELS','GRAPHIC-EDGE',
+            'GRID-FACTOR-HORIZONTAL','GRID-FACTOR-VERTICAL','GRID-SNAP','GRID-UNIT-HEIGHT-CHARS',
+            'GRID-UNIT-HEIGHT-PIXELS','GRID-UNIT-WIDTH-CHARS','GRID-UNIT-WIDTH-PIXELS','GRID-VISIBLE',
+            'GROUP-BOX','HANDLE','HANDLER','HAS-LOBS',
+            'HAS-RECORDS','HEIGHT-CHARS','HEIGHT-PIXELS','HELP',
+            'HIDDEN','HORIZONTAL','HTML-CHARSET','HTML-END-OF-LINE',
+            'HTML-END-OF-PAGE','HTML-FRAME-BEGIN','HTML-FRAME-END','HTML-HEADER-BEGIN',
+            'HTML-HEADER-END','HTML-TITLE-BEGIN','HTML-TITLE-END','HWND',
+            'ICFPARAMETER','ICON','IGNORE-CURRENT-MODIFIED','IMAGE-DOWN',
+            'IMAGE-INSENSITIVE','IMAGE-UP','IMMEDIATE-DISPLAY','INDEX-INFORMATION',
+            'IN-HANDLE','INHERIT-BGCOLOR','INHERIT-FGCOLOR','INITIAL','INIT',
+            'INNER-CHARS','INNER-LINES','INPUT-VALUE','INSTANTIATING-PROCEDURE',
+            'INTERNAL-ENTRIES','IS-CLASS','IS-OPEN','IS-PARAMETER-SET',
+            'IS-XML','ITEMS-PER-ROW','KEEP-CONNECTION-OPEN','KEEP-FRAME-Z-ORDER',
+            'KEEP-SECURITY-CACHE','KEY','KEYS','LABEL',
+            'LABEL-BGCOLOR','LABEL-DCOLOR','LABEL-FGCOLOR','LABEL-FONT',
+            'LABELS','LANGUAGES','LARGE','LARGE-TO-SMALL',
+            'LAST-ASYNC-REQUEST','LAST-BATCH','LAST-CHILD','LAST-object',
+            'LAST-PROCEDURE','LAST-SERVER','LAST-SERVER-SOCKET','LAST-SOCKET',
+            'LAST-TAB-ITEM','LINE','LIST-ITEM-PAIRS','LIST-ITEMS',
+            'LITERAL-QUESTION','LOCAL-HOST','LOCAL-NAME','LOCAL-PORT',
+            'LOCATOR-COLUMN-NUMBER','LOCATOR-LINE-NUMBER','LOCATOR-PUBLIC-ID','LOCATOR-system-ID',
+            'LOCATOR-TYPE','LOG-ENTRY-TYPES','LOGFILE-NAME','LOGGING-LEVEL',
+            'LOGIN-EXPIRATION-TIMESTAMP','LOGIN-HOST','LOGIN-STATE','LOG-THRESHOLD',
+            'MANDATORY','MANUAL-HIGHLIGHT','MAX-BUTTON','MAX-CHARS',
+            'MAX-DATA-GUESS','MAX-HEIGHT-CHARS','MAX-HEIGHT-PIXELS','MAX-VALUE',
+            'MAX-WIDTH-CHARS','MAX-WIDTH-PIXELS','MD5-VALUE','MENU-BAR',
+            'MENU-KEY','MENU-MOUSE','MERGE-BY-FIELD','MESSAGE-AREA',
+            'MESSAGE-AREA-FONT','MIN-BUTTON','MIN-COLUMN-WIDTH-CHARS','MIN-COLUMN-WIDTH-PIXELS',
+            'MIN-HEIGHT-CHARS','MIN-HEIGHT-PIXELS','MIN-SCHEMA-MARSHAL','MIN-VALUE',
+            'MIN-WIDTH-CHARS','MIN-WIDTH-PIXELS','MODIFIED','MOUSE-POINTER',
+            'MOVABLE','MULTI-COMPILE','MULTIPLE','MULTITASKING-INTERVAL',
+            'MUST-UNDERSTAND','NAME','NAMESPACE-PREFIX','NAMESPACE-URI',
+            'NEEDS-APPSERVER-PROMPT','NEEDS-PROMPT','NESTED','NEW-ROW',
+            'NEXT-COLUMN','NEXT-ROWID','NEXT-SIBLING','NEXT-TAB-ITEM', 'NO-BOX',
+            'NO-CURRENT-VALUE','NODE-VALUE','NO-EMPTY-SPACE','NO-FOCUS',
+            'NONAMESPACE-SCHEMA-LOCATION','NO-SCHEMA-MARSHAL','NO-VALIDATE','NUM-BUFFERS',
+            'NUM-BUTTONS','NUM-CHILD-RELATIONS','NUM-CHILDREN','NUM-COLUMNS',
+            'NUM-DROPPED-FILES','NUMERIC-DECIMAL-POINT','NUMERIC-FORMAT','NUMERIC-SEPARATOR',
+            'NUM-FIELDS','NUM-FORMATS','NUM-HEADER-ENTRIES','NUM-ITEMS',
+            'NUM-ITERATIONS','NUM-LINES','NUM-LOCKED-COLUMNS','NUM-LOG-FILES',
+            'NUM-MESSAGES','NUM-PARAMETERS','NUM-REFERENCES','NUM-RELATIONS',
+            'NUM-REPLACED','NUM-SELECTED-ROWS','NUM-SELECTED-WIDGETS','NUM-SOURCE-BUFFERS',
+            'NUM-TABS','NUM-TOP-BUFFERS','NUM-TO-RETAIN','NUM-VISIBLE-COLUMNS',
+            'ON-FRAME-BORDER','ORIGIN-HANDLE','ORIGIN-ROWID','OWNER',
+            'OWNER-DOCUMENT','PAGE-BOTTOM','PAGE-TOP','PARAMETER',
+            'PARENT','PARENT-BUFFER','PARENT-RELATION','PARSE-STATUS',
+            'PASSWORD-FIELD','PATHNAME','PBE-HASH-ALGORITHM','PBE-KEY-ROUNDS',
+            'PERSISTENT','PERSISTENT-CACHE-DISABLED','PERSISTENT-PROCEDURE','PFCOLOR',
+            'PIXELS-PER-COLUMN','PIXELS-PER-ROW','POPUP-MENU','POPUP-ONLY',
+            'POSITION','PREFER-DATASET','PREPARED','PREPARE-STRING',
+            'PREV-COLUMN','PREV-SIBLING','PREV-TAB-ITEM','PRIMARY',
+            'PRINTER-CONTROL-HANDLE','PRINTER-HDC','PRINTER-NAME','PRINTER-PORT',
+            'PRIVATE-DATA','PROCEDURE-NAME','PROGRESS-SOURCE','PROXY',
+            'PROXY-PASSWORD','PROXY-USERID','PUBLIC-ID','PUBLISHED-EVENTS',
+            'RADIO-BUTTONS','READ-ONLY','RECORD-LENGTH',
+            'REFRESHABLE','RELATION-FIELDS','RELATIONS-ACTIVE','REMOTE',
+            'REMOTE-HOST','REMOTE-PORT','RESIZABLE','RESIZE',
+            'RESTART-ROWID','RETAIN-SHAPE','RETURN-INSERTED','RETURN-VALUE-DATA-TYPE',
+            'ROLES','ROUNDED','COL','ROW','ROW-HEIGHT-CHARS',
+            'ROW-HEIGHT-PIXELS','ROW-MARKERS','ROW-RESIZABLE','ROW-STATE',
+            'SAVE-WHERE-STRING','SCHEMA-CHANGE','SCHEMA-LOCATION','SCHEMA-MARSHAL',
+            'SCHEMA-PATH','SCREEN-LINES','SCREEN-VALUE','SCROLLABLE',
+            'SCROLLBAR-HORIZONTAL','SCROLL-BARS','SCROLLBAR-VERTICAL','SEAL-TIMESTAMP',
+            'SELECTABLE','SELECTED','SELECTION-END','SELECTION-START',
+            'SELECTION-TEXT','SENSITIVE','SEPARATOR-FGCOLOR','SEPARATORS',
+            'SERVER','SERVER-CONNECTION-BOUND','SERVER-CONNECTION-BOUND-REQUEST','SERVER-CONNECTION-CONTEXT',
+            'SERVER-CONNECTION-ID','SERVER-OPERATING-MODE','SESSION-END','SESSION-ID',
+            'SHOW-IN-TASKBAR','SIDE-LABEL-HANDLE','SIDE-LABELS','SKIP-DELETED-RECORD',
+            'SMALL-ICON','SMALL-TITLE','SOAP-FAULT-ACTOR','SOAP-FAULT-CODE',
+            'SOAP-FAULT-DETAIL','SOAP-FAULT-STRING','SORT','SORT-ASCENDING',
+            'SORT-NUMBER','SSL-SERVER-NAME','STANDALONE','STARTUP-PARAMETERS',
+            'STATE-DETAIL','STATUS-AREA','STATUS-AREA-FONT','STOPPED',
+            'STREAM','STRETCH-TO-FIT','STRICT','STRING-VALUE',
+            'SUBTYPE','SUPER-PROCEDURES','SUPPRESS-NAMESPACE-PROCESSING','SUPPRESS-WARNINGS',
+            'SYMMETRIC-ENCRYPTION-ALGORITHM','SYMMETRIC-ENCRYPTION-IV','SYMMETRIC-ENCRYPTION-KEY','SYMMETRIC-SUPPORT',
+            'system-ALERT-BOXES','system-ID','TABLE','TABLE-CRC-LIST',
+            'TABLE-HANDLE','TABLE-LIST','TABLE-NUMBER','TAB-POSITION',
+            'TAB-STOP','TEMP-DIRECTORY','TEXT-SELECTED','THREE-D',
+            'TIC-MARKS','TIME-SOURCE','TITLE','TITLE-BGCOLOR','FIELD',
+            'TITLE-DCOLOR','TITLE-FGCOLOR','TITLE-FONT','TOOLTIP',
+            'TOOLTIPS','TOP-ONLY','TRACKING-CHANGES','TRANSACTION',
+            'TRANS-INIT-PROCEDURE','TRANSPARENT','TYPE','UNIQUE-ID',
+            'UNIQUE-MATCH','URL','URL-PASSWORD','URL-USERID','EXTENT',
+            'USER-ID','V6DISPLAY','VALIDATE-EXPRESSION','VALIDATE-MESSAGE',
+            'VALIDATE-XML','VALIDATION-ENABLED','VIEW-FIRST-COLUMN-ON-REOPEN',
+            'VIRTUAL-HEIGHT-CHARS','VIRTUAL-HEIGHT-PIXELS','VIRTUAL-WIDTH-CHARS','VIRTUAL-WIDTH-PIXELS',
+            'VISIBLE','WARNING','WHERE-STRING','widget-ENTER','DATE',
+            'widget-LEAVE','WIDTH-CHARS','WIDTH-PIXELS','WINDOW-STATE',
+            'WINDOW-system','WORD-WRAP','WORK-AREA-HEIGHT-PIXELS','WORK-AREA-WIDTH-PIXELS',
+            'WORK-AREA-X','WORK-AREA-Y','WRITE-STATUS','X','widget-Handle',
+            'X-DOCUMENT','XML-DATA-TYPE','XML-NODE-TYPE','XML-SCHEMA-PATH',
+            'XML-SUPPRESS-NAMESPACE-PROCESSING','Y','YEAR-OFFSET','CHARACTER','INTEGER','LOGICAL',
+            'LONGCHAR','MEMPTR','DECIMAL','CHAR','DEC','INT','LOG','DECI','INTE','LOGI','long'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}',
+        '<', '>', '=',
+        '+', '-', '*', '/',
+        '!', '@', '%', '|', '$',
+        ':', '.', ';', ',',
+        '?', '<=','<>','>=', '\\'
+        ),
+    'CASE_SENSITIVE' => array (
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false
+        ),
+    'STYLES' => array (
+        'KEYWORDS' => array (
+            1 => 'color: #0000ff; font-weight: bold;',
+            2 => 'color: #1D16B2;',
+            3 => 'color: #993333;',
+            4 => 'color: #0000ff;'
+            ),
+        'COMMENTS' => array (
+//            1 => 'color: #808080; font-style: italic;',
+//            2 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array (
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array (
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array (
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array (
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array (
+            0 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array (
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array (
+            ),
+        'SCRIPT' => array (
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        0 => ':'
+        ),
+    'REGEXPS' => array (
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array (
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array (
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => "(?<![\.\-a-zA-Z0-9_\$\#&])",
+            'DISALLOWED_AFTER' =>  "(?![\-a-zA-Z0-9_%])"
+        )
+    )
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/prolog.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,143 @@
+<?php
+/*************************************************************************************
+ * prolog.php
+ * --------
+ * Author: Benny Baumann (BenBE@geshi.org)
+ * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/10/02
+ *
+ * Prolog language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/02 (1.0.8.1)
+ *  -  First Release
+ *
+ * TODO (updated 2008/10/02)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Prolog',
+    'COMMENT_SINGLE' => array(1 => '%'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'HARDQUOTE' => array("'", "'"),
+    'HARDESCAPE' => array("\'"),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '',
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_FLT_SCI_ZERO,
+    'KEYWORDS' => array(
+        1 => array(
+            'abolish','abs','arg','asserta','assertz','at_end_of_stream','atan',
+            'atom','atom_chars','atom_codes','atom_concat','atom_length',
+            'atomic','bagof','call','catch','ceiling','char_code',
+            'char_conversion','clause','close','compound','consult','copy_term',
+            'cos','current_char_conversion','current_input','current_op',
+            'current_output','current_predicate','current_prolog_flag',
+            'discontiguous','dynamic','ensure_loaded','exp','fail','findall',
+            'float','float_fractional_part','float_integer_part','floor',
+            'flush_output','functor','get_byte','get_char','get_code','halt',
+            'include','initialization','integer','is','listing','log','mod',
+            'multifile','nl','nonvar','notrace','number','number_chars',
+            'number_codes','once','op','open','peek_byte','peek_char',
+            'peek_code','put_byte','put_char','put_code','read','read_term',
+            'rem','repeat','retract','round','set_input','set_output',
+            'set_prolog_flag','set_stream_position','setof','sign','sin','sqrt',
+            'stream_property','sub_atom','throw','trace','true','truncate',
+            'unify_with_occurs_check','univ','var','write','write_canonical',
+            'write_term','writeq'
+            )
+        ),
+    'SYMBOLS' => array(
+        0 => array('(', ')', '[', ']', '{', '}',),
+        1 => array('?-', ':-', '=:='),
+        2 => array('\-', '\+', '\*', '\/'),
+        3 => array('-', '+', '*', '/'),
+        4 => array('.', ':', ',', ';'),
+        5 => array('!', '@', '&', '|'),
+        6 => array('<', '>', '=')
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #990000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            'HARD' => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #0000ff;',
+            'HARD' => 'color: #0000ff;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #800080;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;',
+            1 => 'color: #339933;',
+            2 => 'color: #339933;',
+            3 => 'color: #339933;',
+            4 => 'color: #339933;',
+            5 => 'color: #339933;',
+            6 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #008080;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => 'http://pauillac.inria.fr/~deransar/prolog/bips.html'
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        //Variables
+        0 => "(?<![A-Z_])(?!(?:PIPE|SEMI)[^a-zA-Z0-9_])[A-Z_][a-zA-Z0-9_]*(?![a-zA-Z0-9_])"
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/providex.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,299 @@
+<?php
+/******************************************************************************
+ * providex.php
+ * ----------
+ * Author: Jeff Wilder (jeff@coastallogix.com)
+ * Copyright:  (c) 2008 Coastal Logix (http://www.coastallogix.com)
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/10/18
+ *
+ * ProvideX language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/21 (1.0.0)
+ *  - First Release
+ *
+ * TODO
+ * -------------------------
+ * 1. Create a regexp for numeric global variables (ex: %VarName = 3)
+ * 2. Add standard object control properties
+ *
+ ******************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ *****************************************************************************/
+$language_data = array (
+    'LANG_NAME' => 'ProvideX',
+    'COMMENT_SINGLE' => array(1 => '!'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'COMMENT_REGEXP' => array(
+        // Single-Line Comments using REM command
+        2 => "/\bREM\b.*?$/i"
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            // Directives
+            '*break', '*continue', '*end', '*escape', '*next', '*proceed',
+            '*retry', '*return', '*same', 'accept', 'add index', 'addr',
+            'auto', 'begin', 'break', 'button', 'bye', 'call', 'case',
+            'chart', 'check_box', 'class', 'clear', 'clip_board', 'close',
+            'continue', 'control', 'create required', 'create table',
+            'cwdir', 'data', 'day_format', 'def', 'default', 'defctl',
+            'defprt', 'deftty', 'delete required', 'dictionary', 'dim', 'direct',
+            'directory', 'disable', 'drop', 'drop_box', 'dump', 'edit',
+            'else', 'enable', 'end switch', 'end', 'end_if', 'endtrace',
+            'enter', 'erase', 'error_handler', 'escape', 'event', 'execute',
+            'exit', 'exitto', 'extract', 'file', 'find', 'floating point',
+            'for', 'function', 'get_file_box', 'gosub', 'goto', 'grid',
+            'h_scrollbar', 'hide', 'if', 'index', 'indexed', 'input',
+            'insert', 'invoke', 'iolist', 'keyed', 'let', 'like',
+            'line_switch', 'list', 'list_box', 'load', 'local', 'lock',
+            'long_form', 'menu_bar', 'merge', 'message_lib', 'mnemonic',
+            'msgbox', 'multi_line', 'multi_media', 'next', 'object', 'obtain',
+            'on', 'open', 'password', 'perform', 'pop', 'popup_menu',
+            'precision', 'prefix', 'preinput', 'print', 'process', 'program',
+            'property', 'purge', 'quit', 'radio_button', 'randomize',
+            'read', 'record', 'redim', 'refile', 'release', 'rem', 'remove',
+            'rename', 'renumber', 'repeat', 'reset', 'restore', 'retry',
+            'return', 'round', 'run', 'save', 'select', 'serial', 'server',
+            'set_focus', 'set_nbf', 'set_param', 'setctl', 'setday', 'setdev',
+            'setdrive', 'seterr', 'setesc', 'setfid', 'setmouse', 'settime',
+            'settrace', 'short_form', 'show', 'sort', 'start', 'static',
+            'step', 'stop', 'switch', 'system_help', 'system_jrnl', 'table',
+            'then', 'to', 'translate', 'tristate_box', 'unlock', 'until',
+            'update', 'user_lex', 'v_scrollbar', 'vardrop_box', 'varlist_box',
+            'via', 'video_palette', 'wait', 'wend', 'while', 'winprt_setup',
+            'with', 'write'
+            ),
+        2 => array(
+            // System Functions
+            '@x', '@y', 'abs', 'acs', 'and', 'arg', 'asc', 'asn', 'ath',
+            'atn', 'bin', 'bsz', 'chg', 'chr', 'cmp', 'cos', 'cpl',
+            'crc', 'cse', 'ctl', 'cvs', 'dec', 'dir', 'dll', 'dsk',
+            'dte', 'env', 'ept', 'err', 'evn', 'evs', 'exp', 'ffn',
+            'fib', 'fid', 'fin', 'fpt', 'gap', 'gbl', 'gep', 'hsa',
+            'hsh', 'hta', 'hwn', 'i3e', 'ind', 'int', 'iol', 'ior',
+            'jul', 'jst', 'kec', 'kef', 'kel', 'ken', 'kep', 'key',
+            'kgn', 'lcs', 'len', 'lno', 'log', 'lrc', 'lst', 'max',
+            'mem', 'mid', 'min', 'mnm', 'mod', 'msg', 'msk', 'mxc',
+            'mxl', 'new', 'not', 'nul', 'num', 'obj', 'opt', 'pad',
+            'pck', 'pfx', 'pgm', 'pos', 'prc', 'prm', 'pth', 'pub',
+            'rcd', 'rdx', 'rec', 'ref', 'rnd', 'rno', 'sep', 'sgn',
+            'sin', 'sqr', 'srt', 'ssz', 'stk', 'stp', 'str', 'sub',
+            'swp', 'sys', 'tan', 'tbl', 'tcb', 'tmr', 'trx', 'tsk',
+            'txh', 'txw', 'ucp', 'ucs', 'upk', 'vin', 'vis', 'xeq',
+            'xfa', 'xor', '_obj'
+            ),
+        3 => array(
+            // System Variables
+            // Vars that are duplicates of functions
+            // 'ctl', 'err', 'pfx', 'prm', 'rnd', 'sep', 'sys',
+            'bkg', 'chn', 'day', 'dlm', 'dsz', 'eom', 'ers', 'esc',
+            'gfn', 'gid', 'hfn', 'hlp', 'hwd', 'lfa', 'lfo', 'lip',
+            'lpg', 'lwd', 'mse', 'msl', 'nar', 'nid', 'pgn', 'psz',
+            'quo', 'ret', 'sid', 'ssn', 'tim', 'tme', 'tms', 'tsm',
+            'uid', 'unt', 'who'
+
+            ),
+        4 => array(
+            // Nomads Variables
+            '%Flmaint_Lib$', '%Flmaint_Msg$', '%Nomads_Activation_Ok',
+            '%Nomads_Auto_Qry', '%Nomads_Disable_Debug',
+            '%Nomads_Disable_Trace', '%Nomads_Fkey_Handler$',
+            '%Nomads_Fkey_Tbl$', '%Nomads_Notest', '%Nomads_Onexit$',
+            '%Nomads_Post_Display', '%Nomads_Pre_Display$',
+            '%Nomads_Process$', '%Nomads_Trace_File$',
+            '%Nomad_Actv_Folder_Colors$', '%Nomad_Automation_Enabled',
+            '%Nomad_Auto_Close', '%Nomad_Center_Wdw', '%Nomad_Concurrent_Wdw',
+            '%Nomad_Custom_Define', '%Nomad_Custom_Dir$',
+            '%Nomad_Custom_Genmtc', '%Nomad_Custom_Skip_Definition',
+            '%Nomad_Def_Sfx$', '%Nomad_Enter_Tab', '%Nomad_Esc_Sel',
+            '%Nomad_Isjavx', '%Nomad_Iswindx', '%Nomad_Iswindx$',
+            '%Nomad_Menu$', '%Nomad_Menu_Leftedge_Clr$',
+            '%Nomad_Menu_Textbackground_Clr$', '%Nomad_Mln_Sep$',
+            '%Nomad_Msgmnt$', '%Nomad_Noplusw', '%Nomad_No_Customize',
+            '%Nomad_Object_Persistence', '%Nomad_Object_Resize',
+            '%Nomad_Open_Load', '%Nomad_Override_Font$',
+            '%Nomad_Palette_Loaded', '%Nomad_Panel_Info_Force',
+            '%Nomad_Panel_Info_Prog$', '%Nomad_Pnl_Def_Colour$',
+            '%Nomad_Pnl_Def_Font$', '%Nomad_Prg_Cache', '%Nomad_Qry_Attr$',
+            '%Nomad_Qry_Btn$', '%Nomad_Qry_Clear_Start', '%Nomad_Qry_Tip$',
+            '%Nomad_Qry_Wide', '%Nomad_Query_Clear_Status', '%Nomad_Query_Kno',
+            '%Nomad_Query_No_Gray', '%Nomad_Query_Odb_Ignore',
+            '%Nomad_Query_Retkno', '%Nomad_Query_Sbar_Max',
+            '%Nomad_Relative_Wdw', '%Nomad_Save_Qry_Path', '%Nomad_Script_Fn',
+            '%Nomad_Script_Log', '%Nomad_Script_Wdw',
+            '%Nomad_Skip_Change_Logic', '%Nomad_Skip_Onselect_Logic',
+            '%Nomad_Stk$', '%Nomad_Tab_Dir', '%Nomad_Timeout',
+            '%Nomad_Turbo_Off', '%Nomad_Visual_Effect',
+            '%Nomad_Visual_Override', '%Nomad_Win_Ver', '%Nomad_Xchar',
+            '%Nomad_Xmax', '%Nomad_Ychar', '%Nomad_Ymax', '%Scr_Def_Attr$',
+            '%Scr_Def_H_Fl$', '%Scr_Def_H_Id$', '%Scr_Lib', '%Scr_Lib$',
+            '%Z__Usr_Sec$', 'Alternate_Panel$', 'Alternate_Panel_Type$',
+            'Arg_1$', 'Arg_10$', 'Arg_11$', 'Arg_12$', 'Arg_13$', 'Arg_14$',
+            'Arg_15$', 'Arg_16$', 'Arg_17$', 'Arg_18$', 'Arg_19$', 'Arg_2$',
+            'Arg_20$', 'Arg_3$', 'Arg_4$', 'Arg_5$', 'Arg_6$', 'Arg_7$',
+            'Arg_8$', 'Arg_9$', 'Change_Flg', 'Cmd_Str$', 'Default_Prog$',
+            'Disp_Cmd$', 'Entire_Record$', 'Exit_Cmd$', 'Fldr_Default_Prog$',
+            'Folder_Id$', 'Id', 'Id$', 'Ignore_Exit', 'Initialize_Flg',
+            'Init_Text$', 'Init_Val$', 'Main_Scrn_K$', 'Mnu_Ln$',
+            'Next_Folder', 'Next_Id', 'Next_Id$', 'No_Flush', 'Prime_Key$',
+            'Prior_Val', 'Prior_Val$', 'Qry_Val$', 'Refresh_Flg',
+            'Replacement_Folder$', 'Replacement_Lib$', 'Replacement_Scrn$',
+            'Scrn_Id$', 'Scrn_K$', 'Scrn_Lib$', 'Tab_Table$', '_Eom$'
+            ),
+        5 => array(
+            // Mnemonics
+            "'!w'", "'*c'", "'*h'", "'*i'", "'*o'", "'*r'", "'*x'",
+            "'+b'", "'+d'", "'+e'", "'+f'", "'+i'", "'+n'",
+            "'+p'", "'+s'", "'+t'", "'+u'", "'+v'", "'+w'", "'+x'",
+            "'+z'", "'-b'", "'-d'", "'-e'", "'-f'", "'-i'",
+            "'-n'", "'-p'", "'-s'", "'-t'", "'-u'", "'-v'", "'-w'",
+            "'-x'", "'-z'", "'2d'", "'3d'", "'4d'", "'@@'", "'ab'",
+            "'arc'", "'at'", "'backgr'", "'bb'", "'be'", "'beep'",
+            "'bg'", "'bi'", "'bj'", "'bk'", "'black'", "'blue'",
+            "'bm'", "'bo'", "'box'", "'br'", "'bs'", "'bt'", "'bu'",
+            "'bw'", "'bx'", "'caption'", "'ce'", "'cf'", "'ch'",
+            "'ci'", "'circle'", "'cl'", "'colour'", "'cp'", "'cpi'",
+            "'cr'", "'cs'", "'cursor'", "'cyan''_cyan'", "'dc'",
+            "'default'", "'df'", "'dialogue'", "'dn'", "'do'",
+            "'drop'", "'eb'", "'ee'", "'ef'", "'eg'", "'ei'", "'ej'",
+            "'el'", "'em'", "'eo'", "'ep'", "'er'", "'es'", "'et'",
+            "'eu'", "'ew'", "'ff'", "'fill'", "'fl'", "'font'",
+            "'frame'", "'gd'", "'ge'", "'gf'", "'goto'", "'green'",
+            "'gs'", "'hide'", "'ic'", "'image'", "'jc'",
+            "'jd'", "'jl'", "'jn'", "'jr'", "'js'", "'l6'", "'l8'",
+            "'lc'", "'ld'", "'lf'", "'li'", "'line'", "'lm'",
+            "'lpi'", "'lt'", "'magenta'", "'maxsize'", "'me'",
+            "'message'", "'minsize'", "'mn'", "'mode'",
+            "'move'", "'mp'", "'ms'", "'ni'", "'offset'", "'option'",
+            "'pe'", "'pen'", "'picture'", "'pie'", "'pm'", "'polygon'",
+            "'pop'", "'ps'", "'push'", "'rb'", "'rc'", "'rectangle'",
+            "'red'", "'rl'", "'rm'", "'rp'", "'rs'", "'rt'", "'sb'",
+            "'scroll'", "'sd'", "'se'", "'sf'", "'show'", "'size'",
+            "'sl'", "'sn'", "'sp'", "'sr'", "'swap'", "'sx'", "'text'",
+            "'textwdw'", "'tr'", "'tw'", "'uc'", "'up'", "'vt'", "'wa'",
+            "'wc'", "'wd'", "'wg'", "'white'", "'window'", "'wm'",
+            "'wp'", "'wr'", "'wrap'", "'ws'", "'wx'", "'xp'", "'yellow'",
+            "'zx'", "'_black'", "'_blue'", "'_colour'", "'_green'",
+            "'_magenta'", "'_red'", "'_white'", "'_yellow'"
+            ),
+        ),
+    'SYMBOLS' => array(
+        0 => array('+', '-', '*', '/', '^', '|'),
+        1 => array('++', '--', '+=', '-=', '*=', '/=', '^=', '|='),
+        2 => array('&lt;', '&gt;', '='),
+        3 => array('(', ')', '[', ']', '{', '}'),
+        4 => array(',', '@', ';', '\\')
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: navy;', // Directives
+            2 => 'color: blue;', // System Functions
+            3 => 'color: blue;', // System Variables
+            4 => 'color: #6A5ACD; font-style: italic;', // Nomads Global Variables
+            5 => 'color: #BDB76B;', // Mnemonics
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008080; font-style: italic;',
+            2 => 'color: #008080;',
+            'MULTI' => 'color: #008080; font-style: italic;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000066;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: green;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #00008B;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #008000;',
+            1 => 'color: #000099;',
+            2 => 'color: #000099;',
+            3 => 'color: #0000C9;',
+            4 => 'color: #000099;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            1 => 'color: #006400; font-weight: bold',
+            2 => 'color: #6A5ACD;'
+            )
+        ),
+    'URLS' => array(
+        1 => 'http://www.allbasic.info./wiki/index.php/PX:Directive_{FNAME}',
+        2 => 'http://www.allbasic.info./wiki/index.php/PX:System_function_{FNAME}',
+        3 => 'http://www.allbasic.info./wiki/index.php/PX:System_variable_{FNAME}',
+        4 => 'http://www.allbasic.info./wiki/index.php/PX:Nomads_{FNAME}',
+        5 => 'http://www.allbasic.info./wiki/index.php/PX:Mnemonic_{FNAMEU}'
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => "'"
+        ),
+    'REGEXPS' => array(
+        1 => array(
+            // Line Labels
+            GESHI_SEARCH => '([[:space:]])([a-zA-Z_][a-zA-Z0-9_]+)(:)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3'
+            ),
+        2 => array(
+            // Global String Variables
+            GESHI_SEARCH => '(\%)([a-zA-Z_][a-zA-Z0-9_]+)(\$)',
+            GESHI_REPLACE => '\\1\\2\\3',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            )
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'NUMBERS' => GESHI_NEVER
+            )
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- a/plugins/geshi/geshi/python.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/python.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * ----------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/08/30
  *
  * Python language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/12/18
+ *  -  Added missing functions and keywords. Also added two new Python 3.0 types. SF#2441839
  * 2005/05/26
  *  -  Modifications by Tim (tim@skreak.com): added more keyword categories, tweaked colors
  * 2004/11/27 (1.0.1)
@@ -42,186 +44,194 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Python',
-	'COMMENT_SINGLE' => array(1 => '#'),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"', "'", '"""'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
+    'LANG_NAME' => 'Python',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    //Longest quotemarks ALWAYS first
+    'QUOTEMARKS' => array('"""', '"', "'"),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
 
-		/*
-		** Set 1: reserved words
-		** http://python.org/doc/current/ref/keywords.html
-		*/
-		1 => array(
-			'and', 'del', 'for', 'is', 'raise', 'assert', 'elif', 'from', 'lambda', 'return', 'break',
-			'else', 'global', 'not', 'try', 'class', 'except', 'if', 'or', 'while', 'continue', 'exec',
-			'import', 'pass', 'yield', 'def', 'finally', 'in', 'print'
-			),
+        /*
+        ** Set 1: reserved words
+        ** http://python.org/doc/current/ref/keywords.html
+        */
+        1 => array(
+            'and', 'del', 'for', 'is', 'raise', 'assert', 'elif', 'from', 'lambda', 'return', 'break',
+            'else', 'global', 'not', 'try', 'class', 'except', 'if', 'or', 'while', 'continue', 'exec',
+            'import', 'pass', 'yield', 'def', 'finally', 'in', 'print', 'with', 'as'
+            ),
 
-		/*
-		** Set 2: builtins
-		** http://python.org/doc/current/lib/built-in-funcs.html
-		*/
-		2 => array(
-			'__import__', 'abs', 'basestring', 'bool', 'callable', 'chr', 'classmethod', 'cmp', 
-			'compile', 'complex', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'execfile', 
-			'file', 'filter', 'float', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help',
-			'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'list', 'locals',
-			'long', 'map', 'max', 'min', 'object', 'oct', 'open', 'ord', 'pow', 'property', 'range',
-			'raw_input', 'reduce', 'reload', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice',
-			'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode', 
-			'vars', 'xrange', 'zip',
-			// Built-in constants: http://python.org/doc/current/lib/node35.html
-			'False', 'True', 'None', 'NotImplemented', 'Ellipsis',
-			// Built-in Exceptions: http://python.org/doc/current/lib/module-exceptions.html
-			'Exception', 'StandardError', 'ArithmeticError', 'LookupError', 'EnvironmentError',
-			'AssertionError', 'AttributeError', 'EOFError', 'FloatingPointError', 'IOError',
-			'ImportError', 'IndexError', 'KeyError', 'KeyboardInterrupt', 'MemoryError', 'NameError',
-			'NotImplementedError', 'OSError', 'OverflowError', 'ReferenceError', 'RuntimeError',
-			'StopIteration', 'SyntaxError', 'SystemError', 'SystemExit', 'TypeError',
-			'UnboundlocalError', 'UnicodeError', 'UnicodeEncodeError', 'UnicodeDecodeError',
-			'UnicodeTranslateError', 'ValueError', 'WindowsError', 'ZeroDivisionError', 'Warning',
-			'UserWarning', 'DeprecationWarning', 'PendingDeprecationWarning', 'SyntaxWarning',
-			'RuntimeWarning', 'FutureWarning',
-			// self: this is a common python convention (but not a reserved word)
-			'self'
-			),
+        /*
+        ** Set 2: builtins
+        ** http://python.org/doc/current/lib/built-in-funcs.html
+        */
+        2 => array(
+            '__import__', 'abs', 'basestring', 'bool', 'callable', 'chr', 'classmethod', 'cmp',
+            'compile', 'complex', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'execfile',
+            'file', 'filter', 'float', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help',
+            'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'list', 'locals',
+            'long', 'map', 'max', 'min', 'object', 'oct', 'open', 'ord', 'pow', 'property', 'range',
+            'raw_input', 'reduce', 'reload', 'reversed', 'round', 'set', 'setattr', 'slice',
+            'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode',
+            'vars', 'xrange', 'zip',
+            // Built-in constants: http://python.org/doc/current/lib/node35.html
+            'False', 'True', 'None', 'NotImplemented', 'Ellipsis',
+            // Built-in Exceptions: http://python.org/doc/current/lib/module-exceptions.html
+            'Exception', 'StandardError', 'ArithmeticError', 'LookupError', 'EnvironmentError',
+            'AssertionError', 'AttributeError', 'EOFError', 'FloatingPointError', 'IOError',
+            'ImportError', 'IndexError', 'KeyError', 'KeyboardInterrupt', 'MemoryError', 'NameError',
+            'NotImplementedError', 'OSError', 'OverflowError', 'ReferenceError', 'RuntimeError',
+            'StopIteration', 'SyntaxError', 'SystemError', 'SystemExit', 'TypeError',
+            'UnboundlocalError', 'UnicodeError', 'UnicodeEncodeError', 'UnicodeDecodeError',
+            'UnicodeTranslateError', 'ValueError', 'WindowsError', 'ZeroDivisionError', 'Warning',
+            'UserWarning', 'DeprecationWarning', 'PendingDeprecationWarning', 'SyntaxWarning',
+            'RuntimeWarning', 'FutureWarning',
+            // self: this is a common python convention (but not a reserved word)
+            'self',
+            // other
+            'any', 'all'
+            ),
 
-		/*
-		** Set 3: standard library
-		** http://python.org/doc/current/lib/modindex.html
-		*/
-		3 => array(
-			'__builtin__', '__future__', '__main__', '_winreg', 'aifc', 'AL', 'al', 'anydbm',
-			'array', 'asynchat', 'asyncore', 'atexit', 'audioop', 'base64', 'BaseHTTPServer',
-			'Bastion', 'binascii', 'binhex', 'bisect', 'bsddb', 'bz2', 'calendar', 'cd', 'cgi',
-			'CGIHTTPServer', 'cgitb', 'chunk', 'cmath', 'cmd', 'code', 'codecs', 'codeop',
-			'collections', 'colorsys', 'commands', 'compileall', 'compiler', 'compiler',
-			'ConfigParser', 'Cookie', 'cookielib', 'copy', 'copy_reg', 'cPickle', 'crypt',
-			'cStringIO', 'csv', 'curses', 'datetime', 'dbhash', 'dbm', 'decimal', 'DEVICE',
-			'difflib', 'dircache', 'dis', 'distutils', 'dl', 'doctest', 'DocXMLRPCServer', 'dumbdbm',
-			'dummy_thread', 'dummy_threading', 'email', 'encodings', 'errno', 'exceptions', 'fcntl',
-			'filecmp', 'fileinput', 'FL', 'fl', 'flp', 'fm', 'fnmatch', 'formatter', 'fpectl',
-			'fpformat', 'ftplib', 'gc', 'gdbm', 'getopt', 'getpass', 'gettext', 'GL', 'gl', 'glob',
-			'gopherlib', 'grp', 'gzip', 'heapq', 'hmac', 'hotshot', 'htmlentitydefs', 'htmllib',
-			'HTMLParser', 'httplib', 'imageop', 'imaplib', 'imgfile', 'imghdr', 'imp', 'inspect',
-			'itertools', 'jpeg', 'keyword', 'linecache', 'locale', 'logging', 'mailbox', 'mailcap',
-			'marshal', 'math', 'md5', 'mhlib', 'mimetools', 'mimetypes', 'MimeWriter', 'mimify',
-			'mmap', 'msvcrt', 'multifile', 'mutex', 'netrc', 'new', 'nis', 'nntplib', 'operator',
-			'optparse', 'os', 'ossaudiodev', 'parser', 'pdb', 'pickle', 'pickletools', 'pipes',
-			'pkgutil', 'platform', 'popen2', 'poplib', 'posix', 'posixfile', 'pprint', 'profile',
-			'pstats', 'pty', 'pwd', 'py_compile', 'pyclbr', 'pydoc', 'Queue', 'quopri', 'random',
-			're', 'readline', 'repr', 'resource', 'rexec', 'rfc822', 'rgbimg', 'rlcompleter',
-			'robotparser', 'sched', 'ScrolledText', 'select', 'sets', 'sgmllib', 'sha', 'shelve',
-			'shlex', 'shutil', 'signal', 'SimpleHTTPServer', 'SimpleXMLRPCServer', 'site', 'smtpd',
-			'smtplib', 'sndhdr', 'socket', 'SocketServer', 'stat', 'statcache', 'statvfs', 'string',
-			'StringIO', 'stringprep', 'struct', 'subprocess', 'sunau', 'SUNAUDIODEV', 'sunaudiodev',
-			'symbol', 'sys', 'syslog', 'tabnanny', 'tarfile', 'telnetlib', 'tempfile', 'termios',
-			'test', 'textwrap', 'thread', 'threading', 'time', 'timeit', 'Tix', 'Tkinter', 'token',
-			'tokenize', 'traceback', 'tty', 'turtle', 'types', 'unicodedata', 'unittest', 'urllib2',
-			'urllib', 'urlparse', 'user', 'UserDict', 'UserList', 'UserString', 'uu', 'warnings',
-			'wave', 'weakref', 'webbrowser', 'whichdb', 'whrandom', 'winsound', 'xdrlib', 'xml',
-			'xmllib', 'xmlrpclib', 'zipfile', 'zipimport', 'zlib'
-			),
+        /*
+        ** Set 3: standard library
+        ** http://python.org/doc/current/lib/modindex.html
+        */
+        3 => array(
+            '__builtin__', '__future__', '__main__', '_winreg', 'aifc', 'AL', 'al', 'anydbm',
+            'array', 'asynchat', 'asyncore', 'atexit', 'audioop', 'base64', 'BaseHTTPServer',
+            'Bastion', 'binascii', 'binhex', 'bisect', 'bsddb', 'bz2', 'calendar', 'cd', 'cgi',
+            'CGIHTTPServer', 'cgitb', 'chunk', 'cmath', 'cmd', 'code', 'codecs', 'codeop',
+            'collections', 'colorsys', 'commands', 'compileall', 'compiler',
+            'ConfigParser', 'Cookie', 'cookielib', 'copy', 'copy_reg', 'cPickle', 'crypt',
+            'cStringIO', 'csv', 'curses', 'datetime', 'dbhash', 'dbm', 'decimal', 'DEVICE',
+            'difflib', 'dircache', 'dis', 'distutils', 'dl', 'doctest', 'DocXMLRPCServer', 'dumbdbm',
+            'dummy_thread', 'dummy_threading', 'email', 'encodings', 'errno', 'exceptions', 'fcntl',
+            'filecmp', 'fileinput', 'FL', 'fl', 'flp', 'fm', 'fnmatch', 'formatter', 'fpectl',
+            'fpformat', 'ftplib', 'gc', 'gdbm', 'getopt', 'getpass', 'gettext', 'GL', 'gl', 'glob',
+            'gopherlib', 'grp', 'gzip', 'heapq', 'hmac', 'hotshot', 'htmlentitydefs', 'htmllib',
+            'HTMLParser', 'httplib', 'imageop', 'imaplib', 'imgfile', 'imghdr', 'imp', 'inspect',
+            'itertools', 'jpeg', 'keyword', 'linecache', 'locale', 'logging', 'mailbox', 'mailcap',
+            'marshal', 'math', 'md5', 'mhlib', 'mimetools', 'mimetypes', 'MimeWriter', 'mimify',
+            'mmap', 'msvcrt', 'multifile', 'mutex', 'netrc', 'new', 'nis', 'nntplib', 'operator',
+            'optparse', 'os', 'ossaudiodev', 'parser', 'pdb', 'pickle', 'pickletools', 'pipes',
+            'pkgutil', 'platform', 'popen2', 'poplib', 'posix', 'posixfile', 'pprint', 'profile',
+            'pstats', 'pty', 'pwd', 'py_compile', 'pyclbr', 'pydoc', 'Queue', 'quopri', 'random',
+            're', 'readline', 'repr', 'resource', 'rexec', 'rfc822', 'rgbimg', 'rlcompleter',
+            'robotparser', 'sched', 'ScrolledText', 'select', 'sets', 'sgmllib', 'sha', 'shelve',
+            'shlex', 'shutil', 'signal', 'SimpleHTTPServer', 'SimpleXMLRPCServer', 'site', 'smtpd',
+            'smtplib', 'sndhdr', 'socket', 'SocketServer', 'stat', 'statcache', 'statvfs', 'string',
+            'StringIO', 'stringprep', 'struct', 'subprocess', 'sunau', 'SUNAUDIODEV', 'sunaudiodev',
+            'symbol', 'sys', 'syslog', 'tabnanny', 'tarfile', 'telnetlib', 'tempfile', 'termios',
+            'test', 'textwrap', 'thread', 'threading', 'time', 'timeit', 'Tix', 'Tkinter', 'token',
+            'tokenize', 'traceback', 'tty', 'turtle', 'types', 'unicodedata', 'unittest', 'urllib2',
+            'urllib', 'urlparse', 'user', 'UserDict', 'UserList', 'UserString', 'uu', 'warnings',
+            'wave', 'weakref', 'webbrowser', 'whichdb', 'whrandom', 'winsound', 'xdrlib', 'xml',
+            'xmllib', 'xmlrpclib', 'zipfile', 'zipimport', 'zlib',
+            // Python 3.0
+            'bytes', 'bytearray'
+            ),
 
-		/*
-		** Set 4: special methods
-		** http://python.org/doc/current/ref/specialnames.html
-		*/
-		4 => array(
-			/*
-			// Iterator types: http://python.org/doc/current/lib/typeiter.html
-			'__iter__', 'next',
-			// String types: http://python.org/doc/current/lib/string-methods.html
-			'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs',
-			'find', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle',
-			'isupper', 'join', 'ljust', 'lower', 'lstrip', 'replace', 'rfind', 'rindex', 'rjust',
-			'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title',
-			'translate', 'upper', 'zfill',
-			*/
-			// Basic customization: http://python.org/doc/current/ref/customization.html
-			'__new__', '__init__', '__del__', '__repr__', '__str__', 
-			'__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', '__cmp__', '__rcmp__',
-			'__hash__', '__nonzero__', '__unicode__', '__dict__',
-			// Attribute access: http://python.org/doc/current/ref/attribute-access.html
-			'__setattr__', '__delattr__', '__getattr__', '__getattribute__', '__get__', '__set__',
-			'__delete__', '__slots__',
-			// Class creation, callable objects
-			'__metaclass__', '__call__', 
-			// Container types: http://python.org/doc/current/ref/sequence-types.html
-			'__len__', '__getitem__', '__setitem__', '__delitem__', '__iter__', '__contains__',
-			'__getslice__', '__setslice__', '__delslice__',
-			// Numeric types: http://python.org/doc/current/ref/numeric-types.html
-			'__abs__','__add__','__and__','__coerce__','__div__','__divmod__','__float__',
-			'__hex__','__iadd__','__isub__','__imod__','__idiv__','__ipow__','__iand__',
-			'__ior__','__ixor__', '__ilshift__','__irshift__','__invert__','__int__',
-			'__long__','__lshift__',
-			'__mod__','__mul__','__neg__','__oct__','__or__','__pos__','__pow__',
-			'__radd__','__rdiv__','__rdivmod__','__rmod__','__rpow__','__rlshift__','__rrshift__',
-			'__rshift__','__rsub__','__rmul__','__repr__','__rand__','__rxor__','__ror__',
-			'__sub__','__xor__'
-			)
-
-		),
-	'SYMBOLS' => array(
-			'(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?', '`'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => true,
+        /*
+        ** Set 4: special methods
+        ** http://python.org/doc/current/ref/specialnames.html
+        */
+        4 => array(
+            /*
+            // Iterator types: http://python.org/doc/current/lib/typeiter.html
+            '__iter__', 'next',
+            // String types: http://python.org/doc/current/lib/string-methods.html
+            'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs',
+            'find', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle',
+            'isupper', 'join', 'ljust', 'lower', 'lstrip', 'replace', 'rfind', 'rindex', 'rjust',
+            'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title',
+            'translate', 'upper', 'zfill',
+            */
+            // Basic customization: http://python.org/doc/current/ref/customization.html
+            '__new__', '__init__', '__del__', '__repr__', '__str__',
+            '__lt__', '__le__', '__eq__', '__ne__', '__gt__', '__ge__', '__cmp__', '__rcmp__',
+            '__hash__', '__nonzero__', '__unicode__', '__dict__',
+            // Attribute access: http://python.org/doc/current/ref/attribute-access.html
+            '__setattr__', '__delattr__', '__getattr__', '__getattribute__', '__get__', '__set__',
+            '__delete__', '__slots__',
+            // Class creation, callable objects
+            '__metaclass__', '__call__',
+            // Container types: http://python.org/doc/current/ref/sequence-types.html
+            '__len__', '__getitem__', '__setitem__', '__delitem__', '__iter__', '__contains__',
+            '__getslice__', '__setslice__', '__delslice__',
+            // Numeric types: http://python.org/doc/current/ref/numeric-types.html
+            '__abs__','__add__','__and__','__coerce__','__div__','__divmod__','__float__',
+            '__hex__','__iadd__','__isub__','__imod__','__idiv__','__ipow__','__iand__',
+            '__ior__','__ixor__', '__ilshift__','__irshift__','__invert__','__int__',
+            '__long__','__lshift__',
+            '__mod__','__mul__','__neg__','__oct__','__or__','__pos__','__pow__',
+            '__radd__','__rdiv__','__rdivmod__','__rmod__','__rpow__','__rlshift__','__rrshift__',
+            '__rshift__','__rsub__','__rmul__','__rand__','__rxor__','__ror__',
+            '__sub__','__xor__'
+            )
+        ),
+    'SYMBOLS' => array(
+            '(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?', '`'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
         2 => true,
         3 => true,
         4 => true
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #ff7700;font-weight:bold;',	// Reserved
-			2 => 'color: #008000;',						// Built-ins + self
-			3 => 'color: #dc143c;',						// Standard lib
-			4 => 'color: #0000cd;'						// Special methods
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: black;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #483d8b;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #ff4500;'
-			),
-		'METHODS' => array(
-			1 => 'color: black;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #ff7700;font-weight:bold;',    // Reserved
+            2 => 'color: #008000;',                        // Built-ins + self
+            3 => 'color: #dc143c;',                        // Standard lib
+            4 => 'color: #0000cd;'                        // Special methods
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: black;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #483d8b;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #ff4500;'
+            ),
+        'METHODS' => array(
+            1 => 'color: black;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/qbasic.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/qbasic.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * ----------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/06/20
  *
  * QBasic/QuickBASIC language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *  -  Added description of extra language features (SF#1970248)
  * 2004/11/27 (1.0.3)
  *  -  Added support for multiple object splitters
  * 2004/10/27 (1.0.2)
@@ -48,97 +50,100 @@
  *
  ************************************************************************************/
 $language_data = array (
-	'LANG_NAME' => 'QBasic/QuickBASIC',
-	'COMMENT_SINGLE' => array(1 => "'", 2 => ' REM', 3 => "\tREM"),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
-	'QUOTEMARKS' => array('"'),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		1 => array(
-			'DO', 'LOOP', 'WHILE', 'WEND', 'THEN', 'ELSE', 'ELSEIF', 'IF',
-			'FOR', 'TO', 'NEXT', 'STEP', 'GOTO', 'GOSUB', 'RETURN', 'RESUME', 'SELECT',
-			'CASE', 'UNTIL'
-			),
-		3 => array(
-			'ABS', 'ABSOLUTE', 'ACCESS', 'ALIAS', 'AND', 'ANY', 'APPEND', 'AS', 'ASC', 'ATN',
-			'BASE', 'BEEP', 'BINARY', 'BLOAD', 'BSAVE', 'BYVAL', 'CALL', 'CALLS', 'CASE',
-			'CDBL', 'CDECL', 'CHAIN', 'CHDIR', 'CHDIR', 'CHR$', 'CINT', 'CIRCLE', 'CLEAR',
-			'CLNG', 'CLOSE', 'CLS', 'COM', 'COMMAND$', 'COMMON', 'CONST', 'COS', 'CSNG',
-			'CSRLIN', 'CVD', 'CVDMBF', 'CVI', 'CVL', 'CVS', 'CVSMDF', 'DATA', 'DATE$',
-			'DECLARE', 'DEF', 'FN', 'SEG', 'DEFDBL', 'DEFINT', 'DEFLNG', 'DEFSNG', 'DEFSTR',
-			'DIM', 'DOUBLE', 'DRAW', 'END', 'ENVIRON', 'ENVIRON$', 'EOF', 'EQV', 'ERASE',
-			'ERDEV', 'ERDEV$', 'ERL', 'ERR', 'ERROR', 'EXIT', 'EXP', 'FIELD', 'FILEATTR',
-			'FILES', 'FIX', 'FRE', 'FREEFILE', 'FUNCTION', 'GET', 'HEX$', 'IMP', 'INKEY$',
-			'INP', 'INPUT', 'INPUT$', 'INSTR', 'INT', 'INTEGER', 'IOCTL', 'IOCTL$', 'IS',
-			'KEY', 'KILL', 'LBOUND', 'LCASE$', 'LEFT$', 'LEN', 'LET', 'LINE', 'LIST', 'LOC',
-			'LOCAL', 'LOCATE', 'LOCK', 'LOF', 'LOG', 'UNLOCK', 'LONG', 'LPOS', 'LPRINT',
-			'LSET', 'LTRIM$', 'MID$', 'MKD$', 'MKDIR', 'MKDMBF$', 'MKI$', 'MKL$',
-			'MKS$', 'MKSMBF$', 'MOD', 'NAME', 'NOT', 'OCT$', 'OFF', 'ON', 'PEN', 'PLAY',
-			'STRIG', 'TIMER', 'UEVENT', 'OPEN', 'OPTION', 'BASE', 'OR', 'OUT', 'OUTPUT',
-			'PAINT', 'PALETTE', 'PCOPY', 'PEEK', 'PMAP', 'POINT', 'POKE', 'POS', 'PRESET',
-			'PRINT', 'USING', 'PSET', 'PUT', 'RANDOM', 'RANDOMIZE', 'READ', 'REDIM', 'RESET',
-			'RESTORE', 'RIGHT$', 'RMDIR', 'RND', 'RSET', 'RTRIM$', 'RUN', 'SADD', 'SCREEN',
-			'SEEK', 'SETMEM', 'SGN', 'SHARED', 'SHELL', 'SIGNAL', 'SIN', 'SINGLE', 'SLEEP',
-			'SOUND', 'SPACE$', 'SPC', 'SQR', 'STATIC', 'STICK', 'STOP', 'STR$', 'STRIG',
-			'STRING', 'STRING$', 'SUB', 'SWAP', 'SYSTEM', 'TAB', 'TAN', 'TIME$', 'TIMER',
-			'TROFF', 'TRON', 'TYPE', 'UBOUND', 'UCASE$', 'UEVENT', 'UNLOCK', 'USING', 'VAL',
-			'VARPTR', 'VARPTR$', 'VARSEG', 'VIEW', 'WAIT', 'WIDTH', 'WINDOW', 'WRITE', 'XOR'
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false,
-		3 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #a1a100;',
-			3 => 'color: #000066;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080;',
-			2 => 'color: #808080;',
-            3 => 'color: #808080;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099;'
-			),
-		'SCRIPT' => array(
-			),
-		'REGEXPS' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		3 => 'http://www.qbasicnews.com/qboho/qck{FNAME}.shtml'
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
+    'LANG_NAME' => 'QBasic/QuickBASIC',
+    'COMMENT_SINGLE' => array(1 => "'"),
+    'COMMENT_MULTI' => array(),
+    'COMMENT_REGEXP' => array(
+        //Single-Line Comments using REM command
+        2 => "/\bREM.*?$/i"
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'DO', 'LOOP', 'WHILE', 'WEND', 'THEN', 'ELSE', 'ELSEIF', 'IF',
+            'FOR', 'TO', 'NEXT', 'STEP', 'GOTO', 'GOSUB', 'CALL', 'CALLS',
+            'SUB', 'FUNCTION', 'RETURN', 'RESUME', 'SELECT', 'CASE', 'UNTIL'
+            ),
+        3 => array(
+            'ABS', 'ABSOLUTE', 'ACCESS', 'ALIAS', 'AND', 'ANY', 'APPEND', 'AS', 'ASC', 'ATN',
+            'BASE', 'BEEP', 'BINARY', 'BLOAD', 'BSAVE', 'BYVAL',
+            'CDBL', 'CDECL', 'CHAIN', 'CHDIR', 'CHR$', 'CINT', 'CIRCLE', 'CLEAR',
+            'CLNG', 'CLOSE', 'CLS', 'COM', 'COMMAND$', 'COMMON', 'CONST', 'COS', 'CSNG',
+            'CSRLIN', 'CVD', 'CVDMBF', 'CVI', 'CVL', 'CVS', 'CVSMDF', 'DATA', 'DATE$',
+            'DECLARE', 'DEF', 'FN', 'SEG', 'DEFDBL', 'DEFINT', 'DEFLNG', 'DEFSNG', 'DEFSTR',
+            'DIM', 'DOUBLE', 'DRAW', 'END', 'ENVIRON', 'ENVIRON$', 'EOF', 'EQV', 'ERASE',
+            'ERDEV', 'ERDEV$', 'ERL', 'ERR', 'ERROR', 'EXIT', 'EXP', 'FIELD', 'FILEATTR',
+            'FILES', 'FIX', 'FRE', 'FREEFILE', 'GET', 'HEX$', 'IMP', 'INKEY$',
+            'INP', 'INPUT', 'INPUT$', 'INSTR', 'INT', 'INTEGER', 'IOCTL', 'IOCTL$', 'IS',
+            'KEY', 'KILL', 'LBOUND', 'LCASE$', 'LEFT$', 'LEN', 'LET', 'LINE', 'LIST', 'LOC',
+            'LOCAL', 'LOCATE', 'LOCK', 'LOF', 'LOG', 'LONG', 'LPOS', 'LPRINT',
+            'LSET', 'LTRIM$', 'MID$', 'MKD$', 'MKDIR', 'MKDMBF$', 'MKI$', 'MKL$',
+            'MKS$', 'MKSMBF$', 'MOD', 'NAME', 'NOT', 'OCT$', 'OFF', 'ON', 'PEN', 'PLAY',
+            'OPEN', 'OPTION', 'OR', 'OUT', 'OUTPUT',
+            'PAINT', 'PALETTE', 'PCOPY', 'PEEK', 'PMAP', 'POINT', 'POKE', 'POS', 'PRESET',
+            'PRINT', 'PSET', 'PUT', 'RANDOM', 'RANDOMIZE', 'READ', 'REDIM', 'RESET',
+            'RESTORE', 'RIGHT$', 'RMDIR', 'RND', 'RSET', 'RTRIM$', 'RUN', 'SADD', 'SCREEN',
+            'SEEK', 'SETMEM', 'SGN', 'SHARED', 'SHELL', 'SIGNAL', 'SIN', 'SINGLE', 'SLEEP',
+            'SOUND', 'SPACE$', 'SPC', 'SQR', 'STATIC', 'STICK', 'STOP', 'STR$', 'STRIG',
+            'STRING', 'STRING$', 'SWAP', 'SYSTEM', 'TAB', 'TAN', 'TIME$', 'TIMER',
+            'TROFF', 'TRON', 'TYPE', 'UBOUND', 'UCASE$', 'UEVENT', 'UNLOCK', 'USING', 'VAL',
+            'VARPTR', 'VARPTR$', 'VARSEG', 'VIEW', 'WAIT', 'WIDTH', 'WINDOW', 'WRITE', 'XOR'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', ',', '+', '-', '*', '/', '=', '<', '>'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        3 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #a1a100;',
+            3 => 'color: #000066;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080;',
+            2 => 'color: #808080;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        3 => 'http://www.qbasicnews.com/qboho/qck{FNAMEL}.shtml'
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
         ),
     'TAB_WIDTH' => 8
 );
--- a/plugins/geshi/geshi/rails.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/rails.php	Fri May 29 19:30:59 2009 -0400
@@ -4,10 +4,10 @@
  * ---------
  * Author: Moises Deniz
  * Copyright: (c) 2005 Moises Deniz
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2007/03/21
  *
- * Ruby language and Ruby on Rails Framework file for GeSHi
+ * Ruby (with Ruby on Rails Framework) language file for GeSHi.
  *
  *************************************************************************************
  *
@@ -38,274 +38,274 @@
     'ESCAPE_CHAR' => '\\',
     'KEYWORDS' => array(
         1 => array(
-                'alias', 'and', 'begin', 'break', 'case', 'class',
-                'def', 'defined', 'do', 'else', 'elsif', 'end',
-                'ensure', 'for', 'if', 'in', 'module', 'while',
-                'next', 'not', 'or', 'redo', 'rescue', 'yield',
-                'retry', 'super', 'then', 'undef', 'unless',
-                'until', 'when', 'BEGIN', 'END', 'include'
+            'alias', 'and', 'begin', 'break', 'case', 'class',
+            'def', 'defined', 'do', 'else', 'elsif', 'end',
+            'ensure', 'for', 'if', 'in', 'module', 'while',
+            'next', 'not', 'or', 'redo', 'rescue', 'yield',
+            'retry', 'super', 'then', 'undef', 'unless',
+            'until', 'when', 'BEGIN', 'END', 'include'
             ),
         2 => array(
-                '__FILE__', '__LINE__', 'false', 'nil', 'self', 'true', 
-                'return'
+            '__FILE__', '__LINE__', 'false', 'nil', 'self', 'true',
+            'return'
             ),
         3 => array(
-                'Array', 'Float', 'Integer', 'String', 'at_exit',
-                'autoload', 'binding', 'caller', 'catch', 'chop', 'chop!',
-                'chomp', 'chomp!', 'eval', 'exec', 'exit', 'exit!', 'fail',
-                'fork', 'format', 'gets', 'global_variables', 'gsub', 'gsub!',
-                'iterator?', 'lambda', 'load', 'local_variables', 'loop', 
-                'open', 'p', 'print', 'printf', 'proc', 'putc', 'puts', 
-                'raise', 'rand', 'readline', 'readlines', 'require', 'select', 
-                'sleep', 'split', 'sprintf', 'srand', 'sub', 'sub!', 'syscall',
-                'system', 'trace_var', 'trap', 'untrace_var'
+            'Array', 'Float', 'Integer', 'String', 'at_exit',
+            'autoload', 'binding', 'caller', 'catch', 'chop', 'chop!',
+            'chomp', 'chomp!', 'eval', 'exec', 'exit', 'exit!', 'fail',
+            'fork', 'format', 'gets', 'global_variables', 'gsub', 'gsub!',
+            'iterator?', 'lambda', 'load', 'local_variables', 'loop',
+            'open', 'p', 'print', 'printf', 'proc', 'putc', 'puts',
+            'raise', 'rand', 'readline', 'readlines', 'require', 'select',
+            'sleep', 'split', 'sprintf', 'srand', 'sub', 'sub!', 'syscall',
+            'system', 'trace_var', 'trap', 'untrace_var'
             ),
         4 => array(
-                'Abbrev', 'ArgumentError', 'Base64', 'Benchmark', 
-                'Benchmark::Tms', 'Bignum', 'Binding', 'CGI', 'CGI::Cookie', 
-                'CGI::HtmlExtension', 'CGI::QueryExtension',
-                'CGI::Session', 'CGI::Session::FileStore', 
-                'CGI::Session::MemoryStore', 'Class', 'Comparable', 'Complex', 
-                'ConditionVariable', 'Continuation', 'Data',
-                'Date', 'DateTime', 'Delegator', 'Dir', 'EOFError', 'ERB', 
-                'ERB::Util', 'Enumerable', 'Enumerable::Enumerator', 'Errno', 
-                'Exception', 'FalseClass', 'File',
-                'File::Constants', 'File::Stat', 'FileTest', 'FileUtils', 
-                'FileUtils::DryRun', 'FileUtils::NoWrite', 
-                'FileUtils::StreamUtils_', 'FileUtils::Verbose', 'Find',
-                'Fixnum', 'FloatDomainError', 'Forwardable', 'GC', 'Generator', 
-                'Hash', 'IO', 'IOError', 'Iconv', 'Iconv::BrokenLibrary', 
-                'Iconv::Failure', 'Iconv::IllegalSequence',
-                'Iconv::InvalidCharacter', 'Iconv::InvalidEncoding', 
-                'Iconv::OutOfRange', 'IndexError', 'Interrupt', 'Kernel', 
-                'LoadError', 'LocalJumpError', 'Logger', 'Logger::Application',
-                'Logger::Error', 'Logger::Formatter', 'Logger::LogDevice', 
-                'Logger::LogDevice::LogDeviceMutex', 'Logger::Severity', 
-                'Logger::ShiftingError', 'Marshal', 'MatchData',
-                'Math', 'Matrix', 'Method', 'Module', 'Mutex', 'NameError', 
-                'NameError::message', 'NilClass', 'NoMemoryError', 
-                'NoMethodError', 'NotImplementedError', 'Numeric', 'Object',
-                'ObjectSpace', 'Observable', 'PStore', 'PStore::Error', 
-                'Pathname', 'Precision', 'Proc', 'Process', 'Process::GID', 
-                'Process::Status', 'Process::Sys', 'Process::UID', 'Queue',
-                'Range', 'RangeError', 'Rational', 'Regexp', 'RegexpError', 
-                'RuntimeError', 'ScriptError', 'SecurityError', 'Set', 
-                'Shellwords', 'Signal', 'SignalException', 'SimpleDelegator',
-                'SingleForwardable', 'Singleton', 'SingletonClassMethods', 
-                'SizedQueue', 'SortedSet', 'StandardError', 'StringIO', 
-                'StringScanner', 'StringScanner::Error', 'Struct', 'Symbol',
-                'SyncEnumerator', 'SyntaxError', 'SystemCallError', 
-                'SystemExit', 'SystemStackError', 'Tempfile', 
-                'Test::Unit::TestCase', 'Test::Unit', 'Test', 'Thread', 
-                'ThreadError', 'ThreadGroup',
-                'ThreadsWait', 'Time', 'TrueClass', 'TypeError', 'URI', 
-                'URI::BadURIError', 'URI::Error', 'URI::Escape', 'URI::FTP', 
-                'URI::Generic', 'URI::HTTP', 'URI::HTTPS',
-                'URI::InvalidComponentError', 'URI::InvalidURIError', 
-                'URI::LDAP', 'URI::MailTo', 'URI::REGEXP', 
-                'URI::REGEXP::PATTERN', 'UnboundMethod', 'Vector', 'YAML', 
-                'ZeroDivisionError', 'Zlib',
-                'Zlib::BufError', 'Zlib::DataError', 'Zlib::Deflate', 
-                'Zlib::Error', 'Zlib::GzipFile', 'Zlib::GzipFile::CRCError', 
-                'Zlib::GzipFile::Error', 'Zlib::GzipFile::LengthError',
-                'Zlib::GzipFile::NoFooter', 'Zlib::GzipReader', 
-                'Zlib::GzipWriter', 'Zlib::Inflate', 'Zlib::MemError', 
-                'Zlib::NeedDict', 'Zlib::StreamEnd', 'Zlib::StreamError', 
-                'Zlib::VersionError',
-                'Zlib::ZStream',
-                'ActionController::AbstractRequest', 
-                'ActionController::Assertions::DomAssertions', 
-                'ActionController::Assertions::ModelAssertions',
-                'ActionController::Assertions::ResponseAssertions', 
-                'ActionController::Assertions::RoutingAssertions', 
-                'ActionController::Assertions::SelectorAssertions',
-                'ActionController::Assertions::TagAssertions', 
-                'ActionController::Base', 
-                'ActionController::Benchmarking::ClassMethods', 
-                'ActionController::Caching',
-                'ActionController::Caching::Actions', 
-                'ActionController::Caching::Actions::ActionCachePath', 
-                'ActionController::Caching::Fragments', 
-                'ActionController::Caching::Pages',
-                'ActionController::Caching::Pages::ClassMethods', 
-                'ActionController::Caching::Sweeping', 
-                'ActionController::Components', 
-                'ActionController::Components::ClassMethods',
-                'ActionController::Components::InstanceMethods', 
-                'ActionController::Cookies', 
-                'ActionController::Filters::ClassMethods', 
-                'ActionController::Flash',
-                'ActionController::Flash::FlashHash', 
-                'ActionController::Helpers::ClassMethods', 
-                'ActionController::Integration::Session', 
-                'ActionController::IntegrationTest',
-                'ActionController::Layout::ClassMethods', 
-                'ActionController::Macros', 
-                'ActionController::Macros::AutoComplete::ClassMethods',
-                'ActionController::Macros::InPlaceEditing::ClassMethods', 
-                'ActionController::MimeResponds::InstanceMethods', 
-                'ActionController::Pagination',
-                'ActionController::Pagination::ClassMethods', 
-                'ActionController::Pagination::Paginator', 
-                'ActionController::Pagination::Paginator::Page',
-                'ActionController::Pagination::Paginator::Window', 
-                'ActionController::Rescue', 'ActionController::Resources', 
-                'ActionController::Routing',
-                'ActionController::Scaffolding::ClassMethods', 
-                'ActionController::SessionManagement::ClassMethods', 
-                'ActionController::Streaming', 'ActionController::TestProcess',
-                'ActionController::TestUploadedFile', 
-                'ActionController::UrlWriter', 
-                'ActionController::Verification::ClassMethods', 
-                'ActionMailer::Base', 'ActionView::Base',
-                'ActionView::Helpers::ActiveRecordHelper', 
-                'ActionView::Helpers::AssetTagHelper', 
-                'ActionView::Helpers::BenchmarkHelper', 
-                'ActionView::Helpers::CacheHelper',
-                'ActionView::Helpers::CaptureHelper', 
-                'ActionView::Helpers::DateHelper', 
-                'ActionView::Helpers::DebugHelper', 
-                'ActionView::Helpers::FormHelper',
-                'ActionView::Helpers::FormOptionsHelper', 
-                'ActionView::Helpers::FormTagHelper', 
-                'ActionView::Helpers::JavaScriptHelper', 
-                'ActionView::Helpers::JavaScriptMacrosHelper',
-                'ActionView::Helpers::NumberHelper', 
-                'ActionView::Helpers::PaginationHelper', 
-                'ActionView::Helpers::PrototypeHelper',
-                'ActionView::Helpers::PrototypeHelper::JavaScriptGenerator::GeneratorMethods', 
-                'ActionView::Helpers::ScriptaculousHelper', 
-                'ActionView::Helpers::TagHelper',
-                'ActionView::Helpers::TextHelper', 
-                'ActionView::Helpers::UrlHelper', 'ActionView::Partials', 
-                'ActionWebService::API::Method', 'ActionWebService::Base',
-                'ActionWebService::Client::Soap', 
-                'ActionWebService::Client::XmlRpc', 
-                'ActionWebService::Container::ActionController::ClassMethods',
-                'ActionWebService::Container::Delegated::ClassMethods', 
-                'ActionWebService::Container::Direct::ClassMethods', 
-                'ActionWebService::Invocation::ClassMethods',
-                'ActionWebService::Scaffolding::ClassMethods', 
-                'ActionWebService::SignatureTypes', 'ActionWebService::Struct', 
-                'ActiveRecord::Acts::List::ClassMethods',
-                'ActiveRecord::Acts::List::InstanceMethods', 
-                'ActiveRecord::Acts::NestedSet::ClassMethods', 
-                'ActiveRecord::Acts::NestedSet::InstanceMethods',
-                'ActiveRecord::Acts::Tree::ClassMethods', 
-                'ActiveRecord::Acts::Tree::InstanceMethods', 
-                'ActiveRecord::Aggregations::ClassMethods', 
-                'ActiveRecord::Associations::ClassMethods',
-                'ActiveRecord::AttributeMethods::ClassMethods', 
-                'ActiveRecord::Base', 
-                'ActiveRecord::Calculations::ClassMethods', 
-                'ActiveRecord::Callbacks',
-                'ActiveRecord::ConnectionAdapters::AbstractAdapter', 
-                'ActiveRecord::ConnectionAdapters::Column', 
-                'ActiveRecord::ConnectionAdapters::DB2Adapter',
-                'ActiveRecord::ConnectionAdapters::DatabaseStatements', 
-                'ActiveRecord::ConnectionAdapters::FirebirdAdapter', 
-                'ActiveRecord::ConnectionAdapters::FrontBaseAdapter',
-                'ActiveRecord::ConnectionAdapters::MysqlAdapter', 
-                'ActiveRecord::ConnectionAdapters::OpenBaseAdapter', 
-                'ActiveRecord::ConnectionAdapters::OracleAdapter',
-                'ActiveRecord::ConnectionAdapters::PostgreSQLAdapter', 
-                'ActiveRecord::ConnectionAdapters::Quoting', 
-                'ActiveRecord::ConnectionAdapters::SQLServerAdapter',
-                'ActiveRecord::ConnectionAdapters::SQLiteAdapter', 
-                'ActiveRecord::ConnectionAdapters::SchemaStatements', 
-                'ActiveRecord::ConnectionAdapters::SybaseAdapter::ColumnWithIdentity',
-                'ActiveRecord::ConnectionAdapters::SybaseAdapterContext', 
-                'ActiveRecord::ConnectionAdapters::TableDefinition', 
-                'ActiveRecord::Errors', 'ActiveRecord::Locking',
-                'ActiveRecord::Locking::Optimistic', 
-                'ActiveRecord::Locking::Optimistic::ClassMethods', 
-                'ActiveRecord::Locking::Pessimistic', 
-                'ActiveRecord::Migration', 'ActiveRecord::Observer',
-                'ActiveRecord::Observing::ClassMethods', 
-                'ActiveRecord::Reflection::ClassMethods', 
-                'ActiveRecord::Reflection::MacroReflection', 
-                'ActiveRecord::Schema', 'ActiveRecord::Timestamp',
-                'ActiveRecord::Transactions::ClassMethods', 
-                'ActiveRecord::Validations', 
-                'ActiveRecord::Validations::ClassMethods', 
-                'ActiveRecord::XmlSerialization',
-                'ActiveSupport::CachingTools::HashCaching', 
-                'ActiveSupport::CoreExtensions::Array::Conversions', 
-                'ActiveSupport::CoreExtensions::Array::Grouping',
-                'ActiveSupport::CoreExtensions::Date::Conversions', 
-                'ActiveSupport::CoreExtensions::Hash::Conversions', 
-                'ActiveSupport::CoreExtensions::Hash::Conversions::ClassMethods',
-                'ActiveSupport::CoreExtensions::Hash::Diff', 
-                'ActiveSupport::CoreExtensions::Hash::Keys', 
-                'ActiveSupport::CoreExtensions::Hash::ReverseMerge',
-                'ActiveSupport::CoreExtensions::Integer::EvenOdd', 
-                'ActiveSupport::CoreExtensions::Integer::Inflections', 
-                'ActiveSupport::CoreExtensions::Numeric::Bytes',
-                'ActiveSupport::CoreExtensions::Numeric::Time', 
-                'ActiveSupport::CoreExtensions::Pathname::CleanWithin', 
-                'ActiveSupport::CoreExtensions::Range::Conversions',
-                'ActiveSupport::CoreExtensions::String::Access', 
-                'ActiveSupport::CoreExtensions::String::Conversions', 
-                'ActiveSupport::CoreExtensions::String::Inflections',
-                'ActiveSupport::CoreExtensions::String::Iterators', 
-                'ActiveSupport::CoreExtensions::String::StartsEndsWith', 
-                'ActiveSupport::CoreExtensions::String::Unicode',
-                'ActiveSupport::CoreExtensions::Time::Calculations', 
-                'ActiveSupport::CoreExtensions::Time::Calculations::ClassMethods', 
-                'ActiveSupport::CoreExtensions::Time::Conversions',
-                'ActiveSupport::Multibyte::Chars', 
-                'ActiveSupport::Multibyte::Handlers::UTF8Handler', 'Binding', 
-                'Breakpoint', 'Builder::BlankSlate', 'Builder::XmlMarkup', 
-                'Enumerable', 'Fixtures',
-                'HTML::Selector', 'HashWithIndifferentAccess', 'Inflector', 
-                'Inflector::Inflections', 'Mime', 'Mime::Type', 
-                'OCI8AutoRecover', 'Symbol', 'TimeZone', 'XmlSimple'
+            'Abbrev', 'ArgumentError', 'Base64', 'Benchmark',
+            'Benchmark::Tms', 'Bignum', 'Binding', 'CGI', 'CGI::Cookie',
+            'CGI::HtmlExtension', 'CGI::QueryExtension',
+            'CGI::Session', 'CGI::Session::FileStore',
+            'CGI::Session::MemoryStore', 'Class', 'Comparable', 'Complex',
+            'ConditionVariable', 'Continuation', 'Data',
+            'Date', 'DateTime', 'Delegator', 'Dir', 'EOFError', 'ERB',
+            'ERB::Util', 'Enumerable', 'Enumerable::Enumerator', 'Errno',
+            'Exception', 'FalseClass', 'File',
+            'File::Constants', 'File::Stat', 'FileTest', 'FileUtils',
+            'FileUtils::DryRun', 'FileUtils::NoWrite',
+            'FileUtils::StreamUtils_', 'FileUtils::Verbose', 'Find',
+            'Fixnum', 'FloatDomainError', 'Forwardable', 'GC', 'Generator',
+            'Hash', 'IO', 'IOError', 'Iconv', 'Iconv::BrokenLibrary',
+            'Iconv::Failure', 'Iconv::IllegalSequence',
+            'Iconv::InvalidCharacter', 'Iconv::InvalidEncoding',
+            'Iconv::OutOfRange', 'IndexError', 'Interrupt', 'Kernel',
+            'LoadError', 'LocalJumpError', 'Logger', 'Logger::Application',
+            'Logger::Error', 'Logger::Formatter', 'Logger::LogDevice',
+            'Logger::LogDevice::LogDeviceMutex', 'Logger::Severity',
+            'Logger::ShiftingError', 'Marshal', 'MatchData',
+            'Math', 'Matrix', 'Method', 'Module', 'Mutex', 'NameError',
+            'NameError::message', 'NilClass', 'NoMemoryError',
+            'NoMethodError', 'NotImplementedError', 'Numeric', 'Object',
+            'ObjectSpace', 'Observable', 'PStore', 'PStore::Error',
+            'Pathname', 'Precision', 'Proc', 'Process', 'Process::GID',
+            'Process::Status', 'Process::Sys', 'Process::UID', 'Queue',
+            'Range', 'RangeError', 'Rational', 'Regexp', 'RegexpError',
+            'RuntimeError', 'ScriptError', 'SecurityError', 'Set',
+            'Shellwords', 'Signal', 'SignalException', 'SimpleDelegator',
+            'SingleForwardable', 'Singleton', 'SingletonClassMethods',
+            'SizedQueue', 'SortedSet', 'StandardError', 'StringIO',
+            'StringScanner', 'StringScanner::Error', 'Struct', 'Symbol',
+            'SyncEnumerator', 'SyntaxError', 'SystemCallError',
+            'SystemExit', 'SystemStackError', 'Tempfile',
+            'Test::Unit::TestCase', 'Test::Unit', 'Test', 'Thread',
+            'ThreadError', 'ThreadGroup',
+            'ThreadsWait', 'Time', 'TrueClass', 'TypeError', 'URI',
+            'URI::BadURIError', 'URI::Error', 'URI::Escape', 'URI::FTP',
+            'URI::Generic', 'URI::HTTP', 'URI::HTTPS',
+            'URI::InvalidComponentError', 'URI::InvalidURIError',
+            'URI::LDAP', 'URI::MailTo', 'URI::REGEXP',
+            'URI::REGEXP::PATTERN', 'UnboundMethod', 'Vector', 'YAML',
+            'ZeroDivisionError', 'Zlib',
+            'Zlib::BufError', 'Zlib::DataError', 'Zlib::Deflate',
+            'Zlib::Error', 'Zlib::GzipFile', 'Zlib::GzipFile::CRCError',
+            'Zlib::GzipFile::Error', 'Zlib::GzipFile::LengthError',
+            'Zlib::GzipFile::NoFooter', 'Zlib::GzipReader',
+            'Zlib::GzipWriter', 'Zlib::Inflate', 'Zlib::MemError',
+            'Zlib::NeedDict', 'Zlib::StreamEnd', 'Zlib::StreamError',
+            'Zlib::VersionError',
+            'Zlib::ZStream',
+            'ActionController::AbstractRequest',
+            'ActionController::Assertions::DomAssertions',
+            'ActionController::Assertions::ModelAssertions',
+            'ActionController::Assertions::ResponseAssertions',
+            'ActionController::Assertions::RoutingAssertions',
+            'ActionController::Assertions::SelectorAssertions',
+            'ActionController::Assertions::TagAssertions',
+            'ActionController::Base',
+            'ActionController::Benchmarking::ClassMethods',
+            'ActionController::Caching',
+            'ActionController::Caching::Actions',
+            'ActionController::Caching::Actions::ActionCachePath',
+            'ActionController::Caching::Fragments',
+            'ActionController::Caching::Pages',
+            'ActionController::Caching::Pages::ClassMethods',
+            'ActionController::Caching::Sweeping',
+            'ActionController::Components',
+            'ActionController::Components::ClassMethods',
+            'ActionController::Components::InstanceMethods',
+            'ActionController::Cookies',
+            'ActionController::Filters::ClassMethods',
+            'ActionController::Flash',
+            'ActionController::Flash::FlashHash',
+            'ActionController::Helpers::ClassMethods',
+            'ActionController::Integration::Session',
+            'ActionController::IntegrationTest',
+            'ActionController::Layout::ClassMethods',
+            'ActionController::Macros',
+            'ActionController::Macros::AutoComplete::ClassMethods',
+            'ActionController::Macros::InPlaceEditing::ClassMethods',
+            'ActionController::MimeResponds::InstanceMethods',
+            'ActionController::Pagination',
+            'ActionController::Pagination::ClassMethods',
+            'ActionController::Pagination::Paginator',
+            'ActionController::Pagination::Paginator::Page',
+            'ActionController::Pagination::Paginator::Window',
+            'ActionController::Rescue', 'ActionController::Resources',
+            'ActionController::Routing',
+            'ActionController::Scaffolding::ClassMethods',
+            'ActionController::SessionManagement::ClassMethods',
+            'ActionController::Streaming', 'ActionController::TestProcess',
+            'ActionController::TestUploadedFile',
+            'ActionController::UrlWriter',
+            'ActionController::Verification::ClassMethods',
+            'ActionMailer::Base', 'ActionView::Base',
+            'ActionView::Helpers::ActiveRecordHelper',
+            'ActionView::Helpers::AssetTagHelper',
+            'ActionView::Helpers::BenchmarkHelper',
+            'ActionView::Helpers::CacheHelper',
+            'ActionView::Helpers::CaptureHelper',
+            'ActionView::Helpers::DateHelper',
+            'ActionView::Helpers::DebugHelper',
+            'ActionView::Helpers::FormHelper',
+            'ActionView::Helpers::FormOptionsHelper',
+            'ActionView::Helpers::FormTagHelper',
+            'ActionView::Helpers::JavaScriptHelper',
+            'ActionView::Helpers::JavaScriptMacrosHelper',
+            'ActionView::Helpers::NumberHelper',
+            'ActionView::Helpers::PaginationHelper',
+            'ActionView::Helpers::PrototypeHelper',
+            'ActionView::Helpers::PrototypeHelper::JavaScriptGenerator::GeneratorMethods',
+            'ActionView::Helpers::ScriptaculousHelper',
+            'ActionView::Helpers::TagHelper',
+            'ActionView::Helpers::TextHelper',
+            'ActionView::Helpers::UrlHelper', 'ActionView::Partials',
+            'ActionWebService::API::Method', 'ActionWebService::Base',
+            'ActionWebService::Client::Soap',
+            'ActionWebService::Client::XmlRpc',
+            'ActionWebService::Container::ActionController::ClassMethods',
+            'ActionWebService::Container::Delegated::ClassMethods',
+            'ActionWebService::Container::Direct::ClassMethods',
+            'ActionWebService::Invocation::ClassMethods',
+            'ActionWebService::Scaffolding::ClassMethods',
+            'ActionWebService::SignatureTypes', 'ActionWebService::Struct',
+            'ActiveRecord::Acts::List::ClassMethods',
+            'ActiveRecord::Acts::List::InstanceMethods',
+            'ActiveRecord::Acts::NestedSet::ClassMethods',
+            'ActiveRecord::Acts::NestedSet::InstanceMethods',
+            'ActiveRecord::Acts::Tree::ClassMethods',
+            'ActiveRecord::Acts::Tree::InstanceMethods',
+            'ActiveRecord::Aggregations::ClassMethods',
+            'ActiveRecord::Associations::ClassMethods',
+            'ActiveRecord::AttributeMethods::ClassMethods',
+            'ActiveRecord::Base',
+            'ActiveRecord::Calculations::ClassMethods',
+            'ActiveRecord::Callbacks',
+            'ActiveRecord::ConnectionAdapters::AbstractAdapter',
+            'ActiveRecord::ConnectionAdapters::Column',
+            'ActiveRecord::ConnectionAdapters::DB2Adapter',
+            'ActiveRecord::ConnectionAdapters::DatabaseStatements',
+            'ActiveRecord::ConnectionAdapters::FirebirdAdapter',
+            'ActiveRecord::ConnectionAdapters::FrontBaseAdapter',
+            'ActiveRecord::ConnectionAdapters::MysqlAdapter',
+            'ActiveRecord::ConnectionAdapters::OpenBaseAdapter',
+            'ActiveRecord::ConnectionAdapters::OracleAdapter',
+            'ActiveRecord::ConnectionAdapters::PostgreSQLAdapter',
+            'ActiveRecord::ConnectionAdapters::Quoting',
+            'ActiveRecord::ConnectionAdapters::SQLServerAdapter',
+            'ActiveRecord::ConnectionAdapters::SQLiteAdapter',
+            'ActiveRecord::ConnectionAdapters::SchemaStatements',
+            'ActiveRecord::ConnectionAdapters::SybaseAdapter::ColumnWithIdentity',
+            'ActiveRecord::ConnectionAdapters::SybaseAdapterContext',
+            'ActiveRecord::ConnectionAdapters::TableDefinition',
+            'ActiveRecord::Errors', 'ActiveRecord::Locking',
+            'ActiveRecord::Locking::Optimistic',
+            'ActiveRecord::Locking::Optimistic::ClassMethods',
+            'ActiveRecord::Locking::Pessimistic',
+            'ActiveRecord::Migration', 'ActiveRecord::Observer',
+            'ActiveRecord::Observing::ClassMethods',
+            'ActiveRecord::Reflection::ClassMethods',
+            'ActiveRecord::Reflection::MacroReflection',
+            'ActiveRecord::Schema', 'ActiveRecord::Timestamp',
+            'ActiveRecord::Transactions::ClassMethods',
+            'ActiveRecord::Validations',
+            'ActiveRecord::Validations::ClassMethods',
+            'ActiveRecord::XmlSerialization',
+            'ActiveSupport::CachingTools::HashCaching',
+            'ActiveSupport::CoreExtensions::Array::Conversions',
+            'ActiveSupport::CoreExtensions::Array::Grouping',
+            'ActiveSupport::CoreExtensions::Date::Conversions',
+            'ActiveSupport::CoreExtensions::Hash::Conversions',
+            'ActiveSupport::CoreExtensions::Hash::Conversions::ClassMethods',
+            'ActiveSupport::CoreExtensions::Hash::Diff',
+            'ActiveSupport::CoreExtensions::Hash::Keys',
+            'ActiveSupport::CoreExtensions::Hash::ReverseMerge',
+            'ActiveSupport::CoreExtensions::Integer::EvenOdd',
+            'ActiveSupport::CoreExtensions::Integer::Inflections',
+            'ActiveSupport::CoreExtensions::Numeric::Bytes',
+            'ActiveSupport::CoreExtensions::Numeric::Time',
+            'ActiveSupport::CoreExtensions::Pathname::CleanWithin',
+            'ActiveSupport::CoreExtensions::Range::Conversions',
+            'ActiveSupport::CoreExtensions::String::Access',
+            'ActiveSupport::CoreExtensions::String::Conversions',
+            'ActiveSupport::CoreExtensions::String::Inflections',
+            'ActiveSupport::CoreExtensions::String::Iterators',
+            'ActiveSupport::CoreExtensions::String::StartsEndsWith',
+            'ActiveSupport::CoreExtensions::String::Unicode',
+            'ActiveSupport::CoreExtensions::Time::Calculations',
+            'ActiveSupport::CoreExtensions::Time::Calculations::ClassMethods',
+            'ActiveSupport::CoreExtensions::Time::Conversions',
+            'ActiveSupport::Multibyte::Chars',
+            'ActiveSupport::Multibyte::Handlers::UTF8Handler',
+            'Breakpoint', 'Builder::BlankSlate', 'Builder::XmlMarkup',
+            'Fixtures',
+            'HTML::Selector', 'HashWithIndifferentAccess', 'Inflector',
+            'Inflector::Inflections', 'Mime', 'Mime::Type',
+            'OCI8AutoRecover', 'TimeZone', 'XmlSimple'
             ),
         5 => array(
-            'image_tag', 'link_to', 'link_to_remote', 'javascript_include_tag', 
-            'assert_equal', 'assert_not_equal', 'before_filter', 
-            'after_filter', 'render', 'redirect_to', 'hide_action', 
-            'render_to_string', 'url_for', 'controller_name', 
-            'controller_class_name', 'controller_path', 'session', 
-            'render_component', 'render_component_as_string', 'cookie', 
-            'layout', 'flash', 'auto_complete_for', 'in_place_editor_for', 
-            'respond_to', 'paginate', 'current_page', 'each', 'first', 
-            'first_page', 'last_page', 'last', 'length', 'new', 'page_count', 
-            'previous', 'next', 'scaffold', 'session', 'send_data', 
-            'send_file', 'deliver', 'receive', 'error_messages_for', 
-            'error_message_on', 'form', 'input', 'stylesheet_link_tag', 
-            'stylesheet_path', 'content_for', 'select_date', 'select', 'ago', 
-            'month', 'day', 'check_box', 'fields_for', 'file_field', 
-            'form_for', 'hidden_field', 'text_area', 'password_field', 
-            'collection_select', 'options_for_select', 
-            'options_from_collection_for_select', 'file_field_tag', 
-            'form_for_tag', 'hidden_field_tag', 'text_area_tag', 
-            'password_field_tag', 'link_to_function', 'javascript_tag', 
-            'human_size', 'number_to_currency', 'pagination_links', 
-            'form_remote_tag', 'form_remote_for', 'link_to_remote', 
-            'submit_to_remote', 'remote_function', 'observe_form', 
-            'observe_field', 'remote_form_for', 'options_for_ajax', 'alert', 
-            'call', 'assign', 'show', 'hide', 'insert_html', 'sortable', 
-            'toggle', 'visual_effect', 'replace', 'replace_html', 'remove', 
-            'save', 'save!', 'draggable', 'drop_receiving', 'literal', 
-            'draggable_element', 'drop_receiving_element', 'sortable_element', 
-            'content_tag', 'tag', 'link_to_image', 'link_to_if', 
-            'link_to_unless', 'mail_to', 'link_image_to', 'button_to', 
-            'current_page?', 'act_as_list', 'act_as_nested', 'act_as_tree', 
-            'has_many', 'has_one', 'belongs_to', 'has_many_and_belogns_to', 
-            'delete', 'destroy', 'destroy_all', 'clone', 'deep_clone', 'copy', 
-            'update', 'table_name', 'primary_key', 'sum', 'maximun', 'minimum', 
-            'count', 'size', 'after_save', 'after_create', 'before_save', 
-            'before_create', 'add_to_base', 'errors', 'add', 'validate', 
-            'validate', 'validates_presence_of', 'validates_format_of', 
-            'validates_numericality_of', 'validates_uniqueness_of', 
-            'validates_length_of', 'validates_format_of', 'validates_size_of', 
-            'to_a', 'to_s', 'to_xml', 'to_i'
+            'image_tag', 'link_to', 'link_to_remote', 'javascript_include_tag',
+            'assert_equal', 'assert_not_equal', 'before_filter',
+            'after_filter', 'render', 'redirect_to', 'hide_action',
+            'render_to_string', 'url_for', 'controller_name',
+            'controller_class_name', 'controller_path', 'session',
+            'render_component', 'render_component_as_string', 'cookie',
+            'layout', 'flash', 'auto_complete_for', 'in_place_editor_for',
+            'respond_to', 'paginate', 'current_page', 'each', 'first',
+            'first_page', 'last_page', 'last', 'length', 'new', 'page_count',
+            'previous', 'scaffold', 'send_data',
+            'send_file', 'deliver', 'receive', 'error_messages_for',
+            'error_message_on', 'form', 'input', 'stylesheet_link_tag',
+            'stylesheet_path', 'content_for', 'select_date', 'ago',
+            'month', 'day', 'check_box', 'fields_for', 'file_field',
+            'form_for', 'hidden_field', 'text_area', 'password_field',
+            'collection_select', 'options_for_select',
+            'options_from_collection_for_select', 'file_field_tag',
+            'form_for_tag', 'hidden_field_tag', 'text_area_tag',
+            'password_field_tag', 'link_to_function', 'javascript_tag',
+            'human_size', 'number_to_currency', 'pagination_links',
+            'form_remote_tag', 'form_remote_for',
+            'submit_to_remote', 'remote_function', 'observe_form',
+            'observe_field', 'remote_form_for', 'options_for_ajax', 'alert',
+            'call', 'assign', 'show', 'hide', 'insert_html', 'sortable',
+            'toggle', 'visual_effect', 'replace', 'replace_html', 'remove',
+            'save', 'save!', 'draggable', 'drop_receiving', 'literal',
+            'draggable_element', 'drop_receiving_element', 'sortable_element',
+            'content_tag', 'tag', 'link_to_image', 'link_to_if',
+            'link_to_unless', 'mail_to', 'link_image_to', 'button_to',
+            'current_page?', 'act_as_list', 'act_as_nested', 'act_as_tree',
+            'has_many', 'has_one', 'belongs_to', 'has_many_and_belogns_to',
+            'delete', 'destroy', 'destroy_all', 'clone', 'deep_clone', 'copy',
+            'update', 'table_name', 'primary_key', 'sum', 'maximun', 'minimum',
+            'count', 'size', 'after_save', 'after_create', 'before_save',
+            'before_create', 'add_to_base', 'errors', 'add', 'validate',
+            'validates_presence_of', 'validates_numericality_of',
+            'validates_uniqueness_of', 'validates_length_of',
+            'validates_format_of', 'validates_size_of', 'to_a', 'to_s',
+            'to_xml', 'to_i'
             )
         ),
     'SYMBOLS' => array(
         '(', ')', '[', ']', '{', '}', '%', '&', '*', '|', '/', '<', '>',
-        '+', '-', '=&gt;', '=>', '<<'
+        '+', '-', '=>', '<<'
         ),
     'CASE_SENSITIVE' => array(
         GESHI_COMMENTS => false,
@@ -360,7 +360,9 @@
     'URLS' => array(
         1 => '',
         2 => '',
-        3 => ''
+        3 => '',
+        4 => '',
+        5 => ''
         ),
     'OOLANG' => true,
     'OBJECT_SPLITTERS' => array(
@@ -381,7 +383,7 @@
             GESHI_BEFORE => '\\1',
             GESHI_AFTER => ''
             ),
-        2 => "([A-Z][a-zA-Z0-9_]*::)+[A-Z][a-zA-Z0-9_]*",
+        2 => "([A-Z][a-zA-Z0-9_]*::)+[A-Z][a-zA-Z0-9_]*", //Static OOP References
         3 => array(
             GESHI_SEARCH => "([[:space:]]|\[|\()(:[a-zA-Z_][a-zA-Z0-9_]*)",
             GESHI_REPLACE => '\\2',
--- a/plugins/geshi/geshi/reg.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/reg.php	Fri May 29 19:30:59 2009 -0400
@@ -3,21 +3,24 @@
  * reg.php
  * -------
  * Author: Sean Hanna (smokingrope@gmail.com)
- * Copyright: (c) 2006 Sean Hanna 
- * Release Version: 1.0.7.20
+ * Copyright: (c) 2006 Sean Hanna
+ * Release Version: 1.0.8.2
  * Date Started: 03/15/2006
  *
- * Microsoft Registry Editor Language File.
+ * Microsoft Registry Editor language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *  -  Added description of extra language features (SF#1970248)
+ *  -  Updated and optimized most regular expressions
  * 03/15/2006 (0.5.0)
  *  -  Syntax File Created
  * 04/27/2006 (0.9.5)
- *  - Syntax Coloring Cleaned Up
- *  - First Release
+ *  -  Syntax Coloring Cleaned Up
+ *  -  First Release
  * 04/29/2006 (1.0.0)
- *  - Updated a few coloring settings
+ *  -  Updated a few coloring settings
  *
  * TODO (updated 4/27/2006)
  * -------------------------
@@ -29,9 +32,9 @@
  * ---------------------------------
  *
  * - There are two regexes for the multiline hex value regex. The regex for
- *		all lines after the first does not verify that the previous line contains
- *		a line continuation character '\'. This regex also does not check for 
- *		end of line as it should.
+ *        all lines after the first does not verify that the previous line contains
+ *        a line continuation character '\'. This regex also does not check for
+ *        end of line as it should.
  *
  * - If number_highlighting is enabled during processing of this syntax file
  *    many of the regexps used will appear slightly incorrect.
@@ -57,158 +60,174 @@
 
  ************************************************************************************/
 $language_data = array (
-	'LANG_NAME' => 'Microsoft Registry',
-	'COMMENT_SINGLE' => array(1 =>';'),
-	'COMMENT_MULTI' => array( ),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array(),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		1 => array(),
-		2 => array()
-	    /* Registry Key Constants Not Used
-		3 => array(
-			'HKEY_LOCAL_MACHINE', 
-			'HKEY_CLASSES_ROOT', 
-			'HKEY_CURRENT_USER',
-			'HKEY_USERS', 
-			'HKEY_CURRENT_CONFIG', 
-			'HKEY_DYN_DATA',
-			'HKLM', 'HKCR', 'HKCU', 'HKU', 'HKCC', 'HKDD'
-			)/***/
-		),
-	'SYMBOLS' => array( ),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false,
-		2 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array( 1 => 'color: #00CCFF;',
-			 				 2 => 'color: #0000FF;' ),
-		'COMMENTS' => array( 1 => 'color: #009900;' ),
-		'ESCAPE_CHAR' => array(),
-		'BRACKETS' => array(0 => 'color: #000000;'),
-		'STRINGS' => array( 0 => 'color: #009900;' ),
-		'NUMBERS' => array(),
-		'METHODS' => array(),
-		'SYMBOLS' => array(0 => 'color: #000000;'),
-		'SCRIPT' => array(),
-		'REGEXPS' => array( 
-			0 => '',
-			1 => 'color: #0000FF;',
-			2 => '',
-			3 => '',
-			4 => 'color: #0000FF;',
-			5 => '',
-		 	6 => '',
-		 	7 => '',
-		 	8 => '',
-		 	9 => 'color: #FF6600;',
-			)
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		// Highlight Key Delimiters
-		0 => array(
-			GESHI_SEARCH => '((^|\\n)\\s*)(\\\\\\[(.*)\\\\\\])(\\s*(\\n|$))',
-			GESHI_REPLACE => '\\3',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '\\1',
-			GESHI_AFTER => '\\5',
-			GESHI_CLASS => 'kw1'
-			),
-		// Highlight File Format Header Version 5
-		1 => array(
-			GESHI_SEARCH => '((\\n|^)\\s*)(Windows Registry Editor Version [0-9]+(.)+([0-9]+))((\\n|$)\\s*)',
-			GESHI_REPLACE => '\\3',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '\\1',
-			GESHI_AFTER => '\\6',
-			GESHI_CLASS => 'geshi_registry_header'
-			),
-		// Highlight File Format Header Version 4
-		2 => array(
-			GESHI_SEARCH => '((\\n|^)\\s*)(REGEDIT [0-9]+)(\\s*(\\n|$))',
-			GESHI_REPLACE => '\\3',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '\\1',
-			GESHI_AFTER => '\\4',
-			GESHI_CLASS => 'geshi_registry_header'
-			),
-		// Highlight dword: 32 bit integer values
-		3 => array(
-			GESHI_SEARCH => '(=\\s*)(dword:[0-9]{8})(\\s*(\\n|$))',
-			GESHI_REPLACE => '\\2',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '\\1',
-			GESHI_AFTER => '\\3',
-			GESHI_CLASS => 'kw2'
-			),			
-		// Highlight variable names
-		4 => array(
-			GESHI_SEARCH => '((\\n|^)\\s*\\&quot\\;)(.*)(\\&quot\\;\\s*=)',
-			GESHI_REPLACE => '\\3',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '\\1',
-			GESHI_AFTER => '\\4',
-			GESHI_CLASS => 'geshi_variable'
-			),
-		// Highlight String Values
-		5 => array(
-			GESHI_SEARCH => '(=\\s*)(\\&quot\\;.*\\&quot\\;)(\\s*(\\n|$))',
-			GESHI_REPLACE => '\\2',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '\\1',
-			GESHI_AFTER => '\\3',
-			GESHI_CLASS => 'st0'
-			),
-		// Highlight Hexadecimal Values
-		6 => array(
-			GESHI_SEARCH => '(=\\s*)(hex((\\\\\\([0-9]{1,2}\\\\\\))|()):(([0-9a-fA-F]{2},)|(\\s))*(([0-9a-fA-F]{2})|(\\\\\\\\)))(\\s*(\\n|$))',
-			GESHI_REPLACE => '\\2',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '\\1',
-			GESHI_AFTER => '\\12',
-			GESHI_CLASS => 'kw2'
-			),
-		// Highlight Hexadecimal Values (Multi-Line)
-		7 => array(
-			GESHI_SEARCH => '((\\n|^)\\s*)((([0-9a-fA-F]{2},)|(\\s))*(([0-9a-fA-F]{2})|(\\\\\\\\)))',
-			GESHI_REPLACE => '\\3',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '\\1',
-			GESHI_AFTER => '\\10',
-			GESHI_CLASS => 'kw2'
-			),
-		// Highlight Default Variable
-		8 => array(
-			GESHI_SEARCH => '((\\n|^)\\s*)(@)(\\s*=)',
-			GESHI_REPLACE => '\\3',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '\\1',
-			GESHI_AFTER => '\\4',
-			GESHI_CLASS => 'geshi_variable'
-			),
-		// Highlight GUID's found anywhere.
-		9 => array(
-			GESHI_SEARCH => '(\\{[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}\\})',
-			GESHI_REPLACE => '\\1',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => '',
-			GESHI_CLASS => 'geshi_guid'
-			)
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'Microsoft Registry',
+    'COMMENT_SINGLE' => array(1 =>';'),
+    'COMMENT_MULTI' => array( ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+//        1 => array(),
+//        2 => array(),
+        /* Registry Key Constants Not Used */
+        3 => array(
+            'HKEY_LOCAL_MACHINE',
+            'HKEY_CLASSES_ROOT',
+            'HKEY_CURRENT_USER',
+            'HKEY_USERS',
+            'HKEY_CURRENT_CONFIG',
+            'HKEY_DYN_DATA',
+            'HKLM', 'HKCR', 'HKCU', 'HKU', 'HKCC', 'HKDD'
+            )
+        ),
+    'SYMBOLS' => array(
+        '='
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+//        1 => false,
+//        2 => false,
+        3 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+//            1 => 'color: #00CCFF;',
+//            2 => 'color: #0000FF;',
+            3 => 'color: #800000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #009900;'
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #009900;'
+            ),
+        'NUMBERS' => array(
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000000;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #00CCFF;',
+            1 => 'color: #0000FF;',
+            2 => '',
+            3 => 'color: #0000FF;',
+            4 => 'color: #0000FF;',
+            5 => '',
+            6 => '',
+            7 => '',
+            8 => 'color: #FF6600;',
+            )
+        ),
+    'URLS' => array(
+//        1 => '',
+//        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        // Highlight Key Delimiters
+        0 => array(
+            GESHI_SEARCH => '((^|\\n)\\s*)(\\\\\\[(.*)\\\\\\])(\\s*(\\n|$))',
+            GESHI_REPLACE => '\\3',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\5'
+//            GESHI_CLASS => 'kw1'
+            ),
+        // Highlight File Format Header Version 5
+        1 => array(
+            GESHI_SEARCH => '(^\s*)(Windows Registry Editor Version \d+\.\d+)(\s*$)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'm',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3',
+            GESHI_CLASS => 'geshi_registry_header'
+            ),
+        // Highlight File Format Header Version 4
+        2 => array(
+            GESHI_SEARCH => '(^\\s*)(REGEDIT\s?\d+)(\s*$)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'm',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3',
+            GESHI_CLASS => 'geshi_registry_header'
+            ),
+        // Highlight dword: 32 bit integer values
+        3 => array(
+            GESHI_SEARCH => '(=\s*)(dword:[0-9a-fA-F]{8})(\s*$)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'm',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3'
+//            GESHI_CLASS => 'kw2'
+            ),
+        // Highlight variable names
+        4 => array(
+            GESHI_SEARCH => '(^\s*)(\&quot;.*?\&quot;)(\s*=)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'm',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3',
+            GESHI_CLASS => 'geshi_variable'
+            ),
+        // Highlight String Values
+        5 => array(
+            GESHI_SEARCH => '(=\s*)(\&quot;.*?\&quot;)(\s*$)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'm',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3',
+            GESHI_CLASS => 'st0'
+            ),
+        // Highlight Hexadecimal Values (Single-Line and Multi-Line)
+        6 => array(
+            GESHI_SEARCH => '(=\s*\n?\s*)(hex:[0-9a-fA-F]{2}(,(\\\s*\n\s*)?[0-9a-fA-F]{2})*)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'm',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '',
+            GESHI_CLASS => 'kw2'
+            ),
+        // Highlight Default Variable
+        7 => array(
+            GESHI_SEARCH => '(^\s*)(@)(\s*=)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'm',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3',
+            GESHI_CLASS => 'geshi_variable'
+            ),
+        // Highlight GUID's found anywhere.
+        8 => array(
+            GESHI_SEARCH => '(\{[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\})',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'i',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '',
+            GESHI_CLASS => 'geshi_guid'
+            )
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'NUMBERS' => GESHI_NEVER,
+        )
+    )
 );
-if (isset($this) && is_a($this, 'GeSHi')) {
-    $this->set_numbers_highlighting(false);
-}
+
 ?>
--- a/plugins/geshi/geshi/robots.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/robots.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * --------
  * Author: Christian Lescuyer (cl@goelette.net)
  * Copyright: (c) 2006 Christian Lescuyer http://xtian.goelette.info
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2006/02/17
  *
  * robots.txt language file for GeSHi.
--- a/plugins/geshi/geshi/ruby.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/ruby.php	Fri May 29 19:30:59 2009 -0400
@@ -4,10 +4,17 @@
  * --------
  * Author: Moises Deniz
  * Copyright: (c) 2007 Moises Deniz
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2007/03/21
  *
- * Ruby language file for GeSHi
+ * Ruby language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/23 (1.0.7.22)
+ *   -  Added description of extra language features (SF#1970248)
+ * 2007/03/21 (1.0.7.19)
+ *   -  Initial release
  *
  *************************************************************************************
  *
@@ -113,15 +120,14 @@
                 'Zlib::NeedDict', 'Zlib::StreamEnd', 'Zlib::StreamError',
                 'Zlib::VersionError',
                 'Zlib::ZStream',
-                'Enumerable',
                 'HTML::Selector', 'HashWithIndifferentAccess', 'Inflector',
                 'Inflector::Inflections', 'Mime', 'Mime::Type',
-                'OCI8AutoRecover', 'Symbol', 'TimeZone', 'XmlSimple'
+                'OCI8AutoRecover', 'TimeZone', 'XmlSimple'
             ),
         ),
     'SYMBOLS' => array(
         '(', ')', '[', ']', '{', '}', '%', '&', '*', '|', '/', '<', '>',
-        '+', '-', '=&gt;', '=>', '<<'
+        '+', '-', '=>', '<<'
         ),
     'CASE_SENSITIVE' => array(
         GESHI_COMMENTS => false,
@@ -139,7 +145,7 @@
             ),
         'COMMENTS' => array(
             1 => 'color:#008000; font-style:italic;',
-                    'MULTI' => 'color:#000080; font-style:italic;'
+            'MULTI' => 'color:#000080; font-style:italic;'
             ),
         'ESCAPE_CHAR' => array(
             0 => 'color:#000099;'
@@ -174,28 +180,29 @@
     'URLS' => array(
         1 => '',
         2 => '',
-        3 => ''
+        3 => '',
+        4 => ''
         ),
     'OOLANG' => true,
     'OBJECT_SPLITTERS' => array(
         1 => '.'
         ),
     'REGEXPS' => array(
-        0 => array(
+        0 => array(//Variables
             GESHI_SEARCH => "([[:space:]])(\\$[a-zA-Z_][a-zA-Z0-9_]*)",
             GESHI_REPLACE => '\\2',
             GESHI_MODIFIERS => '',
             GESHI_BEFORE => '\\1',
             GESHI_AFTER => ''
             ),
-        1 => array(
+        1 => array(//Arrays
             GESHI_SEARCH => "([[:space:]])(@[a-zA-Z_][a-zA-Z0-9_]*)",
             GESHI_REPLACE => '\\2',
             GESHI_MODIFIERS => '',
             GESHI_BEFORE => '\\1',
             GESHI_AFTER => ''
             ),
-        2 => "([A-Z][a-zA-Z0-9_]*::)+[A-Z][a-zA-Z0-9_]*",
+        2 => "([A-Z][a-zA-Z0-9_]*::)+[A-Z][a-zA-Z0-9_]*",//Static OOP symbols
         3 => array(
             GESHI_SEARCH => "([[:space:]]|\[|\()(:[a-zA-Z_][a-zA-Z0-9_]*)",
             GESHI_REPLACE => '\\2',
--- a/plugins/geshi/geshi/sas.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/sas.php	Fri May 29 19:30:59 2009 -0400
@@ -4,19 +4,21 @@
  * -------
  * Author: Galen Johnson (solitaryr@gmail.com)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2005/12/27
  *
  * SAS language file for GeSHi. Based on the sas vim file.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *   -  Added description of extra language features (SF#1970248)
+ *   -  Cleaned up code style
  * 2005/12/27 (1.0.0)
  *   -  First Release
  *
  * TODO (updated 2005/12/27)
  * -------------------------
- *
  * * Check highlighting stuff works
  *
  *************************************************************************************
@@ -48,309 +50,240 @@
     'ESCAPE_CHAR' => '\\',
     'KEYWORDS' => array(
         1 => array(
-            '_NULL_', '_INFILE_', '_N_', '_WEBOUT_', '_NUMERIC_', '_CHARACTER_', '_ALL_'
+            '_ALL_','_CHARACTER_','_INFILE_','_N_','_NULL_','_NUMERIC_',
+            '_WEBOUT_'
             ),
         2 => array(
-            '%BQUOTE', '%NRBQUOTE', '%CMPRES', '%QCMPRES',
-
-            '%COMPSTOR', '%DATATYP', '%DISPLAY', '%DO',
-            '%ELSE', '%END', '%EVAL', '%GLOBAL',
-            '%GOTO', '%IF', '%INDEX', '%INPUT',
-            '%KEYDEF', '%LABEL', '%LEFT', '%LENGTH',
-            '%LET', '%LOCAL', '%LOWCASE', '%MACRO',
-            '%MEND', '%NRBQUOTE', '%NRQUOTE', '%NRSTR',
-
-            '%PUT', '%QCMPRES', '%QLEFT', '%QLOWCASE',
-            '%QSCAN', '%QSUBSTR', '%QSYSFUNC', '%QTRIM',
-            '%QUOTE', '%QUPCASE', '%SCAN', '%STR',
-            '%SUBSTR', '%SUPERQ', '%SYSCALL', '%SYSEVALF',
-            '%SYSEXEC', '%SYSFUNC', '%SYSGET', '%SYSLPUT',
-            '%SYSPROD', '%SYSRC', '%SYSRPUT', '%THEN',
-
-            '%TO', '%TRIM', '%UNQUOTE', '%UNTIL',
-            '%UPCASE', '%VERIFY', '%WHILE', '%WINDOW'
+            '%BQUOTE','%CMPRES','%COMPSTOR','%DATATYP','%DISPLAY','%DO','%ELSE',
+            '%END','%EVAL','%GLOBAL','%GOTO','%IF','%INDEX','%INPUT','%KEYDEF',
+            '%LABEL','%LEFT','%LENGTH','%LET','%LOCAL','%LOWCASE','%MACRO',
+            '%MEND','%NRBQUOTE','%NRQUOTE','%NRSTR','%PUT','%QCMPRES','%QLEFT',
+            '%QLOWCASE','%QSCAN','%QSUBSTR','%QSYSFUNC','%QTRIM','%QUOTE',
+            '%QUPCASE','%SCAN','%STR','%SUBSTR','%SUPERQ','%SYSCALL',
+            '%SYSEVALF','%SYSEXEC','%SYSFUNC','%SYSGET','%SYSLPUT','%SYSPROD',
+            '%SYSRC','%SYSRPUT','%THEN','%TO','%TRIM','%UNQUOTE','%UNTIL',
+            '%UPCASE','%VERIFY','%WHILE','%WINDOW'
             ),
         3 => array(
-            'ABS', 'ADDR', 'AIRY', 'ARCOS', 'ARSIN', 'ATAN', 'ATTRC', 'ATTRN',
-
-            'BAND', 'BETAINV', 'BLSHIFT', 'BNOT', 'BOR', 'BRSHIFT', 'BXOR',
-            'BYTE', 'CDF', 'CEIL', 'CEXIST', 'CINV', 'CLOSE', 'CNONCT', 'COLLATE',
-            'COMPBL', 'COMPOUND', 'COMPRESS', 'COSH', 'COS', 'CSS', 'CUROBS',
-            'CV', 'DACCDBSL', 'DACCDB', 'DACCSL', 'DACCSYD', 'DACCTAB',
-            'DAIRY', 'DATETIME', 'DATEJUL', 'DATEPART', 'DATE', 'DAY',
-            'DCLOSE', 'DEPDBSL', 'DEPDB', 'DEPSL',
-
-            'DEPSYD', 'DEPSYD', 'DEPTAB', 'DEPTAB', 'DEQUOTE', 'DHMS',
-            'DIF', 'DIGAMMA', 'DIM', 'DINFO', 'DNUM', 'DOPEN', 'DOPTNAME',
-            'DOPTNUM', 'DREAD', 'DROPNOTE', 'DSNAME', 'ERFC', 'ERF', 'EXIST',
-            'EXP', 'FAPPEND', 'FCLOSE', 'FCOL', 'FDELETE', 'FETCHOBS', 'FETCH',
-            'FEXIST', 'FGET', 'FILEEXIST', 'FILENAME', 'FILEREF', 'FINFO',
-            'FINV', 'FIPNAMEL', 'FIPNAME', 'FIPSTATE', 'FLOOR', 'FNONCT',
-
-            'FNOTE', 'FOPEN', 'FOPTNAME', 'FOPTNUM', 'FPOINT', 'FPOS',
-            'FPUT', 'FREAD', 'FREWIND', 'FRLEN', 'FSEP', 'FUZZ', 'FWRITE',
-            'GAMINV', 'GAMMA', 'GETOPTION', 'GETVARC', 'GETVARN', 'HBOUND',
-            'HMS', 'HOSTHELP', 'HOUR', 'IBESSEL', 'INDEXW', 'INDEXC',
-            'INDEX', 'INPUTN', 'INPUTC', 'INPUT', 'INTRR', 'INTCK', 'INTNX',
-            'INT', 'IRR', 'JBESSEL', 'JULDATE', 'KURTOSIS', 'LAG', 'LBOUND',
-
-            'LEFT', 'LENGTH', 'LGAMMA', 'LIBNAME', 'LIBREF', 'LOG10',
-            'LOG2', 'LOGPDF', 'LOGPMF', 'LOGSDF', 'LOG', 'LOWCASE', 'MAX', 'MDY',
-            'MEAN', 'MINUTE', 'MIN', 'MOD', 'MONTH', 'MOPEN', 'MORT',
-            'NETPV', 'NMISS', 'NORMAL', 'NPV', 'N', 'OPEN', 'ORDINAL',
-            'PATHNAME', 'PDF', 'PEEKC', 'PEEK', 'PMF', 'POINT', 'POISSON', 'POKE',
-            'PROBBETA', 'PROBBNML', 'PROBCHI', 'PROBF', 'PROBGAM',
-
-            'PROBHYPR', 'PROBIT', 'PROBNEGB', 'PROBNORM', 'PROBT', 'PUTN',
-            'PUTC', 'PUT', 'QTR', 'QUOTE', 'RANBIN', 'RANCAU', 'RANEXP',
-            'RANGAM', 'RANGE', 'RANK', 'RANNOR', 'RANPOI', 'RANTBL', 'RANTRI',
-            'RANUNI', 'REPEAT', 'RESOLVE', 'REVERSE', 'REWIND', 'RIGHT',
-            'ROUND', 'SAVING', 'SCAN', 'SDF', 'SECOND', 'SIGN', 'SINH', 'SIN',
-            'SKEWNESS', 'SOUNDEX', 'SPEDIS', 'SQRT', 'STDERR', 'STD', 'STFIPS',
-
-            'STNAME', 'STNAMEL', 'SUBSTR', 'SUM', 'SYMGET', 'SYSGET', 'SYSMSG',
-            'SYSPROD', 'SYSRC', 'SYSTEM', 'TANH', 'TAN', 'TIMEPART', 'TIME',
-            'TINV', 'TNONCT', 'TODAY', 'TRANSLATE', 'TRANWRD', 'TRIGAMMA',
-            'TRIMN', 'TRIM', 'TRUNC', 'UNIFORM', 'UPCASE', 'USS',
-            'VARFMT', 'VARINFMT', 'VARLABEL', 'VARLEN', 'VARNAME',
-            'VARNUM', 'VARRAYX', 'VARRAY', 'VARTYPE', 'VAR', 'VERIFY', 'VFORMATX',
-
-            'VFORMATDX', 'VFORMATD', 'VFORMATNX', 'VFORMATN', 'VFORMATWX',
-            'VFORMATW', 'VFORMAT', 'VINARRAYX', 'VINARRAY', 'VINFORMATX',
-            'VINFORMATDX', 'VINFORMATD', 'VINFORMATNX', 'VINFORMATN',
-            'VINFORMATWX', 'VINFORMATW', 'VINFORMAT', 'VLABELX',
-            'VLABEL', 'VLENGTHX', 'VLENGTH', 'VNAMEX', 'VNAME', 'VTYPEX',
-            'VTYPE', 'WEEKDAY', 'YEAR', 'YYQ', 'ZIPFIPS', 'ZIPNAME', 'ZIPNAMEL',
-
-            'ZIPSTATE'
+            'ABS','ADDR','AIRY','ARCOS','ARSIN','ATAN','ATTRC','ATTRN','BAND',
+            'BETAINV','BLSHIFT','BNOT','BOR','BRSHIFT','BXOR','BYTE','CDF',
+            'CEIL','CEXIST','CINV','CLOSE','CNONCT','COLLATE','COMPBL',
+            'COMPOUND','COMPRESS','COSH','COS','CSS','CUROBS','CV','DACCDBSL',
+            'DACCDB','DACCSL','DACCSYD','DACCTAB','DAIRY','DATETIME','DATEJUL',
+            'DATEPART','DATE','DAY','DCLOSE','DEPDBSL','DEPDB','DEPSL','DEPSYD',
+            'DEPTAB','DEQUOTE','DHMS','DIF','DIGAMMA','DIM','DINFO','DNUM',
+            'DOPEN','DOPTNAME','DOPTNUM','DREAD','DROPNOTE','DSNAME','ERFC',
+            'ERF','EXIST','EXP','FAPPEND','FCLOSE','FCOL','FDELETE','FETCHOBS',
+            'FETCH','FEXIST','FGET','FILEEXIST','FILENAME','FILEREF','FINFO',
+            'FINV','FIPNAMEL','FIPNAME','FIPSTATE','FLOOR','FNONCT','FNOTE',
+            'FOPEN','FOPTNAME','FOPTNUM','FPOINT','FPOS','FPUT','FREAD',
+            'FREWIND','FRLEN','FSEP','FUZZ','FWRITE','GAMINV','GAMMA',
+            'GETOPTION','GETVARC','GETVARN','HBOUND','HMS','HOSTHELP','HOUR',
+            'IBESSEL','INDEXW','INDEXC','INDEX','INPUTN','INPUTC','INPUT',
+            'INTRR','INTCK','INTNX','INT','IRR','JBESSEL','JULDATE','KURTOSIS',
+            'LAG','LBOUND','LEFT','LENGTH','LGAMMA','LIBNAME','LIBREF','LOG10',
+            'LOG2','LOGPDF','LOGPMF','LOGSDF','LOG','LOWCASE','MAX','MDY',
+            'MEAN','MINUTE','MIN','MOD','MONTH','MOPEN','MORT','NETPV','NMISS',
+            'NORMAL','NPV','N','OPEN','ORDINAL','PATHNAME','PDF','PEEKC','PEEK',
+            'PMF','POINT','POISSON','POKE','PROBBETA','PROBBNML','PROBCHI',
+            'PROBF','PROBGAM','PROBHYPR','PROBIT','PROBNEGB','PROBNORM','PROBT',
+            'PUTN','PUTC','PUT','QTR','QUOTE','RANBIN','RANCAU','RANEXP',
+            'RANGAM','RANGE','RANK','RANNOR','RANPOI','RANTBL','RANTRI',
+            'RANUNI','REPEAT','RESOLVE','REVERSE','REWIND','RIGHT','ROUND',
+            'SAVING','SCAN','SDF','SECOND','SIGN','SINH','SIN','SKEWNESS',
+            'SOUNDEX','SPEDIS','SQRT','STDERR','STD','STFIPS','STNAME',
+            'STNAMEL','SUBSTR','SUM','SYMGET','SYSGET','SYSMSG','SYSPROD',
+            'SYSRC','SYSTEM','TANH','TAN','TIMEPART','TIME','TINV','TNONCT',
+            'TODAY','TRANSLATE','TRANWRD','TRIGAMMA','TRIMN','TRIM','TRUNC',
+            'UNIFORM','UPCASE','USS','VARFMT','VARINFMT','VARLABEL','VARLEN',
+            'VARNAME','VARNUM','VARRAYX','VARRAY','VARTYPE','VAR','VERIFY',
+            'VFORMATX','VFORMATDX','VFORMATD','VFORMATNX','VFORMATN',
+            'VFORMATWX','VFORMATW','VFORMAT','VINARRAYX','VINARRAY',
+            'VINFORMATX','VINFORMATDX','VINFORMATD','VINFORMATNX','VINFORMATN',
+            'VINFORMATWX','VINFORMATW','VINFORMAT','VLABELX','VLABEL',
+            'VLENGTHX','VLENGTH','VNAMEX','VNAME','VTYPEX','VTYPE','WEEKDAY',
+            'YEAR','YYQ','ZIPFIPS','ZIPNAME','ZIPNAMEL','ZIPSTATE'
             ),
         4 => array(
-            'ABORT', 'ARRAY', 'ATTRIB', 'BY', 'CALL', 'CARDS4', 'CATNAME',
-            'CONTINUE', 'DATALINES4', 'DELETE', 'DISPLAY',
-
-            'DM', 'DROP', 'ENDSAS', 'FILENAME', 'FILE', 'FOOTNOTE',
-            'FORMAT', 'GOTO', 'INFILE', 'INFORMAT', 'INPUT', 'KEEP',
-            'LABEL', 'LEAVE', 'LENGTH', 'LIBNAME', 'LINK', 'LIST', 'LOSTCARD',
-            'MERGE', 'MISSING', 'MODIFY', 'OPTIONS', 'OUTPUT', 'PAGE',
-            'PUT', 'REDIRECT', 'REMOVE', 'RENAME', 'REPLACE', 'RETAIN',
-            'RETURN', 'SELECT', 'SET', 'SKIP', 'STARTSAS', 'STOP', 'TITLE',
-
-            'UPDATE', 'WAITSAS', 'WHERE', 'WINDOW', 'X', 'SYSTASK',
-            'ADD', 'AND', 'ALTER', 'AS', 'CASCADE', 'CHECK', 'CREATE',
-            'DELETE', 'DESCRIBE', 'DISTINCT', 'DROP', 'FOREIGN',
-            'FROM', 'GROUP', 'HAVING', 'INDEX', 'INSERT', 'INTO', 'IN',
-            'KEY', 'LIKE', 'MESSAGE', 'MODIFY', 'MSGTYPE', 'NOT',
-            'NULL', 'ON', 'OR', 'ORDER', 'PRIMARY', 'REFERENCES',
-
-            'RESET', 'RESTRICT', 'SELECT', 'SET', 'TABLE',
-            'UNIQUE', 'UPDATE', 'VALIDATE', 'VIEW', 'WHERE'
+            'ABORT','ADD','ALTER','AND','ARRAY','AS','ATTRIB','BY','CALL',
+            'CARDS4','CASCADE','CATNAME','CHECK','CONTINUE','CREATE',
+            'DATALINES4','DELETE','DESCRIBE','DISPLAY','DISTINCT','DM','DROP',
+            'ENDSAS','FILE','FOOTNOTE','FOREIGN','FORMAT','FROM',
+            'GOTO','GROUP','HAVING','IN','INFILE','INFORMAT',
+            'INSERT','INTO','KEEP','KEY','LABEL','LEAVE',
+            'LIKE','LINK','LIST','LOSTCARD','MERGE','MESSAGE','MISSING',
+            'MODIFY','MSGTYPE','NOT','NULL','ON','OPTIONS','OR','ORDER',
+            'OUTPUT','PAGE','PRIMARY','REDIRECT','REFERENCES','REMOVE',
+            'RENAME','REPLACE','RESET','RESTRICT','RETAIN','RETURN','SELECT',
+            'SET','SKIP','STARTSAS','STOP','SYSTASK','TABLE','TITLE','UNIQUE',
+            'UPDATE','VALIDATE','VIEW','WAITSAS','WHERE','WINDOW','X'
             ),
         5 => array(
-            'DO', 'ELSE', 'END', 'IF', 'THEN', 'UNTIL', 'WHILE'
-
+            'DO','ELSE','END','IF','THEN','UNTIL','WHILE'
             ),
         6 => array(
-            'RUN', 'QUIT', 'DATA'
+            'RUN','QUIT','DATA'
             ),
         7 => array(
-
             'ERROR'
             ),
         8 => array(
             'WARNING'
             ),
-
         9 => array(
             'NOTE'
             )
         ),
     'SYMBOLS' => array(
-
         ),
     'CASE_SENSITIVE' => array(
         GESHI_COMMENTS => false,
         1 => false,
-
         2 => false,
         3 => false,
         4 => false,
         5 => false,
-
         6 => false,
         7 => false,
         8 => false,
         9 => false
-
         ),
     'STYLES' => array(
         'KEYWORDS' => array(
             1 => 'color: #0000ff;',
-
             2 => 'color: #0000ff;',
             3 => 'color: #0000ff;',
             4 => 'color: #0000ff;',
             5 => 'color: #0000ff;',
-
             6 => 'color: #000080; font-weight: bold;',
             7 => 'color: #ff0000;',
             8 => 'color: #00ff00;',
             9 => 'color: #0000ff;'
-
             ),
         'COMMENTS' => array(
-            1 => 'color: #006400; font-style: italic;',
+//            1 => 'color: #006400; font-style: italic;',
             'MULTI' => 'color: #006400; font-style: italic;'
-
             ),
         'ESCAPE_CHAR' => array(
             0 => 'color: #000099; font-weight: bold;'
             ),
         'BRACKETS' => array(
-
             0 => 'color: #66cc66;'
             ),
         'STRINGS' => array(
             0 => 'color: #a020f0;'
-
             ),
         'NUMBERS' => array(
             0 => 'color: #2e8b57; font-weight: bold;'
             ),
         'METHODS' => array(
-
             ),
         'SYMBOLS' => array(
             0 => 'color: #66cc66;'
             ),
         'SCRIPT' => array(
-
             0 => '',
             1 => '',
             2 => '',
             3 => ''
-
             ),
         'REGEXPS' => array(
             0 => 'color: #0000ff; font-weight: bold;',
             1 => 'color: #000080; font-weight: bold;',
-
             2 => 'color: #006400; font-style: italic;',
             3 => 'color: #006400; font-style: italic;',
             4 => 'color: #006400; font-style: italic;',
             5 => 'color: #ff0000; font-weight: bold;',
-
             6 => 'color: #00ff00; font-style: italic;',
             7 => 'color: #0000ff; font-style: normal;',
             8 => 'color: #b218b2; font-weight: bold;',
             9 => 'color: #b218b2; font-weight: bold;'
-
             )
         ),
     'URLS' => array(
         1 => '',
         2 => '',
-
         3 => '',
         4 => '',
         5 => '',
         6 => '',
-
         7 => '',
         8 => '',
         9 => ''
         ),
-
     'OOLANG' => false,
     'OBJECT_SPLITTERS' => array(
         ),
     'REGEXPS' => array(
-
         0 => "&amp;[a-zA-Z_][a-zA-Z0-9_]*",
-        1 => array(
+        1 => array(//Procedures
             GESHI_SEARCH => '(^\\s*)(PROC \\w+)',
             GESHI_REPLACE => '\\2',
-
             GESHI_MODIFIERS => 'im',
             GESHI_BEFORE => '\\1',
             GESHI_AFTER => ''
             ),
-
         2 => array(
             GESHI_SEARCH => '(^\\s*)(\\*.*;)',
             GESHI_REPLACE => '\\2',
             GESHI_MODIFIERS => 'im',
-
             GESHI_BEFORE => '\\1',
             GESHI_AFTER => ''
             ),
         3 => array(
-
             GESHI_SEARCH => '(.*;\\s*)(\\*.*;)',
             GESHI_REPLACE => '\\2',
             GESHI_MODIFIERS => 'im',
             GESHI_BEFORE => '\\1',
-
             GESHI_AFTER => ''
             ),
         4 => array(
             GESHI_SEARCH => '(^\\s*)(%\\*.*;)',
-
             GESHI_REPLACE => '\\2',
             GESHI_MODIFIERS => 'im',
             GESHI_BEFORE => '\\1',
             GESHI_AFTER => ''
-
             ),
-        5 => array(
+        5 => array(//Error messages
             GESHI_SEARCH => '(^ERROR.*)',
             GESHI_REPLACE => '\\1',
-
+            GESHI_MODIFIERS => 'im',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        6 => array(//Warning messages
+            GESHI_SEARCH => '(^WARNING.*)',
+            GESHI_REPLACE => '\\1',
             GESHI_MODIFIERS => 'im',
             GESHI_BEFORE => '',
             GESHI_AFTER => ''
             ),
-
-        6 => array(
-            GESHI_SEARCH => '(^WARNING.*)',
-            GESHI_REPLACE => '\\1',
-            GESHI_MODIFIERS => 'im',
-
-            GESHI_BEFORE => '',
-            GESHI_AFTER => ''
-            ),
-        7 => array(
-
+        7 => array(//Notice messages
             GESHI_SEARCH => '(^NOTE.*)',
             GESHI_REPLACE => '\\1',
             GESHI_MODIFIERS => 'im',
             GESHI_BEFORE => '',
-
             GESHI_AFTER => ''
             ),
         8 => array(
             GESHI_SEARCH => '(^\\s*)(CARDS.*)(^\\s*;\\s*$)',
-
             GESHI_REPLACE => '\\2',
             GESHI_MODIFIERS => 'sim',
             GESHI_BEFORE => '\\1',
             GESHI_AFTER => '\\3'
-
             ),
         9 => array(
             GESHI_SEARCH => '(^\\s*)(DATALINES.*)(^\\s*;\\s*$)',
             GESHI_REPLACE => '\\2',
-
             GESHI_MODIFIERS => 'sim',
             GESHI_BEFORE => '\\1',
             GESHI_AFTER => '\\3'
             )
-
         ),
     'STRICT_MODE_APPLIES' => GESHI_MAYBE,
     'SCRIPT_DELIMITERS' => array(
         ),
     'HIGHLIGHT_STRICT_BLOCK' => array(
-
         )
 );
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/scala.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,122 @@
+<?php
+/*************************************************************************************
+ * scala.php
+ * ----------
+ * Author: Franco Lombardo (franco@francolombardo.net)
+ * Copyright: (c) 2008 Franco Lombardo, Benny Baumann
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/02/08
+ *
+ * Scala language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/02/08 (1.0.7.22)
+ *   -  First Release
+ *
+ * TODO (updated 2007/04/27)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Scala',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'abstract', 'case', 'catch', 'class', 'def',
+            'do', 'else', 'extends', 'false', 'final',
+            'finally', 'for', 'forSome', 'if', 'implicit',
+            'import', 'match', 'new', 'null', 'object',
+            'override', 'package', 'private', 'protected', 'requires',
+            'return', 'sealed', 'super', 'this', 'throw',
+            'trait', 'try', 'true', 'type', 'val',
+            'var', 'while', 'with', 'yield'
+            ),
+        2 => array(
+            'void', 'double', 'int', 'boolean', 'byte', 'short', 'long', 'char', 'float'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}', '*', '&', '%', '!', ';', '<', '>', '?',
+        '_', ':', '=', '=>', '<<:',
+        '<%', '>:', '#', '@'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000ff; font-weight: bold;',
+            2 => 'color: #9999cc; font-weight: bold;',
+            ),
+        'COMMENTS' => array(
+            1=> 'color: #008000; font-style: italic;',
+            'MULTI' => 'color: #00ff00; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #0000ff; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #F78811;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #6666FF;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #F78811;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #000000;',
+            2 => 'color: #000000;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000080;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => 'http://scala-lang.org',
+        2 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
+);
+
+?>
--- a/plugins/geshi/geshi/scheme.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/scheme.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * ----------
  * Author: Jon Raphaelson (jonraphaelson@gmail.com)
  * Copyright: (c) 2005 Jon Raphaelson, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/08/30
  *
  * Scheme language file for GeSHi.
@@ -38,133 +38,133 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Scheme',
-	'COMMENT_SINGLE' => array(1 => ';'),
-	'COMMENT_MULTI' => array(';|' => '|;'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-		  'abs', 'acos', 'and', 'angle', 'append', 'appply', 'approximate',
-		  'asin', 'assoc', 'assq', 'assv', 'atan',
-		  
-		  'begin', 'boolean?', 'bound-identifier=?', 
-		  
-		  'caar', 'caddr', 'cadr', 'call-with-current-continuation', 
-		  'call-with-input-file', 'call-with-output-file', 'call/cc', 'car',
-		  'case', 'catch', 'cdddar', 'cddddr', 'cdr', 'ceiling', 'char->integer',
-		  'char-alphabetic?', 'char-ci<=?', 'char-ci<?', 'char-ci?', 'char-ci>=?',
-		  'char-ci>?', 'char-ci=?', 'char-downcase', 'char-lower-case?', 
-		  'char-numeric', 'char-ready', 'char-ready?', 'char-upcase', 
-		  'char-upper-case?', 'char-whitespace?', 'char<=?', 'char<?', 'char=?',
-		  'char>=?', 'char>?', 'char?', 'close-input-port', 'close-output-port',
-		  'complex?', 'cond', 'cons', 'construct-identifier', 'cos', 
-		  'current-input-port', 'current-output-port',
-		  
-		  'd', 'define', 'define-syntax', 'delay', 'denominator', 'display', 'do',
-		  
-		  'e', 'eof-object?', 'eq?', 'equal?', 'eqv?', 'even?', 'exact->inexact',
-		  'exact?', 'exp', 'expt', 'else',
-		  
-		  'f', 'floor', 'for-each', 'force', 'free-identifer=?', 
-		  
-		  'gcd', 'gen-counter', 'gen-loser', 'generate-identifier',
-		  
-		  'identifier->symbol', 'identifier', 'if', 'imag-part', 'inexact->exact',
-		  'inexact?', 'input-port?', 'integer->char', 'integer?', 'integrate-system',
-		  
-		  'l', 'lambda', 'last-pair', 'lcm', 'length', 'let', 'let*', 'letrec', 
-		  'list', 'list->string', 'list->vector', 'list-ref', 'list-tail', 'list?',
-		  'load', 'log',
-		  
-		  'magnitude', 'make-polar', 'make-promise', 'make-rectangular',     
-		  'make-string', 'make-vector', 'map', 'map-streams', 'max', 'member', 
-		  'memq', 'memv', 'min', 'modulo',
-		  
-		  'negative', 'newline', 'nil', 'not', 'null?', 'number->string', 'number?',
-		  'numerator',
-		  
-		  'odd?', 'open-input-file', 'open-output-file', 'or', 'output-port', 
-		  
-		  'pair?', 'peek-char', 'positive?', 'procedure?',
-		  
-		  'quasiquote', 'quote', 'quotient', 
-		  
-		  'rational', 'rationalize', 'read', 'read-char', 'real-part', 'real?',
-		  'remainder', 'return', 'reverse',
-		  
-		  's', 'sequence', 'set!', 'set-char!', 'set-cdr!', 'sin', 'sqrt', 'string',
-		  'string->list', 'string->number', 'string->symbol', 'string-append', 
-		  'string-ci<=?', 'string-ci<?', 'string-ci=?', 'string-ci>=?', 
-		  'string-ci>?', 'string-copy', 'string-fill!', 'string-length', 
-		  'string-ref', 'string-set!', 'string<=?', 'string<?', 'string=?', 
-		  'string>=?', 'string>?', 'string?', 'substring', 'symbol->string', 
-		  'symbol?', 'syntax', 'syntax-rules',
-		  
-		  't', 'tan', 'template', 'transcript-off', 'transcript-on', 'truncate',
-		  
-		  'unquote', 'unquote-splicing', 'unwrap-syntax', 
-		  
-		  'vector', 'vector->list', 'vector-fill!', 'vector-length', 'vector-ref', 
-		  'vector-set!', 'vector?', 
-		  
-		  'with-input-from-file', 'with-output-to-file', 'write', 'write-char',
-		  
-		  'zero?'
-		  
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')', '{', '}', '[', ']', '!', '%', '^', '&', '/','+','-','*','=','<','>',';','|'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			0 => 'color: #202020;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'Scheme',
+    'COMMENT_SINGLE' => array(1 => ';'),
+    'COMMENT_MULTI' => array('#|' => '|#'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'abs', 'acos', 'and', 'angle', 'append', 'appply', 'approximate',
+            'asin', 'assoc', 'assq', 'assv', 'atan',
+
+            'begin', 'boolean?', 'bound-identifier=?',
+
+            'caar', 'caddr', 'cadr', 'call-with-current-continuation',
+            'call-with-input-file', 'call-with-output-file', 'call/cc', 'car',
+            'case', 'catch', 'cdddar', 'cddddr', 'cdr', 'ceiling', 'char->integer',
+            'char-alphabetic?', 'char-ci<=?', 'char-ci<?', 'char-ci?', 'char-ci>=?',
+            'char-ci>?', 'char-ci=?', 'char-downcase', 'char-lower-case?',
+            'char-numeric', 'char-ready', 'char-ready?', 'char-upcase',
+            'char-upper-case?', 'char-whitespace?', 'char<=?', 'char<?', 'char=?',
+            'char>=?', 'char>?', 'char?', 'close-input-port', 'close-output-port',
+            'complex?', 'cond', 'cons', 'construct-identifier', 'cos',
+            'current-input-port', 'current-output-port',
+
+            'd', 'define', 'define-syntax', 'delay', 'denominator', 'display', 'do',
+
+            'e', 'eof-object?', 'eq?', 'equal?', 'eqv?', 'even?', 'exact->inexact',
+            'exact?', 'exp', 'expt', 'else',
+
+            'f', 'floor', 'for-each', 'force', 'free-identifer=?',
+
+            'gcd', 'gen-counter', 'gen-loser', 'generate-identifier',
+
+            'identifier->symbol', 'identifier', 'if', 'imag-part', 'inexact->exact',
+            'inexact?', 'input-port?', 'integer->char', 'integer?', 'integrate-system',
+
+            'l', 'lambda', 'last-pair', 'lcm', 'length', 'let', 'let*', 'letrec',
+            'list', 'list->string', 'list->vector', 'list-ref', 'list-tail', 'list?',
+            'load', 'log',
+
+            'magnitude', 'make-polar', 'make-promise', 'make-rectangular',
+            'make-string', 'make-vector', 'map', 'map-streams', 'max', 'member',
+            'memq', 'memv', 'min', 'modulo',
+
+            'negative', 'newline', 'nil', 'not', 'null?', 'number->string', 'number?',
+            'numerator',
+
+            'odd?', 'open-input-file', 'open-output-file', 'or', 'output-port',
+
+            'pair?', 'peek-char', 'positive?', 'procedure?',
+
+            'quasiquote', 'quote', 'quotient',
+
+            'rational', 'rationalize', 'read', 'read-char', 'real-part', 'real?',
+            'remainder', 'return', 'reverse',
+
+            's', 'sequence', 'set!', 'set-char!', 'set-cdr!', 'sin', 'sqrt', 'string',
+            'string->list', 'string->number', 'string->symbol', 'string-append',
+            'string-ci<=?', 'string-ci<?', 'string-ci=?', 'string-ci>=?',
+            'string-ci>?', 'string-copy', 'string-fill!', 'string-length',
+            'string-ref', 'string-set!', 'string<=?', 'string<?', 'string=?',
+            'string>=?', 'string>?', 'string?', 'substring', 'symbol->string',
+            'symbol?', 'syntax', 'syntax-rules',
+
+            't', 'tan', 'template', 'transcript-off', 'transcript-on', 'truncate',
+
+            'unquote', 'unquote-splicing', 'unwrap-syntax',
+
+            'vector', 'vector->list', 'vector-fill!', 'vector-length', 'vector-ref',
+            'vector-set!', 'vector?',
+
+            'with-input-from-file', 'with-output-to-file', 'write', 'write-char',
+
+            'zero?'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']', '!', '%', '^', '&', '/','+','-','*','=','<','>',';','|'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            0 => 'color: #202020;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/scilab.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,295 @@
+<?php
+/*************************************************************************************
+ * scilab.php
+ * --------
+ * Author: Christophe David (geshi@christophedavid.org)
+ * Copyright: (c) 2008 Christophe David (geshi@christophedavid.org)
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/08/04
+ *
+ * SciLab language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/08/25 (1.0.8.1)
+ *   - Corrected with the help of Benny Baumann (BenBE@geshi.org)
+ * 2008/08/04 (0.0.0.1)
+ *   - First beta Release - known problem with ' used to transpose matrices considered as start of strings
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'SciLab',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array(),
+    'COMMENT_REGEXP' => array(
+        2 => "/\w+'/"
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'HARDQUOTE' => array("'", "'"),
+    'HARDESCAPE' => array(),
+    'KEYWORDS' => array(
+        1 => array(
+            'if', 'else', 'elseif', 'end', 'select', 'case', 'for', 'while', 'break'
+            ),
+        2 => array(
+            'STDIN', 'STDOUT', 'STDERR',
+            '%i', '%pi', '%e', '%eps', '%nan', '%inf', '%s', '%t', '%f',
+            'usual', 'polynomial', 'boolean', 'character', 'function', 'rational', 'state-space',
+            'sparse', 'boolean sparse', 'list', 'tlist', 'library', 'endfunction'
+            ),
+        3 => array(
+            '%asn', '%helps', '%k', '%sn', 'abcd', 'abinv', 'abort', 'about', 'About_M2SCI_tools',
+            'abs', 'acos', 'acosh', 'acoshm', 'acosm', 'AdCommunications', 'add_demo', 'add_edge',
+            'add_help_chapter', 'add_node', 'add_palette', 'addcolor', 'addf', 'addinter', 'addmenu',
+            'adj_lists', 'adj2sp', 'aff2ab', 'alufunctions', 'amell', 'analpf', 'analyze', 'and',
+            'ans', 'apropos', 'arc_graph', 'arc_number', 'arc_properties', 'argn', 'arhnk', 'arl2',
+            'arma', 'arma2p', 'armac', 'armax', 'armax1', 'arsimul', 'artest', 'articul', 'ascii',
+            'asciimat', 'asin', 'asinh', 'asinhm', 'asinm', 'assignation', 'atan', 'atanh', 'atanhm',
+            'atanm', 'augment', 'auread', 'auwrite', 'axes_properties', 'axis_properties', 'backslash',
+            'balanc', 'balreal', 'bandwr', 'banner','bar', 'barh', 'barhomogenize', 'basename', 'bdiag',
+            'beep', 'besselh', 'besseli', 'besselj', 'besselk', 'bessely', 'best_match', 'beta','bezout',
+            'bifish', 'bilin', 'binomial', 'black', 'bloc2exp', 'bloc2ss', 'bode', 'bool2s',
+            'boucle', 'brackets', 'browsevar', 'bsplin3val', 'bstap', 'buttmag', 'buttondialog',
+            'bvode', 'bvodeS', 'c_link', 'cainv', 'calendar', 'calerf', 'calfrq', 'call', 'canon', 'casc',
+            'cat', 'catch', 'ccontrg', 'cd', 'cdfbet', 'cdfbin', 'cdfchi', 'cdfchn', 'cdff', 'cdffnc',
+            'cdfgam', 'cdfnbn', 'cdfnor', 'cdfpoi', 'cdft', 'ceil', 'cell', 'cell2mat', 'cellstr', 'center',
+            'cepstrum', 'chain_struct', 'chaintest', 'champ', 'champ_properties', 'champ1', 'char', 'chart',
+            'chartooem', 'chdir', 'cheb1mag', 'cheb2mag', 'check_graph', 'chepol', 'chfact', 'chol', 'chsolve',
+            'circuit', 'classmarkov', 'clc', 'clean', 'clear', 'clear_pixmap', 'clearfun', 'clearglobal','clf',
+            'clipboard', 'close', 'cls2dls', 'cmb_lin', 'cmndred', 'cmoment', 'code2str', 'coeff', 'coff', 'coffg',
+            'colcomp', 'colcompr', 'colinout', 'colon', 'color', 'color_list', 'colorbar', 'colordef', 'colormap',
+            'colregul', 'comma', 'comments', 'comp', 'companion', 'comparison', 'Compound_properties', 'con_nodes',
+            'cond', 'config', 'configure_msvc', 'conj', 'connex', 'console', 'cont_frm', 'cont_mat', 'Contents',
+            'continue', 'contour', 'contour2d', 'contour2di', 'contourf', 'contr', 'contract_edge', 'contrss',
+            'convex_hull', 'convol', 'convstr', 'copfac', 'copy', 'corr', 'correl', 'cos', 'cosh', 'coshm',
+            'cosm', 'cotg', 'coth', 'cothm', 'covar', 'create_palette', 'cshep2d', 'csim', 'cspect', 'Cste',
+            'ctr_gram', 'cumprod', 'cumsum', 'cycle_basis', 'czt', 'dasrt', 'dassl', 'datafit', 'date', 'datenum',
+            'datevec', 'dbphi', 'dcf', 'ddp', 'debug', 'dec2hex', 'deff', 'definedfields', 'degree', 'delbpt',
+            'delete', 'delete_arcs', 'delete_nodes', 'delip', 'delmenu', 'demoplay', 'denom', 'derivat', 'derivative',
+            'des2ss', 'des2tf', 'det', 'determ', 'detr', 'detrend', 'dft', 'dhinf', 'dhnorm', 'diag', 'diary',
+            'diff', 'diophant', 'dir', 'dirname', 'disp', 'dispbpt', 'dispfiles', 'dlgamma', 'dnaupd', 'do', 'dot',
+            'double', 'dragrect', 'draw', 'drawaxis', 'drawlater', 'drawnow', 'driver', 'dsaupd', 'dscr',
+            'dsearch', 'dsimul', 'dt_ility', 'dtsi', 'edge_number', 'edit', 'edit_curv', 'edit_error',
+            'edit_graph', 'edit_graph_menus', 'editvar', 'eigenmarkov', 'ell1mag',
+            'empty', 'emptystr', 'eqfir', 'eqiir', 'equal', 'Equal', 'equil', 'equil1',
+            'ereduc', 'erf', 'erfc', 'erfcx', 'errbar', 'errcatch', 'errclear', 'error', 'error_table', 'etime',
+            'eval', 'eval_cshep2d', 'eval3d', 'eval3dp', 'evans', 'evstr', 'excel2sci', 'exec', 'execstr', 'exists',
+            'exit', 'exp', 'expm', 'external', 'extraction', 'eye', 'fac3d', 'factorial', 'factors', 'faurre', 'fchamp',
+            'fcontour', 'fcontour2d', 'fec', 'fec_properties', 'feedback', 'feval', 'ffilt', 'fft', 'fft2', 'fftshift',
+            'fgrayplot', 'figure', 'figure_properties', 'figure_style', 'file', 'fileinfo', 'fileparts', 'filter', 'find',
+            'find_freq', 'find_path', 'findABCD', 'findAC', 'findBD', 'findBDK', 'findm', 'findmsvccompiler', 'findobj',
+            'findR', 'findx0BD', 'firstnonsingleton', 'fit_dat', 'fix', 'floor', 'flts', 'foo', 'format',
+            'formatman', 'fort', 'fourplan', 'fplot2d', 'fplot3d', 'fplot3d1', 'fprintf', 'fprintfMat', 'frep2tf',
+            'freq', 'freson', 'frexp', 'frfit', 'frmag', 'fscanf', 'fscanfMat', 'fsfirlin', 'fsolve', 'fspecg',
+            'fstabst', 'fstair', 'ftest', 'ftuneq', 'full', 'fullfile', 'fullrf', 'fullrfk', 'fun2string', 'Funcall',
+            'funcprot', 'functions', 'funptr', 'fusee', 'G_make', 'g_margin', 'gainplot', 'gamitg',
+            'gamma', 'gammaln', 'gca', 'gcare', 'gcd', 'gce', 'gcf', 'gda', 'gdf', 'gen_net', 'genfac3d', 'genlib',
+            'genmarkov', 'geom3d', 'geomean', 'get', 'get_contents_infer', 'get_function_path', 'getcolor', 'getcwd',
+            'getd', 'getdate', 'getenv', 'getf', 'getfield', 'getfont', 'gethistory', 'getio', 'getlinestyle',
+            'getlongpathname', 'getmark', 'getmemory', 'getos', 'getpid', 'getscilabkeywords', 'getshell',
+            'getshortpathname', 'getsymbol', 'getvalue', 'getversion', 'gfare', 'gfrancis', 'girth', 'givens',
+            'glever', 'glist', 'global', 'GlobalProperty', 'glue', 'gmres', 'gpeche', 'gr_menu', 'graduate', 'grand',
+            'graph_2_mat', 'graph_center', 'graph_complement', 'graph_diameter', 'graph_power', 'graph_simp', 'graph_sum',
+            'graph_union', 'graphic', 'Graphics', 'graphics_entities', 'graph-list', 'graycolormap', 'grayplot',
+            'grayplot_properties', 'graypolarplot', 'great', 'grep', 'group', 'gschur', 'gsort', 'gspec', 'gstacksize',
+            'gtild', 'h_cl', 'h_inf', 'h_inf_st', 'h_norm', 'h2norm', 'halt', 'hamilton', 'hank', 'hankelsv', 'harmean',
+            'hat', 'havewindow', 'head_comments', 'help', 'help_skeleton', 'hermit', 'hess', 'hex2dec', 'hilb', 'hinf',
+            'hist3d', 'histplot', 'horner', 'host', 'hotcolormap', 'householder', 'hrmt', 'hsv2rgb', 'hsvcolormap',
+            'htrianr', 'hypermat', 'hypermatrices', 'iconvert', 'ieee', 'ifft', 'iir', 'iirgroup', 'iirlp',
+            'ilib_build', 'ilib_compile', 'ilib_for_link', 'ilib_gen_gateway', 'ilib_gen_loader', 'ilib_gen_Make',
+            'im_inv', 'imag', 'impl', 'imrep2ss', 'imult', 'ind2sub', 'Infer', 'inistate', 'input', 'insertion', 'int',
+            'int16', 'int2d', 'int32', 'int3d', 'int8', 'intc', 'intdec', 'integrate', 'interp', 'interp1', 'interp2d',
+            'interp3d', 'interpln', 'intersci', 'intersect', 'intg', 'intl', 'intppty', 'intsplin', 'inttrap', 'inttype',
+            'inv', 'inv_coeff', 'invr', 'invsyslin', 'iqr', 'is_connex', 'iscellstr', 'isdef', 'isdir', 'isempty',
+            'isequal', 'isequalbitwise', 'iserror', 'isglobal', 'isinf', 'isnan', 'isoview', 'isreal', 'javasci',
+            'jetcolormap', 'jmat', 'justify', 'kalm', 'karmarkar', 'kernel', 'keyboard', 'knapsack', 'kpure', 'krac2',
+            'kron', 'kroneck', 'label_properties', 'labostat', 'LANGUAGE', 'lasterror', 'lattn', 'lattp', 'lcf', 'lcm',
+            'lcmdiag', 'ldiv', 'ldivf', 'leastsq', 'left', 'legend', 'legend_properties', 'legendre', 'legends', 'length',
+            'leqr', 'less', 'lev', 'levin', 'lex_sort', 'lft', 'lgfft', 'lib', 'lin', 'lin2mu', 'lindquist',
+            'line_graph', 'linear_interpn', 'lines', 'LineSpec', 'linf', 'linfn', 'link', 'linmeq', 'linpro', 'linsolve',
+            'linspace', 'listfiles', 'listvarinfile', 'lmisolver', 'lmitool', 'load', 'load_graph', 'loadhistory',
+            'loadmatfile', 'loadplots', 'loadwave', 'locate', 'log', 'log10', 'log1p', 'log2', 'logm', 'logspace',
+            'lotest', 'lqe', 'lqg', 'lqg_ltr', 'lqg2stan', 'lqr', 'ls', 'lsq', 'lsq_splin', 'lsqrsolve', 'lsslist',
+            'lstcat', 'lstsize', 'ltitr', 'lu', 'ludel', 'lufact', 'luget', 'lusolve', 'lyap', 'm_circle', 'm2scideclare',
+            'macglov', 'macr2lst', 'macr2tree', 'macro', 'macrovar', 'mad', 'make_graph', 'make_index', 'makecell', 'man',
+            'manedit', 'mapsound', 'markp2ss', 'mat_2_graph', 'matfile2sci', 'Matlab-Scilab_character_strings', 'Matplot',
+            'Matplot_properties', 'Matplot1', 'matrices', 'matrix', 'max', 'max_cap_path', 'max_clique', 'max_flow',
+            'maxi', 'mcisendstring', 'mclearerr', 'mclose', 'mdelete', 'mean', 'meanf', 'median', 'menus', 'meof',
+            'merror', 'mese', 'mesh', 'mesh2d', 'meshgrid', 'mfft', 'mfile2sci', 'mfprintf', 'mfscanf', 'mget', 'mgeti',
+            'mgetl', 'mgetstr', 'milk_drop', 'min', 'min_lcost_cflow', 'min_lcost_flow1', 'min_lcost_flow2',
+            'min_qcost_flow', 'min_weight_tree', 'mine', 'mini', 'minreal', 'minss', 'minus', 'mkdir', 'mlist', 'mode',
+            'modulo', 'moment', 'mopen', 'move', 'mprintf', 'mps2linpro', 'mput', 'mputl', 'mputstr', 'mrfit', 'mscanf',
+            'msd', 'mseek', 'msprintf', 'msscanf', 'mstr2sci', 'mtell', 'mtlb_0', 'mtlb_a', 'mtlb_all', 'mtlb_any',
+            'mtlb_axis', 'mtlb_beta', 'mtlb_box', 'mtlb_close', 'mtlb_colordef', 'mtlb_conv', 'mtlb_cumprod', 'mtlb_cumsum',
+            'mtlb_dec2hex', 'mtlb_delete', 'mtlb_diag', 'mtlb_diff', 'mtlb_dir', 'mtlb_double', 'mtlb_e', 'mtlb_echo',
+            'mtlb_eig', 'mtlb_eval', 'mtlb_exist', 'mtlb_eye', 'mtlb_false', 'mtlb_fft', 'mtlb_fftshift', 'mtlb_find',
+            'mtlb_findstr', 'mtlb_fliplr', 'mtlb_fopen', 'mtlb_format', 'mtlb_fprintf', 'mtlb_fread', 'mtlb_fscanf',
+            'mtlb_full', 'mtlb_fwrite', 'mtlb_grid', 'mtlb_hold', 'mtlb_i', 'mtlb_ifft', 'mtlb_imp', 'mtlb_int16',
+            'mtlb_int32', 'mtlb_int8', 'mtlb_is', 'mtlb_isa', 'mtlb_isfield', 'mtlb_isletter', 'mtlb_isspace', 'mtlb_l',
+            'mtlb_legendre', 'mtlb_linspace', 'mtlb_load', 'mtlb_logic', 'mtlb_logical', 'mtlb_lower', 'mtlb_max',
+            'mtlb_min', 'mtlb_mode', 'mtlb_more', 'mtlb_num2str', 'mtlb_ones', 'mtlb_plot', 'mtlb_prod', 'mtlb_rand',
+            'mtlb_randn', 'mtlb_rcond', 'mtlb_realmax', 'mtlb_realmin', 'mtlb_repmat', 'mtlb_s', 'mtlb_save',
+            'mtlb_setstr', 'mtlb_size', 'mtlb_sort', 'mtlb_sparse', 'mtlb_strcmp', 'mtlb_strcmpi', 'mtlb_strfind',
+            'mtlb_strrep', 'mtlb_sum', 'mtlb_t', 'mtlb_toeplitz', 'mtlb_tril', 'mtlb_triu', 'mtlb_true', 'mtlb_uint16',
+            'mtlb_uint32', 'mtlb_uint8', 'mtlb_upper', 'mtlb_zeros', 'mu2lin', 'mucomp', 'mulf', 'mvvacov', 'name2rgb',
+            'names', 'nancumsum', 'nand2mean', 'nanmax', 'nanmean', 'nanmeanf', 'nanmedian', 'nanmin', 'nanstdev',
+            'nansum', 'narsimul', 'NDcost', 'ndgrid', 'ndims', 'nearfloat', 'nehari', 'neighbors', 'netclose', 'netwindow',
+            'netwindows', 'new', 'newaxes', 'newest', 'newfun', 'nextpow2', 'nf3d', 'nfreq', 'nlev', 'nnz', 'node_number',
+            'nodes_2_path', 'nodes_degrees', 'noisegen', 'norm', 'not', 'null', 'number_properties', 'numdiff', 'numer',
+            'nyquist', 'object_editor', 'obs_gram', 'obscont', 'obscont1', 'observer', 'obsv_mat', 'obsvss', 'ode',
+            'ode_discrete', 'ode_optional_output', 'ode_root', 'odedc', 'odeoptions', 'oemtochar', 'old_style',
+            'oldbesseli', 'oldbesselj', 'oldbesselk', 'oldbessely', 'oldload', 'oldplot', 'oldsave', 'ones',
+            'Operation', 'optim', 'or', 'orth', 'overloading', 'p_margin', 'param3d', 'param3d_properties',
+            'param3d1', 'paramfplot2d', 'parents', 'parrot', 'part', 'path_2_nodes', 'pathconvert', 'pause', 'pbig',
+            'pca', 'pcg', 'pdiv', 'pen2ea', 'pencan', 'penlaur', 'percent', 'perctl', 'perfect_match', 'perl',
+            'perms', 'permute', 'pertrans', 'pfss', 'phasemag', 'phc', 'pie', 'pinv', 'pipe_network', 'playsnd', 'plot',
+            'plot_graph', 'plot2d', 'plot2d_old_version', 'plot2d1', 'plot2d2', 'plot2d3', 'plot2d4', 'plot3d',
+            'plot3d_old_version', 'plot3d1', 'plot3d2', 'plot3d3', 'plotframe', 'plotprofile', 'plus', 'plzr',
+            'pmodulo', 'pol2des', 'pol2str', 'pol2tex', 'polar', 'polarplot', 'polfact', 'poly', 'polyline_properties',
+            'portr3d', 'portrait', 'power', 'ppol', 'prbs_a', 'predecessors', 'predef', 'print', 'printf',
+            'printf_conversion', 'printing', 'printsetupbox', 'prod', 'profile', 'progressionbar', 'proj', 'projsl',
+            'projspec', 'psmall', 'pspect', 'pvm', 'pvm_addhosts', 'pvm_barrier', 'pvm_bcast', 'pvm_bufinfo', 'pvm_config',
+            'pvm_delhosts', 'pvm_error', 'pvm_exit', 'pvm_f772sci', 'pvm_get_timer', 'pvm_getinst', 'pvm_gettid',
+            'pvm_gsize', 'pvm_halt', 'pvm_joingroup', 'pvm_kill', 'pvm_lvgroup', 'pvm_mytid', 'pvm_parent', 'pvm_probe',
+            'pvm_recv', 'pvm_reduce', 'pvm_sci2f77', 'pvm_send', 'pvm_set_timer', 'pvm_spawn', 'pvm_spawn_independent',
+            'pvm_start', 'pvm_tasks', 'pvm_tidtohost', 'pvmd3', 'pwd', 'qassign', 'qld', 'qmr', 'qr', 'quapro', 'quart',
+            'quaskro', 'quit', 'quote', 'rand', 'randpencil', 'range', 'rank', 'rankqr', 'rat',  'rcond',
+            'rdivf', 'read', 'read4b', 'readb', 'readc_', 'readmps', 'readxls', 'real', 'realtime', 'realtimeinit',
+            'rectangle_properties', 'recur', 'reglin', 'regress', 'remez', 'remezb', 'repfreq', 'replot', 'resethistory',
+            'residu', 'resume', 'return', 'rgb2name', 'ric_desc', 'ricc', 'riccati', 'rlist', 'rmdir', 'roots', 'rotate',
+            'round', 'routh_t', 'rowcomp', 'rowcompr', 'rowinout', 'rowregul', 'rowshuff', 'rpem', 'rref', 'rtitr',
+            'rubberbox', 'salesman', 'sample', 'samplef', 'samwr', 'save', 'save_format', 'save_graph', 'savehistory',
+            'savematfile', 'savewave', 'sca', 'scaling', 'scanf', 'scanf_conversion', 'scf', 'schur', 'sci_files',
+            'sci2exp', 'sci2for', 'sci2map', 'sciargs', 'SciComplex', 'SciComplexArray', 'SciDouble', 'SciDoubleArray',
+            'scilab', 'Scilab', 'ScilabEval', 'scilink', 'scipad', 'SciString', 'SciStringArray', 'sd2sci', 'sda', 'sdf',
+            'secto3d', 'segs_properties', 'semi', 'semicolon', 'semidef', 'sensi', 'set', 'set_posfig_dim',
+            'setbpt', 'setdiff', 'setenv', 'seteventhandler', 'setfield', 'sethomedirectory', 'setlanguage', 'setmenu',
+            'sfact', 'Sfgrayplot', 'Sgrayplot', 'sgrid', 'shortest_path', 'show_arcs', 'show_graph', 'show_nodes',
+            'show_pixmap', 'showprofile', 'sident', 'sign', 'Signal', 'signm', 'simp', 'simp_mode', 'sin', 'sinc',
+            'sincd', 'sinh', 'sinhm', 'sinm', 'size', 'slash', 'sleep', 'sm2des', 'sm2ss', 'smooth', 'solve',
+            'sorder', 'sort', 'sound', 'soundsec', 'sp2adj', 'spaninter', 'spanplus', 'spantwo', 'spchol',
+            'spcompack', 'spec', 'specfact', 'speye', 'spget', 'splin', 'splin2d', 'splin3d', 'split_edge', 'spones',
+            'sprand', 'sprintf', 'spzeros', 'sqroot', 'sqrt', 'sqrtm', 'square', 'squarewave', 'srfaur', 'srkf', 'ss2des',
+            'ss2ss', 'ss2tf', 'sscanf', 'sskf', 'ssprint', 'ssrand', 'st_deviation', 'st_ility', 'stabil', 'stacksize',
+            'star', 'startup', 'stdev', 'stdevf', 'str2code', 'strange', 'strcat', 'strindex', 'string', 'stringbox',
+            'strings', 'stripblanks', 'strong_con_nodes', 'strong_connex', 'strsplit', 'strsubst', 'struct', 'sub2ind',
+            'subf', 'subgraph', 'subplot', 'successors', 'sum', 'supernode', 'surf', 'surface_properties', 'sva',
+            'svd', 'svplot', 'sylm', 'sylv', 'symbols', 'sysconv', 'sysdiag', 'sysfact', 'syslin', 'syssize', 'system',
+            'systems', 'systmat', 'tabul', 'tan', 'tangent', 'tanh', 'tanhm', 'tanm', 'TCL_CreateSlave', 'TCL_DeleteInterp',
+            'TCL_EvalFile', 'TCL_EvalStr', 'TCL_ExistInterp', 'TCL_ExistVar', 'TCL_GetVar', 'TCL_GetVersion', 'TCL_SetVar',
+            'TCL_UnsetVar', 'TCL_UpVar', 'tdinit', 'testmatrix', 'texprint', 'text_properties', 'tf2des', 'tf2ss', 'then',
+            'thrownan', 'tic', 'tilda', 'time_id', 'timer', 'title', 'titlepage', 'TK_EvalFile', 'TK_EvalStr', 'tk_getdir',
+            'tk_getfile', 'TK_GetVar', 'tk_savefile', 'TK_SetVar',  'toc', 'toeplitz', 'tohome', 'tokenpos',
+            'tokens', 'toolbar', 'toprint', 'trace', 'trans', 'trans_closure', 'translatepaths', 'tree2code', 'trfmod',
+            'trianfml', 'tril', 'trimmean', 'trisolve', 'triu', 'try', 'trzeros', 'twinkle', 'type', 'Type', 'typename',
+            'typeof', 'ui_observer', 'uicontrol', 'uimenu', 'uint16', 'uint32', 'uint8', 'ulink', 'unglue', 'union',
+            'unique', 'unix', 'unix_g', 'unix_s', 'unix_w', 'unix_x', 'unobs', 'unsetmenu', 'unzoom', 'user', 'varargin',
+            'varargout', 'Variable', 'variance', 'variancef', 'varn', 'vectorfind', 'waitbar', 'warning', 'wavread',
+            'wavwrite', 'wcenter', 'wfir', 'what', 'where', 'whereami', 'whereis', 'who', 'who_user', 'whos',
+            'wiener', 'wigner', 'winclose', 'window', 'winlist', 'winopen', 'winqueryreg', 'winsid', 'with_atlas',
+            'with_gtk', 'with_javasci', 'with_pvm', 'with_texmacs', 'with_tk', 'writb', 'write', 'write4b', 'x_choices',
+            'x_choose', 'x_dialog', 'x_matrix', 'x_mdialog', 'x_message', 'x_message_modeless', 'xarc', 'xarcs', 'xarrows',
+            'xaxis', 'xbasc', 'xbasimp', 'xbasr', 'xchange', 'xclea', 'xclear', 'xclick', 'xclip', 'xdel', 'xend',
+            'xfarc', 'xfarcs', 'xfpoly', 'xfpolys', 'xfrect', 'xget', 'xgetech', 'xgetfile', 'xgetmouse', 'xgraduate',
+            'xgrid', 'xinfo', 'xinit', 'xlfont', 'xload', 'xls_open', 'xls_read', 'xmltohtml', 'xname', 'xnumb', 'xpause',
+            'xpoly', 'xpolys', 'xrect', 'xrects', 'xrpoly', 'xs2bmp', 'xs2emf', 'xs2eps', 'xs2fig', 'xs2gif', 'xs2ppm',
+            'xs2ps', 'xsave', 'xsegs', 'xselect', 'xset', 'xsetech', 'xsetm', 'xstring', 'xstringb', 'xstringl', 'xtape',
+            'xtitle', 'yulewalk', 'zeropen', 'zeros', 'zgrid', 'zoom_rect', 'zpbutt', 'zpch1', 'zpch2', 'zpell'
+            )
+        ),
+    'SYMBOLS' => array(
+        '<', '>', '=',
+        '!', '@', '~', '&', '|',
+        '+','-', '*', '/', '%',
+        ',', ';', '?', ':', "'"
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => true,
+        1 => true,
+        2 => true,
+        3 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #000066;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            2 => '',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            'HARD' => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;',
+            'HARD' => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;',
+            2 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #0000ff;',
+            4 => 'color: #009999;',
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => 'http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm',
+        2 => 'http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm',
+        3 => 'http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm'
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '-&gt;',
+        2 => '::'
+        ),
+    'REGEXPS' => array(
+        //Variable
+        0 => '[\\$%@]+[a-zA-Z_][a-zA-Z0-9_]*',
+        //File Descriptor
+        4 => '&lt;[a-zA-Z_][a-zA-Z0-9_]*&gt;',
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
+);
+
+?>
--- a/plugins/geshi/geshi/sdlbasic.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/sdlbasic.php	Fri May 29 19:30:59 2009 -0400
@@ -2,9 +2,9 @@
 /*************************************************************************************
  * sdlbasic.php
  * ------------
- * Author: Roberto Rossi 
+ * Author: Roberto Rossi
  * Copyright: (c) 2005 Roberto Rossi (http://rsoftware.altervista.org)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2005/08/19
  *
  * sdlBasic (http://sdlbasic.sf.net) language file for GeSHi.
@@ -33,129 +33,133 @@
  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  ************************************************************************************/
- $language_data = array (
-	'LANG_NAME' => 'sdlBasic',
-	'COMMENT_SINGLE' => array(1 => "'", 2 => "rem", 3 => "!", 4 => "#"),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"'),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		1 => array(
-    'const', 'option', 'explicit', 'option', 'qbasic', 'include', 'argc',
-    'argv', 'command', 'command$', 'run', 'shell', 'end', 'os', 'declare',
-    'sub', 'function', 'return', 'while', 'wend', 'exit', 'while', 'end',
-    'while', 'continue', 'if', 'then', 'else', 'elseif', 'end', 'if',
-    'select', 'case', 'case', 'else', 'end', 'case', 'for', 'each', 'step',
-    'next', 'to', 'continue', 'dim', 'shared', 'common', 'lbound', 'bound',
-    'erase', 'asc', 'chr', 'chr$', 'insert', 'insert$', 'instr', 'lcase',
-    'lcase$', 'left', 'left$', 'len', 'length', 'ltrim', 'ltrim$', 'mid',
-    'mid$', 'replace', 'replace$', 'replacesubstr', 'replacesubstr$',
-    'reverse', 'reverse$', 'right', 'right$', 'rinstr', 'rtrim', 'rtrim$',
-    'space', 'space$', 'str', 'str$', 'strf', 'strf$', 'string', 'string$',
-    'tally', 'trim', 'trim$', 'typeof', 'typeof$', 'ucase', 'ucase$', 'val',
-    'abs', 'acos', 'andbit', 'asin', 'atan', 'bitwiseand', 'bitwiseor',
-    'bitwisexor', 'cos', 'exp', 'fix', 'floor', 'frac', 'hex', 'hex$', 'int',
-    'log', 'min', 'max', 'orbit', 'randomize', 'rnd', 'round', 'sgn', 'sin',
-    'sqr', 'tan', 'xorbit', 'open', 'as', 'file', 'input', 'close', 'output',
-    'append', 'eof', 'fileexists', 'filecopy', 'filemove', 'filerename',
-    'freefile', 'kill', 'loc', 'lof', 'readbyte', 'rename', 'seek',
-    'writebyte', 'chdir', 'dir', 'dir$', 'direxists', 'dirfirst', 'dirnext',
-    'mkdir', 'rmdir', 'print', 'date', 'date$', 'time', 'time$', 'ticks',
-    'data', 'read', 'reservebank', 'freebank', 'copybank', 'loadbank',
-    'savebank', 'setbank', 'sizebank', 'poke', 'doke', 'loke', 'peek', 'deek',
-    'leek', 'memcopy', 'setdisplay', 'setcaption', 'caption', 'displaywidth',
-    'displayheight', 'displaybpp', 'screen', 'directscreen', 'screenopen',
-    'screenclose', 'screenclone', 'screencopy', 'screenfade', 'screenfadein',
-    'screencrossfade', 'screenalpha', 'screenlock', 'screenunlock',
-    'screenrect', 'xscreenrect', 'yscreenrect', 'wscreenrect', 'hscreenrect',
-    'flagscreenrect', 'screenwidth', 'screenheight', 'offset', 'xoffset',
-    'yoffset', 'cls', 'screenswap', 'autoback', 'setautoback',
-    'dualplayfield', 'waitvbl', 'fps', 'rgb', 'enablepalette', 'color',
-    'palette', 'colorcycling', 'ink', 'point', 'dot', 'plot', 'line', 'box',
-    'bar', 'circle', 'fillcircle', 'ellipse', 'fillellipse', 'paint',
-    'loadimage', 'saveimage', 'loadsound', 'savesound', 'loadmusic',
-    'hotspot', 'setcolorkey', 'imageexists', 'imagewidth', 'imageheight',
-    'deleteimage', 'copyimage', 'setalpha', 'zoomimage', 'rotateimage',
-    'rotozoomimage', 'blt', 'pastebob', 'pasteicon', 'grab', 'spriteclip',
-    'sprite', 'deletesprite', 'xsprite', 'ysprite', 'spritewidth',
-    'spriteheight', 'frsprite', 'livesprite', 'spritehit', 'autoupdatesprite',
-    'updatesprite', 'setbob', 'bob', 'deletebob', 'xbob', 'ybob', 'bobwidth',
-    'bobheight', 'frbob', 'livebob', 'bobhit', 'autoupdatebob', 'updatebob',
-    'text', 'setfont', 'textrender', 'pen', 'paper', 'prints', 'locate',
-    'atx', 'aty', 'curson', 'cursoff', 'inputs', 'zoneinputs',
-    'isenabledsound', 'soundexists', 'deletesound', 'copysound',
-    'musicexists', 'playsound', 'volumesound', 'stopsound', 'pausesound',
-    'resumesound', 'vumetersound', 'positionsound', 'soundchannels',
-    'playmusic', 'positionmusic', 'stopmusic', 'fademusic', 'pausemusic',
-    'resumemusic', 'rewindmusic', 'volumemusic', 'speedmusic', 'numdrivescd',
-    'namecd', 'getfreecd', 'opencd', 'indrivecd', 'trackscd', 'curtrackcd',
-    'curframecd', 'playcd', 'playtrackscd', 'playtrackscd', 'playtrackscd',
-    'pausecd', 'resumecd', 'stopcd', 'ejectcd', 'closecd', 'tracktypecd',
-    'tracklengthcd', 'trackoffsetcd', 'key', 'inkey', 'waitkey', 'xmouse',
-    'ymouse', 'xmousescreen', 'ymousescreen', 'bmouse', 'changemouse',
-    'locatemouse', 'mouseshow', 'mousehide', 'mousezone', 'numjoysticks',
-    'namejoystick', 'numaxesjoystick', 'numballsjoystick', 'numhatsjoystick',
-    'numbuttonsjoystick', 'getaxisjoystick', 'gethatjoystick',
-    'getbuttonjoystick', 'xgetballjoystick', 'ygetballjoystick', 'joy',
-    'bjoy', 'wait', 'timer', 'isenabledsock', 'getfreesock', 'opensock',
-    'acceptsock', 'isserverready', 'connectsock', 'connectionreadysock',
-    'isclientready', 'losesock', 'peeksock', 'readsock', 'readbytesock',
-    'readlinesock', 'writesock', 'writebytesock', 'writelinesock',
-    'getremoteip', 'getremoteport', 'getlocalip' 
-      )
-		),
-	'SYMBOLS' => array(
-		'(', ')'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080;',
-			2 => 'color: #808080;',
-			3 => 'color: #808080;',
-			4 => 'color: #808080;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099;'
-			),
-		'SCRIPT' => array(
-			),
-		'REGEXPS' => array(
-			)
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+
+$language_data = array (
+    'LANG_NAME' => 'sdlBasic',
+    'COMMENT_SINGLE' => array(1 => "'", 2 => "rem", 3 => "!", 4 => "#"),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'const', 'option', 'explicit', 'qbasic', 'include', 'argc',
+            'argv', 'command', 'command$', 'run', 'shell', 'os', 'declare',
+            'sub', 'function', 'return', 'while', 'wend', 'exit', 'end',
+            'continue', 'if', 'then', 'else', 'elseif',
+            'select', 'case', 'for', 'each', 'step',
+            'next', 'to', 'dim', 'shared', 'common', 'lbound', 'bound',
+            'erase', 'asc', 'chr', 'chr$', 'insert', 'insert$', 'instr', 'lcase',
+            'lcase$', 'left', 'left$', 'len', 'length', 'ltrim', 'ltrim$', 'mid',
+            'mid$', 'replace', 'replace$', 'replacesubstr', 'replacesubstr$',
+            'reverse', 'reverse$', 'right', 'right$', 'rinstr', 'rtrim', 'rtrim$',
+            'space', 'space$', 'str', 'str$', 'strf', 'strf$', 'string', 'string$',
+            'tally', 'trim', 'trim$', 'typeof', 'typeof$', 'ucase', 'ucase$', 'val',
+            'abs', 'acos', 'andbit', 'asin', 'atan', 'bitwiseand', 'bitwiseor',
+            'bitwisexor', 'cos', 'exp', 'fix', 'floor', 'frac', 'hex', 'hex$', 'int',
+            'log', 'min', 'max', 'orbit', 'randomize', 'rnd', 'round', 'sgn', 'sin',
+            'sqr', 'tan', 'xorbit', 'open', 'as', 'file', 'input', 'close', 'output',
+            'append', 'eof', 'fileexists', 'filecopy', 'filemove', 'filerename',
+            'freefile', 'kill', 'loc', 'lof', 'readbyte', 'rename', 'seek',
+            'writebyte', 'chdir', 'dir', 'dir$', 'direxists', 'dirfirst', 'dirnext',
+            'mkdir', 'rmdir', 'print', 'date', 'date$', 'time', 'time$', 'ticks',
+            'data', 'read', 'reservebank', 'freebank', 'copybank', 'loadbank',
+            'savebank', 'setbank', 'sizebank', 'poke', 'doke', 'loke', 'peek', 'deek',
+            'leek', 'memcopy', 'setdisplay', 'setcaption', 'caption', 'displaywidth',
+            'displayheight', 'displaybpp', 'screen', 'directscreen', 'screenopen',
+            'screenclose', 'screenclone', 'screencopy', 'screenfade', 'screenfadein',
+            'screencrossfade', 'screenalpha', 'screenlock', 'screenunlock',
+            'screenrect', 'xscreenrect', 'yscreenrect', 'wscreenrect', 'hscreenrect',
+            'flagscreenrect', 'screenwidth', 'screenheight', 'offset', 'xoffset',
+            'yoffset', 'cls', 'screenswap', 'autoback', 'setautoback',
+            'dualplayfield', 'waitvbl', 'fps', 'rgb', 'enablepalette', 'color',
+            'palette', 'colorcycling', 'ink', 'point', 'dot', 'plot', 'line', 'box',
+            'bar', 'circle', 'fillcircle', 'ellipse', 'fillellipse', 'paint',
+            'loadimage', 'saveimage', 'loadsound', 'savesound', 'loadmusic',
+            'hotspot', 'setcolorkey', 'imageexists', 'imagewidth', 'imageheight',
+            'deleteimage', 'copyimage', 'setalpha', 'zoomimage', 'rotateimage',
+            'rotozoomimage', 'blt', 'pastebob', 'pasteicon', 'grab', 'spriteclip',
+            'sprite', 'deletesprite', 'xsprite', 'ysprite', 'spritewidth',
+            'spriteheight', 'frsprite', 'livesprite', 'spritehit', 'autoupdatesprite',
+            'updatesprite', 'setbob', 'bob', 'deletebob', 'xbob', 'ybob', 'bobwidth',
+            'bobheight', 'frbob', 'livebob', 'bobhit', 'autoupdatebob', 'updatebob',
+            'text', 'setfont', 'textrender', 'pen', 'paper', 'prints', 'locate',
+            'atx', 'aty', 'curson', 'cursoff', 'inputs', 'zoneinputs',
+            'isenabledsound', 'soundexists', 'deletesound', 'copysound',
+            'musicexists', 'playsound', 'volumesound', 'stopsound', 'pausesound',
+            'resumesound', 'vumetersound', 'positionsound', 'soundchannels',
+            'playmusic', 'positionmusic', 'stopmusic', 'fademusic', 'pausemusic',
+            'resumemusic', 'rewindmusic', 'volumemusic', 'speedmusic', 'numdrivescd',
+            'namecd', 'getfreecd', 'opencd', 'indrivecd', 'trackscd', 'curtrackcd',
+            'curframecd', 'playcd', 'playtrackscd',
+            'pausecd', 'resumecd', 'stopcd', 'ejectcd', 'closecd', 'tracktypecd',
+            'tracklengthcd', 'trackoffsetcd', 'key', 'inkey', 'waitkey', 'xmouse',
+            'ymouse', 'xmousescreen', 'ymousescreen', 'bmouse', 'changemouse',
+            'locatemouse', 'mouseshow', 'mousehide', 'mousezone', 'numjoysticks',
+            'namejoystick', 'numaxesjoystick', 'numballsjoystick', 'numhatsjoystick',
+            'numbuttonsjoystick', 'getaxisjoystick', 'gethatjoystick',
+            'getbuttonjoystick', 'xgetballjoystick', 'ygetballjoystick', 'joy',
+            'bjoy', 'wait', 'timer', 'isenabledsock', 'getfreesock', 'opensock',
+            'acceptsock', 'isserverready', 'connectsock', 'connectionreadysock',
+            'isclientready', 'losesock', 'peeksock', 'readsock', 'readbytesock',
+            'readlinesock', 'writesock', 'writebytesock', 'writelinesock',
+            'getremoteip', 'getremoteport', 'getlocalip'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080;',
+            2 => 'color: #808080;',
+            3 => 'color: #808080;',
+            4 => 'color: #808080;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/smalltalk.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/smalltalk.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * --------
  * Author: Bananeweizen (Bananeweizen@gmx.de)
  * Copyright: (c) 2005 Bananeweizen (www.bananeweizen.de)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2005/03/27
  *
  * Smalltalk language file for GeSHi.
@@ -17,7 +17,7 @@
  * TODO
  * -------------------------
  * * recognize nested array symbols correctly
- * 
+ *
  *************************************************************************************
  *
  *     This file is part of GeSHi.
@@ -39,121 +39,122 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Smalltalk',
-	'COMMENT_SINGLE' => array(),
-	'COMMENT_MULTI' => array('"' => '"'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'"),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		1 => array('self','super','true','false','nil')
-		),
-	'SYMBOLS' => array(
-		'[', ']', '=' , ':=', '(', ')', '#'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => true
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #7f007f;'
-			),
-		'COMMENTS' => array(
-			'MULTI' => 'color: #007f00; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-		    0 => ''
-			),
-		'BRACKETS' => array(
-		    0 => ''
-			),
-		'STRINGS' => array(
-		    0 => 'color: #7f0000;'
-			),
-		'NUMBERS' => array(
-		    0 => 'color: #7f0000;'
-			),
-		'METHODS' => array(
-		    0 => ''
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #000066; font-weight:bold;'
-			),
-		'REGEXPS' => array(
-			0 => 'color: #0000ff;',
-			1 => 'color: #7f0000;',
-			2 => 'color: #7f0000;',
-			3 => 'color: #00007f;',
-			4 => 'color: #7f007f;',
-			5 => 'color: #00007f;',
-			6 => 'color: #00007f;'
-			),
-		'SCRIPT' => array(
-		    0 => ''
-			)
-		),
-	'URLS' => array(
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		0 => array(
-			GESHI_SEARCH => '([^a-zA-Z0-9_#])([A-Z]+[a-zA-Z0-9_]*)', //class names
-			GESHI_REPLACE => '\\2',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '\\1',
-			GESHI_AFTER => ''
-			),
-		1 => array(
-			GESHI_SEARCH => '(#+)([a-zA-Z0-9_]+)', //symbols
-			GESHI_REPLACE => '\\1\\2',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => ''
-			),
-		2 => array(
-			GESHI_SEARCH => '(#\s*\([^)]*\))', //array symbols
-			GESHI_REPLACE => '\\1',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => ''
-			),
-		3 => array(
-			GESHI_SEARCH => '\|([a-zA-Z0-9_\s]+)\|', //temporary variables
-			GESHI_REPLACE => '\\1',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '|',
-			GESHI_AFTER => '|'
-			),
-		4 => array(
-			GESHI_SEARCH => '(self|super|true|false|nil)', //keywords again (to avoid matching in next regexp)
-			GESHI_REPLACE => '\\1',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => ''
-			),
-		5 => array(
-			GESHI_SEARCH => '([:(,=[.*/+-]\s*)([a-zA-Z0-9_]+)', //message parameters, message receivers
-			GESHI_REPLACE => '\\2',
-			GESHI_MODIFIERS => 's',
-			GESHI_BEFORE => '\\1',
-			GESHI_AFTER => ''
-			),
-		6 => array(
-			GESHI_SEARCH => '([a-zA-Z0-9_]+)(\s*:=)', //assignment targets
-			GESHI_REPLACE => '\\1',
-			GESHI_MODIFIERS => '',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => '\\2'
-			)
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'Smalltalk',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array('"' => '"'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'"),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array('self','super','true','false','nil')
+        ),
+    'SYMBOLS' => array(
+        '[', ']', '=' , ':=', '(', ')', '#'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #7f007f;'
+            ),
+        'COMMENTS' => array(
+            'MULTI' => 'color: #007f00; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => ''
+            ),
+        'BRACKETS' => array(
+            0 => ''
+            ),
+        'STRINGS' => array(
+            0 => 'color: #7f0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #7f0000;'
+            ),
+        'METHODS' => array(
+            0 => ''
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000066; font-weight:bold;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #0000ff;',
+            1 => 'color: #7f0000;',
+            2 => 'color: #7f0000;',
+            3 => 'color: #00007f;',
+            4 => 'color: #7f007f;',
+            5 => 'color: #00007f;',
+            6 => 'color: #00007f;'
+            ),
+        'SCRIPT' => array(
+            0 => ''
+            )
+        ),
+    'URLS' => array(
+        1 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        0 => array(
+            GESHI_SEARCH => '([^a-zA-Z0-9_#<])([A-Z]+[a-zA-Z0-9_]*)(?!>)', //class names
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
+            ),
+        1 => array(
+            GESHI_SEARCH => '(#+)([a-zA-Z0-9_]+)', //symbols
+            GESHI_REPLACE => '\\1\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        2 => array(
+            GESHI_SEARCH => '(#\s*\([^)]*\))', //array symbols
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        3 => array(
+            GESHI_SEARCH => '<PIPE>([a-zA-Z0-9_\s]+)<PIPE>', //temporary variables
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '|',
+            GESHI_AFTER => '|'
+            ),
+        4 => array(
+            GESHI_SEARCH => '(self|super|true|false|nil)', //keywords again (to avoid matching in next regexp)
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        5 => array(
+            GESHI_SEARCH => '([:(,=[.*\/+-]\s*)([a-zA-Z0-9_]+)', //message parameters, message receivers
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 's',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
+            ),
+        6 => array(
+            GESHI_SEARCH => '([a-zA-Z0-9_]+)(\s*:=)', //assignment targets
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '\\2'
+            )
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/smarty.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/smarty.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * ----------
  * Author: Alan Juden (alan@judenware.org)
  * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/07/10
  *
  * Smarty template language file for GeSHi.
@@ -38,129 +38,155 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Smarty',
-	'COMMENT_SINGLE' => array(),
-	'COMMENT_MULTI' => array('{*' => '*}'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'$smarty', 'now', 'const', 'capture', 'config', 'section', 'foreach', 'template', 'version', 'ldelim', 'rdelim',
-			'config_load', 'foreachelse', 'include', 'include_php', 'insert', 'if', 'elseif', 'else', 'php',
-			'sectionelse', 'clear_all_cache', 'clear_cache', 'is_cached',
-			),
-		2 => array(
-			'capitalize', 'count_characters', 'cat', 'count_paragraphs', 'count_sentences', 'count_words', 'date_format',
-			'default', 'escape', 'indent', 'lower', 'nl2br', 'regex_replace', 'replace', 'spacify', 'string_format',
-			'strip', 'strip_tags', 'truncate', 'upper', 'wordwrap'
-			),
-		3 => array(
-			'assign', 'counter', 'cycle', 'debug', 'eval', 'fetch', 'html_checkboxes', 'html_image', 'html_options',
-			'html_radios', 'html_select_date', 'html_select_time', 'html_table', 'math', 'mailto', 'popup_init',
-			'popup', 'textformat'
-			),
-		4 => array(
-			'$template_dir', '$compile_dir', '$config_dir', '$plugins_dir', '$debugging', '$debug_tpl',
-			'$debugging_ctrl', '$autoload_filters', '$compile_check', '$force_compile', '$caching', '$cache_dir',
-			'$cache_lifetime', '$cache_handler_func', '$cache_modified_check', '$config_overwrite',
-			'$config_booleanize', '$config_read_hidden', '$config_fix_newlines', '$default_template_handler_func',
-			'$php_handling', '$security', '$secure_dir', '$security_settings', '$trusted_dir', '$left_delimiter',
-			'$right_delimiter', '$compiler_class', '$request_vars_order', '$request_use_auto_globals',
-			'$error_reporting', '$compile_id', '$use_sub_dirs', '$default_modifiers', '$default_resource_type'
-			),
-		5 => array(
-			'append', 'append_by_ref', 'assign', 'assign_by_ref', 'clear_all_assign', 'clear_all_cache',
-			'clear_assign', 'clear_cache', 'clear_compiled_tpl', 'clear_config', 'config_load', 'display',
-			'fetch', 'get_config_vars', 'get_registered_object', 'get_template_vars', 'is_cached',
-			'load_filter', 'register_block', 'register_compiler_function', 'register_function',
-			'register_modifier', 'register_object', 'register_outputfilter', 'register_postfilter',
-			'register_prefilter', 'register_resource', 'trigger_error', 'template_exists', 'unregister_block',
-			'unregister_compiler_function', 'unregister_function', 'unregister_modifier', 'unregister_object',
-			'unregister_outputfilter', 'unregister_postfilter', 'unregister_prefilter', 'unregister_resource'
-			),
-		6 => array(
-			'name', 'assign', 'file', 'scope', 'global', 'key', 'once', 'script',
-			'loop', 'start', 'step', 'max', 'show', 'values', 'value', 'from', 'item'
-			),
-		7 => array(
-			'eq', 'neq', 'ne', 'lte', 'gte', 'ge', 'le', 'not', 'mod'
-			),
-		),
-	'SYMBOLS' => array(
-		'/', '=', '==', '!=', '>', '<', '>=', '<=', '!', '%'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		5 => false,
-		6 => false,
-		7 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #0600FF;',		//Functions
-			2 => 'color: #008000;',		//Modifiers
-			3 => 'color: #0600FF;',		//Custom Functions
-			4 => 'color: #804040;',		//Variables
-			5 => 'color: #008000;',		//Methods
-			6 => 'color: #6A0A0A;',		//Attributes
-			7 => 'color: #D36900;'		//Text-based symbols
-			),
-		'COMMENTS' => array(
-			'MULTI' => 'color: #008080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #D36900;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #006600;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #D36900;'
-			),
-		'SCRIPT' => array(
-            0 => ''
-			),
-		'REGEXPS' => array(
-			)
-		),
-	'URLS' => array(
-		1 => 'http://smarty.php.net/{FNAME}',
-		2 => 'http://smarty.php.net/{FNAME}',
-		3 => 'http://smarty.php.net/{FNAME}',
-		4 => 'http://smarty.php.net/{FNAME}',
-		5 => 'http://smarty.php.net/{FNAME}',
-		6 => '',
-		7 => 'http://smarty.php.net/{FNAME}'
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
-	'SCRIPT_DELIMITERS' => array(
-		0 => array(
-			'{' => '}'
-			)
-	),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		0 => true
-		)
+    'LANG_NAME' => 'Smarty',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array('{*' => '*}'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            '$smarty', 'now', 'const', 'capture', 'config', 'section', 'foreach', 'template', 'version', 'ldelim', 'rdelim',
+            'foreachelse', 'include', 'include_php', 'insert', 'if', 'elseif', 'else', 'php',
+            'sectionelse', 'is_cached',
+            ),
+        2 => array(
+            'capitalize', 'count_characters', 'cat', 'count_paragraphs', 'count_sentences', 'count_words', 'date_format',
+            'default', 'escape', 'indent', 'lower', 'nl2br', 'regex_replace', 'replace', 'spacify', 'string_format',
+            'strip', 'strip_tags', 'truncate', 'upper', 'wordwrap',
+            ),
+        3 => array(
+            'counter', 'cycle', 'debug', 'eval', 'html_checkboxes', 'html_image', 'html_options',
+            'html_radios', 'html_select_date', 'html_select_time', 'html_table', 'math', 'mailto', 'popup_init',
+            'popup', 'textformat'
+            ),
+        4 => array(
+            '$template_dir', '$compile_dir', '$config_dir', '$plugins_dir', '$debugging', '$debug_tpl',
+            '$debugging_ctrl', '$autoload_filters', '$compile_check', '$force_compile', '$caching', '$cache_dir',
+            '$cache_lifetime', '$cache_handler_func', '$cache_modified_check', '$config_overwrite',
+            '$config_booleanize', '$config_read_hidden', '$config_fix_newlines', '$default_template_handler_func',
+            '$php_handling', '$security', '$secure_dir', '$security_settings', '$trusted_dir', '$left_delimiter',
+            '$right_delimiter', '$compiler_class', '$request_vars_order', '$request_use_auto_globals',
+            '$error_reporting', '$compile_id', '$use_sub_dirs', '$default_modifiers', '$default_resource_type'
+            ),
+        5 => array(
+            'append', 'append_by_ref', 'assign', 'assign_by_ref', 'clear_all_assign', 'clear_all_cache',
+            'clear_assign', 'clear_cache', 'clear_compiled_tpl', 'clear_config', 'config_load', 'display',
+            'fetch', 'get_config_vars', 'get_registered_object', 'get_template_vars',
+            'load_filter', 'register_block', 'register_compiler_function', 'register_function',
+            'register_modifier', 'register_object', 'register_outputfilter', 'register_postfilter',
+            'register_prefilter', 'register_resource', 'trigger_error', 'template_exists', 'unregister_block',
+            'unregister_compiler_function', 'unregister_function', 'unregister_modifier', 'unregister_object',
+            'unregister_outputfilter', 'unregister_postfilter', 'unregister_prefilter', 'unregister_resource'
+            ),
+        6 => array(
+            'name', 'file', 'scope', 'global', 'key', 'once', 'script',
+            'loop', 'start', 'step', 'max', 'show', 'values', 'value', 'from', 'item'
+            ),
+        7 => array(
+            'eq', 'neq', 'ne', 'lte', 'gte', 'ge', 'le', 'not', 'mod'
+            ),
+        8 => array(
+            // some common php functions
+            'isset', 'is_array', 'empty', 'count', 'sizeof'
+            )
+        ),
+    'SYMBOLS' => array(
+        '/', '=', '==', '!=', '>', '<', '>=', '<=', '!', '%'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false,
+        6 => false,
+        7 => false,
+        8 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0600FF;',        //Functions
+            2 => 'color: #008000;',        //Modifiers
+            3 => 'color: #0600FF;',        //Custom Functions
+            4 => 'color: #804040;',        //Variables
+            5 => 'color: #008000;',        //Methods
+            6 => 'color: #6A0A0A;',        //Attributes
+            7 => 'color: #D36900;',        //Text-based symbols
+            8 => 'color: #0600FF;'        //php functions
+            ),
+        'COMMENTS' => array(
+            'MULTI' => 'color: #008080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #D36900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #D36900;'
+            ),
+        'SCRIPT' => array(
+            0 => '',
+            1 => 'color: #808080; font-style: italic;',
+            2 => 'color: #009000;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #00aaff;'
+            )
+        ),
+    'URLS' => array(
+        1 => 'http://smarty.php.net/{FNAMEL}',
+        2 => 'http://smarty.php.net/{FNAMEL}',
+        3 => 'http://smarty.php.net/{FNAMEL}',
+        4 => 'http://smarty.php.net/{FNAMEL}',
+        5 => 'http://smarty.php.net/{FNAMEL}',
+        6 => '',
+        7 => 'http://smarty.php.net/{FNAMEL}',
+        8 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        // variables
+        0 => '\$[a-zA-Z][a-zA-Z0-9_]*'
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+    'SCRIPT_DELIMITERS' => array(
+        0 => array(
+            '{' => '}'
+            ),
+        1 => array(
+            '<!--' => '-->',
+        ),
+        2 => array(
+            '<' => '>'
+            )
+    ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true,
+        1 => false,
+        2 => false
+    ),
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#;>|^])",
+            'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-&])"
+        )
+    )
 );
 
 ?>
--- a/plugins/geshi/geshi/sql.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/sql.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * -------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/06/04
  *
  * SQL language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *  -  Added additional symbols for highlighting
  * 2004/11/27 (1.0.3)
  *  -  Added support for multiple object splitters
  * 2004/10/27 (1.0.2)
@@ -48,88 +50,91 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'SQL',
-	'COMMENT_SINGLE' => array(1 =>'--', 2 => '#'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => 1,
-	'QUOTEMARKS' => array("'", '"', '`'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			'ALL', 'ASC', 'AS',  'ALTER', 'AND', 'ADD', 'AUTO_INCREMENT',
-			'BETWEEN', 'BINARY', 'BOTH', 'BY', 'BOOLEAN',
-			'CHANGE', 'CHECK', 'COLUMNS', 'COLUMN', 'CROSS','CREATE',
-			'DATABASES', 'DATABASE', 'DATA', 'DELAYED', 'DESCRIBE', 'DESC',  'DISTINCT', 'DELETE', 'DROP', 'DEFAULT',
-			'ENCLOSED', 'ESCAPED', 'EXISTS', 'EXPLAIN',
-			'FIELDS', 'FIELD', 'FLUSH', 'FOR', 'FOREIGN', 'FUNCTION', 'FROM',
-			'GROUP', 'GRANT',
-			'HAVING',
-			'IGNORE', 'INDEX', 'INFILE', 'INSERT', 'INNER', 'INTO', 'IDENTIFIED', 'IN', 'IS', 'IF',
-			'JOIN',
-			'KEYS', 'KILL','KEY',
-			'LEADING', 'LIKE', 'LIMIT', 'LINES', 'LOAD', 'LOCAL', 'LOCK', 'LOW_PRIORITY', 'LEFT', 'LANGUAGE',
-			'MODIFY',
-			'NATURAL', 'NOT', 'NULL', 'NEXTVAL',
-			'OPTIMIZE', 'OPTION', 'OPTIONALLY', 'ORDER', 'OUTFILE', 'OR', 'OUTER', 'ON',
-			'PROCEEDURE','PROCEDURAL', 'PRIMARY',
-			'READ', 'REFERENCES', 'REGEXP', 'RENAME', 'REPLACE', 'RETURN', 'REVOKE', 'RLIKE', 'RIGHT',
-			'SHOW', 'SONAME', 'STATUS', 'STRAIGHT_JOIN', 'SELECT', 'SETVAL', 'SET',
-			'TABLES', 'TEMINATED', 'TO', 'TRAILING','TRUNCATE', 'TABLE', 'TEMPORARY', 'TRIGGER', 'TRUSTED',
-			'UNIQUE', 'UNLOCK', 'USE', 'USING', 'UPDATE', 'UNSIGNED',
-			'VALUES', 'VARIABLES', 'VIEW',
-			'WITH', 'WRITE', 'WHERE',
-			'ZEROFILL',
-			'XOR',
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')', '=', '<', '>', '|'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #993333; font-weight: bold;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			2 => 'color: #808080; font-style: italic;',
+    'LANG_NAME' => 'SQL',
+    'COMMENT_SINGLE' => array(1 =>'--', 2 => '#'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => 1,
+    'QUOTEMARKS' => array("'", '"', '`'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'ADD', 'ALL', 'ALTER', 'AND', 'AS', 'ASC',
+            'AUTO_INCREMENT', 'BETWEEN', 'BINARY', 'BOOLEAN',
+            'BOTH', 'BY', 'CHANGE', 'CHECK', 'COLUMN', 'COLUMNS',
+            'CREATE', 'CROSS', 'DATA', 'DATABASE', 'DATABASES',
+            'DEFAULT', 'DELAYED', 'DELETE', 'DESC', 'DESCRIBE',
+            'DISTINCT', 'DROP', 'ENCLOSED', 'ESCAPED', 'EXISTS',
+            'EXPLAIN', 'FIELD', 'FIELDS', 'FLUSH', 'FOR',
+            'FOREIGN', 'FROM', 'FULL', 'FUNCTION', 'GRANT',
+            'GROUP', 'HAVING', 'IDENTIFIED', 'IF', 'IGNORE',
+            'IN', 'INDEX', 'INFILE', 'INNER', 'INSERT', 'INTO',
+            'IS', 'JOIN', 'KEY', 'KEYS', 'KILL', 'LANGUAGE',
+            'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LOAD',
+            'LOCAL', 'LOCK', 'LOW_PRIORITY', 'MODIFY', 'NATURAL',
+            'NEXTVAL', 'NOT', 'NULL', 'ON', 'OPTIMIZE', 'OPTION',
+            'OPTIONALLY', 'OR', 'ORDER', 'OUTER', 'OUTFILE',
+            'PRIMARY', 'PROCEDURAL', 'PROCEEDURE', 'READ',
+            'REFERENCES', 'REGEXP', 'RENAME', 'REPLACE',
+            'RETURN', 'REVOKE', 'RIGHT', 'RLIKE', 'SELECT',
+            'SET', 'SETVAL', 'SHOW', 'SONAME', 'STATUS',
+            'STRAIGHT_JOIN', 'TABLE', 'TABLES', 'TEMINATED',
+            'TEMPORARY', 'TO', 'TRAILING', 'TRIGGER', 'TRUNCATE',
+            'TRUSTED', 'UNION', 'UNIQUE', 'UNLOCK', 'UNSIGNED',
+            'UPDATE', 'USE', 'USING', 'VALUES', 'VARIABLES',
+            'VIEW', 'WHERE', 'WITH', 'WRITE', 'XOR', 'ZEROFILL'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '=', '<', '>', '|', ',', '.', '+', '-', '*', '/'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #993333; font-weight: bold;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            2 => 'color: #808080; font-style: italic;',
             'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'SCRIPT' => array(
-			),
-		'REGEXPS' => array(
-			)
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/tcl.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/tcl.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * ---------------------------------
  * Author: Reid van Melle (rvanmelle@gmail.com)
  * Copyright: (c) 2004 Reid van Melle (sorry@nowhere)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2006/05/05
  *
  * TCL/iTCL language file for GeSHi.
@@ -16,12 +16,14 @@
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *  -  Added description of extra language features (SF#1970248)
  * 2006/05/05 (1.0.0)
  *  -  First Release
  *
  * TODO (updated 2006/05/05)
  * -------------------------
- * - Get TCL built-in special variables hilighted with a new color..
+ * - Get TCL built-in special variables highlighted with a new color..
  *   currently, these are listed in //special variables in the keywords
  *   section, but they get covered by the general REGEXP for symbols
  * - General cleanup, testing, and verification
@@ -47,135 +49,146 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'TCL',
-	'COMMENT_SINGLE' => array(1 => '#'),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"', "'"),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-
-		/*
-		** Set 1: reserved words
-		** http://python.org/doc/current/ref/keywords.html
-		*/
-		1 => array(
-			'proc', 'global', 'upvar', 'if', 'then', 'else', 'elseif', 'for', 'foreach',
-			'break', 'continue', 'while', 'set', 'eval', 'case', 'in', 'switch',
-			'default', 'exit', 'error', 'proc', 'return', 'uplevel', 'loop', 
-			'for_array_keys', 'for_recursive_glob', 'for_file', 'unwind_protect',
-			'expr', 'catch', 'namespace', 'rename', 'variable',
-			// itcl
-			'method', 'itcl_class', 'public', 'protected'),
+    'LANG_NAME' => 'TCL',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array(),
+    'COMMENT_REGEXP' => array(
+        1 => '/(?<!\\\\)#(?:\\\\\\\\|\\\\\\n|.)*$/m',
+        2 => '/{[^}\n]+}/'
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"', "'"),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        /*
+         * Set 1: reserved words
+         * http://python.org/doc/current/ref/keywords.html
+         */
+        1 => array(
+            'proc', 'global', 'upvar', 'if', 'then', 'else', 'elseif', 'for', 'foreach',
+            'break', 'continue', 'while', 'set', 'eval', 'case', 'in', 'switch',
+            'default', 'exit', 'error', 'return', 'uplevel', 'loop',
+            'for_array_keys', 'for_recursive_glob', 'for_file', 'unwind_protect',
+            'expr', 'catch', 'namespace', 'rename', 'variable',
+            // itcl
+            'method', 'itcl_class', 'public', 'protected'),
 
-		/*
-		** Set 2: builtins
-		** http://asps.activatestate.com/ASPN/docs/ActiveTcl/8.4/tcl/tcl_2_contents.htm
-		*/
-		2 => array(
-			// string handling
-			'append', 'binary', 'format', 're_syntax', 'regexp', 'regsub',
-			'scan', 'string', 'subst', 
-			// list handling
-			'concat', 'join', 'lappend', 'lindex', 'list', 'llength', 'lrange',
-			'lreplace', 'lsearch', 'lset', 'lsort', 'split',
-			// math
-			'expr',
-			// procedures and output
-			'incr', 'close', 'eof', 'fblocked', 'fconfigure', 'fcopy', 'file',
-			'fileevent', 'flush', 'gets', 'open', 'puts', 'read', 'seek', 
-			'socket', 'tell',
-			// packages and source files
-			'load', 'loadTk', 'package', 'pgk::create', 'pgk_mkIndex', 'source',
-			// interpreter routines
-			'bgerror', 'history', 'info', 'interp', 'memory', 'unknown',
-			// library routines
-			'enconding', 'http', 'msgcat',
-			// system related
-			'cd', 'clock', 'exec', 'exit', 'glob', 'pid', 'pwd', 'time',
-			// platform specified
-			'dde', 'registry', 'resource',
-			// special variables
-			'$argc', '$argv', '$errorCode', '$errorInfo', '$argv0', 
-			'$auto_index', '$auto_oldpath', '$auto_path', '$env', 
-			'$tcl_interactive', '$tcl_libpath', '$tcl_library', 
-			'$tcl_pkgPath', '$tcl_platform', '$tcl_precision', '$tcl_traceExec',
-			),
+        /*
+         * Set 2: builtins
+         * http://asps.activatestate.com/ASPN/docs/ActiveTcl/8.4/tcl/tcl_2_contents.htm
+         */
+        2 => array(
+            // string handling
+            'append', 'binary', 'format', 're_syntax', 'regexp', 'regsub',
+            'scan', 'string', 'subst',
+            // list handling
+            'concat', 'join', 'lappend', 'lindex', 'list', 'llength', 'lrange',
+            'lreplace', 'lsearch', 'lset', 'lsort', 'split',
+            // procedures and output
+            'incr', 'close', 'eof', 'fblocked', 'fconfigure', 'fcopy', 'file',
+            'fileevent', 'flush', 'gets', 'open', 'puts', 'read', 'seek',
+            'socket', 'tell',
+            // packages and source files
+            'load', 'loadTk', 'package', 'pgk::create', 'pgk_mkIndex', 'source',
+            // interpreter routines
+            'bgerror', 'history', 'info', 'interp', 'memory', 'unknown',
+            // library routines
+            'enconding', 'http', 'msgcat',
+            // system related
+            'cd', 'clock', 'exec', 'glob', 'pid', 'pwd', 'time',
+            // platform specified
+            'dde', 'registry', 'resource',
+            // special variables
+            '$argc', '$argv', '$errorCode', '$errorInfo', '$argv0',
+            '$auto_index', '$auto_oldpath', '$auto_path', '$env',
+            '$tcl_interactive', '$tcl_libpath', '$tcl_library',
+            '$tcl_pkgPath', '$tcl_platform', '$tcl_precision', '$tcl_traceExec',
+            ),
 
-		/*
-		** Set 3: standard library
-		*/
-		3 => array(
-			'comment', 'dde', 'filename', 'http', 'library', 'memory',
-			'packagens', 'registry', 'resource', 'tcltest', 'tclvars',
-			),
+        /*
+         * Set 3: standard library
+         */
+        3 => array(
+            'comment', 'filename', 'library', 'packagens', 'tcltest', 'tclvars',
+            ),
 
-		/*
-		** Set 4: special methods
-		*/
-		4 => array(
-			)
+        /*
+         * Set 4: special methods
+         */
+//        4 => array(
+//            )
 
-		),
-	'SYMBOLS' => array(
-			'(', ')', '[', ']', '{', '}', '$', '*', '&', '%', '!', ';', '<', '>', '?'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => true,
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}', '$', '*', '&', '%', '!', ';', '<', '>', '?'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
         2 => true,
         3 => true,
-        4 => true
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #ff7700;font-weight:bold;',	// Reserved
-			2 => 'color: #008000;',						// Built-ins + self
-			3 => 'color: #dc143c;',						// Standard lib
-			4 => 'color: #0000cd;'						// Special methods
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: black;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #483d8b;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #ff4500;'
-			),
-		'METHODS' => array(
-			1 => 'color: black;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
+//        4 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #ff7700;font-weight:bold;',    // Reserved
+            2 => 'color: #008000;',                        // Built-ins + self
+            3 => 'color: #dc143c;',                        // Standard lib
+//            4 => 'color: #0000cd;'                        // Special methods
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            2 => 'color: #483d8b;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: black;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #483d8b;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #ff4500;'
+            ),
+        'METHODS' => array(
+            1 => 'color: black;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
             0 => 'color: #ff3333;'
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '::'
-		),
-	'REGEXPS' => array(
-		0 => '[\\$]+[a-zA-Z_][a-zA-Z0-9_]*',
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+//        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '::'
+        ),
+    'REGEXPS' => array(
+        //Special variables
+        0 => '[\\$]+[a-zA-Z_][a-zA-Z0-9_]*',
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'COMMENTS' => array(
+            'DISALLOWED_BEFORE' => '\\'
+        )
+    )
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/teraterm.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,317 @@
+<?php
+/*************************************************************************************
+ * teraterm.php
+ * --------
+ * Author: Boris Maisuradze (boris at logmett.com)
+ * Copyright: (c) 2008 Boris Maisuradze (http://logmett.com)
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/09/26
+ *
+ * Tera Term Macro language file for GeSHi.
+ *
+ *
+ * This version of ttl.php was created for Tera Term 4.60 and LogMeTT 2.9.4.
+ * Newer versions of these application can contain additional Macro commands
+ * and/or keywords that are not listed here. The latest release of ttl.php
+ * can be downloaded from Download section of LogMeTT.com
+ *
+ * CHANGES
+ * -------
+ * 2008/09/26 (1.0.8)
+ *   -  First Release for Tera Term 4.60 and below.
+ *
+ * TODO (updated 2008/09/26)
+ * -------------------------
+ * *
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Tera Term Macro',
+    'COMMENT_SINGLE' => array(1 => ';'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        /* Commands */
+        1 => array(
+            'Beep',
+            'BplusRecv',
+            'BplusSend',
+            'Break',            // (version 4.53 or later)
+            'Call',
+            'CallMenu',         // (version 4.56 or later)
+            'ChangeDir',
+            'ClearScreen',
+            'Clipb2Var',        //(version 4.46 or later)
+            'ClosesBox',
+            'CloseTT',
+            'Code2Str',
+            'Connect',
+            'CRC32',            // (version 4.60 or later)
+            'CRC32File',        // (version 4.60 or later)
+            'CygConnect',       // (version 4.57 or later)
+            'DelPassword',
+            'Disconnect',
+            'Do',               // (version 4.56 or later)
+            'Else',
+            'EnableKeyb',
+            'End',
+            'EndIf',
+            'EndUntil',         // (version 4.56 or later)
+            'EndWhile',
+            'Exec',
+            'ExecCmnd',
+            'Exit',
+            'FileClose',
+            'FileConcat',
+            'FileCopy',
+            'FileCreate',
+            'FileDelete',
+            'FileMarkPtr',
+            'FilenameBox',      //(version 4.54 or later)
+            'FileOpen',
+            'FileRead',
+            'FileReadln',       // (version 4.48 or later)
+            'FileRename',
+            'FileSearch',
+            'FileSeek',
+            'FileSeekBack',
+            'FileStrSeek',
+            'FileStrSeek2',
+            'FileWrite',
+            'FileWriteln',
+            'FindOperations',
+            'FlushRecv',
+            'ForNext',
+            'GetDate',
+            'GetDir',           //(version 4.46 or later)
+            'GetEnv',
+            'GetPassword',
+            'GetTime',
+            'GetTitle',
+            'GetVer',           //(version 4.58 or later)
+            'GoTo',
+            'If',
+            'IfDefined',        // (version 4.46 or later)
+            'IfThenElseIf',
+            'Include',
+            'InputBox',
+            'Int2Str',
+            'KmtFinish',
+            'KmtGet',
+            'KmtRecv',
+            'KmtSend',
+            'LoadKeyMap',
+            'LogClose',
+            'LogOpen',
+            'LogPause',
+            'LogStart',
+            'LogWrite',
+            'Loop',             // (version 4.56 or later)
+            'MakePath',
+            'MessageBox',
+            'MPause',           // (version 4.27 or later)
+            'PasswordBox',
+            'Pause',
+            'QuickvanRecv',
+            'QuickvanSend',
+            'Random',           //(version 4.27 or later)
+            'Recvln',
+            'RestoreSetup',
+            'Return',
+            'RotateLeft',       //(version 4.54 or later)
+            'RotateRight',      //(version 4.54 or later)
+            'ScpRecv',          // (version 4.57 or later)
+            'ScpSend',          // (version 4.57 or later)
+            'Send',
+            'SendBreak',
+            'SendFile',
+            'SendKcode',
+            'Sendln',
+            'SetBaud',          // (version 4.58 or later)
+            'SetDate',
+            'SetDir',
+            'SetDlgPos',
+            'SetDTR',           // (version 4.59 or later)
+            'SetRTS',           // (version 4.59 or later)
+            'SetEnv',           // (version 4.54 or later)
+            'SetEcho',
+            'SetExitCode',
+            'SetSync',
+            'SetTime',
+            'SetTitle',
+            'Show',
+            'ShowTT',
+            'Sprintf',          // (version 4.52 or later)
+            'StatusBox',
+            'Str2Code',
+            'Str2Int',
+            'StrCompare',
+            'StrConcat',
+            'StrCopy',
+            'StrLen',
+            'StrMatch',         // (version 4.59 or later)
+            'StrScan',
+            'Testlink',
+            'Then',
+            'ToLower',          //(version 4.53 or later)
+            'ToUpper',          //(version 4.53 or later)
+            'Unlink',
+            'Until',            // (version 4.56 or later)
+            'Var2Clipb',        //(version 4.46 or later)
+            'Wait',
+            'WaitEvent',
+            'Waitln',
+            'WaitRecv',
+            'WaitRegex',        // (version 4.21 or later)
+            'While',
+            'XmodemRecv',
+            'XmodemSend',
+            'YesNoBox',
+            'ZmodemRecv',
+            'ZmodemSend'
+            ),
+        /* System Variables */
+        2 => array(
+            'groupmatchstr1',
+            'groupmatchstr2',
+            'groupmatchstr3',
+            'groupmatchstr4',
+            'groupmatchstr5',
+            'groupmatchstr6',
+            'groupmatchstr7',
+            'groupmatchstr8',
+            'groupmatchstr9',
+            'inputstr',
+            'matchstr',
+            'param2',
+            'param3',
+            'param4',
+            'param5',
+            'param6',
+            'param7',
+            'param8',
+            'param9',
+            'result',
+            'timeout'
+            ),
+        /* LogMeTT Key Words */
+        3 => array(
+            '$[1]',
+            '$[2]',
+            '$[3]',
+            '$[4]',
+            '$[5]',
+            '$[6]',
+            '$[7]',
+            '$[8]',
+            '$connection$',
+            '$email$',
+            '$logdir$',
+            '$logfilename$',
+            '$logit$',
+            '$mobile$',
+            '$name$',
+            '$pager$',
+            '$parent$',
+            '$phone$',
+            '$snippet$',
+            '$ttdir$',
+            '$user$',
+            '$windir$',
+            ),
+        /* Keyword Symbols */
+        4 => array(
+            'and',
+            'not',
+            'or',
+            'xor'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']',
+        '~', '!', '+', '-', '*', '/', '%', '>>', '<<', '<<<', '>>>', '&', '^', '|',
+        '<>', '<=', '>=', '=', '==', '<>', '!=', '&&', '||'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000080; font-weight: bold!important;',
+            2 => 'color: #808000; font-weight: bold;',  // System Variables
+            3 => 'color: #ff0000; font-weight: bold;',  // LogMeTT Key Words
+            4 => 'color: #ff00ff; font-weight: bold;'   // Keyword Symbols
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008000; font-style: italic;',
+            ),
+        'ESCAPE_CHAR' => array(),
+        'BRACKETS' => array(
+            0 => 'color: #ff00ff; font-weight: bold;'
+        ),
+        'STRINGS' => array(
+            0 => 'color: #800080;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #008080;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #ff00ff; font-weight: bold;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #0000ff; font-weight: bold;'
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'REGEXPS' => array(
+        0 => array (
+            GESHI_SEARCH => '(\:[_a-zA-Z][_a-zA-Z0-9]+)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            )
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array(),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- a/plugins/geshi/geshi/text.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/text.php	Fri May 29 19:30:59 2009 -0400
@@ -3,16 +3,17 @@
  * text.php
  * --------
  * Author: Sean Hanna (smokingrope@gmail.com)
- * Copyright: (c) 2006 Sean Hanna 
- * Release Version: 1.0.7.20
+ * Copyright: (c) 2006 Sean Hanna
+ * Release Version: 1.0.8.2
  * Date Started: 04/23/2006
  *
  * Standard Text File (No Syntax Highlighting).
+ * Plaintext language file for GeSHi.
  *
  * CHANGES
  * -------
  * 04/23/2006 (0.5.0)
- *  -  Syntax File Created
+ * - Syntax File Created
  *
  * 04/27/2006 (1.0.0)
  * - Documentation Cleaned Up
@@ -20,8 +21,8 @@
  *
  * TODO (updated 04/27/2006)
  * -------------------------
- * 
- * 
+ *
+ *
  *************************************************************************************
  *
  *     This file is part of GeSHi.
@@ -40,42 +41,44 @@
  *   along with GeSHi; if not, write to the Free Software
  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
+ ************************************************************************************/
 
- ************************************************************************************/
 $language_data = array (
-	'LANG_NAME' => 'Text',
-	'COMMENT_SINGLE' => array( ),
-	'COMMENT_MULTI' => array( ),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array(),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array( ),
-	'SYMBOLS' => array( ),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(),
-		'COMMENTS' => array(),
-		'ESCAPE_CHAR' => array(),
-		'BRACKETS' => array(),
-		'STRINGS' => array(),
-		'NUMBERS' => array(),
-		'METHODS' => array(),
-		'SYMBOLS' => array(),
-		'SCRIPT' => array(),
-		'REGEXPS' => array()
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(),
-	'REGEXPS' => array(	),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array( ),
-	'HIGHLIGHT_STRICT_BLOCK' => array( )
+    'LANG_NAME' => 'Text',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(),
+    'SYMBOLS' => array(),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(),
+        'COMMENTS' => array(),
+        'ESCAPE_CHAR' => array(),
+        'BRACKETS' => array(),
+        'STRINGS' => array(),
+        'NUMBERS' => array(),
+        'METHODS' => array(),
+        'SYMBOLS' => array(),
+        'SCRIPT' => array(),
+        'REGEXPS' => array()
+        ),
+    'URLS' => array(),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'REGEXPS' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array(),
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'ALL' => GESHI_NEVER
+        ),
+    )
 );
-if (isset($this) && is_a($this, 'GeSHi')) {
-    $this->set_numbers_highlighting(false);
-    $this->set_brackets_highlighting(false);
-    $this->disable_highlighting();
-}
+
 ?>
--- a/plugins/geshi/geshi/thinbasic.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/thinbasic.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * ------
  * Author: Eros Olmi (eros.olmi@thinbasic.com)
  * Copyright: (c) 2006 Eros Olmi (http://www.thinbasic.com), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2006/05/12
  *
  * thinBasic language file for GeSHi.
@@ -36,829 +36,833 @@
  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  ************************************************************************************/
- $language_data = array (
-       'LANG_NAME' => 'thinBasic',
-       'COMMENT_SINGLE' => array(1 => "'"),
-       'COMMENT_MULTI' => array(),
-       'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-       'QUOTEMARKS' => array('"'),
-       'ESCAPE_CHAR' => '',
-       'KEYWORDS' => array(
-               1 => array(
-                        'XOR','XML_TREETOSTRING','XML_PARSEFILE','XML_PARSE','XML_PARENT','XML_NODETYPE','XML_NODETOSTRING','XML_NEXTSIBLING',
-                        'XML_LASTERROR','XML_GETTAG','XML_FREE','XML_FINDNODE','XML_DECODEPARAM','XML_CHILDDATA','XML_CHILD','XML_ATTRIBVALUE',
-                        'XML_ATTRIBNAME','XML_ATTRIBCOUNT','WORD','WITH','WIN_SHOW','WIN_SETTITLE','WIN_SETFOREGROUND','WIN_ISZOOMED',
-                        'WIN_ISVISIBLE','WIN_ISICONIC','WIN_GETTITLE','WIN_GETFOREGROUND','WIN_GETCLASS','WIN_GETACTIVE','WIN_FLASH','WIN_FINDBYTITLE',
-                        'WIN_FINDBYCLASS','WHILE','WEND','VERIFY','VARPTR','VARIANTVT$','VARIANTVT','VARIANT',
-                        'VARIABLE_GETINFO','VARIABLE_EXISTS','VARIABLE_EXIST','VALUE','VAL','USING$','USING','USES',
-                        'USER','UNTIL','UNITS','UNION','UNICODE2ASCII','UDP_SEND','UDP_RECV','UDP_OPENSERVER',
-                        'UDP_OPEN','UDP_FREEFILE','UDP_CLOSE','UCODE$','UCASE$','UBOUND','TYPE','TRIMFULL$',
-                        'TRIM$','TOOLTIP','TOKENIZER_MOVETOEOL','TOKENIZER_KEYSETUSERSTRING','TOKENIZER_KEYSETUSERNUMBER','TOKENIZER_KEYGETUSERSTRING','TOKENIZER_KEYGETUSERNUMBER','TOKENIZER_KEYGETSUBTYPE',
-                        'TOKENIZER_KEYGETNAME','TOKENIZER_KEYGETMAINTYPE','TOKENIZER_KEYFIND','TOKENIZER_KEYADD','TOKENIZER_GETNEXTTOKEN','TOKENIZER_DEFAULT_SET','TOKENIZER_DEFAULT_GET','TOKENIZER_DEFAULT_CODE',
-                        'TOKENIZER_DEFAULT_CHAR','TO','TIMER','TIME$','THEN','TEXTBOX','TEXT','TCP_SEND',
-                        'TCP_RECV','TCP_PRINT','TCP_OPEN','TCP_LINEINPUT','TCP_FREEFILE','TCP_CLOSE','TB_IMGCTX_SETIMAGEADJUSTMENT','TB_IMGCTX_LOADIMAGE',
-                        'TB_IMGCTX_GETIMAGEADJUSTMENT','TBGL_VIEWPORT','TBGL_VERTEX','TBGL_USETEXTUREFLAG','TBGL_USETEXTURE','TBGL_USELINESTIPPLEFLAG','TBGL_USELINESTIPPLE','TBGL_USELIGHTSOURCEFLAG',
-                        'TBGL_USELIGHTSOURCE','TBGL_USELIGHTINGFLAG','TBGL_USELIGHTING','TBGL_USEFOGFLAG','TBGL_USEFOG','TBGL_USEDEPTHMASK','TBGL_USEDEPTHFLAG','TBGL_USEDEPTH',
-                        'TBGL_USECLIPPLANEFLAG','TBGL_USECLIPPLANE','TBGL_USEBLENDFLAG','TBGL_USEBLEND','TBGL_USEALPHATEST','TBGL_TRANSLATE','TBGL_TORUS','TBGL_TEXCOORD2D',
-                        'TBGL_SPHERE','TBGL_SHOWWINDOW','TBGL_SHOWCURSOR','TBGL_SETWINDOWTITLE','TBGL_SETUPLIGHTSOURCE','TBGL_SETUPFOG','TBGL_SETUPCLIPPLANE','TBGL_SETPRIMITIVEQUALITY',
-                        'TBGL_SETLIGHTPARAMETER','TBGL_SETDRAWDISTANCE','TBGL_SCALE','TBGL_SAVESCREENSHOT','TBGL_ROTATEXYZ','TBGL_ROTATE','TBGL_RESETMATRIX','TBGL_RENDERTOTEXTURE',
-                        'TBGL_RENDERMATRIX3D','TBGL_RENDERMATRIX2D','TBGL_PUSHMATRIX','TBGL_PRINTFONT','TBGL_PRINTBMP','TBGL_PRINT','TBGL_POS3DTOPOS2D','TBGL_POPMATRIX',
-                        'TBGL_POLYGONLOOK','TBGL_POINTSIZE','TBGL_POINTINSIDE3D','TBGL_NORMAL','TBGL_NEWLIST','TBGL_MOUSEGETWHEELDELTA','TBGL_MOUSEGETRBUTTON','TBGL_MOUSEGETPOSY',
-                        'TBGL_MOUSEGETPOSX','TBGL_MOUSEGETMBUTTON','TBGL_MOUSEGETLBUTTON','TBGL_M15SETVERTEXZ','TBGL_M15SETVERTEXY','TBGL_M15SETVERTEXXYZ','TBGL_M15SETVERTEXX','TBGL_M15SETVERTEXTEXY',
-                        'TBGL_M15SETVERTEXTEXXY','TBGL_M15SETVERTEXTEXX','TBGL_M15SETVERTEXTEXN','TBGL_M15SETVERTEXRGB','TBGL_M15SETVERTEXR','TBGL_M15SETVERTEXPSTOP','TBGL_M15SETVERTEXPARAM','TBGL_M15SETVERTEXLAYER',
-                        'TBGL_M15SETVERTEXG','TBGL_M15SETVERTEXB','TBGL_M15SETMODELVERTEXCOUNT','TBGL_M15SETBONECHILD','TBGL_M15ROTBONEZ','TBGL_M15ROTBONEY','TBGL_M15ROTBONEX','TBGL_M15ROTBONE',
-                        'TBGL_M15RESETBONES','TBGL_M15RECALCNORMALS','TBGL_M15LOADMODEL','TBGL_M15INITMODELBUFFERS','TBGL_M15GETVERTEXZ','TBGL_M15GETVERTEXY','TBGL_M15GETVERTEXXYZ','TBGL_M15GETVERTEXX',
-                        'TBGL_M15GETVERTEXTEXY','TBGL_M15GETVERTEXTEXXY','TBGL_M15GETVERTEXTEXX','TBGL_M15GETVERTEXTEXN','TBGL_M15GETVERTEXRGB','TBGL_M15GETVERTEXR','TBGL_M15GETVERTEXPSTOP','TBGL_M15GETVERTEXPARAM',
-                        'TBGL_M15GETVERTEXLAYER','TBGL_M15GETVERTEXG','TBGL_M15GETVERTEXB','TBGL_M15GETMODELVERTEXCOUNT','TBGL_M15GETMODELPOLYCOUNT','TBGL_M15ERASECHILDBONES','TBGL_M15DRAWMODEL','TBGL_M15DEFBONERESET',
-                        'TBGL_M15DEFBONELAYER','TBGL_M15DEFBONEBOX','TBGL_M15DEFBONEANCHOR','TBGL_M15DEFBONEADDVERTEX','TBGL_M15CLEARMODEL','TBGL_M15APPLYBONES','TBGL_M15ADDBONETREEITEM','TBGL_LOADTEXTURE',
-                        'TBGL_LOADFONT','TBGL_LOADBMPFONT','TBGL_LINEWIDTH','TBGL_LINESTIPPLE','TBGL_KILLFONT','TBGL_ISWINDOW','TBGL_ISPOINTVISIBLE','TBGL_ISPOINTBEHINDVIEW',
-                        'TBGL_GETWINDOWMULTIKEYSTATE','TBGL_GETWINDOWKEYSTATE','TBGL_GETWINDOWKEYONCE','TBGL_GETWINDOWCLIENT','TBGL_GETTEXTURENAME','TBGL_GETTEXTURELIST','TBGL_GETPIXELINFO','TBGL_GETMULTIASYNCKEYSTATE',
-                        'TBGL_GETLASTGLERROR','TBGL_GETFRAMERATE','TBGL_GETDESKTOPINFO','TBGL_GETASYNCKEYSTATE','TBGL_ERRORMESSAGES','TBGL_ENDPOLY','TBGL_ENDLIST','TBGL_DRAWFRAME',
-                        'TBGL_DESTROYWINDOW','TBGL_DELETELIST','TBGL_CYLINDER','TBGL_CREATEWINDOWEX','TBGL_CREATEWINDOW','TBGL_COLORALPHA','TBGL_COLOR','TBGL_CLEARFRAME',
-                        'TBGL_CAMERA','TBGL_CALLLIST','TBGL_BUILDFONT','TBGL_BOX','TBGL_BLENDFUNC','TBGL_BINDTEXTURE','TBGL_BEGINPOLY','TBGL_BACKCOLOR',
-                        'TBGL_ALPHAFUNC','TBDI_JOYZ','TBDI_JOYY','TBDI_JOYX','TBDI_JOYSTOPEFFECT','TBDI_JOYSLIDER','TBDI_JOYSETRANGEZ','TBDI_JOYSETRANGEY',
-                        'TBDI_JOYSETRANGEXYZ','TBDI_JOYSETRANGEX','TBDI_JOYSETDEADZONEZ','TBDI_JOYSETDEADZONEY','TBDI_JOYSETDEADZONEXYZ','TBDI_JOYSETDEADZONEX','TBDI_JOYSETAUTOCENTER','TBDI_JOYRZ',
-                        'TBDI_JOYRY','TBDI_JOYRX','TBDI_JOYPOV','TBDI_JOYPLAYEFFECT','TBDI_JOYLOADEFFECT','TBDI_JOYHASFF','TBDI_JOYHASEFFECT','TBDI_JOYGETEFFECTNAME',
-                        'TBDI_JOYGETEFFECTGUID','TBDI_JOYCREATEEFFECT','TBDI_JOYCOUNTPOV','TBDI_JOYCOUNTEFFECTS','TBDI_JOYCOUNTBTN','TBDI_JOYCOUNTAXES','TBDI_JOYBUTTON','TBDI_JOYAVAIL',
-                        'TBDI_INIT','TBASS_STREAMFREE','TBASS_STREAMCREATEFILE','TBASS_SETVOLUME','TBASS_SETEAXPRESET','TBASS_SETEAXPARAMETERS','TBASS_SETCONFIG','TBASS_SET3DPOSITION',
-                        'TBASS_SET3DFACTORS','TBASS_SAMPLELOAD','TBASS_SAMPLEGETCHANNEL','TBASS_MUSICLOAD','TBASS_MUSICFREE','TBASS_INIT','TBASS_GETVOLUME','TBASS_GETVERSION',
-                        'TBASS_GETCONFIG','TBASS_FREE','TBASS_ERRORGETCODE','TBASS_CHANNELSTOP','TBASS_CHANNELSETPOSITION','TBASS_CHANNELSETATTRIBUTES','TBASS_CHANNELSET3DPOSITION','TBASS_CHANNELPLAY',
-                        'TBASS_CHANNELPAUSE','TBASS_CHANNELISACTIVE','TBASS_CHANNELGETPOSITION','TBASS_CHANNELGETLENGTH','TBASS_CHANNELGETATTRIBUTES','TBASS_APPLY3D','TANH','TANGENT',
-                        'TAN','TALLY','TABCTRL_ONNOTIFY','TABCTRL_INSERTITEM','TABCTRL_GETCURSEL','SWAP','SUB','STRZIP$',
-                        'STRUNZIP$','STRREVERSE$','STRPTRLEN','STRPTR','STRINSERT$','STRING$','STRING','STRDELETE$',
-                        'STR$','STOP','STEP','STDOUT','STDIN','STAT_SUM','STAT_STDERROR','STAT_STDDEVIATION',
-                        'STAT_RANDOM','STAT_PRODUCT','STAT_MIN','STAT_MEDIAN','STAT_MEANHARMONIC','STAT_MEANGEOMETRIC','STAT_MEANARITHMETIC','STAT_MAX',
-                        'STAT_INVERSESUM','STAT_HISTOGRAM','STAT_FILLARRAY','STAT_COUNT','STAT_COPYARRAY','STAT_CLONEARRAY','STAT_CHISQUARE','STATIC',
-                        'STATE','SQR','SPLIT','SORT','SMTP_STATISTICS','SMTP_SETOPTION','SMTP_SETLOGFILE','SMTP_SENDHTML',
-                        'SMTP_SENDEMAIL','SMTP_GETERROR','SMTP_FINISHED','SMTP_DEBUG','SMTP_CONNECT','SMTP_CLOSE','SLEEP','SIZEOF',
-                        'SIZE','SINH','SINGLE','SIN','SIGNED','SHOW','SHIFT','SHAPETOBMP',
-                        'SGN','SETAT','SET','SENDMESSAGE','SENDKEYSBULK','SENDKEYS','SEND','SELECTEXPRESSION',
-                        'SELECT','SECH','SEC','SCAN','SAPI_SPEAK','SAPI_SETVOLUME','SAPI_SETRATE','SAPI_MODULELOADED',
-                        'SAPI_GETVOLUME','SAPI_GETRATE','RTRIM$','RTF_SETTEXT','RTF_SETFONTSIZE','RTF_SETFONTNAME','RTF_SETFGCOLOR','RTF_SETEFFECT',
-                        'RTF_SETBGCOLOR','RTF_SETALIGN','RTF_SAVETOFILE','RTF_LOADFROMFILE','RTF_GETTEXT','RTF_GETFONTSIZE','RTF_GETFONTNAME','RTF_GETEFFECT',
-                        'RTF_GETCLASS','RTF_APPENDTEXT','RSET$','ROUND','RNDF','RND','RIGHT$','RIGHT',
-                        'RGB','RESOURCE','RESIZE','RESET','REPLACE$','REPEAT$','REMOVE$','REM',
-                        'REGISTRY_SETVALUE','REGISTRY_SETTXTNUM','REGISTRY_SETTXTBOOL','REGISTRY_SETDWORD','REGISTRY_GETVALUE','REGISTRY_GETTXTNUM','REGISTRY_GETTXTBOOL','REGISTRY_GETDWORD',
-                        'REGISTRY_GETALLKEYS','REGISTRY_DELVALUE','REGISTRY_DELKEY','REFERENCE','REF','REDRAW','REDIM','RAS_SETPARAMS',
-                        'RAS_OPENDIALUPDIALOG','RAS_LOADENTRIES','RAS_HANGUPALL','RAS_HANGUP','RAS_GETENTRY','RAS_BEGINDIAL','RANDOMIZE','RADTODEG',
-                        'QUERYPERFORMANCEFREQUENCY','QUERYPERFORMANCECOUNTER','QUAD','PTR','PRESERVE','POST','POPUP','POKE$',
-                        'POKE','PIXELS','PI','PERMUTATIONS','PEEKMESSAGE','PEEK$','PEEK','PC_SYSTEMUPFROM',
-                        'PC_SUSPENDSTATE','PC_SHUTDOWN','PC_SHOWCARET','PC_SETCARETBLINKTIME','PC_RESTARTDIALOG','PC_PREVENTSHUTDOWN','PC_LOCK','PC_INSERTCD',
-                        'PC_HIDECARET','PC_GETSTATEONOFF','PC_GETSCROLLLOCKKEYSTATE','PC_GETNUMLOCKKEYSTATE','PC_GETCARETBLINKTIME','PC_GETCAPSLOCKKEYSTATE','PC_EMPTYBIN','PC_EJECTCD',
-                        'PC_DECODECDERROR','PCT','PARSESET$','PARSECOUNT','PARSE$','PARSE','PARAMETERS','OUTSIDE',
-                        'OS_WINVERSIONTEXT','OS_WINGETVERSIONTIMELINE','OS_SHELLEXECUTE','OS_SHELLABOUT','OS_SHELL','OS_SETLASTCALLDLLERROR','OS_SERVICESTOP','OS_SERVICESTATUSDESCRIPTION',
-                        'OS_SERVICESTARTTYPEDESCRIPTION','OS_SERVICESTART','OS_SERVICESETSTARTTYPE','OS_SERVICEQUERY','OS_SERVICEGETSTARTTYPE','OS_SERVICEGETLIST','OS_PROCESSKILLBYNAME','OS_PROCESSKILLBYID',
-                        'OS_PROCESSISRUNNING','OS_PROCESSGETLIST','OS_PROCESSGETID','OS_PROCESSARERUNNING','OS_MESSAGEBEEP','OS_ISWOW64','OS_ISFEATUREPRESENT','OS_IEVERSION',
-                        'OS_GETWINDOWSDIR','OS_GETUSERNAME','OS_GETTEMPDIR','OS_GETSYSTEMDIR','OS_GETSPECIALFOLDER','OS_GETLASTCALLDLLSTATUS','OS_GETLASTCALLDLLERROR','OS_GETCURRENTTHREADID',
-                        'OS_GETCURRENTPROCESSID','OS_GETCOMPUTERNAME','OS_GETCOMMANDS','OS_GETCOMMAND','OS_FLASHWINDOW','OS_FATALAPPEXIT','OS_ENVIRON','OS_CALLDLL',
-                        'OR','OPTIONAL','OPTION','OPT','ONCE','ON','OFF','NUMBER',
-                        'NOT','NEXT','NEW','MSGBOX','MOUSEPTR','MODULE','MODELESS','MODAL',
-                        'MOD','MKWRD$','MKS$','MKQ$','MKL$','MKI$','MKE$','MKDWD$',
-                        'MKD$','MKCUX$','MKCUR$','MKBYT$','MIN$','MIN','MID$','MENU',
-                        'MDI_CREATE','MCASE$','MAX$','MAX','MAKWRD','MAKLNG','MAKINT','MAKDWR',
-                        'LTRIM$','LSET$','LOWRD','LOOP','LONG','LOINT','LOG_WRITE','LOGB',
-                        'LOG2','LOG10','LOG','LOCAL','LOC','LL_UPDATEBYNAME','LL_UPDATE','LL_TOSTRING',
-                        'LL_TOFILE','LL_NAME','LL_GETITEM','LL_GETBYNUMBER','LL_FROMFILE','LL_FREE','LL_FINDLAST','LL_FINDBYNAME',
-                        'LL_FINDBYDATA','LL_DELETELIKE','LL_DELETEBYNAME','LL_DELETE','LL_DATABYNAME','LL_DATA','LL_COUNT','LL_ADD',
-                        'LISTBOX','LINE','LIBRARY_EXISTS','LIB','LEN','LEFT$','LEFT','LCASE$',
-                        'LBOUND','LABEL','KILL','JOIN$','ITERATE','ISWINDOW','ISUNICODE','ISTRUE',
-                        'ISODD','ISLIKE','ISFALSE','ISEVEN','IP_TOSTRING','IP_ADDR','INTERNALINFO','INTEGER',
-                        'INT','INSTR','INSIDE','INPUTBOX$','INI_SETKEY','INI_GETSECTIONSLIST','INI_GETSECTIONKEYLIST','INI_GETKEY',
-                        'INET_URLDOWNLOAD','INET_PING','INET_OPENDIALUPDIALOG','INET_GETSTATE','INET_GETREMOTEMACADDRESS','INET_GETIP','INET_GETCONNECTIONMODE','INCR',
-                        'IN','IMAGE','IIF$','IIF','IF','ICRYPTO_TESTSHA1','ICRYPTO_TESTMD5','ICRYPTO_TESTCRC32',
-                        'ICRYPTO_TESTCRC16','ICRYPTO_STRING2ASCII','ICRYPTO_SHA1','ICRYPTO_MD5','ICRYPTO_ENCRYPTRIJNDAEL','ICRYPTO_ENCRYPTRC4','ICRYPTO_DECRYPTRIJNDAEL','ICRYPTO_DECRYPTRC4',
-                        'ICRYPTO_CRC32','ICRYPTO_CRC16','ICRYPTO_BYTEXOR','ICRYPTO_BIN2ASCII','ICRYPTO_ASCII2STRING','ICRYPTO_ASCII2BIN','HOST_ADDR','HOSTNAME_TOIP',
-                        'HOSTIP_TONAME','HIWRD','HIINT','HEX$','HASH','HANDLE','GUIDTXT$','GUID$',
-                        'GRAPHIC','GLVOID','GLUSHORT','GLUINT','GLUBYTE','GLSIZEI','GLSHORT','GLOBAL',
-                        'GLINT','GLFLOAT','GLENUM','GLDOUBLE','GLCLAMPF','GLCLAMPD','GLBYTE','GLBOOLEAN',
-                        'GLBITFIELD','GETWINDOWMULTIKEYSTATE','GETWINDOWKEYSTATE','GETTICKCOUNT','GETS','GETMULTIASYNCKEYSTATE','GETMESSAGE','GETCURRENTINSTANCE',
-                        'GETAT','GETASYNCKEYSTATE','GET','FUNCTION_NPARAMS','FUNCTION_EXISTS','FUNCTION_CPARAMS','FUNCTION','FTP_SETSTRING',
-                        'FTP_SETSERVERDIR','FTP_SETNUMBER','FTP_SETMODE','FTP_SETLOGFILE','FTP_SETLOCALDIR','FTP_QUIT','FTP_PUTFILE','FTP_GETSTRING',
-                        'FTP_GETSERVERDIR','FTP_GETNUMBER','FTP_GETLOCALDIR','FTP_GETLIST','FTP_GETFILE','FTP_GETERRORSTRING','FTP_GETERRORNUMBER','FTP_FINISHED',
-                        'FTP_EXTRACT','FTP_DELFILE','FTP_CONNECT','FTP_COMMAND','FRAME','FRAC','FORMAT$','FOR',
-                        'FONT_LIST','FONT_CREATE','FONT','FOCUS','FLUSH','FIX','FILE_SIZE','FILE_SHELLDELETE',
-                        'FILE_SHELLCOPY','FILE_SETDATETIME','FILE_SEEK','FILE_SAVE','FILE_RENAME','FILE_PUT','FILE_PATHSPLIT','FILE_OPEN',
-                        'FILE_LOF','FILE_LOAD','FILE_LINEPRINT','FILE_LINEINPUT','FILE_KILL','FILE_GETVERSIONSTRING','FILE_GETVERSION','FILE_GETTIME',
-                        'FILE_GETDATETIMESTAMP','FILE_GETDATETIME','FILE_GETDATE','FILE_GET','FILE_EXISTS','FILE_EOF','FILE_COPY','FILE_CLOSE',
-                        'FILE_CHANGED','FILE_APPEND','FACTORIAL','EXTRACT$','EXT','EXPORT','EXP2','EXP10',
-                        'EXP','EXIT','EVAL_STRING','EVAL_SETSTRING','EVAL_SETNUMBER','EVAL_MATH','EVAL_LINKEXT','EVAL_GETSTRING',
-                        'EVAL_GETNUMBER','EVAL_ERRORGETTOKEN','EVAL_ERRORDESCRIPTION','EVAL_ERRORCLEAR','EVAL','ERRCLEAR','ERR','ENGINE_GETCURRENTTOKEN',
-                        'ENDIF','END','ENABLE','ELSEIF','ELSE','ECHO','DWORD','DT_YEAR',
-                        'DT_TIMETOSEC','DT_TIMESUBSECONDS','DT_TIMEFORMAT','DT_TIMEADDSECONDS','DT_SETTIMESEPARATOR','DT_SETDATESEPARATOR','DT_SETDATECENTURY','DT_SECTOTIME',
-                        'DT_SECTODATE','DT_SECOND','DT_MONTH','DT_MINUTE','DT_LASTDAYOFMONTH','DT_ISVALIDDATE','DT_ISLEAPYEAR','DT_HOUR',
-                        'DT_GETWEEKDAYNAME','DT_GETWEEKDAY','DT_GETTIMESTAMP','DT_GETTIMESEPARATOR','DT_GETMONTHNAME','DT_GETDATESEPARATOR','DT_GETDATECENTURY','DT_DAY',
-                        'DT_DATETOSEC','DT_DATETIMESUBSECONDS','DT_DATETIMEADDSECONDS','DT_DATESUBDAYS','DT_DATEFORMAT','DT_DATEDIFF','DT_DATEADDDAYS','DT_COOKIEDATE',
-                        'DRAW','DOUBLE','DOEVENTS','DO','DISABLE','DIR_REMOVE','DIR_MAKEALL','DIR_MAKE',
-                        'DIR_LISTARRAY','DIR_LIST','DIR_ISEMPTY','DIR_ISDIR','DIR_GETCURRENT','DIR_EXISTS','DIR_CHANGEDRIVE','DIR_CHANGE',
-                        'DIM','DICTIONARY_MEMINFO','DICTIONARY_LISTKEYS','DICTIONARY_FREE','DICTIONARY_FIND','DICTIONARY_EXISTS','DICTIONARY_CREATE','DICTIONARY_COUNT',
-                        'DICTIONARY_ADD','DIALOG_STOPEVENTS','DIALOG_SAVEFILE','DIALOG_OPENFILE','DIALOG_GETCONTROL','DIALOG_CHOOSECOLOR','DIALOG_BROWSEFORFOLDER','DIALOG',
-                        'DESKTOP','DESCENDING','DESCEND','DELETEOBJECT','DELETE','DEGTORAD','DECR','DECLARE',
-                        'DATE$','CVWRD','CVS','CVQ','CVL','CVI','CVE','CVDWD',
-                        'CVD','CVCUX','CVCUR','CVBYT','CURRENCY','CUR','CSET$','CSCH',
-                        'CSC','CRYPTO_GETPROVIDERTYPESCOUNT','CRYPTO_GETPROVIDERSCOUNT','CRYPTO_GETDEFAULTPROVIDER','CRYPTO_GENRANDOMSTRING','CRYPTO_ENUMPROVIDERTYPES','CRYPTO_ENUMPROVIDERS','CRYPTO_ENCRYPT',
-                        'CRYPTO_DECRYPT','CREATEFONT','COTH','COTAN','COSH','COS','CONTROL_SETTEXT','CONTROL_GETTEXT',
-                        'CONTROL_GETNUMBER','CONTROL','CONST','CONSOLE_WRITELINE','CONSOLE_WRITE','CONSOLE_WAITKEY','CONSOLE_SHOWWINDOW','CONSOLE_SHOWCURSOR',
-                        'CONSOLE_SETTITLE','CONSOLE_SETTEXTATTRIBUTE','CONSOLE_SETSTDHANDLE','CONSOLE_SETSCREENBUFFERSIZE','CONSOLE_SETPROGRESSBARCHAR','CONSOLE_SETOUTPUTMODE','CONSOLE_SETOUTPUTCP','CONSOLE_SETINPUTMODE',
-                        'CONSOLE_SETFILEAPISTOOEM','CONSOLE_SETFILEAPISTOANSI','CONSOLE_SETCURSORSIZE','CONSOLE_SETCURSORPOSITION','CONSOLE_SETCP','CONSOLE_SETACTIVESCREENBUFFER','CONSOLE_SCROLLWINDOW','CONSOLE_SCROLLBUFFERONEROW',
-                        'CONSOLE_SCROLLBUFFER','CONSOLE_SAVESCREEN','CONSOLE_RESTORESCREEN','CONSOLE_READLINE','CONSOLE_READ','CONSOLE_PROGRESSBAR','CONSOLE_PRINTLINE','CONSOLE_PRINTAT',
-                        'CONSOLE_PRINT','CONSOLE_NORMALSCREEN','CONSOLE_LINE','CONSOLE_INKEYB','CONSOLE_INKEY','CONSOLE_HIDECURSOR','CONSOLE_GETTITLE','CONSOLE_GETTEXTATTRIBUTE',
-                        'CONSOLE_GETSTDHANDLE','CONSOLE_GETSIZEY','CONSOLE_GETSIZEX','CONSOLE_GETPROGRESSBARCHAR','CONSOLE_GETOUTPUTMODE','CONSOLE_GETOUTPUTCP','CONSOLE_GETNUMBEROFMOUSEBUTTONS','CONSOLE_GETINPUTMODE',
-                        'CONSOLE_GETCURSORY','CONSOLE_GETCURSORX','CONSOLE_GETCURSORSIZE','CONSOLE_GETCURRENTFONTINDEX','CONSOLE_GETCP','CONSOLE_GENERATECTRLEVENT','CONSOLE_FULLSCREEN','CONSOLE_FREE',
-                        'CONSOLE_FOREGROUNDRGB','CONSOLE_ENABLECTRLC','CONSOLE_DISABLECTRLC','CONSOLE_CREATESCREENBUFFER','CONSOLE_COLORAT','CONSOLE_CLS','CONSOLE_BOX','CONSOLE_BACKGROUNDRGB',
-                        'CONSOLE_ATTACH','CONSOLE_AREFILEAPISANSI','CONSOLE_ALLOC','COM_VARIANTINIT','COM_VARIANTCOPY','COM_VARIANTCLEAR','COM_SUCCEEDED','COM_STRINGFROMCLSID',
-                        'COM_RELEASE','COM_QUERYINTERFACE','COM_PROGIDFROMCLSID','COM_ISEQUALIID','COM_ISEQUALGUID','COM_ISEQUALCLSID','COM_GETOBJECT','COM_GETENGINEGUID',
-                        'COM_EXECUTE','COM_DISPLAYERROR','COM_CREATEOBJECT','COM_CLSIDFROMSTRING','COM_CLSIDFROMPROGID','COM_BUILDVARIANT','COMBOBOX','COMBINATIONS',
-                        'COLOR','CLIPBOARD_SETTEXT','CLIPBOARD_GETTEXT','CLIENT','CLEARMESSAGES','CHR$','CHOOSE$','CHOOSE',
-                        'CHECKBOX','CHECK3STATE','CHECK','CGI_WRITELOGFILE','CGI_WRITE','CGI_URLDECODESTRING','CGI_UPLOADFILESTIME','CGI_UPLOADFILESNUMBER',
-                        'CGI_UPLOADFILESIZE','CGI_STARTSESSION','CGI_SETSESSIONVARIABLE','CGI_RESETDEFAULTSETTINGS','CGI_REMOVESPECIALCHARSPREFIX','CGI_REMOVEQUOTE','CGI_READ','CGI_LOADCONFIGFILE',
-                        'CGI_HEADER','CGI_GETSESSIONVARIABLE','CGI_GETREQUESTMETHOD','CGI_GETQUERYVALUE','CGI_GETCURRENTSESSION','CGI_GETCURRENTGUID','CGI_ENVIRON','CGI_CFGSETOPTION',
-                        'CGI_CFGGETOPTION','CGI_ADDSPECIALCHARSPREFIX','CGI_ADDQUOTE','CEIL','CASE','CALL','BYVAL','BYTE',
-                        'BYREF','BYCMD','BUTTON','BUNDLE_SETSCRIPTPARAMETERS','BUNDLE_SETSCRIPTNAME','BUNDLE_SETFLAGOBFUSCATEMAINSCRIPT','BUNDLE_SETFLAGDELETEAFTERRUN','BUNDLE_SETFLAGCOMPRESSALLFILES',
-                        'BUNDLE_SETFLAGASKBEFOREEXTRACT','BUNDLE_SETEXTRACTIONFOLDER','BUNDLE_SETCREATIONFOLDER','BUNDLE_SETBUNDLENAME','BUNDLE_RESET','BUNDLE_MAKE','BUNDLE_BUILDER','BUNDLE_ADDFOLDER',
-                        'BUNDLE_ADDFILE','BOUNDCHECK','BIN$','BIFF_WRITETEXT','BIFF_WRITENUMBER','BIFF_WRITEDATE','BIFF_SETROWHEIGHT','BIFF_SETCOLWIDTH',
-                        'BIFF_SETBUFFER','BIFF_CREATEFILE','BIFF_CLOSEFILE','BETWEEN','BEEP','BAR','ATTACH','ATN',
-                        'AT','ASSIGN','ASCIZ','ASCIIZ','ASCII2UNICODE','ASCENDING','ASCEND','ASC',
-                        'AS','ARRAY','ARCTANH','ARCSINH','ARCSIN','ARCSECH','ARCSEC','ARCCSCH',
-                        'ARCCSC','ARCCOTH','ARCCOT','ARCCOSH','ARCCOS','APP_TIMER','APP_SOURCEPATH','APP_SOURCENAME',
-                        'APP_SOURCEFULLNAME','APP_PATH','APP_NAME','APP_LISTVARIABLES','APP_LISTKEYWORDS','APP_LISTFUNCTIONS','APP_LISTEQUATES','APP_INCLUDEPATH',
-                        'APP_GETMODULEFULLPATH','APP_COUNTER','APPEND','ANY','ANIMATE_STOP','ANIMATE_PLAY','ANIMATE_OPEN','AND',
-                        'ALIAS','ALERT','ADD','ACODE$','ABS','%DEF','#MINVERSION','#IF',
-                        '#ENDIF','#ELSEIF','#ELSE','#DEFAULT','#DEF','SQLWRITEPRIVATEPROFILESTRING','SQLWRITEFILEDSN','SQLWRITEDSNTOINI',
-                        'SQLVALIDDSN','SQLTRANSACT','SQLTABLES','SQLTABLEPRIVILEGES','SQLSTATISTICS','SQLSPECIALCOLUMNS','SQLSETSTMTOPTION','SQLSETSTMTATTR',
-                        'SQLSETSCROLLOPTIONS','SQLSETPOS','SQLSETPARAM','SQLSETENVATTR','SQLSETDESCREC','SQLSETDESCFIELD','SQLSETCURSORNAME','SQLSETCONNECTOPTION',
-                        'SQLSETCONNECTATTR','SQLSETCONFIGMODE','SQLROWCOUNT','SQLREMOVETRANSLATOR','SQLREMOVEDSNFROMINI','SQLREMOVEDRIVERMANAGER','SQLREMOVEDRIVER','SQLREADFILEDSN',
-                        'SQLPUTDATA','SQLPROCEDURES','SQLPROCEDURECOLUMNS','SQLPRIMARYKEYS','SQLPREPARE','SQLPOSTINSTALLERERROR','SQLPARAMOPTIONS','SQLPARAMDATA',
-                        'SQLNUMRESULTCOLS','SQLNUMPARAMS','SQLNATIVESQL','SQLMORERESULTS','SQLMANAGEDATASOURCES','SQLINSTALLTRANSLATOREX','SQLINSTALLERERROR','SQLINSTALLDRIVERMANAGER',
-                        'SQLINSTALLDRIVEREX','SQLGETTYPEINFO','SQLGETTRANSLATOR','SQLGETSTMTOPTION','SQLGETSTMTATTR','SQLGETPRIVATEPROFILESTRING','SQLGETINSTALLEDDRIVERS','SQLGETINFO',
-                        'SQLGETFUNCTIONS','SQLGETENVATTR','SQLGETDIAGREC','SQLGETDIAGFIELD','SQLGETDESCREC','SQLGETDESCFIELD','SQLGETDATA','SQLGETCURSORNAME',
-                        'SQLGETCONNECTOPTION','SQLGETCONNECTATTR','SQLGETCONFIGMODE','SQLFREESTMT','SQLFREEHANDLE','SQLFREEENV','SQLFREECONNECT','SQLFOREIGNKEYS',
-                        'SQLFETCHSCROLL','SQLFETCH','SQLEXTENDEDFETCH','SQLEXECUTE','SQLEXECDIRECT','SQLERROR','SQLENDTRAN','SQLDRIVERS',
-                        'SQLDRIVERCONNECT','SQLDISCONNECT','SQLDESCRIBEPARAM','SQLDESCRIBECOL','SQLDATASOURCES','SQLCREATEDATASOURCE','SQLCOPYDESC','SQLCONNECT',
-                        'SQLCONFIGDRIVER','SQLCONFIGDATASOURCE','SQLCOLUMNS','SQLCOLUMNPRIVILEGES','SQLCOLATTRIBUTES','SQLCOLATTRIBUTE','SQLCLOSECURSOR','SQLCANCEL',
-                        'SQLBULKOPERATIONS','SQLBROWSECONNECT','SQLBINDPARAMETER','SQLBINDPARAM','SQLBINDCOL','SQLALLOCSTMT','SQLALLOCHANDLE','SQLALLOCENV',
-                        'SQLALLOCCONNECT','ODBCWRONGDRIVER','ODBCWRITEPRIVATEPROFILESTRING','ODBCWRITEFILEDSN','ODBCWRITEDSNTOINI','ODBCVALIDDSN','ODBCUPDATERECORD','ODBCUPDATEBYBOOKMARK',
-                        'ODBCUNLOCKRECORD','ODBCUNBINDCOLUMNS','ODBCUNBINDCOL','ODBCTABLESCOUNT','ODBCTABLES','ODBCTABLEPRIVILEGESCOUNT','ODBCTABLEPRIVILEGES','ODBCSUPPORTS',
-                        'ODBCSTATTABLESCHEMANAME','ODBCSTATTABLEPAGES','ODBCSTATTABLECATALOGNAME','ODBCSTATTABLECARDINALITY','ODBCSTATISTICSCOUNT','ODBCSTATISTICS','ODBCSTATINDEXSORTSEQUENCE','ODBCSTATINDEXSCHEMANAME',
-                        'ODBCSTATINDEXQUALIFIER','ODBCSTATINDEXPAGES','ODBCSTATINDEXFILTERCONDITION','ODBCSTATINDEXCOLUMNORDINALPOSITION','ODBCSTATINDEXCOLUMNNAME','ODBCSTATINDEXCATALOGNAME','ODBCSTATINDEXCARDINALITY','ODBCSTATINDEXALLOWDUPLICATES',
-                        'ODBCSPECIALCOLUMNSCOUNT','ODBCSPECIALCOLUMNS','ODBCSETTXNISOLATION','ODBCSETTRANSLATELIB','ODBCSETTRACEFILE','ODBCSETTRACE','ODBCSETSTMTUSEBOOKMARKS','ODBCSETSTMTSIMULATECURSOR',
-                        'ODBCSETSTMTROWSTATUSPTR','ODBCSETSTMTROWSFETCHEDPTR','ODBCSETSTMTROWOPERATIONPTR','ODBCSETSTMTROWBINDTYPE','ODBCSETSTMTROWBINDOFFSETPTR','ODBCSETSTMTROWARRAYSIZE','ODBCSETSTMTRETRIEVEDATA','ODBCSETSTMTQUERYTIMEOUT',
-                        'ODBCSETSTMTPARAMSTATUSPTR','ODBCSETSTMTPARAMSPROCESSEDPTR','ODBCSETSTMTPARAMSETSIZE','ODBCSETSTMTPARAMOPERATIONPTR','ODBCSETSTMTPARAMBINDTYPE','ODBCSETSTMTPARAMBINDOFFSETPTR','ODBCSETSTMTNOSCAN','ODBCSETSTMTMETADATAID',
-                        'ODBCSETSTMTMAXROWS','ODBCSETSTMTMAXLENGTH','ODBCSETSTMTKEYSETSIZE','ODBCSETSTMTFETCHBOOKMARKPTR','ODBCSETSTMTENABLEAUTOIPD','ODBCSETSTMTCURSORTYPE','ODBCSETSTMTCURSORSENSITIVITY','ODBCSETSTMTCURSORSCROLLABLE',
-                        'ODBCSETSTMTCONCURRENCY','ODBCSETSTMTATTR','ODBCSETSTMTASYNCENABLE','ODBCSETSTMTAPPROWDESC','ODBCSETSTMTAPPPARAMDESC','ODBCSETSTATICCURSOR','ODBCSETROWVERCONCURRENCY','ODBCSETRESULT',
-                        'ODBCSETRELATIVEPOSITION','ODBCSETREADONLYCONCURRENCY','ODBCSETQUIETMODE','ODBCSETPOSITION','ODBCSETPOS','ODBCSETPACKETMODE','ODBCSETOPTIMISTICCONCURRENCY','ODBCSETODBCCURSORS',
-                        'ODBCSETMULTIUSERKEYSETCURSOR','ODBCSETMETADATAID','ODBCSETLOGINTIMEOUT','ODBCSETLOCKCONCURRENCY','ODBCSETKEYSETDRIVENCURSOR','ODBCSETFORWARDONLYCURSOR','ODBCSETENVOUTPUTNTS','ODBCSETENVODBCVERSION',
-                        'ODBCSETENVCPMATCH','ODBCSETENVCONNECTIONPOOLING','ODBCSETENVATTR','ODBCSETDYNAMICCURSOR','ODBCSETDESCREC','ODBCSETDESCFIELD','ODBCSETCURSORTYPE','ODBCSETCURSORSENSITIVITY',
-                        'ODBCSETCURSORSCROLLABILITY','ODBCSETCURSORNAME','ODBCSETCURSORLOCKTYPE','ODBCSETCURSORKEYSETSIZE','ODBCSETCURSORCONCURRENCY','ODBCSETCURRENTCATALOG','ODBCSETCONNECTIONTIMEOUT','ODBCSETCONNECTATTR',
-                        'ODBCSETCONFIGMODE','ODBCSETCONCURVALUESCONCURRENCY','ODBCSETAUTOCOMMITON','ODBCSETAUTOCOMMITOFF','ODBCSETAUTOCOMMIT','ODBCSETASYNCENABLE','ODBCSETACCESSMODE','ODBCSETABSOLUTEPOSITION',
-                        'ODBCROWCOUNT','ODBCROLLBACKTRAN','ODBCROLLBACKENVTRAN','ODBCROLLBACKDBCTRAN','ODBCRESULT','ODBCRESETPARAMS','ODBCREMOVETRANSLATOR','ODBCREMOVEDSNFROMINI',
-                        'ODBCREMOVEDRIVERMANAGER','ODBCREMOVEDRIVER','ODBCREFRESHRECORD','ODBCRECORDCOUNT','ODBCREADFILEDSN','ODBCQUOTEDIDENTIFIERCASE','ODBCPUTDATA','ODBCPROCEDURESCOUNT',
-                        'ODBCPROCEDURES','ODBCPROCEDURECOLUMNSCOUNT','ODBCPROCEDURECOLUMNS','ODBCPRIMARYKEYSCOUNT','ODBCPRIMARYKEYS','ODBCPREPARE','ODBCPOSTINSTALLERERROR','ODBCPARAMDATA',
-                        'ODBCOPENSTMT','ODBCOPENCONNECTION','ODBCNUMRESULTCOLS','ODBCNUMPARAMS','ODBCNATIVESQL','ODBCMOVEPREVIOUS','ODBCMOVENEXT','ODBCMOVELAST',
-                        'ODBCMOVEFIRST','ODBCMOVE','ODBCMORERESULTS','ODBCMANAGEDATASOURCES','ODBCLOCKRECORD','ODBCINSTALLTRANSLATOREX','ODBCINSTALLERERROR','ODBCINSTALLDRIVERMANAGER',
-                        'ODBCINSTALLDRIVEREX','ODBCGETXOPENCLIYEAR','ODBCGETUSERNAME','ODBCGETUNION','ODBCGETTYPEINFOCOUNT','ODBCGETTYPEINFO','ODBCGETTXNISOLATIONOPTION','ODBCGETTXNISOLATION',
-                        'ODBCGETTXNCAPABLE','ODBCGETTRANSLATOR','ODBCGETTRANSLATELIB','ODBCGETTRACEFILE','ODBCGETTRACE','ODBCGETTIMEDATEFUNCTIONS','ODBCGETTIMEDATEDIFFINTERVALS','ODBCGETTIMEDATEADDINTERVALS',
-                        'ODBCGETTABLETERM','ODBCGETSYSTEMFUNCTIONS','ODBCGETSUBQUERIES','ODBCGETSTRINGFUNCTIONS','ODBCGETSTMTUSEBOOKMARKS','ODBCGETSTMTSQLSTATE','ODBCGETSTMTSIMULATECURSOR','ODBCGETSTMTROWSTATUSPTR',
-                        'ODBCGETSTMTROWSFETCHEDPTR','ODBCGETSTMTROWOPERATIONPTR','ODBCGETSTMTROWNUMBER','ODBCGETSTMTROWBINDTYPE','ODBCGETSTMTROWBINDOFFSETPTR','ODBCGETSTMTROWARRAYSIZE','ODBCGETSTMTRETRIEVEDATA','ODBCGETSTMTQUERYTIMEOUT',
-                        'ODBCGETSTMTPARAMSTATUSPTR','ODBCGETSTMTPARAMSPROCESSEDPTR','ODBCGETSTMTPARAMSETSIZE','ODBCGETSTMTPARAMOPERATIONPTR','ODBCGETSTMTPARAMBINDTYPE','ODBCGETSTMTPARAMBINDOFFSETPTR','ODBCGETSTMTNOSCAN','ODBCGETSTMTMETADATAID',
-                        'ODBCGETSTMTMAXROWS','ODBCGETSTMTMAXLENGTH','ODBCGETSTMTKEYSETSIZE','ODBCGETSTMTIMPROWDESC','ODBCGETSTMTIMPPARAMDESC','ODBCGETSTMTFETCHBOOKMARKPTR','ODBCGETSTMTERRORINFO','ODBCGETSTMTENABLEAUTOIPD',
-                        'ODBCGETSTMTCURSORTYPE','ODBCGETSTMTCURSORSENSITIVITY','ODBCGETSTMTCURSORSCROLLABLE','ODBCGETSTMTCONCURRENCY','ODBCGETSTMTATTR','ODBCGETSTMTASYNCENABLE','ODBCGETSTMTAPPROWDESC','ODBCGETSTMTAPPPARAMDESC',
-                        'ODBCGETSTATICCURSORATTRIBUTES2','ODBCGETSTATICCURSORATTRIBUTES1','ODBCGETSTATEMENTSQLSTATE','ODBCGETSTATEMENTERRORINFO','ODBCGETSTANDARDCLICONFORMANCE','ODBCGETSQLSTATE','ODBCGETSQLCONFORMANCE','ODBCGETSQL92VALUEEXPRESSIONS',
-                        'ODBCGETSQL92STRINGFUNCTIONS','ODBCGETSQL92ROWVALUECONSTRUCTOR','ODBCGETSQL92REVOKE','ODBCGETSQL92RELATIONALJOINOPERATORS','ODBCGETSQL92PREDICATES','ODBCGETSQL92NUMERICVALUEFUNCTIONS','ODBCGETSQL92GRANT','ODBCGETSQL92FOREIGNKEYUPDATERULE',
-                        'ODBCGETSQL92FOREIGNKEYDELETERULE','ODBCGETSQL92DATETIMEFUNCTIONS','ODBCGETSPECIALCHARACTERS','ODBCGETSERVERNAME','ODBCGETSEARCHPATTERNESCAPE','ODBCGETSCROLLOPTIONS','ODBCGETSCHEMAUSAGE','ODBCGETSCHEMATERM',
-                        'ODBCGETROWUPDATES','ODBCGETQUIETMODE','ODBCGETPROCEDURETERM','ODBCGETPROCEDURESSUPPORT','ODBCGETPRIVATEPROFILESTRING','ODBCGETPOSOPERATIONS','ODBCGETPARAMARRAYSELECTS','ODBCGETPARAMARRAYROWCOUNTS',
-                        'ODBCGETPACKETMODE','ODBCGETOUTERJOINS','ODBCGETORDERBYCOLUMNSINSELECT','ODBCGETOJCAPABILITIES','ODBCGETODBCVER','ODBCGETODBCINTERFACECONFORMANCE','ODBCGETODBCCURSORS','ODBCGETNUMERICFUNCTIONS',
-                        'ODBCGETNULLCOLLATION','ODBCGETNONNULLABLECOLUMNS','ODBCGETNEEDLONGDATALEN','ODBCGETMULTRESULTSETS','ODBCGETMULTIPLEACTIVETXN','ODBCGETMETADATAID','ODBCGETMAXUSERNAMELEN','ODBCGETMAXTABLESINSELECT',
-                        'ODBCGETMAXTABLENAMELEN','ODBCGETMAXSTATEMENTLEN','ODBCGETMAXSCHEMANAMELEN','ODBCGETMAXROWSIZEINCLUDESLONG','ODBCGETMAXROWSIZE','ODBCGETMAXPROCEDURENAMELEN','ODBCGETMAXINDEXSIZE','ODBCGETMAXIDENTIFIERLEN',
-                        'ODBCGETMAXDRIVERCONNECTIONS','ODBCGETMAXCURSORNAMELEN','ODBCGETMAXCONCURRENTACTIVITIES','ODBCGETMAXCOLUMNSINTABLE','ODBCGETMAXCOLUMNSINSELECT','ODBCGETMAXCOLUMNSINORDERBY','ODBCGETMAXCOLUMNSININDEX','ODBCGETMAXCOLUMNSINGROUPBY',
-                        'ODBCGETMAXCOLUMNNAMELEN','ODBCGETMAXCHARLITERALLEN','ODBCGETMAXCATALOGNAMELEN','ODBCGETMAXBINARYLITERALLEN','ODBCGETMAXASYNCCONCURRENTSTATEMENTS','ODBCGETLONGVARCHARDATABYCOLNAME','ODBCGETLONGVARCHARDATA','ODBCGETLOGINTIMEOUT',
-                        'ODBCGETLIKEESCAPECLAUSE','ODBCGETKEYWORDS','ODBCGETKEYSETCURSORATTRIBUTES2','ODBCGETKEYSETCURSORATTRIBUTES1','ODBCGETINTEGRITY','ODBCGETINSTALLERERRORMESSAGE','ODBCGETINSTALLERERRORCODE','ODBCGETINSTALLEDDRIVERS',
-                        'ODBCGETINSERTSTATEMENT','ODBCGETINFOSTR','ODBCGETINFOSCHEMAVIEWS','ODBCGETINFOLONG','ODBCGETINFOINT','ODBCGETINFO','ODBCGETINDEXKEYWORDS','ODBCGETIMPROWDESCREC',
-                        'ODBCGETIMPROWDESCFIELDTYPE','ODBCGETIMPROWDESCFIELDSCALE','ODBCGETIMPROWDESCFIELDPRECISION','ODBCGETIMPROWDESCFIELDOCTETLENGTH','ODBCGETIMPROWDESCFIELDNULLABLE','ODBCGETIMPROWDESCFIELDNAME','ODBCGETIMPROWDESCFIELD','ODBCGETIMPPARAMDESCREC',
-                        'ODBCGETIMPPARAMDESCFIELDTYPE','ODBCGETIMPPARAMDESCFIELDSCALE','ODBCGETIMPPARAMDESCFIELDPRECISION','ODBCGETIMPPARAMDESCFIELDOCTETLENGTH','ODBCGETIMPPARAMDESCFIELDNULLABLE','ODBCGETIMPPARAMDESCFIELDNAME','ODBCGETIMPPARAMDESCFIELD','ODBCGETIDENTIFIERQUOTECHAR',
-                        'ODBCGETIDENTIFIERCASE','ODBCGETGROUPBY','ODBCGETFUNCTIONS','ODBCGETFORWARDONLYCURSORATTRIBUTES2','ODBCGETFORWARDONLYCURSORATTRIBUTES1','ODBCGETFILEUSAGE','ODBCGETEXPRESSIONSINORDERBY','ODBCGETERRORINFO',
-                        'ODBCGETENVSQLSTATE','ODBCGETENVOUTPUTNTS','ODBCGETENVODBCVERSION','ODBCGETENVIRONMENTSQLSTATE','ODBCGETENVIRONMENTERRORINFO','ODBCGETENVERRORINFO','ODBCGETENVCPMATCH','ODBCGETENVCONNECTIONPOOLING',
-                        'ODBCGETENVATTR','ODBCGETDYNAMICCURSORATTRIBUTES2','ODBCGETDYNAMICCURSORATTRIBUTES1','ODBCGETDROPVIEW','ODBCGETDROPTRANSLATION','ODBCGETDROPTABLE','ODBCGETDROPSCHEMA','ODBCGETDROPDOMAIN',
-                        'ODBCGETDROPCOLLATION','ODBCGETDROPCHARACTERSET','ODBCGETDROPASSERTION','ODBCGETDRIVERVER','ODBCGETDRIVERODBCVER','ODBCGETDRIVERNAME','ODBCGETDRIVERMANAGERINSTALLPATH','ODBCGETDRIVERHLIB',
-                        'ODBCGETDRIVERHENV','ODBCGETDRIVERHDBC','ODBCGETDMVERMINOR','ODBCGETDMVERMAJOR','ODBCGETDMVER','ODBCGETDIAGREC','ODBCGETDIAGFIELD','ODBCGETDESCSQLSTATE',
-                        'ODBCGETDESCRIPTORSQLSTATE','ODBCGETDESCRIPTORERRORINFO','ODBCGETDESCRIBEPARAMETER','ODBCGETDESCREC','ODBCGETDESCFIELD','ODBCGETDESCERRORINFO','ODBCGETDEFAULTTXNISOLATION','ODBCGETDDLINDEX',
-                        'ODBCGETDBMSVER','ODBCGETDBMSNAME','ODBCGETDBCSQLSTATE','ODBCGETDBCERRORINFO','ODBCGETDATETIMELITERALS','ODBCGETDATASTRINGBYCOLNAME','ODBCGETDATASTRING','ODBCGETDATASOURCEREADONLY',
-                        'ODBCGETDATASOURCENAME','ODBCGETDATAEXTENSIONS','ODBCGETDATABASENAME','ODBCGETDATA','ODBCGETCURSORTYPE','ODBCGETCURSORSENSITIVITYSUPPORT','ODBCGETCURSORSENSITIVITY','ODBCGETCURSORSCROLLABILITY',
-                        'ODBCGETCURSORROLLBACKBEHAVIOR','ODBCGETCURSORNAME','ODBCGETCURSORLOCKTYPE','ODBCGETCURSORKEYSETSIZE','ODBCGETCURSORCONCURRENCY','ODBCGETCURSORCOMMITBEHAVIOR','ODBCGETCURRENTCATALOG','ODBCGETCREATEVIEW',
-                        'ODBCGETCREATETRANSLATION','ODBCGETCREATETABLE','ODBCGETCREATESCHEMA','ODBCGETCREATEDOMAIN','ODBCGETCREATECOLLATION','ODBCGETCREATECHARACTERSET','ODBCGETCREATEASSERTION','ODBCGETCORRELATIONNAME',
-                        'ODBCGETCONVERTVARCHAR','ODBCGETCONVERTVARBINARY','ODBCGETCONVERTTINYINT','ODBCGETCONVERTTIMESTAMP','ODBCGETCONVERTTIME','ODBCGETCONVERTSMALLINT','ODBCGETCONVERTREAL','ODBCGETCONVERTNUMERIC',
-                        'ODBCGETCONVERTLONGVARCHAR','ODBCGETCONVERTLONGVARBINARY','ODBCGETCONVERTINTERVALYEARMONTH','ODBCGETCONVERTINTERVALDAYTIME','ODBCGETCONVERTINTEGER','ODBCGETCONVERTFUNCTIONS','ODBCGETCONVERTFLOAT','ODBCGETCONVERTDOUBLE',
-                        'ODBCGETCONVERTDECIMAL','ODBCGETCONVERTDATE','ODBCGETCONVERTCHAR','ODBCGETCONVERTBIT','ODBCGETCONVERTBINARY','ODBCGETCONVERTBIGINT','ODBCGETCONNECTIONTIMEOUT','ODBCGETCONNECTIONSQLSTATE',
-                        'ODBCGETCONNECTIONERRORINFO','ODBCGETCONNECTIONDEAD','ODBCGETCONNECTATTR','ODBCGETCONFIGMODE','ODBCGETCONCATNULLBEHAVIOR','ODBCGETCOLUMNALIAS','ODBCGETCOLLATIONSEQ','ODBCGETCATALOGUSAGE',
-                        'ODBCGETCATALOGTERM','ODBCGETCATALOGNAMESEPARATOR','ODBCGETCATALOGNAME','ODBCGETCATALOGLOCATION','ODBCGETBOOKMARKPERSISTENCE','ODBCGETBATCHSUPPORT','ODBCGETBATCHROWCOUNT','ODBCGETAUTOIPD',
-                        'ODBCGETAUTOCOMMIT','ODBCGETASYNCMODE','ODBCGETASYNCENABLE','ODBCGETALTERTABLE','ODBCGETALTERDOMAIN','ODBCGETAGGREGATEFUNCTIONS','ODBCGETACTIVEENVIRONMENTS','ODBCGETACCESSMODE',
-                        'ODBCGETACCESSIBLETABLES','ODBCGETACCESSIBLEPROCEDURES','ODBCFREESTMT','ODBCFREEHANDLE','ODBCFREEENV','ODBCFREEDESC','ODBCFREEDBC','ODBCFREECONNECT',
-                        'ODBCFOREIGNKEYSCOUNT','ODBCFOREIGNKEYS','ODBCFETCHSCROLL','ODBCFETCHBYBOOKMARK','ODBCFETCH','ODBCEXTENDEDFETCH','ODBCEXECUTE','ODBCEXECDIRECT',
-                        'ODBCERROR','ODBCEOF','ODBCENDTRAN','ODBCDRIVERSCOUNT','ODBCDRIVERS','ODBCDRIVERCONNECT','ODBCDISCONNECT','ODBCDESCRIBEPARAM',
-                        'ODBCDESCRIBECOL','ODBCDELETERECORD','ODBCDELETEBYBOOKMARK','ODBCDATASOURCES','ODBCCREATEDATASOURCE','ODBCCOPYDESC','ODBCCONNECTIONISDEAD','ODBCCONNECTIONISALIVE',
-                        'ODBCCONNECT','ODBCCONFIGDRIVER','ODBCCONFIGDATASOURCE','ODBCCOMMITTRAN','ODBCCOMMITENVTRAN','ODBCCOMMITDBCTRAN','ODBCCOLUPDATABLE','ODBCCOLUNSIGNED',
-                        'ODBCCOLUNNAMED','ODBCCOLUMNSCOUNT','ODBCCOLUMNS','ODBCCOLUMNPRIVILEGESCOUNT','ODBCCOLUMNPRIVILEGES','ODBCCOLUMN','ODBCCOLTYPENAME','ODBCCOLTYPE',
-                        'ODBCCOLTABLENAME','ODBCCOLSEARCHABLE','ODBCCOLSCHEMANAME','ODBCCOLSCALE','ODBCCOLPRECISION','ODBCCOLOCTETLENGTH','ODBCCOLNUMPRECRADIX','ODBCCOLNULLABLE',
-                        'ODBCCOLNAME','ODBCCOLLOCALTYPENAME','ODBCCOLLITERALSUFFIX','ODBCCOLLITERALPREFIX','ODBCCOLLENGTH','ODBCCOLLABEL','ODBCCOLISNULL','ODBCCOLFIXEDPRECSCALE',
-                        'ODBCCOLDISPLAYSIZE','ODBCCOLCOUNT','ODBCCOLCONCISETYPE','ODBCCOLCATALOGNAME','ODBCCOLCASESENSITIVE','ODBCCOLBASETABLENAME','ODBCCOLBASECOLUMNNAME','ODBCCOLAUTOUNIQUEVALUE',
-                        'ODBCCOLATTRIBUTE','ODBCCLOSESTMTCURSOR','ODBCCLOSESTMT','ODBCCLOSECURSOR','ODBCCLOSECONNECTION','ODBCCLEARRESULT','ODBCCANCEL','ODBCBULKOPERATIONS',
-                        'ODBCBROWSECONNECT','ODBCBINDPARAMETER','ODBCBINDCOLTOWORD','ODBCBINDCOLTOTIMESTAMP','ODBCBINDCOLTOTIME','ODBCBINDCOLTOSTRING','ODBCBINDCOLTOSINGLE','ODBCBINDCOLTOQUAD',
-                        'ODBCBINDCOLTONUMERIC','ODBCBINDCOLTOLONG','ODBCBINDCOLTOINTEGER','ODBCBINDCOLTODWORD','ODBCBINDCOLTODOUBLE','ODBCBINDCOLTODECIMAL','ODBCBINDCOLTODATE','ODBCBINDCOLTOCURRENCY',
-                        'ODBCBINDCOLTOBYTE','ODBCBINDCOLTOBIT','ODBCBINDCOLTOBINARY','ODBCBINDCOL','ODBCALLOCSTMT','ODBCALLOCHANDLE','ODBCALLOCENV','ODBCALLOCDESC',
-                        'ODBCALLOCDBC','ODBCALLOCCONNECT','ODBCADDRECORD','GLVIEWPORT','GLVERTEXPOINTER','GLVERTEX4SV','GLVERTEX4S','GLVERTEX4IV',
-                        'GLVERTEX4I','GLVERTEX4FV','GLVERTEX4F','GLVERTEX4DV','GLVERTEX4D','GLVERTEX3SV','GLVERTEX3S','GLVERTEX3IV',
-                        'GLVERTEX3I','GLVERTEX3FV','GLVERTEX3F','GLVERTEX3DV','GLVERTEX3D','GLVERTEX2SV','GLVERTEX2S','GLVERTEX2IV',
-                        'GLVERTEX2I','GLVERTEX2FV','GLVERTEX2F','GLVERTEX2DV','GLVERTEX2D','GLUUNPROJECT','GLUTESSVERTEX','GLUTESSPROPERTY',
-                        'GLUTESSNORMAL','GLUTESSENDPOLYGON','GLUTESSENDCONTOUR','GLUTESSCALLBACK','GLUTESSBEGINPOLYGON','GLUTESSBEGINCONTOUR','GLUSPHERE','GLUSCALEIMAGE',
-                        'GLUQUADRICTEXTURE','GLUQUADRICORIENTATION','GLUQUADRICNORMALS','GLUQUADRICDRAWSTYLE','GLUQUADRICCALLBACK','GLUPWLCURVE','GLUPROJECT','GLUPICKMATRIX',
-                        'GLUPERSPECTIVE','GLUPARTIALDISK','GLUORTHO2D','GLUNURBSSURFACE','GLUNURBSPROPERTY','GLUNURBSCURVE','GLUNURBSCALLBACK','GLUNEXTCONTOUR',
-                        'GLUNEWTESS','GLUNEWQUADRIC','GLUNEWNURBSRENDERER','GLULOOKAT','GLULOADSAMPLINGMATRICES','GLUGETTESSPROPERTY','GLUGETSTRING','GLUGETNURBSPROPERTY',
-                        'GLUERRORSTRING','GLUENDTRIM','GLUENDSURFACE','GLUENDPOLYGON','GLUENDCURVE','GLUDISK','GLUDELETETESS','GLUDELETEQUADRIC',
-                        'GLUDELETENURBSRENDERER','GLUCYLINDER','GLUBUILD2DMIPMAPS','GLUBUILD1DMIPMAPS','GLUBEGINTRIM','GLUBEGINSURFACE','GLUBEGINPOLYGON','GLUBEGINCURVE',
-                        'GLTRANSLATEF','GLTRANSLATED','GLTEXSUBIMAGE2D','GLTEXSUBIMAGE1D','GLTEXPARAMETERIV','GLTEXPARAMETERI','GLTEXPARAMETERFV','GLTEXPARAMETERF',
-                        'GLTEXIMAGE2D','GLTEXIMAGE1D','GLTEXGENIV','GLTEXGENI','GLTEXGENFV','GLTEXGENF','GLTEXGENDV','GLTEXGEND',
-                        'GLTEXENVIV','GLTEXENVI','GLTEXENVFV','GLTEXENVF','GLTEXCOORDPOINTER','GLTEXCOORD4SV','GLTEXCOORD4S','GLTEXCOORD4IV',
-                        'GLTEXCOORD4I','GLTEXCOORD4FV','GLTEXCOORD4F','GLTEXCOORD4DV','GLTEXCOORD4D','GLTEXCOORD3SV','GLTEXCOORD3S','GLTEXCOORD3IV',
-                        'GLTEXCOORD3I','GLTEXCOORD3FV','GLTEXCOORD3F','GLTEXCOORD3DV','GLTEXCOORD3D','GLTEXCOORD2SV','GLTEXCOORD2S','GLTEXCOORD2IV',
-                        'GLTEXCOORD2I','GLTEXCOORD2FV','GLTEXCOORD2F','GLTEXCOORD2DV','GLTEXCOORD2D','GLTEXCOORD1SV','GLTEXCOORD1S','GLTEXCOORD1IV',
-                        'GLTEXCOORD1I','GLTEXCOORD1FV','GLTEXCOORD1F','GLTEXCOORD1DV','GLTEXCOORD1D','GLSTENCILOP','GLSTENCILMASK','GLSTENCILFUNC',
-                        'GLSHADEMODEL','GLSELECTBUFFER','GLSCISSOR','GLSCALEF','GLSCALED','GLROTATEF','GLROTATED','GLRENDERMODE',
-                        'GLRECTSV','GLRECTS','GLRECTIV','GLRECTI','GLRECTFV','GLRECTF','GLRECTDV','GLRECTD',
-                        'GLREADPIXELS','GLREADBUFFER','GLRASTERPOS4SV','GLRASTERPOS4S','GLRASTERPOS4IV','GLRASTERPOS4I','GLRASTERPOS4FV','GLRASTERPOS4F',
-                        'GLRASTERPOS4DV','GLRASTERPOS4D','GLRASTERPOS3SV','GLRASTERPOS3S','GLRASTERPOS3IV','GLRASTERPOS3I','GLRASTERPOS3FV','GLRASTERPOS3F',
-                        'GLRASTERPOS3DV','GLRASTERPOS3D','GLRASTERPOS2SV','GLRASTERPOS2S','GLRASTERPOS2IV','GLRASTERPOS2I','GLRASTERPOS2FV','GLRASTERPOS2F',
-                        'GLRASTERPOS2DV','GLRASTERPOS2D','GLPUSHNAME','GLPUSHMATRIX','GLPUSHCLIENTATTRIB','GLPUSHATTRIB','GLPRIORITIZETEXTURES','GLPOPNAME',
-                        'GLPOPMATRIX','GLPOPCLIENTATTRIB','GLPOPATTRIB','GLPOLYGONSTIPPLE','GLPOLYGONOFFSET','GLPOLYGONMODE','GLPOINTSIZE','GLPIXELZOOM',
-                        'GLPIXELTRANSFERI','GLPIXELTRANSFERF','GLPIXELSTOREI','GLPIXELSTOREF','GLPIXELMAPUSV','GLPIXELMAPUIV','GLPIXELMAPFV','GLPASSTHROUGH',
-                        'GLORTHO','GLNORMALPOINTER','GLNORMAL3SV','GLNORMAL3S','GLNORMAL3IV','GLNORMAL3I','GLNORMAL3FV','GLNORMAL3F',
-                        'GLNORMAL3DV','GLNORMAL3D','GLNORMAL3BV','GLNORMAL3B','GLNEWLIST','GLMULTMATRIXF','GLMULTMATRIXD','GLMATRIXMODE',
-                        'GLMATERIALIV','GLMATERIALI','GLMATERIALFV','GLMATERIALF','GLMAPGRID2F','GLMAPGRID2D','GLMAPGRID1F','GLMAPGRID1D',
-                        'GLMAP2F','GLMAP2D','GLMAP1F','GLMAP1D','GLLOGICOP','GLLOADNAME','GLLOADMATRIXF','GLLOADMATRIXD',
-                        'GLLOADIDENTITY','GLLISTBASE','GLLINEWIDTH','GLLINESTIPPLE','GLLIGHTMODELIV','GLLIGHTMODELI','GLLIGHTMODELFV','GLLIGHTMODELF',
-                        'GLLIGHTIV','GLLIGHTI','GLLIGHTFV','GLLIGHTF','GLISTEXTURE','GLISLIST','GLISENABLED','GLINTERLEAVEDARRAYS',
-                        'GLINITNAMES','GLINDEXUBV','GLINDEXUB','GLINDEXSV','GLINDEXS','GLINDEXPOINTER','GLINDEXMASK','GLINDEXIV',
-                        'GLINDEXI','GLINDEXFV','GLINDEXF','GLINDEXDV','GLINDEXD','GLHINT','GLGETTEXPARAMETERIV','GLGETTEXPARAMETERFV',
-                        'GLGETTEXLEVELPARAMETERIV','GLGETTEXLEVELPARAMETERFV','GLGETTEXIMAGE','GLGETTEXGENIV','GLGETTEXGENFV','GLGETTEXGENDV','GLGETTEXENVIV','GLGETTEXENVFV',
-                        'GLGETSTRING','GLGETPOLYGONSTIPPLE','GLGETPOINTERV','GLGETPIXELMAPUSV','GLGETPIXELMAPUIV','GLGETPIXELMAPFV','GLGETMATERIALIV','GLGETMATERIALFV',
-                        'GLGETMAPIV','GLGETMAPFV','GLGETMAPDV','GLGETLIGHTIV','GLGETLIGHTFV','GLGETINTEGERV','GLGETFLOATV','GLGETERROR',
-                        'GLGETDOUBLEV','GLGETCLIPPLANE','GLGETBOOLEANV','GLGENTEXTURES','GLGENLISTS','GLFRUSTUM','GLFRONTFACE','GLFOGIV',
-                        'GLFOGI','GLFOGFV','GLFOGF','GLFLUSH','GLFINISH','GLFEEDBACKBUFFER','GLEVALPOINT2','GLEVALPOINT1',
-                        'GLEVALMESH2','GLEVALMESH1','GLEVALCOORD2FV','GLEVALCOORD2F','GLEVALCOORD2DV','GLEVALCOORD2D','GLEVALCOORD1FV','GLEVALCOORD1F',
-                        'GLEVALCOORD1DV','GLEVALCOORD1D','GLENDLIST','GLEND','GLENABLECLIENTSTATE','GLENABLE','GLEDGEFLAGV','GLEDGEFLAGPOINTER',
-                        'GLEDGEFLAG','GLDRAWPIXELS','GLDRAWELEMENTS','GLDRAWBUFFER','GLDRAWARRAYS','GLDISABLECLIENTSTATE','GLDISABLE','GLDEPTHRANGE',
-                        'GLDEPTHMASK','GLDEPTHFUNC','GLDELETETEXTURES','GLDELETELISTS','GLCULLFACE','GLCOPYTEXSUBIMAGE2D','GLCOPYTEXSUBIMAGE1D','GLCOPYTEXIMAGE2D',
-                        'GLCOPYTEXIMAGE1D','GLCOPYPIXELS','GLCOLORPOINTER','GLCOLORMATERIAL','GLCOLORMASK','GLCOLOR4USV','GLCOLOR4US','GLCOLOR4UIV',
-                        'GLCOLOR4UI','GLCOLOR4UBV','GLCOLOR4UB','GLCOLOR4SV','GLCOLOR4S','GLCOLOR4IV','GLCOLOR4I','GLCOLOR4FV',
-                        'GLCOLOR4F','GLCOLOR4DV','GLCOLOR4D','GLCOLOR4BV','GLCOLOR4B','GLCOLOR3USV','GLCOLOR3US','GLCOLOR3UIV',
-                        'GLCOLOR3UI','GLCOLOR3UBV','GLCOLOR3UB','GLCOLOR3SV','GLCOLOR3S','GLCOLOR3IV','GLCOLOR3I','GLCOLOR3FV',
-                        'GLCOLOR3F','GLCOLOR3DV','GLCOLOR3D','GLCOLOR3BV','GLCOLOR3B','GLCLIPPLANE','GLCLEARSTENCIL','GLCLEARINDEX',
-                        'GLCLEARDEPTH','GLCLEARCOLOR','GLCLEARACCUM','GLCLEAR','GLCALLLISTS','GLCALLLIST','GLBLENDFUNC','GLBITMAP',
-                        'GLBINDTEXTURE','GLBEGIN','GLARRAYELEMENT','GLARETEXTURESRESIDENT','GLALPHAFUNC','GLACCUM'),
-                2 => array(
-                        '$BEL','$BS','$CR','$CRLF','$DQ','$DT_DATE_SEPARATOR','$DT_LANGUAGE','$DT_TIME_SEPARATOR',
-                        '$ESC','$FF','$LF','$NUL','$PC_SD_MY_PC','$SPC','$SQL_OPT_TRACE_FILE_DEFAULT','$SQL_SPEC_STRING',
-                        '$TAB','$TRACKBAR_CLASS','$VT','%ACM_OPEN','%ACM_OPENW','%ACM_PLAY','%ACM_STOP','%ACN_START',
-                        '%ACN_STOP','%ACS_AUTOPLAY','%ACS_CENTER','%ACS_TIMER','%ACS_TRANSPARENT','%APP_COUNTER_FUNLOOKUP','%APP_COUNTER_KEYLOOKUP','%APP_COUNTER_LOOKUP',
-                        '%APP_COUNTER_TESTALPHA','%APP_COUNTER_UDTLOOKUP','%APP_COUNTER_VARLOOKUP','%APP_TIMER_EXECTOTAL','%APP_TIMER_INIT','%APP_TIMER_LOAD','%APP_TIMER_PREPROCESSOR','%AW_ACTIVATE',
-                        '%AW_BLEND','%AW_CENTER','%AW_HIDE','%AW_HOR_NEGATIVE','%AW_HOR_POSITIVE','%AW_SLIDE','%AW_VER_NEGATIVE','%AW_VER_POSITIVE',
-                        '%BCM_FIRST','%BLACK','%BLUE','%BM_GETCHECK','%BM_SETCHECK','%BST_CHECKED','%BST_UNCHECKED','%BS_AUTOCHECKBOX',
-                        '%BS_BOTTOM','%BS_CENTER','%BS_DEFAULT','%BS_DEFPUSHBUTTON','%BS_FLAT','%BS_LEFT','%BS_LEFTTEXT','%BS_MULTILINE',
-                        '%BS_NOTIFY','%BS_OWNERDRAW','%BS_PUSHLIKE','%BS_RIGHT','%BS_TOP','%BS_VCENTER','%BUNDLE_BUILDER_CANCELLED','%CBM_FIRST',
-                        '%CBN_CLOSEUP','%CBN_DBLCLK','%CBN_DROPDOWN','%CBN_EDITCHANGE','%CBN_EDITUPDATE','%CBN_ERRSPACE','%CBN_KILLFOCUS','%CBN_SELCANCEL',
-                        '%CBN_SELCHANGE','%CBN_SELENDCANCEL','%CBN_SELENDOK','%CBN_SETFOCUS','%CBS_AUTOHSCROLL','%CBS_DISABLENOSCROLL','%CBS_DROPDOWN','%CBS_DROPDOWNLIST',
-                        '%CBS_HASSTRINGS','%CBS_LOWERCASE','%CBS_NOINTEGRALHEIGHT','%CBS_SIMPLE','%CBS_SORT','%CBS_UPPERCASE','%CB_SELECTSTRING','%CCM_FIRST',
-                        '%CC_ANYCOLOR','%CC_ENABLEHOOK','%CC_ENABLETEMPLATE','%CC_ENABLETEMPLATEHANDLE','%CC_FULLOPEN','%CC_PREVENTFULLOPEN','%CC_RGBINIT','%CC_SHOWHELP',
-                        '%CC_SOLIDCOLOR','%CFE_BOLD','%CFE_ITALIC','%CFE_LINK','%CFE_PROTECTED','%CFE_STRIKEOUT','%CFE_UNDERLINE','%CFM_ANIMATION',
-                        '%CFM_BACKCOLOR','%CFM_BOLD','%CFM_CHARSET','%CFM_COLOR','%CFM_FACE','%CFM_ITALIC','%CFM_KERNING','%CFM_LCID',
-                        '%CFM_LINK','%CFM_OFFSET','%CFM_PROTECTED','%CFM_REVAUTHOR','%CFM_SIZE','%CFM_SPACING','%CFM_STRIKEOUT','%CFM_STYLE',
-                        '%CFM_UNDERLINE','%CFM_UNDERLINETYPE','%CFM_WEIGHT','%CGI_ACCEPT_FILE_UPLOAD','%CGI_AUTO_ADD_SPECIAL_CHARS_PREFIX','%CGI_AUTO_CREATE_VARS','%CGI_BUFFERIZE_OUTPUT','%CGI_DOUBLE_QUOTE',
-                        '%CGI_FILE_UPLOAD_BASEPATH','%CGI_FORCE_SESSION_VALIDATION','%CGI_MAX_BYTE_FROM_STD_IN','%CGI_REQUEST_METHOD_GET','%CGI_REQUEST_METHOD_POST','%CGI_SESSION_FILE_BASEPATH','%CGI_SINGLE_QUOTE','%CGI_SPECIAL_CHARS_PREFIX',
-                        '%CGI_TEMPORARY_UPLOAD_PATH','%CGI_UPLOAD_CAN_OVERWRITE','%CGI_WRITE_LOG_FILE','%CGI_WRITE_VARS_INTO_LOG_FILE','%CONOLE_ATTACH_PARENT_PROCESS','%CONSOLE_BACKGROUND_BLUE','%CONSOLE_BACKGROUND_GREEN','%CONSOLE_BACKGROUND_INTENSITY',
-                        '%CONSOLE_BACKGROUND_RED','%CONSOLE_BOX_FLAG_3DOFF','%CONSOLE_BOX_FLAG_3DON','%CONSOLE_BOX_FLAG_SHADOW','%CONSOLE_COMMON_LVB_GRID_HORIZONTAL','%CONSOLE_COMMON_LVB_GRID_LVERTICAL','%CONSOLE_COMMON_LVB_GRID_RVERTICAL','%CONSOLE_COMMON_LVB_LEADING_BYTE',
-                        '%CONSOLE_COMMON_LVB_REVERSE_VIDEO','%CONSOLE_COMMON_LVB_TRAILING_BYTE','%CONSOLE_COMMON_LVB_UNDERSCORE','%CONSOLE_CTRL_BREAK_EVENT','%CONSOLE_CTRL_C_EVENT','%CONSOLE_DOUBLE_CLICK','%CONSOLE_ENABLE_AUTO_POSITION','%CONSOLE_ENABLE_ECHO_INPUT',
-                        '%CONSOLE_ENABLE_EXTENDED_FLAGS','%CONSOLE_ENABLE_INSERT_MODE','%CONSOLE_ENABLE_LINE_INPUT','%CONSOLE_ENABLE_MOUSE_INPUT','%CONSOLE_ENABLE_PROCESSED_INPUT','%CONSOLE_ENABLE_PROCESSED_OUTPUT','%CONSOLE_ENABLE_QUICK_EDIT_MODE','%CONSOLE_ENABLE_WINDOW_INPUT',
-                        '%CONSOLE_ENABLE_WRAP_AT_EOL_OUTPUT','%CONSOLE_FOREGROUND_BLUE','%CONSOLE_FOREGROUND_GREEN','%CONSOLE_FOREGROUND_INTENSITY','%CONSOLE_FOREGROUND_RED','%CONSOLE_LBUTTON','%CONSOLE_LINE_HORIZONTAL','%CONSOLE_LINE_VERTICAL',
-                        '%CONSOLE_MBUTTON','%CONSOLE_MOUSE_MOVED','%CONSOLE_MOUSE_WHEELED','%CONSOLE_RBUTTON','%CONSOLE_SCROLLBUF_DOWN','%CONSOLE_SCROLLBUF_UP','%CONSOLE_SCROLLWND_ABSOLUTE','%CONSOLE_SCROLLWND_RELATIVE',
-                        '%CONSOLE_STD_ERROR_HANDLE','%CONSOLE_STD_INPUT_HANDLE','%CONSOLE_STD_OUTPUT_HANDLE','%CONSOLE_SW_FORCEMINIMIZE','%CONSOLE_SW_HIDE','%CONSOLE_SW_MAXIMIZE','%CONSOLE_SW_MINIMIZE','%CONSOLE_SW_RESTORE',
-                        '%CONSOLE_SW_SHOW','%CONSOLE_SW_SHOWDEFAULT','%CONSOLE_SW_SHOWMAXIMIZED','%CONSOLE_SW_SHOWMINIMIZED','%CONSOLE_SW_SHOWMINNOACTIVE','%CONSOLE_SW_SHOWNA','%CONSOLE_SW_SHOWNOACTIVATE','%CONSOLE_SW_SHOWNORMAL',
-                        '%CONSOLE_UNAVAILABLE','%CRYPTO_CALG_DES','%CRYPTO_CALG_RC2','%CRYPTO_CALG_RC4','%CRYPTO_PROV_DH_SCHANNEL','%CRYPTO_PROV_DSS','%CRYPTO_PROV_DSS_DH','%CRYPTO_PROV_FORTEZZA',
-                        '%CRYPTO_PROV_MS_EXCHANGE','%CRYPTO_PROV_RSA_FULL','%CRYPTO_PROV_RSA_SCHANNEL','%CRYPTO_PROV_RSA_SIG','%CRYPTO_PROV_SSL','%CSIDL_ADMINTOOLS','%CSIDL_ALTSTARTUP','%CSIDL_APPDATA',
-                        '%CSIDL_BITBUCKET','%CSIDL_CDBURN_AREA','%CSIDL_COMMON_ADMINTOOLS','%CSIDL_COMMON_ALTSTARTUP','%CSIDL_COMMON_APPDATA','%CSIDL_COMMON_DESKTOPDIRECTORY','%CSIDL_COMMON_DOCUMENTS','%CSIDL_COMMON_FAVORITES',
-                        '%CSIDL_COMMON_MUSIC','%CSIDL_COMMON_PICTURES','%CSIDL_COMMON_PROGRAMS','%CSIDL_COMMON_STARTMENU','%CSIDL_COMMON_STARTUP','%CSIDL_COMMON_TEMPLATES','%CSIDL_COMMON_VIDEO','%CSIDL_CONTROLS',
-                        '%CSIDL_COOKIES','%CSIDL_DESKTOP','%CSIDL_DESKTOPDIRECTORY','%CSIDL_DRIVES','%CSIDL_FAVORITES','%CSIDL_FLAG_CREATE','%CSIDL_FONTS','%CSIDL_HISTORY',
-                        '%CSIDL_INTERNET','%CSIDL_INTERNET_CACHE','%CSIDL_LOCAL_APPDATA','%CSIDL_MYDOCUMENTS','%CSIDL_MYMUSIC','%CSIDL_MYPICTURES','%CSIDL_MYVIDEO','%CSIDL_NETHOOD',
-                        '%CSIDL_NETWORK','%CSIDL_PERSONAL','%CSIDL_PRINTERS','%CSIDL_PRINTHOOD','%CSIDL_PROFILE','%CSIDL_PROGRAMS','%CSIDL_PROGRAM_FILES','%CSIDL_PROGRAM_FILES_COMMON',
-                        '%CSIDL_RECENT','%CSIDL_SENDTO','%CSIDL_STARTMENU','%CSIDL_STARTUP','%CSIDL_SYSTEM','%CSIDL_TEMPLATES','%CSIDL_WINDOWS','%CW_USEDEFAULT',
-                        '%CYAN','%DATE_TIME_FILE_CREATION','%DATE_TIME_LAST_FILE_ACCESS','%DATE_TIME_LAST_FILE_WRITE','%DICTIONARY_MEMINFO_DATA','%DICTIONARY_MEMINFO_KEYS','%DICTIONARY_MEMINFO_TOTAL','%DICTIONARY_SORTDESCENDING',
-                        '%DICTIONARY_SORTKEYS','%DSCAPS_CERTIFIED','%DSCAPS_CONTINUOUSRATE','%DSCAPS_EMULDRIVER','%DSCAPS_SECONDARY16BIT','%DSCAPS_SECONDARY8BIT','%DSCAPS_SECONDARYMONO','%DSCAPS_SECONDARYSTEREO',
-                        '%DSCCAPS_CERTIFIED','%DSCCAPS_EMULDRIVER','%DS_3DLOOK','%DS_ABSALIGN','%DS_CENTER','%DS_CENTERMOUSE','%DS_CONTEXTHELP','%DS_CONTROL',
-                        '%DS_MODALFRAME','%DS_NOFAILCREATE','%DS_SETFONT','%DS_SETFOREGROUND','%DS_SYSMODAL','%DTM_FIRST','%DTM_GETMCCOLOR','%DTM_GETMCFONT',
-                        '%DTM_GETMONTHCAL','%DTM_GETRANGE','%DTM_GETSYSTEMTIME','%DTM_SETFORMAT','%DTM_SETFORMATW','%DTM_SETMCCOLOR','%DTM_SETMCFONT','%DTM_SETRANGE',
-                        '%DTM_SETSYSTEMTIME','%DTN_CLOSEUP','%DTN_DATETIMECHANGE','%DTN_DROPDOWN','%DTN_FORMAT','%DTN_FORMATQUERY','%DTN_FORMATQUERYW','%DTN_FORMATW',
-                        '%DTN_USERSTRING','%DTN_USERSTRINGW','%DTN_WMKEYDOWN','%DTN_WMKEYDOWNW','%DTS_APPCANPARSE','%DTS_LONGDATEFORMAT','%DTS_RIGHTALIGN','%DTS_SHORTDATECENTURYFORMAT',
-                        '%DTS_SHORTDATEFORMAT','%DTS_SHOWNONE','%DTS_TIMEFORMAT','%DTS_UPDOWN','%DT_DATE_CENTURY','%DT_DATE_OK','%DT_DAY_IN_YEAR','%DT_DIFF_IN_DAYS',
-                        '%DT_DIFF_IN_HOURS','%DT_DIFF_IN_MINUTES','%DT_DIFF_IN_SECONDS','%DT_HOURS_IN_DAY','%DT_MINUTES_IN_HOUR','%DT_SECONDS_IN_DAY','%DT_SECONDS_IN_HOUR','%DT_SECONDS_IN_MINUTE',
-                        '%DT_SECONDS_IN_YEAR','%DT_USE_LONG_FORM','%DT_USE_SHORT_FORM','%DT_WRONG_DATE','%DT_WRONG_DAY','%DT_WRONG_MONTH','%ECM_FIRST','%ECOOP_AND',
-                        '%ECOOP_OR','%ECOOP_SET','%ECOOP_XOR','%ECO_AUTOHSCROLL','%ECO_AUTOVSCROLL','%ECO_AUTOWORDSELECTION','%ECO_NOHIDESEL','%ECO_READONLY',
-                        '%ECO_SELECTIONBAR','%ECO_WANTRETURN','%EM_AUTOURLDETECT','%EM_CANPASTE','%EM_CANREDO','%EM_CANUNDO','%EM_CHARFROMPOS','%EM_DISPLAYBAND',
-                        '%EM_EMPTYUNDOBUFFER','%EM_EXGETSEL','%EM_EXLIMITTEXT','%EM_EXLINEFROMCHAR','%EM_EXSETSEL','%EM_FINDTEXT','%EM_FINDTEXTEX','%EM_FINDWORDBREAK',
-                        '%EM_FMTLINES','%EM_FORMATRANGE','%EM_GETAUTOURLDETECT','%EM_GETCHARFORMAT','%EM_GETEDITSTYLE','%EM_GETEVENTMASK','%EM_GETFIRSTVISIBLELINE','%EM_GETHANDLE',
-                        '%EM_GETIMESTATUS','%EM_GETLIMITTEXT','%EM_GETLINE','%EM_GETLINECOUNT','%EM_GETMARGINS','%EM_GETMODIFY','%EM_GETOLEINTERFACE','%EM_GETOPTIONS',
-                        '%EM_GETPARAFORMAT','%EM_GETPASSWORDCHAR','%EM_GETRECT','%EM_GETREDONAME','%EM_GETSCROLLPOS','%EM_GETSEL','%EM_GETSELTEXT','%EM_GETTEXTMODE',
-                        '%EM_GETTEXTRANGE','%EM_GETTHUMB','%EM_GETUNDONAME','%EM_GETWORDBREAKPROC','%EM_GETWORDBREAKPROCEX','%EM_HIDESELECTION','%EM_LIMITTEXT','%EM_LINEFROMCHAR',
-                        '%EM_LINEINDEX','%EM_LINELENGTH','%EM_LINESCROLL','%EM_PASTESPECIAL','%EM_POSFROMCHAR','%EM_REDO','%EM_REPLACESEL','%EM_REQUESTRESIZE',
-                        '%EM_SCROLL','%EM_SCROLLCARET','%EM_SELECTIONTYPE','%EM_SETBKGNDCOLOR','%EM_SETCHARFORMAT','%EM_SETEDITSTYLE','%EM_SETEVENTMASK','%EM_SETHANDLE',
-                        '%EM_SETIMESTATUS','%EM_SETLIMITTEXT','%EM_SETMARGINS','%EM_SETMODIFY','%EM_SETOLECALLBACK','%EM_SETOPTIONS','%EM_SETPARAFORMAT','%EM_SETPASSWORDCHAR',
-                        '%EM_SETREADONLY','%EM_SETRECT','%EM_SETRECTNP','%EM_SETSCROLLPOS','%EM_SETSEL','%EM_SETTABSTOPS','%EM_SETTARGETDEVICE','%EM_SETTEXTMODE',
-                        '%EM_SETUNDOLIMIT','%EM_SETWORDBREAKPROC','%EM_SETWORDBREAKPROCEX','%EM_SETWORDWRAPMODE','%EM_SETZOOM','%EM_STOPGROUPTYPING','%EM_STREAMIN','%EM_STREAMOUT',
-                        '%EM_UNDO','%ENM_CHANGE','%ENM_CORRECTTEXT','%ENM_DRAGDROPDONE','%ENM_DROPFILES','%ENM_KEYEVENTS','%ENM_MOUSEEVENTS','%ENM_NONE',
-                        '%ENM_PARAGRAPHEXPANDED','%ENM_PROTECTED','%ENM_REQUESTRESIZE','%ENM_SCROLL','%ENM_SCROLLEVENTS','%ENM_SELCHANGE','%ENM_UPDATE','%EN_CHANGE',
-                        '%EN_MSGFILTER','%EN_SELCHANGE','%EN_UPDATE','%ES_AUTOHSCROLL','%ES_AUTOVSCROLL','%ES_CENTER','%ES_DISABLENOSCROLL','%ES_EX_NOCALLOLEINIT',
-                        '%ES_LEFT','%ES_LOWERCASE','%ES_MULTILINE','%ES_NOHIDESEL','%ES_NOOLEDRAGDROP','%ES_NUMBER','%ES_OEMCONVERT','%ES_PASSWORD',
-                        '%ES_READONLY','%ES_RIGHT','%ES_SAVESEL','%ES_SELECTIONBAR','%ES_SUNKEN','%ES_UPPERCASE','%ES_WANTRETURN','%EVAL_EXEC_STRING',
-                        '%FALSE','%FILE_ADDPATH','%FILE_ARCHIVE','%FILE_BUILDVERSION','%FILE_HIDDEN','%FILE_MAJORVERSION','%FILE_MINORVERSION','%FILE_NORMAL',
-                        '%FILE_READONLY','%FILE_REVISIONVERSION','%FILE_SUBDIR','%FILE_SYSTEM','%FILE_VLABEL','%FTP_GET_CONNECT_STATUS','%FTP_GET_FILE_BYTES_RCVD','%FTP_GET_FILE_BYTES_SENT',
-                        '%FTP_GET_LAST_RESPONSE','%FTP_GET_LOCAL_IP','%FTP_GET_SERVER_IP','%FTP_GET_TOTAL_BYTES_RCVD','%FTP_GET_TOTAL_BYTES_SENT','%FTP_LIST_FULLLIST','%FTP_LIST_FULLLISTDIR','%FTP_LIST_FULLLISTFILE',
-                        '%FTP_SET_ASYNC','%FTP_SET_CONNECT_WAIT','%FTP_SET_MAX_LISTEN_WAIT','%FTP_SET_MAX_RESPONSE_WAIT','%FTP_SET_PASSIVE','%FTP_SET_SYNC','%FW_BLACK','%FW_BOLD',
-                        '%FW_DEMIBOLD','%FW_DONTCARE','%FW_EXTRABOLD','%FW_EXTRALIGHT','%FW_HEAVY','%FW_LIGHT','%FW_MEDIUM','%FW_NORMAL',
-                        '%FW_REGULAR','%FW_SEMIBOLD','%FW_THIN','%FW_ULTRABOLD','%FW_ULTRALIGHT','%GDTR_MAX','%GDTR_MIN','%GLU_AUTO_LOAD_MATRIX',
-                        '%GLU_BEGIN','%GLU_CCW','%GLU_CULLING','%GLU_CW','%GLU_DISPLAY_MODE','%GLU_DOMAIN_DISTANCE','%GLU_EDGE_FLAG','%GLU_END',
-                        '%GLU_ERROR','%GLU_EXTENSIONS','%GLU_EXTERIOR','%GLU_FALSE','%GLU_FILL','%GLU_FLAT','%GLU_INCOMPATIBLE_GL_VERSION','%GLU_INSIDE',
-                        '%GLU_INTERIOR','%GLU_INVALID_ENUM','%GLU_INVALID_VALUE','%GLU_LINE','%GLU_MAP1_TRIM_2','%GLU_MAP1_TRIM_3','%GLU_NONE','%GLU_NURBS_ERROR1',
-                        '%GLU_NURBS_ERROR10','%GLU_NURBS_ERROR11','%GLU_NURBS_ERROR12','%GLU_NURBS_ERROR13','%GLU_NURBS_ERROR14','%GLU_NURBS_ERROR15','%GLU_NURBS_ERROR16','%GLU_NURBS_ERROR17',
-                        '%GLU_NURBS_ERROR18','%GLU_NURBS_ERROR19','%GLU_NURBS_ERROR2','%GLU_NURBS_ERROR20','%GLU_NURBS_ERROR21','%GLU_NURBS_ERROR22','%GLU_NURBS_ERROR23','%GLU_NURBS_ERROR24',
-                        '%GLU_NURBS_ERROR25','%GLU_NURBS_ERROR26','%GLU_NURBS_ERROR27','%GLU_NURBS_ERROR28','%GLU_NURBS_ERROR29','%GLU_NURBS_ERROR3','%GLU_NURBS_ERROR30','%GLU_NURBS_ERROR31',
-                        '%GLU_NURBS_ERROR32','%GLU_NURBS_ERROR33','%GLU_NURBS_ERROR34','%GLU_NURBS_ERROR35','%GLU_NURBS_ERROR36','%GLU_NURBS_ERROR37','%GLU_NURBS_ERROR4','%GLU_NURBS_ERROR5',
-                        '%GLU_NURBS_ERROR6','%GLU_NURBS_ERROR7','%GLU_NURBS_ERROR8','%GLU_NURBS_ERROR9','%GLU_OUTLINE_PATCH','%GLU_OUTLINE_POLYGON','%GLU_OUTSIDE','%GLU_OUT_OF_MEMORY',
-                        '%GLU_PARAMETRIC_ERROR','%GLU_PARAMETRIC_TOLERANCE','%GLU_PATH_LENGTH','%GLU_POINT','%GLU_SAMPLING_METHOD','%GLU_SAMPLING_TOLERANCE','%GLU_SILHOUETTE','%GLU_SMOOTH',
-                        '%GLU_TESS_BEGIN','%GLU_TESS_BEGIN_DATA','%GLU_TESS_BOUNDARY_ONLY','%GLU_TESS_COMBINE','%GLU_TESS_COMBINE_DATA','%GLU_TESS_COORD_TOO_LARGE','%GLU_TESS_EDGE_FLAG','%GLU_TESS_EDGE_FLAG_DATA',
-                        '%GLU_TESS_END','%GLU_TESS_END_DATA','%GLU_TESS_ERROR','%GLU_TESS_ERROR1','%GLU_TESS_ERROR2','%GLU_TESS_ERROR3','%GLU_TESS_ERROR4','%GLU_TESS_ERROR5',
-                        '%GLU_TESS_ERROR6','%GLU_TESS_ERROR7','%GLU_TESS_ERROR8','%GLU_TESS_ERROR_DATA','%GLU_TESS_MISSING_BEGIN_CONTOUR','%GLU_TESS_MISSING_BEGIN_POLYGON','%GLU_TESS_MISSING_END_CONTOUR','%GLU_TESS_MISSING_END_POLYGON',
-                        '%GLU_TESS_NEED_COMBINE_CALLBACK','%GLU_TESS_TOLERANCE','%GLU_TESS_VERTEX','%GLU_TESS_VERTEX_DATA','%GLU_TESS_WINDING_ABS_GEQ_TWO','%GLU_TESS_WINDING_NEGATIVE','%GLU_TESS_WINDING_NONZERO','%GLU_TESS_WINDING_ODD',
-                        '%GLU_TESS_WINDING_POSITIVE','%GLU_TESS_WINDING_RULE','%GLU_TRUE','%GLU_UNKNOWN','%GLU_U_STEP','%GLU_VERSION','%GLU_VERSION_1_1','%GLU_VERSION_1_2',
-                        '%GLU_VERTEX','%GLU_V_STEP','%GL_2D','%GL_2_BYTES','%GL_3D','%GL_3D_COLOR','%GL_3D_COLOR_TEXTURE','%GL_3_BYTES',
-                        '%GL_4D_COLOR_TEXTURE','%GL_4_BYTES','%GL_ABGR_EXT','%GL_ACCUM','%GL_ACCUM_ALPHA_BITS','%GL_ACCUM_BLUE_BITS','%GL_ACCUM_BUFFER_BIT','%GL_ACCUM_CLEAR_VALUE',
-                        '%GL_ACCUM_GREEN_BITS','%GL_ACCUM_RED_BITS','%GL_ADD','%GL_ALL_ATTRIB_BITS','%GL_ALPHA','%GL_ALPHA12','%GL_ALPHA16','%GL_ALPHA4',
-                        '%GL_ALPHA8','%GL_ALPHA_BIAS','%GL_ALPHA_BITS','%GL_ALPHA_SCALE','%GL_ALPHA_TEST','%GL_ALPHA_TEST_FUNC','%GL_ALPHA_TEST_REF','%GL_ALWAYS',
-                        '%GL_AMBIENT','%GL_AMBIENT_AND_DIFFUSE','%GL_AND','%GL_AND_INVERTED','%GL_AND_REVERSE','%GL_ARRAY_ELEMENT_LOCK_COUNT_EXT','%GL_ARRAY_ELEMENT_LOCK_FIRST_EXT','%GL_ATTRIB_STACK_DEPTH',
-                        '%GL_AUTO_NORMAL','%GL_AUX0','%GL_AUX1','%GL_AUX2','%GL_AUX3','%GL_AUX_BUFFERS','%GL_BACK','%GL_BACK_LEFT',
-                        '%GL_BACK_RIGHT','%GL_BGRA_EXT','%GL_BGR_EXT','%GL_BITMAP','%GL_BITMAP_TOKEN','%GL_BLEND','%GL_BLEND_COLOR_EXT','%GL_BLEND_DST',
-                        '%GL_BLEND_EQUATION_EXT','%GL_BLEND_SRC','%GL_BLUE','%GL_BLUE_BIAS','%GL_BLUE_BITS','%GL_BLUE_SCALE','%GL_BYTE','%GL_C3F_V3F',
-                        '%GL_C4F_N3F_V3F','%GL_C4UB_V2F','%GL_C4UB_V3F','%GL_CCW','%GL_CLAMP','%GL_CLEAR','%GL_CLIENT_ALL_ATTRIB_BITS','%GL_CLIENT_ATTRIB_STACK_DEPTH',
-                        '%GL_CLIENT_PIXEL_STORE_BIT','%GL_CLIENT_VERTEX_ARRAY_BIT','%GL_CLIP_PLANE0','%GL_CLIP_PLANE1','%GL_CLIP_PLANE2','%GL_CLIP_PLANE3','%GL_CLIP_PLANE4','%GL_CLIP_PLANE5',
-                        '%GL_CLIP_VOLUME_CLIPPING_HINT_EXT','%GL_COEFF','%GL_COLOR','%GL_COLOR_ARRAY','%GL_COLOR_ARRAY_COUNT_EXT','%GL_COLOR_ARRAY_EXT','%GL_COLOR_ARRAY_POINTER','%GL_COLOR_ARRAY_POINTER_EXT',
-                        '%GL_COLOR_ARRAY_SIZE','%GL_COLOR_ARRAY_SIZE_EXT','%GL_COLOR_ARRAY_STRIDE','%GL_COLOR_ARRAY_STRIDE_EXT','%GL_COLOR_ARRAY_TYPE','%GL_COLOR_ARRAY_TYPE_EXT','%GL_COLOR_BUFFER_BIT','%GL_COLOR_CLEAR_VALUE',
-                        '%GL_COLOR_INDEX','%GL_COLOR_INDEX12_EXT','%GL_COLOR_INDEX16_EXT','%GL_COLOR_INDEX1_EXT','%GL_COLOR_INDEX2_EXT','%GL_COLOR_INDEX4_EXT','%GL_COLOR_INDEX8_EXT','%GL_COLOR_INDEXES',
-                        '%GL_COLOR_LOGIC_OP','%GL_COLOR_MATERIAL','%GL_COLOR_MATERIAL_FACE','%GL_COLOR_MATERIAL_PARAMETER','%GL_COLOR_SUM_EXT','%GL_COLOR_TABLE_ALPHA_SIZE_EXT','%GL_COLOR_TABLE_BIAS_EXT','%GL_COLOR_TABLE_BLUE_SIZE_EXT',
-                        '%GL_COLOR_TABLE_EXT','%GL_COLOR_TABLE_FORMAT_EXT','%GL_COLOR_TABLE_GREEN_SIZE_EXT','%GL_COLOR_TABLE_INTENSITY_SIZE_EXT','%GL_COLOR_TABLE_LUMINANCE_SIZE_EXT','%GL_COLOR_TABLE_RED_SIZE_EXT','%GL_COLOR_TABLE_SCALE_EXT','%GL_COLOR_TABLE_WIDTH_EXT',
-                        '%GL_COLOR_WRITEMASK','%GL_COMPILE','%GL_COMPILE_AND_EXECUTE','%GL_CONSTANT_ALPHA_EXT','%GL_CONSTANT_ATTENUATION','%GL_CONSTANT_COLOR_EXT','%GL_CONVOLUTION_1D_EXT','%GL_CONVOLUTION_2D_EXT',
-                        '%GL_CONVOLUTION_BORDER_MODE_EXT','%GL_CONVOLUTION_FILTER_BIAS_EXT','%GL_CONVOLUTION_FILTER_SCALE_EXT','%GL_CONVOLUTION_FORMAT_EXT','%GL_CONVOLUTION_HEIGHT_EXT','%GL_CONVOLUTION_WIDTH_EXT','%GL_COPY','%GL_COPY_INVERTED',
-                        '%GL_COPY_PIXEL_TOKEN','%GL_CULL_FACE','%GL_CULL_FACE_MODE','%GL_CULL_VERTEX_EXT','%GL_CULL_VERTEX_EYE_POSITION_EXT','%GL_CULL_VERTEX_OBJECT_POSITION_EXT','%GL_CURRENT_BIT','%GL_CURRENT_COLOR',
-                        '%GL_CURRENT_INDEX','%GL_CURRENT_NORMAL','%GL_CURRENT_RASTER_COLOR','%GL_CURRENT_RASTER_DISTANCE','%GL_CURRENT_RASTER_INDEX','%GL_CURRENT_RASTER_POSITION','%GL_CURRENT_RASTER_POSITION_VALID','%GL_CURRENT_RASTER_TEXTURE_COORDS',
-                        '%GL_CURRENT_SECONDARY_COLOR_EXT','%GL_CURRENT_TEXTURE_COORDS','%GL_CW','%GL_DECAL','%GL_DECR','%GL_DEPTH','%GL_DEPTH_BIAS','%GL_DEPTH_BITS',
-                        '%GL_DEPTH_BUFFER_BIT','%GL_DEPTH_CLEAR_VALUE','%GL_DEPTH_COMPONENT','%GL_DEPTH_FUNC','%GL_DEPTH_RANGE','%GL_DEPTH_SCALE','%GL_DEPTH_TEST','%GL_DEPTH_WRITEMASK',
-                        '%GL_DIFFUSE','%GL_DITHER','%GL_DOMAIN','%GL_DONT_CARE','%GL_DOUBLE','%GL_DOUBLEBUFFER','%GL_DOUBLE_EXT','%GL_DRAW_BUFFER',
-                        '%GL_DRAW_PIXEL_TOKEN','%GL_DST_ALPHA','%GL_DST_COLOR','%GL_EDGE_FLAG','%GL_EDGE_FLAG_ARRAY','%GL_EDGE_FLAG_ARRAY_COUNT_EXT','%GL_EDGE_FLAG_ARRAY_EXT','%GL_EDGE_FLAG_ARRAY_POINTER',
-                        '%GL_EDGE_FLAG_ARRAY_POINTER_EXT','%GL_EDGE_FLAG_ARRAY_STRIDE','%GL_EDGE_FLAG_ARRAY_STRIDE_EXT','%GL_EMISSION','%GL_ENABLE_BIT','%GL_EQUAL','%GL_EQUIV','%GL_EVAL_BIT',
-                        '%GL_EXP','%GL_EXP2','%GL_EXTENSIONS','%GL_EXT_ABGR','%GL_EXT_BGRA','%GL_EXT_BLEND_COLOR','%GL_EXT_BLEND_MINMAX','%GL_EXT_BLEND_SUBTRACT',
-                        '%GL_EXT_CLIP_VOLUME_HINT','%GL_EXT_COLOR_TABLE','%GL_EXT_COMPILED_VERTEX_ARRAY','%GL_EXT_CONVOLUTION','%GL_EXT_CULL_VERTEX','%GL_EXT_HISTOGRAM','%GL_EXT_PACKED_PIXELS','%GL_EXT_PALETTED_TEXTURE',
-                        '%GL_EXT_POLYGON_OFFSET','%GL_EXT_SECONDARY_COLOR','%GL_EXT_SEPARATE_SPECULAR_COLOR','%GL_EXT_VERTEX_ARRAY','%GL_EYE_LINEAR','%GL_EYE_PLANE','%GL_FALSE','%GL_FASTEST',
-                        '%GL_FEEDBACK','%GL_FEEDBACK_BUFFER_POINTER','%GL_FEEDBACK_BUFFER_SIZE','%GL_FEEDBACK_BUFFER_TYPE','%GL_FILL','%GL_FLAT','%GL_FLOAT','%GL_FOG',
-                        '%GL_FOG_BIT','%GL_FOG_COLOR','%GL_FOG_DENSITY','%GL_FOG_END','%GL_FOG_HINT','%GL_FOG_INDEX','%GL_FOG_MODE','%GL_FOG_START',
-                        '%GL_FRONT','%GL_FRONT_AND_BACK','%GL_FRONT_FACE','%GL_FRONT_LEFT','%GL_FRONT_RIGHT','%GL_FUNC_ADD_EXT','%GL_FUNC_REVERSE_SUBTRACT_EXT','%GL_FUNC_SUBTRACT_EXT',
-                        '%GL_GEQUAL','%GL_GREATER','%GL_GREEN','%GL_GREEN_BIAS','%GL_GREEN_BITS','%GL_GREEN_SCALE','%GL_HINT_BIT','%GL_HISTOGRAM_ALPHA_SIZE_EXT',
-                        '%GL_HISTOGRAM_BLUE_SIZE_EXT','%GL_HISTOGRAM_EXT','%GL_HISTOGRAM_FORMAT_EXT','%GL_HISTOGRAM_GREEN_SIZE_EXT','%GL_HISTOGRAM_LUMINANCE_SIZE_EXT','%GL_HISTOGRAM_RED_SIZE_EXT','%GL_HISTOGRAM_SINK_EXT','%GL_HISTOGRAM_WIDTH_EXT',
-                        '%GL_INCR','%GL_INDEX_ARRAY','%GL_INDEX_ARRAY_COUNT_EXT','%GL_INDEX_ARRAY_EXT','%GL_INDEX_ARRAY_POINTER','%GL_INDEX_ARRAY_POINTER_EXT','%GL_INDEX_ARRAY_STRIDE','%GL_INDEX_ARRAY_STRIDE_EXT',
-                        '%GL_INDEX_ARRAY_TYPE','%GL_INDEX_ARRAY_TYPE_EXT','%GL_INDEX_BITS','%GL_INDEX_CLEAR_VALUE','%GL_INDEX_LOGIC_OP','%GL_INDEX_MODE','%GL_INDEX_OFFSET','%GL_INDEX_SHIFT',
-                        '%GL_INDEX_WRITEMASK','%GL_INT','%GL_INTENSITY','%GL_INTENSITY12','%GL_INTENSITY16','%GL_INTENSITY4','%GL_INTENSITY8','%GL_INVALID_ENUM',
-                        '%GL_INVALID_OPERATION','%GL_INVALID_VALUE','%GL_INVERT','%GL_KEEP','%GL_LEFT','%GL_LEQUAL','%GL_LESS','%GL_LIGHT0',
-                        '%GL_LIGHT1','%GL_LIGHT2','%GL_LIGHT3','%GL_LIGHT4','%GL_LIGHT5','%GL_LIGHT6','%GL_LIGHT7','%GL_LIGHTING',
-                        '%GL_LIGHTING_BIT','%GL_LIGHT_MODEL_AMBIENT','%GL_LIGHT_MODEL_COLOR_CONTROL_EXT','%GL_LIGHT_MODEL_LOCAL_VIEWER','%GL_LIGHT_MODEL_TWO_SIDE','%GL_LINE','%GL_LINEAR','%GL_LINEAR_ATTENUATION',
-                        '%GL_LINEAR_MIPMAP_LINEAR','%GL_LINEAR_MIPMAP_NEAREST','%GL_LINES','%GL_LINE_BIT','%GL_LINE_LOOP','%GL_LINE_RESET_TOKEN','%GL_LINE_SMOOTH','%GL_LINE_SMOOTH_HINT',
-                        '%GL_LINE_STIPPLE','%GL_LINE_STIPPLE_PATTERN','%GL_LINE_STIPPLE_REPEAT','%GL_LINE_STRIP','%GL_LINE_TOKEN','%GL_LINE_WIDTH','%GL_LINE_WIDTH_GRANULARITY','%GL_LINE_WIDTH_RANGE',
-                        '%GL_LIST_BASE','%GL_LIST_BIT','%GL_LIST_INDEX','%GL_LIST_MODE','%GL_LOAD','%GL_LOGIC_OP','%GL_LOGIC_OP_MODE','%GL_LUMINANCE',
-                        '%GL_LUMINANCE12','%GL_LUMINANCE12_ALPHA12','%GL_LUMINANCE12_ALPHA4','%GL_LUMINANCE16','%GL_LUMINANCE16_ALPHA16','%GL_LUMINANCE4','%GL_LUMINANCE4_ALPHA4','%GL_LUMINANCE6_ALPHA2',
-                        '%GL_LUMINANCE8','%GL_LUMINANCE8_ALPHA8','%GL_LUMINANCE_ALPHA','%GL_MAP1_COLOR_4','%GL_MAP1_GRID_DOMAIN','%GL_MAP1_GRID_SEGMENTS','%GL_MAP1_INDEX','%GL_MAP1_NORMAL',
-                        '%GL_MAP1_TEXTURE_COORD_1','%GL_MAP1_TEXTURE_COORD_2','%GL_MAP1_TEXTURE_COORD_3','%GL_MAP1_TEXTURE_COORD_4','%GL_MAP1_VERTEX_3','%GL_MAP1_VERTEX_4','%GL_MAP2_COLOR_4','%GL_MAP2_GRID_DOMAIN',
-                        '%GL_MAP2_GRID_SEGMENTS','%GL_MAP2_INDEX','%GL_MAP2_NORMAL','%GL_MAP2_TEXTURE_COORD_1','%GL_MAP2_TEXTURE_COORD_2','%GL_MAP2_TEXTURE_COORD_3','%GL_MAP2_TEXTURE_COORD_4','%GL_MAP2_VERTEX_3',
-                        '%GL_MAP2_VERTEX_4','%GL_MAP_COLOR','%GL_MAP_STENCIL','%GL_MATRIX_MODE','%GL_MAX_ATTRIB_STACK_DEPTH','%GL_MAX_CLIENT_ATTRIB_STACK_DEPTH','%GL_MAX_CLIP_PLANES','%GL_MAX_CONVOLUTION_HEIGHT_EXT',
-                        '%GL_MAX_CONVOLUTION_WIDTH_EXT','%GL_MAX_EVAL_ORDER','%GL_MAX_EXT','%GL_MAX_LIGHTS','%GL_MAX_LIST_NESTING','%GL_MAX_MODELVIEW_STACK_DEPTH','%GL_MAX_NAME_STACK_DEPTH','%GL_MAX_PIXEL_MAP_TABLE',
-                        '%GL_MAX_PROJECTION_STACK_DEPTH','%GL_MAX_TEXTURE_SIZE','%GL_MAX_TEXTURE_STACK_DEPTH','%GL_MAX_VIEWPORT_DIMS','%GL_MINMAX_EXT','%GL_MINMAX_FORMAT_EXT','%GL_MINMAX_SINK_EXT','%GL_MIN_EXT',
-                        '%GL_MODELVIEW','%GL_MODELVIEW_MATRIX','%GL_MODELVIEW_STACK_DEPTH','%GL_MODULATE','%GL_MULT','%GL_N3F_V3F','%GL_NAME_STACK_DEPTH','%GL_NAND',
-                        '%GL_NEAREST','%GL_NEAREST_MIPMAP_LINEAR','%GL_NEAREST_MIPMAP_NEAREST','%GL_NEVER','%GL_NICEST','%GL_NONE','%GL_NOOP','%GL_NOR',
-                        '%GL_NORMALIZE','%GL_NORMAL_ARRAY','%GL_NORMAL_ARRAY_COUNT_EXT','%GL_NORMAL_ARRAY_EXT','%GL_NORMAL_ARRAY_POINTER','%GL_NORMAL_ARRAY_POINTER_EXT','%GL_NORMAL_ARRAY_STRIDE','%GL_NORMAL_ARRAY_STRIDE_EXT',
-                        '%GL_NORMAL_ARRAY_TYPE','%GL_NORMAL_ARRAY_TYPE_EXT','%GL_NOTEQUAL','%GL_NO_ERROR','%GL_OBJECT_LINEAR','%GL_OBJECT_PLANE','%GL_ONE','%GL_ONE_MINUS_CONSTANT_ALPHA_EXT',
-                        '%GL_ONE_MINUS_CONSTANT_COLOR_EXT','%GL_ONE_MINUS_DST_ALPHA','%GL_ONE_MINUS_DST_COLOR','%GL_ONE_MINUS_SRC_ALPHA','%GL_ONE_MINUS_SRC_COLOR','%GL_OR','%GL_ORDER','%GL_OR_INVERTED',
-                        '%GL_OR_REVERSE','%GL_OUT_OF_MEMORY','%GL_PACK_ALIGNMENT','%GL_PACK_LSB_FIRST','%GL_PACK_ROW_LENGTH','%GL_PACK_SKIP_PIXELS','%GL_PACK_SKIP_ROWS','%GL_PACK_SWAP_BYTES',
-                        '%GL_PASS_THROUGH_TOKEN','%GL_PERSPECTIVE_CORRECTION_HINT','%GL_PIXEL_MAP_A_TO_A','%GL_PIXEL_MAP_A_TO_A_SIZE','%GL_PIXEL_MAP_B_TO_B','%GL_PIXEL_MAP_B_TO_B_SIZE','%GL_PIXEL_MAP_G_TO_G','%GL_PIXEL_MAP_G_TO_G_SIZE',
-                        '%GL_PIXEL_MAP_I_TO_A','%GL_PIXEL_MAP_I_TO_A_SIZE','%GL_PIXEL_MAP_I_TO_B','%GL_PIXEL_MAP_I_TO_B_SIZE','%GL_PIXEL_MAP_I_TO_G','%GL_PIXEL_MAP_I_TO_G_SIZE','%GL_PIXEL_MAP_I_TO_I','%GL_PIXEL_MAP_I_TO_I_SIZE',
-                        '%GL_PIXEL_MAP_I_TO_R','%GL_PIXEL_MAP_I_TO_R_SIZE','%GL_PIXEL_MAP_R_TO_R','%GL_PIXEL_MAP_R_TO_R_SIZE','%GL_PIXEL_MAP_S_TO_S','%GL_PIXEL_MAP_S_TO_S_SIZE','%GL_PIXEL_MODE_BIT','%GL_POINT',
-                        '%GL_POINTS','%GL_POINT_BIT','%GL_POINT_SIZE','%GL_POINT_SIZE_GRANULARITY','%GL_POINT_SIZE_RANGE','%GL_POINT_SMOOTH','%GL_POINT_SMOOTH_HINT','%GL_POINT_TOKEN',
-                        '%GL_POLYGON','%GL_POLYGON_BIT','%GL_POLYGON_MODE','%GL_POLYGON_OFFSET_BIAS_EXT','%GL_POLYGON_OFFSET_EXT','%GL_POLYGON_OFFSET_FACTOR','%GL_POLYGON_OFFSET_FACTOR_EXT','%GL_POLYGON_OFFSET_FILL',
-                        '%GL_POLYGON_OFFSET_LINE','%GL_POLYGON_OFFSET_POINT','%GL_POLYGON_OFFSET_UNITS','%GL_POLYGON_SMOOTH','%GL_POLYGON_SMOOTH_HINT','%GL_POLYGON_STIPPLE','%GL_POLYGON_STIPPLE_BIT','%GL_POLYGON_TOKEN',
-                        '%GL_POSITION','%GL_POST_COLOR_MATRIX_COLOR_TABLE_EXT','%GL_POST_CONVOLUTION_ALPHA_BIAS_EXT','%GL_POST_CONVOLUTION_ALPHA_SCALE_EXT','%GL_POST_CONVOLUTION_BLUE_BIAS_EXT','%GL_POST_CONVOLUTION_BLUE_SCALE_EXT','%GL_POST_CONVOLUTION_COLOR_TABLE_EXT','%GL_POST_CONVOLUTION_GREEN_BIAS_EXT',
-                        '%GL_POST_CONVOLUTION_GREEN_SCALE_EXT','%GL_POST_CONVOLUTION_RED_BIAS_EXT','%GL_POST_CONVOLUTION_RED_SCALE_EXT','%GL_PROJECTION','%GL_PROJECTION_MATRIX','%GL_PROJECTION_STACK_DEPTH','%GL_PROXY_COLOR_TABLE_EXT','%GL_PROXY_HISTOGRAM_EXT',
-                        '%GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_EXT','%GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_EXT','%GL_PROXY_TEXTURE_1D','%GL_PROXY_TEXTURE_2D','%GL_Q','%GL_QUADRATIC_ATTENUATION','%GL_QUADS','%GL_QUAD_STRIP',
-                        '%GL_R','%GL_R3_G3_B2','%GL_READ_BUFFER','%GL_RED','%GL_REDUCE_EXT','%GL_RED_BIAS','%GL_RED_BITS','%GL_RED_SCALE',
-                        '%GL_RENDER','%GL_RENDERER','%GL_RENDER_MODE','%GL_REPEAT','%GL_REPLACE','%GL_RETURN','%GL_RGB','%GL_RGB10',
-                        '%GL_RGB10_A2','%GL_RGB12','%GL_RGB16','%GL_RGB4','%GL_RGB5','%GL_RGB5_A1','%GL_RGB8','%GL_RGBA',
-                        '%GL_RGBA12','%GL_RGBA16','%GL_RGBA2','%GL_RGBA4','%GL_RGBA8','%GL_RGBA_MODE','%GL_RIGHT','%GL_S',
-                        '%GL_SCISSOR_BIT','%GL_SCISSOR_BOX','%GL_SCISSOR_TEST','%GL_SECONDARY_COLOR_ARRAY_EXT','%GL_SECONDARY_COLOR_ARRAY_POINTER_EXT','%GL_SECONDARY_COLOR_ARRAY_SIZE_EXT','%GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT','%GL_SECONDARY_COLOR_ARRAY_TYPE_EXT',
-                        '%GL_SELECT','%GL_SELECTION_BUFFER_POINTER','%GL_SELECTION_BUFFER_SIZE','%GL_SEPARABLE_2D_EXT','%GL_SEPARATE_SPECULAR_COLOR_EXT','%GL_SET','%GL_SHADE_MODEL','%GL_SHININESS',
-                        '%GL_SHORT','%GL_SINGLE_COLOR_EXT','%GL_SMOOTH','%GL_SPECULAR','%GL_SPHERE_MAP','%GL_SPOT_CUTOFF','%GL_SPOT_DIRECTION','%GL_SPOT_EXPONENT',
-                        '%GL_SRC_ALPHA','%GL_SRC_ALPHA_SATURATE','%GL_SRC_COLOR','%GL_STACK_OVERFLOW','%GL_STACK_UNDERFLOW','%GL_STENCIL','%GL_STENCIL_BITS','%GL_STENCIL_BUFFER_BIT',
-                        '%GL_STENCIL_CLEAR_VALUE','%GL_STENCIL_FAIL','%GL_STENCIL_FUNC','%GL_STENCIL_INDEX','%GL_STENCIL_PASS_DEPTH_FAIL','%GL_STENCIL_PASS_DEPTH_PASS','%GL_STENCIL_REF','%GL_STENCIL_TEST',
-                        '%GL_STENCIL_VALUE_MASK','%GL_STENCIL_WRITEMASK','%GL_STEREO','%GL_SUBPIXEL_BITS','%GL_T','%GL_T2F_C3F_V3F','%GL_T2F_C4F_N3F_V3F','%GL_T2F_C4UB_V3F',
-                        '%GL_T2F_N3F_V3F','%GL_T2F_V3F','%GL_T4F_C4F_N3F_V4F','%GL_T4F_V4F','%GL_TABLE_TOO_LARGE_EXT','%GL_TEXTURE','%GL_TEXTURE_1D','%GL_TEXTURE_2D',
-                        '%GL_TEXTURE_ALPHA_SIZE','%GL_TEXTURE_BINDING_1D','%GL_TEXTURE_BINDING_2D','%GL_TEXTURE_BIT','%GL_TEXTURE_BLUE_SIZE','%GL_TEXTURE_BORDER','%GL_TEXTURE_BORDER_COLOR','%GL_TEXTURE_COMPONENTS',
-                        '%GL_TEXTURE_COORD_ARRAY','%GL_TEXTURE_COORD_ARRAY_COUNT_EXT','%GL_TEXTURE_COORD_ARRAY_EXT','%GL_TEXTURE_COORD_ARRAY_POINTER','%GL_TEXTURE_COORD_ARRAY_POINTER_EXT','%GL_TEXTURE_COORD_ARRAY_SIZE','%GL_TEXTURE_COORD_ARRAY_SIZE_EXT','%GL_TEXTURE_COORD_ARRAY_STRIDE',
-                        '%GL_TEXTURE_COORD_ARRAY_STRIDE_EXT','%GL_TEXTURE_COORD_ARRAY_TYPE','%GL_TEXTURE_COORD_ARRAY_TYPE_EXT','%GL_TEXTURE_ENV','%GL_TEXTURE_ENV_COLOR','%GL_TEXTURE_ENV_MODE','%GL_TEXTURE_GEN_MODE','%GL_TEXTURE_GEN_Q',
-                        '%GL_TEXTURE_GEN_R','%GL_TEXTURE_GEN_S','%GL_TEXTURE_GEN_T','%GL_TEXTURE_GREEN_SIZE','%GL_TEXTURE_HEIGHT','%GL_TEXTURE_INTENSITY_SIZE','%GL_TEXTURE_INTERNAL_FORMAT','%GL_TEXTURE_LUMINANCE_SIZE',
-                        '%GL_TEXTURE_MAG_FILTER','%GL_TEXTURE_MATRIX','%GL_TEXTURE_MIN_FILTER','%GL_TEXTURE_PRIORITY','%GL_TEXTURE_RED_SIZE','%GL_TEXTURE_RESIDENT','%GL_TEXTURE_STACK_DEPTH','%GL_TEXTURE_WIDTH',
-                        '%GL_TEXTURE_WRAP_S','%GL_TEXTURE_WRAP_T','%GL_TRANSFORM_BIT','%GL_TRIANGLES','%GL_TRIANGLE_FAN','%GL_TRIANGLE_STRIP','%GL_TRUE','%GL_UNPACK_ALIGNMENT',
-                        '%GL_UNPACK_LSB_FIRST','%GL_UNPACK_ROW_LENGTH','%GL_UNPACK_SKIP_PIXELS','%GL_UNPACK_SKIP_ROWS','%GL_UNPACK_SWAP_BYTES','%GL_UNSIGNED_BYTE','%GL_UNSIGNED_BYTE_3_3_2_EXT','%GL_UNSIGNED_INT',
-                        '%GL_UNSIGNED_INT_10_10_10_2_EXT','%GL_UNSIGNED_INT_8_8_8_8_EXT','%GL_UNSIGNED_SHORT','%GL_UNSIGNED_SHORT_4_4_4_4_EXT','%GL_UNSIGNED_SHORT_5_5_5_1_EXT','%GL_V2F','%GL_V3F','%GL_VENDOR',
-                        '%GL_VERSION','%GL_VERSION_1_1','%GL_VERTEX_ARRAY','%GL_VERTEX_ARRAY_COUNT_EXT','%GL_VERTEX_ARRAY_EXT','%GL_VERTEX_ARRAY_POINTER','%GL_VERTEX_ARRAY_POINTER_EXT','%GL_VERTEX_ARRAY_SIZE',
-                        '%GL_VERTEX_ARRAY_SIZE_EXT','%GL_VERTEX_ARRAY_STRIDE','%GL_VERTEX_ARRAY_STRIDE_EXT','%GL_VERTEX_ARRAY_TYPE','%GL_VERTEX_ARRAY_TYPE_EXT','%GL_VIEWPORT','%GL_VIEWPORT_BIT','%GL_WIN_SWAP_HINT',
-                        '%GL_XOR','%GL_ZERO','%GL_ZOOM_X','%GL_ZOOM_Y','%GRAY','%GREEN','%GWLP_HINSTANCE','%GWLP_HWNDPARENT',
-                        '%GWLP_ID','%GWLP_USERDATA','%GWLP_WNDPROC','%GWL_EXSTYLE','%GWL_HINSTANCE','%GWL_HWNDPARENT','%GWL_ID','%GWL_STYLE',
-                        '%GWL_USERDATA','%GWL_WNDPROC','%HDM_FIRST','%HTCAPTION','%HWND_BOTTOM','%HWND_DESKTOP','%HWND_MESSAGE','%HWND_NOTOPMOST',
-                        '%HWND_TOP','%HWND_TOPMOST','%ICRYPTO_XOR_DECREASE','%ICRYPTO_XOR_INCREASE','%ICRYPTO_XOR_NORMAL','%IDABORT','%IDCANCEL','%IDCONTINUE',
-                        '%IDIGNORE','%IDNO','%IDOK','%IDRETRY','%IDTIMEOUT','%IDTRYAGAIN','%IDYES','%INTERNET_CONNECTION_CONFIGURED',
-                        '%INTERNET_CONNECTION_LAN','%INTERNET_CONNECTION_MODEM','%INTERNET_CONNECTION_MODEM_BUSY','%INTERNET_CONNECTION_OFFLINE','%INTERNET_CONNECTION_PROXY','%INTERNET_RAS_INSTALLED','%LBN_DBLCLK','%LBN_KILLFOCUS',
-                        '%LBN_SELCANCEL','%LBN_SELCHANGE','%LBN_SETFOCUS','%LBS_DISABLENOSCROLL','%LBS_EXTENDEDSEL','%LBS_MULTICOLUMN','%LBS_MULTIPLESEL','%LBS_NOINTEGRALHEIGHT',
-                        '%LBS_NOSEL','%LBS_NOTIFY','%LBS_SORT','%LBS_STANDARD','%LBS_USETABSTOPS','%LB_ADDFILE','%LB_ADDSTRING','%LB_DELETESTRING',
-                        '%LB_DIR','%LB_FINDSTRING','%LB_FINDSTRINGEXACT','%LB_GETANCHORINDEX','%LB_GETCARETINDEX','%LB_GETCOUNT','%LB_GETCURSEL','%LB_GETHORIZONTALEXTENT',
-                        '%LB_GETITEMDATA','%LB_GETITEMHEIGHT','%LB_GETITEMRECT','%LB_GETLISTBOXINFO','%LB_GETLOCALE','%LB_GETSEL','%LB_GETSELCOUNT','%LB_GETSELITEMS',
-                        '%LB_GETTEXT','%LB_GETTEXTLEN','%LB_GETTOPINDEX','%LB_INITSTORAGE','%LB_INSERTSTRING','%LB_ITEMFROMPOINT','%LB_MULTIPLEADDSTRING','%LB_RESETCONTENT',
-                        '%LB_SELECTSTRING','%LB_SELITEMRANGE','%LB_SELITEMRANGEEX','%LB_SETANCHORINDEX','%LB_SETCARETINDEX','%LB_SETCOLUMNWIDTH','%LB_SETCOUNT','%LB_SETCURSEL',
-                        '%LB_SETHORIZONTALEXTENT','%LB_SETITEMDATA','%LB_SETITEMHEIGHT','%LB_SETLOCALE','%LB_SETSEL','%LB_SETTABSTOPS','%LB_SETTOPINDEX','%LF_FACESIZE',
-                        '%LTGRAY','%LVM_FIRST','%LWA_ALPHA','%LWA_COLORKEY','%MAGENTA','%MAXBYTE','%MAXCHAR','%MAXDWORD',
-                        '%MAXSHORT','%MAXWORD','%MAX_PATH','%MB_ABORTRETRYIGNORE','%MB_APPLMODAL','%MB_CANCELTRYCONTINUE','%MB_DEFBUTTON1','%MB_DEFBUTTON2',
-                        '%MB_DEFBUTTON3','%MB_HELP','%MB_ICONASTERISK','%MB_ICONERROR','%MB_ICONEXCLAMATION','%MB_ICONHAND','%MB_ICONINFORMATION','%MB_ICONQUESTION',
-                        '%MB_ICONSTOP','%MB_ICONWARNING','%MB_OK','%MB_OKCANCEL','%MB_RETRYCANCEL','%MB_SIMPLE','%MB_SYSTEMMODAL','%MB_TOPMOST',
-                        '%MB_YESNO','%MB_YESNOCANCEL','%MF_CHECKED','%MF_DISABLED','%MF_ENABLED','%MF_GRAYED','%MF_SEPARATOR','%MF_UNCHECKED',
-                        '%MINCHAR','%MINLONG','%MINSHORT','%NULL','%ODBC352_INC','%ODBCVER','%ODBC_ADD_DSN','%ODBC_ADD_SYS_DSN',
-                        '%ODBC_BOTH_DSN','%ODBC_CONFIG_DRIVER','%ODBC_CONFIG_DRIVER_MAX','%ODBC_CONFIG_DSN','%ODBC_CONFIG_SYS_DSN','%ODBC_DRIVER_VERSION','%ODBC_ERROR_COMPONENT_NOT_FOUND','%ODBC_ERROR_CREATE_DSN_FAILED',
-                        '%ODBC_ERROR_GENERAL_ERR','%ODBC_ERROR_INVALID_BUFF_LEN','%ODBC_ERROR_INVALID_DSN','%ODBC_ERROR_INVALID_HWND','%ODBC_ERROR_INVALID_INF','%ODBC_ERROR_INVALID_KEYWORD_VALUE','%ODBC_ERROR_INVALID_LOG_FILE','%ODBC_ERROR_INVALID_NAME',
-                        '%ODBC_ERROR_INVALID_PARAM_SEQUENCE','%ODBC_ERROR_INVALID_PATH','%ODBC_ERROR_INVALID_REQUEST_TYPE','%ODBC_ERROR_INVALID_STR','%ODBC_ERROR_LOAD_LIB_FAILED','%ODBC_ERROR_OUTPUT_STRING_TRUNCATED','%ODBC_ERROR_OUT_OF_MEM','%ODBC_ERROR_REMOVE_DSN_FAILED',
-                        '%ODBC_ERROR_REQUEST_FAILED','%ODBC_ERROR_USAGE_UPDATE_FAILED','%ODBC_ERROR_USER_CANCELED','%ODBC_ERROR_WRITING_SYSINFO_FAILED','%ODBC_INSTALL_COMPLETE','%ODBC_INSTALL_DRIVER','%ODBC_INSTALL_INQUIRY','%ODBC_REMOVE_DEFAULT_DSN',
-                        '%ODBC_REMOVE_DRIVER','%ODBC_REMOVE_DSN','%ODBC_REMOVE_SYS_DSN','%ODBC_SYSTEM_DSN','%ODBC_USER_DSN','%OFN_ALLOWMULTISELECT','%OFN_CREATEPROMPT','%OFN_ENABLEHOOK',
-                        '%OFN_ENABLEINCLUDENOTIFY','%OFN_ENABLESIZING','%OFN_ENABLETEMPLATE','%OFN_ENABLETEMPLATEHANDLE','%OFN_EXPLORER','%OFN_EXTENSIONDIFFERENT','%OFN_FILEMUSTEXIST','%OFN_HIDEREADONLY',
-                        '%OFN_LONGNAMES','%OFN_NOCHANGEDIR','%OFN_NODEREFERENCELINKS','%OFN_NOLONGNAMES','%OFN_NONETWORKBUTTON','%OFN_NOREADONLYRETURN','%OFN_NOTESTFILECREATE','%OFN_NOVALIDATE',
-                        '%OFN_OVERWRITEPROMPT','%OFN_PATHMUSTEXIST','%OFN_READONLY','%OFN_SHAREAWARE','%OFN_SHOWHELP','%OS_ERROR_CALLFUNCTION','%OS_ERROR_EMPTYSTRING','%OS_ERROR_LOADLIBRARY',
-                        '%OS_ERROR_SUCCESS','%OS_ERROR_WRONGPARAMETER','%OS_SHELL_ASYNC','%OS_SHELL_SYNC','%OS_WINDOWS_2K','%OS_WINDOWS_95','%OS_WINDOWS_95_OSR2','%OS_WINDOWS_98',
-                        '%OS_WINDOWS_98_SE','%OS_WINDOWS_ME','%OS_WINDOWS_NT','%OS_WINDOWS_SERVER_2003','%OS_WINDOWS_SERVER_LONGHORN','%OS_WINDOWS_SERVER_LONGHORN_DC','%OS_WINDOWS_VISTA','%OS_WINDOWS_XP',
-                        '%OS_WNDSTYLE_HIDE','%OS_WNDSTYLE_MAXIMIZED','%OS_WNDSTYLE_MINIMIZED','%OS_WNDSTYLE_MINIMIZEDNOFOCUS','%OS_WNDSTYLE_NORMAL','%OS_WNDSTYLE_NORMALNOFOCUS','%PATH_EXT','%PATH_FILE',
-                        '%PATH_FILEEXT','%PATH_ROOT','%PATH_ROOTPATH','%PATH_ROOTPATHPROG','%PATH_ROOTPATHPROGEXT','%PBM_DELTAPOS','%PBM_GETPOS','%PBM_GETRANGE',
-                        '%PBM_SETBARCOLOR','%PBM_SETBKCOLOR','%PBM_SETPOS','%PBM_SETRANGE','%PBM_SETRANGE32','%PBM_SETSTEP','%PBM_STEPIT','%PBS_SMOOTH',
-                        '%PBS_VERTICAL','%PC_DISABLEWAKEEVENT_OFF','%PC_DISABLEWAKEEVENT_ON','%PC_EB_NOCONFIRMATION','%PC_EB_NOPROGRESSUI','%PC_EB_NORMAL','%PC_EB_NOSOUND','%PC_FORCECRITICAL_OFF',
-                        '%PC_FORCECRITICAL_ON','%PC_HIBERNATE_OFF','%PC_HIBERNATE_ON','%PC_RD_FORCE','%PC_RD_FORCEIFHUNG','%PC_RD_LOGOFF','%PC_RD_POWEROFF','%PC_RD_REBOOT',
-                        '%PC_RD_SHUTDOWN','%PC_SD_DONOT_FORCE','%PC_SD_DONOT_REBOOT','%PC_SD_FORCE','%PC_SD_REBOOT','%PFA_CENTER','%PFA_LEFT','%PFA_RIGHT',
-                        '%PF_3DNOW_INSTRUCTIONS_AVAILABLE','%PF_CHANNELS_ENABLED','%PF_COMPARE64_EXCHANGE128','%PF_COMPARE_EXCHANGE128','%PF_COMPARE_EXCHANGE_DOUBLE','%PF_FLOATING_POINT_EMULATED','%PF_FLOATING_POINT_PRECISION_ERRATA','%PF_MMX_INSTRUCTIONS_AVAILABLE',
-                        '%PF_NX_ENABLED','%PF_PAE_ENABLED','%PF_RDTSC_INSTRUCTION_AVAILABLE','%PF_SSE3_INSTRUCTIONS_AVAILABLE','%PF_XMMI64_INSTRUCTIONS_AVAILABLE','%PF_XMMI_INSTRUCTIONS_AVAILABLE','%PGM_FIRST','%RED',
-                        '%RTF_UBB','%SAPI_SVSFDEFAULT','%SAPI_SVSFISFILENAME','%SAPI_SVSFISNOTXML','%SAPI_SVSFISXML','%SAPI_SVSFLAGSASYNC','%SAPI_SVSFNLPMASK','%SAPI_SVSFNLPSPEAKPUNC',
-                        '%SAPI_SVSFPERSISTXML','%SAPI_SVSFPURGEBEFORESPEAK','%SAPI_SVSFUNUSEDFLAGS','%SAPI_SVSFVOICEMASK','%SBS_SIZEGRIP','%SB_BOTTOM','%SB_ENDSCROLL','%SB_LEFT',
-                        '%SB_LINEDOWN','%SB_LINELEFT','%SB_LINERIGHT','%SB_LINEUP','%SB_PAGEDOWN','%SB_PAGELEFT','%SB_PAGERIGHT','%SB_PAGEUP',
-                        '%SB_RIGHT','%SB_SETPARTS','%SB_SETTEXT','%SB_THUMBPOSITION','%SB_THUMBTRACK','%SB_TOP','%SCF_ALL','%SCF_ASSOCIATEFONT',
-                        '%SCF_DEFAULT','%SCF_NOKBUPDATE','%SCF_SELECTION','%SCF_USEUIRULES','%SCF_WORD','%SC_CLOSE','%SC_CONTEXTHELP','%SC_HOTKEY',
-                        '%SC_HSCROLL','%SC_KEYMENU','%SC_MAXIMIZE','%SC_MINIMIZE','%SC_MONITORPOWER','%SC_MOUSEMENU','%SC_MOVE','%SC_NEXTWINDOW',
-                        '%SC_PREVWINDOW','%SC_RESTORE','%SC_SCREENSAVE','%SC_SIZE','%SC_TASKLIST','%SC_VSCROLL','%SERVICE_ACTIVE','%SERVICE_AUTO_START',
-                        '%SERVICE_BOOT_START','%SERVICE_CONTINUE_PENDING','%SERVICE_DEMAND_START','%SERVICE_DISABLED','%SERVICE_DRIVER','%SERVICE_INACTIVE','%SERVICE_INFO_DISPLAY_NAME','%SERVICE_INFO_NAME',
-                        '%SERVICE_PAUSED','%SERVICE_PAUSE_PENDING','%SERVICE_RUNNING','%SERVICE_START_PENDING','%SERVICE_STATE_ALL','%SERVICE_STOPPED','%SERVICE_STOP_PENDING','%SERVICE_SYSTEM_START',
-                        '%SERVICE_TYPE_ALL','%SERVICE_WIN32','%SES_ALLOWBEEPS','%SES_BEEPONMAXTEXT','%SES_BIDI','%SES_EMULATE10','%SES_EMULATESYSEDIT','%SES_EXTENDBACKCOLOR',
-                        '%SES_LOWERCASE','%SES_MAPCPS','%SES_NOIME','%SES_NOINPUTSEQUENCECHK','%SES_SCROLLONKILLFOCUS','%SES_UPPERCASE','%SES_USEAIMM','%SES_USECRLF',
-                        '%SES_XLTCRCRLFTOCR','%SF_RTF','%SF_TEXT','%SMTP_SET_ATTACH_CONTENT_TYPE','%SMTP_SET_CONTENT_TYPE_PREFIX','%SQL_AA_FALSE','%SQL_AA_TRUE','%SQL_ACCESSIBLE_PROCEDURES',
-                        '%SQL_ACCESSIBLE_TABLES','%SQL_ACCESS_MODE','%SQL_ACTIVE_CONNECTIONS','%SQL_ACTIVE_ENVIRONMENTS','%SQL_ACTIVE_STATEMENTS','%SQL_ADD','%SQL_AD_ADD_CONSTRAINT_DEFERRABLE','%SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED',
-                        '%SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE','%SQL_AD_ADD_DOMAIN_CONSTRAINT','%SQL_AD_ADD_DOMAIN_DEFAULT','%SQL_AD_CONSTRAINT_NAME_DEFINITION','%SQL_AD_DROP_DOMAIN_CONSTRAINT','%SQL_AD_DROP_DOMAIN_DEFAULT','%SQL_AF_ALL',
-                        '%SQL_AF_AVG','%SQL_AF_COUNT','%SQL_AF_DISTINCT','%SQL_AF_MAX','%SQL_AF_MIN','%SQL_AF_SUM','%SQL_AGGREGATE_FUNCTIONS','%SQL_ALL_EXCEPT_LIKE',
-                        '%SQL_ALL_TYPES','%SQL_ALTER_DOMAIN','%SQL_ALTER_TABLE','%SQL_AM_CONNECTION','%SQL_AM_NONE','%SQL_AM_STATEMENT','%SQL_API_ALL_FUNCTIONS','%SQL_API_LOADBYORDINAL',
-                        '%SQL_API_ODBC3_ALL_FUNCTIONS','%SQL_API_ODBC3_ALL_FUNCTIONS_SIZE','%SQL_API_SQLALLOCCONNECT','%SQL_API_SQLALLOCENV','%SQL_API_SQLALLOCHANDLE','%SQL_API_SQLALLOCHANDLESTD','%SQL_API_SQLALLOCSTMT','%SQL_API_SQLBINDCOL',
-                        '%SQL_API_SQLBINDPARAM','%SQL_API_SQLBINDPARAMETER','%SQL_API_SQLBROWSECONNECT','%SQL_API_SQLBULKOPERATIONS','%SQL_API_SQLCANCEL','%SQL_API_SQLCLOSECURSOR','%SQL_API_SQLCOLATTRIBUTE','%SQL_API_SQLCOLATTRIBUTES',
-                        '%SQL_API_SQLCOLUMNPRIVILEGES','%SQL_API_SQLCOLUMNS','%SQL_API_SQLCONNECT','%SQL_API_SQLCOPYDESC','%SQL_API_SQLDATASOURCES','%SQL_API_SQLDESCRIBECOL','%SQL_API_SQLDESCRIBEPARAM','%SQL_API_SQLDISCONNECT',
-                        '%SQL_API_SQLDRIVERCONNECT','%SQL_API_SQLDRIVERS','%SQL_API_SQLENDTRAN','%SQL_API_SQLERROR','%SQL_API_SQLEXECDIRECT','%SQL_API_SQLEXECUTE','%SQL_API_SQLEXTENDEDFETCH','%SQL_API_SQLFETCH',
-                        '%SQL_API_SQLFETCHSCROLL','%SQL_API_SQLFOREIGNKEYS','%SQL_API_SQLFREECONNECT','%SQL_API_SQLFREEENV','%SQL_API_SQLFREEHANDLE','%SQL_API_SQLFREESTMT','%SQL_API_SQLGETCONNECTATTR','%SQL_API_SQLGETCONNECTOPTION',
-                        '%SQL_API_SQLGETCURSORNAME','%SQL_API_SQLGETDATA','%SQL_API_SQLGETDESCFIELD','%SQL_API_SQLGETDESCREC','%SQL_API_SQLGETDIAGFIELD','%SQL_API_SQLGETDIAGREC','%SQL_API_SQLGETENVATTR','%SQL_API_SQLGETFUNCTIONS',
-                        '%SQL_API_SQLGETINFO','%SQL_API_SQLGETSTMTATTR','%SQL_API_SQLGETSTMTOPTION','%SQL_API_SQLGETTYPEINFO','%SQL_API_SQLMORERESULTS','%SQL_API_SQLNATIVESQL','%SQL_API_SQLNUMPARAMS','%SQL_API_SQLNUMRESULTCOLS',
-                        '%SQL_API_SQLPARAMDATA','%SQL_API_SQLPARAMOPTIONS','%SQL_API_SQLPREPARE','%SQL_API_SQLPRIMARYKEYS','%SQL_API_SQLPROCEDURECOLUMNS','%SQL_API_SQLPROCEDURES','%SQL_API_SQLPUTDATA','%SQL_API_SQLROWCOUNT',
-                        '%SQL_API_SQLSETCONNECTATTR','%SQL_API_SQLSETCONNECTOPTION','%SQL_API_SQLSETCURSORNAME','%SQL_API_SQLSETDESCFIELD','%SQL_API_SQLSETDESCREC','%SQL_API_SQLSETENVATTR','%SQL_API_SQLSETPARAM','%SQL_API_SQLSETPOS',
-                        '%SQL_API_SQLSETSCROLLOPTIONS','%SQL_API_SQLSETSTMTATTR','%SQL_API_SQLSETSTMTOPTION','%SQL_API_SQLSPECIALCOLUMNS','%SQL_API_SQLSTATISTICS','%SQL_API_SQLTABLEPRIVILEGES','%SQL_API_SQLTABLES','%SQL_API_SQLTRANSACT',
-                        '%SQL_ARD_TYPE','%SQL_ASYNC_ENABLE','%SQL_ASYNC_ENABLE_DEFAULT','%SQL_ASYNC_ENABLE_OFF','%SQL_ASYNC_ENABLE_ON','%SQL_ASYNC_MODE','%SQL_ATTR_ACCESS_MODE','%SQL_ATTR_ANSI_APP',
-                        '%SQL_ATTR_APP_PARAM_DESC','%SQL_ATTR_APP_ROW_DESC','%SQL_ATTR_ASYNC_ENABLE','%SQL_ATTR_AUTOCOMMIT','%SQL_ATTR_AUTO_IPD','%SQL_ATTR_CONCURRENCY','%SQL_ATTR_CONNECTION_DEAD','%SQL_ATTR_CONNECTION_POOLING',
-                        '%SQL_ATTR_CONNECTION_TIMEOUT','%SQL_ATTR_CP_MATCH','%SQL_ATTR_CURRENT_CATALOG','%SQL_ATTR_CURSOR_SCROLLABLE','%SQL_ATTR_CURSOR_SENSITIVITY','%SQL_ATTR_CURSOR_TYPE','%SQL_ATTR_DISCONNECT_BEHAVIOR','%SQL_ATTR_ENABLE_AUTO_IPD',
-                        '%SQL_ATTR_ENLIST_IN_DTC','%SQL_ATTR_ENLIST_IN_XA','%SQL_ATTR_FETCH_BOOKMARK_PTR','%SQL_ATTR_IMP_PARAM_DESC','%SQL_ATTR_IMP_ROW_DESC','%SQL_ATTR_KEYSET_SIZE','%SQL_ATTR_LOGIN_TIMEOUT','%SQL_ATTR_MAX_LENGTH',
-                        '%SQL_ATTR_MAX_ROWS','%SQL_ATTR_METADATA_ID','%SQL_ATTR_NOSCAN','%SQL_ATTR_ODBC_CURSORS','%SQL_ATTR_ODBC_VERSION','%SQL_ATTR_OUTPUT_NTS','%SQL_ATTR_PACKET_SIZE','%SQL_ATTR_PARAMSET_SIZE',
-                        '%SQL_ATTR_PARAMS_PROCESSED_PTR','%SQL_ATTR_PARAM_BIND_OFFSET_PTR','%SQL_ATTR_PARAM_BIND_TYPE','%SQL_ATTR_PARAM_OPERATION_PTR','%SQL_ATTR_PARAM_STATUS_PTR','%SQL_ATTR_QUERY_TIMEOUT','%SQL_ATTR_QUIET_MODE','%SQL_ATTR_READONLY',
-                        '%SQL_ATTR_READWRITE_UNKNOWN','%SQL_ATTR_RETRIEVE_DATA','%SQL_ATTR_ROWS_FETCHED_PTR','%SQL_ATTR_ROW_ARRAY_SIZE','%SQL_ATTR_ROW_BIND_OFFSET_PTR','%SQL_ATTR_ROW_BIND_TYPE','%SQL_ATTR_ROW_NUMBER','%SQL_ATTR_ROW_OPERATION_PTR',
-                        '%SQL_ATTR_ROW_STATUS_PTR','%SQL_ATTR_SIMULATE_CURSOR','%SQL_ATTR_TRACE','%SQL_ATTR_TRACEFILE','%SQL_ATTR_TRANSLATE_LIB','%SQL_ATTR_TRANSLATE_OPTION','%SQL_ATTR_TXN_ISOLATION','%SQL_ATTR_USE_BOOKMARKS',
-                        '%SQL_ATTR_WRITE','%SQL_AT_ADD_COLUMN','%SQL_AT_ADD_COLUMN_COLLATION','%SQL_AT_ADD_COLUMN_DEFAULT','%SQL_AT_ADD_COLUMN_SINGLE','%SQL_AT_ADD_CONSTRAINT','%SQL_AT_ADD_TABLE_CONSTRAINT','%SQL_AT_CONSTRAINT_DEFERRABLE',
-                        '%SQL_AT_CONSTRAINT_INITIALLY_DEFERRED','%SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_AT_CONSTRAINT_NAME_DEFINITION','%SQL_AT_CONSTRAINT_NON_DEFERRABLE','%SQL_AT_DROP_COLUMN','%SQL_AT_DROP_COLUMN_CASCADE','%SQL_AT_DROP_COLUMN_DEFAULT','%SQL_AT_DROP_COLUMN_RESTRICT',
-                        '%SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE','%SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT','%SQL_AT_SET_COLUMN_DEFAULT','%SQL_AUTOCOMMIT','%SQL_AUTOCOMMIT_DEFAULT','%SQL_AUTOCOMMIT_OFF','%SQL_AUTOCOMMIT_ON','%SQL_BATCH_ROW_COUNT',
-                        '%SQL_BATCH_SUPPORT','%SQL_BEST_ROWID','%SQL_BIGINT','%SQL_BINARY','%SQL_BIND_BY_COLUMN','%SQL_BIND_TYPE','%SQL_BIND_TYPE_DEFAULT','%SQL_BIT',
-                        '%SQL_BOOKMARK_PERSISTENCE','%SQL_BP_CLOSE','%SQL_BP_DELETE','%SQL_BP_DROP','%SQL_BP_OTHER_HSTMT','%SQL_BP_SCROLL','%SQL_BP_TRANSACTION','%SQL_BP_UPDATE',
-                        '%SQL_BRC_EXPLICIT','%SQL_BRC_PROCEDURES','%SQL_BRC_ROLLED_UP','%SQL_BS_ROW_COUNT_EXPLICIT','%SQL_BS_ROW_COUNT_PROC','%SQL_BS_SELECT_EXPLICIT','%SQL_BS_SELECT_PROC','%SQL_CA1_ABSOLUTE',
-                        '%SQL_CA1_BOOKMARK','%SQL_CA1_BULK_ADD','%SQL_CA1_BULK_DELETE_BY_BOOKMARK','%SQL_CA1_BULK_FETCH_BY_BOOKMARK','%SQL_CA1_BULK_UPDATE_BY_BOOKMARK','%SQL_CA1_LOCK_EXCLUSIVE','%SQL_CA1_LOCK_NO_CHANGE','%SQL_CA1_LOCK_UNLOCK',
-                        '%SQL_CA1_NEXT','%SQL_CA1_POSITIONED_DELETE','%SQL_CA1_POSITIONED_UPDATE','%SQL_CA1_POS_DELETE','%SQL_CA1_POS_POSITION','%SQL_CA1_POS_REFRESH','%SQL_CA1_POS_UPDATE','%SQL_CA1_RELATIVE',
-                        '%SQL_CA1_SELECT_FOR_UPDATE','%SQL_CA2_CRC_APPROXIMATE','%SQL_CA2_CRC_EXACT','%SQL_CA2_LOCK_CONCURRENCY','%SQL_CA2_MAX_ROWS_AFFECTS_ALL','%SQL_CA2_MAX_ROWS_CATALOG','%SQL_CA2_MAX_ROWS_DELETE','%SQL_CA2_MAX_ROWS_INSERT',
-                        '%SQL_CA2_MAX_ROWS_SELECT','%SQL_CA2_MAX_ROWS_UPDATE','%SQL_CA2_OPT_ROWVER_CONCURRENCY','%SQL_CA2_OPT_VALUES_CONCURRENCY','%SQL_CA2_READ_ONLY_CONCURRENCY','%SQL_CA2_SENSITIVITY_ADDITIONS','%SQL_CA2_SENSITIVITY_DELETIONS','%SQL_CA2_SENSITIVITY_UPDATES',
-                        '%SQL_CA2_SIMULATE_NON_UNIQUE','%SQL_CA2_SIMULATE_TRY_UNIQUE','%SQL_CA2_SIMULATE_UNIQUE','%SQL_CASCADE','%SQL_CATALOG_LOCATION','%SQL_CATALOG_NAME','%SQL_CATALOG_NAME_SEPARATOR','%SQL_CATALOG_TERM',
-                        '%SQL_CATALOG_USAGE','%SQL_CA_CONSTRAINT_DEFERRABLE','%SQL_CA_CONSTRAINT_INITIALLY_DEFERRED','%SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_CA_CONSTRAINT_NON_DEFERRABLE','%SQL_CA_CREATE_ASSERTION','%SQL_CB_CLOSE','%SQL_CB_DELETE',
-                        '%SQL_CB_NON_NULL','%SQL_CB_NULL','%SQL_CB_PRESERVE','%SQL_CCOL_CREATE_COLLATION','%SQL_CCS_COLLATE_CLAUSE','%SQL_CCS_CREATE_CHARACTER_SET','%SQL_CCS_LIMITED_COLLATION','%SQL_CC_CLOSE',
-                        '%SQL_CC_DELETE','%SQL_CC_PRESERVE','%SQL_CDO_COLLATION','%SQL_CDO_CONSTRAINT','%SQL_CDO_CONSTRAINT_DEFERRABLE','%SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED','%SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_CDO_CONSTRAINT_NAME_DEFINITION',
-                        '%SQL_CDO_CONSTRAINT_NON_DEFERRABLE','%SQL_CDO_CREATE_DOMAIN','%SQL_CDO_DEFAULT','%SQL_CD_FALSE','%SQL_CD_TRUE','%SQL_CHAR','%SQL_CLOSE','%SQL_CL_END',
-                        '%SQL_CL_START','%SQL_CN_ANY','%SQL_CN_DIFFERENT','%SQL_CN_NONE','%SQL_CODE_DATE','%SQL_CODE_DAY','%SQL_CODE_DAY_TO_HOUR','%SQL_CODE_DAY_TO_MINUTE',
-                        '%SQL_CODE_DAY_TO_SECOND','%SQL_CODE_HOUR','%SQL_CODE_HOUR_TO_MINUTE','%SQL_CODE_HOUR_TO_SECOND','%SQL_CODE_MINUTE','%SQL_CODE_MINUTE_TO_SECOND','%SQL_CODE_MONTH','%SQL_CODE_SECOND',
-                        '%SQL_CODE_TIME','%SQL_CODE_TIMESTAMP','%SQL_CODE_YEAR','%SQL_CODE_YEAR_TO_MONTH','%SQL_COLATT_OPT_MAX','%SQL_COLATT_OPT_MIN','%SQL_COLLATION_SEQ','%SQL_COLUMN_ALIAS',
-                        '%SQL_COLUMN_AUTO_INCREMENT','%SQL_COLUMN_CASE_SENSITIVE','%SQL_COLUMN_COUNT','%SQL_COLUMN_DISPLAY_SIZE','%SQL_COLUMN_IGNORE','%SQL_COLUMN_LABEL','%SQL_COLUMN_LENGTH','%SQL_COLUMN_MONEY',
-                        '%SQL_COLUMN_NAME','%SQL_COLUMN_NULLABLE','%SQL_COLUMN_NUMBER_UNKNOWN','%SQL_COLUMN_OWNER_NAME','%SQL_COLUMN_PRECISION','%SQL_COLUMN_QUALIFIER_NAME','%SQL_COLUMN_SCALE','%SQL_COLUMN_SEARCHABLE',
-                        '%SQL_COLUMN_TABLE_NAME','%SQL_COLUMN_TYPE','%SQL_COLUMN_TYPE_NAME','%SQL_COLUMN_UNSIGNED','%SQL_COLUMN_UPDATABLE','%SQL_COL_PRED_BASIC','%SQL_COL_PRED_CHAR','%SQL_COMMIT',
-                        '%SQL_CONCAT_NULL_BEHAVIOR','%SQL_CONCURRENCY','%SQL_CONCUR_DEFAULT','%SQL_CONCUR_LOCK','%SQL_CONCUR_READ_ONLY','%SQL_CONCUR_ROWVER','%SQL_CONCUR_TIMESTAMP','%SQL_CONCUR_VALUES',
-                        '%SQL_CONVERT_BIGINT','%SQL_CONVERT_BINARY','%SQL_CONVERT_BIT','%SQL_CONVERT_CHAR','%SQL_CONVERT_DATE','%SQL_CONVERT_DECIMAL','%SQL_CONVERT_DOUBLE','%SQL_CONVERT_FLOAT',
-                        '%SQL_CONVERT_FUNCTIONS','%SQL_CONVERT_GUID','%SQL_CONVERT_INTEGER','%SQL_CONVERT_INTERVAL_DAY_TIME','%SQL_CONVERT_INTERVAL_YEAR_MONTH','%SQL_CONVERT_LONGVARBINARY','%SQL_CONVERT_LONGVARCHAR','%SQL_CONVERT_NUMERIC',
-                        '%SQL_CONVERT_REAL','%SQL_CONVERT_SMALLINT','%SQL_CONVERT_TIME','%SQL_CONVERT_TIMESTAMP','%SQL_CONVERT_TINYINT','%SQL_CONVERT_VARBINARY','%SQL_CONVERT_VARCHAR','%SQL_CONVERT_WCHAR',
-                        '%SQL_CONVERT_WLONGVARCHAR','%SQL_CONVERT_WVARCHAR','%SQL_CORRELATION_NAME','%SQL_CP_DEFAULT','%SQL_CP_MATCH_DEFAULT','%SQL_CP_OFF','%SQL_CP_ONE_PER_DRIVER','%SQL_CP_ONE_PER_HENV',
-                        '%SQL_CP_RELAXED_MATCH','%SQL_CP_STRICT_MATCH','%SQL_CREATE_ASSERTION','%SQL_CREATE_CHARACTER_SET','%SQL_CREATE_COLLATION','%SQL_CREATE_DOMAIN','%SQL_CREATE_SCHEMA','%SQL_CREATE_TABLE',
-                        '%SQL_CREATE_TRANSLATION','%SQL_CREATE_VIEW','%SQL_CR_CLOSE','%SQL_CR_DELETE','%SQL_CR_PRESERVE','%SQL_CS_AUTHORIZATION','%SQL_CS_CREATE_SCHEMA','%SQL_CS_DEFAULT_CHARACTER_SET',
-                        '%SQL_CTR_CREATE_TRANSLATION','%SQL_CT_COLUMN_COLLATION','%SQL_CT_COLUMN_CONSTRAINT','%SQL_CT_COLUMN_DEFAULT','%SQL_CT_COMMIT_DELETE','%SQL_CT_COMMIT_PRESERVE','%SQL_CT_CONSTRAINT_DEFERRABLE','%SQL_CT_CONSTRAINT_INITIALLY_DEFERRED',
-                        '%SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_CT_CONSTRAINT_NAME_DEFINITION','%SQL_CT_CONSTRAINT_NON_DEFERRABLE','%SQL_CT_CREATE_TABLE','%SQL_CT_GLOBAL_TEMPORARY','%SQL_CT_LOCAL_TEMPORARY','%SQL_CT_TABLE_CONSTRAINT','%SQL_CURRENT_QUALIFIER',
-                        '%SQL_CURSOR_COMMIT_BEHAVIOR','%SQL_CURSOR_DYNAMIC','%SQL_CURSOR_FORWARD_ONLY','%SQL_CURSOR_KEYSET_DRIVEN','%SQL_CURSOR_ROLLBACK_BEHAVIOR','%SQL_CURSOR_SENSITIVITY','%SQL_CURSOR_STATIC','%SQL_CURSOR_TYPE',
-                        '%SQL_CURSOR_TYPE_DEFAULT','%SQL_CUR_DEFAULT','%SQL_CUR_USE_DRIVER','%SQL_CUR_USE_IF_NEEDED','%SQL_CUR_USE_ODBC','%SQL_CU_DML_STATEMENTS','%SQL_CU_INDEX_DEFINITION','%SQL_CU_PRIVILEGE_DEFINITION',
-                        '%SQL_CU_PROCEDURE_INVOCATION','%SQL_CU_TABLE_DEFINITION','%SQL_CVT_BIGINT','%SQL_CVT_BINARY','%SQL_CVT_BIT','%SQL_CVT_CHAR','%SQL_CVT_DATE','%SQL_CVT_DECIMAL',
-                        '%SQL_CVT_DOUBLE','%SQL_CVT_FLOAT','%SQL_CVT_GUID','%SQL_CVT_INTEGER','%SQL_CVT_INTERVAL_DAY_TIME','%SQL_CVT_INTERVAL_YEAR_MONTH','%SQL_CVT_LONGVARBINARY','%SQL_CVT_LONGVARCHAR',
-                        '%SQL_CVT_NUMERIC','%SQL_CVT_REAL','%SQL_CVT_SMALLINT','%SQL_CVT_TIME','%SQL_CVT_TIMESTAMP','%SQL_CVT_TINYINT','%SQL_CVT_VARBINARY','%SQL_CVT_VARCHAR',
-                        '%SQL_CVT_WCHAR','%SQL_CVT_WLONGVARCHAR','%SQL_CVT_WVARCHAR','%SQL_CV_CASCADED','%SQL_CV_CHECK_OPTION','%SQL_CV_CREATE_VIEW','%SQL_CV_LOCAL','%SQL_C_BINARY',
-                        '%SQL_C_BIT','%SQL_C_BOOKMARK','%SQL_C_CHAR','%SQL_C_DATE','%SQL_C_DEFAULT','%SQL_C_DOUBLE','%SQL_C_FLOAT','%SQL_C_GUID',
-                        '%SQL_C_INTERVAL_DAY','%SQL_C_INTERVAL_DAY_TO_HOUR','%SQL_C_INTERVAL_DAY_TO_MINUTE','%SQL_C_INTERVAL_DAY_TO_SECOND','%SQL_C_INTERVAL_HOUR','%SQL_C_INTERVAL_HOUR_TO_MINUTE','%SQL_C_INTERVAL_HOUR_TO_SECOND','%SQL_C_INTERVAL_MINUTE',
-                        '%SQL_C_INTERVAL_MINUTE_TO_SECOND','%SQL_C_INTERVAL_MONTH','%SQL_C_INTERVAL_SECOND','%SQL_C_INTERVAL_YEAR','%SQL_C_INTERVAL_YEAR_TO_MONTH','%SQL_C_LONG','%SQL_C_NUMERIC','%SQL_C_SBIGINT',
-                        '%SQL_C_SHORT','%SQL_C_SLONG','%SQL_C_SSHORT','%SQL_C_STINYINT','%SQL_C_TIME','%SQL_C_TIMESTAMP','%SQL_C_TINYINT','%SQL_C_TYPE_DATE',
-                        '%SQL_C_TYPE_TIME','%SQL_C_TYPE_TIMESTAMP','%SQL_C_UBIGINT','%SQL_C_ULONG','%SQL_C_USHORT','%SQL_C_UTINYINT','%SQL_C_VARBOOKMARK','%SQL_DATABASE_NAME',
-                        '%SQL_DATA_AT_EXEC','%SQL_DATA_SOURCE_NAME','%SQL_DATA_SOURCE_READ_ONLY','%SQL_DATE','%SQL_DATETIME','%SQL_DATETIME_LITERALS','%SQL_DATE_LEN','%SQL_DAY',
-                        '%SQL_DAY_TO_HOUR','%SQL_DAY_TO_MINUTE','%SQL_DAY_TO_SECOND','%SQL_DA_DROP_ASSERTION','%SQL_DBMS_NAME','%SQL_DBMS_VER','%SQL_DB_DEFAULT','%SQL_DB_DISCONNECT',
-                        '%SQL_DB_RETURN_TO_POOL','%SQL_DCS_DROP_CHARACTER_SET','%SQL_DC_DROP_COLLATION','%SQL_DDL_INDEX','%SQL_DD_CASCADE','%SQL_DD_DROP_DOMAIN','%SQL_DD_RESTRICT','%SQL_DECIMAL',
-                        '%SQL_DEFAULT','%SQL_DEFAULT_PARAM','%SQL_DEFAULT_TXN_ISOLATION','%SQL_DELETE','%SQL_DELETE_BY_BOOKMARK','%SQL_DESCRIBE_PARAMETER','%SQL_DESC_ALLOC_AUTO','%SQL_DESC_ALLOC_TYPE',
-                        '%SQL_DESC_ALLOC_USER','%SQL_DESC_ARRAY_SIZE','%SQL_DESC_ARRAY_STATUS_PTR','%SQL_DESC_AUTO_UNIQUE_VALUE','%SQL_DESC_BASE_COLUMN_NAME','%SQL_DESC_BASE_TABLE_NAME','%SQL_DESC_BIND_OFFSET_PTR','%SQL_DESC_BIND_TYPE',
-                        '%SQL_DESC_CASE_SENSITIVE','%SQL_DESC_CATALOG_NAME','%SQL_DESC_CONCISE_TYPE','%SQL_DESC_COUNT','%SQL_DESC_DATA_PTR','%SQL_DESC_DATETIME_INTERVAL_CODE','%SQL_DESC_DATETIME_INTERVAL_PRECISION','%SQL_DESC_DISPLAY_SIZE',
-                        '%SQL_DESC_FIXED_PREC_SCALE','%SQL_DESC_INDICATOR_PTR','%SQL_DESC_LABEL','%SQL_DESC_LENGTH','%SQL_DESC_LITERAL_PREFIX','%SQL_DESC_LITERAL_SUFFIX','%SQL_DESC_LOCAL_TYPE_NAME','%SQL_DESC_MAXIMUM_SCALE',
-                        '%SQL_DESC_MINIMUM_SCALE','%SQL_DESC_NAME','%SQL_DESC_NULLABLE','%SQL_DESC_NUM_PREC_RADIX','%SQL_DESC_OCTET_LENGTH','%SQL_DESC_OCTET_LENGTH_PTR','%SQL_DESC_PARAMETER_TYPE','%SQL_DESC_PRECISION',
-                        '%SQL_DESC_ROWS_PROCESSED_PTR','%SQL_DESC_SCALE','%SQL_DESC_SCHEMA_NAME','%SQL_DESC_SEARCHABLE','%SQL_DESC_TABLE_NAME','%SQL_DESC_TYPE','%SQL_DESC_TYPE_NAME','%SQL_DESC_UNNAMED',
-                        '%SQL_DESC_UNSIGNED','%SQL_DESC_UPDATABLE','%SQL_DIAG_ALTER_TABLE','%SQL_DIAG_CALL','%SQL_DIAG_CLASS_ORIGIN','%SQL_DIAG_COLUMN_NUMBER','%SQL_DIAG_CONNECTION_NAME','%SQL_DIAG_CREATE_INDEX',
-                        '%SQL_DIAG_CREATE_TABLE','%SQL_DIAG_CREATE_VIEW','%SQL_DIAG_CURSOR_ROW_COUNT','%SQL_DIAG_DELETE_WHERE','%SQL_DIAG_DROP_INDEX','%SQL_DIAG_DROP_TABLE','%SQL_DIAG_DROP_VIEW','%SQL_DIAG_DYNAMIC_DELETE_CURSOR',
-                        '%SQL_DIAG_DYNAMIC_FUNCTION','%SQL_DIAG_DYNAMIC_FUNCTION_CODE','%SQL_DIAG_DYNAMIC_UPDATE_CURSOR','%SQL_DIAG_GRANT','%SQL_DIAG_INSERT','%SQL_DIAG_MESSAGE_TEXT','%SQL_DIAG_NATIVE','%SQL_DIAG_NUMBER',
-                        '%SQL_DIAG_RETURNCODE','%SQL_DIAG_REVOKE','%SQL_DIAG_ROW_COUNT','%SQL_DIAG_ROW_NUMBER','%SQL_DIAG_SELECT_CURSOR','%SQL_DIAG_SERVER_NAME','%SQL_DIAG_SQLSTATE','%SQL_DIAG_SUBCLASS_ORIGIN',
-                        '%SQL_DIAG_UNKNOWN_STATEMENT','%SQL_DIAG_UPDATE_WHERE','%SQL_DI_CREATE_INDEX','%SQL_DI_DROP_INDEX','%SQL_DL_SQL92_DATE','%SQL_DL_SQL92_INTERVAL_DAY','%SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR','%SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE',
-                        '%SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND','%SQL_DL_SQL92_INTERVAL_HOUR','%SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE','%SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND','%SQL_DL_SQL92_INTERVAL_MINUTE','%SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND','%SQL_DL_SQL92_INTERVAL_MONTH','%SQL_DL_SQL92_INTERVAL_SECOND',
-                        '%SQL_DL_SQL92_INTERVAL_YEAR','%SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH','%SQL_DL_SQL92_TIME','%SQL_DL_SQL92_TIMESTAMP','%SQL_DM_VER','%SQL_DOUBLE','%SQL_DRIVER_COMPLETE','%SQL_DRIVER_COMPLETE_REQUIRED',
-                        '%SQL_DRIVER_HDBC','%SQL_DRIVER_HDESC','%SQL_DRIVER_HENV','%SQL_DRIVER_HLIB','%SQL_DRIVER_HSTMT','%SQL_DRIVER_NAME','%SQL_DRIVER_NOPROMPT','%SQL_DRIVER_ODBC_VER',
-                        '%SQL_DRIVER_PROMPT','%SQL_DRIVER_VER','%SQL_DROP','%SQL_DROP_ASSERTION','%SQL_DROP_CHARACTER_SET','%SQL_DROP_COLLATION','%SQL_DROP_DOMAIN','%SQL_DROP_SCHEMA',
-                        '%SQL_DROP_TABLE','%SQL_DROP_TRANSLATION','%SQL_DROP_VIEW','%SQL_DS_CASCADE','%SQL_DS_DROP_SCHEMA','%SQL_DS_RESTRICT','%SQL_DTC_DONE','%SQL_DTC_ENLIST_EXPENSIVE',
-                        '%SQL_DTC_TRANSITION_COST','%SQL_DTC_UNENLIST_EXPENSIVE','%SQL_DTR_DROP_TRANSLATION','%SQL_DT_CASCADE','%SQL_DT_DROP_TABLE','%SQL_DT_RESTRICT','%SQL_DV_CASCADE','%SQL_DV_DROP_VIEW',
-                        '%SQL_DV_RESTRICT','%SQL_DYNAMIC_CURSOR_ATTRIBUTES1','%SQL_DYNAMIC_CURSOR_ATTRIBUTES2','%SQL_ENSURE','%SQL_ENTIRE_ROWSET','%SQL_ERROR','%SQL_EXPRESSIONS_IN_ORDERBY','%SQL_FALSE',
-                        '%SQL_FD_FETCH_ABSOLUTE','%SQL_FD_FETCH_BOOKMARK','%SQL_FD_FETCH_FIRST','%SQL_FD_FETCH_LAST','%SQL_FD_FETCH_NEXT','%SQL_FD_FETCH_PREV','%SQL_FD_FETCH_PRIOR','%SQL_FD_FETCH_RELATIVE',
-                        '%SQL_FETCH_ABSOLUTE','%SQL_FETCH_BOOKMARK','%SQL_FETCH_BY_BOOKMARK','%SQL_FETCH_DIRECTION','%SQL_FETCH_FIRST','%SQL_FETCH_FIRST_SYSTEM','%SQL_FETCH_FIRST_USER','%SQL_FETCH_LAST',
-                        '%SQL_FETCH_NEXT','%SQL_FETCH_PREV','%SQL_FETCH_PRIOR','%SQL_FETCH_RELATIVE','%SQL_FILE_CATALOG','%SQL_FILE_NOT_SUPPORTED','%SQL_FILE_QUALIFIER','%SQL_FILE_TABLE',
-                        '%SQL_FILE_USAGE','%SQL_FLOAT','%SQL_FN_CVT_CAST','%SQL_FN_CVT_CONVERT','%SQL_FN_NUM_ABS','%SQL_FN_NUM_ACOS','%SQL_FN_NUM_ASIN','%SQL_FN_NUM_ATAN',
-                        '%SQL_FN_NUM_ATAN2','%SQL_FN_NUM_CEILING','%SQL_FN_NUM_COS','%SQL_FN_NUM_COT','%SQL_FN_NUM_DEGREES','%SQL_FN_NUM_EXP','%SQL_FN_NUM_FLOOR','%SQL_FN_NUM_LOG',
-                        '%SQL_FN_NUM_LOG10','%SQL_FN_NUM_MOD','%SQL_FN_NUM_PI','%SQL_FN_NUM_POWER','%SQL_FN_NUM_RADIANS','%SQL_FN_NUM_RAND','%SQL_FN_NUM_ROUND','%SQL_FN_NUM_SIGN',
-                        '%SQL_FN_NUM_SIN','%SQL_FN_NUM_SQRT','%SQL_FN_NUM_TAN','%SQL_FN_NUM_TRUNCATE','%SQL_FN_STR_ASCII','%SQL_FN_STR_BIT_LENGTH','%SQL_FN_STR_CHAR','%SQL_FN_STR_CHARACTER_LENGTH',
-                        '%SQL_FN_STR_CHAR_LENGTH','%SQL_FN_STR_CONCAT','%SQL_FN_STR_DIFFERENCE','%SQL_FN_STR_INSERT','%SQL_FN_STR_LCASE','%SQL_FN_STR_LEFT','%SQL_FN_STR_LENGTH','%SQL_FN_STR_LOCATE',
-                        '%SQL_FN_STR_LOCATE_2','%SQL_FN_STR_LTRIM','%SQL_FN_STR_OCTET_LENGTH','%SQL_FN_STR_POSITION','%SQL_FN_STR_REPEAT','%SQL_FN_STR_REPLACE','%SQL_FN_STR_RIGHT','%SQL_FN_STR_RTRIM',
-                        '%SQL_FN_STR_SOUNDEX','%SQL_FN_STR_SPACE','%SQL_FN_STR_SUBSTRING','%SQL_FN_STR_UCASE','%SQL_FN_SYS_DBNAME','%SQL_FN_SYS_IFNULL','%SQL_FN_SYS_USERNAME','%SQL_FN_TD_CURDATE',
-                        '%SQL_FN_TD_CURRENT_DATE','%SQL_FN_TD_CURRENT_TIME','%SQL_FN_TD_CURRENT_TIMESTAMP','%SQL_FN_TD_CURTIME','%SQL_FN_TD_DAYNAME','%SQL_FN_TD_DAYOFMONTH','%SQL_FN_TD_DAYOFWEEK','%SQL_FN_TD_DAYOFYEAR',
-                        '%SQL_FN_TD_EXTRACT','%SQL_FN_TD_HOUR','%SQL_FN_TD_MINUTE','%SQL_FN_TD_MONTH','%SQL_FN_TD_MONTHNAME','%SQL_FN_TD_NOW','%SQL_FN_TD_QUARTER','%SQL_FN_TD_SECOND',
-                        '%SQL_FN_TD_TIMESTAMPADD','%SQL_FN_TD_TIMESTAMPDIFF','%SQL_FN_TD_WEEK','%SQL_FN_TD_YEAR','%SQL_FN_TSI_DAY','%SQL_FN_TSI_FRAC_SECOND','%SQL_FN_TSI_HOUR','%SQL_FN_TSI_MINUTE',
-                        '%SQL_FN_TSI_MONTH','%SQL_FN_TSI_QUARTER','%SQL_FN_TSI_SECOND','%SQL_FN_TSI_WEEK','%SQL_FN_TSI_YEAR','%SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1','%SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2','%SQL_GB_COLLATE',
-                        '%SQL_GB_GROUP_BY_CONTAINS_SELECT','%SQL_GB_GROUP_BY_EQUALS_SELECT','%SQL_GB_NOT_SUPPORTED','%SQL_GB_NO_RELATION','%SQL_GD_ANY_COLUMN','%SQL_GD_ANY_ORDER','%SQL_GD_BLOCK','%SQL_GD_BOUND',
-                        '%SQL_GETDATA_EXTENSIONS','%SQL_GET_BOOKMARK','%SQL_GROUP_BY','%SQL_GUID','%SQL_HANDLE_DBC','%SQL_HANDLE_DESC','%SQL_HANDLE_ENV','%SQL_HANDLE_SENV',
-                        '%SQL_HANDLE_STMT','%SQL_HOUR','%SQL_HOUR_TO_MINUTE','%SQL_HOUR_TO_SECOND','%SQL_IC_LOWER','%SQL_IC_MIXED','%SQL_IC_SENSITIVE','%SQL_IC_UPPER',
-                        '%SQL_IDENTIFIER_CASE','%SQL_IDENTIFIER_QUOTE_CHAR','%SQL_IGNORE','%SQL_IK_ALL','%SQL_IK_ASC','%SQL_IK_DESC','%SQL_IK_NONE','%SQL_INDEX_ALL',
-                        '%SQL_INDEX_CLUSTERED','%SQL_INDEX_HASHED','%SQL_INDEX_KEYWORDS','%SQL_INDEX_OTHER','%SQL_INDEX_UNIQUE','%SQL_INFO_FIRST','%SQL_INFO_SCHEMA_VIEWS','%SQL_INITIALLY_DEFERRED',
-                        '%SQL_INITIALLY_IMMEDIATE','%SQL_INSENSITIVE','%SQL_INSERT_STATEMENT','%SQL_INTEGER','%SQL_INTEGRITY','%SQL_INTERVAL','%SQL_INTERVAL_DAY','%SQL_INTERVAL_DAY_TO_HOUR',
-                        '%SQL_INTERVAL_DAY_TO_MINUTE','%SQL_INTERVAL_DAY_TO_SECOND','%SQL_INTERVAL_HOUR','%SQL_INTERVAL_HOUR_TO_MINUTE','%SQL_INTERVAL_HOUR_TO_SECOND','%SQL_INTERVAL_MINUTE','%SQL_INTERVAL_MINUTE_TO_SECOND','%SQL_INTERVAL_MONTH',
-                        '%SQL_INTERVAL_SECOND','%SQL_INTERVAL_YEAR','%SQL_INTERVAL_YEAR_TO_MONTH','%SQL_INVALID_HANDLE','%SQL_ISV_ASSERTIONS','%SQL_ISV_CHARACTER_SETS','%SQL_ISV_CHECK_CONSTRAINTS','%SQL_ISV_COLLATIONS',
-                        '%SQL_ISV_COLUMNS','%SQL_ISV_COLUMN_DOMAIN_USAGE','%SQL_ISV_COLUMN_PRIVILEGES','%SQL_ISV_CONSTRAINT_COLUMN_USAGE','%SQL_ISV_CONSTRAINT_TABLE_USAGE','%SQL_ISV_DOMAINS','%SQL_ISV_DOMAIN_CONSTRAINTS','%SQL_ISV_KEY_COLUMN_USAGE',
-                        '%SQL_ISV_REFERENTIAL_CONSTRAINTS','%SQL_ISV_SCHEMATA','%SQL_ISV_SQL_LANGUAGES','%SQL_ISV_TABLES','%SQL_ISV_TABLE_CONSTRAINTS','%SQL_ISV_TABLE_PRIVILEGES','%SQL_ISV_TRANSLATIONS','%SQL_ISV_USAGE_PRIVILEGES',
-                        '%SQL_ISV_VIEWS','%SQL_ISV_VIEW_COLUMN_USAGE','%SQL_ISV_VIEW_TABLE_USAGE','%SQL_IS_DAY','%SQL_IS_DAY_TO_HOUR','%SQL_IS_DAY_TO_MINUTE','%SQL_IS_DAY_TO_SECOND','%SQL_IS_HOUR',
-                        '%SQL_IS_HOUR_TO_MINUTE','%SQL_IS_HOUR_TO_SECOND','%SQL_IS_INSERT_LITERALS','%SQL_IS_INSERT_SEARCHED','%SQL_IS_INTEGER','%SQL_IS_MINUTE','%SQL_IS_MINUTE_TO_SECOND','%SQL_IS_MONTH',
-                        '%SQL_IS_POINTER','%SQL_IS_SECOND','%SQL_IS_SELECT_INTO','%SQL_IS_SMALLINT','%SQL_IS_UINTEGER','%SQL_IS_USMALLINT','%SQL_IS_YEAR','%SQL_IS_YEAR_TO_MONTH',
-                        '%SQL_KEYSET_CURSOR_ATTRIBUTES1','%SQL_KEYSET_CURSOR_ATTRIBUTES2','%SQL_KEYSET_SIZE','%SQL_KEYSET_SIZE_DEFAULT','%SQL_KEYWORDS','%SQL_LCK_EXCLUSIVE','%SQL_LCK_NO_CHANGE','%SQL_LCK_UNLOCK',
-                        '%SQL_LEN_BINARY_ATTR_OFFSET','%SQL_LEN_DATA_AT_EXEC_OFFSET','%SQL_LIKE_ESCAPE_CLAUSE','%SQL_LIKE_ONLY','%SQL_LOCK_EXCLUSIVE','%SQL_LOCK_NO_CHANGE','%SQL_LOCK_TYPES','%SQL_LOCK_UNLOCK',
-                        '%SQL_LOGIN_TIMEOUT','%SQL_LOGIN_TIMEOUT_DEFAULT','%SQL_LONGVARBINARY','%SQL_LONGVARCHAR','%SQL_MAXIMUM_CATALOG_NAME_LENGTH','%SQL_MAXIMUM_COLUMNS_IN_GROUP_BY','%SQL_MAXIMUM_COLUMNS_IN_INDEX','%SQL_MAXIMUM_COLUMNS_IN_ORDER_BY',
-                        '%SQL_MAXIMUM_COLUMNS_IN_SELECT','%SQL_MAXIMUM_COLUMN_NAME_LENGTH','%SQL_MAXIMUM_CONCURRENT_ACTIVITIES','%SQL_MAXIMUM_CURSOR_NAME_LENGTH','%SQL_MAXIMUM_DRIVER_CONNECTIONS','%SQL_MAXIMUM_IDENTIFIER_LENGTH','%SQL_MAXIMUM_INDEX_SIZE','%SQL_MAXIMUM_ROW_SIZE',
-                        '%SQL_MAXIMUM_SCHEMA_NAME_LENGTH','%SQL_MAXIMUM_STATEMENT_LENGTH','%SQL_MAXIMUM_TABLES_IN_SELECT','%SQL_MAXIMUM_USER_NAME_LENGTH','%SQL_MAX_ASYNC_CONCURRENT_STATEMENTS','%SQL_MAX_BINARY_LITERAL_LEN','%SQL_MAX_CATALOG_NAME_LEN','%SQL_MAX_CHAR_LITERAL_LEN',
-                        '%SQL_MAX_COLUMNS_IN_GROUP_BY','%SQL_MAX_COLUMNS_IN_INDEX','%SQL_MAX_COLUMNS_IN_ORDER_BY','%SQL_MAX_COLUMNS_IN_SELECT','%SQL_MAX_COLUMNS_IN_TABLE','%SQL_MAX_COLUMN_NAME_LEN','%SQL_MAX_CONCURRENT_ACTIVITIES','%SQL_MAX_CURSOR_NAME_LEN',
-                        '%SQL_MAX_DRIVER_CONNECTIONS','%SQL_MAX_DSN_LENGTH','%SQL_MAX_IDENTIFIER_LEN','%SQL_MAX_INDEX_SIZE','%SQL_MAX_LENGTH','%SQL_MAX_LENGTH_DEFAULT','%SQL_MAX_MESSAGE_LENGTH','%SQL_MAX_NUMERIC_LEN',
-                        '%SQL_MAX_OPTION_STRING_LENGTH','%SQL_MAX_OWNER_NAME_LEN','%SQL_MAX_PROCEDURE_NAME_LEN','%SQL_MAX_QUALIFIER_NAME_LEN','%SQL_MAX_ROWS','%SQL_MAX_ROWS_DEFAULT','%SQL_MAX_ROW_SIZE','%SQL_MAX_ROW_SIZE_INCLUDES_LONG',
-                        '%SQL_MAX_SCHEMA_NAME_LEN','%SQL_MAX_STATEMENT_LEN','%SQL_MAX_TABLES_IN_SELECT','%SQL_MAX_TABLE_NAME_LEN','%SQL_MAX_USER_NAME_LEN','%SQL_MINUTE','%SQL_MINUTE_TO_SECOND','%SQL_MODE_DEFAULT',
-                        '%SQL_MODE_READ_ONLY','%SQL_MODE_READ_WRITE','%SQL_MONTH','%SQL_MULTIPLE_ACTIVE_TXN','%SQL_MULT_RESULT_SETS','%SQL_NAMED','%SQL_NC_END','%SQL_NC_HIGH',
-                        '%SQL_NC_LOW','%SQL_NC_START','%SQL_NEED_DATA','%SQL_NEED_LONG_DATA_LEN','%SQL_NNC_NON_NULL','%SQL_NNC_NULL','%SQL_NONSCROLLABLE','%SQL_NON_NULLABLE_COLUMNS',
-                        '%SQL_NOSCAN','%SQL_NOSCAN_DEFAULT','%SQL_NOSCAN_OFF','%SQL_NOSCAN_ON','%SQL_NOT_DEFERRABLE','%SQL_NO_ACTION','%SQL_NO_COLUMN_NUMBER','%SQL_NO_DATA',
-                        '%SQL_NO_DATA_FOUND','%SQL_NO_NULLS','%SQL_NO_ROW_NUMBER','%SQL_NO_TOTAL','%SQL_NTS','%SQL_NTSL','%SQL_NULLABLE','%SQL_NULLABLE_UNKNOWN',
-                        '%SQL_NULL_COLLATION','%SQL_NULL_DATA','%SQL_NULL_HANDLE','%SQL_NULL_HDBC','%SQL_NULL_HDESC','%SQL_NULL_HENV','%SQL_NULL_HSTMT','%SQL_NUMERIC',
-                        '%SQL_NUMERIC_FUNCTIONS','%SQL_OAC_LEVEL1','%SQL_OAC_LEVEL2','%SQL_OAC_NONE','%SQL_ODBC_API_CONFORMANCE','%SQL_ODBC_CURSORS','%SQL_ODBC_INTERFACE_CONFORMANCE','%SQL_ODBC_SAG_CLI_CONFORMANCE',
-                        '%SQL_ODBC_SQL_CONFORMANCE','%SQL_ODBC_SQL_OPT_IEF','%SQL_ODBC_VER','%SQL_OIC_CORE','%SQL_OIC_LEVEL1','%SQL_OIC_LEVEL2','%SQL_OJ_ALL_COMPARISON_OPS','%SQL_OJ_CAPABILITIES',
-                        '%SQL_OJ_FULL','%SQL_OJ_INNER','%SQL_OJ_LEFT','%SQL_OJ_NESTED','%SQL_OJ_NOT_ORDERED','%SQL_OJ_RIGHT','%SQL_OPT_TRACE','%SQL_OPT_TRACEFILE',
-                        '%SQL_OPT_TRACE_DEFAULT','%SQL_OPT_TRACE_OFF','%SQL_OPT_TRACE_ON','%SQL_ORDER_BY_COLUMNS_IN_SELECT','%SQL_OSCC_COMPLIANT','%SQL_OSCC_NOT_COMPLIANT','%SQL_OSC_CORE','%SQL_OSC_EXTENDED',
-                        '%SQL_OSC_MINIMUM','%SQL_OUTER_JOINS','%SQL_OUTER_JOIN_CAPABILITIES','%SQL_OU_DML_STATEMENTS','%SQL_OU_INDEX_DEFINITION','%SQL_OU_PRIVILEGE_DEFINITION','%SQL_OU_PROCEDURE_INVOCATION','%SQL_OU_TABLE_DEFINITION',
-                        '%SQL_OV_ODBC2','%SQL_OV_ODBC3','%SQL_OWNER_TERM','%SQL_OWNER_USAGE','%SQL_PACKET_SIZE','%SQL_PARAM_ARRAY_ROW_COUNTS','%SQL_PARAM_ARRAY_SELECTS','%SQL_PARAM_BIND_BY_COLUMN',
-                        '%SQL_PARAM_BIND_TYPE_DEFAULT','%SQL_PARAM_DIAG_UNAVAILABLE','%SQL_PARAM_ERROR','%SQL_PARAM_IGNORE','%SQL_PARAM_INPUT','%SQL_PARAM_INPUT_OUTPUT','%SQL_PARAM_OUTPUT','%SQL_PARAM_PROCEED',
-                        '%SQL_PARAM_SUCCESS','%SQL_PARAM_SUCCESS_WITH_INFO','%SQL_PARAM_TYPE_DEFAULT','%SQL_PARAM_TYPE_UNKNOWN','%SQL_PARAM_UNUSED','%SQL_PARC_BATCH','%SQL_PARC_NO_BATCH','%SQL_PAS_BATCH',
-                        '%SQL_PAS_NO_BATCH','%SQL_PAS_NO_SELECT','%SQL_PC_NON_PSEUDO','%SQL_PC_NOT_PSEUDO','%SQL_PC_PSEUDO','%SQL_PC_UNKNOWN','%SQL_POSITION','%SQL_POSITIONED_STATEMENTS',
-                        '%SQL_POS_ADD','%SQL_POS_DELETE','%SQL_POS_OPERATIONS','%SQL_POS_POSITION','%SQL_POS_REFRESH','%SQL_POS_UPDATE','%SQL_PRED_BASIC','%SQL_PRED_CHAR',
-                        '%SQL_PRED_NONE','%SQL_PRED_SEARCHABLE','%SQL_PROCEDURES','%SQL_PROCEDURE_TERM','%SQL_PS_POSITIONED_DELETE','%SQL_PS_POSITIONED_UPDATE','%SQL_PS_SELECT_FOR_UPDATE','%SQL_PT_FUNCTION',
-                        '%SQL_PT_PROCEDURE','%SQL_PT_UNKNOWN','%SQL_QL_END','%SQL_QL_START','%SQL_QUALIFIER_LOCATION','%SQL_QUALIFIER_NAME_SEPARATOR','%SQL_QUALIFIER_TERM','%SQL_QUALIFIER_USAGE',
-                        '%SQL_QUERY_TIMEOUT','%SQL_QUERY_TIMEOUT_DEFAULT','%SQL_QUICK','%SQL_QUIET_MODE','%SQL_QUOTED_IDENTIFIER_CASE','%SQL_QU_DML_STATEMENTS','%SQL_QU_INDEX_DEFINITION','%SQL_QU_PRIVILEGE_DEFINITION',
-                        '%SQL_QU_PROCEDURE_INVOCATION','%SQL_QU_TABLE_DEFINITION','%SQL_RD_DEFAULT','%SQL_RD_OFF','%SQL_RD_ON','%SQL_REAL','%SQL_REFRESH','%SQL_RESET_PARAMS',
-                        '%SQL_RESTRICT','%SQL_RESULT_COL','%SQL_RETRIEVE_DATA','%SQL_RETURN_VALUE','%SQL_ROLLBACK','%SQL_ROWSET_SIZE','%SQL_ROWSET_SIZE_DEFAULT','%SQL_ROWVER',
-                        '%SQL_ROW_ADDED','%SQL_ROW_DELETED','%SQL_ROW_ERROR','%SQL_ROW_IDENTIFIER','%SQL_ROW_IGNORE','%SQL_ROW_NOROW','%SQL_ROW_NUMBER','%SQL_ROW_NUMBER_UNKNOWN',
-                        '%SQL_ROW_PROCEED','%SQL_ROW_SUCCESS','%SQL_ROW_SUCCESS_WITH_INFO','%SQL_ROW_UPDATED','%SQL_ROW_UPDATES','%SQL_SCCO_LOCK','%SQL_SCCO_OPT_ROWVER','%SQL_SCCO_OPT_TIMESTAMP',
-                        '%SQL_SCCO_OPT_VALUES','%SQL_SCCO_READ_ONLY','%SQL_SCC_ISO92_CLI','%SQL_SCC_XOPEN_CLI_VERSION1','%SQL_SCHEMA_TERM','%SQL_SCHEMA_USAGE','%SQL_SCOPE_CURROW','%SQL_SCOPE_SESSION',
-                        '%SQL_SCOPE_TRANSACTION','%SQL_SCROLLABLE','%SQL_SCROLL_CONCURRENCY','%SQL_SCROLL_DYNAMIC','%SQL_SCROLL_FORWARD_ONLY','%SQL_SCROLL_KEYSET_DRIVEN','%SQL_SCROLL_OPTIONS','%SQL_SCROLL_STATIC',
-                        '%SQL_SC_FIPS127_2_TRANSITIONAL','%SQL_SC_NON_UNIQUE','%SQL_SC_SQL92_ENTRY','%SQL_SC_SQL92_FULL','%SQL_SC_SQL92_INTERMEDIATE','%SQL_SC_TRY_UNIQUE','%SQL_SC_UNIQUE','%SQL_SDF_CURRENT_DATE',
-                        '%SQL_SDF_CURRENT_TIME','%SQL_SDF_CURRENT_TIMESTAMP','%SQL_SEARCHABLE','%SQL_SEARCH_PATTERN_ESCAPE','%SQL_SECOND','%SQL_SENSITIVE','%SQL_SERVER_NAME','%SQL_SETPARAM_VALUE_MAX',
-                        '%SQL_SETPOS_MAX_LOCK_VALUE','%SQL_SETPOS_MAX_OPTION_VALUE','%SQL_SET_DEFAULT','%SQL_SET_NULL','%SQL_SFKD_CASCADE','%SQL_SFKD_NO_ACTION','%SQL_SFKD_SET_DEFAULT','%SQL_SFKD_SET_NULL',
-                        '%SQL_SFKU_CASCADE','%SQL_SFKU_NO_ACTION','%SQL_SFKU_SET_DEFAULT','%SQL_SFKU_SET_NULL','%SQL_SG_DELETE_TABLE','%SQL_SG_INSERT_COLUMN','%SQL_SG_INSERT_TABLE','%SQL_SG_REFERENCES_COLUMN',
-                        '%SQL_SG_REFERENCES_TABLE','%SQL_SG_SELECT_TABLE','%SQL_SG_UPDATE_COLUMN','%SQL_SG_UPDATE_TABLE','%SQL_SG_USAGE_ON_CHARACTER_SET','%SQL_SG_USAGE_ON_COLLATION','%SQL_SG_USAGE_ON_DOMAIN','%SQL_SG_USAGE_ON_TRANSLATION',
-                        '%SQL_SG_WITH_GRANT_OPTION','%SQL_SIGNED_OFFSET','%SQL_SIMULATE_CURSOR','%SQL_SMALLINT','%SQL_SNVF_BIT_LENGTH','%SQL_SNVF_CHARACTER_LENGTH','%SQL_SNVF_CHAR_LENGTH','%SQL_SNVF_EXTRACT',
-                        '%SQL_SNVF_OCTET_LENGTH','%SQL_SNVF_POSITION','%SQL_SO_DYNAMIC','%SQL_SO_FORWARD_ONLY','%SQL_SO_KEYSET_DRIVEN','%SQL_SO_MIXED','%SQL_SO_STATIC','%SQL_SPECIAL_CHARACTERS',
-                        '%SQL_SPEC_MAJOR','%SQL_SPEC_MINOR','%SQL_SP_BETWEEN','%SQL_SP_COMPARISON','%SQL_SP_EXISTS','%SQL_SP_IN','%SQL_SP_ISNOTNULL','%SQL_SP_ISNULL',
-                        '%SQL_SP_LIKE','%SQL_SP_MATCH_FULL','%SQL_SP_MATCH_PARTIAL','%SQL_SP_MATCH_UNIQUE_FULL','%SQL_SP_MATCH_UNIQUE_PARTIAL','%SQL_SP_OVERLAPS','%SQL_SP_QUANTIFIED_COMPARISON','%SQL_SP_UNIQUE',
-                        '%SQL_SQL92_DATETIME_FUNCTIONS','%SQL_SQL92_FOREIGN_KEY_DELETE_RULE','%SQL_SQL92_FOREIGN_KEY_UPDATE_RULE','%SQL_SQL92_GRANT','%SQL_SQL92_NUMERIC_VALUE_FUNCTIONS','%SQL_SQL92_PREDICATES','%SQL_SQL92_RELATIONAL_JOIN_OPERATORS','%SQL_SQL92_REVOKE',
-                        '%SQL_SQL92_ROW_VALUE_CONSTRUCTOR','%SQL_SQL92_STRING_FUNCTIONS','%SQL_SQL92_VALUE_EXPRESSIONS','%SQL_SQLSTATE_SIZE','%SQL_SQL_CONFORMANCE','%SQL_SQ_COMPARISON','%SQL_SQ_CORRELATED_SUBQUERIES','%SQL_SQ_EXISTS',
-                        '%SQL_SQ_IN','%SQL_SQ_QUANTIFIED','%SQL_SRJO_CORRESPONDING_CLAUSE','%SQL_SRJO_CROSS_JOIN','%SQL_SRJO_EXCEPT_JOIN','%SQL_SRJO_FULL_OUTER_JOIN','%SQL_SRJO_INNER_JOIN','%SQL_SRJO_INTERSECT_JOIN',
-                        '%SQL_SRJO_LEFT_OUTER_JOIN','%SQL_SRJO_NATURAL_JOIN','%SQL_SRJO_RIGHT_OUTER_JOIN','%SQL_SRJO_UNION_JOIN','%SQL_SRVC_DEFAULT','%SQL_SRVC_NULL','%SQL_SRVC_ROW_SUBQUERY','%SQL_SRVC_VALUE_EXPRESSION',
-                        '%SQL_SR_CASCADE','%SQL_SR_DELETE_TABLE','%SQL_SR_GRANT_OPTION_FOR','%SQL_SR_INSERT_COLUMN','%SQL_SR_INSERT_TABLE','%SQL_SR_REFERENCES_COLUMN','%SQL_SR_REFERENCES_TABLE','%SQL_SR_RESTRICT',
-                        '%SQL_SR_SELECT_TABLE','%SQL_SR_UPDATE_COLUMN','%SQL_SR_UPDATE_TABLE','%SQL_SR_USAGE_ON_CHARACTER_SET','%SQL_SR_USAGE_ON_COLLATION','%SQL_SR_USAGE_ON_DOMAIN','%SQL_SR_USAGE_ON_TRANSLATION','%SQL_SSF_CONVERT',
-                        '%SQL_SSF_LOWER','%SQL_SSF_SUBSTRING','%SQL_SSF_TRANSLATE','%SQL_SSF_TRIM_BOTH','%SQL_SSF_TRIM_LEADING','%SQL_SSF_TRIM_TRAILING','%SQL_SSF_UPPER','%SQL_SS_ADDITIONS',
-                        '%SQL_SS_DELETIONS','%SQL_SS_UPDATES','%SQL_STANDARD_CLI_CONFORMANCE','%SQL_STATIC_CURSOR_ATTRIBUTES1','%SQL_STATIC_CURSOR_ATTRIBUTES2','%SQL_STATIC_SENSITIVITY','%SQL_STILL_EXECUTING','%SQL_STRING_FUNCTIONS',
-                        '%SQL_SUBQUERIES','%SQL_SUCCESS','%SQL_SUCCESS_WITH_INFO','%SQL_SU_DML_STATEMENTS','%SQL_SU_INDEX_DEFINITION','%SQL_SU_PRIVILEGE_DEFINITION','%SQL_SU_PROCEDURE_INVOCATION','%SQL_SU_TABLE_DEFINITION',
-                        '%SQL_SVE_CASE','%SQL_SVE_CAST','%SQL_SVE_COALESCE','%SQL_SVE_NULLIF','%SQL_SYSTEM_FUNCTIONS','%SQL_TABLE_STAT','%SQL_TABLE_TERM','%SQL_TC_ALL',
-                        '%SQL_TC_DDL_COMMIT','%SQL_TC_DDL_IGNORE','%SQL_TC_DML','%SQL_TC_NONE','%SQL_TIME','%SQL_TIMEDATE_ADD_INTERVALS','%SQL_TIMEDATE_DIFF_INTERVALS','%SQL_TIMEDATE_FUNCTIONS',
-                        '%SQL_TIMESTAMP','%SQL_TIMESTAMP_LEN','%SQL_TIME_LEN','%SQL_TINYINT','%SQL_TRANSACTION_CAPABLE','%SQL_TRANSACTION_ISOLATION_OPTION','%SQL_TRANSACTION_READ_COMMITTED','%SQL_TRANSACTION_READ_UNCOMMITTED',
-                        '%SQL_TRANSACTION_REPEATABLE_READ','%SQL_TRANSACTION_SERIALIZABLE','%SQL_TRANSLATE_DLL','%SQL_TRANSLATE_OPTION','%SQL_TRUE','%SQL_TXN_CAPABLE','%SQL_TXN_ISOLATION','%SQL_TXN_ISOLATION_OPTION',
-                        '%SQL_TXN_READ_COMMITTED','%SQL_TXN_READ_UNCOMMITTED','%SQL_TXN_REPEATABLE_READ','%SQL_TXN_SERIALIZABLE','%SQL_TYPE_DATE','%SQL_TYPE_NULL','%SQL_TYPE_TIME','%SQL_TYPE_TIMESTAMP',
-                        '%SQL_UB_DEFAULT','%SQL_UB_FIXED','%SQL_UB_OFF','%SQL_UB_ON','%SQL_UB_VARIABLE','%SQL_UNBIND','%SQL_UNICODE','%SQL_UNICODE_CHAR',
-                        '%SQL_UNICODE_LONGVARCHAR','%SQL_UNICODE_VARCHAR','%SQL_UNION','%SQL_UNION_STATEMENT','%SQL_UNKNOWN_TYPE','%SQL_UNNAMED','%SQL_UNSEARCHABLE','%SQL_UNSIGNED_OFFSET',
-                        '%SQL_UNSPECIFIED','%SQL_UPDATE','%SQL_UPDATE_BY_BOOKMARK','%SQL_USER_NAME','%SQL_USE_BOOKMARKS','%SQL_US_UNION','%SQL_US_UNION_ALL','%SQL_U_UNION',
-                        '%SQL_U_UNION_ALL','%SQL_VARBINARY','%SQL_VARCHAR','%SQL_XOPEN_CLI_YEAR','%SQL_YEAR','%SQL_YEAR_TO_MONTH','%SRCCOPY','%SS_BITMAP',
-                        '%SS_BLACKFRAME','%SS_BLACKRECT','%SS_CENTER','%SS_CENTERIMAGE','%SS_ENDELLIPSIS','%SS_ETCHEDFRAME','%SS_ETCHEDHORZ','%SS_ETCHEDVERT',
-                        '%SS_GRAYFRAME','%SS_GRAYRECT','%SS_LEFT','%SS_NOPREFIX','%SS_NOTIFY','%SS_NOWORDWRAP','%SS_PATHELLIPSIS','%SS_RIGHT',
-                        '%SS_RIGHTJUST','%SS_SIMPLE','%SS_SUNKEN','%SS_WHITEFRAME','%SS_WHITERECT','%SS_WORDELLIPSIS','%STAT_FILL_FROM_MEMORY','%STAT_FILL_NATURAL',
-                        '%STAT_FILL_NATURAL_ERASTONE','%STAT_FILL_NATURAL_EVEN','%STAT_FILL_NATURAL_FIBONACCI','%STAT_FILL_NATURAL_ODD','%STAT_FILL_WITH_NUMBER','%STAT_MINMAX_INDEX','%STAT_MINMAX_VALUE','%STAT_TYPE_BYTE',
-                        '%STAT_TYPE_CURRENCY','%STAT_TYPE_DOUBLE','%STAT_TYPE_DWORD','%STAT_TYPE_EXT','%STAT_TYPE_INTEGER','%STAT_TYPE_LONG','%STAT_TYPE_QUAD','%STAT_TYPE_SINGLE',
-                        '%STAT_TYPE_WORD','%SWP_ASYNCWINDOWPOS','%SWP_DEFERERASE','%SWP_DRAWFRAME','%SWP_FRAMECHANGED','%SWP_HIDEWINDOW','%SWP_NOACTIVATE','%SWP_NOCOPYBITS',
-                        '%SWP_NOMOVE','%SWP_NOOWNERZORDER','%SWP_NOREDRAW','%SWP_NOREPOSITION','%SWP_NOSENDCHANGING','%SWP_NOSIZE','%SWP_NOZORDER','%SWP_SHOWWINDOW',
-                        '%SW_FORCEMINIMIZE','%SW_HIDE','%SW_MAXIMIZE','%SW_MINIMIZE','%SW_NORMAL','%SW_RESTORE','%SW_SHOW','%SW_SHOWDEFAULT',
-                        '%SW_SHOWMAXIMIZED','%SW_SHOWMINIMIZED','%SW_SHOWMINNOACTIVE','%SW_SHOWNA','%SW_SHOWNOACTIVATE','%SW_SHOWNORMAL','%TBASS_3DALG_DEFAULT','%TBASS_3DALG_FULL',
-                        '%TBASS_3DALG_LIGHT','%TBASS_3DALG_OFF','%TBASS_3DMODE_NORMAL','%TBASS_3DMODE_OFF','%TBASS_3DMODE_RELATIVE','%TBASS_ACTIVE_PAUSED','%TBASS_ACTIVE_PLAYING','%TBASS_ACTIVE_STALLED',
-                        '%TBASS_ACTIVE_STOPPED','%TBASS_CONFIG_3DALGORITHM','%TBASS_CONFIG_BUFFER','%TBASS_CONFIG_CURVE_PAN','%TBASS_CONFIG_CURVE_VOL','%TBASS_CONFIG_FLOATDSP','%TBASS_CONFIG_GVOL_MUSIC','%TBASS_CONFIG_GVOL_SAMPLE',
-                        '%TBASS_CONFIG_GVOL_STREAM','%TBASS_CONFIG_MAXVOL','%TBASS_CONFIG_MP3_CODEC','%TBASS_CONFIG_NET_AGENT','%TBASS_CONFIG_NET_BUFFER','%TBASS_CONFIG_NET_PASSIVE','%TBASS_CONFIG_NET_PREBUF','%TBASS_CONFIG_NET_PROXY',
-                        '%TBASS_CONFIG_NET_TIMEOUT','%TBASS_CONFIG_PAUSE_NOPLAY','%TBASS_CONFIG_UPDATEPERIOD','%TBASS_CTYPE_MUSIC_IT','%TBASS_CTYPE_MUSIC_MO3','%TBASS_CTYPE_MUSIC_MOD','%TBASS_CTYPE_MUSIC_MTM','%TBASS_CTYPE_MUSIC_S3M',
-                        '%TBASS_CTYPE_MUSIC_XM','%TBASS_CTYPE_RECORD','%TBASS_CTYPE_SAMPLE','%TBASS_CTYPE_STREAM','%TBASS_CTYPE_STREAM_AIFF','%TBASS_CTYPE_STREAM_MP1','%TBASS_CTYPE_STREAM_MP2','%TBASS_CTYPE_STREAM_MP3',
-                        '%TBASS_CTYPE_STREAM_OGG','%TBASS_CTYPE_STREAM_WAV','%TBASS_CTYPE_STREAM_WAV_FLOAT','%TBASS_CTYPE_STREAM_WAV_PCM','%TBASS_DATA_AVAILABLE','%TBASS_DATA_FFT1024','%TBASS_DATA_FFT2048','%TBASS_DATA_FFT4096',
-                        '%TBASS_DATA_FFT512','%TBASS_DATA_FFT_INDIVIDUAL','%TBASS_DATA_FFT_NOWINDOW','%TBASS_DATA_FLOAT','%TBASS_DEVICE_3D','%TBASS_DEVICE_8BITS','%TBASS_DEVICE_LATENCY','%TBASS_DEVICE_MONO',
-                        '%TBASS_DEVICE_NOSPEAKER','%TBASS_DEVICE_SPEAKERS','%TBASS_EAX_ENVIRONMENT_ALLEY','%TBASS_EAX_ENVIRONMENT_ARENA','%TBASS_EAX_ENVIRONMENT_AUDITORIUM','%TBASS_EAX_ENVIRONMENT_BATHROOM','%TBASS_EAX_ENVIRONMENT_CARPETEDHALLWAY','%TBASS_EAX_ENVIRONMENT_CAVE',
-                        '%TBASS_EAX_ENVIRONMENT_CITY','%TBASS_EAX_ENVIRONMENT_CONCERTHALL','%TBASS_EAX_ENVIRONMENT_COUNT','%TBASS_EAX_ENVIRONMENT_DIZZY','%TBASS_EAX_ENVIRONMENT_DRUGGED','%TBASS_EAX_ENVIRONMENT_FOREST','%TBASS_EAX_ENVIRONMENT_GENERIC','%TBASS_EAX_ENVIRONMENT_HALLWAY',
-                        '%TBASS_EAX_ENVIRONMENT_HANGAR','%TBASS_EAX_ENVIRONMENT_LIVINGROOM','%TBASS_EAX_ENVIRONMENT_MOUNTAINS','%TBASS_EAX_ENVIRONMENT_PADDEDCELL','%TBASS_EAX_ENVIRONMENT_PARKINGLOT','%TBASS_EAX_ENVIRONMENT_PLAIN','%TBASS_EAX_ENVIRONMENT_PSYCHOTIC','%TBASS_EAX_ENVIRONMENT_QUARRY',
-                        '%TBASS_EAX_ENVIRONMENT_ROOM','%TBASS_EAX_ENVIRONMENT_SEWERPIPE','%TBASS_EAX_ENVIRONMENT_STONECORRIDOR','%TBASS_EAX_ENVIRONMENT_STONEROOM','%TBASS_EAX_ENVIRONMENT_UNDERWATER','%TBASS_ERROR_ALREADY','%TBASS_ERROR_BUFLOST','%TBASS_ERROR_CODEC',
-                        '%TBASS_ERROR_CREATE','%TBASS_ERROR_DECODE','%TBASS_ERROR_DEVICE','%TBASS_ERROR_DRIVER','%TBASS_ERROR_DX','%TBASS_ERROR_EMPTY','%TBASS_ERROR_FILEFORM','%TBASS_ERROR_FILEOPEN',
-                        '%TBASS_ERROR_FORMAT','%TBASS_ERROR_FREQ','%TBASS_ERROR_HANDLE','%TBASS_ERROR_ILLPARAM','%TBASS_ERROR_ILLTYPE','%TBASS_ERROR_INIT','%TBASS_ERROR_MEM','%TBASS_ERROR_NO3D',
-                        '%TBASS_ERROR_NOCHAN','%TBASS_ERROR_NOEAX','%TBASS_ERROR_NOFX','%TBASS_ERROR_NOHW','%TBASS_ERROR_NONET','%TBASS_ERROR_NOPAUSE','%TBASS_ERROR_NOPLAY','%TBASS_ERROR_NOTAVAIL',
-                        '%TBASS_ERROR_NOTFILE','%TBASS_ERROR_PLAYING','%TBASS_ERROR_POSITION','%TBASS_ERROR_SPEAKER','%TBASS_ERROR_START','%TBASS_ERROR_TIMEOUT','%TBASS_ERROR_UNKNOWN','%TBASS_ERROR_VERSION',
-                        '%TBASS_FALSE','%TBASS_FILEPOS_CURRENT','%TBASS_FILEPOS_DECODE','%TBASS_FILEPOS_DOWNLOAD','%TBASS_FILEPOS_END','%TBASS_FILEPOS_START','%TBASS_FILE_CLOSE','%TBASS_FILE_LEN',
-                        '%TBASS_FILE_READ','%TBASS_FILE_SEEK','%TBASS_FX_CHORUS','%TBASS_FX_COMPRESSOR','%TBASS_FX_DISTORTION','%TBASS_FX_ECHO','%TBASS_FX_FLANGER','%TBASS_FX_GARGLE',
-                        '%TBASS_FX_I3DL2REVERB','%TBASS_FX_PARAMEQ','%TBASS_FX_PHASE_180','%TBASS_FX_PHASE_90','%TBASS_FX_PHASE_NEG_180','%TBASS_FX_PHASE_NEG_90','%TBASS_FX_PHASE_ZERO','%TBASS_FX_REVERB',
-                        '%TBASS_INPUT_LEVEL','%TBASS_INPUT_OFF','%TBASS_INPUT_ON','%TBASS_INPUT_TYPE_ANALOG','%TBASS_INPUT_TYPE_AUX','%TBASS_INPUT_TYPE_CD','%TBASS_INPUT_TYPE_DIGITAL','%TBASS_INPUT_TYPE_LINE',
-                        '%TBASS_INPUT_TYPE_MASK','%TBASS_INPUT_TYPE_MIC','%TBASS_INPUT_TYPE_PHONE','%TBASS_INPUT_TYPE_SPEAKER','%TBASS_INPUT_TYPE_SYNTH','%TBASS_INPUT_TYPE_UNDEF','%TBASS_INPUT_TYPE_WAVE','%TBASS_MP3_SETPOS',
-                        '%TBASS_MUSIC_3D','%TBASS_MUSIC_ATTRIB_AMPLIFY','%TBASS_MUSIC_ATTRIB_BPM','%TBASS_MUSIC_ATTRIB_PANSEP','%TBASS_MUSIC_ATTRIB_PSCALER','%TBASS_MUSIC_ATTRIB_SPEED','%TBASS_MUSIC_ATTRIB_VOL_CHAN','%TBASS_MUSIC_ATTRIB_VOL_GLOBAL',
-                        '%TBASS_MUSIC_ATTRIB_VOL_INST','%TBASS_MUSIC_AUTOFREE','%TBASS_MUSIC_CALCLEN','%TBASS_MUSIC_DECODE','%TBASS_MUSIC_FLOAT','%TBASS_MUSIC_FT2MOD','%TBASS_MUSIC_FX','%TBASS_MUSIC_LOOP',
-                        '%TBASS_MUSIC_MONO','%TBASS_MUSIC_NONINTER','%TBASS_MUSIC_NOSAMPLE','%TBASS_MUSIC_POSRESET','%TBASS_MUSIC_POSRESETEX','%TBASS_MUSIC_PRESCAN','%TBASS_MUSIC_PT1MOD','%TBASS_MUSIC_RAMP',
-                        '%TBASS_MUSIC_RAMPS','%TBASS_MUSIC_STOPBACK','%TBASS_MUSIC_SURROUND','%TBASS_MUSIC_SURROUND2','%TBASS_OBJECT_DS','%TBASS_OBJECT_DS3DL','%TBASS_OK','%TBASS_RECORD_PAUSE',
-                        '%TBASS_SAMPLE_3D','%TBASS_SAMPLE_8BITS','%TBASS_SAMPLE_FLOAT','%TBASS_SAMPLE_FX','%TBASS_SAMPLE_LOOP','%TBASS_SAMPLE_MONO','%TBASS_SAMPLE_MUTEMAX','%TBASS_SAMPLE_OVER_DIST',
-                        '%TBASS_SAMPLE_OVER_POS','%TBASS_SAMPLE_OVER_VOL','%TBASS_SAMPLE_SOFTWARE','%TBASS_SAMPLE_VAM','%TBASS_SLIDE_FREQ','%TBASS_SLIDE_PAN','%TBASS_SLIDE_VOL','%TBASS_SPEAKER_CENLFE',
-                        '%TBASS_SPEAKER_CENTER','%TBASS_SPEAKER_FRONT','%TBASS_SPEAKER_FRONTLEFT','%TBASS_SPEAKER_FRONTRIGHT','%TBASS_SPEAKER_LEFT','%TBASS_SPEAKER_LFE','%TBASS_SPEAKER_REAR','%TBASS_SPEAKER_REAR2',
-                        '%TBASS_SPEAKER_REAR2LEFT','%TBASS_SPEAKER_REAR2RIGHT','%TBASS_SPEAKER_REARLEFT','%TBASS_SPEAKER_REARRIGHT','%TBASS_SPEAKER_RIGHT','%TBASS_STREAMPROC_END','%TBASS_STREAM_AUTOFREE','%TBASS_STREAM_BLOCK',
-                        '%TBASS_STREAM_DECODE','%TBASS_STREAM_PRESCAN','%TBASS_STREAM_RESTRATE','%TBASS_STREAM_STATUS','%TBASS_SYNC_DOWNLOAD','%TBASS_SYNC_END','%TBASS_SYNC_FREE','%TBASS_SYNC_MESSAGE',
-                        '%TBASS_SYNC_META','%TBASS_SYNC_MIXTIME','%TBASS_SYNC_MUSICFX','%TBASS_SYNC_MUSICINST','%TBASS_SYNC_MUSICPOS','%TBASS_SYNC_ONETIME','%TBASS_SYNC_POS','%TBASS_SYNC_SLIDE',
-                        '%TBASS_SYNC_STALL','%TBASS_TAG_HTTP','%TBASS_TAG_ICY','%TBASS_TAG_ID3','%TBASS_TAG_ID3V2','%TBASS_TAG_META','%TBASS_TAG_MUSIC_INST','%TBASS_TAG_MUSIC_MESSAGE',
-                        '%TBASS_TAG_MUSIC_NAME','%TBASS_TAG_MUSIC_SAMPLE','%TBASS_TAG_OGG','%TBASS_TAG_RIFF_INFO','%TBASS_TAG_VENDOR','%TBASS_TRUE','%TBASS_UNICODE','%TBASS_VAM_HARDWARE',
-                        '%TBASS_VAM_SOFTWARE','%TBASS_VAM_TERM_DIST','%TBASS_VAM_TERM_PRIO','%TBASS_VAM_TERM_TIME','%TBASS_VERSION','%TBCD_CHANNEL','%TBCD_THUMB','%TBCD_TICS',
-                        '%TBGL_ALIGN_CENTER','%TBGL_ALIGN_CENTER_CENTER','%TBGL_ALIGN_CENTER_DOWN','%TBGL_ALIGN_CENTER_UP','%TBGL_ALIGN_LEFT','%TBGL_ALIGN_LEFT_CENTER','%TBGL_ALIGN_LEFT_DOWN','%TBGL_ALIGN_LEFT_UP',
-                        '%TBGL_ALIGN_RIGHT','%TBGL_ALIGN_RIGHT_CENTER','%TBGL_ALIGN_RIGHT_DOWN','%TBGL_ALIGN_RIGHT_UP','%TBGL_ALWAYS','%TBGL_EQUAL','%TBGL_ERROR_FILE','%TBGL_ERROR_MSGBOX',
-                        '%TBGL_ERROR_NONE','%TBGL_GEQUAL','%TBGL_GREATER','%TBGL_LEQUAL','%TBGL_LESS','%TBGL_LIGHT_AMBIENT','%TBGL_LIGHT_CONSTANT_ATTENUATION','%TBGL_LIGHT_DIFFUSE',
-                        '%TBGL_LIGHT_LINEAR_ATTENUATION','%TBGL_LIGHT_POSITION','%TBGL_LIGHT_QUADRATIC_ATTENUATION','%TBGL_LIGHT_SPECULAR','%TBGL_LIGHT_SPOT_CUTOFF','%TBGL_LIGHT_SPOT_DIRECTION','%TBGL_LIGHT_SPOT_EXPONENT','%TBGL_M15B',
-                        '%TBGL_M15G','%TBGL_M15LAYER','%TBGL_M15PSTOP','%TBGL_M15R','%TBGL_M15TEXN','%TBGL_M15TEXX','%TBGL_M15TEXY','%TBGL_M15X',
-                        '%TBGL_M15Y','%TBGL_M15Z','%TBGL_NEVER','%TBGL_NORMAL_NONE','%TBGL_NORMAL_PRECISE','%TBGL_NORMAL_SMOOTH','%TBGL_NOTEQUAL','%TBGL_OBJ_CUBE',
-                        '%TBGL_OBJ_CUBE3','%TBGL_OBJ_CYLINDER','%TBGL_OBJ_SPHERE','%TBGL_PINFO_RGB','%TBGL_PINFO_XYZ','%TBGL_TEX_LINEAR','%TBGL_TEX_MIPMAP','%TBGL_TEX_NEAREST',
-                        '%TBM_CLEARSEL','%TBM_CLEARTICS','%TBM_GETBUDDY','%TBM_GETCHANNELRECT','%TBM_GETLINESIZE','%TBM_GETNUMTICS','%TBM_GETPAGESIZE','%TBM_GETPOS',
-                        '%TBM_GETPTICS','%TBM_GETRANGEMAX','%TBM_GETRANGEMIN','%TBM_GETSELEND','%TBM_GETSELSTART','%TBM_GETTHUMBLENGTH','%TBM_GETTHUMBRECT','%TBM_GETTIC',
-                        '%TBM_GETTICPOS','%TBM_GETTOOLTIPS','%TBM_GETUNICODEFORMAT','%TBM_SETBUDDY','%TBM_SETLINESIZE','%TBM_SETPAGESIZE','%TBM_SETPOS','%TBM_SETRANGE',
-                        '%TBM_SETRANGEMAX','%TBM_SETRANGEMIN','%TBM_SETSEL','%TBM_SETSELEND','%TBM_SETSELSTART','%TBM_SETTHUMBLENGTH','%TBM_SETTIC','%TBM_SETTICFREQ',
-                        '%TBM_SETTIPSIDE','%TBM_SETTOOLTIPS','%TBM_SETUNICODEFORMAT','%TBS_AUTOTICKS','%TBS_BOTH','%TBS_BOTTOM','%TBS_DOWNISLEFT','%TBS_ENABLESELRANGE',
-                        '%TBS_FIXEDLENGTH','%TBS_HORZ','%TBS_LEFT','%TBS_NOTHUMB','%TBS_NOTICKS','%TBS_REVERSED','%TBS_RIGHT','%TBS_TOOLTIPS',
-                        '%TBS_TOP','%TBS_VERT','%TBTS_BOTTOM','%TBTS_LEFT','%TBTS_RIGHT','%TBTS_TOP','%TB_%VT_BSTR','%TB_%VT_CY',
-                        '%TB_%VT_DATE','%TB_%VT_EMPTY','%TB_%VT_I2','%TB_%VT_I4','%TB_%VT_NULL','%TB_%VT_R4','%TB_%VT_R8','%TB_BOTTOM',
-                        '%TB_CLASS_E_NOAGGREGATION','%TB_CO_E_CLASSSTRING','%TB_DISPATCH_METHOD','%TB_DISPATCH_PROPERTYGET','%TB_DISPATCH_PROPERTYPUT','%TB_DISPATCH_PROPERTYPUTREF','%TB_ENDTRACK','%TB_E_INVALIDARG',
-                        '%TB_E_NOINTERFACE','%TB_E_OUTOFMEMORY','%TB_IMGCTX_ACTUALSIZE','%TB_IMGCTX_AUTOSIZE','%TB_IMGCTX_FITTOHEIGHT','%TB_IMGCTX_FITTOWIDTH','%TB_IMGCTX_STRETCH','%TB_LINEDOWN',
-                        '%TB_LINEUP','%TB_MK_E_CONNECTMANUALLY','%TB_MK_E_EXCEEDEDDEADLINE','%TB_MK_E_INTERMEDIATEINTERFACENOTSUPPORTED','%TB_MK_E_NOOBJECT','%TB_MK_E_SYNTAX','%TB_PAGEDOWN','%TB_PAGEUP',
-                        '%TB_REGDB_E_CLASSNOTREG','%TB_REGDB_E_WRITEREGDB','%TB_SIZEOF_TBVARIANT','%TB_S_FALSE','%TB_S_OK','%TB_THUMBPOSITION','%TB_THUMBTRACK','%TB_TOP',
-                        '%TCM_FIRST','%TCM_GETCURSEL','%TCN_FOCUSCHANGE','%TCN_GETOBJECT','%TCN_SELCHANGE','%TCN_SELCHANGING','%TCS_BOTTOM','%TCS_BUTTONS',
-                        '%TCS_EX_FLATSEPARATORS','%TCS_EX_REGISTERDROP','%TCS_FIXEDWIDTH','%TCS_FLATBUTTONS','%TCS_FOCUSNEVER','%TCS_FOCUSONBUTTONDOWN','%TCS_FORCEICONLEFT','%TCS_FORCELABELLEFT',
-                        '%TCS_HOTTRACK','%TCS_MULTILINE','%TCS_MULTISELECT','%TCS_OWNERDRAWFIXED','%TCS_RAGGEDRIGHT','%TCS_RIGHT','%TCS_RIGHTJUSTIFY','%TCS_SCROLLOPPOSITE',
-                        '%TCS_SINGLELINE','%TCS_TABS','%TCS_TOOLTIPS','%TCS_VERTICAL','%TM_PLAINTEXT','%TM_RICHTEXT','%TOKENIZER_DEFAULT_ALPHA','%TOKENIZER_DEFAULT_DELIM',
-                        '%TOKENIZER_DEFAULT_DQUOTE','%TOKENIZER_DEFAULT_NEWLINE','%TOKENIZER_DEFAULT_NUMERIC','%TOKENIZER_DEFAULT_SPACE','%TOKENIZER_DELIMITER','%TOKENIZER_EOL','%TOKENIZER_ERROR','%TOKENIZER_FINISHED',
-                        '%TOKENIZER_NUMBER','%TOKENIZER_QUOTE','%TOKENIZER_STRING','%TOKENIZER_UNDEFTOK','%TRUE','%TV_FIRST','%UDM_GETACCEL','%UDM_GETBASE',
-                        '%UDM_GETBUDDY','%UDM_GETPOS','%UDM_GETPOS32','%UDM_GETRANGE','%UDM_GETRANGE32','%UDM_GETUNICODEFORMAT','%UDM_SETACCEL','%UDM_SETBASE',
-                        '%UDM_SETBUDDY','%UDM_SETPOS','%UDM_SETPOS32','%UDM_SETRANGE','%UDM_SETRANGE32','%UDM_SETUNICODEFORMAT','%UDS_ALIGNLEFT','%UDS_ALIGNRIGHT',
-                        '%UDS_ARROWKEYS','%UDS_AUTOBUDDY','%UDS_HORZ','%UDS_HOTTRACK','%UDS_NOTHOUSANDS','%UDS_SETBUDDYINT','%UDS_WRAP','%UD_MAXVAL',
-                        '%UD_MINVAL','%VK_0','%VK_1','%VK_2','%VK_3','%VK_4','%VK_5','%VK_6',
-                        '%VK_7','%VK_8','%VK_9','%VK_A','%VK_ACCEPT','%VK_ADD','%VK_APPS','%VK_B',
-                        '%VK_BACK','%VK_C','%VK_CANCEL','%VK_CAPITAL','%VK_CLEAR','%VK_CONTROL','%VK_CONVERT','%VK_D',
-                        '%VK_DECIMAL','%VK_DELETE','%VK_DIVIDE','%VK_DOWN','%VK_E','%VK_END','%VK_ESCAPE','%VK_EXECUTE',
-                        '%VK_F','%VK_F1','%VK_F10','%VK_F11','%VK_F12','%VK_F13','%VK_F14','%VK_F15',
-                        '%VK_F16','%VK_F17','%VK_F18','%VK_F19','%VK_F2','%VK_F20','%VK_F21','%VK_F22',
-                        '%VK_F23','%VK_F24','%VK_F3','%VK_F4','%VK_F5','%VK_F6','%VK_F7','%VK_F8',
-                        '%VK_F9','%VK_FINAL','%VK_G','%VK_H','%VK_HANGEUL','%VK_HANGUL','%VK_HANJA','%VK_HELP',
-                        '%VK_HOME','%VK_I','%VK_INSERT','%VK_J','%VK_JUNJA','%VK_K','%VK_KANA','%VK_KANJI',
-                        '%VK_L','%VK_LBUTTON','%VK_LEFT','%VK_LINEFEED','%VK_LWIN','%VK_M','%VK_MBUTTON','%VK_MENU',
-                        '%VK_MODECHANGE','%VK_MULTIPLY','%VK_N','%VK_NEXT','%VK_NONCONVERT','%VK_NUMLOCK','%VK_NUMPAD0','%VK_NUMPAD1',
-                        '%VK_NUMPAD2','%VK_NUMPAD3','%VK_NUMPAD4','%VK_NUMPAD5','%VK_NUMPAD6','%VK_NUMPAD7','%VK_NUMPAD8','%VK_NUMPAD9',
-                        '%VK_O','%VK_P','%VK_PAUSE','%VK_PGDN','%VK_PGUP','%VK_PRINT','%VK_PRIOR','%VK_Q',
-                        '%VK_R','%VK_RBUTTON','%VK_RETURN','%VK_RIGHT','%VK_RWIN','%VK_S','%VK_SCROLL','%VK_SELECT',
-                        '%VK_SEPARATOR','%VK_SHIFT','%VK_SLEEP','%VK_SNAPSHOT','%VK_SPACE','%VK_SUBTRACT','%VK_T','%VK_TAB',
-                        '%VK_U','%VK_UP','%VK_V','%VK_W','%VK_X','%VK_XBUTTON1','%VK_XBUTTON2','%VK_Y',
-                        '%VK_Z','%VT_ARRAY','%VT_BLOB','%VT_BLOB_OBJECT','%VT_BOOL','%VT_BSTR','%VT_BYREF','%VT_CARRAY',
-                        '%VT_CF','%VT_CLSID','%VT_CY','%VT_DATE','%VT_DISPATCH','%VT_EMPTY','%VT_ERROR','%VT_FILETIME',
-                        '%VT_HRESULT','%VT_I1','%VT_I2','%VT_I4','%VT_I8','%VT_INT','%VT_LPSTR','%VT_LPWSTR',
-                        '%VT_NULL','%VT_PTR','%VT_R4','%VT_R8','%VT_RECORD','%VT_RESERVED','%VT_SAFEARRAY','%VT_STORAGE',
-                        '%VT_STORED_OBJECT','%VT_STREAM','%VT_STREAMED_OBJECT','%VT_UI1','%VT_UI2','%VT_UI4','%VT_UI8','%VT_UINT',
-                        '%VT_UNKNOWN','%VT_USERDEFINED','%VT_VARIANT','%VT_VECTOR','%VT_VOID','%WAVE_FORMAT_1M08','%WAVE_FORMAT_1M16','%WAVE_FORMAT_1S08',
-                        '%WAVE_FORMAT_1S16','%WAVE_FORMAT_2M08','%WAVE_FORMAT_2M16','%WAVE_FORMAT_2S08','%WAVE_FORMAT_2S16','%WAVE_FORMAT_4M08','%WAVE_FORMAT_4M16','%WAVE_FORMAT_4S08',
-                        '%WAVE_FORMAT_4S16','%WBF_CUSTOM','%WBF_LEVEL1','%WBF_LEVEL2','%WBF_OVERFLOW','%WBF_WORDBREAK','%WBF_WORDWRAP','%WHITE',
-                        '%WIN_FINDTITLECONTAIN','%WIN_FINDTITLEEND','%WIN_FINDTITLEEQUAL','%WIN_FINDTITLESTART','%WM_ACTIVATE','%WM_ACTIVATEAPP','%WM_CAPTURECHANGED','%WM_CHAR',
-                        '%WM_CLOSE','%WM_COMMAND','%WM_DESTROY','%WM_DROPFILES','%WM_ERASEBKGND','%WM_GETTEXTLENGTH','%WM_HOTKEY','%WM_HSCROLL',
-                        '%WM_IDLE','%WM_INITDIALOG','%WM_KEYDOWN','%WM_KEYUP','%WM_KILLFOCUS','%WM_LBUTTONDBLCLK','%WM_LBUTTONDOWN','%WM_LBUTTONUP',
-                        '%WM_MBUTTONDBLCLK','%WM_MBUTTONDOWN','%WM_MBUTTONUP','%WM_MOUSEFIRST','%WM_MOUSEMOVE','%WM_MOUSEWHEEL','%WM_MOVE','%WM_MOVING',
-                        '%WM_NCLBUTTONDOWN','%WM_NCRBUTTONDOWN','%WM_NEXTDLGCTL','%WM_NOTIFY','%WM_PAINT','%WM_QUIT','%WM_RBUTTONDBLCLK','%WM_RBUTTONDOWN',
-                        '%WM_RBUTTONUP','%WM_SETFOCUS','%WM_SETFONT','%WM_SETTEXT','%WM_SIZE','%WM_SIZING','%WM_SYSCOMMAND','%WM_TIMER',
-                        '%WM_USER','%WM_VSCROLL','%WS_BORDER','%WS_CAPTION','%WS_CHILD','%WS_CLIPCHILDREN','%WS_CLIPSIBLINGS','%WS_DISABLED',
-                        '%WS_DLGFRAME','%WS_EX_ACCEPTFILES','%WS_EX_APPWINDOW','%WS_EX_CLIENTEDGE','%WS_EX_CONTEXTHELP','%WS_EX_CONTROLPARENT','%WS_EX_LAYERED','%WS_EX_LEFT',
-                        '%WS_EX_LEFTSCROLLBAR','%WS_EX_LTRREADING','%WS_EX_MDICHILD','%WS_EX_NOPARENTNOTIFY','%WS_EX_OVERLAPPEDWINDOW','%WS_EX_PALETTEWINDOW','%WS_EX_RIGHT','%WS_EX_RIGHTSCROLLBAR',
-                        '%WS_EX_RTLREADING','%WS_EX_STATICEDGE','%WS_EX_TOOLWINDOW','%WS_EX_TOPMOST','%WS_EX_TRANSPARENT','%WS_EX_WINDOWEDGE','%WS_GROUP','%WS_HSCROLL',
-                        '%WS_ICONIC','%WS_MAXIMIZE','%WS_MAXIMIZEBOX','%WS_MINIMIZE','%WS_MINIMIZEBOX','%WS_OVERLAPPEDWINDOW','%WS_POPUP','%WS_POPUPWINDOW',
-                        '%WS_SYSMENU','%WS_TABSTOP','%WS_THICKFRAME','%WS_VISIBLE','%WS_VSCROLL','%YELLOW','%ZERO','CRLF',
-                        'FALSE','M_E','M_PI','NULL','TAB','TRUE'
-                        )
-                ),
+
+$language_data = array (
+    'LANG_NAME' => 'thinBasic',
+    'COMMENT_SINGLE' => array(1 => "'"),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'XOR','XML_TREETOSTRING','XML_PARSEFILE','XML_PARSE','XML_PARENT','XML_NODETYPE','XML_NODETOSTRING','XML_NEXTSIBLING',
+            'XML_LASTERROR','XML_GETTAG','XML_FREE','XML_FINDNODE','XML_DECODEPARAM','XML_CHILDDATA','XML_CHILD','XML_ATTRIBVALUE',
+            'XML_ATTRIBNAME','XML_ATTRIBCOUNT','WORD','WITH','WIN_SHOW','WIN_SETTITLE','WIN_SETFOREGROUND','WIN_ISZOOMED',
+            'WIN_ISVISIBLE','WIN_ISICONIC','WIN_GETTITLE','WIN_GETFOREGROUND','WIN_GETCLASS','WIN_GETACTIVE','WIN_FLASH','WIN_FINDBYTITLE',
+            'WIN_FINDBYCLASS','WHILE','WEND','VERIFY','VARPTR','VARIANTVT$','VARIANTVT','VARIANT',
+            'VARIABLE_GETINFO','VARIABLE_EXISTS','VARIABLE_EXIST','VALUE','VAL','USING$','USING','USES',
+            'USER','UNTIL','UNITS','UNION','UNICODE2ASCII','UDP_SEND','UDP_RECV','UDP_OPENSERVER',
+            'UDP_OPEN','UDP_FREEFILE','UDP_CLOSE','UCODE$','UCASE$','UBOUND','TYPE','TRIMFULL$',
+            'TRIM$','TOOLTIP','TOKENIZER_MOVETOEOL','TOKENIZER_KEYSETUSERSTRING','TOKENIZER_KEYSETUSERNUMBER','TOKENIZER_KEYGETUSERSTRING','TOKENIZER_KEYGETUSERNUMBER','TOKENIZER_KEYGETSUBTYPE',
+            'TOKENIZER_KEYGETNAME','TOKENIZER_KEYGETMAINTYPE','TOKENIZER_KEYFIND','TOKENIZER_KEYADD','TOKENIZER_GETNEXTTOKEN','TOKENIZER_DEFAULT_SET','TOKENIZER_DEFAULT_GET','TOKENIZER_DEFAULT_CODE',
+            'TOKENIZER_DEFAULT_CHAR','TO','TIMER','TIME$','THEN','TEXTBOX','TEXT','TCP_SEND',
+            'TCP_RECV','TCP_PRINT','TCP_OPEN','TCP_LINEINPUT','TCP_FREEFILE','TCP_CLOSE','TB_IMGCTX_SETIMAGEADJUSTMENT','TB_IMGCTX_LOADIMAGE',
+            'TB_IMGCTX_GETIMAGEADJUSTMENT','TBGL_VIEWPORT','TBGL_VERTEX','TBGL_USETEXTUREFLAG','TBGL_USETEXTURE','TBGL_USELINESTIPPLEFLAG','TBGL_USELINESTIPPLE','TBGL_USELIGHTSOURCEFLAG',
+            'TBGL_USELIGHTSOURCE','TBGL_USELIGHTINGFLAG','TBGL_USELIGHTING','TBGL_USEFOGFLAG','TBGL_USEFOG','TBGL_USEDEPTHMASK','TBGL_USEDEPTHFLAG','TBGL_USEDEPTH',
+            'TBGL_USECLIPPLANEFLAG','TBGL_USECLIPPLANE','TBGL_USEBLENDFLAG','TBGL_USEBLEND','TBGL_USEALPHATEST','TBGL_TRANSLATE','TBGL_TORUS','TBGL_TEXCOORD2D',
+            'TBGL_SPHERE','TBGL_SHOWWINDOW','TBGL_SHOWCURSOR','TBGL_SETWINDOWTITLE','TBGL_SETUPLIGHTSOURCE','TBGL_SETUPFOG','TBGL_SETUPCLIPPLANE','TBGL_SETPRIMITIVEQUALITY',
+            'TBGL_SETLIGHTPARAMETER','TBGL_SETDRAWDISTANCE','TBGL_SCALE','TBGL_SAVESCREENSHOT','TBGL_ROTATEXYZ','TBGL_ROTATE','TBGL_RESETMATRIX','TBGL_RENDERTOTEXTURE',
+            'TBGL_RENDERMATRIX3D','TBGL_RENDERMATRIX2D','TBGL_PUSHMATRIX','TBGL_PRINTFONT','TBGL_PRINTBMP','TBGL_PRINT','TBGL_POS3DTOPOS2D','TBGL_POPMATRIX',
+            'TBGL_POLYGONLOOK','TBGL_POINTSIZE','TBGL_POINTINSIDE3D','TBGL_NORMAL','TBGL_NEWLIST','TBGL_MOUSEGETWHEELDELTA','TBGL_MOUSEGETRBUTTON','TBGL_MOUSEGETPOSY',
+            'TBGL_MOUSEGETPOSX','TBGL_MOUSEGETMBUTTON','TBGL_MOUSEGETLBUTTON','TBGL_M15SETVERTEXZ','TBGL_M15SETVERTEXY','TBGL_M15SETVERTEXXYZ','TBGL_M15SETVERTEXX','TBGL_M15SETVERTEXTEXY',
+            'TBGL_M15SETVERTEXTEXXY','TBGL_M15SETVERTEXTEXX','TBGL_M15SETVERTEXTEXN','TBGL_M15SETVERTEXRGB','TBGL_M15SETVERTEXR','TBGL_M15SETVERTEXPSTOP','TBGL_M15SETVERTEXPARAM','TBGL_M15SETVERTEXLAYER',
+            'TBGL_M15SETVERTEXG','TBGL_M15SETVERTEXB','TBGL_M15SETMODELVERTEXCOUNT','TBGL_M15SETBONECHILD','TBGL_M15ROTBONEZ','TBGL_M15ROTBONEY','TBGL_M15ROTBONEX','TBGL_M15ROTBONE',
+            'TBGL_M15RESETBONES','TBGL_M15RECALCNORMALS','TBGL_M15LOADMODEL','TBGL_M15INITMODELBUFFERS','TBGL_M15GETVERTEXZ','TBGL_M15GETVERTEXY','TBGL_M15GETVERTEXXYZ','TBGL_M15GETVERTEXX',
+            'TBGL_M15GETVERTEXTEXY','TBGL_M15GETVERTEXTEXXY','TBGL_M15GETVERTEXTEXX','TBGL_M15GETVERTEXTEXN','TBGL_M15GETVERTEXRGB','TBGL_M15GETVERTEXR','TBGL_M15GETVERTEXPSTOP','TBGL_M15GETVERTEXPARAM',
+            'TBGL_M15GETVERTEXLAYER','TBGL_M15GETVERTEXG','TBGL_M15GETVERTEXB','TBGL_M15GETMODELVERTEXCOUNT','TBGL_M15GETMODELPOLYCOUNT','TBGL_M15ERASECHILDBONES','TBGL_M15DRAWMODEL','TBGL_M15DEFBONERESET',
+            'TBGL_M15DEFBONELAYER','TBGL_M15DEFBONEBOX','TBGL_M15DEFBONEANCHOR','TBGL_M15DEFBONEADDVERTEX','TBGL_M15CLEARMODEL','TBGL_M15APPLYBONES','TBGL_M15ADDBONETREEITEM','TBGL_LOADTEXTURE',
+            'TBGL_LOADFONT','TBGL_LOADBMPFONT','TBGL_LINEWIDTH','TBGL_LINESTIPPLE','TBGL_KILLFONT','TBGL_ISWINDOW','TBGL_ISPOINTVISIBLE','TBGL_ISPOINTBEHINDVIEW',
+            'TBGL_GETWINDOWMULTIKEYSTATE','TBGL_GETWINDOWKEYSTATE','TBGL_GETWINDOWKEYONCE','TBGL_GETWINDOWCLIENT','TBGL_GETTEXTURENAME','TBGL_GETTEXTURELIST','TBGL_GETPIXELINFO','TBGL_GETMULTIASYNCKEYSTATE',
+            'TBGL_GETLASTGLERROR','TBGL_GETFRAMERATE','TBGL_GETDESKTOPINFO','TBGL_GETASYNCKEYSTATE','TBGL_ERRORMESSAGES','TBGL_ENDPOLY','TBGL_ENDLIST','TBGL_DRAWFRAME',
+            'TBGL_DESTROYWINDOW','TBGL_DELETELIST','TBGL_CYLINDER','TBGL_CREATEWINDOWEX','TBGL_CREATEWINDOW','TBGL_COLORALPHA','TBGL_COLOR','TBGL_CLEARFRAME',
+            'TBGL_CAMERA','TBGL_CALLLIST','TBGL_BUILDFONT','TBGL_BOX','TBGL_BLENDFUNC','TBGL_BINDTEXTURE','TBGL_BEGINPOLY','TBGL_BACKCOLOR',
+            'TBGL_ALPHAFUNC','TBDI_JOYZ','TBDI_JOYY','TBDI_JOYX','TBDI_JOYSTOPEFFECT','TBDI_JOYSLIDER','TBDI_JOYSETRANGEZ','TBDI_JOYSETRANGEY',
+            'TBDI_JOYSETRANGEXYZ','TBDI_JOYSETRANGEX','TBDI_JOYSETDEADZONEZ','TBDI_JOYSETDEADZONEY','TBDI_JOYSETDEADZONEXYZ','TBDI_JOYSETDEADZONEX','TBDI_JOYSETAUTOCENTER','TBDI_JOYRZ',
+            'TBDI_JOYRY','TBDI_JOYRX','TBDI_JOYPOV','TBDI_JOYPLAYEFFECT','TBDI_JOYLOADEFFECT','TBDI_JOYHASFF','TBDI_JOYHASEFFECT','TBDI_JOYGETEFFECTNAME',
+            'TBDI_JOYGETEFFECTGUID','TBDI_JOYCREATEEFFECT','TBDI_JOYCOUNTPOV','TBDI_JOYCOUNTEFFECTS','TBDI_JOYCOUNTBTN','TBDI_JOYCOUNTAXES','TBDI_JOYBUTTON','TBDI_JOYAVAIL',
+            'TBDI_INIT','TBASS_STREAMFREE','TBASS_STREAMCREATEFILE','TBASS_SETVOLUME','TBASS_SETEAXPRESET','TBASS_SETEAXPARAMETERS','TBASS_SETCONFIG','TBASS_SET3DPOSITION',
+            'TBASS_SET3DFACTORS','TBASS_SAMPLELOAD','TBASS_SAMPLEGETCHANNEL','TBASS_MUSICLOAD','TBASS_MUSICFREE','TBASS_INIT','TBASS_GETVOLUME','TBASS_GETVERSION',
+            'TBASS_GETCONFIG','TBASS_FREE','TBASS_ERRORGETCODE','TBASS_CHANNELSTOP','TBASS_CHANNELSETPOSITION','TBASS_CHANNELSETATTRIBUTES','TBASS_CHANNELSET3DPOSITION','TBASS_CHANNELPLAY',
+            'TBASS_CHANNELPAUSE','TBASS_CHANNELISACTIVE','TBASS_CHANNELGETPOSITION','TBASS_CHANNELGETLENGTH','TBASS_CHANNELGETATTRIBUTES','TBASS_APPLY3D','TANH','TANGENT',
+            'TAN','TALLY','TABCTRL_ONNOTIFY','TABCTRL_INSERTITEM','TABCTRL_GETCURSEL','SWAP','SUB','STRZIP$',
+            'STRUNZIP$','STRREVERSE$','STRPTRLEN','STRPTR','STRINSERT$','STRING$','STRING','STRDELETE$',
+            'STR$','STOP','STEP','STDOUT','STDIN','STAT_SUM','STAT_STDERROR','STAT_STDDEVIATION',
+            'STAT_RANDOM','STAT_PRODUCT','STAT_MIN','STAT_MEDIAN','STAT_MEANHARMONIC','STAT_MEANGEOMETRIC','STAT_MEANARITHMETIC','STAT_MAX',
+            'STAT_INVERSESUM','STAT_HISTOGRAM','STAT_FILLARRAY','STAT_COUNT','STAT_COPYARRAY','STAT_CLONEARRAY','STAT_CHISQUARE','STATIC',
+            'STATE','SQR','SPLIT','SORT','SMTP_STATISTICS','SMTP_SETOPTION','SMTP_SETLOGFILE','SMTP_SENDHTML',
+            'SMTP_SENDEMAIL','SMTP_GETERROR','SMTP_FINISHED','SMTP_DEBUG','SMTP_CONNECT','SMTP_CLOSE','SLEEP','SIZEOF',
+            'SIZE','SINH','SINGLE','SIN','SIGNED','SHOW','SHIFT','SHAPETOBMP',
+            'SGN','SETAT','SET','SENDMESSAGE','SENDKEYSBULK','SENDKEYS','SEND','SELECTEXPRESSION',
+            'SELECT','SECH','SEC','SCAN','SAPI_SPEAK','SAPI_SETVOLUME','SAPI_SETRATE','SAPI_MODULELOADED',
+            'SAPI_GETVOLUME','SAPI_GETRATE','RTRIM$','RTF_SETTEXT','RTF_SETFONTSIZE','RTF_SETFONTNAME','RTF_SETFGCOLOR','RTF_SETEFFECT',
+            'RTF_SETBGCOLOR','RTF_SETALIGN','RTF_SAVETOFILE','RTF_LOADFROMFILE','RTF_GETTEXT','RTF_GETFONTSIZE','RTF_GETFONTNAME','RTF_GETEFFECT',
+            'RTF_GETCLASS','RTF_APPENDTEXT','RSET$','ROUND','RNDF','RND','RIGHT$','RIGHT',
+            'RGB','RESOURCE','RESIZE','RESET','REPLACE$','REPEAT$','REMOVE$','REM',
+            'REGISTRY_SETVALUE','REGISTRY_SETTXTNUM','REGISTRY_SETTXTBOOL','REGISTRY_SETDWORD','REGISTRY_GETVALUE','REGISTRY_GETTXTNUM','REGISTRY_GETTXTBOOL','REGISTRY_GETDWORD',
+            'REGISTRY_GETALLKEYS','REGISTRY_DELVALUE','REGISTRY_DELKEY','REFERENCE','REF','REDRAW','REDIM','RAS_SETPARAMS',
+            'RAS_OPENDIALUPDIALOG','RAS_LOADENTRIES','RAS_HANGUPALL','RAS_HANGUP','RAS_GETENTRY','RAS_BEGINDIAL','RANDOMIZE','RADTODEG',
+            'QUERYPERFORMANCEFREQUENCY','QUERYPERFORMANCECOUNTER','QUAD','PTR','PRESERVE','POST','POPUP','POKE$',
+            'POKE','PIXELS','PI','PERMUTATIONS','PEEKMESSAGE','PEEK$','PEEK','PC_SYSTEMUPFROM',
+            'PC_SUSPENDSTATE','PC_SHUTDOWN','PC_SHOWCARET','PC_SETCARETBLINKTIME','PC_RESTARTDIALOG','PC_PREVENTSHUTDOWN','PC_LOCK','PC_INSERTCD',
+            'PC_HIDECARET','PC_GETSTATEONOFF','PC_GETSCROLLLOCKKEYSTATE','PC_GETNUMLOCKKEYSTATE','PC_GETCARETBLINKTIME','PC_GETCAPSLOCKKEYSTATE','PC_EMPTYBIN','PC_EJECTCD',
+            'PC_DECODECDERROR','PCT','PARSESET$','PARSECOUNT','PARSE$','PARSE','PARAMETERS','OUTSIDE',
+            'OS_WINVERSIONTEXT','OS_WINGETVERSIONTIMELINE','OS_SHELLEXECUTE','OS_SHELLABOUT','OS_SHELL','OS_SETLASTCALLDLLERROR','OS_SERVICESTOP','OS_SERVICESTATUSDESCRIPTION',
+            'OS_SERVICESTARTTYPEDESCRIPTION','OS_SERVICESTART','OS_SERVICESETSTARTTYPE','OS_SERVICEQUERY','OS_SERVICEGETSTARTTYPE','OS_SERVICEGETLIST','OS_PROCESSKILLBYNAME','OS_PROCESSKILLBYID',
+            'OS_PROCESSISRUNNING','OS_PROCESSGETLIST','OS_PROCESSGETID','OS_PROCESSARERUNNING','OS_MESSAGEBEEP','OS_ISWOW64','OS_ISFEATUREPRESENT','OS_IEVERSION',
+            'OS_GETWINDOWSDIR','OS_GETUSERNAME','OS_GETTEMPDIR','OS_GETSYSTEMDIR','OS_GETSPECIALFOLDER','OS_GETLASTCALLDLLSTATUS','OS_GETLASTCALLDLLERROR','OS_GETCURRENTTHREADID',
+            'OS_GETCURRENTPROCESSID','OS_GETCOMPUTERNAME','OS_GETCOMMANDS','OS_GETCOMMAND','OS_FLASHWINDOW','OS_FATALAPPEXIT','OS_ENVIRON','OS_CALLDLL',
+            'OR','OPTIONAL','OPTION','OPT','ONCE','ON','OFF','NUMBER',
+            'NOT','NEXT','NEW','MSGBOX','MOUSEPTR','MODULE','MODELESS','MODAL',
+            'MOD','MKWRD$','MKS$','MKQ$','MKL$','MKI$','MKE$','MKDWD$',
+            'MKD$','MKCUX$','MKCUR$','MKBYT$','MIN$','MIN','MID$','MENU',
+            'MDI_CREATE','MCASE$','MAX$','MAX','MAKWRD','MAKLNG','MAKINT','MAKDWR',
+            'LTRIM$','LSET$','LOWRD','LOOP','LONG','LOINT','LOG_WRITE','LOGB',
+            'LOG2','LOG10','LOG','LOCAL','LOC','LL_UPDATEBYNAME','LL_UPDATE','LL_TOSTRING',
+            'LL_TOFILE','LL_NAME','LL_GETITEM','LL_GETBYNUMBER','LL_FROMFILE','LL_FREE','LL_FINDLAST','LL_FINDBYNAME',
+            'LL_FINDBYDATA','LL_DELETELIKE','LL_DELETEBYNAME','LL_DELETE','LL_DATABYNAME','LL_DATA','LL_COUNT','LL_ADD',
+            'LISTBOX','LINE','LIBRARY_EXISTS','LIB','LEN','LEFT$','LEFT','LCASE$',
+            'LBOUND','LABEL','KILL','JOIN$','ITERATE','ISWINDOW','ISUNICODE','ISTRUE',
+            'ISODD','ISLIKE','ISFALSE','ISEVEN','IP_TOSTRING','IP_ADDR','INTERNALINFO','INTEGER',
+            'INT','INSTR','INSIDE','INPUTBOX$','INI_SETKEY','INI_GETSECTIONSLIST','INI_GETSECTIONKEYLIST','INI_GETKEY',
+            'INET_URLDOWNLOAD','INET_PING','INET_OPENDIALUPDIALOG','INET_GETSTATE','INET_GETREMOTEMACADDRESS','INET_GETIP','INET_GETCONNECTIONMODE','INCR',
+            'IN','IMAGE','IIF$','IIF','IF','ICRYPTO_TESTSHA1','ICRYPTO_TESTMD5','ICRYPTO_TESTCRC32',
+            'ICRYPTO_TESTCRC16','ICRYPTO_STRING2ASCII','ICRYPTO_SHA1','ICRYPTO_MD5','ICRYPTO_ENCRYPTRIJNDAEL','ICRYPTO_ENCRYPTRC4','ICRYPTO_DECRYPTRIJNDAEL','ICRYPTO_DECRYPTRC4',
+            'ICRYPTO_CRC32','ICRYPTO_CRC16','ICRYPTO_BYTEXOR','ICRYPTO_BIN2ASCII','ICRYPTO_ASCII2STRING','ICRYPTO_ASCII2BIN','HOST_ADDR','HOSTNAME_TOIP',
+            'HOSTIP_TONAME','HIWRD','HIINT','HEX$','HASH','HANDLE','GUIDTXT$','GUID$',
+            'GRAPHIC','GLVOID','GLUSHORT','GLUINT','GLUBYTE','GLSIZEI','GLSHORT','GLOBAL',
+            'GLINT','GLFLOAT','GLENUM','GLDOUBLE','GLCLAMPF','GLCLAMPD','GLBYTE','GLBOOLEAN',
+            'GLBITFIELD','GETWINDOWMULTIKEYSTATE','GETWINDOWKEYSTATE','GETTICKCOUNT','GETS','GETMULTIASYNCKEYSTATE','GETMESSAGE','GETCURRENTINSTANCE',
+            'GETAT','GETASYNCKEYSTATE','GET','FUNCTION_NPARAMS','FUNCTION_EXISTS','FUNCTION_CPARAMS','FUNCTION','FTP_SETSTRING',
+            'FTP_SETSERVERDIR','FTP_SETNUMBER','FTP_SETMODE','FTP_SETLOGFILE','FTP_SETLOCALDIR','FTP_QUIT','FTP_PUTFILE','FTP_GETSTRING',
+            'FTP_GETSERVERDIR','FTP_GETNUMBER','FTP_GETLOCALDIR','FTP_GETLIST','FTP_GETFILE','FTP_GETERRORSTRING','FTP_GETERRORNUMBER','FTP_FINISHED',
+            'FTP_EXTRACT','FTP_DELFILE','FTP_CONNECT','FTP_COMMAND','FRAME','FRAC','FORMAT$','FOR',
+            'FONT_LIST','FONT_CREATE','FONT','FOCUS','FLUSH','FIX','FILE_SIZE','FILE_SHELLDELETE',
+            'FILE_SHELLCOPY','FILE_SETDATETIME','FILE_SEEK','FILE_SAVE','FILE_RENAME','FILE_PUT','FILE_PATHSPLIT','FILE_OPEN',
+            'FILE_LOF','FILE_LOAD','FILE_LINEPRINT','FILE_LINEINPUT','FILE_KILL','FILE_GETVERSIONSTRING','FILE_GETVERSION','FILE_GETTIME',
+            'FILE_GETDATETIMESTAMP','FILE_GETDATETIME','FILE_GETDATE','FILE_GET','FILE_EXISTS','FILE_EOF','FILE_COPY','FILE_CLOSE',
+            'FILE_CHANGED','FILE_APPEND','FACTORIAL','EXTRACT$','EXT','EXPORT','EXP2','EXP10',
+            'EXP','EXIT','EVAL_STRING','EVAL_SETSTRING','EVAL_SETNUMBER','EVAL_MATH','EVAL_LINKEXT','EVAL_GETSTRING',
+            'EVAL_GETNUMBER','EVAL_ERRORGETTOKEN','EVAL_ERRORDESCRIPTION','EVAL_ERRORCLEAR','EVAL','ERRCLEAR','ERR','ENGINE_GETCURRENTTOKEN',
+            'ENDIF','END','ENABLE','ELSEIF','ELSE','ECHO','DWORD','DT_YEAR',
+            'DT_TIMETOSEC','DT_TIMESUBSECONDS','DT_TIMEFORMAT','DT_TIMEADDSECONDS','DT_SETTIMESEPARATOR','DT_SETDATESEPARATOR','DT_SETDATECENTURY','DT_SECTOTIME',
+            'DT_SECTODATE','DT_SECOND','DT_MONTH','DT_MINUTE','DT_LASTDAYOFMONTH','DT_ISVALIDDATE','DT_ISLEAPYEAR','DT_HOUR',
+            'DT_GETWEEKDAYNAME','DT_GETWEEKDAY','DT_GETTIMESTAMP','DT_GETTIMESEPARATOR','DT_GETMONTHNAME','DT_GETDATESEPARATOR','DT_GETDATECENTURY','DT_DAY',
+            'DT_DATETOSEC','DT_DATETIMESUBSECONDS','DT_DATETIMEADDSECONDS','DT_DATESUBDAYS','DT_DATEFORMAT','DT_DATEDIFF','DT_DATEADDDAYS','DT_COOKIEDATE',
+            'DRAW','DOUBLE','DOEVENTS','DO','DISABLE','DIR_REMOVE','DIR_MAKEALL','DIR_MAKE',
+            'DIR_LISTARRAY','DIR_LIST','DIR_ISEMPTY','DIR_ISDIR','DIR_GETCURRENT','DIR_EXISTS','DIR_CHANGEDRIVE','DIR_CHANGE',
+            'DIM','DICTIONARY_MEMINFO','DICTIONARY_LISTKEYS','DICTIONARY_FREE','DICTIONARY_FIND','DICTIONARY_EXISTS','DICTIONARY_CREATE','DICTIONARY_COUNT',
+            'DICTIONARY_ADD','DIALOG_STOPEVENTS','DIALOG_SAVEFILE','DIALOG_OPENFILE','DIALOG_GETCONTROL','DIALOG_CHOOSECOLOR','DIALOG_BROWSEFORFOLDER','DIALOG',
+            'DESKTOP','DESCENDING','DESCEND','DELETEOBJECT','DELETE','DEGTORAD','DECR','DECLARE',
+            'DATE$','CVWRD','CVS','CVQ','CVL','CVI','CVE','CVDWD',
+            'CVD','CVCUX','CVCUR','CVBYT','CURRENCY','CUR','CSET$','CSCH',
+            'CSC','CRYPTO_GETPROVIDERTYPESCOUNT','CRYPTO_GETPROVIDERSCOUNT','CRYPTO_GETDEFAULTPROVIDER','CRYPTO_GENRANDOMSTRING','CRYPTO_ENUMPROVIDERTYPES','CRYPTO_ENUMPROVIDERS','CRYPTO_ENCRYPT',
+            'CRYPTO_DECRYPT','CREATEFONT','COTH','COTAN','COSH','COS','CONTROL_SETTEXT','CONTROL_GETTEXT',
+            'CONTROL_GETNUMBER','CONTROL','CONST','CONSOLE_WRITELINE','CONSOLE_WRITE','CONSOLE_WAITKEY','CONSOLE_SHOWWINDOW','CONSOLE_SHOWCURSOR',
+            'CONSOLE_SETTITLE','CONSOLE_SETTEXTATTRIBUTE','CONSOLE_SETSTDHANDLE','CONSOLE_SETSCREENBUFFERSIZE','CONSOLE_SETPROGRESSBARCHAR','CONSOLE_SETOUTPUTMODE','CONSOLE_SETOUTPUTCP','CONSOLE_SETINPUTMODE',
+            'CONSOLE_SETFILEAPISTOOEM','CONSOLE_SETFILEAPISTOANSI','CONSOLE_SETCURSORSIZE','CONSOLE_SETCURSORPOSITION','CONSOLE_SETCP','CONSOLE_SETACTIVESCREENBUFFER','CONSOLE_SCROLLWINDOW','CONSOLE_SCROLLBUFFERONEROW',
+            'CONSOLE_SCROLLBUFFER','CONSOLE_SAVESCREEN','CONSOLE_RESTORESCREEN','CONSOLE_READLINE','CONSOLE_READ','CONSOLE_PROGRESSBAR','CONSOLE_PRINTLINE','CONSOLE_PRINTAT',
+            'CONSOLE_PRINT','CONSOLE_NORMALSCREEN','CONSOLE_LINE','CONSOLE_INKEYB','CONSOLE_INKEY','CONSOLE_HIDECURSOR','CONSOLE_GETTITLE','CONSOLE_GETTEXTATTRIBUTE',
+            'CONSOLE_GETSTDHANDLE','CONSOLE_GETSIZEY','CONSOLE_GETSIZEX','CONSOLE_GETPROGRESSBARCHAR','CONSOLE_GETOUTPUTMODE','CONSOLE_GETOUTPUTCP','CONSOLE_GETNUMBEROFMOUSEBUTTONS','CONSOLE_GETINPUTMODE',
+            'CONSOLE_GETCURSORY','CONSOLE_GETCURSORX','CONSOLE_GETCURSORSIZE','CONSOLE_GETCURRENTFONTINDEX','CONSOLE_GETCP','CONSOLE_GENERATECTRLEVENT','CONSOLE_FULLSCREEN','CONSOLE_FREE',
+            'CONSOLE_FOREGROUNDRGB','CONSOLE_ENABLECTRLC','CONSOLE_DISABLECTRLC','CONSOLE_CREATESCREENBUFFER','CONSOLE_COLORAT','CONSOLE_CLS','CONSOLE_BOX','CONSOLE_BACKGROUNDRGB',
+            'CONSOLE_ATTACH','CONSOLE_AREFILEAPISANSI','CONSOLE_ALLOC','COM_VARIANTINIT','COM_VARIANTCOPY','COM_VARIANTCLEAR','COM_SUCCEEDED','COM_STRINGFROMCLSID',
+            'COM_RELEASE','COM_QUERYINTERFACE','COM_PROGIDFROMCLSID','COM_ISEQUALIID','COM_ISEQUALGUID','COM_ISEQUALCLSID','COM_GETOBJECT','COM_GETENGINEGUID',
+            'COM_EXECUTE','COM_DISPLAYERROR','COM_CREATEOBJECT','COM_CLSIDFROMSTRING','COM_CLSIDFROMPROGID','COM_BUILDVARIANT','COMBOBOX','COMBINATIONS',
+            'COLOR','CLIPBOARD_SETTEXT','CLIPBOARD_GETTEXT','CLIENT','CLEARMESSAGES','CHR$','CHOOSE$','CHOOSE',
+            'CHECKBOX','CHECK3STATE','CHECK','CGI_WRITELOGFILE','CGI_WRITE','CGI_URLDECODESTRING','CGI_UPLOADFILESTIME','CGI_UPLOADFILESNUMBER',
+            'CGI_UPLOADFILESIZE','CGI_STARTSESSION','CGI_SETSESSIONVARIABLE','CGI_RESETDEFAULTSETTINGS','CGI_REMOVESPECIALCHARSPREFIX','CGI_REMOVEQUOTE','CGI_READ','CGI_LOADCONFIGFILE',
+            'CGI_HEADER','CGI_GETSESSIONVARIABLE','CGI_GETREQUESTMETHOD','CGI_GETQUERYVALUE','CGI_GETCURRENTSESSION','CGI_GETCURRENTGUID','CGI_ENVIRON','CGI_CFGSETOPTION',
+            'CGI_CFGGETOPTION','CGI_ADDSPECIALCHARSPREFIX','CGI_ADDQUOTE','CEIL','CASE','CALL','BYVAL','BYTE',
+            'BYREF','BYCMD','BUTTON','BUNDLE_SETSCRIPTPARAMETERS','BUNDLE_SETSCRIPTNAME','BUNDLE_SETFLAGOBFUSCATEMAINSCRIPT','BUNDLE_SETFLAGDELETEAFTERRUN','BUNDLE_SETFLAGCOMPRESSALLFILES',
+            'BUNDLE_SETFLAGASKBEFOREEXTRACT','BUNDLE_SETEXTRACTIONFOLDER','BUNDLE_SETCREATIONFOLDER','BUNDLE_SETBUNDLENAME','BUNDLE_RESET','BUNDLE_MAKE','BUNDLE_BUILDER','BUNDLE_ADDFOLDER',
+            'BUNDLE_ADDFILE','BOUNDCHECK','BIN$','BIFF_WRITETEXT','BIFF_WRITENUMBER','BIFF_WRITEDATE','BIFF_SETROWHEIGHT','BIFF_SETCOLWIDTH',
+            'BIFF_SETBUFFER','BIFF_CREATEFILE','BIFF_CLOSEFILE','BETWEEN','BEEP','BAR','ATTACH','ATN',
+            'AT','ASSIGN','ASCIZ','ASCIIZ','ASCII2UNICODE','ASCENDING','ASCEND','ASC',
+            'AS','ARRAY','ARCTANH','ARCSINH','ARCSIN','ARCSECH','ARCSEC','ARCCSCH',
+            'ARCCSC','ARCCOTH','ARCCOT','ARCCOSH','ARCCOS','APP_TIMER','APP_SOURCEPATH','APP_SOURCENAME',
+            'APP_SOURCEFULLNAME','APP_PATH','APP_NAME','APP_LISTVARIABLES','APP_LISTKEYWORDS','APP_LISTFUNCTIONS','APP_LISTEQUATES','APP_INCLUDEPATH',
+            'APP_GETMODULEFULLPATH','APP_COUNTER','APPEND','ANY','ANIMATE_STOP','ANIMATE_PLAY','ANIMATE_OPEN','AND',
+            'ALIAS','ALERT','ADD','ACODE$','ABS','%DEF','#MINVERSION','#IF',
+            '#ENDIF','#ELSEIF','#ELSE','#DEFAULT','#DEF','SQLWRITEPRIVATEPROFILESTRING','SQLWRITEFILEDSN','SQLWRITEDSNTOINI',
+            'SQLVALIDDSN','SQLTRANSACT','SQLTABLES','SQLTABLEPRIVILEGES','SQLSTATISTICS','SQLSPECIALCOLUMNS','SQLSETSTMTOPTION','SQLSETSTMTATTR',
+            'SQLSETSCROLLOPTIONS','SQLSETPOS','SQLSETPARAM','SQLSETENVATTR','SQLSETDESCREC','SQLSETDESCFIELD','SQLSETCURSORNAME','SQLSETCONNECTOPTION',
+            'SQLSETCONNECTATTR','SQLSETCONFIGMODE','SQLROWCOUNT','SQLREMOVETRANSLATOR','SQLREMOVEDSNFROMINI','SQLREMOVEDRIVERMANAGER','SQLREMOVEDRIVER','SQLREADFILEDSN',
+            'SQLPUTDATA','SQLPROCEDURES','SQLPROCEDURECOLUMNS','SQLPRIMARYKEYS','SQLPREPARE','SQLPOSTINSTALLERERROR','SQLPARAMOPTIONS','SQLPARAMDATA',
+            'SQLNUMRESULTCOLS','SQLNUMPARAMS','SQLNATIVESQL','SQLMORERESULTS','SQLMANAGEDATASOURCES','SQLINSTALLTRANSLATOREX','SQLINSTALLERERROR','SQLINSTALLDRIVERMANAGER',
+            'SQLINSTALLDRIVEREX','SQLGETTYPEINFO','SQLGETTRANSLATOR','SQLGETSTMTOPTION','SQLGETSTMTATTR','SQLGETPRIVATEPROFILESTRING','SQLGETINSTALLEDDRIVERS','SQLGETINFO',
+            'SQLGETFUNCTIONS','SQLGETENVATTR','SQLGETDIAGREC','SQLGETDIAGFIELD','SQLGETDESCREC','SQLGETDESCFIELD','SQLGETDATA','SQLGETCURSORNAME',
+            'SQLGETCONNECTOPTION','SQLGETCONNECTATTR','SQLGETCONFIGMODE','SQLFREESTMT','SQLFREEHANDLE','SQLFREEENV','SQLFREECONNECT','SQLFOREIGNKEYS',
+            'SQLFETCHSCROLL','SQLFETCH','SQLEXTENDEDFETCH','SQLEXECUTE','SQLEXECDIRECT','SQLERROR','SQLENDTRAN','SQLDRIVERS',
+            'SQLDRIVERCONNECT','SQLDISCONNECT','SQLDESCRIBEPARAM','SQLDESCRIBECOL','SQLDATASOURCES','SQLCREATEDATASOURCE','SQLCOPYDESC','SQLCONNECT',
+            'SQLCONFIGDRIVER','SQLCONFIGDATASOURCE','SQLCOLUMNS','SQLCOLUMNPRIVILEGES','SQLCOLATTRIBUTES','SQLCOLATTRIBUTE','SQLCLOSECURSOR','SQLCANCEL',
+            'SQLBULKOPERATIONS','SQLBROWSECONNECT','SQLBINDPARAMETER','SQLBINDPARAM','SQLBINDCOL','SQLALLOCSTMT','SQLALLOCHANDLE','SQLALLOCENV',
+            'SQLALLOCCONNECT','ODBCWRONGDRIVER','ODBCWRITEPRIVATEPROFILESTRING','ODBCWRITEFILEDSN','ODBCWRITEDSNTOINI','ODBCVALIDDSN','ODBCUPDATERECORD','ODBCUPDATEBYBOOKMARK',
+            'ODBCUNLOCKRECORD','ODBCUNBINDCOLUMNS','ODBCUNBINDCOL','ODBCTABLESCOUNT','ODBCTABLES','ODBCTABLEPRIVILEGESCOUNT','ODBCTABLEPRIVILEGES','ODBCSUPPORTS',
+            'ODBCSTATTABLESCHEMANAME','ODBCSTATTABLEPAGES','ODBCSTATTABLECATALOGNAME','ODBCSTATTABLECARDINALITY','ODBCSTATISTICSCOUNT','ODBCSTATISTICS','ODBCSTATINDEXSORTSEQUENCE','ODBCSTATINDEXSCHEMANAME',
+            'ODBCSTATINDEXQUALIFIER','ODBCSTATINDEXPAGES','ODBCSTATINDEXFILTERCONDITION','ODBCSTATINDEXCOLUMNORDINALPOSITION','ODBCSTATINDEXCOLUMNNAME','ODBCSTATINDEXCATALOGNAME','ODBCSTATINDEXCARDINALITY','ODBCSTATINDEXALLOWDUPLICATES',
+            'ODBCSPECIALCOLUMNSCOUNT','ODBCSPECIALCOLUMNS','ODBCSETTXNISOLATION','ODBCSETTRANSLATELIB','ODBCSETTRACEFILE','ODBCSETTRACE','ODBCSETSTMTUSEBOOKMARKS','ODBCSETSTMTSIMULATECURSOR',
+            'ODBCSETSTMTROWSTATUSPTR','ODBCSETSTMTROWSFETCHEDPTR','ODBCSETSTMTROWOPERATIONPTR','ODBCSETSTMTROWBINDTYPE','ODBCSETSTMTROWBINDOFFSETPTR','ODBCSETSTMTROWARRAYSIZE','ODBCSETSTMTRETRIEVEDATA','ODBCSETSTMTQUERYTIMEOUT',
+            'ODBCSETSTMTPARAMSTATUSPTR','ODBCSETSTMTPARAMSPROCESSEDPTR','ODBCSETSTMTPARAMSETSIZE','ODBCSETSTMTPARAMOPERATIONPTR','ODBCSETSTMTPARAMBINDTYPE','ODBCSETSTMTPARAMBINDOFFSETPTR','ODBCSETSTMTNOSCAN','ODBCSETSTMTMETADATAID',
+            'ODBCSETSTMTMAXROWS','ODBCSETSTMTMAXLENGTH','ODBCSETSTMTKEYSETSIZE','ODBCSETSTMTFETCHBOOKMARKPTR','ODBCSETSTMTENABLEAUTOIPD','ODBCSETSTMTCURSORTYPE','ODBCSETSTMTCURSORSENSITIVITY','ODBCSETSTMTCURSORSCROLLABLE',
+            'ODBCSETSTMTCONCURRENCY','ODBCSETSTMTATTR','ODBCSETSTMTASYNCENABLE','ODBCSETSTMTAPPROWDESC','ODBCSETSTMTAPPPARAMDESC','ODBCSETSTATICCURSOR','ODBCSETROWVERCONCURRENCY','ODBCSETRESULT',
+            'ODBCSETRELATIVEPOSITION','ODBCSETREADONLYCONCURRENCY','ODBCSETQUIETMODE','ODBCSETPOSITION','ODBCSETPOS','ODBCSETPACKETMODE','ODBCSETOPTIMISTICCONCURRENCY','ODBCSETODBCCURSORS',
+            'ODBCSETMULTIUSERKEYSETCURSOR','ODBCSETMETADATAID','ODBCSETLOGINTIMEOUT','ODBCSETLOCKCONCURRENCY','ODBCSETKEYSETDRIVENCURSOR','ODBCSETFORWARDONLYCURSOR','ODBCSETENVOUTPUTNTS','ODBCSETENVODBCVERSION',
+            'ODBCSETENVCPMATCH','ODBCSETENVCONNECTIONPOOLING','ODBCSETENVATTR','ODBCSETDYNAMICCURSOR','ODBCSETDESCREC','ODBCSETDESCFIELD','ODBCSETCURSORTYPE','ODBCSETCURSORSENSITIVITY',
+            'ODBCSETCURSORSCROLLABILITY','ODBCSETCURSORNAME','ODBCSETCURSORLOCKTYPE','ODBCSETCURSORKEYSETSIZE','ODBCSETCURSORCONCURRENCY','ODBCSETCURRENTCATALOG','ODBCSETCONNECTIONTIMEOUT','ODBCSETCONNECTATTR',
+            'ODBCSETCONFIGMODE','ODBCSETCONCURVALUESCONCURRENCY','ODBCSETAUTOCOMMITON','ODBCSETAUTOCOMMITOFF','ODBCSETAUTOCOMMIT','ODBCSETASYNCENABLE','ODBCSETACCESSMODE','ODBCSETABSOLUTEPOSITION',
+            'ODBCROWCOUNT','ODBCROLLBACKTRAN','ODBCROLLBACKENVTRAN','ODBCROLLBACKDBCTRAN','ODBCRESULT','ODBCRESETPARAMS','ODBCREMOVETRANSLATOR','ODBCREMOVEDSNFROMINI',
+            'ODBCREMOVEDRIVERMANAGER','ODBCREMOVEDRIVER','ODBCREFRESHRECORD','ODBCRECORDCOUNT','ODBCREADFILEDSN','ODBCQUOTEDIDENTIFIERCASE','ODBCPUTDATA','ODBCPROCEDURESCOUNT',
+            'ODBCPROCEDURES','ODBCPROCEDURECOLUMNSCOUNT','ODBCPROCEDURECOLUMNS','ODBCPRIMARYKEYSCOUNT','ODBCPRIMARYKEYS','ODBCPREPARE','ODBCPOSTINSTALLERERROR','ODBCPARAMDATA',
+            'ODBCOPENSTMT','ODBCOPENCONNECTION','ODBCNUMRESULTCOLS','ODBCNUMPARAMS','ODBCNATIVESQL','ODBCMOVEPREVIOUS','ODBCMOVENEXT','ODBCMOVELAST',
+            'ODBCMOVEFIRST','ODBCMOVE','ODBCMORERESULTS','ODBCMANAGEDATASOURCES','ODBCLOCKRECORD','ODBCINSTALLTRANSLATOREX','ODBCINSTALLERERROR','ODBCINSTALLDRIVERMANAGER',
+            'ODBCINSTALLDRIVEREX','ODBCGETXOPENCLIYEAR','ODBCGETUSERNAME','ODBCGETUNION','ODBCGETTYPEINFOCOUNT','ODBCGETTYPEINFO','ODBCGETTXNISOLATIONOPTION','ODBCGETTXNISOLATION',
+            'ODBCGETTXNCAPABLE','ODBCGETTRANSLATOR','ODBCGETTRANSLATELIB','ODBCGETTRACEFILE','ODBCGETTRACE','ODBCGETTIMEDATEFUNCTIONS','ODBCGETTIMEDATEDIFFINTERVALS','ODBCGETTIMEDATEADDINTERVALS',
+            'ODBCGETTABLETERM','ODBCGETSYSTEMFUNCTIONS','ODBCGETSUBQUERIES','ODBCGETSTRINGFUNCTIONS','ODBCGETSTMTUSEBOOKMARKS','ODBCGETSTMTSQLSTATE','ODBCGETSTMTSIMULATECURSOR','ODBCGETSTMTROWSTATUSPTR',
+            'ODBCGETSTMTROWSFETCHEDPTR','ODBCGETSTMTROWOPERATIONPTR','ODBCGETSTMTROWNUMBER','ODBCGETSTMTROWBINDTYPE','ODBCGETSTMTROWBINDOFFSETPTR','ODBCGETSTMTROWARRAYSIZE','ODBCGETSTMTRETRIEVEDATA','ODBCGETSTMTQUERYTIMEOUT',
+            'ODBCGETSTMTPARAMSTATUSPTR','ODBCGETSTMTPARAMSPROCESSEDPTR','ODBCGETSTMTPARAMSETSIZE','ODBCGETSTMTPARAMOPERATIONPTR','ODBCGETSTMTPARAMBINDTYPE','ODBCGETSTMTPARAMBINDOFFSETPTR','ODBCGETSTMTNOSCAN','ODBCGETSTMTMETADATAID',
+            'ODBCGETSTMTMAXROWS','ODBCGETSTMTMAXLENGTH','ODBCGETSTMTKEYSETSIZE','ODBCGETSTMTIMPROWDESC','ODBCGETSTMTIMPPARAMDESC','ODBCGETSTMTFETCHBOOKMARKPTR','ODBCGETSTMTERRORINFO','ODBCGETSTMTENABLEAUTOIPD',
+            'ODBCGETSTMTCURSORTYPE','ODBCGETSTMTCURSORSENSITIVITY','ODBCGETSTMTCURSORSCROLLABLE','ODBCGETSTMTCONCURRENCY','ODBCGETSTMTATTR','ODBCGETSTMTASYNCENABLE','ODBCGETSTMTAPPROWDESC','ODBCGETSTMTAPPPARAMDESC',
+            'ODBCGETSTATICCURSORATTRIBUTES2','ODBCGETSTATICCURSORATTRIBUTES1','ODBCGETSTATEMENTSQLSTATE','ODBCGETSTATEMENTERRORINFO','ODBCGETSTANDARDCLICONFORMANCE','ODBCGETSQLSTATE','ODBCGETSQLCONFORMANCE','ODBCGETSQL92VALUEEXPRESSIONS',
+            'ODBCGETSQL92STRINGFUNCTIONS','ODBCGETSQL92ROWVALUECONSTRUCTOR','ODBCGETSQL92REVOKE','ODBCGETSQL92RELATIONALJOINOPERATORS','ODBCGETSQL92PREDICATES','ODBCGETSQL92NUMERICVALUEFUNCTIONS','ODBCGETSQL92GRANT','ODBCGETSQL92FOREIGNKEYUPDATERULE',
+            'ODBCGETSQL92FOREIGNKEYDELETERULE','ODBCGETSQL92DATETIMEFUNCTIONS','ODBCGETSPECIALCHARACTERS','ODBCGETSERVERNAME','ODBCGETSEARCHPATTERNESCAPE','ODBCGETSCROLLOPTIONS','ODBCGETSCHEMAUSAGE','ODBCGETSCHEMATERM',
+            'ODBCGETROWUPDATES','ODBCGETQUIETMODE','ODBCGETPROCEDURETERM','ODBCGETPROCEDURESSUPPORT','ODBCGETPRIVATEPROFILESTRING','ODBCGETPOSOPERATIONS','ODBCGETPARAMARRAYSELECTS','ODBCGETPARAMARRAYROWCOUNTS',
+            'ODBCGETPACKETMODE','ODBCGETOUTERJOINS','ODBCGETORDERBYCOLUMNSINSELECT','ODBCGETOJCAPABILITIES','ODBCGETODBCVER','ODBCGETODBCINTERFACECONFORMANCE','ODBCGETODBCCURSORS','ODBCGETNUMERICFUNCTIONS',
+            'ODBCGETNULLCOLLATION','ODBCGETNONNULLABLECOLUMNS','ODBCGETNEEDLONGDATALEN','ODBCGETMULTRESULTSETS','ODBCGETMULTIPLEACTIVETXN','ODBCGETMETADATAID','ODBCGETMAXUSERNAMELEN','ODBCGETMAXTABLESINSELECT',
+            'ODBCGETMAXTABLENAMELEN','ODBCGETMAXSTATEMENTLEN','ODBCGETMAXSCHEMANAMELEN','ODBCGETMAXROWSIZEINCLUDESLONG','ODBCGETMAXROWSIZE','ODBCGETMAXPROCEDURENAMELEN','ODBCGETMAXINDEXSIZE','ODBCGETMAXIDENTIFIERLEN',
+            'ODBCGETMAXDRIVERCONNECTIONS','ODBCGETMAXCURSORNAMELEN','ODBCGETMAXCONCURRENTACTIVITIES','ODBCGETMAXCOLUMNSINTABLE','ODBCGETMAXCOLUMNSINSELECT','ODBCGETMAXCOLUMNSINORDERBY','ODBCGETMAXCOLUMNSININDEX','ODBCGETMAXCOLUMNSINGROUPBY',
+            'ODBCGETMAXCOLUMNNAMELEN','ODBCGETMAXCHARLITERALLEN','ODBCGETMAXCATALOGNAMELEN','ODBCGETMAXBINARYLITERALLEN','ODBCGETMAXASYNCCONCURRENTSTATEMENTS','ODBCGETLONGVARCHARDATABYCOLNAME','ODBCGETLONGVARCHARDATA','ODBCGETLOGINTIMEOUT',
+            'ODBCGETLIKEESCAPECLAUSE','ODBCGETKEYWORDS','ODBCGETKEYSETCURSORATTRIBUTES2','ODBCGETKEYSETCURSORATTRIBUTES1','ODBCGETINTEGRITY','ODBCGETINSTALLERERRORMESSAGE','ODBCGETINSTALLERERRORCODE','ODBCGETINSTALLEDDRIVERS',
+            'ODBCGETINSERTSTATEMENT','ODBCGETINFOSTR','ODBCGETINFOSCHEMAVIEWS','ODBCGETINFOLONG','ODBCGETINFOINT','ODBCGETINFO','ODBCGETINDEXKEYWORDS','ODBCGETIMPROWDESCREC',
+            'ODBCGETIMPROWDESCFIELDTYPE','ODBCGETIMPROWDESCFIELDSCALE','ODBCGETIMPROWDESCFIELDPRECISION','ODBCGETIMPROWDESCFIELDOCTETLENGTH','ODBCGETIMPROWDESCFIELDNULLABLE','ODBCGETIMPROWDESCFIELDNAME','ODBCGETIMPROWDESCFIELD','ODBCGETIMPPARAMDESCREC',
+            'ODBCGETIMPPARAMDESCFIELDTYPE','ODBCGETIMPPARAMDESCFIELDSCALE','ODBCGETIMPPARAMDESCFIELDPRECISION','ODBCGETIMPPARAMDESCFIELDOCTETLENGTH','ODBCGETIMPPARAMDESCFIELDNULLABLE','ODBCGETIMPPARAMDESCFIELDNAME','ODBCGETIMPPARAMDESCFIELD','ODBCGETIDENTIFIERQUOTECHAR',
+            'ODBCGETIDENTIFIERCASE','ODBCGETGROUPBY','ODBCGETFUNCTIONS','ODBCGETFORWARDONLYCURSORATTRIBUTES2','ODBCGETFORWARDONLYCURSORATTRIBUTES1','ODBCGETFILEUSAGE','ODBCGETEXPRESSIONSINORDERBY','ODBCGETERRORINFO',
+            'ODBCGETENVSQLSTATE','ODBCGETENVOUTPUTNTS','ODBCGETENVODBCVERSION','ODBCGETENVIRONMENTSQLSTATE','ODBCGETENVIRONMENTERRORINFO','ODBCGETENVERRORINFO','ODBCGETENVCPMATCH','ODBCGETENVCONNECTIONPOOLING',
+            'ODBCGETENVATTR','ODBCGETDYNAMICCURSORATTRIBUTES2','ODBCGETDYNAMICCURSORATTRIBUTES1','ODBCGETDROPVIEW','ODBCGETDROPTRANSLATION','ODBCGETDROPTABLE','ODBCGETDROPSCHEMA','ODBCGETDROPDOMAIN',
+            'ODBCGETDROPCOLLATION','ODBCGETDROPCHARACTERSET','ODBCGETDROPASSERTION','ODBCGETDRIVERVER','ODBCGETDRIVERODBCVER','ODBCGETDRIVERNAME','ODBCGETDRIVERMANAGERINSTALLPATH','ODBCGETDRIVERHLIB',
+            'ODBCGETDRIVERHENV','ODBCGETDRIVERHDBC','ODBCGETDMVERMINOR','ODBCGETDMVERMAJOR','ODBCGETDMVER','ODBCGETDIAGREC','ODBCGETDIAGFIELD','ODBCGETDESCSQLSTATE',
+            'ODBCGETDESCRIPTORSQLSTATE','ODBCGETDESCRIPTORERRORINFO','ODBCGETDESCRIBEPARAMETER','ODBCGETDESCREC','ODBCGETDESCFIELD','ODBCGETDESCERRORINFO','ODBCGETDEFAULTTXNISOLATION','ODBCGETDDLINDEX',
+            'ODBCGETDBMSVER','ODBCGETDBMSNAME','ODBCGETDBCSQLSTATE','ODBCGETDBCERRORINFO','ODBCGETDATETIMELITERALS','ODBCGETDATASTRINGBYCOLNAME','ODBCGETDATASTRING','ODBCGETDATASOURCEREADONLY',
+            'ODBCGETDATASOURCENAME','ODBCGETDATAEXTENSIONS','ODBCGETDATABASENAME','ODBCGETDATA','ODBCGETCURSORTYPE','ODBCGETCURSORSENSITIVITYSUPPORT','ODBCGETCURSORSENSITIVITY','ODBCGETCURSORSCROLLABILITY',
+            'ODBCGETCURSORROLLBACKBEHAVIOR','ODBCGETCURSORNAME','ODBCGETCURSORLOCKTYPE','ODBCGETCURSORKEYSETSIZE','ODBCGETCURSORCONCURRENCY','ODBCGETCURSORCOMMITBEHAVIOR','ODBCGETCURRENTCATALOG','ODBCGETCREATEVIEW',
+            'ODBCGETCREATETRANSLATION','ODBCGETCREATETABLE','ODBCGETCREATESCHEMA','ODBCGETCREATEDOMAIN','ODBCGETCREATECOLLATION','ODBCGETCREATECHARACTERSET','ODBCGETCREATEASSERTION','ODBCGETCORRELATIONNAME',
+            'ODBCGETCONVERTVARCHAR','ODBCGETCONVERTVARBINARY','ODBCGETCONVERTTINYINT','ODBCGETCONVERTTIMESTAMP','ODBCGETCONVERTTIME','ODBCGETCONVERTSMALLINT','ODBCGETCONVERTREAL','ODBCGETCONVERTNUMERIC',
+            'ODBCGETCONVERTLONGVARCHAR','ODBCGETCONVERTLONGVARBINARY','ODBCGETCONVERTINTERVALYEARMONTH','ODBCGETCONVERTINTERVALDAYTIME','ODBCGETCONVERTINTEGER','ODBCGETCONVERTFUNCTIONS','ODBCGETCONVERTFLOAT','ODBCGETCONVERTDOUBLE',
+            'ODBCGETCONVERTDECIMAL','ODBCGETCONVERTDATE','ODBCGETCONVERTCHAR','ODBCGETCONVERTBIT','ODBCGETCONVERTBINARY','ODBCGETCONVERTBIGINT','ODBCGETCONNECTIONTIMEOUT','ODBCGETCONNECTIONSQLSTATE',
+            'ODBCGETCONNECTIONERRORINFO','ODBCGETCONNECTIONDEAD','ODBCGETCONNECTATTR','ODBCGETCONFIGMODE','ODBCGETCONCATNULLBEHAVIOR','ODBCGETCOLUMNALIAS','ODBCGETCOLLATIONSEQ','ODBCGETCATALOGUSAGE',
+            'ODBCGETCATALOGTERM','ODBCGETCATALOGNAMESEPARATOR','ODBCGETCATALOGNAME','ODBCGETCATALOGLOCATION','ODBCGETBOOKMARKPERSISTENCE','ODBCGETBATCHSUPPORT','ODBCGETBATCHROWCOUNT','ODBCGETAUTOIPD',
+            'ODBCGETAUTOCOMMIT','ODBCGETASYNCMODE','ODBCGETASYNCENABLE','ODBCGETALTERTABLE','ODBCGETALTERDOMAIN','ODBCGETAGGREGATEFUNCTIONS','ODBCGETACTIVEENVIRONMENTS','ODBCGETACCESSMODE',
+            'ODBCGETACCESSIBLETABLES','ODBCGETACCESSIBLEPROCEDURES','ODBCFREESTMT','ODBCFREEHANDLE','ODBCFREEENV','ODBCFREEDESC','ODBCFREEDBC','ODBCFREECONNECT',
+            'ODBCFOREIGNKEYSCOUNT','ODBCFOREIGNKEYS','ODBCFETCHSCROLL','ODBCFETCHBYBOOKMARK','ODBCFETCH','ODBCEXTENDEDFETCH','ODBCEXECUTE','ODBCEXECDIRECT',
+            'ODBCERROR','ODBCEOF','ODBCENDTRAN','ODBCDRIVERSCOUNT','ODBCDRIVERS','ODBCDRIVERCONNECT','ODBCDISCONNECT','ODBCDESCRIBEPARAM',
+            'ODBCDESCRIBECOL','ODBCDELETERECORD','ODBCDELETEBYBOOKMARK','ODBCDATASOURCES','ODBCCREATEDATASOURCE','ODBCCOPYDESC','ODBCCONNECTIONISDEAD','ODBCCONNECTIONISALIVE',
+            'ODBCCONNECT','ODBCCONFIGDRIVER','ODBCCONFIGDATASOURCE','ODBCCOMMITTRAN','ODBCCOMMITENVTRAN','ODBCCOMMITDBCTRAN','ODBCCOLUPDATABLE','ODBCCOLUNSIGNED',
+            'ODBCCOLUNNAMED','ODBCCOLUMNSCOUNT','ODBCCOLUMNS','ODBCCOLUMNPRIVILEGESCOUNT','ODBCCOLUMNPRIVILEGES','ODBCCOLUMN','ODBCCOLTYPENAME','ODBCCOLTYPE',
+            'ODBCCOLTABLENAME','ODBCCOLSEARCHABLE','ODBCCOLSCHEMANAME','ODBCCOLSCALE','ODBCCOLPRECISION','ODBCCOLOCTETLENGTH','ODBCCOLNUMPRECRADIX','ODBCCOLNULLABLE',
+            'ODBCCOLNAME','ODBCCOLLOCALTYPENAME','ODBCCOLLITERALSUFFIX','ODBCCOLLITERALPREFIX','ODBCCOLLENGTH','ODBCCOLLABEL','ODBCCOLISNULL','ODBCCOLFIXEDPRECSCALE',
+            'ODBCCOLDISPLAYSIZE','ODBCCOLCOUNT','ODBCCOLCONCISETYPE','ODBCCOLCATALOGNAME','ODBCCOLCASESENSITIVE','ODBCCOLBASETABLENAME','ODBCCOLBASECOLUMNNAME','ODBCCOLAUTOUNIQUEVALUE',
+            'ODBCCOLATTRIBUTE','ODBCCLOSESTMTCURSOR','ODBCCLOSESTMT','ODBCCLOSECURSOR','ODBCCLOSECONNECTION','ODBCCLEARRESULT','ODBCCANCEL','ODBCBULKOPERATIONS',
+            'ODBCBROWSECONNECT','ODBCBINDPARAMETER','ODBCBINDCOLTOWORD','ODBCBINDCOLTOTIMESTAMP','ODBCBINDCOLTOTIME','ODBCBINDCOLTOSTRING','ODBCBINDCOLTOSINGLE','ODBCBINDCOLTOQUAD',
+            'ODBCBINDCOLTONUMERIC','ODBCBINDCOLTOLONG','ODBCBINDCOLTOINTEGER','ODBCBINDCOLTODWORD','ODBCBINDCOLTODOUBLE','ODBCBINDCOLTODECIMAL','ODBCBINDCOLTODATE','ODBCBINDCOLTOCURRENCY',
+            'ODBCBINDCOLTOBYTE','ODBCBINDCOLTOBIT','ODBCBINDCOLTOBINARY','ODBCBINDCOL','ODBCALLOCSTMT','ODBCALLOCHANDLE','ODBCALLOCENV','ODBCALLOCDESC',
+            'ODBCALLOCDBC','ODBCALLOCCONNECT','ODBCADDRECORD','GLVIEWPORT','GLVERTEXPOINTER','GLVERTEX4SV','GLVERTEX4S','GLVERTEX4IV',
+            'GLVERTEX4I','GLVERTEX4FV','GLVERTEX4F','GLVERTEX4DV','GLVERTEX4D','GLVERTEX3SV','GLVERTEX3S','GLVERTEX3IV',
+            'GLVERTEX3I','GLVERTEX3FV','GLVERTEX3F','GLVERTEX3DV','GLVERTEX3D','GLVERTEX2SV','GLVERTEX2S','GLVERTEX2IV',
+            'GLVERTEX2I','GLVERTEX2FV','GLVERTEX2F','GLVERTEX2DV','GLVERTEX2D','GLUUNPROJECT','GLUTESSVERTEX','GLUTESSPROPERTY',
+            'GLUTESSNORMAL','GLUTESSENDPOLYGON','GLUTESSENDCONTOUR','GLUTESSCALLBACK','GLUTESSBEGINPOLYGON','GLUTESSBEGINCONTOUR','GLUSPHERE','GLUSCALEIMAGE',
+            'GLUQUADRICTEXTURE','GLUQUADRICORIENTATION','GLUQUADRICNORMALS','GLUQUADRICDRAWSTYLE','GLUQUADRICCALLBACK','GLUPWLCURVE','GLUPROJECT','GLUPICKMATRIX',
+            'GLUPERSPECTIVE','GLUPARTIALDISK','GLUORTHO2D','GLUNURBSSURFACE','GLUNURBSPROPERTY','GLUNURBSCURVE','GLUNURBSCALLBACK','GLUNEXTCONTOUR',
+            'GLUNEWTESS','GLUNEWQUADRIC','GLUNEWNURBSRENDERER','GLULOOKAT','GLULOADSAMPLINGMATRICES','GLUGETTESSPROPERTY','GLUGETSTRING','GLUGETNURBSPROPERTY',
+            'GLUERRORSTRING','GLUENDTRIM','GLUENDSURFACE','GLUENDPOLYGON','GLUENDCURVE','GLUDISK','GLUDELETETESS','GLUDELETEQUADRIC',
+            'GLUDELETENURBSRENDERER','GLUCYLINDER','GLUBUILD2DMIPMAPS','GLUBUILD1DMIPMAPS','GLUBEGINTRIM','GLUBEGINSURFACE','GLUBEGINPOLYGON','GLUBEGINCURVE',
+            'GLTRANSLATEF','GLTRANSLATED','GLTEXSUBIMAGE2D','GLTEXSUBIMAGE1D','GLTEXPARAMETERIV','GLTEXPARAMETERI','GLTEXPARAMETERFV','GLTEXPARAMETERF',
+            'GLTEXIMAGE2D','GLTEXIMAGE1D','GLTEXGENIV','GLTEXGENI','GLTEXGENFV','GLTEXGENF','GLTEXGENDV','GLTEXGEND',
+            'GLTEXENVIV','GLTEXENVI','GLTEXENVFV','GLTEXENVF','GLTEXCOORDPOINTER','GLTEXCOORD4SV','GLTEXCOORD4S','GLTEXCOORD4IV',
+            'GLTEXCOORD4I','GLTEXCOORD4FV','GLTEXCOORD4F','GLTEXCOORD4DV','GLTEXCOORD4D','GLTEXCOORD3SV','GLTEXCOORD3S','GLTEXCOORD3IV',
+            'GLTEXCOORD3I','GLTEXCOORD3FV','GLTEXCOORD3F','GLTEXCOORD3DV','GLTEXCOORD3D','GLTEXCOORD2SV','GLTEXCOORD2S','GLTEXCOORD2IV',
+            'GLTEXCOORD2I','GLTEXCOORD2FV','GLTEXCOORD2F','GLTEXCOORD2DV','GLTEXCOORD2D','GLTEXCOORD1SV','GLTEXCOORD1S','GLTEXCOORD1IV',
+            'GLTEXCOORD1I','GLTEXCOORD1FV','GLTEXCOORD1F','GLTEXCOORD1DV','GLTEXCOORD1D','GLSTENCILOP','GLSTENCILMASK','GLSTENCILFUNC',
+            'GLSHADEMODEL','GLSELECTBUFFER','GLSCISSOR','GLSCALEF','GLSCALED','GLROTATEF','GLROTATED','GLRENDERMODE',
+            'GLRECTSV','GLRECTS','GLRECTIV','GLRECTI','GLRECTFV','GLRECTF','GLRECTDV','GLRECTD',
+            'GLREADPIXELS','GLREADBUFFER','GLRASTERPOS4SV','GLRASTERPOS4S','GLRASTERPOS4IV','GLRASTERPOS4I','GLRASTERPOS4FV','GLRASTERPOS4F',
+            'GLRASTERPOS4DV','GLRASTERPOS4D','GLRASTERPOS3SV','GLRASTERPOS3S','GLRASTERPOS3IV','GLRASTERPOS3I','GLRASTERPOS3FV','GLRASTERPOS3F',
+            'GLRASTERPOS3DV','GLRASTERPOS3D','GLRASTERPOS2SV','GLRASTERPOS2S','GLRASTERPOS2IV','GLRASTERPOS2I','GLRASTERPOS2FV','GLRASTERPOS2F',
+            'GLRASTERPOS2DV','GLRASTERPOS2D','GLPUSHNAME','GLPUSHMATRIX','GLPUSHCLIENTATTRIB','GLPUSHATTRIB','GLPRIORITIZETEXTURES','GLPOPNAME',
+            'GLPOPMATRIX','GLPOPCLIENTATTRIB','GLPOPATTRIB','GLPOLYGONSTIPPLE','GLPOLYGONOFFSET','GLPOLYGONMODE','GLPOINTSIZE','GLPIXELZOOM',
+            'GLPIXELTRANSFERI','GLPIXELTRANSFERF','GLPIXELSTOREI','GLPIXELSTOREF','GLPIXELMAPUSV','GLPIXELMAPUIV','GLPIXELMAPFV','GLPASSTHROUGH',
+            'GLORTHO','GLNORMALPOINTER','GLNORMAL3SV','GLNORMAL3S','GLNORMAL3IV','GLNORMAL3I','GLNORMAL3FV','GLNORMAL3F',
+            'GLNORMAL3DV','GLNORMAL3D','GLNORMAL3BV','GLNORMAL3B','GLNEWLIST','GLMULTMATRIXF','GLMULTMATRIXD','GLMATRIXMODE',
+            'GLMATERIALIV','GLMATERIALI','GLMATERIALFV','GLMATERIALF','GLMAPGRID2F','GLMAPGRID2D','GLMAPGRID1F','GLMAPGRID1D',
+            'GLMAP2F','GLMAP2D','GLMAP1F','GLMAP1D','GLLOGICOP','GLLOADNAME','GLLOADMATRIXF','GLLOADMATRIXD',
+            'GLLOADIDENTITY','GLLISTBASE','GLLINEWIDTH','GLLINESTIPPLE','GLLIGHTMODELIV','GLLIGHTMODELI','GLLIGHTMODELFV','GLLIGHTMODELF',
+            'GLLIGHTIV','GLLIGHTI','GLLIGHTFV','GLLIGHTF','GLISTEXTURE','GLISLIST','GLISENABLED','GLINTERLEAVEDARRAYS',
+            'GLINITNAMES','GLINDEXUBV','GLINDEXUB','GLINDEXSV','GLINDEXS','GLINDEXPOINTER','GLINDEXMASK','GLINDEXIV',
+            'GLINDEXI','GLINDEXFV','GLINDEXF','GLINDEXDV','GLINDEXD','GLHINT','GLGETTEXPARAMETERIV','GLGETTEXPARAMETERFV',
+            'GLGETTEXLEVELPARAMETERIV','GLGETTEXLEVELPARAMETERFV','GLGETTEXIMAGE','GLGETTEXGENIV','GLGETTEXGENFV','GLGETTEXGENDV','GLGETTEXENVIV','GLGETTEXENVFV',
+            'GLGETSTRING','GLGETPOLYGONSTIPPLE','GLGETPOINTERV','GLGETPIXELMAPUSV','GLGETPIXELMAPUIV','GLGETPIXELMAPFV','GLGETMATERIALIV','GLGETMATERIALFV',
+            'GLGETMAPIV','GLGETMAPFV','GLGETMAPDV','GLGETLIGHTIV','GLGETLIGHTFV','GLGETINTEGERV','GLGETFLOATV','GLGETERROR',
+            'GLGETDOUBLEV','GLGETCLIPPLANE','GLGETBOOLEANV','GLGENTEXTURES','GLGENLISTS','GLFRUSTUM','GLFRONTFACE','GLFOGIV',
+            'GLFOGI','GLFOGFV','GLFOGF','GLFLUSH','GLFINISH','GLFEEDBACKBUFFER','GLEVALPOINT2','GLEVALPOINT1',
+            'GLEVALMESH2','GLEVALMESH1','GLEVALCOORD2FV','GLEVALCOORD2F','GLEVALCOORD2DV','GLEVALCOORD2D','GLEVALCOORD1FV','GLEVALCOORD1F',
+            'GLEVALCOORD1DV','GLEVALCOORD1D','GLENDLIST','GLEND','GLENABLECLIENTSTATE','GLENABLE','GLEDGEFLAGV','GLEDGEFLAGPOINTER',
+            'GLEDGEFLAG','GLDRAWPIXELS','GLDRAWELEMENTS','GLDRAWBUFFER','GLDRAWARRAYS','GLDISABLECLIENTSTATE','GLDISABLE','GLDEPTHRANGE',
+            'GLDEPTHMASK','GLDEPTHFUNC','GLDELETETEXTURES','GLDELETELISTS','GLCULLFACE','GLCOPYTEXSUBIMAGE2D','GLCOPYTEXSUBIMAGE1D','GLCOPYTEXIMAGE2D',
+            'GLCOPYTEXIMAGE1D','GLCOPYPIXELS','GLCOLORPOINTER','GLCOLORMATERIAL','GLCOLORMASK','GLCOLOR4USV','GLCOLOR4US','GLCOLOR4UIV',
+            'GLCOLOR4UI','GLCOLOR4UBV','GLCOLOR4UB','GLCOLOR4SV','GLCOLOR4S','GLCOLOR4IV','GLCOLOR4I','GLCOLOR4FV',
+            'GLCOLOR4F','GLCOLOR4DV','GLCOLOR4D','GLCOLOR4BV','GLCOLOR4B','GLCOLOR3USV','GLCOLOR3US','GLCOLOR3UIV',
+            'GLCOLOR3UI','GLCOLOR3UBV','GLCOLOR3UB','GLCOLOR3SV','GLCOLOR3S','GLCOLOR3IV','GLCOLOR3I','GLCOLOR3FV',
+            'GLCOLOR3F','GLCOLOR3DV','GLCOLOR3D','GLCOLOR3BV','GLCOLOR3B','GLCLIPPLANE','GLCLEARSTENCIL','GLCLEARINDEX',
+            'GLCLEARDEPTH','GLCLEARCOLOR','GLCLEARACCUM','GLCLEAR','GLCALLLISTS','GLCALLLIST','GLBLENDFUNC','GLBITMAP',
+            'GLBINDTEXTURE','GLBEGIN','GLARRAYELEMENT','GLARETEXTURESRESIDENT','GLALPHAFUNC','GLACCUM'),
+        2 => array(
+            '$BEL','$BS','$CR','$CRLF','$DQ','$DT_DATE_SEPARATOR','$DT_LANGUAGE','$DT_TIME_SEPARATOR',
+            '$ESC','$FF','$LF','$NUL','$PC_SD_MY_PC','$SPC','$SQL_OPT_TRACE_FILE_DEFAULT','$SQL_SPEC_STRING',
+            '$TAB','$TRACKBAR_CLASS','$VT','%ACM_OPEN','%ACM_OPENW','%ACM_PLAY','%ACM_STOP','%ACN_START',
+            '%ACN_STOP','%ACS_AUTOPLAY','%ACS_CENTER','%ACS_TIMER','%ACS_TRANSPARENT','%APP_COUNTER_FUNLOOKUP','%APP_COUNTER_KEYLOOKUP','%APP_COUNTER_LOOKUP',
+            '%APP_COUNTER_TESTALPHA','%APP_COUNTER_UDTLOOKUP','%APP_COUNTER_VARLOOKUP','%APP_TIMER_EXECTOTAL','%APP_TIMER_INIT','%APP_TIMER_LOAD','%APP_TIMER_PREPROCESSOR','%AW_ACTIVATE',
+            '%AW_BLEND','%AW_CENTER','%AW_HIDE','%AW_HOR_NEGATIVE','%AW_HOR_POSITIVE','%AW_SLIDE','%AW_VER_NEGATIVE','%AW_VER_POSITIVE',
+            '%BCM_FIRST','%BLACK','%BLUE','%BM_GETCHECK','%BM_SETCHECK','%BST_CHECKED','%BST_UNCHECKED','%BS_AUTOCHECKBOX',
+            '%BS_BOTTOM','%BS_CENTER','%BS_DEFAULT','%BS_DEFPUSHBUTTON','%BS_FLAT','%BS_LEFT','%BS_LEFTTEXT','%BS_MULTILINE',
+            '%BS_NOTIFY','%BS_OWNERDRAW','%BS_PUSHLIKE','%BS_RIGHT','%BS_TOP','%BS_VCENTER','%BUNDLE_BUILDER_CANCELLED','%CBM_FIRST',
+            '%CBN_CLOSEUP','%CBN_DBLCLK','%CBN_DROPDOWN','%CBN_EDITCHANGE','%CBN_EDITUPDATE','%CBN_ERRSPACE','%CBN_KILLFOCUS','%CBN_SELCANCEL',
+            '%CBN_SELCHANGE','%CBN_SELENDCANCEL','%CBN_SELENDOK','%CBN_SETFOCUS','%CBS_AUTOHSCROLL','%CBS_DISABLENOSCROLL','%CBS_DROPDOWN','%CBS_DROPDOWNLIST',
+            '%CBS_HASSTRINGS','%CBS_LOWERCASE','%CBS_NOINTEGRALHEIGHT','%CBS_SIMPLE','%CBS_SORT','%CBS_UPPERCASE','%CB_SELECTSTRING','%CCM_FIRST',
+            '%CC_ANYCOLOR','%CC_ENABLEHOOK','%CC_ENABLETEMPLATE','%CC_ENABLETEMPLATEHANDLE','%CC_FULLOPEN','%CC_PREVENTFULLOPEN','%CC_RGBINIT','%CC_SHOWHELP',
+            '%CC_SOLIDCOLOR','%CFE_BOLD','%CFE_ITALIC','%CFE_LINK','%CFE_PROTECTED','%CFE_STRIKEOUT','%CFE_UNDERLINE','%CFM_ANIMATION',
+            '%CFM_BACKCOLOR','%CFM_BOLD','%CFM_CHARSET','%CFM_COLOR','%CFM_FACE','%CFM_ITALIC','%CFM_KERNING','%CFM_LCID',
+            '%CFM_LINK','%CFM_OFFSET','%CFM_PROTECTED','%CFM_REVAUTHOR','%CFM_SIZE','%CFM_SPACING','%CFM_STRIKEOUT','%CFM_STYLE',
+            '%CFM_UNDERLINE','%CFM_UNDERLINETYPE','%CFM_WEIGHT','%CGI_ACCEPT_FILE_UPLOAD','%CGI_AUTO_ADD_SPECIAL_CHARS_PREFIX','%CGI_AUTO_CREATE_VARS','%CGI_BUFFERIZE_OUTPUT','%CGI_DOUBLE_QUOTE',
+            '%CGI_FILE_UPLOAD_BASEPATH','%CGI_FORCE_SESSION_VALIDATION','%CGI_MAX_BYTE_FROM_STD_IN','%CGI_REQUEST_METHOD_GET','%CGI_REQUEST_METHOD_POST','%CGI_SESSION_FILE_BASEPATH','%CGI_SINGLE_QUOTE','%CGI_SPECIAL_CHARS_PREFIX',
+            '%CGI_TEMPORARY_UPLOAD_PATH','%CGI_UPLOAD_CAN_OVERWRITE','%CGI_WRITE_LOG_FILE','%CGI_WRITE_VARS_INTO_LOG_FILE','%CONOLE_ATTACH_PARENT_PROCESS','%CONSOLE_BACKGROUND_BLUE','%CONSOLE_BACKGROUND_GREEN','%CONSOLE_BACKGROUND_INTENSITY',
+            '%CONSOLE_BACKGROUND_RED','%CONSOLE_BOX_FLAG_3DOFF','%CONSOLE_BOX_FLAG_3DON','%CONSOLE_BOX_FLAG_SHADOW','%CONSOLE_COMMON_LVB_GRID_HORIZONTAL','%CONSOLE_COMMON_LVB_GRID_LVERTICAL','%CONSOLE_COMMON_LVB_GRID_RVERTICAL','%CONSOLE_COMMON_LVB_LEADING_BYTE',
+            '%CONSOLE_COMMON_LVB_REVERSE_VIDEO','%CONSOLE_COMMON_LVB_TRAILING_BYTE','%CONSOLE_COMMON_LVB_UNDERSCORE','%CONSOLE_CTRL_BREAK_EVENT','%CONSOLE_CTRL_C_EVENT','%CONSOLE_DOUBLE_CLICK','%CONSOLE_ENABLE_AUTO_POSITION','%CONSOLE_ENABLE_ECHO_INPUT',
+            '%CONSOLE_ENABLE_EXTENDED_FLAGS','%CONSOLE_ENABLE_INSERT_MODE','%CONSOLE_ENABLE_LINE_INPUT','%CONSOLE_ENABLE_MOUSE_INPUT','%CONSOLE_ENABLE_PROCESSED_INPUT','%CONSOLE_ENABLE_PROCESSED_OUTPUT','%CONSOLE_ENABLE_QUICK_EDIT_MODE','%CONSOLE_ENABLE_WINDOW_INPUT',
+            '%CONSOLE_ENABLE_WRAP_AT_EOL_OUTPUT','%CONSOLE_FOREGROUND_BLUE','%CONSOLE_FOREGROUND_GREEN','%CONSOLE_FOREGROUND_INTENSITY','%CONSOLE_FOREGROUND_RED','%CONSOLE_LBUTTON','%CONSOLE_LINE_HORIZONTAL','%CONSOLE_LINE_VERTICAL',
+            '%CONSOLE_MBUTTON','%CONSOLE_MOUSE_MOVED','%CONSOLE_MOUSE_WHEELED','%CONSOLE_RBUTTON','%CONSOLE_SCROLLBUF_DOWN','%CONSOLE_SCROLLBUF_UP','%CONSOLE_SCROLLWND_ABSOLUTE','%CONSOLE_SCROLLWND_RELATIVE',
+            '%CONSOLE_STD_ERROR_HANDLE','%CONSOLE_STD_INPUT_HANDLE','%CONSOLE_STD_OUTPUT_HANDLE','%CONSOLE_SW_FORCEMINIMIZE','%CONSOLE_SW_HIDE','%CONSOLE_SW_MAXIMIZE','%CONSOLE_SW_MINIMIZE','%CONSOLE_SW_RESTORE',
+            '%CONSOLE_SW_SHOW','%CONSOLE_SW_SHOWDEFAULT','%CONSOLE_SW_SHOWMAXIMIZED','%CONSOLE_SW_SHOWMINIMIZED','%CONSOLE_SW_SHOWMINNOACTIVE','%CONSOLE_SW_SHOWNA','%CONSOLE_SW_SHOWNOACTIVATE','%CONSOLE_SW_SHOWNORMAL',
+            '%CONSOLE_UNAVAILABLE','%CRYPTO_CALG_DES','%CRYPTO_CALG_RC2','%CRYPTO_CALG_RC4','%CRYPTO_PROV_DH_SCHANNEL','%CRYPTO_PROV_DSS','%CRYPTO_PROV_DSS_DH','%CRYPTO_PROV_FORTEZZA',
+            '%CRYPTO_PROV_MS_EXCHANGE','%CRYPTO_PROV_RSA_FULL','%CRYPTO_PROV_RSA_SCHANNEL','%CRYPTO_PROV_RSA_SIG','%CRYPTO_PROV_SSL','%CSIDL_ADMINTOOLS','%CSIDL_ALTSTARTUP','%CSIDL_APPDATA',
+            '%CSIDL_BITBUCKET','%CSIDL_CDBURN_AREA','%CSIDL_COMMON_ADMINTOOLS','%CSIDL_COMMON_ALTSTARTUP','%CSIDL_COMMON_APPDATA','%CSIDL_COMMON_DESKTOPDIRECTORY','%CSIDL_COMMON_DOCUMENTS','%CSIDL_COMMON_FAVORITES',
+            '%CSIDL_COMMON_MUSIC','%CSIDL_COMMON_PICTURES','%CSIDL_COMMON_PROGRAMS','%CSIDL_COMMON_STARTMENU','%CSIDL_COMMON_STARTUP','%CSIDL_COMMON_TEMPLATES','%CSIDL_COMMON_VIDEO','%CSIDL_CONTROLS',
+            '%CSIDL_COOKIES','%CSIDL_DESKTOP','%CSIDL_DESKTOPDIRECTORY','%CSIDL_DRIVES','%CSIDL_FAVORITES','%CSIDL_FLAG_CREATE','%CSIDL_FONTS','%CSIDL_HISTORY',
+            '%CSIDL_INTERNET','%CSIDL_INTERNET_CACHE','%CSIDL_LOCAL_APPDATA','%CSIDL_MYDOCUMENTS','%CSIDL_MYMUSIC','%CSIDL_MYPICTURES','%CSIDL_MYVIDEO','%CSIDL_NETHOOD',
+            '%CSIDL_NETWORK','%CSIDL_PERSONAL','%CSIDL_PRINTERS','%CSIDL_PRINTHOOD','%CSIDL_PROFILE','%CSIDL_PROGRAMS','%CSIDL_PROGRAM_FILES','%CSIDL_PROGRAM_FILES_COMMON',
+            '%CSIDL_RECENT','%CSIDL_SENDTO','%CSIDL_STARTMENU','%CSIDL_STARTUP','%CSIDL_SYSTEM','%CSIDL_TEMPLATES','%CSIDL_WINDOWS','%CW_USEDEFAULT',
+            '%CYAN','%DATE_TIME_FILE_CREATION','%DATE_TIME_LAST_FILE_ACCESS','%DATE_TIME_LAST_FILE_WRITE','%DICTIONARY_MEMINFO_DATA','%DICTIONARY_MEMINFO_KEYS','%DICTIONARY_MEMINFO_TOTAL','%DICTIONARY_SORTDESCENDING',
+            '%DICTIONARY_SORTKEYS','%DSCAPS_CERTIFIED','%DSCAPS_CONTINUOUSRATE','%DSCAPS_EMULDRIVER','%DSCAPS_SECONDARY16BIT','%DSCAPS_SECONDARY8BIT','%DSCAPS_SECONDARYMONO','%DSCAPS_SECONDARYSTEREO',
+            '%DSCCAPS_CERTIFIED','%DSCCAPS_EMULDRIVER','%DS_3DLOOK','%DS_ABSALIGN','%DS_CENTER','%DS_CENTERMOUSE','%DS_CONTEXTHELP','%DS_CONTROL',
+            '%DS_MODALFRAME','%DS_NOFAILCREATE','%DS_SETFONT','%DS_SETFOREGROUND','%DS_SYSMODAL','%DTM_FIRST','%DTM_GETMCCOLOR','%DTM_GETMCFONT',
+            '%DTM_GETMONTHCAL','%DTM_GETRANGE','%DTM_GETSYSTEMTIME','%DTM_SETFORMAT','%DTM_SETFORMATW','%DTM_SETMCCOLOR','%DTM_SETMCFONT','%DTM_SETRANGE',
+            '%DTM_SETSYSTEMTIME','%DTN_CLOSEUP','%DTN_DATETIMECHANGE','%DTN_DROPDOWN','%DTN_FORMAT','%DTN_FORMATQUERY','%DTN_FORMATQUERYW','%DTN_FORMATW',
+            '%DTN_USERSTRING','%DTN_USERSTRINGW','%DTN_WMKEYDOWN','%DTN_WMKEYDOWNW','%DTS_APPCANPARSE','%DTS_LONGDATEFORMAT','%DTS_RIGHTALIGN','%DTS_SHORTDATECENTURYFORMAT',
+            '%DTS_SHORTDATEFORMAT','%DTS_SHOWNONE','%DTS_TIMEFORMAT','%DTS_UPDOWN','%DT_DATE_CENTURY','%DT_DATE_OK','%DT_DAY_IN_YEAR','%DT_DIFF_IN_DAYS',
+            '%DT_DIFF_IN_HOURS','%DT_DIFF_IN_MINUTES','%DT_DIFF_IN_SECONDS','%DT_HOURS_IN_DAY','%DT_MINUTES_IN_HOUR','%DT_SECONDS_IN_DAY','%DT_SECONDS_IN_HOUR','%DT_SECONDS_IN_MINUTE',
+            '%DT_SECONDS_IN_YEAR','%DT_USE_LONG_FORM','%DT_USE_SHORT_FORM','%DT_WRONG_DATE','%DT_WRONG_DAY','%DT_WRONG_MONTH','%ECM_FIRST','%ECOOP_AND',
+            '%ECOOP_OR','%ECOOP_SET','%ECOOP_XOR','%ECO_AUTOHSCROLL','%ECO_AUTOVSCROLL','%ECO_AUTOWORDSELECTION','%ECO_NOHIDESEL','%ECO_READONLY',
+            '%ECO_SELECTIONBAR','%ECO_WANTRETURN','%EM_AUTOURLDETECT','%EM_CANPASTE','%EM_CANREDO','%EM_CANUNDO','%EM_CHARFROMPOS','%EM_DISPLAYBAND',
+            '%EM_EMPTYUNDOBUFFER','%EM_EXGETSEL','%EM_EXLIMITTEXT','%EM_EXLINEFROMCHAR','%EM_EXSETSEL','%EM_FINDTEXT','%EM_FINDTEXTEX','%EM_FINDWORDBREAK',
+            '%EM_FMTLINES','%EM_FORMATRANGE','%EM_GETAUTOURLDETECT','%EM_GETCHARFORMAT','%EM_GETEDITSTYLE','%EM_GETEVENTMASK','%EM_GETFIRSTVISIBLELINE','%EM_GETHANDLE',
+            '%EM_GETIMESTATUS','%EM_GETLIMITTEXT','%EM_GETLINE','%EM_GETLINECOUNT','%EM_GETMARGINS','%EM_GETMODIFY','%EM_GETOLEINTERFACE','%EM_GETOPTIONS',
+            '%EM_GETPARAFORMAT','%EM_GETPASSWORDCHAR','%EM_GETRECT','%EM_GETREDONAME','%EM_GETSCROLLPOS','%EM_GETSEL','%EM_GETSELTEXT','%EM_GETTEXTMODE',
+            '%EM_GETTEXTRANGE','%EM_GETTHUMB','%EM_GETUNDONAME','%EM_GETWORDBREAKPROC','%EM_GETWORDBREAKPROCEX','%EM_HIDESELECTION','%EM_LIMITTEXT','%EM_LINEFROMCHAR',
+            '%EM_LINEINDEX','%EM_LINELENGTH','%EM_LINESCROLL','%EM_PASTESPECIAL','%EM_POSFROMCHAR','%EM_REDO','%EM_REPLACESEL','%EM_REQUESTRESIZE',
+            '%EM_SCROLL','%EM_SCROLLCARET','%EM_SELECTIONTYPE','%EM_SETBKGNDCOLOR','%EM_SETCHARFORMAT','%EM_SETEDITSTYLE','%EM_SETEVENTMASK','%EM_SETHANDLE',
+            '%EM_SETIMESTATUS','%EM_SETLIMITTEXT','%EM_SETMARGINS','%EM_SETMODIFY','%EM_SETOLECALLBACK','%EM_SETOPTIONS','%EM_SETPARAFORMAT','%EM_SETPASSWORDCHAR',
+            '%EM_SETREADONLY','%EM_SETRECT','%EM_SETRECTNP','%EM_SETSCROLLPOS','%EM_SETSEL','%EM_SETTABSTOPS','%EM_SETTARGETDEVICE','%EM_SETTEXTMODE',
+            '%EM_SETUNDOLIMIT','%EM_SETWORDBREAKPROC','%EM_SETWORDBREAKPROCEX','%EM_SETWORDWRAPMODE','%EM_SETZOOM','%EM_STOPGROUPTYPING','%EM_STREAMIN','%EM_STREAMOUT',
+            '%EM_UNDO','%ENM_CHANGE','%ENM_CORRECTTEXT','%ENM_DRAGDROPDONE','%ENM_DROPFILES','%ENM_KEYEVENTS','%ENM_MOUSEEVENTS','%ENM_NONE',
+            '%ENM_PARAGRAPHEXPANDED','%ENM_PROTECTED','%ENM_REQUESTRESIZE','%ENM_SCROLL','%ENM_SCROLLEVENTS','%ENM_SELCHANGE','%ENM_UPDATE','%EN_CHANGE',
+            '%EN_MSGFILTER','%EN_SELCHANGE','%EN_UPDATE','%ES_AUTOHSCROLL','%ES_AUTOVSCROLL','%ES_CENTER','%ES_DISABLENOSCROLL','%ES_EX_NOCALLOLEINIT',
+            '%ES_LEFT','%ES_LOWERCASE','%ES_MULTILINE','%ES_NOHIDESEL','%ES_NOOLEDRAGDROP','%ES_NUMBER','%ES_OEMCONVERT','%ES_PASSWORD',
+            '%ES_READONLY','%ES_RIGHT','%ES_SAVESEL','%ES_SELECTIONBAR','%ES_SUNKEN','%ES_UPPERCASE','%ES_WANTRETURN','%EVAL_EXEC_STRING',
+            '%FALSE','%FILE_ADDPATH','%FILE_ARCHIVE','%FILE_BUILDVERSION','%FILE_HIDDEN','%FILE_MAJORVERSION','%FILE_MINORVERSION','%FILE_NORMAL',
+            '%FILE_READONLY','%FILE_REVISIONVERSION','%FILE_SUBDIR','%FILE_SYSTEM','%FILE_VLABEL','%FTP_GET_CONNECT_STATUS','%FTP_GET_FILE_BYTES_RCVD','%FTP_GET_FILE_BYTES_SENT',
+            '%FTP_GET_LAST_RESPONSE','%FTP_GET_LOCAL_IP','%FTP_GET_SERVER_IP','%FTP_GET_TOTAL_BYTES_RCVD','%FTP_GET_TOTAL_BYTES_SENT','%FTP_LIST_FULLLIST','%FTP_LIST_FULLLISTDIR','%FTP_LIST_FULLLISTFILE',
+            '%FTP_SET_ASYNC','%FTP_SET_CONNECT_WAIT','%FTP_SET_MAX_LISTEN_WAIT','%FTP_SET_MAX_RESPONSE_WAIT','%FTP_SET_PASSIVE','%FTP_SET_SYNC','%FW_BLACK','%FW_BOLD',
+            '%FW_DEMIBOLD','%FW_DONTCARE','%FW_EXTRABOLD','%FW_EXTRALIGHT','%FW_HEAVY','%FW_LIGHT','%FW_MEDIUM','%FW_NORMAL',
+            '%FW_REGULAR','%FW_SEMIBOLD','%FW_THIN','%FW_ULTRABOLD','%FW_ULTRALIGHT','%GDTR_MAX','%GDTR_MIN','%GLU_AUTO_LOAD_MATRIX',
+            '%GLU_BEGIN','%GLU_CCW','%GLU_CULLING','%GLU_CW','%GLU_DISPLAY_MODE','%GLU_DOMAIN_DISTANCE','%GLU_EDGE_FLAG','%GLU_END',
+            '%GLU_ERROR','%GLU_EXTENSIONS','%GLU_EXTERIOR','%GLU_FALSE','%GLU_FILL','%GLU_FLAT','%GLU_INCOMPATIBLE_GL_VERSION','%GLU_INSIDE',
+            '%GLU_INTERIOR','%GLU_INVALID_ENUM','%GLU_INVALID_VALUE','%GLU_LINE','%GLU_MAP1_TRIM_2','%GLU_MAP1_TRIM_3','%GLU_NONE','%GLU_NURBS_ERROR1',
+            '%GLU_NURBS_ERROR10','%GLU_NURBS_ERROR11','%GLU_NURBS_ERROR12','%GLU_NURBS_ERROR13','%GLU_NURBS_ERROR14','%GLU_NURBS_ERROR15','%GLU_NURBS_ERROR16','%GLU_NURBS_ERROR17',
+            '%GLU_NURBS_ERROR18','%GLU_NURBS_ERROR19','%GLU_NURBS_ERROR2','%GLU_NURBS_ERROR20','%GLU_NURBS_ERROR21','%GLU_NURBS_ERROR22','%GLU_NURBS_ERROR23','%GLU_NURBS_ERROR24',
+            '%GLU_NURBS_ERROR25','%GLU_NURBS_ERROR26','%GLU_NURBS_ERROR27','%GLU_NURBS_ERROR28','%GLU_NURBS_ERROR29','%GLU_NURBS_ERROR3','%GLU_NURBS_ERROR30','%GLU_NURBS_ERROR31',
+            '%GLU_NURBS_ERROR32','%GLU_NURBS_ERROR33','%GLU_NURBS_ERROR34','%GLU_NURBS_ERROR35','%GLU_NURBS_ERROR36','%GLU_NURBS_ERROR37','%GLU_NURBS_ERROR4','%GLU_NURBS_ERROR5',
+            '%GLU_NURBS_ERROR6','%GLU_NURBS_ERROR7','%GLU_NURBS_ERROR8','%GLU_NURBS_ERROR9','%GLU_OUTLINE_PATCH','%GLU_OUTLINE_POLYGON','%GLU_OUTSIDE','%GLU_OUT_OF_MEMORY',
+            '%GLU_PARAMETRIC_ERROR','%GLU_PARAMETRIC_TOLERANCE','%GLU_PATH_LENGTH','%GLU_POINT','%GLU_SAMPLING_METHOD','%GLU_SAMPLING_TOLERANCE','%GLU_SILHOUETTE','%GLU_SMOOTH',
+            '%GLU_TESS_BEGIN','%GLU_TESS_BEGIN_DATA','%GLU_TESS_BOUNDARY_ONLY','%GLU_TESS_COMBINE','%GLU_TESS_COMBINE_DATA','%GLU_TESS_COORD_TOO_LARGE','%GLU_TESS_EDGE_FLAG','%GLU_TESS_EDGE_FLAG_DATA',
+            '%GLU_TESS_END','%GLU_TESS_END_DATA','%GLU_TESS_ERROR','%GLU_TESS_ERROR1','%GLU_TESS_ERROR2','%GLU_TESS_ERROR3','%GLU_TESS_ERROR4','%GLU_TESS_ERROR5',
+            '%GLU_TESS_ERROR6','%GLU_TESS_ERROR7','%GLU_TESS_ERROR8','%GLU_TESS_ERROR_DATA','%GLU_TESS_MISSING_BEGIN_CONTOUR','%GLU_TESS_MISSING_BEGIN_POLYGON','%GLU_TESS_MISSING_END_CONTOUR','%GLU_TESS_MISSING_END_POLYGON',
+            '%GLU_TESS_NEED_COMBINE_CALLBACK','%GLU_TESS_TOLERANCE','%GLU_TESS_VERTEX','%GLU_TESS_VERTEX_DATA','%GLU_TESS_WINDING_ABS_GEQ_TWO','%GLU_TESS_WINDING_NEGATIVE','%GLU_TESS_WINDING_NONZERO','%GLU_TESS_WINDING_ODD',
+            '%GLU_TESS_WINDING_POSITIVE','%GLU_TESS_WINDING_RULE','%GLU_TRUE','%GLU_UNKNOWN','%GLU_U_STEP','%GLU_VERSION','%GLU_VERSION_1_1','%GLU_VERSION_1_2',
+            '%GLU_VERTEX','%GLU_V_STEP','%GL_2D','%GL_2_BYTES','%GL_3D','%GL_3D_COLOR','%GL_3D_COLOR_TEXTURE','%GL_3_BYTES',
+            '%GL_4D_COLOR_TEXTURE','%GL_4_BYTES','%GL_ABGR_EXT','%GL_ACCUM','%GL_ACCUM_ALPHA_BITS','%GL_ACCUM_BLUE_BITS','%GL_ACCUM_BUFFER_BIT','%GL_ACCUM_CLEAR_VALUE',
+            '%GL_ACCUM_GREEN_BITS','%GL_ACCUM_RED_BITS','%GL_ADD','%GL_ALL_ATTRIB_BITS','%GL_ALPHA','%GL_ALPHA12','%GL_ALPHA16','%GL_ALPHA4',
+            '%GL_ALPHA8','%GL_ALPHA_BIAS','%GL_ALPHA_BITS','%GL_ALPHA_SCALE','%GL_ALPHA_TEST','%GL_ALPHA_TEST_FUNC','%GL_ALPHA_TEST_REF','%GL_ALWAYS',
+            '%GL_AMBIENT','%GL_AMBIENT_AND_DIFFUSE','%GL_AND','%GL_AND_INVERTED','%GL_AND_REVERSE','%GL_ARRAY_ELEMENT_LOCK_COUNT_EXT','%GL_ARRAY_ELEMENT_LOCK_FIRST_EXT','%GL_ATTRIB_STACK_DEPTH',
+            '%GL_AUTO_NORMAL','%GL_AUX0','%GL_AUX1','%GL_AUX2','%GL_AUX3','%GL_AUX_BUFFERS','%GL_BACK','%GL_BACK_LEFT',
+            '%GL_BACK_RIGHT','%GL_BGRA_EXT','%GL_BGR_EXT','%GL_BITMAP','%GL_BITMAP_TOKEN','%GL_BLEND','%GL_BLEND_COLOR_EXT','%GL_BLEND_DST',
+            '%GL_BLEND_EQUATION_EXT','%GL_BLEND_SRC','%GL_BLUE','%GL_BLUE_BIAS','%GL_BLUE_BITS','%GL_BLUE_SCALE','%GL_BYTE','%GL_C3F_V3F',
+            '%GL_C4F_N3F_V3F','%GL_C4UB_V2F','%GL_C4UB_V3F','%GL_CCW','%GL_CLAMP','%GL_CLEAR','%GL_CLIENT_ALL_ATTRIB_BITS','%GL_CLIENT_ATTRIB_STACK_DEPTH',
+            '%GL_CLIENT_PIXEL_STORE_BIT','%GL_CLIENT_VERTEX_ARRAY_BIT','%GL_CLIP_PLANE0','%GL_CLIP_PLANE1','%GL_CLIP_PLANE2','%GL_CLIP_PLANE3','%GL_CLIP_PLANE4','%GL_CLIP_PLANE5',
+            '%GL_CLIP_VOLUME_CLIPPING_HINT_EXT','%GL_COEFF','%GL_COLOR','%GL_COLOR_ARRAY','%GL_COLOR_ARRAY_COUNT_EXT','%GL_COLOR_ARRAY_EXT','%GL_COLOR_ARRAY_POINTER','%GL_COLOR_ARRAY_POINTER_EXT',
+            '%GL_COLOR_ARRAY_SIZE','%GL_COLOR_ARRAY_SIZE_EXT','%GL_COLOR_ARRAY_STRIDE','%GL_COLOR_ARRAY_STRIDE_EXT','%GL_COLOR_ARRAY_TYPE','%GL_COLOR_ARRAY_TYPE_EXT','%GL_COLOR_BUFFER_BIT','%GL_COLOR_CLEAR_VALUE',
+            '%GL_COLOR_INDEX','%GL_COLOR_INDEX12_EXT','%GL_COLOR_INDEX16_EXT','%GL_COLOR_INDEX1_EXT','%GL_COLOR_INDEX2_EXT','%GL_COLOR_INDEX4_EXT','%GL_COLOR_INDEX8_EXT','%GL_COLOR_INDEXES',
+            '%GL_COLOR_LOGIC_OP','%GL_COLOR_MATERIAL','%GL_COLOR_MATERIAL_FACE','%GL_COLOR_MATERIAL_PARAMETER','%GL_COLOR_SUM_EXT','%GL_COLOR_TABLE_ALPHA_SIZE_EXT','%GL_COLOR_TABLE_BIAS_EXT','%GL_COLOR_TABLE_BLUE_SIZE_EXT',
+            '%GL_COLOR_TABLE_EXT','%GL_COLOR_TABLE_FORMAT_EXT','%GL_COLOR_TABLE_GREEN_SIZE_EXT','%GL_COLOR_TABLE_INTENSITY_SIZE_EXT','%GL_COLOR_TABLE_LUMINANCE_SIZE_EXT','%GL_COLOR_TABLE_RED_SIZE_EXT','%GL_COLOR_TABLE_SCALE_EXT','%GL_COLOR_TABLE_WIDTH_EXT',
+            '%GL_COLOR_WRITEMASK','%GL_COMPILE','%GL_COMPILE_AND_EXECUTE','%GL_CONSTANT_ALPHA_EXT','%GL_CONSTANT_ATTENUATION','%GL_CONSTANT_COLOR_EXT','%GL_CONVOLUTION_1D_EXT','%GL_CONVOLUTION_2D_EXT',
+            '%GL_CONVOLUTION_BORDER_MODE_EXT','%GL_CONVOLUTION_FILTER_BIAS_EXT','%GL_CONVOLUTION_FILTER_SCALE_EXT','%GL_CONVOLUTION_FORMAT_EXT','%GL_CONVOLUTION_HEIGHT_EXT','%GL_CONVOLUTION_WIDTH_EXT','%GL_COPY','%GL_COPY_INVERTED',
+            '%GL_COPY_PIXEL_TOKEN','%GL_CULL_FACE','%GL_CULL_FACE_MODE','%GL_CULL_VERTEX_EXT','%GL_CULL_VERTEX_EYE_POSITION_EXT','%GL_CULL_VERTEX_OBJECT_POSITION_EXT','%GL_CURRENT_BIT','%GL_CURRENT_COLOR',
+            '%GL_CURRENT_INDEX','%GL_CURRENT_NORMAL','%GL_CURRENT_RASTER_COLOR','%GL_CURRENT_RASTER_DISTANCE','%GL_CURRENT_RASTER_INDEX','%GL_CURRENT_RASTER_POSITION','%GL_CURRENT_RASTER_POSITION_VALID','%GL_CURRENT_RASTER_TEXTURE_COORDS',
+            '%GL_CURRENT_SECONDARY_COLOR_EXT','%GL_CURRENT_TEXTURE_COORDS','%GL_CW','%GL_DECAL','%GL_DECR','%GL_DEPTH','%GL_DEPTH_BIAS','%GL_DEPTH_BITS',
+            '%GL_DEPTH_BUFFER_BIT','%GL_DEPTH_CLEAR_VALUE','%GL_DEPTH_COMPONENT','%GL_DEPTH_FUNC','%GL_DEPTH_RANGE','%GL_DEPTH_SCALE','%GL_DEPTH_TEST','%GL_DEPTH_WRITEMASK',
+            '%GL_DIFFUSE','%GL_DITHER','%GL_DOMAIN','%GL_DONT_CARE','%GL_DOUBLE','%GL_DOUBLEBUFFER','%GL_DOUBLE_EXT','%GL_DRAW_BUFFER',
+            '%GL_DRAW_PIXEL_TOKEN','%GL_DST_ALPHA','%GL_DST_COLOR','%GL_EDGE_FLAG','%GL_EDGE_FLAG_ARRAY','%GL_EDGE_FLAG_ARRAY_COUNT_EXT','%GL_EDGE_FLAG_ARRAY_EXT','%GL_EDGE_FLAG_ARRAY_POINTER',
+            '%GL_EDGE_FLAG_ARRAY_POINTER_EXT','%GL_EDGE_FLAG_ARRAY_STRIDE','%GL_EDGE_FLAG_ARRAY_STRIDE_EXT','%GL_EMISSION','%GL_ENABLE_BIT','%GL_EQUAL','%GL_EQUIV','%GL_EVAL_BIT',
+            '%GL_EXP','%GL_EXP2','%GL_EXTENSIONS','%GL_EXT_ABGR','%GL_EXT_BGRA','%GL_EXT_BLEND_COLOR','%GL_EXT_BLEND_MINMAX','%GL_EXT_BLEND_SUBTRACT',
+            '%GL_EXT_CLIP_VOLUME_HINT','%GL_EXT_COLOR_TABLE','%GL_EXT_COMPILED_VERTEX_ARRAY','%GL_EXT_CONVOLUTION','%GL_EXT_CULL_VERTEX','%GL_EXT_HISTOGRAM','%GL_EXT_PACKED_PIXELS','%GL_EXT_PALETTED_TEXTURE',
+            '%GL_EXT_POLYGON_OFFSET','%GL_EXT_SECONDARY_COLOR','%GL_EXT_SEPARATE_SPECULAR_COLOR','%GL_EXT_VERTEX_ARRAY','%GL_EYE_LINEAR','%GL_EYE_PLANE','%GL_FALSE','%GL_FASTEST',
+            '%GL_FEEDBACK','%GL_FEEDBACK_BUFFER_POINTER','%GL_FEEDBACK_BUFFER_SIZE','%GL_FEEDBACK_BUFFER_TYPE','%GL_FILL','%GL_FLAT','%GL_FLOAT','%GL_FOG',
+            '%GL_FOG_BIT','%GL_FOG_COLOR','%GL_FOG_DENSITY','%GL_FOG_END','%GL_FOG_HINT','%GL_FOG_INDEX','%GL_FOG_MODE','%GL_FOG_START',
+            '%GL_FRONT','%GL_FRONT_AND_BACK','%GL_FRONT_FACE','%GL_FRONT_LEFT','%GL_FRONT_RIGHT','%GL_FUNC_ADD_EXT','%GL_FUNC_REVERSE_SUBTRACT_EXT','%GL_FUNC_SUBTRACT_EXT',
+            '%GL_GEQUAL','%GL_GREATER','%GL_GREEN','%GL_GREEN_BIAS','%GL_GREEN_BITS','%GL_GREEN_SCALE','%GL_HINT_BIT','%GL_HISTOGRAM_ALPHA_SIZE_EXT',
+            '%GL_HISTOGRAM_BLUE_SIZE_EXT','%GL_HISTOGRAM_EXT','%GL_HISTOGRAM_FORMAT_EXT','%GL_HISTOGRAM_GREEN_SIZE_EXT','%GL_HISTOGRAM_LUMINANCE_SIZE_EXT','%GL_HISTOGRAM_RED_SIZE_EXT','%GL_HISTOGRAM_SINK_EXT','%GL_HISTOGRAM_WIDTH_EXT',
+            '%GL_INCR','%GL_INDEX_ARRAY','%GL_INDEX_ARRAY_COUNT_EXT','%GL_INDEX_ARRAY_EXT','%GL_INDEX_ARRAY_POINTER','%GL_INDEX_ARRAY_POINTER_EXT','%GL_INDEX_ARRAY_STRIDE','%GL_INDEX_ARRAY_STRIDE_EXT',
+            '%GL_INDEX_ARRAY_TYPE','%GL_INDEX_ARRAY_TYPE_EXT','%GL_INDEX_BITS','%GL_INDEX_CLEAR_VALUE','%GL_INDEX_LOGIC_OP','%GL_INDEX_MODE','%GL_INDEX_OFFSET','%GL_INDEX_SHIFT',
+            '%GL_INDEX_WRITEMASK','%GL_INT','%GL_INTENSITY','%GL_INTENSITY12','%GL_INTENSITY16','%GL_INTENSITY4','%GL_INTENSITY8','%GL_INVALID_ENUM',
+            '%GL_INVALID_OPERATION','%GL_INVALID_VALUE','%GL_INVERT','%GL_KEEP','%GL_LEFT','%GL_LEQUAL','%GL_LESS','%GL_LIGHT0',
+            '%GL_LIGHT1','%GL_LIGHT2','%GL_LIGHT3','%GL_LIGHT4','%GL_LIGHT5','%GL_LIGHT6','%GL_LIGHT7','%GL_LIGHTING',
+            '%GL_LIGHTING_BIT','%GL_LIGHT_MODEL_AMBIENT','%GL_LIGHT_MODEL_COLOR_CONTROL_EXT','%GL_LIGHT_MODEL_LOCAL_VIEWER','%GL_LIGHT_MODEL_TWO_SIDE','%GL_LINE','%GL_LINEAR','%GL_LINEAR_ATTENUATION',
+            '%GL_LINEAR_MIPMAP_LINEAR','%GL_LINEAR_MIPMAP_NEAREST','%GL_LINES','%GL_LINE_BIT','%GL_LINE_LOOP','%GL_LINE_RESET_TOKEN','%GL_LINE_SMOOTH','%GL_LINE_SMOOTH_HINT',
+            '%GL_LINE_STIPPLE','%GL_LINE_STIPPLE_PATTERN','%GL_LINE_STIPPLE_REPEAT','%GL_LINE_STRIP','%GL_LINE_TOKEN','%GL_LINE_WIDTH','%GL_LINE_WIDTH_GRANULARITY','%GL_LINE_WIDTH_RANGE',
+            '%GL_LIST_BASE','%GL_LIST_BIT','%GL_LIST_INDEX','%GL_LIST_MODE','%GL_LOAD','%GL_LOGIC_OP','%GL_LOGIC_OP_MODE','%GL_LUMINANCE',
+            '%GL_LUMINANCE12','%GL_LUMINANCE12_ALPHA12','%GL_LUMINANCE12_ALPHA4','%GL_LUMINANCE16','%GL_LUMINANCE16_ALPHA16','%GL_LUMINANCE4','%GL_LUMINANCE4_ALPHA4','%GL_LUMINANCE6_ALPHA2',
+            '%GL_LUMINANCE8','%GL_LUMINANCE8_ALPHA8','%GL_LUMINANCE_ALPHA','%GL_MAP1_COLOR_4','%GL_MAP1_GRID_DOMAIN','%GL_MAP1_GRID_SEGMENTS','%GL_MAP1_INDEX','%GL_MAP1_NORMAL',
+            '%GL_MAP1_TEXTURE_COORD_1','%GL_MAP1_TEXTURE_COORD_2','%GL_MAP1_TEXTURE_COORD_3','%GL_MAP1_TEXTURE_COORD_4','%GL_MAP1_VERTEX_3','%GL_MAP1_VERTEX_4','%GL_MAP2_COLOR_4','%GL_MAP2_GRID_DOMAIN',
+            '%GL_MAP2_GRID_SEGMENTS','%GL_MAP2_INDEX','%GL_MAP2_NORMAL','%GL_MAP2_TEXTURE_COORD_1','%GL_MAP2_TEXTURE_COORD_2','%GL_MAP2_TEXTURE_COORD_3','%GL_MAP2_TEXTURE_COORD_4','%GL_MAP2_VERTEX_3',
+            '%GL_MAP2_VERTEX_4','%GL_MAP_COLOR','%GL_MAP_STENCIL','%GL_MATRIX_MODE','%GL_MAX_ATTRIB_STACK_DEPTH','%GL_MAX_CLIENT_ATTRIB_STACK_DEPTH','%GL_MAX_CLIP_PLANES','%GL_MAX_CONVOLUTION_HEIGHT_EXT',
+            '%GL_MAX_CONVOLUTION_WIDTH_EXT','%GL_MAX_EVAL_ORDER','%GL_MAX_EXT','%GL_MAX_LIGHTS','%GL_MAX_LIST_NESTING','%GL_MAX_MODELVIEW_STACK_DEPTH','%GL_MAX_NAME_STACK_DEPTH','%GL_MAX_PIXEL_MAP_TABLE',
+            '%GL_MAX_PROJECTION_STACK_DEPTH','%GL_MAX_TEXTURE_SIZE','%GL_MAX_TEXTURE_STACK_DEPTH','%GL_MAX_VIEWPORT_DIMS','%GL_MINMAX_EXT','%GL_MINMAX_FORMAT_EXT','%GL_MINMAX_SINK_EXT','%GL_MIN_EXT',
+            '%GL_MODELVIEW','%GL_MODELVIEW_MATRIX','%GL_MODELVIEW_STACK_DEPTH','%GL_MODULATE','%GL_MULT','%GL_N3F_V3F','%GL_NAME_STACK_DEPTH','%GL_NAND',
+            '%GL_NEAREST','%GL_NEAREST_MIPMAP_LINEAR','%GL_NEAREST_MIPMAP_NEAREST','%GL_NEVER','%GL_NICEST','%GL_NONE','%GL_NOOP','%GL_NOR',
+            '%GL_NORMALIZE','%GL_NORMAL_ARRAY','%GL_NORMAL_ARRAY_COUNT_EXT','%GL_NORMAL_ARRAY_EXT','%GL_NORMAL_ARRAY_POINTER','%GL_NORMAL_ARRAY_POINTER_EXT','%GL_NORMAL_ARRAY_STRIDE','%GL_NORMAL_ARRAY_STRIDE_EXT',
+            '%GL_NORMAL_ARRAY_TYPE','%GL_NORMAL_ARRAY_TYPE_EXT','%GL_NOTEQUAL','%GL_NO_ERROR','%GL_OBJECT_LINEAR','%GL_OBJECT_PLANE','%GL_ONE','%GL_ONE_MINUS_CONSTANT_ALPHA_EXT',
+            '%GL_ONE_MINUS_CONSTANT_COLOR_EXT','%GL_ONE_MINUS_DST_ALPHA','%GL_ONE_MINUS_DST_COLOR','%GL_ONE_MINUS_SRC_ALPHA','%GL_ONE_MINUS_SRC_COLOR','%GL_OR','%GL_ORDER','%GL_OR_INVERTED',
+            '%GL_OR_REVERSE','%GL_OUT_OF_MEMORY','%GL_PACK_ALIGNMENT','%GL_PACK_LSB_FIRST','%GL_PACK_ROW_LENGTH','%GL_PACK_SKIP_PIXELS','%GL_PACK_SKIP_ROWS','%GL_PACK_SWAP_BYTES',
+            '%GL_PASS_THROUGH_TOKEN','%GL_PERSPECTIVE_CORRECTION_HINT','%GL_PIXEL_MAP_A_TO_A','%GL_PIXEL_MAP_A_TO_A_SIZE','%GL_PIXEL_MAP_B_TO_B','%GL_PIXEL_MAP_B_TO_B_SIZE','%GL_PIXEL_MAP_G_TO_G','%GL_PIXEL_MAP_G_TO_G_SIZE',
+            '%GL_PIXEL_MAP_I_TO_A','%GL_PIXEL_MAP_I_TO_A_SIZE','%GL_PIXEL_MAP_I_TO_B','%GL_PIXEL_MAP_I_TO_B_SIZE','%GL_PIXEL_MAP_I_TO_G','%GL_PIXEL_MAP_I_TO_G_SIZE','%GL_PIXEL_MAP_I_TO_I','%GL_PIXEL_MAP_I_TO_I_SIZE',
+            '%GL_PIXEL_MAP_I_TO_R','%GL_PIXEL_MAP_I_TO_R_SIZE','%GL_PIXEL_MAP_R_TO_R','%GL_PIXEL_MAP_R_TO_R_SIZE','%GL_PIXEL_MAP_S_TO_S','%GL_PIXEL_MAP_S_TO_S_SIZE','%GL_PIXEL_MODE_BIT','%GL_POINT',
+            '%GL_POINTS','%GL_POINT_BIT','%GL_POINT_SIZE','%GL_POINT_SIZE_GRANULARITY','%GL_POINT_SIZE_RANGE','%GL_POINT_SMOOTH','%GL_POINT_SMOOTH_HINT','%GL_POINT_TOKEN',
+            '%GL_POLYGON','%GL_POLYGON_BIT','%GL_POLYGON_MODE','%GL_POLYGON_OFFSET_BIAS_EXT','%GL_POLYGON_OFFSET_EXT','%GL_POLYGON_OFFSET_FACTOR','%GL_POLYGON_OFFSET_FACTOR_EXT','%GL_POLYGON_OFFSET_FILL',
+            '%GL_POLYGON_OFFSET_LINE','%GL_POLYGON_OFFSET_POINT','%GL_POLYGON_OFFSET_UNITS','%GL_POLYGON_SMOOTH','%GL_POLYGON_SMOOTH_HINT','%GL_POLYGON_STIPPLE','%GL_POLYGON_STIPPLE_BIT','%GL_POLYGON_TOKEN',
+            '%GL_POSITION','%GL_POST_COLOR_MATRIX_COLOR_TABLE_EXT','%GL_POST_CONVOLUTION_ALPHA_BIAS_EXT','%GL_POST_CONVOLUTION_ALPHA_SCALE_EXT','%GL_POST_CONVOLUTION_BLUE_BIAS_EXT','%GL_POST_CONVOLUTION_BLUE_SCALE_EXT','%GL_POST_CONVOLUTION_COLOR_TABLE_EXT','%GL_POST_CONVOLUTION_GREEN_BIAS_EXT',
+            '%GL_POST_CONVOLUTION_GREEN_SCALE_EXT','%GL_POST_CONVOLUTION_RED_BIAS_EXT','%GL_POST_CONVOLUTION_RED_SCALE_EXT','%GL_PROJECTION','%GL_PROJECTION_MATRIX','%GL_PROJECTION_STACK_DEPTH','%GL_PROXY_COLOR_TABLE_EXT','%GL_PROXY_HISTOGRAM_EXT',
+            '%GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_EXT','%GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_EXT','%GL_PROXY_TEXTURE_1D','%GL_PROXY_TEXTURE_2D','%GL_Q','%GL_QUADRATIC_ATTENUATION','%GL_QUADS','%GL_QUAD_STRIP',
+            '%GL_R','%GL_R3_G3_B2','%GL_READ_BUFFER','%GL_RED','%GL_REDUCE_EXT','%GL_RED_BIAS','%GL_RED_BITS','%GL_RED_SCALE',
+            '%GL_RENDER','%GL_RENDERER','%GL_RENDER_MODE','%GL_REPEAT','%GL_REPLACE','%GL_RETURN','%GL_RGB','%GL_RGB10',
+            '%GL_RGB10_A2','%GL_RGB12','%GL_RGB16','%GL_RGB4','%GL_RGB5','%GL_RGB5_A1','%GL_RGB8','%GL_RGBA',
+            '%GL_RGBA12','%GL_RGBA16','%GL_RGBA2','%GL_RGBA4','%GL_RGBA8','%GL_RGBA_MODE','%GL_RIGHT','%GL_S',
+            '%GL_SCISSOR_BIT','%GL_SCISSOR_BOX','%GL_SCISSOR_TEST','%GL_SECONDARY_COLOR_ARRAY_EXT','%GL_SECONDARY_COLOR_ARRAY_POINTER_EXT','%GL_SECONDARY_COLOR_ARRAY_SIZE_EXT','%GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT','%GL_SECONDARY_COLOR_ARRAY_TYPE_EXT',
+            '%GL_SELECT','%GL_SELECTION_BUFFER_POINTER','%GL_SELECTION_BUFFER_SIZE','%GL_SEPARABLE_2D_EXT','%GL_SEPARATE_SPECULAR_COLOR_EXT','%GL_SET','%GL_SHADE_MODEL','%GL_SHININESS',
+            '%GL_SHORT','%GL_SINGLE_COLOR_EXT','%GL_SMOOTH','%GL_SPECULAR','%GL_SPHERE_MAP','%GL_SPOT_CUTOFF','%GL_SPOT_DIRECTION','%GL_SPOT_EXPONENT',
+            '%GL_SRC_ALPHA','%GL_SRC_ALPHA_SATURATE','%GL_SRC_COLOR','%GL_STACK_OVERFLOW','%GL_STACK_UNDERFLOW','%GL_STENCIL','%GL_STENCIL_BITS','%GL_STENCIL_BUFFER_BIT',
+            '%GL_STENCIL_CLEAR_VALUE','%GL_STENCIL_FAIL','%GL_STENCIL_FUNC','%GL_STENCIL_INDEX','%GL_STENCIL_PASS_DEPTH_FAIL','%GL_STENCIL_PASS_DEPTH_PASS','%GL_STENCIL_REF','%GL_STENCIL_TEST',
+            '%GL_STENCIL_VALUE_MASK','%GL_STENCIL_WRITEMASK','%GL_STEREO','%GL_SUBPIXEL_BITS','%GL_T','%GL_T2F_C3F_V3F','%GL_T2F_C4F_N3F_V3F','%GL_T2F_C4UB_V3F',
+            '%GL_T2F_N3F_V3F','%GL_T2F_V3F','%GL_T4F_C4F_N3F_V4F','%GL_T4F_V4F','%GL_TABLE_TOO_LARGE_EXT','%GL_TEXTURE','%GL_TEXTURE_1D','%GL_TEXTURE_2D',
+            '%GL_TEXTURE_ALPHA_SIZE','%GL_TEXTURE_BINDING_1D','%GL_TEXTURE_BINDING_2D','%GL_TEXTURE_BIT','%GL_TEXTURE_BLUE_SIZE','%GL_TEXTURE_BORDER','%GL_TEXTURE_BORDER_COLOR','%GL_TEXTURE_COMPONENTS',
+            '%GL_TEXTURE_COORD_ARRAY','%GL_TEXTURE_COORD_ARRAY_COUNT_EXT','%GL_TEXTURE_COORD_ARRAY_EXT','%GL_TEXTURE_COORD_ARRAY_POINTER','%GL_TEXTURE_COORD_ARRAY_POINTER_EXT','%GL_TEXTURE_COORD_ARRAY_SIZE','%GL_TEXTURE_COORD_ARRAY_SIZE_EXT','%GL_TEXTURE_COORD_ARRAY_STRIDE',
+            '%GL_TEXTURE_COORD_ARRAY_STRIDE_EXT','%GL_TEXTURE_COORD_ARRAY_TYPE','%GL_TEXTURE_COORD_ARRAY_TYPE_EXT','%GL_TEXTURE_ENV','%GL_TEXTURE_ENV_COLOR','%GL_TEXTURE_ENV_MODE','%GL_TEXTURE_GEN_MODE','%GL_TEXTURE_GEN_Q',
+            '%GL_TEXTURE_GEN_R','%GL_TEXTURE_GEN_S','%GL_TEXTURE_GEN_T','%GL_TEXTURE_GREEN_SIZE','%GL_TEXTURE_HEIGHT','%GL_TEXTURE_INTENSITY_SIZE','%GL_TEXTURE_INTERNAL_FORMAT','%GL_TEXTURE_LUMINANCE_SIZE',
+            '%GL_TEXTURE_MAG_FILTER','%GL_TEXTURE_MATRIX','%GL_TEXTURE_MIN_FILTER','%GL_TEXTURE_PRIORITY','%GL_TEXTURE_RED_SIZE','%GL_TEXTURE_RESIDENT','%GL_TEXTURE_STACK_DEPTH','%GL_TEXTURE_WIDTH',
+            '%GL_TEXTURE_WRAP_S','%GL_TEXTURE_WRAP_T','%GL_TRANSFORM_BIT','%GL_TRIANGLES','%GL_TRIANGLE_FAN','%GL_TRIANGLE_STRIP','%GL_TRUE','%GL_UNPACK_ALIGNMENT',
+            '%GL_UNPACK_LSB_FIRST','%GL_UNPACK_ROW_LENGTH','%GL_UNPACK_SKIP_PIXELS','%GL_UNPACK_SKIP_ROWS','%GL_UNPACK_SWAP_BYTES','%GL_UNSIGNED_BYTE','%GL_UNSIGNED_BYTE_3_3_2_EXT','%GL_UNSIGNED_INT',
+            '%GL_UNSIGNED_INT_10_10_10_2_EXT','%GL_UNSIGNED_INT_8_8_8_8_EXT','%GL_UNSIGNED_SHORT','%GL_UNSIGNED_SHORT_4_4_4_4_EXT','%GL_UNSIGNED_SHORT_5_5_5_1_EXT','%GL_V2F','%GL_V3F','%GL_VENDOR',
+            '%GL_VERSION','%GL_VERSION_1_1','%GL_VERTEX_ARRAY','%GL_VERTEX_ARRAY_COUNT_EXT','%GL_VERTEX_ARRAY_EXT','%GL_VERTEX_ARRAY_POINTER','%GL_VERTEX_ARRAY_POINTER_EXT','%GL_VERTEX_ARRAY_SIZE',
+            '%GL_VERTEX_ARRAY_SIZE_EXT','%GL_VERTEX_ARRAY_STRIDE','%GL_VERTEX_ARRAY_STRIDE_EXT','%GL_VERTEX_ARRAY_TYPE','%GL_VERTEX_ARRAY_TYPE_EXT','%GL_VIEWPORT','%GL_VIEWPORT_BIT','%GL_WIN_SWAP_HINT',
+            '%GL_XOR','%GL_ZERO','%GL_ZOOM_X','%GL_ZOOM_Y','%GRAY','%GREEN','%GWLP_HINSTANCE','%GWLP_HWNDPARENT',
+            '%GWLP_ID','%GWLP_USERDATA','%GWLP_WNDPROC','%GWL_EXSTYLE','%GWL_HINSTANCE','%GWL_HWNDPARENT','%GWL_ID','%GWL_STYLE',
+            '%GWL_USERDATA','%GWL_WNDPROC','%HDM_FIRST','%HTCAPTION','%HWND_BOTTOM','%HWND_DESKTOP','%HWND_MESSAGE','%HWND_NOTOPMOST',
+            '%HWND_TOP','%HWND_TOPMOST','%ICRYPTO_XOR_DECREASE','%ICRYPTO_XOR_INCREASE','%ICRYPTO_XOR_NORMAL','%IDABORT','%IDCANCEL','%IDCONTINUE',
+            '%IDIGNORE','%IDNO','%IDOK','%IDRETRY','%IDTIMEOUT','%IDTRYAGAIN','%IDYES','%INTERNET_CONNECTION_CONFIGURED',
+            '%INTERNET_CONNECTION_LAN','%INTERNET_CONNECTION_MODEM','%INTERNET_CONNECTION_MODEM_BUSY','%INTERNET_CONNECTION_OFFLINE','%INTERNET_CONNECTION_PROXY','%INTERNET_RAS_INSTALLED','%LBN_DBLCLK','%LBN_KILLFOCUS',
+            '%LBN_SELCANCEL','%LBN_SELCHANGE','%LBN_SETFOCUS','%LBS_DISABLENOSCROLL','%LBS_EXTENDEDSEL','%LBS_MULTICOLUMN','%LBS_MULTIPLESEL','%LBS_NOINTEGRALHEIGHT',
+            '%LBS_NOSEL','%LBS_NOTIFY','%LBS_SORT','%LBS_STANDARD','%LBS_USETABSTOPS','%LB_ADDFILE','%LB_ADDSTRING','%LB_DELETESTRING',
+            '%LB_DIR','%LB_FINDSTRING','%LB_FINDSTRINGEXACT','%LB_GETANCHORINDEX','%LB_GETCARETINDEX','%LB_GETCOUNT','%LB_GETCURSEL','%LB_GETHORIZONTALEXTENT',
+            '%LB_GETITEMDATA','%LB_GETITEMHEIGHT','%LB_GETITEMRECT','%LB_GETLISTBOXINFO','%LB_GETLOCALE','%LB_GETSEL','%LB_GETSELCOUNT','%LB_GETSELITEMS',
+            '%LB_GETTEXT','%LB_GETTEXTLEN','%LB_GETTOPINDEX','%LB_INITSTORAGE','%LB_INSERTSTRING','%LB_ITEMFROMPOINT','%LB_MULTIPLEADDSTRING','%LB_RESETCONTENT',
+            '%LB_SELECTSTRING','%LB_SELITEMRANGE','%LB_SELITEMRANGEEX','%LB_SETANCHORINDEX','%LB_SETCARETINDEX','%LB_SETCOLUMNWIDTH','%LB_SETCOUNT','%LB_SETCURSEL',
+            '%LB_SETHORIZONTALEXTENT','%LB_SETITEMDATA','%LB_SETITEMHEIGHT','%LB_SETLOCALE','%LB_SETSEL','%LB_SETTABSTOPS','%LB_SETTOPINDEX','%LF_FACESIZE',
+            '%LTGRAY','%LVM_FIRST','%LWA_ALPHA','%LWA_COLORKEY','%MAGENTA','%MAXBYTE','%MAXCHAR','%MAXDWORD',
+            '%MAXSHORT','%MAXWORD','%MAX_PATH','%MB_ABORTRETRYIGNORE','%MB_APPLMODAL','%MB_CANCELTRYCONTINUE','%MB_DEFBUTTON1','%MB_DEFBUTTON2',
+            '%MB_DEFBUTTON3','%MB_HELP','%MB_ICONASTERISK','%MB_ICONERROR','%MB_ICONEXCLAMATION','%MB_ICONHAND','%MB_ICONINFORMATION','%MB_ICONQUESTION',
+            '%MB_ICONSTOP','%MB_ICONWARNING','%MB_OK','%MB_OKCANCEL','%MB_RETRYCANCEL','%MB_SIMPLE','%MB_SYSTEMMODAL','%MB_TOPMOST',
+            '%MB_YESNO','%MB_YESNOCANCEL','%MF_CHECKED','%MF_DISABLED','%MF_ENABLED','%MF_GRAYED','%MF_SEPARATOR','%MF_UNCHECKED',
+            '%MINCHAR','%MINLONG','%MINSHORT','%NULL','%ODBC352_INC','%ODBCVER','%ODBC_ADD_DSN','%ODBC_ADD_SYS_DSN',
+            '%ODBC_BOTH_DSN','%ODBC_CONFIG_DRIVER','%ODBC_CONFIG_DRIVER_MAX','%ODBC_CONFIG_DSN','%ODBC_CONFIG_SYS_DSN','%ODBC_DRIVER_VERSION','%ODBC_ERROR_COMPONENT_NOT_FOUND','%ODBC_ERROR_CREATE_DSN_FAILED',
+            '%ODBC_ERROR_GENERAL_ERR','%ODBC_ERROR_INVALID_BUFF_LEN','%ODBC_ERROR_INVALID_DSN','%ODBC_ERROR_INVALID_HWND','%ODBC_ERROR_INVALID_INF','%ODBC_ERROR_INVALID_KEYWORD_VALUE','%ODBC_ERROR_INVALID_LOG_FILE','%ODBC_ERROR_INVALID_NAME',
+            '%ODBC_ERROR_INVALID_PARAM_SEQUENCE','%ODBC_ERROR_INVALID_PATH','%ODBC_ERROR_INVALID_REQUEST_TYPE','%ODBC_ERROR_INVALID_STR','%ODBC_ERROR_LOAD_LIB_FAILED','%ODBC_ERROR_OUTPUT_STRING_TRUNCATED','%ODBC_ERROR_OUT_OF_MEM','%ODBC_ERROR_REMOVE_DSN_FAILED',
+            '%ODBC_ERROR_REQUEST_FAILED','%ODBC_ERROR_USAGE_UPDATE_FAILED','%ODBC_ERROR_USER_CANCELED','%ODBC_ERROR_WRITING_SYSINFO_FAILED','%ODBC_INSTALL_COMPLETE','%ODBC_INSTALL_DRIVER','%ODBC_INSTALL_INQUIRY','%ODBC_REMOVE_DEFAULT_DSN',
+            '%ODBC_REMOVE_DRIVER','%ODBC_REMOVE_DSN','%ODBC_REMOVE_SYS_DSN','%ODBC_SYSTEM_DSN','%ODBC_USER_DSN','%OFN_ALLOWMULTISELECT','%OFN_CREATEPROMPT','%OFN_ENABLEHOOK',
+            '%OFN_ENABLEINCLUDENOTIFY','%OFN_ENABLESIZING','%OFN_ENABLETEMPLATE','%OFN_ENABLETEMPLATEHANDLE','%OFN_EXPLORER','%OFN_EXTENSIONDIFFERENT','%OFN_FILEMUSTEXIST','%OFN_HIDEREADONLY',
+            '%OFN_LONGNAMES','%OFN_NOCHANGEDIR','%OFN_NODEREFERENCELINKS','%OFN_NOLONGNAMES','%OFN_NONETWORKBUTTON','%OFN_NOREADONLYRETURN','%OFN_NOTESTFILECREATE','%OFN_NOVALIDATE',
+            '%OFN_OVERWRITEPROMPT','%OFN_PATHMUSTEXIST','%OFN_READONLY','%OFN_SHAREAWARE','%OFN_SHOWHELP','%OS_ERROR_CALLFUNCTION','%OS_ERROR_EMPTYSTRING','%OS_ERROR_LOADLIBRARY',
+            '%OS_ERROR_SUCCESS','%OS_ERROR_WRONGPARAMETER','%OS_SHELL_ASYNC','%OS_SHELL_SYNC','%OS_WINDOWS_2K','%OS_WINDOWS_95','%OS_WINDOWS_95_OSR2','%OS_WINDOWS_98',
+            '%OS_WINDOWS_98_SE','%OS_WINDOWS_ME','%OS_WINDOWS_NT','%OS_WINDOWS_SERVER_2003','%OS_WINDOWS_SERVER_LONGHORN','%OS_WINDOWS_SERVER_LONGHORN_DC','%OS_WINDOWS_VISTA','%OS_WINDOWS_XP',
+            '%OS_WNDSTYLE_HIDE','%OS_WNDSTYLE_MAXIMIZED','%OS_WNDSTYLE_MINIMIZED','%OS_WNDSTYLE_MINIMIZEDNOFOCUS','%OS_WNDSTYLE_NORMAL','%OS_WNDSTYLE_NORMALNOFOCUS','%PATH_EXT','%PATH_FILE',
+            '%PATH_FILEEXT','%PATH_ROOT','%PATH_ROOTPATH','%PATH_ROOTPATHPROG','%PATH_ROOTPATHPROGEXT','%PBM_DELTAPOS','%PBM_GETPOS','%PBM_GETRANGE',
+            '%PBM_SETBARCOLOR','%PBM_SETBKCOLOR','%PBM_SETPOS','%PBM_SETRANGE','%PBM_SETRANGE32','%PBM_SETSTEP','%PBM_STEPIT','%PBS_SMOOTH',
+            '%PBS_VERTICAL','%PC_DISABLEWAKEEVENT_OFF','%PC_DISABLEWAKEEVENT_ON','%PC_EB_NOCONFIRMATION','%PC_EB_NOPROGRESSUI','%PC_EB_NORMAL','%PC_EB_NOSOUND','%PC_FORCECRITICAL_OFF',
+            '%PC_FORCECRITICAL_ON','%PC_HIBERNATE_OFF','%PC_HIBERNATE_ON','%PC_RD_FORCE','%PC_RD_FORCEIFHUNG','%PC_RD_LOGOFF','%PC_RD_POWEROFF','%PC_RD_REBOOT',
+            '%PC_RD_SHUTDOWN','%PC_SD_DONOT_FORCE','%PC_SD_DONOT_REBOOT','%PC_SD_FORCE','%PC_SD_REBOOT','%PFA_CENTER','%PFA_LEFT','%PFA_RIGHT',
+            '%PF_3DNOW_INSTRUCTIONS_AVAILABLE','%PF_CHANNELS_ENABLED','%PF_COMPARE64_EXCHANGE128','%PF_COMPARE_EXCHANGE128','%PF_COMPARE_EXCHANGE_DOUBLE','%PF_FLOATING_POINT_EMULATED','%PF_FLOATING_POINT_PRECISION_ERRATA','%PF_MMX_INSTRUCTIONS_AVAILABLE',
+            '%PF_NX_ENABLED','%PF_PAE_ENABLED','%PF_RDTSC_INSTRUCTION_AVAILABLE','%PF_SSE3_INSTRUCTIONS_AVAILABLE','%PF_XMMI64_INSTRUCTIONS_AVAILABLE','%PF_XMMI_INSTRUCTIONS_AVAILABLE','%PGM_FIRST','%RED',
+            '%RTF_UBB','%SAPI_SVSFDEFAULT','%SAPI_SVSFISFILENAME','%SAPI_SVSFISNOTXML','%SAPI_SVSFISXML','%SAPI_SVSFLAGSASYNC','%SAPI_SVSFNLPMASK','%SAPI_SVSFNLPSPEAKPUNC',
+            '%SAPI_SVSFPERSISTXML','%SAPI_SVSFPURGEBEFORESPEAK','%SAPI_SVSFUNUSEDFLAGS','%SAPI_SVSFVOICEMASK','%SBS_SIZEGRIP','%SB_BOTTOM','%SB_ENDSCROLL','%SB_LEFT',
+            '%SB_LINEDOWN','%SB_LINELEFT','%SB_LINERIGHT','%SB_LINEUP','%SB_PAGEDOWN','%SB_PAGELEFT','%SB_PAGERIGHT','%SB_PAGEUP',
+            '%SB_RIGHT','%SB_SETPARTS','%SB_SETTEXT','%SB_THUMBPOSITION','%SB_THUMBTRACK','%SB_TOP','%SCF_ALL','%SCF_ASSOCIATEFONT',
+            '%SCF_DEFAULT','%SCF_NOKBUPDATE','%SCF_SELECTION','%SCF_USEUIRULES','%SCF_WORD','%SC_CLOSE','%SC_CONTEXTHELP','%SC_HOTKEY',
+            '%SC_HSCROLL','%SC_KEYMENU','%SC_MAXIMIZE','%SC_MINIMIZE','%SC_MONITORPOWER','%SC_MOUSEMENU','%SC_MOVE','%SC_NEXTWINDOW',
+            '%SC_PREVWINDOW','%SC_RESTORE','%SC_SCREENSAVE','%SC_SIZE','%SC_TASKLIST','%SC_VSCROLL','%SERVICE_ACTIVE','%SERVICE_AUTO_START',
+            '%SERVICE_BOOT_START','%SERVICE_CONTINUE_PENDING','%SERVICE_DEMAND_START','%SERVICE_DISABLED','%SERVICE_DRIVER','%SERVICE_INACTIVE','%SERVICE_INFO_DISPLAY_NAME','%SERVICE_INFO_NAME',
+            '%SERVICE_PAUSED','%SERVICE_PAUSE_PENDING','%SERVICE_RUNNING','%SERVICE_START_PENDING','%SERVICE_STATE_ALL','%SERVICE_STOPPED','%SERVICE_STOP_PENDING','%SERVICE_SYSTEM_START',
+            '%SERVICE_TYPE_ALL','%SERVICE_WIN32','%SES_ALLOWBEEPS','%SES_BEEPONMAXTEXT','%SES_BIDI','%SES_EMULATE10','%SES_EMULATESYSEDIT','%SES_EXTENDBACKCOLOR',
+            '%SES_LOWERCASE','%SES_MAPCPS','%SES_NOIME','%SES_NOINPUTSEQUENCECHK','%SES_SCROLLONKILLFOCUS','%SES_UPPERCASE','%SES_USEAIMM','%SES_USECRLF',
+            '%SES_XLTCRCRLFTOCR','%SF_RTF','%SF_TEXT','%SMTP_SET_ATTACH_CONTENT_TYPE','%SMTP_SET_CONTENT_TYPE_PREFIX','%SQL_AA_FALSE','%SQL_AA_TRUE','%SQL_ACCESSIBLE_PROCEDURES',
+            '%SQL_ACCESSIBLE_TABLES','%SQL_ACCESS_MODE','%SQL_ACTIVE_CONNECTIONS','%SQL_ACTIVE_ENVIRONMENTS','%SQL_ACTIVE_STATEMENTS','%SQL_ADD','%SQL_AD_ADD_CONSTRAINT_DEFERRABLE','%SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED',
+            '%SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE','%SQL_AD_ADD_DOMAIN_CONSTRAINT','%SQL_AD_ADD_DOMAIN_DEFAULT','%SQL_AD_CONSTRAINT_NAME_DEFINITION','%SQL_AD_DROP_DOMAIN_CONSTRAINT','%SQL_AD_DROP_DOMAIN_DEFAULT','%SQL_AF_ALL',
+            '%SQL_AF_AVG','%SQL_AF_COUNT','%SQL_AF_DISTINCT','%SQL_AF_MAX','%SQL_AF_MIN','%SQL_AF_SUM','%SQL_AGGREGATE_FUNCTIONS','%SQL_ALL_EXCEPT_LIKE',
+            '%SQL_ALL_TYPES','%SQL_ALTER_DOMAIN','%SQL_ALTER_TABLE','%SQL_AM_CONNECTION','%SQL_AM_NONE','%SQL_AM_STATEMENT','%SQL_API_ALL_FUNCTIONS','%SQL_API_LOADBYORDINAL',
+            '%SQL_API_ODBC3_ALL_FUNCTIONS','%SQL_API_ODBC3_ALL_FUNCTIONS_SIZE','%SQL_API_SQLALLOCCONNECT','%SQL_API_SQLALLOCENV','%SQL_API_SQLALLOCHANDLE','%SQL_API_SQLALLOCHANDLESTD','%SQL_API_SQLALLOCSTMT','%SQL_API_SQLBINDCOL',
+            '%SQL_API_SQLBINDPARAM','%SQL_API_SQLBINDPARAMETER','%SQL_API_SQLBROWSECONNECT','%SQL_API_SQLBULKOPERATIONS','%SQL_API_SQLCANCEL','%SQL_API_SQLCLOSECURSOR','%SQL_API_SQLCOLATTRIBUTE','%SQL_API_SQLCOLATTRIBUTES',
+            '%SQL_API_SQLCOLUMNPRIVILEGES','%SQL_API_SQLCOLUMNS','%SQL_API_SQLCONNECT','%SQL_API_SQLCOPYDESC','%SQL_API_SQLDATASOURCES','%SQL_API_SQLDESCRIBECOL','%SQL_API_SQLDESCRIBEPARAM','%SQL_API_SQLDISCONNECT',
+            '%SQL_API_SQLDRIVERCONNECT','%SQL_API_SQLDRIVERS','%SQL_API_SQLENDTRAN','%SQL_API_SQLERROR','%SQL_API_SQLEXECDIRECT','%SQL_API_SQLEXECUTE','%SQL_API_SQLEXTENDEDFETCH','%SQL_API_SQLFETCH',
+            '%SQL_API_SQLFETCHSCROLL','%SQL_API_SQLFOREIGNKEYS','%SQL_API_SQLFREECONNECT','%SQL_API_SQLFREEENV','%SQL_API_SQLFREEHANDLE','%SQL_API_SQLFREESTMT','%SQL_API_SQLGETCONNECTATTR','%SQL_API_SQLGETCONNECTOPTION',
+            '%SQL_API_SQLGETCURSORNAME','%SQL_API_SQLGETDATA','%SQL_API_SQLGETDESCFIELD','%SQL_API_SQLGETDESCREC','%SQL_API_SQLGETDIAGFIELD','%SQL_API_SQLGETDIAGREC','%SQL_API_SQLGETENVATTR','%SQL_API_SQLGETFUNCTIONS',
+            '%SQL_API_SQLGETINFO','%SQL_API_SQLGETSTMTATTR','%SQL_API_SQLGETSTMTOPTION','%SQL_API_SQLGETTYPEINFO','%SQL_API_SQLMORERESULTS','%SQL_API_SQLNATIVESQL','%SQL_API_SQLNUMPARAMS','%SQL_API_SQLNUMRESULTCOLS',
+            '%SQL_API_SQLPARAMDATA','%SQL_API_SQLPARAMOPTIONS','%SQL_API_SQLPREPARE','%SQL_API_SQLPRIMARYKEYS','%SQL_API_SQLPROCEDURECOLUMNS','%SQL_API_SQLPROCEDURES','%SQL_API_SQLPUTDATA','%SQL_API_SQLROWCOUNT',
+            '%SQL_API_SQLSETCONNECTATTR','%SQL_API_SQLSETCONNECTOPTION','%SQL_API_SQLSETCURSORNAME','%SQL_API_SQLSETDESCFIELD','%SQL_API_SQLSETDESCREC','%SQL_API_SQLSETENVATTR','%SQL_API_SQLSETPARAM','%SQL_API_SQLSETPOS',
+            '%SQL_API_SQLSETSCROLLOPTIONS','%SQL_API_SQLSETSTMTATTR','%SQL_API_SQLSETSTMTOPTION','%SQL_API_SQLSPECIALCOLUMNS','%SQL_API_SQLSTATISTICS','%SQL_API_SQLTABLEPRIVILEGES','%SQL_API_SQLTABLES','%SQL_API_SQLTRANSACT',
+            '%SQL_ARD_TYPE','%SQL_ASYNC_ENABLE','%SQL_ASYNC_ENABLE_DEFAULT','%SQL_ASYNC_ENABLE_OFF','%SQL_ASYNC_ENABLE_ON','%SQL_ASYNC_MODE','%SQL_ATTR_ACCESS_MODE','%SQL_ATTR_ANSI_APP',
+            '%SQL_ATTR_APP_PARAM_DESC','%SQL_ATTR_APP_ROW_DESC','%SQL_ATTR_ASYNC_ENABLE','%SQL_ATTR_AUTOCOMMIT','%SQL_ATTR_AUTO_IPD','%SQL_ATTR_CONCURRENCY','%SQL_ATTR_CONNECTION_DEAD','%SQL_ATTR_CONNECTION_POOLING',
+            '%SQL_ATTR_CONNECTION_TIMEOUT','%SQL_ATTR_CP_MATCH','%SQL_ATTR_CURRENT_CATALOG','%SQL_ATTR_CURSOR_SCROLLABLE','%SQL_ATTR_CURSOR_SENSITIVITY','%SQL_ATTR_CURSOR_TYPE','%SQL_ATTR_DISCONNECT_BEHAVIOR','%SQL_ATTR_ENABLE_AUTO_IPD',
+            '%SQL_ATTR_ENLIST_IN_DTC','%SQL_ATTR_ENLIST_IN_XA','%SQL_ATTR_FETCH_BOOKMARK_PTR','%SQL_ATTR_IMP_PARAM_DESC','%SQL_ATTR_IMP_ROW_DESC','%SQL_ATTR_KEYSET_SIZE','%SQL_ATTR_LOGIN_TIMEOUT','%SQL_ATTR_MAX_LENGTH',
+            '%SQL_ATTR_MAX_ROWS','%SQL_ATTR_METADATA_ID','%SQL_ATTR_NOSCAN','%SQL_ATTR_ODBC_CURSORS','%SQL_ATTR_ODBC_VERSION','%SQL_ATTR_OUTPUT_NTS','%SQL_ATTR_PACKET_SIZE','%SQL_ATTR_PARAMSET_SIZE',
+            '%SQL_ATTR_PARAMS_PROCESSED_PTR','%SQL_ATTR_PARAM_BIND_OFFSET_PTR','%SQL_ATTR_PARAM_BIND_TYPE','%SQL_ATTR_PARAM_OPERATION_PTR','%SQL_ATTR_PARAM_STATUS_PTR','%SQL_ATTR_QUERY_TIMEOUT','%SQL_ATTR_QUIET_MODE','%SQL_ATTR_READONLY',
+            '%SQL_ATTR_READWRITE_UNKNOWN','%SQL_ATTR_RETRIEVE_DATA','%SQL_ATTR_ROWS_FETCHED_PTR','%SQL_ATTR_ROW_ARRAY_SIZE','%SQL_ATTR_ROW_BIND_OFFSET_PTR','%SQL_ATTR_ROW_BIND_TYPE','%SQL_ATTR_ROW_NUMBER','%SQL_ATTR_ROW_OPERATION_PTR',
+            '%SQL_ATTR_ROW_STATUS_PTR','%SQL_ATTR_SIMULATE_CURSOR','%SQL_ATTR_TRACE','%SQL_ATTR_TRACEFILE','%SQL_ATTR_TRANSLATE_LIB','%SQL_ATTR_TRANSLATE_OPTION','%SQL_ATTR_TXN_ISOLATION','%SQL_ATTR_USE_BOOKMARKS',
+            '%SQL_ATTR_WRITE','%SQL_AT_ADD_COLUMN','%SQL_AT_ADD_COLUMN_COLLATION','%SQL_AT_ADD_COLUMN_DEFAULT','%SQL_AT_ADD_COLUMN_SINGLE','%SQL_AT_ADD_CONSTRAINT','%SQL_AT_ADD_TABLE_CONSTRAINT','%SQL_AT_CONSTRAINT_DEFERRABLE',
+            '%SQL_AT_CONSTRAINT_INITIALLY_DEFERRED','%SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_AT_CONSTRAINT_NAME_DEFINITION','%SQL_AT_CONSTRAINT_NON_DEFERRABLE','%SQL_AT_DROP_COLUMN','%SQL_AT_DROP_COLUMN_CASCADE','%SQL_AT_DROP_COLUMN_DEFAULT','%SQL_AT_DROP_COLUMN_RESTRICT',
+            '%SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE','%SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT','%SQL_AT_SET_COLUMN_DEFAULT','%SQL_AUTOCOMMIT','%SQL_AUTOCOMMIT_DEFAULT','%SQL_AUTOCOMMIT_OFF','%SQL_AUTOCOMMIT_ON','%SQL_BATCH_ROW_COUNT',
+            '%SQL_BATCH_SUPPORT','%SQL_BEST_ROWID','%SQL_BIGINT','%SQL_BINARY','%SQL_BIND_BY_COLUMN','%SQL_BIND_TYPE','%SQL_BIND_TYPE_DEFAULT','%SQL_BIT',
+            '%SQL_BOOKMARK_PERSISTENCE','%SQL_BP_CLOSE','%SQL_BP_DELETE','%SQL_BP_DROP','%SQL_BP_OTHER_HSTMT','%SQL_BP_SCROLL','%SQL_BP_TRANSACTION','%SQL_BP_UPDATE',
+            '%SQL_BRC_EXPLICIT','%SQL_BRC_PROCEDURES','%SQL_BRC_ROLLED_UP','%SQL_BS_ROW_COUNT_EXPLICIT','%SQL_BS_ROW_COUNT_PROC','%SQL_BS_SELECT_EXPLICIT','%SQL_BS_SELECT_PROC','%SQL_CA1_ABSOLUTE',
+            '%SQL_CA1_BOOKMARK','%SQL_CA1_BULK_ADD','%SQL_CA1_BULK_DELETE_BY_BOOKMARK','%SQL_CA1_BULK_FETCH_BY_BOOKMARK','%SQL_CA1_BULK_UPDATE_BY_BOOKMARK','%SQL_CA1_LOCK_EXCLUSIVE','%SQL_CA1_LOCK_NO_CHANGE','%SQL_CA1_LOCK_UNLOCK',
+            '%SQL_CA1_NEXT','%SQL_CA1_POSITIONED_DELETE','%SQL_CA1_POSITIONED_UPDATE','%SQL_CA1_POS_DELETE','%SQL_CA1_POS_POSITION','%SQL_CA1_POS_REFRESH','%SQL_CA1_POS_UPDATE','%SQL_CA1_RELATIVE',
+            '%SQL_CA1_SELECT_FOR_UPDATE','%SQL_CA2_CRC_APPROXIMATE','%SQL_CA2_CRC_EXACT','%SQL_CA2_LOCK_CONCURRENCY','%SQL_CA2_MAX_ROWS_AFFECTS_ALL','%SQL_CA2_MAX_ROWS_CATALOG','%SQL_CA2_MAX_ROWS_DELETE','%SQL_CA2_MAX_ROWS_INSERT',
+            '%SQL_CA2_MAX_ROWS_SELECT','%SQL_CA2_MAX_ROWS_UPDATE','%SQL_CA2_OPT_ROWVER_CONCURRENCY','%SQL_CA2_OPT_VALUES_CONCURRENCY','%SQL_CA2_READ_ONLY_CONCURRENCY','%SQL_CA2_SENSITIVITY_ADDITIONS','%SQL_CA2_SENSITIVITY_DELETIONS','%SQL_CA2_SENSITIVITY_UPDATES',
+            '%SQL_CA2_SIMULATE_NON_UNIQUE','%SQL_CA2_SIMULATE_TRY_UNIQUE','%SQL_CA2_SIMULATE_UNIQUE','%SQL_CASCADE','%SQL_CATALOG_LOCATION','%SQL_CATALOG_NAME','%SQL_CATALOG_NAME_SEPARATOR','%SQL_CATALOG_TERM',
+            '%SQL_CATALOG_USAGE','%SQL_CA_CONSTRAINT_DEFERRABLE','%SQL_CA_CONSTRAINT_INITIALLY_DEFERRED','%SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_CA_CONSTRAINT_NON_DEFERRABLE','%SQL_CA_CREATE_ASSERTION','%SQL_CB_CLOSE','%SQL_CB_DELETE',
+            '%SQL_CB_NON_NULL','%SQL_CB_NULL','%SQL_CB_PRESERVE','%SQL_CCOL_CREATE_COLLATION','%SQL_CCS_COLLATE_CLAUSE','%SQL_CCS_CREATE_CHARACTER_SET','%SQL_CCS_LIMITED_COLLATION','%SQL_CC_CLOSE',
+            '%SQL_CC_DELETE','%SQL_CC_PRESERVE','%SQL_CDO_COLLATION','%SQL_CDO_CONSTRAINT','%SQL_CDO_CONSTRAINT_DEFERRABLE','%SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED','%SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_CDO_CONSTRAINT_NAME_DEFINITION',
+            '%SQL_CDO_CONSTRAINT_NON_DEFERRABLE','%SQL_CDO_CREATE_DOMAIN','%SQL_CDO_DEFAULT','%SQL_CD_FALSE','%SQL_CD_TRUE','%SQL_CHAR','%SQL_CLOSE','%SQL_CL_END',
+            '%SQL_CL_START','%SQL_CN_ANY','%SQL_CN_DIFFERENT','%SQL_CN_NONE','%SQL_CODE_DATE','%SQL_CODE_DAY','%SQL_CODE_DAY_TO_HOUR','%SQL_CODE_DAY_TO_MINUTE',
+            '%SQL_CODE_DAY_TO_SECOND','%SQL_CODE_HOUR','%SQL_CODE_HOUR_TO_MINUTE','%SQL_CODE_HOUR_TO_SECOND','%SQL_CODE_MINUTE','%SQL_CODE_MINUTE_TO_SECOND','%SQL_CODE_MONTH','%SQL_CODE_SECOND',
+            '%SQL_CODE_TIME','%SQL_CODE_TIMESTAMP','%SQL_CODE_YEAR','%SQL_CODE_YEAR_TO_MONTH','%SQL_COLATT_OPT_MAX','%SQL_COLATT_OPT_MIN','%SQL_COLLATION_SEQ','%SQL_COLUMN_ALIAS',
+            '%SQL_COLUMN_AUTO_INCREMENT','%SQL_COLUMN_CASE_SENSITIVE','%SQL_COLUMN_COUNT','%SQL_COLUMN_DISPLAY_SIZE','%SQL_COLUMN_IGNORE','%SQL_COLUMN_LABEL','%SQL_COLUMN_LENGTH','%SQL_COLUMN_MONEY',
+            '%SQL_COLUMN_NAME','%SQL_COLUMN_NULLABLE','%SQL_COLUMN_NUMBER_UNKNOWN','%SQL_COLUMN_OWNER_NAME','%SQL_COLUMN_PRECISION','%SQL_COLUMN_QUALIFIER_NAME','%SQL_COLUMN_SCALE','%SQL_COLUMN_SEARCHABLE',
+            '%SQL_COLUMN_TABLE_NAME','%SQL_COLUMN_TYPE','%SQL_COLUMN_TYPE_NAME','%SQL_COLUMN_UNSIGNED','%SQL_COLUMN_UPDATABLE','%SQL_COL_PRED_BASIC','%SQL_COL_PRED_CHAR','%SQL_COMMIT',
+            '%SQL_CONCAT_NULL_BEHAVIOR','%SQL_CONCURRENCY','%SQL_CONCUR_DEFAULT','%SQL_CONCUR_LOCK','%SQL_CONCUR_READ_ONLY','%SQL_CONCUR_ROWVER','%SQL_CONCUR_TIMESTAMP','%SQL_CONCUR_VALUES',
+            '%SQL_CONVERT_BIGINT','%SQL_CONVERT_BINARY','%SQL_CONVERT_BIT','%SQL_CONVERT_CHAR','%SQL_CONVERT_DATE','%SQL_CONVERT_DECIMAL','%SQL_CONVERT_DOUBLE','%SQL_CONVERT_FLOAT',
+            '%SQL_CONVERT_FUNCTIONS','%SQL_CONVERT_GUID','%SQL_CONVERT_INTEGER','%SQL_CONVERT_INTERVAL_DAY_TIME','%SQL_CONVERT_INTERVAL_YEAR_MONTH','%SQL_CONVERT_LONGVARBINARY','%SQL_CONVERT_LONGVARCHAR','%SQL_CONVERT_NUMERIC',
+            '%SQL_CONVERT_REAL','%SQL_CONVERT_SMALLINT','%SQL_CONVERT_TIME','%SQL_CONVERT_TIMESTAMP','%SQL_CONVERT_TINYINT','%SQL_CONVERT_VARBINARY','%SQL_CONVERT_VARCHAR','%SQL_CONVERT_WCHAR',
+            '%SQL_CONVERT_WLONGVARCHAR','%SQL_CONVERT_WVARCHAR','%SQL_CORRELATION_NAME','%SQL_CP_DEFAULT','%SQL_CP_MATCH_DEFAULT','%SQL_CP_OFF','%SQL_CP_ONE_PER_DRIVER','%SQL_CP_ONE_PER_HENV',
+            '%SQL_CP_RELAXED_MATCH','%SQL_CP_STRICT_MATCH','%SQL_CREATE_ASSERTION','%SQL_CREATE_CHARACTER_SET','%SQL_CREATE_COLLATION','%SQL_CREATE_DOMAIN','%SQL_CREATE_SCHEMA','%SQL_CREATE_TABLE',
+            '%SQL_CREATE_TRANSLATION','%SQL_CREATE_VIEW','%SQL_CR_CLOSE','%SQL_CR_DELETE','%SQL_CR_PRESERVE','%SQL_CS_AUTHORIZATION','%SQL_CS_CREATE_SCHEMA','%SQL_CS_DEFAULT_CHARACTER_SET',
+            '%SQL_CTR_CREATE_TRANSLATION','%SQL_CT_COLUMN_COLLATION','%SQL_CT_COLUMN_CONSTRAINT','%SQL_CT_COLUMN_DEFAULT','%SQL_CT_COMMIT_DELETE','%SQL_CT_COMMIT_PRESERVE','%SQL_CT_CONSTRAINT_DEFERRABLE','%SQL_CT_CONSTRAINT_INITIALLY_DEFERRED',
+            '%SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE','%SQL_CT_CONSTRAINT_NAME_DEFINITION','%SQL_CT_CONSTRAINT_NON_DEFERRABLE','%SQL_CT_CREATE_TABLE','%SQL_CT_GLOBAL_TEMPORARY','%SQL_CT_LOCAL_TEMPORARY','%SQL_CT_TABLE_CONSTRAINT','%SQL_CURRENT_QUALIFIER',
+            '%SQL_CURSOR_COMMIT_BEHAVIOR','%SQL_CURSOR_DYNAMIC','%SQL_CURSOR_FORWARD_ONLY','%SQL_CURSOR_KEYSET_DRIVEN','%SQL_CURSOR_ROLLBACK_BEHAVIOR','%SQL_CURSOR_SENSITIVITY','%SQL_CURSOR_STATIC','%SQL_CURSOR_TYPE',
+            '%SQL_CURSOR_TYPE_DEFAULT','%SQL_CUR_DEFAULT','%SQL_CUR_USE_DRIVER','%SQL_CUR_USE_IF_NEEDED','%SQL_CUR_USE_ODBC','%SQL_CU_DML_STATEMENTS','%SQL_CU_INDEX_DEFINITION','%SQL_CU_PRIVILEGE_DEFINITION',
+            '%SQL_CU_PROCEDURE_INVOCATION','%SQL_CU_TABLE_DEFINITION','%SQL_CVT_BIGINT','%SQL_CVT_BINARY','%SQL_CVT_BIT','%SQL_CVT_CHAR','%SQL_CVT_DATE','%SQL_CVT_DECIMAL',
+            '%SQL_CVT_DOUBLE','%SQL_CVT_FLOAT','%SQL_CVT_GUID','%SQL_CVT_INTEGER','%SQL_CVT_INTERVAL_DAY_TIME','%SQL_CVT_INTERVAL_YEAR_MONTH','%SQL_CVT_LONGVARBINARY','%SQL_CVT_LONGVARCHAR',
+            '%SQL_CVT_NUMERIC','%SQL_CVT_REAL','%SQL_CVT_SMALLINT','%SQL_CVT_TIME','%SQL_CVT_TIMESTAMP','%SQL_CVT_TINYINT','%SQL_CVT_VARBINARY','%SQL_CVT_VARCHAR',
+            '%SQL_CVT_WCHAR','%SQL_CVT_WLONGVARCHAR','%SQL_CVT_WVARCHAR','%SQL_CV_CASCADED','%SQL_CV_CHECK_OPTION','%SQL_CV_CREATE_VIEW','%SQL_CV_LOCAL','%SQL_C_BINARY',
+            '%SQL_C_BIT','%SQL_C_BOOKMARK','%SQL_C_CHAR','%SQL_C_DATE','%SQL_C_DEFAULT','%SQL_C_DOUBLE','%SQL_C_FLOAT','%SQL_C_GUID',
+            '%SQL_C_INTERVAL_DAY','%SQL_C_INTERVAL_DAY_TO_HOUR','%SQL_C_INTERVAL_DAY_TO_MINUTE','%SQL_C_INTERVAL_DAY_TO_SECOND','%SQL_C_INTERVAL_HOUR','%SQL_C_INTERVAL_HOUR_TO_MINUTE','%SQL_C_INTERVAL_HOUR_TO_SECOND','%SQL_C_INTERVAL_MINUTE',
+            '%SQL_C_INTERVAL_MINUTE_TO_SECOND','%SQL_C_INTERVAL_MONTH','%SQL_C_INTERVAL_SECOND','%SQL_C_INTERVAL_YEAR','%SQL_C_INTERVAL_YEAR_TO_MONTH','%SQL_C_LONG','%SQL_C_NUMERIC','%SQL_C_SBIGINT',
+            '%SQL_C_SHORT','%SQL_C_SLONG','%SQL_C_SSHORT','%SQL_C_STINYINT','%SQL_C_TIME','%SQL_C_TIMESTAMP','%SQL_C_TINYINT','%SQL_C_TYPE_DATE',
+            '%SQL_C_TYPE_TIME','%SQL_C_TYPE_TIMESTAMP','%SQL_C_UBIGINT','%SQL_C_ULONG','%SQL_C_USHORT','%SQL_C_UTINYINT','%SQL_C_VARBOOKMARK','%SQL_DATABASE_NAME',
+            '%SQL_DATA_AT_EXEC','%SQL_DATA_SOURCE_NAME','%SQL_DATA_SOURCE_READ_ONLY','%SQL_DATE','%SQL_DATETIME','%SQL_DATETIME_LITERALS','%SQL_DATE_LEN','%SQL_DAY',
+            '%SQL_DAY_TO_HOUR','%SQL_DAY_TO_MINUTE','%SQL_DAY_TO_SECOND','%SQL_DA_DROP_ASSERTION','%SQL_DBMS_NAME','%SQL_DBMS_VER','%SQL_DB_DEFAULT','%SQL_DB_DISCONNECT',
+            '%SQL_DB_RETURN_TO_POOL','%SQL_DCS_DROP_CHARACTER_SET','%SQL_DC_DROP_COLLATION','%SQL_DDL_INDEX','%SQL_DD_CASCADE','%SQL_DD_DROP_DOMAIN','%SQL_DD_RESTRICT','%SQL_DECIMAL',
+            '%SQL_DEFAULT','%SQL_DEFAULT_PARAM','%SQL_DEFAULT_TXN_ISOLATION','%SQL_DELETE','%SQL_DELETE_BY_BOOKMARK','%SQL_DESCRIBE_PARAMETER','%SQL_DESC_ALLOC_AUTO','%SQL_DESC_ALLOC_TYPE',
+            '%SQL_DESC_ALLOC_USER','%SQL_DESC_ARRAY_SIZE','%SQL_DESC_ARRAY_STATUS_PTR','%SQL_DESC_AUTO_UNIQUE_VALUE','%SQL_DESC_BASE_COLUMN_NAME','%SQL_DESC_BASE_TABLE_NAME','%SQL_DESC_BIND_OFFSET_PTR','%SQL_DESC_BIND_TYPE',
+            '%SQL_DESC_CASE_SENSITIVE','%SQL_DESC_CATALOG_NAME','%SQL_DESC_CONCISE_TYPE','%SQL_DESC_COUNT','%SQL_DESC_DATA_PTR','%SQL_DESC_DATETIME_INTERVAL_CODE','%SQL_DESC_DATETIME_INTERVAL_PRECISION','%SQL_DESC_DISPLAY_SIZE',
+            '%SQL_DESC_FIXED_PREC_SCALE','%SQL_DESC_INDICATOR_PTR','%SQL_DESC_LABEL','%SQL_DESC_LENGTH','%SQL_DESC_LITERAL_PREFIX','%SQL_DESC_LITERAL_SUFFIX','%SQL_DESC_LOCAL_TYPE_NAME','%SQL_DESC_MAXIMUM_SCALE',
+            '%SQL_DESC_MINIMUM_SCALE','%SQL_DESC_NAME','%SQL_DESC_NULLABLE','%SQL_DESC_NUM_PREC_RADIX','%SQL_DESC_OCTET_LENGTH','%SQL_DESC_OCTET_LENGTH_PTR','%SQL_DESC_PARAMETER_TYPE','%SQL_DESC_PRECISION',
+            '%SQL_DESC_ROWS_PROCESSED_PTR','%SQL_DESC_SCALE','%SQL_DESC_SCHEMA_NAME','%SQL_DESC_SEARCHABLE','%SQL_DESC_TABLE_NAME','%SQL_DESC_TYPE','%SQL_DESC_TYPE_NAME','%SQL_DESC_UNNAMED',
+            '%SQL_DESC_UNSIGNED','%SQL_DESC_UPDATABLE','%SQL_DIAG_ALTER_TABLE','%SQL_DIAG_CALL','%SQL_DIAG_CLASS_ORIGIN','%SQL_DIAG_COLUMN_NUMBER','%SQL_DIAG_CONNECTION_NAME','%SQL_DIAG_CREATE_INDEX',
+            '%SQL_DIAG_CREATE_TABLE','%SQL_DIAG_CREATE_VIEW','%SQL_DIAG_CURSOR_ROW_COUNT','%SQL_DIAG_DELETE_WHERE','%SQL_DIAG_DROP_INDEX','%SQL_DIAG_DROP_TABLE','%SQL_DIAG_DROP_VIEW','%SQL_DIAG_DYNAMIC_DELETE_CURSOR',
+            '%SQL_DIAG_DYNAMIC_FUNCTION','%SQL_DIAG_DYNAMIC_FUNCTION_CODE','%SQL_DIAG_DYNAMIC_UPDATE_CURSOR','%SQL_DIAG_GRANT','%SQL_DIAG_INSERT','%SQL_DIAG_MESSAGE_TEXT','%SQL_DIAG_NATIVE','%SQL_DIAG_NUMBER',
+            '%SQL_DIAG_RETURNCODE','%SQL_DIAG_REVOKE','%SQL_DIAG_ROW_COUNT','%SQL_DIAG_ROW_NUMBER','%SQL_DIAG_SELECT_CURSOR','%SQL_DIAG_SERVER_NAME','%SQL_DIAG_SQLSTATE','%SQL_DIAG_SUBCLASS_ORIGIN',
+            '%SQL_DIAG_UNKNOWN_STATEMENT','%SQL_DIAG_UPDATE_WHERE','%SQL_DI_CREATE_INDEX','%SQL_DI_DROP_INDEX','%SQL_DL_SQL92_DATE','%SQL_DL_SQL92_INTERVAL_DAY','%SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR','%SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE',
+            '%SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND','%SQL_DL_SQL92_INTERVAL_HOUR','%SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE','%SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND','%SQL_DL_SQL92_INTERVAL_MINUTE','%SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND','%SQL_DL_SQL92_INTERVAL_MONTH','%SQL_DL_SQL92_INTERVAL_SECOND',
+            '%SQL_DL_SQL92_INTERVAL_YEAR','%SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH','%SQL_DL_SQL92_TIME','%SQL_DL_SQL92_TIMESTAMP','%SQL_DM_VER','%SQL_DOUBLE','%SQL_DRIVER_COMPLETE','%SQL_DRIVER_COMPLETE_REQUIRED',
+            '%SQL_DRIVER_HDBC','%SQL_DRIVER_HDESC','%SQL_DRIVER_HENV','%SQL_DRIVER_HLIB','%SQL_DRIVER_HSTMT','%SQL_DRIVER_NAME','%SQL_DRIVER_NOPROMPT','%SQL_DRIVER_ODBC_VER',
+            '%SQL_DRIVER_PROMPT','%SQL_DRIVER_VER','%SQL_DROP','%SQL_DROP_ASSERTION','%SQL_DROP_CHARACTER_SET','%SQL_DROP_COLLATION','%SQL_DROP_DOMAIN','%SQL_DROP_SCHEMA',
+            '%SQL_DROP_TABLE','%SQL_DROP_TRANSLATION','%SQL_DROP_VIEW','%SQL_DS_CASCADE','%SQL_DS_DROP_SCHEMA','%SQL_DS_RESTRICT','%SQL_DTC_DONE','%SQL_DTC_ENLIST_EXPENSIVE',
+            '%SQL_DTC_TRANSITION_COST','%SQL_DTC_UNENLIST_EXPENSIVE','%SQL_DTR_DROP_TRANSLATION','%SQL_DT_CASCADE','%SQL_DT_DROP_TABLE','%SQL_DT_RESTRICT','%SQL_DV_CASCADE','%SQL_DV_DROP_VIEW',
+            '%SQL_DV_RESTRICT','%SQL_DYNAMIC_CURSOR_ATTRIBUTES1','%SQL_DYNAMIC_CURSOR_ATTRIBUTES2','%SQL_ENSURE','%SQL_ENTIRE_ROWSET','%SQL_ERROR','%SQL_EXPRESSIONS_IN_ORDERBY','%SQL_FALSE',
+            '%SQL_FD_FETCH_ABSOLUTE','%SQL_FD_FETCH_BOOKMARK','%SQL_FD_FETCH_FIRST','%SQL_FD_FETCH_LAST','%SQL_FD_FETCH_NEXT','%SQL_FD_FETCH_PREV','%SQL_FD_FETCH_PRIOR','%SQL_FD_FETCH_RELATIVE',
+            '%SQL_FETCH_ABSOLUTE','%SQL_FETCH_BOOKMARK','%SQL_FETCH_BY_BOOKMARK','%SQL_FETCH_DIRECTION','%SQL_FETCH_FIRST','%SQL_FETCH_FIRST_SYSTEM','%SQL_FETCH_FIRST_USER','%SQL_FETCH_LAST',
+            '%SQL_FETCH_NEXT','%SQL_FETCH_PREV','%SQL_FETCH_PRIOR','%SQL_FETCH_RELATIVE','%SQL_FILE_CATALOG','%SQL_FILE_NOT_SUPPORTED','%SQL_FILE_QUALIFIER','%SQL_FILE_TABLE',
+            '%SQL_FILE_USAGE','%SQL_FLOAT','%SQL_FN_CVT_CAST','%SQL_FN_CVT_CONVERT','%SQL_FN_NUM_ABS','%SQL_FN_NUM_ACOS','%SQL_FN_NUM_ASIN','%SQL_FN_NUM_ATAN',
+            '%SQL_FN_NUM_ATAN2','%SQL_FN_NUM_CEILING','%SQL_FN_NUM_COS','%SQL_FN_NUM_COT','%SQL_FN_NUM_DEGREES','%SQL_FN_NUM_EXP','%SQL_FN_NUM_FLOOR','%SQL_FN_NUM_LOG',
+            '%SQL_FN_NUM_LOG10','%SQL_FN_NUM_MOD','%SQL_FN_NUM_PI','%SQL_FN_NUM_POWER','%SQL_FN_NUM_RADIANS','%SQL_FN_NUM_RAND','%SQL_FN_NUM_ROUND','%SQL_FN_NUM_SIGN',
+            '%SQL_FN_NUM_SIN','%SQL_FN_NUM_SQRT','%SQL_FN_NUM_TAN','%SQL_FN_NUM_TRUNCATE','%SQL_FN_STR_ASCII','%SQL_FN_STR_BIT_LENGTH','%SQL_FN_STR_CHAR','%SQL_FN_STR_CHARACTER_LENGTH',
+            '%SQL_FN_STR_CHAR_LENGTH','%SQL_FN_STR_CONCAT','%SQL_FN_STR_DIFFERENCE','%SQL_FN_STR_INSERT','%SQL_FN_STR_LCASE','%SQL_FN_STR_LEFT','%SQL_FN_STR_LENGTH','%SQL_FN_STR_LOCATE',
+            '%SQL_FN_STR_LOCATE_2','%SQL_FN_STR_LTRIM','%SQL_FN_STR_OCTET_LENGTH','%SQL_FN_STR_POSITION','%SQL_FN_STR_REPEAT','%SQL_FN_STR_REPLACE','%SQL_FN_STR_RIGHT','%SQL_FN_STR_RTRIM',
+            '%SQL_FN_STR_SOUNDEX','%SQL_FN_STR_SPACE','%SQL_FN_STR_SUBSTRING','%SQL_FN_STR_UCASE','%SQL_FN_SYS_DBNAME','%SQL_FN_SYS_IFNULL','%SQL_FN_SYS_USERNAME','%SQL_FN_TD_CURDATE',
+            '%SQL_FN_TD_CURRENT_DATE','%SQL_FN_TD_CURRENT_TIME','%SQL_FN_TD_CURRENT_TIMESTAMP','%SQL_FN_TD_CURTIME','%SQL_FN_TD_DAYNAME','%SQL_FN_TD_DAYOFMONTH','%SQL_FN_TD_DAYOFWEEK','%SQL_FN_TD_DAYOFYEAR',
+            '%SQL_FN_TD_EXTRACT','%SQL_FN_TD_HOUR','%SQL_FN_TD_MINUTE','%SQL_FN_TD_MONTH','%SQL_FN_TD_MONTHNAME','%SQL_FN_TD_NOW','%SQL_FN_TD_QUARTER','%SQL_FN_TD_SECOND',
+            '%SQL_FN_TD_TIMESTAMPADD','%SQL_FN_TD_TIMESTAMPDIFF','%SQL_FN_TD_WEEK','%SQL_FN_TD_YEAR','%SQL_FN_TSI_DAY','%SQL_FN_TSI_FRAC_SECOND','%SQL_FN_TSI_HOUR','%SQL_FN_TSI_MINUTE',
+            '%SQL_FN_TSI_MONTH','%SQL_FN_TSI_QUARTER','%SQL_FN_TSI_SECOND','%SQL_FN_TSI_WEEK','%SQL_FN_TSI_YEAR','%SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1','%SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2','%SQL_GB_COLLATE',
+            '%SQL_GB_GROUP_BY_CONTAINS_SELECT','%SQL_GB_GROUP_BY_EQUALS_SELECT','%SQL_GB_NOT_SUPPORTED','%SQL_GB_NO_RELATION','%SQL_GD_ANY_COLUMN','%SQL_GD_ANY_ORDER','%SQL_GD_BLOCK','%SQL_GD_BOUND',
+            '%SQL_GETDATA_EXTENSIONS','%SQL_GET_BOOKMARK','%SQL_GROUP_BY','%SQL_GUID','%SQL_HANDLE_DBC','%SQL_HANDLE_DESC','%SQL_HANDLE_ENV','%SQL_HANDLE_SENV',
+            '%SQL_HANDLE_STMT','%SQL_HOUR','%SQL_HOUR_TO_MINUTE','%SQL_HOUR_TO_SECOND','%SQL_IC_LOWER','%SQL_IC_MIXED','%SQL_IC_SENSITIVE','%SQL_IC_UPPER',
+            '%SQL_IDENTIFIER_CASE','%SQL_IDENTIFIER_QUOTE_CHAR','%SQL_IGNORE','%SQL_IK_ALL','%SQL_IK_ASC','%SQL_IK_DESC','%SQL_IK_NONE','%SQL_INDEX_ALL',
+            '%SQL_INDEX_CLUSTERED','%SQL_INDEX_HASHED','%SQL_INDEX_KEYWORDS','%SQL_INDEX_OTHER','%SQL_INDEX_UNIQUE','%SQL_INFO_FIRST','%SQL_INFO_SCHEMA_VIEWS','%SQL_INITIALLY_DEFERRED',
+            '%SQL_INITIALLY_IMMEDIATE','%SQL_INSENSITIVE','%SQL_INSERT_STATEMENT','%SQL_INTEGER','%SQL_INTEGRITY','%SQL_INTERVAL','%SQL_INTERVAL_DAY','%SQL_INTERVAL_DAY_TO_HOUR',
+            '%SQL_INTERVAL_DAY_TO_MINUTE','%SQL_INTERVAL_DAY_TO_SECOND','%SQL_INTERVAL_HOUR','%SQL_INTERVAL_HOUR_TO_MINUTE','%SQL_INTERVAL_HOUR_TO_SECOND','%SQL_INTERVAL_MINUTE','%SQL_INTERVAL_MINUTE_TO_SECOND','%SQL_INTERVAL_MONTH',
+            '%SQL_INTERVAL_SECOND','%SQL_INTERVAL_YEAR','%SQL_INTERVAL_YEAR_TO_MONTH','%SQL_INVALID_HANDLE','%SQL_ISV_ASSERTIONS','%SQL_ISV_CHARACTER_SETS','%SQL_ISV_CHECK_CONSTRAINTS','%SQL_ISV_COLLATIONS',
+            '%SQL_ISV_COLUMNS','%SQL_ISV_COLUMN_DOMAIN_USAGE','%SQL_ISV_COLUMN_PRIVILEGES','%SQL_ISV_CONSTRAINT_COLUMN_USAGE','%SQL_ISV_CONSTRAINT_TABLE_USAGE','%SQL_ISV_DOMAINS','%SQL_ISV_DOMAIN_CONSTRAINTS','%SQL_ISV_KEY_COLUMN_USAGE',
+            '%SQL_ISV_REFERENTIAL_CONSTRAINTS','%SQL_ISV_SCHEMATA','%SQL_ISV_SQL_LANGUAGES','%SQL_ISV_TABLES','%SQL_ISV_TABLE_CONSTRAINTS','%SQL_ISV_TABLE_PRIVILEGES','%SQL_ISV_TRANSLATIONS','%SQL_ISV_USAGE_PRIVILEGES',
+            '%SQL_ISV_VIEWS','%SQL_ISV_VIEW_COLUMN_USAGE','%SQL_ISV_VIEW_TABLE_USAGE','%SQL_IS_DAY','%SQL_IS_DAY_TO_HOUR','%SQL_IS_DAY_TO_MINUTE','%SQL_IS_DAY_TO_SECOND','%SQL_IS_HOUR',
+            '%SQL_IS_HOUR_TO_MINUTE','%SQL_IS_HOUR_TO_SECOND','%SQL_IS_INSERT_LITERALS','%SQL_IS_INSERT_SEARCHED','%SQL_IS_INTEGER','%SQL_IS_MINUTE','%SQL_IS_MINUTE_TO_SECOND','%SQL_IS_MONTH',
+            '%SQL_IS_POINTER','%SQL_IS_SECOND','%SQL_IS_SELECT_INTO','%SQL_IS_SMALLINT','%SQL_IS_UINTEGER','%SQL_IS_USMALLINT','%SQL_IS_YEAR','%SQL_IS_YEAR_TO_MONTH',
+            '%SQL_KEYSET_CURSOR_ATTRIBUTES1','%SQL_KEYSET_CURSOR_ATTRIBUTES2','%SQL_KEYSET_SIZE','%SQL_KEYSET_SIZE_DEFAULT','%SQL_KEYWORDS','%SQL_LCK_EXCLUSIVE','%SQL_LCK_NO_CHANGE','%SQL_LCK_UNLOCK',
+            '%SQL_LEN_BINARY_ATTR_OFFSET','%SQL_LEN_DATA_AT_EXEC_OFFSET','%SQL_LIKE_ESCAPE_CLAUSE','%SQL_LIKE_ONLY','%SQL_LOCK_EXCLUSIVE','%SQL_LOCK_NO_CHANGE','%SQL_LOCK_TYPES','%SQL_LOCK_UNLOCK',
+            '%SQL_LOGIN_TIMEOUT','%SQL_LOGIN_TIMEOUT_DEFAULT','%SQL_LONGVARBINARY','%SQL_LONGVARCHAR','%SQL_MAXIMUM_CATALOG_NAME_LENGTH','%SQL_MAXIMUM_COLUMNS_IN_GROUP_BY','%SQL_MAXIMUM_COLUMNS_IN_INDEX','%SQL_MAXIMUM_COLUMNS_IN_ORDER_BY',
+            '%SQL_MAXIMUM_COLUMNS_IN_SELECT','%SQL_MAXIMUM_COLUMN_NAME_LENGTH','%SQL_MAXIMUM_CONCURRENT_ACTIVITIES','%SQL_MAXIMUM_CURSOR_NAME_LENGTH','%SQL_MAXIMUM_DRIVER_CONNECTIONS','%SQL_MAXIMUM_IDENTIFIER_LENGTH','%SQL_MAXIMUM_INDEX_SIZE','%SQL_MAXIMUM_ROW_SIZE',
+            '%SQL_MAXIMUM_SCHEMA_NAME_LENGTH','%SQL_MAXIMUM_STATEMENT_LENGTH','%SQL_MAXIMUM_TABLES_IN_SELECT','%SQL_MAXIMUM_USER_NAME_LENGTH','%SQL_MAX_ASYNC_CONCURRENT_STATEMENTS','%SQL_MAX_BINARY_LITERAL_LEN','%SQL_MAX_CATALOG_NAME_LEN','%SQL_MAX_CHAR_LITERAL_LEN',
+            '%SQL_MAX_COLUMNS_IN_GROUP_BY','%SQL_MAX_COLUMNS_IN_INDEX','%SQL_MAX_COLUMNS_IN_ORDER_BY','%SQL_MAX_COLUMNS_IN_SELECT','%SQL_MAX_COLUMNS_IN_TABLE','%SQL_MAX_COLUMN_NAME_LEN','%SQL_MAX_CONCURRENT_ACTIVITIES','%SQL_MAX_CURSOR_NAME_LEN',
+            '%SQL_MAX_DRIVER_CONNECTIONS','%SQL_MAX_DSN_LENGTH','%SQL_MAX_IDENTIFIER_LEN','%SQL_MAX_INDEX_SIZE','%SQL_MAX_LENGTH','%SQL_MAX_LENGTH_DEFAULT','%SQL_MAX_MESSAGE_LENGTH','%SQL_MAX_NUMERIC_LEN',
+            '%SQL_MAX_OPTION_STRING_LENGTH','%SQL_MAX_OWNER_NAME_LEN','%SQL_MAX_PROCEDURE_NAME_LEN','%SQL_MAX_QUALIFIER_NAME_LEN','%SQL_MAX_ROWS','%SQL_MAX_ROWS_DEFAULT','%SQL_MAX_ROW_SIZE','%SQL_MAX_ROW_SIZE_INCLUDES_LONG',
+            '%SQL_MAX_SCHEMA_NAME_LEN','%SQL_MAX_STATEMENT_LEN','%SQL_MAX_TABLES_IN_SELECT','%SQL_MAX_TABLE_NAME_LEN','%SQL_MAX_USER_NAME_LEN','%SQL_MINUTE','%SQL_MINUTE_TO_SECOND','%SQL_MODE_DEFAULT',
+            '%SQL_MODE_READ_ONLY','%SQL_MODE_READ_WRITE','%SQL_MONTH','%SQL_MULTIPLE_ACTIVE_TXN','%SQL_MULT_RESULT_SETS','%SQL_NAMED','%SQL_NC_END','%SQL_NC_HIGH',
+            '%SQL_NC_LOW','%SQL_NC_START','%SQL_NEED_DATA','%SQL_NEED_LONG_DATA_LEN','%SQL_NNC_NON_NULL','%SQL_NNC_NULL','%SQL_NONSCROLLABLE','%SQL_NON_NULLABLE_COLUMNS',
+            '%SQL_NOSCAN','%SQL_NOSCAN_DEFAULT','%SQL_NOSCAN_OFF','%SQL_NOSCAN_ON','%SQL_NOT_DEFERRABLE','%SQL_NO_ACTION','%SQL_NO_COLUMN_NUMBER','%SQL_NO_DATA',
+            '%SQL_NO_DATA_FOUND','%SQL_NO_NULLS','%SQL_NO_ROW_NUMBER','%SQL_NO_TOTAL','%SQL_NTS','%SQL_NTSL','%SQL_NULLABLE','%SQL_NULLABLE_UNKNOWN',
+            '%SQL_NULL_COLLATION','%SQL_NULL_DATA','%SQL_NULL_HANDLE','%SQL_NULL_HDBC','%SQL_NULL_HDESC','%SQL_NULL_HENV','%SQL_NULL_HSTMT','%SQL_NUMERIC',
+            '%SQL_NUMERIC_FUNCTIONS','%SQL_OAC_LEVEL1','%SQL_OAC_LEVEL2','%SQL_OAC_NONE','%SQL_ODBC_API_CONFORMANCE','%SQL_ODBC_CURSORS','%SQL_ODBC_INTERFACE_CONFORMANCE','%SQL_ODBC_SAG_CLI_CONFORMANCE',
+            '%SQL_ODBC_SQL_CONFORMANCE','%SQL_ODBC_SQL_OPT_IEF','%SQL_ODBC_VER','%SQL_OIC_CORE','%SQL_OIC_LEVEL1','%SQL_OIC_LEVEL2','%SQL_OJ_ALL_COMPARISON_OPS','%SQL_OJ_CAPABILITIES',
+            '%SQL_OJ_FULL','%SQL_OJ_INNER','%SQL_OJ_LEFT','%SQL_OJ_NESTED','%SQL_OJ_NOT_ORDERED','%SQL_OJ_RIGHT','%SQL_OPT_TRACE','%SQL_OPT_TRACEFILE',
+            '%SQL_OPT_TRACE_DEFAULT','%SQL_OPT_TRACE_OFF','%SQL_OPT_TRACE_ON','%SQL_ORDER_BY_COLUMNS_IN_SELECT','%SQL_OSCC_COMPLIANT','%SQL_OSCC_NOT_COMPLIANT','%SQL_OSC_CORE','%SQL_OSC_EXTENDED',
+            '%SQL_OSC_MINIMUM','%SQL_OUTER_JOINS','%SQL_OUTER_JOIN_CAPABILITIES','%SQL_OU_DML_STATEMENTS','%SQL_OU_INDEX_DEFINITION','%SQL_OU_PRIVILEGE_DEFINITION','%SQL_OU_PROCEDURE_INVOCATION','%SQL_OU_TABLE_DEFINITION',
+            '%SQL_OV_ODBC2','%SQL_OV_ODBC3','%SQL_OWNER_TERM','%SQL_OWNER_USAGE','%SQL_PACKET_SIZE','%SQL_PARAM_ARRAY_ROW_COUNTS','%SQL_PARAM_ARRAY_SELECTS','%SQL_PARAM_BIND_BY_COLUMN',
+            '%SQL_PARAM_BIND_TYPE_DEFAULT','%SQL_PARAM_DIAG_UNAVAILABLE','%SQL_PARAM_ERROR','%SQL_PARAM_IGNORE','%SQL_PARAM_INPUT','%SQL_PARAM_INPUT_OUTPUT','%SQL_PARAM_OUTPUT','%SQL_PARAM_PROCEED',
+            '%SQL_PARAM_SUCCESS','%SQL_PARAM_SUCCESS_WITH_INFO','%SQL_PARAM_TYPE_DEFAULT','%SQL_PARAM_TYPE_UNKNOWN','%SQL_PARAM_UNUSED','%SQL_PARC_BATCH','%SQL_PARC_NO_BATCH','%SQL_PAS_BATCH',
+            '%SQL_PAS_NO_BATCH','%SQL_PAS_NO_SELECT','%SQL_PC_NON_PSEUDO','%SQL_PC_NOT_PSEUDO','%SQL_PC_PSEUDO','%SQL_PC_UNKNOWN','%SQL_POSITION','%SQL_POSITIONED_STATEMENTS',
+            '%SQL_POS_ADD','%SQL_POS_DELETE','%SQL_POS_OPERATIONS','%SQL_POS_POSITION','%SQL_POS_REFRESH','%SQL_POS_UPDATE','%SQL_PRED_BASIC','%SQL_PRED_CHAR',
+            '%SQL_PRED_NONE','%SQL_PRED_SEARCHABLE','%SQL_PROCEDURES','%SQL_PROCEDURE_TERM','%SQL_PS_POSITIONED_DELETE','%SQL_PS_POSITIONED_UPDATE','%SQL_PS_SELECT_FOR_UPDATE','%SQL_PT_FUNCTION',
+            '%SQL_PT_PROCEDURE','%SQL_PT_UNKNOWN','%SQL_QL_END','%SQL_QL_START','%SQL_QUALIFIER_LOCATION','%SQL_QUALIFIER_NAME_SEPARATOR','%SQL_QUALIFIER_TERM','%SQL_QUALIFIER_USAGE',
+            '%SQL_QUERY_TIMEOUT','%SQL_QUERY_TIMEOUT_DEFAULT','%SQL_QUICK','%SQL_QUIET_MODE','%SQL_QUOTED_IDENTIFIER_CASE','%SQL_QU_DML_STATEMENTS','%SQL_QU_INDEX_DEFINITION','%SQL_QU_PRIVILEGE_DEFINITION',
+            '%SQL_QU_PROCEDURE_INVOCATION','%SQL_QU_TABLE_DEFINITION','%SQL_RD_DEFAULT','%SQL_RD_OFF','%SQL_RD_ON','%SQL_REAL','%SQL_REFRESH','%SQL_RESET_PARAMS',
+            '%SQL_RESTRICT','%SQL_RESULT_COL','%SQL_RETRIEVE_DATA','%SQL_RETURN_VALUE','%SQL_ROLLBACK','%SQL_ROWSET_SIZE','%SQL_ROWSET_SIZE_DEFAULT','%SQL_ROWVER',
+            '%SQL_ROW_ADDED','%SQL_ROW_DELETED','%SQL_ROW_ERROR','%SQL_ROW_IDENTIFIER','%SQL_ROW_IGNORE','%SQL_ROW_NOROW','%SQL_ROW_NUMBER','%SQL_ROW_NUMBER_UNKNOWN',
+            '%SQL_ROW_PROCEED','%SQL_ROW_SUCCESS','%SQL_ROW_SUCCESS_WITH_INFO','%SQL_ROW_UPDATED','%SQL_ROW_UPDATES','%SQL_SCCO_LOCK','%SQL_SCCO_OPT_ROWVER','%SQL_SCCO_OPT_TIMESTAMP',
+            '%SQL_SCCO_OPT_VALUES','%SQL_SCCO_READ_ONLY','%SQL_SCC_ISO92_CLI','%SQL_SCC_XOPEN_CLI_VERSION1','%SQL_SCHEMA_TERM','%SQL_SCHEMA_USAGE','%SQL_SCOPE_CURROW','%SQL_SCOPE_SESSION',
+            '%SQL_SCOPE_TRANSACTION','%SQL_SCROLLABLE','%SQL_SCROLL_CONCURRENCY','%SQL_SCROLL_DYNAMIC','%SQL_SCROLL_FORWARD_ONLY','%SQL_SCROLL_KEYSET_DRIVEN','%SQL_SCROLL_OPTIONS','%SQL_SCROLL_STATIC',
+            '%SQL_SC_FIPS127_2_TRANSITIONAL','%SQL_SC_NON_UNIQUE','%SQL_SC_SQL92_ENTRY','%SQL_SC_SQL92_FULL','%SQL_SC_SQL92_INTERMEDIATE','%SQL_SC_TRY_UNIQUE','%SQL_SC_UNIQUE','%SQL_SDF_CURRENT_DATE',
+            '%SQL_SDF_CURRENT_TIME','%SQL_SDF_CURRENT_TIMESTAMP','%SQL_SEARCHABLE','%SQL_SEARCH_PATTERN_ESCAPE','%SQL_SECOND','%SQL_SENSITIVE','%SQL_SERVER_NAME','%SQL_SETPARAM_VALUE_MAX',
+            '%SQL_SETPOS_MAX_LOCK_VALUE','%SQL_SETPOS_MAX_OPTION_VALUE','%SQL_SET_DEFAULT','%SQL_SET_NULL','%SQL_SFKD_CASCADE','%SQL_SFKD_NO_ACTION','%SQL_SFKD_SET_DEFAULT','%SQL_SFKD_SET_NULL',
+            '%SQL_SFKU_CASCADE','%SQL_SFKU_NO_ACTION','%SQL_SFKU_SET_DEFAULT','%SQL_SFKU_SET_NULL','%SQL_SG_DELETE_TABLE','%SQL_SG_INSERT_COLUMN','%SQL_SG_INSERT_TABLE','%SQL_SG_REFERENCES_COLUMN',
+            '%SQL_SG_REFERENCES_TABLE','%SQL_SG_SELECT_TABLE','%SQL_SG_UPDATE_COLUMN','%SQL_SG_UPDATE_TABLE','%SQL_SG_USAGE_ON_CHARACTER_SET','%SQL_SG_USAGE_ON_COLLATION','%SQL_SG_USAGE_ON_DOMAIN','%SQL_SG_USAGE_ON_TRANSLATION',
+            '%SQL_SG_WITH_GRANT_OPTION','%SQL_SIGNED_OFFSET','%SQL_SIMULATE_CURSOR','%SQL_SMALLINT','%SQL_SNVF_BIT_LENGTH','%SQL_SNVF_CHARACTER_LENGTH','%SQL_SNVF_CHAR_LENGTH','%SQL_SNVF_EXTRACT',
+            '%SQL_SNVF_OCTET_LENGTH','%SQL_SNVF_POSITION','%SQL_SO_DYNAMIC','%SQL_SO_FORWARD_ONLY','%SQL_SO_KEYSET_DRIVEN','%SQL_SO_MIXED','%SQL_SO_STATIC','%SQL_SPECIAL_CHARACTERS',
+            '%SQL_SPEC_MAJOR','%SQL_SPEC_MINOR','%SQL_SP_BETWEEN','%SQL_SP_COMPARISON','%SQL_SP_EXISTS','%SQL_SP_IN','%SQL_SP_ISNOTNULL','%SQL_SP_ISNULL',
+            '%SQL_SP_LIKE','%SQL_SP_MATCH_FULL','%SQL_SP_MATCH_PARTIAL','%SQL_SP_MATCH_UNIQUE_FULL','%SQL_SP_MATCH_UNIQUE_PARTIAL','%SQL_SP_OVERLAPS','%SQL_SP_QUANTIFIED_COMPARISON','%SQL_SP_UNIQUE',
+            '%SQL_SQL92_DATETIME_FUNCTIONS','%SQL_SQL92_FOREIGN_KEY_DELETE_RULE','%SQL_SQL92_FOREIGN_KEY_UPDATE_RULE','%SQL_SQL92_GRANT','%SQL_SQL92_NUMERIC_VALUE_FUNCTIONS','%SQL_SQL92_PREDICATES','%SQL_SQL92_RELATIONAL_JOIN_OPERATORS','%SQL_SQL92_REVOKE',
+            '%SQL_SQL92_ROW_VALUE_CONSTRUCTOR','%SQL_SQL92_STRING_FUNCTIONS','%SQL_SQL92_VALUE_EXPRESSIONS','%SQL_SQLSTATE_SIZE','%SQL_SQL_CONFORMANCE','%SQL_SQ_COMPARISON','%SQL_SQ_CORRELATED_SUBQUERIES','%SQL_SQ_EXISTS',
+            '%SQL_SQ_IN','%SQL_SQ_QUANTIFIED','%SQL_SRJO_CORRESPONDING_CLAUSE','%SQL_SRJO_CROSS_JOIN','%SQL_SRJO_EXCEPT_JOIN','%SQL_SRJO_FULL_OUTER_JOIN','%SQL_SRJO_INNER_JOIN','%SQL_SRJO_INTERSECT_JOIN',
+            '%SQL_SRJO_LEFT_OUTER_JOIN','%SQL_SRJO_NATURAL_JOIN','%SQL_SRJO_RIGHT_OUTER_JOIN','%SQL_SRJO_UNION_JOIN','%SQL_SRVC_DEFAULT','%SQL_SRVC_NULL','%SQL_SRVC_ROW_SUBQUERY','%SQL_SRVC_VALUE_EXPRESSION',
+            '%SQL_SR_CASCADE','%SQL_SR_DELETE_TABLE','%SQL_SR_GRANT_OPTION_FOR','%SQL_SR_INSERT_COLUMN','%SQL_SR_INSERT_TABLE','%SQL_SR_REFERENCES_COLUMN','%SQL_SR_REFERENCES_TABLE','%SQL_SR_RESTRICT',
+            '%SQL_SR_SELECT_TABLE','%SQL_SR_UPDATE_COLUMN','%SQL_SR_UPDATE_TABLE','%SQL_SR_USAGE_ON_CHARACTER_SET','%SQL_SR_USAGE_ON_COLLATION','%SQL_SR_USAGE_ON_DOMAIN','%SQL_SR_USAGE_ON_TRANSLATION','%SQL_SSF_CONVERT',
+            '%SQL_SSF_LOWER','%SQL_SSF_SUBSTRING','%SQL_SSF_TRANSLATE','%SQL_SSF_TRIM_BOTH','%SQL_SSF_TRIM_LEADING','%SQL_SSF_TRIM_TRAILING','%SQL_SSF_UPPER','%SQL_SS_ADDITIONS',
+            '%SQL_SS_DELETIONS','%SQL_SS_UPDATES','%SQL_STANDARD_CLI_CONFORMANCE','%SQL_STATIC_CURSOR_ATTRIBUTES1','%SQL_STATIC_CURSOR_ATTRIBUTES2','%SQL_STATIC_SENSITIVITY','%SQL_STILL_EXECUTING','%SQL_STRING_FUNCTIONS',
+            '%SQL_SUBQUERIES','%SQL_SUCCESS','%SQL_SUCCESS_WITH_INFO','%SQL_SU_DML_STATEMENTS','%SQL_SU_INDEX_DEFINITION','%SQL_SU_PRIVILEGE_DEFINITION','%SQL_SU_PROCEDURE_INVOCATION','%SQL_SU_TABLE_DEFINITION',
+            '%SQL_SVE_CASE','%SQL_SVE_CAST','%SQL_SVE_COALESCE','%SQL_SVE_NULLIF','%SQL_SYSTEM_FUNCTIONS','%SQL_TABLE_STAT','%SQL_TABLE_TERM','%SQL_TC_ALL',
+            '%SQL_TC_DDL_COMMIT','%SQL_TC_DDL_IGNORE','%SQL_TC_DML','%SQL_TC_NONE','%SQL_TIME','%SQL_TIMEDATE_ADD_INTERVALS','%SQL_TIMEDATE_DIFF_INTERVALS','%SQL_TIMEDATE_FUNCTIONS',
+            '%SQL_TIMESTAMP','%SQL_TIMESTAMP_LEN','%SQL_TIME_LEN','%SQL_TINYINT','%SQL_TRANSACTION_CAPABLE','%SQL_TRANSACTION_ISOLATION_OPTION','%SQL_TRANSACTION_READ_COMMITTED','%SQL_TRANSACTION_READ_UNCOMMITTED',
+            '%SQL_TRANSACTION_REPEATABLE_READ','%SQL_TRANSACTION_SERIALIZABLE','%SQL_TRANSLATE_DLL','%SQL_TRANSLATE_OPTION','%SQL_TRUE','%SQL_TXN_CAPABLE','%SQL_TXN_ISOLATION','%SQL_TXN_ISOLATION_OPTION',
+            '%SQL_TXN_READ_COMMITTED','%SQL_TXN_READ_UNCOMMITTED','%SQL_TXN_REPEATABLE_READ','%SQL_TXN_SERIALIZABLE','%SQL_TYPE_DATE','%SQL_TYPE_NULL','%SQL_TYPE_TIME','%SQL_TYPE_TIMESTAMP',
+            '%SQL_UB_DEFAULT','%SQL_UB_FIXED','%SQL_UB_OFF','%SQL_UB_ON','%SQL_UB_VARIABLE','%SQL_UNBIND','%SQL_UNICODE','%SQL_UNICODE_CHAR',
+            '%SQL_UNICODE_LONGVARCHAR','%SQL_UNICODE_VARCHAR','%SQL_UNION','%SQL_UNION_STATEMENT','%SQL_UNKNOWN_TYPE','%SQL_UNNAMED','%SQL_UNSEARCHABLE','%SQL_UNSIGNED_OFFSET',
+            '%SQL_UNSPECIFIED','%SQL_UPDATE','%SQL_UPDATE_BY_BOOKMARK','%SQL_USER_NAME','%SQL_USE_BOOKMARKS','%SQL_US_UNION','%SQL_US_UNION_ALL','%SQL_U_UNION',
+            '%SQL_U_UNION_ALL','%SQL_VARBINARY','%SQL_VARCHAR','%SQL_XOPEN_CLI_YEAR','%SQL_YEAR','%SQL_YEAR_TO_MONTH','%SRCCOPY','%SS_BITMAP',
+            '%SS_BLACKFRAME','%SS_BLACKRECT','%SS_CENTER','%SS_CENTERIMAGE','%SS_ENDELLIPSIS','%SS_ETCHEDFRAME','%SS_ETCHEDHORZ','%SS_ETCHEDVERT',
+            '%SS_GRAYFRAME','%SS_GRAYRECT','%SS_LEFT','%SS_NOPREFIX','%SS_NOTIFY','%SS_NOWORDWRAP','%SS_PATHELLIPSIS','%SS_RIGHT',
+            '%SS_RIGHTJUST','%SS_SIMPLE','%SS_SUNKEN','%SS_WHITEFRAME','%SS_WHITERECT','%SS_WORDELLIPSIS','%STAT_FILL_FROM_MEMORY','%STAT_FILL_NATURAL',
+            '%STAT_FILL_NATURAL_ERASTONE','%STAT_FILL_NATURAL_EVEN','%STAT_FILL_NATURAL_FIBONACCI','%STAT_FILL_NATURAL_ODD','%STAT_FILL_WITH_NUMBER','%STAT_MINMAX_INDEX','%STAT_MINMAX_VALUE','%STAT_TYPE_BYTE',
+            '%STAT_TYPE_CURRENCY','%STAT_TYPE_DOUBLE','%STAT_TYPE_DWORD','%STAT_TYPE_EXT','%STAT_TYPE_INTEGER','%STAT_TYPE_LONG','%STAT_TYPE_QUAD','%STAT_TYPE_SINGLE',
+            '%STAT_TYPE_WORD','%SWP_ASYNCWINDOWPOS','%SWP_DEFERERASE','%SWP_DRAWFRAME','%SWP_FRAMECHANGED','%SWP_HIDEWINDOW','%SWP_NOACTIVATE','%SWP_NOCOPYBITS',
+            '%SWP_NOMOVE','%SWP_NOOWNERZORDER','%SWP_NOREDRAW','%SWP_NOREPOSITION','%SWP_NOSENDCHANGING','%SWP_NOSIZE','%SWP_NOZORDER','%SWP_SHOWWINDOW',
+            '%SW_FORCEMINIMIZE','%SW_HIDE','%SW_MAXIMIZE','%SW_MINIMIZE','%SW_NORMAL','%SW_RESTORE','%SW_SHOW','%SW_SHOWDEFAULT',
+            '%SW_SHOWMAXIMIZED','%SW_SHOWMINIMIZED','%SW_SHOWMINNOACTIVE','%SW_SHOWNA','%SW_SHOWNOACTIVATE','%SW_SHOWNORMAL','%TBASS_3DALG_DEFAULT','%TBASS_3DALG_FULL',
+            '%TBASS_3DALG_LIGHT','%TBASS_3DALG_OFF','%TBASS_3DMODE_NORMAL','%TBASS_3DMODE_OFF','%TBASS_3DMODE_RELATIVE','%TBASS_ACTIVE_PAUSED','%TBASS_ACTIVE_PLAYING','%TBASS_ACTIVE_STALLED',
+            '%TBASS_ACTIVE_STOPPED','%TBASS_CONFIG_3DALGORITHM','%TBASS_CONFIG_BUFFER','%TBASS_CONFIG_CURVE_PAN','%TBASS_CONFIG_CURVE_VOL','%TBASS_CONFIG_FLOATDSP','%TBASS_CONFIG_GVOL_MUSIC','%TBASS_CONFIG_GVOL_SAMPLE',
+            '%TBASS_CONFIG_GVOL_STREAM','%TBASS_CONFIG_MAXVOL','%TBASS_CONFIG_MP3_CODEC','%TBASS_CONFIG_NET_AGENT','%TBASS_CONFIG_NET_BUFFER','%TBASS_CONFIG_NET_PASSIVE','%TBASS_CONFIG_NET_PREBUF','%TBASS_CONFIG_NET_PROXY',
+            '%TBASS_CONFIG_NET_TIMEOUT','%TBASS_CONFIG_PAUSE_NOPLAY','%TBASS_CONFIG_UPDATEPERIOD','%TBASS_CTYPE_MUSIC_IT','%TBASS_CTYPE_MUSIC_MO3','%TBASS_CTYPE_MUSIC_MOD','%TBASS_CTYPE_MUSIC_MTM','%TBASS_CTYPE_MUSIC_S3M',
+            '%TBASS_CTYPE_MUSIC_XM','%TBASS_CTYPE_RECORD','%TBASS_CTYPE_SAMPLE','%TBASS_CTYPE_STREAM','%TBASS_CTYPE_STREAM_AIFF','%TBASS_CTYPE_STREAM_MP1','%TBASS_CTYPE_STREAM_MP2','%TBASS_CTYPE_STREAM_MP3',
+            '%TBASS_CTYPE_STREAM_OGG','%TBASS_CTYPE_STREAM_WAV','%TBASS_CTYPE_STREAM_WAV_FLOAT','%TBASS_CTYPE_STREAM_WAV_PCM','%TBASS_DATA_AVAILABLE','%TBASS_DATA_FFT1024','%TBASS_DATA_FFT2048','%TBASS_DATA_FFT4096',
+            '%TBASS_DATA_FFT512','%TBASS_DATA_FFT_INDIVIDUAL','%TBASS_DATA_FFT_NOWINDOW','%TBASS_DATA_FLOAT','%TBASS_DEVICE_3D','%TBASS_DEVICE_8BITS','%TBASS_DEVICE_LATENCY','%TBASS_DEVICE_MONO',
+            '%TBASS_DEVICE_NOSPEAKER','%TBASS_DEVICE_SPEAKERS','%TBASS_EAX_ENVIRONMENT_ALLEY','%TBASS_EAX_ENVIRONMENT_ARENA','%TBASS_EAX_ENVIRONMENT_AUDITORIUM','%TBASS_EAX_ENVIRONMENT_BATHROOM','%TBASS_EAX_ENVIRONMENT_CARPETEDHALLWAY','%TBASS_EAX_ENVIRONMENT_CAVE',
+            '%TBASS_EAX_ENVIRONMENT_CITY','%TBASS_EAX_ENVIRONMENT_CONCERTHALL','%TBASS_EAX_ENVIRONMENT_COUNT','%TBASS_EAX_ENVIRONMENT_DIZZY','%TBASS_EAX_ENVIRONMENT_DRUGGED','%TBASS_EAX_ENVIRONMENT_FOREST','%TBASS_EAX_ENVIRONMENT_GENERIC','%TBASS_EAX_ENVIRONMENT_HALLWAY',
+            '%TBASS_EAX_ENVIRONMENT_HANGAR','%TBASS_EAX_ENVIRONMENT_LIVINGROOM','%TBASS_EAX_ENVIRONMENT_MOUNTAINS','%TBASS_EAX_ENVIRONMENT_PADDEDCELL','%TBASS_EAX_ENVIRONMENT_PARKINGLOT','%TBASS_EAX_ENVIRONMENT_PLAIN','%TBASS_EAX_ENVIRONMENT_PSYCHOTIC','%TBASS_EAX_ENVIRONMENT_QUARRY',
+            '%TBASS_EAX_ENVIRONMENT_ROOM','%TBASS_EAX_ENVIRONMENT_SEWERPIPE','%TBASS_EAX_ENVIRONMENT_STONECORRIDOR','%TBASS_EAX_ENVIRONMENT_STONEROOM','%TBASS_EAX_ENVIRONMENT_UNDERWATER','%TBASS_ERROR_ALREADY','%TBASS_ERROR_BUFLOST','%TBASS_ERROR_CODEC',
+            '%TBASS_ERROR_CREATE','%TBASS_ERROR_DECODE','%TBASS_ERROR_DEVICE','%TBASS_ERROR_DRIVER','%TBASS_ERROR_DX','%TBASS_ERROR_EMPTY','%TBASS_ERROR_FILEFORM','%TBASS_ERROR_FILEOPEN',
+            '%TBASS_ERROR_FORMAT','%TBASS_ERROR_FREQ','%TBASS_ERROR_HANDLE','%TBASS_ERROR_ILLPARAM','%TBASS_ERROR_ILLTYPE','%TBASS_ERROR_INIT','%TBASS_ERROR_MEM','%TBASS_ERROR_NO3D',
+            '%TBASS_ERROR_NOCHAN','%TBASS_ERROR_NOEAX','%TBASS_ERROR_NOFX','%TBASS_ERROR_NOHW','%TBASS_ERROR_NONET','%TBASS_ERROR_NOPAUSE','%TBASS_ERROR_NOPLAY','%TBASS_ERROR_NOTAVAIL',
+            '%TBASS_ERROR_NOTFILE','%TBASS_ERROR_PLAYING','%TBASS_ERROR_POSITION','%TBASS_ERROR_SPEAKER','%TBASS_ERROR_START','%TBASS_ERROR_TIMEOUT','%TBASS_ERROR_UNKNOWN','%TBASS_ERROR_VERSION',
+            '%TBASS_FALSE','%TBASS_FILEPOS_CURRENT','%TBASS_FILEPOS_DECODE','%TBASS_FILEPOS_DOWNLOAD','%TBASS_FILEPOS_END','%TBASS_FILEPOS_START','%TBASS_FILE_CLOSE','%TBASS_FILE_LEN',
+            '%TBASS_FILE_READ','%TBASS_FILE_SEEK','%TBASS_FX_CHORUS','%TBASS_FX_COMPRESSOR','%TBASS_FX_DISTORTION','%TBASS_FX_ECHO','%TBASS_FX_FLANGER','%TBASS_FX_GARGLE',
+            '%TBASS_FX_I3DL2REVERB','%TBASS_FX_PARAMEQ','%TBASS_FX_PHASE_180','%TBASS_FX_PHASE_90','%TBASS_FX_PHASE_NEG_180','%TBASS_FX_PHASE_NEG_90','%TBASS_FX_PHASE_ZERO','%TBASS_FX_REVERB',
+            '%TBASS_INPUT_LEVEL','%TBASS_INPUT_OFF','%TBASS_INPUT_ON','%TBASS_INPUT_TYPE_ANALOG','%TBASS_INPUT_TYPE_AUX','%TBASS_INPUT_TYPE_CD','%TBASS_INPUT_TYPE_DIGITAL','%TBASS_INPUT_TYPE_LINE',
+            '%TBASS_INPUT_TYPE_MASK','%TBASS_INPUT_TYPE_MIC','%TBASS_INPUT_TYPE_PHONE','%TBASS_INPUT_TYPE_SPEAKER','%TBASS_INPUT_TYPE_SYNTH','%TBASS_INPUT_TYPE_UNDEF','%TBASS_INPUT_TYPE_WAVE','%TBASS_MP3_SETPOS',
+            '%TBASS_MUSIC_3D','%TBASS_MUSIC_ATTRIB_AMPLIFY','%TBASS_MUSIC_ATTRIB_BPM','%TBASS_MUSIC_ATTRIB_PANSEP','%TBASS_MUSIC_ATTRIB_PSCALER','%TBASS_MUSIC_ATTRIB_SPEED','%TBASS_MUSIC_ATTRIB_VOL_CHAN','%TBASS_MUSIC_ATTRIB_VOL_GLOBAL',
+            '%TBASS_MUSIC_ATTRIB_VOL_INST','%TBASS_MUSIC_AUTOFREE','%TBASS_MUSIC_CALCLEN','%TBASS_MUSIC_DECODE','%TBASS_MUSIC_FLOAT','%TBASS_MUSIC_FT2MOD','%TBASS_MUSIC_FX','%TBASS_MUSIC_LOOP',
+            '%TBASS_MUSIC_MONO','%TBASS_MUSIC_NONINTER','%TBASS_MUSIC_NOSAMPLE','%TBASS_MUSIC_POSRESET','%TBASS_MUSIC_POSRESETEX','%TBASS_MUSIC_PRESCAN','%TBASS_MUSIC_PT1MOD','%TBASS_MUSIC_RAMP',
+            '%TBASS_MUSIC_RAMPS','%TBASS_MUSIC_STOPBACK','%TBASS_MUSIC_SURROUND','%TBASS_MUSIC_SURROUND2','%TBASS_OBJECT_DS','%TBASS_OBJECT_DS3DL','%TBASS_OK','%TBASS_RECORD_PAUSE',
+            '%TBASS_SAMPLE_3D','%TBASS_SAMPLE_8BITS','%TBASS_SAMPLE_FLOAT','%TBASS_SAMPLE_FX','%TBASS_SAMPLE_LOOP','%TBASS_SAMPLE_MONO','%TBASS_SAMPLE_MUTEMAX','%TBASS_SAMPLE_OVER_DIST',
+            '%TBASS_SAMPLE_OVER_POS','%TBASS_SAMPLE_OVER_VOL','%TBASS_SAMPLE_SOFTWARE','%TBASS_SAMPLE_VAM','%TBASS_SLIDE_FREQ','%TBASS_SLIDE_PAN','%TBASS_SLIDE_VOL','%TBASS_SPEAKER_CENLFE',
+            '%TBASS_SPEAKER_CENTER','%TBASS_SPEAKER_FRONT','%TBASS_SPEAKER_FRONTLEFT','%TBASS_SPEAKER_FRONTRIGHT','%TBASS_SPEAKER_LEFT','%TBASS_SPEAKER_LFE','%TBASS_SPEAKER_REAR','%TBASS_SPEAKER_REAR2',
+            '%TBASS_SPEAKER_REAR2LEFT','%TBASS_SPEAKER_REAR2RIGHT','%TBASS_SPEAKER_REARLEFT','%TBASS_SPEAKER_REARRIGHT','%TBASS_SPEAKER_RIGHT','%TBASS_STREAMPROC_END','%TBASS_STREAM_AUTOFREE','%TBASS_STREAM_BLOCK',
+            '%TBASS_STREAM_DECODE','%TBASS_STREAM_PRESCAN','%TBASS_STREAM_RESTRATE','%TBASS_STREAM_STATUS','%TBASS_SYNC_DOWNLOAD','%TBASS_SYNC_END','%TBASS_SYNC_FREE','%TBASS_SYNC_MESSAGE',
+            '%TBASS_SYNC_META','%TBASS_SYNC_MIXTIME','%TBASS_SYNC_MUSICFX','%TBASS_SYNC_MUSICINST','%TBASS_SYNC_MUSICPOS','%TBASS_SYNC_ONETIME','%TBASS_SYNC_POS','%TBASS_SYNC_SLIDE',
+            '%TBASS_SYNC_STALL','%TBASS_TAG_HTTP','%TBASS_TAG_ICY','%TBASS_TAG_ID3','%TBASS_TAG_ID3V2','%TBASS_TAG_META','%TBASS_TAG_MUSIC_INST','%TBASS_TAG_MUSIC_MESSAGE',
+            '%TBASS_TAG_MUSIC_NAME','%TBASS_TAG_MUSIC_SAMPLE','%TBASS_TAG_OGG','%TBASS_TAG_RIFF_INFO','%TBASS_TAG_VENDOR','%TBASS_TRUE','%TBASS_UNICODE','%TBASS_VAM_HARDWARE',
+            '%TBASS_VAM_SOFTWARE','%TBASS_VAM_TERM_DIST','%TBASS_VAM_TERM_PRIO','%TBASS_VAM_TERM_TIME','%TBASS_VERSION','%TBCD_CHANNEL','%TBCD_THUMB','%TBCD_TICS',
+            '%TBGL_ALIGN_CENTER','%TBGL_ALIGN_CENTER_CENTER','%TBGL_ALIGN_CENTER_DOWN','%TBGL_ALIGN_CENTER_UP','%TBGL_ALIGN_LEFT','%TBGL_ALIGN_LEFT_CENTER','%TBGL_ALIGN_LEFT_DOWN','%TBGL_ALIGN_LEFT_UP',
+            '%TBGL_ALIGN_RIGHT','%TBGL_ALIGN_RIGHT_CENTER','%TBGL_ALIGN_RIGHT_DOWN','%TBGL_ALIGN_RIGHT_UP','%TBGL_ALWAYS','%TBGL_EQUAL','%TBGL_ERROR_FILE','%TBGL_ERROR_MSGBOX',
+            '%TBGL_ERROR_NONE','%TBGL_GEQUAL','%TBGL_GREATER','%TBGL_LEQUAL','%TBGL_LESS','%TBGL_LIGHT_AMBIENT','%TBGL_LIGHT_CONSTANT_ATTENUATION','%TBGL_LIGHT_DIFFUSE',
+            '%TBGL_LIGHT_LINEAR_ATTENUATION','%TBGL_LIGHT_POSITION','%TBGL_LIGHT_QUADRATIC_ATTENUATION','%TBGL_LIGHT_SPECULAR','%TBGL_LIGHT_SPOT_CUTOFF','%TBGL_LIGHT_SPOT_DIRECTION','%TBGL_LIGHT_SPOT_EXPONENT','%TBGL_M15B',
+            '%TBGL_M15G','%TBGL_M15LAYER','%TBGL_M15PSTOP','%TBGL_M15R','%TBGL_M15TEXN','%TBGL_M15TEXX','%TBGL_M15TEXY','%TBGL_M15X',
+            '%TBGL_M15Y','%TBGL_M15Z','%TBGL_NEVER','%TBGL_NORMAL_NONE','%TBGL_NORMAL_PRECISE','%TBGL_NORMAL_SMOOTH','%TBGL_NOTEQUAL','%TBGL_OBJ_CUBE',
+            '%TBGL_OBJ_CUBE3','%TBGL_OBJ_CYLINDER','%TBGL_OBJ_SPHERE','%TBGL_PINFO_RGB','%TBGL_PINFO_XYZ','%TBGL_TEX_LINEAR','%TBGL_TEX_MIPMAP','%TBGL_TEX_NEAREST',
+            '%TBM_CLEARSEL','%TBM_CLEARTICS','%TBM_GETBUDDY','%TBM_GETCHANNELRECT','%TBM_GETLINESIZE','%TBM_GETNUMTICS','%TBM_GETPAGESIZE','%TBM_GETPOS',
+            '%TBM_GETPTICS','%TBM_GETRANGEMAX','%TBM_GETRANGEMIN','%TBM_GETSELEND','%TBM_GETSELSTART','%TBM_GETTHUMBLENGTH','%TBM_GETTHUMBRECT','%TBM_GETTIC',
+            '%TBM_GETTICPOS','%TBM_GETTOOLTIPS','%TBM_GETUNICODEFORMAT','%TBM_SETBUDDY','%TBM_SETLINESIZE','%TBM_SETPAGESIZE','%TBM_SETPOS','%TBM_SETRANGE',
+            '%TBM_SETRANGEMAX','%TBM_SETRANGEMIN','%TBM_SETSEL','%TBM_SETSELEND','%TBM_SETSELSTART','%TBM_SETTHUMBLENGTH','%TBM_SETTIC','%TBM_SETTICFREQ',
+            '%TBM_SETTIPSIDE','%TBM_SETTOOLTIPS','%TBM_SETUNICODEFORMAT','%TBS_AUTOTICKS','%TBS_BOTH','%TBS_BOTTOM','%TBS_DOWNISLEFT','%TBS_ENABLESELRANGE',
+            '%TBS_FIXEDLENGTH','%TBS_HORZ','%TBS_LEFT','%TBS_NOTHUMB','%TBS_NOTICKS','%TBS_REVERSED','%TBS_RIGHT','%TBS_TOOLTIPS',
+            '%TBS_TOP','%TBS_VERT','%TBTS_BOTTOM','%TBTS_LEFT','%TBTS_RIGHT','%TBTS_TOP','%TB_%VT_BSTR','%TB_%VT_CY',
+            '%TB_%VT_DATE','%TB_%VT_EMPTY','%TB_%VT_I2','%TB_%VT_I4','%TB_%VT_NULL','%TB_%VT_R4','%TB_%VT_R8','%TB_BOTTOM',
+            '%TB_CLASS_E_NOAGGREGATION','%TB_CO_E_CLASSSTRING','%TB_DISPATCH_METHOD','%TB_DISPATCH_PROPERTYGET','%TB_DISPATCH_PROPERTYPUT','%TB_DISPATCH_PROPERTYPUTREF','%TB_ENDTRACK','%TB_E_INVALIDARG',
+            '%TB_E_NOINTERFACE','%TB_E_OUTOFMEMORY','%TB_IMGCTX_ACTUALSIZE','%TB_IMGCTX_AUTOSIZE','%TB_IMGCTX_FITTOHEIGHT','%TB_IMGCTX_FITTOWIDTH','%TB_IMGCTX_STRETCH','%TB_LINEDOWN',
+            '%TB_LINEUP','%TB_MK_E_CONNECTMANUALLY','%TB_MK_E_EXCEEDEDDEADLINE','%TB_MK_E_INTERMEDIATEINTERFACENOTSUPPORTED','%TB_MK_E_NOOBJECT','%TB_MK_E_SYNTAX','%TB_PAGEDOWN','%TB_PAGEUP',
+            '%TB_REGDB_E_CLASSNOTREG','%TB_REGDB_E_WRITEREGDB','%TB_SIZEOF_TBVARIANT','%TB_S_FALSE','%TB_S_OK','%TB_THUMBPOSITION','%TB_THUMBTRACK','%TB_TOP',
+            '%TCM_FIRST','%TCM_GETCURSEL','%TCN_FOCUSCHANGE','%TCN_GETOBJECT','%TCN_SELCHANGE','%TCN_SELCHANGING','%TCS_BOTTOM','%TCS_BUTTONS',
+            '%TCS_EX_FLATSEPARATORS','%TCS_EX_REGISTERDROP','%TCS_FIXEDWIDTH','%TCS_FLATBUTTONS','%TCS_FOCUSNEVER','%TCS_FOCUSONBUTTONDOWN','%TCS_FORCEICONLEFT','%TCS_FORCELABELLEFT',
+            '%TCS_HOTTRACK','%TCS_MULTILINE','%TCS_MULTISELECT','%TCS_OWNERDRAWFIXED','%TCS_RAGGEDRIGHT','%TCS_RIGHT','%TCS_RIGHTJUSTIFY','%TCS_SCROLLOPPOSITE',
+            '%TCS_SINGLELINE','%TCS_TABS','%TCS_TOOLTIPS','%TCS_VERTICAL','%TM_PLAINTEXT','%TM_RICHTEXT','%TOKENIZER_DEFAULT_ALPHA','%TOKENIZER_DEFAULT_DELIM',
+            '%TOKENIZER_DEFAULT_DQUOTE','%TOKENIZER_DEFAULT_NEWLINE','%TOKENIZER_DEFAULT_NUMERIC','%TOKENIZER_DEFAULT_SPACE','%TOKENIZER_DELIMITER','%TOKENIZER_EOL','%TOKENIZER_ERROR','%TOKENIZER_FINISHED',
+            '%TOKENIZER_NUMBER','%TOKENIZER_QUOTE','%TOKENIZER_STRING','%TOKENIZER_UNDEFTOK','%TRUE','%TV_FIRST','%UDM_GETACCEL','%UDM_GETBASE',
+            '%UDM_GETBUDDY','%UDM_GETPOS','%UDM_GETPOS32','%UDM_GETRANGE','%UDM_GETRANGE32','%UDM_GETUNICODEFORMAT','%UDM_SETACCEL','%UDM_SETBASE',
+            '%UDM_SETBUDDY','%UDM_SETPOS','%UDM_SETPOS32','%UDM_SETRANGE','%UDM_SETRANGE32','%UDM_SETUNICODEFORMAT','%UDS_ALIGNLEFT','%UDS_ALIGNRIGHT',
+            '%UDS_ARROWKEYS','%UDS_AUTOBUDDY','%UDS_HORZ','%UDS_HOTTRACK','%UDS_NOTHOUSANDS','%UDS_SETBUDDYINT','%UDS_WRAP','%UD_MAXVAL',
+            '%UD_MINVAL','%VK_0','%VK_1','%VK_2','%VK_3','%VK_4','%VK_5','%VK_6',
+            '%VK_7','%VK_8','%VK_9','%VK_A','%VK_ACCEPT','%VK_ADD','%VK_APPS','%VK_B',
+            '%VK_BACK','%VK_C','%VK_CANCEL','%VK_CAPITAL','%VK_CLEAR','%VK_CONTROL','%VK_CONVERT','%VK_D',
+            '%VK_DECIMAL','%VK_DELETE','%VK_DIVIDE','%VK_DOWN','%VK_E','%VK_END','%VK_ESCAPE','%VK_EXECUTE',
+            '%VK_F','%VK_F1','%VK_F10','%VK_F11','%VK_F12','%VK_F13','%VK_F14','%VK_F15',
+            '%VK_F16','%VK_F17','%VK_F18','%VK_F19','%VK_F2','%VK_F20','%VK_F21','%VK_F22',
+            '%VK_F23','%VK_F24','%VK_F3','%VK_F4','%VK_F5','%VK_F6','%VK_F7','%VK_F8',
+            '%VK_F9','%VK_FINAL','%VK_G','%VK_H','%VK_HANGEUL','%VK_HANGUL','%VK_HANJA','%VK_HELP',
+            '%VK_HOME','%VK_I','%VK_INSERT','%VK_J','%VK_JUNJA','%VK_K','%VK_KANA','%VK_KANJI',
+            '%VK_L','%VK_LBUTTON','%VK_LEFT','%VK_LINEFEED','%VK_LWIN','%VK_M','%VK_MBUTTON','%VK_MENU',
+            '%VK_MODECHANGE','%VK_MULTIPLY','%VK_N','%VK_NEXT','%VK_NONCONVERT','%VK_NUMLOCK','%VK_NUMPAD0','%VK_NUMPAD1',
+            '%VK_NUMPAD2','%VK_NUMPAD3','%VK_NUMPAD4','%VK_NUMPAD5','%VK_NUMPAD6','%VK_NUMPAD7','%VK_NUMPAD8','%VK_NUMPAD9',
+            '%VK_O','%VK_P','%VK_PAUSE','%VK_PGDN','%VK_PGUP','%VK_PRINT','%VK_PRIOR','%VK_Q',
+            '%VK_R','%VK_RBUTTON','%VK_RETURN','%VK_RIGHT','%VK_RWIN','%VK_S','%VK_SCROLL','%VK_SELECT',
+            '%VK_SEPARATOR','%VK_SHIFT','%VK_SLEEP','%VK_SNAPSHOT','%VK_SPACE','%VK_SUBTRACT','%VK_T','%VK_TAB',
+            '%VK_U','%VK_UP','%VK_V','%VK_W','%VK_X','%VK_XBUTTON1','%VK_XBUTTON2','%VK_Y',
+            '%VK_Z','%VT_ARRAY','%VT_BLOB','%VT_BLOB_OBJECT','%VT_BOOL','%VT_BSTR','%VT_BYREF','%VT_CARRAY',
+            '%VT_CF','%VT_CLSID','%VT_CY','%VT_DATE','%VT_DISPATCH','%VT_EMPTY','%VT_ERROR','%VT_FILETIME',
+            '%VT_HRESULT','%VT_I1','%VT_I2','%VT_I4','%VT_I8','%VT_INT','%VT_LPSTR','%VT_LPWSTR',
+            '%VT_NULL','%VT_PTR','%VT_R4','%VT_R8','%VT_RECORD','%VT_RESERVED','%VT_SAFEARRAY','%VT_STORAGE',
+            '%VT_STORED_OBJECT','%VT_STREAM','%VT_STREAMED_OBJECT','%VT_UI1','%VT_UI2','%VT_UI4','%VT_UI8','%VT_UINT',
+            '%VT_UNKNOWN','%VT_USERDEFINED','%VT_VARIANT','%VT_VECTOR','%VT_VOID','%WAVE_FORMAT_1M08','%WAVE_FORMAT_1M16','%WAVE_FORMAT_1S08',
+            '%WAVE_FORMAT_1S16','%WAVE_FORMAT_2M08','%WAVE_FORMAT_2M16','%WAVE_FORMAT_2S08','%WAVE_FORMAT_2S16','%WAVE_FORMAT_4M08','%WAVE_FORMAT_4M16','%WAVE_FORMAT_4S08',
+            '%WAVE_FORMAT_4S16','%WBF_CUSTOM','%WBF_LEVEL1','%WBF_LEVEL2','%WBF_OVERFLOW','%WBF_WORDBREAK','%WBF_WORDWRAP','%WHITE',
+            '%WIN_FINDTITLECONTAIN','%WIN_FINDTITLEEND','%WIN_FINDTITLEEQUAL','%WIN_FINDTITLESTART','%WM_ACTIVATE','%WM_ACTIVATEAPP','%WM_CAPTURECHANGED','%WM_CHAR',
+            '%WM_CLOSE','%WM_COMMAND','%WM_DESTROY','%WM_DROPFILES','%WM_ERASEBKGND','%WM_GETTEXTLENGTH','%WM_HOTKEY','%WM_HSCROLL',
+            '%WM_IDLE','%WM_INITDIALOG','%WM_KEYDOWN','%WM_KEYUP','%WM_KILLFOCUS','%WM_LBUTTONDBLCLK','%WM_LBUTTONDOWN','%WM_LBUTTONUP',
+            '%WM_MBUTTONDBLCLK','%WM_MBUTTONDOWN','%WM_MBUTTONUP','%WM_MOUSEFIRST','%WM_MOUSEMOVE','%WM_MOUSEWHEEL','%WM_MOVE','%WM_MOVING',
+            '%WM_NCLBUTTONDOWN','%WM_NCRBUTTONDOWN','%WM_NEXTDLGCTL','%WM_NOTIFY','%WM_PAINT','%WM_QUIT','%WM_RBUTTONDBLCLK','%WM_RBUTTONDOWN',
+            '%WM_RBUTTONUP','%WM_SETFOCUS','%WM_SETFONT','%WM_SETTEXT','%WM_SIZE','%WM_SIZING','%WM_SYSCOMMAND','%WM_TIMER',
+            '%WM_USER','%WM_VSCROLL','%WS_BORDER','%WS_CAPTION','%WS_CHILD','%WS_CLIPCHILDREN','%WS_CLIPSIBLINGS','%WS_DISABLED',
+            '%WS_DLGFRAME','%WS_EX_ACCEPTFILES','%WS_EX_APPWINDOW','%WS_EX_CLIENTEDGE','%WS_EX_CONTEXTHELP','%WS_EX_CONTROLPARENT','%WS_EX_LAYERED','%WS_EX_LEFT',
+            '%WS_EX_LEFTSCROLLBAR','%WS_EX_LTRREADING','%WS_EX_MDICHILD','%WS_EX_NOPARENTNOTIFY','%WS_EX_OVERLAPPEDWINDOW','%WS_EX_PALETTEWINDOW','%WS_EX_RIGHT','%WS_EX_RIGHTSCROLLBAR',
+            '%WS_EX_RTLREADING','%WS_EX_STATICEDGE','%WS_EX_TOOLWINDOW','%WS_EX_TOPMOST','%WS_EX_TRANSPARENT','%WS_EX_WINDOWEDGE','%WS_GROUP','%WS_HSCROLL',
+            '%WS_ICONIC','%WS_MAXIMIZE','%WS_MAXIMIZEBOX','%WS_MINIMIZE','%WS_MINIMIZEBOX','%WS_OVERLAPPEDWINDOW','%WS_POPUP','%WS_POPUPWINDOW',
+            '%WS_SYSMENU','%WS_TABSTOP','%WS_THICKFRAME','%WS_VISIBLE','%WS_VSCROLL','%YELLOW','%ZERO','CRLF',
+            'FALSE','M_E','M_PI','NULL','TAB','TRUE'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000FF; font-weight: bold;',
+            2 => 'color: #993333; font-style: italic; font-weight: bold;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008000;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #333333;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #800080;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #CC0000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #66cc66;'
+            ),
         'SYMBOLS' => array(
-          '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
-          ),
-        'CASE_SENSITIVE' => array(
-                GESHI_COMMENTS => false,
-                1 => false
-                ),
-        'STYLES' => array(
-                'KEYWORDS' => array(
-                        1 => 'color: #0000FF; font-weight: bold;',
-                        2 => 'color: #993333; font-style: italic; font-weight: bold;',
-                        3 => 'color: #000066;',
-                        4 => 'color: #993333;'
-                        ),
-                'COMMENTS' => array(
-                        1 => 'color: #008000;'
-                        ),
-                'BRACKETS' => array(
-                        0 => 'color: #333333;'
-                        ),
-                'STRINGS' => array(
-                        0 => 'color: #800080;'
-                        ),
-                'NUMBERS' => array(
-                        0 => 'color: #CC0000;'
-                        ),
-                'METHODS' => array(
-                        1 => 'color: #66cc66;'
-                        ),
-                'SYMBOLS' => array(
-                        0 => 'color: #333333;'
-                        ),
-                'ESCAPE_CHAR' => array(
-                        0 => 'color: #000099;'
-                        ),
-                'SCRIPT' => array(
-                        ),
-                'REGEXPS' => array(
-                        )
-                ),
-        'OOLANG' => false,
-        'OBJECT_SPLITTERS' => array(
-                1 => '_'
-                ),
+            0 => 'color: #333333;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099;'
+            ),
+        'SCRIPT' => array(
+            ),
         'REGEXPS' => array(
-                ),
-        'STRICT_MODE_APPLIES' => GESHI_NEVER,
-        'SCRIPT_DELIMITERS' => array(
-                ),
-        'HIGHLIGHT_STRICT_BLOCK' => array(
-                )
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        1 => '_'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/tsql.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/tsql.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * --------
  * Author: Duncan Lock (dunc@dflock.co.uk)
  * Copyright: (c) 2006 Duncan Lock (http://dflock.co.uk/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2005/11/22
  *
  * T-SQL language file for GeSHi.
@@ -38,345 +38,341 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'T-SQL',
-	'COMMENT_SINGLE' => array(1 => '--'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array(
-			/* 
-				This will be highlighted in blue
-			*/
-
-			// Datatypes
-			'bigint', 'int', 'smallint', 'tinyint', 'bit', 'decimal', 'numeric', 'money', 
-			'smallmoney', 'float', 'real', 'datetime', 'smalldatetime', 'char', 'varchar', 
-			'text', 'nchar', 'nvarchar', 'ntext', 'binary', 'varbinary', 'image', 'cursor', 
-			'sql_variant', 'table', 'timestamp', 'uniqueidentifier',
+    'LANG_NAME' => 'T-SQL',
+    'COMMENT_SINGLE' => array(1 => '--'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            // Datatypes
+            'bigint', 'int', 'smallint', 'tinyint', 'bit', 'decimal', 'numeric', 'money',
+            'smallmoney', 'float', 'real', 'datetime', 'smalldatetime', 'char', 'varchar',
+            'text', 'nchar', 'nvarchar', 'ntext', 'binary', 'varbinary', 'image', 'cursor',
+            'sql_variant', 'table', 'timestamp', 'uniqueidentifier',
 
-			// Keywords
-			'ABSOLUTE', 'ACTION', 'ADD', 'ADMIN', 'AFTER', 'AGGREGATE', 'ALIAS', 'ALLOCATE', 'ALTER', 'ARE', 'ARRAY', 'AS',
-			'ASC', 'ASSERTION', 'AT', 'AUTHORIZATION', 'BACKUP', 'BEFORE', 'BEGIN', 'BINARY', 'BIT', 'BLOB', 'BOOLEAN', 'BOTH', 'BREADTH',
-			'BREAK', 'BROWSE', 'BULK', 'BY', 'CALL', 'CASCADE', 'CASCADED', 'CASE', 'CAST', 'CATALOG', 'CHAR', 'CHARACTER', 'CHECK', 'CHECKPOINT',
-			'CLASS', 'CLOB', 'CLOSE', 'CLUSTERED', 'COALESCE', 'COLLATE', 'COLLATION', 'COLUMN', 'COMMIT', 'COMPLETION', 'COMPUTE', 'CONNECT',
-			'CONNECTION', 'CONSTRAINT', 'CONSTRAINTS', 'CONSTRUCTOR', 'CONTAINS', 'CONTAINSTABLE', 'CONTINUE', 'CONVERT', 'CORRESPONDING', 'CREATE',
-			'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_PATH', 'CURRENT_ROLE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER',
-			'CURSOR', 'CYCLE', 'DATA', 'DATABASE', 'DATE', 'DAY', 'DBCC', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DEFERRABLE',
-			'DEFERRED', 'DELETE', 'DENY', 'DEPTH', 'DEREF', 'DESC', 'DESCRIBE', 'DESCRIPTOR', 'DESTROY', 'DESTRUCTOR', 'DETERMINISTIC',
-			'DIAGNOSTICS', 'DICTIONARY', 'DISCONNECT', 'DISK', 'DISTINCT', 'DISTRIBUTED', 'DOMAIN', 'DOUBLE', 'DROP', 'DUMMY', 'DUMP', 'DYNAMIC',
-			'EACH', 'ELSE', 'END', 'END-EXEC', 'EQUALS', 'ERRLVL', 'ESCAPE', 'EVERY', 'EXCEPT', 'EXCEPTION', 'EXEC', 'EXECUTE', 'EXIT',
-			'EXTERNAL', 'FALSE', 'FETCH', 'FILE', 'FILLFACTOR', 'FIRST', 'FLOAT', 'FOR', 'FOREIGN', 'FOUND', 'FREE', 'FREETEXT', 'FREETEXTTABLE',
-			'FROM', 'FULL', 'FUNCTION', 'GENERAL', 'GET', 'GLOBAL', 'GOTO', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOLDLOCK', 'HOST', 'HOUR',
-			'IDENTITY', 'IDENTITY_INSERT', 'IDENTITYCOL', 'IF', 'IGNORE', 'IMMEDIATE', 'INDEX', 'INDICATOR', 'INITIALIZE', 'INITIALLY',
-			'INNER', 'INOUT', 'INPUT', 'INSERT', 'INT', 'INTEGER', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ISOLATION', 'ITERATE', 'KEY',
-			'KILL', 'LANGUAGE', 'LARGE', 'LAST', 'LATERAL', 'LEADING', 'LEFT', 'LESS', 'LEVEL', 'LIMIT', 'LINENO', 'LOAD', 'LOCAL',
-			'LOCALTIME', 'LOCALTIMESTAMP', 'LOCATOR', 'MAP', 'MATCH', 'MINUTE', 'MODIFIES', 'MODIFY', 'MODULE', 'MONTH', 'NAMES', 'NATIONAL',
-			'NATURAL', 'NCHAR', 'NCLOB', 'NEW', 'NEXT', 'NO', 'NOCHECK', 'NONCLUSTERED', 'NONE', 'NULLIF', 'NUMERIC', 'OBJECT', 'OF',
-			'OFF', 'OFFSETS', 'OLD', 'ON', 'ONLY', 'OPEN', 'OPENDATASOURCE', 'OPENQUERY', 'OPENROWSET', 'OPENXML', 'OPERATION', 'OPTION',
-			'ORDER', 'ORDINALITY', 'OUT', 'OUTPUT', 'OVER', 'PAD', 'PARAMETER', 'PARAMETERS', 'PARTIAL', 'PATH', 'PERCENT', 'PLAN',
-			'POSTFIX', 'PRECISION', 'PREFIX', 'PREORDER', 'PREPARE', 'PRESERVE', 'PRIMARY', 'PRINT', 'PRIOR', 'PRIVILEGES', 'PROC', 'PROCEDURE',
-			'PUBLIC', 'RAISERROR', 'READ', 'READS', 'READTEXT', 'REAL', 'RECONFIGURE', 'RECURSIVE', 'REF', 'REFERENCES', 'REFERENCING', 'RELATIVE',
-			'REPLICATION', 'RESTORE', 'RESTRICT', 'RESULT', 'RETURN', 'RETURNS', 'REVOKE', 'RIGHT', 'ROLE', 'ROLLBACK', 'ROLLUP', 'ROUTINE', 'ROW',
-			'ROWGUIDCOL', 'ROWS', 'RULE', 'SAVE', 'SAVEPOINT', 'SCHEMA', 'SCOPE', 'SCROLL', 'SEARCH', 'SECOND', 'SECTION', 'SELECT',
-			'SEQUENCE', 'SESSION', 'SESSION_USER', 'SET', 'SETS', 'SETUSER', 'SHUTDOWN', 'SIZE', 'SMALLINT', 'SPACE', 'SPECIFIC',
-			'SPECIFICTYPE', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'START', 'STATE', 'STATEMENT', 'STATIC', 'STATISTICS', 'STRUCTURE',
-			'SYSTEM_USER', 'TABLE', 'TEMPORARY', 'TERMINATE', 'TEXTSIZE', 'THAN', 'THEN', 'TIME', 'TIMESTAMP', 'TIMEZONE_HOUR', 'TIMEZONE_MINUTE',
-			'TO', 'TOP', 'TRAILING', 'TRAN', 'TRANSACTION', 'TRANSLATION', 'TREAT', 'TRIGGER', 'TRUE', 'TRUNCATE', 'TSEQUAL', 'UNDER', 'UNION',
-			'UNIQUE', 'UNKNOWN', 'UNNEST', 'UPDATE', 'UPDATETEXT', 'USAGE', 'USE', 'USER', 'USING', 'VALUE', 'VALUES', 'VARCHAR', 'VARIABLE',
-			'VARYING', 'VIEW', 'WAITFOR', 'WHEN', 'WHENEVER', 'WHERE', 'WHILE', 'WITH', 'WITHOUT', 'WORK', 'WRITE', 'WRITETEXT', 'YEAR', 'ZONE',
-			'UNCOMMITTED', 'NOCOUNT',
-			),
-		2 => array(
-			/*
-				Built-in functions
-				Highlighted in pink.
-			*/
+            // Keywords
+            'ABSOLUTE', 'ACTION', 'ADD', 'ADMIN', 'AFTER', 'AGGREGATE', 'ALIAS', 'ALLOCATE', 'ALTER', 'ARE', 'ARRAY', 'AS',
+            'ASC', 'ASSERTION', 'AT', 'AUTHORIZATION', 'BACKUP', 'BEFORE', 'BEGIN', 'BINARY', 'BIT', 'BLOB', 'BOOLEAN', 'BOTH', 'BREADTH',
+            'BREAK', 'BROWSE', 'BULK', 'BY', 'CALL', 'CASCADE', 'CASCADED', 'CASE', 'CAST', 'CATALOG', 'CHAR', 'CHARACTER', 'CHECK', 'CHECKPOINT',
+            'CLASS', 'CLOB', 'CLOSE', 'CLUSTERED', 'COALESCE', 'COLLATE', 'COLLATION', 'COLUMN', 'COMMIT', 'COMPLETION', 'COMPUTE', 'CONNECT',
+            'CONNECTION', 'CONSTRAINT', 'CONSTRAINTS', 'CONSTRUCTOR', 'CONTAINS', 'CONTAINSTABLE', 'CONTINUE', 'CONVERT', 'CORRESPONDING', 'CREATE',
+            'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_PATH', 'CURRENT_ROLE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER',
+            'CURSOR', 'CYCLE', 'DATA', 'DATABASE', 'DATE', 'DAY', 'DBCC', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DEFERRABLE',
+            'DEFERRED', 'DELETE', 'DENY', 'DEPTH', 'DEREF', 'DESC', 'DESCRIBE', 'DESCRIPTOR', 'DESTROY', 'DESTRUCTOR', 'DETERMINISTIC',
+            'DIAGNOSTICS', 'DICTIONARY', 'DISCONNECT', 'DISK', 'DISTINCT', 'DISTRIBUTED', 'DOMAIN', 'DOUBLE', 'DROP', 'DUMMY', 'DUMP', 'DYNAMIC',
+            'EACH', 'ELSE', 'END', 'END-EXEC', 'EQUALS', 'ERRLVL', 'ESCAPE', 'EVERY', 'EXCEPT', 'EXCEPTION', 'EXEC', 'EXECUTE', 'EXIT',
+            'EXTERNAL', 'FALSE', 'FETCH', 'FILE', 'FILLFACTOR', 'FIRST', 'FLOAT', 'FOR', 'FOREIGN', 'FOUND', 'FREE', 'FREETEXT', 'FREETEXTTABLE',
+            'FROM', 'FULL', 'FUNCTION', 'GENERAL', 'GET', 'GLOBAL', 'GOTO', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOLDLOCK', 'HOST', 'HOUR',
+            'IDENTITY', 'IDENTITY_INSERT', 'IDENTITYCOL', 'IF', 'IGNORE', 'IMMEDIATE', 'INDEX', 'INDICATOR', 'INITIALIZE', 'INITIALLY',
+            'INNER', 'INOUT', 'INPUT', 'INSERT', 'INT', 'INTEGER', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ISOLATION', 'ITERATE', 'KEY',
+            'KILL', 'LANGUAGE', 'LARGE', 'LAST', 'LATERAL', 'LEADING', 'LEFT', 'LESS', 'LEVEL', 'LIMIT', 'LINENO', 'LOAD', 'LOCAL',
+            'LOCALTIME', 'LOCALTIMESTAMP', 'LOCATOR', 'MAP', 'MATCH', 'MINUTE', 'MODIFIES', 'MODIFY', 'MODULE', 'MONTH', 'NAMES', 'NATIONAL',
+            'NATURAL', 'NCHAR', 'NCLOB', 'NEW', 'NEXT', 'NO', 'NOCHECK', 'NONCLUSTERED', 'NONE', 'NULLIF', 'NUMERIC', 'OBJECT', 'OF',
+            'OFF', 'OFFSETS', 'OLD', 'ON', 'ONLY', 'OPEN', 'OPENDATASOURCE', 'OPENQUERY', 'OPENROWSET', 'OPENXML', 'OPERATION', 'OPTION',
+            'ORDER', 'ORDINALITY', 'OUT', 'OUTPUT', 'OVER', 'PAD', 'PARAMETER', 'PARAMETERS', 'PARTIAL', 'PATH', 'PERCENT', 'PLAN',
+            'POSTFIX', 'PRECISION', 'PREFIX', 'PREORDER', 'PREPARE', 'PRESERVE', 'PRIMARY', 'PRINT', 'PRIOR', 'PRIVILEGES', 'PROC', 'PROCEDURE',
+            'PUBLIC', 'RAISERROR', 'READ', 'READS', 'READTEXT', 'REAL', 'RECONFIGURE', 'RECURSIVE', 'REF', 'REFERENCES', 'REFERENCING', 'RELATIVE',
+            'REPLICATION', 'RESTORE', 'RESTRICT', 'RESULT', 'RETURN', 'RETURNS', 'REVOKE', 'RIGHT', 'ROLE', 'ROLLBACK', 'ROLLUP', 'ROUTINE', 'ROW',
+            'ROWGUIDCOL', 'ROWS', 'RULE', 'SAVE', 'SAVEPOINT', 'SCHEMA', 'SCOPE', 'SCROLL', 'SEARCH', 'SECOND', 'SECTION', 'SELECT',
+            'SEQUENCE', 'SESSION', 'SESSION_USER', 'SET', 'SETS', 'SETUSER', 'SHUTDOWN', 'SIZE', 'SMALLINT', 'SPACE', 'SPECIFIC',
+            'SPECIFICTYPE', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'START', 'STATE', 'STATEMENT', 'STATIC', 'STATISTICS', 'STRUCTURE',
+            'SYSTEM_USER', 'TABLE', 'TEMPORARY', 'TERMINATE', 'TEXTSIZE', 'THAN', 'THEN', 'TIME', 'TIMESTAMP', 'TIMEZONE_HOUR', 'TIMEZONE_MINUTE',
+            'TO', 'TOP', 'TRAILING', 'TRAN', 'TRANSACTION', 'TRANSLATION', 'TREAT', 'TRIGGER', 'TRUE', 'TRUNCATE', 'TSEQUAL', 'UNDER', 'UNION',
+            'UNIQUE', 'UNKNOWN', 'UNNEST', 'UPDATE', 'UPDATETEXT', 'USAGE', 'USE', 'USER', 'USING', 'VALUE', 'VALUES', 'VARCHAR', 'VARIABLE',
+            'VARYING', 'VIEW', 'WAITFOR', 'WHEN', 'WHENEVER', 'WHERE', 'WHILE', 'WITH', 'WITHOUT', 'WORK', 'WRITE', 'WRITETEXT', 'YEAR', 'ZONE',
+            'UNCOMMITTED', 'NOCOUNT',
+            ),
+        2 => array(
+            /*
+                Built-in functions
+                Highlighted in pink.
+            */
 
-			//Configuration Functions
-			'@@DATEFIRST','@@OPTIONS','@@DBTS','@@REMSERVER','@@LANGID','@@SERVERNAME', 
-			'@@LANGUAGE','@@SERVICENAME','@@LOCK_TIMEOUT','@@SPID','@@MAX_CONNECTIONS','@@TEXTSIZE', 
-			'@@MAX_PRECISION','@@VERSION','@@NESTLEVEL',
+            //Configuration Functions
+            '@@DATEFIRST','@@OPTIONS','@@DBTS','@@REMSERVER','@@LANGID','@@SERVERNAME',
+            '@@LANGUAGE','@@SERVICENAME','@@LOCK_TIMEOUT','@@SPID','@@MAX_CONNECTIONS','@@TEXTSIZE',
+            '@@MAX_PRECISION','@@VERSION','@@NESTLEVEL',
 
-			//Cursor Functions
-			'@@CURSOR_ROWS','@@FETCH_STATUS',
+            //Cursor Functions
+            '@@CURSOR_ROWS','@@FETCH_STATUS',
+
+            //Date and Time Functions
+            'DATEADD','DATEDIFF','DATENAME','DATEPART','DAY','GETDATE','GETUTCDATE','MONTH','YEAR',
 
-			//Date and Time Functions
-			'DATEADD','DATEDIFF','DATENAME','DATEPART','DAY','GETDATE','GETUTCDATE','MONTH','YEAR',
+            //Mathematical Functions
+            'ABS','DEGREES','RAND','ACOS','EXP','ROUND','ASIN','FLOOR','SIGN',
+            'ATAN','LOG','SIN','ATN2','LOG10','SQUARE','CEILING','PI','SQRT','COS',
+            'POWER','TAN','COT','RADIANS',
 
-			//Mathematical Functions
-			'ABS','DEGREES','RAND','ACOS','EXP','ROUND','ASIN','FLOOR','SIGN', 
-			'ATAN','LOG','SIN','ATN2','LOG10','SQUARE','CEILING','PI','SQRT','COS', 
-			'POWER','TAN','COT','RADIANS',
+            //Meta Data Functions
+            'COL_LENGTH','fn_listextendedproperty','COL_NAME','FULLTEXTCATALOGPROPERTY',
+            'COLUMNPROPERTY','FULLTEXTSERVICEPROPERTY','DATABASEPROPERTY','INDEX_COL',
+            'DATABASEPROPERTYEX','INDEXKEY_PROPERTY','DB_ID','INDEXPROPERTY','DB_NAME',
+            'OBJECT_ID','FILE_ID','OBJECT_NAME','FILE_NAME','OBJECTPROPERTY','FILEGROUP_ID',
+            '@@PROCID','FILEGROUP_NAME','SQL_VARIANT_PROPERTY','FILEGROUPPROPERTY',
+            'TYPEPROPERTY','FILEPROPERTY',
 
-			//Meta Data Functions
-			'COL_LENGTH','fn_listextendedproperty','COL_NAME','FULLTEXTCATALOGPROPERTY', 
-			'COLUMNPROPERTY','FULLTEXTSERVICEPROPERTY','DATABASEPROPERTY','INDEX_COL', 
-			'DATABASEPROPERTYEX','INDEXKEY_PROPERTY','DB_ID','INDEXPROPERTY','DB_NAME', 
-			'OBJECT_ID','FILE_ID','OBJECT_NAME','FILE_NAME','OBJECTPROPERTY','FILEGROUP_ID', 
-			'@@PROCID','FILEGROUP_NAME','SQL_VARIANT_PROPERTY','FILEGROUPPROPERTY', 
-			'TYPEPROPERTY','FILEPROPERTY',
+            //Security Functions
+            'fn_trace_geteventinfo','IS_SRVROLEMEMBER','fn_trace_getfilterinfo','SUSER_SID',
+            'fn_trace_getinfo','SUSER_SNAME','fn_trace_gettable','USER_ID','HAS_DBACCESS',
+            'IS_MEMBER',
 
-			//Security Functions
-			'fn_trace_geteventinfo','IS_SRVROLEMEMBER','fn_trace_getfilterinfo','SUSER_SID', 
-			'fn_trace_getinfo','SUSER_SNAME','fn_trace_gettable','USER_ID','HAS_DBACCESS', 
-			'IS_MEMBER',
+            //String Functions
+            'ASCII','NCHAR','SOUNDEX','CHAR','PATINDEX','SPACE','CHARINDEX',
+            'REPLACE','STR','DIFFERENCE','QUOTENAME','STUFF','LEFT','REPLICATE',
+            'SUBSTRING','LEN','REVERSE','UNICODE','LOWER','RIGHT','UPPER','LTRIM',
+            'RTRIM',
 
-			//String Functions
-			'ASCII','NCHAR','SOUNDEX','CHAR','PATINDEX','SPACE','CHARINDEX', 
-			'REPLACE','STR','DIFFERENCE','QUOTENAME','STUFF','LEFT','REPLICATE', 
-			'SUBSTRING','LEN','REVERSE','UNICODE','LOWER','RIGHT','UPPER','LTRIM', 
-			'RTRIM',
+            //System Functions
+            'APP_NAME','COLLATIONPROPERTY','@@ERROR','fn_helpcollations',
+            'fn_servershareddrives','fn_virtualfilestats','FORMATMESSAGE',
+            'GETANSINULL','HOST_ID','HOST_NAME','IDENT_CURRENT','IDENT_INCR',
+            'IDENT_SEED','@@IDENTITY','ISDATE','ISNUMERIC','PARSENAME','PERMISSIONS',
+            '@@ROWCOUNT','ROWCOUNT_BIG','SCOPE_IDENTITY','SERVERPROPERTY','SESSIONPROPERTY',
+            'STATS_DATE','@@TRANCOUNT','USER_NAME',
+
+            //System Statistical Functions
+            '@@CONNECTIONS','@@PACK_RECEIVED','@@CPU_BUSY','@@PACK_SENT',
+            '@@TIMETICKS','@@IDLE','@@TOTAL_ERRORS','@@IO_BUSY',
+            '@@TOTAL_READ','@@PACKET_ERRORS','@@TOTAL_WRITE',
 
-			//System Functions
-			'APP_NAME','COLLATIONPROPERTY','@@ERROR','fn_helpcollations', 
-			'fn_servershareddrives','fn_virtualfilestats','FORMATMESSAGE', 
-			'GETANSINULL','HOST_ID','HOST_NAME','IDENT_CURRENT','IDENT_INCR', 
-			'IDENT_SEED','@@IDENTITY','ISDATE','ISNUMERIC','PARSENAME','PERMISSIONS', 
-			'@@ROWCOUNT','ROWCOUNT_BIG','SCOPE_IDENTITY','SERVERPROPERTY','SESSIONPROPERTY', 
-			'STATS_DATE','@@TRANCOUNT','USER_NAME',
+            //Text and Image Functions
+            'TEXTPTR','TEXTVALID',
 
-			//System Statistical Functions
-			'@@CONNECTIONS','@@PACK_RECEIVED','@@CPU_BUSY','@@PACK_SENT',
-			'fn_virtualfilestats','@@TIMETICKS','@@IDLE','@@TOTAL_ERRORS','@@IO_BUSY',
-			'@@TOTAL_READ','@@PACKET_ERRORS','@@TOTAL_WRITE',
+            //Aggregate functions
+            'AVG', 'MAX', 'BINARY_CHECKSUM', 'MIN', 'CHECKSUM', 'SUM', 'CHECKSUM_AGG',
+            'STDEV', 'COUNT', 'STDEVP', 'COUNT_BIG', 'VAR', 'GROUPING', 'VARP'
+            ),
+        3 => array(
+            /*
+                System stored procedures
+                Higlighted dark brown
+            */
 
-			//Text and Image Functions
-			'TEXTPTR','TEXTVALID',
-			
-			//Aggregate functions
-			'AVG', 'MAX', 'BINARY_CHECKSUM', 'MIN', 'CHECKSUM', 'SUM', 'CHECKSUM_AGG', 
-			'STDEV', 'COUNT', 'STDEVP', 'COUNT_BIG', 'VAR', 'GROUPING', 'VARP'
-			),
-		3 => array(
-			/*	
-				System stored procedures
-				Higlighted dark brown
-			*/
+            //Active Directory Procedures
+            'sp_ActiveDirectory_Obj', 'sp_ActiveDirectory_SCP',
+
+            //Catalog Procedures
+            'sp_column_privileges', 'sp_special_columns', 'sp_columns', 'sp_sproc_columns',
+            'sp_databases', 'sp_statistics', 'sp_fkeys', 'sp_stored_procedures', 'sp_pkeys',
+            'sp_table_privileges', 'sp_server_info', 'sp_tables',
 
-			//Active Directory Procedures
-			'sp_ActiveDirectory_Obj', 'sp_ActiveDirectory_SCP',
+            //Cursor Procedures
+            'sp_cursor_list', 'sp_describe_cursor_columns', 'sp_describe_cursor', 'sp_describe_cursor_tables',
 
-			//Catalog Procedures
-			'sp_column_privileges', 'sp_special_columns', 'sp_columns', 'sp_sproc_columns', 
-			'sp_databases', 'sp_statistics', 'sp_fkeys', 'sp_stored_procedures', 'sp_pkeys', 
-			'sp_table_privileges', 'sp_server_info', 'sp_tables',
+            //Database Maintenance Plan Procedures
+            'sp_add_maintenance_plan', 'sp_delete_maintenance_plan_db', 'sp_add_maintenance_plan_db',
+            'sp_delete_maintenance_plan_job', 'sp_add_maintenance_plan_job', 'sp_help_maintenance_plan',
+            'sp_delete_maintenance_plan',
 
-			//Cursor Procedures
-			'sp_cursor_list', 'sp_describe_cursor_columns', 'sp_describe_cursor', 'sp_describe_cursor_tables',
+            //Distributed Queries Procedures
+            'sp_addlinkedserver', 'sp_indexes', 'sp_addlinkedsrvlogin', 'sp_linkedservers', 'sp_catalogs',
+            'sp_primarykeys', 'sp_column_privileges_ex', 'sp_columns_ex',
+            'sp_table_privileges_ex', 'sp_tables_ex', 'sp_foreignkeys',
 
-			//Database Maintenance Plan Procedures
-			'sp_add_maintenance_plan', 'sp_delete_maintenance_plan_db', 'sp_add_maintenance_plan_db', 
-			'sp_delete_maintenance_plan_job', 'sp_add_maintenance_plan_job', 'sp_help_maintenance_plan', 
-			'sp_delete_maintenance_plan',
-
-			//Distributed Queries Procedures
-			'sp_addlinkedserver', 'sp_indexes', 'sp_addlinkedsrvlogin', 'sp_linkedservers', 'sp_catalogs', 
-			'sp_primarykeys', 'sp_column_privileges_ex', 'sp_serveroption', 'sp_columns_ex', 
-			'sp_table_privileges_ex', 'sp_droplinkedsrvlogin', 'sp_tables_ex', 'sp_foreignkeys',
+            //Full-Text Search Procedures
+            'sp_fulltext_catalog', 'sp_help_fulltext_catalogs_cursor', 'sp_fulltext_column',
+            'sp_help_fulltext_columns', 'sp_fulltext_database', 'sp_help_fulltext_columns_cursor',
+            'sp_fulltext_service', 'sp_help_fulltext_tables', 'sp_fulltext_table',
+            'sp_help_fulltext_tables_cursor', 'sp_help_fulltext_catalogs',
 
-			//Full-Text Search Procedures
-			'sp_fulltext_catalog', 'sp_help_fulltext_catalogs_cursor', 'sp_fulltext_column', 
-			'sp_help_fulltext_columns', 'sp_fulltext_database', 'sp_help_fulltext_columns_cursor', 
-			'sp_fulltext_service', 'sp_help_fulltext_tables', 'sp_fulltext_table', 
-			'sp_help_fulltext_tables_cursor', 'sp_help_fulltext_catalogs',
+            //Log Shipping Procedures
+            'sp_add_log_shipping_database', 'sp_delete_log_shipping_database', 'sp_add_log_shipping_plan',
+            'sp_delete_log_shipping_plan', 'sp_add_log_shipping_plan_database',
+            'sp_delete_log_shipping_plan_database', 'sp_add_log_shipping_primary',
+            'sp_delete_log_shipping_primary', 'sp_add_log_shipping_secondary',
+            'sp_delete_log_shipping_secondary', 'sp_can_tlog_be_applied', 'sp_get_log_shipping_monitor_info',
+            'sp_change_monitor_role', 'sp_remove_log_shipping_monitor', 'sp_change_primary_role',
+            'sp_resolve_logins', 'sp_change_secondary_role', 'sp_update_log_shipping_monitor_info',
+            'sp_create_log_shipping_monitor_account', 'sp_update_log_shipping_plan',
+            'sp_define_log_shipping_monitor', 'sp_update_log_shipping_plan_database',
 
-			//Log Shipping Procedures
-			'sp_add_log_shipping_database', 'sp_delete_log_shipping_database', 'sp_add_log_shipping_plan',
-			'sp_delete_log_shipping_plan', 'sp_add_log_shipping_plan_database', 
-			'sp_delete_log_shipping_plan_database', 'sp_add_log_shipping_primary', 
-			'sp_delete_log_shipping_primary', 'sp_add_log_shipping_secondary', 
-			'sp_delete_log_shipping_secondary', 'sp_can_tlog_be_applied', 'sp_get_log_shipping_monitor_info', 
-			'sp_change_monitor_role', 'sp_remove_log_shipping_monitor', 'sp_change_primary_role', 
-			'sp_resolve_logins', 'sp_change_secondary_role', 'sp_update_log_shipping_monitor_info', 
-			'sp_create_log_shipping_monitor_account', 'sp_update_log_shipping_plan', 
-			'sp_define_log_shipping_monitor', 'sp_update_log_shipping_plan_database',
-
-			//OLE Automation Extended Stored Procedures
-			'sp_OACreate', 'sp_OAMethod', 'sp_OADestroy', 'sp_OASetProperty', 'sp_OAGetErrorInfo', 
-			'sp_OAStop', 'sp_OAGetProperty',
+            //OLE Automation Extended Stored Procedures
+            'sp_OACreate', 'sp_OAMethod', 'sp_OADestroy', 'sp_OASetProperty', 'sp_OAGetErrorInfo',
+            'sp_OAStop', 'sp_OAGetProperty',
 
-			//Replication Procedures
-			'sp_add_agent_parameter', 'sp_enableagentoffload', 'sp_add_agent_profile', 
-			'sp_enumcustomresolvers', 'sp_addarticle', 'sp_enumdsn', 'sp_adddistpublisher', 
-			'sp_enumfullsubscribers', 'sp_adddistributiondb', 'sp_expired_subscription_cleanup', 
-			'sp_adddistributor', 'sp_generatefilters', 'sp_addmergealternatepublisher', 
-			'sp_getagentoffloadinfo', 'sp_addmergearticle', 'sp_getmergedeletetype', 'sp_addmergefilter', 
-			'sp_get_distributor', 'sp_addmergepublication', 'sp_getqueuedrows', 'sp_addmergepullsubscription', 
-			'sp_getsubscriptiondtspackagename', 'sp_addmergepullsubscription_agent', 'sp_grant_publication_access', 
-			'sp_addmergesubscription', 'sp_help_agent_default', 'sp_addpublication', 'sp_help_agent_parameter', 
-			'sp_addpublication_snapshot', 'sp_help_agent_profile', 'sp_addpublisher70', 'sp_helparticle', 
-			'sp_addpullsubscription', 'sp_helparticlecolumns', 'sp_addpullsubscription_agent', 'sp_helparticledts', 
-			'sp_addscriptexec', 'sp_helpdistpublisher', 'sp_addsubscriber', 'sp_helpdistributiondb', 
-			'sp_addsubscriber_schedule', 'sp_helpdistributor', 'sp_addsubscription', 'sp_helpmergealternatepublisher', 
-			'sp_addsynctriggers', 'sp_helpmergearticle', 'sp_addtabletocontents', 'sp_helpmergearticlecolumn', 
-			'sp_adjustpublisheridentityrange', 'sp_helpmergearticleconflicts', 'sp_article_validation', 
-			'sp_helpmergeconflictrows', 'sp_articlecolumn', 'sp_helpmergedeleteconflictrows', 'sp_articlefilter', 
-			'sp_helpmergefilter', 'sp_articlesynctranprocs', 'sp_helpmergepublication', 'sp_articleview', 
-			'sp_helpmergepullsubscription', 'sp_attachsubscription', 'sp_helpmergesubscription', 'sp_browsesnapshotfolder', 
-			'sp_helppublication', 'sp_browsemergesnapshotfolder', 'sp_help_publication_access', 'sp_browsereplcmds', 
-			'sp_helppullsubscription', 'sp_change_agent_parameter', 'sp_helpreplfailovermode', 'sp_change_agent_profile', 
-			'sp_helpreplicationdboption', 'sp_changearticle', 'sp_helpreplicationoption', 'sp_changedistpublisher', 
-			'sp_helpsubscriberinfo', 'sp_changedistributiondb', 'sp_helpsubscription', 'sp_changedistributor_password', 
-			'sp_ivindexhasnullcols', 'sp_changedistributor_property', 'sp_helpsubscription_properties', 'sp_changemergearticle', 
-			'sp_link_publication', 'sp_changemergefilter', 'sp_marksubscriptionvalidation', 'sp_changemergepublication', 
-			'sp_mergearticlecolumn', 'sp_changemergepullsubscription', 'sp_mergecleanupmetadata', 'sp_changemergesubscription', 
-			'sp_mergedummyupdate', 'sp_changepublication', 'sp_mergesubscription_cleanup', 'sp_changesubscriber', 
-			'sp_publication_validation', 'sp_changesubscriber_schedule', 'sp_refreshsubscriptions', 'sp_changesubscriptiondtsinfo', 
-			'sp_reinitmergepullsubscription', 'sp_changesubstatus', 'sp_reinitmergesubscription', 'sp_change_subscription_properties', 
-			'sp_reinitpullsubscription', 'sp_check_for_sync_trigger', 'sp_reinitsubscription', 'sp_copymergesnapshot', 
-			'sp_removedbreplication', 'sp_copysnapshot', 'sp_repladdcolumn', 'sp_copysubscription', 'sp_replcmds', 
-			'sp_deletemergeconflictrow', 'sp_replcounters', 'sp_disableagentoffload', 'sp_repldone', 'sp_drop_agent_parameter', 
-			'sp_repldropcolumn', 'sp_drop_agent_profile', 'sp_replflush', 'sp_droparticle', 'sp_replicationdboption', 
-			'sp_dropanonymouseagent', 'sp_replication_agent_checkup', 'sp_dropdistpublisher', 'sp_replqueuemonitor', 
-			'sp_dropdistributiondb', 'sp_replsetoriginator', 'sp_dropmergealternatepublisher', 'sp_replshowcmds', 
-			'sp_dropdistributor', 'sp_repltrans', 'sp_dropmergearticle', 'sp_restoredbreplication', 'sp_dropmergefilter', 
-			'sp_revoke_publication_access', 'sp_scriptsubconflicttable', 'sp_dropmergepublication', 'sp_script_synctran_commands', 
-			'sp_dropmergepullsubscription', 'sp_setreplfailovermode', 'sp_showrowreplicainfo', 'sp_dropmergesubscription', 
-			'sp_subscription_cleanup', 'sp_droppublication', 'sp_table_validation', 'sp_droppullsubscription', 
-			'sp_update_agent_profile', 'sp_dropsubscriber', 'sp_validatemergepublication', 'sp_dropsubscription', 
-			'sp_validatemergesubscription', 'sp_dsninfo', 'sp_vupgrade_replication', 'sp_dumpparamcmd',
+            //Replication Procedures
+            'sp_add_agent_parameter', 'sp_enableagentoffload', 'sp_add_agent_profile',
+            'sp_enumcustomresolvers', 'sp_addarticle', 'sp_enumdsn', 'sp_adddistpublisher',
+            'sp_enumfullsubscribers', 'sp_adddistributiondb', 'sp_expired_subscription_cleanup',
+            'sp_adddistributor', 'sp_generatefilters', 'sp_addmergealternatepublisher',
+            'sp_getagentoffloadinfo', 'sp_addmergearticle', 'sp_getmergedeletetype', 'sp_addmergefilter',
+            'sp_get_distributor', 'sp_addmergepublication', 'sp_getqueuedrows', 'sp_addmergepullsubscription',
+            'sp_getsubscriptiondtspackagename', 'sp_addmergepullsubscription_agent', 'sp_grant_publication_access',
+            'sp_addmergesubscription', 'sp_help_agent_default', 'sp_addpublication', 'sp_help_agent_parameter',
+            'sp_addpublication_snapshot', 'sp_help_agent_profile', 'sp_addpublisher70', 'sp_helparticle',
+            'sp_addpullsubscription', 'sp_helparticlecolumns', 'sp_addpullsubscription_agent', 'sp_helparticledts',
+            'sp_addscriptexec', 'sp_helpdistpublisher', 'sp_addsubscriber', 'sp_helpdistributiondb',
+            'sp_addsubscriber_schedule', 'sp_helpdistributor', 'sp_addsubscription', 'sp_helpmergealternatepublisher',
+            'sp_addsynctriggers', 'sp_helpmergearticle', 'sp_addtabletocontents', 'sp_helpmergearticlecolumn',
+            'sp_adjustpublisheridentityrange', 'sp_helpmergearticleconflicts', 'sp_article_validation',
+            'sp_helpmergeconflictrows', 'sp_articlecolumn', 'sp_helpmergedeleteconflictrows', 'sp_articlefilter',
+            'sp_helpmergefilter', 'sp_articlesynctranprocs', 'sp_helpmergepublication', 'sp_articleview',
+            'sp_helpmergepullsubscription', 'sp_attachsubscription', 'sp_helpmergesubscription', 'sp_browsesnapshotfolder',
+            'sp_helppublication', 'sp_browsemergesnapshotfolder', 'sp_help_publication_access', 'sp_browsereplcmds',
+            'sp_helppullsubscription', 'sp_change_agent_parameter', 'sp_helpreplfailovermode', 'sp_change_agent_profile',
+            'sp_helpreplicationdboption', 'sp_changearticle', 'sp_helpreplicationoption', 'sp_changedistpublisher',
+            'sp_helpsubscriberinfo', 'sp_changedistributiondb', 'sp_helpsubscription', 'sp_changedistributor_password',
+            'sp_ivindexhasnullcols', 'sp_changedistributor_property', 'sp_helpsubscription_properties', 'sp_changemergearticle',
+            'sp_link_publication', 'sp_changemergefilter', 'sp_marksubscriptionvalidation', 'sp_changemergepublication',
+            'sp_mergearticlecolumn', 'sp_changemergepullsubscription', 'sp_mergecleanupmetadata', 'sp_changemergesubscription',
+            'sp_mergedummyupdate', 'sp_changepublication', 'sp_mergesubscription_cleanup', 'sp_changesubscriber',
+            'sp_publication_validation', 'sp_changesubscriber_schedule', 'sp_refreshsubscriptions', 'sp_changesubscriptiondtsinfo',
+            'sp_reinitmergepullsubscription', 'sp_changesubstatus', 'sp_reinitmergesubscription', 'sp_change_subscription_properties',
+            'sp_reinitpullsubscription', 'sp_check_for_sync_trigger', 'sp_reinitsubscription', 'sp_copymergesnapshot',
+            'sp_removedbreplication', 'sp_copysnapshot', 'sp_repladdcolumn', 'sp_copysubscription', 'sp_replcmds',
+            'sp_deletemergeconflictrow', 'sp_replcounters', 'sp_disableagentoffload', 'sp_repldone', 'sp_drop_agent_parameter',
+            'sp_repldropcolumn', 'sp_drop_agent_profile', 'sp_replflush', 'sp_droparticle', 'sp_replicationdboption',
+            'sp_dropanonymouseagent', 'sp_replication_agent_checkup', 'sp_dropdistpublisher', 'sp_replqueuemonitor',
+            'sp_dropdistributiondb', 'sp_replsetoriginator', 'sp_dropmergealternatepublisher', 'sp_replshowcmds',
+            'sp_dropdistributor', 'sp_repltrans', 'sp_dropmergearticle', 'sp_restoredbreplication', 'sp_dropmergefilter',
+            'sp_revoke_publication_access', 'sp_scriptsubconflicttable', 'sp_dropmergepublication', 'sp_script_synctran_commands',
+            'sp_dropmergepullsubscription', 'sp_setreplfailovermode', 'sp_showrowreplicainfo', 'sp_dropmergesubscription',
+            'sp_subscription_cleanup', 'sp_droppublication', 'sp_table_validation', 'sp_droppullsubscription',
+            'sp_update_agent_profile', 'sp_dropsubscriber', 'sp_validatemergepublication', 'sp_dropsubscription',
+            'sp_validatemergesubscription', 'sp_dsninfo', 'sp_vupgrade_replication', 'sp_dumpparamcmd',
 
-			//Security Procedures
-			'sp_addalias', 'sp_droprolemember', 'sp_addapprole', 'sp_dropserver', 'sp_addgroup', 'sp_dropsrvrolemember', 
-			'sp_addlinkedsrvlogin', 'sp_dropuser', 'sp_addlogin', 'sp_grantdbaccess', 'sp_addremotelogin', 
-			'sp_grantlogin', 'sp_addrole', 'sp_helpdbfixedrole', 'sp_addrolemember', 'sp_helpgroup', 
-			'sp_addserver', 'sp_helplinkedsrvlogin', 'sp_addsrvrolemember', 'sp_helplogins', 'sp_adduser', 
-			'sp_helpntgroup', 'sp_approlepassword', 'sp_helpremotelogin', 'sp_changedbowner', 'sp_helprole', 
-			'sp_changegroup', 'sp_helprolemember', 'sp_changeobjectowner', 'sp_helprotect', 'sp_change_users_login', 
-			'sp_helpsrvrole', 'sp_dbfixedrolepermission', 'sp_helpsrvrolemember', 'sp_defaultdb', 'sp_helpuser', 
-			'sp_defaultlanguage', 'sp_MShasdbaccess', 'sp_denylogin', 'sp_password', 'sp_dropalias', 'sp_remoteoption', 
-			'sp_dropapprole', 'sp_revokedbaccess', 'sp_dropgroup', 'sp_revokelogin', 'sp_droplinkedsrvlogin', 
-			'sp_setapprole', 'sp_droplogin', 'sp_srvrolepermission', 'sp_dropremotelogin', 'sp_validatelogins', 'sp_droprole',
+            //Security Procedures
+            'sp_addalias', 'sp_droprolemember', 'sp_addapprole', 'sp_dropserver', 'sp_addgroup', 'sp_dropsrvrolemember',
+            'sp_dropuser', 'sp_addlogin', 'sp_grantdbaccess', 'sp_addremotelogin',
+            'sp_grantlogin', 'sp_addrole', 'sp_helpdbfixedrole', 'sp_addrolemember', 'sp_helpgroup',
+            'sp_addserver', 'sp_helplinkedsrvlogin', 'sp_addsrvrolemember', 'sp_helplogins', 'sp_adduser',
+            'sp_helpntgroup', 'sp_approlepassword', 'sp_helpremotelogin', 'sp_changedbowner', 'sp_helprole',
+            'sp_changegroup', 'sp_helprolemember', 'sp_changeobjectowner', 'sp_helprotect', 'sp_change_users_login',
+            'sp_helpsrvrole', 'sp_dbfixedrolepermission', 'sp_helpsrvrolemember', 'sp_defaultdb', 'sp_helpuser',
+            'sp_defaultlanguage', 'sp_MShasdbaccess', 'sp_denylogin', 'sp_password', 'sp_dropalias', 'sp_remoteoption',
+            'sp_dropapprole', 'sp_revokedbaccess', 'sp_dropgroup', 'sp_revokelogin', 'sp_droplinkedsrvlogin',
+            'sp_setapprole', 'sp_droplogin', 'sp_srvrolepermission', 'sp_dropremotelogin', 'sp_validatelogins', 'sp_droprole',
 
-			//SQL Mail Procedures
-			'sp_processmail', 'xp_sendmail', 'xp_deletemail', 'xp_startmail', 'xp_findnextmsg', 'xp_stopmail', 'xp_readmail',
+            //SQL Mail Procedures
+            'sp_processmail', 'xp_sendmail', 'xp_deletemail', 'xp_startmail', 'xp_findnextmsg', 'xp_stopmail', 'xp_readmail',
 
-			//SQL Profiler Procedures
-			'sp_trace_create', 'sp_trace_setfilter', 'sp_trace_generateevent', 'sp_trace_setstatus', 'sp_trace_setevent',
+            //SQL Profiler Procedures
+            'sp_trace_create', 'sp_trace_setfilter', 'sp_trace_generateevent', 'sp_trace_setstatus', 'sp_trace_setevent',
 
-			//SQL Server Agent Procedures
-			'sp_add_alert', 'sp_help_jobhistory', 'sp_add_category', 'sp_help_jobschedule', 'sp_add_job', 
-			'sp_help_jobserver', 'sp_add_jobschedule', 'sp_help_jobstep', 'sp_add_jobserver', 'sp_help_notification', 
-			'sp_add_jobstep', 'sp_help_operator', 'sp_add_notification', 'sp_help_targetserver', 
-			'sp_add_operator', 'sp_help_targetservergroup', 'sp_add_targetservergroup', 'sp_helptask', 
-			'sp_add_targetsvrgrp_member', 'sp_manage_jobs_by_login', 'sp_addtask', 'sp_msx_defect', 
-			'sp_apply_job_to_targets', 'sp_msx_enlist', 'sp_delete_alert', 'sp_post_msx_operation', 
-			'sp_delete_category', 'sp_purgehistory', 'sp_delete_job', 'sp_purge_jobhistory', 'sp_delete_jobschedule', 
-			'sp_reassigntask', 'sp_delete_jobserver', 'sp_remove_job_from_targets', 'sp_delete_jobstep', 
-			'sp_resync_targetserver', 'sp_delete_notification', 'sp_start_job', 'sp_delete_operator', 
-			'sp_stop_job', 'sp_delete_targetserver', 'sp_update_alert', 'sp_delete_targetservergroup', 
-			'sp_update_category', 'sp_delete_targetsvrgrp_member', 'sp_update_job', 'sp_droptask', 
-			'sp_update_jobschedule', 'sp_help_alert', 'sp_update_jobstep', 'sp_help_category', 
-			'sp_update_notification', 'sp_help_downloadlist', 'sp_update_operator', 'sp_helphistory', 
-			'sp_update_targetservergroup', 'sp_help_job', 'sp_updatetask', 'xp_sqlagent_proxy_account',
+            //SQL Server Agent Procedures
+            'sp_add_alert', 'sp_help_jobhistory', 'sp_add_category', 'sp_help_jobschedule', 'sp_add_job',
+            'sp_help_jobserver', 'sp_add_jobschedule', 'sp_help_jobstep', 'sp_add_jobserver', 'sp_help_notification',
+            'sp_add_jobstep', 'sp_help_operator', 'sp_add_notification', 'sp_help_targetserver',
+            'sp_add_operator', 'sp_help_targetservergroup', 'sp_add_targetservergroup', 'sp_helptask',
+            'sp_add_targetsvrgrp_member', 'sp_manage_jobs_by_login', 'sp_addtask', 'sp_msx_defect',
+            'sp_apply_job_to_targets', 'sp_msx_enlist', 'sp_delete_alert', 'sp_post_msx_operation',
+            'sp_delete_category', 'sp_purgehistory', 'sp_delete_job', 'sp_purge_jobhistory', 'sp_delete_jobschedule',
+            'sp_reassigntask', 'sp_delete_jobserver', 'sp_remove_job_from_targets', 'sp_delete_jobstep',
+            'sp_resync_targetserver', 'sp_delete_notification', 'sp_start_job', 'sp_delete_operator',
+            'sp_stop_job', 'sp_delete_targetserver', 'sp_update_alert', 'sp_delete_targetservergroup',
+            'sp_update_category', 'sp_delete_targetsvrgrp_member', 'sp_update_job', 'sp_droptask',
+            'sp_update_jobschedule', 'sp_help_alert', 'sp_update_jobstep', 'sp_help_category',
+            'sp_update_notification', 'sp_help_downloadlist', 'sp_update_operator', 'sp_helphistory',
+            'sp_update_targetservergroup', 'sp_help_job', 'sp_updatetask', 'xp_sqlagent_proxy_account',
 
-			//System Procedures
-			'sp_add_data_file_recover_suspect_db', 'sp_helpconstraint', 'sp_addextendedproc', 
-			'sp_helpdb', 'sp_addextendedproperty', 'sp_helpdevice', 'sp_add_log_file_recover_suspect_db', 
-			'sp_helpextendedproc', 'sp_addmessage', 'sp_helpfile', 'sp_addtype', 'sp_helpfilegroup', 
-			'sp_addumpdevice', 'sp_helpindex', 'sp_altermessage', 'sp_helplanguage', 'sp_autostats', 
-			'sp_helpserver', 'sp_attach_db', 'sp_helpsort', 'sp_attach_single_file_db', 'sp_helpstats', 
-			'sp_bindefault', 'sp_helptext', 'sp_bindrule', 'sp_helptrigger', 'sp_bindsession', 
-			'sp_indexoption', 'sp_certify_removable', 'sp_invalidate_textptr', 'sp_configure', 
-			'sp_lock', 'sp_create_removable', 'sp_monitor', 'sp_createstats', 'sp_procoption', 
-			'sp_cycle_errorlog', 'sp_recompile', 'sp_datatype_info', 'sp_refreshview', 'sp_dbcmptlevel', 
-			'sp_releaseapplock', 'sp_dboption', 'sp_rename', 'sp_dbremove', 'sp_renamedb', 
-			'sp_delete_backuphistory', 'sp_resetstatus', 'sp_depends', 'sp_serveroption', 'sp_detach_db', 
-			'sp_setnetname', 'sp_dropdevice', 'sp_settriggerorder', 'sp_dropextendedproc', 'sp_spaceused', 
-			'sp_dropextendedproperty', 'sp_tableoption', 'sp_dropmessage', 'sp_unbindefault', 'sp_droptype', 
-			'sp_unbindrule', 'sp_executesql', 'sp_updateextendedproperty', 'sp_getapplock', 'sp_updatestats', 
-			'sp_getbindtoken', 'sp_validname', 'sp_help', 'sp_who',
+            //System Procedures
+            'sp_add_data_file_recover_suspect_db', 'sp_helpconstraint', 'sp_addextendedproc',
+            'sp_helpdb', 'sp_addextendedproperty', 'sp_helpdevice', 'sp_add_log_file_recover_suspect_db',
+            'sp_helpextendedproc', 'sp_addmessage', 'sp_helpfile', 'sp_addtype', 'sp_helpfilegroup',
+            'sp_addumpdevice', 'sp_helpindex', 'sp_altermessage', 'sp_helplanguage', 'sp_autostats',
+            'sp_helpserver', 'sp_attach_db', 'sp_helpsort', 'sp_attach_single_file_db', 'sp_helpstats',
+            'sp_bindefault', 'sp_helptext', 'sp_bindrule', 'sp_helptrigger', 'sp_bindsession',
+            'sp_indexoption', 'sp_certify_removable', 'sp_invalidate_textptr', 'sp_configure',
+            'sp_lock', 'sp_create_removable', 'sp_monitor', 'sp_createstats', 'sp_procoption',
+            'sp_cycle_errorlog', 'sp_recompile', 'sp_datatype_info', 'sp_refreshview', 'sp_dbcmptlevel',
+            'sp_releaseapplock', 'sp_dboption', 'sp_rename', 'sp_dbremove', 'sp_renamedb',
+            'sp_delete_backuphistory', 'sp_resetstatus', 'sp_depends', 'sp_serveroption', 'sp_detach_db',
+            'sp_setnetname', 'sp_dropdevice', 'sp_settriggerorder', 'sp_dropextendedproc', 'sp_spaceused',
+            'sp_dropextendedproperty', 'sp_tableoption', 'sp_dropmessage', 'sp_unbindefault', 'sp_droptype',
+            'sp_unbindrule', 'sp_executesql', 'sp_updateextendedproperty', 'sp_getapplock', 'sp_updatestats',
+            'sp_getbindtoken', 'sp_validname', 'sp_help', 'sp_who',
 
-			//Web Assistant Procedures
-			'sp_dropwebtask', 'sp_makewebtask', 'sp_enumcodepages', 'sp_runwebtask',
+            //Web Assistant Procedures
+            'sp_dropwebtask', 'sp_makewebtask', 'sp_enumcodepages', 'sp_runwebtask',
 
-			//XML Procedures
-			'sp_xml_preparedocument', 'sp_xml_removedocument',
+            //XML Procedures
+            'sp_xml_preparedocument', 'sp_xml_removedocument',
 
-			//General Extended Procedures
-			'xp_cmdshellxp_logininfo', 'xp_enumgroups', 'xp_msver', 'xp_findnextmsgxp_revokelogin', 
-			'xp_grantlogin', 'xp_sprintf', 'xp_logevent', 'xp_sqlmaint', 'xp_loginconfig', 'xp_sscanf',
+            //General Extended Procedures
+            'xp_cmdshellxp_logininfo', 'xp_enumgroups', 'xp_msver', 'xp_findnextmsgxp_revokelogin',
+            'xp_grantlogin', 'xp_sprintf', 'xp_logevent', 'xp_sqlmaint', 'xp_loginconfig', 'xp_sscanf',
 
-			//API System Stored Procedures
-			'sp_cursor', 'sp_cursorclose', 'sp_cursorexecute', 'sp_cursorfetch', 'sp_cursoropen', 
-			'sp_cursoroption', 'sp_cursorprepare', 'sp_cursorunprepare', 'sp_execute', 'sp_prepare', 'sp_unprepare',
+            //API System Stored Procedures
+            'sp_cursor', 'sp_cursorclose', 'sp_cursorexecute', 'sp_cursorfetch', 'sp_cursoropen',
+            'sp_cursoroption', 'sp_cursorprepare', 'sp_cursorunprepare', 'sp_execute', 'sp_prepare', 'sp_unprepare',
 
-			//Misc
-			'sp_createorphan', 'sp_droporphans', 'sp_reset_connection', 'sp_sdidebug'
-			),
-		4 => array(
-			//Function/sp's higlighted brown.
-			'fn_helpcollations', 'fn_listextendedproperty ', 'fn_servershareddrives', 
-			'fn_trace_geteventinfo', 'fn_trace_getfilterinfo', 'fn_trace_getinfo', 
-			'fn_trace_gettable', 'fn_virtualfilestats',
-			),
-		),
-	'SYMBOLS' => array(
-		'!', '!=', '%', '&', '&&', '(', ')', '*', '+', '-', '/', '<', '<<', '<=', 
-		'<=>', '<>', '=', '>', '>=', '>>', '^', 'ALL', 'AND', 'ANY', 'BETWEEN', 'CROSS', 
-		'EXISTS', 'IN', 'JOIN', 'LIKE', 'NOT', 'NULL', 'OR', 'OUTER', 'SOME', '|', '||', '~'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #0000FF;',
-			2 => 'color: #FF00FF;',
-			3 => 'color: #AF0000;',
-			4 => 'color: #AF0000;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #008080;',
-			'MULTI' => 'color: #008080;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #808080;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #FF0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #000;'
-			),
-		'METHODS' => array(
-			1 => 'color: #202020;',
-			2 => 'color: #202020;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #808080;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => '',
-		4 => ''
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+            //Misc
+            'sp_createorphan', 'sp_droporphans', 'sp_reset_connection', 'sp_sdidebug'
+            ),
+        4 => array(
+            //Function/sp's higlighted brown.
+            'fn_helpcollations', 'fn_listextendedproperty ', 'fn_servershareddrives',
+            'fn_trace_geteventinfo', 'fn_trace_getfilterinfo', 'fn_trace_getinfo',
+            'fn_trace_gettable', 'fn_virtualfilestats',
+            ),
+        ),
+    'SYMBOLS' => array(
+        '!', '!=', '%', '&', '&&', '(', ')', '*', '+', '-', '/', '<', '<<', '<=',
+        '<=>', '<>', '=', '>', '>=', '>>', '^', 'ALL', 'AND', 'ANY', 'BETWEEN', 'CROSS',
+        'EXISTS', 'IN', 'JOIN', 'LIKE', 'NOT', 'NULL', 'OR', 'OUTER', 'SOME', '|', '||', '~'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000FF;',
+            2 => 'color: #FF00FF;',
+            3 => 'color: #AF0000;',
+            4 => 'color: #AF0000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008080;',
+            'MULTI' => 'color: #008080;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #808080;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #FF0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #202020;',
+            2 => 'color: #202020;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #808080;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/typoscript.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,300 @@
+<?php
+/*************************************************************************************
+ * typoscript.php
+ * --------
+ * Author: Jan-Philipp Halle (typo3@jphalle.de)
+ * Copyright: (c) 2005 Jan-Philipp Halle (http://www.jphalle.de/)
+ * Release Version: 1.0.8.2
+ * Date Started: 2005/07/29
+ *
+ * TypoScript language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/07/11 (1.0.8)
+ * - Michiel Roos <geshi@typofree.org> Complete rewrite
+ * 2005/07/29 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2004/07/14)
+ * -------------------------
+ * <things-to-do>
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'TypoScript',
+    'COMMENT_SINGLE' => array(1  => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'COMMENT_REGEXP' => array(2 => '/(?<!(#|\'|"))(?:#(?!(?:[a-fA-F0-9]{6}|[a-fA-F0-9]{3}))[^\n#]+|#{2}[^\n#]+|#{7,999}[^\n]+)/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        // Conditions: http://documentation.typo3.org/documentation/tsref/conditions/
+        1 => array(
+            'browser', 'compatVersion', 'dayofmonth', 'dayofweek', 'device',
+            'globalString', 'globalVars', 'hostname', 'hour',
+            'ip', 'language', 'loginUser', 'loginuser', 'minute',
+            'month', 'PIDinRootline', 'PIDupinRootline',
+            'system', 'treelevel', 'useragent', 'userFunc',
+            'usergroup', 'version'
+            ),
+
+        // Functions: http://documentation.typo3.org/documentation/tsref/functions/
+        2 => array(
+            'addParams', 'encapsLines', 'filelink', 'HTMLparser',
+            'HTMLparser_tags', 'if', 'imageLinkWrap',
+            'imgResource', 'makelinks', 'numRows', 'parseFunc',
+            'select', 'split', 'stdWrap', 'tableStyle', 'tags',
+            'textStyle', 'typolink'
+            ),
+
+        // Toplevel objects: http://documentation.typo3.org/documentation/tsref/tlo-objects/
+        3 => array(
+            'CARRAY', 'CONFIG', 'CONSTANTS', 'FE_DATA', 'FE_TABLE', 'FRAME',
+            'FRAMESET', 'META', 'PAGE', 'plugin'
+            ),
+
+        // Content Objects (cObject) : http://documentation.typo3.org/documentation/tsref/cobjects/
+        4 => array(
+            'CASE', 'CLEARGIF', 'COA', 'COA_INT', 'COBJ_ARRAY', 'COLUMNS',
+            'CONTENT', 'CTABLE', 'EDITPANEL', 'FILE', 'FORM',
+            'HMENU', 'HRULER', 'HTML', 'IMAGE', 'IMGTEXT',
+            'IMG_RESOURCE', 'LOAD_REGISTER', 'MULTIMEDIA',
+            'OTABLE', 'PHP_SCRIPT', 'PHP_SCRIPT_EXT',
+            'PHP_SCRIPT_INT', 'RECORDS', 'RESTORE_REGISTER',
+            'SEARCHRESULT', 'TEMPLATE', 'TEXT', 'USER',
+            'USER_INT'
+            ),
+
+        // GIFBUILDER toplevel link: http://documentation.typo3.org/documentation/tsref/gifbuilder/
+        5 => array(
+            'GIFBUILDER',
+            ),
+
+        // GIFBUILDER: http://documentation.typo3.org/documentation/tsref/gifbuilder/
+        // skipped fields: IMAGE, TEXT
+        // NOTE! the IMAGE and TEXT field already are linked in group 4, they
+        // cannot be linked twice . . . . unfortunately
+        6 => array(
+            'ADJUST', 'BOX', 'CROP', 'EFFECT', 'EMBOSS',
+            'IMGMAP', 'OUTLINE', 'SCALE', 'SHADOW',
+            'WORKAREA'
+            ),
+
+        // MENU Objects: http://documentation.typo3.org/documentation/tsref/menu/
+        7 => array(
+            'GMENU', 'GMENU_FOLDOUT', 'GMENU_LAYERS', 'IMGMENU',
+            'IMGMENUITEM', 'JSMENU', 'JSMENUITEM', 'TMENU',
+            'TMENUITEM', 'TMENU_LAYERS'
+            ),
+
+        // MENU common properties: http://documentation.typo3.org/documentation/tsref/menu/common-properties/
+        8 => array(
+            'alternativeSortingField', 'begin', 'debugItemConf',
+            'imgNameNotRandom', 'imgNamePrefix',
+            'itemArrayProcFunc', 'JSWindow', 'maxItems',
+            'minItems', 'overrideId', 'sectionIndex',
+            'showAccessRestrictedPages', 'submenuObjSuffixes'
+            ),
+
+        // MENU item states: http://documentation.typo3.org/documentation/tsref/menu/item-states/
+        9 => array(
+            'ACT', 'ACTIFSUB', 'ACTIFSUBRO', 'ACTRO', 'CUR', 'CURIFSUB',
+            'CURIFSUBRO', 'CURRO', 'IFSUB', 'IFSUBRO', 'NO',
+            'SPC', 'USERDEF1', 'USERDEF1RO', 'USERDEF2',
+            'USERDEF2RO', 'USR', 'USRRO'
+            ),
+        ),
+
+    // Does not include '-' because of stuff like htmlTag_langKey = en-GB and
+    // lib.nav-sub
+    'SYMBOLS' => array(
+        0 => array(
+            '|',
+            '+', '*', '/', '%',
+            '!', '&&', '^',
+            '<', '>', '=',
+            '?', ':',
+            '.'
+            ),
+        1 => array(
+            '(', ')', '{', '}', '[', ']'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true,
+        6 => true,
+        7 => true,
+        8 => true,
+        9 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #ed7d14;',
+            2 => 'font-weight: bold;',
+            3 => 'color: #990000; font-weight: bold;',
+            4 => 'color: #990000; font-weight: bold;',
+            5 => 'color: #990000; font-weight: bold;',
+            6 => 'color: #990000; font-weight: bold;',
+            7 => 'color: #990000; font-weight: bold;',
+            8 => 'font-weight: bold;',
+            9 => 'color: #990000; font-weight: bold;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #aaa; font-style: italic;',
+            2 => 'color: #aaa; font-style: italic;',
+            'MULTI' => 'color: #aaa; font-style: italic;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ac14aa;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc0000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #0000e0; font-weight: bold;',
+            2 => 'color: #0000e0; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933; font-weight: bold;',
+                // Set this to the same value as brackets above
+            1 => 'color: #009900; font-weight: bold;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #009900;',
+            1 => 'color: #009900; font-weight: bold;',
+            2 => 'color: #3366CC;',
+            3 => 'color: #000066; font-weight: bold;',
+            4 => 'color: #ed7d14;',
+            5 => 'color: #000066; font-weight: bold;',
+            6 => 'color: #009900;',
+            7 => 'color: #3366CC;'
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => 'http://documentation.typo3.org/documentation/tsref/conditions/{FNAME}/',
+        2 => 'http://documentation.typo3.org/documentation/tsref/functions/{FNAME}/',
+        3 => 'http://documentation.typo3.org/documentation/tsref/tlo-objects/{FNAME}/',
+        4 => 'http://documentation.typo3.org/documentation/tsref/cobjects/{FNAME}/',
+        5 => 'http://documentation.typo3.org/documentation/tsref/gifbuilder/',
+        6 => 'http://documentation.typo3.org/documentation/tsref/gifbuilder/{FNAME}/',
+        7 => 'http://documentation.typo3.org/documentation/tsref/menu/{FNAME}/',
+        8 => 'http://documentation.typo3.org/documentation/tsref/menu/common-properties/',
+        9 => 'http://documentation.typo3.org/documentation/tsref/menu/item-states/'
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+            // Constant
+        0 => array(
+            GESHI_SEARCH => '(\{)(\$[a-zA-Z_\.]+[a-zA-Z0-9_\.]*)(\})',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => '\\3'
+            ),
+
+            // Constant dollar sign
+        1 => array(
+            GESHI_SEARCH => '(\$)([a-zA-Z_\.]+[a-zA-Z0-9_\.]*)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '\\2'
+            ),
+
+            // xhtml tag
+        2 => array(
+            GESHI_SEARCH => '(&lt;[a-zA-Z\!\/].*?&gt;)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 's',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+
+            // extension keys / tables: (static|user|ttx|tx|tt|fe)_something[_something]
+        3 => array(
+            GESHI_SEARCH => '(plugin\.|[^\.]\b)((?:static|user|ttx|tx|tt|fe)(?:_[0-9A-Za-z_]+?)\b)',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
+            ),
+
+            // conditions and controls
+        4 => array(
+            GESHI_SEARCH => '(\[)(globalVar|global|end)\b',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => 'i',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
+            ),
+
+            // lowlevel setup and constant objects
+        5 => array(
+            GESHI_SEARCH => '([^\.\$-\{]\b)(cObj|field|config|content|file|frameset|includeLibs|lib|page|plugin|register|resources|sitemap|sitetitle|styles|temp|tt_content|tt_news|types|xmlnews)\b',
+            GESHI_REPLACE => '\\2',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\\1',
+            GESHI_AFTER => ''
+            ),
+
+            // markers
+        6 => array(
+            GESHI_SEARCH => '(###[^#]+###)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+
+            // hex color codes
+        7 => array(
+            GESHI_SEARCH => '(#[a-fA-F0-9]{6}\b|#[a-fA-F0-9]{3}\b)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            )
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+);
+
+?>
--- a/plugins/geshi/geshi/vb.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/vb.php	Fri May 29 19:30:59 2009 -0400
@@ -3,14 +3,19 @@
  * vb.php
  * ------
  * Author: Roberto Rossi (rsoftware@altervista.org)
- * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org),
+ *                     Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.2
  * Date Started: 2004/08/30
  *
  * Visual Basic language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/08/27 (1.0.8.1)
+ *  -  changed keyword list for better Visual Studio compliance
+ * 2008/08/26 (1.0.8.1)
+ *  -  Fixed multiline comments
  * 2004/11/27 (1.0.1)
  *  -  Added support for multiple object splitters
  * 2004/08/30 (1.0.0)
@@ -38,111 +43,90 @@
  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  ************************************************************************************/
- $language_data = array (
-	'LANG_NAME' => 'Visual Basic',
-	'COMMENT_SINGLE' => array(1 => "'"),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"'),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		1 => array(
-			'as', 'err', 'boolean', 'and', 'or', 'recordset', 'unload', 'to',
-			'integer','long','single','new','database','nothing','set','close',
-			'open','print','split','line','field','querydef','instrrev',
-			'abs','array','asc','ascb','ascw','atn','avg','me',
-			'cbool','cbyte','ccur','cdate','cdbl','cdec','choose','chr','chrb','chrw','cint','clng',
-			'command','cos','count','createobject','csng','cstr','curdir','cvar','cvdate','cverr',
-			'date','dateadd','datediff','datepart','dateserial','datevalue','day','ddb','dir','doevents',
-			'environ','eof','error','exp',
-			'fileattr','filedatetime','filelen','fix','format','freefile','fv',
-			'getallstrings','getattr','getautoserversettings','getobject','getsetting',
-			'hex','hour','iif','imestatus','input','inputb','inputbox','instr','instb','int','ipmt',
-			'isarray','isdate','isempty','iserror','ismissing','isnull','isnumeric','isobject',
-			'lbound','lcase','left','leftb','len','lenb','loadpicture','loc','lof','log','ltrim',
-			'max','mid','midb','min','minute','mirr','month','msgbox',
-			'now','nper','npv','oct','partition','pmt','ppmt','pv','qbcolor',
-			'rate','rgb','right','rightb','rnd','rtrim',
-			'second','seek','sgn','shell','sin','sln','space','spc','sqr','stdev','stdevp','str',
-			'strcomp','strconv','string','switch','sum','syd',
-			'tab','tan','time','timer','timeserial','timevalue','trim','typename',
-			'ubound','ucase','val','var','varp','vartype','weekday','year',
-			'appactivate','base','beep','call','case','chdir','chdrive','const',
-			'declare','defbool','defbyte','defcur','defdate','defdbl','defdec','defint',
-			'deflng','defobj','defsng','defstr','deftype','defvar','deletesetting','dim','do',
-			'else','elseif','end','enum','erase','event','exit','explicit',
-			'false','filecopy','for','foreach','friend','function','get','gosub','goto',
-			'if','implements','kill','let','lineinput','lock','loop','lset','mkdir','name','next','not',
-			'onerror','on','option','private','property','public','put','raiseevent','randomize',
-			'redim','rem','reset','resume','return','rmdir','rset',
-			'savepicture','savesetting','sendkeys','setattr','static','sub',
-			'then','true','type','unlock','wend','while','width','with','write',
-			'vbabort','vbabortretryignore','vbapplicationmodal','vbarray',
-			'vbbinarycompare','vbblack','vbblue','vbboolean','vbbyte','vbcancel',
-			'vbcr','vbcritical','vbcrlf','vbcurrency','vbcyan','vbdataobject',
-			'vbdate','vbdecimal','vbdefaultbutton1','vbdefaultbutton2',
-			'vbdefaultbutton3','vbdefaultbutton4','vbdouble','vbempty',
-			'vberror','vbexclamation','vbfirstfourdays','vbfirstfullweek',
-			'vbfirstjan1','vbformfeed','vbfriday','vbgeneraldate','vbgreen',
-			'vbignore','vbinformation','vbinteger','vblf','vblong','vblongdate',
-			'vblongtime','vbmagenta','vbmonday','vbnewline','vbno','vbnull',
-			'vbnullchar','vbnullstring','vbobject','vbobjecterror','vbok','vbokcancel',
-			'vbokonly','vbquestion','vbred','vbretry','vbretrycancel','vbsaturday',
-			'vbshortdate','vbshorttime','vbsingle','vbstring','vbsunday',
-			'vbsystemmodal','vbtab','vbtextcompare','vbthursday','vbtuesday',
-			'vbusesystem','vbusesystemdayofweek','vbvariant','vbverticaltab',
-			'vbwednesday','vbwhite','vbyellow','vbyes','vbyesno','vbyesnocancel',
-			'vbnormal','vbdirectory'
-			)
-		),
-	'SYMBOLS' => array(
-		'(', ')'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #b1b100;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #808080;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #66cc66;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099;'
-			),
-		'SCRIPT' => array(
-			),
-		'REGEXPS' => array(
-			)
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+
+$language_data = array (
+    'LANG_NAME' => 'Visual Basic',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(),
+    'COMMENT_REGEXP' => array(
+        // Comments (either single or multiline with _
+        1 => '/\'.*(?<! _)\n/sU',
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'AddressOf', 'Alias', 'And', 'Append', 'As', 'BF', 'Binary',
+            'Boolean', 'ByRef', 'Byte', 'ByVal', 'Call', 'Case', 'CBool',
+            'CByte', 'CCur', 'CDate', 'CDbl', 'CDec', 'CInt', 'CLng',
+            'Close', 'Collection', 'Const', 'Control', 'CSng', 'CStr',
+            'Currency', 'CVar', 'Date', 'Declare', 'Dim', 'Do', 'Double',
+            'Each', 'Else', 'ElseIf', 'End', 'Enum', 'Erase', 'Error',
+            'Event', 'Exit', 'Explicit', 'False', 'For', 'Friend',
+            'Function', 'Get', 'GoSub', 'Goto', 'If', 'Implements', 'In',
+            'Input', 'Integer', 'Is', 'LBound', 'Let', 'Lib', 'Like',
+            'Line', 'Long', 'Loop', 'Mod', 'New', 'Next', 'Not',
+            'Nothing', 'Object', 'On', 'Open', 'Option', 'Optional',
+            'Or', 'Output', 'ParamArray', 'Preserve', 'Print', 'Private',
+            'Property', 'Public', 'RaiseEvent', 'Random', 'ReDim',
+            'Resume', 'Select', 'Set', 'Single', 'Static', 'Step',
+            'Stop', 'String', 'Sub', 'Then', 'To', 'True', 'Type',
+            'TypeOf', 'UBound', 'Until', 'Variant', 'While', 'With',
+            'WithEvents', 'Xor'
+            )
+        ),
+    'SYMBOLS' => array(
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000080;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008000;'
+            ),
+        'BRACKETS' => array(
+            ),
+        'STRINGS' => array(
+            ),
+        'NUMBERS' => array(
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'STRINGS' => GESHI_NEVER,
+            'BRACKETS' => GESHI_NEVER,
+            'SYMBOLS' => GESHI_NEVER,
+            'NUMBERS' => GESHI_NEVER
+            )
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/vbnet.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/vbnet.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * ---------
  * Author: Alan Juden (alan@judenware.org)
  * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/06/04
  *
  * VB.NET language file for GeSHi.
@@ -37,161 +37,165 @@
  *
  ************************************************************************************/
 
- $language_data = array (
-	'LANG_NAME' => 'vb.net',
-	'COMMENT_SINGLE' => array(1 => "'"),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"'),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		1 => array(
-			'3DDKSHADOW', '3DHIGHLIGHT', '3DLIGHT', 'ABORT', 'ABORTRETRYIGNORE', 'ACTIVEBORDER',
-			'ACTIVETITLEBAR', 'ALIAS', 'APPLICATIONMODAL', 'APPLICATIONWORKSPACE', 'ARCHIVE',
-			'BACK', 'BINARYCOMPARE', 'BLACK', 'BLUE', 'BUTTONFACE', 'BUTTONSHADOW', 'BUTTONTEXT',
-			'CANCEL', 'CDROM', 'CR', 'CRITICAL', 'CRLF', 'CYAN', 'DEFAULT', 'DEFAULTBUTTON1',
-			'DEFAULTBUTTON2', 'DEFAULTBUTTON3', 'DESKTOP', 'DIRECTORY', 'EXCLAMATION', 'FALSE',
-			'FIXED', 'FORAPPENDING', 'FORMFEED', 'FORREADING', 'FORWRITING', 'FROMUNICODE',
-			'GRAYTEXT', 'GREEN', 'HIDDEN', 'HIDE', 'HIGHLIGHT', 'HIGHLIGHTTEXT', 'HIRAGANA',
-			'IGNORE', 'INACTIVEBORDER', 'INACTIVECAPTIONTEXT', 'INACTIVETITLEBAR', 'INFOBACKGROUND',
-			'INFORMATION', 'INFOTEXT', 'KATAKANALF', 'LOWERCASE', 'MAGENTA', 'MAXIMIZEDFOCUS',
-			'MENUBAR', 'MENUTEXT', 'METHOD', 'MINIMIZEDFOCUS', 'MINIMIZEDNOFOCUS', 'MSGBOXRIGHT',
-			'MSGBOXRTLREADING', 'MSGBOXSETFOREGROUND', 'NARROW', 'NEWLINE', 'NO', 'NORMAL',
-			'NORMALFOCUS', 'NORMALNOFOCUS', 'NULLSTRING', 'OBJECTERROR', 'OK', 'OKCANCEL', 'OKONLY',
-			'PROPERCASE', 'QUESTION', 'RAMDISK', 'READONLY', 'RED', 'REMOTE', 'REMOVABLE', 'RETRY',
-			'RETRYCANCEL', 'SCROLLBARS', 'SYSTEMFOLDER', 'SYSTEMMODAL', 'TAB', 'TEMPORARYFOLDER',
-			'TEXTCOMPARE', 'TITLEBARTEXT', 'TRUE', 'UNICODE', 'UNKNOWN', 'UPPERCASE', 'VERTICALTAB',
-			'VOLUME', 'WHITE', 'WIDE', 'WIN16', 'WIN32', 'WINDOWBACKGROUND', 'WINDOWFRAME',
-			'WINDOWSFOLDER', 'WINDOWTEXT', 'YELLOW', 'YES', 'YESNO', 'YESNOCANCEL'
-			),
-		2 => array(
-			'As', 'ADDHANDLER', 'ASSEMBLY', 'AUTO', 'Binary', 'ByRef', 'ByVal', 'BEGINEPILOGUE',
-			'Else', 'Empty', 'Error', 'ENDPROLOGUE', 'EXTERNALSOURCE', 'ENVIRON', 'For',
-			'Friend', 'GET', 'HANDLES', 'Input', 'Is', 'Len', 'Lock', 'Me', 'Mid', 'MUSTINHERIT',
-			'MYBASE', 'MYCLASS', 'New', 'Next', 'Nothing', 'Null', 'NOTINHERITABLE',
-			'NOTOVERRIDABLE', 'OFF', 'On', 'Option', 'Optional', 'OVERRIDABLE', 'ParamArray',
-			'Print', 'Private', 'Property', 'Public', 'Resume', 'Seek', 'Static', 'Step',
-			'String', 'SHELL', 'SENDKEYS', 'SET', 'Then', 'Time', 'To', 'THROW', 'WithEvents'
-			),
-		3 => array(
-			'COLLECTION', 'DEBUG', 'DICTIONARY', 'DRIVE', 'DRIVES', 'ERR', 'FILE', 'FILES',
-			'FILESYSTEMOBJECT', 'FOLDER', 'FOLDERS', 'TEXTSTREAM'
-			),
-		4 => array(
-			'BOOLEAN', 'BYTE', 'DATE', 'DECIMIAL', 'DOUBLE', 'INTEGER', 'LONG', 'OBJECT',
-			'SINGLE STRING'
-			),
-		5 => array(
-			'ADDRESSOF', 'AND', 'BITAND', 'BITNOT', 'BITOR', 'BITXOR',
-			'GETTYPE', 'LIKE', 'MOD', 'NOT', 'ORXOR'
-			),
-		6 => array(
-			'APPACTIVATE', 'BEEP', 'CALL', 'CHDIR', 'CHDRIVE', 'CLASS', 'CASE', 'CATCH',
-			'DECLARE', 'DELEGATE', 'DELETESETTING', 'DIM', 'DO', 'DOEVENTS', 'END', 'ENUM',
-			'EVENT', 'EXIT', 'EACH', 'FUNCTION', 'FINALLY', 'IF', 'IMPORTS', 'INHERITS',
-			'INTERFACE', 'IMPLEMENTS', 'KILL', 'LOOP', 'MIDB', 'NAMESPACE', 'OPEN', 'PUT',
-			'RAISEEVENT', 'RANDOMIZE', 'REDIM', 'REM', 'RESET', 'SAVESETTING', 'SELECT',
-			'SETATTR', 'STOP', 'SUB', 'SYNCLOCK', 'STRUCTURE', 'SHADOWS', 'SWITCH',
-			'TIMEOFDAY', 'TODAY', 'TRY', 'WIDTH', 'WITH', 'WRITE', 'WHILE'
-			),
-		7 => array(
-			'ABS', 'ARRAY', 'ASC', 'ASCB', 'ASCW', 'CALLBYNAME', 'CBOOL', 'CBYTE', 'CCHAR',
-			'CCHR', 'CDATE', 'CDBL', 'CDEC', 'CHOOSE', 'CHR', 'CHR$', 'CHRB', 'CHRB$', 'CHRW',
-			'CINT', 'CLNG', 'CLNG8', 'CLOSE', 'COBJ', 'COMMAND', 'COMMAND$', 'CONVERSION',
-			'COS', 'CREATEOBJECT', 'CSHORT', 'CSTR', 'CURDIR', 'CTYPE', 'CVDATE', 'DATEADD',
-			'DATEDIFF', 'DATEPART', 'DATESERIAL', 'DATEVALUE', 'DAY', 'DDB', 'DIR', 'DIR$',
-			'EOF', 'ERROR$', 'EXP', 'FILEATTR', 'FILECOPY', 'FILEDATATIME', 'FILELEN', 'FILTER',
-			'FIX', 'FORMAT', 'FORMAT$', 'FORMATCURRENCY', 'FORMATDATETIME', 'FORMATNUMBER',
-			'FORMATPERCENT', 'FREEFILE', 'FV', 'GETALLSETTINGS', 'GETATTRGETOBJECT', 'GETSETTING',
-			'HEX', 'HEX$', 'HOUR', 'IIF', 'IMESTATUS', 'INPUT$', 'INPUTB', 'INPUTB$', 'INPUTBOX',
-			'INSTR', 'INSTRB', 'INSTRREV', 'INT', 'IPMT', 'IRR', 'ISARRAY', 'ISDATE', 'ISEMPTY',
-			'ISERROR', 'ISNULL', 'ISNUMERIC', 'ISOBJECT', 'JOIN', 'LBOUND', 'LCASE', 'LCASE$',
-			'LEFT', 'LEFT$', 'LEFTB', 'LEFTB$', 'LENB', 'LINEINPUT', 'LOC', 'LOF', 'LOG', 'LTRIM',
-			'LTRIM$', 'MID$', 'MIDB', 'MIDB$', 'MINUTE', 'MIRR', 'MKDIR', 'MONTH', 'MONTHNAME',
-			'MSGBOX', 'NOW', 'NPER', 'NPV', 'OCT', 'OCT$', 'PARTITION', 'PMT', 'PPMT', 'PV',
-			'RATE', 'REPLACE', 'RIGHT', 'RIGHT$', 'RIGHTB', 'RIGHTB$', 'RMDIR', 'RND', 'RTRIM',
-			'RTRIM$', 'SECOND', 'SIN', 'SLN', 'SPACE', 'SPACE$', 'SPC', 'SPLIT', 'STR', 'STR$',
-			'STRCOMP', 'STRCONV', 'STRING$', 'STRREVERSE', 'SYD', 'TAB', 'TAN', 'TIMEOFDAY',
-			'TIMER', 'TIMESERIAL', 'TIMEVALUE', 'TODAY', 'TRIM', 'TRIM$', 'TYPENAME', 'UBOUND',
-			'UCASE', 'UCASE$', 'VAL', 'WEEKDAY', 'WEEKDAYNAME', 'YEAR'
-			),
-		8 => array(
-			'ANY', 'ATN', 'CALENDAR', 'CIRCLE', 'CURRENCY', 'DEFBOOL', 'DEFBYTE', 'DEFCUR',
-			'DEFDATE', 'DEFDBL', 'DEFDEC', 'DEFINT', 'DEFLNG', 'DEFOBJ', 'DEFSNG', 'DEFSTR',
-			'DEFVAR', 'EQV', 'GOSUB', 'IMP', 'INITIALIZE', 'ISMISSING', 'LET', 'LINE', 'LSET',
-			'RSET', 'SGN', 'SQR', 'TERMINATE', 'VARIANT', 'VARTYPE', 'WEND'
-			),
-		),
-	'SYMBOLS' => array(
-		'&', '&=', '*', '*=', '+', '+=', '-', '-=', '//', '/', '/=', '=', '\\', '\\=',
-		'^', '^='
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		5 => false,
-		6 => false,
-		7 => false,
-		8 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #0600FF;',		//Constants
-			2 => 'color: #FF8000;',		//Keywords
-			3 => 'color: #008000;',		//Data Types
-			4 => 'color: #FF0000;',		//Objects
-			5 => 'color: #804040;',		//Operators
-			6 => 'color: #0600FF;',		//Statements
-			7 => 'color: #0600FF;',		//Functions
-			8 => 'color: #0600FF;'		//Deprecated
-			),
-		'COMMENTS' => array(
-			1 => 'color: #008080; font-style: italic;',
-			'MULTI' => 'color: #008080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #008080; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #000000;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #808080;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #FF0000;'
-			),
-		'METHODS' => array(
-			1 => 'color: #0000FF;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #008000;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => 'http://www.google.com/search?q={FNAME}+msdn.microsoft.com',
-		4 => ''
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 =>'.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+$language_data = array (
+    'LANG_NAME' => 'vb.net',
+    'COMMENT_SINGLE' => array(1 => "'"),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            '3DDKSHADOW', '3DHIGHLIGHT', '3DLIGHT', 'ABORT', 'ABORTRETRYIGNORE', 'ACTIVEBORDER',
+            'ACTIVETITLEBAR', 'ALIAS', 'APPLICATIONMODAL', 'APPLICATIONWORKSPACE', 'ARCHIVE',
+            'BACK', 'BINARYCOMPARE', 'BLACK', 'BLUE', 'BUTTONFACE', 'BUTTONSHADOW', 'BUTTONTEXT',
+            'CANCEL', 'CDROM', 'CR', 'CRITICAL', 'CRLF', 'CYAN', 'DEFAULT', 'DEFAULTBUTTON1',
+            'DEFAULTBUTTON2', 'DEFAULTBUTTON3', 'DESKTOP', 'DIRECTORY', 'EXCLAMATION', 'FALSE',
+            'FIXED', 'FORAPPENDING', 'FORMFEED', 'FORREADING', 'FORWRITING', 'FROMUNICODE',
+            'GRAYTEXT', 'GREEN', 'HIDDEN', 'HIDE', 'HIGHLIGHT', 'HIGHLIGHTTEXT', 'HIRAGANA',
+            'IGNORE', 'INACTIVEBORDER', 'INACTIVECAPTIONTEXT', 'INACTIVETITLEBAR', 'INFOBACKGROUND',
+            'INFORMATION', 'INFOTEXT', 'KATAKANALF', 'LOWERCASE', 'MAGENTA', 'MAXIMIZEDFOCUS',
+            'MENUBAR', 'MENUTEXT', 'METHOD', 'MINIMIZEDFOCUS', 'MINIMIZEDNOFOCUS', 'MSGBOXRIGHT',
+            'MSGBOXRTLREADING', 'MSGBOXSETFOREGROUND', 'NARROW', 'NEWLINE', 'NO', 'NORMAL',
+            'NORMALFOCUS', 'NORMALNOFOCUS', 'NULLSTRING', 'OBJECTERROR', 'OK', 'OKCANCEL', 'OKONLY',
+            'PROPERCASE', 'QUESTION', 'RAMDISK', 'READONLY', 'RED', 'REMOTE', 'REMOVABLE', 'RETRY',
+            'RETRYCANCEL', 'SCROLLBARS', 'SYSTEMFOLDER', 'SYSTEMMODAL', 'TEMPORARYFOLDER',
+            'TEXTCOMPARE', 'TITLEBARTEXT', 'TRUE', 'UNICODE', 'UNKNOWN', 'UPPERCASE', 'VERTICALTAB',
+            'VOLUME', 'WHITE', 'WIDE', 'WIN16', 'WIN32', 'WINDOWBACKGROUND', 'WINDOWFRAME',
+            'WINDOWSFOLDER', 'WINDOWTEXT', 'YELLOW', 'YES', 'YESNO', 'YESNOCANCEL'
+            ),
+        2 => array(
+            'AndAlso', 'As', 'ADDHANDLER', 'ASSEMBLY', 'AUTO', 'Binary', 'ByRef', 'ByVal', 'BEGINEPILOGUE',
+            'Else', 'ElseIf', 'Empty', 'Error', 'ENDPROLOGUE', 'EXTERNALSOURCE', 'ENVIRON', 'For',
+            'Friend', 'GET', 'HANDLES', 'Input', 'Is', 'IsNot', 'Len', 'Lock', 'Me', 'Mid', 'MUSTINHERIT', 'MustOverride',
+            'MYBASE', 'MYCLASS', 'New', 'Next', 'Nothing', 'Null', 'NOTINHERITABLE',
+            'NOTOVERRIDABLE', 'OFF', 'On', 'Option', 'Optional', 'Overloads', 'OVERRIDABLE', 'Overrides', 'ParamArray',
+            'Print', 'Private', 'Property', 'Public', 'Resume', 'Return', 'Seek', 'Static', 'Step',
+            'String', 'SHELL', 'SENDKEYS', 'SET', 'Shared', 'Then', 'Time', 'To', 'THROW', 'WithEvents'
+            ),
+        3 => array(
+            'COLLECTION', 'DEBUG', 'DICTIONARY', 'DRIVE', 'DRIVES', 'ERR', 'FILE', 'FILES',
+            'FILESYSTEMOBJECT', 'FOLDER', 'FOLDERS', 'TEXTSTREAM'
+            ),
+        4 => array(
+            'BOOLEAN', 'BYTE', 'DATE', 'DECIMIAL', 'DOUBLE', 'INTEGER', 'LONG', 'OBJECT',
+            'SINGLE STRING'
+            ),
+        5 => array(
+            'ADDRESSOF', 'AND', 'BITAND', 'BITNOT', 'BITOR', 'BITXOR',
+            'GETTYPE', 'LIKE', 'MOD', 'NOT', 'ORXOR'
+            ),
+        6 => array(
+            'APPACTIVATE', 'BEEP', 'CALL', 'CHDIR', 'CHDRIVE', 'CLASS', 'CASE', 'CATCH', 'CONST',
+            'DECLARE', 'DELEGATE', 'DELETESETTING', 'DIM', 'DO', 'DOEVENTS', 'END', 'ENUM',
+            'EVENT', 'EXIT', 'EACH', 'FUNCTION', 'FINALLY', 'IF', 'IMPORTS', 'INHERITS',
+            'INTERFACE', 'IMPLEMENTS', 'KILL', 'LOOP', 'NAMESPACE', 'OPEN', 'PUT',
+            'RAISEEVENT', 'RANDOMIZE', 'REDIM', 'REM', 'RESET', 'SAVESETTING', 'SELECT',
+            'SETATTR', 'STOP', 'SUB', 'SYNCLOCK', 'STRUCTURE', 'SHADOWS', 'SWITCH',
+            'TRY', 'WIDTH', 'WITH', 'WRITE', 'WHILE'
+            ),
+        7 => array(
+            'ABS', 'ARRAY', 'ASC', 'ASCB', 'ASCW', 'CALLBYNAME', 'CBOOL', 'CBYTE', 'CCHAR',
+            'CCHR', 'CDATE', 'CDBL', 'CDEC', 'CHOOSE', 'CHR', 'CHR$', 'CHRB', 'CHRB$', 'CHRW',
+            'CINT', 'CLNG', 'CLNG8', 'CLOSE', 'COBJ', 'COMMAND', 'COMMAND$', 'CONVERSION',
+            'COS', 'CREATEOBJECT', 'CSHORT', 'CSTR', 'CURDIR', 'CTYPE', 'CVDATE', 'DATEADD',
+            'DATEDIFF', 'DATEPART', 'DATESERIAL', 'DATEVALUE', 'DAY', 'DDB', 'DIR', 'DIR$',
+            'EOF', 'ERROR$', 'EXP', 'FILEATTR', 'FILECOPY', 'FILEDATATIME', 'FILELEN', 'FILTER',
+            'FIX', 'FORMAT', 'FORMAT$', 'FORMATCURRENCY', 'FORMATDATETIME', 'FORMATNUMBER',
+            'FORMATPERCENT', 'FREEFILE', 'FV', 'GETALLSETTINGS', 'GETATTRGETOBJECT', 'GETSETTING',
+            'HEX', 'HEX$', 'HOUR', 'IIF', 'IMESTATUS', 'INPUT$', 'INPUTB', 'INPUTB$', 'INPUTBOX',
+            'INSTR', 'INSTRB', 'INSTRREV', 'INT', 'IPMT', 'IRR', 'ISARRAY', 'ISDATE', 'ISEMPTY',
+            'ISERROR', 'ISNULL', 'ISNUMERIC', 'ISOBJECT', 'JOIN', 'LBOUND', 'LCASE', 'LCASE$',
+            'LEFT', 'LEFT$', 'LEFTB', 'LEFTB$', 'LENB', 'LINEINPUT', 'LOC', 'LOF', 'LOG', 'LTRIM',
+            'LTRIM$', 'MID$', 'MIDB', 'MIDB$', 'MINUTE', 'MIRR', 'MKDIR', 'MONTH', 'MONTHNAME',
+            'MSGBOX', 'NOW', 'NPER', 'NPV', 'OCT', 'OCT$', 'PARTITION', 'PMT', 'PPMT', 'PV',
+            'RATE', 'REPLACE', 'RIGHT', 'RIGHT$', 'RIGHTB', 'RIGHTB$', 'RMDIR', 'RND', 'RTRIM',
+            'RTRIM$', 'SECOND', 'SIN', 'SLN', 'SPACE', 'SPACE$', 'SPC', 'SPLIT', 'SQRT', 'STR', 'STR$',
+            'STRCOMP', 'STRCONV', 'STRING$', 'STRREVERSE', 'SYD', 'TAB', 'TAN', 'TIMEOFDAY',
+            'TIMER', 'TIMESERIAL', 'TIMEVALUE', 'TODAY', 'TRIM', 'TRIM$', 'TYPENAME', 'UBOUND',
+            'UCASE', 'UCASE$', 'VAL', 'WEEKDAY', 'WEEKDAYNAME', 'YEAR'
+            ),
+        8 => array(
+            'ANY', 'ATN', 'CALENDAR', 'CIRCLE', 'CURRENCY', 'DEFBOOL', 'DEFBYTE', 'DEFCUR',
+            'DEFDATE', 'DEFDBL', 'DEFDEC', 'DEFINT', 'DEFLNG', 'DEFOBJ', 'DEFSNG', 'DEFSTR',
+            'DEFVAR', 'EQV', 'GOSUB', 'IMP', 'INITIALIZE', 'ISMISSING', 'LET', 'LINE', 'LSET',
+            'RSET', 'SGN', 'SQR', 'TERMINATE', 'VARIANT', 'VARTYPE', 'WEND'
+            ),
+        ),
+    'SYMBOLS' => array(
+        '&', '&=', '*', '*=', '+', '+=', '-', '-=', '//', '/', '/=', '=', '\\', '\\=',
+        '^', '^='
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false,
+        6 => false,
+        7 => false,
+        8 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0600FF;',        //Constants
+            2 => 'color: #FF8000;',        //Keywords
+            3 => 'color: #008000;',        //Data Types
+            4 => 'color: #FF0000;',        //Objects
+            5 => 'color: #804040;',        //Operators
+            6 => 'color: #0600FF;',        //Statements
+            7 => 'color: #0600FF;',        //Functions
+            8 => 'color: #0600FF;'        //Deprecated
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008080; font-style: italic;',
+            'MULTI' => 'color: #008080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #008080; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #808080;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #FF0000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #0000FF;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #008000;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => 'http://www.google.com/search?q={FNAMEU}+site:msdn.microsoft.com',
+        4 => '',
+        5 => '',
+        6 => '',
+        7 => '',
+        8 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 =>'.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/verilog.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,173 @@
+<?php
+/**
+ * verilog.php
+ * -----------
+ * Author: G�nter Dannoritzer <dannoritzer@web.de>
+ * Copyright: (C) 2008 Guenter Dannoritzer
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/05/28
+ *
+ * Verilog language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/05/29
+ *   -  added regular expression to find numbers of the form 4'b001xz
+ *   -  added regular expression to find values for `timescale command
+ *   -  extended macro keywords
+ *
+ * TODO (updated 2008/05/29)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Verilog',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'COMMENT_REGEXP' => array(1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        // keywords
+        1 => array('always', 'and', 'assign', 'begin', 'buf', 'bufif0', 'bufif1', 'case',
+            'casex', 'casez', 'cmos', 'deassign', 'default', 'defparam',
+            'disable', 'edge', 'else', 'end', 'endcase', 'endfunction',
+            'endmodule', 'endprimitive', 'endspecify', 'endtable', 'endtask',
+            'event', 'for', 'force', 'forever', 'function', 'highz0',
+            'highz1', 'if', 'ifnone', 'initial', 'inout', 'input', 'integer',
+            'join', 'large', 'macromodule', 'medium', 'module', 'nand',
+            'negedge', 'nmos', 'nor', 'not', 'notif0', 'notif1', 'or',
+            'output', 'parameter', 'pmos', 'posedge', 'primitive', 'pull0',
+            'pull1', 'pulldown', 'pullup', 'rcmos', 'real', 'realtime', 'reg',
+            'release', 'repeat', 'rnmos', 'rpmos', 'rtran', 'rtranif0',
+            'rtranif1', 'scalared', 'small', 'specify', 'specparam',
+            'strong0', 'strong1', 'supply0', 'supply1', 'table', 'task',
+            'time', 'tran', 'tranif0', 'tranif1', 'tri', 'tri0', 'tri1',
+            'triand', 'trior', 'trireg', 'vectored', 'wait', 'wand', 'weak0',
+            'weak1', 'while', 'wire', 'wor', 'xnor', 'xor'
+            ),
+        // system tasks
+        2 => array(
+            '$display', '$monitor',
+            '$dumpall', '$dumpfile', '$dumpflush', '$dumplimit', '$dumpoff',
+            '$dumpon', '$dumpvars',
+            '$fclose', '$fdisplay', '$fopen',
+            '$finish', '$fmonitor', '$fstrobe', '$fwrite',
+            '$fgetc', '$ungetc', '$fgets', '$fscanf', '$fread', '$ftell',
+            '$fseek', '$frewind', '$ferror', '$fflush', '$feof',
+            '$random',
+            '$readmemb', '$readmemh', '$readmemx',
+            '$signed', '$stime', '$stop',
+            '$strobe', '$time', '$unsigned', '$write'
+            ),
+        // macros
+        3 => array(
+            '`default-net', '`define',
+            '`celldefine', '`default_nettype', '`else', '`elsif', '`endcelldefine',
+            '`endif', '`ifdef', '`ifndef', '`include', '`line', '`nounconnected_drive',
+            '`resetall', '`timescale', '`unconnected_drive', '`undef'
+            ),
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%',
+        '^', '&', '|', '~',
+        '?', ':',
+        '#', '<<', '<<<',
+        '>', '<', '>=', '<=',
+        '@', ';', ','
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #A52A2A; font-weight: bold;',
+            2 => 'color: #9932CC;',
+            3 => 'color: #008800;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #00008B; font-style: italic;',
+            'MULTI' => 'color: #00008B; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #9F79EE'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #9F79EE;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #FF00FF;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #ff0055;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #202020;',
+            2 => 'color: #202020;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #5D478B;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #ff0055;',
+            1 => 'color: #ff0055;',
+            ),
+        'SCRIPT' => array(
+            0 => '',
+            1 => '',
+            2 => '',
+            3 => ''
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        1 => ''
+        ),
+    'REGEXPS' => array(
+        // numbers
+        0 => "\d'[bdh][0-9_a-fA-FxXzZ]+",
+        // time -> 1, 10, or 100; s, ms, us, ns, ps, of fs
+        1 => "1[0]{0,2}[munpf]?s"
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        1 => ''
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true,
+        1 => true,
+        2 => true,
+        3 => true
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- a/plugins/geshi/geshi/vhdl.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/vhdl.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,16 @@
  * --------
  * Author: Alexander 'E-Razor' Krause (admin@erazor-zone.de)
  * Copyright: (c) 2005 Alexander Krause
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2005/06/15
- * 
+ *
  * VHDL (VHSICADL, very high speed integrated circuit HDL) language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *  -  Added description of extra language features (SF#1970248)
+ *  -  Optimized regexp group 0 somewhat
  * 2006/06/15 (1.0.0)
  *  -  First Release
  *
@@ -36,18 +39,18 @@
  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  ************************************************************************************/
- 
+
 $language_data = array (
     'LANG_NAME' => 'VHDL',
     'COMMENT_SINGLE' => array(1 => '--'),
-    'COMMENT_MULTI' => array(),
+    'COMMENT_MULTI' => array('%' => '%'),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array('"'),
     'ESCAPE_CHAR' => '',
     'KEYWORDS' => array(
         /*keywords*/
         1 => array(
-            'access','after','alias','all','assert','architecture','begin',
+            'access','after','alias','all','assert','attribute','architecture','begin',
             'block','body','buffer','bus','case','component','configuration','constant',
             'disconnect','downto','else','elsif','end','entity','exit','file','for',
             'function','generate','generic','group','guarded','if','impure','in',
@@ -57,7 +60,8 @@
             'reject','report','return','select','severity','signal','shared','subtype',
             'then','to','transport','type','unaffected','units','until','use','variable',
             'wait','when','while','with','note','warning','error','failure','and',
-            'or','xor','not','nor'
+            'or','xor','not','nor','used','memory','segments','dff','dffe','help_id',
+            'mod','info','latch','rising_edge','falling_edge'
         ),
         /*types*/
         2 => array(
@@ -65,34 +69,37 @@
             'severity_level','positive','natural','signed','unsigned','line','text',
             'std_logic','std_logic_vector','std_ulogic','std_ulogic_vector','qsim_state',
             'qsim_state_vector','qsim_12state','qsim_12state_vector','qsim_strength',
-            'mux_bit','mux_vector','reg_bit','reg_vector','wor_bit','wor_vector'
+            'mux_bit','mux_vector','reg_bit','reg_vector','wor_bit','wor_vector',
+            'work','ieee','std_logic_signed','std_logic_1164','std_logic_arith',
+            'numeric_std'
+
         ),
         /*operators*/
-        3 => array(
-                '=','<=',':=','=>','=='
-        )
     ),
     'SYMBOLS' => array(
-        '[', ']', '(', ')',';','<','>',':'
+        '[', ']', '(', ')',
+        ';',':',
+        '<','>','=','<=',':=','=>','=='
     ),
     'CASE_SENSITIVE' => array(
-        GESHI_COMMENTS => true,
+        GESHI_COMMENTS => false,
         1 => false,
         2 => false
         ),
     'STYLES' => array(
         'KEYWORDS' => array(
-            1 => 'color: #000000; font-weight: bold;',
-            2 => 'color: #aa0000;'
+            1 => 'color: #000080; font-weight: bold;',
+            2 => 'color: #0000ff;'
             ),
         'COMMENTS' => array(
-            1 => 'color: #adadad; font-style: italic;'
+            1 => 'color: #008000; font-style: italic;',
+            'MULTI' => 'color: #008000; font-style: italic;'
             ),
         'ESCAPE_CHAR' => array(
             0 => 'color: #000099; font-weight: bold;'
             ),
         'BRACKETS' => array(
-            0 => 'color: #66cc66;'
+            0 => 'color: #000066;'
             ),
         'STRINGS' => array(
             0 => 'color: #7f007f;'
@@ -103,13 +110,11 @@
         'METHODS' => array(
             ),
         'SYMBOLS' => array(
-            0 => 'color: #66cc66;'
+            0 => 'color: #000066;'
             ),
         'REGEXPS' => array(
             0 => 'color: #ff0000;',
-            1 => 'color: #ff0000;',
-            2 => 'color: #ff0000;',
-            3 => 'color: #ff0000;'
+            1 => 'color: #ff0000;'
             ),
         'SCRIPT' => array(
             )
@@ -122,11 +127,12 @@
     'OBJECT_SPLITTERS' => array(
         ),
     'REGEXPS' => array(
-        0 => '(\b(0x)[0-9a-fA-F]{2,}[hH]?|\b(0x)?[0-9a-fA-F]{2,}[hH])|'.
-        '(\b[0-9]{1,}((\.){1}[0-9]{1,}){0,1}(E)[\-]{0,1}[0-9]{1,})|'.
-         '(\b(ns))|'.
-         "('[0-9a-zA-Z]+)",
-         1 => "\b(''[0-9]'')"
+        //Hex numbers and scientific notation for numbers
+        0 => '(\b0x[0-9a-fA-F]+|\b\d[0-9a-fA-F]+[hH])|'.
+            '(\b\d+?(\.\d+?)?E[+\-]?\d+)|(\bns)|'.
+            "('[0-9a-zA-Z]+(?!'))",
+        //Number characters?
+        1 => "\b(''\d'')"
         ),
     'STRICT_MODE_APPLIES' => GESHI_NEVER,
     'SCRIPT_DELIMITERS' => array(
@@ -134,5 +140,5 @@
     'HIGHLIGHT_STRICT_BLOCK' => array(
         )
 );
- 
+
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/vim.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,185 @@
+<?php
+
+/*************************************************************************************
+ * vim.php
+ * ----------------
+ * Author: Swaroop C H (swaroop@swaroopch.com)
+ * Copyright: (c) 2008 Swaroop C H (http://www.swaroopch.com)
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/10/19
+ *
+ * Vim scripting language file for GeSHi.
+ *
+ * Reference: http://qbnz.com/highlighter/geshi-doc.html#language-files
+ * All keywords scraped from `:help expression-commands`.
+ * All method names scraped from `:help function-list`.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/19 (1.0.8.2)
+ * - Started.
+ *
+ * TODO (updated 2008/10/19)
+ * -------------------------
+ * - Fill out list of zillion commands
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array(
+    'LANG_NAME' => 'Vim Script',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_REGEXP' => array(
+        1 => "/^\".*$/m"
+        ),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'brea', 'break', 'call', 'cat', 'catc',
+            'catch', 'con', 'cont', 'conti',
+            'contin', 'continu', 'continue', 'ec', 'echo',
+            'echoe', 'echoer', 'echoerr', 'echoh',
+            'echohl', 'echom', 'echoms', 'echomsg', 'echon',
+            'el', 'els', 'else', 'elsei', 'elseif',
+            'en', 'end', 'endi', 'endif', 'endfo',
+            'endfor', 'endt', 'endtr', 'endtry', 'endw',
+            'endwh', 'endwhi', 'endwhil', 'endwhile', 'exe', 'exec', 'execu',
+            'execut', 'execute', 'fina', 'final', 'finall', 'finally', 'for',
+            'fun', 'func', 'funct', 'functi', 'functio', 'function', 'if', 'in',
+            'let', 'lockv', 'lockva', 'lockvar', 'retu', 'retur', 'return', 'th',
+            'thr', 'thro', 'throw', 'try', 'unl', 'unle', 'unlet', 'unlo', 'unloc',
+            'unlock', 'unlockv', 'unlockva', 'unlockvar', 'wh', 'whi', 'whil',
+            'while'
+            ),
+        2 => array(
+            'autocmd', 'com', 'comm', 'comma', 'comman', 'command', 'comc',
+            'comcl', 'comcle', 'comclea', 'comclear', 'delc', 'delco',
+            'delcom', 'delcomm', 'delcomma', 'delcomman', 'delcommand',
+            '-nargs' # TODO There are zillions of commands to be added here from http://vimdoc.sourceforge.net/htmldoc/usr_toc.html
+            ),
+        3 => array(
+            'abs', 'add', 'append', 'argc', 'argidx', 'argv', 'atan',
+            'browse', 'browsedir', 'bufexists', 'buflisted', 'bufloaded',
+            'bufname', 'bufnr', 'bufwinnr', 'byte2line', 'byteidx',
+            'ceil', 'changenr', 'char2nr', 'cindent', 'clearmatches',
+            'col', 'complete', 'complete_add', 'complete_check', 'confirm',
+            'copy', 'cos', 'count', 'cscope_connection', 'cursor',
+            'deepcopy', 'delete', 'did_filetype', 'diff_filler',
+            'diff_hlID', 'empty', 'escape', 'eval', 'eventhandler',
+            'executable', 'exists', 'extend', 'expand', 'feedkeys',
+            'filereadable', 'filewritable', 'filter', 'finddir',
+            'findfile', 'float2nr', 'floor', 'fnameescape', 'fnamemodify',
+            'foldclosed', 'foldclosedend', 'foldlevel', 'foldtext',
+            'foldtextresult', 'foreground', 'garbagecollect',
+            'get', 'getbufline', 'getbufvar', 'getchar', 'getcharmod',
+            'getcmdline', 'getcmdpos', 'getcmdtype', 'getcwd', 'getfperm',
+            'getfsize', 'getfontname', 'getftime', 'getftype', 'getline',
+            'getloclist', 'getmatches', 'getpid', 'getpos', 'getqflist',
+            'getreg', 'getregtype', 'gettabwinvar', 'getwinposx',
+            'getwinposy', 'getwinvar', 'glob', 'globpath', 'has',
+            'has_key', 'haslocaldir', 'hasmapto', 'histadd', 'histdel',
+            'histget', 'histnr', 'hlexists', 'hlID', 'hostname', 'iconv',
+            'indent', 'index', 'input', 'inputdialog', 'inputlist',
+            'inputrestore', 'inputsave', 'inputsecret', 'insert',
+            'isdirectory', 'islocked', 'items', 'join', 'keys', 'len',
+            'libcall', 'libcallnr', 'line', 'line2byte', 'lispindent',
+            'localtime', 'log10', 'map', 'maparg', 'mapcheck', 'match',
+            'matchadd', 'matcharg', 'matchdelete', 'matchend', 'matchlist',
+            'matchstr', 'max', 'min', 'mkdir', 'mode', 'nextnonblank',
+            'nr2char', 'pathshorten', 'pow', 'prevnonblank', 'printf',
+            'pumvisible', 'range', 'readfile', 'reltime', 'reltimestr',
+            'remote_expr', 'remote_foreground', 'remote_peek',
+            'remote_read', 'remote_send', 'remove', 'rename', 'repeat',
+            'resolve', 'reverse', 'round', 'search', 'searchdecl',
+            'searchpair', 'searchpairpos', 'searchpos', 'server2client',
+            'serverlist', 'setbufvar', 'setcmdpos', 'setline',
+            'setloclist', 'setmatches', 'setpos', 'setqflist', 'setreg',
+            'settabwinvar', 'setwinvar', 'shellescape', 'simplify', 'sin',
+            'sort', 'soundfold', 'spellbadword', 'spellsuggest', 'split',
+            'sqrt', 'str2float', 'str2nr', 'strftime', 'stridx', 'string',
+            'strlen', 'strpart', 'strridx', 'strtrans', 'submatch',
+            'substitute', 'synID', 'synIDattr', 'synIDtrans', 'synstack',
+            'system', 'tabpagebuflist', 'tabpagenr', 'tabpagewinnr',
+            'taglist', 'tagfiles', 'tempname', 'tolower', 'toupper', 'tr',
+            'trunc', 'type', 'values', 'virtcol', 'visualmode', 'winbufnr',
+            'wincol', 'winheight', 'winline', 'winnr', 'winrestcmd',
+            'winrestview', 'winsaveview', 'winwidth', 'writefile'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}', '!', '%', '&', '*', '|', '/', '<', '>',
+        '^', '-', '+', '~', '?', ':', '$', '@', '.'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true
+        ),
+    'STYLES' => array(
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #adadad; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => ''
+            ),
+        'KEYWORDS' => array(
+            1 => 'color: #804040;',
+            2 => 'color: #668080;',
+            3 => 'color: #25BB4D;'
+            ),
+        'METHODS' => array(
+            0 => 'color: #000000;',
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #000000; font-weight:bold;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            ),
+        'STRINGS' => array(
+            0 => 'color: #C5A22D;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000000;'
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => false, //Save some time as OO identifiers aren't used
+    'OBJECT_SPLITTERS' => array(),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array()
+);
+
+?>
--- a/plugins/geshi/geshi/visualfoxpro.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/visualfoxpro.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * ----------------
  * Author: Roberto Armellin (r.armellin@tin.it)
  * Copyright: (c) 2004 Roberto Armellin, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/09/17
  *
  * Visual FoxPro language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *  -  Removed tab as a symbol char
  * 2004/11/27 (1.0.1)
  *  -  Added support for multiple object splitters
  * 2004/10/27 (1.0.0)
@@ -40,403 +42,415 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'Visual Fox Pro',
-	'COMMENT_SINGLE' => array(1 => "//", 2 => "\n*"),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array('"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array('Case', 'Else', '#Else', 'Then',
-			'Endcase', 'Enddefine', 'Enddo', 'Endfor', 'Endfunc', 'Endif', 'Endprintjob',
-			'Endproc', 'Endscan', 'Endtext', 'Endwith', '#Endif',
-			'#Elif','#Else','#Endif','#Define','#If','#Include',
-			'#Itsexpression','#Readclauses','#Region','#Section','#Undef','#Wname',
-			'Case','Define','Do','Else','Endcase','Enddefine',
-			'Enddo','Endfor','Endfunc','Endif','Endprintjob','Endproc',
-			'Endscan','Endtext','Endwith','For','Function','Hidden',
-			'If','Local','Lparameter','Lparameters','Next','Otherwise',
-			'Parameters','Printjob','Procedure','Protected','Public','Scan',
-			'Text','Then','While','With','?','??',
-			'???','Abs','Accept','Access','Aclass','Acopy',
-			'Acos','Adatabases','Adbobjects','Addbs','Addrelationtoenv','Addtabletoenv',
-			'Adel','Adir','Aelement','Aerror','Afields','Afont',
-			'Agetclass','Agetfileversion','Ains','Ainstance','Alen','Align',
-			'Alines','Alltrim','Alter','Amembers','Amouseobj','Anetresources',
-			'Ansitooem','Append','Aprinters','Ascan','Aselobj','Asin',
-			'Asort','Assert','Asserts','Assist','Asubscript','Asynchronous',
-			'At_c','Atan','Atc','Atcc','Atcline','Atline',
-			'Atn2','Aused','Autoform','Autoreport','Avcxclasses','Average',
-			'BarCount','BarPrompt','BatchMode','BatchUpdateCount','Begin','BellSound',
-			'BinToC','Bintoc','Bitand','Bitclear','Bitlshift','Bitnot',
-			'Bitor','Bitrshift','Bitset','Bittest','Bitxor','Bof',
-			'Browse','BrowseRefresh','Buffering','BuilderLock','COMArray','COMReturnError',
-			'CToBin','Calculate','Call','Capslock','Cd','Cdow',
-			'Ceiling','Central','Change','Char','Chdir','Chr',
-			'Chrsaw','Chrtran','Chrtranc','Close','Cmonth','Cntbar',
-			'Cntpad','Col','Comclassinfo','CommandTargetQuery','Compile','Completed',
-			'Compobj','Compute','Concat','ConnectBusy','ConnectHandle','ConnectName',
-			'ConnectString','ConnectTimeOut','ContainerReleaseType','Continue','Copy','Cos',
-			'Cot','Count','Coverage','Cpconvert','Cpcurrent','Cpdbf',
-			'Cpnotrans','Create','CreateBinary','Createobject','Createobjectex','Createoffline',
-			'CrsBuffering','CrsFetchMemo','CrsFetchSize','CrsMaxRows','CrsMethodUsed','CrsNumBatch',
-			'CrsShareConnection','CrsUseMemoSize','CrsWhereClause','Ctobin','Ctod','Ctot',
-			'Curdate','Curdir','CurrLeft','CurrSymbol','CursorGetProp','CursorSetProp',
-			'Curtime','Curval','DBGetProp','DBSetProp','DB_BufLockRow','DB_BufLockTable',
-			'DB_BufOff','DB_BufOptRow','DB_BufOptTable','DB_Complette','DB_DeleteInsert','DB_KeyAndModified',
-			'DB_KeyAndTimestamp','DB_KeyAndUpdatable','DB_LocalSQL','DB_NoPrompt','DB_Prompt','DB_RemoteSQL',
-			'DB_TransAuto','DB_TransManual','DB_TransNone','DB_Update','Datetime','Day',
-			'Dayname','Dayofmonth','Dayofweek','Dayofyear','Dbalias','Dbused',
-			'Ddeaborttrans','Ddeadvise','Ddeenabled','Ddeexecute','Ddeinitiate','Ddelasterror',
-			'Ddepoke','Dderequest','Ddesetoption','Ddesetservice','Ddesettopic','Ddeterminate',
-			'Debugout','Declare','DefOLELCid','DefaultValue','Defaultext','Degrees',
-			'DeleteTrigger','Desc','Description','Difference','Dimension','Dir',
-			'Directory','Diskspace','DispLogin','DispWarnings','Display','Dll',
-			'Dmy','DoDefault','DoEvents','Doc','Doevents','Dow',
-			'Drivetype','Drop','Dropoffline','Dtoc','Dtor','Dtos',
-			'Dtot','DynamicInputMask','Each','Edit','Eject','Elif',
-			'End','Eof','Erase','Evaluate','Event','Eventtracking',
-			'Exclude','Exclusive','Exit','Exp','Export','External',
-			'FDate','FTime','Fchsize','Fclose','Fcount','Fcreate',
-			'Feof','Ferror','FetchMemo','FetchSize','Fflush','Fgets',
-			'Filer','Filetostr','Find','Fklabel','Fkmax','Fldlist',
-			'Flock','Floor','Flush','Fontmetric','Fopen','Forceext',
-			'Forcepath','FormSetClass','FormSetLib','FormsClass','FormsLib','Found',
-			'FoxPro','Foxcode','Foxdoc','Foxgen','Foxgraph','Foxview',
-			'Fputs','Fread','French','Fseek','Fsize','Fv',
-			'Fwrite','Gather','German','GetPem','Getbar','Getcolor',
-			'Getcp','Getdir','Getenv','Getexpr','Getfile','Getfldstate',
-			'Getfont','Gethost','Getnextmodified','Getobject','Getpad','Getpict',
-			'Getprinter','Go','Gomonth','Goto','Graph','GridHorz',
-			'GridShow','GridShowPos','GridSnap','GridVert','Help','HelpOn',
-			'HelpTo','HighLightRow','Home','Hour','IMEStatus','IdleTimeOut',
-			'Idxcollate','Ifdef','Ifndef','Iif','Import','Include',
-			'Indbc','Index','Indexseek','Inkey','Inlist','Input',
-			'Insert','InsertTrigger','Insmode','IsBlank','IsFLocked','IsLeadByte',
-			'IsMouse','IsNull','IsRLocked','Isalpha','Iscolor','Isdigit',
-			'Isexclusive','Isflocked','Ishosted','Islower','Isreadonly','Isrlocked',
-			'Isupper','Italian','Japan','Join','Justdrive','Justext',
-			'Justfname','Justpath','Juststem','KeyField','KeyFieldList','Keyboard'
-			),
-		2 => array('Keymatch','LastProject','Lastkey','Lcase','Leftc','Len',
-			'Lenc','Length','Likec','Lineno','LoadPicture','Loadpicture',
-			'Locate','Locfile','Log','Log10','Logout','Lookup',
-			'Loop','Lower','Ltrim','Lupdate','Mail','MaxRecords',
-			'Mcol','Md','Mdown','Mdx','Mdy','Memlines',
-			'Menu','Messagebox','Minute','Mkdir','Mline','Modify',
-			'Month','Monthname','Mouse','Mrkbar','Mrkpad','Mrow',
-			'Mtdll','Mton','Mwindow','Native','Ndx','Network',
-			'NoFilter','Nodefault','Normalize','Note','Now','Ntom',
-			'NullString','Numlock','Nvl','ODBChdbc','ODBChstmt','OLEDropTextInsertion',
-			'OLELCid','Objnum','Objref','Objtoclient','Objvar','Occurs',
-			'Oemtoansi','Oldval','OlePublic','Olereturnerror','On','Open',
-			'Oracle','Order','Os','Outer','PCount','Pack',
-			'PacketSize','Padc','Padl','Padr','Payment','Pcol',
-			'PemStatus','Pi','Pivot','Play','Pop','Popup',
-			'Power','PrimaryKey','Printstatus','Private','Prmbar','Prmpad',
-			'ProjectClick','Proper','Prow','Prtinfo','Push','Putfile',
-			'Pv','Qpr','Quater','QueryTimeOut','Quit','Radians',
-			'Rand','Rat','Ratc','Ratline','Rd','Rdlevel',
-			'Read','Readkey','Recall','Reccount','RecentlyUsedFiles','Recno',
-			'Recsize','Regional','Reindex','RelatedChild','RelatedTable','RelatedTag',
-			'Remove','Rename','Repeat','Replace','Replicate','Report',
-			'ResHeight','ResWidth','ResourceOn','ResourceTo','Resources','Restore',
-			'Resume','Retry','Return','Revertoffline','Rgbscheme','Rightc',
-			'Rlock','Rmdir','Rollback','Round','Rtod','Rtrim',
-			'RuleExpression','RuleText','Run','Runscript','Rview','SQLAsynchronous',
-			'SQLBatchMode','SQLCancel','SQLColumns','SQLConnect','SQLConnectTimeOut','SQLDisconnect',
-			'SQLDispLogin','SQLDispWarnings','SQLExec','SQLGetProp','SQLIdleTimeOut','SQLMoreResults',
-			'SQLPrepare','SQLQueryTimeOut','SQLSetProp','SQLTables','SQLTransactions','SQLWaitTime',
-			'Save','SavePicture','Savepicture','ScaleUnits','Scatter','Scols',
-			'Scroll','Sec','Second','Seek','Select','SendUpdates',
-			'Set','SetDefault','Setfldstate','Setup','ShareConnection','ShowOLEControls',
-			'ShowOLEInsertable','ShowVCXs','Sign','Sin','Size','SizeBox',
-			'Skpbar','Skppad','Sort','Soundex','SourceName','Sqlcommit',
-			'Sqll','Sqlrollback','Sqlstringconnect','Sqrt','Srows','StatusBar',
-			'Store','Str','Strconv','Strtofile','Strtran','Stuff',
-			'Stuffc','Substr','Substrc','Substring','Sum','Suspend',
-			'Sys','Sysmetric','TabOrdering','Table','TableRefresh','Tablerevert',
-			'Tableupdate','TagCount','TagNo','Tan','Target','This',
-			'Thisform','Thisformset','Timestamp','Timestampdiff','Total','Transactions',
-			'Transform','Trim','Truncate','Ttoc','Ttod','Txnlevel',
-			'Txtwidth','Type','Ucase','Undefine','Unlock','Unpack',
-			'Updatable','UpdatableFieldList','Update','UpdateName','UpdateNameList','UpdateTrigger',
-			'UpdateType','Updated','Upper','Upsizing','Usa','Use',
-			'UseMemoSize','Used','Val','Validate','Varread','Vartype',
-			'Version','VersionLanguage','Wait','WaitTime','Wborder','Wchild',
-			'Wcols','Week','Wexist','Wfont','WhereType','Windcmd',
-			'Windhelp','Windmemo','Windmenu','Windmodify','Windquery','Windscreen',
-			'Windsnip','Windstproc','WizardPrompt','Wlast','Wlcol','Wlrow',
-			'Wmaximum','Wminimum','Wontop','Woutput','Wparent','Wread',
-			'Wrows','Wtitle','Wvisible','Year','Zap','_Alignment',
-			'_Asciicols','_Asciirows','_Assist','_Beautify','_Box','_Browser',
-			'_Builder','_Calcmem','_Calcvalue','_Cliptext','_Converter','_Coverage',
-			'_Curobj','_Dblclick','_Diarydate','_Dos','_Foxdoc','_Foxgraph',
-			'_Gallery','_Gengraph','_Genhtml','_Genmenu','_Genpd','_Genscrn',
-			'_Genxtab','_Getexpr','_Include','_Indent','_Lmargin','_Mac',
-			'_Mbr_appnd','_Mbr_cpart','_Mbr_delet','_Mbr_font','_Mbr_goto','_Mbr_grid',
-			'_Mbr_link','_Mbr_mode','_Mbr_mvfld','_Mbr_mvprt','_Mbr_seek','_Mbr_sp100',
-			'_Mbr_sp200','_Mbr_szfld','_Mbrowse','_Mda_appnd','_Mda_avg','_Mda_brow',
-			'_Mda_calc','_Mda_copy','_Mda_count','_Mda_label','_Mda_pack','_Mda_reprt',
-			'_Mda_rindx','_Mda_setup','_Mda_sort','_Mda_sp100','_Mda_sp200','_Mda_sp300',
-			'_Mda_sum','_Mda_total','_Mdata','_Mdiary','_Med_clear','_Med_copy',
-			'_Med_cut','_Med_cvtst','_Med_find','_Med_finda','_Med_goto','_Med_insob',
-			'_Med_link','_Med_obj','_Med_paste','_Med_pref','_Med_pstlk','_Med_redo',
-			'_Med_repl','_Med_repla','_Med_slcta','_Med_sp100','_Med_sp200','_Med_sp300',
-			'_Med_sp400','_Med_sp500','_Med_undo','_Medit','_Mfi_clall','_Mfi_close',
-			'_Mfi_export','_Mfi_import','_Mfi_new','_Mfi_open','_Mfi_pgset','_Mfi_prevu',
-			'_Mfi_print','_Mfi_quit','_Mfi_revrt','_Mfi_savas','_Mfi_save','_Mfi_send',
-			'_Mfi_setup','_Mfi_sp100','_Mfi_sp200','_Mfi_sp300','_Mfi_sp400','_Mfile',
-			'_Mfiler','_Mfirst','_Mlabel','_Mlast','_Mline','_Mmacro',
-			'_Mmbldr','_Mpr_beaut','_Mpr_cancl','_Mpr_compl','_Mpr_do','_Mpr_docum',
-			'_Mpr_formwz','_Mpr_gener','_Mpr_graph','_Mpr_resum','_Mpr_sp100','_Mpr_sp200',
-			'_Mpr_sp300','_Mpr_suspend','_Mprog','_Mproj','_Mrc_appnd','_Mrc_chnge',
-			'_Mrc_cont','_Mrc_delet','_Mrc_goto','_Mrc_locat','_Mrc_recal','_Mrc_repl',
-			'_Mrc_seek','_Mrc_sp100','_Mrc_sp200','_Mrecord','_Mreport','_Mrqbe',
-			'_Mscreen','_Msm_data','_Msm_edit','_Msm_file','_Msm_format','_Msm_prog',
-			'_Msm_recrd','_Msm_systm','_Msm_text','_Msm_tools','_Msm_view','_Msm_windo',
-			'_Mst_about','_Mst_ascii','_Mst_calcu','_Mst_captr','_Mst_dbase','_Mst_diary',
-			'_Mst_filer','_Mst_help','_Mst_hphow','_Mst_hpsch','_Mst_macro','_Mst_office',
-			'_Mst_puzzl','_Mst_sp100','_Mst_sp200','_Mst_sp300','_Mst_specl','_Msysmenu',
-			'_Msystem','_Mtable','_Mtb_appnd','_Mtb_cpart','_Mtb_delet','_Mtb_delrc',
-			'_Mtb_goto','_Mtb_link','_Mtb_mvfld','_Mtb_mvprt','_Mtb_props','_Mtb_recal',
-			'_Mtb_sp100','_Mtb_sp200','_Mtb_sp300','_Mtb_sp400','_Mtb_szfld','_Mwi_arran',
-			'_Mwi_clear','_Mwi_cmd','_Mwi_color','_Mwi_debug','_Mwi_hide','_Mwi_hidea',
-			'_Mwi_min','_Mwi_move','_Mwi_rotat','_Mwi_showa','_Mwi_size','_Mwi_sp100',
-			'_Mwi_sp200','_Mwi_toolb','_Mwi_trace','_Mwi_view','_Mwi_zoom','_Mwindow',
-			'_Mwizards','_Mwz_all','_Mwz_form','_Mwz_foxdoc','_Mwz_import','_Mwz_label',
-			'_Mwz_mail','_Mwz_pivot','_Mwz_query','_Mwz_reprt','_Mwz_setup','_Mwz_table',
-			'_Mwz_upsizing','_Netware','_Oracle','_Padvance','_Pageno','_Pbpage',
-			'_Pcolno','_Pcopies','_Pdparms','_Pdriver','_Pdsetup','_Pecode',
-			'_Peject','_Pepage','_Pform','_Plength','_Plineno','_Ploffset',
-			'_Ppitch','_Pquality','_Pretext','_Pscode','_Pspacing','_Pwait',
-			'_Rmargin','_Runactivedoc','_Samples','_Screen','_Shell','_Spellchk',
-			'_Sqlserver','_Startup','_Tabs','_Tally','_Text','_Throttle',
-			'_Transport','_Triggerlevel','_Unix','_WebDevOnly','_WebMenu','_WebMsftHomePage',
-			'_WebVFPHomePage','_WebVfpOnlineSupport','_Windows','_Wizard','_Wrap','_scctext',
-			'_vfp','Additive','After','Again','Aindent','Alignright',
-			'All','Alt','Alternate','And','Ansi','Any',
-			'Aplabout','App','Array','As','Asc','Ascending',
-			'Ascii','At','Attributes','Automatic','Autosave','Avg',
-			'Bar','Before','Bell','Between','Bitmap','Blank',
-			'Blink','Blocksize','Border','Bottom','Brstatus','Bucket',
-			'Buffers','By','Candidate','Carry','Cascade','Catalog',
-			'Cdx','Center','Century','Cga','Character','Check',
-			'Classlib','Clock','Cnt','Codepage','Collate','Color',
-			'Com1','Com2','Command','Compact','Compatible','Compress',
-			'Confirm','Connection','Connections','Connstring','Console','Copies',
-			'Cpcompile','Cpdialog','Csv','Currency','Cycle','Databases',
-			'Datasource','Date','Db4','Dbc','Dbf','Dbmemo3',
-			'Debug','Decimals','Defaultsource','Deletetables','Delimited','Delimiters',
-			'Descending','Design','Development','Device','Dif','Disabled',
-			'Distinct','Dlls','Dohistory','Dos','Dosmem','Double',
-			'Driver','Duplex','Echo','Editwork','Ega25','Ega43',
-			'Ems','Ems64','Encrypt','Encryption','Environment','Escape',
-			'Events','Exact','Except','Exe','Exists','Expression',
-			'Extended','F','Fdow','Fetch','Field','Fields',
-			'File','Files','Fill','Fixed','Float','Foldconst',
-			'Font','Footer','Force','Foreign','Fox2x','Foxplus',
-			'Free','Freeze','From','Fullpath','Fw2','Fweek',
-			'Get','Gets','Global','Group','Grow','Halfheight',
-			'Having','Heading','Headings','Helpfilter','History','Hmemory',
-			'Hours','Id','In','Indexes','Information','Instruct',
-			'Int','Integer','Intensity','Intersect','Into','Is',
-			'Isometric','Key','Keycolumns','Keycomp','Keyset','Last',
-			'Ledit','Level','Library','Like','Linked','Lock',
-			'Logerrors','Long','Lpartition','Mac','Macdesktop','Machelp',
-			'Mackey','Macros','Mark','Master','Max','Maxmem',
-			'Mdi','Memlimit','Memory','Memos','Memowidth','Memvar',
-			'Menus','Messages','Middle','Min','Minimize','Minus',
-			'Mod','Modal','Module','Mono43','Movers','Multilocks',
-			'Mvarsiz','Mvcount','N','Near','Negotiate','Noalias',
-			'Noappend','Noclear','Noclose','Noconsole','Nocptrans','Nodata',
-			'Nodebug','Nodelete','Nodup','Noedit','Noeject','Noenvironment',
-			'Nofloat','Nofollow','Nogrow','Noinit','Nolgrid','Nolink',
-			'Nolock','Nomargin','Nomdi','Nomenu','Nominimize','Nomodify'
-			),
-		3 => array('Nomouse','None','Nooptimize','Nooverwrite','Noprojecthook','Noprompt',
-			'Noread','Norefresh','Norequery','Norgrid','Norm','Normal',
-			'Nosave','Noshadow','Noshow','Nospace','Not','Notab',
-			'Notify','Noupdate','Novalidate','Noverify','Nowait','Nowindow',
-			'Nowrap','Nozoom','Npv','Null','Number','Objects',
-			'Odometer','Of','Off','Oleobjects','Only','Optimize',
-			'Or','Orientation','Output','Outshow','Overlay','Overwrite',
-			'Pad','Palette','Paperlength','Papersize','Paperwidth','Password',
-			'Path','Pattern','Pause','Pdox','Pdsetup','Pen',
-			'Pfs','Pixels','Plain','Popups','Precision','Preference',
-			'Preview','Primary','Printer','Printquality','Procedures','Production',
-			'Program','Progwork','Project','Prompt','Query','Random',
-			'Range','Readborder','Readerror','Record','Recover','Redit',
-			'Reference','References','Relative','Remote','Reprocess','Resource',
-			'Rest','Restrict','Rgb','Right','Row','Rowset',
-			'Rpd','Runtime','Safety','Same','Sample','Say',
-			'Scale','Scheme','Scoreboard','Screen','Sdf','Seconds',
-			'Selection','Shadows','Shared','Sheet','Shell','Shift',
-			'Shutdown','Single','Some','Sortwork','Space','Sql',
-			'Standalone','Status','Std','Step','Sticky','String',
-			'Structure','Subclass','Summary','Sylk','Sysformats','Sysmenus',
-			'System','T','Tab','Tables','Talk','Tedit',
-			'Textmerge','Time','Timeout','Titles','Tmpfiles','To',
-			'Topic','Transaction','Trap','Trbetween','Trigger','Ttoption',
-			'Typeahead','Udfparms','Union','Unique','Userid','Users',
-			'Values','Var','Verb','Vga25','Vga50','Views',
-			'Volume','Where','Windows','Wk1','Wk3','Wks',
-			'Workarea','Wp','Wr1','Wrap','Wrk','Xcmdfile',
-			'Xl5','Xl8','Xls','Y','Yresolution','Zoom',
-			'Activate','ActivateCell','Add','AddColumn','AddItem','AddListItem',
-			'AddObject','AddProperty','AddToSCC','AfterBuild','AfterCloseTables','AfterDock',
-			'AfterRowColChange','BeforeBuild','BeforeDock','BeforeOpenTables','BeforeRowColChange','Box',
-			'Build','CheckIn','CheckOut','Circle','Clear','ClearData',
-			'Cleanup','Click','CloneObject','CloseEditor','CloseTables','Cls',
-			'CommandTargetExec','CommandTargetQueryStas','ContainerRelease','DataToClip','DblClick','Deactivate',
-			'Delete','DeleteColumn','Deleted','Destroy','DoCmd','Dock',
-			'DoScroll','DoVerb','DownClick','Drag','DragDrop','DragOver',
-			'DropDown','Draw','EnterFocus','Error','ErrorMessage','Eval',
-			'ExitFocus','FormatChange','GetData','GetFormat','GetLatestVersion','GoBack',
-			'GotFocus','GoForward','GridHitTest','Hide','HideDoc','IndexToItemId',
-			'Init','InteractiveChange','Item','ItemIdToIndex','KeyPress','Line',
-			'Load','LostFocus','Message','MiddleClick','MouseDown','MouseMove',
-			'MouseUp','MouseWheel','Move','Moved','NavigateTo','Newobject',
-			'OLECompleteDrag','OLEDrag','OLEDragDrop','OLEDragOver','OLEGiveFeedback','OLESetData',
-			'OLEStartDrag','OpenEditor','OpenTables','Paint','Point','Print',
-			'ProgrammaticChange','PSet','QueryAddFile','QueryModifyFile','QueryRemoveFile','QueryRunFile',
-			'QueryUnload','RangeHigh','RangeLow','ReadActivate','ReadExpression','ReadDeactivate',
-			'ReadMethod','ReadShow','ReadValid','ReadWhen','Refresh','Release',
-			'RemoveFromSCC','RemoveItem','RemoveListItem','RemoveObject','Requery','RequestData',
-			'Reset','ResetToDefault','Resize','RightClick','SaveAs','SaveAsClass',
-			'Scrolled','SetAll','SetData','SetFocus','SetFormat','SetMain',
-			'SetVar','SetViewPort','ShowDoc','ShowWhatsThis','TextHeight','TextWidth',
-			'Timer','UIEnable','UnDock','UndoCheckOut','Unload','UpClick',
-			'Valid','WhatsThisMode','When','WriteExpression','WriteMethod','ZOrder',
-			'ATGetColors','ATListColors','Accelerate','ActiveColumn','ActiveControl','ActiveForm',
-			'ActiveObjectId','ActivePage','ActiveProject','ActiveRow','AddLineFeeds','Alias',
-			'Alignment','AllowAddNew','AllowHeaderSizing','AllowResize','AllowRowSizing','AllowTabs',
-			'AlwaysOnTop','Application','AutoActivate','AutoCenter','AutoCloseTables','AutoIncrement',
-			'AutoOpenTables','AutoRelease','AutoSize','AutoVerbMenu','AutoYield','AvailNum',
-			'BackColor','BackStyle','BaseClass','BorderColor','BorderStyle','BorderWidth',
-			'Bound','BoundColumn','BoundTo','BrowseAlignment','BrowseCellMarg','BrowseDestWidth',
-			'BufferMode','BufferModeOverride','BuildDateTime','ButtonCount','ButtonIndex','Buttons',
-			'CLSID','CanAccelerate','CanGetFocus','CanLoseFocus','Cancel','Caption',
-			'ChildAlias','ChildOrder','Class','ClassLibrary','ClipControls','ClipRect',
-			'Closable','ColorScheme','ColorSource','ColumnCount','ColumnHeaders','ColumnLines',
-			'ColumnOrder','ColumnWidths','Columns','Comment','ContinuousScroll','ControlBox',
-			'ControlCount','ControlIndex','ControlSource','Controls','CurrentControl','CurrentX',
-			'CurrentY','CursorSource','Curvature','DataSession','DataSessionId','DataSourceObj',
-			'DataType','Database','DateFormat','DateMark','DefButton','DefButtonOrig',
-			'DefHeight','DefLeft','DefTop','DefWidth','Default','DefaultFilePath',
-			'DefineWindows','DeleteMark','Desktop','Dirty','DisabledBackColor','DisabledByEOF',
-			'DisabledForeColor','DisabledItemBackColor','DisabledItemForeColor','DisabledPicture','DispPageHeight','DispPageWidth',
-			'DisplayCount','DisplayValue','DoCreate','DockPosition','Docked','DocumentFile',
-			'DownPicture','DragIcon','DragMode','DragState','DrawMode','DrawStyle',
-			'DrawWidth','DynamicAlignment','DynamicBackColor','DynamicCurrentControl','DynamicFontBold','DynamicFontItalic',
-			'DynamicFontName','DynamicFontOutline','DynamicFontShadow','DynamicFontSize','DynamicFontStrikethru','DynamicFontUnderline',
-			'DynamicForeColor','EditFlags','Enabled','EnabledByReadLock','Encrypted','EnvLevel',
-			'ErasePage','FileClass','FileClassLibrary','FillColor','FillStyle','Filter',
-			'FirstElement','FontBold','FontItalic','FontName','FontOutline','FontShadow',
-			'FontSize','FontStrikethru','FontUnderline','ForceFocus','ForeColor','FormCount',
-			'FormIndex','FormPageCount','FormPageIndex','Format','Forms','FoxFont',
-			'FullName','GoFirst','GoLast','GridLineColor','GridLineWidth','GridLines'
-			),
-		4 => array('HPROJ','HWnd','HalfHeightCaption','HasClip','HeaderGap','HeaderHeight',
-			'Height','HelpContextID','HideSelection','Highlight','HomeDir','HostName',
-			'HotKey','HscrollSmallChange','IMEMode','Icon','IgnoreInsert','InResize',
-			'Increment','IncrementalSearch','InitialSelectedAlias','InputMask','Instancing','IntegralHeight',
-			'Interval','ItemBackColor','ItemData','ItemForeColor','ItemIDData','ItemTips',
-			'JustReadLocked','KeyPreview','KeyboardHighValue','KeyboardLowValue','LastModified','Left',
-			'LeftColumn','LineSlant','LinkMaster','List','ListCount','ListIndex',
-			'ListItem','ListItemId','LockDataSource','LockScreen','MDIForm','MainClass',
-			'MainFile','Margin','MaxButton','MaxHeight','MaxLeft','MaxLength',
-			'MaxTop','MaxWidth','MemoWindow','MinButton','MinHeight','MinWidth',
-			'MouseIcon','MousePointer','Movable','MoverBars','MultiSelect','Name',
-			'NapTime','NewIndex','NewItemId','NoDataOnLoad','NoDefine','NotifyContainer',
-			'NullDisplay','NumberOfElements','OLEDragMode','OLEDragPicture','OLEDropEffects','OLEDropHasData',
-			'OLEDropMode','OLERequestPendingTimeOut','OLEServerBusyRaiseError','OLEServerBusyTimeOut','OLETypeAllowed','OleClass',
-			'OleClassId','OleControlContainer','OleIDispInValue','OleIDispOutValue','OleIDispatchIncoming','OleIDispatchOutgoing',
-			'OnResize','OneToMany','OpenViews','OpenWindow','PageCount','PageHeight',
-			'PageOrder','PageWidth','Pages','Panel','PanelLink','Parent',
-			'ParentAlias','ParentClass','Partition','PasswordChar','Picture','ProcessID',
-			'ProgID','ProjectHookClass','ProjectHookLibrary','Projects','ReadColors','ReadCycle',
-			'ReadFiller','ReadLock','ReadMouse','ReadOnly','ReadSave','ReadSize',
-			'ReadTimeout','RecordMark','RecordSource','RecordSourceType','Rect','RelationalExpr',
-			'RelativeColumn','RelativeRow','ReleaseErase','ReleaseType','ReleaseWindows','Resizable',
-			'RightToLeft','RowHeight','RowSource','RowSourceType','SCCProvider','SCCStatus',
-			'SDIForm','ScaleMode','ScrollBars','SelLength','SelStart','SelText',
-			'SelectOnEntry','Selected','SelectedBackColor','SelectedForeColor','SelectedID','SelectedItemBackColor',
-			'SelectedItemForeColor','SelfEdit','ServerClass','ServerClassLibrary','ServerHelpFile','ServerName',
-			'ServerProject','ShowTips','ShowWindow','Sizable','Size<height>','Size<maxlength>',
-			'Size<width>','Skip','SkipForm','Sorted','SourceType','Sparse',
-			'SpecialEffect','SpinnerHighValue','SpinnerLowValue','SplitBar','StartMode','StatusBarText',
-			'Stretch','StrictDateEntry','Style','SystemRefCount','TabIndex','TabStop',
-			'TabStretch','TabStyle','Tabhit','Tabs','Tag','TerminateRead',
-			'ThreadID','TitleBar','ToolTipText','Top','TopIndex','TopItemId',
-			'TypeLibCLSID','TypeLibDesc','TypeLibName','UnlockDataSource','Value','ValueDirty',
-			'VersionComments','VersionCompany','VersionCopyright','VersionDescription','VersionNumber','VersionProduct',
-			'VersionTrademarks','View','ViewPortHeight','ViewPortLeft','ViewPortTop','ViewPortWidth',
-			'Visible','VscrollSmallChange','WasActive','WasOpen','WhatsThisButton','WhatsThisHelp',
-			'WhatsThisHelpID','Width','WindowList','WindowNTIList','WindowState','WindowType',
-			'WordWrap','ZOrderSet','ActiveDoc','Checkbox','Column','ComboBox',
-			'CommandButton','CommandGroup','Container','Control','Cursor','Custom',
-			'DataEnvironment','EditBox','Empty','FontClass','Form','Formset',
-			'General','Grid','Header','HyperLink','Image','Label',
-			'ListBox','Memo','OleBaseControl','OleBoundControl','OleClassIDispOut','OleControl',
-			'OptionButton','OptionGroup','Page','PageFrame','ProjectHook','RectClass',
-			'Relation','Session','Shape','Spinner','TextBox' ,'Toolbar'
-			),
-		),
-	'SYMBOLS' => array("!", "@", "$", "%", "(", ")", "-", "+", "=", "/", "{", "}", "[", "]", ":", ";", ",", "	", ".", "*", "&"),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: blue;',
-			2 => 'color: blue;',
-			3 => 'color: blue;',
-			4 => 'color: blue;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: green; font-style: italic;',
-			2 => 'color: green; font-style: italic;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: blue;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			1 => 'color: #006600;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: blue;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'Visual Fox Pro',
+    'COMMENT_SINGLE' => array(1 => "//", 2 => "\n*"),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'Case', 'Else', '#Else', 'Then',
+            'Endcase', 'Enddefine', 'Enddo', 'Endfor', 'Endfunc', 'Endif', 'Endprintjob',
+            'Endproc', 'Endscan', 'Endtext', 'Endwith', '#Endif',
+            '#Elif','#Define','#If','#Include',
+            '#Itsexpression','#Readclauses','#Region','#Section','#Undef','#Wname',
+            'Define','Do',
+            'For','Function','Hidden',
+            'If','Local','Lparameter','Lparameters','Next','Otherwise',
+            'Parameters','Printjob','Procedure','Protected','Public','Scan',
+            'Text','While','With','Abs','Accept','Access','Aclass','Acopy',
+            'Acos','Adatabases','Adbobjects','Addbs','Addrelationtoenv','Addtabletoenv',
+            'Adel','Adir','Aelement','Aerror','Afields','Afont',
+            'Agetclass','Agetfileversion','Ains','Ainstance','Alen','Align',
+            'Alines','Alltrim','Alter','Amembers','Amouseobj','Anetresources',
+            'Ansitooem','Append','Aprinters','Ascan','Aselobj','Asin',
+            'Asort','Assert','Asserts','Assist','Asubscript','Asynchronous',
+            'At_c','Atan','Atc','Atcc','Atcline','Atline',
+            'Atn2','Aused','Autoform','Autoreport','Avcxclasses','Average',
+            'BarCount','BarPrompt','BatchMode','BatchUpdateCount','Begin','BellSound',
+            'BinToC','Bintoc','Bitand','Bitclear','Bitlshift','Bitnot',
+            'Bitor','Bitrshift','Bitset','Bittest','Bitxor','Bof',
+            'Browse','BrowseRefresh','Buffering','BuilderLock','COMArray','COMReturnError',
+            'CToBin','Calculate','Call','Capslock','Cd','Cdow',
+            'Ceiling','Central','Change','Char','Chdir','Chr',
+            'Chrsaw','Chrtran','Chrtranc','Close','Cmonth','Cntbar',
+            'Cntpad','Col','Comclassinfo','CommandTargetQuery','Compile','Completed',
+            'Compobj','Compute','Concat','ConnectBusy','ConnectHandle','ConnectName',
+            'ConnectString','ConnectTimeOut','ContainerReleaseType','Continue','Copy','Cos',
+            'Cot','Count','Coverage','Cpconvert','Cpcurrent','Cpdbf',
+            'Cpnotrans','Create','CreateBinary','Createobject','Createobjectex','Createoffline',
+            'CrsBuffering','CrsFetchMemo','CrsFetchSize','CrsMaxRows','CrsMethodUsed','CrsNumBatch',
+            'CrsShareConnection','CrsUseMemoSize','CrsWhereClause','Ctobin','Ctod','Ctot',
+            'Curdate','Curdir','CurrLeft','CurrSymbol','CursorGetProp','CursorSetProp',
+            'Curtime','Curval','DBGetProp','DBSetProp','DB_BufLockRow','DB_BufLockTable',
+            'DB_BufOff','DB_BufOptRow','DB_BufOptTable','DB_Complette','DB_DeleteInsert','DB_KeyAndModified',
+            'DB_KeyAndTimestamp','DB_KeyAndUpdatable','DB_LocalSQL','DB_NoPrompt','DB_Prompt','DB_RemoteSQL',
+            'DB_TransAuto','DB_TransManual','DB_TransNone','DB_Update','Datetime','Day',
+            'Dayname','Dayofmonth','Dayofweek','Dayofyear','Dbalias','Dbused',
+            'Ddeaborttrans','Ddeadvise','Ddeenabled','Ddeexecute','Ddeinitiate','Ddelasterror',
+            'Ddepoke','Dderequest','Ddesetoption','Ddesetservice','Ddesettopic','Ddeterminate',
+            'Debugout','Declare','DefOLELCid','DefaultValue','Defaultext','Degrees',
+            'DeleteTrigger','Desc','Description','Difference','Dimension','Dir',
+            'Directory','Diskspace','DispLogin','DispWarnings','Display','Dll',
+            'Dmy','DoDefault','DoEvents','Doc','Doevents','Dow',
+            'Drivetype','Drop','Dropoffline','Dtoc','Dtor','Dtos',
+            'Dtot','DynamicInputMask','Each','Edit','Eject','Elif',
+            'End','Eof','Erase','Evaluate','Event','Eventtracking',
+            'Exclude','Exclusive','Exit','Exp','Export','External',
+            'FDate','FTime','Fchsize','Fclose','Fcount','Fcreate',
+            'Feof','Ferror','FetchMemo','FetchSize','Fflush','Fgets',
+            'Filer','Filetostr','Find','Fklabel','Fkmax','Fldlist',
+            'Flock','Floor','Flush','Fontmetric','Fopen','Forceext',
+            'Forcepath','FormSetClass','FormSetLib','FormsClass','FormsLib','Found',
+            'FoxPro','Foxcode','Foxdoc','Foxgen','Foxgraph','Foxview',
+            'Fputs','Fread','French','Fseek','Fsize','Fv',
+            'Fwrite','Gather','German','GetPem','Getbar','Getcolor',
+            'Getcp','Getdir','Getenv','Getexpr','Getfile','Getfldstate',
+            'Getfont','Gethost','Getnextmodified','Getobject','Getpad','Getpict',
+            'Getprinter','Go','Gomonth','Goto','Graph','GridHorz',
+            'GridShow','GridShowPos','GridSnap','GridVert','Help','HelpOn',
+            'HelpTo','HighLightRow','Home','Hour','IMEStatus','IdleTimeOut',
+            'Idxcollate','Ifdef','Ifndef','Iif','Import','Include',
+            'Indbc','Index','Indexseek','Inkey','Inlist','Input',
+            'Insert','InsertTrigger','Insmode','IsBlank','IsFLocked','IsLeadByte',
+            'IsMouse','IsNull','IsRLocked','Isalpha','Iscolor','Isdigit',
+            'Isexclusive','Isflocked','Ishosted','Islower','Isreadonly','Isrlocked',
+            'Isupper','Italian','Japan','Join','Justdrive','Justext',
+            'Justfname','Justpath','Juststem','KeyField','KeyFieldList','Keyboard'
+            ),
+        2 => array('Keymatch','LastProject','Lastkey','Lcase','Leftc','Len',
+            'Lenc','Length','Likec','Lineno','LoadPicture','Loadpicture',
+            'Locate','Locfile','Log','Log10','Logout','Lookup',
+            'Loop','Lower','Ltrim','Lupdate','Mail','MaxRecords',
+            'Mcol','Md','Mdown','Mdx','Mdy','Memlines',
+            'Menu','Messagebox','Minute','Mkdir','Mline','Modify',
+            'Month','Monthname','Mouse','Mrkbar','Mrkpad','Mrow',
+            'Mtdll','Mton','Mwindow','Native','Ndx','Network',
+            'NoFilter','Nodefault','Normalize','Note','Now','Ntom',
+            'NullString','Numlock','Nvl','ODBChdbc','ODBChstmt','OLEDropTextInsertion',
+            'OLELCid','Objnum','Objref','Objtoclient','Objvar','Occurs',
+            'Oemtoansi','Oldval','OlePublic','Olereturnerror','On','Open',
+            'Oracle','Order','Os','Outer','PCount','Pack',
+            'PacketSize','Padc','Padl','Padr','Payment','Pcol',
+            'PemStatus','Pi','Pivot','Play','Pop','Popup',
+            'Power','PrimaryKey','Printstatus','Private','Prmbar','Prmpad',
+            'ProjectClick','Proper','Prow','Prtinfo','Push','Putfile',
+            'Pv','Qpr','Quater','QueryTimeOut','Quit','Radians',
+            'Rand','Rat','Ratc','Ratline','Rd','Rdlevel',
+            'Read','Readkey','Recall','Reccount','RecentlyUsedFiles','Recno',
+            'Recsize','Regional','Reindex','RelatedChild','RelatedTable','RelatedTag',
+            'Remove','Rename','Repeat','Replace','Replicate','Report',
+            'ResHeight','ResWidth','ResourceOn','ResourceTo','Resources','Restore',
+            'Resume','Retry','Return','Revertoffline','Rgbscheme','Rightc',
+            'Rlock','Rmdir','Rollback','Round','Rtod','Rtrim',
+            'RuleExpression','RuleText','Run','Runscript','Rview','SQLAsynchronous',
+            'SQLBatchMode','SQLCancel','SQLColumns','SQLConnect','SQLConnectTimeOut','SQLDisconnect',
+            'SQLDispLogin','SQLDispWarnings','SQLExec','SQLGetProp','SQLIdleTimeOut','SQLMoreResults',
+            'SQLPrepare','SQLQueryTimeOut','SQLSetProp','SQLTables','SQLTransactions','SQLWaitTime',
+            'Save','SavePicture','Savepicture','ScaleUnits','Scatter','Scols',
+            'Scroll','Sec','Second','Seek','Select','SendUpdates',
+            'Set','SetDefault','Setfldstate','Setup','ShareConnection','ShowOLEControls',
+            'ShowOLEInsertable','ShowVCXs','Sign','Sin','Size','SizeBox',
+            'Skpbar','Skppad','Sort','Soundex','SourceName','Sqlcommit',
+            'Sqll','Sqlrollback','Sqlstringconnect','Sqrt','Srows','StatusBar',
+            'Store','Str','Strconv','Strtofile','Strtran','Stuff',
+            'Stuffc','Substr','Substrc','Substring','Sum','Suspend',
+            'Sys','Sysmetric','TabOrdering','Table','TableRefresh','Tablerevert',
+            'Tableupdate','TagCount','TagNo','Tan','Target','This',
+            'Thisform','Thisformset','Timestamp','Timestampdiff','Total','Transactions',
+            'Transform','Trim','Truncate','Ttoc','Ttod','Txnlevel',
+            'Txtwidth','Type','Ucase','Undefine','Unlock','Unpack',
+            'Updatable','UpdatableFieldList','Update','UpdateName','UpdateNameList','UpdateTrigger',
+            'UpdateType','Updated','Upper','Upsizing','Usa','Use',
+            'UseMemoSize','Used','Val','Validate','Varread','Vartype',
+            'Version','VersionLanguage','Wait','WaitTime','Wborder','Wchild',
+            'Wcols','Week','Wexist','Wfont','WhereType','Windcmd',
+            'Windhelp','Windmemo','Windmenu','Windmodify','Windquery','Windscreen',
+            'Windsnip','Windstproc','WizardPrompt','Wlast','Wlcol','Wlrow',
+            'Wmaximum','Wminimum','Wontop','Woutput','Wparent','Wread',
+            'Wrows','Wtitle','Wvisible','Year','Zap','_Alignment',
+            '_Asciicols','_Asciirows','_Assist','_Beautify','_Box','_Browser',
+            '_Builder','_Calcmem','_Calcvalue','_Cliptext','_Converter','_Coverage',
+            '_Curobj','_Dblclick','_Diarydate','_Dos','_Foxdoc','_Foxgraph',
+            '_Gallery','_Gengraph','_Genhtml','_Genmenu','_Genpd','_Genscrn',
+            '_Genxtab','_Getexpr','_Include','_Indent','_Lmargin','_Mac',
+            '_Mbr_appnd','_Mbr_cpart','_Mbr_delet','_Mbr_font','_Mbr_goto','_Mbr_grid',
+            '_Mbr_link','_Mbr_mode','_Mbr_mvfld','_Mbr_mvprt','_Mbr_seek','_Mbr_sp100',
+            '_Mbr_sp200','_Mbr_szfld','_Mbrowse','_Mda_appnd','_Mda_avg','_Mda_brow',
+            '_Mda_calc','_Mda_copy','_Mda_count','_Mda_label','_Mda_pack','_Mda_reprt',
+            '_Mda_rindx','_Mda_setup','_Mda_sort','_Mda_sp100','_Mda_sp200','_Mda_sp300',
+            '_Mda_sum','_Mda_total','_Mdata','_Mdiary','_Med_clear','_Med_copy',
+            '_Med_cut','_Med_cvtst','_Med_find','_Med_finda','_Med_goto','_Med_insob',
+            '_Med_link','_Med_obj','_Med_paste','_Med_pref','_Med_pstlk','_Med_redo',
+            '_Med_repl','_Med_repla','_Med_slcta','_Med_sp100','_Med_sp200','_Med_sp300',
+            '_Med_sp400','_Med_sp500','_Med_undo','_Medit','_Mfi_clall','_Mfi_close',
+            '_Mfi_export','_Mfi_import','_Mfi_new','_Mfi_open','_Mfi_pgset','_Mfi_prevu',
+            '_Mfi_print','_Mfi_quit','_Mfi_revrt','_Mfi_savas','_Mfi_save','_Mfi_send',
+            '_Mfi_setup','_Mfi_sp100','_Mfi_sp200','_Mfi_sp300','_Mfi_sp400','_Mfile',
+            '_Mfiler','_Mfirst','_Mlabel','_Mlast','_Mline','_Mmacro',
+            '_Mmbldr','_Mpr_beaut','_Mpr_cancl','_Mpr_compl','_Mpr_do','_Mpr_docum',
+            '_Mpr_formwz','_Mpr_gener','_Mpr_graph','_Mpr_resum','_Mpr_sp100','_Mpr_sp200',
+            '_Mpr_sp300','_Mpr_suspend','_Mprog','_Mproj','_Mrc_appnd','_Mrc_chnge',
+            '_Mrc_cont','_Mrc_delet','_Mrc_goto','_Mrc_locat','_Mrc_recal','_Mrc_repl',
+            '_Mrc_seek','_Mrc_sp100','_Mrc_sp200','_Mrecord','_Mreport','_Mrqbe',
+            '_Mscreen','_Msm_data','_Msm_edit','_Msm_file','_Msm_format','_Msm_prog',
+            '_Msm_recrd','_Msm_systm','_Msm_text','_Msm_tools','_Msm_view','_Msm_windo',
+            '_Mst_about','_Mst_ascii','_Mst_calcu','_Mst_captr','_Mst_dbase','_Mst_diary',
+            '_Mst_filer','_Mst_help','_Mst_hphow','_Mst_hpsch','_Mst_macro','_Mst_office',
+            '_Mst_puzzl','_Mst_sp100','_Mst_sp200','_Mst_sp300','_Mst_specl','_Msysmenu',
+            '_Msystem','_Mtable','_Mtb_appnd','_Mtb_cpart','_Mtb_delet','_Mtb_delrc',
+            '_Mtb_goto','_Mtb_link','_Mtb_mvfld','_Mtb_mvprt','_Mtb_props','_Mtb_recal',
+            '_Mtb_sp100','_Mtb_sp200','_Mtb_sp300','_Mtb_sp400','_Mtb_szfld','_Mwi_arran',
+            '_Mwi_clear','_Mwi_cmd','_Mwi_color','_Mwi_debug','_Mwi_hide','_Mwi_hidea',
+            '_Mwi_min','_Mwi_move','_Mwi_rotat','_Mwi_showa','_Mwi_size','_Mwi_sp100',
+            '_Mwi_sp200','_Mwi_toolb','_Mwi_trace','_Mwi_view','_Mwi_zoom','_Mwindow',
+            '_Mwizards','_Mwz_all','_Mwz_form','_Mwz_foxdoc','_Mwz_import','_Mwz_label',
+            '_Mwz_mail','_Mwz_pivot','_Mwz_query','_Mwz_reprt','_Mwz_setup','_Mwz_table',
+            '_Mwz_upsizing','_Netware','_Oracle','_Padvance','_Pageno','_Pbpage',
+            '_Pcolno','_Pcopies','_Pdparms','_Pdriver','_Pdsetup','_Pecode',
+            '_Peject','_Pepage','_Pform','_Plength','_Plineno','_Ploffset',
+            '_Ppitch','_Pquality','_Pretext','_Pscode','_Pspacing','_Pwait',
+            '_Rmargin','_Runactivedoc','_Samples','_Screen','_Shell','_Spellchk',
+            '_Sqlserver','_Startup','_Tabs','_Tally','_Text','_Throttle',
+            '_Transport','_Triggerlevel','_Unix','_WebDevOnly','_WebMenu','_WebMsftHomePage',
+            '_WebVFPHomePage','_WebVfpOnlineSupport','_Windows','_Wizard','_Wrap','_scctext',
+            '_vfp','Additive','After','Again','Aindent','Alignright',
+            'All','Alt','Alternate','And','Ansi','Any',
+            'Aplabout','App','Array','As','Asc','Ascending',
+            'Ascii','At','Attributes','Automatic','Autosave','Avg',
+            'Bar','Before','Bell','Between','Bitmap','Blank',
+            'Blink','Blocksize','Border','Bottom','Brstatus','Bucket',
+            'Buffers','By','Candidate','Carry','Cascade','Catalog',
+            'Cdx','Center','Century','Cga','Character','Check',
+            'Classlib','Clock','Cnt','Codepage','Collate','Color',
+            'Com1','Com2','Command','Compact','Compatible','Compress',
+            'Confirm','Connection','Connections','Connstring','Console','Copies',
+            'Cpcompile','Cpdialog','Csv','Currency','Cycle','Databases',
+            'Datasource','Date','Db4','Dbc','Dbf','Dbmemo3',
+            'Debug','Decimals','Defaultsource','Deletetables','Delimited','Delimiters',
+            'Descending','Design','Development','Device','Dif','Disabled',
+            'Distinct','Dlls','Dohistory','Dos','Dosmem','Double',
+            'Driver','Duplex','Echo','Editwork','Ega25','Ega43',
+            'Ems','Ems64','Encrypt','Encryption','Environment','Escape',
+            'Events','Exact','Except','Exe','Exists','Expression',
+            'Extended','F','Fdow','Fetch','Field','Fields',
+            'File','Files','Fill','Fixed','Float','Foldconst',
+            'Font','Footer','Force','Foreign','Fox2x','Foxplus',
+            'Free','Freeze','From','Fullpath','Fw2','Fweek',
+            'Get','Gets','Global','Group','Grow','Halfheight',
+            'Having','Heading','Headings','Helpfilter','History','Hmemory',
+            'Hours','Id','In','Indexes','Information','Instruct',
+            'Int','Integer','Intensity','Intersect','Into','Is',
+            'Isometric','Key','Keycolumns','Keycomp','Keyset','Last',
+            'Ledit','Level','Library','Like','Linked','Lock',
+            'Logerrors','Long','Lpartition','Mac','Macdesktop','Machelp',
+            'Mackey','Macros','Mark','Master','Max','Maxmem',
+            'Mdi','Memlimit','Memory','Memos','Memowidth','Memvar',
+            'Menus','Messages','Middle','Min','Minimize','Minus',
+            'Mod','Modal','Module','Mono43','Movers','Multilocks',
+            'Mvarsiz','Mvcount','N','Near','Negotiate','Noalias',
+            'Noappend','Noclear','Noclose','Noconsole','Nocptrans','Nodata',
+            'Nodebug','Nodelete','Nodup','Noedit','Noeject','Noenvironment',
+            'Nofloat','Nofollow','Nogrow','Noinit','Nolgrid','Nolink',
+            'Nolock','Nomargin','Nomdi','Nomenu','Nominimize','Nomodify'
+            ),
+        3 => array('Nomouse','None','Nooptimize','Nooverwrite','Noprojecthook','Noprompt',
+            'Noread','Norefresh','Norequery','Norgrid','Norm','Normal',
+            'Nosave','Noshadow','Noshow','Nospace','Not','Notab',
+            'Notify','Noupdate','Novalidate','Noverify','Nowait','Nowindow',
+            'Nowrap','Nozoom','Npv','Null','Number','Objects',
+            'Odometer','Of','Off','Oleobjects','Only','Optimize',
+            'Or','Orientation','Output','Outshow','Overlay','Overwrite',
+            'Pad','Palette','Paperlength','Papersize','Paperwidth','Password',
+            'Path','Pattern','Pause','Pdox','Pdsetup','Pen',
+            'Pfs','Pixels','Plain','Popups','Precision','Preference',
+            'Preview','Primary','Printer','Printquality','Procedures','Production',
+            'Program','Progwork','Project','Prompt','Query','Random',
+            'Range','Readborder','Readerror','Record','Recover','Redit',
+            'Reference','References','Relative','Remote','Reprocess','Resource',
+            'Rest','Restrict','Rgb','Right','Row','Rowset',
+            'Rpd','Runtime','Safety','Same','Sample','Say',
+            'Scale','Scheme','Scoreboard','Screen','Sdf','Seconds',
+            'Selection','Shadows','Shared','Sheet','Shell','Shift',
+            'Shutdown','Single','Some','Sortwork','Space','Sql',
+            'Standalone','Status','Std','Step','Sticky','String',
+            'Structure','Subclass','Summary','Sylk','Sysformats','Sysmenus',
+            'System','T','Tab','Tables','Talk','Tedit',
+            'Textmerge','Time','Timeout','Titles','Tmpfiles','To',
+            'Topic','Transaction','Trap','Trbetween','Trigger','Ttoption',
+            'Typeahead','Udfparms','Union','Unique','Userid','Users',
+            'Values','Var','Verb','Vga25','Vga50','Views',
+            'Volume','Where','Windows','Wk1','Wk3','Wks',
+            'Workarea','Wp','Wr1','Wrap','Wrk','Xcmdfile',
+            'Xl5','Xl8','Xls','Y','Yresolution','Zoom',
+            'Activate','ActivateCell','Add','AddColumn','AddItem','AddListItem',
+            'AddObject','AddProperty','AddToSCC','AfterBuild','AfterCloseTables','AfterDock',
+            'AfterRowColChange','BeforeBuild','BeforeDock','BeforeOpenTables','BeforeRowColChange','Box',
+            'Build','CheckIn','CheckOut','Circle','Clear','ClearData',
+            'Cleanup','Click','CloneObject','CloseEditor','CloseTables','Cls',
+            'CommandTargetExec','CommandTargetQueryStas','ContainerRelease','DataToClip','DblClick','Deactivate',
+            'Delete','DeleteColumn','Deleted','Destroy','DoCmd','Dock',
+            'DoScroll','DoVerb','DownClick','Drag','DragDrop','DragOver',
+            'DropDown','Draw','EnterFocus','Error','ErrorMessage','Eval',
+            'ExitFocus','FormatChange','GetData','GetFormat','GetLatestVersion','GoBack',
+            'GotFocus','GoForward','GridHitTest','Hide','HideDoc','IndexToItemId',
+            'Init','InteractiveChange','Item','ItemIdToIndex','KeyPress','Line',
+            'Load','LostFocus','Message','MiddleClick','MouseDown','MouseMove',
+            'MouseUp','MouseWheel','Move','Moved','NavigateTo','Newobject',
+            'OLECompleteDrag','OLEDrag','OLEDragDrop','OLEDragOver','OLEGiveFeedback','OLESetData',
+            'OLEStartDrag','OpenEditor','OpenTables','Paint','Point','Print',
+            'ProgrammaticChange','PSet','QueryAddFile','QueryModifyFile','QueryRemoveFile','QueryRunFile',
+            'QueryUnload','RangeHigh','RangeLow','ReadActivate','ReadExpression','ReadDeactivate',
+            'ReadMethod','ReadShow','ReadValid','ReadWhen','Refresh','Release',
+            'RemoveFromSCC','RemoveItem','RemoveListItem','RemoveObject','Requery','RequestData',
+            'Reset','ResetToDefault','Resize','RightClick','SaveAs','SaveAsClass',
+            'Scrolled','SetAll','SetData','SetFocus','SetFormat','SetMain',
+            'SetVar','SetViewPort','ShowDoc','ShowWhatsThis','TextHeight','TextWidth',
+            'Timer','UIEnable','UnDock','UndoCheckOut','Unload','UpClick',
+            'Valid','WhatsThisMode','When','WriteExpression','WriteMethod','ZOrder',
+            'ATGetColors','ATListColors','Accelerate','ActiveColumn','ActiveControl','ActiveForm',
+            'ActiveObjectId','ActivePage','ActiveProject','ActiveRow','AddLineFeeds','Alias',
+            'Alignment','AllowAddNew','AllowHeaderSizing','AllowResize','AllowRowSizing','AllowTabs',
+            'AlwaysOnTop','Application','AutoActivate','AutoCenter','AutoCloseTables','AutoIncrement',
+            'AutoOpenTables','AutoRelease','AutoSize','AutoVerbMenu','AutoYield','AvailNum',
+            'BackColor','BackStyle','BaseClass','BorderColor','BorderStyle','BorderWidth',
+            'Bound','BoundColumn','BoundTo','BrowseAlignment','BrowseCellMarg','BrowseDestWidth',
+            'BufferMode','BufferModeOverride','BuildDateTime','ButtonCount','ButtonIndex','Buttons',
+            'CLSID','CanAccelerate','CanGetFocus','CanLoseFocus','Cancel','Caption',
+            'ChildAlias','ChildOrder','Class','ClassLibrary','ClipControls','ClipRect',
+            'Closable','ColorScheme','ColorSource','ColumnCount','ColumnHeaders','ColumnLines',
+            'ColumnOrder','ColumnWidths','Columns','Comment','ContinuousScroll','ControlBox',
+            'ControlCount','ControlIndex','ControlSource','Controls','CurrentControl','CurrentX',
+            'CurrentY','CursorSource','Curvature','DataSession','DataSessionId','DataSourceObj',
+            'DataType','Database','DateFormat','DateMark','DefButton','DefButtonOrig',
+            'DefHeight','DefLeft','DefTop','DefWidth','Default','DefaultFilePath',
+            'DefineWindows','DeleteMark','Desktop','Dirty','DisabledBackColor','DisabledByEOF',
+            'DisabledForeColor','DisabledItemBackColor','DisabledItemForeColor','DisabledPicture','DispPageHeight','DispPageWidth',
+            'DisplayCount','DisplayValue','DoCreate','DockPosition','Docked','DocumentFile',
+            'DownPicture','DragIcon','DragMode','DragState','DrawMode','DrawStyle',
+            'DrawWidth','DynamicAlignment','DynamicBackColor','DynamicCurrentControl','DynamicFontBold','DynamicFontItalic',
+            'DynamicFontName','DynamicFontOutline','DynamicFontShadow','DynamicFontSize','DynamicFontStrikethru','DynamicFontUnderline',
+            'DynamicForeColor','EditFlags','Enabled','EnabledByReadLock','Encrypted','EnvLevel',
+            'ErasePage','FileClass','FileClassLibrary','FillColor','FillStyle','Filter',
+            'FirstElement','FontBold','FontItalic','FontName','FontOutline','FontShadow',
+            'FontSize','FontStrikethru','FontUnderline','ForceFocus','ForeColor','FormCount',
+            'FormIndex','FormPageCount','FormPageIndex','Format','Forms','FoxFont',
+            'FullName','GoFirst','GoLast','GridLineColor','GridLineWidth','GridLines'
+            ),
+        4 => array('HPROJ','HWnd','HalfHeightCaption','HasClip','HeaderGap','HeaderHeight',
+            'Height','HelpContextID','HideSelection','Highlight','HomeDir','HostName',
+            'HotKey','HscrollSmallChange','IMEMode','Icon','IgnoreInsert','InResize',
+            'Increment','IncrementalSearch','InitialSelectedAlias','InputMask','Instancing','IntegralHeight',
+            'Interval','ItemBackColor','ItemData','ItemForeColor','ItemIDData','ItemTips',
+            'JustReadLocked','KeyPreview','KeyboardHighValue','KeyboardLowValue','LastModified','Left',
+            'LeftColumn','LineSlant','LinkMaster','List','ListCount','ListIndex',
+            'ListItem','ListItemId','LockDataSource','LockScreen','MDIForm','MainClass',
+            'MainFile','Margin','MaxButton','MaxHeight','MaxLeft','MaxLength',
+            'MaxTop','MaxWidth','MemoWindow','MinButton','MinHeight','MinWidth',
+            'MouseIcon','MousePointer','Movable','MoverBars','MultiSelect','Name',
+            'NapTime','NewIndex','NewItemId','NoDataOnLoad','NoDefine','NotifyContainer',
+            'NullDisplay','NumberOfElements','OLEDragMode','OLEDragPicture','OLEDropEffects','OLEDropHasData',
+            'OLEDropMode','OLERequestPendingTimeOut','OLEServerBusyRaiseError','OLEServerBusyTimeOut','OLETypeAllowed','OleClass',
+            'OleClassId','OleControlContainer','OleIDispInValue','OleIDispOutValue','OleIDispatchIncoming','OleIDispatchOutgoing',
+            'OnResize','OneToMany','OpenViews','OpenWindow','PageCount','PageHeight',
+            'PageOrder','PageWidth','Pages','Panel','PanelLink','Parent',
+            'ParentAlias','ParentClass','Partition','PasswordChar','Picture','ProcessID',
+            'ProgID','ProjectHookClass','ProjectHookLibrary','Projects','ReadColors','ReadCycle',
+            'ReadFiller','ReadLock','ReadMouse','ReadOnly','ReadSave','ReadSize',
+            'ReadTimeout','RecordMark','RecordSource','RecordSourceType','Rect','RelationalExpr',
+            'RelativeColumn','RelativeRow','ReleaseErase','ReleaseType','ReleaseWindows','Resizable',
+            'RightToLeft','RowHeight','RowSource','RowSourceType','SCCProvider','SCCStatus',
+            'SDIForm','ScaleMode','ScrollBars','SelLength','SelStart','SelText',
+            'SelectOnEntry','Selected','SelectedBackColor','SelectedForeColor','SelectedID','SelectedItemBackColor',
+            'SelectedItemForeColor','SelfEdit','ServerClass','ServerClassLibrary','ServerHelpFile','ServerName',
+            'ServerProject','ShowTips','ShowWindow','Sizable','Size<height>','Size<maxlength>',
+            'Size<width>','Skip','SkipForm','Sorted','SourceType','Sparse',
+            'SpecialEffect','SpinnerHighValue','SpinnerLowValue','SplitBar','StartMode','StatusBarText',
+            'Stretch','StrictDateEntry','Style','SystemRefCount','TabIndex','TabStop',
+            'TabStretch','TabStyle','Tabhit','Tabs','Tag','TerminateRead',
+            'ThreadID','TitleBar','ToolTipText','Top','TopIndex','TopItemId',
+            'TypeLibCLSID','TypeLibDesc','TypeLibName','UnlockDataSource','Value','ValueDirty',
+            'VersionComments','VersionCompany','VersionCopyright','VersionDescription','VersionNumber','VersionProduct',
+            'VersionTrademarks','View','ViewPortHeight','ViewPortLeft','ViewPortTop','ViewPortWidth',
+            'Visible','VscrollSmallChange','WasActive','WasOpen','WhatsThisButton','WhatsThisHelp',
+            'WhatsThisHelpID','Width','WindowList','WindowNTIList','WindowState','WindowType',
+            'WordWrap','ZOrderSet','ActiveDoc','Checkbox','Column','ComboBox',
+            'CommandButton','CommandGroup','Container','Control','Cursor','Custom',
+            'DataEnvironment','EditBox','Empty','FontClass','Form','Formset',
+            'General','Grid','Header','HyperLink','Image','Label',
+            'ListBox','Memo','OleBaseControl','OleBoundControl','OleClassIDispOut','OleControl',
+            'OptionButton','OptionGroup','Page','PageFrame','ProjectHook','RectClass',
+            'Relation','Session','Shape','Spinner','TextBox' ,'Toolbar'
+            ),
+        ),
+    'SYMBOLS' => array(
+        "!", "@", "$", "%",
+        "(", ")", "{", "}", "[", "]",
+        "-", "+", "*", "/",
+        "=", "<", ">",
+        ":", ";", ",", ".", "&",
+        "?", "??", "???"
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: blue;',
+            2 => 'color: blue;',
+            3 => 'color: blue;',
+            4 => 'color: blue;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: green; font-style: italic;',
+            2 => 'color: green; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: blue;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: blue;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/visualprolog.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,129 @@
+<?php
+/*************************************************************************************
+ * visualprolog.php
+ * ----------
+ * Author: Thomas Linder Puls (puls@pdc.dk)
+ * Copyright: (c) 2008 Thomas Linder Puls (puls@pdc.dk)
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/11/20
+ *
+ * Visual Prolog language file for GeSHi.
+ *
+ * CHANGES
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Visual Prolog',
+    'COMMENT_SINGLE' => array(1 => '%'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'HARDQUOTE' => array('@"', '"'),
+    'HARDESCAPE' => array('""'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'clauses','constants','constructors','delegate','domains','facts',
+            'goal','guards','inherits','monitor','namespace','open',
+            'predicates','properties','resolve','supports'
+            ),
+        2 => array(
+            'align','and','anyflow','as','bitsize','catch','determ','digits',
+            'div','do','else','elseif','erroneous','externally','failure',
+            'finally','from','language','mod','multi','nondeterm','or',
+            'procedure','quot','rem','single','then','to'
+            ),
+        3 => array(
+            '#bininclude','#else','#elseif','#endif','#error','#export',
+            '#externally','#if','#import','#include','#message','#options',
+            '#orrequires','#requires','#then','#warning'
+            ),
+        ),
+    'SYMBOLS' => array(
+        '+', '-', '*', '?', '=', '/', '>', '<', '^', '!', ':', '(', ')', '{', '}', '[', ']'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => true,
+        1 => true,
+        2 => true,
+        3 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #808000;',
+            2 => 'color: #333399;',
+            3 => 'color: #800080;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #AA77BD',
+            'MULTI' => 'color: #AA77BD'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #008080;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #00B7B7;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #0000FF;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000000;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #008000;',
+            1 => 'color: #808000;',
+            2 => 'color: #333399;',
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => ':',
+        2 => '::'
+        ),
+    'REGEXPS' => array(
+        0 => "(?<![a-zA-Z0-9_])(?!(?:PIPE|SEMI)>)[A-Z_]\w*(?!\w)",
+        1 => "\\b(end\\s+)?(implement|class|interface)\\b",
+        2 => "\\b(end\\s+)?(foreach|if|try)\\b",
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/whitespace.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,121 @@
+<?php
+/*************************************************************************************
+ * whitespace.php
+ * ----------
+ * Author: Benny Baumann (BenBE@geshi.org)
+ * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.2
+ * Date Started: 2009/10/31
+ *
+ * Whitespace language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/10/31 (1.0.8.1)
+ *   -  First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+$language_data = array (
+    'LANG_NAME' => 'Whitespace',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(),
+    'COMMENT_REGEXP' => array(
+        3 => "/[^\n\x20\x09]+/s"
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        ),
+    'SYMBOLS' => array(
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            ),
+        'COMMENTS' => array(
+            3 => 'color: #666666; font-style: italic;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            2 => 'background-color: #FF9999;',
+            3 => 'background-color: #9999FF;'
+            )
+        ),
+    'URLS' => array(
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        2 => array(
+            GESHI_SEARCH => "(?<!\\A)\x20",
+            GESHI_REPLACE => "&#32;",
+            GESHI_MODIFIERS => 's',
+            GESHI_BEFORE => "",
+            GESHI_AFTER => ""
+            ),
+        3 => array(
+            GESHI_SEARCH => "\x09",
+            GESHI_REPLACE => "&#9;",
+            GESHI_MODIFIERS => 's',
+            GESHI_BEFORE => "",
+            GESHI_AFTER => ""
+            ),
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'KEYWORDS' => GESHI_NEVER,
+            'SYMBOLS' => GESHI_NEVER,
+            'STRINGS' => GESHI_NEVER,
+//            'REGEXPS' => GESHI_NEVER,
+            'NUMBERS' => GESHI_NEVER
+            )
+        )
+);
+
+?>
--- a/plugins/geshi/geshi/winbatch.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/winbatch.php	Fri May 29 19:30:59 2009 -0400
@@ -4,7 +4,7 @@
  * ------------
  * Author: Craig Storey (storey.craig@gmail.com)
  * Copyright: (c) 2004 Craig Storey (craig.xcottawa.ca)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2006/05/19
  *
  * WinBatch language file for GeSHi.
@@ -15,13 +15,15 @@
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *   -  Added description of extra language features (SF#1970248)
  * 2006/05/05 (1.0.0)
  *  -  First Release
- * 
+ *
  * TODO (updated 2004/07/14)
  * -------------------------
- * - Right now any ':Subroutine' is treated as a comment. This highlights the 
- *   Subroutine's name, but it's not a perfect fix. I should use a RegEx in 
+ * - Right now any ':Subroutine' is treated as a comment. This highlights the
+ *   Subroutine's name, but it's not a perfect fix. I should use a RegEx in
  *   GeSHI_Search&Replace features..
  * - Update the list of extender functions.
  * - Use a regular expression to comment UDFs that start with 'udf_'.
@@ -45,323 +47,323 @@
  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  ************************************************************************************/
- 
+
 $language_data = array (
-	'LANG_NAME' => 'Winbatch',
-	'COMMENT_SINGLE' => array(1 => ';', 2 => ':'),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"', '`'),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		1 => array(
-			'While', 'To', 'Then', 'Switch', 'Select', 'Return', 'Next', 'IntControl', 'Include', 'In', 'If', 
-			'Goto', 'GoSub', 'ForEach', 'For', 'Exit', 'Execute', 'ErrorMode', 'EndWhile', 'EndSwitch', '#EndSubRoutine', 
-			'EndSelect', 'EndIf', '#EEndFunction', 'EndFor', 'End', 'Else', 'DropWild', 'Drop', '#DefineSubRoutine', 
-			'#DefineFunction', 'Debug', 'Continue', 'Case', 'CallExt', 'Call', 'By', 'BreakPoint', 'Break'
-			),
-		2 => array(
-			'ZOOMED', 'YES', 'WORD4', 'WORD2', 'WORD1', 'WHOLESECTION', 'WAIT', 'UNSORTED', 'UNCHECK', 'TRUE', 'TILE', 
-			'TAB', 'STRING', 'STACK', 'SPC2NET', 'SORTED', 'SOK', 'SNET2PC', 'SINGLE', 'SHIFT', 'SERVER', 'SERRWINSOCK', 
-			'SERRVOICE', 'SERRSOCKET', 'SERRSERVICE', 'SERRSELECT', 'SERRPARAM', 'SERROUTOFMEM', 'SERRNOTFOUND', 'SERRNOCONN', 
-			'SERRNOANSWER', 'SERRMUSTWAIT', 'SERRIPADDR', 'SERRHOSTNAME', 'SERRFAILURE', 'SERRBUSY', 'SCROLLLOCK', 'SCANCEL', 
-			'SAVE', 'SALREADY', 'ROWS', 'REGUSERS', 'REGROOT', 'REGMACHINE', 'REGCURRENT', 'REGCLASSES', 'RDBLCLICK', 'RCLICK', 
-			'RBUTTON', 'RAD2DEG', 'QSUCCESSINFO', 'QSUCCESS', 'QSTILLEX', 'QROLLBACK', 'QNULL', 'QNODATA', 'QNEXT', 'QNEEDDATA', 
-			'QFIRST', 'QCOMMIT', 'QBADHANDLE', 'PRINTER', 'PLANCKJOULES', 'PLANCKERGS', 'PI', 'PARSEONLY', 'PARSEC', 'P3ERRREPLY', 
-			'OPEN', 'ON', 'OFF', 'NUMLOCK', 'NOWAIT', 'NOTIFY', 'NORMAL', 'NORESIZE', 'NONE', 'NO', 'NCSAFORMAT', 'MULTIPLE', 
-			'MSFORMAT', 'MPLAYRDBLCK', 'MPLAYRCLK', 'MPLAYRBUTTON', 'MPLAYMDBLCK', 'MPLAYMCLK', 'MPLAYMBUTTON', 'MPLAYLDBLCK', 
-			'MPLAYLCLK', 'MPLAYLBUTTON', 'MINOR', 'MDBLCLICK', 'MCLICK', 'MBYESNO', 'MBUTTON', 'MBOKCANCEL', 'MAJOR', 'MAGFIELD', 
-			'LOCALGROUP', 'LIGHTMTPS', 'LIGHTMPS', 'LF', 'LDBLCLICK', 'LCLICK', 'LBUTTON', 'LAFFDBERROR', 'ICON', 'HTTPS', 'HTTP', 
-			'HNOHEADER', 'HMETHODPOST', 'HMETHODGET', 'HIDDEN', 'HHEADERONLY', 'HHEADER', 'GRAVITATION', 'GOPHER', 'GOLDENRATIO', 
-			'GMTSEC', 'GLOBALGROUP', 'GFTSEC', 'GETPROCID', 'GETEXITCODE', 'FWDSCAN', 'FTPPASSIVE', 'FTP', 'FLOAT8', 'FARADAY', 
-			'FALSE', 'EXTENDED', 'EULERS', 'ENABLE', 'ELECTRIC', 'DRIVE', 'DISABLE', 'DESCENDING', 'DEG2RAD', 'DEFAULT', 'CTRL', 
-			'CRLF', 'CR', 'COMMONFORMAT', 'COLUMNS', 'CHECK', 'CAPSLOCK', 'CANCEL', 'BOLTZMANN', 'BACKSCAN', 'AVOGADRO', 'ATTR_X', 
-			'ATTR_T', 'ATTR_SY', 'ATTR_SH', 'ATTR_RO', 'ATTR_RI', 'ATTR_P', 'ATTR_IC', 'ATTR_H', 'ATTR_DM', 'ATTR_DI', 'ATTR_DC', 
-			'ATTR_CI', 'ATTR_A', 'ASCENDING', 'ARRANGE', 'AMC', 'ACC_WRITE', 'ACC_READ_NT', 'ACC_READ_95', 'ACC_READ', 'ACC_PRINT_NT', 
-			'ACC_PMANG_NT', 'ACC_PFULL_NT', 'ACC_LIST', 'ACC_FULL_NT', 'ACC_FULL_95', 'ACC_DELETE', 'ACC_CREATE', 'ACC_CONTROL', 
-			'ACC_CHNG_NT', 'ACC_ATTRIB', 'ABOVEICONS'			
-			),
-		3 => array(
-			'Yields', 'Yield', 'WinZoom', 'WinWaitExist', 'WinWaitClose', 'WinWaitChild', 'WinVersion', 'WinTitle', 'WinSysInfo', 
-			'WinState', 'WinShow', 'WinResources', 'WinPositionChild', 'WinPosition', 'WinPlaceSet', 'WinPlaceGet', 'WinPlaceChild', 
-			'WinPlace', 'WinParmSet', 'WinParmGet', 'WinName', 'WinMetrics', 'WinItemProcId', 'WinItemNameId', 'WinItemizeEx', 
-			'WinItemize', 'WinItemChild', 'WinIsDos', 'WinIdGet', 'WinIconize', 'WinHide', 'WinHelp', 'WinGetactive', 'WinExistchild', 
-			'WinExist', 'WinExename', 'WinConfig', 'WinClosenot', 'WinClose', 'WinArrange', 'WinActivechild', 'WinActivchild', 
-			'WinActivate', 'WebVerifyCard', 'WebSetTimeout', 'WebParamSize', 'WebParamNames', 'WebParamFile', 'WebParamData', 
-			'WebParamBuf', 'WebOutFile', 'WebOutBinary', 'WebOut', 'WebDumpError', 'WebDatData', 'WebCounter', 'WebConSize', 'WebConData', 
-			'WebConBuf', 'WebCmdData', 'WebBaseConv', 'Wallpaper', 'WaitForKeyEX', 'WaitForKey', 'VersionDLL', 'Version', 'VarType', 
-			'TimeYmdHms', 'TimeWait', 'TimeSubtract', 'TimeJulToYmd', 'TimeJulianDay', 'TimeDiffSecs', 'TimeDiffDays', 'TimeDiff', 'TimeDelay', 
-			'TimeDate', 'TimeAdd', 'TextSelect', 'TextBoxSort', 'TextBox', 'Terminate', 'Tanh', 'Tan', 'SysParamInfo', 'SvcWaitForCmd', 
-			'SvcSetState', 'SvcSetAccept', 'StrUpper', 'StrTrim', 'StrSubWild', 'StrSub', 'StrScan', 'StrReplace', 'StrLower', 'StrLenWild', 
-			'StrLen', 'StrIndexWild', 'StrIndexNC', 'StrIndex', 'StriCmp', 'StrFixLeft', 'StrFixCharsL', 'StrFixChars', 'StrFix', 'StrFill', 
-			'StrCnt', 'StrCmp', 'StrClean', 'StrCharCount', 'StrCat', 'StrByteCount', 'Sqrt', 'SoundVolume', 'Sounds', 'Snapshot', 'Sinh', 'Sin', 
-			'ShortCutMake', 'ShortCutInfo', 'ShortCutExtra', 'ShortCutEdit', 'ShortCutDir', 'ShellExecute', 'SendMenusToEx', 'SendMenusTo', 
-			'SendKeysTo', 'SendKeysChild', 'SendKey', 'RunZoomWait', 'RunZoom', 'RunWithLogon', 'RunWait', 'RunShell', 'RunIconWait', 
-			'RunIcon', 'RunHideWait', 'RunHide', 'RunExit', 'RunEnviron', 'Run', 'RtStatus', 'Reload', 'RegUnloadHive', 'RegSetValue', 
-			'RegSetQword', 'RegSetMulSz', 'RegSetExpSz', 'RegSetEx', 'RegSetDword', 'RegSetBin', 'RegQueryValue', 'RegQueryStr', 
-			'RegQueryQword', 'RegQueryMulSz', 'RegQueryKeys', 'RegQueryKeyLastWriteTime', 'RegQueryKey', 'RegQueryItem', 'RegQueryExpSz', 
-			'RegQueryEx', 'RegQueryDword', 'RegQueryBin', 'RegOpenKeyEx', 'RegOpenKey', 'RegOpenFlags', 'RegLoadHive', 'RegExistValue', 
-			'RegExistKey', 'RegEntryType', 'RegDelValue', 'RegDeleteKey', 'RegCreateKey', 'RegConnect', 'RegCloseKey', 'RegApp', 'Random', 
-			'PtrPersistent', 'PtrGlobalDefine', 'PtrGlobal', 'Print', 'PlayWaveform', 'PlayMidi', 'PlayMedia', 'PipeServerWrite', 'PipeServerRead', 
-			'PipeServerCreate', 'PipeServerClose', 'PipeInfo', 'PipeClientSendRecvData', 'PipeClientOpen', 'PipeClientClose', 'Pause', 
-			'ParseData', 'ObjectTypeGet', 'ObjectType', 'ObjectOpen', 'ObjectGet', 'ObjectEventRemove', 'objecteventremove', 'ObjectEventAdd', 
-			'objecteventadd', 'ObjectCreate', 'ObjectConstToArray', 'ObjectConstantsGet', 'ObjectCollectionOpen', 'ObjectCollectionNext', 
-			'ObjectCollectionClose', 'ObjectClose', 'ObjectAccess', 'Num2Char', 'NetInfo', 'MsgTextGet', 'MousePlay', 'MouseMove', 'MouseInfo', 
-			'MouseDrag', 'MouseCoords', 'MouseClickBtn', 'MouseClick', 'mod', 'Min', 'Message', 'Max', 'Loge', 'LogDisk', 'Log10', 'LastError', 
-			'KeyToggleSet', 'KeyToggleGet', 'ItemSortNc', 'ItemSort', 'ItemSelect', 'ItemReplace', 'ItemRemove', 'ItemLocate', 'ItemInsert', 
-			'ItemExtractCSV', 'ItemExtract', 'ItemCountCSV', 'ItemCount', 'IsNumber', 'IsLicensed', 'IsKeyDown', 'IsInt', 'IsFloat', 'IsDefined', 
-			'Int', 'InstallFile', 'IniWritePvt', 'IniWrite', 'IniReadPvt', 'IniRead', 'IniItemizePvt', 'IniItemize', 'IniDeletePvt', 'IniDelete', 
-			'IgnoreInput', 'IconReplace', 'IconInfo', 'IconExtract', 'IconArrange', 'GetTickCount', 'GetObject', 'GetExactTime', 'Floor', 
-			'FindWindow', 'FileYmdHms', 'FileWrite', 'FileVerInfo', 'FileTimeTouch', 'FileTimeSetEx', 'FileTimeSet', 'FileTimeGetEx', 
-			'FileTimeGet', 'FileTimeCode', 'FileSizeEx', 'FileSize', 'FileRoot', 'FileRename', 'FileRead', 'FilePutW', 'FilePut', 'FilePath', 
-			'FileOpen', 'FileNameShort', 'FileNameLong', 'FileNameEval2', 'FileNameEval1', 'FileMoveAttr', 'FileMove', 'FileMapName', 
-			'FileLocate', 'FileItemPath', 'FileItemize', 'FileInfoToArray', 'FileGetW', 'FileGet', 'FileFullname', 'FileExtension', 'FileExist', 
-			'FileDelete', 'FileCreateTemp', 'FileCopyAttr', 'FileCopy', 'FileCompare', 'FileClose', 'FileBaseName', 'FileAttrSetEx', 
-			'FileAttrSet', 'FileAttrGetEx', 'FileAttrGet', 'FileAppend', 'Fabs', 'ExtractAttachedFile', 'Exp', 'ExeTypeInfo', 'Exclusive', 
-			'EnvItemize', 'EnvironSet', 'Environment', 'EndSession', 'DosVersion', 'DllLoad', 'DllLastError', 'DllHwnd', 'DllHinst', 
-			'DllFree', 'DllCallCDecl', 'DllCall', 'Display', 'DiskVolinfo', 'DiskSize', 'DiskScan', 'DiskInfo', 'DiskFree', 'DiskExist', 
-			'DirWindows', 'DirSize', 'DirScript', 'DirRename', 'DirRemove', 'DirMake', 'DirItemize', 'DirInfoToArray', 'DirHome', 'DirGet', 
-			'DirExist', 'DirChange', 'DirAttrSetEx', 'DirAttrSet', 'DirAttrGetEx', 'DirAttrGet', 'DialogProcOptions', 'DialogObject', 
-			'DialogControlState', 'DialogControlSet', 'DialogControlGet', 'DialogBox', 'Dialog', 'Delay', 'Decimals', 'DebugTrace', 
-			'DebugData', 'DDETimeout', 'DDETerminate', 'DDERequest', 'DDEPoke', 'DDEInitiate', 'DDEExecute', 'DateTime', 'CurrFilepath', 
-			'CurrentPath', 'CurrentFile', 'CreateObject', 'Cosh', 'Cos', 'ClipPut', 'ClipHasFormat', 'ClipGetEx', 'ClipGet', 'ClipAppend', 
-			'ChrUnicodeToString', 'ChrUnicodeToHex', 'ChrStringToUnicode', 'ChrSetCodepage', 'ChrHexToUnicode', 'ChrGetCodepage', 
-			'Char2Num', 'Ceiling', 'ButtonNames', 'BoxUpdates', 'BoxTitle', 'BoxTextFont', 'BoxTextColor', 'BoxText', 'BoxShut', 'BoxPen', 
-			'BoxOpen', 'BoxNew', 'BoxMapmode', 'BoxesUp', 'BoxDrawText', 'BoxDrawRect', 'BoxDrawLine', 'BoxDrawCircle', 'BoxDestroy', 
-			'BoxDataTag', 'BoxDataClear', 'BoxColor', 'BoxCaption', 'BoxButtonWait', 'BoxButtonStat', 'BoxButtonKill', 'BoxButtonDraw', 
-			'BoxBitMap', 'BinaryXor', 'BinaryXlate', 'BinaryWriteEx', 'BinaryWrite', 'BinaryTagRepl', 'BinaryTagLen', 'BinaryTagInit', 
-			'BinaryTagIndex', 'BinaryTagFind', 'BinaryTagExtr', 'BinaryStrCnt', 'BinarySort', 'BinaryReplace', 'BinaryReadEx', 
-			'BinaryRead', 'BinaryPokeStrW', 'BinaryPokeStr', 'BinaryPokeHex', 'BinaryPokeFlt', 'BinaryPoke4', 'BinaryPoke2', 'BinaryPoke', 
-			'BinaryPeekStrW', 'BinaryPeekStr', 'BinaryPeekHex', 'BinaryPeekFlt', 'BinaryPeek4', 'BinaryPeek2', 'BinaryPeek', 'BinaryOr', 
-			'BinaryOleType', 'BinaryIndexNc', 'BinaryIndexEx', 'BinaryIndexBin', 'BinaryIndex', 'BinaryIncrFlt', 'BinaryIncr4', 
-			'BinaryIncr2', 'BinaryIncr', 'BinaryHashRec', 'BinaryFree', 'BinaryEodSet', 'BinaryEodGet', 'BinaryCopy', 'BinaryConvert', 
-			'BinaryCompare', 'BinaryClipPut', 'BinaryClipGet', 'BinaryChecksum', 'BinaryBufInfo', 'BinaryAnd', 'BinaryAllocArray', 
-			'BinaryAlloc', 'Beep', 'Average', 'Atan', 'AskYesNo', 'AskTextbox', 'AskPassword', 'AskLine', 'AskItemlist', 'AskFont', 
-			'AskFiletext', 'AskFilename', 'AskDirectory', 'AskColor', 'Asin', 'ArrInitialize', 'ArrInfo', 'ArrDimension', 
-			'Arrayize', 'ArrayFilePutCSV', 'ArrayFilePut', 'ArrayFileGetCSV', 'ArrayFileGet', 'AppWaitClose', 'AppExist', 'AddExtender', 
-			'Acos', 'Abs', 'About'
-			),
-		4 => array(
-			'zZipFiles', 'zVersionInfo', 'zVersion', 'zUnZipFiles', 'zSetPortBit', 'zRPortShift', 'zPortOut', 'zPortIn', 'zNotPortBit', 
-			'zLPortShift', 'zGetPortBit', 'zClrPortBit', 'xVerifyCCard', 'xSendMessage', 'xMessageBox', 'xMemCompact', 'xHex', 'xGetElapsed', 
-			'xGetChildHwnd', 'xExtenderInfo', 'xEnumStreams', 'xEjectMedia', 'xDriveReady', 'xDiskLabelGet', 'xCursorSet', 'xBaseConvert', 
-			'wxPing', 'wxParmSet', 'wxParmGet', 'wxMsgSetHdr', 'wxMsgGetHdr', 'wxMsgGetBody', 'wxHost2Addr', 'wxGetLastErr', 'wxGetInfo', 
-			'wxGetErrDesc', 'wxAddr2Host', 'wtsWaitSystemEvent', 'wtsVersion', 'wtsTerminateProcess', 'wtsShutdownSystem', 'wtsSendMessage', 
-			'wtsQuerySessionInfo', 'wtsProcIdToSessId', 'wtsLogoffSession', 'wtsLastErrMsg', 'wtsIsTSEnabled', 'wtsIsCitrixEnabled', 
-			'wtsGetActiveConsoleSessId', 'wtsEnumSessions', 'wtsEnumProcesses', 'wtsDisconnectSession', 'wnWrkGroups', 'wnVersion', 'wntWtsUserSet', 
-			'wntWtsUserGet', 'wntVersion', 'wntUserSidChk', 'wntUserSetDat', 'wntUserRename', 'wntUserProps', 'wntUserList', 'wntUserInfo', 
-			'wntUserGetDat', 'wntUserFiles', 'wntUserExist', 'wntUserDel', 'wntUserAddDat', 'wntUserAdd', 'wntSvcStatus', 'wntSvcStart', 
-			'wntSvcList', 'wntSvcDelete', 'wntSvcCreate', 'wntSvcControl', 'wntSvcCfgSet', 'wntSvcCfgGet', 'wntShutdown', 'wntShareUsers', 
-			'wntShareSet', 'wntShareList', 'wntShareInfo', 'wntShareDel', 'wntShareAdd', 'wntServiceInf', 'wntServiceAt', 'wntServerType', 
-			'wntServerList', 'wntServerInfo', 'wntSecurityGet', 'wntRunAsUser', 'wntResources2', 'wntResources', 'wntRemoteTime', 'wntRasUserSet', 
-			'wntRasUserGet', 'wntProfileInfo', 'wntProfileDel', 'wntPrivUsers', 'wntPrivList', 'wntPrivGet', 'wntPrivDel', 'wntPrivAdd', 
-			'wntOwnerSet', 'wntOwnerGet', 'wntMemberSet', 'wntMemberLst2', 'wntMemberList', 'wntMemberGrps', 'wntMemberGet', 'wntMemberDel', 
-			'wntLsaPolSet', 'wntLsaPolGet', 'wntListGroups', 'wntLastErrMsg', 'wntGroupRen', 'wntGroupInfo', 'wntGroupEdit', 'wntGroupDel', 
-			'wntGroupAdd', 'wntGetUser', 'wntGetDrive', 'wntGetDc', 'wntGetCon', 'wntFileUsers', 'wntFilesOpen', 'wntFileClose', 'wntEventWrite', 
-			'wntEventLog', 'wntDomainSync', 'wntDirDialog', 'wntDfsList', 'wntDfsGetInfo', 'wntCurrUsers', 'wntChgPswd', 'wntCancelCon', 
-			'wntAuditMod', 'wntAuditList', 'wntAuditGet', 'wntAuditDel', 'wntAuditAdd2', 'wntAuditAdd', 'wntAddPrinter', 'wntAddDrive', 
-			'wntAcctPolSet', 'wntAcctPolGet', 'wntAcctList', 'wntAcctInfo', 'wntAccessMod', 'wntAccessList', 'wntAccessGet', 'wntAccessDel', 
-			'wntaccessadd2', 'wntAccessAdd', 'wnShares', 'wnSharePath', 'wnShareName', 'wnShareCnt', 'wnServers', 'wnRestore', 'wnNetNames', 
-			'wnGetUser', 'wnGetCon', 'wnGetCaps', 'wnDlgShare', 'wnDlgNoShare', 'wnDlgDiscon', 'wnDlgCon4', 'wnDlgCon3', 'wnDlgCon2', 'wnDlgCon', 
-			'wnDlgBrowse', 'wnDialog', 'wnCmptrInfo', 'wnCancelCon', 'wnAddCon', 'WaitSRQ', 'w9xVersion', 'w9xUserSetDat', 'w9xUserRename', 
-			'w9xUserprops', 'w9xUserList', 'w9xUserinfo', 'w9xUserGetDat', 'w9xUserExist', 'w9xUserDel', 'w9xUserAddDat', 'w9xUserAdd', 'w9xShareSet', 
-			'w9xShareInfo', 'w9xShareDel', 'w9xShareAdd', 'w9xServiceAt', 'w9xServerList', 'w9xRemoteTime', 'w9xOwnerGet', 'w9xMemberSet', 
-			'w9xMemberList', 'w9xMemberGrps', 'w9xMemberGet', 'w9xMemberDel', 'w9xListGroups', 'w9xGroupInfo', 'w9xGroupDel', 'w9xGroupAdd', 
-			'w9xGetDC', 'w9xFileUsers', 'w9xAccessList', 'w9xAccessGet', 'w9xAccessDel', 'w9xAccessAdd', 'w95Version', 'w95ShareUsers', 
-			'w95ShareSet', 'w95ShareList', 'w95ShareInfo', 'w95ShareDel', 'w95ShareAdd', 'w95ServiceInf', 'w95ServiceAt', 'w95ServerType', 
-			'w95ServerInfo', 'w95Resources', 'w95GetUser', 'w95GetDrive', 'w95GetCon', 'w95FileUsers', 'w95FileClose', 'w95DirDialog', 
-			'w95CancelCon', 'w95AddPrinter', 'w95AddDrive', 'w95AccessDel', 'w95AccessAdd', 'w3Version', 'w3PrtBrowse', 'w3NetGetUser', 
-			'w3NetDialog', 'w3GetCon', 'w3GetCaps', 'w3DirBrowse', 'w3CancelCon', 'w3AddCon', 'urlGetScheme', 'urlEncode', 'urlDecode', 
-			'tVersion', 'tSetPriority', 'TriggerList', 'Trigger', 'tRemoteConn', 'tOpenProc', 'tListProc', 'tListMod', 'tKillProc', 'tGetProcInfo', 
-			'tGetPriority', 'tGetModInfo', 'tGetLastError', 'tGetData', 'TestSys', 'TestSRQ', 'tCountProc', 'tCompatible', 'tCloseProc', 
-			'tBrowseCntrs', 'sSendString', 'sSendNum', 'sSendLine', 'sSendBinary', 'sRecvNum', 'sRecvLine', 'sRecvBinary', 'SrchVersion', 
-			'SrchNext', 'SrchInit', 'SrchFree', 'sOpen', 'sOK2Send', 'sOK2Recv', 'smtpSendText', 'smtpSendFile', 'sListen', 'SetRWLS', 
-			'SendSetup', 'SendLLO', 'SendList', 'SendIFC', 'SendDataBytes', 'SendCmds', 'Send', 'sConnect', 'sClose', 'SByteOrder32', 
-			'sByteOrder16', 'sAccept', 'rRegVersion', 'rRegSearch', 'ResetSys', 'ReceiveSetup', 'Receive', 'ReadStsByte', 'RcvRespMsg', 
-			'RasVersion', 'RasTypeSize', 'RasRename', 'RasNumCons', 'RasNameValid', 'RasListActCon', 'RasItemize', 'RasHangUp', 'RasGetLastErr', 
-			'RasGetConStat', 'RasEntrySet', 'RasEntryInfo', 'RasEntryExist', 'RasEntryDel', 'RasEntryAdd', 'RasDialInfo', 'RasDial', 
-			'RasCopy', 'RasConStatus', 'qVersionInfo', 'qTransact', 'qTables', 'qSpecial', 'qSetConnOpt', 'qNumRsltCol', 'qNativeSql', 'qLastCode', 
-			'qGetData', 'qFreeStmt', 'qFreeEnv', 'qFreeConnect', 'qFetch', 'qExecDirect', 'qError', 'qDriverList', 'qDriverCon', 'qDisconnect', 
-			'qDataSources', 'qConnect', 'qConfigError', 'qConfigData', 'qColumns', 'qBindCol', 'qAllocStmt', 'qAllocEnv', 'qAllocConnect', 
-			'pWaitFor', 'pVersionInfo', 'pTimeout', 'pSetPublish', 'pSetPrtInfo', 'pSetPrtAttrib', 'pSetDefPrtEx', 'pSetDefPrt', 'pSendFile', 
-			'pRecvFile', 'pPutString', 'pPutLine', 'pPutChar', 'pPutByte', 'pPutBinary', 'PPollUnconfig', 'PPollConfig', 'PPoll', 'pPeekChar', 
-			'pPeekByte', 'pPaperSizes', 'pPaperBins', 'pModemSReg', 'pModemParams', 'pModemInit', 'pModemHangUp', 'pModemDial', 'pModemControl', 
-			'pModemConnect', 'pModemCommand', 'pModemAnsRing', 'pModemAnsCall', 'pMediaTypes', 'pGetString', 'pGetPublish', 'pGetPrtList', 
-			'pGetPrtInfo', 'pGetPrtAttrib', 'pGetLine', 'pGetLastError', 'pGetErrorMsg', 'pGetErrorCode', 'pGetDefPrtInf', 'pGetChar', 
-			'pGetByte', 'pGetBinary', 'pDelPrtConn', 'pDelPrinter', 'pComOpen', 'pComModify', 'pComInfo', 'pComControl', 'pComClose', 
-			'pCheckSum', 'pCheckBinary', 'pCaptureOn', 'pCaptureOff', 'pCaptureLog', 'PassControl', 'pAddPrtConn', 'pAddPrinter', 'p3RecvText', 
-			'p3RecvFile', 'p3Peek', 'p3Open', 'p3GetReply', 'p3Delete', 'p3Count', 'p3Close', 'nwWhoAmI', 'nwVfyPassword', 'nwVersion', 
-			'nwSrvShutdown', 'nwSrvNLMMgr', 'nwSrvGenGUID', 'nwSrvExecNCF', 'nwSetVolLimit', 'nwSetSrvParam', 'nwSetSrvInfo', 'nwSetPrimServ', 
-			'nwSetPassword', 'nwSetOptions', 'nwSetFileInfo', 'nwSetDirLimit', 'nwSetDirInfo', 'nwSetContext', 'nwSetBcastMode', 'nwServerList', 
-			'nwSendBcastMsg', 'nwSearchObjects', 'nwSearchFilter', 'nwRenameObject', 'nwRemoveObject', 'nwReceiveBcastMsg', 'nwNameConvert', 
-			'nwMutateObject', 'nwMoveObject', 'nwModifyObject', 'nwMapDelete', 'nwMap', 'nwLogout', 'nwLogin', 'nwListUserGroups', 
-			'nwListObjects', 'nwListGroupMembers', 'nwLastErrMsg', 'nwIsUserInGroup', 'nwGetVolLimit', 'nwGetSrvStats', 'nwGetSrvParam', 
-			'nwGetSrvInfo', 'nwGetSrvCfg', 'nwGetOptions', 'nwGetObjValue', 'nwGetObjInfo', 'nwGetNLMInfo', 'nwGetMapped', 'nwGetFileInfo', 
-			'nwGetDirLimit', 'nwGetDirInfo', 'nwGetContext', 'nwGetConnInfo', 'nwGetCapture', 'nwGetBcastMode', 'nwGetAttrInfo', 
-			'nwDriveStatus', 'nwDrivePath', 'nwDetachFromServer', 'nwDelUserFromGroup', 'nwDelConnNum', 'nwCompareObject', 'nwClientInfo', 
-			'nwChgPassword', 'nwAttachToServer', 'nwAddUserToGroup', 'nwAddObject', 'netVersion', 'netResources', 'netGetUser', 'netGetCon', 
-			'netDirDialog', 'netCancelCon', 'netAddPrinter', 'netAddDrive', 'n4Version', 'n4UserGroups', 'n4UserGroupEx', 'n4SetPrimServ', 
-			'n4SetOptions', 'n4SetContextG', 'n4SetContext', 'n4ServerList', 'n4ServerInfo', 'n4ObjSearch', 'n4ObjRename', 'n4ObjOptions', 
-			'n4ObjMove', 'n4ObjGetVal', 'n4ObjectProps', 'n4ObjectList', 'n4ObjectInfo', 'n4ObjDelete', 'n4NameConvert', 'n4MsgsEndAll', 
-			'n4MsgsEnd', 'n4MemberSet', 'n4MemberGet', 'n4MemberDel', 'n4MapRoot', 'n4MapDir', 'n4MapDelete', 'n4Map', 'n4LogoutTree', 
-			'n4Logout', 'n4Login', 'n4GetUserName', 'n4GetUserId', 'n4GetUser', 'n4GetNetAddr', 'n4GetMapped', 'n4GetContext', 
-			'n4GetConnNum', 'n4FileUsers', 'n4FileTimeGet', 'n4FileAttrSet', 'n4FileAttrGet', 'n4DriveStatus', 'n4DrivePath', 'n4DirTimeGet', 
-			'n4DirAttrSet', 'n4DirAttrGet', 'n4Detach', 'n4ChgPassword', 'n4CapturePrt', 'n4CaptureGet', 'n4CaptureEnd', 'n4Attach', 
-			'n3Version', 'n3UserGroups', 'n3ServerList', 'n3ServerInfo', 'n3MsgsEndAll', 'n3MsgsEnd', 'n3MemberSet', 'n3MemberGet', 
-			'n3MemberDel', 'n3Maproot', 'n3Mapdir', 'n3Mapdelete', 'n3Map', 'n3Logout', 'n3GetUserId', 'n3GetUser', 'n3GetNetAddr', 
-			'n3GetMapped', 'n3GetConnNum', 'n3FileTimeGet', 'n3FileAttrSet', 'n3FileAttrGet', 'n3DriveStatus', 'n3DrivePath', 
-			'n3DirTimeGet', 'n3DirAttrSet', 'n3DirAttrGet', 'n3Detach', 'n3ChgPassword', 'n3CapturePrt', 'n3CaptureGet', 
-			'n3CaptureEnd', 'n3Attach', 'mVersion', 'mSyncMail', 'mSendMailEx', 'mSendMail', 'mrecvmail', 'mReadNextMsg', 'mLogOn', 
-			'mLogOff', 'mFindNext', 'mError', 'mCompatible', 'kVerInfo', 'kStatusInfo', 'kSendText', 'kSendFile', 'kManageImap4', 
-			'kInit', 'kGetMail', 'kExtra', 'kDest', 'kDeletePop3', 'iWriteDataBuf', 'iWriteData', 'iVersion', 'IUrlOpen', 'iUrlEncode', 
-			'iUrlDecode', 'iReadDataBuf', 'iReadData', 'ipVersion', 'ipPing', 'iPing', 'ipHost2Addr', 'ipGetLastErr', 'ipGetAddress', 
-			'iParseURL', 'ipAddr2Host', 'iOptionSet', 'iOptionGet', 'ImgWave', 'ImgVersion', 'ImgUnsharpMask', 'ImgThreshold', 'ImgSwirl', 
-			'ImgSpread', 'ImgSolarize', 'ImgShear', 'ImgSharpen', 'ImgShade', 'ImgScale', 'ImgSample', 'ImgRotate', 'ImgResize', 
-			'ImgReduceNoise', 'ImgRaise', 'ImgOilPaint', 'ImgNormalize', 'ImgNegate', 'ImgMotionBlur', 'ImgModulate', 'ImgMinify', 
-			'ImgMedianFilter', 'ImgMagnify', 'ImgLevel', 'ImgIsValid', 'ImgIsPalette', 'ImgIsMono', 'ImgIsGray', 'ImgInfo', 'ImgImplode', 
-			'ImgGetImageType', 'ImgGetColorCount', 'ImgGaussianBlur', 'ImgGamma', 'ImgFrame', 'ImgFlop', 'ImgFlip', 'ImgEqualize', 
-			'ImgEnhance', 'ImgEmboss', 'ImgCrop', 'ImgConvert', 'ImgContrast', 'ImgCompare', 'ImgColorize', 'ImgChop', 'ImgCharcoal', 
-			'ImgBorder', 'ImgBlur', 'ImgAddNoise', 'iLocFindNext', 'iLocFindInit', 'iHttpOpen', 'iHttpInit', 'iHttpHeaders', 'iHttpAccept', 
-			'iHostConnect', 'iHost2Addr', 'iGetResponse', 'iGetLastError', 'iGetIEVer', 'iGetConStatEx', 'iGetConState', 'iFtpRename', 
-			'iFtpPut', 'iFtpOpen', 'iFtpGet', 'iFtpFindNext', 'iFtpFindInit', 'iFtpDirRemove', 'iFtpDirMake', 'iFtpDirGet', 'iFtpDirChange', 
-			'iFtpDialog', 'iFtpDelete', 'iFtpCmd', 'iErrorDialog', 'iDialItemize', 'iDialHangUp', 'iDial', 'iCookieSet', 'iCookieGet', 
-			'iContentURL', 'iContentFile', 'iContentData', 'iClose', 'ibWrtf', 'ibWrt', 'ibWait', 'ibVersion', 'ibUnlock', 'ibTrg', 
-			'ibTmo', 'ibStop', 'ibStatus', 'ibSta', 'ibSre', 'ibSic', 'ibSad', 'ibRsv', 'ibRsp', 'ibRsc', 'ibRpp', 'ibRdf', 'ibRd', 
-			'ibPpc', 'ibPoke', 'ibPct', 'ibPad', 'ibOnl', 'ibMakeAddr', 'ibLock', 'ibLoc', 'ibLn', 'ibLines', 'ibIst', 'ibInit', 
-			'ibGts', 'ibGetSad', 'ibGetPad', 'ibFind', 'ibEvent', 'ibErr', 'ibEot', 'ibEos', 'iBegin', 'ibDma', 'ibDev', 'ibConfig', 
-			'ibCntl', 'ibCnt', 'ibCmda', 'ibCmd', 'ibClr', 'ibCac', 'ibBna', 'ibAsk', 'iAddr2Host', 'huge_Thousands', 'huge_Subtract', 
-			'huge_SetOptions', 'huge_Multiply', 'huge_GetLastError', 'huge_ExtenderInfo', 'huge_Divide', 'huge_Decimal', 'huge_Add', 
-			'httpStripHTML', 'httpRecvTextF', 'httpRecvText', 'httpRecvQuery', 'httpRecvQryF', 'httpRecvFile', 'httpGetServer', 
-			'httpGetQuery', 'httpGetPath', 'httpGetFile', 'httpGetDir', 'httpGetAnchor', 'httpFullPath', 'httpFirewall', 'httpAuth', 
-			'ftpRename', 'ftpQuote', 'ftpPut', 'ftpOpen', 'ftpList', 'ftpGet', 'ftpFirewall', 'ftpDelete', 'ftpClose', 'ftpChDir', 
-			'FindRQS', 'FindLstn', 'EnvSetVar', 'EnvPathDel', 'EnvPathChk', 'EnvPathAdd', 'EnvListVars', 'EnvGetVar', 'EnvGetInfo', 
-			'EnableRemote', 'EnableLocal', 'ehllapiWait', 'ehllapiVersion', 'ehllapiUninit', 'ehllapiStopKeyIntercept', 'ehllapiStopHostNotify', 
-			'ehllapiStopCloseIntercept', 'ehllapiStartKeyIntercept', 'ehllapiStartHostNotify', 'ehllapiStartCloseIntercept', 
-			'ehllapiSetWindowStatus', 'ehllapiSetSessionParams', 'ehllapiSetPSWindowName', 'ehllapiSetCursorLoc', 'ehllapiSendKey', 
-			'ehllapiSendFile', 'ehllapiSearchPS', 'ehllapiSearchField', 'ehllapiRunProfile', 'ehllapiResetSystem', 'ehllapiReserve', 
-			'ehllapiRelease', 'ehllapiReceiveFile', 'ehllapiQuerySystem', 'ehllapiQueryPSStatus', 'ehllapiQueryHostNotify', 
-			'ehllapiQueryFieldAttr', 'ehllapiQueryCursorLoc', 'ehllapiQueryCloseIntercept', 'ehllapiPostInterceptStatus', 
-			'ehllapiPause', 'ehllapiLastErrMsg', 'ehllapiInit', 'ehllapiGetWindowStatus', 'ehllapiGetPSHWND', 'ehllapiGetKey', 
-			'ehllapiFindFieldPos', 'ehllapiFindFieldLen', 'ehllapiDisconnectPS', 'ehllapiCvtRCToPos', 'ehllapiCvtPosToRC', 
-			'ehllapiCopyTextToPS', 'ehllapiCopyTextToField', 'ehllapiCopyTextFromPS', 'ehllapiCopyTextFromField', 'ehllapiCopyOIA', 
-			'ehllapiConnectPS', 'dunItemize', 'dunDisconnect', 'dunConnectEx', 'dunConnect', 'dsTestParam', 'dsSIDtoHexStr', 'dsSetSecProp', 
-			'dsSetProperty', 'dsSetPassword', 'dsSetObj', 'dsSetCredentX', 'dsSetCredent', 'dsRemFromGrp', 'dsRelSecObj', 'dsMoveObj', 
-			'dsIsObject', 'dsIsMemberGrp', 'dsIsContainer', 'dsGetUsersGrps', 'dsGetSecProp', 'dsGetPropName', 'dsGetProperty', 
-			'dsGetPrntPath', 'dsGetPrimGrp', 'dsGetMemGrp', 'dsGetInfo', 'dsGetClass', 'dsGetChldPath', 'dsFindPath', 'dsDeleteObj', 
-			'dsCreatSecObj', 'dsCreateObj', 'dsCopySecObj', 'dsAddToGrp', 'dsAclRemAce', 'dsAclOrderAce', 'dsAclGetAces', 'dsAclAddAce', 
-			'DevClearList', 'DevClear', 'dbTest', 'dbSwapColumns', 'dbSort', 'dbSetRecordField', 'dbSetOptions', 'dbSetErrorReporting', 
-			'dbSetEntireRecord', 'dbSetDelimiter', 'dbSave', 'dbOpen', 'dbNameColumn', 'dbMakeNewItem', 'dbInsertColumn', 'dbGetVersion', 
-			'dbGetSaveStatus', 'dbGetRecordField', 'dbGetRecordCount', 'dbGetNextItem', 'dbGetLastError', 'dbGetEntireRecord', 
-			'dbGetColumnType', 'dbGetColumnNumber', 'dbGetColumnName', 'dbGetColumnCount', 'dbFindRecord', 'dbExist', 'dbEasterEgg', 
-			'dbDeleteRecord', 'dbDeleteColumn', 'dbDebug', 'dbCookDatabases', 'dbClose', 'dbCloneRecord', 'dbBindCol', 'cWndState', 
-			'cWndinfo', 'cWndGetWndSpecName', 'cWndGetWndSpec', 'cWndexist', 'cWndByWndSpecName', 'cWndByWndSpec', 'cWndbyseq', 
-			'cWndbyname', 'cWndbyid', 'cWndbyclass', 'cWinIDConvert', 'cVersionInfo', 'cVendorId', 'cSetWndText', 'cSetUpDownPos', 
-			'cSetTvItem', 'cSetTrackPos', 'cSetTabItem', 'cSetLvItem', 'cSetLbItemEx', 'cSetLbItem', 'cSetIpAddr', 'cSetFocus', 
-			'cSetEditText', 'cSetDtpDate', 'cSetCbItem', 'cSetCalDate', 'cSendMessage', 'cRadioButton', 'cPostMessage', 'cPostButton', 
-			'cMemStat', 'cGetWndCursor', 'cGetUpDownPos', 'cGetUpDownMin', 'cGetUpDownMax', 'cGetTVItem', 'cGetTrackPos', 'cGetTrackMin', 
-			'cGetTrackMax', 'cGetTbText', 'cGetSbText', 'cGetLvText', 'cGetLvSelText', 'cGetLvFocText', 'cGetLvDdtText', 'cGetLvColText', 
-			'cGetLbText', 'cGetLbSelText', 'cGetLbCount', 'cGetIpAddr', 'cGetInfo', 'cGetHrText', 'cGetFocus', 'cGetEditText', 'cGetDtpDate', 
-			'cGetControlImageCRC', 'cGetCBText', 'cGetCbCount', 'cGetCalDate', 'cFindByName', 'cFindByClass', 'cEnablestate', 'cDblClickItem', 
-			'cCpuSupt', 'cCpuSpeed', 'cCpuIdExt', 'cCpuId', 'cCpuFeat', 'cCpuBenchmark', 'cCloneCheck', 'cClickToolbar', 'cClickButton', 
-			'cClearTvItem', 'cClearLvItem', 'cClearLbAll', 'cCheckbox', 'aVersion', 'aStatusbar', 'aShellFolder', 'aMsgTimeout', 'AllSPoll', 
-			'aGetLastError', 'aFileRename', 'aFileMove', 'aFileDelete', 'aFileCopy'			
-			),
-		5 => array(
-			'wWordRight', 'wWordLeft', 'wWinTile', 'wWinRestore', 'wWinNext', 'wWinMinimize', 'wWinMaximize', 'wWinCloseAll', 'wWinClose', 
-			'wWinCascade', 'wWinArricons', 'wViewOutput', 'wViewOptions', 'wViewHtml', 'wUpperCase', 'wUpline', 'wUndo', 'wTopOfFile', 'wToggleIns', 
-			'wTab', 'wStatusMsg', 'wStartSel', 'wSpellcheck', 'wSetProject', 'wSetPrefs', 'wSetColblk', 'wSetBookmark', 'wSelWordRight', 
-			'wSelWordLeft', 'wSelUp', 'wSelTop', 'wSelRight', 'wSelPgUp', 'wSelPgDn', 'wSelLeft', 'wSelInfo', 'wSelHome', 'wSelEnd', 'wSelectAll', 
-			'wSelDown', 'wSelBottom', 'wRunRebuild', 'wRunMake', 'wRunExecute', 'wRunDebug', 'wRunConfig', 'wRunCompile', 'wRunCommand', 'wRight', 
-			'wRepeat', 'wRedo', 'wRecord', 'wProperties', 'wPrintDirect', 'wPrinSetup', 'wPrevError', 'wPaste', 'wPageUp', 'wPageDown', 'wNextError', 
-			'wNewLine', 'wLowerCase', 'wLineCount', 'wLeft', 'wInvertCase', 'wInsString', 'wInsLine', 'wHome', 'wHelpKeyword', 'wHelpKeybrd', 
-			'wHelpIndex', 'wHelpHelp', 'wHelpCmds', 'wHelpAbout', 'wGotoLine', 'wGotoCol', 'wGetWrap', 'wGetWord', 'wGetUndo', 'wGetSelstate', 
-			'wGetRedo', 'wGetOutput', 'wGetModified', 'wGetLineNo', 'wGetIns', 'wGetFilename', 'wGetColNo', 'wGetChar', 'wFtpOpen', 'wFindNext', 
-			'wFindInFiles', 'wFind', 'wFileSaveAs', 'wFileSave', 'wFileRevert', 'wFilePrint', 'wFilePgSetup', 'wFileOpen', 'wFileNew', 'wFileMerge', 
-			'wFileList', 'wFileExit', 'wEndSel', 'wEndOfFile', 'wEnd', 'wEdWrap', 'wEdWordRight', 'wEdWordLeft', 'wEdUpLine', 'wEdUndo', 'wEdTopOfFile', 
-			'wEdToggleIns', 'wEdTab', 'wEdStartSel', 'wEdSetColBlk', 'wEdSelectAll', 'wEdRight', 'wEdRedo', 'wEdPaste', 'wEdPageUp', 'wEdPageDown', 
-			'wEdNewLine', 'wEdLeft', 'wEdInsString', 'wEdHome', 'wEdGoToLine', 'wEdGoToCol', 'wEdGetWord', 'wEdEndSel', 'wEdEndOfFile', 'wEdEnd', 
-			'wEdDownLine', 'wEdDelete', 'wEdCutLine', 'wEdCut', 'wEdCopyLine', 'wEdCopy', 'wEdClearSel', 'wEdBackTab', 'wEdBackspace', 'wDownLine', 
-			'wDelete', 'wDelButton', 'wCutMarked', 'wCutLine', 'wCutAppend', 'wCut', 'wCopyMarked', 'wCopyLine', 'wCopyAppend', 'wCopy', 'wCompile', 
-			'wClearSel', 'wChange', 'wCallMacro', 'wBackTab', 'wBackspace', 'wAutoIndent', 'wAddButton', 'edWindowTile', 'edWindowRestore', 
-			'edWindowNext', 'edWindowMinimize', 'edWindowMaximize', 'edWindowCloseall', 'edWindowClose', 'edWindowCascade', 'edWindowArrangeIcons', 
-			'edStatusMsg', 'edSearchViewOutput', 'edSearchRepeat', 'edSearchPrevError', 'edSearchNextError', 'edSearchFind', 'edSearchChange', 
-			'edRunRebuild', 'edRunMake', 'edRunExecute', 'edRunDebug', 'edRunConfigure', 'edRunCompile', 'edRunCommand', 'edRecord', 'edHelpProcedures', 
-			'edHelpKeyword', 'edHelpKeyboard', 'edHelpIndex', 'edHelpHelp', 'edHelpCommands', 'edHelpAbout', 'edGetWordWrapState', 'edGetWindowName', 
-			'edGetUndoState', 'edGetSelectionState', 'edGetRedoState', 'edGetModifiedStatus', 'edGetLineNumber', 'edGetInsertState', 'edGetColumnNumber', 
-			'edGetChar', 'edFileSetPreferences', 'edFileSaveAs', 'edFileSave', 'edFilePrinterSetup', 'edFilePrint', 'edFilePageSetup', 'edFileOpen', 
-			'edFileNew', 'edFileMerge', 'edFileList', 'edFileExit', 'edEditWrap', 'edEditWordRight', 'edEditWordLeft', 'edEditUpLine', 'edEditUndo', 
-			'edEditToggleIns', 'edEditTab', 'edEditStartSelection', 'edEditSetColumnBlock', 'edEditSetBookmark', 'edEditSelectAll', 'edEditRight', 
-			'edEditRedo', 'edEditPaste', 'edEditPageUp', 'edEditPageDown', 'edEditLeft', 'edEditInsertString', 'edEditGoToLine', 'edEditGoToColumn', 
-			'edEditGoToBookmark', 'edEditGetCurrentWord', 'edEditEndSelection', 'edEditEndOfLine', 'edEditEndOfFile', 'edEditDownline', 'edEditDelete', 
-			'edEditCutline', 'edEditCut', 'edEditCopyline', 'edEditCopy', 'edEditClearSelection', 'edEditBeginningOfLine', 'edEditBeginningOfFile', 
-			'edEditBackTab', 'edEditBackspace', 'edDeleteButton', 'edAddButton'
-			)									
-		),
-	'SYMBOLS' => array(
-		'(', ')', '[', ']', '{', '}', '!', '+', '-', '~', '$', '^', '?', '@', '%', '#', '&', '*', '|', '/', '<', '>'	
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false,
-		5 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #800080;',
-			2 => 'color: #0080FF; font-weight: bold;',
-			3 => 'color: #0000FF;',
-			4 => 'color: #FF00FF;',
-			5 => 'color: #008000;'					
-			),	
-		'COMMENTS' => array(
-			1 => 'color: #008000; font-style: italic;',
-			2 => 'color: #FF1010; font-weight: bold;',
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			0 => 'color: #006600;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'REGEXPS' => array(
-			0 => 'color: #0000ff;'
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => '',
-		4 => '',
-		5 => ''
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTER' => '',
-	'REGEXPS' => array(
-		0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"
-		),
-	'STRICT_MODE_APPLIES' => GESHI_MAYBE,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'Winbatch',
+    'COMMENT_SINGLE' => array(1 => ';', 2 => ':'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"', '`'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'While', 'To', 'Then', 'Switch', 'Select', 'Return', 'Next', 'IntControl', 'Include', 'In', 'If',
+            'Goto', 'GoSub', 'ForEach', 'For', 'Exit', 'Execute', 'ErrorMode', 'EndWhile', 'EndSwitch', '#EndSubRoutine',
+            'EndSelect', 'EndIf', '#EEndFunction', 'EndFor', 'End', 'Else', 'DropWild', 'Drop', '#DefineSubRoutine',
+            '#DefineFunction', 'Debug', 'Continue', 'Case', 'CallExt', 'Call', 'By', 'BreakPoint', 'Break'
+            ),
+        2 => array(
+            'ZOOMED', 'YES', 'WORD4', 'WORD2', 'WORD1', 'WHOLESECTION', 'WAIT', 'UNSORTED', 'UNCHECK', 'TRUE', 'TILE',
+            'TAB', 'STRING', 'STACK', 'SPC2NET', 'SORTED', 'SOK', 'SNET2PC', 'SINGLE', 'SHIFT', 'SERVER', 'SERRWINSOCK',
+            'SERRVOICE', 'SERRSOCKET', 'SERRSERVICE', 'SERRSELECT', 'SERRPARAM', 'SERROUTOFMEM', 'SERRNOTFOUND', 'SERRNOCONN',
+            'SERRNOANSWER', 'SERRMUSTWAIT', 'SERRIPADDR', 'SERRHOSTNAME', 'SERRFAILURE', 'SERRBUSY', 'SCROLLLOCK', 'SCANCEL',
+            'SAVE', 'SALREADY', 'ROWS', 'REGUSERS', 'REGROOT', 'REGMACHINE', 'REGCURRENT', 'REGCLASSES', 'RDBLCLICK', 'RCLICK',
+            'RBUTTON', 'RAD2DEG', 'QSUCCESSINFO', 'QSUCCESS', 'QSTILLEX', 'QROLLBACK', 'QNULL', 'QNODATA', 'QNEXT', 'QNEEDDATA',
+            'QFIRST', 'QCOMMIT', 'QBADHANDLE', 'PRINTER', 'PLANCKJOULES', 'PLANCKERGS', 'PI', 'PARSEONLY', 'PARSEC', 'P3ERRREPLY',
+            'OPEN', 'ON', 'OFF', 'NUMLOCK', 'NOWAIT', 'NOTIFY', 'NORMAL', 'NORESIZE', 'NONE', 'NO', 'NCSAFORMAT', 'MULTIPLE',
+            'MSFORMAT', 'MPLAYRDBLCK', 'MPLAYRCLK', 'MPLAYRBUTTON', 'MPLAYMDBLCK', 'MPLAYMCLK', 'MPLAYMBUTTON', 'MPLAYLDBLCK',
+            'MPLAYLCLK', 'MPLAYLBUTTON', 'MINOR', 'MDBLCLICK', 'MCLICK', 'MBYESNO', 'MBUTTON', 'MBOKCANCEL', 'MAJOR', 'MAGFIELD',
+            'LOCALGROUP', 'LIGHTMTPS', 'LIGHTMPS', 'LF', 'LDBLCLICK', 'LCLICK', 'LBUTTON', 'LAFFDBERROR', 'ICON', 'HTTPS', 'HTTP',
+            'HNOHEADER', 'HMETHODPOST', 'HMETHODGET', 'HIDDEN', 'HHEADERONLY', 'HHEADER', 'GRAVITATION', 'GOPHER', 'GOLDENRATIO',
+            'GMTSEC', 'GLOBALGROUP', 'GFTSEC', 'GETPROCID', 'GETEXITCODE', 'FWDSCAN', 'FTPPASSIVE', 'FTP', 'FLOAT8', 'FARADAY',
+            'FALSE', 'EXTENDED', 'EULERS', 'ENABLE', 'ELECTRIC', 'DRIVE', 'DISABLE', 'DESCENDING', 'DEG2RAD', 'DEFAULT', 'CTRL',
+            'CRLF', 'CR', 'COMMONFORMAT', 'COLUMNS', 'CHECK', 'CAPSLOCK', 'CANCEL', 'BOLTZMANN', 'BACKSCAN', 'AVOGADRO', 'ATTR_X',
+            'ATTR_T', 'ATTR_SY', 'ATTR_SH', 'ATTR_RO', 'ATTR_RI', 'ATTR_P', 'ATTR_IC', 'ATTR_H', 'ATTR_DM', 'ATTR_DI', 'ATTR_DC',
+            'ATTR_CI', 'ATTR_A', 'ASCENDING', 'ARRANGE', 'AMC', 'ACC_WRITE', 'ACC_READ_NT', 'ACC_READ_95', 'ACC_READ', 'ACC_PRINT_NT',
+            'ACC_PMANG_NT', 'ACC_PFULL_NT', 'ACC_LIST', 'ACC_FULL_NT', 'ACC_FULL_95', 'ACC_DELETE', 'ACC_CREATE', 'ACC_CONTROL',
+            'ACC_CHNG_NT', 'ACC_ATTRIB', 'ABOVEICONS'
+            ),
+        3 => array(
+            'Yields', 'Yield', 'WinZoom', 'WinWaitExist', 'WinWaitClose', 'WinWaitChild', 'WinVersion', 'WinTitle', 'WinSysInfo',
+            'WinState', 'WinShow', 'WinResources', 'WinPositionChild', 'WinPosition', 'WinPlaceSet', 'WinPlaceGet', 'WinPlaceChild',
+            'WinPlace', 'WinParmSet', 'WinParmGet', 'WinName', 'WinMetrics', 'WinItemProcId', 'WinItemNameId', 'WinItemizeEx',
+            'WinItemize', 'WinItemChild', 'WinIsDos', 'WinIdGet', 'WinIconize', 'WinHide', 'WinHelp', 'WinGetactive', 'WinExistchild',
+            'WinExist', 'WinExename', 'WinConfig', 'WinClosenot', 'WinClose', 'WinArrange', 'WinActivechild', 'WinActivchild',
+            'WinActivate', 'WebVerifyCard', 'WebSetTimeout', 'WebParamSize', 'WebParamNames', 'WebParamFile', 'WebParamData',
+            'WebParamBuf', 'WebOutFile', 'WebOutBinary', 'WebOut', 'WebDumpError', 'WebDatData', 'WebCounter', 'WebConSize', 'WebConData',
+            'WebConBuf', 'WebCmdData', 'WebBaseConv', 'Wallpaper', 'WaitForKeyEX', 'WaitForKey', 'VersionDLL', 'Version', 'VarType',
+            'TimeYmdHms', 'TimeWait', 'TimeSubtract', 'TimeJulToYmd', 'TimeJulianDay', 'TimeDiffSecs', 'TimeDiffDays', 'TimeDiff', 'TimeDelay',
+            'TimeDate', 'TimeAdd', 'TextSelect', 'TextBoxSort', 'TextBox', 'Terminate', 'Tanh', 'Tan', 'SysParamInfo', 'SvcWaitForCmd',
+            'SvcSetState', 'SvcSetAccept', 'StrUpper', 'StrTrim', 'StrSubWild', 'StrSub', 'StrScan', 'StrReplace', 'StrLower', 'StrLenWild',
+            'StrLen', 'StrIndexWild', 'StrIndexNC', 'StrIndex', 'StriCmp', 'StrFixLeft', 'StrFixCharsL', 'StrFixChars', 'StrFix', 'StrFill',
+            'StrCnt', 'StrCmp', 'StrClean', 'StrCharCount', 'StrCat', 'StrByteCount', 'Sqrt', 'SoundVolume', 'Sounds', 'Snapshot', 'Sinh', 'Sin',
+            'ShortCutMake', 'ShortCutInfo', 'ShortCutExtra', 'ShortCutEdit', 'ShortCutDir', 'ShellExecute', 'SendMenusToEx', 'SendMenusTo',
+            'SendKeysTo', 'SendKeysChild', 'SendKey', 'RunZoomWait', 'RunZoom', 'RunWithLogon', 'RunWait', 'RunShell', 'RunIconWait',
+            'RunIcon', 'RunHideWait', 'RunHide', 'RunExit', 'RunEnviron', 'Run', 'RtStatus', 'Reload', 'RegUnloadHive', 'RegSetValue',
+            'RegSetQword', 'RegSetMulSz', 'RegSetExpSz', 'RegSetEx', 'RegSetDword', 'RegSetBin', 'RegQueryValue', 'RegQueryStr',
+            'RegQueryQword', 'RegQueryMulSz', 'RegQueryKeys', 'RegQueryKeyLastWriteTime', 'RegQueryKey', 'RegQueryItem', 'RegQueryExpSz',
+            'RegQueryEx', 'RegQueryDword', 'RegQueryBin', 'RegOpenKeyEx', 'RegOpenKey', 'RegOpenFlags', 'RegLoadHive', 'RegExistValue',
+            'RegExistKey', 'RegEntryType', 'RegDelValue', 'RegDeleteKey', 'RegCreateKey', 'RegConnect', 'RegCloseKey', 'RegApp', 'Random',
+            'PtrPersistent', 'PtrGlobalDefine', 'PtrGlobal', 'Print', 'PlayWaveform', 'PlayMidi', 'PlayMedia', 'PipeServerWrite', 'PipeServerRead',
+            'PipeServerCreate', 'PipeServerClose', 'PipeInfo', 'PipeClientSendRecvData', 'PipeClientOpen', 'PipeClientClose', 'Pause',
+            'ParseData', 'ObjectTypeGet', 'ObjectType', 'ObjectOpen', 'ObjectGet', 'ObjectEventRemove', 'objecteventremove', 'ObjectEventAdd',
+            'objecteventadd', 'ObjectCreate', 'ObjectConstToArray', 'ObjectConstantsGet', 'ObjectCollectionOpen', 'ObjectCollectionNext',
+            'ObjectCollectionClose', 'ObjectClose', 'ObjectAccess', 'Num2Char', 'NetInfo', 'MsgTextGet', 'MousePlay', 'MouseMove', 'MouseInfo',
+            'MouseDrag', 'MouseCoords', 'MouseClickBtn', 'MouseClick', 'mod', 'Min', 'Message', 'Max', 'Loge', 'LogDisk', 'Log10', 'LastError',
+            'KeyToggleSet', 'KeyToggleGet', 'ItemSortNc', 'ItemSort', 'ItemSelect', 'ItemReplace', 'ItemRemove', 'ItemLocate', 'ItemInsert',
+            'ItemExtractCSV', 'ItemExtract', 'ItemCountCSV', 'ItemCount', 'IsNumber', 'IsLicensed', 'IsKeyDown', 'IsInt', 'IsFloat', 'IsDefined',
+            'Int', 'InstallFile', 'IniWritePvt', 'IniWrite', 'IniReadPvt', 'IniRead', 'IniItemizePvt', 'IniItemize', 'IniDeletePvt', 'IniDelete',
+            'IgnoreInput', 'IconReplace', 'IconInfo', 'IconExtract', 'IconArrange', 'GetTickCount', 'GetObject', 'GetExactTime', 'Floor',
+            'FindWindow', 'FileYmdHms', 'FileWrite', 'FileVerInfo', 'FileTimeTouch', 'FileTimeSetEx', 'FileTimeSet', 'FileTimeGetEx',
+            'FileTimeGet', 'FileTimeCode', 'FileSizeEx', 'FileSize', 'FileRoot', 'FileRename', 'FileRead', 'FilePutW', 'FilePut', 'FilePath',
+            'FileOpen', 'FileNameShort', 'FileNameLong', 'FileNameEval2', 'FileNameEval1', 'FileMoveAttr', 'FileMove', 'FileMapName',
+            'FileLocate', 'FileItemPath', 'FileItemize', 'FileInfoToArray', 'FileGetW', 'FileGet', 'FileFullname', 'FileExtension', 'FileExist',
+            'FileDelete', 'FileCreateTemp', 'FileCopyAttr', 'FileCopy', 'FileCompare', 'FileClose', 'FileBaseName', 'FileAttrSetEx',
+            'FileAttrSet', 'FileAttrGetEx', 'FileAttrGet', 'FileAppend', 'Fabs', 'ExtractAttachedFile', 'Exp', 'ExeTypeInfo', 'Exclusive',
+            'EnvItemize', 'EnvironSet', 'Environment', 'EndSession', 'DosVersion', 'DllLoad', 'DllLastError', 'DllHwnd', 'DllHinst',
+            'DllFree', 'DllCallCDecl', 'DllCall', 'Display', 'DiskVolinfo', 'DiskSize', 'DiskScan', 'DiskInfo', 'DiskFree', 'DiskExist',
+            'DirWindows', 'DirSize', 'DirScript', 'DirRename', 'DirRemove', 'DirMake', 'DirItemize', 'DirInfoToArray', 'DirHome', 'DirGet',
+            'DirExist', 'DirChange', 'DirAttrSetEx', 'DirAttrSet', 'DirAttrGetEx', 'DirAttrGet', 'DialogProcOptions', 'DialogObject',
+            'DialogControlState', 'DialogControlSet', 'DialogControlGet', 'DialogBox', 'Dialog', 'Delay', 'Decimals', 'DebugTrace',
+            'DebugData', 'DDETimeout', 'DDETerminate', 'DDERequest', 'DDEPoke', 'DDEInitiate', 'DDEExecute', 'DateTime', 'CurrFilepath',
+            'CurrentPath', 'CurrentFile', 'CreateObject', 'Cosh', 'Cos', 'ClipPut', 'ClipHasFormat', 'ClipGetEx', 'ClipGet', 'ClipAppend',
+            'ChrUnicodeToString', 'ChrUnicodeToHex', 'ChrStringToUnicode', 'ChrSetCodepage', 'ChrHexToUnicode', 'ChrGetCodepage',
+            'Char2Num', 'Ceiling', 'ButtonNames', 'BoxUpdates', 'BoxTitle', 'BoxTextFont', 'BoxTextColor', 'BoxText', 'BoxShut', 'BoxPen',
+            'BoxOpen', 'BoxNew', 'BoxMapmode', 'BoxesUp', 'BoxDrawText', 'BoxDrawRect', 'BoxDrawLine', 'BoxDrawCircle', 'BoxDestroy',
+            'BoxDataTag', 'BoxDataClear', 'BoxColor', 'BoxCaption', 'BoxButtonWait', 'BoxButtonStat', 'BoxButtonKill', 'BoxButtonDraw',
+            'BoxBitMap', 'BinaryXor', 'BinaryXlate', 'BinaryWriteEx', 'BinaryWrite', 'BinaryTagRepl', 'BinaryTagLen', 'BinaryTagInit',
+            'BinaryTagIndex', 'BinaryTagFind', 'BinaryTagExtr', 'BinaryStrCnt', 'BinarySort', 'BinaryReplace', 'BinaryReadEx',
+            'BinaryRead', 'BinaryPokeStrW', 'BinaryPokeStr', 'BinaryPokeHex', 'BinaryPokeFlt', 'BinaryPoke4', 'BinaryPoke2', 'BinaryPoke',
+            'BinaryPeekStrW', 'BinaryPeekStr', 'BinaryPeekHex', 'BinaryPeekFlt', 'BinaryPeek4', 'BinaryPeek2', 'BinaryPeek', 'BinaryOr',
+            'BinaryOleType', 'BinaryIndexNc', 'BinaryIndexEx', 'BinaryIndexBin', 'BinaryIndex', 'BinaryIncrFlt', 'BinaryIncr4',
+            'BinaryIncr2', 'BinaryIncr', 'BinaryHashRec', 'BinaryFree', 'BinaryEodSet', 'BinaryEodGet', 'BinaryCopy', 'BinaryConvert',
+            'BinaryCompare', 'BinaryClipPut', 'BinaryClipGet', 'BinaryChecksum', 'BinaryBufInfo', 'BinaryAnd', 'BinaryAllocArray',
+            'BinaryAlloc', 'Beep', 'Average', 'Atan', 'AskYesNo', 'AskTextbox', 'AskPassword', 'AskLine', 'AskItemlist', 'AskFont',
+            'AskFiletext', 'AskFilename', 'AskDirectory', 'AskColor', 'Asin', 'ArrInitialize', 'ArrInfo', 'ArrDimension',
+            'Arrayize', 'ArrayFilePutCSV', 'ArrayFilePut', 'ArrayFileGetCSV', 'ArrayFileGet', 'AppWaitClose', 'AppExist', 'AddExtender',
+            'Acos', 'Abs', 'About'
+            ),
+        4 => array(
+            'zZipFiles', 'zVersionInfo', 'zVersion', 'zUnZipFiles', 'zSetPortBit', 'zRPortShift', 'zPortOut', 'zPortIn', 'zNotPortBit',
+            'zLPortShift', 'zGetPortBit', 'zClrPortBit', 'xVerifyCCard', 'xSendMessage', 'xMessageBox', 'xMemCompact', 'xHex', 'xGetElapsed',
+            'xGetChildHwnd', 'xExtenderInfo', 'xEnumStreams', 'xEjectMedia', 'xDriveReady', 'xDiskLabelGet', 'xCursorSet', 'xBaseConvert',
+            'wxPing', 'wxParmSet', 'wxParmGet', 'wxMsgSetHdr', 'wxMsgGetHdr', 'wxMsgGetBody', 'wxHost2Addr', 'wxGetLastErr', 'wxGetInfo',
+            'wxGetErrDesc', 'wxAddr2Host', 'wtsWaitSystemEvent', 'wtsVersion', 'wtsTerminateProcess', 'wtsShutdownSystem', 'wtsSendMessage',
+            'wtsQuerySessionInfo', 'wtsProcIdToSessId', 'wtsLogoffSession', 'wtsLastErrMsg', 'wtsIsTSEnabled', 'wtsIsCitrixEnabled',
+            'wtsGetActiveConsoleSessId', 'wtsEnumSessions', 'wtsEnumProcesses', 'wtsDisconnectSession', 'wnWrkGroups', 'wnVersion', 'wntWtsUserSet',
+            'wntWtsUserGet', 'wntVersion', 'wntUserSidChk', 'wntUserSetDat', 'wntUserRename', 'wntUserProps', 'wntUserList', 'wntUserInfo',
+            'wntUserGetDat', 'wntUserFiles', 'wntUserExist', 'wntUserDel', 'wntUserAddDat', 'wntUserAdd', 'wntSvcStatus', 'wntSvcStart',
+            'wntSvcList', 'wntSvcDelete', 'wntSvcCreate', 'wntSvcControl', 'wntSvcCfgSet', 'wntSvcCfgGet', 'wntShutdown', 'wntShareUsers',
+            'wntShareSet', 'wntShareList', 'wntShareInfo', 'wntShareDel', 'wntShareAdd', 'wntServiceInf', 'wntServiceAt', 'wntServerType',
+            'wntServerList', 'wntServerInfo', 'wntSecurityGet', 'wntRunAsUser', 'wntResources2', 'wntResources', 'wntRemoteTime', 'wntRasUserSet',
+            'wntRasUserGet', 'wntProfileInfo', 'wntProfileDel', 'wntPrivUsers', 'wntPrivList', 'wntPrivGet', 'wntPrivDel', 'wntPrivAdd',
+            'wntOwnerSet', 'wntOwnerGet', 'wntMemberSet', 'wntMemberLst2', 'wntMemberList', 'wntMemberGrps', 'wntMemberGet', 'wntMemberDel',
+            'wntLsaPolSet', 'wntLsaPolGet', 'wntListGroups', 'wntLastErrMsg', 'wntGroupRen', 'wntGroupInfo', 'wntGroupEdit', 'wntGroupDel',
+            'wntGroupAdd', 'wntGetUser', 'wntGetDrive', 'wntGetDc', 'wntGetCon', 'wntFileUsers', 'wntFilesOpen', 'wntFileClose', 'wntEventWrite',
+            'wntEventLog', 'wntDomainSync', 'wntDirDialog', 'wntDfsList', 'wntDfsGetInfo', 'wntCurrUsers', 'wntChgPswd', 'wntCancelCon',
+            'wntAuditMod', 'wntAuditList', 'wntAuditGet', 'wntAuditDel', 'wntAuditAdd2', 'wntAuditAdd', 'wntAddPrinter', 'wntAddDrive',
+            'wntAcctPolSet', 'wntAcctPolGet', 'wntAcctList', 'wntAcctInfo', 'wntAccessMod', 'wntAccessList', 'wntAccessGet', 'wntAccessDel',
+            'wntaccessadd2', 'wntAccessAdd', 'wnShares', 'wnSharePath', 'wnShareName', 'wnShareCnt', 'wnServers', 'wnRestore', 'wnNetNames',
+            'wnGetUser', 'wnGetCon', 'wnGetCaps', 'wnDlgShare', 'wnDlgNoShare', 'wnDlgDiscon', 'wnDlgCon4', 'wnDlgCon3', 'wnDlgCon2', 'wnDlgCon',
+            'wnDlgBrowse', 'wnDialog', 'wnCmptrInfo', 'wnCancelCon', 'wnAddCon', 'WaitSRQ', 'w9xVersion', 'w9xUserSetDat', 'w9xUserRename',
+            'w9xUserprops', 'w9xUserList', 'w9xUserinfo', 'w9xUserGetDat', 'w9xUserExist', 'w9xUserDel', 'w9xUserAddDat', 'w9xUserAdd', 'w9xShareSet',
+            'w9xShareInfo', 'w9xShareDel', 'w9xShareAdd', 'w9xServiceAt', 'w9xServerList', 'w9xRemoteTime', 'w9xOwnerGet', 'w9xMemberSet',
+            'w9xMemberList', 'w9xMemberGrps', 'w9xMemberGet', 'w9xMemberDel', 'w9xListGroups', 'w9xGroupInfo', 'w9xGroupDel', 'w9xGroupAdd',
+            'w9xGetDC', 'w9xFileUsers', 'w9xAccessList', 'w9xAccessGet', 'w9xAccessDel', 'w9xAccessAdd', 'w95Version', 'w95ShareUsers',
+            'w95ShareSet', 'w95ShareList', 'w95ShareInfo', 'w95ShareDel', 'w95ShareAdd', 'w95ServiceInf', 'w95ServiceAt', 'w95ServerType',
+            'w95ServerInfo', 'w95Resources', 'w95GetUser', 'w95GetDrive', 'w95GetCon', 'w95FileUsers', 'w95FileClose', 'w95DirDialog',
+            'w95CancelCon', 'w95AddPrinter', 'w95AddDrive', 'w95AccessDel', 'w95AccessAdd', 'w3Version', 'w3PrtBrowse', 'w3NetGetUser',
+            'w3NetDialog', 'w3GetCon', 'w3GetCaps', 'w3DirBrowse', 'w3CancelCon', 'w3AddCon', 'urlGetScheme', 'urlEncode', 'urlDecode',
+            'tVersion', 'tSetPriority', 'TriggerList', 'Trigger', 'tRemoteConn', 'tOpenProc', 'tListProc', 'tListMod', 'tKillProc', 'tGetProcInfo',
+            'tGetPriority', 'tGetModInfo', 'tGetLastError', 'tGetData', 'TestSys', 'TestSRQ', 'tCountProc', 'tCompatible', 'tCloseProc',
+            'tBrowseCntrs', 'sSendString', 'sSendNum', 'sSendLine', 'sSendBinary', 'sRecvNum', 'sRecvLine', 'sRecvBinary', 'SrchVersion',
+            'SrchNext', 'SrchInit', 'SrchFree', 'sOpen', 'sOK2Send', 'sOK2Recv', 'smtpSendText', 'smtpSendFile', 'sListen', 'SetRWLS',
+            'SendSetup', 'SendLLO', 'SendList', 'SendIFC', 'SendDataBytes', 'SendCmds', 'Send', 'sConnect', 'sClose', 'SByteOrder32',
+            'sByteOrder16', 'sAccept', 'rRegVersion', 'rRegSearch', 'ResetSys', 'ReceiveSetup', 'Receive', 'ReadStsByte', 'RcvRespMsg',
+            'RasVersion', 'RasTypeSize', 'RasRename', 'RasNumCons', 'RasNameValid', 'RasListActCon', 'RasItemize', 'RasHangUp', 'RasGetLastErr',
+            'RasGetConStat', 'RasEntrySet', 'RasEntryInfo', 'RasEntryExist', 'RasEntryDel', 'RasEntryAdd', 'RasDialInfo', 'RasDial',
+            'RasCopy', 'RasConStatus', 'qVersionInfo', 'qTransact', 'qTables', 'qSpecial', 'qSetConnOpt', 'qNumRsltCol', 'qNativeSql', 'qLastCode',
+            'qGetData', 'qFreeStmt', 'qFreeEnv', 'qFreeConnect', 'qFetch', 'qExecDirect', 'qError', 'qDriverList', 'qDriverCon', 'qDisconnect',
+            'qDataSources', 'qConnect', 'qConfigError', 'qConfigData', 'qColumns', 'qBindCol', 'qAllocStmt', 'qAllocEnv', 'qAllocConnect',
+            'pWaitFor', 'pVersionInfo', 'pTimeout', 'pSetPublish', 'pSetPrtInfo', 'pSetPrtAttrib', 'pSetDefPrtEx', 'pSetDefPrt', 'pSendFile',
+            'pRecvFile', 'pPutString', 'pPutLine', 'pPutChar', 'pPutByte', 'pPutBinary', 'PPollUnconfig', 'PPollConfig', 'PPoll', 'pPeekChar',
+            'pPeekByte', 'pPaperSizes', 'pPaperBins', 'pModemSReg', 'pModemParams', 'pModemInit', 'pModemHangUp', 'pModemDial', 'pModemControl',
+            'pModemConnect', 'pModemCommand', 'pModemAnsRing', 'pModemAnsCall', 'pMediaTypes', 'pGetString', 'pGetPublish', 'pGetPrtList',
+            'pGetPrtInfo', 'pGetPrtAttrib', 'pGetLine', 'pGetLastError', 'pGetErrorMsg', 'pGetErrorCode', 'pGetDefPrtInf', 'pGetChar',
+            'pGetByte', 'pGetBinary', 'pDelPrtConn', 'pDelPrinter', 'pComOpen', 'pComModify', 'pComInfo', 'pComControl', 'pComClose',
+            'pCheckSum', 'pCheckBinary', 'pCaptureOn', 'pCaptureOff', 'pCaptureLog', 'PassControl', 'pAddPrtConn', 'pAddPrinter', 'p3RecvText',
+            'p3RecvFile', 'p3Peek', 'p3Open', 'p3GetReply', 'p3Delete', 'p3Count', 'p3Close', 'nwWhoAmI', 'nwVfyPassword', 'nwVersion',
+            'nwSrvShutdown', 'nwSrvNLMMgr', 'nwSrvGenGUID', 'nwSrvExecNCF', 'nwSetVolLimit', 'nwSetSrvParam', 'nwSetSrvInfo', 'nwSetPrimServ',
+            'nwSetPassword', 'nwSetOptions', 'nwSetFileInfo', 'nwSetDirLimit', 'nwSetDirInfo', 'nwSetContext', 'nwSetBcastMode', 'nwServerList',
+            'nwSendBcastMsg', 'nwSearchObjects', 'nwSearchFilter', 'nwRenameObject', 'nwRemoveObject', 'nwReceiveBcastMsg', 'nwNameConvert',
+            'nwMutateObject', 'nwMoveObject', 'nwModifyObject', 'nwMapDelete', 'nwMap', 'nwLogout', 'nwLogin', 'nwListUserGroups',
+            'nwListObjects', 'nwListGroupMembers', 'nwLastErrMsg', 'nwIsUserInGroup', 'nwGetVolLimit', 'nwGetSrvStats', 'nwGetSrvParam',
+            'nwGetSrvInfo', 'nwGetSrvCfg', 'nwGetOptions', 'nwGetObjValue', 'nwGetObjInfo', 'nwGetNLMInfo', 'nwGetMapped', 'nwGetFileInfo',
+            'nwGetDirLimit', 'nwGetDirInfo', 'nwGetContext', 'nwGetConnInfo', 'nwGetCapture', 'nwGetBcastMode', 'nwGetAttrInfo',
+            'nwDriveStatus', 'nwDrivePath', 'nwDetachFromServer', 'nwDelUserFromGroup', 'nwDelConnNum', 'nwCompareObject', 'nwClientInfo',
+            'nwChgPassword', 'nwAttachToServer', 'nwAddUserToGroup', 'nwAddObject', 'netVersion', 'netResources', 'netGetUser', 'netGetCon',
+            'netDirDialog', 'netCancelCon', 'netAddPrinter', 'netAddDrive', 'n4Version', 'n4UserGroups', 'n4UserGroupEx', 'n4SetPrimServ',
+            'n4SetOptions', 'n4SetContextG', 'n4SetContext', 'n4ServerList', 'n4ServerInfo', 'n4ObjSearch', 'n4ObjRename', 'n4ObjOptions',
+            'n4ObjMove', 'n4ObjGetVal', 'n4ObjectProps', 'n4ObjectList', 'n4ObjectInfo', 'n4ObjDelete', 'n4NameConvert', 'n4MsgsEndAll',
+            'n4MsgsEnd', 'n4MemberSet', 'n4MemberGet', 'n4MemberDel', 'n4MapRoot', 'n4MapDir', 'n4MapDelete', 'n4Map', 'n4LogoutTree',
+            'n4Logout', 'n4Login', 'n4GetUserName', 'n4GetUserId', 'n4GetUser', 'n4GetNetAddr', 'n4GetMapped', 'n4GetContext',
+            'n4GetConnNum', 'n4FileUsers', 'n4FileTimeGet', 'n4FileAttrSet', 'n4FileAttrGet', 'n4DriveStatus', 'n4DrivePath', 'n4DirTimeGet',
+            'n4DirAttrSet', 'n4DirAttrGet', 'n4Detach', 'n4ChgPassword', 'n4CapturePrt', 'n4CaptureGet', 'n4CaptureEnd', 'n4Attach',
+            'n3Version', 'n3UserGroups', 'n3ServerList', 'n3ServerInfo', 'n3MsgsEndAll', 'n3MsgsEnd', 'n3MemberSet', 'n3MemberGet',
+            'n3MemberDel', 'n3Maproot', 'n3Mapdir', 'n3Mapdelete', 'n3Map', 'n3Logout', 'n3GetUserId', 'n3GetUser', 'n3GetNetAddr',
+            'n3GetMapped', 'n3GetConnNum', 'n3FileTimeGet', 'n3FileAttrSet', 'n3FileAttrGet', 'n3DriveStatus', 'n3DrivePath',
+            'n3DirTimeGet', 'n3DirAttrSet', 'n3DirAttrGet', 'n3Detach', 'n3ChgPassword', 'n3CapturePrt', 'n3CaptureGet',
+            'n3CaptureEnd', 'n3Attach', 'mVersion', 'mSyncMail', 'mSendMailEx', 'mSendMail', 'mrecvmail', 'mReadNextMsg', 'mLogOn',
+            'mLogOff', 'mFindNext', 'mError', 'mCompatible', 'kVerInfo', 'kStatusInfo', 'kSendText', 'kSendFile', 'kManageImap4',
+            'kInit', 'kGetMail', 'kExtra', 'kDest', 'kDeletePop3', 'iWriteDataBuf', 'iWriteData', 'iVersion', 'IUrlOpen', 'iUrlEncode',
+            'iUrlDecode', 'iReadDataBuf', 'iReadData', 'ipVersion', 'ipPing', 'iPing', 'ipHost2Addr', 'ipGetLastErr', 'ipGetAddress',
+            'iParseURL', 'ipAddr2Host', 'iOptionSet', 'iOptionGet', 'ImgWave', 'ImgVersion', 'ImgUnsharpMask', 'ImgThreshold', 'ImgSwirl',
+            'ImgSpread', 'ImgSolarize', 'ImgShear', 'ImgSharpen', 'ImgShade', 'ImgScale', 'ImgSample', 'ImgRotate', 'ImgResize',
+            'ImgReduceNoise', 'ImgRaise', 'ImgOilPaint', 'ImgNormalize', 'ImgNegate', 'ImgMotionBlur', 'ImgModulate', 'ImgMinify',
+            'ImgMedianFilter', 'ImgMagnify', 'ImgLevel', 'ImgIsValid', 'ImgIsPalette', 'ImgIsMono', 'ImgIsGray', 'ImgInfo', 'ImgImplode',
+            'ImgGetImageType', 'ImgGetColorCount', 'ImgGaussianBlur', 'ImgGamma', 'ImgFrame', 'ImgFlop', 'ImgFlip', 'ImgEqualize',
+            'ImgEnhance', 'ImgEmboss', 'ImgCrop', 'ImgConvert', 'ImgContrast', 'ImgCompare', 'ImgColorize', 'ImgChop', 'ImgCharcoal',
+            'ImgBorder', 'ImgBlur', 'ImgAddNoise', 'iLocFindNext', 'iLocFindInit', 'iHttpOpen', 'iHttpInit', 'iHttpHeaders', 'iHttpAccept',
+            'iHostConnect', 'iHost2Addr', 'iGetResponse', 'iGetLastError', 'iGetIEVer', 'iGetConStatEx', 'iGetConState', 'iFtpRename',
+            'iFtpPut', 'iFtpOpen', 'iFtpGet', 'iFtpFindNext', 'iFtpFindInit', 'iFtpDirRemove', 'iFtpDirMake', 'iFtpDirGet', 'iFtpDirChange',
+            'iFtpDialog', 'iFtpDelete', 'iFtpCmd', 'iErrorDialog', 'iDialItemize', 'iDialHangUp', 'iDial', 'iCookieSet', 'iCookieGet',
+            'iContentURL', 'iContentFile', 'iContentData', 'iClose', 'ibWrtf', 'ibWrt', 'ibWait', 'ibVersion', 'ibUnlock', 'ibTrg',
+            'ibTmo', 'ibStop', 'ibStatus', 'ibSta', 'ibSre', 'ibSic', 'ibSad', 'ibRsv', 'ibRsp', 'ibRsc', 'ibRpp', 'ibRdf', 'ibRd',
+            'ibPpc', 'ibPoke', 'ibPct', 'ibPad', 'ibOnl', 'ibMakeAddr', 'ibLock', 'ibLoc', 'ibLn', 'ibLines', 'ibIst', 'ibInit',
+            'ibGts', 'ibGetSad', 'ibGetPad', 'ibFind', 'ibEvent', 'ibErr', 'ibEot', 'ibEos', 'iBegin', 'ibDma', 'ibDev', 'ibConfig',
+            'ibCntl', 'ibCnt', 'ibCmda', 'ibCmd', 'ibClr', 'ibCac', 'ibBna', 'ibAsk', 'iAddr2Host', 'huge_Thousands', 'huge_Subtract',
+            'huge_SetOptions', 'huge_Multiply', 'huge_GetLastError', 'huge_ExtenderInfo', 'huge_Divide', 'huge_Decimal', 'huge_Add',
+            'httpStripHTML', 'httpRecvTextF', 'httpRecvText', 'httpRecvQuery', 'httpRecvQryF', 'httpRecvFile', 'httpGetServer',
+            'httpGetQuery', 'httpGetPath', 'httpGetFile', 'httpGetDir', 'httpGetAnchor', 'httpFullPath', 'httpFirewall', 'httpAuth',
+            'ftpRename', 'ftpQuote', 'ftpPut', 'ftpOpen', 'ftpList', 'ftpGet', 'ftpFirewall', 'ftpDelete', 'ftpClose', 'ftpChDir',
+            'FindRQS', 'FindLstn', 'EnvSetVar', 'EnvPathDel', 'EnvPathChk', 'EnvPathAdd', 'EnvListVars', 'EnvGetVar', 'EnvGetInfo',
+            'EnableRemote', 'EnableLocal', 'ehllapiWait', 'ehllapiVersion', 'ehllapiUninit', 'ehllapiStopKeyIntercept', 'ehllapiStopHostNotify',
+            'ehllapiStopCloseIntercept', 'ehllapiStartKeyIntercept', 'ehllapiStartHostNotify', 'ehllapiStartCloseIntercept',
+            'ehllapiSetWindowStatus', 'ehllapiSetSessionParams', 'ehllapiSetPSWindowName', 'ehllapiSetCursorLoc', 'ehllapiSendKey',
+            'ehllapiSendFile', 'ehllapiSearchPS', 'ehllapiSearchField', 'ehllapiRunProfile', 'ehllapiResetSystem', 'ehllapiReserve',
+            'ehllapiRelease', 'ehllapiReceiveFile', 'ehllapiQuerySystem', 'ehllapiQueryPSStatus', 'ehllapiQueryHostNotify',
+            'ehllapiQueryFieldAttr', 'ehllapiQueryCursorLoc', 'ehllapiQueryCloseIntercept', 'ehllapiPostInterceptStatus',
+            'ehllapiPause', 'ehllapiLastErrMsg', 'ehllapiInit', 'ehllapiGetWindowStatus', 'ehllapiGetPSHWND', 'ehllapiGetKey',
+            'ehllapiFindFieldPos', 'ehllapiFindFieldLen', 'ehllapiDisconnectPS', 'ehllapiCvtRCToPos', 'ehllapiCvtPosToRC',
+            'ehllapiCopyTextToPS', 'ehllapiCopyTextToField', 'ehllapiCopyTextFromPS', 'ehllapiCopyTextFromField', 'ehllapiCopyOIA',
+            'ehllapiConnectPS', 'dunItemize', 'dunDisconnect', 'dunConnectEx', 'dunConnect', 'dsTestParam', 'dsSIDtoHexStr', 'dsSetSecProp',
+            'dsSetProperty', 'dsSetPassword', 'dsSetObj', 'dsSetCredentX', 'dsSetCredent', 'dsRemFromGrp', 'dsRelSecObj', 'dsMoveObj',
+            'dsIsObject', 'dsIsMemberGrp', 'dsIsContainer', 'dsGetUsersGrps', 'dsGetSecProp', 'dsGetPropName', 'dsGetProperty',
+            'dsGetPrntPath', 'dsGetPrimGrp', 'dsGetMemGrp', 'dsGetInfo', 'dsGetClass', 'dsGetChldPath', 'dsFindPath', 'dsDeleteObj',
+            'dsCreatSecObj', 'dsCreateObj', 'dsCopySecObj', 'dsAddToGrp', 'dsAclRemAce', 'dsAclOrderAce', 'dsAclGetAces', 'dsAclAddAce',
+            'DevClearList', 'DevClear', 'dbTest', 'dbSwapColumns', 'dbSort', 'dbSetRecordField', 'dbSetOptions', 'dbSetErrorReporting',
+            'dbSetEntireRecord', 'dbSetDelimiter', 'dbSave', 'dbOpen', 'dbNameColumn', 'dbMakeNewItem', 'dbInsertColumn', 'dbGetVersion',
+            'dbGetSaveStatus', 'dbGetRecordField', 'dbGetRecordCount', 'dbGetNextItem', 'dbGetLastError', 'dbGetEntireRecord',
+            'dbGetColumnType', 'dbGetColumnNumber', 'dbGetColumnName', 'dbGetColumnCount', 'dbFindRecord', 'dbExist', 'dbEasterEgg',
+            'dbDeleteRecord', 'dbDeleteColumn', 'dbDebug', 'dbCookDatabases', 'dbClose', 'dbCloneRecord', 'dbBindCol', 'cWndState',
+            'cWndinfo', 'cWndGetWndSpecName', 'cWndGetWndSpec', 'cWndexist', 'cWndByWndSpecName', 'cWndByWndSpec', 'cWndbyseq',
+            'cWndbyname', 'cWndbyid', 'cWndbyclass', 'cWinIDConvert', 'cVersionInfo', 'cVendorId', 'cSetWndText', 'cSetUpDownPos',
+            'cSetTvItem', 'cSetTrackPos', 'cSetTabItem', 'cSetLvItem', 'cSetLbItemEx', 'cSetLbItem', 'cSetIpAddr', 'cSetFocus',
+            'cSetEditText', 'cSetDtpDate', 'cSetCbItem', 'cSetCalDate', 'cSendMessage', 'cRadioButton', 'cPostMessage', 'cPostButton',
+            'cMemStat', 'cGetWndCursor', 'cGetUpDownPos', 'cGetUpDownMin', 'cGetUpDownMax', 'cGetTVItem', 'cGetTrackPos', 'cGetTrackMin',
+            'cGetTrackMax', 'cGetTbText', 'cGetSbText', 'cGetLvText', 'cGetLvSelText', 'cGetLvFocText', 'cGetLvDdtText', 'cGetLvColText',
+            'cGetLbText', 'cGetLbSelText', 'cGetLbCount', 'cGetIpAddr', 'cGetInfo', 'cGetHrText', 'cGetFocus', 'cGetEditText', 'cGetDtpDate',
+            'cGetControlImageCRC', 'cGetCBText', 'cGetCbCount', 'cGetCalDate', 'cFindByName', 'cFindByClass', 'cEnablestate', 'cDblClickItem',
+            'cCpuSupt', 'cCpuSpeed', 'cCpuIdExt', 'cCpuId', 'cCpuFeat', 'cCpuBenchmark', 'cCloneCheck', 'cClickToolbar', 'cClickButton',
+            'cClearTvItem', 'cClearLvItem', 'cClearLbAll', 'cCheckbox', 'aVersion', 'aStatusbar', 'aShellFolder', 'aMsgTimeout', 'AllSPoll',
+            'aGetLastError', 'aFileRename', 'aFileMove', 'aFileDelete', 'aFileCopy'
+            ),
+        5 => array(
+            'wWordRight', 'wWordLeft', 'wWinTile', 'wWinRestore', 'wWinNext', 'wWinMinimize', 'wWinMaximize', 'wWinCloseAll', 'wWinClose',
+            'wWinCascade', 'wWinArricons', 'wViewOutput', 'wViewOptions', 'wViewHtml', 'wUpperCase', 'wUpline', 'wUndo', 'wTopOfFile', 'wToggleIns',
+            'wTab', 'wStatusMsg', 'wStartSel', 'wSpellcheck', 'wSetProject', 'wSetPrefs', 'wSetColblk', 'wSetBookmark', 'wSelWordRight',
+            'wSelWordLeft', 'wSelUp', 'wSelTop', 'wSelRight', 'wSelPgUp', 'wSelPgDn', 'wSelLeft', 'wSelInfo', 'wSelHome', 'wSelEnd', 'wSelectAll',
+            'wSelDown', 'wSelBottom', 'wRunRebuild', 'wRunMake', 'wRunExecute', 'wRunDebug', 'wRunConfig', 'wRunCompile', 'wRunCommand', 'wRight',
+            'wRepeat', 'wRedo', 'wRecord', 'wProperties', 'wPrintDirect', 'wPrinSetup', 'wPrevError', 'wPaste', 'wPageUp', 'wPageDown', 'wNextError',
+            'wNewLine', 'wLowerCase', 'wLineCount', 'wLeft', 'wInvertCase', 'wInsString', 'wInsLine', 'wHome', 'wHelpKeyword', 'wHelpKeybrd',
+            'wHelpIndex', 'wHelpHelp', 'wHelpCmds', 'wHelpAbout', 'wGotoLine', 'wGotoCol', 'wGetWrap', 'wGetWord', 'wGetUndo', 'wGetSelstate',
+            'wGetRedo', 'wGetOutput', 'wGetModified', 'wGetLineNo', 'wGetIns', 'wGetFilename', 'wGetColNo', 'wGetChar', 'wFtpOpen', 'wFindNext',
+            'wFindInFiles', 'wFind', 'wFileSaveAs', 'wFileSave', 'wFileRevert', 'wFilePrint', 'wFilePgSetup', 'wFileOpen', 'wFileNew', 'wFileMerge',
+            'wFileList', 'wFileExit', 'wEndSel', 'wEndOfFile', 'wEnd', 'wEdWrap', 'wEdWordRight', 'wEdWordLeft', 'wEdUpLine', 'wEdUndo', 'wEdTopOfFile',
+            'wEdToggleIns', 'wEdTab', 'wEdStartSel', 'wEdSetColBlk', 'wEdSelectAll', 'wEdRight', 'wEdRedo', 'wEdPaste', 'wEdPageUp', 'wEdPageDown',
+            'wEdNewLine', 'wEdLeft', 'wEdInsString', 'wEdHome', 'wEdGoToLine', 'wEdGoToCol', 'wEdGetWord', 'wEdEndSel', 'wEdEndOfFile', 'wEdEnd',
+            'wEdDownLine', 'wEdDelete', 'wEdCutLine', 'wEdCut', 'wEdCopyLine', 'wEdCopy', 'wEdClearSel', 'wEdBackTab', 'wEdBackspace', 'wDownLine',
+            'wDelete', 'wDelButton', 'wCutMarked', 'wCutLine', 'wCutAppend', 'wCut', 'wCopyMarked', 'wCopyLine', 'wCopyAppend', 'wCopy', 'wCompile',
+            'wClearSel', 'wChange', 'wCallMacro', 'wBackTab', 'wBackspace', 'wAutoIndent', 'wAddButton', 'edWindowTile', 'edWindowRestore',
+            'edWindowNext', 'edWindowMinimize', 'edWindowMaximize', 'edWindowCloseall', 'edWindowClose', 'edWindowCascade', 'edWindowArrangeIcons',
+            'edStatusMsg', 'edSearchViewOutput', 'edSearchRepeat', 'edSearchPrevError', 'edSearchNextError', 'edSearchFind', 'edSearchChange',
+            'edRunRebuild', 'edRunMake', 'edRunExecute', 'edRunDebug', 'edRunConfigure', 'edRunCompile', 'edRunCommand', 'edRecord', 'edHelpProcedures',
+            'edHelpKeyword', 'edHelpKeyboard', 'edHelpIndex', 'edHelpHelp', 'edHelpCommands', 'edHelpAbout', 'edGetWordWrapState', 'edGetWindowName',
+            'edGetUndoState', 'edGetSelectionState', 'edGetRedoState', 'edGetModifiedStatus', 'edGetLineNumber', 'edGetInsertState', 'edGetColumnNumber',
+            'edGetChar', 'edFileSetPreferences', 'edFileSaveAs', 'edFileSave', 'edFilePrinterSetup', 'edFilePrint', 'edFilePageSetup', 'edFileOpen',
+            'edFileNew', 'edFileMerge', 'edFileList', 'edFileExit', 'edEditWrap', 'edEditWordRight', 'edEditWordLeft', 'edEditUpLine', 'edEditUndo',
+            'edEditToggleIns', 'edEditTab', 'edEditStartSelection', 'edEditSetColumnBlock', 'edEditSetBookmark', 'edEditSelectAll', 'edEditRight',
+            'edEditRedo', 'edEditPaste', 'edEditPageUp', 'edEditPageDown', 'edEditLeft', 'edEditInsertString', 'edEditGoToLine', 'edEditGoToColumn',
+            'edEditGoToBookmark', 'edEditGetCurrentWord', 'edEditEndSelection', 'edEditEndOfLine', 'edEditEndOfFile', 'edEditDownline', 'edEditDelete',
+            'edEditCutline', 'edEditCut', 'edEditCopyline', 'edEditCopy', 'edEditClearSelection', 'edEditBeginningOfLine', 'edEditBeginningOfFile',
+            'edEditBackTab', 'edEditBackspace', 'edDeleteButton', 'edAddButton'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}', '!', '+', '-', '~', '$', '^', '?', '@', '%', '#', '&', '*', '|', '/', '<', '>'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #800080;',
+            2 => 'color: #0080FF; font-weight: bold;',
+            3 => 'color: #0000FF;',
+            4 => 'color: #FF00FF;',
+            5 => 'color: #008000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008000; font-style: italic;',
+            2 => 'color: #FF1010; font-weight: bold;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            0 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'REGEXPS' => array(//Variable names
+        0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*"
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
- 
+
 ?>
--- a/plugins/geshi/geshi/xml.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/xml.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * -------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/09/01
  *
  * XML language file for GeSHi. Based on the idea/file by Christian Weiske
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *   -  Added description of extra language features (SF#1970248)
  * 2005/12/28 (1.0.2)
  *   -  Removed escape character for strings
  * 2004/11/27 (1.0.1)
@@ -43,104 +45,113 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'XML',
-	'COMMENT_SINGLE' => array(),
-	'COMMENT_MULTI' => array('<!--' => '-->'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		),
-	'SYMBOLS' => array(
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			),
-		'COMMENTS' => array(
-			'MULTI' => 'color: #808080; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #cc66cc;'
-			),
-		'METHODS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #66cc66;'
-			),
-		'SCRIPT' => array(
-			0 => 'color: #00bbdd;',
-			1 => 'color: #ddbb00;',
-			2 => 'color: #339933;',
-			3 => 'color: #009900;'
-			),
-		'REGEXPS' => array(
-			0 => 'color: #000066;',
-			1 => 'font-weight: bold; color: black;',
-			2 => 'font-weight: bold; color: black;',
-			)
-		),
-	'URLS' => array(
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		0 => array(
-			GESHI_SEARCH => '([a-z_\-:]+)(=)',
-			GESHI_REPLACE => '\\1',
-			GESHI_MODIFIERS => 'i',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => '\\2'
-			),
-		1 => array(
-			GESHI_SEARCH => '(&lt;[/?|(\?xml)]?[a-z0-9_\-:]*(\??&gt;)?)',
-			GESHI_REPLACE => '\\1',
-			GESHI_MODIFIERS => 'i',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => ''
-			),
-		2 => array(
-			GESHI_SEARCH => '(([/|\?])?&gt;)',
-			GESHI_REPLACE => '\\1',
-			GESHI_MODIFIERS => 'i',
-			GESHI_BEFORE => '',
-			GESHI_AFTER => ''
-			)
-		),
-	'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
-	'SCRIPT_DELIMITERS' => array(
-		0 => array(
-			'<!DOCTYPE' => '>'
-			),
-		1 => array(
-			'&' => ';'
-			),
-		2 => array(
-			'<![CDATA[' => ']]>'
-			),
-		3 => array(
-			'<' => '>'
-			)
-	),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		0 => false,
-		1 => false,
-		2 => false,
-		3 => true
+    'LANG_NAME' => 'XML',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        ),
+    'SYMBOLS' => array(
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            ),
+        'COMMENTS' => array(
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SCRIPT' => array(
+            -1 => 'color: #808080; font-style: italic;', // comments
+            0 => 'color: #00bbdd;',
+            1 => 'color: #ddbb00;',
+            2 => 'color: #339933;',
+            3 => 'color: #009900;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #000066;',
+            1 => 'color: #000000; font-weight: bold;',
+            2 => 'color: #000000; font-weight: bold;'
+            )
+        ),
+    'URLS' => array(
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
         ),
-    'TAB_WIDTH' => 4
+    'REGEXPS' => array(
+        0 => array(//attribute names
+            GESHI_SEARCH => '([a-z_:][\w\-\.:]*)(=)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'i',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '\\2'
+            ),
+        1 => array(//Initial header line
+            GESHI_SEARCH => '(&lt;[\/?|(\?xml)]?[a-z_:][\w\-\.:]*(\??&gt;)?)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'i',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        2 => array(//Tag end markers
+            GESHI_SEARCH => '(([\/|\?])?&gt;)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'i',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
+    'SCRIPT_DELIMITERS' => array(
+        -1 => array(
+            '<!--' => '-->'
+            ),
+        0 => array(
+            '<!DOCTYPE' => '>'
+            ),
+        1 => array(
+            '&' => ';'
+            ),
+        2 => array(
+            '<![CDATA[' => ']]>'
+            ),
+        3 => array(
+            '<' => '>'
+            )
+    ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        -1 => false,
+        0 => false,
+        1 => false,
+        2 => false,
+        3 => true
+        ),
+    'TAB_WIDTH' => 2,
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'NUMBERS' => GESHI_NEVER
+        )
+    )
 );
 
 ?>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/geshi/geshi/xorg_conf.php	Fri May 29 19:30:59 2009 -0400
@@ -0,0 +1,124 @@
+<?php
+/*************************************************************************************
+ * xorg_conf.php
+ * ----------
+ * Author: Milian Wolff (mail@milianw.de)
+ * Copyright: (c) 2008 Milian Wolff (http://milianw.de)
+ * Release Version: 1.0.8.2
+ * Date Started: 2008/06/18
+ *
+ * xorg.conf language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2008/06/18 (1.0.8)
+ *  -  Initial import
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi 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.
+ *
+ *   GeSHi 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 GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Xorg configuration',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        // sections
+        1 => array(
+            'Section', 'EndSection', 'SubSection', 'EndSubSection'
+            ),
+        2 => array(
+            // see http://www.x.org/archive/X11R6.9.0/doc/html/xorg.conf.5.html
+            'BiosBase', 'Black', 'Boardname', 'BusID', 'ChipID', 'ChipRev',
+            'Chipset', 'ClockChip', 'Clocks', 'DacSpeed',
+            'DefaultDepth', 'DefaultFbBpp', 'Depth', 'Device',
+            'DisplaySize', 'Driver', 'FbBpp', 'Gamma',
+            'HorizSync', 'IOBase', 'Identifier', 'InputDevice',
+            'Load', 'MemBase', 'Mode', 'Modeline', 'Modelname',
+            'Modes', 'Monitor', 'Option', 'Ramdac', 'RgbPath',
+            'Screen', 'TextClockFreq', 'UseModes', 'VendorName',
+            'VertRefresh', 'VideoAdaptor', 'VideoRam',
+            'ViewPort', 'Virtual', 'Visual', 'Weight', 'White'
+            ),
+        3 => array(
+            // some sub-keywords
+            // screen position
+            'Above', 'Absolute', 'Below', 'LeftOf', 'Relative', 'RightOf',
+            // modes
+            'DotClock', 'Flags', 'HSkew', 'HTimings', 'VScan', 'VTimings'
+            ),
+        ),
+    'REGEXPS' => array(
+        ),
+    'SYMBOLS' => array(
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #990000;',
+            3 => 'color: #550000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #adadad; font-style: italic;',
+            ),
+        'ESCAPE_CHAR' => array(
+            ),
+        'BRACKETS' => array(
+            ),
+        'STRINGS' => array(
+            0 => 'color: #0000ff;',
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
--- a/plugins/geshi/geshi/xpp.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/xpp.php	Fri May 29 19:30:59 2009 -0400
@@ -4,10 +4,8 @@
  * -------
  * Author: Simon Butcher (simon@butcher.name)
  * Copyright: (c) 2007 Simon Butcher (http://simon.butcher.name/)
- * Release Version: 1.0.7.20
- * CVS Revision Version: $Revision: 1.0 $
+ * Release Version: 1.0.8.2
  * Date Started: 2007/02/27
- * Last Modified: $Date: 2007/02/28 00:00:00 $
  *
  * Axapta/Dynamics Ax X++ language file for GeSHi.
  * For details, see <http://msdn.microsoft.com/en-us/library/aa867122.aspx>
@@ -41,395 +39,398 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'X++',
-	'COMMENT_SINGLE' => array(1 => '//'),
-	'COMMENT_MULTI' => array('/*' => '*/'),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '\\',
-	'KEYWORDS' => array(
-		1 => array( // Primitive types
-			'void',
-			'str',
-			'real',
-			'int64',
-			'int',
-			'date',
-			'container',
-			'boolean',
-			'anytype'
-			),
-		2 => array( // Keywords
-			'window',
-			'while',
-			'try',
-			'true',
-			'throw',
-			'switch',
-			'super',
-			'static',
-			'server',
-			'right',
-			'return',
-			'retry',
-			'public',
-			'protected',
-			'private',
-			'print',
-			'pause',
-			'null',
-			'new',
-			'mod',
-			'left',
-			'interface',
-			'implements',
-			'if',
-			'for',
-			'final',
-			'false',
-			'extends',
-			'else',
-			'edit',
-			'do',
-			'div',
-			'display',
-			'default',
-			'continue',
-			'client',
-			'class',
-			'changeCompany',
-			'case',
-			'breakpoint',
-			'break',
-			'at',
-			'abstract'
-			),
-		3 => array( // Functions within the Axapta kernel
-			'year',
-			'wkofyr',
-			'webwebpartstr',
-			'webstaticfilestr',
-			'websitetempstr',
-			'websitedefstr',
-			'webreportstr',
-			'webpagedefstr',
-			'weboutputcontentitemstr',
-			'webmenustr',
-			'webletitemstr',
-			'webformstr',
-			'webdisplaycontentitemstr',
-			'webactionitemstr',
-			'varstr',
-			'utilmoyr',
-			'uint2str',
-			'typeof',
-			'typeid',
-			'trunc',
-			'today',
-			'timenow',
-			'time2str',
-			'term',
-			'tanh',
-			'tan',
-			'tablestr',
-			'tablestaticmethodstr',
-			'tablepname',
-			'tablenum',
-			'tablename2id',
-			'tablemethodstr',
-			'tableid2pname',
-			'tableid2name',
-			'tablefieldgroupstr',
-			'tablecollectionstr',
-			'systemdateset',
-			'systemdateget',
-			'syd',
-			'substr',
-			'strupr',
-			'strscan',
-			'strrtrim',
-			'strrep',
-			'strrem',
-			'strprompt',
-			'strpoke',
-			'strnfind',
-			'strlwr',
-			'strltrim',
-			'strline',
-			'strlen',
-			'strkeep',
-			'strins',
-			'strfmt',
-			'strfind',
-			'strdel',
-			'strcolseq',
-			'strcmp',
-			'stralpha',
-			'str2time',
-			'str2num',
-			'str2int64',
-			'str2int',
-			'str2guid',
-			'str2enum',
-			'str2date',
-			'staticmethodstr',
-			'sln',
-			'sleep',
-			'sinh',
-			'sin',
-			'setprefix',
-			'sessionid',
-			'securitykeystr',
-			'securitykeynum',
-			'runbuf',
-			'runas',
-			'round',
-			'resourcestr',
-			'reportstr',
-			'refprintall',
-			'rate',
-			'querystr',
-			'pv',
-			'pt',
-			'prmisdefault',
-			'primoyr',
-			'prevyr',
-			'prevqtr',
-			'prevmth',
-			'power',
-			'pmt',
-			'num2str',
-			'num2date',
-			'num2char',
-			'nextyr',
-			'nextqtr',
-			'nextmth',
-			'newguid',
-			'mthofyr',
-			'mthname',
-			'mkdate',
-			'minint',
-			'min',
-			'methodstr',
-			'menustr',
-			'menuitemoutputstr',
-			'menuitemdisplaystr',
-			'menuitemactionstr',
-			'maxint',
-			'maxdate',
-			'max',
-			'match',
-			'logn',
-			'log10',
-			'literalstr',
-			'licensecodestr',
-			'licensecodenum',
-			'intvnorm',
-			'intvno',
-			'intvname',
-			'intvmax',
-			'int64str',
-			'int64str',
-			'indexstr',
-			'indexnum',
-			'indexname2id',
-			'indexid2name',
-			'idg',
-			'identifierstr',
-			'helpfilestr',
-			'helpdevstr',
-			'helpapplstr',
-			'guid2str',
-			'getprefix',
-			'getCurrentUTCTime',
-			'fv',
-			'funcname',
-			'frac',
-			'formstr',
-			'fieldstr',
-			'fieldpname',
-			'fieldnum',
-			'fieldname2id',
-			'fieldid2pname',
-			'fieldid2name',
-			'extendedTypeStr',
-			'extendedTypeNum',
-			'exp10',
-			'exp',
-			'evalbuf',
-			'enumstr',
-			'enumnum',
-			'enumcnt',
-			'enum2str',
-			'endmth',
-			'dimof',
-			'dg',
-			'decround',
-			'ddb',
-			'dayofyr',
-			'dayofwk',
-			'dayofmth',
-			'dayname',
-			'date2str',
-			'date2num',
-			'curuserid',
-			'curext',
-			'cterm',
-			'cosh',
-			'cos',
-			'corrflagset',
-			'corrflagget',
-			'convertUTCTimeToLocalTime',
-			'convertUTCDateToLocalDate',
-			'conpoke',
-			'conpeek',
-			'connull',
-			'conlen',
-			'conins',
-			'confind',
-			'configurationkeystr',
-			'configurationkeynum',
-			'condel',
-			'classstr',
-			'classnum',
-			'classidget',
-			'char2num',
-			'beep',
-			'atan',
-			'asin',
-			'ascii2ansi',
-			'any2str',
-			'any2real',
-			'any2int64',
-			'any2int',
-			'any2guid',
-			'any2enum',
-			'any2date',
-			'ansi2ascii',
-			'acos',
-			'abs'
-			),
-		4 => array( // X++ SQL stuff
-			'where',
-			'update_recordset',
-			'ttsCommit',
-			'ttsBegin',
-			'ttsAbort',
-			'sum',
-			'setting',
-			'select',
-			'reverse',
-			'pessimisticLock',
-			'outer',
-			'order by',
-			'optimisticLock',
-			'notExists',
-			'noFetch',
-			'next',
-			'minof',
-			'maxof',
-			'like',
-			'join',
-			'insert_recordset',
-			'index hint',
-			'index',
-			'group by',
-			'from',
-			'forUpdate',
-			'forceSelectOrder',
-			'forcePlaceholders',
-			'forceNestedLoop',
-			'forceLiterals',
-			'flush',
-			'firstOnly',
-			'firstFast',
-			'exists',
-			'desc',
-			'delete_from',
-			'count',
-			'avg',
-			'asc'
-			)
-		),
-	'SYMBOLS' => array( // X++ symbols
-		'!',
-		'&',
-		'(',
-		')',
-		'*',
-		'^',
-		'|',
-		'~',
-		'+',
-		',',
-		'-',
-		'/',
-		':',
-		'<',
-		'=',
-		'>',
-		'?',
-		'[',
-		']',
-		'{',
-		'}'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		4 => false
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #0000ff;',
-			2 => 'color: #0000ff;',
-			3 => 'color: #0000ff;',
-			4 => 'color: #0000ff;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #007f00;',
-			'MULTI' => 'color: #007f00; font-style: italic;'
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000000;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #000000;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #ff0000;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #000000;'
-			),
-		'METHODS' => array(
-			1 => 'color: #000000;',
-			2 => 'color: #000000;'
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #00007f;'
-			),
-		'REGEXPS' => array(
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		),
-	'OOLANG' => true,
-	'OBJECT_SPLITTERS' => array(
-		1 => '.',
-		2 => '::'
-		),
-	'REGEXPS' => array(
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
-		)
+    'LANG_NAME' => 'X++',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array( // Primitive types
+            'void',
+            'str',
+            'real',
+            'int64',
+            'int',
+            'date',
+            'container',
+            'boolean',
+            'anytype'
+            ),
+        2 => array( // Keywords
+            'window',
+            'while',
+            'try',
+            'true',
+            'throw',
+            'switch',
+            'super',
+            'static',
+            'server',
+            'right',
+            'return',
+            'retry',
+            'public',
+            'protected',
+            'private',
+            'print',
+            'pause',
+            'null',
+            'new',
+            'mod',
+            'left',
+            'interface',
+            'implements',
+            'if',
+            'for',
+            'final',
+            'false',
+            'extends',
+            'else',
+            'edit',
+            'do',
+            'div',
+            'display',
+            'default',
+            'continue',
+            'client',
+            'class',
+            'changeCompany',
+            'case',
+            'breakpoint',
+            'break',
+            'at',
+            'abstract'
+            ),
+        3 => array( // Functions within the Axapta kernel
+            'year',
+            'wkofyr',
+            'webwebpartstr',
+            'webstaticfilestr',
+            'websitetempstr',
+            'websitedefstr',
+            'webreportstr',
+            'webpagedefstr',
+            'weboutputcontentitemstr',
+            'webmenustr',
+            'webletitemstr',
+            'webformstr',
+            'webdisplaycontentitemstr',
+            'webactionitemstr',
+            'varstr',
+            'utilmoyr',
+            'uint2str',
+            'typeof',
+            'typeid',
+            'trunc',
+            'today',
+            'timenow',
+            'time2str',
+            'term',
+            'tanh',
+            'tan',
+            'tablestr',
+            'tablestaticmethodstr',
+            'tablepname',
+            'tablenum',
+            'tablename2id',
+            'tablemethodstr',
+            'tableid2pname',
+            'tableid2name',
+            'tablefieldgroupstr',
+            'tablecollectionstr',
+            'systemdateset',
+            'systemdateget',
+            'syd',
+            'substr',
+            'strupr',
+            'strscan',
+            'strrtrim',
+            'strrep',
+            'strrem',
+            'strprompt',
+            'strpoke',
+            'strnfind',
+            'strlwr',
+            'strltrim',
+            'strline',
+            'strlen',
+            'strkeep',
+            'strins',
+            'strfmt',
+            'strfind',
+            'strdel',
+            'strcolseq',
+            'strcmp',
+            'stralpha',
+            'str2time',
+            'str2num',
+            'str2int64',
+            'str2int',
+            'str2guid',
+            'str2enum',
+            'str2date',
+            'staticmethodstr',
+            'sln',
+            'sleep',
+            'sinh',
+            'sin',
+            'setprefix',
+            'sessionid',
+            'securitykeystr',
+            'securitykeynum',
+            'runbuf',
+            'runas',
+            'round',
+            'resourcestr',
+            'reportstr',
+            'refprintall',
+            'rate',
+            'querystr',
+            'pv',
+            'pt',
+            'prmisdefault',
+            'primoyr',
+            'prevyr',
+            'prevqtr',
+            'prevmth',
+            'power',
+            'pmt',
+            'num2str',
+            'num2date',
+            'num2char',
+            'nextyr',
+            'nextqtr',
+            'nextmth',
+            'newguid',
+            'mthofyr',
+            'mthname',
+            'mkdate',
+            'minint',
+            'min',
+            'methodstr',
+            'menustr',
+            'menuitemoutputstr',
+            'menuitemdisplaystr',
+            'menuitemactionstr',
+            'maxint',
+            'maxdate',
+            'max',
+            'match',
+            'logn',
+            'log10',
+            'literalstr',
+            'licensecodestr',
+            'licensecodenum',
+            'intvnorm',
+            'intvno',
+            'intvname',
+            'intvmax',
+            'int64str',
+            'indexstr',
+            'indexnum',
+            'indexname2id',
+            'indexid2name',
+            'idg',
+            'identifierstr',
+            'helpfilestr',
+            'helpdevstr',
+            'helpapplstr',
+            'guid2str',
+            'getprefix',
+            'getCurrentUTCTime',
+            'fv',
+            'funcname',
+            'frac',
+            'formstr',
+            'fieldstr',
+            'fieldpname',
+            'fieldnum',
+            'fieldname2id',
+            'fieldid2pname',
+            'fieldid2name',
+            'extendedTypeStr',
+            'extendedTypeNum',
+            'exp10',
+            'exp',
+            'evalbuf',
+            'enumstr',
+            'enumnum',
+            'enumcnt',
+            'enum2str',
+            'endmth',
+            'dimof',
+            'dg',
+            'decround',
+            'ddb',
+            'dayofyr',
+            'dayofwk',
+            'dayofmth',
+            'dayname',
+            'date2str',
+            'date2num',
+            'curuserid',
+            'curext',
+            'cterm',
+            'cosh',
+            'cos',
+            'corrflagset',
+            'corrflagget',
+            'convertUTCTimeToLocalTime',
+            'convertUTCDateToLocalDate',
+            'conpoke',
+            'conpeek',
+            'connull',
+            'conlen',
+            'conins',
+            'confind',
+            'configurationkeystr',
+            'configurationkeynum',
+            'condel',
+            'classstr',
+            'classnum',
+            'classidget',
+            'char2num',
+            'beep',
+            'atan',
+            'asin',
+            'ascii2ansi',
+            'any2str',
+            'any2real',
+            'any2int64',
+            'any2int',
+            'any2guid',
+            'any2enum',
+            'any2date',
+            'ansi2ascii',
+            'acos',
+            'abs'
+            ),
+        4 => array( // X++ SQL stuff
+            'where',
+            'update_recordset',
+            'ttsCommit',
+            'ttsBegin',
+            'ttsAbort',
+            'sum',
+            'setting',
+            'select',
+            'reverse',
+            'pessimisticLock',
+            'outer',
+            'order by',
+            'optimisticLock',
+            'notExists',
+            'noFetch',
+            'next',
+            'minof',
+            'maxof',
+            'like',
+            'join',
+            'insert_recordset',
+            'index hint',
+            'index',
+            'group by',
+            'from',
+            'forUpdate',
+            'forceSelectOrder',
+            'forcePlaceholders',
+            'forceNestedLoop',
+            'forceLiterals',
+            'flush',
+            'firstOnly',
+            'firstFast',
+            'exists',
+            'desc',
+            'delete_from',
+            'count',
+            'avg',
+            'asc'
+            )
+        ),
+    'SYMBOLS' => array( // X++ symbols
+        '!',
+        '&',
+        '(',
+        ')',
+        '*',
+        '^',
+        '|',
+        '~',
+        '+',
+        ',',
+        '-',
+        '/',
+        ':',
+        '<',
+        '=',
+        '>',
+        '?',
+        '[',
+        ']',
+        '{',
+        '}'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000ff;',
+            2 => 'color: #0000ff;',
+            3 => 'color: #0000ff;',
+            4 => 'color: #0000ff;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #007f00;',
+            'MULTI' => 'color: #007f00; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000000;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #000000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #000000;',
+            2 => 'color: #000000;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #00007f;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.',
+        2 => '::'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
 );
 
 ?>
--- a/plugins/geshi/geshi/z80.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/z80.php	Fri May 29 19:30:59 2009 -0400
@@ -3,8 +3,8 @@
  * z80.php
  * -------
  * Author: Benny Baumann (BenBE@omorphia.de)
- * Copyright: (c) 2007 Benny Baumann (http://www.omorphia.de/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Copyright: (c) 2007-2008 Benny Baumann (http://www.omorphia.de/)
+ * Release Version: 1.0.8.2
  * Date Started: 2007/02/06
  *
  * ZiLOG Z80 Assembler language file for GeSHi.
@@ -13,6 +13,8 @@
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *   -  Added description of extra language features (SF#1970248)
  * 2007/06/03 (1.0.1)
  *   -  Fixed two typos in the language file
  * 2007/02/06 (1.0.0)
@@ -42,93 +44,99 @@
  ************************************************************************************/
 
 $language_data = array (
-	'LANG_NAME' => 'ZiLOG Z80 Assembler',
-	'COMMENT_SINGLE' => array(1 => ';'),
-	'COMMENT_MULTI' => array(),
-	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-	'QUOTEMARKS' => array("'", '"'),
-	'ESCAPE_CHAR' => '',
-	'KEYWORDS' => array(
-		/*CPU*/
-		1 => array(
-			'adc','add','and','bit','call','ccf','cp','cpd','cpdr','cpir','cpi',
-			'cpl','daa','dec','di','djnz','ei','ex','exx','halt','im','in',
-			'in0','inc','ind','indr','inir','ini','jp','jr','ld','ldd','lddr',
-			'ldir','ldi','mlt','neg','nop','or','otdm','otdmr','otdr','otim',
-			'otimr','otir','out','out0','outd','outi','pop','push','res','ret',
-			'reti','retn','rl','rla','rlc','rlca','rld','rr','rra','rrc','rrca',
-			'rrd','rst','sbc','scf','set','sla','sl1','sll','slp','sra','srl',
-			'sub','tst','tstio','xor'
-			),
-		/*registers*/
-		2 => array(
-			'a','b','c','d','e','h','l',
-			'af','bc','de','hl','ix','iy','sp',
-			'af\'','ixh','ixl','iyh','iyl'
-			),
-		/*Directive*/
-		3 => array(
-			'#define','#endif','#else','#ifdef','#ifndef','#include','#undef',
-			'.db','.dd','.df','.dq','.dt','.dw','.end','.org','equ'
-		    ),
-		),
-	'SYMBOLS' => array(
-		'[', ']', '(', ')', '?', '+', '-', '*', '/', '%', '$'
-		),
-	'CASE_SENSITIVE' => array(
-		GESHI_COMMENTS => true,
-		1 => false,
-		2 => false,
-		3 => false,
-		),
-	'STYLES' => array(
-		'KEYWORDS' => array(
-			1 => 'color: #0000ff; font-weight:bold;',
-			2 => 'color: #0000ff;',
-			3 => 'color: #46aa03; font-weight:bold;'
-			),
-		'COMMENTS' => array(
-			1 => 'color: #adadad; font-style: italic;',
-			),
-		'ESCAPE_CHAR' => array(
-			0 => 'color: #000099; font-weight: bold;'
-			),
-		'BRACKETS' => array(
-			0 => 'color: #0000ff;'
-			),
-		'STRINGS' => array(
-			0 => 'color: #7f007f;'
-			),
-		'NUMBERS' => array(
-			0 => 'color: #dd22dd;'
-			),
-		'METHODS' => array(
-			),
-		'SYMBOLS' => array(
-			0 => 'color: #008000;'
-			),
-		'REGEXPS' => array(
-			0 => 'color: #22bbff;',
-			1 => 'color: #22bbff;',
-			2 => 'color: #993333;'
-			),
-		'SCRIPT' => array(
-			)
-		),
-	'URLS' => array(
-		),
-	'OOLANG' => false,
-	'OBJECT_SPLITTERS' => array(
-		),
-	'REGEXPS' => array(
-		0 => '0[0-9a-fA-F]{1,32}[hH]',
-		1 => '\%[01]{1,64}[bB]',
-		2 => '^[_a-zA-Z][_a-zA-Z0-9]{0,50}\:'
-		),
-	'STRICT_MODE_APPLIES' => GESHI_NEVER,
-	'SCRIPT_DELIMITERS' => array(
-		),
-	'HIGHLIGHT_STRICT_BLOCK' => array(
+    'LANG_NAME' => 'ZiLOG Z80 Assembler',
+    'COMMENT_SINGLE' => array(1 => ';'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        /*CPU*/
+        1 => array(
+            'adc','add','and','bit','call','ccf','cp','cpd','cpdr','cpir','cpi',
+            'cpl','daa','dec','di','djnz','ei','ex','exx','halt','im','in',
+            'in0','inc','ind','indr','inir','ini','jp','jr','ld','ldd','lddr',
+            'ldir','ldi','mlt','neg','nop','or','otdm','otdmr','otdr','otim',
+            'otimr','otir','out','out0','outd','outi','pop','push','res','ret',
+            'reti','retn','rl','rla','rlc','rlca','rld','rr','rra','rrc','rrca',
+            'rrd','rst','sbc','scf','set','sla','sl1','sll','slp','sra','srl',
+            'sub','tst','tstio','xor'
+            ),
+        /*registers*/
+        2 => array(
+            'a','b','c','d','e','h','l',
+            'af','bc','de','hl','ix','iy','sp',
+            'af\'','ixh','ixl','iyh','iyl'
+            ),
+        /*Directive*/
+        3 => array(
+            '#define','#endif','#else','#ifdef','#ifndef','#include','#undef',
+            '.db','.dd','.df','.dq','.dt','.dw','.end','.org','equ'
+            ),
+        ),
+    'SYMBOLS' => array(
+        '[', ']', '(', ')', '?', '+', '-', '*', '/', '%', '$'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000ff; font-weight:bold;',
+            2 => 'color: #0000ff;',
+            3 => 'color: #46aa03; font-weight:bold;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #adadad; font-style: italic;',
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #7f007f;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #dd22dd;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #008000;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #22bbff;',
+            1 => 'color: #22bbff;',
+            2 => 'color: #993333;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        //Hex numbers
+        0 => '0[0-9a-fA-F]{1,32}[hH]',
+        //Binary numbers
+        1 => '\%[01]{1,64}|[01]{1,64}[bB]?',
+        //Labels
+        2 => '^[_a-zA-Z][_a-zA-Z0-9]?\:'
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
         ),
     'TAB_WIDTH' => 8
 );