c4d3b4507707

vim: better next mappings and slimv
[view raw] [browse files]
author Steve Losh <steve@stevelosh.com>
date Fri, 12 Nov 2010 18:30:35 -0500
parents e0f13b88e80e
children 6bc9af6eebce
branches/tags (none)
files vim/.vimrc vim/bundle/slimv/doc/slimv.txt vim/bundle/slimv/ftdetect/clojure.vim vim/bundle/slimv/ftplugin/clojure/slimv-clojure.vim vim/bundle/slimv/ftplugin/lisp/slimv-lisp.vim vim/bundle/slimv/ftplugin/metering.lisp vim/bundle/slimv/ftplugin/slimv-clhs.vim vim/bundle/slimv/ftplugin/slimv-cljapi.vim vim/bundle/slimv/ftplugin/slimv-javadoc.vim vim/bundle/slimv/ftplugin/slimv.py vim/bundle/slimv/ftplugin/slimv.vim vim/bundle/slimv/indent/clojure.vim vim/bundle/slimv/plugin/paredit.vim vim/bundle/slimv/syntax/clojure/slimv-syntax-clojure.vim

Changes

--- a/vim/.vimrc	Fri Nov 12 16:34:45 2010 -0500
+++ b/vim/.vimrc	Fri Nov 12 18:30:35 2010 -0500
@@ -281,156 +281,39 @@
 let g:gundo_debug = 1
 let g:gundo_preview_bottom = 1
 
-" Next
-nnoremap cinb f(ci(
-nnoremap canb f(ca(
-nnoremap cinB f{ci{
-nnoremap canB f{ca{
-nnoremap cin( f(ci(
-nnoremap can( f(ca(
-nnoremap cin{ f{ci{
-nnoremap can{ f{ca{
-nnoremap cin) f(ci(
-nnoremap can) f(ca(
-nnoremap cin} f{ci{
-nnoremap can} f{ca{
-nnoremap cin[ f[ci[
-nnoremap can[ f[ca[
-nnoremap cin] f[ci[
-nnoremap can] f[ca[
-nnoremap cin< f<ci<
-nnoremap can< f<ca<
-nnoremap cin> f<ci<
-nnoremap can> f<ca<
-nnoremap cin' f'ci'
-nnoremap can' f'ca'
-nnoremap cin" f"ci"
-nnoremap can" f"ca"
+" Shortcut for square brackets
+onoremap id i[
+onoremap ad a[
 
-nnoremap dinb f(di(
-nnoremap danb f(da(
-nnoremap dinB f{di{
-nnoremap danB f{da{
-nnoremap din( f(di(
-nnoremap dan( f(da(
-nnoremap din{ f{di{
-nnoremap dan{ f{da{
-nnoremap din) f(di(
-nnoremap dan) f(da(
-nnoremap din} f{di{
-nnoremap dan} f{da{
-nnoremap din[ f[di[
-nnoremap dan[ f[da[
-nnoremap din] f[di[
-nnoremap dan] f[da[
-nnoremap din< f<di<
-nnoremap dan< f<da<
-nnoremap din> f<di<
-nnoremap dan> f<da<
-nnoremap din' f'di'
-nnoremap dan' f'da'
-nnoremap din" f"di"
-nnoremap dan" f"da"
+" Next ()
+onoremap <silent> inb :<C-U>normal! f(vib<cr>
+onoremap <silent> anb :<C-U>normal! f(vab<cr>
+onoremap <silent> in( :<C-U>normal! f(vi(<cr>
+onoremap <silent> an( :<C-U>normal! f(va(<cr>
+
+" Next {}
+onoremap <silent> inB :<C-U>normal! f{viB<cr>
+onoremap <silent> anB :<C-U>normal! f{vaB<cr>
+onoremap <silent> in{ :<C-U>normal! f{vi{<cr>
+onoremap <silent> an{ :<C-U>normal! f{va{<cr>
 
-nnoremap yinb f(yi(
-nnoremap yanb f(ya(
-nnoremap yinB f{yi{
-nnoremap yanB f{ya{
-nnoremap yin( f(yi(
-nnoremap yan( f(ya(
-nnoremap yin{ f{yi{
-nnoremap yan{ f{ya{
-nnoremap yin) f(yi(
-nnoremap yan) f(ya(
-nnoremap yin} f{yi{
-nnoremap yan} f{ya{
-nnoremap yin[ f[yi[
-nnoremap yan[ f[ya[
-nnoremap yin] f[yi[
-nnoremap yan] f[ya[
-nnoremap yin< f<yi<
-nnoremap yan< f<ya<
-nnoremap yin> f<yi<
-nnoremap yan> f<ya<
-nnoremap yin' f'yi'
-nnoremap yan' f'ya'
-nnoremap yin" f"yi"
-nnoremap yan" f"ya"
-
-nnoremap ciNb F(ci(
-nnoremap caNb F(ca(
-nnoremap ciNB F{ci{
-nnoremap caNB F{ca{
-nnoremap ciN( F(ci(
-nnoremap caN( F(ca(
-nnoremap ciN{ F{ci{
-nnoremap caN{ F{ca{
-nnoremap ciN) F(ci(
-nnoremap caN) F(ca(
-nnoremap ciN} F{ci{
-nnoremap caN} F{ca{
-nnoremap ciN[ F[ci[
-nnoremap caN[ F[ca[
-nnoremap ciN] F[ci[
-nnoremap caN] F[ca[
-nnoremap ciN< F<ci<
-nnoremap caN< F<ca<
-nnoremap ciN> F<ci<
-nnoremap caN> F<ca<
-nnoremap ciN' F'ci'
-nnoremap caN' F'ca'
-nnoremap ciN" F"ci"
-nnoremap caN" F"ca"
+" Next []
+onoremap <silent> ind :<C-U>normal! f[vi[<cr>
+onoremap <silent> and :<C-U>normal! f[va[<cr>
+onoremap <silent> in[ :<C-U>normal! f[vi[<cr>
+onoremap <silent> an[ :<C-U>normal! f[va[<cr>
 
-nnoremap diNb F(di(
-nnoremap daNb F(da(
-nnoremap diNB F{di{
-nnoremap daNB F{da{
-nnoremap diN( F(di(
-nnoremap daN( F(da(
-nnoremap diN{ F{di{
-nnoremap daN{ F{da{
-nnoremap diN) F(di(
-nnoremap daN) F(da(
-nnoremap diN} F{di{
-nnoremap daN} F{da{
-nnoremap diN[ F[di[
-nnoremap daN[ F[da[
-nnoremap diN] F[di[
-nnoremap daN] F[da[
-nnoremap diN< F<di<
-nnoremap daN< F<da<
-nnoremap diN> F<di<
-nnoremap daN> F<da<
-nnoremap diN' F'di'
-nnoremap daN' F'da'
-nnoremap diN" F"di"
-nnoremap daN" F"da"
+" Next <>
+onoremap <silent> in< :<C-U>normal! f<vi<<cr>
+onoremap <silent> an< :<C-U>normal! f<va<<cr>
 
-nnoremap yiNb F(yi(
-nnoremap yaNb F(ya(
-nnoremap yiNB F{yi{
-nnoremap yaNB F{ya{
-nnoremap yiN( F(yi(
-nnoremap yaN( F(ya(
-nnoremap yiN{ F{yi{
-nnoremap yaN{ F{ya{
-nnoremap yiN) F(yi(
-nnoremap yaN) F(ya(
-nnoremap yiN} F{yi{
-nnoremap yaN} F{ya{
-nnoremap yiN[ F[yi[
-nnoremap yaN[ F[ya[
-nnoremap yiN] F[yi[
-nnoremap yaN] F[ya[
-nnoremap yiN< F<yi<
-nnoremap yaN< F<ya<
-nnoremap yiN> F<yi<
-nnoremap yaN> F<ya<
-nnoremap yiN' F'yi'
-nnoremap yaN' F'ya'
-nnoremap yiN" F"yi"
-nnoremap yaN" F"ya"
+" Next ''
+onoremap <silent> in' :<C-U>normal! f'vi'<cr>
+onoremap <silent> an' :<C-U>normal! f'va'<cr>
+
+" Next ""
+onoremap <silent> in" :<C-U>normal! f"vi"<cr>
+onoremap <silent> an" :<C-U>normal! f"va"<cr>
 
 " VimClojure
 let vimclojure#HighlightBuiltins=1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/bundle/slimv/doc/slimv.txt	Fri Nov 12 18:30:35 2010 -0500
@@ -0,0 +1,1508 @@
+*slimv.txt*                    Slimv                 Last Change: 07 Nov 2010
+
+Slimv                                                                  *slimv*
+                               Version 0.7.1
+
+The Superior Lisp Interaction Mode for Vim.
+This plugin is aimed to help Lisp development by interfacing between Vim and
+the Lisp REPL, similarly to Emacs/SLIME.
+Slimv works on Windows, Linux, and Mac OS X, however the newly introduced
+paredit mode is operating system independent.
+
+|slimv-installation|         Installation
+|slimv-customization|        Customization
+|slimv-usage|                Usage
+|slimv-repl|                 Lisp REPL inside Vim
+|slimv-clojure|              Clojure support
+|slimv-package|              Package and Namespace handling
+|slimv-profiling|            Profiling
+|slimv-hyperspec|            Hyperspec Lookup and Completion
+|slimv-paredit|              Paredit mode
+|slimv-external|             External utilities
+|slimv-faq|                  Frequently Asked Questions
+|slimv-changelog|            Change Log
+|slimv-issues|               Known Issues
+|slimv-todo|                 Todo
+|slimv-credits|              Credits
+
+For Vim version 7.0 and above.
+This plugin is only available if 'compatible' is not set.
+
+{Vi does not have any of this}
+
+===============================================================================
+INSTALLATION                                               *slimv-installation*
+
+Prerequisites:
+
+  Required components:
+  - Lisp (any console Common Lisp implementation should be OK) or
+    Clojure installed.
+  - Python 2.4 or later installed.
+
+  Optional components:
+  - The interrupt functionality needs the pywin32 extension on Windows.
+  - "Exuberant ctags" for tags file generation (if not bundled with Vim
+    already). See |slimv-ctags|.
+
+To install the script:
+
+  - Download the slimv.zip.
+  - Extract the zip archive into your vimfiles or runtime directory.
+    See Vim help file |usr_05.txt| for details on adding a plugin.
+    The archive contains the following files:
+
+       doc/slimv.txt
+       ftdetect/clojure.vim
+       ftplugin/metering.lisp
+       ftplugin/slimv.py
+       ftplugin/slimv.vim
+       ftplugin/slimv-clhs.vim
+       ftplugin/slimv-cljapi.vim
+       ftplugin/slimv-javadoc.vim
+       ftplugin/clojure/slimv-clojure.vim
+       ftplugin/lisp/slimv-lisp.vim
+       indent/clojure.vim
+       plugin/paredit.vim
+       syntax/clojure/slimv-syntax-clojure.vim
+
+    You might already have an ftdetect/clojure.vim file if you already use
+    another Clojure filetype plugin. In this case just keep the original file.
+    If you intend to use the script only for Lisp programming, then most of
+    the files may be skipped, in this case it is enough to copy the following
+    files:
+
+       doc/slimv.txt
+       ftplugin/metering.lisp
+       ftplugin/slimv.py
+       ftplugin/slimv.vim
+       ftplugin/slimv-clhs.vim
+       ftplugin/lisp/slimv-lisp.vim
+
+  - Start Vim or goto an existing instance of Vim.
+  - Execute the following command:
+>
+       :helptags <your runtime directory>/doc
+
+    (e.g :helptags $VIMRUNTIME/doc)
+<
+    This will generate all the help tags for any file located in the doc
+    directory.
+  - Enter path definitions into your vimrc (if the default values are not
+    valid for your Vim/Python/Lisp installation, which is highly probable).
+    See |slimv-customization| below on how to do this.
+  - On Linux some login shells (like fish) might be incompatible with the Vim
+    temporary file generation, which results in getting random E484 errors.
+    This is because Vim expects a POSIX-compliant shell and the problem might
+    occur in other Vim scripts as well.
+    One solution is to add a similar block to the top of .vimrc:
+
+        if $SHELL =~ 'bin/fish'
+            set shell=/bin/sh
+        endif
+
+
+Upgrade from previous script versions:
+
+0.1   - 0.4.x    The project went through a major reorganization, so users
+                 who already installed previous versions of the plugin should
+                 first delete the old files. These are: plugin/slimv.vim,
+                 plugin/slimv.py, plugin/metering.lisp and doc/slimv.txt
+                 in the vimfiles directory.
+0.1   - 0.2.x    Users having a custom |g:slimv_repl_file| setting should
+                 consider attaching the .lisp or .clj extension to the name
+                 of the REPL buffer, in order to have syntax highlighting
+                 and autoindenting in the REPL buffer.
+                 Users who already have done this are smarter than me :)
+
+Uninstallation:
+
+  - Exit all Vim instances and exit from the REPL server terminal window.
+  - Delete the files that were copied to the vimfiles directory during
+    installation:
+
+       doc/slimv.txt
+       ftdetect/clojure.vim
+       ftplugin/metering.*
+       ftplugin/slimv.py
+       ftplugin/slimv.vim
+       ftplugin/slimv-clhs.vim
+       ftplugin/slimv-cljapi.vim
+       ftplugin/slimv-javadoc.vim
+       ftplugin/clojure/slimv-clojure.vim
+       ftplugin/lisp/slimv-lisp.vim
+       indent/clojure.vim
+       plugin/paredit.vim
+       syntax/clojure/slimv-syntax-clojure.vim
+
+    (Special note on metering.lisp: if the profiler was compiled, then the
+    compiled files should be deleted as well, hence the metering.* above.)
+
+
+===============================================================================
+CUSTOMIZATION                                             *slimv-customization*
+
+|slimv-options|              Options
+|slimv-templates|            Templates
+|slimv-keyboard|             Keyboard mappings
+
+-------------------------------------------------------------------------------
+                                                                *slimv_options*
+
+The list below contains an alphabetical collection of Slimv options.
+Below that list follows the detailed explanation on each option.
+
+|g:paredit_matchlines|       Number of lines to look backward and forward
+                             when checking if the current form is balanced.
+
+|g:paredit_mode|             If nonzero, paredit mode is switched on.
+
+|g:paredit_shortmaps|        If nonzero, paredit is remapping some one-letter
+                             Vim commands that are not frequently used.
+
+|g:slimv_browser_cmd|        If nonempty, this command is used to open the
+                             Common Lisp Hyperspec. 
+
+|g:slimv_clhs_root|          Base URL for the Common Lisp Hyperspec.
+
+|g:slimv_clhs_user_db|       User defined extension for Slimv's built-in
+                             Common Lisp Hyperspec symbol database.
+
+|g:slimv_clhs_user_root|     Base URL for the user defined CLHS extension.
+
+|g:slimv_cljapi_root|        Base URL for the Clojure API.
+
+|g:slimv_cljapi_user_db|     User defined extension for Slimv's built-in
+                             Clojure API symbol database.
+
+|g:slimv_cljapi_user_root|   Base URL for the user defined Clojure API
+                             extension.
+
+|g:slimv_client|             The whole OS command to start the Slimv client.
+                             Used for advanced customization, like changing
+                             the terminal emulator to use for the Lisp REPL.
+
+|g:slimv_ctags|              OS command to generate tags file.
+
+|g:slimv_debug_client|       Display the command to start client.
+
+|g:slimv_impl|               The Lisp implementation. Defaults to 'clisp'.
+
+|g:slimv_javadoc_root|       Base URL for the JavaDoc.
+
+|g:slimv_keybindings|        Predefined Slimv keybindings. Possible values:
+                             1 = set #1, 2 = set #2, other = no keybindings
+
+|g:slimv_lisp|               Path for the Lisp interpreter.
+
+|g:slimv_menu|               If nonzero, Slimv menu is added to the Vim menu.
+
+|g:slimv_package|            If nonzero, Slimv package/namespace handling is
+                             switched on.
+
+|g:slimv_port|               TCP/IP port number to use in the Slimv client-
+                             server communication.
+
+|g:slimv_python|             Path for the Python interpreter.
+
+|g:slimv_repl_dir|           Directory path for the Lisp REPL buffer file.
+
+|g:slimv_repl_file|          Filename without path for the REPL buffer file.
+
+|g:slimv_repl_open|          If nonzero, Slimv opens the Lisp REPL buffer
+                             inside Vim when the server is started.
+
+|g:slimv_repl_split|         Open the Lisp REPL buffer in a split window
+                             or in a separate buffer.
+
+|g:slimv_repl_wrap|          Set wrap mode for the REPL buffer.
+
+|g:slimv_updatetime|         Alternative value for 'updatetime' during REPL
+                             refresh.
+
+
+Note: Most options require to restart the Vim session when modified.
+
+Slimv tries to autodetect the Python and Lisp installation directories,
+however the algorithm is not very sophisticated.
+If the installation directories are put in the path, then the autodetection
+should find them (this is usually the case on Linux). Otherwise (on Windows)
+some frequently used directories are searched under C:\ and C:\Program Files.
+For a minimum, Slimv needs to know the path of the existing Python and Lisp
+installations, so if autodetection does not work for you, then set the
+following global variables in your vimrc.
+
+Note: On Windows use the / (slash) character instead of \ (backslash) as the
+      directory separator to avoid any incidental character escaping problems
+      while the paths are beeing passed between the Slimv processes.
+      On Linux this is not an issue.
+
+                                                               *g:slimv_python*
+This is the installation path of the Python interpreter.
+Example:
+    let g:slimv_python = 'C:/MyPythonDir/python.exe'
+
+                                                                 *g:slimv_lisp*
+This is the installation path of the Lisp interpreter.
+Example:
+    let g:slimv_lisp = 'C:/MyLispDir/mylisp.exe'
+
+                                                                 *g:slimv_impl*
+This is the Lisp implementation used. Slimv tries to autodetect it at script
+startup. If the autodetection fails, set this to the actual Lisp
+implementation.
+Example:
+    let g:slimv_impl = 'sbcl'
+
+                                                                 *g:slimv_port*
+The default port used by Slimv is 5151. If this port is used by another
+program then set this variable to a free port number.
+It is also possible to run multiple REPLs from multiple Vim processes, just
+set a different port number for each Vim instance.
+Example:
+    let g:slimv_port = 10101
+
+                                                               *g:slimv_client*
+You may want to use a shell frontend other then the default one (cmd.exe
+on Windows, xterm on Linux) or put additional command line parameters
+for starting the server.
+In this case you can omit the variables above and use g:slimv_client instead.
+This is the complete command that is used to start the client. If not set
+by the user, this is automatically built from the variables above.
+
+The command format is the following (items in [] are optional):
+    <python> <slimv> [-p <port>] -r "<server_cmd>"
+Where:
+    <python>       is the command to start the Python interpreter
+    <slimv>        is the path of slimv.py
+    <port>         is the port number to use (if other than default)
+    <server_cmd>   is the command to start the server
+
+The format of <server_cmd> is the following (please remember to enclose the
+whole command in double quotes, as this will be passed as one parameter
+to the client):
+    [<terminal>] <python> <slimv> -l <lisp> -s
+Where:
+    <terminal>     is the command to open a new terminal window
+    <python>       is the command to start the Python interpreter
+    <slimv>        is the path of slimv.py
+    <lisp>         is the command to start the Lisp REPL
+You can also pass the following shortcuts in <server_cmd>:
+    @p             equals <python>
+    @s             equals <slimv>
+    @@             use it if you need to insert an @ character
+    \"             use it to insert a " character
+So <server_cmd> can be rewritten in this shorter form:
+    [<terminal>] @p @s -l <lisp> -s
+
+The reason behind the duplication of the <python> and <slimv> part is that
+you may want to start the server/REPL in a shell frontend that needs
+special command line options. For example on Windows I highly recommend
+to use Console (http://sourceforge.net/projects/console/) which is greatly
+configurable and you also get usable select/copy/paste functions.
+
+Note: Remember to escape with a \ all " characters that are supposed to be
+      inside a command line argument, otherwise the argument will be split
+      by the shell.
+
+Example to start the Slimv server via Console on Windows:
+
+  let g:slimv_client = 
+  \ 'python slimv.py -p 5152 -r "console -r \"/k @p @s -l clisp -s\""'
+
+So the server will be started as if we typed at the command line:
+
+  console -r "/k python slimv.py -l clisp -s"
+
+A similar situation is if you want to use a terminal program other than
+xterm on Linux (e.g. Konsole). A typical g:slimv_client setup can be on
+Linux for xterm:
+
+  let g:slimv_client =
+  \ 'python ~/.vim/plugin/slimv.py -r "xterm -T Slimv -e @p @s -l clisp -s"'
+
+And this can be for Konsole:
+
+  let g:slimv_client =
+  \ 'python ~/.vim/plugin/slimv.py -r "konsole -T Slimv -e @p @s -l clisp -s"'
+
+                                                         *g:slimv_debug_client*
+Set this to nonzero if you want to make Vim display the command used to start
+the client and any occurrent error messages. This also makes Slimv keep the
+Slimv client window open on Windows. This setting is useful to debug problems
+when setting up a custom |g:slimv_client| command.
+
+                                                                *g:slimv_ctags*
+It is possible to generate tags file from within Vim. By default Slimv assumes
+that ctags.exe is stored somewhere along with the standard Vim path designated
+by $vim or $vimruntime. The command for generating tags file is then
+automatically built at script startup.
+If ctags.exe is stored somewhere else, or the default ctags options are
+unsatisfactory, then override this option with the desired command.
+The default ctags command is:
+  "ctags.exe -a --language-force=lisp *.lisp *.clj"
+
+                                                          *g:slimv_keybindings*
+Defines the keybinding set used by Slimv. Value 0 means no keybinding at all.
+Value 1 defines the short keybinding with one-key bindings (after <Leader>).
+Value 2 defines the easy keybinding with two-key bindings (after <Leader>).
+Other values mean no predefined keybinding is wanted.
+The <Leader> is set to ',' by default. 
+
+                                                                 *g:slimv_menu*
+If nonzero then the Slimv menu is added to the end of the global menu.
+Also the Slimv menu can be shown by pressing <Leader>, (defaults to ,,).
+
+                                                         *g:paredit_matchlines*
+Number of lines to look backward and forward when checking if the current
+top level form is balanced in paredit mode. Default is 100.
+
+                                                               *g:paredit_mode*
+If nonzero then paredit mode is switched on, i.e. Slimv tries to keep the
+balanced state of parens. See |g:slimv-paredit|.
+
+                                                          *g:paredit_shortmaps*
+If nonzero, paredit is remapping some one-letter normal mode Vim commands that
+are not frequently used. These are <, >, J, O, W, S. The original function of
+these maps then can be reached via the <Leader> prefix (which is the ","
+character by default in Slimv).
+Otherwise these paredit functions can be reached via the <Leader> prefix.
+
+                                                          *g:slimv_browser_cmd*
+Specifies the command to start the browser in order to display the Common Lisp
+Hyperspec or the Clojure API. If the command contains spaces then enclose the
+whole string in double quotes or escape the spaces with a backslash.
+This option is empty by default, which means that the command associated with
+the .html extension (on Windows) or returned by the Python webbrowser package
+(on Linux) is used to start the browser.
+
+                                                             *g:slimv_repl_dir*
+Directory path for the Lisp REPL buffer file. By default this is a directory
+for temporary files, something like /tmp/ on Linux or
+"C:\Documents and Settings\Username\Local Settings\Temp\" on Windows.
+The directory name must end with the pathname separator (/ or \).
+See also |g:slimv_repl_file|.
+
+                                                            *g:slimv_repl_file*
+The Lisp REPL output is written to a temporary file by the Slimv server.
+|g:slimv_repl_file| defines the filename part of the REPL output file without
+the directory path. The complete REPL filename is built from
+|g:slimv_repl_dir| and |g:slimv_repl_file|.
+
+                                                            *g:slimv_repl_open*
+Slimv opens the Lisp REPL buffer inside Vim by default when the Slimv server
+is started, so there exist actually two REPL-s with the same contents:
+one inside a Vim buffer and another one as a separate terminal window.
+The reason behind this is that the simulation is not perfect, which is caused
+by the lack of asynchronous update possibilities in Vim. Sometimes the REPL
+buffer is not perfectly updated, this is the case for example when a Lisp
+program is running too long and it has infrequent outputs only.
+Slimv refreshes the REPL buffer at every keystroke or when the user doesn't
+press a key for the time specified with 'updatetime'. It is also possible
+to manually refresh the REPL buffer. The default value for 'updatetime' is
+4 secs (=4000 ms), in cases when more precise refreshing is needed you can
+lower the 'updatetime' option, e.g. to one second (=1000 ms):
+    set updatetime=1000
+However, it is not recommended to set this to a much lower value.
+Optionally one may check the output of the separate REPL window.
+The |g:slimv_repl_open| = 0 option can be used to disable the built-in REPL
+buffer, so that only the separate REPL window is opened.
+
+                                                           *g:slimv_repl_split*
+Open the Lisp REPL buffer in a split window or in a separate buffer in Vim.
+Used only when |g:slimv_repl_open| is nonzero.
+
+                                                           *g:slimv_updatetime*
+The REPL buffer is refreshed at every keystroke or when the user doesn't press
+a key for the time specified with 'updatetime'. Slimv alters the value for
+'updatetime' to a lower value when the REPL buffer is changed, so that the
+update frequency gets higher while there is new REPL output. The original
+value for 'updatetime' is restored when there is no REPL output.
+The g:slimv_updatetime option defines the alternative (lower) value for
+'updatetime' during REPL refresh. If you don't want that Slimv changes
+'updatetime', then set g:slimv_updatetime to zero.
+The default value is 200 (=0.2 sec).
+
+                                                              *g:slimv_package*
+If nonzero then Slimv package/namespace handling is switched on. Please find
+details in the |slimv-package| section.
+
+                                                            *g:slimv_repl_wrap*
+Set wrap mode for the REPL buffer, which means the lines longer than the
+window width will not be hidden to the right. Instead they will be continued
+in the next display line.
+This is the default behaviour as it is how regular REPL windows work. This
+mode also enables keybindings for cursor movements, so that an <Up> keypress
+will move the cursor one line on the display and not one line in the document.
+
+
+                                                            *g:slimv_clhs_root*
+                                                          *g:slimv_cljapi_root*
+                                                         *g:slimv_javadoc_root*
+Base URL for the Common Lisp Hyperspec, Clojure API, and JavaDoc.
+If the Hyperspec/API is downloaded to the hard disk, then set these variables
+to the base path of the local copy, something like (where file:// specifies
+the file protocol):
+"file:///c:/doc/HyperSpec/" (Windows).
+or
+"file:///usr/local/doc/HyperSpec/" (Linux).
+It is possible to extend the Hyperspec symbol database with user defined
+symbols, see |g:slimv_clhs_user_db| and |g:slimv_cljapi_user_db|.
+
+                                                         *g:slimv_clhs_user_db*
+                                                       *g:slimv_cljapi_user_db*
+                                                       *g:slimv_clhs_user_root*
+                                                     *g:slimv_cljapi_user_root*
+If you want to extend Slimv's built-in Hyperspec/API symbol database, define
+the list of additional symbols in these variables. The format of this list is
+the following: [["symbol1", "url1"], ["symbol2", "url2"], ...].
+If the URL contains a ":" character then it is considered to be a fully
+qualified URL, otherwise it is a relative address to the Hyperspec root
+defined in |g:slimv_clhs_root| or |g:slimv_cljapi_root|.
+It is also possible to define a separate base URL for the user extensions via
+|g:slimv_clhs_user_root| or |g:slimv_cljapi_user_root|.
+
+Example:
+    let g:slimv_clhs_user_root = "http://myhyperspec.com/"
+    let g:slimv_clhs_user_db = [
+        \["my-cool-function", "mycoolfunc.htm"],
+        \["my-super-function", "mysuperfunc.htm"],
+        \["my-awesome-function", "myawesomefunc.htm"]] 
+
+Remember to insert a backslash at the beginning of each additional line of a
+multi-line Vim command.
+
+
+-------------------------------------------------------------------------------
+                                                              *slimv_templates*
+
+Many Slimv commands are performed by creating a special Lisp form from the
+selected symbol (or list) and send it to the REPL for execution.
+Slimv defines various templates to build these special Lisp forms.
+You can override them to suit your needs. Use %1 for substituting the selected
+symbol's name or the selected list.
+Here follows a list of the templates defined in Slimv.
+
+                                                      *g:slimv_template_pprint*
+Lisp form built when issuing the 'Pprint' command.
+Example:
+    let g:slimv_template_pprint = '(dolist (o %1)(pprint o))'
+
+                                                    *g:slimv_template_undefine*
+Lisp form built when issuing the 'Undefine' command.
+Example:
+    let g:slimv_template_undefine = '(fmakunbound (read-from-string "%1"))'
+
+                                                    *g:slimv_template_describe*
+Lisp form built when issuing the 'Describe' command.
+Example:
+    let g:slimv_template_describe = '(describe (read-from-string "%1"))'
+
+                                                       *g:slimv_template_trace*
+Lisp form built when issuing the 'Trace' command.
+Example:
+    let g:slimv_template_trace = "(trace %1)"
+
+                                                     *g:slimv_template_untrace*
+Lisp form built when issuing the 'Untrace' command.
+Example:
+    let g:slimv_template_untrace = "(untrace %1)"
+
+                                                     *g:slimv_template_profile*
+Lisp form built when issuing the 'Profile' command.
+Example:
+    let g:slimv_template_profile = "(mon:monitor %1)"
+
+                                                   *g:slimv_template_unprofile*
+Lisp form built when issuing the 'Unprofile' command.
+Example:
+    let g:slimv_template_unprofile = "(mon:unmonitor %1)"
+
+                                               *g:slimv_template_unprofile_all*
+Lisp form built when issuing the 'Unprofile All' command.
+Example:
+    let g:slimv_template_unprofile_all = "(mon:unmonitor)"
+
+                                               *g:slimv_template_show_profiled*
+Lisp form built when issuing the 'Show Profiled' command.
+Example:
+    let g:slimv_template_show_profiled = "(pprint mon:*monitored-functions*)"
+
+                                              *g:slimv_template_profile_report*
+Lisp form built when issuing the 'Profile Report' command.
+Example:
+    let g:slimv_template_profile_report = "(mon:report-monitoring)"
+
+                                               *g:slimv_template_profile_reset*
+Lisp form built when issuing the 'Profile Reset' command.
+Example:
+    let g:slimv_template_profile_reset = "(mon:reset-all-monitoring)"
+
+                                                 *g:slimv_template_disassemble*
+Lisp form built when issuing the 'disassemble' command.
+Example:
+    let g:slimv_template_disassemble = "(disassemble #'%1)"
+
+                                                     *g:slimv_template_inspect*
+Lisp form built when issuing the 'inspect' command.
+Example:
+    let g:slimv_template_inspect = "(inspect %1)"
+
+                                                     *g:slimv_template_apropos*
+Lisp form built when issuing the 'apropos' command.
+Example:
+    let g:slimv_template_apropos = '(apropos "%1")'
+
+                                                 *g:slimv_template_macroexpand*
+Lisp form built when issuing the 'macroexpand-1' command, after "defmacro"
+string is replaced with "macroexpand-1".
+Example:
+    let g:slimv_template_macroexpand = '(pprint %1)'
+
+                                             *g:slimv_template_macroexpand_all*
+Lisp form built when issuing the 'macroexpand-all' command, after "defmacro"
+string is replaced with "macroexpand".
+Example:
+    let g:slimv_template_macroexpand_all = '(pprint %1)'
+
+                                                *g:slimv_template_compile_file*
+Lisp form built when issuing the 'compile-file' command.
+Example:
+    let g:slimv_template_compile_file = '(compile-file "%1")'
+
+
+-------------------------------------------------------------------------------
+                                                               *slimv_keyboard*
+
+The default keybindings (|g:slimv_keybindings|=1) and another easy to remember
+built in keybinding set (|g:slimv_keybindings|=2) for Slimv are the following.
+Please note that the leading ',' key below refers to <Leader>, which is set
+by Slimv to ',' by default.
+Vim defines timeout values for mapped key sequences. If you find that Vim does
+not allow you enough time between pressing ',' and the last key(s) of the
+sequence, then you may want to fine tune these Vim options:
+|timeout|, |ttimeout|, |timeoutlen|, |ttimeoutlen|.
+
+    Set#1   Set#2    Command
+    ---------------------------------------------------
+    ,,      ,,       Slimv Menu
+
+    Edit commands:
+    <C-X>0           Close-Form (Insert mode)
+    <C-X><C-O>       Complete-Symbol (Insert mode)
+    ,(      ,(t      Paredit Toggle
+
+    Evaluation commands:
+    ,d      ,ed      Eval Defun (current top level form)
+    ,e      ,ee      Eval Last Expression (current subform)
+    ,E      ,ep      Pprint Eval Last Expression
+    ,r      ,er      Eval Region (visual selection)
+    ,b      ,eb      Eval Buffer
+    ,v      ,ei      Interactive Eval
+    ,u      ,eu      Undefine Function
+
+    Debug commands:
+    ,1      ,m1      Macroexpand-1
+    ,m      ,ma      Macroexpand
+    ,t      ,dt      Trace
+    ,T      ,du      Untrace
+    ,l      ,dd      Disassemble
+    ,i      ,di      Inspect
+
+    Compile commands:
+    ,D      ,cd      Compile Defun
+    ,L      ,cl      Compile and Load File
+    ,F      ,cf      Compile File
+    ,R      ,cr      Compile Region
+
+    Profile commands:
+    ,O      ,pl      Load Profiler
+    ,p      ,pp      Profile
+    ,P      ,pu      Unprofile
+    ,U      ,pa      Unprofile All
+    ,?      ,ps      Show Profiled
+    ,o      ,pr      Profile Report
+    ,x      ,px      Profile Reset
+
+    Documentation commands:
+    ,s      ,ds      Describe Symbol
+    ,a      ,da      Apropos
+    ,h      ,dh      Hyperspec
+    ,]      ,dt      Generate Tags
+
+    Repl commands:
+    ,c      ,rc      Connect to Server
+
+
+    Set#1   Set#2    Command
+    ---------------------------------------------------
+    ,\      ,\       REPL Menu (separate menu, valid only for the REPL buffer)
+
+    REPL menu commands:
+    ,.      ,rs      Send Input
+    ,/      ,ro      Close and Send Input
+    <C-C>   <C-C>    Interrupt Lisp Process
+    ,<Up>   ,rp      Previous Input
+    ,<Down> ,rn      Next Input
+    ,z      ,rr      Refresh REPL Buffer
+
+
+Also see |slimv-repl| for additional keybindings valid only in the REPL buffer.
+
+
+===============================================================================
+USAGE                                                             *slimv-usage*
+
+After proper installation start Vim and load a *.lisp source file into a
+buffer. When the first Slimv command is entered (either from the menu or
+via keyboard shortcut or entering a :call Slimv...() at the Vim command line)
+then Slimv checks if the server/REPL runs and starts it if nedeed.
+When the server is running, the Slimv commands send the appropriate Lisp
+forms to the server/REPL for processing. That's it.
+
+All you need to know then is the list of possible Slimv commands, how to
+enter them and under what conditions.
+
+It is possible to interrupt a running Lisp program by pressing Ctrl-C,
+at least in some Lisp implementations, like CLISP (does not work for example
+with SBCL).
+In Clojure Ctrl-C exits the REPL by default, but it is possible to change this
+behaviour via the add-break-thread! function:
+    user=> (use 'clojure.contrib.repl-utils)
+    nil
+    user=> (add-break-thread!)
+Then pressing Ctrl-C results in a SIGINT exception in the current thread.
+This may however make bad things to your JVM, so use it with caution.
+
+To end the Lisp session press EOF (Ctrl-D on Linux, Ctrl-Z on Windows)
+in the Lisp REPL window. After exiting the REPL it is possible to open
+a new one from Vim the same way as before.
+
+
+===============================================================================
+LISP REPL                                                          *slimv-repl*
+
+The Lisp REPL is displayed as a separate terminal window and also inside a
+Vim buffer. The Lisp REPL buffer is opened when the Slimv server is started.
+The REPL buffer is a more or less regular Vim buffer, all Vim keybindings and
+commands can be used here as well.
+
+There are however some subtle differences. The main idea is that the last line
+in the REPL buffer is a "command line", just like in any REPL. The command
+line usually begins with a prompt, something like "[1] > ". The user types the
+command after the prompt in Insert mode. When Enter (<CR>) is pressed, the
+contents of the command line (which can actually be multiple lines, when
+pasted) is sent to the Lisp REPL for evaluation. It is not allowed to
+backspace before the end of the command line prompt.
+Please remember that this evaluation style is working only in Insert mode,
+in Normal mode the function of <CR> is left unchanged.
+Other areas of the REPL buffer can be used to eval Lisp forms, just like
+from the .lisp source code. So it is possible to move the cursor inside a form
+that was previously eval-ed, make some changes, then eval it again.
+Please note, that after evaluation the REPL buffer is refreshed, so the
+changes made to the form are restored at that location, but the changed form
+will be evaluated at the end of the REPL buffer.
+
+Another difference is the command line history, which can be activated by
+pressing <Up> or <Down> in the command line (also only in Insert mode).
+Outside of the command line the <Up> and <Down> keys move the cursor,
+as usual.
+
+The keys with modified meanings in the Lisp REPL buffer are listed below:
+
+Insert Mode:
+
+    <CR>           Sends the command typed in the last line to the Lisp REPL
+                   for evaluation.
+
+    <C-CR>         Adds missing closing parentheses at the end of the command,
+                   then sends the command to the Lisp REPL for evaluation.
+
+    <BS>           In the last line it deletes characters to the left only
+                   until the end of the Lisp prompt reached.
+
+    <Up>           Brings up the previous command typed and sent to the Lisp
+                   REPL when in the command line.
+
+    <Down>         Brings up the next command typed and sent to the Lisp REPL
+                   when in the command line.
+
+
+===============================================================================
+CLOJURE SUPPORT                                                 *slimv-clojure*
+
+Vim has a built-in support for Lisp, however it has no Clojure support by
+default. As Clojure is a Lisp dialect, Slimv simply reuses Vim's Lisp syntax
+and indent plugins for Clojure. It this does not suit your needs, then it is
+possible to download and install a separate Clojure plugin parallel to Slimv.
+
+In order to launch the Clojure REPL the variable |g:slimv_lisp| must be
+properly set up.
+The simplest definition is something like this, which assumes that the
+directory for clojure.jar is in the PATH. Please note that the whole expression
+needs to be enclosed in double quotes, as it will be passed to the server in
+one single command line argument:
+
+  let g:slimv_lisp = '"java -cp clojure.jar;clojure-contrib.jar clojure.main"'
+
+Here follows an example, which starts c:\Clojure\clojure.jar on Windows.
+Remember to escape the backslashes:
+
+  let g:slimv_lisp =
+  \ '"java -cp c:\\Clojure\\clojure.jar;c:\\Clojure\\clojure-contrib.jar clojure.main"'
+
+
+===============================================================================
+PACKAGE AND NAMESPACE HANDLING                                  *slimv-package*
+
+Slimv has a basic support for handling Lisp packages and Clojure namespaces.
+This means that at every form evaluation Slimv first searches the source file
+for any preceding '(in-package ...)' form for Lisp and '(in-ns ...)' form for
+Clojure. If found then each time the package/namespace definition is evaluated
+first. This way it is possible to randomly re-evaluate forms in a source (or
+multiple sources) that use multiple packages/namespaces, each time the correct
+package/namespace will be used.
+The package/namespace handling can be switched off via the |g:slimv_package|
+option.
+
+
+===============================================================================
+PROFILING                                                     *slimv-profiling*
+
+Slimv is capable of utilizing SBCL's built-in profiler, and also the same
+monitoring/profiling package (metering.lisp) that is used by SLIME, at least
+for CLISP and maybe for some other Common Lisp implementations.
+Fortunately SLIME's metering.lisp is in public domain, so its current version
+(at the time of writing this document) is included in Slimv.
+The most recent version can be extracted from the main directory of SLIME.
+SLIME can be downloaded from http://common-lisp.net/project/slime/
+
+SBCL's profiler is ready to use by just starting the Lisp REPL.
+In order to use SLIME's profiler with CLISP it first must be compiled and
+loaded into a running REPL. Perform this with the 'Load-Profiler' command.
+If the compilation was successful then Slimv is ready to profile.
+
+Use the 'Profile' command to select functions for profiling, 'Unprofile' to
+deselect specific functions or 'Unprofile All' to deselect all functions.
+Obtain a list of profiled functions with 'Show Profiled'.
+use 'Profile-Report' to display profiling results.
+Reset profiling counters with 'Profile-Reset'.
+
+When the REPL is restarted, the profiler needs to be reloaded (only in case
+of CLISP): select the 'Load-Profiler' command again (this re-compiles
+metering.lisp).
+
+It is possible to override the default profile commands via the following
+templates (see |slimv_templates|):
+
+    |g:slimv_template_profile|
+    |g:slimv_template_unprofile|
+    |g:slimv_template_unprofile_all|
+    |g:slimv_template_show_profiled|
+    |g:slimv_template_profile_report|
+    |g:slimv_template_profile_reset|
+
+
+===============================================================================
+HYPERSPEC AND COMPLETION                                      *slimv-hyperspec*
+
+Slimv contains Common Lisp Hyperspec, Clojure API and JavaDoc symbol databases.
+When you are looking for the definition of a symbol, just place the cursor on
+the symbol and select the 'Hyperspec' function. If the symbol is found in the
+symbol database then the corresponding web page is displayed in the default
+browser. It is also possible to select this function having just the beginning
+of the symbol name, then the first match is presented to the user, and he/she
+is asked to confirm or edit the symbol name before the hyperspec lookup.
+
+It is possible to use a local copy of the Hyperspec, for this you need to
+define its base URL. See |g:slimv_clhs_root|, |g:slimv_cljapi_root| and
+|g:slimv_javadoc_root| for details.
+
+It is also possible to add user defined symbols to the Hyperspec database,
+see |g:slimv_clhs_user_db| and |g:slimv_cljapi_user_db|.
+
+
+Slimv uses the Hyperspec symbol database for symbol name completion, via
+Vim's omni-completion feature (if it is enabled and 'omnifunc' is not
+defined already to something else).
+Start to enter the symbol in Insert mode, then at some point press the
+<C-X> <C-O> (omni-complete) key combination or select the 'Complete Symbol'
+function. The first match in the symbol database is inserted at the cursor
+position and a list of matching symbols is displayed in a submenu.
+Use <C-N> to select the next match, <C-P> to select the previous match.
+
+See Vim help file |insert.txt| for details on the usage of the various
+completion functions built in Vim.
+
+
+===============================================================================
+PAREDIT MODE                                          *paredit* *slimv-paredit*
+
+Paredit mode is a special editing mode that keeps all matched characters
+(parentheses, square brackets, double quotes) balanced, i.e. all opening
+characters have a matching closing character. Most text entering and erasing
+commands try to maintain the balanced state, so no single matched character is
+added or deleted, they are entered or removed in pairs.
+The function takes care of strings and comments, so no parenthesis and square
+bracket balancing is performed inside a string or comment.
+
+The idea is taken from the paredit mode of Emacs, but not all paredit.el
+editing functions are implemented or behave exactly the same way as they do
+in Emacs.
+
+When you enter a '(' then a matching ')' is automatically inserted.
+If needed, spaces before and/or after the '()' pair are added.
+
+When you press ')' in insert mode then there's no need to insert a closing
+parenthesis mark (it is already there), so the cursor is simply advanced past
+the next closing parenthesis (then the next outer closing parenthesis, etc.).
+The result of this is however that when entering text with paredit mode
+you can use the same keystrokes as without paredit mode and you get the same
+result. Of course you can choose to not enter the closing parenthesis (as
+required without paredit mode), because it is already there.
+
+When you are trying to delete a ')' alone then it is not possible, the cursor
+is simply moved inside the list, where all regular characters can be deleted.
+When the list is finally empty: '()', then the deletion of the opening '('
+makes both parentheses erased at once, so the balanced state is maintained.
+
+All the above holds for [...] and "..." character pairs.
+
+When you are deleting multiple characters at once, e.g. deleting a whole line,
+or deleting till the end of the line, etc, then the deletion logic of a single
+character is iterated. This means that the whole line or the characters till
+the end of the line, etc are not necessarily deleted all. Depending on the
+number of open/close parentheses, square brackets, double quotes some of them
+might be kept in order to maintain the balanced state.
+For example if you press D in Normal mode to delete till the end of line
+between the a and b parameters of the following Clojure function definition:
+
+(defn myfunc [a b c] (+ a b c))
+               ^--- press D here
+
+then the closing ] as well as the last closing ) will not be deleted, because
+in the list you have an ( and a [ to be matched, so the result will be:
+
+(defn myfunc [a])
+
+If you are deleting multiple lines, then the above process is performed for
+all lines involved. If a line was not completely cleared, then it is joined
+with the next line and the process continues.
+
+
+Of course not all Vim commands are compatible with the paredit mode (e.g.
+you can yank and paste unbalanced code snippet, or comment out an asymmetrical
+part of the code), and there is also the possibility to edit the source code
+with paredit mode switched off or with another editor to make it unbalanced.
+When paredit mode detects that the underlying code is not balanced, then the
+paredit functionality is suspended until the top level form balance is fixed.
+As soon as all parens are matched, the paredit mode is automatically resumed.
+Paredit needs "syntax on" to identify the syntax elements of the underlying
+code, so if syntax is switched off, then paredit will not be suspended inside
+comments or strings.
+
+
+Slurpage and Barfage known from Emacs is also possible but in a different
+fashion: you don't move the symbols but move the opening or closing parenthesis
+over the symbol or a sub-list. This way you can move any symbol or sub-list
+into or out of the current list. It is not possible to move the parenthesis
+over its pair, so for example if you move the opening parenthesis to the right,
+then it will stop at the matched closing parenthesis.
+
+
+Paredit mode is set by default for .lisp and .clj files, but it is possible
+to switch it out by putting the following statement in the .vimrc file:
+
+    let g:paredit_mode = 0
+
+You can enable paredit mode for other file types as well. Here is how to set
+it for Scheme files (meant to be added to your .vimrc file):
+
+    au BufNewFile,BufRead *.scm call PareditInitBuffer()
+
+It is also possible to use the paredit mode alone, without the other parts of
+Slimv. The easiest way to do it is to delete all Slimv related files from the 
+ftplugin directory. If you don't intend to use Slimv's indentation and syntax
+files, then you need to keep only plugin/paredit.vim.
+Another way to prevent Slimv from loading by adding this to your .vimrc file:
+
+    let g:slimv_loaded = 1
+
+Slimv core will not be loaded but paredit will be loaded and assigned to
+.lisp and .clj files.
+
+
+Here follows a list of paredit keybindings:
+
+
+Insert Mode:
+
+    (              Inserts '()' and moves the cursor inside. Also adds leading
+                   or trailing spaces when needed.
+                   Inserts '(' when inside comment or string.
+
+    )              Moves the cursor to the next closing parenthesis mark of
+                   the current list. When pressed again then moves to the next
+                   outer closing parenthesis, etc, until the closing of the
+                   top level form is reached.
+                   Inserts ')' when inside comment or string.
+
+    [              Inserts '[]' and moves the cursor inside. Also adds leading
+                   or trailing spaces when needed.
+                   Inserts '[' when inside comment or string.
+
+    ]              Moves the cursor to the next closing square bracket of the
+                   current list. When pressed again then moves to the next
+                   outer closing square bracket, etc, until the closing of the
+                   top level form is reached.
+                   Inserts ']' when inside comment or string.
+
+    "              When outside of string, inserts '""' and moves the cursor
+                   inside. When inside string then moves to the closing '"'.                   
+                   Inserts '"' when inside comment. Also insert '"' when inside
+                   string and preceded by a '\'.
+
+    <BS>           When about to delete a (, ), [, ], or " and there are other
+                   characters inside, then just skip it to the left. When
+                   about to delete the opening part of the matched character
+                   with nothing inside, then the whole empty list is removed.
+
+    <Del>          When about to delete a (, ), [, ], or " and there are other
+                   characters inside, then just skip it to the right. When
+                   about to delete the closing part of the matched character
+                   with nothing inside, then the whole empty list is removed.
+
+
+Normal Mode:
+
+    (              Finds opening '(' of the current list. Can be pressed
+                   repeatedly until the opening of the top level form reached.
+
+    )              Finds closing ')' of the current list. Can be pressed
+                   repeatedly until the closing of the top level form reached.
+
+    <Leader><      If standing on a delimiter (parenthesis or square bracket)
+                   then moves it to the left by slurping or barfing the
+                   s-expression to the left, depending on the direction of the
+                   delimiter:
+                   Pressing '<' when standing on a ')' makes the s-expression
+                   to the left of the ')' going out of the current list.
+                   Pressing '<' when standing on a '(' makes the s-expression
+                   to the left of the '(' coming into the current list.
+                   For example pressing <Leader>< at position marked with |:
+                       (aaa bbb|)        --->    (aaa) bbb
+                       aaa |(bbb)        --->    (aaa bbb)
+
+    <Leader>>      If standing on a delimiter (parenthesis or square bracket)
+                   then moves it to the right by slurping or barfing the
+                   s-expression to the right, depending on the direction of the
+                   delimiter:
+                   Pressing '>' when standing on a '(' makes the s-expression
+                   to the right of the '(' going out of the current list.
+                   Pressing '>' when standing on a ')' makes the s-expression
+                   to the right of the ')' coming into the current list.
+                   For example pressing <Leader>< at position marked with |:
+                       (aaa|) bbb        --->    (aaa bbb)
+                       |(aaa bbb)        --->    aaa (bbb)
+
+    <Leader>J      Join two subsequent lists or strings. The first one must end
+                   before the cursor, the second one must start after the
+                   cursor position.
+                   For example pressing <Leader>J at position marked with |:
+                       (aaa)| (bbb)      --->    (aaa bbb)
+                       "aaa"| "bbb"      --->    "aaa bbb"
+
+    <Leader>O      Split ("Open") current list or string at the cursor position.
+                   Opposite of Join. Key O is selected because for the original
+                   Vim mapping J and O are also kind of opposites.
+                   For example pressing <Leader>O at position marked with |:
+                       (aaa |bbb)        --->    (aaa) (bbb)
+                       "aaa|bbb"         --->    "aaa" "bbb"
+
+    <Leader>W      Wrap the current symbol in a pair of parentheses. The cursor
+    <Leader>w(     is then positioned on the opening parenthesis, as wrapping
+                   is usually done because one wants to call a function with
+                   the symbol as parameter, so by pressing "a" one can enter
+                   the function name right after the newly inserted "(".
+                   For example pressing <Leader>W at position marked with |:
+                       (aaa b|bb ccc)    --->    (aaa (bbb) ccc)
+
+    <Leader>w[     Wrap the current symbol in a pair of square brackets,
+                   similarly to <Leader>W.
+                   For example pressing <Leader>w[ at position marked with |:
+                       (aaa b|bb ccc)    --->    (aaa [bbb] ccc)
+
+    <Leader>w"     Wrap the current symbol in a pair of double quotes,
+                   similarly to <Leader>W.
+                   For example pressing <Leader>w" at position marked with |:
+                       (aaa b|bb ccc)    --->    (aaa "bbb" ccc)
+
+    <Leader>S      Splice the current list into the containing list, i.e.
+                   remove the opening and closing parens. Opposite of wrap.
+                   For example pressing <Leader>S at position marked with |:
+                       (aaa (b|bb) ccc)  --->    (aaa bbb ccc)
+
+    x  or  <Del>   When about to delete a (, ), [, ], or " and there are other
+                   characters inside, then just skip it to the right. When
+                   about to delete the closing part of the matched character
+                   with nothing inside, then the whole empty list is removed.
+                   When preceded by a <count> value then delete this many
+                   characters.
+
+    X              When about to delete a (, ), [, ], or " and there are other
+                   characters inside, then just skip it to the left. When
+                   about to delete the opening part of the matched character
+                   with nothing inside, then the whole empty list is removed.
+
+    D              Keep deleting characters towards the end of line,
+                   maintaining the balanced state, i.e. keep the number of
+                   opening and closing parens the same.
+
+    C              Same as 'D' but go to insert mode at the end.
+
+    s              Same as 'x' but go to insert mode at the end.
+
+    dd             Delete whole line by keeping the balanced state, i.e.
+                   keep the number of opening and closing parens the same.
+                   When preceded by a <count> value then delete this many
+                   lines.
+
+    <Leader>S      Same as 'dd' but go to insert mode at the end.
+
+    d{motion}      Delete text till {motion}. Keeps text balanced, so if the
+                   surrounded text contains unpaired matched characters then
+                   they are not removed.
+
+    c{motion}      Delete text till {motion} and start insert mode. Keeps text
+                   balanced just like d{motion}.
+
+    p              Put the text after the cursor with all unbalanced matched
+                   characters removed.
+
+    P              Put the text before the cursor with all unbalanced matched
+                   characters removed.
+
+
+Visual Mode:
+
+    (              Finds opening '(' of the current list and selects the whole
+                   list. Can be pressed repeatedly until the top level form
+                   selected.
+
+    )              Finds closing ')' of the current list and selects the whole
+                   list. Can be pressed repeatedly until the top level form
+                   selected.
+
+    d              Delete the current visual selection. Keeps text balanced,
+    x              so the the selection contains unpaired matched characters
+    <Del>          then they are not removed.
+
+    c              Delete the current visual selection and start insert mode.
+                   Keeps text balanced just like the 'd' command.
+
+    <Leader>W      Wrap the current visual selection in a pair of parentheses.
+    <Leader>w(     The visual selection is kept.
+
+    <Leader>w[     Wrap the current visual selection in a pair of square
+                   brackets. The visual selection is kept.
+
+    <Leader>w"     Wrap the current visual selection in a pair of double
+                   quotes. The visual selection is kept.
+
+
+Please note that if variable |g:paredit_shortmaps| is nonzero then the
+following normal mode mappings don't get a <Leader> prefix, they are mapped
+to existing (but infrequently used) Vim functions and instead the original Vim
+functions are mapped with the <Leader> prefix:
+
+                   <, >, J, O, W, S
+
+
+
+===============================================================================
+EXTERNAL UTILITIES                                             *slimv-external*
+
+This section is about utilities, settings, etc., not related strongly to Slimv,
+but may be used to aim Lisp development. These are mostly built-in Vim features
+or options, and sometimes external Vim plugins.
+Slimv does not want to copy these functionalities, if they exist and work well.
+
+
+1. Syntax highlighting
+
+The syntax highlighting is done via the default lisp.vim syntax plugin.
+For Clojure files one has two options:
+a. use the Lisp filetype also for Clojure files (that approach is used by Slimv
+   for the REPL buffer if no other filetype is set)
+b. install a Clojure Vim syntax plugin, like VimClojure.
+
+
+2. Indentation
+
+The indentation is also done via the default lisp.vim indent plugin, or an
+optionally installed Clojure indent plugin, just like for the syntax
+highlighting.
+There are some built-in Vim reindentation commands that may come very handy
+when editing Lisp files. One can define a custom key mapping for any of them,
+such mappings are not defined by Slimv.
+
+    :set autoindent         Copy indent from current line when starting
+                            a new line.
+
+    =                       Reindent selection, after a text has been selected.
+
+    ==                      Reindent current line.
+
+    vab=   or    [(v%=      Select current list and reindent it.
+
+    99[(v%=                 Select top level form and reindent it.
+
+
+3. Parenthesis handling
+
+First of all there is paredit mode. If you don't like it, Vim still obtains
+many tools to aid working with parentheses. This is a very important topic
+for a Lisp programmer.
+
+    :inoremap ( ()<Esc>i    Automatically insert closing parenthesis mark when
+                            an opening one is inserted.
+
+    :inoremap [ []<Esc>i    Same as above but for square brackets.
+
+    :set showmatch          Briefly jump with the cursor to the matching
+                            parenthesis or square bracket when a closing pair
+                            is inserted.
+
+    %                       Go to the matching parenthesis or square bracket.
+
+    :source $VIMRUNTIME/macros/matchit.vim
+                            Adds extended matching with "%" to Vim.
+
+    vab    or    [(v%       Select current list.
+    vib                     Select current list without enclosing parentheses.
+    yab                     Yank current list.
+    dab                     Delete current list.
+
+    99[(v%                  Select top level form.
+
+    g:lisp_rainbow          Colorize differing levels of parenthesization with
+                            different highlighting. Currently works only for
+                            the 'lisp' filetype, hopefully it will be added
+                            soon to the Clojure plugins as well.
+
+
+4. Completion
+
+    CTRL-N                  The built-in Vim keyword completion is a very handy
+    CTRL-P                  feature. You start typing a word, and when CTRL-P
+                            or CTRL-N is pressed, then Vim looks up the keyword
+                            starting with the same letters as typed in up or
+                            down direction in the current buffer.
+                            This is not the same as the omni-completion
+                            feature (see |slimv-hyperspec|). Omni-completion is
+                            based on a symbol database and not on the contents
+                            of the current buffer.
+
+    :set complete           The |'complete'| option controls how keyword
+                            completion works.
+
+
+5. Tag lookup
+
+Also see Slimv option |g:slimv_ctags|.
+
+    |ctags|                 "Exuberant ctags" is a powerful utility for
+                            generating tag database for different kind of
+			    programming languages, including Lisp. Tag lookup
+                            is then done via the CTRL-] (or :tag) command,
+                            return to the previous positon with CTRL-T.
+
+    ctags --language-force=lisp *.lisp *.clj
+                            This or a similar command may be used to generate
+                            tags file from .lisp and .clj files in a directory.
+
+
+===============================================================================
+FAQ                                                                 *slimv-faq*
+
+- Q: Why is this plugin called 'Slimv'?
+- A: Because it is trying to mimic the popular Emacs extension 'SLIME'.
+     In SLIME 'E' stands for 'Emacs', so here it is replaced with 'V' as Vim.
+     To tell the truth, first I gave the name 'Slimvim' to the plugin but
+     then I found an (already abandoned) project called 'Slim-Vim' and I did
+     not want to interfere with it.
+
+- Q: Why another 'Superior Lisp Mode' if there is already one (for Emacs)?
+- A: Because many programmers prefer Vim as a program text editor over Emacs,
+     including me. I don't want to start a holy war or whatsoever, I'm just
+     happy if someone else finds this plugin useful.
+
+- Q: But there are other similar projects for Vim. Why having yet another
+     SLIMxxx for Vim?
+- A: To my knowledge, none of the above mentioned Vim scripts/extensions
+     contain all the functionalities of SLIME (nor does Slimv, to tell the
+     truth). There is definitely room for improvement.
+     It would be nice to make Vim as usable as Emacs for Lisp programming.
+     In my opinion the main barrier is the lack of asynchronous buffer update
+     in Vim, but this may change in the future.
+
+- Q: How does Slimv work?
+- A: Slimv consists of three parts: Vim plugin, client and server.
+     The Slimv server is a swank server that embeds a console Lisp REPL
+     via pipes, catching all REPL input/output.
+     The Slimv client interfaces with the server and is responsible
+     for sending Lisp commands to the Lisp REPL.
+     The Vim plugin is translating editor commands to Lisp commands to be
+     sent to the server by the client.
+     So the dataflow is like this:
+     Vim -> Vim plugin -> Slimv client -> Slimv server -> Lisp REPL
+     The plugin resides in 'slimv.vim', the client and the server both
+     located in 'slimv.py'.
+
+- Q: Why is SLIME functionality XYZ missing from Slimv?
+- A: There are two possible reasons:
+     1. The dataflow of Slimv is one-directional: from client to server.
+        There is no data sent back from the server to the client, so if a
+        functionality requires that Slimv reads data from REPL, then
+        currently it is not possible to implement it.
+     2. It is possible to implement it, but I did not (yet) do it.
+        Maybe future releases will contain it.
+
+- Q: Why is the default port number 5151?
+- A: Hint: what roman numerals are 5,1,5,1? Bingo: VI, doubled.
+
+- Q: What is the version numbering concept?
+- A: <major version>.<minor version>.<bugfix release>, where:
+     major  version: Let's talk about it when it reaches 1...
+     minor  version: New functionalities added, that are worth mentioning.
+     bugfix release: Only bugfixes or tiny additions.
+
+- Q: Why is the plugin distributed in zip file?
+- A: I want that Windows/Linux/Mac users all can easily extract the plugin
+     files. For this reason the vimball or zip format seems to be a good
+     choice. There is no native .tar, .tar.gz, .tar.bz2 decompressors on
+     Windows (however there exist free tools for the job, like 7zip).
+     I'm relatively new to vimball and it looks like a good candidate, but
+     I have some problems with it:
+     1. It is uncompressed, and if I want to compress it then I will end up
+        having it zipped.
+     2. The .vba extension is also used for Visual Basic scripts on Windows
+        and this frequently contains virus, so Windows users may dislike it.
+        And remembering the very first time I met a vba file I was thinking
+        that someone had created a Visual Basic installer for the script.
+     3. Many Vim users don't know vimball but most of them know zip files.
+
+- Q: Are you a Lisp expert?
+- A: No, not at all. I'm just learning Lisp. Also just learning Vim
+     scripting. And I'm not a Python expert either, however (at the moment)
+     I have more experience with Python than with Lisp.
+
+- Q: What about Clojure?
+- A: I have even less experience with Clojure than with Lisp.
+     But it looks like the Slimv functions can be easily ported for Clojure,
+     and as there are not many (yet) Vim scripts written for Clojure, I gave
+     it a try.
+
+- Q: Why using Python for the client/server code? Why not Lisp?
+- A: This is for historical reasons and may change in the future.
+     Preliminary versions used Vim's built-in Python support.
+     Later on the client/server code was separated from Vim but still remained
+     written in Python. On Linux this should not be a problem, most Linux
+     distributions contain a Python interpreter with high enough version.
+     On Windows this means, you need to install Python, if you don't have
+     one (at least version 2.4). Anyway, Python is a nice language and
+     also a perfect replacement for calculator.exe :)
+
+===============================================================================
+CHANGE LOG                                                    *slimv-changelog*
+
+0.7.1  - Added option g:slimv_browser_cmd for opening hyperspec in a custom
+         webbrowser (on behalf of Andreas Salwasser).
+       - Added paredit handling for d<motion>, c<motion>, p and P commands:
+         keep paren balance when deleting and pasting text.
+       - Paredit Toggle function removes and re-adds paredit keybindings.
+       - Bugfix: D and C deleted till beginning of line if () or [] found.
+       - Bugfix: handle escaped \" characters inside string.
+
+0.7.0  - Added package/namespace support.
+       - New way of refreshing the REPL buffer via autocommands, removed
+         'RUNNING' mode, cursor stays in the current buffer at evaluation.
+       - Added option g:slimv_updatetime.
+       - Removed options related to the old way of refreshing:
+         g:slimv_repl_return and g:slimv_repl_wait.
+       - Removed debug logging.
+       - Updated Clojure API to version 1.2.
+       - Extended keyword definition when selecting symbols.
+       - Bugfix: defmacro detection problem (again).
+
+0.6.3  - Added option g:slimv_repl_return to return cursor to the editor window
+         from REPL buffer after evaluating an s-expression.
+       - Wrap: if standing on a paren then wrap the whole s-expression.
+       - Wrap selection: exit visual mode after command.
+       - Bugfix: inserting double quotes in paredit mode (like "\"").
+       - Bugfix: dd in paredit mode when unbalanced form is inside comment.
+       - Bugfix: reopen REPL buffer after closing it via :q.
+       - Bugfix: comment and string detection error with noignorecase setting
+         (thanks to Brian Kropf).
+       - Bugfix: wrong positioning when moving parenthesis to the right.
+       - Bugfix: defmacro detection problem (thanks to Philipp Marek).
+       - Bugfix: paredit wrap selection missed last character when 'selection'
+         was not "exclusive".
+
+0.6.2  - Added support for Mac OS X via Terminal.app (on behalf of Vlad Hanciuta).
+       - Added string "clj" as a detector for Clojure (by Vlad Hanciuta).
+       - Bugfix: paredit wrap function missed last character when 'selection'
+         was not "exclusive" (thanks to Marcin Fatyga).
+       - Bugfix: input was stuck inside SBCL debugger
+         (on behalf of Philipp Marek and Dmitry Petukhov).
+       - Bugfix: occasional error messages during REPL buffer update.
+       - Bugfix: REPL menu was sometimes missing.
+       - Bugfix: occasional command line color problems.
+
+0.6.1  - Added Split, Join, Wrap, Splice functions to Paredit Mode.
+       - Added g:paredit_shortmaps to select short/long paredit keymaps.
+       - Bugfix: delete commands put erased characters into yank buffer.
+       - Bugfix: D deletes only characters after the cursor position.
+
+0.6.0  - Added paredit mode.
+       - Set wrap mode for REPL buffer with keybindings.
+
+0.5.6  - Improved REPL buffer response time.
+       - Added debug log flushing frequency.
+       - Bugfix: early exit of REPL refresh mode on some machines.
+
+0.5.5  - Updated Clojure API to 1.1.
+       - Expand tilde-prefix to home directory on Linux.
+       - Autodetect Clojure in the user home directory on Linux.
+
+0.5.4  - Added autodetection for clojure-contrib.jar.
+       - Added autodetection for Clozure CL.
+       - Applied lisp_rainbow to Clojure's [].
+       - Renamed Clojure indent plugin to clojure.vim
+         so that Vim finds and loads it.
+       - Switched on lisp mode explicitly for Clojure filetype.
+
+0.5.3  - Added Interrupt-Lisp-Process command.
+       - Added mapping for the REPL menu.
+       - Added special forms to Clojre API lookup.
+       - Bugfix: put cursor after the last character in insert mode when
+         continuously refreshing REPL buffer.
+       - Fixed some Ctrl-C handling problems.
+
+0.5.2  - Updated Clojure API.
+       - Adapted Clojure autodetection to version 1.0 (clojure-1.0.0.jar).
+       - Complete-Symbol command moved to separate Edit submenu.
+       - Added Close-Form command to the Edit submenu.
+
+0.5.1  - Added symbol name completion based on the Hyperspec database.
+
+0.5.0  - Major project reorganization:
+         Slimv is now a Lisp and Clojure filetype plugin.
+       - Added Common Lisp Hyperspec, Clojure API, and JavaDoc lookup.
+       - Separate menu for REPL buffer, menu items work in every Vim mode.
+       - Fixed mark 's usage bug - thanks to Lorenzo Campedelli.
+
+0.4.1  - Added profiler support for SBCL.
+       - Added commands/menu items: Profiling: Show Profiled,
+         REPL: Send Input, Close and Send Input, Previous Input, Next Input
+       - Display Slimv error messages with ErrorMsg highlight.
+
+0.4.0  - Added SLIME's profiling tool with support from Slimv.
+       - Added command to generate tags file.
+       - Fixed evaluation problems of large buffers on some systems.
+       - Fixed Compile And Load filename problems with '\' on Windows.
+       - Recycle old REPL temporary file at next server startup.
+
+0.3.0  - Added syntax highlighting and automatic indentation for the REPL
+         buffer (needs lisp and/or clojure Vim plugins).
+       - It is possible to enter a multi-line command in the REPL buffer,
+         until the opening and closing parens match.
+       - Insert mode Up and Down keys move cursor when outside of the REPL
+         command line.
+       - Ctrl-C is working inside the REPL buffer (while waiting for output),
+         so Ctrl-X and Ctrl-X Ctrl-X keybindings are removed.
+       - REPL window performance enhancement on Linux.
+
+0.2.2  - Fixed REPL input and output mix-up problems.
+       - Evaluation performance enhancement.
+       - Corrected some more macroexpand problems.
+
+0.2.1  - Added basic Clojure support.
+       - Corrected some macroexpand problems.
+       - Fixed a REPL buffer refresh bug.
+
+0.2.0  - Major update: Lisp REPL displayed in a Vim buffer.
+
+0.1.4  - Corrected the delayed display of last line in REPL window on Linux.
+       - Ctrl-C is propagated to Lisp REPL, so it is possible to interrupt
+         a running program. Does not work however with some Lisp
+         implementations (like SBCL).
+
+0.1.3  - Handle DOS and Unix style newlines produced by various
+         Lisp implementations on Windows.
+       - Do not write debug logfile when debug level is zero.
+       - Removed unused client command line argument: -c
+
+0.1.2  - Windows users do not need pywin32 anymore.
+       - Display buffer is more thread safe.
+
+0.1.1  - Corrected memory fillup problem after a long REPL session.
+
+0.1    - Initial release.
+
+===============================================================================
+ISSUES, LIMITATIONS, KNOWN BUGS                                  *slimv-issues*
+
+- Works only with the console Lisp and Python versions, does not work with the
+  GUI Lisp versions or with a Python IDE (like IDLE).
+- Does not work from within Cygwin.
+- Vim register "s is used for all form selections, so its original content is
+  destroyed.
+- Vim mark 's is used to mark the end of the REPL buffer, i.e. the beginning
+  of the "command line".
+- Limited profiling support: does not work for all Lisp implementations.
+- Needs Vim version 7.0 or above, because of the intensive use of lists.
+- Needs Python 2.4 or higher (uses the subprocess module)
+- Sometimes a Python exception happens after a CTRL-C inside the REPL buffer
+  followed by an EOF (CTRL-Z or CTRL-D) in the external REPL window.
+- REPL buffer refresh on Vim focus gain works only in gvim, not in console vim.
+- Interruption (Ctrl-C) does not work with all Lisp implementations.
+  For example SBCL exits on Windows when receiving Ctrl-C.
+  It does not work in Clojure.
+  In this case use the Interrupt-Lisp-Process menu command.
+- There are some functions that are not compatible or simply not working for
+  Clojure.
+- It is not possible to run separate Lisp and Clojure REPL in the same
+  Slimv session. Also some other features cannot switch language in the same
+  session, e.g. profiling.
+
+
+===============================================================================
+TODO                                                               *slimv-todo*
+
+- Add Swank support, i.e. send commands to SLIME's Swank server.
+
+===============================================================================
+CREDITS                                                         *slimv-credits*
+
+Author: Tamas Kovacs <kovisoft at gmail dot com>
+
+Please send comments, bug reports, suggestions, etc. to the e-mail address
+above.
+
+Credit must go out to Bram Moolenaar and all the Vim developers for making
+the world's (one of the) best editor.
+Thanks to Eric Marsden and all the Emacs/SLIME developers for making SLIME.
+Special thanks to Mark Kantrowitz, Chris McConnell, Skef Wholey and
+Rob MacLachlan for creating the Metering System.
+Also special thanks to Erik Naggum, Yuji Minejima and others for making the
+Common Lisp Hyperspec lookup packages for SLIME, and thanks to
+Taylor R. Campbell for the Emacs paredit.el script.
+Thanks to the Vim community for testing, commenting and patching the script,
+especially to Philipp Marek, Vlad Hanciuta, Marcin Fatyga, Dmitry Petukhov,
+Daniel Solano Gómez, Brian Kropf, Len Weincier, Andreas Salwasser.
+Last but not least many thanks to my wife Andrea (for the Italians out there:
+hey, this is a female name in Hungary :) for her support and patience.
+
+===============================================================================
+vim:tw=80:noet:wrap:ts=8:ft=help:norl:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/bundle/slimv/ftdetect/clojure.vim	Fri Nov 12 18:30:35 2010 -0500
@@ -0,0 +1,2 @@
+au BufNewFile,BufRead *.clj setf clojure
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/bundle/slimv/ftplugin/clojure/slimv-clojure.vim	Fri Nov 12 18:30:35 2010 -0500
@@ -0,0 +1,117 @@
+" slimv-clojure.vim:
+"               Clojure filetype plugin for Slimv
+" Version:      0.6.1
+" Last Change:  27 Apr 2010
+" Maintainer:   Tamas Kovacs <kovisoft at gmail dot com>
+" License:      This file is placed in the public domain.
+"               No warranty, express or implied.
+"               *** ***   Use At-Your-Own-Risk!   *** ***
+"
+" =====================================================================
+"
+"  Load Once:
+if &cp || exists( 'g:slimv_clojure_loaded' )
+    finish
+endif
+
+let g:slimv_clojure_loaded = 1
+
+" Build a Clojure startup command by adding
+" all clojure*.jar files found to the classpath
+function! b:SlimvBuildStartCmd( lisps )
+    let cp = a:lisps[0]
+    let i = 1
+    while i < len( a:lisps )
+        let cp = cp . ';' . a:lisps[i]
+        let i = i + 1
+    endwhile
+    return ['"java -cp ' . cp . ' clojure.main"', 'clojure']
+endfunction
+
+" Try to autodetect Clojure executable
+" Returns list [Clojure executable, Clojure implementation]
+function! b:SlimvAutodetect()
+    " Firts try the most basic setup: everything in the path
+    let lisps = []
+    if executable( 'clojure.jar' )
+        let lisps = ['clojure.jar']
+    endif
+    if executable( 'clojure-contrib.jar' )
+        let lisps = lisps + 'clojure-contrib.jar'
+    endif
+    if len( lisps ) > 0
+        return b:SlimvBuildStartCmd( lisps )
+    endif
+
+    " Try to find Clojure in the PATH
+    let path = substitute( $PATH, ';', ',', 'g' )
+    let lisps = split( globpath( path, 'clojure*.jar' ), '\n' )
+    if len( lisps ) > 0
+        return b:SlimvBuildStartCmd( lisps )
+    endif
+
+    if g:slimv_windows
+        " Try to find Clojure on the standard installation places
+        let lisps = split( globpath( 'c:/*clojure*', 'clojure*.jar' ), '\n' )
+        if len( lisps ) > 0
+            return b:SlimvBuildStartCmd( lisps )
+        endif
+    else
+        " Try to find Clojure in the home directory
+        "TODO: add /usr/local/bin/clojure
+        let lisps = split( globpath( '~/*clojure*', 'clojure*.jar' ), '\n' )
+        if len( lisps ) > 0
+            return b:SlimvBuildStartCmd( lisps )
+        endif
+    endif
+
+    return ['', '']
+endfunction
+
+" Try to find out the Clojure implementation
+function! b:SlimvImplementation()
+    if exists( 'g:slimv_impl' ) && g:slimv_impl != ''
+        " Return Lisp implementation if defined
+        return tolower( g:slimv_impl )
+    endif
+
+    return 'clojure'
+endfunction
+
+" Filename for the REPL buffer file
+function! b:SlimvREPLFile()
+    return 'Slimv.REPL.clj'
+endfunction
+
+" Lookup symbol in the list of Clojure Hyperspec symbol databases
+function! b:SlimvHyperspecLookup( word, exact, all )
+    if !exists( 'g:slimv_cljapi_loaded' )
+        runtime ftplugin/**/slimv-cljapi.vim
+    endif
+
+    if !exists( 'g:slimv_javadoc_loaded' )
+        runtime ftplugin/**/slimv-javadoc.vim
+    endif
+
+    let symbol = []
+    if exists( 'g:slimv_cljapi_db' )
+        let symbol = SlimvFindSymbol( a:word, a:exact, a:all, g:slimv_cljapi_db,  g:slimv_cljapi_root,  symbol )
+    endif
+    if exists( 'g:slimv_javadoc_db' )
+        let symbol = SlimvFindSymbol( a:word, a:exact, a:all, g:slimv_javadoc_db, g:slimv_javadoc_root, symbol )
+    endif
+    if exists( 'g:slimv_cljapi_user_db' )
+        " Give a choice for the user to extend the symbol database
+        if exists( 'g:slimv_cljapi_user_root' )
+            let user_root = g:slimv_cljapi_user_root
+        else
+            let user_root = ''
+        endif
+        let symbol = SlimvFindSymbol( a:word, a:exact, a:all, g:slimv_cljapi_user_db, user_root, symbol )
+    endif
+    return symbol
+endfunction
+
+" Source Slimv general part
+runtime ftplugin/**/slimv.vim
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/bundle/slimv/ftplugin/lisp/slimv-lisp.vim	Fri Nov 12 18:30:35 2010 -0500
@@ -0,0 +1,149 @@
+" slimv-lisp.vim:
+"               Lisp filetype plugin for Slimv
+" Version:      0.6.0
+" Last Change:  12 Apr 2010
+" Maintainer:   Tamas Kovacs <kovisoft at gmail dot com>
+" License:      This file is placed in the public domain.
+"               No warranty, express or implied.
+"               *** ***   Use At-Your-Own-Risk!   *** ***
+"
+" =====================================================================
+"
+"  Load Once:
+if &cp || exists( 'g:slimv_lisp_loaded' )
+    finish
+endif
+
+let g:slimv_lisp_loaded = 1
+
+" Try to autodetect Lisp executable
+" Returns list [Lisp executable, Lisp implementation]
+function! b:SlimvAutodetect()
+    " Check the easy cases
+    if executable( 'clisp' )
+        " Common Lisp
+        return ['clisp', 'clisp']
+    endif
+    if executable( 'gcl' )
+        " GNU Common Lisp
+        return ['gcl', 'clisp']
+    endif
+    if executable( 'cmucl' )
+        " Carnegie Mellon University Common Lisp
+        return ['cmucl', 'cmu']
+    endif
+    if executable( 'sbcl' )
+        " Steel Bank Common Lisp
+        return ['sbcl', 'sbcl']
+    endif
+    if executable( 'ecl' )
+        " Embeddable Common Lisp
+        return ['ecl', 'ecl']
+    endif
+    if executable( 'acl' )
+        " Allegro Common Lisp
+        return ['acl', 'allegro']
+    endif
+    if executable( 'lwl' )
+        " LispWorks
+        return ['lwl', 'lispworks']
+    endif
+    if g:slimv_windows && executable( 'wx86cl' )
+        " Clozure CL
+        return ['wx86cl', 'clozure']
+    endif
+    if !g:slimv_windows && executable( 'lx86cl' )
+        " Clozure CL
+        return ['lx86cl', 'clozure']
+    endif
+
+    if g:slimv_windows
+        " Try to find Lisp on the standard installation places
+        let lisps = split( globpath( 'c:/*lisp*,c:/Program Files/*lisp*', '*lisp.exe' ), '\n' )
+        if len( lisps ) > 0
+            return [lisps[0], 'clisp']
+        endif
+        let lisps = split( globpath( 'c:/*lisp*/*,c:/Program Files/*lisp*/*', '*lisp.exe' ), '\n' )
+        if len( lisps ) > 0
+            return [lisps[0], 'clisp']
+        endif
+        let lisps = split( globpath( 'c:/*lisp*/**,c:/Program Files/*lisp*/**', '*lisp.exe' ), '\n' )
+        if len( lisps ) > 0
+            return [lisps[0], 'clisp']
+        endif
+        let lisps = split( globpath( 'c:/gcl*,c:/Program Files/gcl*', 'gcl.exe' ), '\n' )
+        if len( lisps ) > 0
+            return [lisps[0], 'clisp']
+        endif
+        let lisps = split( globpath( 'c:/cmucl*,c:/Program Files/cmucl*', 'cmucl.exe' ), '\n' )
+        if len( lisps ) > 0
+            return [lisps[0], 'cmu']
+        endif
+        let lisps = split( globpath( 'c:/sbcl*,c:/Program Files/sbcl*', 'sbcl.exe' ), '\n' )
+        if len( lisps ) > 0
+            return [lisps[0], 'sbcl']
+        endif
+        let lisps = split( globpath( 'c:/ecl*,c:/Program Files/ecl*', 'ecl.exe' ), '\n' )
+        if len( lisps ) > 0
+            return [lisps[0], 'ecl']
+        endif
+        let lisps = split( globpath( 'c:/ccl*,c:/Program Files/ccl*', 'wx86cl.exe' ), '\n' )
+        if len( lisps ) > 0
+            return [lisps[0], 'clozure']
+        endif
+    endif
+
+    return ['', '']
+endfunction
+
+" Try to find out the Lisp implementation
+function! b:SlimvImplementation()
+    if exists( 'g:slimv_impl' ) && g:slimv_impl != ''
+        " Return Lisp implementation if defined
+        return tolower( g:slimv_impl )
+    endif
+
+    if exists( 'g:slimv_lisp' ) && match( tolower( g:slimv_lisp ), 'sbcl' ) >= 0
+        return 'sbcl'
+    endif
+
+    return 'clisp'
+endfunction
+
+" Filename for the REPL buffer file
+function! b:SlimvREPLFile()
+    return 'Slimv.REPL.lisp'
+endfunction
+
+" Lookup symbol in the list of Lisp Hyperspec symbol databases
+function! b:SlimvHyperspecLookup( word, exact, all )
+    if !exists( 'g:slimv_clhs_loaded' )
+        runtime ftplugin/**/slimv-clhs.vim
+    endif
+
+    let symbol = []
+    if exists( 'g:slimv_clhs_loaded' )
+        let symbol = SlimvFindSymbol( a:word, a:exact, a:all, g:slimv_clhs_clhs,          g:slimv_clhs_root, symbol )
+        let symbol = SlimvFindSymbol( a:word, a:exact, a:all, g:slimv_clhs_issues,        g:slimv_clhs_root, symbol )
+        let symbol = SlimvFindSymbol( a:word, a:exact, a:all, g:slimv_clhs_chapters,      g:slimv_clhs_root, symbol )
+        let symbol = SlimvFindSymbol( a:word, a:exact, a:all, g:slimv_clhs_control_chars, g:slimv_clhs_root, symbol )
+        let symbol = SlimvFindSymbol( a:word, a:exact, a:all, g:slimv_clhs_macro_chars,   g:slimv_clhs_root, symbol )
+        let symbol = SlimvFindSymbol( a:word, a:exact, a:all, g:slimv_clhs_loop,          g:slimv_clhs_root, symbol )
+        let symbol = SlimvFindSymbol( a:word, a:exact, a:all, g:slimv_clhs_arguments,     g:slimv_clhs_root, symbol )
+        let symbol = SlimvFindSymbol( a:word, a:exact, a:all, g:slimv_clhs_glossary,      g:slimv_clhs_root, symbol )
+    endif
+    if exists( 'g:slimv_clhs_user_db' )
+        " Give a choice for the user to extend the symbol database
+        if exists( 'g:slimv_clhs_user_root' )
+            let user_root = g:slimv_clhs_user_root
+        else
+            let user_root = ''
+        endif
+        let symbol = SlimvFindSymbol( a:word, a:exact, a:all, g:slimv_clhs_user_db, user_root, symbol )
+    endif
+    return symbol
+endfunction
+
+" Source Slimv general part
+runtime ftplugin/**/slimv.vim
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/bundle/slimv/ftplugin/metering.lisp	Fri Nov 12 18:30:35 2010 -0500
@@ -0,0 +1,1227 @@
+;;; -*- Mode: LISP; Package: monitor; Syntax: Common-lisp; Base: 10.;  -*-
+;;; Tue Jan 25 18:32:28 1994 by Mark Kantrowitz <mkant@GLINDA.OZ.CS.CMU.EDU>
+
+;;; ****************************************************************
+;;; Metering System ************************************************
+;;; ****************************************************************
+;;;
+;;; The Metering System is a portable Common Lisp code profiling tool.
+;;; It gathers timing and consing statistics for specified functions
+;;; while a program is running.
+;;;
+;;; The Metering System is a combination of
+;;;   o  the Monitor package written by Chris McConnell
+;;;   o  the Profile package written by Skef Wholey and Rob MacLachlan
+;;; The two systems were merged and extended by Mark Kantrowitz.
+;;;
+;;; Address: Carnegie Mellon University
+;;;          School of Computer Science
+;;;          Pittsburgh, PA 15213
+;;;
+;;; This code is in the public domain and is distributed without warranty
+;;; of any kind.
+;;;
+;;; This copy is from SLIME, http://www.common-lisp.net/project/slime/
+;;;
+;;;
+
+;;; ********************************
+;;; Change Log *********************
+;;; ********************************
+;;;
+;;; 26-JUN-90  mk       Merged functionality of Monitor and Profile packages.
+;;; 26-JUN-90  mk       Now handles both inclusive and exclusive statistics
+;;;                     with respect to nested calls. (Allows it to subtract
+;;;                     total monitoring overhead for each function, not just
+;;;                     the time spent monitoring the function itself.)
+;;; 26-JUN-90  mk       The table is now saved so that one may manipulate
+;;;                     the data (sorting it, etc.) even after the original
+;;;                     source of the data has been cleared.
+;;; 25-SEP-90  mk       Added get-cons functions for Lucid 3.0, MACL 1.3.2
+;;;                     required-arguments functions for Lucid 3.0,
+;;;                     Franz Allegro CL, and MACL 1.3.2.
+;;; 25-JAN-91  mk       Now uses fdefinition if available.
+;;; 25-JAN-91  mk       Replaced (and :allegro (not :coral)) with :excl.
+;;;                     Much better solution for the fact that both call
+;;;                     themselves :allegro.
+;;;  5-JUL-91 mk        Fixed warning to occur only when file is loaded
+;;;                     uncompiled.
+;;;  5-JUL-91 mk        When many unmonitored functions, print out number
+;;;                     instead of whole list.
+;;; 24-MAR-92 mk        Updated for CLtL2 compatibility. space measuring
+;;;                     doesn't work in MCL, but fixed so that timing
+;;;                     statistics do.
+;;; 26-MAR-92 mk        Updated for Lispworks. Replaced :ccl with
+;;;                     (and :ccl (not :lispworks)).
+;;; 27-MAR-92 mk        Added get-cons for Allegro-V4.0.
+;;; 01-JAN-93 mk  v2.0  Support for MCL 2.0, CMU CL 16d, Allegro V3.1/4.0/4.1,
+;;;                     Lucid 4.0, ibcl
+;;; 25-JAN-94 mk  v2.1  Patches for CLISP from Bruno Haible.
+;;; 01-APR-05 lgorrie   Removed support for all Lisps except CLISP and OpenMCL.
+;;;                     Purely to cut down on stale code (e.g. #+cltl2) in this
+;;;                     version that is bundled with SLIME.
+;;; 22-Aug-08 stas      Define TIME-TYPE for Clozure CL.
+;;;
+
+;;; ********************************
+;;; To Do **************************
+;;; ********************************
+;;;
+;;;    - Need get-cons for Allegro, AKCL.
+;;;    - Speed up monitoring code. Replace use of hash tables with an embedded
+;;;      offset in an array so that it will be faster than using gethash.
+;;;      (i.e., svref/closure reference is usually faster than gethash).
+;;;    - Beware of (get-internal-run-time) overflowing. Yikes!
+;;;    - Check robustness with respect to profiled functions.
+;;;    - Check logic of computing inclusive and exclusive time and consing.
+;;;      Especially wrt incf/setf comment below. Should be incf, so we
+;;;      sum recursive calls.
+;;;    - Add option to record caller statistics -- this would list who
+;;;      called which functions and how often.
+;;;    - switches to turn timing/CONSING statistics collection on/off.
+
+
+;;; ********************************
+;;; Notes **************************
+;;; ********************************
+;;;
+;;;    METERING has been tested (successfully) in the following lisps:
+;;;       CMU Common Lisp (16d, Python Compiler 1.0 ) :new-compiler
+;;;       CMU Common Lisp (M2.9 15-Aug-90, Compiler M1.8 15-Aug-90)
+;;;       Macintosh Allegro Common Lisp (1.3.2)
+;;;       Macintosh Common Lisp (2.0)
+;;;       ExCL (Franz Allegro CL 3.1.12 [DEC 3100] 11/19/90)   :allegro-v3.1
+;;;       ExCL (Franz Allegro CL 4.0.1 [Sun4] 2/8/91)          :allegro-v4.0
+;;;       ExCL (Franz Allegro CL 4.1 [SPARC R1] 8/28/92 14:06) :allegro-v4.1
+;;;       ExCL (Franz ACL 5.0.1 [Linux/X86] 6/29/99 16:11)     :allegro-v5.0.1
+;;;       Lucid CL (Version 2.1 6-DEC-87)
+;;;       Lucid Common Lisp (3.0)
+;;;       Lucid Common Lisp (4.0.1 HP-700 12-Aug-91)
+;;;       AKCL (1.86, June 30, 1987 or later)
+;;;       Ibuki Common Lisp (Version 2, release 01.027)
+;;;       CLISP (January 1994)
+;;;
+;;;    METERING needs to be tested in the following lisps:
+;;;       Symbolics Common Lisp (8.0)
+;;;       KCL (June 3, 1987 or later)
+;;;       TI (Release 4.1 or later)
+;;;       Golden Common Lisp (3.1 IBM-PC)
+;;;       VAXLisp (2.0, 3.1)
+;;;       Procyon Common Lisp
+
+
+;;; ****************************************************************
+;;; Documentation **************************************************
+;;; ****************************************************************
+;;;
+;;; This system runs in any valid Common Lisp. Four small
+;;; implementation-dependent changes can be made to improve performance
+;;; and prettiness. In the section labelled "Implementation Dependent
+;;; Changes" below, you should tailor the functions REQUIRED-ARGUMENTS,
+;;; GET-CONS, GET-TIME, and TIME-UNITS-PER-SECOND to your implementation
+;;; for the best results. If GET-CONS is not specified for your
+;;; implementation, no consing information will be reported. The other
+;;; functions will default to working forms, albeit inefficient, in
+;;; non-CMU implementations. If you tailor these functions for a particular
+;;; version of Common Lisp, we'd appreciate receiving the code.
+;;;
+
+;;; ****************************************************************
+;;; Usage Notes ****************************************************
+;;; ****************************************************************
+;;;
+;;; SUGGESTED USAGE:
+;;;
+;;; Start by monitoring big pieces of the program, then carefully choose
+;;; which functions close to, but not in, the inner loop are to be
+;;; monitored next. Don't monitor functions that are called by other
+;;; monitored functions: you will only confuse yourself.
+;;;
+;;; If the per-call time reported is less than 1/10th of a second, then
+;;; consider the clock resolution and profiling overhead before you believe
+;;; the time. It may be that you will need to run your program many times
+;;; in order to average out to a higher resolution.
+;;;
+;;; The easiest way to use this package is to load it and execute either
+;;;     (mon:with-monitoring (names*) ()
+;;;         your-forms*)
+;;; or
+;;;     (mon:monitor-form your-form)
+;;; The former allows you to specify which functions will be monitored; the
+;;; latter monitors all functions in the current package. Both automatically
+;;; produce a table of statistics. Other variants can be constructed from
+;;; the monitoring primitives, which are described below, along with a
+;;; fuller description of these two macros.
+;;;
+;;; For best results, compile this file before using.
+;;;
+;;;
+;;; CLOCK RESOLUTION:
+;;;
+;;; Unless you are very lucky, the length of your machine's clock "tick" is
+;;; probably much longer than the time it takes a simple function to run.
+;;; For example, on the IBM RT, the clock resolution is 1/50th of a second.
+;;; This means that if a function is only called a few times, then only the
+;;; first couple of decimal places are really meaningful.
+;;;
+;;;
+;;; MONITORING OVERHEAD:
+;;;
+;;; The added monitoring code takes time to run every time that the monitored
+;;; function is called, which can disrupt the attempt to collect timing
+;;; information. In order to avoid serious inflation of the times for functions
+;;; that take little time to run, an estimate of the overhead due to monitoring
+;;; is subtracted from the times reported for each function.
+;;;
+;;; Although this correction works fairly well, it is not totally accurate,
+;;; resulting in times that become increasingly meaningless for functions
+;;; with short runtimes. For example, subtracting the estimated overhead
+;;; may result in negative times for some functions. This is only a concern
+;;; when the estimated profiling overhead is many times larger than
+;;; reported total CPU time.
+;;;
+;;; If you monitor functions that are called by monitored functions, in
+;;; :inclusive mode the monitoring overhead for the inner function is
+;;; subtracted from the CPU time for the outer function. [We do this by
+;;; counting for each function not only the number of calls to *this*
+;;; function, but also the number of monitored calls while it was running.]
+;;; In :exclusive mode this is not necessary, since we subtract the
+;;; monitoring time of inner functions, overhead & all.
+;;;
+;;; Otherwise, the estimated monitoring overhead is not represented in the
+;;; reported total CPU time. The sum of total CPU time and the estimated
+;;; monitoring overhead should be close to the total CPU time for the
+;;; entire monitoring run (as determined by TIME).
+;;;
+;;; A timing overhead factor is computed at load time. This will be incorrect
+;;; if the monitoring code is run in a different environment than this file
+;;; was loaded in. For example, saving a core image on a high performance
+;;; machine and running it on a low performance one will result in the use
+;;; of an erroneously small overhead factor.
+;;;
+;;;
+;;; If your times vary widely, possible causes are:
+;;;    - Garbage collection.  Try turning it off, then running your code.
+;;;      Be warned that monitoring code will probably cons when it does
+;;;      (get-internal-run-time).
+;;;    - Swapping.  If you have enough memory, execute your form once
+;;;      before monitoring so that it will be swapped into memory. Otherwise,
+;;;      get a bigger machine!
+;;;    - Resolution of internal-time-units-per-second.  If this value is
+;;;      too low, then the timings become wild. You can try executing more
+;;;      of whatever your test is, but that will only work if some of your
+;;;      paths do not match the timer resolution.
+;;;      internal-time-units-per-second is so coarse -- on a Symbolics it is
+;;;      977, in MACL it is 60.
+;;;
+;;;
+
+;;; ****************************************************************
+;;; Interface ******************************************************
+;;; ****************************************************************
+;;;
+;;; WITH-MONITORING (&rest functions)                         [Macro]
+;;;                 (&optional (nested :exclusive)
+;;;                            (threshold 0.01)
+;;;                            (key :percent-time))
+;;;                 &body body
+;;; The named functions will be set up for monitoring, the body forms executed,
+;;; a table of results printed, and the functions unmonitored. The nested,
+;;; threshold, and key arguments are passed to report-monitoring below.
+;;;
+;;; MONITOR-FORM form                                         [Macro]
+;;;               &optional (nested :exclusive)
+;;;                         (threshold 0.01)
+;;;                         (key :percent-time)
+;;; All functions in the current package are set up for monitoring while
+;;; the form is executed, and automatically unmonitored after a table of
+;;; results has been printed. The nested, threshold, and key arguments
+;;; are passed to report-monitoring below.
+;;;
+;;; *MONITORED-FUNCTIONS*                                     [Variable]
+;;; This holds a list of all functions that are currently being monitored.
+;;;
+;;; MONITOR &rest names                                       [Macro]
+;;; The named functions will be set up for monitoring by augmenting
+;;; their function definitions with code that gathers statistical information
+;;; about code performance. As with the TRACE macro, the function names are
+;;; not evaluated. Calls the function MON::MONITORING-ENCAPSULATE on each
+;;; function name. If no names are specified, returns a list of all
+;;; monitored functions.
+;;;
+;;; If name is not a symbol, it is evaled to return the appropriate
+;;; closure. This allows you to monitor closures stored anywhere like
+;;; in a variable, array or structure. Most other monitoring packages
+;;; can't handle this.
+;;;
+;;; MONITOR-ALL &optional (package *package*)                 [Function]
+;;; Monitors all functions in the specified package, which defaults to
+;;; the current package.
+;;;
+;;; UNMONITOR &rest names                                     [Macro]
+;;; Removes monitoring code from the named functions. If no names are
+;;; specified, all currently monitored functions are unmonitored.
+;;;
+;;; RESET-MONITORING-INFO name                                [Function]
+;;; Resets the monitoring statistics for the specified function.
+;;;
+;;; RESET-ALL-MONITORING                                      [Function]
+;;; Resets the monitoring statistics for all monitored functions.
+;;;
+;;; MONITORED name                                            [Function]
+;;; Predicate to test whether a function is monitored.
+;;;
+;;; REPORT-MONITORING &optional names                         [Function]
+;;;                             (nested :exclusive)
+;;;                             (threshold 0.01)
+;;;                             (key :percent-time)
+;;; Creates a table of monitoring information for the specified list
+;;; of names, and displays the table using display-monitoring-results.
+;;; If names is :all or nil, uses all currently monitored functions.
+;;; Takes the following arguments:
+;;;    - NESTED specifies whether nested calls of monitored functions
+;;;      are included in the times for monitored functions.
+;;;      o  If :inclusive, the per-function information is for the entire
+;;;         duration of the monitored function, including any calls to
+;;;         other monitored functions. If functions A and B are monitored,
+;;;         and A calls B, then the accumulated time and consing for A will
+;;;         include the time and consing of B.  Note: if a function calls
+;;;         itself recursively, the time spent in the inner call(s) may
+;;;         be counted several times.
+;;;      o  If :exclusive, the information excludes time attributed to
+;;;         calls to other monitored functions. This is the default.
+;;;    - THRESHOLD specifies that only functions which have been executed
+;;;      more than threshold percent of the time will be reported. Defaults
+;;;      to 1%. If a threshold of 0 is specified, all functions are listed,
+;;;      even those with 0 or negative running times (see note on overhead).
+;;;    - KEY specifies that the table be sorted by one of the following
+;;;      sort keys:
+;;;         :function       alphabetically by function name
+;;;         :percent-time   by percent of total execution time
+;;;         :percent-cons   by percent of total consing
+;;;         :calls          by number of times the function was called
+;;;         :time-per-call  by average execution time per function
+;;;         :cons-per-call  by average consing per function
+;;;         :time           same as :percent-time
+;;;         :cons           same as :percent-cons
+;;;
+;;; REPORT &key (names :all)                                  [Function]
+;;;             (nested :exclusive)
+;;;             (threshold 0.01)
+;;;             (sort-key :percent-time)
+;;;             (ignore-no-calls nil)
+;;;
+;;; Same as REPORT-MONITORING but we use a nicer keyword interface.
+;;;
+;;; DISPLAY-MONITORING-RESULTS &optional (threshold 0.01)     [Function]
+;;;                                      (key :percent-time)
+;;; Prints a table showing for each named function:
+;;;    - the total CPU time used in that function for all calls
+;;;    - the total number of bytes consed in that function for all calls
+;;;    - the total number of calls
+;;;    - the average amount of CPU time per call
+;;;    - the average amount of consing per call
+;;;    - the percent of total execution time spent executing that function
+;;;    - the percent of total consing spent consing in that function
+;;; Summary totals of the CPU time, consing, and calls columns are printed.
+;;; An estimate of the monitoring overhead is also printed. May be run
+;;; even after unmonitoring all the functions, to play with the data.
+;;;
+;;; SAMPLE TABLE:
+#|
+                                               Cons
+                 %     %                       Per      Total   Total
+Function         Time  Cons  Calls  Sec/Call   Call     Time    Cons
+----------------------------------------------------------------------
+FIND-ROLE:       0.58  0.00    136  0.003521      0  0.478863       0
+GROUP-ROLE:      0.35  0.00    365  0.000802      0  0.292760       0
+GROUP-PROJECTOR: 0.05  0.00    102  0.000408      0  0.041648       0
+FEATURE-P:       0.02  0.00    570  0.000028      0  0.015680       0
+----------------------------------------------------------------------
+TOTAL:                        1173                   0.828950       0
+Estimated total monitoring overhead: 0.88 seconds
+|#
+
+;;; ****************************************************************
+;;; METERING *******************************************************
+;;; ****************************************************************
+
+;;; ********************************
+;;; Warn people using the wrong Lisp
+;;; ********************************
+
+#-(or clisp openmcl)
+(warn "metering.lisp does not support your Lisp implementation!")
+
+;;; ********************************
+;;; Packages ***********************
+;;; ********************************
+
+;;; For CLtL2 compatible lisps
+
+(defpackage "MONITOR" (:nicknames "MON") (:use "COMMON-LISP")
+  (:export "*MONITORED-FUNCTIONS*"
+	   "MONITOR" "MONITOR-ALL" "UNMONITOR" "MONITOR-FORM"
+	   "WITH-MONITORING"
+	   "RESET-MONITORING-INFO" "RESET-ALL-MONITORING"
+	   "MONITORED"
+	   "REPORT-MONITORING"
+	   "DISPLAY-MONITORING-RESULTS"
+	   "MONITORING-ENCAPSULATE" "MONITORING-UNENCAPSULATE"
+	   "REPORT"))
+(in-package "MONITOR")
+
+;;; Warn user if they're loading the source instead of compiling it first.
+(eval-when (eval)
+   (warn "This file should be compiled before loading for best results."))
+
+;;; ********************************
+;;; Version ************************
+;;; ********************************
+
+(defparameter *metering-version* "v2.1 25-JAN-94"
+  "Current version number/date for Metering.")
+
+
+;;; ****************************************************************
+;;; Implementation Dependent Definitions ***************************
+;;; ****************************************************************
+
+;;; ********************************
+;;; Timing Functions ***************
+;;; ********************************
+;;; The get-time function is called to find the total number of ticks since
+;;; the beginning of time. time-units-per-second allows us to convert units
+;;; to seconds.
+
+#-(or clisp openmcl)
+(eval-when (compile eval)
+  (warn
+   "You may want to supply implementation-specific get-time functions."))
+
+(defconstant time-units-per-second internal-time-units-per-second)
+
+#+openmcl
+(progn
+ (deftype time-type () 'unsigned-byte)
+ (deftype consing-type () 'unsigned-byte))
+
+(defmacro get-time ()
+  `(the time-type (get-internal-run-time)))
+
+;;; NOTE: In Macintosh Common Lisp, CCL::GCTIME returns the number of
+;;;       milliseconds spent during GC. We could subtract this from
+;;;       the value returned by get-internal-run-time to eliminate
+;;;       the effect of GC on the timing values, but we prefer to let
+;;;       the user run without GC on. If the application is so big that
+;;;       it requires GC to complete, then the GC times are part of the
+;;;       cost of doing business, and will average out in the long run.
+;;;       If it seems really important to a user that GC times not be
+;;;       counted, then uncomment the following three lines and read-time
+;;;       conditionalize the definition of get-time above with #-:openmcl.
+;#+openmcl
+;(defmacro get-time ()
+;  `(the time-type (- (get-internal-run-time) (ccl:gctime))))
+
+;;; ********************************
+;;; Consing Functions **************
+;;; ********************************
+;;; The get-cons macro is called to find the total number of bytes
+;;; consed since the beginning of time.
+
+#+clisp
+(defun get-cons ()
+  (multiple-value-bind (real1 real2 run1 run2 gc1 gc2 space1 space2 gccount)
+      (sys::%%time)
+    (declare (ignore real1 real2 run1 run2 gc1 gc2 gccount))
+    (dpb space1 (byte 24 24) space2)))
+
+;;; Macintosh Common Lisp 2.0
+;;; Note that this includes bytes that were allocated during GC.
+;;; We could subtract this out by advising GC like we did under
+;;; MCL 1.3.2, but I'd rather users ran without GC. If they can't
+;;; run without GC, then the bytes consed during GC are a cost of
+;;; running their program. Metering the code a few times will
+;;; avoid the consing values being too lopsided. If a user really really
+;;; wants to subtract out the consing during GC, replace the following
+;;; two lines with the commented out code.
+#+openmcl
+(defmacro get-cons () `(the consing-type (ccl::total-bytes-allocated)))
+;; #+openmcl
+;; (progn
+;;   (in-package :ccl)
+;;   (defvar *bytes-consed-chkpt* 0)
+;;   (defun reset-consing () (setq *bytes-consed-chkpt* 0))
+;;   (let ((old-gc (symbol-function 'gc))
+;;         (ccl:*warn-if-redefine-kernel* nil))
+;;     (setf (symbol-function 'gc)
+;;           #'(lambda ()
+;;               (let ((old-consing (total-bytes-consed)))
+;;                 (prog1
+;;                     (funcall old-gc)
+;;                   (incf *bytes-consed-chkpt*
+;;                         (- old-consing (total-bytes-consed))))))))
+;;   (defun total-bytes-consed ()
+;;     "Returns number of conses (8 bytes each)"
+;;     (ccl::total-bytes-allocated))
+;;   (in-package "MONITOR")
+;;   (defun get-cons ()
+;;     (the consing-type (+ (ccl::total-bytes-consed) ccl::*bytes-consed-chkpt*))))
+
+
+#-(or clisp openmcl)
+(progn
+  (eval-when (compile eval)
+    (warn "No consing will be reported unless a get-cons function is ~
+           defined."))
+
+  (defmacro get-cons () '(the consing-type 0)))
+
+;; actually, neither `get-cons' nor `get-time' are used as is,
+;; but only in the following macro `with-time/cons'
+#-:clisp
+(defmacro with-time/cons ((delta-time delta-cons) form &body post-process)
+  (let ((start-cons (gensym "START-CONS-"))
+        (start-time (gensym "START-TIME-")))
+    `(let ((,start-time (get-time)) (,start-cons (get-cons)))
+       (declare (type time-type ,start-time)
+                (type consing-type ,start-cons))
+       (multiple-value-prog1 ,form
+         (let ((,delta-time (- (get-time) ,start-time))
+               (,delta-cons (- (get-cons) ,start-cons)))
+           ,@post-process)))))
+
+#+clisp
+(progn
+  (defmacro delta4 (nv1 nv2 ov1 ov2 by)
+    `(- (dpb (- ,nv1 ,ov1) (byte ,by ,by) ,nv2) ,ov2))
+
+  (let ((del (find-symbol "DELTA4" "SYS")))
+    (when del (setf (fdefinition 'delta4) (fdefinition del))))
+
+  (if (< internal-time-units-per-second 1000000)
+      ;; TIME_1: AMIGA, OS/2, UNIX_TIMES
+      (defmacro delta4-time (new-time1 new-time2 old-time1 old-time2)
+        `(delta4 ,new-time1 ,new-time2 ,old-time1 ,old-time2 16))
+      ;; TIME_2: other UNIX, WIN32
+      (defmacro delta4-time (new-time1 new-time2 old-time1 old-time2)
+        `(+ (* (- ,new-time1 ,old-time1) internal-time-units-per-second)
+            (- ,new-time2 ,old-time2))))
+
+  (defmacro delta4-cons (new-cons1 new-cons2 old-cons1 old-cons2)
+    `(delta4 ,new-cons1 ,new-cons2 ,old-cons1 ,old-cons2 24))
+
+  ;; avoid consing: when the application conses a lot,
+  ;; get-cons may return a bignum, so we really should not use it.
+  (defmacro with-time/cons ((delta-time delta-cons) form &body post-process)
+    (let ((beg-cons1 (gensym "BEG-CONS1-")) (end-cons1 (gensym "END-CONS1-"))
+          (beg-cons2 (gensym "BEG-CONS2-")) (end-cons2 (gensym "END-CONS2-"))
+          (beg-time1 (gensym "BEG-TIME1-")) (end-time1 (gensym "END-TIME1-"))
+          (beg-time2 (gensym "BEG-TIME2-")) (end-time2 (gensym "END-TIME2-"))
+          (re1 (gensym)) (re2 (gensym)) (gc1 (gensym)) (gc2 (gensym)))
+      `(multiple-value-bind (,re1 ,re2 ,beg-time1 ,beg-time2
+                                  ,gc1 ,gc2 ,beg-cons1 ,beg-cons2) (sys::%%time)
+         (declare (ignore ,re1 ,re2 ,gc1 ,gc2))
+         (multiple-value-prog1 ,form
+           (multiple-value-bind (,re1 ,re2 ,end-time1 ,end-time2
+                                      ,gc1 ,gc2 ,end-cons1 ,end-cons2) (sys::%%time)
+             (declare (ignore ,re1 ,re2 ,gc1 ,gc2))
+             (let ((,delta-time (delta4-time ,end-time1 ,end-time2
+                                             ,beg-time1 ,beg-time2))
+                   (,delta-cons (delta4-cons ,end-cons1 ,end-cons2
+                                             ,beg-cons1 ,beg-cons2)))
+               ,@post-process)))))))
+
+;;; ********************************
+;;; Required Arguments *************
+;;; ********************************
+;;;
+;;; Required (Fixed) vs Optional Args
+;;;
+;;; To avoid unnecessary consing in the "encapsulation" code, we find out the
+;;; number of required arguments, and use &rest to capture only non-required
+;;; arguments.  The function Required-Arguments returns two values: the first
+;;; is the number of required arguments, and the second is T iff there are any
+;;; non-required arguments (e.g. &optional, &rest, &key).
+
+;;; Lucid, Allegro, and Macintosh Common Lisp
+#+openmcl
+(defun required-arguments (name)
+  (let* ((function (symbol-function name))
+         (args (ccl:arglist function))
+         (pos (position-if #'(lambda (x)
+                               (and (symbolp x)
+                                    (let ((name (symbol-name x)))
+                                      (and (>= (length name) 1)
+                                           (char= (schar name 0)
+                                                  #\&)))))
+                           args)))
+    (if pos
+        (values pos t)
+        (values (length args) nil))))
+
+#+clisp
+(defun required-arguments (name)
+  (multiple-value-bind (name req-num opt-num rest-p key-p keywords allow-p)
+      (sys::function-signature name t)
+    (if name ; no error
+        (values req-num (or (/= 0 opt-num) rest-p key-p keywords allow-p))
+        (values 0 t))))
+
+#-(or clisp openmcl)
+(progn
+ (eval-when (compile eval)
+   (warn
+    "You may want to add an implementation-specific Required-Arguments function."))
+ (eval-when (load eval)
+   (defun required-arguments (name)
+     (declare (ignore name))
+     (values 0 t))))
+
+#|
+;;;Examples
+(defun square (x) (* x x))
+(defun square2 (x &optional y) (* x x y))
+(defun test (x y &optional (z 3)) 3)
+(defun test2 (x y &optional (z 3) &rest fred) 3)
+
+(required-arguments 'square) => 1 nil
+(required-arguments 'square2) => 1 t
+(required-arguments 'test) => 2 t
+(required-arguments 'test2) => 2 t
+|#
+
+
+;;; ****************************************************************
+;;; Main METERING Code *********************************************
+;;; ****************************************************************
+
+;;; ********************************
+;;; Global Variables ***************
+;;; ********************************
+(defvar *MONITOR-TIME-OVERHEAD* nil
+  "The amount of time an empty monitored function costs.")
+(defvar *MONITOR-CONS-OVERHEAD* nil
+  "The amount of cons an empty monitored function costs.")
+
+(defvar *TOTAL-TIME* 0
+  "Total amount of time monitored so far.")
+(defvar *TOTAL-CONS* 0
+  "Total amount of consing monitored so far.")
+(defvar *TOTAL-CALLS* 0
+  "Total number of calls monitored so far.")
+(proclaim '(type time-type *total-time*))
+(proclaim '(type consing-type *total-cons*))
+(proclaim '(fixnum *total-calls*))
+
+;;; ********************************
+;;; Accessor Functions *************
+;;; ********************************
+;;; Perhaps the SYMBOLP should be FBOUNDP? I.e., what about variables
+;;; containing closures.
+(defmacro PLACE-FUNCTION (function-place)
+  "Return the function found at FUNCTION-PLACE. Evals FUNCTION-PLACE
+if it isn't a symbol, to allow monitoring of closures located in
+variables/arrays/structures."
+  ;; Note that (fboundp 'fdefinition) returns T even if fdefinition
+  ;; is a macro, which is what we want.
+  (if (fboundp 'fdefinition)
+      `(if (fboundp ,function-place)
+           (fdefinition ,function-place)
+           (eval ,function-place))
+      `(if (symbolp ,function-place)
+           (symbol-function ,function-place)
+           (eval ,function-place))))
+
+(defsetf PLACE-FUNCTION (function-place) (function)
+  "Set the function in FUNCTION-PLACE to FUNCTION."
+  (if (fboundp 'fdefinition)
+      ;; If we're conforming to CLtL2, use fdefinition here.
+      `(if (fboundp ,function-place)
+           (setf (fdefinition ,function-place) ,function)
+           (eval '(setf ,function-place ',function)))
+      `(if (symbolp ,function-place)
+           (setf (symbol-function ,function-place) ,function)
+           (eval '(setf ,function-place ',function)))))
+
+#|
+;;; before using fdefinition
+(defun PLACE-FUNCTION (function-place)
+  "Return the function found at FUNCTION-PLACE. Evals FUNCTION-PLACE
+if it isn't a symbol, to allow monitoring of closures located in
+variables/arrays/structures."
+  (if (symbolp function-place)
+      (symbol-function function-place)
+      (eval function-place)))
+
+(defsetf PLACE-FUNCTION (function-place) (function)
+  "Set the function in FUNCTION-PLACE to FUNCTION."
+  `(if (symbolp ,function-place)
+       (setf (symbol-function ,function-place) ,function)
+       (eval '(setf ,function-place ',function))))
+|#
+
+(defun PLACE-FBOUNDP (function-place)
+  "Test to see if FUNCTION-PLACE is a function."
+  ;; probably should be
+  #|(or (and (symbolp function-place)(fboundp function-place))
+      (functionp (place-function function-place)))|#
+  (if (symbolp function-place)
+      (fboundp function-place)
+      (functionp (place-function function-place))))
+
+(defun PLACE-MACROP (function-place)
+  "Test to see if FUNCTION-PLACE is a macro."
+  (when (symbolp function-place)
+    (macro-function function-place)))
+
+;;; ********************************
+;;; Measurement Tables *************
+;;; ********************************
+(defvar *monitored-functions* nil
+  "List of monitored symbols.")
+
+;;; We associate a METERING-FUNCTIONS structure with each monitored function
+;;; name or other closure. This holds the functions that we call to manipulate
+;;; the closure which implements the encapsulation.
+;;;
+(defstruct metering-functions
+  (name nil)
+  (old-definition nil :type function)
+  (new-definition nil :type function)
+  (read-metering  nil :type function)
+  (reset-metering nil :type function))
+
+;;; In general using hash tables in time-critical programs is a bad idea,
+;;; because when one has to grow the table and rehash everything, the
+;;; timing becomes grossly inaccurate. In this case it is not an issue
+;;; because all inserting of entries in the hash table occurs before the
+;;; timing commences. The only circumstance in which this could be a
+;;; problem is if the lisp rehashes on the next reference to the table,
+;;; instead of when the entry which forces a rehash was inserted.
+;;;
+;;; Note that a similar kind of problem can occur with GC, which is why
+;;; one should turn off GC when monitoring code.
+;;;
+(defvar *monitor* (make-hash-table :test #'equal)
+  "Hash table in which METERING-FUNCTIONS structures are stored.")
+(defun get-monitor-info (name)
+  (gethash name *monitor*))
+(defsetf get-monitor-info (name) (info)
+  `(setf (gethash ,name *monitor*) ,info))
+
+(defun MONITORED (function-place)
+  "Test to see if a FUNCTION-PLACE is monitored."
+  (and (place-fboundp function-place)   ; this line necessary?
+       (get-monitor-info function-place)))
+
+(defun reset-monitoring-info (name)
+  "Reset the monitoring info for the specified function."
+  (let ((finfo (get-monitor-info name)))
+    (when finfo
+      (funcall (metering-functions-reset-metering finfo)))))
+(defun reset-all-monitoring ()
+  "Reset monitoring info for all functions."
+  (setq *total-time* 0
+        *total-cons* 0
+        *total-calls* 0)
+  (dolist (symbol *monitored-functions*)
+    (when (monitored symbol)
+      (reset-monitoring-info symbol))))
+
+(defun monitor-info-values (name &optional (nested :exclusive) warn)
+  "Returns monitoring information values for the named function,
+adjusted for overhead."
+  (let ((finfo (get-monitor-info name)))
+    (if finfo
+        (multiple-value-bind (inclusive-time inclusive-cons
+                                             exclusive-time exclusive-cons
+                                             calls nested-calls)
+            (funcall (metering-functions-read-metering finfo))
+          (unless (or (null warn)
+                      (eq (place-function name)
+                          (metering-functions-new-definition finfo)))
+            (warn "Funtion ~S has been redefined, so times may be inaccurate.~@
+                   MONITOR it again to record calls to the new definition."
+                  name))
+          (case nested
+            (:exclusive (values calls
+                                nested-calls
+                                (- exclusive-time
+                                   (* calls *monitor-time-overhead*))
+                                (- exclusive-cons
+                                   (* calls *monitor-cons-overhead*))))
+            ;; In :inclusive mode, subtract overhead for all the
+            ;; called functions as well. Nested-calls includes the
+            ;; calls of the function as well. [Necessary 'cause of
+            ;; functions which call themselves recursively.]
+            (:inclusive (values calls
+                                nested-calls
+                                (- inclusive-time
+                                   (* nested-calls ;(+ calls)
+                                      *monitor-time-overhead*))
+                                (- inclusive-cons
+                                   (* nested-calls ;(+ calls)
+                                      *monitor-cons-overhead*))))))
+        (values 0 0 0 0))))
+
+;;; ********************************
+;;; Encapsulate ********************
+;;; ********************************
+(eval-when (compile load eval)
+;; Returns a lambda expression for a function that, when called with the
+;; function name, will set up that function for metering.
+;;
+;; A function is monitored by replacing its definition with a closure
+;; created by the following function. The closure records the monitoring
+;; data, and updates the data with each call of the function.
+;;
+;; Other closures are used to read and reset the data.
+(defun make-monitoring-encapsulation (min-args optionals-p)
+  (let (required-args)
+    (dotimes (i min-args) (push (gensym) required-args))
+    `(lambda (name)
+       (let ((inclusive-time 0)
+	     (inclusive-cons 0)
+	     (exclusive-time 0)
+	     (exclusive-cons 0)
+	     (calls 0)
+	     (nested-calls 0)
+	     (old-definition (place-function name)))
+	 (declare (type time-type inclusive-time)
+		  (type time-type exclusive-time)
+		  (type consing-type inclusive-cons)
+		  (type consing-type exclusive-cons)
+		  (fixnum calls)
+		  (fixnum nested-calls))
+	 (pushnew name *monitored-functions*)
+
+	 (setf (place-function name)
+	       #'(lambda (,@required-args
+			  ,@(when optionals-p
+                              `(&rest optional-args)))
+		   (let ((prev-total-time *total-time*)
+			 (prev-total-cons *total-cons*)
+			 (prev-total-calls *total-calls*)
+			 ;; (old-time inclusive-time)
+			 ;; (old-cons inclusive-cons)
+			 ;; (old-nested-calls nested-calls)
+			 )
+		     (declare (type time-type prev-total-time)
+			      (type consing-type prev-total-cons)
+			      (fixnum prev-total-calls))
+                     (with-time/cons (delta-time delta-cons)
+                       ;; form
+                       ,(if optionals-p
+                            `(apply old-definition
+                                    ,@required-args optional-args)
+                            `(funcall old-definition ,@required-args))
+                       ;; post-processing:
+                       ;; Calls
+                       (incf calls)
+                       (incf *total-calls*)
+                       ;; nested-calls includes this call
+                       (incf nested-calls (the fixnum
+                                            (- *total-calls*
+                                               prev-total-calls)))
+                       ;; (setf nested-calls (+ old-nested-calls
+                       ;;                       (- *total-calls*
+                       ;;                          prev-total-calls)))
+                       ;; Time
+                       ;; Problem with inclusive time is that it
+                       ;; currently doesn't add values from recursive
+                       ;; calls to the same function. Change the
+                       ;; setf to an incf to fix this?
+                       (incf inclusive-time (the time-type delta-time))
+                       ;; (setf inclusive-time (+ delta-time old-time))
+                       (incf exclusive-time (the time-type
+                                              (+ delta-time
+                                                 (- prev-total-time
+                                                    *total-time*))))
+                       (setf *total-time* (the time-type
+                                            (+ delta-time
+                                               prev-total-time)))
+                       ;; Consing
+                       (incf inclusive-cons (the consing-type delta-cons))
+                       ;; (setf inclusive-cons (+ delta-cons old-cons))
+                       (incf exclusive-cons (the consing-type
+                                              (+ delta-cons
+                                                 (- prev-total-cons
+                                                    *total-cons*))))
+                       (setf *total-cons*
+                             (the consing-type
+                               (+ delta-cons prev-total-cons)))))))
+	 (setf (get-monitor-info name)
+	       (make-metering-functions
+		:name name
+		:old-definition old-definition
+		:new-definition (place-function name)
+		:read-metering #'(lambda ()
+				   (values inclusive-time
+					   inclusive-cons
+					   exclusive-time
+					   exclusive-cons
+					   calls
+					   nested-calls))
+		:reset-metering #'(lambda ()
+				    (setq inclusive-time 0
+					  inclusive-cons 0
+					  exclusive-time 0
+					  exclusive-cons 0
+					  calls 0
+					  nested-calls 0)
+				    t)))))))
+);; End of EVAL-WHEN
+
+;;; For efficiency reasons, we precompute the encapsulation functions
+;;; for a variety of combinations of argument structures
+;;; (min-args . optional-p). These are stored in the following hash table
+;;; along with any new ones we encounter. Since we're now precomputing
+;;; closure functions for common argument signatures, this eliminates
+;;; the former need to call COMPILE for each monitored function.
+(eval-when (compile eval)
+   (defconstant precomputed-encapsulations 8))
+
+(defvar *existing-encapsulations* (make-hash-table :test #'equal))
+(defun find-encapsulation (min-args optionals-p)
+  (or (gethash (cons min-args optionals-p) *existing-encapsulations*)
+      (setf (gethash (cons min-args optionals-p) *existing-encapsulations*)
+            (compile nil
+                     (make-monitoring-encapsulation min-args optionals-p)))))
+
+(macrolet ((frob ()
+             (let ((res ()))
+               (dotimes (i precomputed-encapsulations)
+                 (push `(setf (gethash '(,i . nil) *existing-encapsulations*)
+                              #',(make-monitoring-encapsulation i nil))
+                       res)
+                 (push `(setf (gethash '(,i . t) *existing-encapsulations*)
+                              #',(make-monitoring-encapsulation i t))
+                       res))
+               `(progn ,@res))))
+  (frob))
+
+(defun monitoring-encapsulate (name &optional warn)
+  "Monitor the function Name. If already monitored, unmonitor first."
+  ;; Saves the current definition of name and inserts a new function which
+  ;; returns the result of evaluating body.
+  (cond ((not (place-fboundp name))     ; not a function
+         (when warn
+           (warn "Ignoring undefined function ~S." name)))
+        ((place-macrop name)            ; a macro
+         (when warn
+           (warn "Ignoring macro ~S." name)))
+        (t                              ; tis a function
+         (when (get-monitor-info name) ; monitored
+           (when warn
+             (warn "~S already monitored, so unmonitoring it first." name))
+           (monitoring-unencapsulate name))
+         (multiple-value-bind (min-args optionals-p)
+             (required-arguments name)
+           (funcall (find-encapsulation min-args optionals-p) name)))))
+
+(defun monitoring-unencapsulate (name &optional warn)
+  "Removes monitoring encapsulation code from around Name."
+  (let ((finfo (get-monitor-info name)))
+    (when finfo                         ; monitored
+      (remprop name 'metering-functions)
+      (setq *monitored-functions*
+            (remove name *monitored-functions* :test #'equal))
+      (if (eq (place-function name)
+              (metering-functions-new-definition finfo))
+          (setf (place-function name)
+                (metering-functions-old-definition finfo))
+          (when warn
+            (warn "Preserving current definition of redefined function ~S."
+                  name))))))
+
+;;; ********************************
+;;; Main Monitoring Functions ******
+;;; ********************************
+(defmacro MONITOR (&rest names)
+  "Monitor the named functions. As in TRACE, the names are not evaluated.
+   If a function is already monitored, then unmonitor and remonitor (useful
+   to notice function redefinition). If a name is undefined, give a warning
+   and ignore it. See also unmonitor, report-monitoring,
+   display-monitoring-results and reset-time."
+  `(progn
+     ,@(mapcar #'(lambda (name) `(monitoring-encapsulate ',name)) names)
+     *monitored-functions*))
+
+(defmacro UNMONITOR (&rest names)
+  "Remove the monitoring on the named functions.
+   Names defaults to the list of all currently monitored functions."
+  `(dolist (name ,(if names `',names '*monitored-functions*) (values))
+     (monitoring-unencapsulate name)))
+
+(defun MONITOR-ALL (&optional (package *package*))
+  "Monitor all functions in the specified package."
+  (let ((package (if (packagep package)
+		     package
+		     (find-package package))))
+    (do-symbols (symbol package)
+      (when (eq (symbol-package symbol) package)
+        (monitoring-encapsulate symbol)))))
+
+(defmacro MONITOR-FORM (form
+                        &optional (nested :exclusive) (threshold 0.01)
+                        (key :percent-time))
+  "Monitor the execution of all functions in the current package
+during the execution of FORM.  All functions that are executed above
+THRESHOLD % will be reported."
+  `(unwind-protect
+       (progn
+         (monitor-all)
+         (reset-all-monitoring)
+         (prog1
+             (time ,form)
+           (report-monitoring :all ,nested ,threshold ,key :ignore-no-calls)))
+     (unmonitor)))
+
+(defmacro WITH-MONITORING ((&rest functions)
+                           (&optional (nested :exclusive)
+                                      (threshold 0.01)
+                                      (key :percent-time))
+                           &body body)
+  "Monitor the specified functions during the execution of the body."
+  `(unwind-protect
+       (progn
+         (dolist (fun ',functions)
+           (monitoring-encapsulate fun))
+         (reset-all-monitoring)
+         ,@body
+         (report-monitoring :all ,nested ,threshold ,key))
+     (unmonitor)))
+
+;;; ********************************
+;;; Overhead Calculations **********
+;;; ********************************
+(defconstant overhead-iterations 5000
+  "Number of iterations over which the timing overhead is averaged.")
+
+;;; Perhaps this should return something to frustrate clever compilers.
+(defun STUB-FUNCTION (x)
+  (declare (ignore x))
+  nil)
+(proclaim '(notinline stub-function))
+
+(defun SET-MONITOR-OVERHEAD ()
+  "Determines the average overhead of monitoring by monitoring the execution
+of an empty function many times."
+  (setq *monitor-time-overhead* 0
+        *monitor-cons-overhead* 0)
+  (stub-function nil)
+  (monitor stub-function)
+  (reset-all-monitoring)
+  (let ((overhead-function (symbol-function 'stub-function)))
+    (dotimes (x overhead-iterations)
+      (funcall overhead-function overhead-function)))
+;  (dotimes (x overhead-iterations)
+;    (stub-function nil))
+  (let ((fiter (float overhead-iterations)))
+    (multiple-value-bind (calls nested-calls time cons)
+        (monitor-info-values 'stub-function)
+      (declare (ignore calls nested-calls))
+      (setq *monitor-time-overhead* (/ time fiter)
+            *monitor-cons-overhead* (/ cons fiter))))
+  (unmonitor stub-function))
+(set-monitor-overhead)
+
+;;; ********************************
+;;; Report Data ********************
+;;; ********************************
+(defvar *monitor-results* nil
+  "A table of monitoring statistics is stored here.")
+(defvar *no-calls* nil
+  "A list of monitored functions which weren't called.")
+(defvar *estimated-total-overhead* 0)
+;; (proclaim '(type time-type *estimated-total-overhead*))
+
+(defstruct (monitoring-info
+            (:conc-name m-info-)
+            (:constructor make-monitoring-info
+                          (name calls time cons
+                                percent-time percent-cons
+                                time-per-call cons-per-call)))
+  name
+  calls
+  time
+  cons
+  percent-time
+  percent-cons
+  time-per-call
+  cons-per-call)
+
+(defun REPORT (&key (names :all)
+		    (nested :exclusive)
+		    (threshold 0.01)
+		    (sort-key :percent-time)
+		    (ignore-no-calls nil))
+  "Same as REPORT-MONITORING but with a nicer keyword interface"
+  (declare (type (member :function :percent-time :time :percent-cons
+			 :cons :calls :time-per-call :cons-per-call)
+		 sort-key)
+	   (type (member :inclusive :exclusive) nested))
+  (report-monitoring names nested threshold sort-key ignore-no-calls))
+
+(defun REPORT-MONITORING (&optional names
+				    (nested :exclusive)
+				    (threshold 0.01)
+				    (key :percent-time)
+				    ignore-no-calls)
+  "Report the current monitoring state.
+The percentage of the total time spent executing unmonitored code
+in each function (:exclusive mode), or total time (:inclusive mode)
+will be printed together with the number of calls and
+the unmonitored time per call.  Functions that have been executed
+below THRESHOLD % of the time will not be reported.  To report on all
+functions set NAMES to be either NIL or :ALL."
+  (when (or (null names) (eq names :all)) (setq names *monitored-functions*))
+
+  (let ((total-time 0)
+        (total-cons 0)
+        (total-calls 0))
+    ;; Compute overall time and consing.
+    (dolist (name names)
+      (multiple-value-bind (calls nested-calls time cons)
+          (monitor-info-values name nested :warn)
+        (declare (ignore nested-calls))
+        (incf total-calls calls)
+        (incf total-time time)
+        (incf total-cons cons)))
+    ;; Total overhead.
+    (setq *estimated-total-overhead*
+          (/ (* *monitor-time-overhead* total-calls)
+             time-units-per-second))
+    ;; Assemble data for only the specified names (all monitored functions)
+    (if (zerop total-time)
+        (format *trace-output* "Not enough execution time to monitor.")
+        (progn
+          (setq *monitor-results* nil *no-calls* nil)
+          (dolist (name names)
+            (multiple-value-bind (calls nested-calls time cons)
+                (monitor-info-values name nested)
+              (declare (ignore nested-calls))
+              (when (minusp time) (setq time 0.0))
+              (when (minusp cons) (setq cons 0.0))
+              (if (zerop calls)
+                  (push (if (symbolp name)
+                            (symbol-name name)
+                            (format nil "~S" name))
+                        *no-calls*)
+                  (push (make-monitoring-info
+                         (format nil "~S" name) ; name
+                         calls          ; calls
+                         (/ time (float time-units-per-second)) ; time in secs
+                         (round cons)   ; consing
+                         (/ time (float total-time)) ; percent-time
+                         (if (zerop total-cons) 0
+                             (/ cons (float total-cons))) ; percent-cons
+                         (/ (/ time (float calls)) ; time-per-call
+                            time-units-per-second) ; sec/call
+                         (round (/ cons (float calls)))) ; cons-per-call
+                        *monitor-results*))))
+          (display-monitoring-results threshold key ignore-no-calls)))))
+
+(defun display-monitoring-results (&optional (threshold 0.01) (key :percent-time)
+					     (ignore-no-calls t))
+  (let ((max-length 8)			; Function header size
+	(max-cons-length 8)
+	(total-time 0.0)
+	(total-consed 0)
+	(total-calls 0)
+	(total-percent-time 0)
+	(total-percent-cons 0))
+    (sort-results key)
+    (dolist (result *monitor-results*)
+      (when (or (zerop threshold)
+		(> (m-info-percent-time result) threshold))
+	(setq max-length
+	      (max max-length
+		   (length (m-info-name result))))
+	(setq max-cons-length
+	      (max max-cons-length
+		   (m-info-cons-per-call result)))))
+    (incf max-length 2)
+    (setf max-cons-length (+ 2 (ceiling (log max-cons-length 10))))
+    (format *trace-output*
+	    "~%~%~
+                       ~VT                                     ~VA~
+	     ~%        ~VT   %      %                          ~VA  Total     Total~
+	     ~%Function~VT  Time   Cons    Calls  Sec/Call     ~VA  Time      Cons~
+             ~%~V,,,'-A"
+	    max-length
+	    max-cons-length "Cons"
+	    max-length
+	    max-cons-length "Per"
+	    max-length
+	    max-cons-length "Call"
+	    (+ max-length 62 (max 0 (- max-cons-length 5))) "-")
+    (dolist (result *monitor-results*)
+      (when (or (zerop threshold)
+		(> (m-info-percent-time result) threshold))
+	(format *trace-output*
+		"~%~A:~VT~6,2F  ~6,2F  ~7D  ~,6F  ~VD  ~8,3F  ~10D"
+		(m-info-name result)
+		max-length
+		(* 100 (m-info-percent-time result))
+		(* 100 (m-info-percent-cons result))
+		(m-info-calls result)
+		(m-info-time-per-call result)
+		max-cons-length
+		(m-info-cons-per-call result)
+		(m-info-time result)
+		(m-info-cons result))
+	(incf total-time (m-info-time result))
+	(incf total-consed (m-info-cons result))
+	(incf total-calls (m-info-calls result))
+	(incf total-percent-time (m-info-percent-time result))
+	(incf total-percent-cons (m-info-percent-cons result))))
+    (format *trace-output*
+	    "~%~V,,,'-A~
+	    ~%TOTAL:~VT~6,2F  ~6,2F  ~7D  ~9@T ~VA  ~8,3F  ~10D~
+            ~%Estimated monitoring overhead: ~5,2F seconds~
+            ~%Estimated total monitoring overhead: ~5,2F seconds"
+	    (+ max-length 62 (max 0 (- max-cons-length 5))) "-"
+	    max-length
+	    (* 100 total-percent-time)
+	    (* 100 total-percent-cons)
+	    total-calls
+	    max-cons-length " "
+	    total-time total-consed
+	    (/ (* *monitor-time-overhead* total-calls)
+	       time-units-per-second)
+	    *estimated-total-overhead*)
+    (when (and (not ignore-no-calls) *no-calls*)
+      (setq *no-calls* (sort *no-calls* #'string<))
+      (let ((num-no-calls (length *no-calls*)))
+        (if (> num-no-calls 20)
+            (format *trace-output*
+                    "~%~@(~r~) monitored functions were not called. ~
+                      ~%See the variable mon::*no-calls* for a list."
+                    num-no-calls)
+            (format *trace-output*
+                    "~%The following monitored functions were not called:~
+                ~%~{~<~%~:; ~A~>~}~%"
+                    *no-calls*))))
+    (values)))
+
+(defun sort-results (&optional (key :percent-time))
+  (setq *monitor-results*
+        (case key
+          (:function             (sort *monitor-results* #'string>
+                                       :key #'m-info-name))
+          ((:percent-time :time) (sort *monitor-results* #'>
+                                       :key #'m-info-time))
+          ((:percent-cons :cons) (sort *monitor-results* #'>
+                                       :key #'m-info-cons))
+          (:calls                (sort *monitor-results* #'>
+                                       :key #'m-info-calls))
+          (:time-per-call        (sort *monitor-results* #'>
+                                       :key #'m-info-time-per-call))
+          (:cons-per-call        (sort *monitor-results* #'>
+                                       :key #'m-info-cons-per-call)))))
+
+;;; *END OF FILE*
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/bundle/slimv/ftplugin/slimv-clhs.vim	Fri Nov 12 18:30:35 2010 -0500
@@ -0,0 +1,2236 @@
+" slimv-clhs.vim:
+"               Common Lisp Hyperspec lookup support for Slimv
+" Version:      0.5.0
+" Last Change:  14 Apr 2009
+" Maintainer:   Tamas Kovacs <kovisoft at gmail dot com>
+" License:      This file is placed in the public domain.
+"               No warranty, express or implied.
+"               *** ***   Use At-Your-Own-Risk!   *** ***
+" Commentary:   This file is based on SLIME's hyperspec.el created by
+"               Erik Naggum (http://common-lisp.net/project/slime/),
+"               and the cl-lookup package made by Yuji Minejima
+"               (http://homepage1.nifty.com/bmonkey/lisp/index-en.html).
+"
+" =====================================================================
+"
+"  Load Once:
+if &cp || exists( 'g:slimv_clhs_loaded' )
+    finish
+endif
+
+let g:slimv_clhs_loaded = 1
+
+" It is possible to lookup the following information:
+" symbol                    , e.g. "setf"
+" hyperspec-chapters        , e.g. [index], [syntax]
+" format-control-characters , e.g. "~C: Character", "~%: Newline"
+" reader-macro-characters   , e.g. "(", "#'", "#b", "#+"
+" loop                      , e.g. loop:with, loop:collect
+" arguments                 , e.g. :test, :key, :eof-error-p
+" glossary                  , e.g. {absolute}, {binding}
+
+" Root of the Common Lisp Hyperspec
+if !exists( 'g:slimv_clhs_root' )
+    let g:slimv_clhs_root = 'http://www.lispworks.com/reference/HyperSpec/Body/'
+endif
+
+if !exists( 'g:slimv_clhs_clhs' )
+    let g:slimv_clhs_clhs = [
+    \["&allow-other-keys", "03_da.htm"],
+    \["&aux", "03_da.htm"],
+    \["&body", "03_dd.htm"],
+    \["&environment", "03_dd.htm"],
+    \["&key", "03_da.htm"],
+    \["&optional", "03_da.htm"],
+    \["&rest", "03_da.htm"],
+    \["&whole", "03_dd.htm"],
+    \["*", "a_st.htm"],
+    \["**", "v__stst_.htm"],
+    \["***", "v__stst_.htm"],
+    \["*break-on-signals*", "v_break_.htm"],
+    \["*compile-file-pathname*", "v_cmp_fi.htm"],
+    \["*compile-file-truename*", "v_cmp_fi.htm"],
+    \["*compile-print*", "v_cmp_pr.htm"],
+    \["*compile-verbose*", "v_cmp_pr.htm"],
+    \["*debug-io*", "v_debug_.htm"],
+    \["*debugger-hook*", "v_debugg.htm"],
+    \["*default-pathname-defaults*", "v_defaul.htm"],
+    \["*error-output*", "v_debug_.htm"],
+    \["*features*", "v_featur.htm"],
+    \["*gensym-counter*", "v_gensym.htm"],
+    \["*load-pathname*", "v_ld_pns.htm"],
+    \["*load-print*", "v_ld_prs.htm"],
+    \["*load-truename*", "v_ld_pns.htm"],
+    \["*load-verbose*", "v_ld_prs.htm"],
+    \["*macroexpand-hook*", "v_mexp_h.htm"],
+    \["*modules*", "v_module.htm"],
+    \["*package*", "v_pkg.htm"],
+    \["*print-array*", "v_pr_ar.htm"],
+    \["*print-base*", "v_pr_bas.htm"],
+    \["*print-case*", "v_pr_cas.htm"],
+    \["*print-circle*", "v_pr_cir.htm"],
+    \["*print-escape*", "v_pr_esc.htm"],
+    \["*print-gensym*", "v_pr_gen.htm"],
+    \["*print-length*", "v_pr_lev.htm"],
+    \["*print-level*", "v_pr_lev.htm"],
+    \["*print-lines*", "v_pr_lin.htm"],
+    \["*print-miser-width*", "v_pr_mis.htm"],
+    \["*print-pprint-dispatch*", "v_pr_ppr.htm"],
+    \["*print-pretty*", "v_pr_pre.htm"],
+    \["*print-radix*", "v_pr_bas.htm"],
+    \["*print-readably*", "v_pr_rda.htm"],
+    \["*print-right-margin*", "v_pr_rig.htm"],
+    \["*query-io*", "v_debug_.htm"],
+    \["*random-state*", "v_rnd_st.htm"],
+    \["*read-base*", "v_rd_bas.htm"],
+    \["*read-default-float-format*", "v_rd_def.htm"],
+    \["*read-eval*", "v_rd_eva.htm"],
+    \["*read-suppress*", "v_rd_sup.htm"],
+    \["*readtable*", "v_rdtabl.htm"],
+    \["*standard-input*", "v_debug_.htm"],
+    \["*standard-output*", "v_debug_.htm"],
+    \["*terminal-io*", "v_termin.htm"],
+    \["*trace-output*", "v_debug_.htm"],
+    \["+", "a_pl.htm"],
+    \["++", "v_pl_plp.htm"],
+    \["+++", "v_pl_plp.htm"],
+    \["-", "a__.htm"],
+    \["/", "a_sl.htm"],
+    \["//", "v_sl_sls.htm"],
+    \["///", "v_sl_sls.htm"],
+    \["/=", "f_eq_sle.htm"],
+    \["1+", "f_1pl_1_.htm"],
+    \["1-", "f_1pl_1_.htm"],
+    \["<", "f_eq_sle.htm"],
+    \["<=", "f_eq_sle.htm"],
+    \["=", "f_eq_sle.htm"],
+    \[">", "f_eq_sle.htm"],
+    \[">=", "f_eq_sle.htm"],
+    \["abort", "a_abort.htm"],
+    \["abs", "f_abs.htm"],
+    \["acons", "f_acons.htm"],
+    \["acos", "f_asin_.htm"],
+    \["acosh", "f_sinh_.htm"],
+    \["add-method", "f_add_me.htm"],
+    \["adjoin", "f_adjoin.htm"],
+    \["adjust-array", "f_adjust.htm"],
+    \["adjustable-array-p", "f_adju_1.htm"],
+    \["allocate-instance", "f_alloca.htm"],
+    \["alpha-char-p", "f_alpha_.htm"],
+    \["alphanumericp", "f_alphan.htm"],
+    \["and", "a_and.htm"],
+    \["append", "f_append.htm"],
+    \["apply", "f_apply.htm"],
+    \["apropos", "f_apropo.htm"],
+    \["apropos-list", "f_apropo.htm"],
+    \["aref", "f_aref.htm"],
+    \["arithmetic-error", "e_arithm.htm"],
+    \["arithmetic-error-operands", "f_arithm.htm"],
+    \["arithmetic-error-operation", "f_arithm.htm"],
+    \["array", "t_array.htm"],
+    \["array-dimension", "f_ar_dim.htm"],
+    \["array-dimension-limit", "v_ar_dim.htm"],
+    \["array-dimensions", "f_ar_d_1.htm"],
+    \["array-displacement", "f_ar_dis.htm"],
+    \["array-element-type", "f_ar_ele.htm"],
+    \["array-has-fill-pointer-p", "f_ar_has.htm"],
+    \["array-in-bounds-p", "f_ar_in_.htm"],
+    \["array-rank", "f_ar_ran.htm"],
+    \["array-rank-limit", "v_ar_ran.htm"],
+    \["array-row-major-index", "f_ar_row.htm"],
+    \["array-total-size", "f_ar_tot.htm"],
+    \["array-total-size-limit", "v_ar_tot.htm"],
+    \["arrayp", "f_arrayp.htm"],
+    \["ash", "f_ash.htm"],
+    \["asin", "f_asin_.htm"],
+    \["asinh", "f_sinh_.htm"],
+    \["assert", "m_assert.htm"],
+    \["assoc", "f_assocc.htm"],
+    \["assoc-if", "f_assocc.htm"],
+    \["assoc-if-not", "f_assocc.htm"],
+    \["atan", "f_asin_.htm"],
+    \["atanh", "f_sinh_.htm"],
+    \["atom", "a_atom.htm"],
+    \["base-char", "t_base_c.htm"],
+    \["base-string", "t_base_s.htm"],
+    \["bignum", "t_bignum.htm"],
+    \["bit", "a_bit.htm"],
+    \["bit-and", "f_bt_and.htm"],
+    \["bit-andc1", "f_bt_and.htm"],
+    \["bit-andc2", "f_bt_and.htm"],
+    \["bit-eqv", "f_bt_and.htm"],
+    \["bit-ior", "f_bt_and.htm"],
+    \["bit-nand", "f_bt_and.htm"],
+    \["bit-nor", "f_bt_and.htm"],
+    \["bit-not", "f_bt_and.htm"],
+    \["bit-orc1", "f_bt_and.htm"],
+    \["bit-orc2", "f_bt_and.htm"],
+    \["bit-vector", "t_bt_vec.htm"],
+    \["bit-vector-p", "f_bt_vec.htm"],
+    \["bit-xor", "f_bt_and.htm"],
+    \["block", "s_block.htm"],
+    \["boole", "f_boole.htm"],
+    \["boole-1", "v_b_1_b.htm"],
+    \["boole-2", "v_b_1_b.htm"],
+    \["boole-and", "v_b_1_b.htm"],
+    \["boole-andc1", "v_b_1_b.htm"],
+    \["boole-andc2", "v_b_1_b.htm"],
+    \["boole-c1", "v_b_1_b.htm"],
+    \["boole-c2", "v_b_1_b.htm"],
+    \["boole-clr", "v_b_1_b.htm"],
+    \["boole-eqv", "v_b_1_b.htm"],
+    \["boole-ior", "v_b_1_b.htm"],
+    \["boole-nand", "v_b_1_b.htm"],
+    \["boole-nor", "v_b_1_b.htm"],
+    \["boole-orc1", "v_b_1_b.htm"],
+    \["boole-orc2", "v_b_1_b.htm"],
+    \["boole-set", "v_b_1_b.htm"],
+    \["boole-xor", "v_b_1_b.htm"],
+    \["boolean", "t_ban.htm"],
+    \["both-case-p", "f_upper_.htm"],
+    \["boundp", "f_boundp.htm"],
+    \["break", "f_break.htm"],
+    \["broadcast-stream", "t_broadc.htm"],
+    \["broadcast-stream-streams", "f_broadc.htm"],
+    \["built-in-class", "t_built_.htm"],
+    \["butlast", "f_butlas.htm"],
+    \["byte", "f_by_by.htm"],
+    \["byte-position", "f_by_by.htm"],
+    \["byte-size", "f_by_by.htm"],
+    \["caaaar", "f_car_c.htm"],
+    \["caaadr", "f_car_c.htm"],
+    \["caaar", "f_car_c.htm"],
+    \["caadar", "f_car_c.htm"],
+    \["caaddr", "f_car_c.htm"],
+    \["caadr", "f_car_c.htm"],
+    \["caar", "f_car_c.htm"],
+    \["cadaar", "f_car_c.htm"],
+    \["cadadr", "f_car_c.htm"],
+    \["cadar", "f_car_c.htm"],
+    \["caddar", "f_car_c.htm"],
+    \["cadddr", "f_car_c.htm"],
+    \["caddr", "f_car_c.htm"],
+    \["cadr", "f_car_c.htm"],
+    \["call-arguments-limit", "v_call_a.htm"],
+    \["call-method", "m_call_m.htm"],
+    \["call-next-method", "f_call_n.htm"],
+    \["car", "f_car_c.htm"],
+    \["case", "m_case_.htm"],
+    \["catch", "s_catch.htm"],
+    \["ccase", "m_case_.htm"],
+    \["cdaaar", "f_car_c.htm"],
+    \["cdaadr", "f_car_c.htm"],
+    \["cdaar", "f_car_c.htm"],
+    \["cdadar", "f_car_c.htm"],
+    \["cdaddr", "f_car_c.htm"],
+    \["cdadr", "f_car_c.htm"],
+    \["cdar", "f_car_c.htm"],
+    \["cddaar", "f_car_c.htm"],
+    \["cddadr", "f_car_c.htm"],
+    \["cddar", "f_car_c.htm"],
+    \["cdddar", "f_car_c.htm"],
+    \["cddddr", "f_car_c.htm"],
+    \["cdddr", "f_car_c.htm"],
+    \["cddr", "f_car_c.htm"],
+    \["cdr", "f_car_c.htm"],
+    \["ceiling", "f_floorc.htm"],
+    \["cell-error", "e_cell_e.htm"],
+    \["cell-error-name", "f_cell_e.htm"],
+    \["cerror", "f_cerror.htm"],
+    \["change-class", "f_chg_cl.htm"],
+    \["char", "f_char_.htm"],
+    \["char-code", "f_char_c.htm"],
+    \["char-code-limit", "v_char_c.htm"],
+    \["char-downcase", "f_char_u.htm"],
+    \["char-equal", "f_chareq.htm"],
+    \["char-greaterp", "f_chareq.htm"],
+    \["char-int", "f_char_i.htm"],
+    \["char-lessp", "f_chareq.htm"],
+    \["char-name", "f_char_n.htm"],
+    \["char-not-equal", "f_chareq.htm"],
+    \["char-not-greaterp", "f_chareq.htm"],
+    \["char-not-lessp", "f_chareq.htm"],
+    \["char-upcase", "f_char_u.htm"],
+    \["char/=", "f_chareq.htm"],
+    \["char<", "f_chareq.htm"],
+    \["char<=", "f_chareq.htm"],
+    \["char=", "f_chareq.htm"],
+    \["char>", "f_chareq.htm"],
+    \["char>=", "f_chareq.htm"],
+    \["character", "a_ch.htm"],
+    \["characterp", "f_chp.htm"],
+    \["check-type", "m_check_.htm"],
+    \["cis", "f_cis.htm"],
+    \["class", "t_class.htm"],
+    \["class-name", "f_class_.htm"],
+    \["class-of", "f_clas_1.htm"],
+    \["clear-input", "f_clear_.htm"],
+    \["clear-output", "f_finish.htm"],
+    \["close", "f_close.htm"],
+    \["clrhash", "f_clrhas.htm"],
+    \["code-char", "f_code_c.htm"],
+    \["coerce", "f_coerce.htm"],
+    \["compilation-speed", "d_optimi.htm"],
+    \["compile", "f_cmp.htm"],
+    \["compile-file", "f_cmp_fi.htm"],
+    \["compile-file-pathname", "f_cmp__1.htm"],
+    \["compiled-function", "t_cmpd_f.htm"],
+    \["compiled-function-p", "f_cmpd_f.htm"],
+    \["compiler-macro", "f_docume.htm"],
+    \["compiler-macro-function", "f_cmp_ma.htm"],
+    \["complement", "f_comple.htm"],
+    \["complex", "a_comple.htm"],
+    \["complexp", "f_comp_3.htm"],
+    \["compute-applicable-methods", "f_comput.htm"],
+    \["compute-restarts", "f_comp_1.htm"],
+    \["concatenate", "f_concat.htm"],
+    \["concatenated-stream", "t_concat.htm"],
+    \["concatenated-stream-streams", "f_conc_1.htm"],
+    \["cond", "m_cond.htm"],
+    \["condition", "e_cnd.htm"],
+    \["conjugate", "f_conjug.htm"],
+    \["cons", "a_cons.htm"],
+    \["consp", "f_consp.htm"],
+    \["constantly", "f_cons_1.htm"],
+    \["constantp", "f_consta.htm"],
+    \["continue", "a_contin.htm"],
+    \["control-error", "e_contro.htm"],
+    \["copy-alist", "f_cp_ali.htm"],
+    \["copy-list", "f_cp_lis.htm"],
+    \["copy-pprint-dispatch", "f_cp_ppr.htm"],
+    \["copy-readtable", "f_cp_rdt.htm"],
+    \["copy-seq", "f_cp_seq.htm"],
+    \["copy-structure", "f_cp_stu.htm"],
+    \["copy-symbol", "f_cp_sym.htm"],
+    \["copy-tree", "f_cp_tre.htm"],
+    \["cos", "f_sin_c.htm"],
+    \["cosh", "f_sinh_.htm"],
+    \["count", "f_countc.htm"],
+    \["count-if", "f_countc.htm"],
+    \["count-if-not", "f_countc.htm"],
+    \["ctypecase", "m_tpcase.htm"],
+    \["debug", "d_optimi.htm"],
+    \["decf", "m_incf_.htm"],
+    \["declaim", "m_declai.htm"],
+    \["declaration", "d_declar.htm"],
+    \["declare", "s_declar.htm"],
+    \["decode-float", "f_dec_fl.htm"],
+    \["decode-universal-time", "f_dec_un.htm"],
+    \["defclass", "m_defcla.htm"],
+    \["defconstant", "m_defcon.htm"],
+    \["defgeneric", "m_defgen.htm"],
+    \["define-compiler-macro", "m_define.htm"],
+    \["define-condition", "m_defi_5.htm"],
+    \["define-method-combination", "m_defi_4.htm"],
+    \["define-modify-macro", "m_defi_2.htm"],
+    \["define-setf-expander", "m_defi_3.htm"],
+    \["define-symbol-macro", "m_defi_1.htm"],
+    \["defmacro", "m_defmac.htm"],
+    \["defmethod", "m_defmet.htm"],
+    \["defpackage", "m_defpkg.htm"],
+    \["defparameter", "m_defpar.htm"],
+    \["defsetf", "m_defset.htm"],
+    \["defstruct", "m_defstr.htm"],
+    \["deftype", "m_deftp.htm"],
+    \["defun", "m_defun.htm"],
+    \["defvar", "m_defpar.htm"],
+    \["delete", "f_rm_rm.htm"],
+    \["delete-duplicates", "f_rm_dup.htm"],
+    \["delete-file", "f_del_fi.htm"],
+    \["delete-if", "f_rm_rm.htm"],
+    \["delete-if-not", "f_rm_rm.htm"],
+    \["delete-package", "f_del_pk.htm"],
+    \["denominator", "f_numera.htm"],
+    \["deposit-field", "f_deposi.htm"],
+    \["describe", "f_descri.htm"],
+    \["describe-object", "f_desc_1.htm"],
+    \["destructuring-bind", "m_destru.htm"],
+    \["digit-char", "f_digit_.htm"],
+    \["digit-char-p", "f_digi_1.htm"],
+    \["directory", "f_dir.htm"],
+    \["directory-namestring", "f_namest.htm"],
+    \["disassemble", "f_disass.htm"],
+    \["division-by-zero", "e_divisi.htm"],
+    \["do", "m_do_do.htm"],
+    \["do*", "m_do_do.htm"],
+    \["do-all-symbols", "m_do_sym.htm"],
+    \["do-external-symbols", "m_do_sym.htm"],
+    \["do-symbols", "m_do_sym.htm"],
+    \["documentation", "f_docume.htm"],
+    \["dolist", "m_dolist.htm"],
+    \["dotimes", "m_dotime.htm"],
+    \["double-float", "t_short_.htm"],
+    \["double-float-epsilon", "v_short_.htm"],
+    \["double-float-negative-epsilon", "v_short_.htm"],
+    \["dpb", "f_dpb.htm"],
+    \["dribble", "f_dribbl.htm"],
+    \["dynamic-extent", "d_dynami.htm"],
+    \["ecase", "m_case_.htm"],
+    \["echo-stream", "t_echo_s.htm"],
+    \["echo-stream-input-stream", "f_echo_s.htm"],
+    \["echo-stream-output-stream", "f_echo_s.htm"],
+    \["ed", "f_ed.htm"],
+    \["eighth", "f_firstc.htm"],
+    \["elt", "f_elt.htm"],
+    \["encode-universal-time", "f_encode.htm"],
+    \["end-of-file", "e_end_of.htm"],
+    \["endp", "f_endp.htm"],
+    \["enough-namestring", "f_namest.htm"],
+    \["ensure-directories-exist", "f_ensu_1.htm"],
+    \["ensure-generic-function", "f_ensure.htm"],
+    \["eq", "f_eq.htm"],
+    \["eql", "a_eql.htm"],
+    \["equal", "f_equal.htm"],
+    \["equalp", "f_equalp.htm"],
+    \["error", "a_error.htm"],
+    \["etypecase", "m_tpcase.htm"],
+    \["eval", "f_eval.htm"],
+    \["eval-when", "s_eval_w.htm"],
+    \["evenp", "f_evenpc.htm"],
+    \["every", "f_everyc.htm"],
+    \["exp", "f_exp_e.htm"],
+    \["export", "f_export.htm"],
+    \["expt", "f_exp_e.htm"],
+    \["extended-char", "t_extend.htm"],
+    \["fboundp", "f_fbound.htm"],
+    \["fceiling", "f_floorc.htm"],
+    \["fdefinition", "f_fdefin.htm"],
+    \["ffloor", "f_floorc.htm"],
+    \["fifth", "f_firstc.htm"],
+    \["file-author", "f_file_a.htm"],
+    \["file-error", "e_file_e.htm"],
+    \["file-error-pathname", "f_file_e.htm"],
+    \["file-length", "f_file_l.htm"],
+    \["file-namestring", "f_namest.htm"],
+    \["file-position", "f_file_p.htm"],
+    \["file-stream", "t_file_s.htm"],
+    \["file-string-length", "f_file_s.htm"],
+    \["file-write-date", "f_file_w.htm"],
+    \["fill", "f_fill.htm"],
+    \["fill-pointer", "f_fill_p.htm"],
+    \["find", "f_find_.htm"],
+    \["find-all-symbols", "f_find_a.htm"],
+    \["find-class", "f_find_c.htm"],
+    \["find-if", "f_find_.htm"],
+    \["find-if-not", "f_find_.htm"],
+    \["find-method", "f_find_m.htm"],
+    \["find-package", "f_find_p.htm"],
+    \["find-restart", "f_find_r.htm"],
+    \["find-symbol", "f_find_s.htm"],
+    \["finish-output", "f_finish.htm"],
+    \["first", "f_firstc.htm"],
+    \["fixnum", "t_fixnum.htm"],
+    \["flet", "s_flet_.htm"],
+    \["float", "a_float.htm"],
+    \["float-digits", "f_dec_fl.htm"],
+    \["float-precision", "f_dec_fl.htm"],
+    \["float-radix", "f_dec_fl.htm"],
+    \["float-sign", "f_dec_fl.htm"],
+    \["floating-point-inexact", "e_floa_1.htm"],
+    \["floating-point-invalid-operation", "e_floati.htm"],
+    \["floating-point-overflow", "e_floa_2.htm"],
+    \["floating-point-underflow", "e_floa_3.htm"],
+    \["floatp", "f_floatp.htm"],
+    \["floor", "f_floorc.htm"],
+    \["fmakunbound", "f_fmakun.htm"],
+    \["force-output", "f_finish.htm"],
+    \["format", "f_format.htm"],
+    \["formatter", "m_format.htm"],
+    \["fourth", "f_firstc.htm"],
+    \["fresh-line", "f_terpri.htm"],
+    \["fround", "f_floorc.htm"],
+    \["ftruncate", "f_floorc.htm"],
+    \["ftype", "d_ftype.htm"],
+    \["funcall", "f_funcal.htm"],
+    \["function", "a_fn.htm"],
+    \["function-keywords", "f_fn_kwd.htm"],
+    \["function-lambda-expression", "f_fn_lam.htm"],
+    \["functionp", "f_fnp.htm"],
+    \["gcd", "f_gcd.htm"],
+    \["generic-function", "t_generi.htm"],
+    \["gensym", "f_gensym.htm"],
+    \["gentemp", "f_gentem.htm"],
+    \["get", "f_get.htm"],
+    \["get-decoded-time", "f_get_un.htm"],
+    \["get-dispatch-macro-character", "f_set__1.htm"],
+    \["get-internal-real-time", "f_get_in.htm"],
+    \["get-internal-run-time", "f_get__1.htm"],
+    \["get-macro-character", "f_set_ma.htm"],
+    \["get-output-stream-string", "f_get_ou.htm"],
+    \["get-properties", "f_get_pr.htm"],
+    \["get-setf-expansion", "f_get_se.htm"],
+    \["get-universal-time", "f_get_un.htm"],
+    \["getf", "f_getf.htm"],
+    \["gethash", "f_gethas.htm"],
+    \["go", "s_go.htm"],
+    \["graphic-char-p", "f_graphi.htm"],
+    \["handler-bind", "m_handle.htm"],
+    \["handler-case", "m_hand_1.htm"],
+    \["hash-table", "t_hash_t.htm"],
+    \["hash-table-count", "f_hash_1.htm"],
+    \["hash-table-p", "f_hash_t.htm"],
+    \["hash-table-rehash-size", "f_hash_2.htm"],
+    \["hash-table-rehash-threshold", "f_hash_3.htm"],
+    \["hash-table-size", "f_hash_4.htm"],
+    \["hash-table-test", "f_hash_5.htm"],
+    \["host-namestring", "f_namest.htm"],
+    \["identity", "f_identi.htm"],
+    \["if", "s_if.htm"],
+    \["ignorable", "d_ignore.htm"],
+    \["ignore", "d_ignore.htm"],
+    \["ignore-errors", "m_ignore.htm"],
+    \["imagpart", "f_realpa.htm"],
+    \["import", "f_import.htm"],
+    \["in-package", "m_in_pkg.htm"],
+    \["incf", "m_incf_.htm"],
+    \["initialize-instance", "f_init_i.htm"],
+    \["inline", "d_inline.htm"],
+    \["input-stream-p", "f_in_stm.htm"],
+    \["inspect", "f_inspec.htm"],
+    \["integer", "t_intege.htm"],
+    \["integer-decode-float", "f_dec_fl.htm"],
+    \["integer-length", "f_intege.htm"],
+    \["integerp", "f_inte_1.htm"],
+    \["interactive-stream-p", "f_intera.htm"],
+    \["intern", "f_intern.htm"],
+    \["internal-time-units-per-second", "v_intern.htm"],
+    \["intersection", "f_isec_.htm"],
+    \["invalid-method-error", "f_invali.htm"],
+    \["invoke-debugger", "f_invoke.htm"],
+    \["invoke-restart", "f_invo_1.htm"],
+    \["invoke-restart-interactively", "f_invo_2.htm"],
+    \["isqrt", "f_sqrt_.htm"],
+    \["keyword", "t_kwd.htm"],
+    \["keywordp", "f_kwdp.htm"],
+    \["labels", "s_flet_.htm"],
+    \["lambda", "a_lambda.htm"],
+    \["lambda-list-keywords", "v_lambda.htm"],
+    \["lambda-parameters-limit", "v_lamb_1.htm"],
+    \["last", "f_last.htm"],
+    \["lcm", "f_lcm.htm"],
+    \["ldb", "f_ldb.htm"],
+    \["ldb-test", "f_ldb_te.htm"],
+    \["ldiff", "f_ldiffc.htm"],
+    \["least-negative-double-float", "v_most_1.htm"],
+    \["least-negative-long-float", "v_most_1.htm"],
+    \["least-negative-normalized-double-float", "v_most_1.htm"],
+    \["least-negative-normalized-long-float", "v_most_1.htm"],
+    \["least-negative-normalized-short-float", "v_most_1.htm"],
+    \["least-negative-normalized-single-float", "v_most_1.htm"],
+    \["least-negative-short-float", "v_most_1.htm"],
+    \["least-negative-single-float", "v_most_1.htm"],
+    \["least-positive-double-float", "v_most_1.htm"],
+    \["least-positive-long-float", "v_most_1.htm"],
+    \["least-positive-normalized-double-float", "v_most_1.htm"],
+    \["least-positive-normalized-long-float", "v_most_1.htm"],
+    \["least-positive-normalized-short-float", "v_most_1.htm"],
+    \["least-positive-normalized-single-float", "v_most_1.htm"],
+    \["least-positive-short-float", "v_most_1.htm"],
+    \["least-positive-single-float", "v_most_1.htm"],
+    \["length", "f_length.htm"],
+    \["let", "s_let_l.htm"],
+    \["let*", "s_let_l.htm"],
+    \["lisp-implementation-type", "f_lisp_i.htm"],
+    \["lisp-implementation-version", "f_lisp_i.htm"],
+    \["list", "a_list.htm"],
+    \["list*", "f_list_.htm"],
+    \["list-all-packages", "f_list_a.htm"],
+    \["list-length", "f_list_l.htm"],
+    \["listen", "f_listen.htm"],
+    \["listp", "f_listp.htm"],
+    \["load", "f_load.htm"],
+    \["load-logical-pathname-translations", "f_ld_log.htm"],
+    \["load-time-value", "s_ld_tim.htm"],
+    \["locally", "s_locall.htm"],
+    \["log", "f_log.htm"],
+    \["logand", "f_logand.htm"],
+    \["logandc1", "f_logand.htm"],
+    \["logandc2", "f_logand.htm"],
+    \["logbitp", "f_logbtp.htm"],
+    \["logcount", "f_logcou.htm"],
+    \["logeqv", "f_logand.htm"],
+    \["logical-pathname", "a_logica.htm"],
+    \["logical-pathname-translations", "f_logica.htm"],
+    \["logior", "f_logand.htm"],
+    \["lognand", "f_logand.htm"],
+    \["lognor", "f_logand.htm"],
+    \["lognot", "f_logand.htm"],
+    \["logorc1", "f_logand.htm"],
+    \["logorc2", "f_logand.htm"],
+    \["logtest", "f_logtes.htm"],
+    \["logxor", "f_logand.htm"],
+    \["long-float", "t_short_.htm"],
+    \["long-float-epsilon", "v_short_.htm"],
+    \["long-float-negative-epsilon", "v_short_.htm"],
+    \["long-site-name", "f_short_.htm"],
+    \["loop", "m_loop.htm"],
+    \["loop-finish", "m_loop_f.htm"],
+    \["lower-case-p", "f_upper_.htm"],
+    \["machine-instance", "f_mach_i.htm"],
+    \["machine-type", "f_mach_t.htm"],
+    \["machine-version", "f_mach_v.htm"],
+    \["macro-function", "f_macro_.htm"],
+    \["macroexpand", "f_mexp_.htm"],
+    \["macroexpand-1", "f_mexp_.htm"],
+    \["macrolet", "s_flet_.htm"],
+    \["make-array", "f_mk_ar.htm"],
+    \["make-broadcast-stream", "f_mk_bro.htm"],
+    \["make-concatenated-stream", "f_mk_con.htm"],
+    \["make-condition", "f_mk_cnd.htm"],
+    \["make-dispatch-macro-character", "f_mk_dis.htm"],
+    \["make-echo-stream", "f_mk_ech.htm"],
+    \["make-hash-table", "f_mk_has.htm"],
+    \["make-instance", "f_mk_ins.htm"],
+    \["make-instances-obsolete", "f_mk_i_1.htm"],
+    \["make-list", "f_mk_lis.htm"],
+    \["make-load-form", "f_mk_ld_.htm"],
+    \["make-load-form-saving-slots", "f_mk_l_1.htm"],
+    \["make-method", "m_call_m.htm"],
+    \["make-package", "f_mk_pkg.htm"],
+    \["make-pathname", "f_mk_pn.htm"],
+    \["make-random-state", "f_mk_rnd.htm"],
+    \["make-sequence", "f_mk_seq.htm"],
+    \["make-string", "f_mk_stg.htm"],
+    \["make-string-input-stream", "f_mk_s_1.htm"],
+    \["make-string-output-stream", "f_mk_s_2.htm"],
+    \["make-symbol", "f_mk_sym.htm"],
+    \["make-synonym-stream", "f_mk_syn.htm"],
+    \["make-two-way-stream", "f_mk_two.htm"],
+    \["makunbound", "f_makunb.htm"],
+    \["map", "f_map.htm"],
+    \["map-into", "f_map_in.htm"],
+    \["mapc", "f_mapc_.htm"],
+    \["mapcan", "f_mapc_.htm"],
+    \["mapcar", "f_mapc_.htm"],
+    \["mapcon", "f_mapc_.htm"],
+    \["maphash", "f_maphas.htm"],
+    \["mapl", "f_mapc_.htm"],
+    \["maplist", "f_mapc_.htm"],
+    \["mask-field", "f_mask_f.htm"],
+    \["max", "f_max_m.htm"],
+    \["member", "a_member.htm"],
+    \["member-if", "f_mem_m.htm"],
+    \["member-if-not", "f_mem_m.htm"],
+    \["merge", "f_merge.htm"],
+    \["merge-pathnames", "f_merge_.htm"],
+    \["method", "t_method.htm"],
+    \["method-combination", "a_method.htm"],
+    \["method-combination-error", "f_meth_1.htm"],
+    \["method-qualifiers", "f_method.htm"],
+    \["min", "f_max_m.htm"],
+    \["minusp", "f_minusp.htm"],
+    \["mismatch", "f_mismat.htm"],
+    \["mod", "a_mod.htm"],
+    \["most-negative-double-float", "v_most_1.htm"],
+    \["most-negative-fixnum", "v_most_p.htm"],
+    \["most-negative-long-float", "v_most_1.htm"],
+    \["most-negative-short-float", "v_most_1.htm"],
+    \["most-negative-single-float", "v_most_1.htm"],
+    \["most-positive-double-float", "v_most_1.htm"],
+    \["most-positive-fixnum", "v_most_p.htm"],
+    \["most-positive-long-float", "v_most_1.htm"],
+    \["most-positive-short-float", "v_most_1.htm"],
+    \["most-positive-single-float", "v_most_1.htm"],
+    \["muffle-warning", "a_muffle.htm"],
+    \["multiple-value-bind", "m_multip.htm"],
+    \["multiple-value-call", "s_multip.htm"],
+    \["multiple-value-list", "m_mult_1.htm"],
+    \["multiple-value-prog1", "s_mult_1.htm"],
+    \["multiple-value-setq", "m_mult_2.htm"],
+    \["multiple-values-limit", "v_multip.htm"],
+    \["name-char", "f_name_c.htm"],
+    \["namestring", "f_namest.htm"],
+    \["nbutlast", "f_butlas.htm"],
+    \["nconc", "f_nconc.htm"],
+    \["next-method-p", "f_next_m.htm"],
+    \["nil", "a_nil.htm"],
+    \["nintersection", "f_isec_.htm"],
+    \["ninth", "f_firstc.htm"],
+    \["no-applicable-method", "f_no_app.htm"],
+    \["no-next-method", "f_no_nex.htm"],
+    \["not", "a_not.htm"],
+    \["notany", "f_everyc.htm"],
+    \["notevery", "f_everyc.htm"],
+    \["notinline", "d_inline.htm"],
+    \["nreconc", "f_revapp.htm"],
+    \["nreverse", "f_revers.htm"],
+    \["nset-difference", "f_set_di.htm"],
+    \["nset-exclusive-or", "f_set_ex.htm"],
+    \["nstring-capitalize", "f_stg_up.htm"],
+    \["nstring-downcase", "f_stg_up.htm"],
+    \["nstring-upcase", "f_stg_up.htm"],
+    \["nsublis", "f_sublis.htm"],
+    \["nsubst", "f_substc.htm"],
+    \["nsubst-if", "f_substc.htm"],
+    \["nsubst-if-not", "f_substc.htm"],
+    \["nsubstitute", "f_sbs_s.htm"],
+    \["nsubstitute-if", "f_sbs_s.htm"],
+    \["nsubstitute-if-not", "f_sbs_s.htm"],
+    \["nth", "f_nth.htm"],
+    \["nth-value", "m_nth_va.htm"],
+    \["nthcdr", "f_nthcdr.htm"],
+    \["null", "a_null.htm"],
+    \["number", "t_number.htm"],
+    \["numberp", "f_nump.htm"],
+    \["numerator", "f_numera.htm"],
+    \["nunion", "f_unionc.htm"],
+    \["oddp", "f_evenpc.htm"],
+    \["open", "f_open.htm"],
+    \["open-stream-p", "f_open_s.htm"],
+    \["optimize", "d_optimi.htm"],
+    \["or", "a_or.htm"],
+    \["otherwise", "m_case_.htm"],
+    \["output-stream-p", "f_in_stm.htm"],
+    \["package", "t_pkg.htm"],
+    \["package-error", "e_pkg_er.htm"],
+    \["package-error-package", "f_pkg_er.htm"],
+    \["package-name", "f_pkg_na.htm"],
+    \["package-nicknames", "f_pkg_ni.htm"],
+    \["package-shadowing-symbols", "f_pkg_sh.htm"],
+    \["package-use-list", "f_pkg_us.htm"],
+    \["package-used-by-list", "f_pkg__1.htm"],
+    \["packagep", "f_pkgp.htm"],
+    \["pairlis", "f_pairli.htm"],
+    \["parse-error", "e_parse_.htm"],
+    \["parse-integer", "f_parse_.htm"],
+    \["parse-namestring", "f_pars_1.htm"],
+    \["pathname", "a_pn.htm"],
+    \["pathname-device", "f_pn_hos.htm"],
+    \["pathname-directory", "f_pn_hos.htm"],
+    \["pathname-host", "f_pn_hos.htm"],
+    \["pathname-match-p", "f_pn_mat.htm"],
+    \["pathname-name", "f_pn_hos.htm"],
+    \["pathname-type", "f_pn_hos.htm"],
+    \["pathname-version", "f_pn_hos.htm"],
+    \["pathnamep", "f_pnp.htm"],
+    \["peek-char", "f_peek_c.htm"],
+    \["phase", "f_phase.htm"],
+    \["pi", "v_pi.htm"],
+    \["plusp", "f_minusp.htm"],
+    \["pop", "m_pop.htm"],
+    \["position", "f_pos_p.htm"],
+    \["position-if", "f_pos_p.htm"],
+    \["position-if-not", "f_pos_p.htm"],
+    \["pprint", "f_wr_pr.htm"],
+    \["pprint-dispatch", "f_ppr_di.htm"],
+    \["pprint-exit-if-list-exhausted", "m_ppr_ex.htm"],
+    \["pprint-fill", "f_ppr_fi.htm"],
+    \["pprint-indent", "f_ppr_in.htm"],
+    \["pprint-linear", "f_ppr_fi.htm"],
+    \["pprint-logical-block", "m_ppr_lo.htm"],
+    \["pprint-newline", "f_ppr_nl.htm"],
+    \["pprint-pop", "m_ppr_po.htm"],
+    \["pprint-tab", "f_ppr_ta.htm"],
+    \["pprint-tabular", "f_ppr_fi.htm"],
+    \["prin1", "f_wr_pr.htm"],
+    \["prin1-to-string", "f_wr_to_.htm"],
+    \["princ", "f_wr_pr.htm"],
+    \["princ-to-string", "f_wr_to_.htm"],
+    \["print", "f_wr_pr.htm"],
+    \["print-not-readable", "e_pr_not.htm"],
+    \["print-not-readable-object", "f_pr_not.htm"],
+    \["print-object", "f_pr_obj.htm"],
+    \["print-unreadable-object", "m_pr_unr.htm"],
+    \["probe-file", "f_probe_.htm"],
+    \["proclaim", "f_procla.htm"],
+    \["prog", "m_prog_.htm"],
+    \["prog*", "m_prog_.htm"],
+    \["prog1", "m_prog1c.htm"],
+    \["prog2", "m_prog1c.htm"],
+    \["progn", "s_progn.htm"],
+    \["program-error", "e_progra.htm"],
+    \["progv", "s_progv.htm"],
+    \["provide", "f_provid.htm"],
+    \["psetf", "m_setf_.htm"],
+    \["psetq", "m_psetq.htm"],
+    \["push", "m_push.htm"],
+    \["pushnew", "m_pshnew.htm"],
+    \["quote", "s_quote.htm"],
+    \["random", "f_random.htm"],
+    \["random-state", "t_rnd_st.htm"],
+    \["random-state-p", "f_rnd_st.htm"],
+    \["rassoc", "f_rassoc.htm"],
+    \["rassoc-if", "f_rassoc.htm"],
+    \["rassoc-if-not", "f_rassoc.htm"],
+    \["ratio", "t_ratio.htm"],
+    \["rational", "a_ration.htm"],
+    \["rationalize", "f_ration.htm"],
+    \["rationalp", "f_rati_1.htm"],
+    \["read", "f_rd_rd.htm"],
+    \["read-byte", "f_rd_by.htm"],
+    \["read-char", "f_rd_cha.htm"],
+    \["read-char-no-hang", "f_rd_c_1.htm"],
+    \["read-delimited-list", "f_rd_del.htm"],
+    \["read-from-string", "f_rd_fro.htm"],
+    \["read-line", "f_rd_lin.htm"],
+    \["read-preserving-whitespace", "f_rd_rd.htm"],
+    \["read-sequence", "f_rd_seq.htm"],
+    \["reader-error", "e_rder_e.htm"],
+    \["readtable", "t_rdtabl.htm"],
+    \["readtable-case", "f_rdtabl.htm"],
+    \["readtablep", "f_rdta_1.htm"],
+    \["real", "t_real.htm"],
+    \["realp", "f_realp.htm"],
+    \["realpart", "f_realpa.htm"],
+    \["reduce", "f_reduce.htm"],
+    \["reinitialize-instance", "f_reinit.htm"],
+    \["rem", "f_mod_r.htm"],
+    \["remf", "m_remf.htm"],
+    \["remhash", "f_remhas.htm"],
+    \["remove", "f_rm_rm.htm"],
+    \["remove-duplicates", "f_rm_dup.htm"],
+    \["remove-if", "f_rm_rm.htm"],
+    \["remove-if-not", "f_rm_rm.htm"],
+    \["remove-method", "f_rm_met.htm"],
+    \["remprop", "f_rempro.htm"],
+    \["rename-file", "f_rn_fil.htm"],
+    \["rename-package", "f_rn_pkg.htm"],
+    \["replace", "f_replac.htm"],
+    \["require", "f_provid.htm"],
+    \["rest", "f_rest.htm"],
+    \["restart", "t_rst.htm"],
+    \["restart-bind", "m_rst_bi.htm"],
+    \["restart-case", "m_rst_ca.htm"],
+    \["restart-name", "f_rst_na.htm"],
+    \["return", "m_return.htm"],
+    \["return-from", "s_ret_fr.htm"],
+    \["revappend", "f_revapp.htm"],
+    \["reverse", "f_revers.htm"],
+    \["room", "f_room.htm"],
+    \["rotatef", "m_rotate.htm"],
+    \["round", "f_floorc.htm"],
+    \["row-major-aref", "f_row_ma.htm"],
+    \["rplaca", "f_rplaca.htm"],
+    \["rplacd", "f_rplaca.htm"],
+    \["safety", "d_optimi.htm"],
+    \["satisfies", "t_satisf.htm"],
+    \["sbit", "f_bt_sb.htm"],
+    \["scale-float", "f_dec_fl.htm"],
+    \["schar", "f_char_.htm"],
+    \["search", "f_search.htm"],
+    \["second", "f_firstc.htm"],
+    \["sequence", "t_seq.htm"],
+    \["serious-condition", "e_seriou.htm"],
+    \["set", "f_set.htm"],
+    \["set-difference", "f_set_di.htm"],
+    \["set-dispatch-macro-character", "f_set__1.htm"],
+    \["set-exclusive-or", "f_set_ex.htm"],
+    \["set-macro-character", "f_set_ma.htm"],
+    \["set-pprint-dispatch", "f_set_pp.htm"],
+    \["set-syntax-from-char", "f_set_sy.htm"],
+    \["setf", "a_setf.htm"],
+    \["setq", "s_setq.htm"],
+    \["seventh", "f_firstc.htm"],
+    \["shadow", "f_shadow.htm"],
+    \["shadowing-import", "f_shdw_i.htm"],
+    \["shared-initialize", "f_shared.htm"],
+    \["shiftf", "m_shiftf.htm"],
+    \["short-float", "t_short_.htm"],
+    \["short-float-epsilon", "v_short_.htm"],
+    \["short-float-negative-epsilon", "v_short_.htm"],
+    \["short-site-name", "f_short_.htm"],
+    \["signal", "f_signal.htm"],
+    \["signed-byte", "t_sgn_by.htm"],
+    \["signum", "f_signum.htm"],
+    \["simple-array", "t_smp_ar.htm"],
+    \["simple-base-string", "t_smp_ba.htm"],
+    \["simple-bit-vector", "t_smp_bt.htm"],
+    \["simple-bit-vector-p", "f_smp_bt.htm"],
+    \["simple-condition", "e_smp_cn.htm"],
+    \["simple-condition-format-arguments", "f_smp_cn.htm"],
+    \["simple-condition-format-control", "f_smp_cn.htm"],
+    \["simple-error", "e_smp_er.htm"],
+    \["simple-string", "t_smp_st.htm"],
+    \["simple-string-p", "f_smp_st.htm"],
+    \["simple-type-error", "e_smp_tp.htm"],
+    \["simple-vector", "t_smp_ve.htm"],
+    \["simple-vector-p", "f_smp_ve.htm"],
+    \["simple-warning", "e_smp_wa.htm"],
+    \["sin", "f_sin_c.htm"],
+    \["single-float", "t_short_.htm"],
+    \["single-float-epsilon", "v_short_.htm"],
+    \["single-float-negative-epsilon", "v_short_.htm"],
+    \["sinh", "f_sinh_.htm"],
+    \["sixth", "f_firstc.htm"],
+    \["sleep", "f_sleep.htm"],
+    \["slot-boundp", "f_slt_bo.htm"],
+    \["slot-exists-p", "f_slt_ex.htm"],
+    \["slot-makunbound", "f_slt_ma.htm"],
+    \["slot-missing", "f_slt_mi.htm"],
+    \["slot-unbound", "f_slt_un.htm"],
+    \["slot-value", "f_slt_va.htm"],
+    \["software-type", "f_sw_tpc.htm"],
+    \["software-version", "f_sw_tpc.htm"],
+    \["some", "f_everyc.htm"],
+    \["sort", "f_sort_.htm"],
+    \["space", "d_optimi.htm"],
+    \["special", "d_specia.htm"],
+    \["special-operator-p", "f_specia.htm"],
+    \["speed", "d_optimi.htm"],
+    \["sqrt", "f_sqrt_.htm"],
+    \["stable-sort", "f_sort_.htm"],
+    \["standard", "07_ffb.htm"],
+    \["standard-char", "t_std_ch.htm"],
+    \["standard-char-p", "f_std_ch.htm"],
+    \["standard-class", "t_std_cl.htm"],
+    \["standard-generic-function", "t_std_ge.htm"],
+    \["standard-method", "t_std_me.htm"],
+    \["standard-object", "t_std_ob.htm"],
+    \["step", "m_step.htm"],
+    \["storage-condition", "e_storag.htm"],
+    \["store-value", "a_store_.htm"],
+    \["stream", "t_stream.htm"],
+    \["stream-element-type", "f_stm_el.htm"],
+    \["stream-error", "e_stm_er.htm"],
+    \["stream-error-stream", "f_stm_er.htm"],
+    \["stream-external-format", "f_stm_ex.htm"],
+    \["streamp", "f_stmp.htm"],
+    \["string", "a_string.htm"],
+    \["string-capitalize", "f_stg_up.htm"],
+    \["string-downcase", "f_stg_up.htm"],
+    \["string-equal", "f_stgeq_.htm"],
+    \["string-greaterp", "f_stgeq_.htm"],
+    \["string-left-trim", "f_stg_tr.htm"],
+    \["string-lessp", "f_stgeq_.htm"],
+    \["string-not-equal", "f_stgeq_.htm"],
+    \["string-not-greaterp", "f_stgeq_.htm"],
+    \["string-not-lessp", "f_stgeq_.htm"],
+    \["string-right-trim", "f_stg_tr.htm"],
+    \["string-stream", "t_stg_st.htm"],
+    \["string-trim", "f_stg_tr.htm"],
+    \["string-upcase", "f_stg_up.htm"],
+    \["string/=", "f_stgeq_.htm"],
+    \["string<", "f_stgeq_.htm"],
+    \["string<=", "f_stgeq_.htm"],
+    \["string=", "f_stgeq_.htm"],
+    \["string>", "f_stgeq_.htm"],
+    \["string>=", "f_stgeq_.htm"],
+    \["stringp", "f_stgp.htm"],
+    \["structure", "f_docume.htm"],
+    \["structure-class", "t_stu_cl.htm"],
+    \["structure-object", "t_stu_ob.htm"],
+    \["style-warning", "e_style_.htm"],
+    \["sublis", "f_sublis.htm"],
+    \["subseq", "f_subseq.htm"],
+    \["subsetp", "f_subset.htm"],
+    \["subst", "f_substc.htm"],
+    \["subst-if", "f_substc.htm"],
+    \["subst-if-not", "f_substc.htm"],
+    \["substitute", "f_sbs_s.htm"],
+    \["substitute-if", "f_sbs_s.htm"],
+    \["substitute-if-not", "f_sbs_s.htm"],
+    \["subtypep", "f_subtpp.htm"],
+    \["svref", "f_svref.htm"],
+    \["sxhash", "f_sxhash.htm"],
+    \["symbol", "t_symbol.htm"],
+    \["symbol-function", "f_symb_1.htm"],
+    \["symbol-macrolet", "s_symbol.htm"],
+    \["symbol-name", "f_symb_2.htm"],
+    \["symbol-package", "f_symb_3.htm"],
+    \["symbol-plist", "f_symb_4.htm"],
+    \["symbol-value", "f_symb_5.htm"],
+    \["symbolp", "f_symbol.htm"],
+    \["synonym-stream", "t_syn_st.htm"],
+    \["synonym-stream-symbol", "f_syn_st.htm"],
+    \["t", "a_t.htm"],
+    \["tagbody", "s_tagbod.htm"],
+    \["tailp", "f_ldiffc.htm"],
+    \["tan", "f_sin_c.htm"],
+    \["tanh", "f_sinh_.htm"],
+    \["tenth", "f_firstc.htm"],
+    \["terpri", "f_terpri.htm"],
+    \["the", "s_the.htm"],
+    \["third", "f_firstc.htm"],
+    \["throw", "s_throw.htm"],
+    \["time", "m_time.htm"],
+    \["trace", "m_tracec.htm"],
+    \["translate-logical-pathname", "f_tr_log.htm"],
+    \["translate-pathname", "f_tr_pn.htm"],
+    \["tree-equal", "f_tree_e.htm"],
+    \["truename", "f_tn.htm"],
+    \["truncate", "f_floorc.htm"],
+    \["two-way-stream", "t_two_wa.htm"],
+    \["two-way-stream-input-stream", "f_two_wa.htm"],
+    \["two-way-stream-output-stream", "f_two_wa.htm"],
+    \["type", "a_type.htm"],
+    \["type-error", "e_tp_err.htm"],
+    \["type-error-datum", "f_tp_err.htm"],
+    \["type-error-expected-type", "f_tp_err.htm"],
+    \["type-of", "f_tp_of.htm"],
+    \["typecase", "m_tpcase.htm"],
+    \["typep", "f_typep.htm"],
+    \["unbound-slot", "e_unboun.htm"],
+    \["unbound-slot-instance", "f_unboun.htm"],
+    \["unbound-variable", "e_unbo_1.htm"],
+    \["undefined-function", "e_undefi.htm"],
+    \["unexport", "f_unexpo.htm"],
+    \["unintern", "f_uninte.htm"],
+    \["union", "f_unionc.htm"],
+    \["unless", "m_when_.htm"],
+    \["unread-char", "f_unrd_c.htm"],
+    \["unsigned-byte", "t_unsgn_.htm"],
+    \["untrace", "m_tracec.htm"],
+    \["unuse-package", "f_unuse_.htm"],
+    \["unwind-protect", "s_unwind.htm"],
+    \["update-instance-for-different-class", "f_update.htm"],
+    \["update-instance-for-redefined-class", "f_upda_1.htm"],
+    \["upgraded-array-element-type", "f_upgr_1.htm"],
+    \["upgraded-complex-part-type", "f_upgrad.htm"],
+    \["upper-case-p", "f_upper_.htm"],
+    \["use-package", "f_use_pk.htm"],
+    \["use-value", "a_use_va.htm"],
+    \["user-homedir-pathname", "f_user_h.htm"],
+    \["values", "a_values.htm"],
+    \["values-list", "f_vals_l.htm"],
+    \["variable", "f_docume.htm"],
+    \["vector", "a_vector.htm"],
+    \["vector-pop", "f_vec_po.htm"],
+    \["vector-push", "f_vec_ps.htm"],
+    \["vector-push-extend", "f_vec_ps.htm"],
+    \["vectorp", "f_vecp.htm"],
+    \["warn", "f_warn.htm"],
+    \["warning", "e_warnin.htm"],
+    \["when", "m_when_.htm"],
+    \["wild-pathname-p", "f_wild_p.htm"],
+    \["with-accessors", "m_w_acce.htm"],
+    \["with-compilation-unit", "m_w_comp.htm"],
+    \["with-condition-restarts", "m_w_cnd_.htm"],
+    \["with-hash-table-iterator", "m_w_hash.htm"],
+    \["with-input-from-string", "m_w_in_f.htm"],
+    \["with-open-file", "m_w_open.htm"],
+    \["with-open-stream", "m_w_op_1.htm"],
+    \["with-output-to-string", "m_w_out_.htm"],
+    \["with-package-iterator", "m_w_pkg_.htm"],
+    \["with-simple-restart", "m_w_smp_.htm"],
+    \["with-slots", "m_w_slts.htm"],
+    \["with-standard-io-syntax", "m_w_std_.htm"],
+    \["write", "f_wr_pr.htm"],
+    \["write-byte", "f_wr_by.htm"],
+    \["write-char", "f_wr_cha.htm"],
+    \["write-line", "f_wr_stg.htm"],
+    \["write-sequence", "f_wr_seq.htm"],
+    \["write-string", "f_wr_stg.htm"],
+    \["write-to-string", "f_wr_to_.htm"],
+    \["y-or-n-p", "f_y_or_n.htm"],
+    \["yes-or-no-p", "f_y_or_n.htm"],
+    \["zerop", "f_zerop.htm"]]
+endif
+
+if !exists( 'g:slimv_clhs_issues' )
+    let g:slimv_clhs_issues = [
+    \["&environment-binding-order:first", "iss001.htm"],
+    \["access-error-name", "iss002.htm"],
+    \["adjust-array-displacement", "iss003.htm"],
+    \["adjust-array-fill-pointer", "iss004.htm"],
+    \["adjust-array-not-adjustable:implicit-copy", "iss005.htm"],
+    \["allocate-instance:add", "iss006.htm"],
+    \["allow-local-inline:inline-notinline", "iss007.htm"],
+    \["allow-other-keys-nil:permit", "iss008.htm"],
+    \["aref-1d", "iss009.htm"],
+    \["argument-mismatch-error-again:consistent", "iss010.htm"],
+    \["argument-mismatch-error-moon:fix", "iss011.htm"],
+    \["argument-mismatch-error:more-clarifications", "iss012.htm"],
+    \["arguments-underspecified:specify", "iss013.htm"],
+    \["array-dimension-limit-implications:all-fixnum", "iss014.htm"],
+    \["array-type-element-type-semantics:unify-upgrading", "iss015.htm"],
+    \["assert-error-type:error", "iss016.htm"],
+    \["assoc-rassoc-if-key", "iss017.htm"],
+    \["assoc-rassoc-if-key:yes", "iss018.htm"],
+    \["boa-aux-initialization:error-on-read", "iss019.htm"],
+    \["break-on-warnings-obsolete:remove", "iss020.htm"],
+    \["broadcast-stream-return-values:clarify-minimally", "iss021.htm"],
+    \["butlast-negative:should-signal", "iss022.htm"],
+    \["change-class-initargs:permit", "iss023.htm"],
+    \["char-name-case:x3j13-mar-91", "iss024.htm"],
+    \["character-loose-ends:fix", "iss025.htm"],
+    \["character-proposal:2", "iss026.htm"],
+    \["character-proposal:2-1-1", "iss027.htm"],
+    \["character-proposal:2-1-2", "iss028.htm"],
+    \["character-proposal:2-2-1", "iss029.htm"],
+    \["character-proposal:2-3-1", "iss030.htm"],
+    \["character-proposal:2-3-2", "iss031.htm"],
+    \["character-proposal:2-3-3", "iss032.htm"],
+    \["character-proposal:2-3-4", "iss033.htm"],
+    \["character-proposal:2-3-5", "iss034.htm"],
+    \["character-proposal:2-3-6", "iss035.htm"],
+    \["character-proposal:2-4-1", "iss036.htm"],
+    \["character-proposal:2-4-2", "iss037.htm"],
+    \["character-proposal:2-4-3", "iss038.htm"],
+    \["character-proposal:2-5-2", "iss039.htm"],
+    \["character-proposal:2-5-6", "iss040.htm"],
+    \["character-proposal:2-5-7", "iss041.htm"],
+    \["character-proposal:2-6-1", "iss042.htm"],
+    \["character-proposal:2-6-2", "iss043.htm"],
+    \["character-proposal:2-6-3", "iss044.htm"],
+    \["character-proposal:2-6-5", "iss045.htm"],
+    \["character-vs-char:less-inconsistent-short", "iss046.htm"],
+    \["class-object-specializer:affirm", "iss047.htm"],
+    \["clos-conditions-again:allow-subset", "iss048.htm"],
+    \["clos-conditions:integrate", "iss049.htm"],
+    \["clos-error-checking-order:no-applicable-method-first", "iss050.htm"],
+    \["clos-macro-compilation:minimal", "iss051.htm"],
+    \["close-constructed-stream:argument-stream-only", "iss052.htm"],
+    \["closed-stream-operations:allow-inquiry", "iss053.htm"],
+    \["coercing-setf-name-to-function:all-function-names", "iss054.htm"],
+    \["colon-number", "iss055.htm"],
+    \["common-features:specify", "iss056.htm"],
+    \["common-type:remove", "iss057.htm"],
+    \["compile-argument-problems-again:fix", "iss058.htm"],
+    \["compile-file-handling-of-top-level-forms:clarify", "iss059.htm"],
+    \["compile-file-output-file-defaults:input-file", "iss060.htm"],
+    \["compile-file-package", "iss061.htm"],
+    \["compile-file-pathname-arguments:make-consistent", "iss062.htm"],
+    \["compile-file-symbol-handling:new-require-consistency", "iss063.htm"],
+    \["compiled-function-requirements:tighten", "iss064.htm"],
+    \["compiler-diagnostics:use-handler", "iss065.htm"],
+    \["compiler-let-confusion:eliminate", "iss066.htm"],
+    \["compiler-verbosity:like-load", "iss067.htm"],
+    \["compiler-warning-stream", "iss068.htm"],
+    \["complex-atan-branch-cut:tweak", "iss069.htm"],
+    \["complex-atanh-bogus-formula:tweak-more", "iss070.htm"],
+    \["complex-rational-result:extend", "iss071.htm"],
+    \["compute-applicable-methods:generic", "iss072.htm"],
+    \["concatenate-sequence:signal-error", "iss073.htm"],
+    \["condition-accessors-setfable:no", "iss074.htm"],
+    \["condition-restarts:buggy", "iss075.htm"],
+    \["condition-restarts:permit-association", "iss076.htm"],
+    \["condition-slots:hidden", "iss077.htm"],
+    \["cons-type-specifier:add", "iss078.htm"],
+    \["constant-circular-compilation:yes", "iss079.htm"],
+    \["constant-collapsing:generalize", "iss080.htm"],
+    \["constant-compilable-types:specify", "iss081.htm"],
+    \["constant-function-compilation:no", "iss082.htm"],
+    \["constant-modification:disallow", "iss083.htm"],
+    \["constantp-definition:intentional", "iss084.htm"],
+    \["constantp-environment:add-arg", "iss085.htm"],
+    \["contagion-on-numerical-comparisons:transitive", "iss086.htm"],
+    \["copy-symbol-copy-plist:copy-list", "iss087.htm"],
+    \["copy-symbol-print-name:equal", "iss088.htm"],
+    \["data-io:add-support", "iss089.htm"],
+    \["data-types-hierarchy-underspecified", "iss090.htm"],
+    \["debugger-hook-vs-break:clarify", "iss091.htm"],
+    \["declaration-scope:no-hoisting", "iss092.htm"],
+    \["declare-array-type-element-references:restrictive", "iss093.htm"],
+    \["declare-function-ambiguity:delete-ftype-abbreviation", "iss094.htm"],
+    \["declare-macros:flush", "iss095.htm"],
+    \["declare-type-free:lexical", "iss096.htm"],
+    \["decls-and-doc", "iss097.htm"],
+    \["decode-universal-time-daylight:like-encode", "iss098.htm"],
+    \["defconstant-special:no", "iss099.htm"],
+    \["defgeneric-declare:allow-multiple", "iss100.htm"],
+    \["define-compiler-macro:x3j13-nov89", "iss101.htm"],
+    \["define-condition-syntax:incompatibly-more-like-defclass+emphasize-read-only", "iss102.htm"],
+    \["define-method-combination-behavior:clarify", "iss103.htm"],
+    \["defining-macros-non-top-level:allow", "iss104.htm"],
+    \["defmacro-block-scope:excludes-bindings", "iss105.htm"],
+    \["defmacro-lambda-list:tighten-description", "iss106.htm"],
+    \["defmethod-declaration-scope:corresponds-to-bindings", "iss107.htm"],
+    \["defpackage:addition", "iss108.htm"],
+    \["defstruct-constructor-key-mixture:allow-key", "iss109.htm"],
+    \["defstruct-constructor-options:explicit", "iss110.htm"],
+    \["defstruct-constructor-slot-variables:not-bound", "iss111.htm"],
+    \["defstruct-copier-argument-type:restrict", "iss112.htm"],
+    \["defstruct-copier:argument-type", "iss113.htm"],
+    \["defstruct-default-value-evaluation:iff-needed", "iss114.htm"],
+    \["defstruct-include-deftype:explicitly-undefined", "iss115.htm"],
+    \["defstruct-print-function-again:x3j13-mar-93", "iss116.htm"],
+    \["defstruct-print-function-inheritance:yes", "iss117.htm"],
+    \["defstruct-redefinition:error", "iss118.htm"],
+    \["defstruct-slots-constraints-name:duplicates-error", "iss119.htm"],
+    \["defstruct-slots-constraints-number", "iss120.htm"],
+    \["deftype-destructuring:yes", "iss121.htm"],
+    \["deftype-key:allow", "iss122.htm"],
+    \["defvar-documentation:unevaluated", "iss123.htm"],
+    \["defvar-init-time:not-delayed", "iss124.htm"],
+    \["defvar-initialization:conservative", "iss125.htm"],
+    \["deprecation-position:limited", "iss126.htm"],
+    \["describe-interactive:no", "iss127.htm"],
+    \["describe-underspecified:describe-object", "iss128.htm"],
+    \["destructive-operations:specify", "iss129.htm"],
+    \["destructuring-bind:new-macro", "iss130.htm"],
+    \["disassemble-side-effect:do-not-install", "iss131.htm"],
+    \["displaced-array-predicate:add", "iss132.htm"],
+    \["do-symbols-block-scope:entire-form", "iss133.htm"],
+    \["do-symbols-duplicates", "iss134.htm"],
+    \["documentation-function-bugs:fix", "iss135.htm"],
+    \["documentation-function-tangled:require-argument", "iss136.htm"],
+    \["dotimes-ignore:x3j13-mar91", "iss137.htm"],
+    \["dotted-list-arguments:clarify", "iss138.htm"],
+    \["dotted-macro-forms:allow", "iss139.htm"],
+    \["dribble-technique", "iss140.htm"],
+    \["dynamic-extent-function:extend", "iss141.htm"],
+    \["dynamic-extent:new-declaration", "iss142.htm"],
+    \["equal-structure:maybe-status-quo", "iss143.htm"],
+    \["error-terminology-warning:might", "iss144.htm"],
+    \["eval-other:self-evaluate", "iss145.htm"],
+    \["eval-top-level:load-like-compile-file", "iss146.htm"],
+    \["eval-when-non-top-level:generalize-eval-new-keywords", "iss147.htm"],
+    \["eval-when-obsolete-keywords:x3j13-mar-1993", "iss148.htm"],
+    \["evalhook-step-confusion:fix", "iss149.htm"],
+    \["evalhook-step-confusion:x3j13-nov-89", "iss150.htm"],
+    \["exit-extent-and-condition-system:like-dynamic-bindings", "iss151.htm"],
+    \["exit-extent:minimal", "iss152.htm"],
+    \["expt-ratio:p.211", "iss153.htm"],
+    \["extensions-position:documentation", "iss154.htm"],
+    \["external-format-for-every-file-connection:minimum", "iss155.htm"],
+    \["extra-return-values:no", "iss156.htm"],
+    \["file-open-error:signal-file-error", "iss157.htm"],
+    \["fixnum-non-portable:tighten-definition", "iss158.htm"],
+    \["flet-declarations", "iss159.htm"],
+    \["flet-declarations:allow", "iss160.htm"],
+    \["flet-implicit-block:yes", "iss161.htm"],
+    \["float-underflow:add-variables", "iss162.htm"],
+    \["floating-point-condition-names:x3j13-nov-89", "iss163.htm"],
+    \["format-atsign-colon", "iss164.htm"],
+    \["format-colon-uparrow-scope", "iss165.htm"],
+    \["format-comma-interval", "iss166.htm"],
+    \["format-e-exponent-sign:force-sign", "iss167.htm"],
+    \["format-op-c", "iss168.htm"],
+    \["format-pretty-print:yes", "iss169.htm"],
+    \["format-string-arguments:specify", "iss170.htm"],
+    \["function-call-evaluation-order:more-unspecified", "iss171.htm"],
+    \["function-composition:jan89-x3j13", "iss172.htm"],
+    \["function-definition:jan89-x3j13", "iss173.htm"],
+    \["function-name:large", "iss174.htm"],
+    \["function-type", "iss175.htm"],
+    \["function-type-argument-type-semantics:restrictive", "iss176.htm"],
+    \["function-type-key-name:specify-keyword", "iss177.htm"],
+    \["function-type-rest-list-element:use-actual-argument-type", "iss178.htm"],
+    \["function-type:x3j13-march-88", "iss179.htm"],
+    \["generalize-pretty-printer:unify", "iss180.htm"],
+    \["generic-flet-poorly-designed:delete", "iss181.htm"],
+    \["gensym-name-stickiness:like-teflon", "iss182.htm"],
+    \["gentemp-bad-idea:deprecate", "iss183.htm"],
+    \["get-macro-character-readtable:nil-standard", "iss184.htm"],
+    \["get-setf-method-environment:add-arg", "iss185.htm"],
+    \["hash-table-access:x3j13-mar-89", "iss186.htm"],
+    \["hash-table-key-modification:specify", "iss187.htm"],
+    \["hash-table-package-generators:add-with-wrapper", "iss188.htm"],
+    \["hash-table-rehash-size-integer", "iss189.htm"],
+    \["hash-table-size:intended-entries", "iss190.htm"],
+    \["hash-table-tests:add-equalp", "iss191.htm"],
+    \["ieee-atan-branch-cut:split", "iss192.htm"],
+    \["ignore-use-terminology:value-only", "iss193.htm"],
+    \["import-setf-symbol-package", "iss194.htm"],
+    \["in-package-functionality:mar89-x3j13", "iss195.htm"],
+    \["in-syntax:minimal", "iss196.htm"],
+    \["initialization-function-keyword-checking", "iss197.htm"],
+    \["iso-compatibility:add-substrate", "iss198.htm"],
+    \["jun90-trivial-issues:11", "iss199.htm"],
+    \["jun90-trivial-issues:14", "iss200.htm"],
+    \["jun90-trivial-issues:24", "iss201.htm"],
+    \["jun90-trivial-issues:25", "iss202.htm"],
+    \["jun90-trivial-issues:27", "iss203.htm"],
+    \["jun90-trivial-issues:3", "iss204.htm"],
+    \["jun90-trivial-issues:4", "iss205.htm"],
+    \["jun90-trivial-issues:5", "iss206.htm"],
+    \["jun90-trivial-issues:9", "iss207.htm"],
+    \["keyword-argument-name-package:any", "iss208.htm"],
+    \["last-n", "iss209.htm"],
+    \["lcm-no-arguments:1", "iss210.htm"],
+    \["lexical-construct-global-definition:undefined", "iss211.htm"],
+    \["lisp-package-name:common-lisp", "iss212.htm"],
+    \["lisp-symbol-redefinition-again:more-fixes", "iss213.htm"],
+    \["lisp-symbol-redefinition:mar89-x3j13", "iss214.htm"],
+    \["load-objects:make-load-form", "iss215.htm"],
+    \["load-time-eval:r**2-new-special-form", "iss216.htm"],
+    \["load-time-eval:r**3-new-special-form", "iss217.htm"],
+    \["load-truename:new-pathname-variables", "iss218.htm"],
+    \["locally-top-level:special-form", "iss219.htm"],
+    \["loop-and-discrepancy:no-reiteration", "iss220.htm"],
+    \["loop-for-as-on-typo:fix-typo", "iss221.htm"],
+    \["loop-initform-environment:partial-interleaving-vague", "iss222.htm"],
+    \["loop-miscellaneous-repairs:fix", "iss223.htm"],
+    \["loop-named-block-nil:override", "iss224.htm"],
+    \["loop-present-symbols-typo:flush-wrong-words", "iss225.htm"],
+    \["loop-syntax-overhaul:repair", "iss226.htm"],
+    \["macro-as-function:disallow", "iss227.htm"],
+    \["macro-declarations:make-explicit", "iss228.htm"],
+    \["macro-environment-extent:dynamic", "iss229.htm"],
+    \["macro-function-environment", "iss230.htm"],
+    \["macro-function-environment:yes", "iss231.htm"],
+    \["macro-subforms-top-level-p:add-constraints", "iss232.htm"],
+    \["macroexpand-hook-default:explicitly-vague", "iss233.htm"],
+    \["macroexpand-hook-initial-value:implementation-dependent", "iss234.htm"],
+    \["macroexpand-return-value:true", "iss235.htm"],
+    \["make-load-form-confusion:rewrite", "iss236.htm"],
+    \["make-load-form-saving-slots:no-initforms", "iss237.htm"],
+    \["make-package-use-default:implementation-dependent", "iss238.htm"],
+    \["map-into:add-function", "iss239.htm"],
+    \["mapping-destructive-interaction:explicitly-vague", "iss240.htm"],
+    \["metaclass-of-system-class:unspecified", "iss241.htm"],
+    \["method-combination-arguments:clarify", "iss242.htm"],
+    \["method-initform:forbid-call-next-method", "iss243.htm"],
+    \["muffle-warning-condition-argument", "iss244.htm"],
+    \["multiple-value-setq-order:like-setf-of-values", "iss245.htm"],
+    \["multiple-values-limit-on-variables:undefined", "iss246.htm"],
+    \["nintersection-destruction", "iss247.htm"],
+    \["nintersection-destruction:revert", "iss248.htm"],
+    \["not-and-null-return-value:x3j13-mar-93", "iss249.htm"],
+    \["nth-value:add", "iss250.htm"],
+    \["optimize-debug-info:new-quality", "iss251.htm"],
+    \["package-clutter:reduce", "iss252.htm"],
+    \["package-deletion:new-function", "iss253.htm"],
+    \["package-function-consistency:more-permissive", "iss254.htm"],
+    \["parse-error-stream:split-types", "iss255.htm"],
+    \["pathname-component-case:keyword-argument", "iss256.htm"],
+    \["pathname-component-value:specify", "iss257.htm"],
+    \["pathname-host-parsing:recognize-logical-host-names", "iss258.htm"],
+    \["pathname-logical:add", "iss259.htm"],
+    \["pathname-print-read:sharpsign-p", "iss260.htm"],
+    \["pathname-stream", "iss261.htm"],
+    \["pathname-stream:files-or-synonym", "iss262.htm"],
+    \["pathname-subdirectory-list:new-representation", "iss263.htm"],
+    \["pathname-symbol", "iss264.htm"],
+    \["pathname-syntax-error-time:explicitly-vague", "iss265.htm"],
+    \["pathname-unspecific-component:new-token", "iss266.htm"],
+    \["pathname-wild:new-functions", "iss267.htm"],
+    \["peek-char-read-char-echo:first-read-char", "iss268.htm"],
+    \["plist-duplicates:allow", "iss269.htm"],
+    \["pretty-print-interface", "iss270.htm"],
+    \["princ-readably:x3j13-dec-91", "iss271.htm"],
+    \["print-case-behavior:clarify", "iss272.htm"],
+    \["print-case-print-escape-interaction:vertical-bar-rule-no-upcase", "iss273.htm"],
+    \["print-circle-shared:respect-print-circle", "iss274.htm"],
+    \["print-circle-structure:user-functions-work", "iss275.htm"],
+    \["print-readably-behavior:clarify", "iss276.htm"],
+    \["printer-whitespace:just-one-space", "iss277.htm"],
+    \["proclaim-etc-in-compile-file:new-macro", "iss278.htm"],
+    \["push-evaluation-order:first-item", "iss279.htm"],
+    \["push-evaluation-order:item-first", "iss280.htm"],
+    \["pushnew-store-required:unspecified", "iss281.htm"],
+    \["quote-semantics:no-copying", "iss282.htm"],
+    \["range-of-count-keyword:nil-or-integer", "iss283.htm"],
+    \["range-of-start-and-end-parameters:integer-and-integer-nil", "iss284.htm"],
+    \["read-and-write-bytes:new-functions", "iss285.htm"],
+    \["read-case-sensitivity:readtable-keywords", "iss286.htm"],
+    \["read-modify-write-evaluation-order:delayed-access-stores", "iss287.htm"],
+    \["read-suppress-confusing:generalize", "iss288.htm"],
+    \["reader-error:new-type", "iss289.htm"],
+    \["real-number-type:x3j13-mar-89", "iss290.htm"],
+    \["recursive-deftype:explicitly-vague", "iss291.htm"],
+    \["reduce-argument-extraction", "iss292.htm"],
+    \["remf-destruction-unspecified:x3j13-mar-89", "iss293.htm"],
+    \["require-pathname-defaults-again:x3j13-dec-91", "iss294.htm"],
+    \["require-pathname-defaults-yet-again:restore-argument", "iss295.htm"],
+    \["require-pathname-defaults:eliminate", "iss296.htm"],
+    \["rest-list-allocation:may-share", "iss297.htm"],
+    \["result-lists-shared:specify", "iss298.htm"],
+    \["return-values-unspecified:specify", "iss299.htm"],
+    \["room-default-argument:new-value", "iss300.htm"],
+    \["self-modifying-code:forbid", "iss301.htm"],
+    \["sequence-type-length:must-match", "iss302.htm"],
+    \["setf-apply-expansion:ignore-expander", "iss303.htm"],
+    \["setf-find-class:allow-nil", "iss304.htm"],
+    \["setf-functions-again:minimal-changes", "iss305.htm"],
+    \["setf-get-default:evaluated-but-ignored", "iss306.htm"],
+    \["setf-macro-expansion:last", "iss307.htm"],
+    \["setf-method-vs-setf-method:rename-old-terms", "iss308.htm"],
+    \["setf-multiple-store-variables:allow", "iss309.htm"],
+    \["setf-of-apply:only-aref-and-friends", "iss310.htm"],
+    \["setf-of-values:add", "iss311.htm"],
+    \["setf-sub-methods:delayed-access-stores", "iss312.htm"],
+    \["shadow-already-present", "iss313.htm"],
+    \["shadow-already-present:works", "iss314.htm"],
+    \["sharp-comma-confusion:remove", "iss315.htm"],
+    \["sharp-o-foobar:consequences-undefined", "iss316.htm"],
+    \["sharp-star-delimiter:normal-delimiter", "iss317.htm"],
+    \["sharpsign-plus-minus-package:keyword", "iss318.htm"],
+    \["slot-missing-values:specify", "iss319.htm"],
+    \["slot-value-metaclasses:less-minimal", "iss320.htm"],
+    \["special-form-p-misnomer:rename", "iss321.htm"],
+    \["special-type-shadowing:clarify", "iss322.htm"],
+    \["standard-input-initial-binding:defined-contracts", "iss323.htm"],
+    \["standard-repertoire-gratuitous:rename", "iss324.htm"],
+    \["step-environment:current", "iss325.htm"],
+    \["step-minimal:permit-progn", "iss326.htm"],
+    \["stream-access:add-types-accessors", "iss327.htm"],
+    \["stream-capabilities:interactive-stream-p", "iss328.htm"],
+    \["string-coercion:make-consistent", "iss329.htm"],
+    \["string-output-stream-bashing:undefined", "iss330.htm"],
+    \["structure-read-print-syntax:keywords", "iss331.htm"],
+    \["subseq-out-of-bounds", "iss332.htm"],
+    \["subseq-out-of-bounds:is-an-error", "iss333.htm"],
+    \["subsetting-position:none", "iss334.htm"],
+    \["subtypep-environment:add-arg", "iss335.htm"],
+    \["subtypep-too-vague:clarify-more", "iss336.htm"],
+    \["sxhash-definition:similar-for-sxhash", "iss337.htm"],
+    \["symbol-macrolet-declare:allow", "iss338.htm"],
+    \["symbol-macrolet-semantics:special-form", "iss339.htm"],
+    \["symbol-macrolet-type-declaration:no", "iss340.htm"],
+    \["symbol-macros-and-proclaimed-specials:signals-an-error", "iss341.htm"],
+    \["symbol-print-escape-behavior:clarify", "iss342.htm"],
+    \["syntactic-environment-access:retracted-mar91", "iss343.htm"],
+    \["tagbody-tag-expansion:no", "iss344.htm"],
+    \["tailp-nil:t", "iss345.htm"],
+    \["test-not-if-not:flush-all", "iss346.htm"],
+    \["the-ambiguity:for-declaration", "iss347.htm"],
+    \["the-values:return-number-received", "iss348.htm"],
+    \["time-zone-non-integer:allow", "iss349.htm"],
+    \["type-declaration-abbreviation:allow-all", "iss350.htm"],
+    \["type-of-and-predefined-classes:type-of-handles-floats", "iss351.htm"],
+    \["type-of-and-predefined-classes:unify-and-extend", "iss352.htm"],
+    \["type-of-underconstrained:add-constraints", "iss353.htm"],
+    \["type-specifier-abbreviation:x3j13-jun90-guess", "iss354.htm"],
+    \["undefined-variables-and-functions:compromise", "iss355.htm"],
+    \["uninitialized-elements:consequences-undefined", "iss356.htm"],
+    \["unread-char-after-peek-char:dont-allow", "iss357.htm"],
+    \["unsolicited-messages:not-to-system-user-streams", "iss358.htm"],
+    \["variable-list-asymmetry:symmetrize", "iss359.htm"],
+    \["with-added-methods:delete", "iss360.htm"],
+    \["with-compilation-unit:new-macro", "iss361.htm"],
+    \["with-open-file-does-not-exist:stream-is-nil", "iss362.htm"],
+    \["with-open-file-setq:explicitly-vague", "iss363.htm"],
+    \["with-open-file-stream-extent:dynamic-extent", "iss364.htm"],
+    \["with-output-to-string-append-style:vector-push-extend", "iss365.htm"],
+    \["with-standard-io-syntax-readtable:x3j13-mar-91", "iss366.htm"]]
+endif
+ 
+if !exists( 'g:slimv_clhs_chapters' )
+    let g:slimv_clhs_chapters = [
+    \["[index]", "../Front/Contents.htm"],
+    \["[introduction]", "01_.htm"],
+    \["[syntax]", "02_.htm"],
+    \["[evaluation and compilation]", "03_.htm"],
+    \["[types and classes]", "04_.htm"],
+    \["[data and control flow]", "05_.htm"],
+    \["[iteration]", "06_.htm"],
+    \["[objects]", "07_.htm"],
+    \["[structures]", "08_.htm"],
+    \["[conditions]", "09_.htm"],
+    \["[symbols]", "10_.htm"],
+    \["[packages]", "11_.htm"],
+    \["[numbers]", "12_.htm"],
+    \["[characters]", "13_.htm"],
+    \["[conses]", "14_.htm"],
+    \["[arrays]", "15_.htm"],
+    \["[strings]", "16_.htm"],
+    \["[sequences]", "17_.htm"],
+    \["[hash tables]", "18_.htm"],
+    \["[filenames]", "19_.htm"],
+    \["[files]", "20_.htm"],
+    \["[streams]", "21_.htm"],
+    \["[printer]", "22_.htm"],
+    \["[reader]", "23_.htm"],
+    \["[system construction]", "24_.htm"],
+    \["[environment]", "25_.htm"],
+    \["[glossary]", "26_.htm"]]
+endif
+
+if !exists( 'g:slimv_clhs_control_chars' )
+    let g:slimv_clhs_control_chars = [
+    \["~C: Character", "22_caa.htm"],
+    \["~%: Newline", "22_cab.htm"],
+    \["~&: Freshline", "22_cac.htm"],
+    \["~|: Page", "22_cad.htm"],
+    \["~~: Tilde", "22_cae.htm"],
+    \["~R: Radix", "22_cba.htm"],
+    \["~D: Decimal", "22_cbb.htm"],
+    \["~B: Binary", "22_cbc.htm"],
+    \["~O: Octal", "22_cbd.htm"],
+    \["~X: Hexadecimal", "22_cbe.htm"],
+    \["~F: Fixed-Format Floating-Point", "22_cca.htm"],
+    \["~E: Exponential Floating-Point", "22_ccb.htm"],
+    \["~G: General Floating-Point", "22_ccc.htm"],
+    \["~$: Monetary Floating-Point", "22_ccd.htm"],
+    \["~A: Aesthetic", "22_cda.htm"],
+    \["~S: Standard", "22_cdb.htm"],
+    \["~W: Write", "22_cdc.htm"],
+    \["~_: Conditional Newline", "22_cea.htm"],
+    \["~<: Logical Block", "22_ceb.htm"],
+    \["~I: Indent", "22_cec.htm"],
+    \["~/: Call Function", "22_ced.htm"],
+    \["~T: Tabulate", "22_cfa.htm"],
+    \["~<: Justification", "22_cfb.htm"],
+    \["~>: End of Justification", "22_cfc.htm"],
+    \["~*: Go-To", "22_cga.htm"],
+    \["~[: Conditional Expression", "22_cgb.htm"],
+    \["~]: End of Conditional Expression", "22_cgc.htm"],
+    \["~{: Iteration", "22_cgd.htm"],
+    \["~}: End of Iteration", "22_cge.htm"],
+    \["~?: Recursive Processing", "22_cgf.htm"],
+    \["~(: Case Conversion", "22_cha.htm"],
+    \["~): End of Case Conversion", "22_chb.htm"],
+    \["~P: Plural", "22_chc.htm"],
+    \["~;: Clause Separator", "22_cia.htm"],
+    \["~^: Escape Upward", "22_cib.htm"],
+    \["~NEWLINE: Ignored Newline", "22_cic.htm"]]
+endif
+
+if !exists( 'g:slimv_clhs_macro_chars' )
+    let g:slimv_clhs_macro_chars = [
+    \["(", "02_da.htm"],
+    \[")", "02_db.htm"],
+    \["'", "02_dc.htm"],
+    \[";", "02_dd.htm"],
+    \['"', "02_de.htm"],
+    \["`", "02_df.htm"],
+    \[",", "02_dg.htm"],
+    \["#", "02_dh.htm"],
+    \["#\\", "02_dha.htm"],
+    \["#'", "02_dhb.htm"],
+    \["#(", "02_dhc.htm"],
+    \["#*", "02_dhd.htm"],
+    \["#:", "02_dhe.htm"],
+    \["#.", "02_dhf.htm"],
+    \["#b", "02_dhg.htm"],
+    \["#o", "02_dhh.htm"],
+    \["#x", "02_dhi.htm"],
+    \["#r", "02_dhj.htm"],
+    \["#c", "02_dhk.htm"],
+    \["#a", "02_dhl.htm"],
+    \["#s", "02_dhm.htm"],
+    \["#p", "02_dhn.htm"],
+    \["#=", "02_dho.htm"],
+    \["##", "02_dhp.htm"],
+    \["#+", "02_dhq.htm"],
+    \["#-", "02_dhr.htm"],
+    \["#|", "02_dhs.htm"],
+    \["#<", "02_dht.htm"]]
+endif
+
+if !exists( 'g:slimv_clhs_loop' )
+    let g:slimv_clhs_loop = [
+    \["loop:with", "06_abb.htm"],
+    \["loop:for-as", "06_aba.htm"],
+    \["loop:for-as-arithmetic", "06_abaa.htm"],
+    \["loop:for-as-in-list", "06_abab.htm"],
+    \["loop:for-as-on-list", "06_abac.htm"],
+    \["loop:for-as-equals-then", "06_abad.htm"],
+    \["loop:for-as-across", "06_abae.htm"],
+    \["loop:for-as-hash", "06_abaf.htm"],
+    \["loop:for-as-package", "06_abag.htm"],
+    \["loop:collect", "06_ac.htm"],
+    \["loop:append", "06_ac.htm"],
+    \["loop:nconc", "06_ac.htm"],
+    \["loop:count", "06_ac.htm"],
+    \["loop:maximize", "06_ac.htm"],
+    \["loop:minimize", "06_ac.htm"],
+    \["loop:sum", "06_ac.htm"],
+    \["loop:repeat", "06_ad.htm"],
+    \["loop:always", "06_ad.htm"],
+    \["loop:never", "06_ad.htm"],
+    \["loop:thereis", "06_ad.htm"],
+    \["loop:while", "06_ad.htm"],
+    \["loop:until", "06_ad.htm"],
+    \["loop:do", "06_ae.htm"],
+    \["loop:return", "06_ae.htm"],
+    \["loop:if", "06_af.htm"],
+    \["loop:when", "06_af.htm"],
+    \["loop:unless", "06_af.htm"],
+    \["loop:else", "06_af.htm"],
+    \["loop:it", "06_af.htm"],
+    \["loop:end", "06_af.htm"],
+    \["loop:named", "06_aga.htm"],
+    \["loop:initially", "06_agb.htm"],
+    \["loop:finally", "06_agb.htm"]]
+endif
+            
+if !exists( 'g:slimv_clhs_arguments' )
+    let g:slimv_clhs_arguments = [
+    \[":test", "17_ba.htm"],
+    \[":test-not", "17_ba.htm"],
+    \[":key", "17_bb.htm"],
+    \[":eof-error-p", "23_aca.htm"],
+    \[":recursive-p", "23_acb.htm"],
+    \[":case", "19_bbab.htm"],
+    \["&allow-other-keys", "03_dada.htm"],
+    \[":allow-other-keys", "03_dada.htm"]]
+endif
+
+if !exists( 'g:slimv_clhs_glossary' )
+    let g:slimv_clhs_glossary = [
+    \["{()}", "26_glo_9.htm\\#OPCP"],
+    \["{absolute}", "26_glo_a.htm\\#absolute"],
+    \["{access}", "26_glo_a.htm\\#access"],
+    \["{accessibility}", "26_glo_a.htm\\#accessibility"],
+    \["{accessible}", "26_glo_a.htm\\#accessible"],
+    \["{accessor}", "26_glo_a.htm\\#accessor"],
+    \["{active}", "26_glo_a.htm\\#active"],
+    \["{actual adjustability}", "26_glo_a.htm\\#actual_adjustability"],
+    \["{actual argument}", "26_glo_a.htm\\#actual_argument"],
+    \["{actual array element type}", "26_glo_a.htm\\#actual_array_element_type"],
+    \["{actual complex part type}", "26_glo_a.htm\\#actual_complex_part_type"],
+    \["{actual parameter}", "26_glo_a.htm\\#actual_parameter"],
+    \["{actually adjustable}", "26_glo_a.htm\\#actually_adjustable"],
+    \["{adjustability}", "26_glo_a.htm\\#adjustability"],
+    \["{adjustable}", "26_glo_a.htm\\#adjustable"],
+    \["{after method}", "26_glo_a.htm\\#after_method"],
+    \["{alist}", "26_glo_a.htm\\#alist"],
+    \["{alphabetic}", "26_glo_a.htm\\#alphabetic"],
+    \["{alphanumeric}", "26_glo_a.htm\\#alphanumeric"],
+    \["{ampersand}", "26_glo_a.htm\\#ampersand"],
+    \["{anonymous}", "26_glo_a.htm\\#anonymous"],
+    \["{apparently uninterned}", "26_glo_a.htm\\#apparently_uninterned"],
+    \["{applicable}", "26_glo_a.htm\\#applicable"],
+    \["{applicable handler}", "26_glo_a.htm\\#applicable_handler"],
+    \["{applicable method}", "26_glo_a.htm\\#applicable_method"],
+    \["{applicable restart}", "26_glo_a.htm\\#applicable_restart"],
+    \["{apply}", "26_glo_a.htm\\#apply"],
+    \["{argument}", "26_glo_a.htm\\#argument"],
+    \["{argument evaluation order}", "26_glo_a.htm\\#argument_evaluation_order"],
+    \["{argument precedence order}", "26_glo_a.htm\\#argument_precedence_order"],
+    \["{around method}", "26_glo_a.htm\\#around_method"],
+    \["{array}", "26_glo_a.htm\\#array"],
+    \["{array element type}", "26_glo_a.htm\\#array_element_type"],
+    \["{array total size}", "26_glo_a.htm\\#array_total_size"],
+    \["{assign}", "26_glo_a.htm\\#assign"],
+    \["{association list}", "26_glo_a.htm\\#association_list"],
+    \["{asterisk}", "26_glo_a.htm\\#asterisk"],
+    \["{at-sign}", "26_glo_a.htm\\#at-sign"],
+    \["{atom}", "26_glo_a.htm\\#atom"],
+    \["{atomic}", "26_glo_a.htm\\#atomic"],
+    \["{atomic type specifier}", "26_glo_a.htm\\#atomic_type_specifier"],
+    \["{attribute}", "26_glo_a.htm\\#attribute"],
+    \["{aux variable}", "26_glo_a.htm\\#aux_variable"],
+    \["{auxiliary method}", "26_glo_a.htm\\#auxiliary_method"],
+    \["{backquote}", "26_glo_b.htm\\#backquote"],
+    \["{backslash}", "26_glo_b.htm\\#backslash"],
+    \["{base character}", "26_glo_b.htm\\#base_character"],
+    \["{base string}", "26_glo_b.htm\\#base_string"],
+    \["{before method}", "26_glo_b.htm\\#before_method"],
+    \["{bidirectional}", "26_glo_b.htm\\#bidirectional"],
+    \["{binary}", "26_glo_b.htm\\#binary"],
+    \["{bind}", "26_glo_b.htm\\#bind"],
+    \["{binding}", "26_glo_b.htm\\#binding"],
+    \["{bit}", "26_glo_b.htm\\#bit"],
+    \["{bit array}", "26_glo_b.htm\\#bit_array"],
+    \["{bit vector}", "26_glo_b.htm\\#bit_vector"],
+    \["{bit-wise logical operation specifier}", "26_glo_b.htm\\#bit-wise_logical_operation_specifier"],
+    \["{block}", "26_glo_b.htm\\#block"],
+    \["{block tag}", "26_glo_b.htm\\#block_tag"],
+    \["{boa lambda list}", "26_glo_b.htm\\#boa_lambda_list"],
+    \["{body parameter}", "26_glo_b.htm\\#body_parameter"],
+    \["{boolean}", "26_glo_b.htm\\#boolean"],
+    \["{boolean equivalent}", "26_glo_b.htm\\#boolean_equivalent"],
+    \["{bound}", "26_glo_b.htm\\#bound"],
+    \["{bound declaration}", "26_glo_b.htm\\#bound_declaration"],
+    \["{bounded}", "26_glo_b.htm\\#bounded"],
+    \["{bounding index}", "26_glo_b.htm\\#bounding_index"],
+    \["{bounding index designator}", "26_glo_b.htm\\#bounding_index_designator"],
+    \["{break loop}", "26_glo_b.htm\\#break_loop"],
+    \["{broadcast stream}", "26_glo_b.htm\\#broadcast_stream"],
+    \["{built-in class}", "26_glo_b.htm\\#built-in_class"],
+    \["{built-in type}", "26_glo_b.htm\\#built-in_type"],
+    \["{byte}", "26_glo_b.htm\\#byte"],
+    \["{byte specifier}", "26_glo_b.htm\\#byte_specifier"],
+    \["{cadr}", "26_glo_c.htm\\#cadr"],
+    \["{call}", "26_glo_c.htm\\#call"],
+    \["{captured initialization form}", "26_glo_c.htm\\#captured_initialization_form"],
+    \["{car}", "26_glo_c.htm\\#car"],
+    \["{case}", "26_glo_c.htm\\#case"],
+    \["{case sensitivity mode}", "26_glo_c.htm\\#case_sensitivity_mode"],
+    \["{catch}", "26_glo_c.htm\\#catch"],
+    \["{catch tag}", "26_glo_c.htm\\#catch_tag"],
+    \["{cddr}", "26_glo_c.htm\\#cddr"],
+    \["{cdr}", "26_glo_c.htm\\#cdr"],
+    \["{cell}", "26_glo_c.htm\\#cell"],
+    \["{character}", "26_glo_c.htm\\#character"],
+    \["{character code}", "26_glo_c.htm\\#character_code"],
+    \["{character designator}", "26_glo_c.htm\\#character_designator"],
+    \["{circular}", "26_glo_c.htm\\#circular"],
+    \["{circular list}", "26_glo_c.htm\\#circular_list"],
+    \["{class}", "26_glo_c.htm\\#class"],
+    \["{class designator}", "26_glo_c.htm\\#class_designator"],
+    \["{class precedence list}", "26_glo_c.htm\\#class_precedence_list"],
+    \["{close}", "26_glo_c.htm\\#close"],
+    \["{closed}", "26_glo_c.htm\\#closed"],
+    \["{closure}", "26_glo_c.htm\\#closure"],
+    \["{coalesce}", "26_glo_c.htm\\#coalesce"],
+    \["{code}", "26_glo_c.htm\\#code"],
+    \["{coerce}", "26_glo_c.htm\\#coerce"],
+    \["{colon}", "26_glo_c.htm\\#colon"],
+    \["{comma}", "26_glo_c.htm\\#comma"],
+    \["{compilation}", "26_glo_c.htm\\#compilation"],
+    \["{compilation environment}", "26_glo_c.htm\\#compilation_environment"],
+    \["{compilation unit}", "26_glo_c.htm\\#compilation_unit"],
+    \["{compile}", "26_glo_c.htm\\#compile"],
+    \["{compile time}", "26_glo_c.htm\\#compile_time"],
+    \["{compile time definition}", "26_glo_c.htm\\#compile-time_definition"],
+    \["{compiled code}", "26_glo_c.htm\\#compiled_code"],
+    \["{compiled file}", "26_glo_c.htm\\#compiled_file"],
+    \["{compiled function}", "26_glo_c.htm\\#compiled_function"],
+    \["{compiler}", "26_glo_c.htm\\#compiler"],
+    \["{compiler macro}", "26_glo_c.htm\\#compiler_macro"],
+    \["{compiler macro expansion}", "26_glo_c.htm\\#compiler_macro_expansion"],
+    \["{compiler macro form}", "26_glo_c.htm\\#compiler_macro_form"],
+    \["{compiler macro function}", "26_glo_c.htm\\#compiler_macro_function"],
+    \["{complex}", "26_glo_c.htm\\#complex"],
+    \["{complex float}", "26_glo_c.htm\\#complex_float"],
+    \["{complex part type}", "26_glo_c.htm\\#complex_part_type"],
+    \["{complex rational}", "26_glo_c.htm\\#complex_rational"],
+    \["{complex single float}", "26_glo_c.htm\\#complex_single_float"],
+    \["{composite stream}", "26_glo_c.htm\\#composite_stream"],
+    \["{compound form}", "26_glo_c.htm\\#compound_form"],
+    \["{compound type specifier}", "26_glo_c.htm\\#compound_type_specifier"],
+    \["{concatenated stream}", "26_glo_c.htm\\#concatenated_stream"],
+    \["{condition}", "26_glo_c.htm\\#condition"],
+    \["{condition designator}", "26_glo_c.htm\\#condition_designator"],
+    \["{condition handler}", "26_glo_c.htm\\#condition_handler"],
+    \["{condition reporter}", "26_glo_c.htm\\#condition_reporter"],
+    \["{conditional newline}", "26_glo_c.htm\\#conditional_newline"],
+    \["{conformance}", "26_glo_c.htm\\#conformance"],
+    \["{conforming code}", "26_glo_c.htm\\#conforming_code"],
+    \["{conforming implementation}", "26_glo_c.htm\\#conforming_implementation"],
+    \["{conforming processor}", "26_glo_c.htm\\#conforming_processor"],
+    \["{conforming program}", "26_glo_c.htm\\#conforming_program"],
+    \["{congruent}", "26_glo_c.htm\\#congruent"],
+    \["{cons}", "26_glo_c.htm\\#cons"],
+    \["{constant}", "26_glo_c.htm\\#constant"],
+    \["{constant form}", "26_glo_c.htm\\#constant_form"],
+    \["{constant object}", "26_glo_c.htm\\#constant_object"],
+    \["{constant variable}", "26_glo_c.htm\\#constant_variable"],
+    \["{constituent}", "26_glo_c.htm\\#constituent"],
+    \["{constituent trait}", "26_glo_c.htm\\#constituent_trait"],
+    \["{constructed stream}", "26_glo_c.htm\\#constructed_stream"],
+    \["{contagion}", "26_glo_c.htm\\#contagion"],
+    \["{continuable}", "26_glo_c.htm\\#continuable"],
+    \["{control form}", "26_glo_c.htm\\#control_form"],
+    \["{copy}", "26_glo_c.htm\\#copy"],
+    \["{correctable}", "26_glo_c.htm\\#correctable"],
+    \["{current input base}", "26_glo_c.htm\\#current_input_base"],
+    \["{current logical block}", "26_glo_c.htm\\#current_logical_block"],
+    \["{current output base}", "26_glo_c.htm\\#current_output_base"],
+    \["{current package}", "26_glo_c.htm\\#current_package"],
+    \["{current pprint dispatch table}", "26_glo_c.htm\\#current_pprint_dispatch_table"],
+    \["{current random state}", "26_glo_c.htm\\#current_random_state"],
+    \["{current readtable}", "26_glo_c.htm\\#current_readtable"],
+    \["{data type}", "26_glo_d.htm\\#data_type"],
+    \["{debug I/O}", "26_glo_d.htm\\#debug_iSLo"],
+    \["{debugger}", "26_glo_d.htm\\#debugger"],
+    \["{declaration}", "26_glo_d.htm\\#declaration"],
+    \["{declaration identifier}", "26_glo_d.htm\\#declaration_identifier"],
+    \["{declaration specifier}", "26_glo_d.htm\\#declaration_specifier"],
+    \["{declare}", "26_glo_d.htm\\#declare"],
+    \["{decline}", "26_glo_d.htm\\#decline"],
+    \["{decoded time}", "26_glo_d.htm\\#decoded_time"],
+    \["{default method}", "26_glo_d.htm\\#default_method"],
+    \["{defaulted initialization argument list}", "26_glo_d.htm\\#defaulted_initialization_argument_list"],
+    \["{define-method-combination arguments lambda list}", "26_glo_d.htm\\#define-method-combination_arguments_lambda_list"],
+    \["{define-modify-macro lambda list}", "26_glo_d.htm\\#define-modify-macro_lambda_list"],
+    \["{defined name}", "26_glo_d.htm\\#defined_name"],
+    \["{defining form}", "26_glo_d.htm\\#defining_form"],
+    \["{defsetf lambda list}", "26_glo_d.htm\\#defsetf_lambda_list"],
+    \["{deftype lambda list}", "26_glo_d.htm\\#deftype_lambda_list"],
+    \["{denormalized}", "26_glo_d.htm\\#denormalized"],
+    \["{derived type}", "26_glo_d.htm\\#derived_type"],
+    \["{derived type specifier}", "26_glo_d.htm\\#derived_type_specifier"],
+    \["{designator}", "26_glo_d.htm\\#designator"],
+    \["{destructive}", "26_glo_d.htm\\#destructive"],
+    \["{destructuring lambda list}", "26_glo_d.htm\\#destructuring_lambda_list"],
+    \["{different}", "26_glo_d.htm\\#different"],
+    \["{digit}", "26_glo_d.htm\\#digit"],
+    \["{dimension}", "26_glo_d.htm\\#dimension"],
+    \["{direct instance}", "26_glo_d.htm\\#direct_instance"],
+    \["{direct subclass}", "26_glo_d.htm\\#direct_subclass"],
+    \["{direct superclass}", "26_glo_d.htm\\#direct_superclass"],
+    \["{disestablish}", "26_glo_d.htm\\#disestablish"],
+    \["{disjoint}", "26_glo_d.htm\\#disjoint"],
+    \["{dispatching macro character}", "26_glo_d.htm\\#dispatching_macro_character"],
+    \["{displaced array}", "26_glo_d.htm\\#displaced_array"],
+    \["{distinct}", "26_glo_d.htm\\#distinct"],
+    \["{documentation string}", "26_glo_d.htm\\#documentation_string"],
+    \["{dot}", "26_glo_d.htm\\#dot"],
+    \["{dotted list}", "26_glo_d.htm\\#dotted_list"],
+    \["{dotted pair}", "26_glo_d.htm\\#dotted_pair"],
+    \["{double float}", "26_glo_d.htm\\#double_float"],
+    \["{double-quote}", "26_glo_d.htm\\#double-quote"],
+    \["{dynamic binding}", "26_glo_d.htm\\#dynamic_binding"],
+    \["{dynamic environment}", "26_glo_d.htm\\#dynamic_environment"],
+    \["{dynamic extent}", "26_glo_d.htm\\#dynamic_extent"],
+    \["{dynamic scope}", "26_glo_d.htm\\#dynamic_scope"],
+    \["{dynamic variable}", "26_glo_d.htm\\#dynamic_variable"],
+    \["{echo stream}", "26_glo_e.htm\\#echo_stream"],
+    \["{effective method}", "26_glo_e.htm\\#effective_method"],
+    \["{element}", "26_glo_e.htm\\#element"],
+    \["{element type}", "26_glo_e.htm\\#element_type"],
+    \["{em}", "26_glo_e.htm\\#em"],
+    \["{empty list}", "26_glo_e.htm\\#empty_list"],
+    \["{empty type}", "26_glo_e.htm\\#empty_type"],
+    \["{end of file}", "26_glo_e.htm\\#end_of_file"],
+    \["{environment}", "26_glo_e.htm\\#environment"],
+    \["{environment object}", "26_glo_e.htm\\#environment_object"],
+    \["{environment parameter}", "26_glo_e.htm\\#environment_parameter"],
+    \["{error}", "26_glo_e.htm\\#error"],
+    \["{error output}", "26_glo_e.htm\\#error_output"],
+    \["{escape}", "26_glo_e.htm\\#escape"],
+    \["{establish}", "26_glo_e.htm\\#establish"],
+    \["{evaluate}", "26_glo_e.htm\\#evaluate"],
+    \["{evaluation}", "26_glo_e.htm\\#evaluation"],
+    \["{evaluation environment}", "26_glo_e.htm\\#evaluation_environment"],
+    \["{execute}", "26_glo_e.htm\\#execute"],
+    \["{execution time}", "26_glo_e.htm\\#execution_time"],
+    \["{exhaustive partition}", "26_glo_e.htm\\#exhaustive_partition"],
+    \["{exhaustive union}", "26_glo_e.htm\\#exhaustive_union"],
+    \["{exit point}", "26_glo_e.htm\\#exit_point"],
+    \["{explicit return}", "26_glo_e.htm\\#explicit_return"],
+    \["{explicit use}", "26_glo_e.htm\\#explicit_use"],
+    \["{exponent marker}", "26_glo_e.htm\\#exponent_marker"],
+    \["{export}", "26_glo_e.htm\\#export"],
+    \["{exported}", "26_glo_e.htm\\#exported"],
+    \["{expressed adjustability}", "26_glo_e.htm\\#expressed_adjustability"],
+    \["{expressed array element type}", "26_glo_e.htm\\#expressed_array_element_type"],
+    \["{expressed complex part type}", "26_glo_e.htm\\#expressed_complex_part_type"],
+    \["{expression}", "26_glo_e.htm\\#expression"],
+    \["{expressly adjustable}", "26_glo_e.htm\\#expressly_adjustable"],
+    \["{extended character}", "26_glo_e.htm\\#extended_character"],
+    \["{extended function designator}", "26_glo_e.htm\\#extended_function_designator"],
+    \["{extended lambda list}", "26_glo_e.htm\\#extended_lambda_list"],
+    \["{extension}", "26_glo_e.htm\\#extension"],
+    \["{extent}", "26_glo_e.htm\\#extent"],
+    \["{external file format}", "26_glo_e.htm\\#external_file_format"],
+    \["{external file format designator}", "26_glo_e.htm\\#external_file_format_designator"],
+    \["{external symbol}", "26_glo_e.htm\\#external_symbol"],
+    \["{externalizable object}", "26_glo_e.htm\\#externalizable_object"],
+    \["{false}", "26_glo_f.htm\\#false"],
+    \["{fbound}", "26_glo_f.htm\\#fbound"],
+    \["{feature}", "26_glo_f.htm\\#feature"],
+    \["{feature expression}", "26_glo_f.htm\\#feature_expression"],
+    \["{features list}", "26_glo_f.htm\\#features_list"],
+    \["{file}", "26_glo_f.htm\\#file"],
+    \["{file compiler}", "26_glo_f.htm\\#file_compiler"],
+    \["{file position}", "26_glo_f.htm\\#file_position"],
+    \["{file position designator}", "26_glo_f.htm\\#file_position_designator"],
+    \["{file stream}", "26_glo_f.htm\\#file_stream"],
+    \["{file system}", "26_glo_f.htm\\#file_system"],
+    \["{filename}", "26_glo_f.htm\\#filename"],
+    \["{fill pointer}", "26_glo_f.htm\\#fill_pointer"],
+    \["{finite}", "26_glo_f.htm\\#finite"],
+    \["{fixnum}", "26_glo_f.htm\\#fixnum"],
+    \["{float}", "26_glo_f.htm\\#float"],
+    \["{for-value}", "26_glo_f.htm\\#for-value"],
+    \["{form}", "26_glo_f.htm\\#form"],
+    \["{formal argument}", "26_glo_f.htm\\#formal_argument"],
+    \["{formal parameter}", "26_glo_f.htm\\#formal_parameter"],
+    \["{format}", "26_glo_f.htm\\#format"],
+    \["{format argument}", "26_glo_f.htm\\#format_argument"],
+    \["{format control}", "26_glo_f.htm\\#format_control"],
+    \["{format directive}", "26_glo_f.htm\\#format_directive"],
+    \["{format string}", "26_glo_f.htm\\#format_string"],
+    \["{free declaration}", "26_glo_f.htm\\#free_declaration"],
+    \["{fresh}", "26_glo_f.htm\\#fresh"],
+    \["{freshline}", "26_glo_f.htm\\#freshline"],
+    \["{funbound}", "26_glo_f.htm\\#funbound"],
+    \["{function}", "26_glo_f.htm\\#function"],
+    \["{function block name}", "26_glo_f.htm\\#function_block_name"],
+    \["{function cell}", "26_glo_f.htm\\#function_cell"],
+    \["{function designator}", "26_glo_f.htm\\#function_designator"],
+    \["{function form}", "26_glo_f.htm\\#function_form"],
+    \["{function name}", "26_glo_f.htm\\#function_name"],
+    \["{functional evaluation}", "26_glo_f.htm\\#functional_evaluation"],
+    \["{functional value}", "26_glo_f.htm\\#functional_value"],
+    \["{further compilation}", "26_glo_f.htm\\#further_compilation"],
+    \["{general}", "26_glo_g.htm\\#general"],
+    \["{generalized boolean}", "26_glo_g.htm\\#generalized_boolean"],
+    \["{generalized instance}", "26_glo_g.htm\\#generalized_instance"],
+    \["{generalized reference}", "26_glo_g.htm\\#generalized_reference"],
+    \["{generalized synonym stream}", "26_glo_g.htm\\#generalized_synonym_stream"],
+    \["{generic function}", "26_glo_g.htm\\#generic_function"],
+    \["{generic function lambda list}", "26_glo_g.htm\\#generic_function_lambda_list"],
+    \["{gensym}", "26_glo_g.htm\\#gensym"],
+    \["{global declaration}", "26_glo_g.htm\\#global_declaration"],
+    \["{global environment}", "26_glo_g.htm\\#global_environment"],
+    \["{global variable}", "26_glo_g.htm\\#global_variable"],
+    \["{glyph}", "26_glo_g.htm\\#glyph"],
+    \["{go}", "26_glo_g.htm\\#go"],
+    \["{go point}", "26_glo_g.htm\\#go_point"],
+    \["{go tag}", "26_glo_g.htm\\#go_tag"],
+    \["{graphic}", "26_glo_g.htm\\#graphic"],
+    \["{handle}", "26_glo_h.htm\\#handle"],
+    \["{handler}", "26_glo_h.htm\\#handler"],
+    \["{hash table}", "26_glo_h.htm\\#hash_table"],
+    \["{home package}", "26_glo_h.htm\\#home_package"],
+    \["{I/O customization variable}", "26_glo_i.htm\\#iSLo_customization_variable"],
+    \["{identical}", "26_glo_i.htm\\#identical"],
+    \["{identifier}", "26_glo_i.htm\\#identifier"],
+    \["{immutable}", "26_glo_i.htm\\#immutable"],
+    \["{implementation}", "26_glo_i.htm\\#implementation"],
+    \["{implementation limit}", "26_glo_i.htm\\#implementation_limit"],
+    \["{implementation-defined}", "26_glo_i.htm\\#implementation-defined"],
+    \["{implementation-dependent}", "26_glo_i.htm\\#implementation-dependent"],
+    \["{implementation-independent}", "26_glo_i.htm\\#implementation-independent"],
+    \["{implicit block}", "26_glo_i.htm\\#implicit_block"],
+    \["{implicit compilation}", "26_glo_i.htm\\#implicit_compilation"],
+    \["{implicit progn}", "26_glo_i.htm\\#implicit_progn"],
+    \["{implicit tagbody}", "26_glo_i.htm\\#implicit_tagbody"],
+    \["{import}", "26_glo_i.htm\\#import"],
+    \["{improper list}", "26_glo_i.htm\\#improper_list"],
+    \["{inaccessible}", "26_glo_i.htm\\#inaccessible"],
+    \["{indefinite extent}", "26_glo_i.htm\\#indefinite_extent"],
+    \["{indefinite scope}", "26_glo_i.htm\\#indefinite_scope"],
+    \["{indicator}", "26_glo_i.htm\\#indicator"],
+    \["{indirect instance}", "26_glo_i.htm\\#indirect_instance"],
+    \["{inherit}", "26_glo_i.htm\\#inherit"],
+    \["{initial pprint dispatch table}", "26_glo_i.htm\\#initial_pprint_dispatch_table"],
+    \["{initial readtable}", "26_glo_i.htm\\#initial_readtable"],
+    \["{initialization argument list}", "26_glo_i.htm\\#initialization_argument_list"],
+    \["{initialization form}", "26_glo_i.htm\\#initialization_form"],
+    \["{input}", "26_glo_i.htm\\#input"],
+    \["{instance}", "26_glo_i.htm\\#instance"],
+    \["{integer}", "26_glo_i.htm\\#integer"],
+    \["{interactive stream}", "26_glo_i.htm\\#interactive_stream"],
+    \["{intern}", "26_glo_i.htm\\#intern"],
+    \["{internal symbol}", "26_glo_i.htm\\#internal_symbol"],
+    \["{internal time}", "26_glo_i.htm\\#internal_time"],
+    \["{internal time unit}", "26_glo_i.htm\\#internal_time_unit"],
+    \["{interned}", "26_glo_i.htm\\#interned"],
+    \["{interpreted function}", "26_glo_i.htm\\#interpreted_function"],
+    \["{interpreted implementation}", "26_glo_i.htm\\#interpreted_implementation"],
+    \["{interval designator}", "26_glo_i.htm\\#interval_designator"],
+    \["{invalid}", "26_glo_i.htm\\#invalid"],
+    \["{iteration form}", "26_glo_i.htm\\#iteration_form"],
+    \["{iteration variable}", "26_glo_i.htm\\#iteration_variable"],
+    \["{key}", "26_glo_k.htm\\#key"],
+    \["{keyword}", "26_glo_k.htm\\#keyword"],
+    \["{keyword parameter}", "26_glo_k.htm\\#keyword_parameter"],
+    \["{keyword/value pair}", "26_glo_k.htm\\#keywordSLvalue_pair"],
+    \["{lambda combination}", "26_glo_l.htm\\#lambda_combination"],
+    \["{lambda expression}", "26_glo_l.htm\\#lambda_expression"],
+    \["{lambda form}", "26_glo_l.htm\\#lambda_form"],
+    \["{lambda list}", "26_glo_l.htm\\#lambda_list"],
+    \["{lambda list keyword}", "26_glo_l.htm\\#lambda_list_keyword"],
+    \["{lambda variable}", "26_glo_l.htm\\#lambda_variable"],
+    \["{leaf}", "26_glo_l.htm\\#leaf"],
+    \["{leap seconds}", "26_glo_l.htm\\#leap_seconds"],
+    \["{left-parenthesis}", "26_glo_l.htm\\#left-parenthesis"],
+    \["{length}", "26_glo_l.htm\\#length"],
+    \["{lexical binding}", "26_glo_l.htm\\#lexical_binding"],
+    \["{lexical closure}", "26_glo_l.htm\\#lexical_closure"],
+    \["{lexical environment}", "26_glo_l.htm\\#lexical_environment"],
+    \["{lexical scope}", "26_glo_l.htm\\#lexical_scope"],
+    \["{lexical variable}", "26_glo_l.htm\\#lexical_variable"],
+    \["{lisp image}", "26_glo_l.htm\\#lisp_image"],
+    \["{lisp printer}", "26_glo_l.htm\\#lisp_printer"],
+    \["{lisp read-eval-print loop}", "26_glo_l.htm\\#lisp_read-eval-print_loop"],
+    \["{lisp reader}", "26_glo_l.htm\\#lisp_reader"],
+    \["{list}", "26_glo_l.htm\\#list"],
+    \["{list designator}", "26_glo_l.htm\\#list_designator"],
+    \["{list structure}", "26_glo_l.htm\\#list_structure"],
+    \["{literal}", "26_glo_l.htm\\#literal"],
+    \["{load}", "26_glo_l.htm\\#load"],
+    \["{load time}", "26_glo_l.htm\\#load_time"],
+    \["{load time value}", "26_glo_l.htm\\#load_time_value"],
+    \["{loader}", "26_glo_l.htm\\#loader"],
+    \["{local declaration}", "26_glo_l.htm\\#local_declaration"],
+    \["{local precedence order}", "26_glo_l.htm\\#local_precedence_order"],
+    \["{local slot}", "26_glo_l.htm\\#local_slot"],
+    \["{logical block}", "26_glo_l.htm\\#logical_block"],
+    \["{logical host}", "26_glo_l.htm\\#logical_host"],
+    \["{logical host designator}", "26_glo_l.htm\\#logical_host_designator"],
+    \["{logical pathname}", "26_glo_l.htm\\#logical_pathname"],
+    \["{long float}", "26_glo_l.htm\\#long_float"],
+    \["{loop keyword}", "26_glo_l.htm\\#loop_keyword"],
+    \["{lowercase}", "26_glo_l.htm\\#lowercase"],
+    \["{macro}", "26_glo_m.htm\\#macro"],
+    \["{macro character}", "26_glo_m.htm\\#macro_character"],
+    \["{macro expansion}", "26_glo_m.htm\\#macro_expansion"],
+    \["{macro form}", "26_glo_m.htm\\#macro_form"],
+    \["{macro function}", "26_glo_m.htm\\#macro_function"],
+    \["{macro lambda list}", "26_glo_m.htm\\#macro_lambda_list"],
+    \["{macro name}", "26_glo_m.htm\\#macro_name"],
+    \["{macroexpand hook}", "26_glo_m.htm\\#macroexpand_hook"],
+    \["{mapping}", "26_glo_m.htm\\#mapping"],
+    \["{metaclass}", "26_glo_m.htm\\#metaclass"],
+    \["{metaobject protocol}", "26_glo_m.htm\\#metaobject_protocol"],
+    \["{method}", "26_glo_m.htm\\#method"],
+    \["{method combination}", "26_glo_m.htm\\#method_combination"],
+    \["{method-defining form}", "26_glo_m.htm\\#method-defining_form"],
+    \["{method-defining operator}", "26_glo_m.htm\\#method-defining_operator"],
+    \["{minimal compilation}", "26_glo_m.htm\\#minimal_compilation"],
+    \["{modified lambda list}", "26_glo_m.htm\\#modified_lambda_list"],
+    \["{most recent}", "26_glo_m.htm\\#most_recent"],
+    \["{multiple escape}", "26_glo_m.htm\\#multiple_escape"],
+    \["{multiple values}", "26_glo_m.htm\\#multiple_values"],
+    \["{name}", "26_glo_n.htm\\#name"],
+    \["{named constant}", "26_glo_n.htm\\#named_constant"],
+    \["{namespace}", "26_glo_n.htm\\#namespace"],
+    \["{namestring}", "26_glo_n.htm\\#namestring"],
+    \["{newline}", "26_glo_n.htm\\#newline"],
+    \["{next method}", "26_glo_n.htm\\#next_method"],
+    \["{nickname}", "26_glo_n.htm\\#nickname"],
+    \["{nil}", "26_glo_n.htm\\#nil"],
+    \["{non-atomic}", "26_glo_n.htm\\#non-atomic"],
+    \["{non-constant variable}", "26_glo_n.htm\\#non-constant_variable"],
+    \["{non-correctable}", "26_glo_n.htm\\#non-correctable"],
+    \["{non-empty}", "26_glo_n.htm\\#non-empty"],
+    \["{non-generic function}", "26_glo_n.htm\\#non-generic_function"],
+    \["{non-graphic}", "26_glo_n.htm\\#non-graphic"],
+    \["{non-list}", "26_glo_n.htm\\#non-list"],
+    \["{non-local exit}", "26_glo_n.htm\\#non-local_exit"],
+    \["{non-nil}", "26_glo_n.htm\\#non-nil"],
+    \["{non-null lexical environment}", "26_glo_n.htm\\#non-null_lexical_environment"],
+    \["{non-simple}", "26_glo_n.htm\\#non-simple"],
+    \["{non-terminating}", "26_glo_n.htm\\#non-terminating"],
+    \["{non-top-level form}", "26_glo_n.htm\\#non-top-level_form"],
+    \["{normal return}", "26_glo_n.htm\\#normal_return"],
+    \["{normalized}", "26_glo_n.htm\\#normalized"],
+    \["{null}", "26_glo_n.htm\\#null"],
+    \["{null lexical environment}", "26_glo_n.htm\\#null_lexical_environment"],
+    \["{number}", "26_glo_n.htm\\#number"],
+    \["{numeric}", "26_glo_n.htm\\#numeric"],
+    \["{object}", "26_glo_o.htm\\#object"],
+    \["{object-traversing}", "26_glo_o.htm\\#object-traversing"],
+    \["{open}", "26_glo_o.htm\\#open"],
+    \["{operator}", "26_glo_o.htm\\#operator"],
+    \["{optimize quality}", "26_glo_o.htm\\#optimize_quality"],
+    \["{optional parameter}", "26_glo_o.htm\\#optional_parameter"],
+    \["{ordinary function}", "26_glo_o.htm\\#ordinary_function"],
+    \["{ordinary lambda list}", "26_glo_o.htm\\#ordinary_lambda_list"],
+    \["{otherwise inaccessible part}", "26_glo_o.htm\\#otherwise_inaccessible_part"],
+    \["{output}", "26_glo_o.htm\\#output"],
+    \["{package}", "26_glo_p.htm\\#package"],
+    \["{package cell}", "26_glo_p.htm\\#package_cell"],
+    \["{package designator}", "26_glo_p.htm\\#package_designator"],
+    \["{package marker}", "26_glo_p.htm\\#package_marker"],
+    \["{package prefix}", "26_glo_p.htm\\#package_prefix"],
+    \["{package registry}", "26_glo_p.htm\\#package_registry"],
+    \["{pairwise}", "26_glo_p.htm\\#pairwise"],
+    \["{parallel}", "26_glo_p.htm\\#parallel"],
+    \["{parameter}", "26_glo_p.htm\\#parameter"],
+    \["{parameter specializer}", "26_glo_p.htm\\#parameter_specializer"],
+    \["{parameter specializer name}", "26_glo_p.htm\\#parameter_specializer_name"],
+    \["{pathname}", "26_glo_p.htm\\#pathname"],
+    \["{pathname designator}", "26_glo_p.htm\\#pathname_designator"],
+    \["{physical pathname}", "26_glo_p.htm\\#physical_pathname"],
+    \["{place}", "26_glo_p.htm\\#place"],
+    \["{plist}", "26_glo_p.htm\\#plist"],
+    \["{portable}", "26_glo_p.htm\\#portable"],
+    \["{potential copy}", "26_glo_p.htm\\#potential_copy"],
+    \["{potential number}", "26_glo_p.htm\\#potential_number"],
+    \["{pprint dispatch table}", "26_glo_p.htm\\#pprint_dispatch_table"],
+    \["{predicate}", "26_glo_p.htm\\#predicate"],
+    \["{present}", "26_glo_p.htm\\#present"],
+    \["{pretty print}", "26_glo_p.htm\\#pretty_print"],
+    \["{pretty printer}", "26_glo_p.htm\\#pretty_printer"],
+    \["{pretty printing stream}", "26_glo_p.htm\\#pretty_printing_stream"],
+    \["{primary method}", "26_glo_p.htm\\#primary_method"],
+    \["{primary value}", "26_glo_p.htm\\#primary_value"],
+    \["{principal}", "26_glo_p.htm\\#principal"],
+    \["{print name}", "26_glo_p.htm\\#print_name"],
+    \["{printer control variable}", "26_glo_p.htm\\#printer_control_variable"],
+    \["{printer escaping}", "26_glo_p.htm\\#printer_escaping"],
+    \["{printing}", "26_glo_p.htm\\#printing"],
+    \["{process}", "26_glo_p.htm\\#process"],
+    \["{processor}", "26_glo_p.htm\\#processor"],
+    \["{proclaim}", "26_glo_p.htm\\#proclaim"],
+    \["{proclamation}", "26_glo_p.htm\\#proclamation"],
+    \["{prog tag}", "26_glo_p.htm\\#prog_tag"],
+    \["{program}", "26_glo_p.htm\\#program"],
+    \["{programmer}", "26_glo_p.htm\\#programmer"],
+    \["{programmer code}", "26_glo_p.htm\\#programmer_code"],
+    \["{proper list}", "26_glo_p.htm\\#proper_list"],
+    \["{proper name}", "26_glo_p.htm\\#proper_name"],
+    \["{proper sequence}", "26_glo_p.htm\\#proper_sequence"],
+    \["{proper subtype}", "26_glo_p.htm\\#proper_subtype"],
+    \["{property}", "26_glo_p.htm\\#property"],
+    \["{property indicator}", "26_glo_p.htm\\#property_indicator"],
+    \["{property list}", "26_glo_p.htm\\#property_list"],
+    \["{property value}", "26_glo_p.htm\\#property_value"],
+    \["{purports to conform}", "26_glo_p.htm\\#purports_to_conform"],
+    \["{qualified method}", "26_glo_q.htm\\#qualified_method"],
+    \["{qualifier}", "26_glo_q.htm\\#qualifier"],
+    \["{query I/O}", "26_glo_q.htm\\#query_iSLo"],
+    \["{quoted object}", "26_glo_q.htm\\#quoted_object"],
+    \["{radix}", "26_glo_r.htm\\#radix"],
+    \["{random state}", "26_glo_r.htm\\#random_state"],
+    \["{rank}", "26_glo_r.htm\\#rank"],
+    \["{ratio}", "26_glo_r.htm\\#ratio"],
+    \["{ratio marker}", "26_glo_r.htm\\#ratio_marker"],
+    \["{rational}", "26_glo_r.htm\\#rational"],
+    \["{read}", "26_glo_r.htm\\#read"],
+    \["{readably}", "26_glo_r.htm\\#readably"],
+    \["{reader}", "26_glo_r.htm\\#reader"],
+    \["{reader macro}", "26_glo_r.htm\\#reader_macro"],
+    \["{reader macro function}", "26_glo_r.htm\\#reader_macro_function"],
+    \["{readtable}", "26_glo_r.htm\\#readtable"],
+    \["{readtable case}", "26_glo_r.htm\\#readtable_case"],
+    \["{readtable designator}", "26_glo_r.htm\\#readtable_designator"],
+    \["{recognizable subtype}", "26_glo_r.htm\\#recognizable_subtype"],
+    \["{reference}", "26_glo_r.htm\\#reference"],
+    \["{registered package}", "26_glo_r.htm\\#registered_package"],
+    \["{relative}", "26_glo_r.htm\\#relative"],
+    \["{repertoire}", "26_glo_r.htm\\#repertoire"],
+    \["{report}", "26_glo_r.htm\\#report"],
+    \["{report message}", "26_glo_r.htm\\#report_message"],
+    \["{required parameter}", "26_glo_r.htm\\#required_parameter"],
+    \["{rest list}", "26_glo_r.htm\\#rest_list"],
+    \["{rest parameter}", "26_glo_r.htm\\#rest_parameter"],
+    \["{restart}", "26_glo_r.htm\\#restart"],
+    \["{restart designator}", "26_glo_r.htm\\#restart_designator"],
+    \["{restart function}", "26_glo_r.htm\\#restart_function"],
+    \["{return}", "26_glo_r.htm\\#return"],
+    \["{return value}", "26_glo_r.htm\\#return_value"],
+    \["{right-parenthesis}", "26_glo_r.htm\\#right-parenthesis"],
+    \["{run time}", "26_glo_r.htm\\#run_time"],
+    \["{run-time compiler}", "26_glo_r.htm\\#run-time_compiler"],
+    \["{run-time definition}", "26_glo_r.htm\\#run-time_definition"],
+    \["{run-time environment}", "26_glo_r.htm\\#run-time_environment"],
+    \["{safe}", "26_glo_s.htm\\#safe"],
+    \["{safe call}", "26_glo_s.htm\\#safe_call"],
+    \["{same}", "26_glo_s.htm\\#same"],
+    \["{satisfy the test}", "26_glo_s.htm\\#satisfy_the_test"],
+    \["{scope}", "26_glo_s.htm\\#scope"],
+    \["{script}", "26_glo_s.htm\\#script"],
+    \["{secondary value}", "26_glo_s.htm\\#secondary_value"],
+    \["{section}", "26_glo_s.htm\\#section"],
+    \["{self-evaluating object}", "26_glo_s.htm\\#self-evaluating_object"],
+    \["{semi-standard}", "26_glo_s.htm\\#semi-standard"],
+    \["{semicolon}", "26_glo_s.htm\\#semicolon"],
+    \["{sequence}", "26_glo_s.htm\\#sequence"],
+    \["{sequence function}", "26_glo_s.htm\\#sequence_function"],
+    \["{sequential}", "26_glo_s.htm\\#sequential"],
+    \["{sequentially}", "26_glo_s.htm\\#sequentially"],
+    \["{serious condition}", "26_glo_s.htm\\#serious_condition"],
+    \["{session}", "26_glo_s.htm\\#session"],
+    \["{set}", "26_glo_s.htm\\#set"],
+    \["{setf expander}", "26_glo_s.htm\\#setf_expander"],
+    \["{setf expansion}", "26_glo_s.htm\\#setf_expansion"],
+    \["{setf function}", "26_glo_s.htm\\#setf_function"],
+    \["{setf function name}", "26_glo_s.htm\\#setf_function_name"],
+    \["{shadow}", "26_glo_s.htm\\#shadow"],
+    \["{shadowing symbol}", "26_glo_s.htm\\#shadowing_symbol"],
+    \["{shadowing symbols list}", "26_glo_s.htm\\#shadowing_symbols_list"],
+    \["{shared slot}", "26_glo_s.htm\\#shared_slot"],
+    \["{sharpsign}", "26_glo_s.htm\\#sharpsign"],
+    \["{short float}", "26_glo_s.htm\\#short_float"],
+    \["{sign}", "26_glo_s.htm\\#sign"],
+    \["{signal}", "26_glo_s.htm\\#signal"],
+    \["{signature}", "26_glo_s.htm\\#signature"],
+    \["{similar}", "26_glo_s.htm\\#similar"],
+    \["{similarity}", "26_glo_s.htm\\#similarity"],
+    \["{simple}", "26_glo_s.htm\\#simple"],
+    \["{simple array}", "26_glo_s.htm\\#simple_array"],
+    \["{simple bit array}", "26_glo_s.htm\\#simple_bit_array"],
+    \["{simple bit vector}", "26_glo_s.htm\\#simple_bit_vector"],
+    \["{simple condition}", "26_glo_s.htm\\#simple_condition"],
+    \["{simple general vector}", "26_glo_s.htm\\#simple_general_vector"],
+    \["{simple string}", "26_glo_s.htm\\#simple_string"],
+    \["{simple vector}", "26_glo_s.htm\\#simple_vector"],
+    \["{single escape}", "26_glo_s.htm\\#single_escape"],
+    \["{single float}", "26_glo_s.htm\\#single_float"],
+    \["{single-quote}", "26_glo_s.htm\\#single-quote"],
+    \["{singleton}", "26_glo_s.htm\\#singleton"],
+    \["{situation}", "26_glo_s.htm\\#situation"],
+    \["{slash}", "26_glo_s.htm\\#slash"],
+    \["{slot}", "26_glo_s.htm\\#slot"],
+    \["{slot specifier}", "26_glo_s.htm\\#slot_specifier"],
+    \["{source code}", "26_glo_s.htm\\#source_code"],
+    \["{source file}", "26_glo_s.htm\\#source_file"],
+    \["{space}", "26_glo_s.htm\\#space"],
+    \["{special form}", "26_glo_s.htm\\#special_form"],
+    \["{special operator}", "26_glo_s.htm\\#special_operator"],
+    \["{special variable}", "26_glo_s.htm\\#special_variable"],
+    \["{specialize}", "26_glo_s.htm\\#specialize"],
+    \["{specialized}", "26_glo_s.htm\\#specialized"],
+    \["{specialized lambda list}", "26_glo_s.htm\\#specialized_lambda_list"],
+    \["{spreadable argument list designator}", "26_glo_s.htm\\#spreadable_argument_list_designator"],
+    \["{stack allocate}", "26_glo_s.htm\\#stack_allocate"],
+    \["{stack-allocated}", "26_glo_s.htm\\#stack-allocated"],
+    \["{standard character}", "26_glo_s.htm\\#standard_character"],
+    \["{standard class}", "26_glo_s.htm\\#standard_class"],
+    \["{standard generic function}", "26_glo_s.htm\\#standard_generic_function"],
+    \["{standard input}", "26_glo_s.htm\\#standard_input"],
+    \["{standard method combination}", "26_glo_s.htm\\#standard_method_combination"],
+    \["{standard object}", "26_glo_s.htm\\#standard_object"],
+    \["{standard output}", "26_glo_s.htm\\#standard_output"],
+    \["{standard pprint dispatch table}", "26_glo_s.htm\\#standard_pprint_dispatch_table"],
+    \["{standard readtable}", "26_glo_s.htm\\#standard_readtable"],
+    \["{standard syntax}", "26_glo_s.htm\\#standard_syntax"],
+    \["{standardized}", "26_glo_s.htm\\#standardized"],
+    \["{startup environment}", "26_glo_s.htm\\#startup_environment"],
+    \["{step}", "26_glo_s.htm\\#step"],
+    \["{stream}", "26_glo_s.htm\\#stream"],
+    \["{stream associated with a file}", "26_glo_s.htm\\#stream_associated_with_a_file"],
+    \["{stream designator}", "26_glo_s.htm\\#stream_designator"],
+    \["{stream element type}", "26_glo_s.htm\\#stream_element_type"],
+    \["{stream variable}", "26_glo_s.htm\\#stream_variable"],
+    \["{stream variable designator}", "26_glo_s.htm\\#stream_variable_designator"],
+    \["{string}", "26_glo_s.htm\\#string"],
+    \["{string designator}", "26_glo_s.htm\\#string_designator"],
+    \["{string equal}", "26_glo_s.htm\\#string_equal"],
+    \["{string stream}", "26_glo_s.htm\\#string_stream"],
+    \["{structure}", "26_glo_s.htm\\#structure"],
+    \["{structure class}", "26_glo_s.htm\\#structure_class"],
+    \["{structure name}", "26_glo_s.htm\\#structure_name"],
+    \["{style warning}", "26_glo_s.htm\\#style_warning"],
+    \["{subclass}", "26_glo_s.htm\\#subclass"],
+    \["{subexpression}", "26_glo_s.htm\\#subexpression"],
+    \["{subform}", "26_glo_s.htm\\#subform"],
+    \["{subrepertoire}", "26_glo_s.htm\\#subrepertoire"],
+    \["{subtype}", "26_glo_s.htm\\#subtype"],
+    \["{superclass}", "26_glo_s.htm\\#superclass"],
+    \["{supertype}", "26_glo_s.htm\\#supertype"],
+    \["{supplied-p parameter}", "26_glo_s.htm\\#supplied-p_parameter"],
+    \["{symbol}", "26_glo_s.htm\\#symbol"],
+    \["{symbol macro}", "26_glo_s.htm\\#symbol_macro"],
+    \["{synonym stream}", "26_glo_s.htm\\#synonym_stream"],
+    \["{synonym stream symbol}", "26_glo_s.htm\\#synonym_stream_symbol"],
+    \["{syntax type}", "26_glo_s.htm\\#syntax_type"],
+    \["{system class}", "26_glo_s.htm\\#system_class"],
+    \["{system code}", "26_glo_s.htm\\#system_code"],
+    \["{t}", "26_glo_t.htm\\#t"],
+    \["{tag}", "26_glo_t.htm\\#tag"],
+    \["{tail}", "26_glo_t.htm\\#tail"],
+    \["{target}", "26_glo_t.htm\\#target"],
+    \["{terminal I/O}", "26_glo_t.htm\\#terminal_iSLo"],
+    \["{terminating}", "26_glo_t.htm\\#terminating"],
+    \["{tertiary value}", "26_glo_t.htm\\#tertiary_value"],
+    \["{throw}", "26_glo_t.htm\\#throw"],
+    \["{tilde}", "26_glo_t.htm\\#tilde"],
+    \["{time}", "26_glo_t.htm\\#time"],
+    \["{time zone}", "26_glo_t.htm\\#time_zone"],
+    \["{token}", "26_glo_t.htm\\#token"],
+    \["{top level form}", "26_glo_t.htm\\#top_level_form"],
+    \["{trace output}", "26_glo_t.htm\\#trace_output"],
+    \["{tree}", "26_glo_t.htm\\#tree"],
+    \["{tree structure}", "26_glo_t.htm\\#tree_structure"],
+    \["{true}", "26_glo_t.htm\\#true"],
+    \["{truename}", "26_glo_t.htm\\#truename"],
+    \["{two-way stream}", "26_glo_t.htm\\#two-way_stream"],
+    \["{type}", "26_glo_t.htm\\#type"],
+    \["{type declaration}", "26_glo_t.htm\\#type_declaration"],
+    \["{type equivalent}", "26_glo_t.htm\\#type_equivalent"],
+    \["{type expand}", "26_glo_t.htm\\#type_expand"],
+    \["{type specifier}", "26_glo_t.htm\\#type_specifier"],
+    \["{unbound}", "26_glo_u.htm\\#unbound"],
+    \["{unbound variable}", "26_glo_u.htm\\#unbound_variable"],
+    \["{undefined function}", "26_glo_u.htm\\#undefined_function"],
+    \["{unintern}", "26_glo_u.htm\\#unintern"],
+    \["{uninterned}", "26_glo_u.htm\\#uninterned"],
+    \["{universal time}", "26_glo_u.htm\\#universal_time"],
+    \["{unqualified method}", "26_glo_u.htm\\#unqualified_method"],
+    \["{unregistered package}", "26_glo_u.htm\\#unregistered_package"],
+    \["{unsafe}", "26_glo_u.htm\\#unsafe"],
+    \["{unsafe call}", "26_glo_u.htm\\#unsafe_call"],
+    \["{upgrade}", "26_glo_u.htm\\#upgrade"],
+    \["{upgraded array element type}", "26_glo_u.htm\\#upgraded_array_element_type"],
+    \["{upgraded complex part type}", "26_glo_u.htm\\#upgraded_complex_part_type"],
+    \["{uppercase}", "26_glo_u.htm\\#uppercase"],
+    \["{use}", "26_glo_u.htm\\#use"],
+    \["{use list}", "26_glo_u.htm\\#use_list"],
+    \["{user}", "26_glo_u.htm\\#user"],
+    \["{valid array dimension}", "26_glo_v.htm\\#valid_array_dimension"],
+    \["{valid array index}", "26_glo_v.htm\\#valid_array_index"],
+    \["{valid array row-major index}", "26_glo_v.htm\\#valid_array_row-major_index"],
+    \["{valid fill pointer}", "26_glo_v.htm\\#valid_fill_pointer"],
+    \["{valid logical pathname host}", "26_glo_v.htm\\#valid_logical_pathname_host"],
+    \["{valid pathname device}", "26_glo_v.htm\\#valid_pathname_device"],
+    \["{valid pathname directory}", "26_glo_v.htm\\#valid_pathname_directory"],
+    \["{valid pathname host}", "26_glo_v.htm\\#valid_pathname_host"],
+    \["{valid pathname name}", "26_glo_v.htm\\#valid_pathname_name"],
+    \["{valid pathname type}", "26_glo_v.htm\\#valid_pathname_type"],
+    \["{valid pathname version}", "26_glo_v.htm\\#valid_pathname_version"],
+    \["{valid physical pathname host}", "26_glo_v.htm\\#valid_physical_pathname_host"],
+    \["{valid sequence index}", "26_glo_v.htm\\#valid_sequence_index"],
+    \["{value}", "26_glo_v.htm\\#value"],
+    \["{value cell}", "26_glo_v.htm\\#value_cell"],
+    \["{variable}", "26_glo_v.htm\\#variable"],
+    \["{vector}", "26_glo_v.htm\\#vector"],
+    \["{vertical-bar}", "26_glo_v.htm\\#vertical-bar"],
+    \["{whitespace}", "26_glo_w.htm\\#whitespace"],
+    \["{wild}", "26_glo_w.htm\\#wild"],
+    \["{write}", "26_glo_w.htm\\#write"],
+    \["{writer}", "26_glo_w.htm\\#writer"],
+    \["{yield}", "26_glo_y.htm\\#yield"]]
+endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/bundle/slimv/ftplugin/slimv-cljapi.vim	Fri Nov 12 18:30:35 2010 -0500
@@ -0,0 +1,554 @@
+" slimv-cljapi.vim:
+"               Clojure API lookup support for Slimv
+" Version:      0.7.0
+" Last Change:  23 Sep 2010
+" Maintainer:   Tamas Kovacs <kovisoft at gmail dot com>
+" License:      This file is placed in the public domain.
+"               No warranty, express or implied.
+"               *** ***   Use At-Your-Own-Risk!   *** ***
+"
+" =====================================================================
+"
+"  Load Once:
+if &cp || exists( 'g:slimv_cljapi_loaded' )
+    finish
+endif
+
+let g:slimv_cljapi_loaded = 1
+
+" Root of the Clojure API
+if !exists( 'g:slimv_cljapi_root' )
+    let g:slimv_cljapi_root = 'http://clojure.github.com/clojure/'
+endif
+ 
+if !exists( 'g:slimv_cljapi_db' )
+    let g:slimv_cljapi_db = [
+    \["*", "clojure.core-api.html\\#clojure.core/*"],
+    \["*1", "clojure.core-api.html\\#clojure.core/*1"],
+    \["*2", "clojure.core-api.html\\#clojure.core/*2"],
+    \["*3", "clojure.core-api.html\\#clojure.core/*3"],
+    \["*agent*", "clojure.core-api.html\\#clojure.core/*agent*"],
+    \["*clojure-version*", "clojure.core-api.html\\#clojure.core/*clojure-version*"],
+    \["*command-line-args*", "clojure.core-api.html\\#clojure.core/*command-line-args*"],
+    \["*compile-files*", "clojure.core-api.html\\#clojure.core/*compile-files*"],
+    \["*compile-path*", "clojure.core-api.html\\#clojure.core/*compile-path*"],
+    \["*e", "clojure.core-api.html\\#clojure.core/*e"],
+    \["*err*", "clojure.core-api.html\\#clojure.core/*err*"],
+    \["*file*", "clojure.core-api.html\\#clojure.core/*file*"],
+    \["*flush-on-newline*", "clojure.core-api.html\\#clojure.core/*flush-on-newline*"],
+    \["*in*", "clojure.core-api.html\\#clojure.core/*in*"],
+    \["*ns*", "clojure.core-api.html\\#clojure.core/*ns*"],
+    \["*out*", "clojure.core-api.html\\#clojure.core/*out*"],
+    \["*print-dup*", "clojure.core-api.html\\#clojure.core/*print-dup*"],
+    \["*print-length*", "clojure.core-api.html\\#clojure.core/*print-length*"],
+    \["*print-level*", "clojure.core-api.html\\#clojure.core/*print-level*"],
+    \["*print-meta*", "clojure.core-api.html\\#clojure.core/*print-meta*"],
+    \["*print-readably*", "clojure.core-api.html\\#clojure.core/*print-readably*"],
+    \["*read-eval*", "clojure.core-api.html\\#clojure.core/*read-eval*"],
+    \["*warn-on-reflection*", "clojure.core-api.html\\#clojure.core/*warn-on-reflection*"],
+    \["+", "clojure.core-api.html\\#clojure.core/+"],
+    \["-", "clojure.core-api.html\\#clojure.core/-"],
+    \["->", "clojure.core-api.html\\#clojure.core/->"],
+    \["->>", "clojure.core-api.html\\#clojure.core/->>"],
+    \["..", "clojure.core-api.html\\#clojure.core/.."],
+    \["/", "clojure.core-api.html\\#clojure.core//"],
+    \["<", "clojure.core-api.html\\#clojure.core/<"],
+    \["<=", "clojure.core-api.html\\#clojure.core/<="],
+    \["=", "clojure.core-api.html\\#clojure.core/="],
+    \["==", "clojure.core-api.html\\#clojure.core/=="],
+    \[">", "clojure.core-api.html\\#clojure.core/>"],
+    \[">=", "clojure.core-api.html\\#clojure.core/>="],
+    \["accessor", "clojure.core-api.html\\#clojure.core/accessor"],
+    \["aclone", "clojure.core-api.html\\#clojure.core/aclone"],
+    \["add-classpath", "clojure.core-api.html\\#clojure.core/add-classpath"],
+    \["add-watch", "clojure.core-api.html\\#clojure.core/add-watch"],
+    \["agent", "clojure.core-api.html\\#clojure.core/agent"],
+    \["agent-errors", "clojure.core-api.html\\#clojure.core/agent-errors"],
+    \["aget", "clojure.core-api.html\\#clojure.core/aget"],
+    \["alength", "clojure.core-api.html\\#clojure.core/alength"],
+    \["alias", "clojure.core-api.html\\#clojure.core/alias"],
+    \["all-ns", "clojure.core-api.html\\#clojure.core/all-ns"],
+    \["alter", "clojure.core-api.html\\#clojure.core/alter"],
+    \["alter-meta!", "clojure.core-api.html\\#clojure.core/alter-meta!"],
+    \["alter-var-root", "clojure.core-api.html\\#clojure.core/alter-var-root"],
+    \["amap", "clojure.core-api.html\\#clojure.core/amap"],
+    \["ancestors", "clojure.core-api.html\\#clojure.core/ancestors"],
+    \["and", "clojure.core-api.html\\#clojure.core/and"],
+    \["apply", "clojure.core-api.html\\#clojure.core/apply"],
+    \["areduce", "clojure.core-api.html\\#clojure.core/areduce"],
+    \["array-map", "clojure.core-api.html\\#clojure.core/array-map"],
+    \["aset", "clojure.core-api.html\\#clojure.core/aset"],
+    \["aset-boolean", "clojure.core-api.html\\#clojure.core/aset-boolean"],
+    \["aset-byte", "clojure.core-api.html\\#clojure.core/aset-byte"],
+    \["aset-char", "clojure.core-api.html\\#clojure.core/aset-char"],
+    \["aset-double", "clojure.core-api.html\\#clojure.core/aset-double"],
+    \["aset-float", "clojure.core-api.html\\#clojure.core/aset-float"],
+    \["aset-int", "clojure.core-api.html\\#clojure.core/aset-int"],
+    \["aset-long", "clojure.core-api.html\\#clojure.core/aset-long"],
+    \["aset-short", "clojure.core-api.html\\#clojure.core/aset-short"],
+    \["assert", "clojure.core-api.html\\#clojure.core/assert"],
+    \["assoc", "clojure.core-api.html\\#clojure.core/assoc"],
+    \["assoc!", "clojure.core-api.html\\#clojure.core/assoc!"],
+    \["assoc-in", "clojure.core-api.html\\#clojure.core/assoc-in"],
+    \["associative?", "clojure.core-api.html\\#clojure.core/associative?"],
+    \["atom", "clojure.core-api.html\\#clojure.core/atom"],
+    \["await", "clojure.core-api.html\\#clojure.core/await"],
+    \["await-for", "clojure.core-api.html\\#clojure.core/await-for"],
+    \["bases", "clojure.core-api.html\\#clojure.core/bases"],
+    \["bean", "clojure.core-api.html\\#clojure.core/bean"],
+    \["bigdec", "clojure.core-api.html\\#clojure.core/bigdec"],
+    \["bigint", "clojure.core-api.html\\#clojure.core/bigint"],
+    \["binding", "clojure.core-api.html\\#clojure.core/binding"],
+    \["bit-and", "clojure.core-api.html\\#clojure.core/bit-and"],
+    \["bit-and-not", "clojure.core-api.html\\#clojure.core/bit-and-not"],
+    \["bit-clear", "clojure.core-api.html\\#clojure.core/bit-clear"],
+    \["bit-flip", "clojure.core-api.html\\#clojure.core/bit-flip"],
+    \["bit-not", "clojure.core-api.html\\#clojure.core/bit-not"],
+    \["bit-or", "clojure.core-api.html\\#clojure.core/bit-or"],
+    \["bit-set", "clojure.core-api.html\\#clojure.core/bit-set"],
+    \["bit-shift-left", "clojure.core-api.html\\#clojure.core/bit-shift-left"],
+    \["bit-shift-right", "clojure.core-api.html\\#clojure.core/bit-shift-right"],
+    \["bit-test", "clojure.core-api.html\\#clojure.core/bit-test"],
+    \["bit-xor", "clojure.core-api.html\\#clojure.core/bit-xor"],
+    \["boolean", "clojure.core-api.html\\#clojure.core/boolean"],
+    \["boolean-array", "clojure.core-api.html\\#clojure.core/boolean-array"],
+    \["booleans", "clojure.core-api.html\\#clojure.core/booleans"],
+    \["bound-fn", "clojure.core-api.html\\#clojure.core/bound-fn"],
+    \["bound-fn*", "clojure.core-api.html\\#clojure.core/bound-fn*"],
+    \["butlast", "clojure.core-api.html\\#clojure.core/butlast"],
+    \["byte", "clojure.core-api.html\\#clojure.core/byte"],
+    \["byte-array", "clojure.core-api.html\\#clojure.core/byte-array"],
+    \["bytes", "clojure.core-api.html\\#clojure.core/bytes"],
+    \["cast", "clojure.core-api.html\\#clojure.core/cast"],
+    \["char", "clojure.core-api.html\\#clojure.core/char"],
+    \["char-array", "clojure.core-api.html\\#clojure.core/char-array"],
+    \["char-escape-string", "clojure.core-api.html\\#clojure.core/char-escape-string"],
+    \["char-name-string", "clojure.core-api.html\\#clojure.core/char-name-string"],
+    \["char?", "clojure.core-api.html\\#clojure.core/char?"],
+    \["chars", "clojure.core-api.html\\#clojure.core/chars"],
+    \["class", "clojure.core-api.html\\#clojure.core/class"],
+    \["class?", "clojure.core-api.html\\#clojure.core/class?"],
+    \["clear-agent-errors", "clojure.core-api.html\\#clojure.core/clear-agent-errors"],
+    \["clojure-version", "clojure.core-api.html\\#clojure.core/clojure-version"],
+    \["coll?", "clojure.core-api.html\\#clojure.core/coll?"],
+    \["comment", "clojure.core-api.html\\#clojure.core/comment"],
+    \["commute", "clojure.core-api.html\\#clojure.core/commute"],
+    \["comp", "clojure.core-api.html\\#clojure.core/comp"],
+    \["comparator", "clojure.core-api.html\\#clojure.core/comparator"],
+    \["compare", "clojure.core-api.html\\#clojure.core/compare"],
+    \["compare-and-set!", "clojure.core-api.html\\#clojure.core/compare-and-set!"],
+    \["compile", "clojure.core-api.html\\#clojure.core/compile"],
+    \["complement", "clojure.core-api.html\\#clojure.core/complement"],
+    \["concat", "clojure.core-api.html\\#clojure.core/concat"],
+    \["cond", "clojure.core-api.html\\#clojure.core/cond"],
+    \["condp", "clojure.core-api.html\\#clojure.core/condp"],
+    \["conj", "clojure.core-api.html\\#clojure.core/conj"],
+    \["conj!", "clojure.core-api.html\\#clojure.core/conj!"],
+    \["cons", "clojure.core-api.html\\#clojure.core/cons"],
+    \["constantly", "clojure.core-api.html\\#clojure.core/constantly"],
+    \["construct-proxy", "clojure.core-api.html\\#clojure.core/construct-proxy"],
+    \["contains?", "clojure.core-api.html\\#clojure.core/contains?"],
+    \["count", "clojure.core-api.html\\#clojure.core/count"],
+    \["counted?", "clojure.core-api.html\\#clojure.core/counted?"],
+    \["create-ns", "clojure.core-api.html\\#clojure.core/create-ns"],
+    \["create-struct", "clojure.core-api.html\\#clojure.core/create-struct"],
+    \["cycle", "clojure.core-api.html\\#clojure.core/cycle"],
+    \["dec", "clojure.core-api.html\\#clojure.core/dec"],
+    \["decimal?", "clojure.core-api.html\\#clojure.core/decimal?"],
+    \["declare", "clojure.core-api.html\\#clojure.core/declare"],
+    \["definline", "clojure.core-api.html\\#clojure.core/definline"],
+    \["defmacro", "clojure.core-api.html\\#clojure.core/defmacro"],
+    \["defmethod", "clojure.core-api.html\\#clojure.core/defmethod"],
+    \["defmulti", "clojure.core-api.html\\#clojure.core/defmulti"],
+    \["defn", "clojure.core-api.html\\#clojure.core/defn"],
+    \["defn-", "clojure.core-api.html\\#clojure.core/defn-"],
+    \["defonce", "clojure.core-api.html\\#clojure.core/defonce"],
+    \["defstruct", "clojure.core-api.html\\#clojure.core/defstruct"],
+    \["delay", "clojure.core-api.html\\#clojure.core/delay"],
+    \["delay?", "clojure.core-api.html\\#clojure.core/delay?"],
+    \["deliver", "clojure.core-api.html\\#clojure.core/deliver"],
+    \["deref", "clojure.core-api.html\\#clojure.core/deref"],
+    \["derive", "clojure.core-api.html\\#clojure.core/derive"],
+    \["descendants", "clojure.core-api.html\\#clojure.core/descendants"],
+    \["disj", "clojure.core-api.html\\#clojure.core/disj"],
+    \["disj!", "clojure.core-api.html\\#clojure.core/disj!"],
+    \["dissoc", "clojure.core-api.html\\#clojure.core/dissoc"],
+    \["dissoc!", "clojure.core-api.html\\#clojure.core/dissoc!"],
+    \["distinct", "clojure.core-api.html\\#clojure.core/distinct"],
+    \["distinct?", "clojure.core-api.html\\#clojure.core/distinct?"],
+    \["doall", "clojure.core-api.html\\#clojure.core/doall"],
+    \["doc", "clojure.core-api.html\\#clojure.core/doc"],
+    \["dorun", "clojure.core-api.html\\#clojure.core/dorun"],
+    \["doseq", "clojure.core-api.html\\#clojure.core/doseq"],
+    \["dosync", "clojure.core-api.html\\#clojure.core/dosync"],
+    \["dotimes", "clojure.core-api.html\\#clojure.core/dotimes"],
+    \["doto", "clojure.core-api.html\\#clojure.core/doto"],
+    \["double", "clojure.core-api.html\\#clojure.core/double"],
+    \["double-array", "clojure.core-api.html\\#clojure.core/double-array"],
+    \["doubles", "clojure.core-api.html\\#clojure.core/doubles"],
+    \["drop", "clojure.core-api.html\\#clojure.core/drop"],
+    \["drop-last", "clojure.core-api.html\\#clojure.core/drop-last"],
+    \["drop-while", "clojure.core-api.html\\#clojure.core/drop-while"],
+    \["empty", "clojure.core-api.html\\#clojure.core/empty"],
+    \["empty?", "clojure.core-api.html\\#clojure.core/empty?"],
+    \["ensure", "clojure.core-api.html\\#clojure.core/ensure"],
+    \["enumeration-seq", "clojure.core-api.html\\#clojure.core/enumeration-seq"],
+    \["eval", "clojure.core-api.html\\#clojure.core/eval"],
+    \["even?", "clojure.core-api.html\\#clojure.core/even?"],
+    \["every?", "clojure.core-api.html\\#clojure.core/every?"],
+    \["false?", "clojure.core-api.html\\#clojure.core/false?"],
+    \["ffirst", "clojure.core-api.html\\#clojure.core/ffirst"],
+    \["file-seq", "clojure.core-api.html\\#clojure.core/file-seq"],
+    \["filter", "clojure.core-api.html\\#clojure.core/filter"],
+    \["find", "clojure.core-api.html\\#clojure.core/find"],
+    \["find-doc", "clojure.core-api.html\\#clojure.core/find-doc"],
+    \["find-ns", "clojure.core-api.html\\#clojure.core/find-ns"],
+    \["find-var", "clojure.core-api.html\\#clojure.core/find-var"],
+    \["first", "clojure.core-api.html\\#clojure.core/first"],
+    \["float", "clojure.core-api.html\\#clojure.core/float"],
+    \["float-array", "clojure.core-api.html\\#clojure.core/float-array"],
+    \["float?", "clojure.core-api.html\\#clojure.core/float?"],
+    \["floats", "clojure.core-api.html\\#clojure.core/floats"],
+    \["flush", "clojure.core-api.html\\#clojure.core/flush"],
+    \["fn", "clojure.core-api.html\\#clojure.core/fn"],
+    \["fn?", "clojure.core-api.html\\#clojure.core/fn?"],
+    \["fnext", "clojure.core-api.html\\#clojure.core/fnext"],
+    \["for", "clojure.core-api.html\\#clojure.core/for"],
+    \["force", "clojure.core-api.html\\#clojure.core/force"],
+    \["format", "clojure.core-api.html\\#clojure.core/format"],
+    \["future", "clojure.core-api.html\\#clojure.core/future"],
+    \["future-call", "clojure.core-api.html\\#clojure.core/future-call"],
+    \["future-cancel", "clojure.core-api.html\\#clojure.core/future-cancel"],
+    \["future-cancelled?", "clojure.core-api.html\\#clojure.core/future-cancelled?"],
+    \["future-done?", "clojure.core-api.html\\#clojure.core/future-done?"],
+    \["future?", "clojure.core-api.html\\#clojure.core/future?"],
+    \["gen-class", "clojure.core-api.html\\#clojure.core/gen-class"],
+    \["gen-interface", "clojure.core-api.html\\#clojure.core/gen-interface"],
+    \["gensym", "clojure.core-api.html\\#clojure.core/gensym"],
+    \["get", "clojure.core-api.html\\#clojure.core/get"],
+    \["get-in", "clojure.core-api.html\\#clojure.core/get-in"],
+    \["get-method", "clojure.core-api.html\\#clojure.core/get-method"],
+    \["get-proxy-class", "clojure.core-api.html\\#clojure.core/get-proxy-class"],
+    \["get-thread-bindings", "clojure.core-api.html\\#clojure.core/get-thread-bindings"],
+    \["get-validator", "clojure.core-api.html\\#clojure.core/get-validator"],
+    \["hash", "clojure.core-api.html\\#clojure.core/hash"],
+    \["hash-map", "clojure.core-api.html\\#clojure.core/hash-map"],
+    \["hash-set", "clojure.core-api.html\\#clojure.core/hash-set"],
+    \["identical?", "clojure.core-api.html\\#clojure.core/identical?"],
+    \["identity", "clojure.core-api.html\\#clojure.core/identity"],
+    \["if-let", "clojure.core-api.html\\#clojure.core/if-let"],
+    \["if-not", "clojure.core-api.html\\#clojure.core/if-not"],
+    \["ifn?", "clojure.core-api.html\\#clojure.core/ifn?"],
+    \["import", "clojure.core-api.html\\#clojure.core/import"],
+    \["in-ns", "clojure.core-api.html\\#clojure.core/in-ns"],
+    \["inc", "clojure.core-api.html\\#clojure.core/inc"],
+    \["init-proxy", "clojure.core-api.html\\#clojure.core/init-proxy"],
+    \["instance?", "clojure.core-api.html\\#clojure.core/instance?"],
+    \["int", "clojure.core-api.html\\#clojure.core/int"],
+    \["int-array", "clojure.core-api.html\\#clojure.core/int-array"],
+    \["integer?", "clojure.core-api.html\\#clojure.core/integer?"],
+    \["interleave", "clojure.core-api.html\\#clojure.core/interleave"],
+    \["intern", "clojure.core-api.html\\#clojure.core/intern"],
+    \["interpose", "clojure.core-api.html\\#clojure.core/interpose"],
+    \["into", "clojure.core-api.html\\#clojure.core/into"],
+    \["into-array", "clojure.core-api.html\\#clojure.core/into-array"],
+    \["ints", "clojure.core-api.html\\#clojure.core/ints"],
+    \["io!", "clojure.core-api.html\\#clojure.core/io!"],
+    \["isa?", "clojure.core-api.html\\#clojure.core/isa?"],
+    \["iterate", "clojure.core-api.html\\#clojure.core/iterate"],
+    \["iterator-seq", "clojure.core-api.html\\#clojure.core/iterator-seq"],
+    \["juxt", "clojure.core-api.html\\#clojure.core/juxt"],
+    \["key", "clojure.core-api.html\\#clojure.core/key"],
+    \["keys", "clojure.core-api.html\\#clojure.core/keys"],
+    \["keyword", "clojure.core-api.html\\#clojure.core/keyword"],
+    \["keyword?", "clojure.core-api.html\\#clojure.core/keyword?"],
+    \["last", "clojure.core-api.html\\#clojure.core/last"],
+    \["lazy-cat", "clojure.core-api.html\\#clojure.core/lazy-cat"],
+    \["lazy-seq", "clojure.core-api.html\\#clojure.core/lazy-seq"],
+    \["let", "clojure.core-api.html\\#clojure.core/let"],
+    \["letfn", "clojure.core-api.html\\#clojure.core/letfn"],
+    \["line-seq", "clojure.core-api.html\\#clojure.core/line-seq"],
+    \["list", "clojure.core-api.html\\#clojure.core/list"],
+    \["list*", "clojure.core-api.html\\#clojure.core/list*"],
+    \["list?", "clojure.core-api.html\\#clojure.core/list?"],
+    \["load", "clojure.core-api.html\\#clojure.core/load"],
+    \["load-file", "clojure.core-api.html\\#clojure.core/load-file"],
+    \["load-reader", "clojure.core-api.html\\#clojure.core/load-reader"],
+    \["load-string", "clojure.core-api.html\\#clojure.core/load-string"],
+    \["loaded-libs", "clojure.core-api.html\\#clojure.core/loaded-libs"],
+    \["locking", "clojure.core-api.html\\#clojure.core/locking"],
+    \["long", "clojure.core-api.html\\#clojure.core/long"],
+    \["long-array", "clojure.core-api.html\\#clojure.core/long-array"],
+    \["longs", "clojure.core-api.html\\#clojure.core/longs"],
+    \["loop", "clojure.core-api.html\\#clojure.core/loop"],
+    \["macroexpand", "clojure.core-api.html\\#clojure.core/macroexpand"],
+    \["macroexpand-1", "clojure.core-api.html\\#clojure.core/macroexpand-1"],
+    \["make-array", "clojure.core-api.html\\#clojure.core/make-array"],
+    \["make-hierarchy", "clojure.core-api.html\\#clojure.core/make-hierarchy"],
+    \["map", "clojure.core-api.html\\#clojure.core/map"],
+    \["map?", "clojure.core-api.html\\#clojure.core/map?"],
+    \["mapcat", "clojure.core-api.html\\#clojure.core/mapcat"],
+    \["max", "clojure.core-api.html\\#clojure.core/max"],
+    \["max-key", "clojure.core-api.html\\#clojure.core/max-key"],
+    \["memfn", "clojure.core-api.html\\#clojure.core/memfn"],
+    \["memoize", "clojure.core-api.html\\#clojure.core/memoize"],
+    \["merge", "clojure.core-api.html\\#clojure.core/merge"],
+    \["merge-with", "clojure.core-api.html\\#clojure.core/merge-with"],
+    \["meta", "clojure.core-api.html\\#clojure.core/meta"],
+    \["methods", "clojure.core-api.html\\#clojure.core/methods"],
+    \["min", "clojure.core-api.html\\#clojure.core/min"],
+    \["min-key", "clojure.core-api.html\\#clojure.core/min-key"],
+    \["mod", "clojure.core-api.html\\#clojure.core/mod"],
+    \["name", "clojure.core-api.html\\#clojure.core/name"],
+    \["namespace", "clojure.core-api.html\\#clojure.core/namespace"],
+    \["namespace-munge", "clojure.core-api.html\\#clojure.core/namespace-munge"],
+    \["neg?", "clojure.core-api.html\\#clojure.core/neg?"],
+    \["newline", "clojure.core-api.html\\#clojure.core/newline"],
+    \["next", "clojure.core-api.html\\#clojure.core/next"],
+    \["nfirst", "clojure.core-api.html\\#clojure.core/nfirst"],
+    \["nil?", "clojure.core-api.html\\#clojure.core/nil?"],
+    \["nnext", "clojure.core-api.html\\#clojure.core/nnext"],
+    \["not", "clojure.core-api.html\\#clojure.core/not"],
+    \["not-any?", "clojure.core-api.html\\#clojure.core/not-any?"],
+    \["not-empty", "clojure.core-api.html\\#clojure.core/not-empty"],
+    \["not-every?", "clojure.core-api.html\\#clojure.core/not-every?"],
+    \["not=", "clojure.core-api.html\\#clojure.core/not="],
+    \["ns", "clojure.core-api.html\\#clojure.core/ns"],
+    \["ns-aliases", "clojure.core-api.html\\#clojure.core/ns-aliases"],
+    \["ns-imports", "clojure.core-api.html\\#clojure.core/ns-imports"],
+    \["ns-interns", "clojure.core-api.html\\#clojure.core/ns-interns"],
+    \["ns-map", "clojure.core-api.html\\#clojure.core/ns-map"],
+    \["ns-name", "clojure.core-api.html\\#clojure.core/ns-name"],
+    \["ns-publics", "clojure.core-api.html\\#clojure.core/ns-publics"],
+    \["ns-refers", "clojure.core-api.html\\#clojure.core/ns-refers"],
+    \["ns-resolve", "clojure.core-api.html\\#clojure.core/ns-resolve"],
+    \["ns-unalias", "clojure.core-api.html\\#clojure.core/ns-unalias"],
+    \["ns-unmap", "clojure.core-api.html\\#clojure.core/ns-unmap"],
+    \["nth", "clojure.core-api.html\\#clojure.core/nth"],
+    \["nthnext", "clojure.core-api.html\\#clojure.core/nthnext"],
+    \["num", "clojure.core-api.html\\#clojure.core/num"],
+    \["number?", "clojure.core-api.html\\#clojure.core/number?"],
+    \["odd?", "clojure.core-api.html\\#clojure.core/odd?"],
+    \["or", "clojure.core-api.html\\#clojure.core/or"],
+    \["parents", "clojure.core-api.html\\#clojure.core/parents"],
+    \["partial", "clojure.core-api.html\\#clojure.core/partial"],
+    \["partition", "clojure.core-api.html\\#clojure.core/partition"],
+    \["pcalls", "clojure.core-api.html\\#clojure.core/pcalls"],
+    \["peek", "clojure.core-api.html\\#clojure.core/peek"],
+    \["persistent!", "clojure.core-api.html\\#clojure.core/persistent!"],
+    \["pmap", "clojure.core-api.html\\#clojure.core/pmap"],
+    \["pop", "clojure.core-api.html\\#clojure.core/pop"],
+    \["pop!", "clojure.core-api.html\\#clojure.core/pop!"],
+    \["pop-thread-bindings", "clojure.core-api.html\\#clojure.core/pop-thread-bindings"],
+    \["pos?", "clojure.core-api.html\\#clojure.core/pos?"],
+    \["pr", "clojure.core-api.html\\#clojure.core/pr"],
+    \["pr-str", "clojure.core-api.html\\#clojure.core/pr-str"],
+    \["prefer-method", "clojure.core-api.html\\#clojure.core/prefer-method"],
+    \["prefers", "clojure.core-api.html\\#clojure.core/prefers"],
+    \["print", "clojure.core-api.html\\#clojure.core/print"],
+    \["print-namespace-doc", "clojure.core-api.html\\#clojure.core/print-namespace-doc"],
+    \["print-str", "clojure.core-api.html\\#clojure.core/print-str"],
+    \["printf", "clojure.core-api.html\\#clojure.core/printf"],
+    \["println", "clojure.core-api.html\\#clojure.core/println"],
+    \["println-str", "clojure.core-api.html\\#clojure.core/println-str"],
+    \["prn", "clojure.core-api.html\\#clojure.core/prn"],
+    \["prn-str", "clojure.core-api.html\\#clojure.core/prn-str"],
+    \["promise", "clojure.core-api.html\\#clojure.core/promise"],
+    \["proxy", "clojure.core-api.html\\#clojure.core/proxy"],
+    \["proxy-mappings", "clojure.core-api.html\\#clojure.core/proxy-mappings"],
+    \["proxy-super", "clojure.core-api.html\\#clojure.core/proxy-super"],
+    \["push-thread-bindings", "clojure.core-api.html\\#clojure.core/push-thread-bindings"],
+    \["pvalues", "clojure.core-api.html\\#clojure.core/pvalues"],
+    \["quot", "clojure.core-api.html\\#clojure.core/quot"],
+    \["rand", "clojure.core-api.html\\#clojure.core/rand"],
+    \["rand-int", "clojure.core-api.html\\#clojure.core/rand-int"],
+    \["range", "clojure.core-api.html\\#clojure.core/range"],
+    \["ratio?", "clojure.core-api.html\\#clojure.core/ratio?"],
+    \["rationalize", "clojure.core-api.html\\#clojure.core/rationalize"],
+    \["re-find", "clojure.core-api.html\\#clojure.core/re-find"],
+    \["re-groups", "clojure.core-api.html\\#clojure.core/re-groups"],
+    \["re-matcher", "clojure.core-api.html\\#clojure.core/re-matcher"],
+    \["re-matches", "clojure.core-api.html\\#clojure.core/re-matches"],
+    \["re-pattern", "clojure.core-api.html\\#clojure.core/re-pattern"],
+    \["re-seq", "clojure.core-api.html\\#clojure.core/re-seq"],
+    \["read", "clojure.core-api.html\\#clojure.core/read"],
+    \["read-line", "clojure.core-api.html\\#clojure.core/read-line"],
+    \["read-string", "clojure.core-api.html\\#clojure.core/read-string"],
+    \["reduce", "clojure.core-api.html\\#clojure.core/reduce"],
+    \["ref", "clojure.core-api.html\\#clojure.core/ref"],
+    \["ref-history-count", "clojure.core-api.html\\#clojure.core/ref-history-count"],
+    \["ref-max-history", "clojure.core-api.html\\#clojure.core/ref-max-history"],
+    \["ref-min-history", "clojure.core-api.html\\#clojure.core/ref-min-history"],
+    \["ref-set", "clojure.core-api.html\\#clojure.core/ref-set"],
+    \["refer", "clojure.core-api.html\\#clojure.core/refer"],
+    \["refer-clojure", "clojure.core-api.html\\#clojure.core/refer-clojure"],
+    \["release-pending-sends", "clojure.core-api.html\\#clojure.core/release-pending-sends"],
+    \["rem", "clojure.core-api.html\\#clojure.core/rem"],
+    \["remove", "clojure.core-api.html\\#clojure.core/remove"],
+    \["remove-method", "clojure.core-api.html\\#clojure.core/remove-method"],
+    \["remove-ns", "clojure.core-api.html\\#clojure.core/remove-ns"],
+    \["remove-watch", "clojure.core-api.html\\#clojure.core/remove-watch"],
+    \["repeat", "clojure.core-api.html\\#clojure.core/repeat"],
+    \["repeatedly", "clojure.core-api.html\\#clojure.core/repeatedly"],
+    \["replace", "clojure.core-api.html\\#clojure.core/replace"],
+    \["replicate", "clojure.core-api.html\\#clojure.core/replicate"],
+    \["require", "clojure.core-api.html\\#clojure.core/require"],
+    \["reset!", "clojure.core-api.html\\#clojure.core/reset!"],
+    \["reset-meta!", "clojure.core-api.html\\#clojure.core/reset-meta!"],
+    \["resolve", "clojure.core-api.html\\#clojure.core/resolve"],
+    \["rest", "clojure.core-api.html\\#clojure.core/rest"],
+    \["resultset-seq", "clojure.core-api.html\\#clojure.core/resultset-seq"],
+    \["reverse", "clojure.core-api.html\\#clojure.core/reverse"],
+    \["reversible?", "clojure.core-api.html\\#clojure.core/reversible?"],
+    \["rseq", "clojure.core-api.html\\#clojure.core/rseq"],
+    \["rsubseq", "clojure.core-api.html\\#clojure.core/rsubseq"],
+    \["second", "clojure.core-api.html\\#clojure.core/second"],
+    \["select-keys", "clojure.core-api.html\\#clojure.core/select-keys"],
+    \["send", "clojure.core-api.html\\#clojure.core/send"],
+    \["send-off", "clojure.core-api.html\\#clojure.core/send-off"],
+    \["seq", "clojure.core-api.html\\#clojure.core/seq"],
+    \["seq?", "clojure.core-api.html\\#clojure.core/seq?"],
+    \["seque", "clojure.core-api.html\\#clojure.core/seque"],
+    \["sequence", "clojure.core-api.html\\#clojure.core/sequence"],
+    \["sequential?", "clojure.core-api.html\\#clojure.core/sequential?"],
+    \["set", "clojure.core-api.html\\#clojure.core/set"],
+    \["set-validator!", "clojure.core-api.html\\#clojure.core/set-validator!"],
+    \["set?", "clojure.core-api.html\\#clojure.core/set?"],
+    \["short", "clojure.core-api.html\\#clojure.core/short"],
+    \["short-array", "clojure.core-api.html\\#clojure.core/short-array"],
+    \["shorts", "clojure.core-api.html\\#clojure.core/shorts"],
+    \["shutdown-agents", "clojure.core-api.html\\#clojure.core/shutdown-agents"],
+    \["slurp", "clojure.core-api.html\\#clojure.core/slurp"],
+    \["some", "clojure.core-api.html\\#clojure.core/some"],
+    \["sort", "clojure.core-api.html\\#clojure.core/sort"],
+    \["sort-by", "clojure.core-api.html\\#clojure.core/sort-by"],
+    \["sorted-map", "clojure.core-api.html\\#clojure.core/sorted-map"],
+    \["sorted-map-by", "clojure.core-api.html\\#clojure.core/sorted-map-by"],
+    \["sorted-set", "clojure.core-api.html\\#clojure.core/sorted-set"],
+    \["sorted-set-by", "clojure.core-api.html\\#clojure.core/sorted-set-by"],
+    \["sorted?", "clojure.core-api.html\\#clojure.core/sorted?"],
+    \["special-form-anchor", "clojure.core-api.html\\#clojure.core/special-form-anchor"],
+    \["special-symbol?", "clojure.core-api.html\\#clojure.core/special-symbol?"],
+    \["split-at", "clojure.core-api.html\\#clojure.core/split-at"],
+    \["split-with", "clojure.core-api.html\\#clojure.core/split-with"],
+    \["str", "clojure.core-api.html\\#clojure.core/str"],
+    \["stream?", "clojure.core-api.html\\#clojure.core/stream?"],
+    \["string?", "clojure.core-api.html\\#clojure.core/string?"],
+    \["struct", "clojure.core-api.html\\#clojure.core/struct"],
+    \["struct-map", "clojure.core-api.html\\#clojure.core/struct-map"],
+    \["subs", "clojure.core-api.html\\#clojure.core/subs"],
+    \["subseq", "clojure.core-api.html\\#clojure.core/subseq"],
+    \["subvec", "clojure.core-api.html\\#clojure.core/subvec"],
+    \["supers", "clojure.core-api.html\\#clojure.core/supers"],
+    \["swap!", "clojure.core-api.html\\#clojure.core/swap!"],
+    \["symbol", "clojure.core-api.html\\#clojure.core/symbol"],
+    \["symbol?", "clojure.core-api.html\\#clojure.core/symbol?"],
+    \["sync", "clojure.core-api.html\\#clojure.core/sync"],
+    \["syntax-symbol-anchor", "clojure.core-api.html\\#clojure.core/syntax-symbol-anchor"],
+    \["take", "clojure.core-api.html\\#clojure.core/take"],
+    \["take-last", "clojure.core-api.html\\#clojure.core/take-last"],
+    \["take-nth", "clojure.core-api.html\\#clojure.core/take-nth"],
+    \["take-while", "clojure.core-api.html\\#clojure.core/take-while"],
+    \["test", "clojure.core-api.html\\#clojure.core/test"],
+    \["the-ns", "clojure.core-api.html\\#clojure.core/the-ns"],
+    \["time", "clojure.core-api.html\\#clojure.core/time"],
+    \["to-array", "clojure.core-api.html\\#clojure.core/to-array"],
+    \["to-array-2d", "clojure.core-api.html\\#clojure.core/to-array-2d"],
+    \["trampoline", "clojure.core-api.html\\#clojure.core/trampoline"],
+    \["transient", "clojure.core-api.html\\#clojure.core/transient"],
+    \["tree-seq", "clojure.core-api.html\\#clojure.core/tree-seq"],
+    \["true?", "clojure.core-api.html\\#clojure.core/true?"],
+    \["type", "clojure.core-api.html\\#clojure.core/type"],
+    \["unchecked-add", "clojure.core-api.html\\#clojure.core/unchecked-add"],
+    \["unchecked-dec", "clojure.core-api.html\\#clojure.core/unchecked-dec"],
+    \["unchecked-divide", "clojure.core-api.html\\#clojure.core/unchecked-divide"],
+    \["unchecked-inc", "clojure.core-api.html\\#clojure.core/unchecked-inc"],
+    \["unchecked-multiply", "clojure.core-api.html\\#clojure.core/unchecked-multiply"],
+    \["unchecked-negate", "clojure.core-api.html\\#clojure.core/unchecked-negate"],
+    \["unchecked-remainder", "clojure.core-api.html\\#clojure.core/unchecked-remainder"],
+    \["unchecked-subtract", "clojure.core-api.html\\#clojure.core/unchecked-subtract"],
+    \["underive", "clojure.core-api.html\\#clojure.core/underive"],
+    \["update-in", "clojure.core-api.html\\#clojure.core/update-in"],
+    \["update-proxy", "clojure.core-api.html\\#clojure.core/update-proxy"],
+    \["use", "clojure.core-api.html\\#clojure.core/use"],
+    \["val", "clojure.core-api.html\\#clojure.core/val"],
+    \["vals", "clojure.core-api.html\\#clojure.core/vals"],
+    \["var-get", "clojure.core-api.html\\#clojure.core/var-get"],
+    \["var-set", "clojure.core-api.html\\#clojure.core/var-set"],
+    \["var?", "clojure.core-api.html\\#clojure.core/var?"],
+    \["vary-meta", "clojure.core-api.html\\#clojure.core/vary-meta"],
+    \["vec", "clojure.core-api.html\\#clojure.core/vec"],
+    \["vector", "clojure.core-api.html\\#clojure.core/vector"],
+    \["vector?", "clojure.core-api.html\\#clojure.core/vector?"],
+    \["when", "clojure.core-api.html\\#clojure.core/when"],
+    \["when-first", "clojure.core-api.html\\#clojure.core/when-first"],
+    \["when-let", "clojure.core-api.html\\#clojure.core/when-let"],
+    \["when-not", "clojure.core-api.html\\#clojure.core/when-not"],
+    \["while", "clojure.core-api.html\\#clojure.core/while"],
+    \["with-bindings", "clojure.core-api.html\\#clojure.core/with-bindings"],
+    \["with-bindings*", "clojure.core-api.html\\#clojure.core/with-bindings*"],
+    \["with-in-str", "clojure.core-api.html\\#clojure.core/with-in-str"],
+    \["with-local-vars", "clojure.core-api.html\\#clojure.core/with-local-vars"],
+    \["with-meta", "clojure.core-api.html\\#clojure.core/with-meta"],
+    \["with-open", "clojure.core-api.html\\#clojure.core/with-open"],
+    \["with-out-str", "clojure.core-api.html\\#clojure.core/with-out-str"],
+    \["with-precision", "clojure.core-api.html\\#clojure.core/with-precision"],
+    \["xml-seq", "clojure.core-api.html\\#clojure.core/xml-seq"],
+    \["zero?", "clojure.core-api.html\\#clojure.core/zero?"],
+    \["zipmap", "clojure.core-api.html\\#clojure.core/zipmap"],
+    \["load-script", "clojure.main-api.html\\#clojure.main/load-script"],
+    \["main", "clojure.main-api.html\\#clojure.main/main"],
+    \["repl", "clojure.main-api.html\\#clojure.main/repl"],
+    \["repl-caught", "clojure.main-api.html\\#clojure.main/repl-caught"],
+    \["repl-exception", "clojure.main-api.html\\#clojure.main/repl-exception"],
+    \["repl-prompt", "clojure.main-api.html\\#clojure.main/repl-prompt"],
+    \["repl-read", "clojure.main-api.html\\#clojure.main/repl-read"],
+    \["skip-if-eol", "clojure.main-api.html\\#clojure.main/skip-if-eol"],
+    \["skip-whitespace", "clojure.main-api.html\\#clojure.main/skip-whitespace"],
+    \["with-bindings", "clojure.main-api.html\\#clojure.main/with-bindings"],
+    \["apropos", "clojure.repl-api.html\\#clojure.repl/apropos"],
+    \["dir", "clojure.repl-api.html\\#clojure.repl/dir"],
+    \["dir-fn", "clojure.repl-api.html\\#clojure.repl/dir-fn"],
+    \["source", "clojure.repl-api.html\\#clojure.repl/source"],
+    \["source-fn", "clojure.repl-api.html\\#clojure.repl/source-fn"],
+    \["difference", "clojure.set-api.html\\#clojure.set/difference"],
+    \["index", "clojure.set-api.html\\#clojure.set/index"],
+    \["intersection", "clojure.set-api.html\\#clojure.set/intersection"],
+    \["join", "clojure.set-api.html\\#clojure.set/join"],
+    \["map-invert", "clojure.set-api.html\\#clojure.set/map-invert"],
+    \["project", "clojure.set-api.html\\#clojure.set/project"],
+    \["rename", "clojure.set-api.html\\#clojure.set/rename"],
+    \["rename-keys", "clojure.set-api.html\\#clojure.set/rename-keys"],
+    \["select", "clojure.set-api.html\\#clojure.set/select"],
+    \["union", "clojure.set-api.html\\#clojure.set/union"],
+    \["parse", "clojure.xml-api.html\\#clojure.xml/parse"],
+    \["append-child", "clojure.zip-api.html\\#clojure.zip/append-child"],
+    \["branch?", "clojure.zip-api.html\\#clojure.zip/branch?"],
+    \["children", "clojure.zip-api.html\\#clojure.zip/children"],
+    \["down", "clojure.zip-api.html\\#clojure.zip/down"],
+    \["edit", "clojure.zip-api.html\\#clojure.zip/edit"],
+    \["end?", "clojure.zip-api.html\\#clojure.zip/end?"],
+    \["insert-child", "clojure.zip-api.html\\#clojure.zip/insert-child"],
+    \["insert-left", "clojure.zip-api.html\\#clojure.zip/insert-left"],
+    \["insert-right", "clojure.zip-api.html\\#clojure.zip/insert-right"],
+    \["left", "clojure.zip-api.html\\#clojure.zip/left"],
+    \["leftmost", "clojure.zip-api.html\\#clojure.zip/leftmost"],
+    \["lefts", "clojure.zip-api.html\\#clojure.zip/lefts"],
+    \["make-node", "clojure.zip-api.html\\#clojure.zip/make-node"],
+    \["next", "clojure.zip-api.html\\#clojure.zip/next"],
+    \["node", "clojure.zip-api.html\\#clojure.zip/node"],
+    \["path", "clojure.zip-api.html\\#clojure.zip/path"],
+    \["prev", "clojure.zip-api.html\\#clojure.zip/prev"],
+    \["remove", "clojure.zip-api.html\\#clojure.zip/remove"],
+    \["replace", "clojure.zip-api.html\\#clojure.zip/replace"],
+    \["right", "clojure.zip-api.html\\#clojure.zip/right"],
+    \["rightmost", "clojure.zip-api.html\\#clojure.zip/rightmost"],
+    \["rights", "clojure.zip-api.html\\#clojure.zip/rights"],
+    \["root", "clojure.zip-api.html\\#clojure.zip/root"],
+    \["seq-zip", "clojure.zip-api.html\\#clojure.zip/seq-zip"],
+    \["up", "clojure.zip-api.html\\#clojure.zip/up"],
+    \["vector-zip", "clojure.zip-api.html\\#clojure.zip/vector-zip"],
+    \["xml-zip", "clojure.zip-api.html\\#clojure.zip/xml-zip"],
+    \["zipper", "clojure.zip-api.html\\#clojure.zip/zipper"]]
+endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/bundle/slimv/ftplugin/slimv-javadoc.vim	Fri Nov 12 18:30:35 2010 -0500
@@ -0,0 +1,3820 @@
+" slimv-javadoc.vim:
+"               Clojure JavaDoc lookup support for Slimv
+" Version:      0.5.0
+" Last Change:  14 Apr 2009
+" Maintainer:   Tamas Kovacs <kovisoft at gmail dot com>
+" License:      This file is placed in the public domain.
+"               No warranty, express or implied.
+"               *** ***   Use At-Your-Own-Risk!   *** ***
+"
+" =====================================================================
+"
+"  Load Once:
+if &cp || exists( 'g:slimv_javadoc_loaded' )
+    finish
+endif
+
+let g:slimv_javadoc_loaded = 1
+
+" Root of the JavaDoc
+if !exists( 'g:slimv_javadoc_root' )
+    let g:slimv_javadoc_root = 'http://java.sun.com/javase/6/docs/api/'
+endif
+ 
+if !exists( 'g:slimv_javadoc_db' )
+    let g:slimv_javadoc_db = [
+    \["AbstractAction", "javax/swing/AbstractAction.html"],
+    \["AbstractAnnotationValueVisitor6", "javax/lang/model/util/AbstractAnnotationValueVisitor6.html"],
+    \["AbstractBorder", "javax/swing/border/AbstractBorder.html"],
+    \["AbstractButton", "javax/swing/AbstractButton.html"],
+    \["AbstractCellEditor", "javax/swing/AbstractCellEditor.html"],
+    \["AbstractCollection", "java/util/AbstractCollection.html"],
+    \["AbstractColorChooserPanel", "javax/swing/colorchooser/AbstractColorChooserPanel.html"],
+    \["AbstractDocument", "javax/swing/text/AbstractDocument.html"],
+    \["AbstractDocument.AttributeContext", "javax/swing/text/AbstractDocument.AttributeContext.html"],
+    \["AbstractDocument.Content", "javax/swing/text/AbstractDocument.Content.html"],
+    \["AbstractDocument.ElementEdit", "javax/swing/text/AbstractDocument.ElementEdit.html"],
+    \["AbstractElementVisitor6", "javax/lang/model/util/AbstractElementVisitor6.html"],
+    \["AbstractExecutorService", "java/util/concurrent/AbstractExecutorService.html"],
+    \["AbstractInterruptibleChannel", "java/nio/channels/spi/AbstractInterruptibleChannel.html"],
+    \["AbstractLayoutCache", "javax/swing/tree/AbstractLayoutCache.html"],
+    \["AbstractLayoutCache.NodeDimensions", "javax/swing/tree/AbstractLayoutCache.NodeDimensions.html"],
+    \["AbstractList", "java/util/AbstractList.html"],
+    \["AbstractListModel", "javax/swing/AbstractListModel.html"],
+    \["AbstractMap", "java/util/AbstractMap.html"],
+    \["AbstractMap.SimpleEntry", "java/util/AbstractMap.SimpleEntry.html"],
+    \["AbstractMap.SimpleImmutableEntry", "java/util/AbstractMap.SimpleImmutableEntry.html"],
+    \["AbstractMarshallerImpl", "javax/xml/bind/helpers/AbstractMarshallerImpl.html"],
+    \["AbstractMethodError", "java/lang/AbstractMethodError.html"],
+    \["AbstractOwnableSynchronizer", "java/util/concurrent/locks/AbstractOwnableSynchronizer.html"],
+    \["AbstractPreferences", "java/util/prefs/AbstractPreferences.html"],
+    \["AbstractProcessor", "javax/annotation/processing/AbstractProcessor.html"],
+    \["AbstractQueue", "java/util/AbstractQueue.html"],
+    \["AbstractQueuedLongSynchronizer", "java/util/concurrent/locks/AbstractQueuedLongSynchronizer.html"],
+    \["AbstractQueuedSynchronizer", "java/util/concurrent/locks/AbstractQueuedSynchronizer.html"],
+    \["AbstractScriptEngine", "javax/script/AbstractScriptEngine.html"],
+    \["AbstractSelectableChannel", "java/nio/channels/spi/AbstractSelectableChannel.html"],
+    \["AbstractSelectionKey", "java/nio/channels/spi/AbstractSelectionKey.html"],
+    \["AbstractSelector", "java/nio/channels/spi/AbstractSelector.html"],
+    \["AbstractSequentialList", "java/util/AbstractSequentialList.html"],
+    \["AbstractSet", "java/util/AbstractSet.html"],
+    \["AbstractSpinnerModel", "javax/swing/AbstractSpinnerModel.html"],
+    \["AbstractTableModel", "javax/swing/table/AbstractTableModel.html"],
+    \["AbstractTypeVisitor6", "javax/lang/model/util/AbstractTypeVisitor6.html"],
+    \["AbstractUndoableEdit", "javax/swing/undo/AbstractUndoableEdit.html"],
+    \["AbstractUnmarshallerImpl", "javax/xml/bind/helpers/AbstractUnmarshallerImpl.html"],
+    \["AbstractWriter", "javax/swing/text/AbstractWriter.html"],
+    \["AccessControlContext", "java/security/AccessControlContext.html"],
+    \["AccessControlException", "java/security/AccessControlException.html"],
+    \["AccessController", "java/security/AccessController.html"],
+    \["AccessException", "java/rmi/AccessException.html"],
+    \["Accessible", "javax/accessibility/Accessible.html"],
+    \["AccessibleAction", "javax/accessibility/AccessibleAction.html"],
+    \["AccessibleAttributeSequence", "javax/accessibility/AccessibleAttributeSequence.html"],
+    \["AccessibleBundle", "javax/accessibility/AccessibleBundle.html"],
+    \["AccessibleComponent", "javax/accessibility/AccessibleComponent.html"],
+    \["AccessibleContext", "javax/accessibility/AccessibleContext.html"],
+    \["AccessibleEditableText", "javax/accessibility/AccessibleEditableText.html"],
+    \["AccessibleExtendedComponent", "javax/accessibility/AccessibleExtendedComponent.html"],
+    \["AccessibleExtendedTable", "javax/accessibility/AccessibleExtendedTable.html"],
+    \["AccessibleExtendedText", "javax/accessibility/AccessibleExtendedText.html"],
+    \["AccessibleHyperlink", "javax/accessibility/AccessibleHyperlink.html"],
+    \["AccessibleHypertext", "javax/accessibility/AccessibleHypertext.html"],
+    \["AccessibleIcon", "javax/accessibility/AccessibleIcon.html"],
+    \["AccessibleKeyBinding", "javax/accessibility/AccessibleKeyBinding.html"],
+    \["AccessibleObject", "java/lang/reflect/AccessibleObject.html"],
+    \["AccessibleRelation", "javax/accessibility/AccessibleRelation.html"],
+    \["AccessibleRelationSet", "javax/accessibility/AccessibleRelationSet.html"],
+    \["AccessibleResourceBundle", "javax/accessibility/AccessibleResourceBundle.html"],
+    \["AccessibleRole", "javax/accessibility/AccessibleRole.html"],
+    \["AccessibleSelection", "javax/accessibility/AccessibleSelection.html"],
+    \["AccessibleState", "javax/accessibility/AccessibleState.html"],
+    \["AccessibleStateSet", "javax/accessibility/AccessibleStateSet.html"],
+    \["AccessibleStreamable", "javax/accessibility/AccessibleStreamable.html"],
+    \["AccessibleTable", "javax/accessibility/AccessibleTable.html"],
+    \["AccessibleTableModelChange", "javax/accessibility/AccessibleTableModelChange.html"],
+    \["AccessibleText", "javax/accessibility/AccessibleText.html"],
+    \["AccessibleTextSequence", "javax/accessibility/AccessibleTextSequence.html"],
+    \["AccessibleValue", "javax/accessibility/AccessibleValue.html"],
+    \["AccountException", "javax/security/auth/login/AccountException.html"],
+    \["AccountExpiredException", "javax/security/auth/login/AccountExpiredException.html"],
+    \["AccountLockedException", "javax/security/auth/login/AccountLockedException.html"],
+    \["AccountNotFoundException", "javax/security/auth/login/AccountNotFoundException.html"],
+    \["Acl", "java/security/acl/Acl.html"],
+    \["AclEntry", "java/security/acl/AclEntry.html"],
+    \["AclNotFoundException", "java/security/acl/AclNotFoundException.html"],
+    \["Action", "javax/swing/Action.html"],
+    \["Action", "javax/xml/ws/Action.html"],
+    \["ActionEvent", "java/awt/event/ActionEvent.html"],
+    \["ActionListener", "java/awt/event/ActionListener.html"],
+    \["ActionMap", "javax/swing/ActionMap.html"],
+    \["ActionMapUIResource", "javax/swing/plaf/ActionMapUIResource.html"],
+    \["Activatable", "java/rmi/activation/Activatable.html"],
+    \["ActivateFailedException", "java/rmi/activation/ActivateFailedException.html"],
+    \["ActivationDataFlavor", "javax/activation/ActivationDataFlavor.html"],
+    \["ActivationDesc", "java/rmi/activation/ActivationDesc.html"],
+    \["ActivationException", "java/rmi/activation/ActivationException.html"],
+    \["ActivationGroup", "java/rmi/activation/ActivationGroup.html"],
+    \["ActivationGroup_Stub", "java/rmi/activation/ActivationGroup_Stub.html"],
+    \["ActivationGroupDesc", "java/rmi/activation/ActivationGroupDesc.html"],
+    \["ActivationGroupDesc.CommandEnvironment", "java/rmi/activation/ActivationGroupDesc.CommandEnvironment.html"],
+    \["ActivationGroupID", "java/rmi/activation/ActivationGroupID.html"],
+    \["ActivationID", "java/rmi/activation/ActivationID.html"],
+    \["ActivationInstantiator", "java/rmi/activation/ActivationInstantiator.html"],
+    \["ActivationMonitor", "java/rmi/activation/ActivationMonitor.html"],
+    \["ActivationSystem", "java/rmi/activation/ActivationSystem.html"],
+    \["Activator", "java/rmi/activation/Activator.html"],
+    \["ACTIVE", "org/omg/PortableInterceptor/ACTIVE.html"],
+    \["ActiveEvent", "java/awt/ActiveEvent.html"],
+    \["ACTIVITY_COMPLETED", "org/omg/CORBA/ACTIVITY_COMPLETED.html"],
+    \["ACTIVITY_REQUIRED", "org/omg/CORBA/ACTIVITY_REQUIRED.html"],
+    \["ActivityCompletedException", "javax/activity/ActivityCompletedException.html"],
+    \["ActivityRequiredException", "javax/activity/ActivityRequiredException.html"],
+    \["AdapterActivator", "org/omg/PortableServer/AdapterActivator.html"],
+    \["AdapterActivatorOperations", "org/omg/PortableServer/AdapterActivatorOperations.html"],
+    \["AdapterAlreadyExists", "org/omg/PortableServer/POAPackage/AdapterAlreadyExists.html"],
+    \["AdapterAlreadyExistsHelper", "org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.html"],
+    \["AdapterInactive", "org/omg/PortableServer/POAManagerPackage/AdapterInactive.html"],
+    \["AdapterInactiveHelper", "org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.html"],
+    \["AdapterManagerIdHelper", "org/omg/PortableInterceptor/AdapterManagerIdHelper.html"],
+    \["AdapterNameHelper", "org/omg/PortableInterceptor/AdapterNameHelper.html"],
+    \["AdapterNonExistent", "org/omg/PortableServer/POAPackage/AdapterNonExistent.html"],
+    \["AdapterNonExistentHelper", "org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.html"],
+    \["AdapterStateHelper", "org/omg/PortableInterceptor/AdapterStateHelper.html"],
+    \["AddressHelper", "org/omg/CosNaming/NamingContextExtPackage/AddressHelper.html"],
+    \["Addressing", "javax/xml/ws/soap/Addressing.html"],
+    \["AddressingFeature", "javax/xml/ws/soap/AddressingFeature.html"],
+    \["Adjustable", "java/awt/Adjustable.html"],
+    \["AdjustmentEvent", "java/awt/event/AdjustmentEvent.html"],
+    \["AdjustmentListener", "java/awt/event/AdjustmentListener.html"],
+    \["Adler32", "java/util/zip/Adler32.html"],
+    \["AffineTransform", "java/awt/geom/AffineTransform.html"],
+    \["AffineTransformOp", "java/awt/image/AffineTransformOp.html"],
+    \["AlgorithmMethod", "javax/xml/crypto/AlgorithmMethod.html"],
+    \["AlgorithmParameterGenerator", "java/security/AlgorithmParameterGenerator.html"],
+    \["AlgorithmParameterGeneratorSpi", "java/security/AlgorithmParameterGeneratorSpi.html"],
+    \["AlgorithmParameters", "java/security/AlgorithmParameters.html"],
+    \["AlgorithmParameterSpec", "java/security/spec/AlgorithmParameterSpec.html"],
+    \["AlgorithmParametersSpi", "java/security/AlgorithmParametersSpi.html"],
+    \["AllPermission", "java/security/AllPermission.html"],
+    \["AlphaComposite", "java/awt/AlphaComposite.html"],
+    \["AlreadyBound", "org/omg/CosNaming/NamingContextPackage/AlreadyBound.html"],
+    \["AlreadyBoundException", "java/rmi/AlreadyBoundException.html"],
+    \["AlreadyBoundHelper", "org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.html"],
+    \["AlreadyBoundHolder", "org/omg/CosNaming/NamingContextPackage/AlreadyBoundHolder.html"],
+    \["AlreadyConnectedException", "java/nio/channels/AlreadyConnectedException.html"],
+    \["AncestorEvent", "javax/swing/event/AncestorEvent.html"],
+    \["AncestorListener", "javax/swing/event/AncestorListener.html"],
+    \["AnnotatedElement", "java/lang/reflect/AnnotatedElement.html"],
+    \["Annotation", "java/lang/annotation/Annotation.html"],
+    \["Annotation", "java/text/Annotation.html"],
+    \["AnnotationFormatError", "java/lang/annotation/AnnotationFormatError.html"],
+    \["AnnotationMirror", "javax/lang/model/element/AnnotationMirror.html"],
+    \["AnnotationTypeMismatchException", "java/lang/annotation/AnnotationTypeMismatchException.html"],
+    \["AnnotationValue", "javax/lang/model/element/AnnotationValue.html"],
+    \["AnnotationValueVisitor", "javax/lang/model/element/AnnotationValueVisitor.html"],
+    \["Any", "org/omg/CORBA/Any.html"],
+    \["AnyHolder", "org/omg/CORBA/AnyHolder.html"],
+    \["AnySeqHelper", "org/omg/CORBA/AnySeqHelper.html"],
+    \["AnySeqHelper", "org/omg/DynamicAny/AnySeqHelper.html"],
+    \["AnySeqHolder", "org/omg/CORBA/AnySeqHolder.html"],
+    \["AppConfigurationEntry", "javax/security/auth/login/AppConfigurationEntry.html"],
+    \["AppConfigurationEntry.LoginModuleControlFlag", "javax/security/auth/login/AppConfigurationEntry.LoginModuleControlFlag.html"],
+    \["Appendable", "java/lang/Appendable.html"],
+    \["Applet", "java/applet/Applet.html"],
+    \["AppletContext", "java/applet/AppletContext.html"],
+    \["AppletInitializer", "java/beans/AppletInitializer.html"],
+    \["AppletStub", "java/applet/AppletStub.html"],
+    \["ApplicationException", "org/omg/CORBA/portable/ApplicationException.html"],
+    \["Arc2D", "java/awt/geom/Arc2D.html"],
+    \["Arc2D.Double", "java/awt/geom/Arc2D.Double.html"],
+    \["Arc2D.Float", "java/awt/geom/Arc2D.Float.html"],
+    \["Area", "java/awt/geom/Area.html"],
+    \["AreaAveragingScaleFilter", "java/awt/image/AreaAveragingScaleFilter.html"],
+    \["ARG_IN", "org/omg/CORBA/ARG_IN.html"],
+    \["ARG_INOUT", "org/omg/CORBA/ARG_INOUT.html"],
+    \["ARG_OUT", "org/omg/CORBA/ARG_OUT.html"],
+    \["ArithmeticException", "java/lang/ArithmeticException.html"],
+    \["Array", "java/lang/reflect/Array.html"],
+    \["Array", "java/sql/Array.html"],
+    \["ArrayBlockingQueue", "java/util/concurrent/ArrayBlockingQueue.html"],
+    \["ArrayDeque", "java/util/ArrayDeque.html"],
+    \["ArrayIndexOutOfBoundsException", "java/lang/ArrayIndexOutOfBoundsException.html"],
+    \["ArrayList", "java/util/ArrayList.html"],
+    \["Arrays", "java/util/Arrays.html"],
+    \["ArrayStoreException", "java/lang/ArrayStoreException.html"],
+    \["ArrayType", "javax/lang/model/type/ArrayType.html"],
+    \["ArrayType", "javax/management/openmbean/ArrayType.html"],
+    \["AssertionError", "java/lang/AssertionError.html"],
+    \["AsyncBoxView", "javax/swing/text/AsyncBoxView.html"],
+    \["AsyncHandler", "javax/xml/ws/AsyncHandler.html"],
+    \["AsynchronousCloseException", "java/nio/channels/AsynchronousCloseException.html"],
+    \["AtomicBoolean", "java/util/concurrent/atomic/AtomicBoolean.html"],
+    \["AtomicInteger", "java/util/concurrent/atomic/AtomicInteger.html"],
+    \["AtomicIntegerArray", "java/util/concurrent/atomic/AtomicIntegerArray.html"],
+    \["AtomicIntegerFieldUpdater", "java/util/concurrent/atomic/AtomicIntegerFieldUpdater.html"],
+    \["AtomicLong", "java/util/concurrent/atomic/AtomicLong.html"],
+    \["AtomicLongArray", "java/util/concurrent/atomic/AtomicLongArray.html"],
+    \["AtomicLongFieldUpdater", "java/util/concurrent/atomic/AtomicLongFieldUpdater.html"],
+    \["AtomicMarkableReference", "java/util/concurrent/atomic/AtomicMarkableReference.html"],
+    \["AtomicReference", "java/util/concurrent/atomic/AtomicReference.html"],
+    \["AtomicReferenceArray", "java/util/concurrent/atomic/AtomicReferenceArray.html"],
+    \["AtomicReferenceFieldUpdater", "java/util/concurrent/atomic/AtomicReferenceFieldUpdater.html"],
+    \["AtomicStampedReference", "java/util/concurrent/atomic/AtomicStampedReference.html"],
+    \["AttachmentMarshaller", "javax/xml/bind/attachment/AttachmentMarshaller.html"],
+    \["AttachmentPart", "javax/xml/soap/AttachmentPart.html"],
+    \["AttachmentUnmarshaller", "javax/xml/bind/attachment/AttachmentUnmarshaller.html"],
+    \["Attr", "org/w3c/dom/Attr.html"],
+    \["Attribute", "javax/management/Attribute.html"],
+    \["Attribute", "javax/naming/directory/Attribute.html"],
+    \["Attribute", "javax/print/attribute/Attribute.html"],
+    \["Attribute", "javax/xml/stream/events/Attribute.html"],
+    \["AttributeChangeNotification", "javax/management/AttributeChangeNotification.html"],
+    \["AttributeChangeNotificationFilter", "javax/management/AttributeChangeNotificationFilter.html"],
+    \["AttributedCharacterIterator", "java/text/AttributedCharacterIterator.html"],
+    \["AttributedCharacterIterator.Attribute", "java/text/AttributedCharacterIterator.Attribute.html"],
+    \["AttributedString", "java/text/AttributedString.html"],
+    \["AttributeException", "javax/print/AttributeException.html"],
+    \["AttributeInUseException", "javax/naming/directory/AttributeInUseException.html"],
+    \["AttributeList", "javax/management/AttributeList.html"],
+    \["AttributeList", "javax/swing/text/html/parser/AttributeList.html"],
+    \["AttributeList", "org/xml/sax/AttributeList.html"],
+    \["AttributeListImpl", "org/xml/sax/helpers/AttributeListImpl.html"],
+    \["AttributeModificationException", "javax/naming/directory/AttributeModificationException.html"],
+    \["AttributeNotFoundException", "javax/management/AttributeNotFoundException.html"],
+    \["Attributes", "java/util/jar/Attributes.html"],
+    \["Attributes", "javax/naming/directory/Attributes.html"],
+    \["Attributes", "org/xml/sax/Attributes.html"],
+    \["Attributes.Name", "java/util/jar/Attributes.Name.html"],
+    \["Attributes2", "org/xml/sax/ext/Attributes2.html"],
+    \["Attributes2Impl", "org/xml/sax/ext/Attributes2Impl.html"],
+    \["AttributeSet", "javax/print/attribute/AttributeSet.html"],
+    \["AttributeSet", "javax/swing/text/AttributeSet.html"],
+    \["AttributeSet.CharacterAttribute", "javax/swing/text/AttributeSet.CharacterAttribute.html"],
+    \["AttributeSet.ColorAttribute", "javax/swing/text/AttributeSet.ColorAttribute.html"],
+    \["AttributeSet.FontAttribute", "javax/swing/text/AttributeSet.FontAttribute.html"],
+    \["AttributeSet.ParagraphAttribute", "javax/swing/text/AttributeSet.ParagraphAttribute.html"],
+    \["AttributeSetUtilities", "javax/print/attribute/AttributeSetUtilities.html"],
+    \["AttributesImpl", "org/xml/sax/helpers/AttributesImpl.html"],
+    \["AttributeValueExp", "javax/management/AttributeValueExp.html"],
+    \["AudioClip", "java/applet/AudioClip.html"],
+    \["AudioFileFormat", "javax/sound/sampled/AudioFileFormat.html"],
+    \["AudioFileFormat.Type", "javax/sound/sampled/AudioFileFormat.Type.html"],
+    \["AudioFileReader", "javax/sound/sampled/spi/AudioFileReader.html"],
+    \["AudioFileWriter", "javax/sound/sampled/spi/AudioFileWriter.html"],
+    \["AudioFormat", "javax/sound/sampled/AudioFormat.html"],
+    \["AudioFormat.Encoding", "javax/sound/sampled/AudioFormat.Encoding.html"],
+    \["AudioInputStream", "javax/sound/sampled/AudioInputStream.html"],
+    \["AudioPermission", "javax/sound/sampled/AudioPermission.html"],
+    \["AudioSystem", "javax/sound/sampled/AudioSystem.html"],
+    \["AuthenticationException", "javax/naming/AuthenticationException.html"],
+    \["AuthenticationException", "javax/security/sasl/AuthenticationException.html"],
+    \["AuthenticationNotSupportedException", "javax/naming/AuthenticationNotSupportedException.html"],
+    \["Authenticator", "java/net/Authenticator.html"],
+    \["Authenticator.RequestorType", "java/net/Authenticator.RequestorType.html"],
+    \["AuthorizeCallback", "javax/security/sasl/AuthorizeCallback.html"],
+    \["AuthPermission", "javax/security/auth/AuthPermission.html"],
+    \["AuthProvider", "java/security/AuthProvider.html"],
+    \["Autoscroll", "java/awt/dnd/Autoscroll.html"],
+    \["AWTError", "java/awt/AWTError.html"],
+    \["AWTEvent", "java/awt/AWTEvent.html"],
+    \["AWTEventListener", "java/awt/event/AWTEventListener.html"],
+    \["AWTEventListenerProxy", "java/awt/event/AWTEventListenerProxy.html"],
+    \["AWTEventMulticaster", "java/awt/AWTEventMulticaster.html"],
+    \["AWTException", "java/awt/AWTException.html"],
+    \["AWTKeyStroke", "java/awt/AWTKeyStroke.html"],
+    \["AWTPermission", "java/awt/AWTPermission.html"],
+    \["BackingStoreException", "java/util/prefs/BackingStoreException.html"],
+    \["BAD_CONTEXT", "org/omg/CORBA/BAD_CONTEXT.html"],
+    \["BAD_INV_ORDER", "org/omg/CORBA/BAD_INV_ORDER.html"],
+    \["BAD_OPERATION", "org/omg/CORBA/BAD_OPERATION.html"],
+    \["BAD_PARAM", "org/omg/CORBA/BAD_PARAM.html"],
+    \["BAD_POLICY", "org/omg/CORBA/BAD_POLICY.html"],
+    \["BAD_POLICY_TYPE", "org/omg/CORBA/BAD_POLICY_TYPE.html"],
+    \["BAD_POLICY_VALUE", "org/omg/CORBA/BAD_POLICY_VALUE.html"],
+    \["BAD_QOS", "org/omg/CORBA/BAD_QOS.html"],
+    \["BAD_TYPECODE", "org/omg/CORBA/BAD_TYPECODE.html"],
+    \["BadAttributeValueExpException", "javax/management/BadAttributeValueExpException.html"],
+    \["BadBinaryOpValueExpException", "javax/management/BadBinaryOpValueExpException.html"],
+    \["BadKind", "org/omg/CORBA/TypeCodePackage/BadKind.html"],
+    \["BadLocationException", "javax/swing/text/BadLocationException.html"],
+    \["BadPaddingException", "javax/crypto/BadPaddingException.html"],
+    \["BadStringOperationException", "javax/management/BadStringOperationException.html"],
+    \["BandCombineOp", "java/awt/image/BandCombineOp.html"],
+    \["BandedSampleModel", "java/awt/image/BandedSampleModel.html"],
+    \["BaseRowSet", "javax/sql/rowset/BaseRowSet.html"],
+    \["BasicArrowButton", "javax/swing/plaf/basic/BasicArrowButton.html"],
+    \["BasicAttribute", "javax/naming/directory/BasicAttribute.html"],
+    \["BasicAttributes", "javax/naming/directory/BasicAttributes.html"],
+    \["BasicBorders", "javax/swing/plaf/basic/BasicBorders.html"],
+    \["BasicBorders.ButtonBorder", "javax/swing/plaf/basic/BasicBorders.ButtonBorder.html"],
+    \["BasicBorders.FieldBorder", "javax/swing/plaf/basic/BasicBorders.FieldBorder.html"],
+    \["BasicBorders.MarginBorder", "javax/swing/plaf/basic/BasicBorders.MarginBorder.html"],
+    \["BasicBorders.MenuBarBorder", "javax/swing/plaf/basic/BasicBorders.MenuBarBorder.html"],
+    \["BasicBorders.RadioButtonBorder", "javax/swing/plaf/basic/BasicBorders.RadioButtonBorder.html"],
+    \["BasicBorders.RolloverButtonBorder", "javax/swing/plaf/basic/BasicBorders.RolloverButtonBorder.html"],
+    \["BasicBorders.SplitPaneBorder", "javax/swing/plaf/basic/BasicBorders.SplitPaneBorder.html"],
+    \["BasicBorders.ToggleButtonBorder", "javax/swing/plaf/basic/BasicBorders.ToggleButtonBorder.html"],
+    \["BasicButtonListener", "javax/swing/plaf/basic/BasicButtonListener.html"],
+    \["BasicButtonUI", "javax/swing/plaf/basic/BasicButtonUI.html"],
+    \["BasicCheckBoxMenuItemUI", "javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.html"],
+    \["BasicCheckBoxUI", "javax/swing/plaf/basic/BasicCheckBoxUI.html"],
+    \["BasicColorChooserUI", "javax/swing/plaf/basic/BasicColorChooserUI.html"],
+    \["BasicComboBoxEditor", "javax/swing/plaf/basic/BasicComboBoxEditor.html"],
+    \["BasicComboBoxEditor.UIResource", "javax/swing/plaf/basic/BasicComboBoxEditor.UIResource.html"],
+    \["BasicComboBoxRenderer", "javax/swing/plaf/basic/BasicComboBoxRenderer.html"],
+    \["BasicComboBoxRenderer.UIResource", "javax/swing/plaf/basic/BasicComboBoxRenderer.UIResource.html"],
+    \["BasicComboBoxUI", "javax/swing/plaf/basic/BasicComboBoxUI.html"],
+    \["BasicComboPopup", "javax/swing/plaf/basic/BasicComboPopup.html"],
+    \["BasicControl", "javax/naming/ldap/BasicControl.html"],
+    \["BasicDesktopIconUI", "javax/swing/plaf/basic/BasicDesktopIconUI.html"],
+    \["BasicDesktopPaneUI", "javax/swing/plaf/basic/BasicDesktopPaneUI.html"],
+    \["BasicDirectoryModel", "javax/swing/plaf/basic/BasicDirectoryModel.html"],
+    \["BasicEditorPaneUI", "javax/swing/plaf/basic/BasicEditorPaneUI.html"],
+    \["BasicFileChooserUI", "javax/swing/plaf/basic/BasicFileChooserUI.html"],
+    \["BasicFormattedTextFieldUI", "javax/swing/plaf/basic/BasicFormattedTextFieldUI.html"],
+    \["BasicGraphicsUtils", "javax/swing/plaf/basic/BasicGraphicsUtils.html"],
+    \["BasicHTML", "javax/swing/plaf/basic/BasicHTML.html"],
+    \["BasicIconFactory", "javax/swing/plaf/basic/BasicIconFactory.html"],
+    \["BasicInternalFrameTitlePane", "javax/swing/plaf/basic/BasicInternalFrameTitlePane.html"],
+    \["BasicInternalFrameUI", "javax/swing/plaf/basic/BasicInternalFrameUI.html"],
+    \["BasicLabelUI", "javax/swing/plaf/basic/BasicLabelUI.html"],
+    \["BasicListUI", "javax/swing/plaf/basic/BasicListUI.html"],
+    \["BasicLookAndFeel", "javax/swing/plaf/basic/BasicLookAndFeel.html"],
+    \["BasicMenuBarUI", "javax/swing/plaf/basic/BasicMenuBarUI.html"],
+    \["BasicMenuItemUI", "javax/swing/plaf/basic/BasicMenuItemUI.html"],
+    \["BasicMenuUI", "javax/swing/plaf/basic/BasicMenuUI.html"],
+    \["BasicOptionPaneUI", "javax/swing/plaf/basic/BasicOptionPaneUI.html"],
+    \["BasicOptionPaneUI.ButtonAreaLayout", "javax/swing/plaf/basic/BasicOptionPaneUI.ButtonAreaLayout.html"],
+    \["BasicPanelUI", "javax/swing/plaf/basic/BasicPanelUI.html"],
+    \["BasicPasswordFieldUI", "javax/swing/plaf/basic/BasicPasswordFieldUI.html"],
+    \["BasicPermission", "java/security/BasicPermission.html"],
+    \["BasicPopupMenuSeparatorUI", "javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.html"],
+    \["BasicPopupMenuUI", "javax/swing/plaf/basic/BasicPopupMenuUI.html"],
+    \["BasicProgressBarUI", "javax/swing/plaf/basic/BasicProgressBarUI.html"],
+    \["BasicRadioButtonMenuItemUI", "javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.html"],
+    \["BasicRadioButtonUI", "javax/swing/plaf/basic/BasicRadioButtonUI.html"],
+    \["BasicRootPaneUI", "javax/swing/plaf/basic/BasicRootPaneUI.html"],
+    \["BasicScrollBarUI", "javax/swing/plaf/basic/BasicScrollBarUI.html"],
+    \["BasicScrollPaneUI", "javax/swing/plaf/basic/BasicScrollPaneUI.html"],
+    \["BasicSeparatorUI", "javax/swing/plaf/basic/BasicSeparatorUI.html"],
+    \["BasicSliderUI", "javax/swing/plaf/basic/BasicSliderUI.html"],
+    \["BasicSpinnerUI", "javax/swing/plaf/basic/BasicSpinnerUI.html"],
+    \["BasicSplitPaneDivider", "javax/swing/plaf/basic/BasicSplitPaneDivider.html"],
+    \["BasicSplitPaneUI", "javax/swing/plaf/basic/BasicSplitPaneUI.html"],
+    \["BasicStroke", "java/awt/BasicStroke.html"],
+    \["BasicTabbedPaneUI", "javax/swing/plaf/basic/BasicTabbedPaneUI.html"],
+    \["BasicTableHeaderUI", "javax/swing/plaf/basic/BasicTableHeaderUI.html"],
+    \["BasicTableUI", "javax/swing/plaf/basic/BasicTableUI.html"],
+    \["BasicTextAreaUI", "javax/swing/plaf/basic/BasicTextAreaUI.html"],
+    \["BasicTextFieldUI", "javax/swing/plaf/basic/BasicTextFieldUI.html"],
+    \["BasicTextPaneUI", "javax/swing/plaf/basic/BasicTextPaneUI.html"],
+    \["BasicTextUI", "javax/swing/plaf/basic/BasicTextUI.html"],
+    \["BasicTextUI.BasicCaret", "javax/swing/plaf/basic/BasicTextUI.BasicCaret.html"],
+    \["BasicTextUI.BasicHighlighter", "javax/swing/plaf/basic/BasicTextUI.BasicHighlighter.html"],
+    \["BasicToggleButtonUI", "javax/swing/plaf/basic/BasicToggleButtonUI.html"],
+    \["BasicToolBarSeparatorUI", "javax/swing/plaf/basic/BasicToolBarSeparatorUI.html"],
+    \["BasicToolBarUI", "javax/swing/plaf/basic/BasicToolBarUI.html"],
+    \["BasicToolTipUI", "javax/swing/plaf/basic/BasicToolTipUI.html"],
+    \["BasicTreeUI", "javax/swing/plaf/basic/BasicTreeUI.html"],
+    \["BasicViewportUI", "javax/swing/plaf/basic/BasicViewportUI.html"],
+    \["BatchUpdateException", "java/sql/BatchUpdateException.html"],
+    \["BeanContext", "java/beans/beancontext/BeanContext.html"],
+    \["BeanContextChild", "java/beans/beancontext/BeanContextChild.html"],
+    \["BeanContextChildComponentProxy", "java/beans/beancontext/BeanContextChildComponentProxy.html"],
+    \["BeanContextChildSupport", "java/beans/beancontext/BeanContextChildSupport.html"],
+    \["BeanContextContainerProxy", "java/beans/beancontext/BeanContextContainerProxy.html"],
+    \["BeanContextEvent", "java/beans/beancontext/BeanContextEvent.html"],
+    \["BeanContextMembershipEvent", "java/beans/beancontext/BeanContextMembershipEvent.html"],
+    \["BeanContextMembershipListener", "java/beans/beancontext/BeanContextMembershipListener.html"],
+    \["BeanContextProxy", "java/beans/beancontext/BeanContextProxy.html"],
+    \["BeanContextServiceAvailableEvent", "java/beans/beancontext/BeanContextServiceAvailableEvent.html"],
+    \["BeanContextServiceProvider", "java/beans/beancontext/BeanContextServiceProvider.html"],
+    \["BeanContextServiceProviderBeanInfo", "java/beans/beancontext/BeanContextServiceProviderBeanInfo.html"],
+    \["BeanContextServiceRevokedEvent", "java/beans/beancontext/BeanContextServiceRevokedEvent.html"],
+    \["BeanContextServiceRevokedListener", "java/beans/beancontext/BeanContextServiceRevokedListener.html"],
+    \["BeanContextServices", "java/beans/beancontext/BeanContextServices.html"],
+    \["BeanContextServicesListener", "java/beans/beancontext/BeanContextServicesListener.html"],
+    \["BeanContextServicesSupport", "java/beans/beancontext/BeanContextServicesSupport.html"],
+    \["BeanContextServicesSupport.BCSSServiceProvider", "java/beans/beancontext/BeanContextServicesSupport.BCSSServiceProvider.html"],
+    \["BeanContextSupport", "java/beans/beancontext/BeanContextSupport.html"],
+    \["BeanContextSupport.BCSIterator", "java/beans/beancontext/BeanContextSupport.BCSIterator.html"],
+    \["BeanDescriptor", "java/beans/BeanDescriptor.html"],
+    \["BeanInfo", "java/beans/BeanInfo.html"],
+    \["Beans", "java/beans/Beans.html"],
+    \["BevelBorder", "javax/swing/border/BevelBorder.html"],
+    \["Bidi", "java/text/Bidi.html"],
+    \["BigDecimal", "java/math/BigDecimal.html"],
+    \["BigInteger", "java/math/BigInteger.html"],
+    \["BinaryRefAddr", "javax/naming/BinaryRefAddr.html"],
+    \["Binder", "javax/xml/bind/Binder.html"],
+    \["BindException", "java/net/BindException.html"],
+    \["Binding", "javax/naming/Binding.html"],
+    \["Binding", "javax/xml/ws/Binding.html"],
+    \["Binding", "org/omg/CosNaming/Binding.html"],
+    \["BindingHelper", "org/omg/CosNaming/BindingHelper.html"],
+    \["BindingHolder", "org/omg/CosNaming/BindingHolder.html"],
+    \["BindingIterator", "org/omg/CosNaming/BindingIterator.html"],
+    \["BindingIteratorHelper", "org/omg/CosNaming/BindingIteratorHelper.html"],
+    \["BindingIteratorHolder", "org/omg/CosNaming/BindingIteratorHolder.html"],
+    \["BindingIteratorOperations", "org/omg/CosNaming/BindingIteratorOperations.html"],
+    \["BindingIteratorPOA", "org/omg/CosNaming/BindingIteratorPOA.html"],
+    \["BindingListHelper", "org/omg/CosNaming/BindingListHelper.html"],
+    \["BindingListHolder", "org/omg/CosNaming/BindingListHolder.html"],
+    \["BindingProvider", "javax/xml/ws/BindingProvider.html"],
+    \["Bindings", "javax/script/Bindings.html"],
+    \["BindingType", "javax/xml/ws/BindingType.html"],
+    \["BindingType", "org/omg/CosNaming/BindingType.html"],
+    \["BindingTypeHelper", "org/omg/CosNaming/BindingTypeHelper.html"],
+    \["BindingTypeHolder", "org/omg/CosNaming/BindingTypeHolder.html"],
+    \["BitSet", "java/util/BitSet.html"],
+    \["Blob", "java/sql/Blob.html"],
+    \["BlockingDeque", "java/util/concurrent/BlockingDeque.html"],
+    \["BlockingQueue", "java/util/concurrent/BlockingQueue.html"],
+    \["BlockView", "javax/swing/text/html/BlockView.html"],
+    \["BMPImageWriteParam", "javax/imageio/plugins/bmp/BMPImageWriteParam.html"],
+    \["Book", "java/awt/print/Book.html"],
+    \["Boolean", "java/lang/Boolean.html"],
+    \["BooleanControl", "javax/sound/sampled/BooleanControl.html"],
+    \["BooleanControl.Type", "javax/sound/sampled/BooleanControl.Type.html"],
+    \["BooleanHolder", "org/omg/CORBA/BooleanHolder.html"],
+    \["BooleanSeqHelper", "org/omg/CORBA/BooleanSeqHelper.html"],
+    \["BooleanSeqHolder", "org/omg/CORBA/BooleanSeqHolder.html"],
+    \["Border", "javax/swing/border/Border.html"],
+    \["BorderFactory", "javax/swing/BorderFactory.html"],
+    \["BorderLayout", "java/awt/BorderLayout.html"],
+    \["BorderUIResource", "javax/swing/plaf/BorderUIResource.html"],
+    \["BorderUIResource.BevelBorderUIResource", "javax/swing/plaf/BorderUIResource.BevelBorderUIResource.html"],
+    \["BorderUIResource.CompoundBorderUIResource", "javax/swing/plaf/BorderUIResource.CompoundBorderUIResource.html"],
+    \["BorderUIResource.EmptyBorderUIResource", "javax/swing/plaf/BorderUIResource.EmptyBorderUIResource.html"],
+    \["BorderUIResource.EtchedBorderUIResource", "javax/swing/plaf/BorderUIResource.EtchedBorderUIResource.html"],
+    \["BorderUIResource.LineBorderUIResource", "javax/swing/plaf/BorderUIResource.LineBorderUIResource.html"],
+    \["BorderUIResource.MatteBorderUIResource", "javax/swing/plaf/BorderUIResource.MatteBorderUIResource.html"],
+    \["BorderUIResource.TitledBorderUIResource", "javax/swing/plaf/BorderUIResource.TitledBorderUIResource.html"],
+    \["BoundedRangeModel", "javax/swing/BoundedRangeModel.html"],
+    \["Bounds", "org/omg/CORBA/Bounds.html"],
+    \["Bounds", "org/omg/CORBA/TypeCodePackage/Bounds.html"],
+    \["Box", "javax/swing/Box.html"],
+    \["Box.Filler", "javax/swing/Box.Filler.html"],
+    \["BoxedValueHelper", "org/omg/CORBA/portable/BoxedValueHelper.html"],
+    \["BoxLayout", "javax/swing/BoxLayout.html"],
+    \["BoxView", "javax/swing/text/BoxView.html"],
+    \["BreakIterator", "java/text/BreakIterator.html"],
+    \["BreakIteratorProvider", "java/text/spi/BreakIteratorProvider.html"],
+    \["BrokenBarrierException", "java/util/concurrent/BrokenBarrierException.html"],
+    \["Buffer", "java/nio/Buffer.html"],
+    \["BufferCapabilities", "java/awt/BufferCapabilities.html"],
+    \["BufferCapabilities.FlipContents", "java/awt/BufferCapabilities.FlipContents.html"],
+    \["BufferedImage", "java/awt/image/BufferedImage.html"],
+    \["BufferedImageFilter", "java/awt/image/BufferedImageFilter.html"],
+    \["BufferedImageOp", "java/awt/image/BufferedImageOp.html"],
+    \["BufferedInputStream", "java/io/BufferedInputStream.html"],
+    \["BufferedOutputStream", "java/io/BufferedOutputStream.html"],
+    \["BufferedReader", "java/io/BufferedReader.html"],
+    \["BufferedWriter", "java/io/BufferedWriter.html"],
+    \["BufferOverflowException", "java/nio/BufferOverflowException.html"],
+    \["BufferStrategy", "java/awt/image/BufferStrategy.html"],
+    \["BufferUnderflowException", "java/nio/BufferUnderflowException.html"],
+    \["Button", "java/awt/Button.html"],
+    \["ButtonGroup", "javax/swing/ButtonGroup.html"],
+    \["ButtonModel", "javax/swing/ButtonModel.html"],
+    \["ButtonUI", "javax/swing/plaf/ButtonUI.html"],
+    \["Byte", "java/lang/Byte.html"],
+    \["ByteArrayInputStream", "java/io/ByteArrayInputStream.html"],
+    \["ByteArrayOutputStream", "java/io/ByteArrayOutputStream.html"],
+    \["ByteBuffer", "java/nio/ByteBuffer.html"],
+    \["ByteChannel", "java/nio/channels/ByteChannel.html"],
+    \["ByteHolder", "org/omg/CORBA/ByteHolder.html"],
+    \["ByteLookupTable", "java/awt/image/ByteLookupTable.html"],
+    \["ByteOrder", "java/nio/ByteOrder.html"],
+    \["C14NMethodParameterSpec", "javax/xml/crypto/dsig/spec/C14NMethodParameterSpec.html"],
+    \["CachedRowSet", "javax/sql/rowset/CachedRowSet.html"],
+    \["CacheRequest", "java/net/CacheRequest.html"],
+    \["CacheResponse", "java/net/CacheResponse.html"],
+    \["Calendar", "java/util/Calendar.html"],
+    \["Callable", "java/util/concurrent/Callable.html"],
+    \["CallableStatement", "java/sql/CallableStatement.html"],
+    \["Callback", "javax/security/auth/callback/Callback.html"],
+    \["CallbackHandler", "javax/security/auth/callback/CallbackHandler.html"],
+    \["CancelablePrintJob", "javax/print/CancelablePrintJob.html"],
+    \["CancellationException", "java/util/concurrent/CancellationException.html"],
+    \["CancelledKeyException", "java/nio/channels/CancelledKeyException.html"],
+    \["CannotProceed", "org/omg/CosNaming/NamingContextPackage/CannotProceed.html"],
+    \["CannotProceedException", "javax/naming/CannotProceedException.html"],
+    \["CannotProceedHelper", "org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.html"],
+    \["CannotProceedHolder", "org/omg/CosNaming/NamingContextPackage/CannotProceedHolder.html"],
+    \["CannotRedoException", "javax/swing/undo/CannotRedoException.html"],
+    \["CannotUndoException", "javax/swing/undo/CannotUndoException.html"],
+    \["CanonicalizationMethod", "javax/xml/crypto/dsig/CanonicalizationMethod.html"],
+    \["Canvas", "java/awt/Canvas.html"],
+    \["CardLayout", "java/awt/CardLayout.html"],
+    \["Caret", "javax/swing/text/Caret.html"],
+    \["CaretEvent", "javax/swing/event/CaretEvent.html"],
+    \["CaretListener", "javax/swing/event/CaretListener.html"],
+    \["CDATASection", "org/w3c/dom/CDATASection.html"],
+    \["CellEditor", "javax/swing/CellEditor.html"],
+    \["CellEditorListener", "javax/swing/event/CellEditorListener.html"],
+    \["CellRendererPane", "javax/swing/CellRendererPane.html"],
+    \["Certificate", "java/security/cert/Certificate.html"],
+    \["Certificate", "java/security/Certificate.html"],
+    \["Certificate", "javax/security/cert/Certificate.html"],
+    \["Certificate.CertificateRep", "java/security/cert/Certificate.CertificateRep.html"],
+    \["CertificateEncodingException", "java/security/cert/CertificateEncodingException.html"],
+    \["CertificateEncodingException", "javax/security/cert/CertificateEncodingException.html"],
+    \["CertificateException", "java/security/cert/CertificateException.html"],
+    \["CertificateException", "javax/security/cert/CertificateException.html"],
+    \["CertificateExpiredException", "java/security/cert/CertificateExpiredException.html"],
+    \["CertificateExpiredException", "javax/security/cert/CertificateExpiredException.html"],
+    \["CertificateFactory", "java/security/cert/CertificateFactory.html"],
+    \["CertificateFactorySpi", "java/security/cert/CertificateFactorySpi.html"],
+    \["CertificateNotYetValidException", "java/security/cert/CertificateNotYetValidException.html"],
+    \["CertificateNotYetValidException", "javax/security/cert/CertificateNotYetValidException.html"],
+    \["CertificateParsingException", "java/security/cert/CertificateParsingException.html"],
+    \["CertificateParsingException", "javax/security/cert/CertificateParsingException.html"],
+    \["CertPath", "java/security/cert/CertPath.html"],
+    \["CertPath.CertPathRep", "java/security/cert/CertPath.CertPathRep.html"],
+    \["CertPathBuilder", "java/security/cert/CertPathBuilder.html"],
+    \["CertPathBuilderException", "java/security/cert/CertPathBuilderException.html"],
+    \["CertPathBuilderResult", "java/security/cert/CertPathBuilderResult.html"],
+    \["CertPathBuilderSpi", "java/security/cert/CertPathBuilderSpi.html"],
+    \["CertPathParameters", "java/security/cert/CertPathParameters.html"],
+    \["CertPathTrustManagerParameters", "javax/net/ssl/CertPathTrustManagerParameters.html"],
+    \["CertPathValidator", "java/security/cert/CertPathValidator.html"],
+    \["CertPathValidatorException", "java/security/cert/CertPathValidatorException.html"],
+    \["CertPathValidatorResult", "java/security/cert/CertPathValidatorResult.html"],
+    \["CertPathValidatorSpi", "java/security/cert/CertPathValidatorSpi.html"],
+    \["CertSelector", "java/security/cert/CertSelector.html"],
+    \["CertStore", "java/security/cert/CertStore.html"],
+    \["CertStoreException", "java/security/cert/CertStoreException.html"],
+    \["CertStoreParameters", "java/security/cert/CertStoreParameters.html"],
+    \["CertStoreSpi", "java/security/cert/CertStoreSpi.html"],
+    \["ChangedCharSetException", "javax/swing/text/ChangedCharSetException.html"],
+    \["ChangeEvent", "javax/swing/event/ChangeEvent.html"],
+    \["ChangeListener", "javax/swing/event/ChangeListener.html"],
+    \["Channel", "java/nio/channels/Channel.html"],
+    \["ChannelBinding", "org/ietf/jgss/ChannelBinding.html"],
+    \["Channels", "java/nio/channels/Channels.html"],
+    \["Character", "java/lang/Character.html"],
+    \["Character.Subset", "java/lang/Character.Subset.html"],
+    \["Character.UnicodeBlock", "java/lang/Character.UnicodeBlock.html"],
+    \["CharacterCodingException", "java/nio/charset/CharacterCodingException.html"],
+    \["CharacterData", "org/w3c/dom/CharacterData.html"],
+    \["CharacterIterator", "java/text/CharacterIterator.html"],
+    \["Characters", "javax/xml/stream/events/Characters.html"],
+    \["CharArrayReader", "java/io/CharArrayReader.html"],
+    \["CharArrayWriter", "java/io/CharArrayWriter.html"],
+    \["CharBuffer", "java/nio/CharBuffer.html"],
+    \["CharConversionException", "java/io/CharConversionException.html"],
+    \["CharHolder", "org/omg/CORBA/CharHolder.html"],
+    \["CharSeqHelper", "org/omg/CORBA/CharSeqHelper.html"],
+    \["CharSeqHolder", "org/omg/CORBA/CharSeqHolder.html"],
+    \["CharSequence", "java/lang/CharSequence.html"],
+    \["Charset", "java/nio/charset/Charset.html"],
+    \["CharsetDecoder", "java/nio/charset/CharsetDecoder.html"],
+    \["CharsetEncoder", "java/nio/charset/CharsetEncoder.html"],
+    \["CharsetProvider", "java/nio/charset/spi/CharsetProvider.html"],
+    \["Checkbox", "java/awt/Checkbox.html"],
+    \["CheckboxGroup", "java/awt/CheckboxGroup.html"],
+    \["CheckboxMenuItem", "java/awt/CheckboxMenuItem.html"],
+    \["CheckedInputStream", "java/util/zip/CheckedInputStream.html"],
+    \["CheckedOutputStream", "java/util/zip/CheckedOutputStream.html"],
+    \["Checksum", "java/util/zip/Checksum.html"],
+    \["Choice", "java/awt/Choice.html"],
+    \["ChoiceCallback", "javax/security/auth/callback/ChoiceCallback.html"],
+    \["ChoiceFormat", "java/text/ChoiceFormat.html"],
+    \["Chromaticity", "javax/print/attribute/standard/Chromaticity.html"],
+    \["Cipher", "javax/crypto/Cipher.html"],
+    \["CipherInputStream", "javax/crypto/CipherInputStream.html"],
+    \["CipherOutputStream", "javax/crypto/CipherOutputStream.html"],
+    \["CipherSpi", "javax/crypto/CipherSpi.html"],
+    \["Class", "java/lang/Class.html"],
+    \["ClassCastException", "java/lang/ClassCastException.html"],
+    \["ClassCircularityError", "java/lang/ClassCircularityError.html"],
+    \["ClassDefinition", "java/lang/instrument/ClassDefinition.html"],
+    \["ClassDesc", "javax/rmi/CORBA/ClassDesc.html"],
+    \["ClassFileTransformer", "java/lang/instrument/ClassFileTransformer.html"],
+    \["ClassFormatError", "java/lang/ClassFormatError.html"],
+    \["ClassLoader", "java/lang/ClassLoader.html"],
+    \["ClassLoaderRepository", "javax/management/loading/ClassLoaderRepository.html"],
+    \["ClassLoadingMXBean", "java/lang/management/ClassLoadingMXBean.html"],
+    \["ClassNotFoundException", "java/lang/ClassNotFoundException.html"],
+    \["ClientInfoStatus", "java/sql/ClientInfoStatus.html"],
+    \["ClientRequestInfo", "org/omg/PortableInterceptor/ClientRequestInfo.html"],
+    \["ClientRequestInfoOperations", "org/omg/PortableInterceptor/ClientRequestInfoOperations.html"],
+    \["ClientRequestInterceptor", "org/omg/PortableInterceptor/ClientRequestInterceptor.html"],
+    \["ClientRequestInterceptorOperations", "org/omg/PortableInterceptor/ClientRequestInterceptorOperations.html"],
+    \["Clip", "javax/sound/sampled/Clip.html"],
+    \["Clipboard", "java/awt/datatransfer/Clipboard.html"],
+    \["ClipboardOwner", "java/awt/datatransfer/ClipboardOwner.html"],
+    \["Clob", "java/sql/Clob.html"],
+    \["Cloneable", "java/lang/Cloneable.html"],
+    \["CloneNotSupportedException", "java/lang/CloneNotSupportedException.html"],
+    \["Closeable", "java/io/Closeable.html"],
+    \["ClosedByInterruptException", "java/nio/channels/ClosedByInterruptException.html"],
+    \["ClosedChannelException", "java/nio/channels/ClosedChannelException.html"],
+    \["ClosedSelectorException", "java/nio/channels/ClosedSelectorException.html"],
+    \["CMMException", "java/awt/color/CMMException.html"],
+    \["Codec", "org/omg/IOP/Codec.html"],
+    \["CodecFactory", "org/omg/IOP/CodecFactory.html"],
+    \["CodecFactoryHelper", "org/omg/IOP/CodecFactoryHelper.html"],
+    \["CodecFactoryOperations", "org/omg/IOP/CodecFactoryOperations.html"],
+    \["CodecOperations", "org/omg/IOP/CodecOperations.html"],
+    \["CoderMalfunctionError", "java/nio/charset/CoderMalfunctionError.html"],
+    \["CoderResult", "java/nio/charset/CoderResult.html"],
+    \["CODESET_INCOMPATIBLE", "org/omg/CORBA/CODESET_INCOMPATIBLE.html"],
+    \["CodeSets", "org/omg/IOP/CodeSets.html"],
+    \["CodeSigner", "java/security/CodeSigner.html"],
+    \["CodeSource", "java/security/CodeSource.html"],
+    \["CodingErrorAction", "java/nio/charset/CodingErrorAction.html"],
+    \["CollapsedStringAdapter", "javax/xml/bind/annotation/adapters/CollapsedStringAdapter.html"],
+    \["CollationElementIterator", "java/text/CollationElementIterator.html"],
+    \["CollationKey", "java/text/CollationKey.html"],
+    \["Collator", "java/text/Collator.html"],
+    \["CollatorProvider", "java/text/spi/CollatorProvider.html"],
+    \["Collection", "java/util/Collection.html"],
+    \["CollectionCertStoreParameters", "java/security/cert/CollectionCertStoreParameters.html"],
+    \["Collections", "java/util/Collections.html"],
+    \["Color", "java/awt/Color.html"],
+    \["ColorChooserComponentFactory", "javax/swing/colorchooser/ColorChooserComponentFactory.html"],
+    \["ColorChooserUI", "javax/swing/plaf/ColorChooserUI.html"],
+    \["ColorConvertOp", "java/awt/image/ColorConvertOp.html"],
+    \["ColorModel", "java/awt/image/ColorModel.html"],
+    \["ColorSelectionModel", "javax/swing/colorchooser/ColorSelectionModel.html"],
+    \["ColorSpace", "java/awt/color/ColorSpace.html"],
+    \["ColorSupported", "javax/print/attribute/standard/ColorSupported.html"],
+    \["ColorType", "javax/swing/plaf/synth/ColorType.html"],
+    \["ColorUIResource", "javax/swing/plaf/ColorUIResource.html"],
+    \["ComboBoxEditor", "javax/swing/ComboBoxEditor.html"],
+    \["ComboBoxModel", "javax/swing/ComboBoxModel.html"],
+    \["ComboBoxUI", "javax/swing/plaf/ComboBoxUI.html"],
+    \["ComboPopup", "javax/swing/plaf/basic/ComboPopup.html"],
+    \["COMM_FAILURE", "org/omg/CORBA/COMM_FAILURE.html"],
+    \["CommandInfo", "javax/activation/CommandInfo.html"],
+    \["CommandMap", "javax/activation/CommandMap.html"],
+    \["CommandObject", "javax/activation/CommandObject.html"],
+    \["Comment", "javax/xml/stream/events/Comment.html"],
+    \["Comment", "org/w3c/dom/Comment.html"],
+    \["CommonDataSource", "javax/sql/CommonDataSource.html"],
+    \["CommunicationException", "javax/naming/CommunicationException.html"],
+    \["Comparable", "java/lang/Comparable.html"],
+    \["Comparator", "java/util/Comparator.html"],
+    \["Compilable", "javax/script/Compilable.html"],
+    \["CompilationMXBean", "java/lang/management/CompilationMXBean.html"],
+    \["CompiledScript", "javax/script/CompiledScript.html"],
+    \["Compiler", "java/lang/Compiler.html"],
+    \["Completion", "javax/annotation/processing/Completion.html"],
+    \["Completions", "javax/annotation/processing/Completions.html"],
+    \["CompletionService", "java/util/concurrent/CompletionService.html"],
+    \["CompletionStatus", "org/omg/CORBA/CompletionStatus.html"],
+    \["CompletionStatusHelper", "org/omg/CORBA/CompletionStatusHelper.html"],
+    \["Component", "java/awt/Component.html"],
+    \["Component.BaselineResizeBehavior", "java/awt/Component.BaselineResizeBehavior.html"],
+    \["ComponentAdapter", "java/awt/event/ComponentAdapter.html"],
+    \["ComponentColorModel", "java/awt/image/ComponentColorModel.html"],
+    \["ComponentEvent", "java/awt/event/ComponentEvent.html"],
+    \["ComponentIdHelper", "org/omg/IOP/ComponentIdHelper.html"],
+    \["ComponentInputMap", "javax/swing/ComponentInputMap.html"],
+    \["ComponentInputMapUIResource", "javax/swing/plaf/ComponentInputMapUIResource.html"],
+    \["ComponentListener", "java/awt/event/ComponentListener.html"],
+    \["ComponentOrientation", "java/awt/ComponentOrientation.html"],
+    \["ComponentSampleModel", "java/awt/image/ComponentSampleModel.html"],
+    \["ComponentUI", "javax/swing/plaf/ComponentUI.html"],
+    \["ComponentView", "javax/swing/text/ComponentView.html"],
+    \["Composite", "java/awt/Composite.html"],
+    \["CompositeContext", "java/awt/CompositeContext.html"],
+    \["CompositeData", "javax/management/openmbean/CompositeData.html"],
+    \["CompositeDataInvocationHandler", "javax/management/openmbean/CompositeDataInvocationHandler.html"],
+    \["CompositeDataSupport", "javax/management/openmbean/CompositeDataSupport.html"],
+    \["CompositeDataView", "javax/management/openmbean/CompositeDataView.html"],
+    \["CompositeName", "javax/naming/CompositeName.html"],
+    \["CompositeType", "javax/management/openmbean/CompositeType.html"],
+    \["CompositeView", "javax/swing/text/CompositeView.html"],
+    \["CompoundBorder", "javax/swing/border/CompoundBorder.html"],
+    \["CompoundControl", "javax/sound/sampled/CompoundControl.html"],
+    \["CompoundControl.Type", "javax/sound/sampled/CompoundControl.Type.html"],
+    \["CompoundEdit", "javax/swing/undo/CompoundEdit.html"],
+    \["CompoundName", "javax/naming/CompoundName.html"],
+    \["Compression", "javax/print/attribute/standard/Compression.html"],
+    \["ConcurrentHashMap", "java/util/concurrent/ConcurrentHashMap.html"],
+    \["ConcurrentLinkedQueue", "java/util/concurrent/ConcurrentLinkedQueue.html"],
+    \["ConcurrentMap", "java/util/concurrent/ConcurrentMap.html"],
+    \["ConcurrentModificationException", "java/util/ConcurrentModificationException.html"],
+    \["ConcurrentNavigableMap", "java/util/concurrent/ConcurrentNavigableMap.html"],
+    \["ConcurrentSkipListMap", "java/util/concurrent/ConcurrentSkipListMap.html"],
+    \["ConcurrentSkipListSet", "java/util/concurrent/ConcurrentSkipListSet.html"],
+    \["Condition", "java/util/concurrent/locks/Condition.html"],
+    \["Configuration", "javax/security/auth/login/Configuration.html"],
+    \["Configuration.Parameters", "javax/security/auth/login/Configuration.Parameters.html"],
+    \["ConfigurationException", "javax/naming/ConfigurationException.html"],
+    \["ConfigurationSpi", "javax/security/auth/login/ConfigurationSpi.html"],
+    \["ConfirmationCallback", "javax/security/auth/callback/ConfirmationCallback.html"],
+    \["ConnectException", "java/net/ConnectException.html"],
+    \["ConnectException", "java/rmi/ConnectException.html"],
+    \["ConnectIOException", "java/rmi/ConnectIOException.html"],
+    \["Connection", "java/sql/Connection.html"],
+    \["ConnectionEvent", "javax/sql/ConnectionEvent.html"],
+    \["ConnectionEventListener", "javax/sql/ConnectionEventListener.html"],
+    \["ConnectionPendingException", "java/nio/channels/ConnectionPendingException.html"],
+    \["ConnectionPoolDataSource", "javax/sql/ConnectionPoolDataSource.html"],
+    \["Console", "java/io/Console.html"],
+    \["ConsoleHandler", "java/util/logging/ConsoleHandler.html"],
+    \["Constructor", "java/lang/reflect/Constructor.html"],
+    \["ConstructorProperties", "java/beans/ConstructorProperties.html"],
+    \["Container", "java/awt/Container.html"],
+    \["ContainerAdapter", "java/awt/event/ContainerAdapter.html"],
+    \["ContainerEvent", "java/awt/event/ContainerEvent.html"],
+    \["ContainerListener", "java/awt/event/ContainerListener.html"],
+    \["ContainerOrderFocusTraversalPolicy", "java/awt/ContainerOrderFocusTraversalPolicy.html"],
+    \["ContentHandler", "java/net/ContentHandler.html"],
+    \["ContentHandler", "org/xml/sax/ContentHandler.html"],
+    \["ContentHandlerFactory", "java/net/ContentHandlerFactory.html"],
+    \["ContentModel", "javax/swing/text/html/parser/ContentModel.html"],
+    \["Context", "javax/naming/Context.html"],
+    \["Context", "org/omg/CORBA/Context.html"],
+    \["ContextList", "org/omg/CORBA/ContextList.html"],
+    \["ContextNotEmptyException", "javax/naming/ContextNotEmptyException.html"],
+    \["ContextualRenderedImageFactory", "java/awt/image/renderable/ContextualRenderedImageFactory.html"],
+    \["Control", "javax/naming/ldap/Control.html"],
+    \["Control", "javax/sound/sampled/Control.html"],
+    \["Control.Type", "javax/sound/sampled/Control.Type.html"],
+    \["ControlFactory", "javax/naming/ldap/ControlFactory.html"],
+    \["ControllerEventListener", "javax/sound/midi/ControllerEventListener.html"],
+    \["ConvolveOp", "java/awt/image/ConvolveOp.html"],
+    \["CookieHandler", "java/net/CookieHandler.html"],
+    \["CookieHolder", "org/omg/PortableServer/ServantLocatorPackage/CookieHolder.html"],
+    \["CookieManager", "java/net/CookieManager.html"],
+    \["CookiePolicy", "java/net/CookiePolicy.html"],
+    \["CookieStore", "java/net/CookieStore.html"],
+    \["Copies", "javax/print/attribute/standard/Copies.html"],
+    \["CopiesSupported", "javax/print/attribute/standard/CopiesSupported.html"],
+    \["CopyOnWriteArrayList", "java/util/concurrent/CopyOnWriteArrayList.html"],
+    \["CopyOnWriteArraySet", "java/util/concurrent/CopyOnWriteArraySet.html"],
+    \["CountDownLatch", "java/util/concurrent/CountDownLatch.html"],
+    \["CounterMonitor", "javax/management/monitor/CounterMonitor.html"],
+    \["CounterMonitorMBean", "javax/management/monitor/CounterMonitorMBean.html"],
+    \["CRC32", "java/util/zip/CRC32.html"],
+    \["CredentialException", "javax/security/auth/login/CredentialException.html"],
+    \["CredentialExpiredException", "javax/security/auth/login/CredentialExpiredException.html"],
+    \["CredentialNotFoundException", "javax/security/auth/login/CredentialNotFoundException.html"],
+    \["CRL", "java/security/cert/CRL.html"],
+    \["CRLException", "java/security/cert/CRLException.html"],
+    \["CRLSelector", "java/security/cert/CRLSelector.html"],
+    \["CropImageFilter", "java/awt/image/CropImageFilter.html"],
+    \["CSS", "javax/swing/text/html/CSS.html"],
+    \["CSS.Attribute", "javax/swing/text/html/CSS.Attribute.html"],
+    \["CTX_RESTRICT_SCOPE", "org/omg/CORBA/CTX_RESTRICT_SCOPE.html"],
+    \["CubicCurve2D", "java/awt/geom/CubicCurve2D.html"],
+    \["CubicCurve2D.Double", "java/awt/geom/CubicCurve2D.Double.html"],
+    \["CubicCurve2D.Float", "java/awt/geom/CubicCurve2D.Float.html"],
+    \["Currency", "java/util/Currency.html"],
+    \["CurrencyNameProvider", "java/util/spi/CurrencyNameProvider.html"],
+    \["Current", "org/omg/CORBA/Current.html"],
+    \["Current", "org/omg/PortableInterceptor/Current.html"],
+    \["Current", "org/omg/PortableServer/Current.html"],
+    \["CurrentHelper", "org/omg/CORBA/CurrentHelper.html"],
+    \["CurrentHelper", "org/omg/PortableInterceptor/CurrentHelper.html"],
+    \["CurrentHelper", "org/omg/PortableServer/CurrentHelper.html"],
+    \["CurrentHolder", "org/omg/CORBA/CurrentHolder.html"],
+    \["CurrentOperations", "org/omg/CORBA/CurrentOperations.html"],
+    \["CurrentOperations", "org/omg/PortableInterceptor/CurrentOperations.html"],
+    \["CurrentOperations", "org/omg/PortableServer/CurrentOperations.html"],
+    \["Cursor", "java/awt/Cursor.html"],
+    \["Customizer", "java/beans/Customizer.html"],
+    \["CustomMarshal", "org/omg/CORBA/CustomMarshal.html"],
+    \["CustomValue", "org/omg/CORBA/portable/CustomValue.html"],
+    \["CyclicBarrier", "java/util/concurrent/CyclicBarrier.html"],
+    \["Data", "javax/xml/crypto/Data.html"],
+    \["DATA_CONVERSION", "org/omg/CORBA/DATA_CONVERSION.html"],
+    \["DatabaseMetaData", "java/sql/DatabaseMetaData.html"],
+    \["DataBindingException", "javax/xml/bind/DataBindingException.html"],
+    \["DataBuffer", "java/awt/image/DataBuffer.html"],
+    \["DataBufferByte", "java/awt/image/DataBufferByte.html"],
+    \["DataBufferDouble", "java/awt/image/DataBufferDouble.html"],
+    \["DataBufferFloat", "java/awt/image/DataBufferFloat.html"],
+    \["DataBufferInt", "java/awt/image/DataBufferInt.html"],
+    \["DataBufferShort", "java/awt/image/DataBufferShort.html"],
+    \["DataBufferUShort", "java/awt/image/DataBufferUShort.html"],
+    \["DataContentHandler", "javax/activation/DataContentHandler.html"],
+    \["DataContentHandlerFactory", "javax/activation/DataContentHandlerFactory.html"],
+    \["DataFlavor", "java/awt/datatransfer/DataFlavor.html"],
+    \["DataFormatException", "java/util/zip/DataFormatException.html"],
+    \["DatagramChannel", "java/nio/channels/DatagramChannel.html"],
+    \["DatagramPacket", "java/net/DatagramPacket.html"],
+    \["DatagramSocket", "java/net/DatagramSocket.html"],
+    \["DatagramSocketImpl", "java/net/DatagramSocketImpl.html"],
+    \["DatagramSocketImplFactory", "java/net/DatagramSocketImplFactory.html"],
+    \["DataHandler", "javax/activation/DataHandler.html"],
+    \["DataInput", "java/io/DataInput.html"],
+    \["DataInputStream", "java/io/DataInputStream.html"],
+    \["DataInputStream", "org/omg/CORBA/DataInputStream.html"],
+    \["DataLine", "javax/sound/sampled/DataLine.html"],
+    \["DataLine.Info", "javax/sound/sampled/DataLine.Info.html"],
+    \["DataOutput", "java/io/DataOutput.html"],
+    \["DataOutputStream", "java/io/DataOutputStream.html"],
+    \["DataOutputStream", "org/omg/CORBA/DataOutputStream.html"],
+    \["DataSource", "javax/activation/DataSource.html"],
+    \["DataSource", "javax/sql/DataSource.html"],
+    \["DataTruncation", "java/sql/DataTruncation.html"],
+    \["DatatypeConfigurationException", "javax/xml/datatype/DatatypeConfigurationException.html"],
+    \["DatatypeConstants", "javax/xml/datatype/DatatypeConstants.html"],
+    \["DatatypeConstants.Field", "javax/xml/datatype/DatatypeConstants.Field.html"],
+    \["DatatypeConverter", "javax/xml/bind/DatatypeConverter.html"],
+    \["DatatypeConverterInterface", "javax/xml/bind/DatatypeConverterInterface.html"],
+    \["DatatypeFactory", "javax/xml/datatype/DatatypeFactory.html"],
+    \["Date", "java/sql/Date.html"],
+    \["Date", "java/util/Date.html"],
+    \["DateFormat", "java/text/DateFormat.html"],
+    \["DateFormat.Field", "java/text/DateFormat.Field.html"],
+    \["DateFormatProvider", "java/text/spi/DateFormatProvider.html"],
+    \["DateFormatSymbols", "java/text/DateFormatSymbols.html"],
+    \["DateFormatSymbolsProvider", "java/text/spi/DateFormatSymbolsProvider.html"],
+    \["DateFormatter", "javax/swing/text/DateFormatter.html"],
+    \["DateTimeAtCompleted", "javax/print/attribute/standard/DateTimeAtCompleted.html"],
+    \["DateTimeAtCreation", "javax/print/attribute/standard/DateTimeAtCreation.html"],
+    \["DateTimeAtProcessing", "javax/print/attribute/standard/DateTimeAtProcessing.html"],
+    \["DateTimeSyntax", "javax/print/attribute/DateTimeSyntax.html"],
+    \["DebugGraphics", "javax/swing/DebugGraphics.html"],
+    \["DecimalFormat", "java/text/DecimalFormat.html"],
+    \["DecimalFormatSymbols", "java/text/DecimalFormatSymbols.html"],
+    \["DecimalFormatSymbolsProvider", "java/text/spi/DecimalFormatSymbolsProvider.html"],
+    \["DeclaredType", "javax/lang/model/type/DeclaredType.html"],
+    \["DeclHandler", "org/xml/sax/ext/DeclHandler.html"],
+    \["DefaultBoundedRangeModel", "javax/swing/DefaultBoundedRangeModel.html"],
+    \["DefaultButtonModel", "javax/swing/DefaultButtonModel.html"],
+    \["DefaultCaret", "javax/swing/text/DefaultCaret.html"],
+    \["DefaultCellEditor", "javax/swing/DefaultCellEditor.html"],
+    \["DefaultColorSelectionModel", "javax/swing/colorchooser/DefaultColorSelectionModel.html"],
+    \["DefaultComboBoxModel", "javax/swing/DefaultComboBoxModel.html"],
+    \["DefaultDesktopManager", "javax/swing/DefaultDesktopManager.html"],
+    \["DefaultEditorKit", "javax/swing/text/DefaultEditorKit.html"],
+    \["DefaultEditorKit.BeepAction", "javax/swing/text/DefaultEditorKit.BeepAction.html"],
+    \["DefaultEditorKit.CopyAction", "javax/swing/text/DefaultEditorKit.CopyAction.html"],
+    \["DefaultEditorKit.CutAction", "javax/swing/text/DefaultEditorKit.CutAction.html"],
+    \["DefaultEditorKit.DefaultKeyTypedAction", "javax/swing/text/DefaultEditorKit.DefaultKeyTypedAction.html"],
+    \["DefaultEditorKit.InsertBreakAction", "javax/swing/text/DefaultEditorKit.InsertBreakAction.html"],
+    \["DefaultEditorKit.InsertContentAction", "javax/swing/text/DefaultEditorKit.InsertContentAction.html"],
+    \["DefaultEditorKit.InsertTabAction", "javax/swing/text/DefaultEditorKit.InsertTabAction.html"],
+    \["DefaultEditorKit.PasteAction", "javax/swing/text/DefaultEditorKit.PasteAction.html"],
+    \["DefaultFocusManager", "javax/swing/DefaultFocusManager.html"],
+    \["DefaultFocusTraversalPolicy", "java/awt/DefaultFocusTraversalPolicy.html"],
+    \["DefaultFormatter", "javax/swing/text/DefaultFormatter.html"],
+    \["DefaultFormatterFactory", "javax/swing/text/DefaultFormatterFactory.html"],
+    \["DefaultHandler", "org/xml/sax/helpers/DefaultHandler.html"],
+    \["DefaultHandler2", "org/xml/sax/ext/DefaultHandler2.html"],
+    \["DefaultHighlighter", "javax/swing/text/DefaultHighlighter.html"],
+    \["DefaultHighlighter.DefaultHighlightPainter", "javax/swing/text/DefaultHighlighter.DefaultHighlightPainter.html"],
+    \["DefaultKeyboardFocusManager", "java/awt/DefaultKeyboardFocusManager.html"],
+    \["DefaultListCellRenderer", "javax/swing/DefaultListCellRenderer.html"],
+    \["DefaultListCellRenderer.UIResource", "javax/swing/DefaultListCellRenderer.UIResource.html"],
+    \["DefaultListModel", "javax/swing/DefaultListModel.html"],
+    \["DefaultListSelectionModel", "javax/swing/DefaultListSelectionModel.html"],
+    \["DefaultLoaderRepository", "javax/management/DefaultLoaderRepository.html"],
+    \["DefaultLoaderRepository", "javax/management/loading/DefaultLoaderRepository.html"],
+    \["DefaultMenuLayout", "javax/swing/plaf/basic/DefaultMenuLayout.html"],
+    \["DefaultMetalTheme", "javax/swing/plaf/metal/DefaultMetalTheme.html"],
+    \["DefaultMutableTreeNode", "javax/swing/tree/DefaultMutableTreeNode.html"],
+    \["DefaultPersistenceDelegate", "java/beans/DefaultPersistenceDelegate.html"],
+    \["DefaultRowSorter", "javax/swing/DefaultRowSorter.html"],
+    \["DefaultRowSorter.ModelWrapper", "javax/swing/DefaultRowSorter.ModelWrapper.html"],
+    \["DefaultSingleSelectionModel", "javax/swing/DefaultSingleSelectionModel.html"],
+    \["DefaultStyledDocument", "javax/swing/text/DefaultStyledDocument.html"],
+    \["DefaultStyledDocument.AttributeUndoableEdit", "javax/swing/text/DefaultStyledDocument.AttributeUndoableEdit.html"],
+    \["DefaultStyledDocument.ElementSpec", "javax/swing/text/DefaultStyledDocument.ElementSpec.html"],
+    \["DefaultTableCellRenderer", "javax/swing/table/DefaultTableCellRenderer.html"],
+    \["DefaultTableCellRenderer.UIResource", "javax/swing/table/DefaultTableCellRenderer.UIResource.html"],
+    \["DefaultTableColumnModel", "javax/swing/table/DefaultTableColumnModel.html"],
+    \["DefaultTableModel", "javax/swing/table/DefaultTableModel.html"],
+    \["DefaultTextUI", "javax/swing/text/DefaultTextUI.html"],
+    \["DefaultTreeCellEditor", "javax/swing/tree/DefaultTreeCellEditor.html"],
+    \["DefaultTreeCellRenderer", "javax/swing/tree/DefaultTreeCellRenderer.html"],
+    \["DefaultTreeModel", "javax/swing/tree/DefaultTreeModel.html"],
+    \["DefaultTreeSelectionModel", "javax/swing/tree/DefaultTreeSelectionModel.html"],
+    \["DefaultValidationEventHandler", "javax/xml/bind/helpers/DefaultValidationEventHandler.html"],
+    \["DefinitionKind", "org/omg/CORBA/DefinitionKind.html"],
+    \["DefinitionKindHelper", "org/omg/CORBA/DefinitionKindHelper.html"],
+    \["Deflater", "java/util/zip/Deflater.html"],
+    \["DeflaterInputStream", "java/util/zip/DeflaterInputStream.html"],
+    \["DeflaterOutputStream", "java/util/zip/DeflaterOutputStream.html"],
+    \["Delayed", "java/util/concurrent/Delayed.html"],
+    \["DelayQueue", "java/util/concurrent/DelayQueue.html"],
+    \["Delegate", "org/omg/CORBA/portable/Delegate.html"],
+    \["Delegate", "org/omg/CORBA_2_3/portable/Delegate.html"],
+    \["Delegate", "org/omg/PortableServer/portable/Delegate.html"],
+    \["DelegationPermission", "javax/security/auth/kerberos/DelegationPermission.html"],
+    \["Deprecated", "java/lang/Deprecated.html"],
+    \["Deque", "java/util/Deque.html"],
+    \["Descriptor", "javax/management/Descriptor.html"],
+    \["DescriptorAccess", "javax/management/DescriptorAccess.html"],
+    \["DescriptorKey", "javax/management/DescriptorKey.html"],
+    \["DescriptorRead", "javax/management/DescriptorRead.html"],
+    \["DescriptorSupport", "javax/management/modelmbean/DescriptorSupport.html"],
+    \["DESedeKeySpec", "javax/crypto/spec/DESedeKeySpec.html"],
+    \["DesignMode", "java/beans/DesignMode.html"],
+    \["DESKeySpec", "javax/crypto/spec/DESKeySpec.html"],
+    \["Desktop", "java/awt/Desktop.html"],
+    \["Desktop.Action", "java/awt/Desktop.Action.html"],
+    \["DesktopIconUI", "javax/swing/plaf/DesktopIconUI.html"],
+    \["DesktopManager", "javax/swing/DesktopManager.html"],
+    \["DesktopPaneUI", "javax/swing/plaf/DesktopPaneUI.html"],
+    \["Destination", "javax/print/attribute/standard/Destination.html"],
+    \["Destroyable", "javax/security/auth/Destroyable.html"],
+    \["DestroyFailedException", "javax/security/auth/DestroyFailedException.html"],
+    \["Detail", "javax/xml/soap/Detail.html"],
+    \["DetailEntry", "javax/xml/soap/DetailEntry.html"],
+    \["DGC", "java/rmi/dgc/DGC.html"],
+    \["DHGenParameterSpec", "javax/crypto/spec/DHGenParameterSpec.html"],
+    \["DHKey", "javax/crypto/interfaces/DHKey.html"],
+    \["DHParameterSpec", "javax/crypto/spec/DHParameterSpec.html"],
+    \["DHPrivateKey", "javax/crypto/interfaces/DHPrivateKey.html"],
+    \["DHPrivateKeySpec", "javax/crypto/spec/DHPrivateKeySpec.html"],
+    \["DHPublicKey", "javax/crypto/interfaces/DHPublicKey.html"],
+    \["DHPublicKeySpec", "javax/crypto/spec/DHPublicKeySpec.html"],
+    \["Diagnostic", "javax/tools/Diagnostic.html"],
+    \["Diagnostic.Kind", "javax/tools/Diagnostic.Kind.html"],
+    \["DiagnosticCollector", "javax/tools/DiagnosticCollector.html"],
+    \["DiagnosticListener", "javax/tools/DiagnosticListener.html"],
+    \["Dialog", "java/awt/Dialog.html"],
+    \["Dialog.ModalExclusionType", "java/awt/Dialog.ModalExclusionType.html"],
+    \["Dialog.ModalityType", "java/awt/Dialog.ModalityType.html"],
+    \["Dictionary", "java/util/Dictionary.html"],
+    \["DigestException", "java/security/DigestException.html"],
+    \["DigestInputStream", "java/security/DigestInputStream.html"],
+    \["DigestMethod", "javax/xml/crypto/dsig/DigestMethod.html"],
+    \["DigestMethodParameterSpec", "javax/xml/crypto/dsig/spec/DigestMethodParameterSpec.html"],
+    \["DigestOutputStream", "java/security/DigestOutputStream.html"],
+    \["Dimension", "java/awt/Dimension.html"],
+    \["Dimension2D", "java/awt/geom/Dimension2D.html"],
+    \["DimensionUIResource", "javax/swing/plaf/DimensionUIResource.html"],
+    \["DirContext", "javax/naming/directory/DirContext.html"],
+    \["DirectColorModel", "java/awt/image/DirectColorModel.html"],
+    \["DirectoryManager", "javax/naming/spi/DirectoryManager.html"],
+    \["DirObjectFactory", "javax/naming/spi/DirObjectFactory.html"],
+    \["DirStateFactory", "javax/naming/spi/DirStateFactory.html"],
+    \["DirStateFactory.Result", "javax/naming/spi/DirStateFactory.Result.html"],
+    \["DISCARDING", "org/omg/PortableInterceptor/DISCARDING.html"],
+    \["Dispatch", "javax/xml/ws/Dispatch.html"],
+    \["DisplayMode", "java/awt/DisplayMode.html"],
+    \["DnDConstants", "java/awt/dnd/DnDConstants.html"],
+    \["Doc", "javax/print/Doc.html"],
+    \["DocAttribute", "javax/print/attribute/DocAttribute.html"],
+    \["DocAttributeSet", "javax/print/attribute/DocAttributeSet.html"],
+    \["DocFlavor", "javax/print/DocFlavor.html"],
+    \["DocFlavor.BYTE_ARRAY", "javax/print/DocFlavor.BYTE_ARRAY.html"],
+    \["DocFlavor.CHAR_ARRAY", "javax/print/DocFlavor.CHAR_ARRAY.html"],
+    \["DocFlavor.INPUT_STREAM", "javax/print/DocFlavor.INPUT_STREAM.html"],
+    \["DocFlavor.READER", "javax/print/DocFlavor.READER.html"],
+    \["DocFlavor.SERVICE_FORMATTED", "javax/print/DocFlavor.SERVICE_FORMATTED.html"],
+    \["DocFlavor.STRING", "javax/print/DocFlavor.STRING.html"],
+    \["DocFlavor.URL", "javax/print/DocFlavor.URL.html"],
+    \["DocPrintJob", "javax/print/DocPrintJob.html"],
+    \["Document", "javax/swing/text/Document.html"],
+    \["Document", "org/w3c/dom/Document.html"],
+    \["DocumentBuilder", "javax/xml/parsers/DocumentBuilder.html"],
+    \["DocumentBuilderFactory", "javax/xml/parsers/DocumentBuilderFactory.html"],
+    \["Documented", "java/lang/annotation/Documented.html"],
+    \["DocumentEvent", "javax/swing/event/DocumentEvent.html"],
+    \["DocumentEvent", "org/w3c/dom/events/DocumentEvent.html"],
+    \["DocumentEvent.ElementChange", "javax/swing/event/DocumentEvent.ElementChange.html"],
+    \["DocumentEvent.EventType", "javax/swing/event/DocumentEvent.EventType.html"],
+    \["DocumentFilter", "javax/swing/text/DocumentFilter.html"],
+    \["DocumentFilter.FilterBypass", "javax/swing/text/DocumentFilter.FilterBypass.html"],
+    \["DocumentFragment", "org/w3c/dom/DocumentFragment.html"],
+    \["DocumentHandler", "org/xml/sax/DocumentHandler.html"],
+    \["DocumentListener", "javax/swing/event/DocumentListener.html"],
+    \["DocumentName", "javax/print/attribute/standard/DocumentName.html"],
+    \["DocumentParser", "javax/swing/text/html/parser/DocumentParser.html"],
+    \["DocumentType", "org/w3c/dom/DocumentType.html"],
+    \["DomainCombiner", "java/security/DomainCombiner.html"],
+    \["DomainManager", "org/omg/CORBA/DomainManager.html"],
+    \["DomainManagerOperations", "org/omg/CORBA/DomainManagerOperations.html"],
+    \["DOMConfiguration", "org/w3c/dom/DOMConfiguration.html"],
+    \["DOMCryptoContext", "javax/xml/crypto/dom/DOMCryptoContext.html"],
+    \["DOMError", "org/w3c/dom/DOMError.html"],
+    \["DOMErrorHandler", "org/w3c/dom/DOMErrorHandler.html"],
+    \["DOMException", "org/w3c/dom/DOMException.html"],
+    \["DomHandler", "javax/xml/bind/annotation/DomHandler.html"],
+    \["DOMImplementation", "org/w3c/dom/DOMImplementation.html"],
+    \["DOMImplementationList", "org/w3c/dom/DOMImplementationList.html"],
+    \["DOMImplementationLS", "org/w3c/dom/ls/DOMImplementationLS.html"],
+    \["DOMImplementationRegistry", "org/w3c/dom/bootstrap/DOMImplementationRegistry.html"],
+    \["DOMImplementationSource", "org/w3c/dom/DOMImplementationSource.html"],
+    \["DOMLocator", "javax/xml/transform/dom/DOMLocator.html"],
+    \["DOMLocator", "org/w3c/dom/DOMLocator.html"],
+    \["DOMResult", "javax/xml/transform/dom/DOMResult.html"],
+    \["DOMSignContext", "javax/xml/crypto/dsig/dom/DOMSignContext.html"],
+    \["DOMSource", "javax/xml/transform/dom/DOMSource.html"],
+    \["DOMStringList", "org/w3c/dom/DOMStringList.html"],
+    \["DOMStructure", "javax/xml/crypto/dom/DOMStructure.html"],
+    \["DOMURIReference", "javax/xml/crypto/dom/DOMURIReference.html"],
+    \["DOMValidateContext", "javax/xml/crypto/dsig/dom/DOMValidateContext.html"],
+    \["Double", "java/lang/Double.html"],
+    \["DoubleBuffer", "java/nio/DoubleBuffer.html"],
+    \["DoubleHolder", "org/omg/CORBA/DoubleHolder.html"],
+    \["DoubleSeqHelper", "org/omg/CORBA/DoubleSeqHelper.html"],
+    \["DoubleSeqHolder", "org/omg/CORBA/DoubleSeqHolder.html"],
+    \["DragGestureEvent", "java/awt/dnd/DragGestureEvent.html"],
+    \["DragGestureListener", "java/awt/dnd/DragGestureListener.html"],
+    \["DragGestureRecognizer", "java/awt/dnd/DragGestureRecognizer.html"],
+    \["DragSource", "java/awt/dnd/DragSource.html"],
+    \["DragSourceAdapter", "java/awt/dnd/DragSourceAdapter.html"],
+    \["DragSourceContext", "java/awt/dnd/DragSourceContext.html"],
+    \["DragSourceDragEvent", "java/awt/dnd/DragSourceDragEvent.html"],
+    \["DragSourceDropEvent", "java/awt/dnd/DragSourceDropEvent.html"],
+    \["DragSourceEvent", "java/awt/dnd/DragSourceEvent.html"],
+    \["DragSourceListener", "java/awt/dnd/DragSourceListener.html"],
+    \["DragSourceMotionListener", "java/awt/dnd/DragSourceMotionListener.html"],
+    \["Driver", "java/sql/Driver.html"],
+    \["DriverManager", "java/sql/DriverManager.html"],
+    \["DriverPropertyInfo", "java/sql/DriverPropertyInfo.html"],
+    \["DropMode", "javax/swing/DropMode.html"],
+    \["DropTarget", "java/awt/dnd/DropTarget.html"],
+    \["DropTarget.DropTargetAutoScroller", "java/awt/dnd/DropTarget.DropTargetAutoScroller.html"],
+    \["DropTargetAdapter", "java/awt/dnd/DropTargetAdapter.html"],
+    \["DropTargetContext", "java/awt/dnd/DropTargetContext.html"],
+    \["DropTargetDragEvent", "java/awt/dnd/DropTargetDragEvent.html"],
+    \["DropTargetDropEvent", "java/awt/dnd/DropTargetDropEvent.html"],
+    \["DropTargetEvent", "java/awt/dnd/DropTargetEvent.html"],
+    \["DropTargetListener", "java/awt/dnd/DropTargetListener.html"],
+    \["DSAKey", "java/security/interfaces/DSAKey.html"],
+    \["DSAKeyPairGenerator", "java/security/interfaces/DSAKeyPairGenerator.html"],
+    \["DSAParameterSpec", "java/security/spec/DSAParameterSpec.html"],
+    \["DSAParams", "java/security/interfaces/DSAParams.html"],
+    \["DSAPrivateKey", "java/security/interfaces/DSAPrivateKey.html"],
+    \["DSAPrivateKeySpec", "java/security/spec/DSAPrivateKeySpec.html"],
+    \["DSAPublicKey", "java/security/interfaces/DSAPublicKey.html"],
+    \["DSAPublicKeySpec", "java/security/spec/DSAPublicKeySpec.html"],
+    \["DTD", "javax/swing/text/html/parser/DTD.html"],
+    \["DTD", "javax/xml/stream/events/DTD.html"],
+    \["DTDConstants", "javax/swing/text/html/parser/DTDConstants.html"],
+    \["DTDHandler", "org/xml/sax/DTDHandler.html"],
+    \["DuplicateFormatFlagsException", "java/util/DuplicateFormatFlagsException.html"],
+    \["DuplicateName", "org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.html"],
+    \["DuplicateNameHelper", "org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.html"],
+    \["Duration", "javax/xml/datatype/Duration.html"],
+    \["DynamicImplementation", "org/omg/CORBA/DynamicImplementation.html"],
+    \["DynamicImplementation", "org/omg/PortableServer/DynamicImplementation.html"],
+    \["DynamicMBean", "javax/management/DynamicMBean.html"],
+    \["DynAny", "org/omg/CORBA/DynAny.html"],
+    \["DynAny", "org/omg/DynamicAny/DynAny.html"],
+    \["DynAnyFactory", "org/omg/DynamicAny/DynAnyFactory.html"],
+    \["DynAnyFactoryHelper", "org/omg/DynamicAny/DynAnyFactoryHelper.html"],
+    \["DynAnyFactoryOperations", "org/omg/DynamicAny/DynAnyFactoryOperations.html"],
+    \["DynAnyHelper", "org/omg/DynamicAny/DynAnyHelper.html"],
+    \["DynAnyOperations", "org/omg/DynamicAny/DynAnyOperations.html"],
+    \["DynAnySeqHelper", "org/omg/DynamicAny/DynAnySeqHelper.html"],
+    \["DynArray", "org/omg/CORBA/DynArray.html"],
+    \["DynArray", "org/omg/DynamicAny/DynArray.html"],
+    \["DynArrayHelper", "org/omg/DynamicAny/DynArrayHelper.html"],
+    \["DynArrayOperations", "org/omg/DynamicAny/DynArrayOperations.html"],
+    \["DynEnum", "org/omg/CORBA/DynEnum.html"],
+    \["DynEnum", "org/omg/DynamicAny/DynEnum.html"],
+    \["DynEnumHelper", "org/omg/DynamicAny/DynEnumHelper.html"],
+    \["DynEnumOperations", "org/omg/DynamicAny/DynEnumOperations.html"],
+    \["DynFixed", "org/omg/CORBA/DynFixed.html"],
+    \["DynFixed", "org/omg/DynamicAny/DynFixed.html"],
+    \["DynFixedHelper", "org/omg/DynamicAny/DynFixedHelper.html"],
+    \["DynFixedOperations", "org/omg/DynamicAny/DynFixedOperations.html"],
+    \["DynSequence", "org/omg/CORBA/DynSequence.html"],
+    \["DynSequence", "org/omg/DynamicAny/DynSequence.html"],
+    \["DynSequenceHelper", "org/omg/DynamicAny/DynSequenceHelper.html"],
+    \["DynSequenceOperations", "org/omg/DynamicAny/DynSequenceOperations.html"],
+    \["DynStruct", "org/omg/CORBA/DynStruct.html"],
+    \["DynStruct", "org/omg/DynamicAny/DynStruct.html"],
+    \["DynStructHelper", "org/omg/DynamicAny/DynStructHelper.html"],
+    \["DynStructOperations", "org/omg/DynamicAny/DynStructOperations.html"],
+    \["DynUnion", "org/omg/CORBA/DynUnion.html"],
+    \["DynUnion", "org/omg/DynamicAny/DynUnion.html"],
+    \["DynUnionHelper", "org/omg/DynamicAny/DynUnionHelper.html"],
+    \["DynUnionOperations", "org/omg/DynamicAny/DynUnionOperations.html"],
+    \["DynValue", "org/omg/CORBA/DynValue.html"],
+    \["DynValue", "org/omg/DynamicAny/DynValue.html"],
+    \["DynValueBox", "org/omg/DynamicAny/DynValueBox.html"],
+    \["DynValueBoxOperations", "org/omg/DynamicAny/DynValueBoxOperations.html"],
+    \["DynValueCommon", "org/omg/DynamicAny/DynValueCommon.html"],
+    \["DynValueCommonOperations", "org/omg/DynamicAny/DynValueCommonOperations.html"],
+    \["DynValueHelper", "org/omg/DynamicAny/DynValueHelper.html"],
+    \["DynValueOperations", "org/omg/DynamicAny/DynValueOperations.html"],
+    \["ECField", "java/security/spec/ECField.html"],
+    \["ECFieldF2m", "java/security/spec/ECFieldF2m.html"],
+    \["ECFieldFp", "java/security/spec/ECFieldFp.html"],
+    \["ECGenParameterSpec", "java/security/spec/ECGenParameterSpec.html"],
+    \["ECKey", "java/security/interfaces/ECKey.html"],
+    \["ECParameterSpec", "java/security/spec/ECParameterSpec.html"],
+    \["ECPoint", "java/security/spec/ECPoint.html"],
+    \["ECPrivateKey", "java/security/interfaces/ECPrivateKey.html"],
+    \["ECPrivateKeySpec", "java/security/spec/ECPrivateKeySpec.html"],
+    \["ECPublicKey", "java/security/interfaces/ECPublicKey.html"],
+    \["ECPublicKeySpec", "java/security/spec/ECPublicKeySpec.html"],
+    \["EditorKit", "javax/swing/text/EditorKit.html"],
+    \["Element", "javax/lang/model/element/Element.html"],
+    \["Element", "javax/swing/text/Element.html"],
+    \["Element", "javax/swing/text/html/parser/Element.html"],
+    \["Element", "javax/xml/bind/Element.html"],
+    \["Element", "org/w3c/dom/Element.html"],
+    \["ElementFilter", "javax/lang/model/util/ElementFilter.html"],
+    \["ElementIterator", "javax/swing/text/ElementIterator.html"],
+    \["ElementKind", "javax/lang/model/element/ElementKind.html"],
+    \["ElementKindVisitor6", "javax/lang/model/util/ElementKindVisitor6.html"],
+    \["Elements", "javax/lang/model/util/Elements.html"],
+    \["ElementScanner6", "javax/lang/model/util/ElementScanner6.html"],
+    \["ElementType", "java/lang/annotation/ElementType.html"],
+    \["ElementVisitor", "javax/lang/model/element/ElementVisitor.html"],
+    \["Ellipse2D", "java/awt/geom/Ellipse2D.html"],
+    \["Ellipse2D.Double", "java/awt/geom/Ellipse2D.Double.html"],
+    \["Ellipse2D.Float", "java/awt/geom/Ellipse2D.Float.html"],
+    \["EllipticCurve", "java/security/spec/EllipticCurve.html"],
+    \["EmptyBorder", "javax/swing/border/EmptyBorder.html"],
+    \["EmptyStackException", "java/util/EmptyStackException.html"],
+    \["EncodedKeySpec", "java/security/spec/EncodedKeySpec.html"],
+    \["Encoder", "java/beans/Encoder.html"],
+    \["Encoding", "org/omg/IOP/Encoding.html"],
+    \["ENCODING_CDR_ENCAPS", "org/omg/IOP/ENCODING_CDR_ENCAPS.html"],
+    \["EncryptedPrivateKeyInfo", "javax/crypto/EncryptedPrivateKeyInfo.html"],
+    \["EndDocument", "javax/xml/stream/events/EndDocument.html"],
+    \["EndElement", "javax/xml/stream/events/EndElement.html"],
+    \["Endpoint", "javax/xml/ws/Endpoint.html"],
+    \["EndpointReference", "javax/xml/ws/EndpointReference.html"],
+    \["Entity", "javax/swing/text/html/parser/Entity.html"],
+    \["Entity", "org/w3c/dom/Entity.html"],
+    \["EntityDeclaration", "javax/xml/stream/events/EntityDeclaration.html"],
+    \["EntityReference", "javax/xml/stream/events/EntityReference.html"],
+    \["EntityReference", "org/w3c/dom/EntityReference.html"],
+    \["EntityResolver", "org/xml/sax/EntityResolver.html"],
+    \["EntityResolver2", "org/xml/sax/ext/EntityResolver2.html"],
+    \["Enum", "java/lang/Enum.html"],
+    \["EnumConstantNotPresentException", "java/lang/EnumConstantNotPresentException.html"],
+    \["EnumControl", "javax/sound/sampled/EnumControl.html"],
+    \["EnumControl.Type", "javax/sound/sampled/EnumControl.Type.html"],
+    \["Enumeration", "java/util/Enumeration.html"],
+    \["EnumMap", "java/util/EnumMap.html"],
+    \["EnumSet", "java/util/EnumSet.html"],
+    \["EnumSyntax", "javax/print/attribute/EnumSyntax.html"],
+    \["Environment", "org/omg/CORBA/Environment.html"],
+    \["EOFException", "java/io/EOFException.html"],
+    \["Error", "java/lang/Error.html"],
+    \["ErrorHandler", "org/xml/sax/ErrorHandler.html"],
+    \["ErrorListener", "javax/xml/transform/ErrorListener.html"],
+    \["ErrorManager", "java/util/logging/ErrorManager.html"],
+    \["ErrorType", "javax/lang/model/type/ErrorType.html"],
+    \["EtchedBorder", "javax/swing/border/EtchedBorder.html"],
+    \["Event", "java/awt/Event.html"],
+    \["Event", "org/w3c/dom/events/Event.html"],
+    \["EventContext", "javax/naming/event/EventContext.html"],
+    \["EventDirContext", "javax/naming/event/EventDirContext.html"],
+    \["EventException", "org/w3c/dom/events/EventException.html"],
+    \["EventFilter", "javax/xml/stream/EventFilter.html"],
+    \["EventHandler", "java/beans/EventHandler.html"],
+    \["EventListener", "java/util/EventListener.html"],
+    \["EventListener", "org/w3c/dom/events/EventListener.html"],
+    \["EventListenerList", "javax/swing/event/EventListenerList.html"],
+    \["EventListenerProxy", "java/util/EventListenerProxy.html"],
+    \["EventObject", "java/util/EventObject.html"],
+    \["EventQueue", "java/awt/EventQueue.html"],
+    \["EventReaderDelegate", "javax/xml/stream/util/EventReaderDelegate.html"],
+    \["EventSetDescriptor", "java/beans/EventSetDescriptor.html"],
+    \["EventTarget", "org/w3c/dom/events/EventTarget.html"],
+    \["ExcC14NParameterSpec", "javax/xml/crypto/dsig/spec/ExcC14NParameterSpec.html"],
+    \["Exception", "java/lang/Exception.html"],
+    \["ExceptionDetailMessage", "org/omg/IOP/ExceptionDetailMessage.html"],
+    \["ExceptionInInitializerError", "java/lang/ExceptionInInitializerError.html"],
+    \["ExceptionList", "org/omg/CORBA/ExceptionList.html"],
+    \["ExceptionListener", "java/beans/ExceptionListener.html"],
+    \["Exchanger", "java/util/concurrent/Exchanger.html"],
+    \["ExecutableElement", "javax/lang/model/element/ExecutableElement.html"],
+    \["ExecutableType", "javax/lang/model/type/ExecutableType.html"],
+    \["ExecutionException", "java/util/concurrent/ExecutionException.html"],
+    \["Executor", "java/util/concurrent/Executor.html"],
+    \["ExecutorCompletionService", "java/util/concurrent/ExecutorCompletionService.html"],
+    \["Executors", "java/util/concurrent/Executors.html"],
+    \["ExecutorService", "java/util/concurrent/ExecutorService.html"],
+    \["ExemptionMechanism", "javax/crypto/ExemptionMechanism.html"],
+    \["ExemptionMechanismException", "javax/crypto/ExemptionMechanismException.html"],
+    \["ExemptionMechanismSpi", "javax/crypto/ExemptionMechanismSpi.html"],
+    \["ExpandVetoException", "javax/swing/tree/ExpandVetoException.html"],
+    \["ExportException", "java/rmi/server/ExportException.html"],
+    \["Expression", "java/beans/Expression.html"],
+    \["ExtendedRequest", "javax/naming/ldap/ExtendedRequest.html"],
+    \["ExtendedResponse", "javax/naming/ldap/ExtendedResponse.html"],
+    \["Externalizable", "java/io/Externalizable.html"],
+    \["FactoryConfigurationError", "javax/xml/parsers/FactoryConfigurationError.html"],
+    \["FactoryConfigurationError", "javax/xml/stream/FactoryConfigurationError.html"],
+    \["FailedLoginException", "javax/security/auth/login/FailedLoginException.html"],
+    \["FaultAction", "javax/xml/ws/FaultAction.html"],
+    \["FeatureDescriptor", "java/beans/FeatureDescriptor.html"],
+    \["Fidelity", "javax/print/attribute/standard/Fidelity.html"],
+    \["Field", "java/lang/reflect/Field.html"],
+    \["FieldNameHelper", "org/omg/CORBA/FieldNameHelper.html"],
+    \["FieldNameHelper", "org/omg/DynamicAny/FieldNameHelper.html"],
+    \["FieldPosition", "java/text/FieldPosition.html"],
+    \["FieldView", "javax/swing/text/FieldView.html"],
+    \["File", "java/io/File.html"],
+    \["FileCacheImageInputStream", "javax/imageio/stream/FileCacheImageInputStream.html"],
+    \["FileCacheImageOutputStream", "javax/imageio/stream/FileCacheImageOutputStream.html"],
+    \["FileChannel", "java/nio/channels/FileChannel.html"],
+    \["FileChannel.MapMode", "java/nio/channels/FileChannel.MapMode.html"],
+    \["FileChooserUI", "javax/swing/plaf/FileChooserUI.html"],
+    \["FileDataSource", "javax/activation/FileDataSource.html"],
+    \["FileDescriptor", "java/io/FileDescriptor.html"],
+    \["FileDialog", "java/awt/FileDialog.html"],
+    \["FileFilter", "java/io/FileFilter.html"],
+    \["FileFilter", "javax/swing/filechooser/FileFilter.html"],
+    \["FileHandler", "java/util/logging/FileHandler.html"],
+    \["FileImageInputStream", "javax/imageio/stream/FileImageInputStream.html"],
+    \["FileImageOutputStream", "javax/imageio/stream/FileImageOutputStream.html"],
+    \["FileInputStream", "java/io/FileInputStream.html"],
+    \["FileLock", "java/nio/channels/FileLock.html"],
+    \["FileLockInterruptionException", "java/nio/channels/FileLockInterruptionException.html"],
+    \["FileNameExtensionFilter", "javax/swing/filechooser/FileNameExtensionFilter.html"],
+    \["FilenameFilter", "java/io/FilenameFilter.html"],
+    \["FileNameMap", "java/net/FileNameMap.html"],
+    \["FileNotFoundException", "java/io/FileNotFoundException.html"],
+    \["FileObject", "javax/tools/FileObject.html"],
+    \["FileOutputStream", "java/io/FileOutputStream.html"],
+    \["FilePermission", "java/io/FilePermission.html"],
+    \["Filer", "javax/annotation/processing/Filer.html"],
+    \["FileReader", "java/io/FileReader.html"],
+    \["FilerException", "javax/annotation/processing/FilerException.html"],
+    \["FileSystemView", "javax/swing/filechooser/FileSystemView.html"],
+    \["FileTypeMap", "javax/activation/FileTypeMap.html"],
+    \["FileView", "javax/swing/filechooser/FileView.html"],
+    \["FileWriter", "java/io/FileWriter.html"],
+    \["Filter", "java/util/logging/Filter.html"],
+    \["FilteredImageSource", "java/awt/image/FilteredImageSource.html"],
+    \["FilteredRowSet", "javax/sql/rowset/FilteredRowSet.html"],
+    \["FilterInputStream", "java/io/FilterInputStream.html"],
+    \["FilterOutputStream", "java/io/FilterOutputStream.html"],
+    \["FilterReader", "java/io/FilterReader.html"],
+    \["FilterWriter", "java/io/FilterWriter.html"],
+    \["Finishings", "javax/print/attribute/standard/Finishings.html"],
+    \["FixedHeightLayoutCache", "javax/swing/tree/FixedHeightLayoutCache.html"],
+    \["FixedHolder", "org/omg/CORBA/FixedHolder.html"],
+    \["FlatteningPathIterator", "java/awt/geom/FlatteningPathIterator.html"],
+    \["FlavorEvent", "java/awt/datatransfer/FlavorEvent.html"],
+    \["FlavorException", "javax/print/FlavorException.html"],
+    \["FlavorListener", "java/awt/datatransfer/FlavorListener.html"],
+    \["FlavorMap", "java/awt/datatransfer/FlavorMap.html"],
+    \["FlavorTable", "java/awt/datatransfer/FlavorTable.html"],
+    \["Float", "java/lang/Float.html"],
+    \["FloatBuffer", "java/nio/FloatBuffer.html"],
+    \["FloatControl", "javax/sound/sampled/FloatControl.html"],
+    \["FloatControl.Type", "javax/sound/sampled/FloatControl.Type.html"],
+    \["FloatHolder", "org/omg/CORBA/FloatHolder.html"],
+    \["FloatSeqHelper", "org/omg/CORBA/FloatSeqHelper.html"],
+    \["FloatSeqHolder", "org/omg/CORBA/FloatSeqHolder.html"],
+    \["FlowLayout", "java/awt/FlowLayout.html"],
+    \["FlowView", "javax/swing/text/FlowView.html"],
+    \["FlowView.FlowStrategy", "javax/swing/text/FlowView.FlowStrategy.html"],
+    \["Flushable", "java/io/Flushable.html"],
+    \["FocusAdapter", "java/awt/event/FocusAdapter.html"],
+    \["FocusEvent", "java/awt/event/FocusEvent.html"],
+    \["FocusListener", "java/awt/event/FocusListener.html"],
+    \["FocusManager", "javax/swing/FocusManager.html"],
+    \["FocusTraversalPolicy", "java/awt/FocusTraversalPolicy.html"],
+    \["Font", "java/awt/Font.html"],
+    \["FontFormatException", "java/awt/FontFormatException.html"],
+    \["FontMetrics", "java/awt/FontMetrics.html"],
+    \["FontRenderContext", "java/awt/font/FontRenderContext.html"],
+    \["FontUIResource", "javax/swing/plaf/FontUIResource.html"],
+    \["Format", "java/text/Format.html"],
+    \["Format.Field", "java/text/Format.Field.html"],
+    \["FormatConversionProvider", "javax/sound/sampled/spi/FormatConversionProvider.html"],
+    \["FormatFlagsConversionMismatchException", "java/util/FormatFlagsConversionMismatchException.html"],
+    \["FormatMismatch", "org/omg/IOP/CodecPackage/FormatMismatch.html"],
+    \["FormatMismatchHelper", "org/omg/IOP/CodecPackage/FormatMismatchHelper.html"],
+    \["Formattable", "java/util/Formattable.html"],
+    \["FormattableFlags", "java/util/FormattableFlags.html"],
+    \["Formatter", "java/util/Formatter.html"],
+    \["Formatter", "java/util/logging/Formatter.html"],
+    \["Formatter.BigDecimalLayoutForm", "java/util/Formatter.BigDecimalLayoutForm.html"],
+    \["FormatterClosedException", "java/util/FormatterClosedException.html"],
+    \["FormSubmitEvent", "javax/swing/text/html/FormSubmitEvent.html"],
+    \["FormSubmitEvent.MethodType", "javax/swing/text/html/FormSubmitEvent.MethodType.html"],
+    \["FormView", "javax/swing/text/html/FormView.html"],
+    \["ForwardingFileObject", "javax/tools/ForwardingFileObject.html"],
+    \["ForwardingJavaFileManager", "javax/tools/ForwardingJavaFileManager.html"],
+    \["ForwardingJavaFileObject", "javax/tools/ForwardingJavaFileObject.html"],
+    \["ForwardRequest", "org/omg/PortableInterceptor/ForwardRequest.html"],
+    \["ForwardRequest", "org/omg/PortableServer/ForwardRequest.html"],
+    \["ForwardRequestHelper", "org/omg/PortableInterceptor/ForwardRequestHelper.html"],
+    \["ForwardRequestHelper", "org/omg/PortableServer/ForwardRequestHelper.html"],
+    \["Frame", "java/awt/Frame.html"],
+    \["FREE_MEM", "org/omg/CORBA/FREE_MEM.html"],
+    \["Future", "java/util/concurrent/Future.html"],
+    \["FutureTask", "java/util/concurrent/FutureTask.html"],
+    \["GapContent", "javax/swing/text/GapContent.html"],
+    \["GarbageCollectorMXBean", "java/lang/management/GarbageCollectorMXBean.html"],
+    \["GatheringByteChannel", "java/nio/channels/GatheringByteChannel.html"],
+    \["GaugeMonitor", "javax/management/monitor/GaugeMonitor.html"],
+    \["GaugeMonitorMBean", "javax/management/monitor/GaugeMonitorMBean.html"],
+    \["GeneralPath", "java/awt/geom/GeneralPath.html"],
+    \["GeneralSecurityException", "java/security/GeneralSecurityException.html"],
+    \["Generated", "javax/annotation/Generated.html"],
+    \["GenericArrayType", "java/lang/reflect/GenericArrayType.html"],
+    \["GenericDeclaration", "java/lang/reflect/GenericDeclaration.html"],
+    \["GenericSignatureFormatError", "java/lang/reflect/GenericSignatureFormatError.html"],
+    \["GlyphJustificationInfo", "java/awt/font/GlyphJustificationInfo.html"],
+    \["GlyphMetrics", "java/awt/font/GlyphMetrics.html"],
+    \["GlyphVector", "java/awt/font/GlyphVector.html"],
+    \["GlyphView", "javax/swing/text/GlyphView.html"],
+    \["GlyphView.GlyphPainter", "javax/swing/text/GlyphView.GlyphPainter.html"],
+    \["GradientPaint", "java/awt/GradientPaint.html"],
+    \["GraphicAttribute", "java/awt/font/GraphicAttribute.html"],
+    \["Graphics", "java/awt/Graphics.html"],
+    \["Graphics2D", "java/awt/Graphics2D.html"],
+    \["GraphicsConfigTemplate", "java/awt/GraphicsConfigTemplate.html"],
+    \["GraphicsConfiguration", "java/awt/GraphicsConfiguration.html"],
+    \["GraphicsDevice", "java/awt/GraphicsDevice.html"],
+    \["GraphicsEnvironment", "java/awt/GraphicsEnvironment.html"],
+    \["GrayFilter", "javax/swing/GrayFilter.html"],
+    \["GregorianCalendar", "java/util/GregorianCalendar.html"],
+    \["GridBagConstraints", "java/awt/GridBagConstraints.html"],
+    \["GridBagLayout", "java/awt/GridBagLayout.html"],
+    \["GridBagLayoutInfo", "java/awt/GridBagLayoutInfo.html"],
+    \["GridLayout", "java/awt/GridLayout.html"],
+    \["Group", "java/security/acl/Group.html"],
+    \["GroupLayout", "javax/swing/GroupLayout.html"],
+    \["GroupLayout.Alignment", "javax/swing/GroupLayout.Alignment.html"],
+    \["GSSContext", "org/ietf/jgss/GSSContext.html"],
+    \["GSSCredential", "org/ietf/jgss/GSSCredential.html"],
+    \["GSSException", "org/ietf/jgss/GSSException.html"],
+    \["GSSManager", "org/ietf/jgss/GSSManager.html"],
+    \["GSSName", "org/ietf/jgss/GSSName.html"],
+    \["Guard", "java/security/Guard.html"],
+    \["GuardedObject", "java/security/GuardedObject.html"],
+    \["GZIPInputStream", "java/util/zip/GZIPInputStream.html"],
+    \["GZIPOutputStream", "java/util/zip/GZIPOutputStream.html"],
+    \["Handler", "java/util/logging/Handler.html"],
+    \["Handler", "javax/xml/ws/handler/Handler.html"],
+    \["HandlerBase", "org/xml/sax/HandlerBase.html"],
+    \["HandlerChain", "javax/jws/HandlerChain.html"],
+    \["HandlerResolver", "javax/xml/ws/handler/HandlerResolver.html"],
+    \["HandshakeCompletedEvent", "javax/net/ssl/HandshakeCompletedEvent.html"],
+    \["HandshakeCompletedListener", "javax/net/ssl/HandshakeCompletedListener.html"],
+    \["HasControls", "javax/naming/ldap/HasControls.html"],
+    \["HashAttributeSet", "javax/print/attribute/HashAttributeSet.html"],
+    \["HashDocAttributeSet", "javax/print/attribute/HashDocAttributeSet.html"],
+    \["HashMap", "java/util/HashMap.html"],
+    \["HashPrintJobAttributeSet", "javax/print/attribute/HashPrintJobAttributeSet.html"],
+    \["HashPrintRequestAttributeSet", "javax/print/attribute/HashPrintRequestAttributeSet.html"],
+    \["HashPrintServiceAttributeSet", "javax/print/attribute/HashPrintServiceAttributeSet.html"],
+    \["HashSet", "java/util/HashSet.html"],
+    \["Hashtable", "java/util/Hashtable.html"],
+    \["HeadlessException", "java/awt/HeadlessException.html"],
+    \["HexBinaryAdapter", "javax/xml/bind/annotation/adapters/HexBinaryAdapter.html"],
+    \["HierarchyBoundsAdapter", "java/awt/event/HierarchyBoundsAdapter.html"],
+    \["HierarchyBoundsListener", "java/awt/event/HierarchyBoundsListener.html"],
+    \["HierarchyEvent", "java/awt/event/HierarchyEvent.html"],
+    \["HierarchyListener", "java/awt/event/HierarchyListener.html"],
+    \["Highlighter", "javax/swing/text/Highlighter.html"],
+    \["Highlighter.Highlight", "javax/swing/text/Highlighter.Highlight.html"],
+    \["Highlighter.HighlightPainter", "javax/swing/text/Highlighter.HighlightPainter.html"],
+    \["HMACParameterSpec", "javax/xml/crypto/dsig/spec/HMACParameterSpec.html"],
+    \["Holder", "javax/xml/ws/Holder.html"],
+    \["HOLDING", "org/omg/PortableInterceptor/HOLDING.html"],
+    \["HostnameVerifier", "javax/net/ssl/HostnameVerifier.html"],
+    \["HTML", "javax/swing/text/html/HTML.html"],
+    \["HTML.Attribute", "javax/swing/text/html/HTML.Attribute.html"],
+    \["HTML.Tag", "javax/swing/text/html/HTML.Tag.html"],
+    \["HTML.UnknownTag", "javax/swing/text/html/HTML.UnknownTag.html"],
+    \["HTMLDocument", "javax/swing/text/html/HTMLDocument.html"],
+    \["HTMLDocument.Iterator", "javax/swing/text/html/HTMLDocument.Iterator.html"],
+    \["HTMLEditorKit", "javax/swing/text/html/HTMLEditorKit.html"],
+    \["HTMLEditorKit.HTMLFactory", "javax/swing/text/html/HTMLEditorKit.HTMLFactory.html"],
+    \["HTMLEditorKit.HTMLTextAction", "javax/swing/text/html/HTMLEditorKit.HTMLTextAction.html"],
+    \["HTMLEditorKit.InsertHTMLTextAction", "javax/swing/text/html/HTMLEditorKit.InsertHTMLTextAction.html"],
+    \["HTMLEditorKit.LinkController", "javax/swing/text/html/HTMLEditorKit.LinkController.html"],
+    \["HTMLEditorKit.Parser", "javax/swing/text/html/HTMLEditorKit.Parser.html"],
+    \["HTMLEditorKit.ParserCallback", "javax/swing/text/html/HTMLEditorKit.ParserCallback.html"],
+    \["HTMLFrameHyperlinkEvent", "javax/swing/text/html/HTMLFrameHyperlinkEvent.html"],
+    \["HTMLWriter", "javax/swing/text/html/HTMLWriter.html"],
+    \["HTTPBinding", "javax/xml/ws/http/HTTPBinding.html"],
+    \["HttpCookie", "java/net/HttpCookie.html"],
+    \["HTTPException", "javax/xml/ws/http/HTTPException.html"],
+    \["HttpRetryException", "java/net/HttpRetryException.html"],
+    \["HttpsURLConnection", "javax/net/ssl/HttpsURLConnection.html"],
+    \["HttpURLConnection", "java/net/HttpURLConnection.html"],
+    \["HyperlinkEvent", "javax/swing/event/HyperlinkEvent.html"],
+    \["HyperlinkEvent.EventType", "javax/swing/event/HyperlinkEvent.EventType.html"],
+    \["HyperlinkListener", "javax/swing/event/HyperlinkListener.html"],
+    \["ICC_ColorSpace", "java/awt/color/ICC_ColorSpace.html"],
+    \["ICC_Profile", "java/awt/color/ICC_Profile.html"],
+    \["ICC_ProfileGray", "java/awt/color/ICC_ProfileGray.html"],
+    \["ICC_ProfileRGB", "java/awt/color/ICC_ProfileRGB.html"],
+    \["Icon", "javax/swing/Icon.html"],
+    \["IconUIResource", "javax/swing/plaf/IconUIResource.html"],
+    \["IconView", "javax/swing/text/IconView.html"],
+    \["ID_ASSIGNMENT_POLICY_ID", "org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.html"],
+    \["ID_UNIQUENESS_POLICY_ID", "org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID.html"],
+    \["IdAssignmentPolicy", "org/omg/PortableServer/IdAssignmentPolicy.html"],
+    \["IdAssignmentPolicyOperations", "org/omg/PortableServer/IdAssignmentPolicyOperations.html"],
+    \["IdAssignmentPolicyValue", "org/omg/PortableServer/IdAssignmentPolicyValue.html"],
+    \["IdentifierHelper", "org/omg/CORBA/IdentifierHelper.html"],
+    \["Identity", "java/security/Identity.html"],
+    \["IdentityHashMap", "java/util/IdentityHashMap.html"],
+    \["IdentityScope", "java/security/IdentityScope.html"],
+    \["IDLEntity", "org/omg/CORBA/portable/IDLEntity.html"],
+    \["IDLType", "org/omg/CORBA/IDLType.html"],
+    \["IDLTypeHelper", "org/omg/CORBA/IDLTypeHelper.html"],
+    \["IDLTypeOperations", "org/omg/CORBA/IDLTypeOperations.html"],
+    \["IDN", "java/net/IDN.html"],
+    \["IdUniquenessPolicy", "org/omg/PortableServer/IdUniquenessPolicy.html"],
+    \["IdUniquenessPolicyOperations", "org/omg/PortableServer/IdUniquenessPolicyOperations.html"],
+    \["IdUniquenessPolicyValue", "org/omg/PortableServer/IdUniquenessPolicyValue.html"],
+    \["IIOByteBuffer", "javax/imageio/stream/IIOByteBuffer.html"],
+    \["IIOException", "javax/imageio/IIOException.html"],
+    \["IIOImage", "javax/imageio/IIOImage.html"],
+    \["IIOInvalidTreeException", "javax/imageio/metadata/IIOInvalidTreeException.html"],
+    \["IIOMetadata", "javax/imageio/metadata/IIOMetadata.html"],
+    \["IIOMetadataController", "javax/imageio/metadata/IIOMetadataController.html"],
+    \["IIOMetadataFormat", "javax/imageio/metadata/IIOMetadataFormat.html"],
+    \["IIOMetadataFormatImpl", "javax/imageio/metadata/IIOMetadataFormatImpl.html"],
+    \["IIOMetadataNode", "javax/imageio/metadata/IIOMetadataNode.html"],
+    \["IIOParam", "javax/imageio/IIOParam.html"],
+    \["IIOParamController", "javax/imageio/IIOParamController.html"],
+    \["IIOReadProgressListener", "javax/imageio/event/IIOReadProgressListener.html"],
+    \["IIOReadUpdateListener", "javax/imageio/event/IIOReadUpdateListener.html"],
+    \["IIOReadWarningListener", "javax/imageio/event/IIOReadWarningListener.html"],
+    \["IIORegistry", "javax/imageio/spi/IIORegistry.html"],
+    \["IIOServiceProvider", "javax/imageio/spi/IIOServiceProvider.html"],
+    \["IIOWriteProgressListener", "javax/imageio/event/IIOWriteProgressListener.html"],
+    \["IIOWriteWarningListener", "javax/imageio/event/IIOWriteWarningListener.html"],
+    \["IllegalAccessError", "java/lang/IllegalAccessError.html"],
+    \["IllegalAccessException", "java/lang/IllegalAccessException.html"],
+    \["IllegalArgumentException", "java/lang/IllegalArgumentException.html"],
+    \["IllegalBlockingModeException", "java/nio/channels/IllegalBlockingModeException.html"],
+    \["IllegalBlockSizeException", "javax/crypto/IllegalBlockSizeException.html"],
+    \["IllegalCharsetNameException", "java/nio/charset/IllegalCharsetNameException.html"],
+    \["IllegalClassFormatException", "java/lang/instrument/IllegalClassFormatException.html"],
+    \["IllegalComponentStateException", "java/awt/IllegalComponentStateException.html"],
+    \["IllegalFormatCodePointException", "java/util/IllegalFormatCodePointException.html"],
+    \["IllegalFormatConversionException", "java/util/IllegalFormatConversionException.html"],
+    \["IllegalFormatException", "java/util/IllegalFormatException.html"],
+    \["IllegalFormatFlagsException", "java/util/IllegalFormatFlagsException.html"],
+    \["IllegalFormatPrecisionException", "java/util/IllegalFormatPrecisionException.html"],
+    \["IllegalFormatWidthException", "java/util/IllegalFormatWidthException.html"],
+    \["IllegalMonitorStateException", "java/lang/IllegalMonitorStateException.html"],
+    \["IllegalPathStateException", "java/awt/geom/IllegalPathStateException.html"],
+    \["IllegalSelectorException", "java/nio/channels/IllegalSelectorException.html"],
+    \["IllegalStateException", "java/lang/IllegalStateException.html"],
+    \["IllegalThreadStateException", "java/lang/IllegalThreadStateException.html"],
+    \["Image", "java/awt/Image.html"],
+    \["ImageCapabilities", "java/awt/ImageCapabilities.html"],
+    \["ImageConsumer", "java/awt/image/ImageConsumer.html"],
+    \["ImageFilter", "java/awt/image/ImageFilter.html"],
+    \["ImageGraphicAttribute", "java/awt/font/ImageGraphicAttribute.html"],
+    \["ImageIcon", "javax/swing/ImageIcon.html"],
+    \["ImageInputStream", "javax/imageio/stream/ImageInputStream.html"],
+    \["ImageInputStreamImpl", "javax/imageio/stream/ImageInputStreamImpl.html"],
+    \["ImageInputStreamSpi", "javax/imageio/spi/ImageInputStreamSpi.html"],
+    \["ImageIO", "javax/imageio/ImageIO.html"],
+    \["ImageObserver", "java/awt/image/ImageObserver.html"],
+    \["ImageOutputStream", "javax/imageio/stream/ImageOutputStream.html"],
+    \["ImageOutputStreamImpl", "javax/imageio/stream/ImageOutputStreamImpl.html"],
+    \["ImageOutputStreamSpi", "javax/imageio/spi/ImageOutputStreamSpi.html"],
+    \["ImageProducer", "java/awt/image/ImageProducer.html"],
+    \["ImageReader", "javax/imageio/ImageReader.html"],
+    \["ImageReaderSpi", "javax/imageio/spi/ImageReaderSpi.html"],
+    \["ImageReaderWriterSpi", "javax/imageio/spi/ImageReaderWriterSpi.html"],
+    \["ImageReadParam", "javax/imageio/ImageReadParam.html"],
+    \["ImageTranscoder", "javax/imageio/ImageTranscoder.html"],
+    \["ImageTranscoderSpi", "javax/imageio/spi/ImageTranscoderSpi.html"],
+    \["ImageTypeSpecifier", "javax/imageio/ImageTypeSpecifier.html"],
+    \["ImageView", "javax/swing/text/html/ImageView.html"],
+    \["ImageWriteParam", "javax/imageio/ImageWriteParam.html"],
+    \["ImageWriter", "javax/imageio/ImageWriter.html"],
+    \["ImageWriterSpi", "javax/imageio/spi/ImageWriterSpi.html"],
+    \["ImagingOpException", "java/awt/image/ImagingOpException.html"],
+    \["ImmutableDescriptor", "javax/management/ImmutableDescriptor.html"],
+    \["IMP_LIMIT", "org/omg/CORBA/IMP_LIMIT.html"],
+    \["IMPLICIT_ACTIVATION_POLICY_ID", "org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.html"],
+    \["ImplicitActivationPolicy", "org/omg/PortableServer/ImplicitActivationPolicy.html"],
+    \["ImplicitActivationPolicyOperations", "org/omg/PortableServer/ImplicitActivationPolicyOperations.html"],
+    \["ImplicitActivationPolicyValue", "org/omg/PortableServer/ImplicitActivationPolicyValue.html"],
+    \["INACTIVE", "org/omg/PortableInterceptor/INACTIVE.html"],
+    \["IncompatibleClassChangeError", "java/lang/IncompatibleClassChangeError.html"],
+    \["IncompleteAnnotationException", "java/lang/annotation/IncompleteAnnotationException.html"],
+    \["InconsistentTypeCode", "org/omg/CORBA/ORBPackage/InconsistentTypeCode.html"],
+    \["InconsistentTypeCode", "org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.html"],
+    \["InconsistentTypeCodeHelper", "org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.html"],
+    \["IndexColorModel", "java/awt/image/IndexColorModel.html"],
+    \["IndexedPropertyChangeEvent", "java/beans/IndexedPropertyChangeEvent.html"],
+    \["IndexedPropertyDescriptor", "java/beans/IndexedPropertyDescriptor.html"],
+    \["IndexOutOfBoundsException", "java/lang/IndexOutOfBoundsException.html"],
+    \["IndirectionException", "org/omg/CORBA/portable/IndirectionException.html"],
+    \["Inet4Address", "java/net/Inet4Address.html"],
+    \["Inet6Address", "java/net/Inet6Address.html"],
+    \["InetAddress", "java/net/InetAddress.html"],
+    \["InetSocketAddress", "java/net/InetSocketAddress.html"],
+    \["Inflater", "java/util/zip/Inflater.html"],
+    \["InflaterInputStream", "java/util/zip/InflaterInputStream.html"],
+    \["InflaterOutputStream", "java/util/zip/InflaterOutputStream.html"],
+    \["InheritableThreadLocal", "java/lang/InheritableThreadLocal.html"],
+    \["Inherited", "java/lang/annotation/Inherited.html"],
+    \["InitialContext", "javax/naming/InitialContext.html"],
+    \["InitialContextFactory", "javax/naming/spi/InitialContextFactory.html"],
+    \["InitialContextFactoryBuilder", "javax/naming/spi/InitialContextFactoryBuilder.html"],
+    \["InitialDirContext", "javax/naming/directory/InitialDirContext.html"],
+    \["INITIALIZE", "org/omg/CORBA/INITIALIZE.html"],
+    \["InitialLdapContext", "javax/naming/ldap/InitialLdapContext.html"],
+    \["InitParam", "javax/jws/soap/InitParam.html"],
+    \["InlineView", "javax/swing/text/html/InlineView.html"],
+    \["InputContext", "java/awt/im/InputContext.html"],
+    \["InputEvent", "java/awt/event/InputEvent.html"],
+    \["InputMap", "javax/swing/InputMap.html"],
+    \["InputMapUIResource", "javax/swing/plaf/InputMapUIResource.html"],
+    \["InputMethod", "java/awt/im/spi/InputMethod.html"],
+    \["InputMethodContext", "java/awt/im/spi/InputMethodContext.html"],
+    \["InputMethodDescriptor", "java/awt/im/spi/InputMethodDescriptor.html"],
+    \["InputMethodEvent", "java/awt/event/InputMethodEvent.html"],
+    \["InputMethodHighlight", "java/awt/im/InputMethodHighlight.html"],
+    \["InputMethodListener", "java/awt/event/InputMethodListener.html"],
+    \["InputMethodRequests", "java/awt/im/InputMethodRequests.html"],
+    \["InputMismatchException", "java/util/InputMismatchException.html"],
+    \["InputSource", "org/xml/sax/InputSource.html"],
+    \["InputStream", "java/io/InputStream.html"],
+    \["InputStream", "org/omg/CORBA/portable/InputStream.html"],
+    \["InputStream", "org/omg/CORBA_2_3/portable/InputStream.html"],
+    \["InputStreamReader", "java/io/InputStreamReader.html"],
+    \["InputSubset", "java/awt/im/InputSubset.html"],
+    \["InputVerifier", "javax/swing/InputVerifier.html"],
+    \["Insets", "java/awt/Insets.html"],
+    \["InsetsUIResource", "javax/swing/plaf/InsetsUIResource.html"],
+    \["InstanceAlreadyExistsException", "javax/management/InstanceAlreadyExistsException.html"],
+    \["InstanceNotFoundException", "javax/management/InstanceNotFoundException.html"],
+    \["InstantiationError", "java/lang/InstantiationError.html"],
+    \["InstantiationException", "java/lang/InstantiationException.html"],
+    \["Instrument", "javax/sound/midi/Instrument.html"],
+    \["Instrumentation", "java/lang/instrument/Instrumentation.html"],
+    \["InsufficientResourcesException", "javax/naming/InsufficientResourcesException.html"],
+    \["IntBuffer", "java/nio/IntBuffer.html"],
+    \["Integer", "java/lang/Integer.html"],
+    \["IntegerSyntax", "javax/print/attribute/IntegerSyntax.html"],
+    \["Interceptor", "org/omg/PortableInterceptor/Interceptor.html"],
+    \["InterceptorOperations", "org/omg/PortableInterceptor/InterceptorOperations.html"],
+    \["InterfaceAddress", "java/net/InterfaceAddress.html"],
+    \["INTERNAL", "org/omg/CORBA/INTERNAL.html"],
+    \["InternalError", "java/lang/InternalError.html"],
+    \["InternalFrameAdapter", "javax/swing/event/InternalFrameAdapter.html"],
+    \["InternalFrameEvent", "javax/swing/event/InternalFrameEvent.html"],
+    \["InternalFrameFocusTraversalPolicy", "javax/swing/InternalFrameFocusTraversalPolicy.html"],
+    \["InternalFrameListener", "javax/swing/event/InternalFrameListener.html"],
+    \["InternalFrameUI", "javax/swing/plaf/InternalFrameUI.html"],
+    \["InternationalFormatter", "javax/swing/text/InternationalFormatter.html"],
+    \["InterruptedException", "java/lang/InterruptedException.html"],
+    \["InterruptedIOException", "java/io/InterruptedIOException.html"],
+    \["InterruptedNamingException", "javax/naming/InterruptedNamingException.html"],
+    \["InterruptibleChannel", "java/nio/channels/InterruptibleChannel.html"],
+    \["INTF_REPOS", "org/omg/CORBA/INTF_REPOS.html"],
+    \["IntHolder", "org/omg/CORBA/IntHolder.html"],
+    \["IntrospectionException", "java/beans/IntrospectionException.html"],
+    \["IntrospectionException", "javax/management/IntrospectionException.html"],
+    \["Introspector", "java/beans/Introspector.html"],
+    \["INV_FLAG", "org/omg/CORBA/INV_FLAG.html"],
+    \["INV_IDENT", "org/omg/CORBA/INV_IDENT.html"],
+    \["INV_OBJREF", "org/omg/CORBA/INV_OBJREF.html"],
+    \["INV_POLICY", "org/omg/CORBA/INV_POLICY.html"],
+    \["Invalid", "org/omg/CORBA/DynAnyPackage/Invalid.html"],
+    \["INVALID_ACTIVITY", "org/omg/CORBA/INVALID_ACTIVITY.html"],
+    \["INVALID_TRANSACTION", "org/omg/CORBA/INVALID_TRANSACTION.html"],
+    \["InvalidActivityException", "javax/activity/InvalidActivityException.html"],
+    \["InvalidAddress", "org/omg/CosNaming/NamingContextExtPackage/InvalidAddress.html"],
+    \["InvalidAddressHelper", "org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.html"],
+    \["InvalidAddressHolder", "org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.html"],
+    \["InvalidAlgorithmParameterException", "java/security/InvalidAlgorithmParameterException.html"],
+    \["InvalidApplicationException", "javax/management/InvalidApplicationException.html"],
+    \["InvalidAttributeIdentifierException", "javax/naming/directory/InvalidAttributeIdentifierException.html"],
+    \["InvalidAttributesException", "javax/naming/directory/InvalidAttributesException.html"],
+    \["InvalidAttributeValueException", "javax/management/InvalidAttributeValueException.html"],
+    \["InvalidAttributeValueException", "javax/naming/directory/InvalidAttributeValueException.html"],
+    \["InvalidClassException", "java/io/InvalidClassException.html"],
+    \["InvalidDnDOperationException", "java/awt/dnd/InvalidDnDOperationException.html"],
+    \["InvalidKeyException", "java/security/InvalidKeyException.html"],
+    \["InvalidKeyException", "javax/management/openmbean/InvalidKeyException.html"],
+    \["InvalidKeySpecException", "java/security/spec/InvalidKeySpecException.html"],
+    \["InvalidMarkException", "java/nio/InvalidMarkException.html"],
+    \["InvalidMidiDataException", "javax/sound/midi/InvalidMidiDataException.html"],
+    \["InvalidName", "org/omg/CORBA/ORBPackage/InvalidName.html"],
+    \["InvalidName", "org/omg/CosNaming/NamingContextPackage/InvalidName.html"],
+    \["InvalidName", "org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.html"],
+    \["InvalidNameException", "javax/naming/InvalidNameException.html"],
+    \["InvalidNameHelper", "org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.html"],
+    \["InvalidNameHelper", "org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.html"],
+    \["InvalidNameHolder", "org/omg/CosNaming/NamingContextPackage/InvalidNameHolder.html"],
+    \["InvalidObjectException", "java/io/InvalidObjectException.html"],
+    \["InvalidOpenTypeException", "javax/management/openmbean/InvalidOpenTypeException.html"],
+    \["InvalidParameterException", "java/security/InvalidParameterException.html"],
+    \["InvalidParameterSpecException", "java/security/spec/InvalidParameterSpecException.html"],
+    \["InvalidPolicy", "org/omg/PortableServer/POAPackage/InvalidPolicy.html"],
+    \["InvalidPolicyHelper", "org/omg/PortableServer/POAPackage/InvalidPolicyHelper.html"],
+    \["InvalidPreferencesFormatException", "java/util/prefs/InvalidPreferencesFormatException.html"],
+    \["InvalidPropertiesFormatException", "java/util/InvalidPropertiesFormatException.html"],
+    \["InvalidRelationIdException", "javax/management/relation/InvalidRelationIdException.html"],
+    \["InvalidRelationServiceException", "javax/management/relation/InvalidRelationServiceException.html"],
+    \["InvalidRelationTypeException", "javax/management/relation/InvalidRelationTypeException.html"],
+    \["InvalidRoleInfoException", "javax/management/relation/InvalidRoleInfoException.html"],
+    \["InvalidRoleValueException", "javax/management/relation/InvalidRoleValueException.html"],
+    \["InvalidSearchControlsException", "javax/naming/directory/InvalidSearchControlsException.html"],
+    \["InvalidSearchFilterException", "javax/naming/directory/InvalidSearchFilterException.html"],
+    \["InvalidSeq", "org/omg/CORBA/DynAnyPackage/InvalidSeq.html"],
+    \["InvalidSlot", "org/omg/PortableInterceptor/InvalidSlot.html"],
+    \["InvalidSlotHelper", "org/omg/PortableInterceptor/InvalidSlotHelper.html"],
+    \["InvalidTargetObjectTypeException", "javax/management/modelmbean/InvalidTargetObjectTypeException.html"],
+    \["InvalidTransactionException", "javax/transaction/InvalidTransactionException.html"],
+    \["InvalidTypeForEncoding", "org/omg/IOP/CodecPackage/InvalidTypeForEncoding.html"],
+    \["InvalidTypeForEncodingHelper", "org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.html"],
+    \["InvalidValue", "org/omg/CORBA/DynAnyPackage/InvalidValue.html"],
+    \["InvalidValue", "org/omg/DynamicAny/DynAnyPackage/InvalidValue.html"],
+    \["InvalidValueHelper", "org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.html"],
+    \["Invocable", "javax/script/Invocable.html"],
+    \["InvocationEvent", "java/awt/event/InvocationEvent.html"],
+    \["InvocationHandler", "java/lang/reflect/InvocationHandler.html"],
+    \["InvocationTargetException", "java/lang/reflect/InvocationTargetException.html"],
+    \["InvokeHandler", "org/omg/CORBA/portable/InvokeHandler.html"],
+    \["IOError", "java/io/IOError.html"],
+    \["IOException", "java/io/IOException.html"],
+    \["IOR", "org/omg/IOP/IOR.html"],
+    \["IORHelper", "org/omg/IOP/IORHelper.html"],
+    \["IORHolder", "org/omg/IOP/IORHolder.html"],
+    \["IORInfo", "org/omg/PortableInterceptor/IORInfo.html"],
+    \["IORInfoOperations", "org/omg/PortableInterceptor/IORInfoOperations.html"],
+    \["IORInterceptor", "org/omg/PortableInterceptor/IORInterceptor.html"],
+    \["IORInterceptor_3_0", "org/omg/PortableInterceptor/IORInterceptor_3_0.html"],
+    \["IORInterceptor_3_0Helper", "org/omg/PortableInterceptor/IORInterceptor_3_0Helper.html"],
+    \["IORInterceptor_3_0Holder", "org/omg/PortableInterceptor/IORInterceptor_3_0Holder.html"],
+    \["IORInterceptor_3_0Operations", "org/omg/PortableInterceptor/IORInterceptor_3_0Operations.html"],
+    \["IORInterceptorOperations", "org/omg/PortableInterceptor/IORInterceptorOperations.html"],
+    \["IRObject", "org/omg/CORBA/IRObject.html"],
+    \["IRObjectOperations", "org/omg/CORBA/IRObjectOperations.html"],
+    \["IstringHelper", "org/omg/CosNaming/IstringHelper.html"],
+    \["ItemEvent", "java/awt/event/ItemEvent.html"],
+    \["ItemListener", "java/awt/event/ItemListener.html"],
+    \["ItemSelectable", "java/awt/ItemSelectable.html"],
+    \["Iterable", "java/lang/Iterable.html"],
+    \["Iterator", "java/util/Iterator.html"],
+    \["IvParameterSpec", "javax/crypto/spec/IvParameterSpec.html"],
+    \["JApplet", "javax/swing/JApplet.html"],
+    \["JarEntry", "java/util/jar/JarEntry.html"],
+    \["JarException", "java/util/jar/JarException.html"],
+    \["JarFile", "java/util/jar/JarFile.html"],
+    \["JarInputStream", "java/util/jar/JarInputStream.html"],
+    \["JarOutputStream", "java/util/jar/JarOutputStream.html"],
+    \["JarURLConnection", "java/net/JarURLConnection.html"],
+    \["JavaCompiler", "javax/tools/JavaCompiler.html"],
+    \["JavaCompiler.CompilationTask", "javax/tools/JavaCompiler.CompilationTask.html"],
+    \["JavaFileManager", "javax/tools/JavaFileManager.html"],
+    \["JavaFileManager.Location", "javax/tools/JavaFileManager.Location.html"],
+    \["JavaFileObject", "javax/tools/JavaFileObject.html"],
+    \["JavaFileObject.Kind", "javax/tools/JavaFileObject.Kind.html"],
+    \["JAXB", "javax/xml/bind/JAXB.html"],
+    \["JAXBContext", "javax/xml/bind/JAXBContext.html"],
+    \["JAXBElement", "javax/xml/bind/JAXBElement.html"],
+    \["JAXBElement.GlobalScope", "javax/xml/bind/JAXBElement.GlobalScope.html"],
+    \["JAXBException", "javax/xml/bind/JAXBException.html"],
+    \["JAXBIntrospector", "javax/xml/bind/JAXBIntrospector.html"],
+    \["JAXBResult", "javax/xml/bind/util/JAXBResult.html"],
+    \["JAXBSource", "javax/xml/bind/util/JAXBSource.html"],
+    \["JButton", "javax/swing/JButton.html"],
+    \["JCheckBox", "javax/swing/JCheckBox.html"],
+    \["JCheckBoxMenuItem", "javax/swing/JCheckBoxMenuItem.html"],
+    \["JColorChooser", "javax/swing/JColorChooser.html"],
+    \["JComboBox", "javax/swing/JComboBox.html"],
+    \["JComboBox.KeySelectionManager", "javax/swing/JComboBox.KeySelectionManager.html"],
+    \["JComponent", "javax/swing/JComponent.html"],
+    \["JdbcRowSet", "javax/sql/rowset/JdbcRowSet.html"],
+    \["JDesktopPane", "javax/swing/JDesktopPane.html"],
+    \["JDialog", "javax/swing/JDialog.html"],
+    \["JEditorPane", "javax/swing/JEditorPane.html"],
+    \["JFileChooser", "javax/swing/JFileChooser.html"],
+    \["JFormattedTextField", "javax/swing/JFormattedTextField.html"],
+    \["JFormattedTextField.AbstractFormatter", "javax/swing/JFormattedTextField.AbstractFormatter.html"],
+    \["JFormattedTextField.AbstractFormatterFactory", "javax/swing/JFormattedTextField.AbstractFormatterFactory.html"],
+    \["JFrame", "javax/swing/JFrame.html"],
+    \["JInternalFrame", "javax/swing/JInternalFrame.html"],
+    \["JInternalFrame.JDesktopIcon", "javax/swing/JInternalFrame.JDesktopIcon.html"],
+    \["JLabel", "javax/swing/JLabel.html"],
+    \["JLayeredPane", "javax/swing/JLayeredPane.html"],
+    \["JList", "javax/swing/JList.html"],
+    \["JList.DropLocation", "javax/swing/JList.DropLocation.html"],
+    \["JMenu", "javax/swing/JMenu.html"],
+    \["JMenuBar", "javax/swing/JMenuBar.html"],
+    \["JMenuItem", "javax/swing/JMenuItem.html"],
+    \["JMException", "javax/management/JMException.html"],
+    \["JMRuntimeException", "javax/management/JMRuntimeException.html"],
+    \["JMX", "javax/management/JMX.html"],
+    \["JMXAddressable", "javax/management/remote/JMXAddressable.html"],
+    \["JMXAuthenticator", "javax/management/remote/JMXAuthenticator.html"],
+    \["JMXConnectionNotification", "javax/management/remote/JMXConnectionNotification.html"],
+    \["JMXConnector", "javax/management/remote/JMXConnector.html"],
+    \["JMXConnectorFactory", "javax/management/remote/JMXConnectorFactory.html"],
+    \["JMXConnectorProvider", "javax/management/remote/JMXConnectorProvider.html"],
+    \["JMXConnectorServer", "javax/management/remote/JMXConnectorServer.html"],
+    \["JMXConnectorServerFactory", "javax/management/remote/JMXConnectorServerFactory.html"],
+    \["JMXConnectorServerMBean", "javax/management/remote/JMXConnectorServerMBean.html"],
+    \["JMXConnectorServerProvider", "javax/management/remote/JMXConnectorServerProvider.html"],
+    \["JMXPrincipal", "javax/management/remote/JMXPrincipal.html"],
+    \["JMXProviderException", "javax/management/remote/JMXProviderException.html"],
+    \["JMXServerErrorException", "javax/management/remote/JMXServerErrorException.html"],
+    \["JMXServiceURL", "javax/management/remote/JMXServiceURL.html"],
+    \["JobAttributes", "java/awt/JobAttributes.html"],
+    \["JobAttributes.DefaultSelectionType", "java/awt/JobAttributes.DefaultSelectionType.html"],
+    \["JobAttributes.DestinationType", "java/awt/JobAttributes.DestinationType.html"],
+    \["JobAttributes.DialogType", "java/awt/JobAttributes.DialogType.html"],
+    \["JobAttributes.MultipleDocumentHandlingType", "java/awt/JobAttributes.MultipleDocumentHandlingType.html"],
+    \["JobAttributes.SidesType", "java/awt/JobAttributes.SidesType.html"],
+    \["JobHoldUntil", "javax/print/attribute/standard/JobHoldUntil.html"],
+    \["JobImpressions", "javax/print/attribute/standard/JobImpressions.html"],
+    \["JobImpressionsCompleted", "javax/print/attribute/standard/JobImpressionsCompleted.html"],
+    \["JobImpressionsSupported", "javax/print/attribute/standard/JobImpressionsSupported.html"],
+    \["JobKOctets", "javax/print/attribute/standard/JobKOctets.html"],
+    \["JobKOctetsProcessed", "javax/print/attribute/standard/JobKOctetsProcessed.html"],
+    \["JobKOctetsSupported", "javax/print/attribute/standard/JobKOctetsSupported.html"],
+    \["JobMediaSheets", "javax/print/attribute/standard/JobMediaSheets.html"],
+    \["JobMediaSheetsCompleted", "javax/print/attribute/standard/JobMediaSheetsCompleted.html"],
+    \["JobMediaSheetsSupported", "javax/print/attribute/standard/JobMediaSheetsSupported.html"],
+    \["JobMessageFromOperator", "javax/print/attribute/standard/JobMessageFromOperator.html"],
+    \["JobName", "javax/print/attribute/standard/JobName.html"],
+    \["JobOriginatingUserName", "javax/print/attribute/standard/JobOriginatingUserName.html"],
+    \["JobPriority", "javax/print/attribute/standard/JobPriority.html"],
+    \["JobPrioritySupported", "javax/print/attribute/standard/JobPrioritySupported.html"],
+    \["JobSheets", "javax/print/attribute/standard/JobSheets.html"],
+    \["JobState", "javax/print/attribute/standard/JobState.html"],
+    \["JobStateReason", "javax/print/attribute/standard/JobStateReason.html"],
+    \["JobStateReasons", "javax/print/attribute/standard/JobStateReasons.html"],
+    \["Joinable", "javax/sql/rowset/Joinable.html"],
+    \["JoinRowSet", "javax/sql/rowset/JoinRowSet.html"],
+    \["JOptionPane", "javax/swing/JOptionPane.html"],
+    \["JPanel", "javax/swing/JPanel.html"],
+    \["JPasswordField", "javax/swing/JPasswordField.html"],
+    \["JPEGHuffmanTable", "javax/imageio/plugins/jpeg/JPEGHuffmanTable.html"],
+    \["JPEGImageReadParam", "javax/imageio/plugins/jpeg/JPEGImageReadParam.html"],
+    \["JPEGImageWriteParam", "javax/imageio/plugins/jpeg/JPEGImageWriteParam.html"],
+    \["JPEGQTable", "javax/imageio/plugins/jpeg/JPEGQTable.html"],
+    \["JPopupMenu", "javax/swing/JPopupMenu.html"],
+    \["JPopupMenu.Separator", "javax/swing/JPopupMenu.Separator.html"],
+    \["JProgressBar", "javax/swing/JProgressBar.html"],
+    \["JRadioButton", "javax/swing/JRadioButton.html"],
+    \["JRadioButtonMenuItem", "javax/swing/JRadioButtonMenuItem.html"],
+    \["JRootPane", "javax/swing/JRootPane.html"],
+    \["JScrollBar", "javax/swing/JScrollBar.html"],
+    \["JScrollPane", "javax/swing/JScrollPane.html"],
+    \["JSeparator", "javax/swing/JSeparator.html"],
+    \["JSlider", "javax/swing/JSlider.html"],
+    \["JSpinner", "javax/swing/JSpinner.html"],
+    \["JSpinner.DateEditor", "javax/swing/JSpinner.DateEditor.html"],
+    \["JSpinner.DefaultEditor", "javax/swing/JSpinner.DefaultEditor.html"],
+    \["JSpinner.ListEditor", "javax/swing/JSpinner.ListEditor.html"],
+    \["JSpinner.NumberEditor", "javax/swing/JSpinner.NumberEditor.html"],
+    \["JSplitPane", "javax/swing/JSplitPane.html"],
+    \["JTabbedPane", "javax/swing/JTabbedPane.html"],
+    \["JTable", "javax/swing/JTable.html"],
+    \["JTable.DropLocation", "javax/swing/JTable.DropLocation.html"],
+    \["JTable.PrintMode", "javax/swing/JTable.PrintMode.html"],
+    \["JTableHeader", "javax/swing/table/JTableHeader.html"],
+    \["JTextArea", "javax/swing/JTextArea.html"],
+    \["JTextComponent", "javax/swing/text/JTextComponent.html"],
+    \["JTextComponent.DropLocation", "javax/swing/text/JTextComponent.DropLocation.html"],
+    \["JTextComponent.KeyBinding", "javax/swing/text/JTextComponent.KeyBinding.html"],
+    \["JTextField", "javax/swing/JTextField.html"],
+    \["JTextPane", "javax/swing/JTextPane.html"],
+    \["JToggleButton", "javax/swing/JToggleButton.html"],
+    \["JToggleButton.ToggleButtonModel", "javax/swing/JToggleButton.ToggleButtonModel.html"],
+    \["JToolBar", "javax/swing/JToolBar.html"],
+    \["JToolBar.Separator", "javax/swing/JToolBar.Separator.html"],
+    \["JToolTip", "javax/swing/JToolTip.html"],
+    \["JTree", "javax/swing/JTree.html"],
+    \["JTree.DropLocation", "javax/swing/JTree.DropLocation.html"],
+    \["JTree.DynamicUtilTreeNode", "javax/swing/JTree.DynamicUtilTreeNode.html"],
+    \["JTree.EmptySelectionModel", "javax/swing/JTree.EmptySelectionModel.html"],
+    \["JViewport", "javax/swing/JViewport.html"],
+    \["JWindow", "javax/swing/JWindow.html"],
+    \["KerberosKey", "javax/security/auth/kerberos/KerberosKey.html"],
+    \["KerberosPrincipal", "javax/security/auth/kerberos/KerberosPrincipal.html"],
+    \["KerberosTicket", "javax/security/auth/kerberos/KerberosTicket.html"],
+    \["Kernel", "java/awt/image/Kernel.html"],
+    \["Key", "java/security/Key.html"],
+    \["KeyAdapter", "java/awt/event/KeyAdapter.html"],
+    \["KeyAgreement", "javax/crypto/KeyAgreement.html"],
+    \["KeyAgreementSpi", "javax/crypto/KeyAgreementSpi.html"],
+    \["KeyAlreadyExistsException", "javax/management/openmbean/KeyAlreadyExistsException.html"],
+    \["KeyboardFocusManager", "java/awt/KeyboardFocusManager.html"],
+    \["KeyEvent", "java/awt/event/KeyEvent.html"],
+    \["KeyEventDispatcher", "java/awt/KeyEventDispatcher.html"],
+    \["KeyEventPostProcessor", "java/awt/KeyEventPostProcessor.html"],
+    \["KeyException", "java/security/KeyException.html"],
+    \["KeyFactory", "java/security/KeyFactory.html"],
+    \["KeyFactorySpi", "java/security/KeyFactorySpi.html"],
+    \["KeyGenerator", "javax/crypto/KeyGenerator.html"],
+    \["KeyGeneratorSpi", "javax/crypto/KeyGeneratorSpi.html"],
+    \["KeyInfo", "javax/xml/crypto/dsig/keyinfo/KeyInfo.html"],
+    \["KeyInfoFactory", "javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.html"],
+    \["KeyListener", "java/awt/event/KeyListener.html"],
+    \["KeyManagementException", "java/security/KeyManagementException.html"],
+    \["KeyManager", "javax/net/ssl/KeyManager.html"],
+    \["KeyManagerFactory", "javax/net/ssl/KeyManagerFactory.html"],
+    \["KeyManagerFactorySpi", "javax/net/ssl/KeyManagerFactorySpi.html"],
+    \["Keymap", "javax/swing/text/Keymap.html"],
+    \["KeyName", "javax/xml/crypto/dsig/keyinfo/KeyName.html"],
+    \["KeyPair", "java/security/KeyPair.html"],
+    \["KeyPairGenerator", "java/security/KeyPairGenerator.html"],
+    \["KeyPairGeneratorSpi", "java/security/KeyPairGeneratorSpi.html"],
+    \["KeyRep", "java/security/KeyRep.html"],
+    \["KeyRep.Type", "java/security/KeyRep.Type.html"],
+    \["KeySelector", "javax/xml/crypto/KeySelector.html"],
+    \["KeySelector.Purpose", "javax/xml/crypto/KeySelector.Purpose.html"],
+    \["KeySelectorException", "javax/xml/crypto/KeySelectorException.html"],
+    \["KeySelectorResult", "javax/xml/crypto/KeySelectorResult.html"],
+    \["KeySpec", "java/security/spec/KeySpec.html"],
+    \["KeyStore", "java/security/KeyStore.html"],
+    \["KeyStore.Builder", "java/security/KeyStore.Builder.html"],
+    \["KeyStore.CallbackHandlerProtection", "java/security/KeyStore.CallbackHandlerProtection.html"],
+    \["KeyStore.Entry", "java/security/KeyStore.Entry.html"],
+    \["KeyStore.LoadStoreParameter", "java/security/KeyStore.LoadStoreParameter.html"],
+    \["KeyStore.PasswordProtection", "java/security/KeyStore.PasswordProtection.html"],
+    \["KeyStore.PrivateKeyEntry", "java/security/KeyStore.PrivateKeyEntry.html"],
+    \["KeyStore.ProtectionParameter", "java/security/KeyStore.ProtectionParameter.html"],
+    \["KeyStore.SecretKeyEntry", "java/security/KeyStore.SecretKeyEntry.html"],
+    \["KeyStore.TrustedCertificateEntry", "java/security/KeyStore.TrustedCertificateEntry.html"],
+    \["KeyStoreBuilderParameters", "javax/net/ssl/KeyStoreBuilderParameters.html"],
+    \["KeyStoreException", "java/security/KeyStoreException.html"],
+    \["KeyStoreSpi", "java/security/KeyStoreSpi.html"],
+    \["KeyStroke", "javax/swing/KeyStroke.html"],
+    \["KeyValue", "javax/xml/crypto/dsig/keyinfo/KeyValue.html"],
+    \["Label", "java/awt/Label.html"],
+    \["LabelUI", "javax/swing/plaf/LabelUI.html"],
+    \["LabelView", "javax/swing/text/LabelView.html"],
+    \["LanguageCallback", "javax/security/auth/callback/LanguageCallback.html"],
+    \["LastOwnerException", "java/security/acl/LastOwnerException.html"],
+    \["LayeredHighlighter", "javax/swing/text/LayeredHighlighter.html"],
+    \["LayeredHighlighter.LayerPainter", "javax/swing/text/LayeredHighlighter.LayerPainter.html"],
+    \["LayoutFocusTraversalPolicy", "javax/swing/LayoutFocusTraversalPolicy.html"],
+    \["LayoutManager", "java/awt/LayoutManager.html"],
+    \["LayoutManager2", "java/awt/LayoutManager2.html"],
+    \["LayoutPath", "java/awt/font/LayoutPath.html"],
+    \["LayoutQueue", "javax/swing/text/LayoutQueue.html"],
+    \["LayoutStyle", "javax/swing/LayoutStyle.html"],
+    \["LayoutStyle.ComponentPlacement", "javax/swing/LayoutStyle.ComponentPlacement.html"],
+    \["LDAPCertStoreParameters", "java/security/cert/LDAPCertStoreParameters.html"],
+    \["LdapContext", "javax/naming/ldap/LdapContext.html"],
+    \["LdapName", "javax/naming/ldap/LdapName.html"],
+    \["LdapReferralException", "javax/naming/ldap/LdapReferralException.html"],
+    \["Lease", "java/rmi/dgc/Lease.html"],
+    \["Level", "java/util/logging/Level.html"],
+    \["LexicalHandler", "org/xml/sax/ext/LexicalHandler.html"],
+    \["LIFESPAN_POLICY_ID", "org/omg/PortableServer/LIFESPAN_POLICY_ID.html"],
+    \["LifespanPolicy", "org/omg/PortableServer/LifespanPolicy.html"],
+    \["LifespanPolicyOperations", "org/omg/PortableServer/LifespanPolicyOperations.html"],
+    \["LifespanPolicyValue", "org/omg/PortableServer/LifespanPolicyValue.html"],
+    \["LimitExceededException", "javax/naming/LimitExceededException.html"],
+    \["Line", "javax/sound/sampled/Line.html"],
+    \["Line.Info", "javax/sound/sampled/Line.Info.html"],
+    \["Line2D", "java/awt/geom/Line2D.html"],
+    \["Line2D.Double", "java/awt/geom/Line2D.Double.html"],
+    \["Line2D.Float", "java/awt/geom/Line2D.Float.html"],
+    \["LinearGradientPaint", "java/awt/LinearGradientPaint.html"],
+    \["LineBorder", "javax/swing/border/LineBorder.html"],
+    \["LineBreakMeasurer", "java/awt/font/LineBreakMeasurer.html"],
+    \["LineEvent", "javax/sound/sampled/LineEvent.html"],
+    \["LineEvent.Type", "javax/sound/sampled/LineEvent.Type.html"],
+    \["LineListener", "javax/sound/sampled/LineListener.html"],
+    \["LineMetrics", "java/awt/font/LineMetrics.html"],
+    \["LineNumberInputStream", "java/io/LineNumberInputStream.html"],
+    \["LineNumberReader", "java/io/LineNumberReader.html"],
+    \["LineUnavailableException", "javax/sound/sampled/LineUnavailableException.html"],
+    \["LinkageError", "java/lang/LinkageError.html"],
+    \["LinkedBlockingDeque", "java/util/concurrent/LinkedBlockingDeque.html"],
+    \["LinkedBlockingQueue", "java/util/concurrent/LinkedBlockingQueue.html"],
+    \["LinkedHashMap", "java/util/LinkedHashMap.html"],
+    \["LinkedHashSet", "java/util/LinkedHashSet.html"],
+    \["LinkedList", "java/util/LinkedList.html"],
+    \["LinkException", "javax/naming/LinkException.html"],
+    \["LinkLoopException", "javax/naming/LinkLoopException.html"],
+    \["LinkRef", "javax/naming/LinkRef.html"],
+    \["List", "java/awt/List.html"],
+    \["List", "java/util/List.html"],
+    \["ListCellRenderer", "javax/swing/ListCellRenderer.html"],
+    \["ListDataEvent", "javax/swing/event/ListDataEvent.html"],
+    \["ListDataListener", "javax/swing/event/ListDataListener.html"],
+    \["ListenerNotFoundException", "javax/management/ListenerNotFoundException.html"],
+    \["ListIterator", "java/util/ListIterator.html"],
+    \["ListModel", "javax/swing/ListModel.html"],
+    \["ListResourceBundle", "java/util/ListResourceBundle.html"],
+    \["ListSelectionEvent", "javax/swing/event/ListSelectionEvent.html"],
+    \["ListSelectionListener", "javax/swing/event/ListSelectionListener.html"],
+    \["ListSelectionModel", "javax/swing/ListSelectionModel.html"],
+    \["ListUI", "javax/swing/plaf/ListUI.html"],
+    \["ListView", "javax/swing/text/html/ListView.html"],
+    \["LoaderHandler", "java/rmi/server/LoaderHandler.html"],
+    \["Locale", "java/util/Locale.html"],
+    \["LocaleNameProvider", "java/util/spi/LocaleNameProvider.html"],
+    \["LocaleServiceProvider", "java/util/spi/LocaleServiceProvider.html"],
+    \["LocalObject", "org/omg/CORBA/LocalObject.html"],
+    \["LocateRegistry", "java/rmi/registry/LocateRegistry.html"],
+    \["Location", "javax/xml/stream/Location.html"],
+    \["LOCATION_FORWARD", "org/omg/PortableInterceptor/LOCATION_FORWARD.html"],
+    \["Locator", "org/xml/sax/Locator.html"],
+    \["Locator2", "org/xml/sax/ext/Locator2.html"],
+    \["Locator2Impl", "org/xml/sax/ext/Locator2Impl.html"],
+    \["LocatorImpl", "org/xml/sax/helpers/LocatorImpl.html"],
+    \["Lock", "java/util/concurrent/locks/Lock.html"],
+    \["LockInfo", "java/lang/management/LockInfo.html"],
+    \["LockSupport", "java/util/concurrent/locks/LockSupport.html"],
+    \["Logger", "java/util/logging/Logger.html"],
+    \["LoggingMXBean", "java/util/logging/LoggingMXBean.html"],
+    \["LoggingPermission", "java/util/logging/LoggingPermission.html"],
+    \["LogicalHandler", "javax/xml/ws/handler/LogicalHandler.html"],
+    \["LogicalMessage", "javax/xml/ws/LogicalMessage.html"],
+    \["LogicalMessageContext", "javax/xml/ws/handler/LogicalMessageContext.html"],
+    \["LoginContext", "javax/security/auth/login/LoginContext.html"],
+    \["LoginException", "javax/security/auth/login/LoginException.html"],
+    \["LoginModule", "javax/security/auth/spi/LoginModule.html"],
+    \["LogManager", "java/util/logging/LogManager.html"],
+    \["LogRecord", "java/util/logging/LogRecord.html"],
+    \["LogStream", "java/rmi/server/LogStream.html"],
+    \["Long", "java/lang/Long.html"],
+    \["LongBuffer", "java/nio/LongBuffer.html"],
+    \["LongHolder", "org/omg/CORBA/LongHolder.html"],
+    \["LongLongSeqHelper", "org/omg/CORBA/LongLongSeqHelper.html"],
+    \["LongLongSeqHolder", "org/omg/CORBA/LongLongSeqHolder.html"],
+    \["LongSeqHelper", "org/omg/CORBA/LongSeqHelper.html"],
+    \["LongSeqHolder", "org/omg/CORBA/LongSeqHolder.html"],
+    \["LookAndFeel", "javax/swing/LookAndFeel.html"],
+    \["LookupOp", "java/awt/image/LookupOp.html"],
+    \["LookupTable", "java/awt/image/LookupTable.html"],
+    \["LSException", "org/w3c/dom/ls/LSException.html"],
+    \["LSInput", "org/w3c/dom/ls/LSInput.html"],
+    \["LSLoadEvent", "org/w3c/dom/ls/LSLoadEvent.html"],
+    \["LSOutput", "org/w3c/dom/ls/LSOutput.html"],
+    \["LSParser", "org/w3c/dom/ls/LSParser.html"],
+    \["LSParserFilter", "org/w3c/dom/ls/LSParserFilter.html"],
+    \["LSProgressEvent", "org/w3c/dom/ls/LSProgressEvent.html"],
+    \["LSResourceResolver", "org/w3c/dom/ls/LSResourceResolver.html"],
+    \["LSSerializer", "org/w3c/dom/ls/LSSerializer.html"],
+    \["LSSerializerFilter", "org/w3c/dom/ls/LSSerializerFilter.html"],
+    \["Mac", "javax/crypto/Mac.html"],
+    \["MacSpi", "javax/crypto/MacSpi.html"],
+    \["MailcapCommandMap", "javax/activation/MailcapCommandMap.html"],
+    \["MalformedInputException", "java/nio/charset/MalformedInputException.html"],
+    \["MalformedLinkException", "javax/naming/MalformedLinkException.html"],
+    \["MalformedObjectNameException", "javax/management/MalformedObjectNameException.html"],
+    \["MalformedParameterizedTypeException", "java/lang/reflect/MalformedParameterizedTypeException.html"],
+    \["MalformedURLException", "java/net/MalformedURLException.html"],
+    \["ManagementFactory", "java/lang/management/ManagementFactory.html"],
+    \["ManagementPermission", "java/lang/management/ManagementPermission.html"],
+    \["ManageReferralControl", "javax/naming/ldap/ManageReferralControl.html"],
+    \["ManagerFactoryParameters", "javax/net/ssl/ManagerFactoryParameters.html"],
+    \["Manifest", "java/util/jar/Manifest.html"],
+    \["Manifest", "javax/xml/crypto/dsig/Manifest.html"],
+    \["Map", "java/util/Map.html"],
+    \["Map.Entry", "java/util/Map.Entry.html"],
+    \["MappedByteBuffer", "java/nio/MappedByteBuffer.html"],
+    \["MARSHAL", "org/omg/CORBA/MARSHAL.html"],
+    \["MarshalException", "java/rmi/MarshalException.html"],
+    \["MarshalException", "javax/xml/bind/MarshalException.html"],
+    \["MarshalException", "javax/xml/crypto/MarshalException.html"],
+    \["MarshalledObject", "java/rmi/MarshalledObject.html"],
+    \["Marshaller", "javax/xml/bind/Marshaller.html"],
+    \["Marshaller.Listener", "javax/xml/bind/Marshaller.Listener.html"],
+    \["MaskFormatter", "javax/swing/text/MaskFormatter.html"],
+    \["Matcher", "java/util/regex/Matcher.html"],
+    \["MatchResult", "java/util/regex/MatchResult.html"],
+    \["Math", "java/lang/Math.html"],
+    \["MathContext", "java/math/MathContext.html"],
+    \["MatteBorder", "javax/swing/border/MatteBorder.html"],
+    \["MBeanAttributeInfo", "javax/management/MBeanAttributeInfo.html"],
+    \["MBeanConstructorInfo", "javax/management/MBeanConstructorInfo.html"],
+    \["MBeanException", "javax/management/MBeanException.html"],
+    \["MBeanFeatureInfo", "javax/management/MBeanFeatureInfo.html"],
+    \["MBeanInfo", "javax/management/MBeanInfo.html"],
+    \["MBeanNotificationInfo", "javax/management/MBeanNotificationInfo.html"],
+    \["MBeanOperationInfo", "javax/management/MBeanOperationInfo.html"],
+    \["MBeanParameterInfo", "javax/management/MBeanParameterInfo.html"],
+    \["MBeanPermission", "javax/management/MBeanPermission.html"],
+    \["MBeanRegistration", "javax/management/MBeanRegistration.html"],
+    \["MBeanRegistrationException", "javax/management/MBeanRegistrationException.html"],
+    \["MBeanServer", "javax/management/MBeanServer.html"],
+    \["MBeanServerBuilder", "javax/management/MBeanServerBuilder.html"],
+    \["MBeanServerConnection", "javax/management/MBeanServerConnection.html"],
+    \["MBeanServerDelegate", "javax/management/MBeanServerDelegate.html"],
+    \["MBeanServerDelegateMBean", "javax/management/MBeanServerDelegateMBean.html"],
+    \["MBeanServerFactory", "javax/management/MBeanServerFactory.html"],
+    \["MBeanServerForwarder", "javax/management/remote/MBeanServerForwarder.html"],
+    \["MBeanServerInvocationHandler", "javax/management/MBeanServerInvocationHandler.html"],
+    \["MBeanServerNotification", "javax/management/MBeanServerNotification.html"],
+    \["MBeanServerNotificationFilter", "javax/management/relation/MBeanServerNotificationFilter.html"],
+    \["MBeanServerPermission", "javax/management/MBeanServerPermission.html"],
+    \["MBeanTrustPermission", "javax/management/MBeanTrustPermission.html"],
+    \["Media", "javax/print/attribute/standard/Media.html"],
+    \["MediaName", "javax/print/attribute/standard/MediaName.html"],
+    \["MediaPrintableArea", "javax/print/attribute/standard/MediaPrintableArea.html"],
+    \["MediaSize", "javax/print/attribute/standard/MediaSize.html"],
+    \["MediaSize.Engineering", "javax/print/attribute/standard/MediaSize.Engineering.html"],
+    \["MediaSize.ISO", "javax/print/attribute/standard/MediaSize.ISO.html"],
+    \["MediaSize.JIS", "javax/print/attribute/standard/MediaSize.JIS.html"],
+    \["MediaSize.NA", "javax/print/attribute/standard/MediaSize.NA.html"],
+    \["MediaSize.Other", "javax/print/attribute/standard/MediaSize.Other.html"],
+    \["MediaSizeName", "javax/print/attribute/standard/MediaSizeName.html"],
+    \["MediaTracker", "java/awt/MediaTracker.html"],
+    \["MediaTray", "javax/print/attribute/standard/MediaTray.html"],
+    \["Member", "java/lang/reflect/Member.html"],
+    \["MemoryCacheImageInputStream", "javax/imageio/stream/MemoryCacheImageInputStream.html"],
+    \["MemoryCacheImageOutputStream", "javax/imageio/stream/MemoryCacheImageOutputStream.html"],
+    \["MemoryHandler", "java/util/logging/MemoryHandler.html"],
+    \["MemoryImageSource", "java/awt/image/MemoryImageSource.html"],
+    \["MemoryManagerMXBean", "java/lang/management/MemoryManagerMXBean.html"],
+    \["MemoryMXBean", "java/lang/management/MemoryMXBean.html"],
+    \["MemoryNotificationInfo", "java/lang/management/MemoryNotificationInfo.html"],
+    \["MemoryPoolMXBean", "java/lang/management/MemoryPoolMXBean.html"],
+    \["MemoryType", "java/lang/management/MemoryType.html"],
+    \["MemoryUsage", "java/lang/management/MemoryUsage.html"],
+    \["Menu", "java/awt/Menu.html"],
+    \["MenuBar", "java/awt/MenuBar.html"],
+    \["MenuBarUI", "javax/swing/plaf/MenuBarUI.html"],
+    \["MenuComponent", "java/awt/MenuComponent.html"],
+    \["MenuContainer", "java/awt/MenuContainer.html"],
+    \["MenuDragMouseEvent", "javax/swing/event/MenuDragMouseEvent.html"],
+    \["MenuDragMouseListener", "javax/swing/event/MenuDragMouseListener.html"],
+    \["MenuElement", "javax/swing/MenuElement.html"],
+    \["MenuEvent", "javax/swing/event/MenuEvent.html"],
+    \["MenuItem", "java/awt/MenuItem.html"],
+    \["MenuItemUI", "javax/swing/plaf/MenuItemUI.html"],
+    \["MenuKeyEvent", "javax/swing/event/MenuKeyEvent.html"],
+    \["MenuKeyListener", "javax/swing/event/MenuKeyListener.html"],
+    \["MenuListener", "javax/swing/event/MenuListener.html"],
+    \["MenuSelectionManager", "javax/swing/MenuSelectionManager.html"],
+    \["MenuShortcut", "java/awt/MenuShortcut.html"],
+    \["MessageContext", "javax/xml/ws/handler/MessageContext.html"],
+    \["MessageContext.Scope", "javax/xml/ws/handler/MessageContext.Scope.html"],
+    \["MessageDigest", "java/security/MessageDigest.html"],
+    \["MessageDigestSpi", "java/security/MessageDigestSpi.html"],
+    \["MessageFactory", "javax/xml/soap/MessageFactory.html"],
+    \["MessageFormat", "java/text/MessageFormat.html"],
+    \["MessageFormat.Field", "java/text/MessageFormat.Field.html"],
+    \["MessageProp", "org/ietf/jgss/MessageProp.html"],
+    \["Messager", "javax/annotation/processing/Messager.html"],
+    \["MetaEventListener", "javax/sound/midi/MetaEventListener.html"],
+    \["MetalBorders", "javax/swing/plaf/metal/MetalBorders.html"],
+    \["MetalBorders.ButtonBorder", "javax/swing/plaf/metal/MetalBorders.ButtonBorder.html"],
+    \["MetalBorders.Flush3DBorder", "javax/swing/plaf/metal/MetalBorders.Flush3DBorder.html"],
+    \["MetalBorders.InternalFrameBorder", "javax/swing/plaf/metal/MetalBorders.InternalFrameBorder.html"],
+    \["MetalBorders.MenuBarBorder", "javax/swing/plaf/metal/MetalBorders.MenuBarBorder.html"],
+    \["MetalBorders.MenuItemBorder", "javax/swing/plaf/metal/MetalBorders.MenuItemBorder.html"],
+    \["MetalBorders.OptionDialogBorder", "javax/swing/plaf/metal/MetalBorders.OptionDialogBorder.html"],
+    \["MetalBorders.PaletteBorder", "javax/swing/plaf/metal/MetalBorders.PaletteBorder.html"],
+    \["MetalBorders.PopupMenuBorder", "javax/swing/plaf/metal/MetalBorders.PopupMenuBorder.html"],
+    \["MetalBorders.RolloverButtonBorder", "javax/swing/plaf/metal/MetalBorders.RolloverButtonBorder.html"],
+    \["MetalBorders.ScrollPaneBorder", "javax/swing/plaf/metal/MetalBorders.ScrollPaneBorder.html"],
+    \["MetalBorders.TableHeaderBorder", "javax/swing/plaf/metal/MetalBorders.TableHeaderBorder.html"],
+    \["MetalBorders.TextFieldBorder", "javax/swing/plaf/metal/MetalBorders.TextFieldBorder.html"],
+    \["MetalBorders.ToggleButtonBorder", "javax/swing/plaf/metal/MetalBorders.ToggleButtonBorder.html"],
+    \["MetalBorders.ToolBarBorder", "javax/swing/plaf/metal/MetalBorders.ToolBarBorder.html"],
+    \["MetalButtonUI", "javax/swing/plaf/metal/MetalButtonUI.html"],
+    \["MetalCheckBoxIcon", "javax/swing/plaf/metal/MetalCheckBoxIcon.html"],
+    \["MetalCheckBoxUI", "javax/swing/plaf/metal/MetalCheckBoxUI.html"],
+    \["MetalComboBoxButton", "javax/swing/plaf/metal/MetalComboBoxButton.html"],
+    \["MetalComboBoxEditor", "javax/swing/plaf/metal/MetalComboBoxEditor.html"],
+    \["MetalComboBoxEditor.UIResource", "javax/swing/plaf/metal/MetalComboBoxEditor.UIResource.html"],
+    \["MetalComboBoxIcon", "javax/swing/plaf/metal/MetalComboBoxIcon.html"],
+    \["MetalComboBoxUI", "javax/swing/plaf/metal/MetalComboBoxUI.html"],
+    \["MetalDesktopIconUI", "javax/swing/plaf/metal/MetalDesktopIconUI.html"],
+    \["MetalFileChooserUI", "javax/swing/plaf/metal/MetalFileChooserUI.html"],
+    \["MetalIconFactory", "javax/swing/plaf/metal/MetalIconFactory.html"],
+    \["MetalIconFactory.FileIcon16", "javax/swing/plaf/metal/MetalIconFactory.FileIcon16.html"],
+    \["MetalIconFactory.FolderIcon16", "javax/swing/plaf/metal/MetalIconFactory.FolderIcon16.html"],
+    \["MetalIconFactory.PaletteCloseIcon", "javax/swing/plaf/metal/MetalIconFactory.PaletteCloseIcon.html"],
+    \["MetalIconFactory.TreeControlIcon", "javax/swing/plaf/metal/MetalIconFactory.TreeControlIcon.html"],
+    \["MetalIconFactory.TreeFolderIcon", "javax/swing/plaf/metal/MetalIconFactory.TreeFolderIcon.html"],
+    \["MetalIconFactory.TreeLeafIcon", "javax/swing/plaf/metal/MetalIconFactory.TreeLeafIcon.html"],
+    \["MetalInternalFrameTitlePane", "javax/swing/plaf/metal/MetalInternalFrameTitlePane.html"],
+    \["MetalInternalFrameUI", "javax/swing/plaf/metal/MetalInternalFrameUI.html"],
+    \["MetalLabelUI", "javax/swing/plaf/metal/MetalLabelUI.html"],
+    \["MetalLookAndFeel", "javax/swing/plaf/metal/MetalLookAndFeel.html"],
+    \["MetalMenuBarUI", "javax/swing/plaf/metal/MetalMenuBarUI.html"],
+    \["MetalPopupMenuSeparatorUI", "javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.html"],
+    \["MetalProgressBarUI", "javax/swing/plaf/metal/MetalProgressBarUI.html"],
+    \["MetalRadioButtonUI", "javax/swing/plaf/metal/MetalRadioButtonUI.html"],
+    \["MetalRootPaneUI", "javax/swing/plaf/metal/MetalRootPaneUI.html"],
+    \["MetalScrollBarUI", "javax/swing/plaf/metal/MetalScrollBarUI.html"],
+    \["MetalScrollButton", "javax/swing/plaf/metal/MetalScrollButton.html"],
+    \["MetalScrollPaneUI", "javax/swing/plaf/metal/MetalScrollPaneUI.html"],
+    \["MetalSeparatorUI", "javax/swing/plaf/metal/MetalSeparatorUI.html"],
+    \["MetalSliderUI", "javax/swing/plaf/metal/MetalSliderUI.html"],
+    \["MetalSplitPaneUI", "javax/swing/plaf/metal/MetalSplitPaneUI.html"],
+    \["MetalTabbedPaneUI", "javax/swing/plaf/metal/MetalTabbedPaneUI.html"],
+    \["MetalTextFieldUI", "javax/swing/plaf/metal/MetalTextFieldUI.html"],
+    \["MetalTheme", "javax/swing/plaf/metal/MetalTheme.html"],
+    \["MetalToggleButtonUI", "javax/swing/plaf/metal/MetalToggleButtonUI.html"],
+    \["MetalToolBarUI", "javax/swing/plaf/metal/MetalToolBarUI.html"],
+    \["MetalToolTipUI", "javax/swing/plaf/metal/MetalToolTipUI.html"],
+    \["MetalTreeUI", "javax/swing/plaf/metal/MetalTreeUI.html"],
+    \["MetaMessage", "javax/sound/midi/MetaMessage.html"],
+    \["Method", "java/lang/reflect/Method.html"],
+    \["MethodDescriptor", "java/beans/MethodDescriptor.html"],
+    \["MGF1ParameterSpec", "java/security/spec/MGF1ParameterSpec.html"],
+    \["MidiChannel", "javax/sound/midi/MidiChannel.html"],
+    \["MidiDevice", "javax/sound/midi/MidiDevice.html"],
+    \["MidiDevice.Info", "javax/sound/midi/MidiDevice.Info.html"],
+    \["MidiDeviceProvider", "javax/sound/midi/spi/MidiDeviceProvider.html"],
+    \["MidiEvent", "javax/sound/midi/MidiEvent.html"],
+    \["MidiFileFormat", "javax/sound/midi/MidiFileFormat.html"],
+    \["MidiFileReader", "javax/sound/midi/spi/MidiFileReader.html"],
+    \["MidiFileWriter", "javax/sound/midi/spi/MidiFileWriter.html"],
+    \["MidiMessage", "javax/sound/midi/MidiMessage.html"],
+    \["MidiSystem", "javax/sound/midi/MidiSystem.html"],
+    \["MidiUnavailableException", "javax/sound/midi/MidiUnavailableException.html"],
+    \["MimeHeader", "javax/xml/soap/MimeHeader.html"],
+    \["MimeHeaders", "javax/xml/soap/MimeHeaders.html"],
+    \["MimeType", "javax/activation/MimeType.html"],
+    \["MimeTypeParameterList", "javax/activation/MimeTypeParameterList.html"],
+    \["MimeTypeParseException", "java/awt/datatransfer/MimeTypeParseException.html"],
+    \["MimeTypeParseException", "javax/activation/MimeTypeParseException.html"],
+    \["MimetypesFileTypeMap", "javax/activation/MimetypesFileTypeMap.html"],
+    \["MinimalHTMLWriter", "javax/swing/text/html/MinimalHTMLWriter.html"],
+    \["MirroredTypeException", "javax/lang/model/type/MirroredTypeException.html"],
+    \["MirroredTypesException", "javax/lang/model/type/MirroredTypesException.html"],
+    \["MissingFormatArgumentException", "java/util/MissingFormatArgumentException.html"],
+    \["MissingFormatWidthException", "java/util/MissingFormatWidthException.html"],
+    \["MissingResourceException", "java/util/MissingResourceException.html"],
+    \["Mixer", "javax/sound/sampled/Mixer.html"],
+    \["Mixer.Info", "javax/sound/sampled/Mixer.Info.html"],
+    \["MixerProvider", "javax/sound/sampled/spi/MixerProvider.html"],
+    \["MLet", "javax/management/loading/MLet.html"],
+    \["MLetContent", "javax/management/loading/MLetContent.html"],
+    \["MLetMBean", "javax/management/loading/MLetMBean.html"],
+    \["ModelMBean", "javax/management/modelmbean/ModelMBean.html"],
+    \["ModelMBeanAttributeInfo", "javax/management/modelmbean/ModelMBeanAttributeInfo.html"],
+    \["ModelMBeanConstructorInfo", "javax/management/modelmbean/ModelMBeanConstructorInfo.html"],
+    \["ModelMBeanInfo", "javax/management/modelmbean/ModelMBeanInfo.html"],
+    \["ModelMBeanInfoSupport", "javax/management/modelmbean/ModelMBeanInfoSupport.html"],
+    \["ModelMBeanNotificationBroadcaster", "javax/management/modelmbean/ModelMBeanNotificationBroadcaster.html"],
+    \["ModelMBeanNotificationInfo", "javax/management/modelmbean/ModelMBeanNotificationInfo.html"],
+    \["ModelMBeanOperationInfo", "javax/management/modelmbean/ModelMBeanOperationInfo.html"],
+    \["ModificationItem", "javax/naming/directory/ModificationItem.html"],
+    \["Modifier", "java/lang/reflect/Modifier.html"],
+    \["Modifier", "javax/lang/model/element/Modifier.html"],
+    \["Monitor", "javax/management/monitor/Monitor.html"],
+    \["MonitorInfo", "java/lang/management/MonitorInfo.html"],
+    \["MonitorMBean", "javax/management/monitor/MonitorMBean.html"],
+    \["MonitorNotification", "javax/management/monitor/MonitorNotification.html"],
+    \["MonitorSettingException", "javax/management/monitor/MonitorSettingException.html"],
+    \["MouseAdapter", "java/awt/event/MouseAdapter.html"],
+    \["MouseDragGestureRecognizer", "java/awt/dnd/MouseDragGestureRecognizer.html"],
+    \["MouseEvent", "java/awt/event/MouseEvent.html"],
+    \["MouseEvent", "org/w3c/dom/events/MouseEvent.html"],
+    \["MouseInfo", "java/awt/MouseInfo.html"],
+    \["MouseInputAdapter", "javax/swing/event/MouseInputAdapter.html"],
+    \["MouseInputListener", "javax/swing/event/MouseInputListener.html"],
+    \["MouseListener", "java/awt/event/MouseListener.html"],
+    \["MouseMotionAdapter", "java/awt/event/MouseMotionAdapter.html"],
+    \["MouseMotionListener", "java/awt/event/MouseMotionListener.html"],
+    \["MouseWheelEvent", "java/awt/event/MouseWheelEvent.html"],
+    \["MouseWheelListener", "java/awt/event/MouseWheelListener.html"],
+    \["MTOM", "javax/xml/ws/soap/MTOM.html"],
+    \["MTOMFeature", "javax/xml/ws/soap/MTOMFeature.html"],
+    \["MultiButtonUI", "javax/swing/plaf/multi/MultiButtonUI.html"],
+    \["MulticastSocket", "java/net/MulticastSocket.html"],
+    \["MultiColorChooserUI", "javax/swing/plaf/multi/MultiColorChooserUI.html"],
+    \["MultiComboBoxUI", "javax/swing/plaf/multi/MultiComboBoxUI.html"],
+    \["MultiDesktopIconUI", "javax/swing/plaf/multi/MultiDesktopIconUI.html"],
+    \["MultiDesktopPaneUI", "javax/swing/plaf/multi/MultiDesktopPaneUI.html"],
+    \["MultiDoc", "javax/print/MultiDoc.html"],
+    \["MultiDocPrintJob", "javax/print/MultiDocPrintJob.html"],
+    \["MultiDocPrintService", "javax/print/MultiDocPrintService.html"],
+    \["MultiFileChooserUI", "javax/swing/plaf/multi/MultiFileChooserUI.html"],
+    \["MultiInternalFrameUI", "javax/swing/plaf/multi/MultiInternalFrameUI.html"],
+    \["MultiLabelUI", "javax/swing/plaf/multi/MultiLabelUI.html"],
+    \["MultiListUI", "javax/swing/plaf/multi/MultiListUI.html"],
+    \["MultiLookAndFeel", "javax/swing/plaf/multi/MultiLookAndFeel.html"],
+    \["MultiMenuBarUI", "javax/swing/plaf/multi/MultiMenuBarUI.html"],
+    \["MultiMenuItemUI", "javax/swing/plaf/multi/MultiMenuItemUI.html"],
+    \["MultiOptionPaneUI", "javax/swing/plaf/multi/MultiOptionPaneUI.html"],
+    \["MultiPanelUI", "javax/swing/plaf/multi/MultiPanelUI.html"],
+    \["MultiPixelPackedSampleModel", "java/awt/image/MultiPixelPackedSampleModel.html"],
+    \["MultipleComponentProfileHelper", "org/omg/IOP/MultipleComponentProfileHelper.html"],
+    \["MultipleComponentProfileHolder", "org/omg/IOP/MultipleComponentProfileHolder.html"],
+    \["MultipleDocumentHandling", "javax/print/attribute/standard/MultipleDocumentHandling.html"],
+    \["MultipleGradientPaint", "java/awt/MultipleGradientPaint.html"],
+    \["MultipleGradientPaint.ColorSpaceType", "java/awt/MultipleGradientPaint.ColorSpaceType.html"],
+    \["MultipleGradientPaint.CycleMethod", "java/awt/MultipleGradientPaint.CycleMethod.html"],
+    \["MultipleMaster", "java/awt/font/MultipleMaster.html"],
+    \["MultiPopupMenuUI", "javax/swing/plaf/multi/MultiPopupMenuUI.html"],
+    \["MultiProgressBarUI", "javax/swing/plaf/multi/MultiProgressBarUI.html"],
+    \["MultiRootPaneUI", "javax/swing/plaf/multi/MultiRootPaneUI.html"],
+    \["MultiScrollBarUI", "javax/swing/plaf/multi/MultiScrollBarUI.html"],
+    \["MultiScrollPaneUI", "javax/swing/plaf/multi/MultiScrollPaneUI.html"],
+    \["MultiSeparatorUI", "javax/swing/plaf/multi/MultiSeparatorUI.html"],
+    \["MultiSliderUI", "javax/swing/plaf/multi/MultiSliderUI.html"],
+    \["MultiSpinnerUI", "javax/swing/plaf/multi/MultiSpinnerUI.html"],
+    \["MultiSplitPaneUI", "javax/swing/plaf/multi/MultiSplitPaneUI.html"],
+    \["MultiTabbedPaneUI", "javax/swing/plaf/multi/MultiTabbedPaneUI.html"],
+    \["MultiTableHeaderUI", "javax/swing/plaf/multi/MultiTableHeaderUI.html"],
+    \["MultiTableUI", "javax/swing/plaf/multi/MultiTableUI.html"],
+    \["MultiTextUI", "javax/swing/plaf/multi/MultiTextUI.html"],
+    \["MultiToolBarUI", "javax/swing/plaf/multi/MultiToolBarUI.html"],
+    \["MultiToolTipUI", "javax/swing/plaf/multi/MultiToolTipUI.html"],
+    \["MultiTreeUI", "javax/swing/plaf/multi/MultiTreeUI.html"],
+    \["MultiViewportUI", "javax/swing/plaf/multi/MultiViewportUI.html"],
+    \["MutableAttributeSet", "javax/swing/text/MutableAttributeSet.html"],
+    \["MutableComboBoxModel", "javax/swing/MutableComboBoxModel.html"],
+    \["MutableTreeNode", "javax/swing/tree/MutableTreeNode.html"],
+    \["MutationEvent", "org/w3c/dom/events/MutationEvent.html"],
+    \["MXBean", "javax/management/MXBean.html"],
+    \["Name", "javax/lang/model/element/Name.html"],
+    \["Name", "javax/naming/Name.html"],
+    \["Name", "javax/xml/soap/Name.html"],
+    \["NameAlreadyBoundException", "javax/naming/NameAlreadyBoundException.html"],
+    \["NameCallback", "javax/security/auth/callback/NameCallback.html"],
+    \["NameClassPair", "javax/naming/NameClassPair.html"],
+    \["NameComponent", "org/omg/CosNaming/NameComponent.html"],
+    \["NameComponentHelper", "org/omg/CosNaming/NameComponentHelper.html"],
+    \["NameComponentHolder", "org/omg/CosNaming/NameComponentHolder.html"],
+    \["NamedNodeMap", "org/w3c/dom/NamedNodeMap.html"],
+    \["NamedValue", "org/omg/CORBA/NamedValue.html"],
+    \["NameDynAnyPair", "org/omg/DynamicAny/NameDynAnyPair.html"],
+    \["NameDynAnyPairHelper", "org/omg/DynamicAny/NameDynAnyPairHelper.html"],
+    \["NameDynAnyPairSeqHelper", "org/omg/DynamicAny/NameDynAnyPairSeqHelper.html"],
+    \["NameHelper", "org/omg/CosNaming/NameHelper.html"],
+    \["NameHolder", "org/omg/CosNaming/NameHolder.html"],
+    \["NameList", "org/w3c/dom/NameList.html"],
+    \["NameNotFoundException", "javax/naming/NameNotFoundException.html"],
+    \["NameParser", "javax/naming/NameParser.html"],
+    \["Namespace", "javax/xml/stream/events/Namespace.html"],
+    \["NamespaceChangeListener", "javax/naming/event/NamespaceChangeListener.html"],
+    \["NamespaceContext", "javax/xml/namespace/NamespaceContext.html"],
+    \["NamespaceSupport", "org/xml/sax/helpers/NamespaceSupport.html"],
+    \["NameValuePair", "org/omg/CORBA/NameValuePair.html"],
+    \["NameValuePair", "org/omg/DynamicAny/NameValuePair.html"],
+    \["NameValuePairHelper", "org/omg/CORBA/NameValuePairHelper.html"],
+    \["NameValuePairHelper", "org/omg/DynamicAny/NameValuePairHelper.html"],
+    \["NameValuePairSeqHelper", "org/omg/DynamicAny/NameValuePairSeqHelper.html"],
+    \["Naming", "java/rmi/Naming.html"],
+    \["NamingContext", "org/omg/CosNaming/NamingContext.html"],
+    \["NamingContextExt", "org/omg/CosNaming/NamingContextExt.html"],
+    \["NamingContextExtHelper", "org/omg/CosNaming/NamingContextExtHelper.html"],
+    \["NamingContextExtHolder", "org/omg/CosNaming/NamingContextExtHolder.html"],
+    \["NamingContextExtOperations", "org/omg/CosNaming/NamingContextExtOperations.html"],
+    \["NamingContextExtPOA", "org/omg/CosNaming/NamingContextExtPOA.html"],
+    \["NamingContextHelper", "org/omg/CosNaming/NamingContextHelper.html"],
+    \["NamingContextHolder", "org/omg/CosNaming/NamingContextHolder.html"],
+    \["NamingContextOperations", "org/omg/CosNaming/NamingContextOperations.html"],
+    \["NamingContextPOA", "org/omg/CosNaming/NamingContextPOA.html"],
+    \["NamingEnumeration", "javax/naming/NamingEnumeration.html"],
+    \["NamingEvent", "javax/naming/event/NamingEvent.html"],
+    \["NamingException", "javax/naming/NamingException.html"],
+    \["NamingExceptionEvent", "javax/naming/event/NamingExceptionEvent.html"],
+    \["NamingListener", "javax/naming/event/NamingListener.html"],
+    \["NamingManager", "javax/naming/spi/NamingManager.html"],
+    \["NamingSecurityException", "javax/naming/NamingSecurityException.html"],
+    \["NavigableMap", "java/util/NavigableMap.html"],
+    \["NavigableSet", "java/util/NavigableSet.html"],
+    \["NavigationFilter", "javax/swing/text/NavigationFilter.html"],
+    \["NavigationFilter.FilterBypass", "javax/swing/text/NavigationFilter.FilterBypass.html"],
+    \["NClob", "java/sql/NClob.html"],
+    \["NegativeArraySizeException", "java/lang/NegativeArraySizeException.html"],
+    \["NestingKind", "javax/lang/model/element/NestingKind.html"],
+    \["NetPermission", "java/net/NetPermission.html"],
+    \["NetworkInterface", "java/net/NetworkInterface.html"],
+    \["NO_IMPLEMENT", "org/omg/CORBA/NO_IMPLEMENT.html"],
+    \["NO_MEMORY", "org/omg/CORBA/NO_MEMORY.html"],
+    \["NO_PERMISSION", "org/omg/CORBA/NO_PERMISSION.html"],
+    \["NO_RESOURCES", "org/omg/CORBA/NO_RESOURCES.html"],
+    \["NO_RESPONSE", "org/omg/CORBA/NO_RESPONSE.html"],
+    \["NoClassDefFoundError", "java/lang/NoClassDefFoundError.html"],
+    \["NoConnectionPendingException", "java/nio/channels/NoConnectionPendingException.html"],
+    \["NoContext", "org/omg/PortableServer/CurrentPackage/NoContext.html"],
+    \["NoContextHelper", "org/omg/PortableServer/CurrentPackage/NoContextHelper.html"],
+    \["Node", "javax/xml/soap/Node.html"],
+    \["Node", "org/w3c/dom/Node.html"],
+    \["NodeChangeEvent", "java/util/prefs/NodeChangeEvent.html"],
+    \["NodeChangeListener", "java/util/prefs/NodeChangeListener.html"],
+    \["NodeList", "org/w3c/dom/NodeList.html"],
+    \["NodeSetData", "javax/xml/crypto/NodeSetData.html"],
+    \["NoInitialContextException", "javax/naming/NoInitialContextException.html"],
+    \["NON_EXISTENT", "org/omg/PortableInterceptor/NON_EXISTENT.html"],
+    \["NoninvertibleTransformException", "java/awt/geom/NoninvertibleTransformException.html"],
+    \["NonReadableChannelException", "java/nio/channels/NonReadableChannelException.html"],
+    \["NonWritableChannelException", "java/nio/channels/NonWritableChannelException.html"],
+    \["NoPermissionException", "javax/naming/NoPermissionException.html"],
+    \["NormalizedStringAdapter", "javax/xml/bind/annotation/adapters/NormalizedStringAdapter.html"],
+    \["Normalizer", "java/text/Normalizer.html"],
+    \["Normalizer.Form", "java/text/Normalizer.Form.html"],
+    \["NoRouteToHostException", "java/net/NoRouteToHostException.html"],
+    \["NoServant", "org/omg/PortableServer/POAPackage/NoServant.html"],
+    \["NoServantHelper", "org/omg/PortableServer/POAPackage/NoServantHelper.html"],
+    \["NoSuchAlgorithmException", "java/security/NoSuchAlgorithmException.html"],
+    \["NoSuchAttributeException", "javax/naming/directory/NoSuchAttributeException.html"],
+    \["NoSuchElementException", "java/util/NoSuchElementException.html"],
+    \["NoSuchFieldError", "java/lang/NoSuchFieldError.html"],
+    \["NoSuchFieldException", "java/lang/NoSuchFieldException.html"],
+    \["NoSuchMechanismException", "javax/xml/crypto/NoSuchMechanismException.html"],
+    \["NoSuchMethodError", "java/lang/NoSuchMethodError.html"],
+    \["NoSuchMethodException", "java/lang/NoSuchMethodException.html"],
+    \["NoSuchObjectException", "java/rmi/NoSuchObjectException.html"],
+    \["NoSuchPaddingException", "javax/crypto/NoSuchPaddingException.html"],
+    \["NoSuchProviderException", "java/security/NoSuchProviderException.html"],
+    \["NotActiveException", "java/io/NotActiveException.html"],
+    \["Notation", "org/w3c/dom/Notation.html"],
+    \["NotationDeclaration", "javax/xml/stream/events/NotationDeclaration.html"],
+    \["NotBoundException", "java/rmi/NotBoundException.html"],
+    \["NotCompliantMBeanException", "javax/management/NotCompliantMBeanException.html"],
+    \["NotContextException", "javax/naming/NotContextException.html"],
+    \["NotEmpty", "org/omg/CosNaming/NamingContextPackage/NotEmpty.html"],
+    \["NotEmptyHelper", "org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.html"],
+    \["NotEmptyHolder", "org/omg/CosNaming/NamingContextPackage/NotEmptyHolder.html"],
+    \["NotFound", "org/omg/CosNaming/NamingContextPackage/NotFound.html"],
+    \["NotFoundHelper", "org/omg/CosNaming/NamingContextPackage/NotFoundHelper.html"],
+    \["NotFoundHolder", "org/omg/CosNaming/NamingContextPackage/NotFoundHolder.html"],
+    \["NotFoundReason", "org/omg/CosNaming/NamingContextPackage/NotFoundReason.html"],
+    \["NotFoundReasonHelper", "org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.html"],
+    \["NotFoundReasonHolder", "org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.html"],
+    \["NotIdentifiableEvent", "javax/xml/bind/NotIdentifiableEvent.html"],
+    \["NotIdentifiableEventImpl", "javax/xml/bind/helpers/NotIdentifiableEventImpl.html"],
+    \["Notification", "javax/management/Notification.html"],
+    \["NotificationBroadcaster", "javax/management/NotificationBroadcaster.html"],
+    \["NotificationBroadcasterSupport", "javax/management/NotificationBroadcasterSupport.html"],
+    \["NotificationEmitter", "javax/management/NotificationEmitter.html"],
+    \["NotificationFilter", "javax/management/NotificationFilter.html"],
+    \["NotificationFilterSupport", "javax/management/NotificationFilterSupport.html"],
+    \["NotificationListener", "javax/management/NotificationListener.html"],
+    \["NotificationResult", "javax/management/remote/NotificationResult.html"],
+    \["NotOwnerException", "java/security/acl/NotOwnerException.html"],
+    \["NotSerializableException", "java/io/NotSerializableException.html"],
+    \["NotYetBoundException", "java/nio/channels/NotYetBoundException.html"],
+    \["NotYetConnectedException", "java/nio/channels/NotYetConnectedException.html"],
+    \["NoType", "javax/lang/model/type/NoType.html"],
+    \["NullCipher", "javax/crypto/NullCipher.html"],
+    \["NullPointerException", "java/lang/NullPointerException.html"],
+    \["NullType", "javax/lang/model/type/NullType.html"],
+    \["Number", "java/lang/Number.html"],
+    \["NumberFormat", "java/text/NumberFormat.html"],
+    \["NumberFormat.Field", "java/text/NumberFormat.Field.html"],
+    \["NumberFormatException", "java/lang/NumberFormatException.html"],
+    \["NumberFormatProvider", "java/text/spi/NumberFormatProvider.html"],
+    \["NumberFormatter", "javax/swing/text/NumberFormatter.html"],
+    \["NumberOfDocuments", "javax/print/attribute/standard/NumberOfDocuments.html"],
+    \["NumberOfInterveningJobs", "javax/print/attribute/standard/NumberOfInterveningJobs.html"],
+    \["NumberUp", "javax/print/attribute/standard/NumberUp.html"],
+    \["NumberUpSupported", "javax/print/attribute/standard/NumberUpSupported.html"],
+    \["NumericShaper", "java/awt/font/NumericShaper.html"],
+    \["NVList", "org/omg/CORBA/NVList.html"],
+    \["OAEPParameterSpec", "javax/crypto/spec/OAEPParameterSpec.html"],
+    \["OBJ_ADAPTER", "org/omg/CORBA/OBJ_ADAPTER.html"],
+    \["Object", "java/lang/Object.html"],
+    \["Object", "org/omg/CORBA/Object.html"],
+    \["OBJECT_NOT_EXIST", "org/omg/CORBA/OBJECT_NOT_EXIST.html"],
+    \["ObjectAlreadyActive", "org/omg/PortableServer/POAPackage/ObjectAlreadyActive.html"],
+    \["ObjectAlreadyActiveHelper", "org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.html"],
+    \["ObjectChangeListener", "javax/naming/event/ObjectChangeListener.html"],
+    \["ObjectFactory", "javax/naming/spi/ObjectFactory.html"],
+    \["ObjectFactoryBuilder", "javax/naming/spi/ObjectFactoryBuilder.html"],
+    \["ObjectHelper", "org/omg/CORBA/ObjectHelper.html"],
+    \["ObjectHolder", "org/omg/CORBA/ObjectHolder.html"],
+    \["ObjectIdHelper", "org/omg/PortableInterceptor/ObjectIdHelper.html"],
+    \["ObjectIdHelper", "org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.html"],
+    \["ObjectImpl", "org/omg/CORBA/portable/ObjectImpl.html"],
+    \["ObjectImpl", "org/omg/CORBA_2_3/portable/ObjectImpl.html"],
+    \["ObjectInput", "java/io/ObjectInput.html"],
+    \["ObjectInputStream", "java/io/ObjectInputStream.html"],
+    \["ObjectInputStream.GetField", "java/io/ObjectInputStream.GetField.html"],
+    \["ObjectInputValidation", "java/io/ObjectInputValidation.html"],
+    \["ObjectInstance", "javax/management/ObjectInstance.html"],
+    \["ObjectName", "javax/management/ObjectName.html"],
+    \["ObjectNotActive", "org/omg/PortableServer/POAPackage/ObjectNotActive.html"],
+    \["ObjectNotActiveHelper", "org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.html"],
+    \["ObjectOutput", "java/io/ObjectOutput.html"],
+    \["ObjectOutputStream", "java/io/ObjectOutputStream.html"],
+    \["ObjectOutputStream.PutField", "java/io/ObjectOutputStream.PutField.html"],
+    \["ObjectReferenceFactory", "org/omg/PortableInterceptor/ObjectReferenceFactory.html"],
+    \["ObjectReferenceFactoryHelper", "org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.html"],
+    \["ObjectReferenceFactoryHolder", "org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.html"],
+    \["ObjectReferenceTemplate", "org/omg/PortableInterceptor/ObjectReferenceTemplate.html"],
+    \["ObjectReferenceTemplateHelper", "org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.html"],
+    \["ObjectReferenceTemplateHolder", "org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.html"],
+    \["ObjectReferenceTemplateSeqHelper", "org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.html"],
+    \["ObjectReferenceTemplateSeqHolder", "org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.html"],
+    \["ObjectStreamClass", "java/io/ObjectStreamClass.html"],
+    \["ObjectStreamConstants", "java/io/ObjectStreamConstants.html"],
+    \["ObjectStreamException", "java/io/ObjectStreamException.html"],
+    \["ObjectStreamField", "java/io/ObjectStreamField.html"],
+    \["ObjectView", "javax/swing/text/html/ObjectView.html"],
+    \["ObjID", "java/rmi/server/ObjID.html"],
+    \["Observable", "java/util/Observable.html"],
+    \["Observer", "java/util/Observer.html"],
+    \["OceanTheme", "javax/swing/plaf/metal/OceanTheme.html"],
+    \["OctetSeqHelper", "org/omg/CORBA/OctetSeqHelper.html"],
+    \["OctetSeqHolder", "org/omg/CORBA/OctetSeqHolder.html"],
+    \["OctetStreamData", "javax/xml/crypto/OctetStreamData.html"],
+    \["Oid", "org/ietf/jgss/Oid.html"],
+    \["OMGVMCID", "org/omg/CORBA/OMGVMCID.html"],
+    \["Oneway", "javax/jws/Oneway.html"],
+    \["OpenDataException", "javax/management/openmbean/OpenDataException.html"],
+    \["OpenMBeanAttributeInfo", "javax/management/openmbean/OpenMBeanAttributeInfo.html"],
+    \["OpenMBeanAttributeInfoSupport", "javax/management/openmbean/OpenMBeanAttributeInfoSupport.html"],
+    \["OpenMBeanConstructorInfo", "javax/management/openmbean/OpenMBeanConstructorInfo.html"],
+    \["OpenMBeanConstructorInfoSupport", "javax/management/openmbean/OpenMBeanConstructorInfoSupport.html"],
+    \["OpenMBeanInfo", "javax/management/openmbean/OpenMBeanInfo.html"],
+    \["OpenMBeanInfoSupport", "javax/management/openmbean/OpenMBeanInfoSupport.html"],
+    \["OpenMBeanOperationInfo", "javax/management/openmbean/OpenMBeanOperationInfo.html"],
+    \["OpenMBeanOperationInfoSupport", "javax/management/openmbean/OpenMBeanOperationInfoSupport.html"],
+    \["OpenMBeanParameterInfo", "javax/management/openmbean/OpenMBeanParameterInfo.html"],
+    \["OpenMBeanParameterInfoSupport", "javax/management/openmbean/OpenMBeanParameterInfoSupport.html"],
+    \["OpenType", "java/awt/font/OpenType.html"],
+    \["OpenType", "javax/management/openmbean/OpenType.html"],
+    \["OperatingSystemMXBean", "java/lang/management/OperatingSystemMXBean.html"],
+    \["Operation", "java/rmi/server/Operation.html"],
+    \["OperationNotSupportedException", "javax/naming/OperationNotSupportedException.html"],
+    \["OperationsException", "javax/management/OperationsException.html"],
+    \["Option", "javax/swing/text/html/Option.html"],
+    \["OptionalDataException", "java/io/OptionalDataException.html"],
+    \["OptionChecker", "javax/tools/OptionChecker.html"],
+    \["OptionPaneUI", "javax/swing/plaf/OptionPaneUI.html"],
+    \["ORB", "org/omg/CORBA/ORB.html"],
+    \["ORB", "org/omg/CORBA_2_3/ORB.html"],
+    \["ORBIdHelper", "org/omg/PortableInterceptor/ORBIdHelper.html"],
+    \["ORBInitializer", "org/omg/PortableInterceptor/ORBInitializer.html"],
+    \["ORBInitializerOperations", "org/omg/PortableInterceptor/ORBInitializerOperations.html"],
+    \["ORBInitInfo", "org/omg/PortableInterceptor/ORBInitInfo.html"],
+    \["ORBInitInfoOperations", "org/omg/PortableInterceptor/ORBInitInfoOperations.html"],
+    \["OrientationRequested", "javax/print/attribute/standard/OrientationRequested.html"],
+    \["OutOfMemoryError", "java/lang/OutOfMemoryError.html"],
+    \["OutputDeviceAssigned", "javax/print/attribute/standard/OutputDeviceAssigned.html"],
+    \["OutputKeys", "javax/xml/transform/OutputKeys.html"],
+    \["OutputStream", "java/io/OutputStream.html"],
+    \["OutputStream", "org/omg/CORBA/portable/OutputStream.html"],
+    \["OutputStream", "org/omg/CORBA_2_3/portable/OutputStream.html"],
+    \["OutputStreamWriter", "java/io/OutputStreamWriter.html"],
+    \["OverlappingFileLockException", "java/nio/channels/OverlappingFileLockException.html"],
+    \["OverlayLayout", "javax/swing/OverlayLayout.html"],
+    \["Override", "java/lang/Override.html"],
+    \["Owner", "java/security/acl/Owner.html"],
+    \["Pack200", "java/util/jar/Pack200.html"],
+    \["Pack200.Packer", "java/util/jar/Pack200.Packer.html"],
+    \["Pack200.Unpacker", "java/util/jar/Pack200.Unpacker.html"],
+    \["Package", "java/lang/Package.html"],
+    \["PackageElement", "javax/lang/model/element/PackageElement.html"],
+    \["PackedColorModel", "java/awt/image/PackedColorModel.html"],
+    \["Pageable", "java/awt/print/Pageable.html"],
+    \["PageAttributes", "java/awt/PageAttributes.html"],
+    \["PageAttributes.ColorType", "java/awt/PageAttributes.ColorType.html"],
+    \["PageAttributes.MediaType", "java/awt/PageAttributes.MediaType.html"],
+    \["PageAttributes.OrientationRequestedType", "java/awt/PageAttributes.OrientationRequestedType.html"],
+    \["PageAttributes.OriginType", "java/awt/PageAttributes.OriginType.html"],
+    \["PageAttributes.PrintQualityType", "java/awt/PageAttributes.PrintQualityType.html"],
+    \["PagedResultsControl", "javax/naming/ldap/PagedResultsControl.html"],
+    \["PagedResultsResponseControl", "javax/naming/ldap/PagedResultsResponseControl.html"],
+    \["PageFormat", "java/awt/print/PageFormat.html"],
+    \["PageRanges", "javax/print/attribute/standard/PageRanges.html"],
+    \["PagesPerMinute", "javax/print/attribute/standard/PagesPerMinute.html"],
+    \["PagesPerMinuteColor", "javax/print/attribute/standard/PagesPerMinuteColor.html"],
+    \["Paint", "java/awt/Paint.html"],
+    \["PaintContext", "java/awt/PaintContext.html"],
+    \["PaintEvent", "java/awt/event/PaintEvent.html"],
+    \["Panel", "java/awt/Panel.html"],
+    \["PanelUI", "javax/swing/plaf/PanelUI.html"],
+    \["Paper", "java/awt/print/Paper.html"],
+    \["ParagraphView", "javax/swing/text/html/ParagraphView.html"],
+    \["ParagraphView", "javax/swing/text/ParagraphView.html"],
+    \["Parameter", "org/omg/Dynamic/Parameter.html"],
+    \["ParameterBlock", "java/awt/image/renderable/ParameterBlock.html"],
+    \["ParameterDescriptor", "java/beans/ParameterDescriptor.html"],
+    \["ParameterizedType", "java/lang/reflect/ParameterizedType.html"],
+    \["ParameterMetaData", "java/sql/ParameterMetaData.html"],
+    \["ParameterMode", "org/omg/CORBA/ParameterMode.html"],
+    \["ParameterModeHelper", "org/omg/CORBA/ParameterModeHelper.html"],
+    \["ParameterModeHolder", "org/omg/CORBA/ParameterModeHolder.html"],
+    \["ParseConversionEvent", "javax/xml/bind/ParseConversionEvent.html"],
+    \["ParseConversionEventImpl", "javax/xml/bind/helpers/ParseConversionEventImpl.html"],
+    \["ParseException", "java/text/ParseException.html"],
+    \["ParsePosition", "java/text/ParsePosition.html"],
+    \["Parser", "javax/swing/text/html/parser/Parser.html"],
+    \["Parser", "org/xml/sax/Parser.html"],
+    \["ParserAdapter", "org/xml/sax/helpers/ParserAdapter.html"],
+    \["ParserConfigurationException", "javax/xml/parsers/ParserConfigurationException.html"],
+    \["ParserDelegator", "javax/swing/text/html/parser/ParserDelegator.html"],
+    \["ParserFactory", "org/xml/sax/helpers/ParserFactory.html"],
+    \["PartialResultException", "javax/naming/PartialResultException.html"],
+    \["PasswordAuthentication", "java/net/PasswordAuthentication.html"],
+    \["PasswordCallback", "javax/security/auth/callback/PasswordCallback.html"],
+    \["PasswordView", "javax/swing/text/PasswordView.html"],
+    \["Patch", "javax/sound/midi/Patch.html"],
+    \["Path2D", "java/awt/geom/Path2D.html"],
+    \["Path2D.Double", "java/awt/geom/Path2D.Double.html"],
+    \["Path2D.Float", "java/awt/geom/Path2D.Float.html"],
+    \["PathIterator", "java/awt/geom/PathIterator.html"],
+    \["Pattern", "java/util/regex/Pattern.html"],
+    \["PatternSyntaxException", "java/util/regex/PatternSyntaxException.html"],
+    \["PBEKey", "javax/crypto/interfaces/PBEKey.html"],
+    \["PBEKeySpec", "javax/crypto/spec/PBEKeySpec.html"],
+    \["PBEParameterSpec", "javax/crypto/spec/PBEParameterSpec.html"],
+    \["PDLOverrideSupported", "javax/print/attribute/standard/PDLOverrideSupported.html"],
+    \["Permission", "java/security/acl/Permission.html"],
+    \["Permission", "java/security/Permission.html"],
+    \["PermissionCollection", "java/security/PermissionCollection.html"],
+    \["Permissions", "java/security/Permissions.html"],
+    \["PERSIST_STORE", "org/omg/CORBA/PERSIST_STORE.html"],
+    \["PersistenceDelegate", "java/beans/PersistenceDelegate.html"],
+    \["PersistentMBean", "javax/management/PersistentMBean.html"],
+    \["PGPData", "javax/xml/crypto/dsig/keyinfo/PGPData.html"],
+    \["PhantomReference", "java/lang/ref/PhantomReference.html"],
+    \["Pipe", "java/nio/channels/Pipe.html"],
+    \["Pipe.SinkChannel", "java/nio/channels/Pipe.SinkChannel.html"],
+    \["Pipe.SourceChannel", "java/nio/channels/Pipe.SourceChannel.html"],
+    \["PipedInputStream", "java/io/PipedInputStream.html"],
+    \["PipedOutputStream", "java/io/PipedOutputStream.html"],
+    \["PipedReader", "java/io/PipedReader.html"],
+    \["PipedWriter", "java/io/PipedWriter.html"],
+    \["PixelGrabber", "java/awt/image/PixelGrabber.html"],
+    \["PixelInterleavedSampleModel", "java/awt/image/PixelInterleavedSampleModel.html"],
+    \["PKCS8EncodedKeySpec", "java/security/spec/PKCS8EncodedKeySpec.html"],
+    \["PKIXBuilderParameters", "java/security/cert/PKIXBuilderParameters.html"],
+    \["PKIXCertPathBuilderResult", "java/security/cert/PKIXCertPathBuilderResult.html"],
+    \["PKIXCertPathChecker", "java/security/cert/PKIXCertPathChecker.html"],
+    \["PKIXCertPathValidatorResult", "java/security/cert/PKIXCertPathValidatorResult.html"],
+    \["PKIXParameters", "java/security/cert/PKIXParameters.html"],
+    \["PlainDocument", "javax/swing/text/PlainDocument.html"],
+    \["PlainView", "javax/swing/text/PlainView.html"],
+    \["POA", "org/omg/PortableServer/POA.html"],
+    \["POAHelper", "org/omg/PortableServer/POAHelper.html"],
+    \["POAManager", "org/omg/PortableServer/POAManager.html"],
+    \["POAManagerOperations", "org/omg/PortableServer/POAManagerOperations.html"],
+    \["POAOperations", "org/omg/PortableServer/POAOperations.html"],
+    \["Point", "java/awt/Point.html"],
+    \["Point2D", "java/awt/geom/Point2D.html"],
+    \["Point2D.Double", "java/awt/geom/Point2D.Double.html"],
+    \["Point2D.Float", "java/awt/geom/Point2D.Float.html"],
+    \["PointerInfo", "java/awt/PointerInfo.html"],
+    \["Policy", "java/security/Policy.html"],
+    \["Policy", "javax/security/auth/Policy.html"],
+    \["Policy", "org/omg/CORBA/Policy.html"],
+    \["Policy.Parameters", "java/security/Policy.Parameters.html"],
+    \["PolicyError", "org/omg/CORBA/PolicyError.html"],
+    \["PolicyErrorCodeHelper", "org/omg/CORBA/PolicyErrorCodeHelper.html"],
+    \["PolicyErrorHelper", "org/omg/CORBA/PolicyErrorHelper.html"],
+    \["PolicyErrorHolder", "org/omg/CORBA/PolicyErrorHolder.html"],
+    \["PolicyFactory", "org/omg/PortableInterceptor/PolicyFactory.html"],
+    \["PolicyFactoryOperations", "org/omg/PortableInterceptor/PolicyFactoryOperations.html"],
+    \["PolicyHelper", "org/omg/CORBA/PolicyHelper.html"],
+    \["PolicyHolder", "org/omg/CORBA/PolicyHolder.html"],
+    \["PolicyListHelper", "org/omg/CORBA/PolicyListHelper.html"],
+    \["PolicyListHolder", "org/omg/CORBA/PolicyListHolder.html"],
+    \["PolicyNode", "java/security/cert/PolicyNode.html"],
+    \["PolicyOperations", "org/omg/CORBA/PolicyOperations.html"],
+    \["PolicyQualifierInfo", "java/security/cert/PolicyQualifierInfo.html"],
+    \["PolicySpi", "java/security/PolicySpi.html"],
+    \["PolicyTypeHelper", "org/omg/CORBA/PolicyTypeHelper.html"],
+    \["Polygon", "java/awt/Polygon.html"],
+    \["PooledConnection", "javax/sql/PooledConnection.html"],
+    \["Popup", "javax/swing/Popup.html"],
+    \["PopupFactory", "javax/swing/PopupFactory.html"],
+    \["PopupMenu", "java/awt/PopupMenu.html"],
+    \["PopupMenuEvent", "javax/swing/event/PopupMenuEvent.html"],
+    \["PopupMenuListener", "javax/swing/event/PopupMenuListener.html"],
+    \["PopupMenuUI", "javax/swing/plaf/PopupMenuUI.html"],
+    \["Port", "javax/sound/sampled/Port.html"],
+    \["Port.Info", "javax/sound/sampled/Port.Info.html"],
+    \["PortableRemoteObject", "javax/rmi/PortableRemoteObject.html"],
+    \["PortableRemoteObjectDelegate", "javax/rmi/CORBA/PortableRemoteObjectDelegate.html"],
+    \["PortInfo", "javax/xml/ws/handler/PortInfo.html"],
+    \["PortUnreachableException", "java/net/PortUnreachableException.html"],
+    \["Position", "javax/swing/text/Position.html"],
+    \["Position.Bias", "javax/swing/text/Position.Bias.html"],
+    \["PostConstruct", "javax/annotation/PostConstruct.html"],
+    \["PreDestroy", "javax/annotation/PreDestroy.html"],
+    \["Predicate", "javax/sql/rowset/Predicate.html"],
+    \["PreferenceChangeEvent", "java/util/prefs/PreferenceChangeEvent.html"],
+    \["PreferenceChangeListener", "java/util/prefs/PreferenceChangeListener.html"],
+    \["Preferences", "java/util/prefs/Preferences.html"],
+    \["PreferencesFactory", "java/util/prefs/PreferencesFactory.html"],
+    \["PreparedStatement", "java/sql/PreparedStatement.html"],
+    \["PresentationDirection", "javax/print/attribute/standard/PresentationDirection.html"],
+    \["PrimitiveType", "javax/lang/model/type/PrimitiveType.html"],
+    \["Principal", "java/security/Principal.html"],
+    \["Principal", "org/omg/CORBA/Principal.html"],
+    \["PrincipalHolder", "org/omg/CORBA/PrincipalHolder.html"],
+    \["Printable", "java/awt/print/Printable.html"],
+    \["PrintConversionEvent", "javax/xml/bind/PrintConversionEvent.html"],
+    \["PrintConversionEventImpl", "javax/xml/bind/helpers/PrintConversionEventImpl.html"],
+    \["PrinterAbortException", "java/awt/print/PrinterAbortException.html"],
+    \["PrinterException", "java/awt/print/PrinterException.html"],
+    \["PrinterGraphics", "java/awt/print/PrinterGraphics.html"],
+    \["PrinterInfo", "javax/print/attribute/standard/PrinterInfo.html"],
+    \["PrinterIOException", "java/awt/print/PrinterIOException.html"],
+    \["PrinterIsAcceptingJobs", "javax/print/attribute/standard/PrinterIsAcceptingJobs.html"],
+    \["PrinterJob", "java/awt/print/PrinterJob.html"],
+    \["PrinterLocation", "javax/print/attribute/standard/PrinterLocation.html"],
+    \["PrinterMakeAndModel", "javax/print/attribute/standard/PrinterMakeAndModel.html"],
+    \["PrinterMessageFromOperator", "javax/print/attribute/standard/PrinterMessageFromOperator.html"],
+    \["PrinterMoreInfo", "javax/print/attribute/standard/PrinterMoreInfo.html"],
+    \["PrinterMoreInfoManufacturer", "javax/print/attribute/standard/PrinterMoreInfoManufacturer.html"],
+    \["PrinterName", "javax/print/attribute/standard/PrinterName.html"],
+    \["PrinterResolution", "javax/print/attribute/standard/PrinterResolution.html"],
+    \["PrinterState", "javax/print/attribute/standard/PrinterState.html"],
+    \["PrinterStateReason", "javax/print/attribute/standard/PrinterStateReason.html"],
+    \["PrinterStateReasons", "javax/print/attribute/standard/PrinterStateReasons.html"],
+    \["PrinterURI", "javax/print/attribute/standard/PrinterURI.html"],
+    \["PrintEvent", "javax/print/event/PrintEvent.html"],
+    \["PrintException", "javax/print/PrintException.html"],
+    \["PrintGraphics", "java/awt/PrintGraphics.html"],
+    \["PrintJob", "java/awt/PrintJob.html"],
+    \["PrintJobAdapter", "javax/print/event/PrintJobAdapter.html"],
+    \["PrintJobAttribute", "javax/print/attribute/PrintJobAttribute.html"],
+    \["PrintJobAttributeEvent", "javax/print/event/PrintJobAttributeEvent.html"],
+    \["PrintJobAttributeListener", "javax/print/event/PrintJobAttributeListener.html"],
+    \["PrintJobAttributeSet", "javax/print/attribute/PrintJobAttributeSet.html"],
+    \["PrintJobEvent", "javax/print/event/PrintJobEvent.html"],
+    \["PrintJobListener", "javax/print/event/PrintJobListener.html"],
+    \["PrintQuality", "javax/print/attribute/standard/PrintQuality.html"],
+    \["PrintRequestAttribute", "javax/print/attribute/PrintRequestAttribute.html"],
+    \["PrintRequestAttributeSet", "javax/print/attribute/PrintRequestAttributeSet.html"],
+    \["PrintService", "javax/print/PrintService.html"],
+    \["PrintServiceAttribute", "javax/print/attribute/PrintServiceAttribute.html"],
+    \["PrintServiceAttributeEvent", "javax/print/event/PrintServiceAttributeEvent.html"],
+    \["PrintServiceAttributeListener", "javax/print/event/PrintServiceAttributeListener.html"],
+    \["PrintServiceAttributeSet", "javax/print/attribute/PrintServiceAttributeSet.html"],
+    \["PrintServiceLookup", "javax/print/PrintServiceLookup.html"],
+    \["PrintStream", "java/io/PrintStream.html"],
+    \["PrintWriter", "java/io/PrintWriter.html"],
+    \["PriorityBlockingQueue", "java/util/concurrent/PriorityBlockingQueue.html"],
+    \["PriorityQueue", "java/util/PriorityQueue.html"],
+    \["PRIVATE_MEMBER", "org/omg/CORBA/PRIVATE_MEMBER.html"],
+    \["PrivateClassLoader", "javax/management/loading/PrivateClassLoader.html"],
+    \["PrivateCredentialPermission", "javax/security/auth/PrivateCredentialPermission.html"],
+    \["PrivateKey", "java/security/PrivateKey.html"],
+    \["PrivateMLet", "javax/management/loading/PrivateMLet.html"],
+    \["PrivilegedAction", "java/security/PrivilegedAction.html"],
+    \["PrivilegedActionException", "java/security/PrivilegedActionException.html"],
+    \["PrivilegedExceptionAction", "java/security/PrivilegedExceptionAction.html"],
+    \["Process", "java/lang/Process.html"],
+    \["ProcessBuilder", "java/lang/ProcessBuilder.html"],
+    \["ProcessingEnvironment", "javax/annotation/processing/ProcessingEnvironment.html"],
+    \["ProcessingInstruction", "javax/xml/stream/events/ProcessingInstruction.html"],
+    \["ProcessingInstruction", "org/w3c/dom/ProcessingInstruction.html"],
+    \["Processor", "javax/annotation/processing/Processor.html"],
+    \["ProfileDataException", "java/awt/color/ProfileDataException.html"],
+    \["ProfileIdHelper", "org/omg/IOP/ProfileIdHelper.html"],
+    \["ProgressBarUI", "javax/swing/plaf/ProgressBarUI.html"],
+    \["ProgressMonitor", "javax/swing/ProgressMonitor.html"],
+    \["ProgressMonitorInputStream", "javax/swing/ProgressMonitorInputStream.html"],
+    \["Properties", "java/util/Properties.html"],
+    \["PropertyChangeEvent", "java/beans/PropertyChangeEvent.html"],
+    \["PropertyChangeListener", "java/beans/PropertyChangeListener.html"],
+    \["PropertyChangeListenerProxy", "java/beans/PropertyChangeListenerProxy.html"],
+    \["PropertyChangeSupport", "java/beans/PropertyChangeSupport.html"],
+    \["PropertyDescriptor", "java/beans/PropertyDescriptor.html"],
+    \["PropertyEditor", "java/beans/PropertyEditor.html"],
+    \["PropertyEditorManager", "java/beans/PropertyEditorManager.html"],
+    \["PropertyEditorSupport", "java/beans/PropertyEditorSupport.html"],
+    \["PropertyException", "javax/xml/bind/PropertyException.html"],
+    \["PropertyPermission", "java/util/PropertyPermission.html"],
+    \["PropertyResourceBundle", "java/util/PropertyResourceBundle.html"],
+    \["PropertyVetoException", "java/beans/PropertyVetoException.html"],
+    \["ProtectionDomain", "java/security/ProtectionDomain.html"],
+    \["ProtocolException", "java/net/ProtocolException.html"],
+    \["ProtocolException", "javax/xml/ws/ProtocolException.html"],
+    \["Provider", "java/security/Provider.html"],
+    \["Provider", "javax/xml/ws/Provider.html"],
+    \["Provider", "javax/xml/ws/spi/Provider.html"],
+    \["Provider.Service", "java/security/Provider.Service.html"],
+    \["ProviderException", "java/security/ProviderException.html"],
+    \["Proxy", "java/lang/reflect/Proxy.html"],
+    \["Proxy", "java/net/Proxy.html"],
+    \["Proxy.Type", "java/net/Proxy.Type.html"],
+    \["ProxySelector", "java/net/ProxySelector.html"],
+    \["PSource", "javax/crypto/spec/PSource.html"],
+    \["PSource.PSpecified", "javax/crypto/spec/PSource.PSpecified.html"],
+    \["PSSParameterSpec", "java/security/spec/PSSParameterSpec.html"],
+    \["PUBLIC_MEMBER", "org/omg/CORBA/PUBLIC_MEMBER.html"],
+    \["PublicKey", "java/security/PublicKey.html"],
+    \["PushbackInputStream", "java/io/PushbackInputStream.html"],
+    \["PushbackReader", "java/io/PushbackReader.html"],
+    \["QName", "javax/xml/namespace/QName.html"],
+    \["QuadCurve2D", "java/awt/geom/QuadCurve2D.html"],
+    \["QuadCurve2D.Double", "java/awt/geom/QuadCurve2D.Double.html"],
+    \["QuadCurve2D.Float", "java/awt/geom/QuadCurve2D.Float.html"],
+    \["Query", "javax/management/Query.html"],
+    \["QueryEval", "javax/management/QueryEval.html"],
+    \["QueryExp", "javax/management/QueryExp.html"],
+    \["Queue", "java/util/Queue.html"],
+    \["QueuedJobCount", "javax/print/attribute/standard/QueuedJobCount.html"],
+    \["RadialGradientPaint", "java/awt/RadialGradientPaint.html"],
+    \["Random", "java/util/Random.html"],
+    \["RandomAccess", "java/util/RandomAccess.html"],
+    \["RandomAccessFile", "java/io/RandomAccessFile.html"],
+    \["Raster", "java/awt/image/Raster.html"],
+    \["RasterFormatException", "java/awt/image/RasterFormatException.html"],
+    \["RasterOp", "java/awt/image/RasterOp.html"],
+    \["RC2ParameterSpec", "javax/crypto/spec/RC2ParameterSpec.html"],
+    \["RC5ParameterSpec", "javax/crypto/spec/RC5ParameterSpec.html"],
+    \["Rdn", "javax/naming/ldap/Rdn.html"],
+    \["Readable", "java/lang/Readable.html"],
+    \["ReadableByteChannel", "java/nio/channels/ReadableByteChannel.html"],
+    \["Reader", "java/io/Reader.html"],
+    \["ReadOnlyBufferException", "java/nio/ReadOnlyBufferException.html"],
+    \["ReadWriteLock", "java/util/concurrent/locks/ReadWriteLock.html"],
+    \["RealmCallback", "javax/security/sasl/RealmCallback.html"],
+    \["RealmChoiceCallback", "javax/security/sasl/RealmChoiceCallback.html"],
+    \["REBIND", "org/omg/CORBA/REBIND.html"],
+    \["Receiver", "javax/sound/midi/Receiver.html"],
+    \["Rectangle", "java/awt/Rectangle.html"],
+    \["Rectangle2D", "java/awt/geom/Rectangle2D.html"],
+    \["Rectangle2D.Double", "java/awt/geom/Rectangle2D.Double.html"],
+    \["Rectangle2D.Float", "java/awt/geom/Rectangle2D.Float.html"],
+    \["RectangularShape", "java/awt/geom/RectangularShape.html"],
+    \["ReentrantLock", "java/util/concurrent/locks/ReentrantLock.html"],
+    \["ReentrantReadWriteLock", "java/util/concurrent/locks/ReentrantReadWriteLock.html"],
+    \["ReentrantReadWriteLock.ReadLock", "java/util/concurrent/locks/ReentrantReadWriteLock.ReadLock.html"],
+    \["ReentrantReadWriteLock.WriteLock", "java/util/concurrent/locks/ReentrantReadWriteLock.WriteLock.html"],
+    \["Ref", "java/sql/Ref.html"],
+    \["RefAddr", "javax/naming/RefAddr.html"],
+    \["Reference", "java/lang/ref/Reference.html"],
+    \["Reference", "javax/naming/Reference.html"],
+    \["Reference", "javax/xml/crypto/dsig/Reference.html"],
+    \["Referenceable", "javax/naming/Referenceable.html"],
+    \["ReferenceQueue", "java/lang/ref/ReferenceQueue.html"],
+    \["ReferenceType", "javax/lang/model/type/ReferenceType.html"],
+    \["ReferenceUriSchemesSupported", "javax/print/attribute/standard/ReferenceUriSchemesSupported.html"],
+    \["ReferralException", "javax/naming/ReferralException.html"],
+    \["ReflectionException", "javax/management/ReflectionException.html"],
+    \["ReflectPermission", "java/lang/reflect/ReflectPermission.html"],
+    \["Refreshable", "javax/security/auth/Refreshable.html"],
+    \["RefreshFailedException", "javax/security/auth/RefreshFailedException.html"],
+    \["Region", "javax/swing/plaf/synth/Region.html"],
+    \["RegisterableService", "javax/imageio/spi/RegisterableService.html"],
+    \["Registry", "java/rmi/registry/Registry.html"],
+    \["RegistryHandler", "java/rmi/registry/RegistryHandler.html"],
+    \["RejectedExecutionException", "java/util/concurrent/RejectedExecutionException.html"],
+    \["RejectedExecutionHandler", "java/util/concurrent/RejectedExecutionHandler.html"],
+    \["Relation", "javax/management/relation/Relation.html"],
+    \["RelationException", "javax/management/relation/RelationException.html"],
+    \["RelationNotFoundException", "javax/management/relation/RelationNotFoundException.html"],
+    \["RelationNotification", "javax/management/relation/RelationNotification.html"],
+    \["RelationService", "javax/management/relation/RelationService.html"],
+    \["RelationServiceMBean", "javax/management/relation/RelationServiceMBean.html"],
+    \["RelationServiceNotRegisteredException", "javax/management/relation/RelationServiceNotRegisteredException.html"],
+    \["RelationSupport", "javax/management/relation/RelationSupport.html"],
+    \["RelationSupportMBean", "javax/management/relation/RelationSupportMBean.html"],
+    \["RelationType", "javax/management/relation/RelationType.html"],
+    \["RelationTypeNotFoundException", "javax/management/relation/RelationTypeNotFoundException.html"],
+    \["RelationTypeSupport", "javax/management/relation/RelationTypeSupport.html"],
+    \["RemarshalException", "org/omg/CORBA/portable/RemarshalException.html"],
+    \["Remote", "java/rmi/Remote.html"],
+    \["RemoteCall", "java/rmi/server/RemoteCall.html"],
+    \["RemoteException", "java/rmi/RemoteException.html"],
+    \["RemoteObject", "java/rmi/server/RemoteObject.html"],
+    \["RemoteObjectInvocationHandler", "java/rmi/server/RemoteObjectInvocationHandler.html"],
+    \["RemoteRef", "java/rmi/server/RemoteRef.html"],
+    \["RemoteServer", "java/rmi/server/RemoteServer.html"],
+    \["RemoteStub", "java/rmi/server/RemoteStub.html"],
+    \["RenderableImage", "java/awt/image/renderable/RenderableImage.html"],
+    \["RenderableImageOp", "java/awt/image/renderable/RenderableImageOp.html"],
+    \["RenderableImageProducer", "java/awt/image/renderable/RenderableImageProducer.html"],
+    \["RenderContext", "java/awt/image/renderable/RenderContext.html"],
+    \["RenderedImage", "java/awt/image/RenderedImage.html"],
+    \["RenderedImageFactory", "java/awt/image/renderable/RenderedImageFactory.html"],
+    \["Renderer", "javax/swing/Renderer.html"],
+    \["RenderingHints", "java/awt/RenderingHints.html"],
+    \["RenderingHints.Key", "java/awt/RenderingHints.Key.html"],
+    \["RepaintManager", "javax/swing/RepaintManager.html"],
+    \["ReplicateScaleFilter", "java/awt/image/ReplicateScaleFilter.html"],
+    \["RepositoryIdHelper", "org/omg/CORBA/RepositoryIdHelper.html"],
+    \["Request", "org/omg/CORBA/Request.html"],
+    \["REQUEST_PROCESSING_POLICY_ID", "org/omg/PortableServer/REQUEST_PROCESSING_POLICY_ID.html"],
+    \["RequestInfo", "org/omg/PortableInterceptor/RequestInfo.html"],
+    \["RequestInfoOperations", "org/omg/PortableInterceptor/RequestInfoOperations.html"],
+    \["RequestingUserName", "javax/print/attribute/standard/RequestingUserName.html"],
+    \["RequestProcessingPolicy", "org/omg/PortableServer/RequestProcessingPolicy.html"],
+    \["RequestProcessingPolicyOperations", "org/omg/PortableServer/RequestProcessingPolicyOperations.html"],
+    \["RequestProcessingPolicyValue", "org/omg/PortableServer/RequestProcessingPolicyValue.html"],
+    \["RequestWrapper", "javax/xml/ws/RequestWrapper.html"],
+    \["RequiredModelMBean", "javax/management/modelmbean/RequiredModelMBean.html"],
+    \["RescaleOp", "java/awt/image/RescaleOp.html"],
+    \["ResolutionSyntax", "javax/print/attribute/ResolutionSyntax.html"],
+    \["Resolver", "javax/naming/spi/Resolver.html"],
+    \["ResolveResult", "javax/naming/spi/ResolveResult.html"],
+    \["Resource", "javax/annotation/Resource.html"],
+    \["Resource.AuthenticationType", "javax/annotation/Resource.AuthenticationType.html"],
+    \["ResourceBundle", "java/util/ResourceBundle.html"],
+    \["ResourceBundle.Control", "java/util/ResourceBundle.Control.html"],
+    \["Resources", "javax/annotation/Resources.html"],
+    \["RespectBinding", "javax/xml/ws/RespectBinding.html"],
+    \["RespectBindingFeature", "javax/xml/ws/RespectBindingFeature.html"],
+    \["Response", "javax/xml/ws/Response.html"],
+    \["ResponseCache", "java/net/ResponseCache.html"],
+    \["ResponseHandler", "org/omg/CORBA/portable/ResponseHandler.html"],
+    \["ResponseWrapper", "javax/xml/ws/ResponseWrapper.html"],
+    \["Result", "javax/xml/transform/Result.html"],
+    \["ResultSet", "java/sql/ResultSet.html"],
+    \["ResultSetMetaData", "java/sql/ResultSetMetaData.html"],
+    \["Retention", "java/lang/annotation/Retention.html"],
+    \["RetentionPolicy", "java/lang/annotation/RetentionPolicy.html"],
+    \["RetrievalMethod", "javax/xml/crypto/dsig/keyinfo/RetrievalMethod.html"],
+    \["ReverbType", "javax/sound/sampled/ReverbType.html"],
+    \["RGBImageFilter", "java/awt/image/RGBImageFilter.html"],
+    \["RMIClassLoader", "java/rmi/server/RMIClassLoader.html"],
+    \["RMIClassLoaderSpi", "java/rmi/server/RMIClassLoaderSpi.html"],
+    \["RMIClientSocketFactory", "java/rmi/server/RMIClientSocketFactory.html"],
+    \["RMIConnection", "javax/management/remote/rmi/RMIConnection.html"],
+    \["RMIConnectionImpl", "javax/management/remote/rmi/RMIConnectionImpl.html"],
+    \["RMIConnectionImpl_Stub", "javax/management/remote/rmi/RMIConnectionImpl_Stub.html"],
+    \["RMIConnector", "javax/management/remote/rmi/RMIConnector.html"],
+    \["RMIConnectorServer", "javax/management/remote/rmi/RMIConnectorServer.html"],
+    \["RMICustomMaxStreamFormat", "org/omg/IOP/RMICustomMaxStreamFormat.html"],
+    \["RMIFailureHandler", "java/rmi/server/RMIFailureHandler.html"],
+    \["RMIIIOPServerImpl", "javax/management/remote/rmi/RMIIIOPServerImpl.html"],
+    \["RMIJRMPServerImpl", "javax/management/remote/rmi/RMIJRMPServerImpl.html"],
+    \["RMISecurityException", "java/rmi/RMISecurityException.html"],
+    \["RMISecurityManager", "java/rmi/RMISecurityManager.html"],
+    \["RMIServer", "javax/management/remote/rmi/RMIServer.html"],
+    \["RMIServerImpl", "javax/management/remote/rmi/RMIServerImpl.html"],
+    \["RMIServerImpl_Stub", "javax/management/remote/rmi/RMIServerImpl_Stub.html"],
+    \["RMIServerSocketFactory", "java/rmi/server/RMIServerSocketFactory.html"],
+    \["RMISocketFactory", "java/rmi/server/RMISocketFactory.html"],
+    \["Robot", "java/awt/Robot.html"],
+    \["Role", "javax/management/relation/Role.html"],
+    \["RoleInfo", "javax/management/relation/RoleInfo.html"],
+    \["RoleInfoNotFoundException", "javax/management/relation/RoleInfoNotFoundException.html"],
+    \["RoleList", "javax/management/relation/RoleList.html"],
+    \["RoleNotFoundException", "javax/management/relation/RoleNotFoundException.html"],
+    \["RoleResult", "javax/management/relation/RoleResult.html"],
+    \["RoleStatus", "javax/management/relation/RoleStatus.html"],
+    \["RoleUnresolved", "javax/management/relation/RoleUnresolved.html"],
+    \["RoleUnresolvedList", "javax/management/relation/RoleUnresolvedList.html"],
+    \["RootPaneContainer", "javax/swing/RootPaneContainer.html"],
+    \["RootPaneUI", "javax/swing/plaf/RootPaneUI.html"],
+    \["RoundEnvironment", "javax/annotation/processing/RoundEnvironment.html"],
+    \["RoundingMode", "java/math/RoundingMode.html"],
+    \["RoundRectangle2D", "java/awt/geom/RoundRectangle2D.html"],
+    \["RoundRectangle2D.Double", "java/awt/geom/RoundRectangle2D.Double.html"],
+    \["RoundRectangle2D.Float", "java/awt/geom/RoundRectangle2D.Float.html"],
+    \["RowFilter", "javax/swing/RowFilter.html"],
+    \["RowFilter.ComparisonType", "javax/swing/RowFilter.ComparisonType.html"],
+    \["RowFilter.Entry", "javax/swing/RowFilter.Entry.html"],
+    \["RowId", "java/sql/RowId.html"],
+    \["RowIdLifetime", "java/sql/RowIdLifetime.html"],
+    \["RowMapper", "javax/swing/tree/RowMapper.html"],
+    \["RowSet", "javax/sql/RowSet.html"],
+    \["RowSetEvent", "javax/sql/RowSetEvent.html"],
+    \["RowSetInternal", "javax/sql/RowSetInternal.html"],
+    \["RowSetListener", "javax/sql/RowSetListener.html"],
+    \["RowSetMetaData", "javax/sql/RowSetMetaData.html"],
+    \["RowSetMetaDataImpl", "javax/sql/rowset/RowSetMetaDataImpl.html"],
+    \["RowSetReader", "javax/sql/RowSetReader.html"],
+    \["RowSetWarning", "javax/sql/rowset/RowSetWarning.html"],
+    \["RowSetWriter", "javax/sql/RowSetWriter.html"],
+    \["RowSorter", "javax/swing/RowSorter.html"],
+    \["RowSorter.SortKey", "javax/swing/RowSorter.SortKey.html"],
+    \["RowSorterEvent", "javax/swing/event/RowSorterEvent.html"],
+    \["RowSorterEvent.Type", "javax/swing/event/RowSorterEvent.Type.html"],
+    \["RowSorterListener", "javax/swing/event/RowSorterListener.html"],
+    \["RSAKey", "java/security/interfaces/RSAKey.html"],
+    \["RSAKeyGenParameterSpec", "java/security/spec/RSAKeyGenParameterSpec.html"],
+    \["RSAMultiPrimePrivateCrtKey", "java/security/interfaces/RSAMultiPrimePrivateCrtKey.html"],
+    \["RSAMultiPrimePrivateCrtKeySpec", "java/security/spec/RSAMultiPrimePrivateCrtKeySpec.html"],
+    \["RSAOtherPrimeInfo", "java/security/spec/RSAOtherPrimeInfo.html"],
+    \["RSAPrivateCrtKey", "java/security/interfaces/RSAPrivateCrtKey.html"],
+    \["RSAPrivateCrtKeySpec", "java/security/spec/RSAPrivateCrtKeySpec.html"],
+    \["RSAPrivateKey", "java/security/interfaces/RSAPrivateKey.html"],
+    \["RSAPrivateKeySpec", "java/security/spec/RSAPrivateKeySpec.html"],
+    \["RSAPublicKey", "java/security/interfaces/RSAPublicKey.html"],
+    \["RSAPublicKeySpec", "java/security/spec/RSAPublicKeySpec.html"],
+    \["RTFEditorKit", "javax/swing/text/rtf/RTFEditorKit.html"],
+    \["RuleBasedCollator", "java/text/RuleBasedCollator.html"],
+    \["Runnable", "java/lang/Runnable.html"],
+    \["RunnableFuture", "java/util/concurrent/RunnableFuture.html"],
+    \["RunnableScheduledFuture", "java/util/concurrent/RunnableScheduledFuture.html"],
+    \["Runtime", "java/lang/Runtime.html"],
+    \["RunTime", "org/omg/SendingContext/RunTime.html"],
+    \["RuntimeErrorException", "javax/management/RuntimeErrorException.html"],
+    \["RuntimeException", "java/lang/RuntimeException.html"],
+    \["RuntimeMBeanException", "javax/management/RuntimeMBeanException.html"],
+    \["RuntimeMXBean", "java/lang/management/RuntimeMXBean.html"],
+    \["RunTimeOperations", "org/omg/SendingContext/RunTimeOperations.html"],
+    \["RuntimeOperationsException", "javax/management/RuntimeOperationsException.html"],
+    \["RuntimePermission", "java/lang/RuntimePermission.html"],
+    \["SAAJMetaFactory", "javax/xml/soap/SAAJMetaFactory.html"],
+    \["SAAJResult", "javax/xml/soap/SAAJResult.html"],
+    \["SampleModel", "java/awt/image/SampleModel.html"],
+    \["Sasl", "javax/security/sasl/Sasl.html"],
+    \["SaslClient", "javax/security/sasl/SaslClient.html"],
+    \["SaslClientFactory", "javax/security/sasl/SaslClientFactory.html"],
+    \["SaslException", "javax/security/sasl/SaslException.html"],
+    \["SaslServer", "javax/security/sasl/SaslServer.html"],
+    \["SaslServerFactory", "javax/security/sasl/SaslServerFactory.html"],
+    \["Savepoint", "java/sql/Savepoint.html"],
+    \["SAXException", "org/xml/sax/SAXException.html"],
+    \["SAXNotRecognizedException", "org/xml/sax/SAXNotRecognizedException.html"],
+    \["SAXNotSupportedException", "org/xml/sax/SAXNotSupportedException.html"],
+    \["SAXParseException", "org/xml/sax/SAXParseException.html"],
+    \["SAXParser", "javax/xml/parsers/SAXParser.html"],
+    \["SAXParserFactory", "javax/xml/parsers/SAXParserFactory.html"],
+    \["SAXResult", "javax/xml/transform/sax/SAXResult.html"],
+    \["SAXSource", "javax/xml/transform/sax/SAXSource.html"],
+    \["SAXTransformerFactory", "javax/xml/transform/sax/SAXTransformerFactory.html"],
+    \["Scanner", "java/util/Scanner.html"],
+    \["ScatteringByteChannel", "java/nio/channels/ScatteringByteChannel.html"],
+    \["ScheduledExecutorService", "java/util/concurrent/ScheduledExecutorService.html"],
+    \["ScheduledFuture", "java/util/concurrent/ScheduledFuture.html"],
+    \["ScheduledThreadPoolExecutor", "java/util/concurrent/ScheduledThreadPoolExecutor.html"],
+    \["Schema", "javax/xml/validation/Schema.html"],
+    \["SchemaFactory", "javax/xml/validation/SchemaFactory.html"],
+    \["SchemaFactoryLoader", "javax/xml/validation/SchemaFactoryLoader.html"],
+    \["SchemaOutputResolver", "javax/xml/bind/SchemaOutputResolver.html"],
+    \["SchemaViolationException", "javax/naming/directory/SchemaViolationException.html"],
+    \["ScriptContext", "javax/script/ScriptContext.html"],
+    \["ScriptEngine", "javax/script/ScriptEngine.html"],
+    \["ScriptEngineFactory", "javax/script/ScriptEngineFactory.html"],
+    \["ScriptEngineManager", "javax/script/ScriptEngineManager.html"],
+    \["ScriptException", "javax/script/ScriptException.html"],
+    \["Scrollable", "javax/swing/Scrollable.html"],
+    \["Scrollbar", "java/awt/Scrollbar.html"],
+    \["ScrollBarUI", "javax/swing/plaf/ScrollBarUI.html"],
+    \["ScrollPane", "java/awt/ScrollPane.html"],
+    \["ScrollPaneAdjustable", "java/awt/ScrollPaneAdjustable.html"],
+    \["ScrollPaneConstants", "javax/swing/ScrollPaneConstants.html"],
+    \["ScrollPaneLayout", "javax/swing/ScrollPaneLayout.html"],
+    \["ScrollPaneLayout.UIResource", "javax/swing/ScrollPaneLayout.UIResource.html"],
+    \["ScrollPaneUI", "javax/swing/plaf/ScrollPaneUI.html"],
+    \["SealedObject", "javax/crypto/SealedObject.html"],
+    \["SearchControls", "javax/naming/directory/SearchControls.html"],
+    \["SearchResult", "javax/naming/directory/SearchResult.html"],
+    \["SecretKey", "javax/crypto/SecretKey.html"],
+    \["SecretKeyFactory", "javax/crypto/SecretKeyFactory.html"],
+    \["SecretKeyFactorySpi", "javax/crypto/SecretKeyFactorySpi.html"],
+    \["SecretKeySpec", "javax/crypto/spec/SecretKeySpec.html"],
+    \["SecureCacheResponse", "java/net/SecureCacheResponse.html"],
+    \["SecureClassLoader", "java/security/SecureClassLoader.html"],
+    \["SecureRandom", "java/security/SecureRandom.html"],
+    \["SecureRandomSpi", "java/security/SecureRandomSpi.html"],
+    \["Security", "java/security/Security.html"],
+    \["SecurityException", "java/lang/SecurityException.html"],
+    \["SecurityManager", "java/lang/SecurityManager.html"],
+    \["SecurityPermission", "java/security/SecurityPermission.html"],
+    \["Segment", "javax/swing/text/Segment.html"],
+    \["SelectableChannel", "java/nio/channels/SelectableChannel.html"],
+    \["SelectionKey", "java/nio/channels/SelectionKey.html"],
+    \["Selector", "java/nio/channels/Selector.html"],
+    \["SelectorProvider", "java/nio/channels/spi/SelectorProvider.html"],
+    \["Semaphore", "java/util/concurrent/Semaphore.html"],
+    \["SeparatorUI", "javax/swing/plaf/SeparatorUI.html"],
+    \["Sequence", "javax/sound/midi/Sequence.html"],
+    \["SequenceInputStream", "java/io/SequenceInputStream.html"],
+    \["Sequencer", "javax/sound/midi/Sequencer.html"],
+    \["Sequencer.SyncMode", "javax/sound/midi/Sequencer.SyncMode.html"],
+    \["SerialArray", "javax/sql/rowset/serial/SerialArray.html"],
+    \["SerialBlob", "javax/sql/rowset/serial/SerialBlob.html"],
+    \["SerialClob", "javax/sql/rowset/serial/SerialClob.html"],
+    \["SerialDatalink", "javax/sql/rowset/serial/SerialDatalink.html"],
+    \["SerialException", "javax/sql/rowset/serial/SerialException.html"],
+    \["Serializable", "java/io/Serializable.html"],
+    \["SerializablePermission", "java/io/SerializablePermission.html"],
+    \["SerialJavaObject", "javax/sql/rowset/serial/SerialJavaObject.html"],
+    \["SerialRef", "javax/sql/rowset/serial/SerialRef.html"],
+    \["SerialStruct", "javax/sql/rowset/serial/SerialStruct.html"],
+    \["Servant", "org/omg/PortableServer/Servant.html"],
+    \["SERVANT_RETENTION_POLICY_ID", "org/omg/PortableServer/SERVANT_RETENTION_POLICY_ID.html"],
+    \["ServantActivator", "org/omg/PortableServer/ServantActivator.html"],
+    \["ServantActivatorHelper", "org/omg/PortableServer/ServantActivatorHelper.html"],
+    \["ServantActivatorOperations", "org/omg/PortableServer/ServantActivatorOperations.html"],
+    \["ServantActivatorPOA", "org/omg/PortableServer/ServantActivatorPOA.html"],
+    \["ServantAlreadyActive", "org/omg/PortableServer/POAPackage/ServantAlreadyActive.html"],
+    \["ServantAlreadyActiveHelper", "org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.html"],
+    \["ServantLocator", "org/omg/PortableServer/ServantLocator.html"],
+    \["ServantLocatorHelper", "org/omg/PortableServer/ServantLocatorHelper.html"],
+    \["ServantLocatorOperations", "org/omg/PortableServer/ServantLocatorOperations.html"],
+    \["ServantLocatorPOA", "org/omg/PortableServer/ServantLocatorPOA.html"],
+    \["ServantManager", "org/omg/PortableServer/ServantManager.html"],
+    \["ServantManagerOperations", "org/omg/PortableServer/ServantManagerOperations.html"],
+    \["ServantNotActive", "org/omg/PortableServer/POAPackage/ServantNotActive.html"],
+    \["ServantNotActiveHelper", "org/omg/PortableServer/POAPackage/ServantNotActiveHelper.html"],
+    \["ServantObject", "org/omg/CORBA/portable/ServantObject.html"],
+    \["ServantRetentionPolicy", "org/omg/PortableServer/ServantRetentionPolicy.html"],
+    \["ServantRetentionPolicyOperations", "org/omg/PortableServer/ServantRetentionPolicyOperations.html"],
+    \["ServantRetentionPolicyValue", "org/omg/PortableServer/ServantRetentionPolicyValue.html"],
+    \["ServerCloneException", "java/rmi/server/ServerCloneException.html"],
+    \["ServerError", "java/rmi/ServerError.html"],
+    \["ServerException", "java/rmi/ServerException.html"],
+    \["ServerIdHelper", "org/omg/PortableInterceptor/ServerIdHelper.html"],
+    \["ServerNotActiveException", "java/rmi/server/ServerNotActiveException.html"],
+    \["ServerRef", "java/rmi/server/ServerRef.html"],
+    \["ServerRequest", "org/omg/CORBA/ServerRequest.html"],
+    \["ServerRequestInfo", "org/omg/PortableInterceptor/ServerRequestInfo.html"],
+    \["ServerRequestInfoOperations", "org/omg/PortableInterceptor/ServerRequestInfoOperations.html"],
+    \["ServerRequestInterceptor", "org/omg/PortableInterceptor/ServerRequestInterceptor.html"],
+    \["ServerRequestInterceptorOperations", "org/omg/PortableInterceptor/ServerRequestInterceptorOperations.html"],
+    \["ServerRuntimeException", "java/rmi/ServerRuntimeException.html"],
+    \["ServerSocket", "java/net/ServerSocket.html"],
+    \["ServerSocketChannel", "java/nio/channels/ServerSocketChannel.html"],
+    \["ServerSocketFactory", "javax/net/ServerSocketFactory.html"],
+    \["Service", "javax/xml/ws/Service.html"],
+    \["Service.Mode", "javax/xml/ws/Service.Mode.html"],
+    \["ServiceConfigurationError", "java/util/ServiceConfigurationError.html"],
+    \["ServiceContext", "org/omg/IOP/ServiceContext.html"],
+    \["ServiceContextHelper", "org/omg/IOP/ServiceContextHelper.html"],
+    \["ServiceContextHolder", "org/omg/IOP/ServiceContextHolder.html"],
+    \["ServiceContextListHelper", "org/omg/IOP/ServiceContextListHelper.html"],
+    \["ServiceContextListHolder", "org/omg/IOP/ServiceContextListHolder.html"],
+    \["ServiceDelegate", "javax/xml/ws/spi/ServiceDelegate.html"],
+    \["ServiceDetail", "org/omg/CORBA/ServiceDetail.html"],
+    \["ServiceDetailHelper", "org/omg/CORBA/ServiceDetailHelper.html"],
+    \["ServiceIdHelper", "org/omg/IOP/ServiceIdHelper.html"],
+    \["ServiceInformation", "org/omg/CORBA/ServiceInformation.html"],
+    \["ServiceInformationHelper", "org/omg/CORBA/ServiceInformationHelper.html"],
+    \["ServiceInformationHolder", "org/omg/CORBA/ServiceInformationHolder.html"],
+    \["ServiceLoader", "java/util/ServiceLoader.html"],
+    \["ServiceMode", "javax/xml/ws/ServiceMode.html"],
+    \["ServiceNotFoundException", "javax/management/ServiceNotFoundException.html"],
+    \["ServicePermission", "javax/security/auth/kerberos/ServicePermission.html"],
+    \["ServiceRegistry", "javax/imageio/spi/ServiceRegistry.html"],
+    \["ServiceRegistry.Filter", "javax/imageio/spi/ServiceRegistry.Filter.html"],
+    \["ServiceUI", "javax/print/ServiceUI.html"],
+    \["ServiceUIFactory", "javax/print/ServiceUIFactory.html"],
+    \["ServiceUnavailableException", "javax/naming/ServiceUnavailableException.html"],
+    \["Set", "java/util/Set.html"],
+    \["SetOfIntegerSyntax", "javax/print/attribute/SetOfIntegerSyntax.html"],
+    \["SetOverrideType", "org/omg/CORBA/SetOverrideType.html"],
+    \["SetOverrideTypeHelper", "org/omg/CORBA/SetOverrideTypeHelper.html"],
+    \["Severity", "javax/print/attribute/standard/Severity.html"],
+    \["Shape", "java/awt/Shape.html"],
+    \["ShapeGraphicAttribute", "java/awt/font/ShapeGraphicAttribute.html"],
+    \["SheetCollate", "javax/print/attribute/standard/SheetCollate.html"],
+    \["Short", "java/lang/Short.html"],
+    \["ShortBuffer", "java/nio/ShortBuffer.html"],
+    \["ShortBufferException", "javax/crypto/ShortBufferException.html"],
+    \["ShortHolder", "org/omg/CORBA/ShortHolder.html"],
+    \["ShortLookupTable", "java/awt/image/ShortLookupTable.html"],
+    \["ShortMessage", "javax/sound/midi/ShortMessage.html"],
+    \["ShortSeqHelper", "org/omg/CORBA/ShortSeqHelper.html"],
+    \["ShortSeqHolder", "org/omg/CORBA/ShortSeqHolder.html"],
+    \["Sides", "javax/print/attribute/standard/Sides.html"],
+    \["Signature", "java/security/Signature.html"],
+    \["SignatureException", "java/security/SignatureException.html"],
+    \["SignatureMethod", "javax/xml/crypto/dsig/SignatureMethod.html"],
+    \["SignatureMethodParameterSpec", "javax/xml/crypto/dsig/spec/SignatureMethodParameterSpec.html"],
+    \["SignatureProperties", "javax/xml/crypto/dsig/SignatureProperties.html"],
+    \["SignatureProperty", "javax/xml/crypto/dsig/SignatureProperty.html"],
+    \["SignatureSpi", "java/security/SignatureSpi.html"],
+    \["SignedInfo", "javax/xml/crypto/dsig/SignedInfo.html"],
+    \["SignedObject", "java/security/SignedObject.html"],
+    \["Signer", "java/security/Signer.html"],
+    \["SimpleAnnotationValueVisitor6", "javax/lang/model/util/SimpleAnnotationValueVisitor6.html"],
+    \["SimpleAttributeSet", "javax/swing/text/SimpleAttributeSet.html"],
+    \["SimpleBeanInfo", "java/beans/SimpleBeanInfo.html"],
+    \["SimpleBindings", "javax/script/SimpleBindings.html"],
+    \["SimpleDateFormat", "java/text/SimpleDateFormat.html"],
+    \["SimpleDoc", "javax/print/SimpleDoc.html"],
+    \["SimpleElementVisitor6", "javax/lang/model/util/SimpleElementVisitor6.html"],
+    \["SimpleFormatter", "java/util/logging/SimpleFormatter.html"],
+    \["SimpleJavaFileObject", "javax/tools/SimpleJavaFileObject.html"],
+    \["SimpleScriptContext", "javax/script/SimpleScriptContext.html"],
+    \["SimpleTimeZone", "java/util/SimpleTimeZone.html"],
+    \["SimpleType", "javax/management/openmbean/SimpleType.html"],
+    \["SimpleTypeVisitor6", "javax/lang/model/util/SimpleTypeVisitor6.html"],
+    \["SinglePixelPackedSampleModel", "java/awt/image/SinglePixelPackedSampleModel.html"],
+    \["SingleSelectionModel", "javax/swing/SingleSelectionModel.html"],
+    \["Size2DSyntax", "javax/print/attribute/Size2DSyntax.html"],
+    \["SizeLimitExceededException", "javax/naming/SizeLimitExceededException.html"],
+    \["SizeRequirements", "javax/swing/SizeRequirements.html"],
+    \["SizeSequence", "javax/swing/SizeSequence.html"],
+    \["Skeleton", "java/rmi/server/Skeleton.html"],
+    \["SkeletonMismatchException", "java/rmi/server/SkeletonMismatchException.html"],
+    \["SkeletonNotFoundException", "java/rmi/server/SkeletonNotFoundException.html"],
+    \["SliderUI", "javax/swing/plaf/SliderUI.html"],
+    \["SOAPBinding", "javax/jws/soap/SOAPBinding.html"],
+    \["SOAPBinding", "javax/xml/ws/soap/SOAPBinding.html"],
+    \["SOAPBinding.ParameterStyle", "javax/jws/soap/SOAPBinding.ParameterStyle.html"],
+    \["SOAPBinding.Style", "javax/jws/soap/SOAPBinding.Style.html"],
+    \["SOAPBinding.Use", "javax/jws/soap/SOAPBinding.Use.html"],
+    \["SOAPBody", "javax/xml/soap/SOAPBody.html"],
+    \["SOAPBodyElement", "javax/xml/soap/SOAPBodyElement.html"],
+    \["SOAPConnection", "javax/xml/soap/SOAPConnection.html"],
+    \["SOAPConnectionFactory", "javax/xml/soap/SOAPConnectionFactory.html"],
+    \["SOAPConstants", "javax/xml/soap/SOAPConstants.html"],
+    \["SOAPElement", "javax/xml/soap/SOAPElement.html"],
+    \["SOAPElementFactory", "javax/xml/soap/SOAPElementFactory.html"],
+    \["SOAPEnvelope", "javax/xml/soap/SOAPEnvelope.html"],
+    \["SOAPException", "javax/xml/soap/SOAPException.html"],
+    \["SOAPFactory", "javax/xml/soap/SOAPFactory.html"],
+    \["SOAPFault", "javax/xml/soap/SOAPFault.html"],
+    \["SOAPFaultElement", "javax/xml/soap/SOAPFaultElement.html"],
+    \["SOAPFaultException", "javax/xml/ws/soap/SOAPFaultException.html"],
+    \["SOAPHandler", "javax/xml/ws/handler/soap/SOAPHandler.html"],
+    \["SOAPHeader", "javax/xml/soap/SOAPHeader.html"],
+    \["SOAPHeaderElement", "javax/xml/soap/SOAPHeaderElement.html"],
+    \["SOAPMessage", "javax/xml/soap/SOAPMessage.html"],
+    \["SOAPMessageContext", "javax/xml/ws/handler/soap/SOAPMessageContext.html"],
+    \["SOAPMessageHandler", "javax/jws/soap/SOAPMessageHandler.html"],
+    \["SOAPMessageHandlers", "javax/jws/soap/SOAPMessageHandlers.html"],
+    \["SOAPPart", "javax/xml/soap/SOAPPart.html"],
+    \["Socket", "java/net/Socket.html"],
+    \["SocketAddress", "java/net/SocketAddress.html"],
+    \["SocketChannel", "java/nio/channels/SocketChannel.html"],
+    \["SocketException", "java/net/SocketException.html"],
+    \["SocketFactory", "javax/net/SocketFactory.html"],
+    \["SocketHandler", "java/util/logging/SocketHandler.html"],
+    \["SocketImpl", "java/net/SocketImpl.html"],
+    \["SocketImplFactory", "java/net/SocketImplFactory.html"],
+    \["SocketOptions", "java/net/SocketOptions.html"],
+    \["SocketPermission", "java/net/SocketPermission.html"],
+    \["SocketSecurityException", "java/rmi/server/SocketSecurityException.html"],
+    \["SocketTimeoutException", "java/net/SocketTimeoutException.html"],
+    \["SoftBevelBorder", "javax/swing/border/SoftBevelBorder.html"],
+    \["SoftReference", "java/lang/ref/SoftReference.html"],
+    \["SortControl", "javax/naming/ldap/SortControl.html"],
+    \["SortedMap", "java/util/SortedMap.html"],
+    \["SortedSet", "java/util/SortedSet.html"],
+    \["SortingFocusTraversalPolicy", "javax/swing/SortingFocusTraversalPolicy.html"],
+    \["SortKey", "javax/naming/ldap/SortKey.html"],
+    \["SortOrder", "javax/swing/SortOrder.html"],
+    \["SortResponseControl", "javax/naming/ldap/SortResponseControl.html"],
+    \["Soundbank", "javax/sound/midi/Soundbank.html"],
+    \["SoundbankReader", "javax/sound/midi/spi/SoundbankReader.html"],
+    \["SoundbankResource", "javax/sound/midi/SoundbankResource.html"],
+    \["Source", "javax/xml/transform/Source.html"],
+    \["SourceDataLine", "javax/sound/sampled/SourceDataLine.html"],
+    \["SourceLocator", "javax/xml/transform/SourceLocator.html"],
+    \["SourceVersion", "javax/lang/model/SourceVersion.html"],
+    \["SpinnerDateModel", "javax/swing/SpinnerDateModel.html"],
+    \["SpinnerListModel", "javax/swing/SpinnerListModel.html"],
+    \["SpinnerModel", "javax/swing/SpinnerModel.html"],
+    \["SpinnerNumberModel", "javax/swing/SpinnerNumberModel.html"],
+    \["SpinnerUI", "javax/swing/plaf/SpinnerUI.html"],
+    \["SplashScreen", "java/awt/SplashScreen.html"],
+    \["SplitPaneUI", "javax/swing/plaf/SplitPaneUI.html"],
+    \["Spring", "javax/swing/Spring.html"],
+    \["SpringLayout", "javax/swing/SpringLayout.html"],
+    \["SpringLayout.Constraints", "javax/swing/SpringLayout.Constraints.html"],
+    \["SQLClientInfoException", "java/sql/SQLClientInfoException.html"],
+    \["SQLData", "java/sql/SQLData.html"],
+    \["SQLDataException", "java/sql/SQLDataException.html"],
+    \["SQLException", "java/sql/SQLException.html"],
+    \["SQLFeatureNotSupportedException", "java/sql/SQLFeatureNotSupportedException.html"],
+    \["SQLInput", "java/sql/SQLInput.html"],
+    \["SQLInputImpl", "javax/sql/rowset/serial/SQLInputImpl.html"],
+    \["SQLIntegrityConstraintViolationException", "java/sql/SQLIntegrityConstraintViolationException.html"],
+    \["SQLInvalidAuthorizationSpecException", "java/sql/SQLInvalidAuthorizationSpecException.html"],
+    \["SQLNonTransientConnectionException", "java/sql/SQLNonTransientConnectionException.html"],
+    \["SQLNonTransientException", "java/sql/SQLNonTransientException.html"],
+    \["SQLOutput", "java/sql/SQLOutput.html"],
+    \["SQLOutputImpl", "javax/sql/rowset/serial/SQLOutputImpl.html"],
+    \["SQLPermission", "java/sql/SQLPermission.html"],
+    \["SQLRecoverableException", "java/sql/SQLRecoverableException.html"],
+    \["SQLSyntaxErrorException", "java/sql/SQLSyntaxErrorException.html"],
+    \["SQLTimeoutException", "java/sql/SQLTimeoutException.html"],
+    \["SQLTransactionRollbackException", "java/sql/SQLTransactionRollbackException.html"],
+    \["SQLTransientConnectionException", "java/sql/SQLTransientConnectionException.html"],
+    \["SQLTransientException", "java/sql/SQLTransientException.html"],
+    \["SQLWarning", "java/sql/SQLWarning.html"],
+    \["SQLXML", "java/sql/SQLXML.html"],
+    \["SSLContext", "javax/net/ssl/SSLContext.html"],
+    \["SSLContextSpi", "javax/net/ssl/SSLContextSpi.html"],
+    \["SSLEngine", "javax/net/ssl/SSLEngine.html"],
+    \["SSLEngineResult", "javax/net/ssl/SSLEngineResult.html"],
+    \["SSLEngineResult.HandshakeStatus", "javax/net/ssl/SSLEngineResult.HandshakeStatus.html"],
+    \["SSLEngineResult.Status", "javax/net/ssl/SSLEngineResult.Status.html"],
+    \["SSLException", "javax/net/ssl/SSLException.html"],
+    \["SSLHandshakeException", "javax/net/ssl/SSLHandshakeException.html"],
+    \["SSLKeyException", "javax/net/ssl/SSLKeyException.html"],
+    \["SSLParameters", "javax/net/ssl/SSLParameters.html"],
+    \["SSLPeerUnverifiedException", "javax/net/ssl/SSLPeerUnverifiedException.html"],
+    \["SSLPermission", "javax/net/ssl/SSLPermission.html"],
+    \["SSLProtocolException", "javax/net/ssl/SSLProtocolException.html"],
+    \["SslRMIClientSocketFactory", "javax/rmi/ssl/SslRMIClientSocketFactory.html"],
+    \["SslRMIServerSocketFactory", "javax/rmi/ssl/SslRMIServerSocketFactory.html"],
+    \["SSLServerSocket", "javax/net/ssl/SSLServerSocket.html"],
+    \["SSLServerSocketFactory", "javax/net/ssl/SSLServerSocketFactory.html"],
+    \["SSLSession", "javax/net/ssl/SSLSession.html"],
+    \["SSLSessionBindingEvent", "javax/net/ssl/SSLSessionBindingEvent.html"],
+    \["SSLSessionBindingListener", "javax/net/ssl/SSLSessionBindingListener.html"],
+    \["SSLSessionContext", "javax/net/ssl/SSLSessionContext.html"],
+    \["SSLSocket", "javax/net/ssl/SSLSocket.html"],
+    \["SSLSocketFactory", "javax/net/ssl/SSLSocketFactory.html"],
+    \["Stack", "java/util/Stack.html"],
+    \["StackOverflowError", "java/lang/StackOverflowError.html"],
+    \["StackTraceElement", "java/lang/StackTraceElement.html"],
+    \["StandardEmitterMBean", "javax/management/StandardEmitterMBean.html"],
+    \["StandardJavaFileManager", "javax/tools/StandardJavaFileManager.html"],
+    \["StandardLocation", "javax/tools/StandardLocation.html"],
+    \["StandardMBean", "javax/management/StandardMBean.html"],
+    \["StartDocument", "javax/xml/stream/events/StartDocument.html"],
+    \["StartElement", "javax/xml/stream/events/StartElement.html"],
+    \["StartTlsRequest", "javax/naming/ldap/StartTlsRequest.html"],
+    \["StartTlsResponse", "javax/naming/ldap/StartTlsResponse.html"],
+    \["State", "org/omg/PortableServer/POAManagerPackage/State.html"],
+    \["StateEdit", "javax/swing/undo/StateEdit.html"],
+    \["StateEditable", "javax/swing/undo/StateEditable.html"],
+    \["StateFactory", "javax/naming/spi/StateFactory.html"],
+    \["Statement", "java/beans/Statement.html"],
+    \["Statement", "java/sql/Statement.html"],
+    \["StatementEvent", "javax/sql/StatementEvent.html"],
+    \["StatementEventListener", "javax/sql/StatementEventListener.html"],
+    \["StAXResult", "javax/xml/transform/stax/StAXResult.html"],
+    \["StAXSource", "javax/xml/transform/stax/StAXSource.html"],
+    \["Streamable", "org/omg/CORBA/portable/Streamable.html"],
+    \["StreamableValue", "org/omg/CORBA/portable/StreamableValue.html"],
+    \["StreamCorruptedException", "java/io/StreamCorruptedException.html"],
+    \["StreamFilter", "javax/xml/stream/StreamFilter.html"],
+    \["StreamHandler", "java/util/logging/StreamHandler.html"],
+    \["StreamPrintService", "javax/print/StreamPrintService.html"],
+    \["StreamPrintServiceFactory", "javax/print/StreamPrintServiceFactory.html"],
+    \["StreamReaderDelegate", "javax/xml/stream/util/StreamReaderDelegate.html"],
+    \["StreamResult", "javax/xml/transform/stream/StreamResult.html"],
+    \["StreamSource", "javax/xml/transform/stream/StreamSource.html"],
+    \["StreamTokenizer", "java/io/StreamTokenizer.html"],
+    \["StrictMath", "java/lang/StrictMath.html"],
+    \["String", "java/lang/String.html"],
+    \["StringBuffer", "java/lang/StringBuffer.html"],
+    \["StringBufferInputStream", "java/io/StringBufferInputStream.html"],
+    \["StringBuilder", "java/lang/StringBuilder.html"],
+    \["StringCharacterIterator", "java/text/StringCharacterIterator.html"],
+    \["StringContent", "javax/swing/text/StringContent.html"],
+    \["StringHolder", "org/omg/CORBA/StringHolder.html"],
+    \["StringIndexOutOfBoundsException", "java/lang/StringIndexOutOfBoundsException.html"],
+    \["StringMonitor", "javax/management/monitor/StringMonitor.html"],
+    \["StringMonitorMBean", "javax/management/monitor/StringMonitorMBean.html"],
+    \["StringNameHelper", "org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.html"],
+    \["StringReader", "java/io/StringReader.html"],
+    \["StringRefAddr", "javax/naming/StringRefAddr.html"],
+    \["StringSelection", "java/awt/datatransfer/StringSelection.html"],
+    \["StringSeqHelper", "org/omg/CORBA/StringSeqHelper.html"],
+    \["StringSeqHolder", "org/omg/CORBA/StringSeqHolder.html"],
+    \["StringTokenizer", "java/util/StringTokenizer.html"],
+    \["StringValueExp", "javax/management/StringValueExp.html"],
+    \["StringValueHelper", "org/omg/CORBA/StringValueHelper.html"],
+    \["StringWriter", "java/io/StringWriter.html"],
+    \["Stroke", "java/awt/Stroke.html"],
+    \["Struct", "java/sql/Struct.html"],
+    \["StructMember", "org/omg/CORBA/StructMember.html"],
+    \["StructMemberHelper", "org/omg/CORBA/StructMemberHelper.html"],
+    \["Stub", "javax/rmi/CORBA/Stub.html"],
+    \["StubDelegate", "javax/rmi/CORBA/StubDelegate.html"],
+    \["StubNotFoundException", "java/rmi/StubNotFoundException.html"],
+    \["Style", "javax/swing/text/Style.html"],
+    \["StyleConstants", "javax/swing/text/StyleConstants.html"],
+    \["StyleConstants.CharacterConstants", "javax/swing/text/StyleConstants.CharacterConstants.html"],
+    \["StyleConstants.ColorConstants", "javax/swing/text/StyleConstants.ColorConstants.html"],
+    \["StyleConstants.FontConstants", "javax/swing/text/StyleConstants.FontConstants.html"],
+    \["StyleConstants.ParagraphConstants", "javax/swing/text/StyleConstants.ParagraphConstants.html"],
+    \["StyleContext", "javax/swing/text/StyleContext.html"],
+    \["StyledDocument", "javax/swing/text/StyledDocument.html"],
+    \["StyledEditorKit", "javax/swing/text/StyledEditorKit.html"],
+    \["StyledEditorKit.AlignmentAction", "javax/swing/text/StyledEditorKit.AlignmentAction.html"],
+    \["StyledEditorKit.BoldAction", "javax/swing/text/StyledEditorKit.BoldAction.html"],
+    \["StyledEditorKit.FontFamilyAction", "javax/swing/text/StyledEditorKit.FontFamilyAction.html"],
+    \["StyledEditorKit.FontSizeAction", "javax/swing/text/StyledEditorKit.FontSizeAction.html"],
+    \["StyledEditorKit.ForegroundAction", "javax/swing/text/StyledEditorKit.ForegroundAction.html"],
+    \["StyledEditorKit.ItalicAction", "javax/swing/text/StyledEditorKit.ItalicAction.html"],
+    \["StyledEditorKit.StyledTextAction", "javax/swing/text/StyledEditorKit.StyledTextAction.html"],
+    \["StyledEditorKit.UnderlineAction", "javax/swing/text/StyledEditorKit.UnderlineAction.html"],
+    \["StyleSheet", "javax/swing/text/html/StyleSheet.html"],
+    \["StyleSheet.BoxPainter", "javax/swing/text/html/StyleSheet.BoxPainter.html"],
+    \["StyleSheet.ListPainter", "javax/swing/text/html/StyleSheet.ListPainter.html"],
+    \["Subject", "javax/security/auth/Subject.html"],
+    \["SubjectDelegationPermission", "javax/management/remote/SubjectDelegationPermission.html"],
+    \["SubjectDomainCombiner", "javax/security/auth/SubjectDomainCombiner.html"],
+    \["SUCCESSFUL", "org/omg/PortableInterceptor/SUCCESSFUL.html"],
+    \["SupportedAnnotationTypes", "javax/annotation/processing/SupportedAnnotationTypes.html"],
+    \["SupportedOptions", "javax/annotation/processing/SupportedOptions.html"],
+    \["SupportedSourceVersion", "javax/annotation/processing/SupportedSourceVersion.html"],
+    \["SupportedValuesAttribute", "javax/print/attribute/SupportedValuesAttribute.html"],
+    \["SuppressWarnings", "java/lang/SuppressWarnings.html"],
+    \["SwingConstants", "javax/swing/SwingConstants.html"],
+    \["SwingPropertyChangeSupport", "javax/swing/event/SwingPropertyChangeSupport.html"],
+    \["SwingUtilities", "javax/swing/SwingUtilities.html"],
+    \["SwingWorker", "javax/swing/SwingWorker.html"],
+    \["SwingWorker.StateValue", "javax/swing/SwingWorker.StateValue.html"],
+    \["SYNC_WITH_TRANSPORT", "org/omg/Messaging/SYNC_WITH_TRANSPORT.html"],
+    \["SyncFactory", "javax/sql/rowset/spi/SyncFactory.html"],
+    \["SyncFactoryException", "javax/sql/rowset/spi/SyncFactoryException.html"],
+    \["SyncFailedException", "java/io/SyncFailedException.html"],
+    \["SynchronousQueue", "java/util/concurrent/SynchronousQueue.html"],
+    \["SyncProvider", "javax/sql/rowset/spi/SyncProvider.html"],
+    \["SyncProviderException", "javax/sql/rowset/spi/SyncProviderException.html"],
+    \["SyncResolver", "javax/sql/rowset/spi/SyncResolver.html"],
+    \["SyncScopeHelper", "org/omg/Messaging/SyncScopeHelper.html"],
+    \["SynthConstants", "javax/swing/plaf/synth/SynthConstants.html"],
+    \["SynthContext", "javax/swing/plaf/synth/SynthContext.html"],
+    \["Synthesizer", "javax/sound/midi/Synthesizer.html"],
+    \["SynthGraphicsUtils", "javax/swing/plaf/synth/SynthGraphicsUtils.html"],
+    \["SynthLookAndFeel", "javax/swing/plaf/synth/SynthLookAndFeel.html"],
+    \["SynthPainter", "javax/swing/plaf/synth/SynthPainter.html"],
+    \["SynthStyle", "javax/swing/plaf/synth/SynthStyle.html"],
+    \["SynthStyleFactory", "javax/swing/plaf/synth/SynthStyleFactory.html"],
+    \["SysexMessage", "javax/sound/midi/SysexMessage.html"],
+    \["System", "java/lang/System.html"],
+    \["SYSTEM_EXCEPTION", "org/omg/PortableInterceptor/SYSTEM_EXCEPTION.html"],
+    \["SystemColor", "java/awt/SystemColor.html"],
+    \["SystemException", "org/omg/CORBA/SystemException.html"],
+    \["SystemFlavorMap", "java/awt/datatransfer/SystemFlavorMap.html"],
+    \["SystemTray", "java/awt/SystemTray.html"],
+    \["TabableView", "javax/swing/text/TabableView.html"],
+    \["TabbedPaneUI", "javax/swing/plaf/TabbedPaneUI.html"],
+    \["TabExpander", "javax/swing/text/TabExpander.html"],
+    \["TableCellEditor", "javax/swing/table/TableCellEditor.html"],
+    \["TableCellRenderer", "javax/swing/table/TableCellRenderer.html"],
+    \["TableColumn", "javax/swing/table/TableColumn.html"],
+    \["TableColumnModel", "javax/swing/table/TableColumnModel.html"],
+    \["TableColumnModelEvent", "javax/swing/event/TableColumnModelEvent.html"],
+    \["TableColumnModelListener", "javax/swing/event/TableColumnModelListener.html"],
+    \["TableHeaderUI", "javax/swing/plaf/TableHeaderUI.html"],
+    \["TableModel", "javax/swing/table/TableModel.html"],
+    \["TableModelEvent", "javax/swing/event/TableModelEvent.html"],
+    \["TableModelListener", "javax/swing/event/TableModelListener.html"],
+    \["TableRowSorter", "javax/swing/table/TableRowSorter.html"],
+    \["TableStringConverter", "javax/swing/table/TableStringConverter.html"],
+    \["TableUI", "javax/swing/plaf/TableUI.html"],
+    \["TableView", "javax/swing/text/TableView.html"],
+    \["TabSet", "javax/swing/text/TabSet.html"],
+    \["TabStop", "javax/swing/text/TabStop.html"],
+    \["TabularData", "javax/management/openmbean/TabularData.html"],
+    \["TabularDataSupport", "javax/management/openmbean/TabularDataSupport.html"],
+    \["TabularType", "javax/management/openmbean/TabularType.html"],
+    \["TAG_ALTERNATE_IIOP_ADDRESS", "org/omg/IOP/TAG_ALTERNATE_IIOP_ADDRESS.html"],
+    \["TAG_CODE_SETS", "org/omg/IOP/TAG_CODE_SETS.html"],
+    \["TAG_INTERNET_IOP", "org/omg/IOP/TAG_INTERNET_IOP.html"],
+    \["TAG_JAVA_CODEBASE", "org/omg/IOP/TAG_JAVA_CODEBASE.html"],
+    \["TAG_MULTIPLE_COMPONENTS", "org/omg/IOP/TAG_MULTIPLE_COMPONENTS.html"],
+    \["TAG_ORB_TYPE", "org/omg/IOP/TAG_ORB_TYPE.html"],
+    \["TAG_POLICIES", "org/omg/IOP/TAG_POLICIES.html"],
+    \["TAG_RMI_CUSTOM_MAX_STREAM_FORMAT", "org/omg/IOP/TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.html"],
+    \["TagElement", "javax/swing/text/html/parser/TagElement.html"],
+    \["TaggedComponent", "org/omg/IOP/TaggedComponent.html"],
+    \["TaggedComponentHelper", "org/omg/IOP/TaggedComponentHelper.html"],
+    \["TaggedComponentHolder", "org/omg/IOP/TaggedComponentHolder.html"],
+    \["TaggedProfile", "org/omg/IOP/TaggedProfile.html"],
+    \["TaggedProfileHelper", "org/omg/IOP/TaggedProfileHelper.html"],
+    \["TaggedProfileHolder", "org/omg/IOP/TaggedProfileHolder.html"],
+    \["Target", "java/lang/annotation/Target.html"],
+    \["TargetDataLine", "javax/sound/sampled/TargetDataLine.html"],
+    \["TargetedNotification", "javax/management/remote/TargetedNotification.html"],
+    \["TCKind", "org/omg/CORBA/TCKind.html"],
+    \["Templates", "javax/xml/transform/Templates.html"],
+    \["TemplatesHandler", "javax/xml/transform/sax/TemplatesHandler.html"],
+    \["Text", "javax/xml/soap/Text.html"],
+    \["Text", "org/w3c/dom/Text.html"],
+    \["TextAction", "javax/swing/text/TextAction.html"],
+    \["TextArea", "java/awt/TextArea.html"],
+    \["TextAttribute", "java/awt/font/TextAttribute.html"],
+    \["TextComponent", "java/awt/TextComponent.html"],
+    \["TextEvent", "java/awt/event/TextEvent.html"],
+    \["TextField", "java/awt/TextField.html"],
+    \["TextHitInfo", "java/awt/font/TextHitInfo.html"],
+    \["TextInputCallback", "javax/security/auth/callback/TextInputCallback.html"],
+    \["TextLayout", "java/awt/font/TextLayout.html"],
+    \["TextLayout.CaretPolicy", "java/awt/font/TextLayout.CaretPolicy.html"],
+    \["TextListener", "java/awt/event/TextListener.html"],
+    \["TextMeasurer", "java/awt/font/TextMeasurer.html"],
+    \["TextOutputCallback", "javax/security/auth/callback/TextOutputCallback.html"],
+    \["TextSyntax", "javax/print/attribute/TextSyntax.html"],
+    \["TextUI", "javax/swing/plaf/TextUI.html"],
+    \["TexturePaint", "java/awt/TexturePaint.html"],
+    \["Thread", "java/lang/Thread.html"],
+    \["Thread.State", "java/lang/Thread.State.html"],
+    \["Thread.UncaughtExceptionHandler", "java/lang/Thread.UncaughtExceptionHandler.html"],
+    \["THREAD_POLICY_ID", "org/omg/PortableServer/THREAD_POLICY_ID.html"],
+    \["ThreadDeath", "java/lang/ThreadDeath.html"],
+    \["ThreadFactory", "java/util/concurrent/ThreadFactory.html"],
+    \["ThreadGroup", "java/lang/ThreadGroup.html"],
+    \["ThreadInfo", "java/lang/management/ThreadInfo.html"],
+    \["ThreadLocal", "java/lang/ThreadLocal.html"],
+    \["ThreadMXBean", "java/lang/management/ThreadMXBean.html"],
+    \["ThreadPolicy", "org/omg/PortableServer/ThreadPolicy.html"],
+    \["ThreadPolicyOperations", "org/omg/PortableServer/ThreadPolicyOperations.html"],
+    \["ThreadPolicyValue", "org/omg/PortableServer/ThreadPolicyValue.html"],
+    \["ThreadPoolExecutor", "java/util/concurrent/ThreadPoolExecutor.html"],
+    \["ThreadPoolExecutor.AbortPolicy", "java/util/concurrent/ThreadPoolExecutor.AbortPolicy.html"],
+    \["ThreadPoolExecutor.CallerRunsPolicy", "java/util/concurrent/ThreadPoolExecutor.CallerRunsPolicy.html"],
+    \["ThreadPoolExecutor.DiscardOldestPolicy", "java/util/concurrent/ThreadPoolExecutor.DiscardOldestPolicy.html"],
+    \["ThreadPoolExecutor.DiscardPolicy", "java/util/concurrent/ThreadPoolExecutor.DiscardPolicy.html"],
+    \["Throwable", "java/lang/Throwable.html"],
+    \["Tie", "javax/rmi/CORBA/Tie.html"],
+    \["TileObserver", "java/awt/image/TileObserver.html"],
+    \["Time", "java/sql/Time.html"],
+    \["TimeLimitExceededException", "javax/naming/TimeLimitExceededException.html"],
+    \["TIMEOUT", "org/omg/CORBA/TIMEOUT.html"],
+    \["TimeoutException", "java/util/concurrent/TimeoutException.html"],
+    \["Timer", "java/util/Timer.html"],
+    \["Timer", "javax/management/timer/Timer.html"],
+    \["Timer", "javax/swing/Timer.html"],
+    \["TimerMBean", "javax/management/timer/TimerMBean.html"],
+    \["TimerNotification", "javax/management/timer/TimerNotification.html"],
+    \["TimerTask", "java/util/TimerTask.html"],
+    \["Timestamp", "java/security/Timestamp.html"],
+    \["Timestamp", "java/sql/Timestamp.html"],
+    \["TimeUnit", "java/util/concurrent/TimeUnit.html"],
+    \["TimeZone", "java/util/TimeZone.html"],
+    \["TimeZoneNameProvider", "java/util/spi/TimeZoneNameProvider.html"],
+    \["TitledBorder", "javax/swing/border/TitledBorder.html"],
+    \["Tool", "javax/tools/Tool.html"],
+    \["ToolBarUI", "javax/swing/plaf/ToolBarUI.html"],
+    \["Toolkit", "java/awt/Toolkit.html"],
+    \["ToolProvider", "javax/tools/ToolProvider.html"],
+    \["ToolTipManager", "javax/swing/ToolTipManager.html"],
+    \["ToolTipUI", "javax/swing/plaf/ToolTipUI.html"],
+    \["TooManyListenersException", "java/util/TooManyListenersException.html"],
+    \["Track", "javax/sound/midi/Track.html"],
+    \["TRANSACTION_MODE", "org/omg/CORBA/TRANSACTION_MODE.html"],
+    \["TRANSACTION_REQUIRED", "org/omg/CORBA/TRANSACTION_REQUIRED.html"],
+    \["TRANSACTION_ROLLEDBACK", "org/omg/CORBA/TRANSACTION_ROLLEDBACK.html"],
+    \["TRANSACTION_UNAVAILABLE", "org/omg/CORBA/TRANSACTION_UNAVAILABLE.html"],
+    \["TransactionalWriter", "javax/sql/rowset/spi/TransactionalWriter.html"],
+    \["TransactionRequiredException", "javax/transaction/TransactionRequiredException.html"],
+    \["TransactionRolledbackException", "javax/transaction/TransactionRolledbackException.html"],
+    \["TransactionService", "org/omg/IOP/TransactionService.html"],
+    \["Transferable", "java/awt/datatransfer/Transferable.html"],
+    \["TransferHandler", "javax/swing/TransferHandler.html"],
+    \["TransferHandler.DropLocation", "javax/swing/TransferHandler.DropLocation.html"],
+    \["TransferHandler.TransferSupport", "javax/swing/TransferHandler.TransferSupport.html"],
+    \["Transform", "javax/xml/crypto/dsig/Transform.html"],
+    \["TransformAttribute", "java/awt/font/TransformAttribute.html"],
+    \["Transformer", "javax/xml/transform/Transformer.html"],
+    \["TransformerConfigurationException", "javax/xml/transform/TransformerConfigurationException.html"],
+    \["TransformerException", "javax/xml/transform/TransformerException.html"],
+    \["TransformerFactory", "javax/xml/transform/TransformerFactory.html"],
+    \["TransformerFactoryConfigurationError", "javax/xml/transform/TransformerFactoryConfigurationError.html"],
+    \["TransformerHandler", "javax/xml/transform/sax/TransformerHandler.html"],
+    \["TransformException", "javax/xml/crypto/dsig/TransformException.html"],
+    \["TransformParameterSpec", "javax/xml/crypto/dsig/spec/TransformParameterSpec.html"],
+    \["TransformService", "javax/xml/crypto/dsig/TransformService.html"],
+    \["TRANSIENT", "org/omg/CORBA/TRANSIENT.html"],
+    \["Transmitter", "javax/sound/midi/Transmitter.html"],
+    \["Transparency", "java/awt/Transparency.html"],
+    \["TRANSPORT_RETRY", "org/omg/PortableInterceptor/TRANSPORT_RETRY.html"],
+    \["TrayIcon", "java/awt/TrayIcon.html"],
+    \["TrayIcon.MessageType", "java/awt/TrayIcon.MessageType.html"],
+    \["TreeCellEditor", "javax/swing/tree/TreeCellEditor.html"],
+    \["TreeCellRenderer", "javax/swing/tree/TreeCellRenderer.html"],
+    \["TreeExpansionEvent", "javax/swing/event/TreeExpansionEvent.html"],
+    \["TreeExpansionListener", "javax/swing/event/TreeExpansionListener.html"],
+    \["TreeMap", "java/util/TreeMap.html"],
+    \["TreeModel", "javax/swing/tree/TreeModel.html"],
+    \["TreeModelEvent", "javax/swing/event/TreeModelEvent.html"],
+    \["TreeModelListener", "javax/swing/event/TreeModelListener.html"],
+    \["TreeNode", "javax/swing/tree/TreeNode.html"],
+    \["TreePath", "javax/swing/tree/TreePath.html"],
+    \["TreeSelectionEvent", "javax/swing/event/TreeSelectionEvent.html"],
+    \["TreeSelectionListener", "javax/swing/event/TreeSelectionListener.html"],
+    \["TreeSelectionModel", "javax/swing/tree/TreeSelectionModel.html"],
+    \["TreeSet", "java/util/TreeSet.html"],
+    \["TreeUI", "javax/swing/plaf/TreeUI.html"],
+    \["TreeWillExpandListener", "javax/swing/event/TreeWillExpandListener.html"],
+    \["TrustAnchor", "java/security/cert/TrustAnchor.html"],
+    \["TrustManager", "javax/net/ssl/TrustManager.html"],
+    \["TrustManagerFactory", "javax/net/ssl/TrustManagerFactory.html"],
+    \["TrustManagerFactorySpi", "javax/net/ssl/TrustManagerFactorySpi.html"],
+    \["Type", "java/lang/reflect/Type.html"],
+    \["TypeCode", "org/omg/CORBA/TypeCode.html"],
+    \["TypeCodeHolder", "org/omg/CORBA/TypeCodeHolder.html"],
+    \["TypeConstraintException", "javax/xml/bind/TypeConstraintException.html"],
+    \["TypeElement", "javax/lang/model/element/TypeElement.html"],
+    \["TypeInfo", "org/w3c/dom/TypeInfo.html"],
+    \["TypeInfoProvider", "javax/xml/validation/TypeInfoProvider.html"],
+    \["TypeKind", "javax/lang/model/type/TypeKind.html"],
+    \["TypeKindVisitor6", "javax/lang/model/util/TypeKindVisitor6.html"],
+    \["TypeMirror", "javax/lang/model/type/TypeMirror.html"],
+    \["TypeMismatch", "org/omg/CORBA/DynAnyPackage/TypeMismatch.html"],
+    \["TypeMismatch", "org/omg/DynamicAny/DynAnyPackage/TypeMismatch.html"],
+    \["TypeMismatch", "org/omg/IOP/CodecPackage/TypeMismatch.html"],
+    \["TypeMismatchHelper", "org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.html"],
+    \["TypeMismatchHelper", "org/omg/IOP/CodecPackage/TypeMismatchHelper.html"],
+    \["TypeNotPresentException", "java/lang/TypeNotPresentException.html"],
+    \["TypeParameterElement", "javax/lang/model/element/TypeParameterElement.html"],
+    \["Types", "java/sql/Types.html"],
+    \["Types", "javax/lang/model/util/Types.html"],
+    \["TypeVariable", "java/lang/reflect/TypeVariable.html"],
+    \["TypeVariable", "javax/lang/model/type/TypeVariable.html"],
+    \["TypeVisitor", "javax/lang/model/type/TypeVisitor.html"],
+    \["UID", "java/rmi/server/UID.html"],
+    \["UIDefaults", "javax/swing/UIDefaults.html"],
+    \["UIDefaults.ActiveValue", "javax/swing/UIDefaults.ActiveValue.html"],
+    \["UIDefaults.LazyInputMap", "javax/swing/UIDefaults.LazyInputMap.html"],
+    \["UIDefaults.LazyValue", "javax/swing/UIDefaults.LazyValue.html"],
+    \["UIDefaults.ProxyLazyValue", "javax/swing/UIDefaults.ProxyLazyValue.html"],
+    \["UIEvent", "org/w3c/dom/events/UIEvent.html"],
+    \["UIManager", "javax/swing/UIManager.html"],
+    \["UIManager.LookAndFeelInfo", "javax/swing/UIManager.LookAndFeelInfo.html"],
+    \["UIResource", "javax/swing/plaf/UIResource.html"],
+    \["ULongLongSeqHelper", "org/omg/CORBA/ULongLongSeqHelper.html"],
+    \["ULongLongSeqHolder", "org/omg/CORBA/ULongLongSeqHolder.html"],
+    \["ULongSeqHelper", "org/omg/CORBA/ULongSeqHelper.html"],
+    \["ULongSeqHolder", "org/omg/CORBA/ULongSeqHolder.html"],
+    \["UndeclaredThrowableException", "java/lang/reflect/UndeclaredThrowableException.html"],
+    \["UndoableEdit", "javax/swing/undo/UndoableEdit.html"],
+    \["UndoableEditEvent", "javax/swing/event/UndoableEditEvent.html"],
+    \["UndoableEditListener", "javax/swing/event/UndoableEditListener.html"],
+    \["UndoableEditSupport", "javax/swing/undo/UndoableEditSupport.html"],
+    \["UndoManager", "javax/swing/undo/UndoManager.html"],
+    \["UnexpectedException", "java/rmi/UnexpectedException.html"],
+    \["UnicastRemoteObject", "java/rmi/server/UnicastRemoteObject.html"],
+    \["UnionMember", "org/omg/CORBA/UnionMember.html"],
+    \["UnionMemberHelper", "org/omg/CORBA/UnionMemberHelper.html"],
+    \["UNKNOWN", "org/omg/CORBA/UNKNOWN.html"],
+    \["UNKNOWN", "org/omg/PortableInterceptor/UNKNOWN.html"],
+    \["UnknownAnnotationValueException", "javax/lang/model/element/UnknownAnnotationValueException.html"],
+    \["UnknownElementException", "javax/lang/model/element/UnknownElementException.html"],
+    \["UnknownEncoding", "org/omg/IOP/CodecFactoryPackage/UnknownEncoding.html"],
+    \["UnknownEncodingHelper", "org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.html"],
+    \["UnknownError", "java/lang/UnknownError.html"],
+    \["UnknownException", "org/omg/CORBA/portable/UnknownException.html"],
+    \["UnknownFormatConversionException", "java/util/UnknownFormatConversionException.html"],
+    \["UnknownFormatFlagsException", "java/util/UnknownFormatFlagsException.html"],
+    \["UnknownGroupException", "java/rmi/activation/UnknownGroupException.html"],
+    \["UnknownHostException", "java/net/UnknownHostException.html"],
+    \["UnknownHostException", "java/rmi/UnknownHostException.html"],
+    \["UnknownObjectException", "java/rmi/activation/UnknownObjectException.html"],
+    \["UnknownServiceException", "java/net/UnknownServiceException.html"],
+    \["UnknownTypeException", "javax/lang/model/type/UnknownTypeException.html"],
+    \["UnknownUserException", "org/omg/CORBA/UnknownUserException.html"],
+    \["UnknownUserExceptionHelper", "org/omg/CORBA/UnknownUserExceptionHelper.html"],
+    \["UnknownUserExceptionHolder", "org/omg/CORBA/UnknownUserExceptionHolder.html"],
+    \["UnmappableCharacterException", "java/nio/charset/UnmappableCharacterException.html"],
+    \["UnmarshalException", "java/rmi/UnmarshalException.html"],
+    \["UnmarshalException", "javax/xml/bind/UnmarshalException.html"],
+    \["Unmarshaller", "javax/xml/bind/Unmarshaller.html"],
+    \["Unmarshaller.Listener", "javax/xml/bind/Unmarshaller.Listener.html"],
+    \["UnmarshallerHandler", "javax/xml/bind/UnmarshallerHandler.html"],
+    \["UnmodifiableClassException", "java/lang/instrument/UnmodifiableClassException.html"],
+    \["UnmodifiableSetException", "javax/print/attribute/UnmodifiableSetException.html"],
+    \["UnrecoverableEntryException", "java/security/UnrecoverableEntryException.html"],
+    \["UnrecoverableKeyException", "java/security/UnrecoverableKeyException.html"],
+    \["Unreferenced", "java/rmi/server/Unreferenced.html"],
+    \["UnresolvedAddressException", "java/nio/channels/UnresolvedAddressException.html"],
+    \["UnresolvedPermission", "java/security/UnresolvedPermission.html"],
+    \["UnsatisfiedLinkError", "java/lang/UnsatisfiedLinkError.html"],
+    \["UnsolicitedNotification", "javax/naming/ldap/UnsolicitedNotification.html"],
+    \["UnsolicitedNotificationEvent", "javax/naming/ldap/UnsolicitedNotificationEvent.html"],
+    \["UnsolicitedNotificationListener", "javax/naming/ldap/UnsolicitedNotificationListener.html"],
+    \["UNSUPPORTED_POLICY", "org/omg/CORBA/UNSUPPORTED_POLICY.html"],
+    \["UNSUPPORTED_POLICY_VALUE", "org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.html"],
+    \["UnsupportedAddressTypeException", "java/nio/channels/UnsupportedAddressTypeException.html"],
+    \["UnsupportedAudioFileException", "javax/sound/sampled/UnsupportedAudioFileException.html"],
+    \["UnsupportedCallbackException", "javax/security/auth/callback/UnsupportedCallbackException.html"],
+    \["UnsupportedCharsetException", "java/nio/charset/UnsupportedCharsetException.html"],
+    \["UnsupportedClassVersionError", "java/lang/UnsupportedClassVersionError.html"],
+    \["UnsupportedDataTypeException", "javax/activation/UnsupportedDataTypeException.html"],
+    \["UnsupportedEncodingException", "java/io/UnsupportedEncodingException.html"],
+    \["UnsupportedFlavorException", "java/awt/datatransfer/UnsupportedFlavorException.html"],
+    \["UnsupportedLookAndFeelException", "javax/swing/UnsupportedLookAndFeelException.html"],
+    \["UnsupportedOperationException", "java/lang/UnsupportedOperationException.html"],
+    \["URI", "java/net/URI.html"],
+    \["URIDereferencer", "javax/xml/crypto/URIDereferencer.html"],
+    \["URIException", "javax/print/URIException.html"],
+    \["URIParameter", "java/security/URIParameter.html"],
+    \["URIReference", "javax/xml/crypto/URIReference.html"],
+    \["URIReferenceException", "javax/xml/crypto/URIReferenceException.html"],
+    \["URIResolver", "javax/xml/transform/URIResolver.html"],
+    \["URISyntax", "javax/print/attribute/URISyntax.html"],
+    \["URISyntaxException", "java/net/URISyntaxException.html"],
+    \["URL", "java/net/URL.html"],
+    \["URLClassLoader", "java/net/URLClassLoader.html"],
+    \["URLConnection", "java/net/URLConnection.html"],
+    \["URLDataSource", "javax/activation/URLDataSource.html"],
+    \["URLDecoder", "java/net/URLDecoder.html"],
+    \["URLEncoder", "java/net/URLEncoder.html"],
+    \["URLStreamHandler", "java/net/URLStreamHandler.html"],
+    \["URLStreamHandlerFactory", "java/net/URLStreamHandlerFactory.html"],
+    \["URLStringHelper", "org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.html"],
+    \["USER_EXCEPTION", "org/omg/PortableInterceptor/USER_EXCEPTION.html"],
+    \["UserDataHandler", "org/w3c/dom/UserDataHandler.html"],
+    \["UserException", "org/omg/CORBA/UserException.html"],
+    \["UShortSeqHelper", "org/omg/CORBA/UShortSeqHelper.html"],
+    \["UShortSeqHolder", "org/omg/CORBA/UShortSeqHolder.html"],
+    \["UTFDataFormatException", "java/io/UTFDataFormatException.html"],
+    \["Util", "javax/rmi/CORBA/Util.html"],
+    \["UtilDelegate", "javax/rmi/CORBA/UtilDelegate.html"],
+    \["Utilities", "javax/swing/text/Utilities.html"],
+    \["UUID", "java/util/UUID.html"],
+    \["ValidationEvent", "javax/xml/bind/ValidationEvent.html"],
+    \["ValidationEventCollector", "javax/xml/bind/util/ValidationEventCollector.html"],
+    \["ValidationEventHandler", "javax/xml/bind/ValidationEventHandler.html"],
+    \["ValidationEventImpl", "javax/xml/bind/helpers/ValidationEventImpl.html"],
+    \["ValidationEventLocator", "javax/xml/bind/ValidationEventLocator.html"],
+    \["ValidationEventLocatorImpl", "javax/xml/bind/helpers/ValidationEventLocatorImpl.html"],
+    \["ValidationException", "javax/xml/bind/ValidationException.html"],
+    \["Validator", "javax/xml/bind/Validator.html"],
+    \["Validator", "javax/xml/validation/Validator.html"],
+    \["ValidatorHandler", "javax/xml/validation/ValidatorHandler.html"],
+    \["ValueBase", "org/omg/CORBA/portable/ValueBase.html"],
+    \["ValueBaseHelper", "org/omg/CORBA/ValueBaseHelper.html"],
+    \["ValueBaseHolder", "org/omg/CORBA/ValueBaseHolder.html"],
+    \["ValueExp", "javax/management/ValueExp.html"],
+    \["ValueFactory", "org/omg/CORBA/portable/ValueFactory.html"],
+    \["ValueHandler", "javax/rmi/CORBA/ValueHandler.html"],
+    \["ValueHandlerMultiFormat", "javax/rmi/CORBA/ValueHandlerMultiFormat.html"],
+    \["ValueInputStream", "org/omg/CORBA/portable/ValueInputStream.html"],
+    \["ValueMember", "org/omg/CORBA/ValueMember.html"],
+    \["ValueMemberHelper", "org/omg/CORBA/ValueMemberHelper.html"],
+    \["ValueOutputStream", "org/omg/CORBA/portable/ValueOutputStream.html"],
+    \["VariableElement", "javax/lang/model/element/VariableElement.html"],
+    \["VariableHeightLayoutCache", "javax/swing/tree/VariableHeightLayoutCache.html"],
+    \["Vector", "java/util/Vector.html"],
+    \["VerifyError", "java/lang/VerifyError.html"],
+    \["VersionSpecHelper", "org/omg/CORBA/VersionSpecHelper.html"],
+    \["VetoableChangeListener", "java/beans/VetoableChangeListener.html"],
+    \["VetoableChangeListenerProxy", "java/beans/VetoableChangeListenerProxy.html"],
+    \["VetoableChangeSupport", "java/beans/VetoableChangeSupport.html"],
+    \["View", "javax/swing/text/View.html"],
+    \["ViewFactory", "javax/swing/text/ViewFactory.html"],
+    \["ViewportLayout", "javax/swing/ViewportLayout.html"],
+    \["ViewportUI", "javax/swing/plaf/ViewportUI.html"],
+    \["VirtualMachineError", "java/lang/VirtualMachineError.html"],
+    \["Visibility", "java/beans/Visibility.html"],
+    \["VisibilityHelper", "org/omg/CORBA/VisibilityHelper.html"],
+    \["VM_ABSTRACT", "org/omg/CORBA/VM_ABSTRACT.html"],
+    \["VM_CUSTOM", "org/omg/CORBA/VM_CUSTOM.html"],
+    \["VM_NONE", "org/omg/CORBA/VM_NONE.html"],
+    \["VM_TRUNCATABLE", "org/omg/CORBA/VM_TRUNCATABLE.html"],
+    \["VMID", "java/rmi/dgc/VMID.html"],
+    \["VoiceStatus", "javax/sound/midi/VoiceStatus.html"],
+    \["Void", "java/lang/Void.html"],
+    \["VolatileImage", "java/awt/image/VolatileImage.html"],
+    \["W3CDomHandler", "javax/xml/bind/annotation/W3CDomHandler.html"],
+    \["W3CEndpointReference", "javax/xml/ws/wsaddressing/W3CEndpointReference.html"],
+    \["W3CEndpointReferenceBuilder", "javax/xml/ws/wsaddressing/W3CEndpointReferenceBuilder.html"],
+    \["WCharSeqHelper", "org/omg/CORBA/WCharSeqHelper.html"],
+    \["WCharSeqHolder", "org/omg/CORBA/WCharSeqHolder.html"],
+    \["WeakHashMap", "java/util/WeakHashMap.html"],
+    \["WeakReference", "java/lang/ref/WeakReference.html"],
+    \["WebEndpoint", "javax/xml/ws/WebEndpoint.html"],
+    \["WebFault", "javax/xml/ws/WebFault.html"],
+    \["WebMethod", "javax/jws/WebMethod.html"],
+    \["WebParam", "javax/jws/WebParam.html"],
+    \["WebParam.Mode", "javax/jws/WebParam.Mode.html"],
+    \["WebResult", "javax/jws/WebResult.html"],
+    \["WebRowSet", "javax/sql/rowset/WebRowSet.html"],
+    \["WebService", "javax/jws/WebService.html"],
+    \["WebServiceClient", "javax/xml/ws/WebServiceClient.html"],
+    \["WebServiceContext", "javax/xml/ws/WebServiceContext.html"],
+    \["WebServiceException", "javax/xml/ws/WebServiceException.html"],
+    \["WebServiceFeature", "javax/xml/ws/WebServiceFeature.html"],
+    \["WebServiceFeatureAnnotation", "javax/xml/ws/spi/WebServiceFeatureAnnotation.html"],
+    \["WebServicePermission", "javax/xml/ws/WebServicePermission.html"],
+    \["WebServiceProvider", "javax/xml/ws/WebServiceProvider.html"],
+    \["WebServiceRef", "javax/xml/ws/WebServiceRef.html"],
+    \["WebServiceRefs", "javax/xml/ws/WebServiceRefs.html"],
+    \["WildcardType", "java/lang/reflect/WildcardType.html"],
+    \["WildcardType", "javax/lang/model/type/WildcardType.html"],
+    \["Window", "java/awt/Window.html"],
+    \["WindowAdapter", "java/awt/event/WindowAdapter.html"],
+    \["WindowConstants", "javax/swing/WindowConstants.html"],
+    \["WindowEvent", "java/awt/event/WindowEvent.html"],
+    \["WindowFocusListener", "java/awt/event/WindowFocusListener.html"],
+    \["WindowListener", "java/awt/event/WindowListener.html"],
+    \["WindowStateListener", "java/awt/event/WindowStateListener.html"],
+    \["WrappedPlainView", "javax/swing/text/WrappedPlainView.html"],
+    \["Wrapper", "java/sql/Wrapper.html"],
+    \["WritableByteChannel", "java/nio/channels/WritableByteChannel.html"],
+    \["WritableRaster", "java/awt/image/WritableRaster.html"],
+    \["WritableRenderedImage", "java/awt/image/WritableRenderedImage.html"],
+    \["WriteAbortedException", "java/io/WriteAbortedException.html"],
+    \["Writer", "java/io/Writer.html"],
+    \["WrongAdapter", "org/omg/PortableServer/POAPackage/WrongAdapter.html"],
+    \["WrongAdapterHelper", "org/omg/PortableServer/POAPackage/WrongAdapterHelper.html"],
+    \["WrongPolicy", "org/omg/PortableServer/POAPackage/WrongPolicy.html"],
+    \["WrongPolicyHelper", "org/omg/PortableServer/POAPackage/WrongPolicyHelper.html"],
+    \["WrongTransaction", "org/omg/CORBA/WrongTransaction.html"],
+    \["WrongTransactionHelper", "org/omg/CORBA/WrongTransactionHelper.html"],
+    \["WrongTransactionHolder", "org/omg/CORBA/WrongTransactionHolder.html"],
+    \["WStringSeqHelper", "org/omg/CORBA/WStringSeqHelper.html"],
+    \["WStringSeqHolder", "org/omg/CORBA/WStringSeqHolder.html"],
+    \["WStringValueHelper", "org/omg/CORBA/WStringValueHelper.html"],
+    \["X500Principal", "javax/security/auth/x500/X500Principal.html"],
+    \["X500PrivateCredential", "javax/security/auth/x500/X500PrivateCredential.html"],
+    \["X509Certificate", "java/security/cert/X509Certificate.html"],
+    \["X509Certificate", "javax/security/cert/X509Certificate.html"],
+    \["X509CertSelector", "java/security/cert/X509CertSelector.html"],
+    \["X509CRL", "java/security/cert/X509CRL.html"],
+    \["X509CRLEntry", "java/security/cert/X509CRLEntry.html"],
+    \["X509CRLSelector", "java/security/cert/X509CRLSelector.html"],
+    \["X509Data", "javax/xml/crypto/dsig/keyinfo/X509Data.html"],
+    \["X509EncodedKeySpec", "java/security/spec/X509EncodedKeySpec.html"],
+    \["X509ExtendedKeyManager", "javax/net/ssl/X509ExtendedKeyManager.html"],
+    \["X509Extension", "java/security/cert/X509Extension.html"],
+    \["X509IssuerSerial", "javax/xml/crypto/dsig/keyinfo/X509IssuerSerial.html"],
+    \["X509KeyManager", "javax/net/ssl/X509KeyManager.html"],
+    \["X509TrustManager", "javax/net/ssl/X509TrustManager.html"],
+    \["XAConnection", "javax/sql/XAConnection.html"],
+    \["XADataSource", "javax/sql/XADataSource.html"],
+    \["XAException", "javax/transaction/xa/XAException.html"],
+    \["XAResource", "javax/transaction/xa/XAResource.html"],
+    \["Xid", "javax/transaction/xa/Xid.html"],
+    \["XmlAccessOrder", "javax/xml/bind/annotation/XmlAccessOrder.html"],
+    \["XmlAccessorOrder", "javax/xml/bind/annotation/XmlAccessorOrder.html"],
+    \["XmlAccessorType", "javax/xml/bind/annotation/XmlAccessorType.html"],
+    \["XmlAccessType", "javax/xml/bind/annotation/XmlAccessType.html"],
+    \["XmlAdapter", "javax/xml/bind/annotation/adapters/XmlAdapter.html"],
+    \["XmlAnyAttribute", "javax/xml/bind/annotation/XmlAnyAttribute.html"],
+    \["XmlAnyElement", "javax/xml/bind/annotation/XmlAnyElement.html"],
+    \["XmlAttachmentRef", "javax/xml/bind/annotation/XmlAttachmentRef.html"],
+    \["XmlAttribute", "javax/xml/bind/annotation/XmlAttribute.html"],
+    \["XMLConstants", "javax/xml/XMLConstants.html"],
+    \["XMLCryptoContext", "javax/xml/crypto/XMLCryptoContext.html"],
+    \["XMLDecoder", "java/beans/XMLDecoder.html"],
+    \["XmlElement", "javax/xml/bind/annotation/XmlElement.html"],
+    \["XmlElement.DEFAULT", "javax/xml/bind/annotation/XmlElement.DEFAULT.html"],
+    \["XmlElementDecl", "javax/xml/bind/annotation/XmlElementDecl.html"],
+    \["XmlElementDecl.GLOBAL", "javax/xml/bind/annotation/XmlElementDecl.GLOBAL.html"],
+    \["XmlElementRef", "javax/xml/bind/annotation/XmlElementRef.html"],
+    \["XmlElementRef.DEFAULT", "javax/xml/bind/annotation/XmlElementRef.DEFAULT.html"],
+    \["XmlElementRefs", "javax/xml/bind/annotation/XmlElementRefs.html"],
+    \["XmlElements", "javax/xml/bind/annotation/XmlElements.html"],
+    \["XmlElementWrapper", "javax/xml/bind/annotation/XmlElementWrapper.html"],
+    \["XMLEncoder", "java/beans/XMLEncoder.html"],
+    \["XmlEnum", "javax/xml/bind/annotation/XmlEnum.html"],
+    \["XmlEnumValue", "javax/xml/bind/annotation/XmlEnumValue.html"],
+    \["XMLEvent", "javax/xml/stream/events/XMLEvent.html"],
+    \["XMLEventAllocator", "javax/xml/stream/util/XMLEventAllocator.html"],
+    \["XMLEventConsumer", "javax/xml/stream/util/XMLEventConsumer.html"],
+    \["XMLEventFactory", "javax/xml/stream/XMLEventFactory.html"],
+    \["XMLEventReader", "javax/xml/stream/XMLEventReader.html"],
+    \["XMLEventWriter", "javax/xml/stream/XMLEventWriter.html"],
+    \["XMLFilter", "org/xml/sax/XMLFilter.html"],
+    \["XMLFilterImpl", "org/xml/sax/helpers/XMLFilterImpl.html"],
+    \["XMLFormatter", "java/util/logging/XMLFormatter.html"],
+    \["XMLGregorianCalendar", "javax/xml/datatype/XMLGregorianCalendar.html"],
+    \["XmlID", "javax/xml/bind/annotation/XmlID.html"],
+    \["XmlIDREF", "javax/xml/bind/annotation/XmlIDREF.html"],
+    \["XmlInlineBinaryData", "javax/xml/bind/annotation/XmlInlineBinaryData.html"],
+    \["XMLInputFactory", "javax/xml/stream/XMLInputFactory.html"],
+    \["XmlJavaTypeAdapter", "javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.html"],
+    \["XmlJavaTypeAdapter.DEFAULT", "javax/xml/bind/annotation/adapters/XmlJavaTypeAdapter.DEFAULT.html"],
+    \["XmlJavaTypeAdapters", "javax/xml/bind/annotation/adapters/XmlJavaTypeAdapters.html"],
+    \["XmlList", "javax/xml/bind/annotation/XmlList.html"],
+    \["XmlMimeType", "javax/xml/bind/annotation/XmlMimeType.html"],
+    \["XmlMixed", "javax/xml/bind/annotation/XmlMixed.html"],
+    \["XmlNs", "javax/xml/bind/annotation/XmlNs.html"],
+    \["XmlNsForm", "javax/xml/bind/annotation/XmlNsForm.html"],
+    \["XMLObject", "javax/xml/crypto/dsig/XMLObject.html"],
+    \["XMLOutputFactory", "javax/xml/stream/XMLOutputFactory.html"],
+    \["XMLParseException", "javax/management/modelmbean/XMLParseException.html"],
+    \["XmlReader", "javax/sql/rowset/spi/XmlReader.html"],
+    \["XMLReader", "org/xml/sax/XMLReader.html"],
+    \["XMLReaderAdapter", "org/xml/sax/helpers/XMLReaderAdapter.html"],
+    \["XMLReaderFactory", "org/xml/sax/helpers/XMLReaderFactory.html"],
+    \["XmlRegistry", "javax/xml/bind/annotation/XmlRegistry.html"],
+    \["XMLReporter", "javax/xml/stream/XMLReporter.html"],
+    \["XMLResolver", "javax/xml/stream/XMLResolver.html"],
+    \["XmlRootElement", "javax/xml/bind/annotation/XmlRootElement.html"],
+    \["XmlSchema", "javax/xml/bind/annotation/XmlSchema.html"],
+    \["XmlSchemaType", "javax/xml/bind/annotation/XmlSchemaType.html"],
+    \["XmlSchemaType.DEFAULT", "javax/xml/bind/annotation/XmlSchemaType.DEFAULT.html"],
+    \["XmlSchemaTypes", "javax/xml/bind/annotation/XmlSchemaTypes.html"],
+    \["XmlSeeAlso", "javax/xml/bind/annotation/XmlSeeAlso.html"],
+    \["XMLSignature", "javax/xml/crypto/dsig/XMLSignature.html"],
+    \["XMLSignature.SignatureValue", "javax/xml/crypto/dsig/XMLSignature.SignatureValue.html"],
+    \["XMLSignatureException", "javax/xml/crypto/dsig/XMLSignatureException.html"],
+    \["XMLSignatureFactory", "javax/xml/crypto/dsig/XMLSignatureFactory.html"],
+    \["XMLSignContext", "javax/xml/crypto/dsig/XMLSignContext.html"],
+    \["XMLStreamConstants", "javax/xml/stream/XMLStreamConstants.html"],
+    \["XMLStreamException", "javax/xml/stream/XMLStreamException.html"],
+    \["XMLStreamReader", "javax/xml/stream/XMLStreamReader.html"],
+    \["XMLStreamWriter", "javax/xml/stream/XMLStreamWriter.html"],
+    \["XMLStructure", "javax/xml/crypto/XMLStructure.html"],
+    \["XmlTransient", "javax/xml/bind/annotation/XmlTransient.html"],
+    \["XmlType", "javax/xml/bind/annotation/XmlType.html"],
+    \["XmlType.DEFAULT", "javax/xml/bind/annotation/XmlType.DEFAULT.html"],
+    \["XMLValidateContext", "javax/xml/crypto/dsig/XMLValidateContext.html"],
+    \["XmlValue", "javax/xml/bind/annotation/XmlValue.html"],
+    \["XmlWriter", "javax/sql/rowset/spi/XmlWriter.html"],
+    \["XPath", "javax/xml/xpath/XPath.html"],
+    \["XPathConstants", "javax/xml/xpath/XPathConstants.html"],
+    \["XPathException", "javax/xml/xpath/XPathException.html"],
+    \["XPathExpression", "javax/xml/xpath/XPathExpression.html"],
+    \["XPathExpressionException", "javax/xml/xpath/XPathExpressionException.html"],
+    \["XPathFactory", "javax/xml/xpath/XPathFactory.html"],
+    \["XPathFactoryConfigurationException", "javax/xml/xpath/XPathFactoryConfigurationException.html"],
+    \["XPathFilter2ParameterSpec", "javax/xml/crypto/dsig/spec/XPathFilter2ParameterSpec.html"],
+    \["XPathFilterParameterSpec", "javax/xml/crypto/dsig/spec/XPathFilterParameterSpec.html"],
+    \["XPathFunction", "javax/xml/xpath/XPathFunction.html"],
+    \["XPathFunctionException", "javax/xml/xpath/XPathFunctionException.html"],
+    \["XPathFunctionResolver", "javax/xml/xpath/XPathFunctionResolver.html"],
+    \["XPathType", "javax/xml/crypto/dsig/spec/XPathType.html"],
+    \["XPathType.Filter", "javax/xml/crypto/dsig/spec/XPathType.Filter.html"],
+    \["XPathVariableResolver", "javax/xml/xpath/XPathVariableResolver.html"],
+    \["XSLTTransformParameterSpec", "javax/xml/crypto/dsig/spec/XSLTTransformParameterSpec.html"],
+    \["ZipEntry", "java/util/zip/ZipEntry.html"],
+    \["ZipError", "java/util/zip/ZipError.html"],
+    \["ZipException", "java/util/zip/ZipException.html"],
+    \["ZipFile", "java/util/zip/ZipFile.html"],
+    \["ZipInputStream", "java/util/zip/ZipInputStream.html"],
+    \["ZipOutputStream", "java/util/zip/ZipOutputStream.html"],
+    \["ZoneView", "javax/swing/text/ZoneView.html"],
+    \["_BindingIteratorImplBase", "org/omg/CosNaming/_BindingIteratorImplBase.html"],
+    \["_BindingIteratorStub", "org/omg/CosNaming/_BindingIteratorStub.html"],
+    \["_DynAnyFactoryStub", "org/omg/DynamicAny/_DynAnyFactoryStub.html"],
+    \["_DynAnyStub", "org/omg/DynamicAny/_DynAnyStub.html"],
+    \["_DynArrayStub", "org/omg/DynamicAny/_DynArrayStub.html"],
+    \["_DynEnumStub", "org/omg/DynamicAny/_DynEnumStub.html"],
+    \["_DynFixedStub", "org/omg/DynamicAny/_DynFixedStub.html"],
+    \["_DynSequenceStub", "org/omg/DynamicAny/_DynSequenceStub.html"],
+    \["_DynStructStub", "org/omg/DynamicAny/_DynStructStub.html"],
+    \["_DynUnionStub", "org/omg/DynamicAny/_DynUnionStub.html"],
+    \["_DynValueStub", "org/omg/DynamicAny/_DynValueStub.html"],
+    \["_IDLTypeStub", "org/omg/CORBA/_IDLTypeStub.html"],
+    \["_NamingContextExtStub", "org/omg/CosNaming/_NamingContextExtStub.html"],
+    \["_NamingContextImplBase", "org/omg/CosNaming/_NamingContextImplBase.html"],
+    \["_NamingContextStub", "org/omg/CosNaming/_NamingContextStub.html"],
+    \["_PolicyStub", "org/omg/CORBA/_PolicyStub.html"],
+    \["_Remote_Stub", "org/omg/stub/java/rmi/_Remote_Stub.html"],
+    \["_ServantActivatorStub", "org/omg/PortableServer/_ServantActivatorStub.html"],
+    \["_ServantLocatorStub", "org/omg/PortableServer/_ServantLocatorStub.html"]]
+endif
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/bundle/slimv/ftplugin/slimv.py	Fri Nov 12 18:30:35 2010 -0500
@@ -0,0 +1,574 @@
+#!/usr/bin/env python
+
+###############################################################################
+#
+# Client/Server code for Slimv
+# slimv.py:     Client/Server code for slimv.vim plugin
+# Version:      0.6.2
+# Last Change:  01 Jun 2010
+# Maintainer:   Tamas Kovacs <kovisoft at gmail dot com>
+# License:      This file is placed in the public domain.
+#               No warranty, express or implied.
+#               *** ***   Use At-Your-Own-Risk!   *** ***
+# 
+###############################################################################
+
+import os
+import sys
+import getopt
+import time
+import shlex
+import socket
+import traceback
+from subprocess import Popen, PIPE, STDOUT
+from threading import Thread, BoundedSemaphore
+
+autoconnect = 1             # Start and connect server automatically
+
+HOST        = ''            # Symbolic name meaning the local host
+PORT        = 5151          # Arbitrary non-privileged port
+
+debug_level = 0             # Debug level for diagnostic messages
+terminate   = 0             # Main program termination flag
+
+python_path = 'python'      # Path of the Python interpreter (overridden via command line args)
+lisp_path   = 'clisp.exe'   # Path of the Lisp interpreter (overridden via command line args)
+slimv_path  = 'slimv.py'    # Path of this script (determined later)
+run_cmd     = ''            # Complex server-run command (if given via command line args)
+
+newline     = '\n'
+
+# Check if we're running Windows or Mac OS X, otherwise assume Linux
+mswindows = (sys.platform == 'win32')
+darwin = (sys.platform == 'darwin')
+
+if not (mswindows or darwin):
+    import pty
+
+def log( s, level ):
+    """Print diagnostic messages according to the actual debug level.
+    """
+    if debug_level >= level:
+        print s
+
+
+###############################################################################
+#
+# Client part
+#
+###############################################################################
+
+def start_server():
+    """Spawn server. Does not check if the server is already running.
+    """
+    if run_cmd == '':
+        # Complex run command not given, build it from the information available
+        if mswindows or darwin:
+            cmd = []
+        else:
+            cmd = ['xterm', '-T', 'Slimv', '-e']
+        cmd = cmd + [python_path, slimv_path, '-p', str(PORT), '-l', lisp_path, '-s']
+    else:
+        cmd = shlex.split(run_cmd)
+
+    # Start server
+    #TODO: put in try-block
+    if mswindows:
+        CREATE_NEW_CONSOLE = 16
+        server = Popen( cmd, creationflags=CREATE_NEW_CONSOLE )
+    elif darwin:
+        from ScriptingBridge import SBApplication
+
+        term = SBApplication.applicationWithBundleIdentifier_("com.apple.Terminal")
+        term.doScript_in_(" ".join(cmd) + " ; exit", 0) 
+    else:
+        server = Popen( cmd )
+
+    # Allow subprocess (server) to start
+    time.sleep( 2.0 )
+
+
+def connect_server():
+    """Try to connect server, if server not found then spawn it.
+       Return socket object on success, None on failure.
+    """
+
+    s = socket.socket( socket.AF_INET, socket.SOCK_STREAM )
+    try:
+        s.connect( ( 'localhost', PORT ) )
+    except socket.error, msg:
+        if autoconnect:
+            # We need to try to start the server automatically
+            s.close()
+            start_server()
+
+            # Open socket to the server
+            s = socket.socket( socket.AF_INET, socket.SOCK_STREAM )
+            try:
+                s.connect( ( 'localhost', PORT ) )
+            except socket.error, msg:
+                s.close()
+                s =  None
+        else:   # not autoconnect
+            print "Server not found"
+            s = None
+    return s
+
+
+def send_line( server, line ):
+    """Send a line to the server:
+       first send line length in 4 bytes, then send the line itself.
+    """
+    l = len(line)
+    lstr = chr(l&255) + chr((l>>8)&255) + chr((l>>16)&255) + chr((l>>24)&255)
+    server.send( lstr )     # send message length first
+    server.send( line )     # then the message itself
+
+
+def client_file( input_filename ):
+    """Main client routine - input file version:
+       starts server if needed then send text to server.
+       Input is read from input file.
+    """
+    s = connect_server()
+    if s is None:
+        return
+
+    try:
+        file = open( input_filename, 'rt' )
+        try:
+            # Send contents of the file to the server
+            lines = ''
+            for line in file:
+                lines = lines + line
+            send_line( s, lines )
+        finally:
+            file.close()
+    except:
+        return
+
+    s.close()
+
+
+###############################################################################
+#
+# Server part
+#
+###############################################################################
+
+class repl_buffer:
+    def __init__ ( self, output_pipe ):
+
+        self.output   = output_pipe
+        self.filename = ''
+        self.buffer   = ''
+        self.sema     = BoundedSemaphore()
+                            # Semaphore to synchronize access to the global display queue
+
+    def setfile( self, filename ):
+        """Set output filename. Greet user if this is the first time.
+        """
+        self.sema.acquire()
+        oldname = self.filename
+        self.filename = filename
+        if oldname == '':
+            try:
+                # Delete old file creted at a previous run
+                os.remove( self.filename )
+            except:
+                # OK, at least we tried
+                pass
+            self.write_nolock( newline + ';;; Slimv client is connected to REPL on port ' + str(PORT) + '.' + newline, True )
+            user = None
+            if mswindows:
+                user = os.getenv('USERNAME')
+            else:
+                user = os.getenv('USER')
+            if not user:
+                self.write_nolock( ';;; This could be the start of a beautiful program.' + newline + newline, True )
+            else:
+                self.write_nolock( ';;; ' + user + ', this could be the start of a beautiful program.' + newline + newline, True )
+        self.sema.release()
+
+    def writebegin( self ):
+        """Begin the writing process. The process is protected by a semaphore.
+        """
+        self.sema.acquire()
+
+    def writeend( self ):
+        """Finish the writing process. Release semaphore
+        """
+        self.sema.release()
+
+    def write_nolock( self, text, fileonly=False ):
+        """Write text into the global display queue buffer.
+           The writing process is not protected.
+        """
+        if not fileonly:
+            try:
+                # Write all lines to the display
+                os.write( self.output.fileno(), text )
+            except:
+                pass
+
+        if self.filename != '':
+            tries = 4
+            while tries > 0:
+                try:
+                    file = open( self.filename, 'at' )
+                    try:
+                        #file.write( text )
+                        if self.buffer != '':
+                            # There is output pending
+                            os.write(file.fileno(), self.buffer )
+                            self.buffer = ''
+                        os.write(file.fileno(), text )
+                    finally:
+                        file.close()
+                    tries = 0
+                except IOError:
+                    tries = tries - 1
+                    if tries == 0:
+                        traceback.print_exc()
+                    time.sleep(0.05)
+                except:
+                    tries = tries - 1
+                    time.sleep(0.05)
+        elif len( self.buffer ) < 2000:
+            # No filename supplied, collect output info a buffer until filename is given
+            # We collect only some bytes, then probably no filename will be given at all
+            self.buffer = self.buffer + text
+
+    def write( self, text, fileonly=False ):
+        """Write text into the global display queue buffer.
+           The writing process is protected by a semaphome.
+        """
+        self.writebegin()
+        self.write_nolock( text, fileonly )
+        self.writeend()
+
+
+class socket_listener( Thread ):
+    """Server thread to receive text from the client via socket.
+    """
+
+    def __init__ ( self, inp, buffer, pid ):
+        Thread.__init__( self )
+        self.inp = inp
+        self.buffer = buffer
+        self.pid = pid
+
+    def run( self ):
+        global terminate
+
+        # Open server socket
+        self.s = socket.socket( socket.AF_INET, socket.SOCK_STREAM )
+        self.s.bind( (HOST, PORT) )
+
+        while not terminate:
+            # Listen server socket
+            self.s.listen( 1 )
+            conn, addr = self.s.accept()
+
+            while not terminate:
+                l = 0
+                lstr = ''
+                # Read length first, it comes in 4 bytes
+                try:
+                    lstr = conn.recv(4)
+                    if len( lstr ) <= 0:
+                        break
+                except:
+                    traceback.print_exc()
+                    break
+                if terminate:
+                    break
+                l = ord(lstr[0]) + (ord(lstr[1])<<8) + (ord(lstr[2])<<16) + (ord(lstr[3])<<24)
+                if l > 0:
+                    # Valid length received, now wait for the message
+                    try:
+                        # Read the message itself
+                        received = ''
+                        while len( received ) < l:
+                            r = conn.recv(l)
+                            if len( r ) == 0:
+                                break
+                            received = received + r
+                        if len( received ) < l:
+                            break
+                    except:
+                        traceback.print_exc()
+                        break
+
+                    if len(received) >= 7 and received[0:7] == 'SLIMV::':
+                        command = received[7:]
+                        if len(command) >= 9 and command[0:9] == 'INTERRUPT':
+                            try:
+                                if mswindows:
+                                    import win32api
+                                    CTRL_C_EVENT = 0
+                                    win32api.GenerateConsoleCtrlEvent( CTRL_C_EVENT, 0 )
+                                else:
+                                    import signal
+                                    os.kill( self.pid, signal.SIGINT )
+                            except:
+                                # OK, at least we tried
+                                # Go on without interruption
+                                pass
+                        if len(command) >= 8 and command[0:8] == 'OUTPUT::':
+                            output_filename = command[8:].rstrip( '\n' )
+                            self.buffer.setfile( output_filename )
+                    else:
+                        # Fork here: write message to the stdin of REPL
+                        # and also write it to the display (display queue buffer)
+                        self.buffer.writebegin()
+                        self.buffer.write_nolock( received )
+                        os.write(self.inp.fileno(), received)
+                        self.buffer.writeend()
+
+            conn.close()
+
+
+class output_listener( Thread ):
+    """Server thread to receive REPL output.
+    """
+
+    def __init__ ( self, out, buffer ):
+        Thread.__init__( self )
+        self.out = out
+        self.buffer = buffer
+
+    def run( self ):
+        global terminate
+
+        while not terminate:
+            try:
+                # Read input from the stdout of REPL
+                # and write it to the display (display queue buffer)
+                if mswindows:
+                    c = self.out.read( 1 )
+                    if ord( c ) == 0x0D:
+                        # Special handling of 0x0D+0x0A on Windows
+                        c2 = self.out.read( 1 )
+                        if ord( c2 ) == 0x0A:
+                            self.buffer.write( '\n' )
+                        else:
+                            self.buffer.write( c )
+                            self.buffer.write( c2 )
+                    else:
+                        self.buffer.write( c )
+                elif darwin:
+                    c = self.out.read( 1 )
+                    self.buffer.write( c )
+                else:
+                    c = self.out.read( 1 )
+                    if ord( c ) != 0x0D:
+                        self.buffer.write( c )
+            except:
+                terminate = 1
+
+
+def server():
+    """Main server routine: starts REPL and helper threads for
+       sending and receiving data to/from REPL.
+    """
+    global terminate
+
+    # First check if server already runs
+    s = socket.socket( socket.AF_INET, socket.SOCK_STREAM )
+    try:
+        s.connect( ( 'localhost', PORT ) )
+    except socket.error, msg:
+        # Server not found, our time has come, we'll start a new server in a moment
+        pass
+    else:
+        # Server found, nothing to do here
+        s.close()
+        print "Server is already running"
+        return
+
+    # Build Lisp-starter command
+    lisp_exp = lisp_path.replace( '\\', '\\\\' )
+    if not mswindows:
+        # Popen does not work with tilde-prefix on Linux
+        # so we expand them to the home directory
+        user = os.path.expanduser( '~/' )
+        lisp_exp = lisp_exp.replace( ' ~/', ' ' + user )
+    cmd = shlex.split( lisp_exp )
+
+    # Start Lisp
+    if mswindows or darwin:
+        repl = Popen( cmd, stdin=PIPE, stdout=PIPE, stderr=STDOUT )
+        repl_stdin = repl.stdin
+        repl_stdout = repl.stdout
+        repl_pid = repl.pid
+    else:
+        repl_pid, repl_fd = pty.fork()
+        if repl_pid == 0:
+            os.execvp( cmd[0], cmd )
+            os._exit(1)
+        repl_stdin = repl_stdout = os.fdopen( repl_fd )
+
+    buffer = repl_buffer( sys.stdout )
+
+    # Create and start helper threads
+    sl = socket_listener( repl_stdin, buffer, repl_pid )
+    sl.start()
+    ol = output_listener( repl_stdout, buffer )
+    ol.start()
+
+    # Allow Lisp to start, confuse it with some fancy Slimv messages
+    sys.stdout.write( ";;; Slimv server is started on port " + str(PORT) + newline )
+    sys.stdout.write( ";;; Slimv is spawning REPL..." + newline + newline )
+    time.sleep(0.5)             # wait for Lisp to start
+    #sys.stdout.write( ";;; Slimv connection established" + newline )
+
+    # Main server loop
+    while not terminate:
+        try:
+            # Read input from the console and write it
+            # to the stdin of REPL
+            text = raw_input()
+            os.write( repl_stdin.fileno(), text + newline )
+            buffer.write( text + newline, True )
+        except EOFError:
+            # EOF (Ctrl+Z on Windows, Ctrl+D on Linux) pressed?
+            terminate = 1
+        except KeyboardInterrupt:
+            # Interrupted from keyboard (Ctrl+C)?
+            # We just ignore it here, it will be propagated to the child anyway
+            pass
+
+    # The socket is opened here only for waking up the server thread
+    # in order to recognize the termination message
+    #TODO: exit REPL if this script is about to exit
+    cs = socket.socket( socket.AF_INET, socket.SOCK_STREAM )
+    try:
+        cs.connect( ( 'localhost', PORT ) )
+        cs.send( " " )
+    finally:
+        # We don't care if this above fails, we'll exit anyway
+        cs.close()
+
+    # Send exit command to child process and
+    # wake output listener up at the same time
+    try:
+        repl_stdin.close()
+    except:
+        # We don't care if this above fails, we'll exit anyway
+        pass
+
+    # Be nice
+    print 'Thank you for using Slimv.'
+
+    # Wait for the child process to exit
+    time.sleep(1)
+
+
+def escape_path( path ):
+    """Surround path containing spaces with backslash + double quote,
+       so that it can be passed as a command line argument.
+    """
+    if path.find( ' ' ) < 0:
+        return path
+    if path[0:2] == '\\\"':
+        return path
+    elif path[0] == '\"':
+        return '\\' + path + '\\'
+    else:
+        return '\\\"' + path + '\\\"'
+
+
+def usage():
+    """Displays program usage information.
+    """
+    progname = os.path.basename( sys.argv[0] )
+    print 'Usage: ', progname + ' [-d LEVEL] [-s] [-f INFILE]'
+    print
+    print 'Options:'
+    print '  -?, -h, --help                show this help message and exit'
+    print '  -l PATH, --lisp=PATH          path of Lisp interpreter'
+    print '  -r PATH, --run=PATH           full command to run the server'
+    print '  -p PORT, --port=PORT          port number to use by the server/client'
+    print '  -d LEVEL, --debug=LEVEL       set debug LEVEL (0..3)'
+    print '  -s                            start server'
+    print '  -f FILENAME, --file=FILENAME  start client and send contents of file'
+    print '                                named FILENAME to server'
+
+
+###############################################################################
+#
+# Main program
+#
+###############################################################################
+
+if __name__ == '__main__':
+
+    EXIT, SERVER, CLIENT = range( 3 )
+    mode = EXIT
+    slimv_path = sys.argv[0]
+    python_path = sys.executable
+    input_filename = ''
+
+    # Always this trouble with the path/filenames containing spaces:
+    # enclose them in double quotes
+    if python_path.find( ' ' ) >= 0:
+        python_path = '"' + python_path + '"'
+
+    # Get command line options
+    try:
+        opts, args = getopt.getopt( sys.argv[1:], '?hcsf:p:l:r:d:', \
+                                    ['help', 'client', 'server', 'file=', 'port=', 'lisp=', 'run=', 'debug='] )
+
+        # Process options
+        for o, a in opts:
+            if o in ('-?', '-h', '--help'):
+                usage()
+                break
+            if o in ('-p', '--port'):
+                try:
+                    PORT = int(a)
+                except:
+                    # If given port number is malformed, then keep default value
+                    pass
+            if o in ('-l', '--lisp'):
+                lisp_path = a
+            if o in ('-r', '--run'):
+                run_cmd = a
+            if o in ('-d', '--debug'):
+                try:
+                    debug_level = int(a)
+                except:
+                    # If given level is malformed, then keep default value
+                    pass
+            if o in ('-s', '--server'):
+                mode = SERVER
+            if o in ('-c', '--client'):
+                mode = CLIENT
+            if o in ('-f', '--file'):
+                mode = CLIENT
+                input_filename = a
+
+    except getopt.GetoptError:
+        # print help information and exit:
+        usage()
+
+    if mode == SERVER:
+        # We are started in server mode
+        server()
+
+    if mode == CLIENT:
+        # We are started in client mode
+        if run_cmd != '':
+            # It is possible to pass special argument placeholders to run_cmd
+            run_cmd = run_cmd.replace( '@p', escape_path( python_path ) )
+            run_cmd = run_cmd.replace( '@s', escape_path( slimv_path ) )
+            run_cmd = run_cmd.replace( '@l', escape_path( lisp_path ) )
+            run_cmd = run_cmd.replace( '@@', '@' )
+            log( run_cmd, 1 )
+        if input_filename != '':
+            client_file( input_filename )
+        else:
+            start_server()
+
+# --- END OF FILE ---
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/bundle/slimv/ftplugin/slimv.vim	Fri Nov 12 18:30:35 2010 -0500
@@ -0,0 +1,1666 @@
+" slimv.vim:    The Superior Lisp Interaction Mode for VIM
+" Version:      0.7.1
+" Last Change:  31 Oct 2010
+" Maintainer:   Tamas Kovacs <kovisoft at gmail dot com>
+" License:      This file is placed in the public domain.
+"               No warranty, express or implied.
+"               *** ***   Use At-Your-Own-Risk!   *** ***
+"
+" =====================================================================
+"
+"  Load Once:
+if &cp || exists( 'g:slimv_loaded' )
+    finish
+endif
+
+let g:slimv_loaded = 1
+
+if has( 'win32' ) || has( 'win95' ) || has( 'win64' ) || has( 'win16' )
+    let g:slimv_windows = 1
+else
+    " This means Linux only at the moment
+    let g:slimv_windows = 0
+endif
+
+
+" =====================================================================
+"  Functions used by global variable definitions
+" =====================================================================
+
+" Try to autodetect Python executable
+function! SlimvAutodetectPython()
+    if executable( 'python' )
+        return 'python'
+    endif
+
+    if g:slimv_windows
+        " Try to find Python on the standard installation places
+        let pythons = split( globpath( 'c:/python*,c:/Program Files/python*', 'python.exe' ), '\n' )
+        if len( pythons ) > 0
+            return pythons[0]
+        endif
+        " Go deeper in subdirectories
+        let pythons = split( globpath( 'c:/python*/**,c:/Program Files/python*/**', 'python.exe' ), '\n' )
+        if len( pythons ) > 0
+            return pythons[0]
+        endif
+        return ''
+    else
+        return ''
+    endif
+endfunction
+
+" Build the command to start the client
+function! SlimvMakeClientCommand()
+    if g:slimv_python == '' || g:slimv_lisp == ''
+        " We don't have enough information to build client command
+        return ''
+    endif
+
+    " Start with the Python path
+    let cmd = g:slimv_python
+
+    " Add path of Slimv script, on Windows enclose in double quotes
+    if g:slimv_windows
+        let cmd = cmd . ' "' . g:slimv_path . '"'
+    else
+        let cmd = cmd . ' ' . g:slimv_path
+    endif
+
+    " Add port number if different from default
+    if g:slimv_port != 5151
+        let cmd = cmd . ' -p ' . g:slimv_port
+    endif
+
+    " Add Lisp path
+    let cmd = cmd . ' -l ' . g:slimv_lisp
+
+    return cmd
+endfunction
+
+function! SlimvClientCommand()
+    if g:slimv_client == ''
+        " No command to start client, we are clueless, ask user for assistance
+        if g:slimv_python == ''
+            let g:slimv_python = input( 'Enter Python path (or fill g:slimv_python in your vimrc): ', '', 'file' )
+        endif
+        if g:slimv_lisp == ''
+            let g:slimv_lisp = input( 'Enter Lisp path (or fill g:slimv_lisp in your vimrc): ', '', 'file' )
+        endif
+        let g:slimv_client = SlimvMakeClientCommand()
+    endif
+endfunction
+
+" Find slimv.py in the Vim ftplugin directory (if not given in vimrc)
+if !exists( 'g:slimv_path' )
+    let plugins = split( globpath( &runtimepath, 'ftplugin/**/slimv.py'), '\n' )
+    if len( plugins ) > 0
+        let g:slimv_path = plugins[0]
+    else
+        let g:slimv_path = 'slimv.py'
+    endif
+endif
+
+" Get the filetype (Lisp dialect) used by Slimv
+function! SlimvGetFiletype()
+    if &ft != ''
+        " Return Vim filetype if defined
+        return &ft
+    endif
+
+    if match( tolower( g:slimv_lisp ), 'clojure' ) >= 0 || match( tolower( g:slimv_lisp ), 'clj' ) >= 0
+        " Must be Clojure
+        return 'clojure'
+    endif
+
+    " We have no clue, guess its lisp
+    return 'lisp'
+endfunction
+
+
+" =====================================================================
+"  Global variable definitions
+" =====================================================================
+
+" Leave client window open for debugging purposes
+" (works only on Windows at the moment)
+if !exists( 'g:slimv_debug_client' )
+    let g:slimv_debug_client = 0
+endif
+
+" TCP port number to use
+if !exists( 'g:slimv_port' )
+    let g:slimv_port = 5151
+endif
+
+" Find Python (if not given in vimrc)
+if !exists( 'g:slimv_python' )
+    let g:slimv_python = SlimvAutodetectPython()
+endif
+
+" Find Lisp (if not given in vimrc)
+if !exists( 'g:slimv_lisp' )
+    let lisp = b:SlimvAutodetect()
+    let g:slimv_lisp = lisp[0]
+    if !exists( 'g:slimv_impl' )
+        let g:slimv_impl = lisp[1]
+    endif
+endif
+
+" Try to find out the Lisp implementation
+" if not autodetected and not given in vimrc
+if !exists( 'g:slimv_impl' )
+    let g:slimv_impl = b:SlimvImplementation()
+endif
+
+" Open a REPL buffer inside Vim?
+if !exists( 'g:slimv_repl_open' )
+    let g:slimv_repl_open = 1
+endif
+
+" Directory name for the REPL buffer file
+if !exists( 'g:slimv_repl_dir' )
+    if g:slimv_windows
+        let g:slimv_repl_dir = matchstr( tempname(), '.*\\' )
+    else
+        let g:slimv_repl_dir = '/tmp/'
+    endif
+endif
+
+" Filename for the REPL buffer file
+if !exists( 'g:slimv_repl_file' )
+    let g:slimv_repl_file = b:SlimvREPLFile()
+endif
+
+" Shall we open REPL buffer in split window?
+if !exists( 'g:slimv_repl_split' )
+    let g:slimv_repl_split = 1
+endif
+
+" Wrap long lines in REPL buffer
+if !exists( 'g:slimv_repl_wrap' )
+    let g:slimv_repl_wrap = 1
+endif
+
+" Alternative value (in msec) for 'updatetime' while the REPL buffer is changing
+if !exists( 'g:slimv_updatetime' )
+    let g:slimv_updatetime = 200
+endif
+
+" Build client command (if not given in vimrc)
+if !exists( 'g:slimv_client' )
+    let g:slimv_client = SlimvMakeClientCommand()
+endif
+
+" Slimv keybinding set (0 = no keybindings)
+if !exists( 'g:slimv_keybindings' )
+    let g:slimv_keybindings = 1
+endif
+
+" Append Slimv menu to the global menu (0 = no menu)
+if !exists( 'g:slimv_menu' )
+    let g:slimv_menu = 1
+endif
+
+" Build the ctags command capable of generating lisp tags file
+" The command can be run with execute 'silent !' . g:slimv_ctags
+if !exists( 'g:slimv_ctags' )
+    let ctags = split( globpath( '$vim,$vimruntime', 'ctags.exe' ), '\n' )
+    if len( ctags ) > 0
+        " Remove -a option to regenerate every time
+        let g:slimv_ctags = '"' . ctags[0] . '" -a --language-force=lisp *.lisp *.clj'
+    endif
+endif
+
+" Package/namespace handling
+if !exists( 'g:slimv_package' )
+    let g:slimv_package = 1
+endif
+
+
+" =====================================================================
+"  Template definitions
+" =====================================================================
+
+if !exists( 'g:slimv_template_pprint' )
+    if SlimvGetFiletype() == 'clojure'
+        let g:slimv_template_pprint = '(doseq [o %1] (println o))'
+    else
+        let g:slimv_template_pprint = '(dolist (o %1)(pprint o))'
+    endif
+endif
+
+if !exists( 'g:slimv_template_undefine' )
+    if SlimvGetFiletype() == 'clojure'
+        let g:slimv_template_undefine = "(ns-unmap 'user '" . "%1)"
+    else
+        let g:slimv_template_undefine = '(fmakunbound (read-from-string "%1"))'
+    endif
+endif
+
+if !exists( 'g:slimv_template_describe' )
+    let g:slimv_template_describe = '(describe (read-from-string "%1"))'
+endif
+
+if !exists( 'g:slimv_template_trace' )
+    let g:slimv_template_trace = '(trace %1)'
+endif
+
+if !exists( 'g:slimv_template_untrace' )
+    let g:slimv_template_untrace = '(untrace %1)'
+endif
+
+if !exists( 'g:slimv_template_profile' )
+    if b:SlimvImplementation() == 'sbcl'
+        let g:slimv_template_profile = '(sb-profile:profile %1)'
+    else
+        let g:slimv_template_profile = '(mon:monitor %1)'
+    endif
+endif
+
+if !exists( 'g:slimv_template_unprofile' )
+    if b:SlimvImplementation() == 'sbcl'
+        let g:slimv_template_unprofile = '(sb-profile:unprofile %1)'
+    else
+        let g:slimv_template_unprofile = '(mon:unmonitor %1)'
+    endif
+endif
+
+if !exists( 'g:slimv_template_unprofile_all' )
+    if b:SlimvImplementation() == 'sbcl'
+        let g:slimv_template_unprofile_all = '(sb-profile:unprofile)'
+    else
+        let g:slimv_template_unprofile_all = '(mon:unmonitor)'
+    endif
+endif
+
+if !exists( 'g:slimv_template_show_profiled' )
+    if b:SlimvImplementation() == 'sbcl'
+        let g:slimv_template_show_profiled = '(sb-profile:profile)'
+    else
+        let g:slimv_template_show_profiled = '(pprint mon:*monitored-functions*)'
+    endif
+endif
+
+if !exists( 'g:slimv_template_profile_report' )
+    if b:SlimvImplementation() == 'sbcl'
+        let g:slimv_template_profile_report = '(sb-profile:report)'
+    else
+        let g:slimv_template_profile_report = '(mon:report-monitoring)'
+    endif
+endif
+
+if !exists( 'g:slimv_template_profile_reset' )
+    if b:SlimvImplementation() == 'sbcl'
+        let g:slimv_template_profile_reset = '(sb-profile:reset)'
+    else
+        let g:slimv_template_profile_reset = '(mon:reset-all-monitoring)'
+    endif
+endif
+
+if !exists( 'g:slimv_template_disassemble' )
+    let g:slimv_template_disassemble = "(disassemble #'%1)"
+endif
+
+if !exists( 'g:slimv_template_inspect' )
+    if SlimvGetFiletype() == 'clojure'
+        let g:slimv_template_inspect = "(print-doc #'" . "%1)"
+    else
+        let g:slimv_template_inspect = '(inspect %1)'
+    endif
+endif
+
+if !exists( 'g:slimv_template_apropos' )
+    if SlimvGetFiletype() == 'clojure'
+        let g:slimv_template_apropos = '(find-doc "%1")'
+    else
+        let g:slimv_template_apropos = '(apropos "%1")'
+    endif
+endif
+
+if !exists( 'g:slimv_template_macroexpand' )
+    if SlimvGetFiletype() == 'clojure'
+        let g:slimv_template_macroexpand = '%1'
+    else
+        let g:slimv_template_macroexpand = '(pprint %1)'
+    endif
+endif
+
+if !exists( 'g:slimv_template_macroexpand_all' )
+    if SlimvGetFiletype() == 'clojure'
+        let g:slimv_template_macroexpand_all = '%1'
+    else
+        let g:slimv_template_macroexpand_all = '(pprint %1)'
+    endif
+endif
+
+if !exists( 'g:slimv_template_compile_file' )
+"    let g:slimv_template_compile_file = '(compile-file "%1")'
+    let g:slimv_template_compile_file =
+    \ '(let ((fasl-file (compile-file "%1")))' .
+    \ '  (when (and %2 fasl-file) (load fasl-file)))'
+endif
+
+if !exists( 'g:slimv_template_compile_string' )
+    let g:slimv_template_compile_string = 
+    \ '(funcall (compile nil (read-from-string (format nil "(~S () ~A)" ' . "'" . 'lambda "%1"))))'
+endif
+
+if !exists( 'mapleader' )
+    let mapleader = ','
+endif
+
+
+" =====================================================================
+"  Other non-global script variables
+" =====================================================================
+
+" Name of the REPL buffer inside Vim
+let s:repl_name = g:slimv_repl_dir . g:slimv_repl_file
+
+" Lisp prompt in the last line
+let s:prompt = ''
+
+" The last update time for the REPL buffer
+let s:last_update = 0
+
+" The last size of the REPL buffer
+let s:last_size = 0
+
+" The original value for 'updatetime'
+let s:save_updatetime = &updatetime
+
+
+" =====================================================================
+"  General utility functions
+" =====================================================================
+
+" Display an error message
+function SlimvError( msg )
+    echohl ErrorMsg
+    echo a:msg
+    echohl None
+endfunction 
+
+" Display an error message and wait for ENTER
+function SlimvErrorWait( msg )
+    echohl ErrorMsg
+    let dummy = input( a:msg . " Press ENTER to continue." )
+    echo ""
+    echohl None
+endfunction 
+
+" Position the cursor at the end of the REPL buffer
+" Optionally mark this position in Vim mark 's'
+function! SlimvEndOfReplBuffer( markpos, insert )
+    if !g:slimv_repl_open
+        " User does not want to display REPL in Vim
+        return
+    endif
+    normal! G$
+    if a:markpos
+        " Remember the end of the buffer: user may enter commands here
+        " Also remember the prompt, because the user may overwrite it
+        call setpos( "'s", [0, line('$'), col('$'), 0] )
+        let s:prompt = getline( "'s" )
+        if a:insert
+            " We are in insert mode, so we end up appending to the last line
+            startinsert!
+        endif
+    endif
+    set nomodified
+endfunction
+
+" Reload the contents of the REPL buffer from the output file if changed
+function! SlimvRefreshReplBuffer()
+"    if !g:slimv_repl_open || !g:slimv_repl_split
+    if !g:slimv_repl_open
+        " User does not want to display REPL in Vim
+        " or does not display it in a split window
+        return
+    endif
+
+    let size = getfsize( s:repl_name )
+    if size == s:last_size
+        " REPL output file did not change since the last refresh
+        if g:slimv_updatetime > 0 && s:last_update < localtime() - 1
+            let &updatetime = s:save_updatetime
+        endif
+        return
+    endif
+    let s:last_size = size
+
+    let repl_buf = bufnr( s:repl_name )
+    if repl_buf == -1
+        " REPL buffer not loaded
+        return
+    endif
+    let this_buf = bufnr( "%" )
+    if repl_buf != this_buf
+        " Switch to the REPL buffer/window
+        try
+            if g:slimv_repl_split
+                wincmd w
+            else
+                buf #
+            endif
+        catch /.*/
+            " Some Vim versions give an E303 error here
+            " but we don't need a swapfile for the REPL buffer anyway
+        endtry
+    endif
+
+    if g:slimv_updatetime > 0
+        let &updatetime = g:slimv_updatetime
+    endif
+    let s:last_update = localtime()
+
+    try
+        "execute "silent edit! " . s:repl_name
+        "silent execute "view! " . s:repl_name
+        execute "silent view! " . s:repl_name
+    catch /.*/
+        " Oops, something went wrong, the buffer will not be refreshed this time
+    endtry
+    syntax on
+    setlocal autoread
+    let insert = 0
+    if mode() == 'i' || mode() == 'I'
+        let insert = 1
+    endif
+    call SlimvEndOfReplBuffer( 0, insert )
+
+    if repl_buf != this_buf
+        " Switch back to the caller buffer/window
+        if g:slimv_repl_split
+            wincmd w
+        else
+            buf #
+        endif
+    endif
+endfunction
+
+" This function re-triggers the CursorHold event
+" after refreshing the REPL buffer
+function! SlimvTimer()
+    call SlimvRefreshReplBuffer()
+    if g:slimv_repl_open
+        if mode() == 'i' || mode() == 'I'
+            " Put an incomplete '<C-O>' command and an Esc into the typeahead buffer
+            call feedkeys("\x0F\e")
+        else
+            " Put an incomplete 'f' command and an Esc into the typeahead buffer
+            call feedkeys("f\e")
+        endif
+    endif
+endfunction
+
+" Switch refresh mode on:
+" refresh REPL buffer on frequent Vim events
+function! SlimvRefreshModeOn()
+    set readonly
+    setlocal autoread
+    execute "au CursorMoved  * :call SlimvRefreshReplBuffer()"
+    execute "au CursorMovedI * :call SlimvRefreshReplBuffer()"
+    execute "au CursorHold   * :call SlimvTimer()"
+    execute "au CursorHoldI  * :call SlimvTimer()"
+    call SlimvRefreshReplBuffer()
+endfunction
+
+" Switch refresh mode off
+function! SlimvRefreshModeOff()
+    execute "au! CursorMoved"
+    execute "au! CursorMovedI"
+    execute "au! CursorHold"
+    execute "au! CursorHoldI"
+    set noreadonly
+
+    " Remember the end of the buffer and the actual prompt
+    call setpos( "'s", [0, line('$'), col('$'), 0] )
+    let s:prompt = getline( "'s" )
+endfunction
+
+" Called when entering REPL buffer
+function! SlimvReplEnter()
+    call SlimvAddReplMenu()
+    execute "au FileChangedRO " . g:slimv_repl_file . " :call SlimvRefreshModeOff()"
+    call SlimvRefreshModeOn()
+    call SlimvEndOfReplBuffer( 1, 0 )
+endfunction
+
+" Called when leaving REPL buffer
+function! SlimvReplLeave()
+    try
+        " Check if REPL menu exists, then remove it
+        aunmenu REPL
+        unmap <Leader>\
+    catch /.*/
+        " REPL menu not found, we cannot remove it
+    endtry
+    call SlimvRefreshModeOn()
+    call SlimvEndOfReplBuffer( 1, 0 )
+endfunction
+
+" Open a new REPL buffer or switch to the existing one
+function! SlimvOpenReplBuffer()
+    "TODO: check if this works without 'set hidden'
+    let repl_buf = bufnr( s:repl_name )
+    if repl_buf == -1
+        " Create a new REPL buffer
+        if g:slimv_repl_split
+            execute "silent sview! " . s:repl_name
+        else
+            execute "silent view! " . s:repl_name
+        endif
+    else
+        if g:slimv_repl_split
+            " REPL buffer is already created. Check if it is open in a window
+            let repl_win = bufwinnr( repl_buf )
+            if repl_win == -1
+                " Create windows
+                execute "silent sview! " . s:repl_name
+            else
+                " Switch to the REPL window
+                if winnr() != repl_win
+                    execute repl_win . "wincmd w"
+                endif
+            endif
+        else
+            execute "buffer " . repl_buf
+        endif
+    endif
+
+    " Add keybindings valid only for the REPL buffer
+    inoremap <buffer> <silent>        <CR>   <End><CR><C-O>:call SlimvSendCommand(0)<CR>
+    inoremap <buffer> <silent>        <C-CR> <End><CR><C-O>:call SlimvSendCommand(1)<CR>
+    inoremap <buffer> <silent>        <Up>   <C-O>:call SlimvHandleUp()<CR>
+    inoremap <buffer> <silent>        <Down> <C-O>:call SlimvHandleDown()<CR>
+
+    if exists( 'g:paredit_loaded' )
+        inoremap <buffer> <silent> <expr> <BS>   PareditBackspace(1)
+    else
+        inoremap <buffer> <silent> <expr> <BS>   SlimvHandleBS()
+    endif
+
+    if g:slimv_keybindings == 1
+        noremap <buffer> <silent> <Leader>.      :call SlimvSendCommand(0)<CR>
+        noremap <buffer> <silent> <Leader>/      :call SlimvSendCommand(1)<CR>
+        noremap <buffer> <silent> <Leader><Up>   :call SlimvPreviousCommand()<CR>
+        noremap <buffer> <silent> <Leader><Down> :call SlimvNextCommand()<CR>
+        noremap <buffer> <silent> <Leader>z      :call SlimvRefresh()<CR>
+    elseif g:slimv_keybindings == 2
+        noremap <buffer> <silent> <Leader>rs     :call SlimvSendCommand(0)<CR>
+        noremap <buffer> <silent> <Leader>ro     :call SlimvSendCommand(1)<CR>
+        noremap <buffer> <silent> <Leader>rp     :call SlimvPreviousCommand()<CR>
+        noremap <buffer> <silent> <Leader>rn     :call SlimvNextCommand()<CR>
+        noremap <buffer> <silent> <Leader>rr     :call SlimvRefresh()<CR>
+    endif
+
+    if g:slimv_repl_wrap
+        inoremap <buffer> <silent>        <Home> <C-O>g<Home>
+        inoremap <buffer> <silent>        <End>  <C-O>g<End>
+        noremap  <buffer> <silent>        <Up>   gk
+        noremap  <buffer> <silent>        <Down> gj
+        noremap  <buffer> <silent>        <Home> g<Home>
+        noremap  <buffer> <silent>        <End>  g<End>
+        noremap  <buffer> <silent>        k      gk
+        noremap  <buffer> <silent>        j      gj
+        noremap  <buffer> <silent>        0      g0
+        noremap  <buffer> <silent>        $      g$
+        set wrap
+    endif
+
+    hi SlimvNormal term=none cterm=none gui=none
+    hi SlimvCursor term=reverse cterm=reverse gui=reverse
+
+    " Add autocommands specific to the REPL buffer
+    execute "au FileChangedShell " . g:slimv_repl_file . " :call SlimvRefreshReplBuffer()"
+    execute "au FocusGained "      . g:slimv_repl_file . " :call SlimvRefreshReplBuffer()"
+    execute "au BufEnter "         . g:slimv_repl_file . " :call SlimvReplEnter()"
+    execute "au BufLeave "         . g:slimv_repl_file . " :call SlimvReplLeave()"
+
+    filetype on
+    setlocal autoread
+    redraw
+    let s:last_size = 0
+
+    call SlimvSend( ['SLIMV::OUTPUT::' . s:repl_name ], 0 )
+    call SlimvRefreshReplBuffer()
+endfunction
+
+" Select symbol under cursor and copy it to register 's'
+function! SlimvSelectSymbol()
+    "TODO: can we use expand('<cWORD>') here?
+    normal! viw"sy
+endfunction
+
+" Select extended symbol under cursor and copy it to register 's'
+function! SlimvSelectSymbolExt()
+    let oldkw = &iskeyword
+    if SlimvGetFiletype() == 'clojure'
+        setlocal iskeyword+=~,#,&,\|,{,},!,?
+    else
+        setlocal iskeyword+=~,#,&,\|,{,},[,],!,?
+    endif
+    normal! viw"sy
+    let &iskeyword = oldkw
+endfunction
+
+" Select bottom level form the cursor is inside and copy it to register 's'
+function! SlimvSelectForm()
+    normal! va(o
+    " Handle '() or #'() etc. type special syntax forms
+    " TODO: what to do with ` operator?
+    let c = col( '.' ) - 2
+    while c > 0 && match( ' \t()', getline( '.' )[c] ) < 0
+        normal! h
+        let c = c - 1
+    endwhile
+    normal! "sy
+endfunction
+
+" Select top level form the cursor is inside and copy it to register 's'
+function! SlimvSelectToplevelForm()
+    normal! 99[(
+    call SlimvSelectForm()
+endfunction
+
+" Return the contents of register 's'
+function! SlimvGetSelection()
+    return getreg( '"s' )
+endfunction
+
+" Find the given string backwards and put it in front of the current selection
+" if it is a valid Lisp form (i.e. not inside comment or string)
+function! SlimvFindAddSel( string )
+    normal ms
+    let found = 0
+    while search( '(\s*' . a:string . '\s', 'bcW' )
+        " Search for the previos occurrence
+        if synIDattr( synID( line('.'), col('.'), 0), 'name' ) !~ '[Ss]tring\|[Cc]omment'
+            " It is not inside a comment or string
+            let found = 1
+            break
+        endif
+    endwhile
+    if found
+        " Put the form just found at the beginning of the selection
+        let sel = SlimvGetSelection()
+        normal! v%"sy
+        call setreg( '"s', SlimvGetSelection() . "\n" . sel )
+        normal `s
+    endif
+endfunction
+
+" Find and add language specific package/namespace definition before the
+" cursor position and if exists then add it in front of the current selection
+function! SlimvFindPackage()
+    if !g:slimv_package
+        return
+    endif
+    if SlimvGetFiletype() == 'clojure'
+        call SlimvFindAddSel( 'in-ns' )
+    else
+        call SlimvFindAddSel( 'in-package' )
+    endif
+endfunction
+
+" Send argument to Lisp server for evaluation
+function! SlimvSend( args, open_buffer )
+    call SlimvClientCommand()
+    if g:slimv_client == ''
+        return
+    endif
+
+    let repl_buf = bufnr( s:repl_name )
+    let repl_win = bufwinnr( repl_buf )
+
+    if a:open_buffer && ( repl_buf == -1 || ( g:slimv_repl_split && repl_win == -1 ) )
+        call SlimvOpenReplBuffer()
+    endif
+
+    " Build a temporary file from the form to be evaluated
+    let ar = []
+    let i = 0
+    while i < len( a:args )
+        call extend( ar, split( a:args[i], '\n' ) )
+        let i = i + 1
+    endwhile
+
+    let tmp = tempname()
+    try
+        call writefile( ar, tmp )
+
+        " Send the file to the client for evaluation
+        if g:slimv_debug_client == 0
+            let result = system( g:slimv_client . ' -f ' . tmp )
+        else
+            execute '!' . g:slimv_client . ' -f ' . tmp
+        endif
+    finally
+        call delete(tmp)
+    endtry
+
+    if a:open_buffer
+        " Wait a little for the REPL output and refresh REPL buffer
+        " then return to the caller buffer/window
+        call SlimvRefreshReplBuffer()
+        if g:slimv_repl_split && repl_win == -1
+            execute "normal! \<C-w>p"
+        elseif repl_buf == -1
+            buf #
+        endif
+    endif
+endfunction
+
+" Eval arguments in Lisp REPL
+function! SlimvEval( args )
+    call SlimvSend( a:args, g:slimv_repl_open )
+endfunction
+
+" Send interrupt command to REPL
+function! SlimvInterrupt()
+    call SlimvSend( ['SLIMV::INTERRUPT'], 0 )
+    call SlimvRefreshReplBuffer()
+    startinsert!
+endfunction
+
+" Set command line after the prompt
+function! SlimvSetCommandLine( cmd )
+    let line = getline( "." )
+    if line( "." ) == line( "'s" )
+        " The prompt is in the line marked with 's
+        let promptlen = len( s:prompt )
+    else
+        let promptlen = 0
+    endif
+    if len( line ) > promptlen
+        let line = strpart( line, 0, promptlen )
+    endif
+    let line = line . a:cmd
+    call setline( ".", line )
+    call SlimvEndOfReplBuffer( 0, 0 )
+endfunction
+
+" Add command list to the command history
+function! SlimvAddHistory( cmd )
+    if !exists( 'g:slimv_cmdhistory' )
+        let g:slimv_cmdhistory = []
+    endif
+    let i = 0
+    while i < len( a:cmd )
+        " Trim trailing whitespaces from the command
+        let command = substitute( a:cmd[i], "\\(.*[^ ]\\)\\s*", "\\1", "g" )
+        call add( g:slimv_cmdhistory, command )
+        let i = i + 1
+    endwhile
+    let g:slimv_cmdhistorypos = len( g:slimv_cmdhistory )
+endfunction
+
+" Recall command from the command history at the marked position
+function! SlimvRecallHistory()
+    if g:slimv_cmdhistorypos >= 0 && g:slimv_cmdhistorypos < len( g:slimv_cmdhistory )
+        call SlimvSetCommandLine( g:slimv_cmdhistory[g:slimv_cmdhistorypos] )
+    else
+        call SlimvSetCommandLine( "" )
+    endif
+endfunction
+
+" Count the opening and closing parens or brackets to determine if they match
+function! s:GetParenCount( lines )
+    let paren = 0
+    let inside_string = 0
+    let i = 0
+    while i < len( a:lines )
+        let inside_comment = 0
+        let j = 0
+        while j < len( a:lines[i] )
+            if inside_string
+                " We are inside a string, skip parens, wait for closing '"'
+                if a:lines[i][j] == '"' && ( j < 1 || a:lines[i][j-1] != '\' )
+                    let inside_string = 0
+                endif
+            elseif inside_comment
+                " We are inside a comment, skip parens, wait for end of line
+            else
+                " We are outside of strings and comments, now we shall count parens
+                if a:lines[i][j] == '"'
+                    let inside_string = 1
+                endif
+                if a:lines[i][j] == ';'
+                    let inside_comment = 1
+                endif
+                if a:lines[i][j] == '(' || a:lines[i][j] == '['
+                    let paren = paren + 1
+                endif
+                if a:lines[i][j] == ')' || a:lines[i][j] == ']'
+                    let paren = paren - 1
+                    if paren < 0
+                        " Oops, too many closing parens in the middle
+                        return paren
+                    endif
+                endif
+            endif
+            let j = j + 1
+        endwhile
+        let i = i + 1
+    endwhile
+    return paren
+endfunction
+
+" Send command line to REPL buffer
+" Arguments: close = add missing closing parens
+function! SlimvSendCommand( close )
+    call SlimvRefreshModeOn()
+    let lastline = line( "'s" )
+    let lastcol  =  col( "'s" )
+    if lastline > 0
+        if line( "." ) >= lastline
+            " Trim the prompt from the beginning of the command line
+            " The user might have overwritten some parts of the prompt
+            let cmdline = getline( lastline )
+            let c = 0
+            while c < lastcol - 1 && cmdline[c] == s:prompt[c]
+                let c = c + 1
+            endwhile
+            let cmd = [ strpart( getline( lastline ), c ) ]
+
+            " Build a possible multi-line command
+            let l = lastline + 1
+            while l <= line("$") - 1
+                call add( cmd, strpart( getline( l ), 0) )
+                let l = l + 1
+            endwhile
+
+            " Count the number of opening and closing braces
+            let paren = s:GetParenCount( cmd )
+            if paren > 0 && a:close
+                " Expression is not finished yet, add missing parens and evaluate it
+                while paren > 0
+                    let cmd[len(cmd)-1] = cmd[len(cmd)-1] . ')'
+                    let paren = paren - 1
+                endwhile
+            endif
+            if paren == 0
+                " Expression finished, let's evaluate it
+                " but first add it to the history
+                call SlimvAddHistory( cmd )
+                call SlimvEval( cmd )
+            elseif paren < 0
+                " Too many closing braces
+                call SlimvErrorWait( "Too many closing parens found." )
+            else
+                " Expression is not finished yet, indent properly and wait for completion
+                " Indentation works only if lisp indentation is switched on
+                let indent = ''
+                let i = lispindent( '.' )
+                while i > 0
+                    let indent = indent . ' '
+                    let i = i - 1
+                endwhile
+                call setline( ".", indent )
+                call SlimvEndOfReplBuffer( 0, 0 )
+            endif
+        endif
+    else
+        call append( '$', "Slimv error: previous EOF mark not found, re-enter last form:" )
+        call append( '$', "" )
+        call SlimvEndOfReplBuffer( 1, 0 )
+    endif
+endfunction
+
+" Close current top level form by adding the missing parens
+function! SlimvCloseForm()
+    let l2 = line( '.' )
+    normal! 99[(
+    let l1 = line( '.' )
+    let form = []
+    let l = l1
+    while l <= l2
+        call add( form, getline( l ) )
+        let l = l + 1
+    endwhile
+    let paren = s:GetParenCount( form )
+    if paren < 0
+        " Too many closing braces
+        call SlimvErrorWait( "Too many closing parens found." )
+    elseif paren > 0
+        " Add missing parens
+        let lastline = getline( l2 )
+        while paren > 0
+            let lastline = lastline . ')'
+            let paren = paren - 1
+        endwhile
+        call setline( l2, lastline )
+    endif
+    normal! %
+endfunction
+
+" Handle insert mode 'Backspace' keypress in the REPL buffer
+function! SlimvHandleBS()
+    if line( "." ) == line( "'s" ) && col( "." ) <= col( "'s" )
+        " No BS allowed before the previous EOF mark
+        return ""
+    else
+        return "\<BS>"
+    endif
+endfunction
+
+" Recall previous command from command history
+function! s:PreviousCommand()
+    if exists( 'g:slimv_cmdhistory' ) && g:slimv_cmdhistorypos > 0
+        let g:slimv_cmdhistorypos = g:slimv_cmdhistorypos - 1
+        call SlimvRecallHistory()
+    endif
+endfunction
+
+" Recall next command from command history
+function! s:NextCommand()
+    if exists( 'g:slimv_cmdhistory' ) && g:slimv_cmdhistorypos < len( g:slimv_cmdhistory )
+        let g:slimv_cmdhistorypos = g:slimv_cmdhistorypos + 1
+        call SlimvRecallHistory()
+    else
+        call SlimvSetCommandLine( "" )
+    endif
+endfunction
+
+" Handle insert mode 'Up' keypress in the REPL buffer
+function! SlimvHandleUp()
+    if line( "." ) >= line( "'s" )
+        call s:PreviousCommand()
+    else
+        normal! gk
+    endif
+endfunction
+
+" Handle insert mode 'Down' keypress in the REPL buffer
+function! SlimvHandleDown()
+    if line( "." ) >= line( "'s" )
+        call s:NextCommand()
+    else
+        normal! gj
+    endif
+endfunction
+
+" Go to command line and recall previous command from command history
+function! SlimvPreviousCommand()
+    call SlimvEndOfReplBuffer( 0, 0 )
+    if line( "." ) >= line( "'s" )
+        call s:PreviousCommand()
+    endif
+endfunction
+
+" Go to command line and recall next command from command history
+function! SlimvNextCommand()
+    call SlimvEndOfReplBuffer( 0, 0 )
+    if line( "." ) >= line( "'s" )
+        call s:NextCommand()
+    endif
+endfunction
+
+" Handle interrupt (Ctrl-C) keypress in the REPL buffer
+function! SlimvHandleInterrupt()
+    call SlimvSend( ['SLIMV::INTERRUPT'], 0 )
+    call SlimvRefreshReplBuffer()
+endfunction
+
+" Start and connect slimv server
+" This is a quite dummy function that just evaluates the empty string
+function! SlimvConnectServer()
+    "call SlimvEval( [''] )
+    call SlimvSend( ['SLIMV::OUTPUT::' . s:repl_name ], 0 )
+endfunction
+
+" Refresh REPL buffer continuously
+function! SlimvRefresh()
+    if bufnr( s:repl_name ) == -1
+        " REPL not opened, no need to refresh
+        return
+    endif
+    if bufnr( s:repl_name ) != bufnr( "%" )
+        " REPL is not the current window, activate it
+        call SlimvOpenReplBuffer()
+    endif
+endfunction
+
+" Get the last region (visual block)
+function! SlimvGetRegion() range
+    if mode() == 'v' || mode() == 'V'
+        let lines = getline( a:firstline, a:lastline )
+        let firstcol = col( a:firstline ) - 1
+        let lastcol  = col( a:lastline  ) - 2
+    else
+        let lines = getline( "'<", "'>" )
+        let firstcol = col( "'<" ) - 1
+        let lastcol  = col( "'>" ) - 2
+    endif
+    if lastcol >= 0
+        let lines[len(lines)-1] = lines[len(lines)-1][ : lastcol]
+    else
+        let lines[len(lines)-1] = ''
+    endif
+    let lines[0] = lines[0][firstcol : ]
+
+    " Find and add package/namespace definition in front of the region
+    if g:slimv_package
+        call setreg( '"s', '' )
+        call SlimvFindPackage()
+        let sel = SlimvGetSelection()
+        if sel != ''
+            let lines = [sel] + lines
+        endif
+    endif
+    return lines
+endfunction
+
+" Eval buffer lines in the given range
+function! SlimvEvalRegion() range
+    let lines = SlimvGetRegion()
+    call SlimvEval( lines )
+endfunction
+
+" Eval contents of the 's' register
+function! SlimvEvalSelection()
+    let lines = [SlimvGetSelection()]
+    call SlimvEval( lines )
+endfunction
+
+" Eval Lisp form.
+" Form given in the template is passed to Lisp without modification.
+function! SlimvEvalForm( template )
+    let lines = [a:template]
+    call SlimvEval( lines )
+endfunction
+
+" Eval Lisp form, with the given parameter substituted in the template.
+" %1 string is substituted with par1
+function! SlimvEvalForm1( template, par1 )
+    let p1 = escape( a:par1, '&' )
+    let temp1 = substitute( a:template, '%1', p1, 'g' )
+    let lines = [temp1]
+    call SlimvEval( lines )
+endfunction
+
+" Eval Lisp form, with the given parameters substituted in the template.
+" %1 string is substituted with par1
+" %2 string is substituted with par2
+function! SlimvEvalForm2( template, par1, par2 )
+    let p1 = escape( a:par1, '&' )
+    let p2 = escape( a:par2, '&' )
+    let temp1 = substitute( a:template, '%1', p1, 'g' )
+    let temp2 = substitute( temp1,      '%2', p2, 'g' )
+    let lines = [temp2]
+    call SlimvEval( lines )
+endfunction
+
+
+" =====================================================================
+"  Special functions
+" =====================================================================
+
+" Evaluate top level form at the cursor pos
+function! SlimvEvalDefun()
+    call SlimvSelectToplevelForm()
+    call SlimvFindPackage()
+    call SlimvEvalSelection()
+endfunction
+
+" Evaluate the whole buffer
+function! SlimvEvalBuffer()
+    let lines = getline( 1, '$' )
+    call SlimvEval( lines )
+endfunction
+
+" Evaluate last expression
+function! SlimvEvalLastExp()
+    call SlimvSelectForm()
+    call SlimvFindPackage()
+    call SlimvEvalSelection()
+endfunction
+
+" Evaluate and pretty print last expression
+function! SlimvPprintEvalLastExp()
+    call SlimvSelectForm()
+    call SlimvFindPackage()
+    call SlimvEvalForm1( g:slimv_template_pprint, SlimvGetSelection() )
+endfunction
+
+" Evaluate expression entered interactively
+function! SlimvInteractiveEval()
+    let e = input( 'Eval: ' )
+    if e != ''
+        call SlimvEval([e])
+    endif
+endfunction
+
+" Undefine function
+function! SlimvUndefineFunction()
+    call SlimvSelectSymbol()
+    call SlimvEvalForm1( g:slimv_template_undefine, SlimvGetSelection() )
+endfunction
+
+" ---------------------------------------------------------------------
+
+" General part of the various macroexpand functions
+function! SlimvMacroexpandGeneral( command )
+    normal! 99[(
+    let line = getline( "." )
+    if match( line, '(\s*defmacro\s' ) < 0
+        " The form does not contain 'defmacro', put it in a macroexpand block
+        call SlimvSelectForm()
+        let m = "(" . a:command . " '" . SlimvGetSelection() . ")"
+    else
+        " The form is a 'defmacro', so do a macroexpand from the macro name and parameters
+        if SlimvGetFiletype() == 'clojure'
+            " Some Vim configs (e.g. matchit.vim) include the trailing ']' after '%' in Visual mode
+            normal! vt[%ht]"sy
+        else
+            normal! vt(])"sy
+        endif
+        let m = SlimvGetSelection() . '))'
+        let m = substitute( m, "defmacro\\s*", a:command . " '(", 'g' )
+        if SlimvGetFiletype() == 'clojure'
+            " Remove opening bracket from the parameter list
+            " TODO: fix this for multi-line macro header
+            let m = substitute( m, "\\[\\(.*\\)", "\\1", 'g' )
+        else
+            " Remove opening brace from the parameter list
+            " The nice regular expression below says: remove the third '('
+            " ( + something + ( + something + ( + something -> ( + something + ( + something + something
+            " TODO: fix this for multi-line macro header
+            let m = substitute( m, "\\(([^()]*([^()]*\\)(\\(.*\\)", "\\1\\2", 'g' )
+        endif
+    endif
+    return m
+endfunction
+
+" Macroexpand-1 the current top level form
+function! SlimvMacroexpand()
+    let m = SlimvMacroexpandGeneral( "macroexpand-1" )
+    call SlimvEvalForm1( g:slimv_template_macroexpand, m )
+endfunction
+
+" Macroexpand the current top level form
+function! SlimvMacroexpandAll()
+    let m = SlimvMacroexpandGeneral( "macroexpand" )
+    call SlimvEvalForm1( g:slimv_template_macroexpand_all, m )
+endfunction
+
+" Switch trace on for the selected function
+function! SlimvTrace()
+    call SlimvSelectSymbol()
+    let s = input( 'Trace: ', SlimvGetSelection() )
+    echo s
+    if s != ''
+        call SlimvEvalForm1( g:slimv_template_trace, s )
+    endif
+endfunction
+
+" Switch trace off for the selected function
+function! SlimvUntrace()
+    call SlimvSelectSymbol()
+    let s = input( 'Untrace: ', SlimvGetSelection() )
+    if s != ''
+        call SlimvEvalForm1( g:slimv_template_untrace, s )
+    endif
+endfunction
+
+" Disassemble the selected function
+function! SlimvDisassemble()
+    call SlimvSelectSymbol()
+    let s = input( 'Disassemble: ', SlimvGetSelection() )
+    if s != ''
+        call SlimvEvalForm1( g:slimv_template_disassemble, s )
+    endif
+endfunction
+
+" Inspect symbol
+function! SlimvInspect()
+    call SlimvSelectSymbol()
+    let s = input( 'Inspect: ', SlimvGetSelection() )
+    if s != ''
+        call SlimvEvalForm1( g:slimv_template_inspect, s )
+    endif
+endfunction
+
+" ---------------------------------------------------------------------
+
+" Compile and load profiler
+function! SlimvLoadProfiler()
+    if SlimvGetFiletype() == 'clojure'
+        call SlimvError( "No profiler support for Clojure." )
+    elseif b:SlimvImplementation() == 'sbcl'
+        call SlimvError( "SBCL has a built-in profiler, no need to load it." )
+    else
+        let profiler = split( globpath( &runtimepath, 'ftplugin/**/metering.lisp'), '\n' )
+        if len( profiler ) > 0
+            let filename = profiler[0]
+            let filename = substitute( filename, '\\', '/', 'g' )
+            call SlimvEvalForm2( g:slimv_template_compile_file, filename, 'T' )
+        else
+            call SlimvError( "metering.lisp is not found in the Vim ftplugin directory or below." )
+        endif
+    endif
+endfunction
+
+" Switch profiling on for the selected function
+function! SlimvProfile()
+    if SlimvGetFiletype() == 'clojure'
+        call SlimvError( "No profiler support for Clojure." )
+    else
+        call SlimvSelectSymbol()
+        let s = input( 'Profile: ', SlimvGetSelection() )
+        if s != ''
+            call SlimvEvalForm1( g:slimv_template_profile, s )
+        endif
+    endif
+endfunction
+
+" Switch profiling off for the selected function
+function! SlimvUnprofile()
+    if SlimvGetFiletype() == 'clojure'
+        call SlimvError( "No profiler support for Clojure." )
+    else
+        call SlimvSelectSymbol()
+        let s = input( 'Unprofile: ', SlimvGetSelection() )
+        if s != ''
+            call SlimvEvalForm1( g:slimv_template_unprofile, s )
+        endif
+    endif
+endfunction
+
+" Switch profiling completely off
+function! SlimvUnprofileAll()
+    if SlimvGetFiletype() == 'clojure'
+        call SlimvError( "No profiler support for Clojure." )
+    else
+        call SlimvEvalForm( g:slimv_template_unprofile_all )
+    endif
+endfunction
+
+" Display list of profiled functions
+function! SlimvShowProfiled()
+    if SlimvGetFiletype() == 'clojure'
+        call SlimvError( "No profiler support for Clojure." )
+    else
+        call SlimvEvalForm( g:slimv_template_show_profiled )
+    endif
+endfunction
+
+" Report profiling results
+function! SlimvProfileReport()
+    if SlimvGetFiletype() == 'clojure'
+        call SlimvError( "No profiler support for Clojure." )
+    else
+        call SlimvEvalForm( g:slimv_template_profile_report )
+    endif
+endfunction
+
+" Reset profiling counters
+function! SlimvProfileReset()
+    if SlimvGetFiletype() == 'clojure'
+        call SlimvError( "No profiler support for Clojure." )
+    else
+        call SlimvEvalForm( g:slimv_template_profile_reset )
+    endif
+endfunction
+
+" ---------------------------------------------------------------------
+
+" Compile the current top-level form
+function! SlimvCompileDefun()
+    "TODO: handle double quote characters in form
+    call SlimvSelectToplevelForm()
+    call SlimvFindPackage()
+    call SlimvEvalForm1( g:slimv_template_compile_string, SlimvGetSelection() )
+endfunction
+
+" Compile and load whole file
+function! SlimvCompileLoadFile()
+    let filename = fnamemodify( bufname(''), ':p' )
+    let filename = substitute( filename, '\\', '/', 'g' )
+    call SlimvEvalForm2( g:slimv_template_compile_file, filename, 'T' )
+endfunction
+
+" Compile whole file
+function! SlimvCompileFile()
+    let filename = fnamemodify( bufname(''), ':p' )
+    let filename = substitute( filename, '\\', '/', 'g' )
+    call SlimvEvalForm2( g:slimv_template_compile_file, filename, 'NIL' )
+endfunction
+
+function! SlimvCompileRegion() range
+    "TODO: handle double quote characters in form
+    let lines = SlimvGetRegion()
+    let region = join( lines, ' ' )
+    call SlimvEvalForm1( g:slimv_template_compile_string, region )
+endfunction
+
+" ---------------------------------------------------------------------
+
+" Describe the selected symbol
+function! SlimvDescribeSymbol()
+    call SlimvSelectSymbol()
+    call SlimvEvalForm1( g:slimv_template_describe, SlimvGetSelection() )
+endfunction
+
+" Apropos of the selected symbol
+function! SlimvApropos()
+    call SlimvSelectSymbol()
+    call SlimvEvalForm1( g:slimv_template_apropos, SlimvGetSelection() )
+endfunction
+
+" Generate tags file using ctags
+function! SlimvGenerateTags()
+    if exists( 'g:slimv_ctags' ) && g:slimv_ctags != ''
+        execute 'silent !' . g:slimv_ctags
+    else
+        call SlimvError( "Copy ctags to the Vim path or define g:slimv_ctags." )
+    endif
+endfunction
+
+" ---------------------------------------------------------------------
+
+" Find word in the CLHS symbol database, with exact or partial match.
+" Return either the first symbol found with the associated URL,
+" or the list of all symbols found without the associated URL.
+function! SlimvFindSymbol( word, exact, all, db, root, init )
+    if a:word == ''
+        return []
+    endif
+    if !a:all && a:init != []
+        " Found something already at a previous db lookup, no need to search this db
+        return a:init
+    endif
+    let lst = a:init
+    let i = 0
+    let w = tolower( a:word )
+    if a:exact
+        while i < len( a:db )
+            " Try to find an exact match
+            if a:db[i][0] == w
+                " No reason to check a:all here
+                return [a:db[i][0], a:root . a:db[i][1]]
+            endif
+            let i = i + 1
+        endwhile
+    else
+        while i < len( a:db )
+            " Try to find the symbol starting with the given word
+            let w2 = escape( w, '~' )
+            if match( a:db[i][0], w2 ) == 0
+                if a:all
+                    call add( lst, a:db[i][0] )
+                else
+                    return [a:db[i][0], a:root . a:db[i][1]]
+                endif
+            endif
+            let i = i + 1
+        endwhile
+    endif
+
+    " Return whatever found so far
+    return lst
+endfunction
+
+" Lookup word in Common Lisp Hyperspec
+function! SlimvLookup( word )
+    " First try an exact match
+    let w = a:word
+    let symbol = []
+    while symbol == []
+        let symbol = b:SlimvHyperspecLookup( w, 1, 0 )
+        if symbol == []
+            " Symbol not found, try a match on beginning of symbol name
+            let symbol = b:SlimvHyperspecLookup( w, 0, 0 )
+            if symbol == []
+                " We are out of luck, can't find anything
+                let msg = 'Symbol ' . w . ' not found. Hyperspec lookup word: '
+                let val = ''
+            else
+                let msg = 'Hyperspec lookup word: '
+                let val = symbol[0]
+            endif
+            " Ask user if this is that he/she meant
+            let w = input( msg, val )
+            if w == ''
+                " OK, user does not want to continue
+                return
+            endif
+            let symbol = []
+        endif
+    endwhile
+    if symbol != []
+        " Symbol found, open HS page in browser
+        if match( symbol[1], ':' ) < 0 && exists( g:slimv_hs_root )
+            let page = g:slimv_hs_root . symbol[1]
+        else
+            " URL is already a fully qualified address
+            let page = symbol[1]
+        endif
+        if exists( "g:slimv_browser_cmd" )
+            " We have an given command to start the browser
+            silent execute '! ' . g:slimv_browser_cmd . ' ' . page
+        else
+            if g:slimv_windows
+                " Run the program associated with the .html extension
+                silent execute '! start ' . page
+            else
+                " On Linux it's not easy to determine the default browser
+                " Ask help from Python webbrowser package
+                let pycmd = "import webbrowser; webbrowser.open('" . page . "')"
+                silent execute '! ' . g:slimv_python . ' -c "' . pycmd . '"'
+            endif
+        endif
+        " This is needed especially when using text browsers
+        redraw!
+    endif
+endfunction
+
+" Lookup current symbol in the Common Lisp Hyperspec
+function! SlimvHyperspec()
+    call SlimvSelectSymbolExt()
+    call SlimvLookup( SlimvGetSelection() )
+endfunction
+
+" Complete function that uses the Hyperspec database
+function! SlimvComplete( findstart, base )
+    if a:findstart
+        " Locate the start of the symbol name
+        let line = getline( '.' )
+        let start = col( '.' ) - 1
+        while start > 0 && ( line[start - 1] =~ '\a' || match( '\*&', line[start - 1] ) >= 0 )
+            let start -= 1
+        endwhile
+        return start
+    else
+        " Find all symbols starting with "a:base"
+        let res = []
+        let symbol = b:SlimvHyperspecLookup( a:base, 0, 1 )
+        call sort( symbol )
+        for m in symbol
+            if m =~ '^' . a:base
+                call add( res, m )
+            endif
+        endfor
+        return res
+    endif
+endfunction
+
+" Define complete function only if none is defined yet
+if &omnifunc == ''
+    set omnifunc=SlimvComplete
+endif
+
+" =====================================================================
+"  Slimv keybindings
+" =====================================================================
+
+" <Leader> can be set in .vimrc, it defaults here to ','
+" <Leader> timeouts in 1000 msec by default, if this is too short,
+" then increase 'timeoutlen'
+
+if g:slimv_keybindings == 1
+    " Short (one-key) keybinding set
+
+    noremap <Leader>)  :<C-U>call SlimvCloseForm()<CR>
+    inoremap <C-X>0    <C-O>:call SlimvCloseForm()<CR>
+    noremap <Leader>(  :<C-U>call PareditToggle()<CR>
+
+    noremap <Leader>d  :<C-U>call SlimvEvalDefun()<CR>
+    noremap <Leader>e  :<C-U>call SlimvEvalLastExp()<CR>
+    noremap <Leader>E  :<C-U>call SlimvPprintEvalLastExp()<CR>
+    noremap <Leader>r  :call SlimvEvalRegion()<CR>
+    noremap <Leader>b  :<C-U>call SlimvEvalBuffer()<CR>
+    noremap <Leader>v  :call SlimvInteractiveEval()<CR>
+    noremap <Leader>u  :call SlimvUndefineFunction()<CR>
+
+    noremap <Leader>1  :<C-U>call SlimvMacroexpand()<CR>
+    noremap <Leader>m  :<C-U>call SlimvMacroexpandAll()<CR>
+    noremap <Leader>t  :call SlimvTrace()<CR>
+    noremap <Leader>T  :call SlimvUntrace()<CR>
+    noremap <Leader>l  :call SlimvDisassemble()<CR>
+    noremap <Leader>i  :call SlimvInspect()<CR>
+
+    noremap <Leader>D  :<C-U>call SlimvCompileDefun()<CR>
+    noremap <Leader>L  :<C-U>call SlimvCompileLoadFile()<CR>
+    noremap <Leader>F  :<C-U>call SlimvCompileFile()<CR>
+    noremap <Leader>R  :call SlimvCompileRegion()<CR>
+
+    noremap <Leader>O  :call SlimvLoadProfiler()<CR>
+    noremap <Leader>p  :call SlimvProfile()<CR>
+    noremap <Leader>P  :call SlimvUnprofile()<CR>
+    noremap <Leader>U  :call SlimvUnprofileAll()<CR>
+    noremap <Leader>?  :call SlimvShowProfiled()<CR>
+    noremap <Leader>o  :call SlimvProfileReport()<CR>
+    noremap <Leader>x  :call SlimvProfileReset()<CR>
+
+    noremap <Leader>s  :call SlimvDescribeSymbol()<CR>
+    noremap <Leader>a  :call SlimvApropos()<CR>
+    noremap <Leader>h  :call SlimvHyperspec()<CR>
+    noremap <Leader>]  :call SlimvGenerateTags()<CR>
+
+    noremap <Leader>c  :call SlimvConnectServer()<CR>
+
+elseif g:slimv_keybindings == 2
+    " Easy to remember (two-key) keybinding set
+
+    " Edit commands
+    noremap <Leader>tc  :<C-U>call SlimvCloseForm()<CR>
+    inoremap <C-X>0     <C-O>:call SlimvCloseForm()<CR>
+    noremap <Leader>(t  :<C-U>call PareditToggle()<CR>
+
+    " Evaluation commands
+    noremap <Leader>ed  :<C-U>call SlimvEvalDefun()<CR>
+    noremap <Leader>ee  :<C-U>call SlimvEvalLastExp()<CR>
+    noremap <Leader>ep  :<C-U>call SlimvPprintEvalLastExp()<CR>
+    noremap <Leader>er  :call SlimvEvalRegion()<CR>
+    noremap <Leader>eb  :<C-U>call SlimvEvalBuffer()<CR>
+    noremap <Leader>ei  :call SlimvInteractiveEval()<CR>
+    noremap <Leader>eu  :call SlimvUndefineFunction()<CR>
+
+    " Debug commands
+    noremap <Leader>m1  :<C-U>call SlimvMacroexpand()<CR>
+    noremap <Leader>ma  :<C-U>call SlimvMacroexpandAll()<CR>
+    noremap <Leader>dt  :call SlimvTrace()<CR>
+    noremap <Leader>du  :call SlimvUntrace()<CR>
+    noremap <Leader>dd  :call SlimvDisassemble()<CR>
+    noremap <Leader>di  :call SlimvInspect()<CR>
+
+    " Compile commands
+    noremap <Leader>cd  :<C-U>call SlimvCompileDefun()<CR>
+    noremap <Leader>cl  :<C-U>call SlimvCompileLoadFile()<CR>
+    noremap <Leader>cf  :<C-U>call SlimvCompileFile()<CR>
+    noremap <Leader>cr  :call SlimvCompileRegion()<CR>
+
+    " Profile commands
+    noremap <Leader>pl  :call SlimvLoadProfiler()<CR>
+    noremap <Leader>pp  :call SlimvProfile()<CR>
+    noremap <Leader>pu  :call SlimvUnprofile()<CR>
+    noremap <Leader>pa  :call SlimvUnprofileAll()<CR>
+    noremap <Leader>ps  :call SlimvShowProfiled()<CR>
+    noremap <Leader>pr  :call SlimvProfileReport()<CR>
+    noremap <Leader>px  :call SlimvProfileReset()<CR>
+
+    " Documentation commands
+    noremap <Leader>ds  :call SlimvDescribeSymbol()<CR>
+    noremap <Leader>da  :call SlimvApropos()<CR>
+    noremap <Leader>dh  :call SlimvHyperspec()<CR>
+    noremap <Leader>dt  :call SlimvGenerateTags()<CR>
+
+    " REPL commands
+    noremap <Leader>rc  :call SlimvConnectServer()<CR>
+
+endif
+
+" =====================================================================
+"  Slimv menu
+" =====================================================================
+
+if g:slimv_menu == 1
+    " Works only if 'wildcharm' is <Tab>
+    ":map <Leader>, :emenu Slimv.<Tab>
+    if &wildcharm == 0
+        set wildcharm=<Tab>
+    endif
+    if &wildcharm != 0
+        execute ':map <Leader>, :emenu Slimv.' . nr2char( &wildcharm )
+    endif
+
+    amenu &Slimv.Edi&t.Close-&Form                     :<C-U>call SlimvCloseForm()<CR>
+    imenu &Slimv.Edi&t.&Complete-Symbol                <C-X><C-O>
+    amenu &Slimv.Edi&t.&Paredit-Toggle                 :<C-U>call PareditToggle()<CR>
+
+    amenu &Slimv.&Evaluation.Eval-&Defun               :<C-U>call SlimvEvalDefun()<CR>
+    amenu &Slimv.&Evaluation.Eval-Last-&Exp            :<C-U>call SlimvEvalLastExp()<CR>
+    amenu &Slimv.&Evaluation.&Pprint-Eval-Last         :<C-U>call SlimvPprintEvalLastExp()<CR>
+    amenu &Slimv.&Evaluation.Eval-&Region              :call SlimvEvalRegion()<CR>
+    amenu &Slimv.&Evaluation.Eval-&Buffer              :<C-U>call SlimvEvalBuffer()<CR>
+    amenu &Slimv.&Evaluation.Interacti&ve-Eval\.\.\.   :call SlimvInteractiveEval()<CR>
+    amenu &Slimv.&Evaluation.&Undefine-Function        :call SlimvUndefineFunction()<CR>
+
+    amenu &Slimv.De&bugging.Macroexpand-&1             :<C-U>call SlimvMacroexpand()<CR>
+    amenu &Slimv.De&bugging.&Macroexpand-All           :<C-U>call SlimvMacroexpandAll()<CR>
+    amenu &Slimv.De&bugging.&Trace\.\.\.               :call SlimvTrace()<CR>
+    amenu &Slimv.De&bugging.U&ntrace\.\.\.             :call SlimvUntrace()<CR>
+    amenu &Slimv.De&bugging.Disassemb&le\.\.\.         :call SlimvDisassemble()<CR>
+    amenu &Slimv.De&bugging.&Inspect\.\.\.             :call SlimvInspect()<CR>
+
+    amenu &Slimv.&Compilation.Compile-&Defun           :<C-U>call SlimvCompileDefun()<CR>
+    amenu &Slimv.&Compilation.Compile-&Load-File       :<C-U>call SlimvCompileLoadFile()<CR>
+    amenu &Slimv.&Compilation.Compile-&File            :<C-U>call SlimvCompileFile()<CR>
+    amenu &Slimv.&Compilation.Compile-&Region          :call SlimvCompileRegion()<CR>
+
+    amenu &Slimv.&Profiling.&Load-Profiler             :call SlimvLoadProfiler()<CR>
+    amenu &Slimv.&Profiling.&Profile\.\.\.             :call SlimvProfile()<CR>
+    amenu &Slimv.&Profiling.&Unprofile\.\.\.           :call SlimvUnprofile()<CR>
+    amenu &Slimv.&Profiling.Unprofile-&All             :call SlimvUnprofileAll()<CR>
+    amenu &Slimv.&Profiling.&Show-Profiled             :call SlimvShowProfiled()<CR>
+    amenu &Slimv.&Profiling.-ProfilingSep-             :
+    amenu &Slimv.&Profiling.Profile-Rep&ort            :call SlimvProfileReport()<CR>
+    amenu &Slimv.&Profiling.Profile-&Reset             :call SlimvProfileReset()<CR>
+
+    amenu &Slimv.&Documentation.Describe-&Symbol       :call SlimvDescribeSymbol()<CR>
+    amenu &Slimv.&Documentation.&Apropos               :call SlimvApropos()<CR>
+    amenu &Slimv.&Documentation.&Hyperspec             :call SlimvHyperspec()<CR>
+    imenu &Slimv.&Documentation.&Complete-Symbol       <C-X><C-O>
+    amenu &Slimv.&Documentation.Generate-&Tags         :call SlimvGenerateTags()<CR>
+
+    amenu &Slimv.&Repl.&Connect-Server                 :call SlimvConnectServer()<CR>
+endif
+
+" Add REPL menu. This menu exist only for the REPL buffer.
+function SlimvAddReplMenu()
+    if &wildcharm != 0
+        execute ':map <Leader>\ :emenu REPL.' . nr2char( &wildcharm )
+    endif
+
+    amenu &REPL.Send-&Input                            :call SlimvSendCommand(0)<CR>
+    amenu &REPL.Cl&ose-Send-Input                      :call SlimvSendCommand(1)<CR>
+    amenu &REPL.Interrup&t-Lisp-Process                <Esc>:<C-U>call SlimvInterrupt()<CR>
+    amenu &REPL.-REPLSep-                              :
+    amenu &REPL.&Previous-Input                        :call SlimvPreviousCommand()<CR>
+    amenu &REPL.&Next-Input                            :call SlimvNextCommand()<CR>
+    amenu &REPL.&Refresh                               :call SlimvRefresh()<CR>
+endfunction
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/bundle/slimv/indent/clojure.vim	Fri Nov 12 18:30:35 2010 -0500
@@ -0,0 +1,20 @@
+" clojure.vim:
+"               Clojure indent plugin for Slimv
+" Version:      0.5.4
+" Last Change:  15 Nov 2009
+" Maintainer:   Tamas Kovacs <kovisoft at gmail dot com>
+" License:      This file is placed in the public domain.
+"               No warranty, express or implied.
+"               *** ***   Use At-Your-Own-Risk!   *** ***
+"
+" =====================================================================
+"
+"  Load Once:
+if exists("b:did_indent")
+   finish
+endif
+
+runtime indent/**/lisp.vim
+
+set lisp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/bundle/slimv/plugin/paredit.vim	Fri Nov 12 18:30:35 2010 -0500
@@ -0,0 +1,1226 @@
+" paredit.vim:
+"               Paredit mode for Slimv
+" Version:      0.7.1
+" Last Change:  07 Nov 2010
+" Maintainer:   Tamas Kovacs <kovisoft at gmail dot com>
+" License:      This file is placed in the public domain.
+"               No warranty, express or implied.
+"               *** ***   Use At-Your-Own-Risk!   *** ***
+"
+" =====================================================================
+"
+"  Load Once:
+if &cp || exists( 'g:paredit_loaded' )
+    finish
+endif
+
+let g:paredit_loaded = 1
+
+" =====================================================================
+"  Global variable definitions
+" =====================================================================
+
+" Paredit mode selector
+if !exists( 'g:paredit_mode' )
+    let g:paredit_mode = 1
+endif
+
+"TODO: automatic indentation
+" Automatic indentation after some editing commands
+"if !exists( 'g:paredit_autoindent' )
+"    let g:paredit_autoindent = 1
+"endif
+
+" Match delimiter this number of lines before and after cursor position
+if !exists( 'g:paredit_matchlines' )
+    let g:paredit_matchlines = 100
+endif
+
+" Use short keymaps, i.e. J instead of <Leader>J
+if !exists( 'g:paredit_shortmaps' )
+    let g:paredit_shortmaps = 0
+endif
+
+" =====================================================================
+"  Other variable definitions
+" =====================================================================
+
+" Skip matches inside string or comment
+let s:skip_c  = 'synIDattr(synID(line("."), col("."), 0), "name") =~ "[Cc]omment"'
+let s:skip_sc = 'synIDattr(synID(line("."), col("."), 0), "name") =~ "[Ss]tring\\|[Cc]omment"'
+
+" Regular expressions to identify special characters combinations used by paredit
+"TODO: add curly brace
+let s:any_matched_char   = '(\|)\|\[\|\]\|\"'
+let s:any_matched_pair   = '()\|\[\]\|\"\"'
+let s:any_opening_char   = '(\|\['
+let s:any_closing_char   = ')\|\]'
+let s:any_openclose_char = '(\|\[\|)\|\]'
+let s:any_wsopen_char    = '\s\|(\|\['
+let s:any_wsclose_char   = '\s\|)\|\]'
+let s:any_macro_prefix   = "'" . '\|`\|#\|@\|\~'
+
+" Repeat count for some remapped edit functions (like 'd')
+let s:repeat             = 0
+
+let s:yank_pos           = []
+
+" =====================================================================
+"  General utility functions
+" =====================================================================
+
+" Buffer specific initialization
+function! PareditInitBuffer()
+    if g:paredit_mode
+        " Paredit mode is on: add buffer specific keybindings
+        inoremap <buffer> <expr>   (            PareditInsertOpening('(',')')
+        inoremap <buffer> <expr>   )            PareditInsertClosing('(',')')
+        inoremap <buffer> <expr>   [            PareditInsertOpening('[',']')
+        inoremap <buffer> <expr>   ]            PareditInsertClosing('[',']')
+        inoremap <buffer> <expr>   "            PareditInsertQuotes()
+        inoremap <buffer> <expr>   <BS>         PareditBackspace(0)
+        inoremap <buffer> <expr>   <Del>        PareditDel()
+        nnoremap <buffer> <silent> (            :<C-U>call PareditFindOpening('(',')',0)<CR>
+        nnoremap <buffer> <silent> )            :<C-U>call PareditFindClosing('(',')',0)<CR>
+        vnoremap <buffer> <silent> (            <Esc>:<C-U>call PareditFindOpening('(',')',1)<CR>
+        vnoremap <buffer> <silent> )            <Esc>:<C-U>call PareditFindClosing('(',')',1)<CR>
+        nnoremap <buffer> <silent> x            :<C-U>call PareditEraseFwd()<CR>
+        nnoremap <buffer> <silent> <Del>        :<C-U>call PareditEraseFwd()<CR>
+        nnoremap <buffer> <silent> X            :<C-U>call PareditEraseBck()<CR>
+        nnoremap <buffer> <silent> s            :<C-U>call PareditEraseFwd()<CR>i
+        nnoremap <buffer> <silent> D            v$:<C-U>call PareditDelete(visualmode(),1)<CR>
+        nnoremap <buffer> <silent> C            v$:<C-U>call PareditChange(visualmode(),1)<CR>
+        nnoremap <buffer> <silent> d            :<C-U>call PareditSetDelete(v:count)<CR>g@
+        vnoremap <buffer> <silent> d            :<C-U>call PareditDelete(visualmode(),1)<CR>
+        vnoremap <buffer> <silent> x            :<C-U>call PareditDelete(visualmode(),1)<CR>
+        vnoremap <buffer> <silent> <Del>        :<C-U>call PareditDelete(visualmode(),1)<CR>
+        nnoremap <buffer> <silent> c            :set opfunc=PareditChange<CR>g@
+        vnoremap <buffer> <silent> c            :<C-U>call PareditChange(visualmode(),1)<CR>
+        nnoremap <buffer> <silent> dd           :<C-U>call PareditDeleteLines()<CR>
+        nnoremap <buffer> <silent> cc           :<C-U>call PareditChangeLines()<CR>
+        nnoremap <buffer> <silent> p            :<C-U>call PareditPut('p')<CR>
+        nnoremap <buffer> <silent> P            :<C-U>call PareditPut('P')<CR>
+        nnoremap <buffer> <silent> <Leader>w(   :<C-U>call PareditWrap('(',')')<CR>
+        vnoremap <buffer> <silent> <Leader>w(   :<C-U>call PareditWrapSelection('(',')')<CR>
+        nnoremap <buffer> <silent> <Leader>w[   :<C-U>call PareditWrap('[',']')<CR>
+        vnoremap <buffer> <silent> <Leader>w[   :<C-U>call PareditWrapSelection('[',']')<CR>
+        nnoremap <buffer> <silent> <Leader>w"   :<C-U>call PareditWrap('"','"')<CR>
+        vnoremap <buffer> <silent> <Leader>w"   :<C-U>call PareditWrapSelection('"','"')<CR>
+
+        if g:paredit_shortmaps
+            " Shorter keymaps: old functionality of KEY is remapped to <Leader>KEY
+            nnoremap <buffer> <silent> <            :<C-U>call PareditMoveLeft()<CR>
+            nnoremap <buffer> <silent> >            :<C-U>call PareditMoveRight()<CR>
+            nnoremap <buffer> <silent> O            :<C-U>call PareditSplit()<CR>
+            nnoremap <buffer> <silent> J            :<C-U>call PareditJoin()<CR>
+            nnoremap <buffer> <silent> W            :<C-U>call PareditWrap()<CR>
+            vnoremap <buffer> <silent> W            :<C-U>call PareditWrapSelection()<CR>
+            nnoremap <buffer> <silent> S            :<C-U>call PareditSplice()<CR>
+            nnoremap <buffer> <silent> <Leader><    :<C-U>normal! <<CR>
+            nnoremap <buffer> <silent> <Leader>>    :<C-U>normal! ><CR>
+            nnoremap <buffer> <silent> <Leader>O    :<C-U>normal! O<CR>
+            nnoremap <buffer> <silent> <Leader>J    :<C-U>normal! J<CR>
+            nnoremap <buffer> <silent> <Leader>W    :<C-U>normal! W<CR>
+            vnoremap <buffer> <silent> <Leader>W    :<C-U>normal! W<CR>
+            nnoremap <buffer> <silent> <Leader>S    :<C-U>normal! S<CR>
+        else
+            " Longer keymaps with <Leader> prefix
+            nnoremap <buffer> <silent> S            V:<C-U>call PareditChange(visualmode(),1)<CR>
+            nnoremap <buffer> <silent> <Leader><    :<C-U>call PareditMoveLeft()<CR>
+            nnoremap <buffer> <silent> <Leader>>    :<C-U>call PareditMoveRight()<CR>
+            nnoremap <buffer> <silent> <Leader>O    :<C-U>call PareditSplit()<CR>
+            nnoremap <buffer> <silent> <Leader>J    :<C-U>call PareditJoin()<CR>
+            nnoremap <buffer> <silent> <Leader>W    :<C-U>call PareditWrap('(',')')<CR>
+            vnoremap <buffer> <silent> <Leader>W    :<C-U>call PareditWrapSelection('(',')')<CR>
+            nnoremap <buffer> <silent> <Leader>S    :<C-U>call PareditSplice()<CR>
+        endif
+    else
+        " Paredit mode is off: remove keybindings
+        iunmap <buffer> (
+        iunmap <buffer> )
+        iunmap <buffer> [
+        iunmap <buffer> ]
+        iunmap <buffer> "
+        iunmap <buffer> <BS>
+        iunmap <buffer> <Del>
+        unmap  <buffer> (
+        unmap  <buffer> )
+        unmap  <buffer> x
+        unmap  <buffer> <Del>
+        unmap  <buffer> X
+        unmap  <buffer> s
+        unmap  <buffer> D
+        unmap  <buffer> C
+        unmap  <buffer> d
+        unmap  <buffer> c
+        unmap  <buffer> dd
+        unmap  <buffer> cc
+    endif
+endfunction
+
+" General Paredit operator function
+function! PareditOpfunc( func, type, visualmode )
+    let sel_save = &selection
+    let ve_save = &virtualedit
+    set virtualedit=all
+    let reg_save = @@
+
+    if a:visualmode  " Invoked from Visual mode, use '< and '> marks.
+        silent exe "normal! `<" . a:type . "`>"
+    elseif a:type == 'line'
+        let &selection = "inclusive"
+        silent exe "normal! '[V']"
+    elseif a:type == 'block'
+        let &selection = "inclusive"
+        silent exe "normal! `[\<C-V>`]"
+    else
+        let &selection = "inclusive"
+        silent exe "normal! `[v`]"
+    endif
+
+    if !g:paredit_mode || a:visualmode && a:type == 'block' || a:type == "\<C-V>"
+        " Block mode is too difficult to handle at the moment
+        silent exe "normal! d"
+        let putreg = getreg( '"' )
+    else
+        silent exe "normal! y"
+        let putreg = getreg( '"' )
+
+        " Find and keep unbalanced matched characters in the region
+        let matched = s:GetMatchedChars( putreg, s:InsideString( "'<" ), s:InsideComment( "'<" ) )
+        let matched = s:Unbalanced( matched )
+        let matched = substitute( matched, '\s', '', 'g' )
+
+        if matched == ''
+            silent exe "normal! gvx"
+        else
+            silent exe "normal! gvc" . matched
+            silent exe "normal! l"
+        endif
+    endif
+
+    let &selection = sel_save
+    let &virtualedit = ve_save
+    let @@ = reg_save
+    call setreg( '"', putreg ) 
+endfunction
+
+" Set delete mode also saving repeat count
+function! PareditSetDelete( count )
+    let s:repeat = a:count
+    set opfunc=PareditDelete
+endfunction
+
+" General delete operator handling
+function! PareditDelete( type, ... )
+    call PareditOpfunc( 'd', a:type, a:0 )
+    if s:repeat > 1
+        call feedkeys( (s:repeat-1) . "." )
+    endif
+    let s:repeat = 0
+endfunction
+
+" General change operator handling
+function! PareditChange( type, ... )
+    call PareditOpfunc( 'c', a:type, a:0 )
+    startinsert
+endfunction
+
+" Delete v:count number of lines
+function! PareditDeleteLines()
+    if v:count > 1
+        silent exe "normal! V" . (v:count-1) . "j\<Esc>"
+    else
+        silent exe "normal! V\<Esc>"
+    endif
+    call PareditDelete(visualmode(),1)
+endfunction
+
+" Change v:count number of lines
+function! PareditChangeLines()
+    if v:count > 1
+        silent exe "normal! V" . (v:count-1) . "j\<Esc>"
+    else
+        silent exe "normal! V\<Esc>"
+    endif
+    call PareditChange(visualmode(),1)
+endfunction
+
+" Paste text from put register in a balanced way
+function! PareditPut( cmd )
+    let reg_save = @@
+    let putreg = getreg( '"' )
+
+    " Find unpaired matched characters by eliminating paired ones
+    let matched = s:GetMatchedChars( putreg, s:InsideString( '.' ), s:InsideComment( '.' ) )
+    let matched = s:Unbalanced( matched )
+
+    " Replace all unpaired matched characters with a space in order to keep balance
+    let i = 0
+    while i < len( putreg )
+        if matched[i] !~ '\s'
+            let putreg = strpart( putreg, 0, i ) . ' ' . strpart( putreg, i+1 )
+        endif
+        let i = i + 1
+    endwhile
+
+    " Store balanced text in put register and call the appropriate put command
+    call setreg( '"', putreg ) 
+    if v:count > 1
+        silent exe "normal! " . v:count . a:cmd
+    else
+        silent exe "normal! " . a:cmd
+    endif
+    let @@ = reg_save
+endfunction
+
+" Toggle paredit mode
+function! PareditToggle()
+    let g:paredit_mode = 1 - g:paredit_mode
+    echo g:paredit_mode ? 'Paredit mode on' : 'Paredit mode off'
+    call PareditInitBuffer()
+endfunction
+
+" Does the current syntax item match the given regular expression?
+function! s:SynIDMatch( regexp, pos, match_eol )
+    let line = line( a:pos )
+    let col  = col ( a:pos )
+    if a:match_eol && col > len( getline( line ) )
+        let col = col - 1
+    endif
+    return synIDattr( synID( line, col, 0), 'name' ) =~ a:regexp
+endfunction
+
+" Is the current cursor position inside a comment?
+function! s:InsideComment( ... )
+    return s:SynIDMatch( '[Cc]omment', a:0 ? a:1 : '.', 1 )
+endfunction
+
+" Is the current cursor position inside a string?
+function! s:InsideString( ... )
+    return s:SynIDMatch( '[Ss]tring', a:0 ? a:1 : '.', 0 )
+endfunction
+
+" Autoindent current top level form
+function! PareditIndentTopLevelForm( level )
+    if a:level < g:paredit_autoindent
+        return
+    endif
+    let l = line( '.' )
+    let c =  col( '.' )
+    normal! ms
+    let matchb = max( [l-g:paredit_matchlines, 1] )
+    let [l0, c0] = searchpairpos( '(', '', ')', 'brmW', s:skip_sc, matchb )
+    "let save_exp = &expandtab
+    "set expandtab
+    normal! v%=`s
+    "let &expandtab = save_exp
+endfunction
+
+" Is this a Slimv REPL buffer?
+function! s:IsReplBuffer()
+    if exists( 'g:slimv_repl_dir' ) && exists( 'g:slimv_repl_file' )
+        let repl_name = g:slimv_repl_dir . g:slimv_repl_file
+        return bufnr( repl_name ) == bufnr( '%' )
+    else
+        return bufname( '%' ) =~ '.*\.repl\..*'
+    endif
+endfunction
+
+" Get Slimv REPL buffer last command prompt position
+" Return [0, 0] if this is not the REPL buffer
+function! s:GetReplPromptPos()
+    if !s:IsReplBuffer()
+        return [0, 0]
+    endif
+    return [ line( "'s" ), col( "'s" ) ]
+endfunction
+
+" Is the current top level form balanced, i.e all opening delimiters
+" have a matching closing delimiter
+function! s:IsBalanced()
+    let l = line( '.' )
+    let c =  col( '.' )
+    let line = getline( '.' )
+    let matchb = max( [l-g:paredit_matchlines, 1] )
+    let matchf = min( [l+g:paredit_matchlines, line('$')] )
+    let prompt = line( "'s" )
+    if s:IsReplBuffer() && l >= prompt && matchb < prompt
+        " Do not go before the last command prompt in the REPL buffer
+        let matchb = prompt
+    endif
+    let p1 = searchpair( '(', '', ')', 'brnmW', s:skip_sc, matchb )
+    let p2 = searchpair( '(', '', ')',  'rnmW', s:skip_sc, matchf )
+    if !(p1 == p2) && !(p1 == p2 - 1 && line[c-1] == '(') && !(p1 == p2 + 1 && line[c-1] == ')')
+        " Number of opening and closing parens differ
+        return 0
+    endif
+    let b1 = searchpair( '\[', '', '\]', 'brnmW', s:skip_sc, matchb )
+    if b1 == 0
+        " Outside of all bracket-pairs
+        return 1
+    endif
+    let b2 = searchpair( '\[', '', '\]',  'rnmW', s:skip_sc, matchf )
+    if !(b1 == b2) && !(b1 == b2 - 1 && line[c-1] == '[') && !(b1 == b2 + 1 && line[c-1] == ']')
+        " Number of opening and closing brackets differ
+        return 0
+    endif
+    return 1
+endfunction
+
+" Filter out all non-matched characters from the region
+function! s:GetMatchedChars( lines, start_in_string, start_in_comment )
+    let inside_string  = a:start_in_string
+    let inside_comment = a:start_in_comment
+    let matched = repeat( ' ', len( a:lines ) )
+    let i = 0
+    while i < len( a:lines )
+        if inside_string
+            " We are inside a string, skip parens, wait for closing '"'
+            " but skip escaped \" characters
+            if a:lines[i] == '"' && a:lines[i-1] != '\'
+                let matched = strpart( matched, 0, i ) . a:lines[i] . strpart( matched, i+1 )
+                let inside_string = 0
+            endif
+        elseif inside_comment
+            " We are inside a comment, skip parens, wait for end of line
+            if a:lines[i] == "\n"
+                let inside_comment = 0
+            endif
+        else
+            " We are outside of strings and comments, now we shall count parens
+            if a:lines[i] == '"'
+                let matched = strpart( matched, 0, i ) . a:lines[i] . strpart( matched, i+1 )
+                let inside_string = 1
+            endif
+            if a:lines[i] == ';'
+                let inside_comment = 1
+            endif
+            if a:lines[i] == '(' || a:lines[i] == '[' || a:lines[i] == ')' || a:lines[i] == ']'
+                let matched = strpart( matched, 0, i ) . a:lines[i] . strpart( matched, i+1 )
+            endif
+        endif
+        let i = i + 1
+    endwhile
+    return matched
+endfunction
+
+" Find unpaired matched characters by eliminating paired ones
+function! s:Unbalanced( matched )
+    let matched = a:matched
+    let tmp = matched
+    while 1
+        let matched = tmp
+        let tmp = substitute( tmp, '(\(\s*\))',   ' \1 ', 'g')
+        let tmp = substitute( tmp, '\[\(\s*\)\]', ' \1 ', 'g')
+        let tmp = substitute( tmp, '"\(\s*\)"',   ' \1 ', 'g')
+        if tmp == matched
+            " All paired chars eliminated
+            let tmp = substitute( tmp, ')\(\s*\)(',   ' \1 ', 'g')
+            let tmp = substitute( tmp, '\]\(\s*\)\[', ' \1 ', 'g')
+            if tmp == matched
+                " Also no more inverse pairs can be eliminated
+                break
+            endif
+        endif
+    endwhile
+    return matched
+endfunction
+
+" Find opening matched character
+function! PareditFindOpening( open, close, select )
+    let open  = escape( a:open , '[]' )
+    let close = escape( a:close, '[]' )
+    call searchpair( open, '', close, 'bW', s:skip_sc )
+    if a:select
+        call searchpair( open, '', close, 'W', s:skip_sc )
+        let save_ve = &ve
+        set ve=all 
+        normal! lvh
+        let &ve = save_ve
+        call searchpair( open, '', close, 'bW', s:skip_sc )
+    endif
+endfunction
+
+" Find closing matched character
+function! PareditFindClosing( open, close, select )
+    let open  = escape( a:open , '[]' )
+    let close = escape( a:close, '[]' )
+    if a:select
+        let line = getline( '.' )
+        if line[col('.')-1] != a:open
+            normal! h
+        endif
+        call searchpair( open, '', close, 'W', s:skip_sc )
+        call searchpair( open, '', close, 'bW', s:skip_sc )
+        normal! v
+        call searchpair( open, '', close, 'W', s:skip_sc )
+        normal! l
+    else
+        call searchpair( open, '', close, 'W', s:skip_sc )
+    endif
+endfunction
+
+" Insert opening type of a paired character, like ( or [.
+function! PareditInsertOpening( open, close )
+    if !g:paredit_mode || s:InsideComment() || s:InsideString() || !s:IsBalanced()
+        return a:open
+    endif
+    let line = getline( '.' )
+    let pos = col( '.' ) - 1
+    if line[pos] !~ s:any_wsclose_char && pos < len( line )
+        " Add a space after if needed
+        let retval = a:open . a:close . " \<Left>\<Left>"
+    else
+        let retval = a:open . a:close . "\<Left>"
+    endif
+    if pos > 0 && line[pos-1] !~ s:any_wsopen_char && line[pos-1] !~ s:any_macro_prefix
+        " Add a space before if needed
+        let retval = " " . retval
+    endif
+    return retval
+endfunction
+
+" Insert closing type of a paired character, like ) or ].
+function! PareditInsertClosing( open, close )
+    if !g:paredit_mode || s:InsideComment() || s:InsideString() || !s:IsBalanced()
+        return a:close
+    endif
+    let line = getline( '.' )
+    let pos = col( '.' ) - 1
+    if line[pos] == a:close
+        return "\<Right>"
+    else
+        let open  = escape( a:open , '[]' )
+        let close = escape( a:close, '[]' )
+        return "\<C-O>:call searchpair('" . open . "','','" . close . "','W','" . s:skip_sc . "')\<CR>\<Right>"
+        "TODO: indent after going to closing character
+    endif
+endfunction
+
+" Insert an (opening or closing) double quote
+function! PareditInsertQuotes()
+    if !g:paredit_mode || s:InsideComment()
+        return '"'
+    endif
+    if s:InsideString()
+        let line = getline( '.' )
+        let pos = col( '.' ) - 1
+        "TODO: skip comments in search(...)
+        if pos > 0 && line[pos-1] == '\' && (pos < 2 || line[pos-2] != '\')
+            " About to enter a \" inside a string
+            return '"'
+        elseif line[pos] == '"'
+            " Standing on a ", just move to the right
+            return "\<Right>"
+        elseif search('[^\\]"\|^"', 'nW') == 0
+            " We don't have any closing ", insert one
+            return '"'
+        else
+            " Move to the closing "
+            return "\<C-O>:call search('" . '[^\\]"\|^"' . "','eW')\<CR>\<Right>"
+        endif
+    else
+        " Outside of string: insert a pair of ""
+        return '""' . "\<Left>"
+    endif
+endfunction
+
+" Handle <BS> keypress
+function! PareditBackspace( repl_mode )
+    if a:repl_mode && line( "." ) == line( "'s" ) && col( "." ) <= col( "'s" )
+        " No BS allowed before the previous EOF mark in the REPL
+        " i.e. don't delete Lisp prompt
+        return ""
+    endif
+
+    if !g:paredit_mode || s:InsideComment()
+        return "\<BS>"
+    endif
+
+    let line = getline( '.' )
+    let pos = col( '.' ) - 1
+
+    if pos == 0
+        " We are at the beginning of the line
+        return "\<BS>"
+    elseif line[pos-1] !~ s:any_matched_char
+        " Deleting a non-special character
+        return "\<BS>"
+    elseif line[pos-1] != '"' && !s:IsBalanced()
+        " Current top-form is unbalanced, can't retain paredit mode
+        return "\<BS>"
+    endif
+
+    if line[pos-1:pos] =~ s:any_matched_pair
+        " Deleting an empty character-pair
+        return "\<Right>\<BS>\<BS>"
+    else
+        " Character-pair is not empty, don't delete just move inside
+        return "\<Left>"
+    endif
+endfunction
+
+" Handle <Del> keypress
+function! PareditDel()
+    if !g:paredit_mode || s:InsideComment()
+        return "\<Del>"
+    endif
+
+    let line = getline( '.' )
+    let pos = col( '.' ) - 1
+
+    if pos == len(line)
+        " We are at the end of the line
+        return "\<Del>"
+    elseif line[pos] !~ s:any_matched_char
+        " Erasing a non-special character
+        return "\<Del>"
+    elseif line[pos] != '"' && !s:IsBalanced()
+        " Current top-form is unbalanced, can't retain paredit mode
+        return "\<Del>"
+    elseif pos == 0
+        return "\<Right>"
+    endif
+
+    if line[pos-1:pos] =~ s:any_matched_pair
+        " Erasing an empty character-pair
+        return "\<Left>\<Del>\<Del>"
+    else
+        " Character-pair is not empty, don't erase just move inside
+        return "\<Right>"
+    endif
+endfunction
+
+" Initialize yank position list
+function! s:InitYankPos()
+    let @" = ''
+    let s:yank_pos = []
+endfunction
+
+" Add position to the yank list
+function! s:AddYankPos( pos )
+    let s:yank_pos = [a:pos] + s:yank_pos
+endfunction
+
+" Remove the head of yank position list and return it
+function! s:RemoveYankPos()
+    if len(s:yank_pos) > 0
+        let pos = s:yank_pos[0]
+        let s:yank_pos = s:yank_pos[1:]
+        return pos
+    else
+        return 0
+    endif
+endfunction
+
+" Forward erasing a character in normal mode, do not check if current form balanced
+function! s:EraseFwd( count, startcol )
+    let line = getline( '.' )
+    let pos = col( '.' ) - 1
+    let reg = @"
+    let c = a:count
+    while c > 0
+        if s:InsideString() && line[pos : pos+1] == '\"'
+            " Erasing a \" inside string
+            let reg = reg . line[pos : pos+1]
+            let line = strpart( line, 0, pos ) . strpart( line, pos+2 )
+        elseif s:InsideComment() && line[pos] == ';' && a:startcol >= 0
+            " Erasing the whole comment, only when erasing a block of characters
+            let reg = reg . strpart( line, pos )
+            let line = strpart( line, 0, pos )
+        elseif s:InsideComment() || ( s:InsideString() && line[pos] != '"' )
+            " Erasing any character inside string or comment
+            let reg = reg . line[pos]
+            let line = strpart( line, 0, pos ) . strpart( line, pos+1 )
+        elseif pos > 0 && line[pos-1:pos] =~ s:any_matched_pair
+            if pos > a:startcol
+                " Erasing an empty character-pair
+                let p2 = s:RemoveYankPos()
+                let reg = strpart( reg, 0, p2 ) . line[pos-1] . strpart( reg, p2 )
+                let reg = reg . line[pos]
+                let line = strpart( line, 0, pos-1 ) . strpart( line, pos+1 )
+                let pos = pos - 1
+                normal! h
+            else
+                " Can't erase character-pair: it would move the cursor before startcol
+                let pos = pos + 1
+                normal! l
+            endif
+        elseif line[pos] =~ s:any_matched_char
+            " Character-pair is not empty, don't erase just move inside
+            call s:AddYankPos( len(reg) )
+            let pos = pos + 1
+            normal! l
+        elseif pos < len(line) && pos >= a:startcol
+            " Erasing a non-special character
+            let reg = reg . line[pos]
+            let line = strpart( line, 0, pos ) . strpart( line, pos+1 )
+        endif
+        let c = c - 1
+    endwhile
+    call setline( '.', line )
+    let @" = reg
+endfunction
+
+" Backward erasing a character in normal mode, do not check if current form balanced
+function! s:EraseBck( count )
+    let line = getline( '.' )
+    let pos = col( '.' ) - 1
+    let reg = @"
+    let c = a:count
+    while c > 0 && pos > 0
+        if s:InsideString() && pos > 1 && line[pos-2:pos-1] == '\"'
+            let reg = reg . line[pos-2 : pos-1]
+            let line = strpart( line, 0, pos-2 ) . strpart( line, pos )
+            normal! h
+            let pos = pos - 1
+        elseif s:InsideComment() || ( s:InsideString() && line[pos-1] != '"' )
+            let reg = reg . line[pos-1]
+            let line = strpart( line, 0, pos-1 ) . strpart( line, pos )
+        elseif line[pos-1:pos] =~ s:any_matched_pair
+            " Erasing an empty character-pair
+            let p2 = s:RemoveYankPos()
+            let reg = strpart( reg, 0, p2 ) . line[pos-1] . strpart( reg, p2 )
+            let reg = reg . line[pos]
+            let line = strpart( line, 0, pos-1 ) . strpart( line, pos+1 )
+        elseif line[pos-1] =~ s:any_matched_char
+            " Character-pair is not empty, don't erase
+            call s:AddYankPos( len(reg) )
+        else
+            " Erasing a non-special character
+            let reg = reg . line[pos-1]
+            let line = strpart( line, 0, pos-1 ) . strpart( line, pos )
+        endif
+        normal! h
+        let pos = pos - 1
+        let c = c - 1
+    endwhile
+    call setline( '.', line )
+    let @" = reg
+endfunction
+
+" Forward erasing a character in normal mode
+function! PareditEraseFwd()
+    if !g:paredit_mode || !s:IsBalanced()
+        if v:count > 0
+            silent execute 'normal! ' . v:count . 'x'
+        else
+            normal! x
+        endif
+        return
+    endif
+
+    call s:InitYankPos()
+    call s:EraseFwd( v:count1, -1 )
+endfunction
+
+" Backward erasing a character in normal mode
+function! PareditEraseBck()
+    if !g:paredit_mode || !s:IsBalanced()
+        if v:count > 0
+            silent execute 'normal! ' . v:count . 'X'
+        else
+            normal! X
+        endif
+        return
+    endif
+
+    call s:InitYankPos()
+    call s:EraseBck( v:count1 )
+endfunction
+
+" Find beginning of previous element (atom or sub-expression) in a form
+" skip_whitespc: skip whitespaces before the previous element
+function! s:PrevElement( skip_whitespc )
+    let [l0, c0] = [line( '.' ), col( '.' )]
+    let symbol_pos = [0, 0]
+    let symbol_end = [0, 0]
+
+    " Move to the beginning of the prefix if any
+    let line = getline( '.' )
+    let c = col('.') - 1
+    if c > 0 && line[c-1] =~ s:any_macro_prefix
+        normal! h
+    endif
+
+    let moved = 0
+    while 1
+        " Go to previous character
+        if !moved
+            let [l1, c1] = [line( '.' ), col( '.' )]
+            normal! h
+        endif
+        let moved = 0
+        let [l, c] = [line( '.' ), col( '.' )]
+
+        if [l, c] == [l1, c1]
+            " Beginning of line reached
+            if symbol_pos != [0, 0]
+                let symbol_end = [l, c]
+                if !a:skip_whitespc && !s:InsideString()
+                    " Newline before previous symbol
+                    call setpos( '.', [0, l0, c0, 0] )
+                    return [l, c]
+                endif
+            endif
+            normal! k$
+            let [l, c] = [line( '.' ), col( '.' )]
+            if [l, c] == [l1, c1]
+                " Beginning of file reached: stop
+                call setpos( '.', [0, l0, c0, 0] )
+                return [0, 0]
+            endif
+            let moved = 1
+        elseif s:InsideComment()
+            " Skip comments
+        else
+            let line = getline( '.' )
+            if s:InsideString()
+                let symbol_pos = [l, c]
+            elseif symbol_pos == [0, 0]
+                if line[c-1] =~ s:any_closing_char
+                    " Skip to the beginning of this sub-expression
+                    let symbol_pos = [l, c]
+                    normal! %
+                    let line2 = getline( '.' )
+                    let c2 = col('.') - 1
+                    if c2 > 0 && line2[c2-1] =~ s:any_macro_prefix
+                        normal! h
+                    endif
+                elseif line[c-1] =~ s:any_opening_char
+                    " Opening delimiter found: stop
+                    call setpos( '.', [0, l0, c0, 0] )
+                    return [0, 0]
+                elseif line[c-1] =~ '\S'
+                    " Previous symbol starting
+                    let symbol_pos = [l, c]
+                endif
+            else
+                if line[c-1] =~ s:any_opening_char || (a:skip_whitespc && line[c-1] =~ '\S' && symbol_end != [0, 0])
+                    " Previous symbol beginning reached, opening delimiter or second previous symbol starting
+                    call setpos( '.', [0, l0, c0, 0] )
+                    return [l, c+1]
+                elseif line[c-1] =~ '\s' || symbol_pos[0] != l
+                    " Whitespace before previous symbol
+                    let symbol_end = [l, c]
+                    if !a:skip_whitespc
+                        call setpos( '.', [0, l0, c0, 0] )
+                        return [l, c+1]
+                    endif
+                endif
+            endif
+        endif
+    endwhile
+endfunction
+
+" Find end of next element (atom or sub-expression) in a form
+" skip_whitespc: skip whitespaces after the next element
+function! s:NextElement( skip_whitespc )
+    let [l0, c0] = [line( '.' ), col( '.' )]
+    let symbol_pos = [0, 0]
+    let symbol_end = [0, 0]
+
+    while 1
+        " Go to next character
+        let [l1, c1] = [line( '.' ), col( '.' )]
+        normal! l
+        let [l, c] = [line( '.' ), col( '.' )]
+
+        " Skip comments
+        while [l, c] == [l1, c1] || s:InsideComment()
+            if symbol_pos != [0, 0]
+                let symbol_end = [l, c]
+                if !a:skip_whitespc && !s:InsideString()
+                    " Next symbol ended with comment
+                    call setpos( '.', [0, l0, c0, 0] )
+                    return [l, c + ([l, c] == [l1, c1])]
+                endif
+            endif
+            normal! 0j0
+            let [l, c] = [line( '.' ), col( '.' )]
+            if [l, c] == [l1, c1]
+                " End of file reached: stop
+                call setpos( '.', [0, l0, c0, 0] )
+                return [0, 0]
+            endif
+        endwhile
+
+        let line = getline( '.' )
+        if s:InsideString()
+            let symbol_pos = [l, c]
+        elseif symbol_pos == [0, 0]
+            if line[c-1] =~ s:any_macro_prefix && line[c] =~ s:any_opening_char
+                " Skip to the end of this prefixed sub-expression
+                let symbol_pos = [l, c]
+                normal! l%
+            elseif line[c-1] =~ s:any_opening_char
+                " Skip to the end of this sub-expression
+                let symbol_pos = [l, c]
+                normal! %
+            elseif line[c-1] =~ s:any_closing_char
+                " Closing delimiter found: stop
+                call setpos( '.', [0, l0, c0, 0] )
+                return [0, 0]
+            elseif line[c-1] =~ '\S'
+                " Next symbol starting
+                let symbol_pos = [l, c]
+            endif
+        else
+            if line[c-1] =~ s:any_closing_char || (a:skip_whitespc && line[c-1] =~ '\S' && symbol_end != [0, 0])
+                " Next symbol ended, closing delimiter or second next symbol starting
+                call setpos( '.', [0, l0, c0, 0] )
+                return [l, c]
+            elseif line[c-1] =~ '\s' || symbol_pos[0] != l
+                " Next symbol ending with whitespace
+                let symbol_end = [l, c]
+                if !a:skip_whitespc
+                    call setpos( '.', [0, l0, c0, 0] )
+                    return [l, c]
+                endif
+            endif
+        endif
+    endwhile
+endfunction
+
+" Move character from [l0, c0] to [l1, c1]
+" Set position to [l1, c1]
+function! s:MoveChar( l0, c0, l1, c1 )
+    let line = getline( a:l0 )
+    let c = line[a:c0-1]
+    if a:l1 == a:l0
+        " Move character inside line
+        if a:c1 > a:c0
+            let line = strpart( line, 0, a:c0-1 ) . strpart( line, a:c0, a:c1-a:c0-1 ) . c . strpart( line, a:c1-1 )
+            call setline( a:l0, line )
+            call setpos( '.', [0, a:l1, a:c1-1, 0] ) 
+        else
+            let line = strpart( line, 0, a:c1-1 ) . c . strpart( line, a:c1-1, a:c0-a:c1 ) . strpart( line, a:c0 )
+            call setline( a:l0, line )
+            call setpos( '.', [0, a:l1, a:c1, 0] ) 
+        endif
+    else
+        " Move character to another line
+        let line = strpart( line, 0, a:c0-1 ) . strpart( line, a:c0 )
+        call setline( a:l0, line )
+        let line1 = getline( a:l1 )
+        if a:c1 > 1
+            let line1 = strpart( line1, 0, a:c1-1 ) . c . strpart( line1, a:c1-1 )
+            call setline( a:l1, line1 )
+            call setpos( '.', [0, a:l1, a:c1, 0] )
+        else
+            let line1 = c . line1
+            call setline( a:l1, line1 )
+            call setpos( '.', [0, a:l1, 1, 0] ) 
+        endif
+    endif
+endfunction
+
+" Find a paren nearby to move
+function! s:FindParenNearby()
+    let line = getline( '.' )
+    let c0 =  col( '.' )
+    if line[c0-1] !~ s:any_openclose_char
+        " OK, we are not standing on a paren to move, but check if there is one nearby
+        if (c0 < 2 || line[c0-2] !~ s:any_openclose_char) && line[c0] =~ s:any_openclose_char
+            normal! l
+        elseif c0 > 1 && line[c0-2] =~ s:any_openclose_char && line[c0] !~ s:any_openclose_char
+            normal! h
+        endif
+    endif
+
+    " Skip macro prefix character    
+    let c0 =  col( '.' )
+    if line[c0-1] =~ s:any_macro_prefix && line[c0] =~ s:any_opening_char
+        normal! l
+    endif
+endfunction
+
+" Move delimiter one atom or s-expression to the left
+function! PareditMoveLeft()
+    call s:FindParenNearby()
+
+    let line = getline( '.' )
+    let l0 = line( '.' )
+    let c0 =  col( '.' )
+
+    if line[c0-1] =~ s:any_opening_char
+        let closing = 0
+    elseif line[c0-1] =~ s:any_closing_char
+        let closing = 1
+    else
+        " Can move only delimiters
+        return
+    endif
+
+    let [lp, cp] = s:GetReplPromptPos()
+    let [l1, c1] = s:PrevElement( closing )
+    if [l1, c1] == [0, 0]
+        " No previous element found
+        return
+    elseif [lp, cp] != [0, 0] && l0 >= lp && (l1 < lp || (l1 == lp && c1 < cp))
+        " Do not go before the last command prompt in the REPL buffer
+        return
+    endif
+    if !closing && c0 > 0 && line[c0-2] =~ s:any_macro_prefix
+        call s:MoveChar( l0, c0-1, l1, c1 )
+        call s:MoveChar( l0, c0 - (l0 != l1), l1, c1+1 )
+        let len = 2
+    else
+        call s:MoveChar( l0, c0, l1, c1 )
+        let len = 1
+    endif
+    let line = getline( '.' )
+    let c =  col( '.' ) - 1
+    if closing && line[c+1] !~ s:any_wsclose_char
+        " Insert a space after if needed
+        execute "normal! a "
+        normal! h
+    endif
+    if !closing && c > 0 && line[c-len] !~ s:any_wsopen_char
+        " Insert a space before if needed
+        if len > 1
+            execute "normal! hi "
+            normal! ll
+        else
+            execute "normal! i "
+            normal! l
+        endif
+    endif
+    return
+endfunction
+
+" Move delimiter one atom or s-expression to the right
+function! PareditMoveRight()
+    call s:FindParenNearby()
+
+    "TODO: move ')' in '() xxx' leaves space
+    let line = getline( '.' )
+    let l0 = line( '.' )
+    let c0 =  col( '.' )
+
+    if line[c0-1] =~ s:any_opening_char
+        let opening = 1
+    elseif line[c0-1] =~ s:any_closing_char
+        let opening = 0
+    else
+        " Can move only delimiters
+        return
+    endif
+
+    let [lp, cp] = s:GetReplPromptPos()
+    let [l1, c1] = s:NextElement( opening )
+    if [l1, c1] == [0, 0]
+        " No next element found
+        return
+    elseif [lp, cp] != [0, 0] && l0 < lp && l1 >= lp
+        " Do not go after the last command prompt in the REPL buffer
+        return
+    endif
+    if opening && c0 > 1 && line[c0-2] =~ s:any_macro_prefix
+        call s:MoveChar( l0, c0-1, l1, c1 )
+        call s:MoveChar( l0, c0-1, l1, c1 + (l0 != l1) )
+        let len = 2
+    else
+        call s:MoveChar( l0, c0, l1, c1 )
+        let len = 1
+    endif
+    let line = getline( '.' )
+    let c =  col( '.' ) - 1
+    if opening && c > 0 && line[c-len] !~ s:any_wsopen_char
+        " Insert a space before if needed
+        if len > 1
+            execute "normal! hi "
+            normal! ll
+        else
+            execute "normal! i "
+            normal! l
+        endif
+    endif
+    if !opening && line[c+1] !~ s:any_wsclose_char
+        " Insert a space after if needed
+        execute "normal! a "
+        normal! h
+    endif
+endfunction
+
+" Find closing of the innermost structure: (...) or [...]
+" Return a list where first element is the closing character,
+" second and third is its position (line, column)
+function! s:FindClosing()
+    let l = line( '.' )
+    let c = col( '.' )
+    call PareditFindClosing( '(', ')', 0 )
+    let lp = line( '.' )
+    let cp = col( '.' )
+    call setpos( '.', [0, l, c, 0] )
+    call PareditFindClosing( '[', ']', 0 )
+    let lb = line( '.' )
+    let cb = col( '.' )
+    call setpos( '.', [0, l, c, 0] )
+    if [lp, cp] == [l, c] && [lb, cb] == [l, c]
+        " Not found any kind of paren
+        return ['', 0, 0]
+    elseif [lb, cb] == [l, c] || lp < lb || (lp == lb && cp < cb)
+        " The innermost structure is a (...)
+        return [')', lp, cp]
+    else
+        " The innermost structure is a [...]
+        return [']', lb, cb]
+    endif
+endfunction
+
+" Split list or string at the cursor position
+" Current symbol will be split into the second part
+function! PareditSplit()
+    if !g:paredit_mode || s:InsideComment()
+        return
+    endif
+
+    if s:InsideString()
+        normal! i" "
+    else
+        " Go back to the beginning of the current symbol
+        let c = col('.') - 1
+        if getline('.')[c] =~ '\S'
+            if c == 0 || (c > 0 && getline('.')[c-1] =~ s:any_wsopen_char)
+                " OK, we are standing on the first character of the symbol
+            else
+                normal! b
+            endif
+        endif
+
+        " First find which kind of paren is the innermost
+        let [p, l, c] = s:FindClosing()
+        if p !~ s:any_closing_char
+            " Not found any kind of parens
+            return
+        endif
+
+        " Delete all whitespaces around cursor position
+        while getline('.')[col('.')-1] =~ '\s'
+            normal! x
+        endwhile
+        while col('.') > 1 && getline('.')[col('.')-2] =~ '\s'
+            normal! X
+        endwhile
+
+        if p == ')'
+            normal! i) (
+        else
+            normal! i] [
+        endif
+    endif
+endfunction
+
+" Join two neighboring lists or strings
+function! PareditJoin()
+    if !g:paredit_mode || s:InsideComment() || s:InsideString()
+        return
+    endif
+
+    "TODO: skip parens in comments
+    let [l0, c0] = searchpos(s:any_matched_char, 'nbW')
+    let [l1, c1] = searchpos(s:any_matched_char, 'ncW')
+    if [l0, c0] == [0, 0] || [l1, c1] == [0, 0]
+        return
+    endif
+    let line0 = getline( l0 )
+    let line1 = getline( l1 )
+    if (line0[c0-1] == ')' && line1[c1-1] == '(') || (line0[c0-1] == ']' && line1[c1-1] == '[') || (line0[c0-1] == '"' && line1[c1-1] == '"')
+        if l0 == l1
+            " First list ends on the same line where the second list begins
+            let line0 = strpart( line0, 0, c0-1 ) . ' ' . strpart( line0, c1 )
+            call setline( l0, line0 )
+        else
+            " First list ends on a line different from where the second list begins
+            let line0 = strpart( line0, 0, c0-1 )
+            let line1 = strpart( line1, 0, c1-1 ) . strpart( line1, c1 )
+            call setline( l0, line0 )
+            call setline( l1, line1 )
+        endif
+    endif
+endfunction
+
+" Wrap current visual block in parens of the given kind
+function! s:WrapSelection( open, close )
+    let l0 = line( "'<" )
+    let l1 = line( "'>" )
+    let c0 = col( "'<" )
+    let c1 = col( "'>" )
+    if &selection == 'inclusive'
+        let c1 = c1 + 1
+    endif
+    if [l0, c0] == [0, 0] || [l1, c1] == [0, 0]
+        " No selection
+        return
+    endif
+    if l0 > l1 || (l0 == l1 && c0 > c1)
+        " Swap both ends of selection to make [l0, c0] < [l1, c1]
+        let [ltmp, ctmp] = [l0, c0]
+        let [l0, c0] = [l1, c1]
+        let [l1, c1] = [ltmp, ctmp]
+    endif
+    let save_ve = &ve
+    set ve=all 
+    call setpos( '.', [0, l0, c0, 0] )
+    execute "normal! i" . a:open
+    call setpos( '.', [0, l1, c1 + (l0 == l1), 0] )
+    execute "normal! i" . a:close
+    let &ve = save_ve
+endfunction
+
+" Wrap current visual block in parens of the given kind
+" Keep visual mode
+function! PareditWrapSelection( open, close )
+    call s:WrapSelection( a:open, a:close )
+endfunction
+
+" Wrap current symbol in parens of the given kind
+" If standing on a paren then wrap the whole s-expression
+" Stand on the opening paren (if not wrapping in "")
+function! PareditWrap( open, close )
+    if a:open != '"' && getline('.')[col('.') - 1] =~ s:any_openclose_char
+        execute "normal! " . "v%\<Esc>"
+    else
+        execute "normal! " . "viw\<Esc>"
+    endif
+    call s:WrapSelection( a:open, a:close )
+    if a:open != '"'
+        normal! %
+    endif
+endfunction
+
+" Splice current list into the containing list
+function! PareditSplice()
+    if !g:paredit_mode
+        return
+    endif
+
+    " First find which kind of paren is the innermost
+    let [p, l, c] = s:FindClosing()
+    if p !~ s:any_closing_char
+        " Not found any kind of parens
+        return
+    endif
+
+    call setpos( '.', [0, l, c, 0] )
+    normal! %
+    let l = line( '.' )
+    let c = col( '.' )
+    normal! %x
+    call setpos( '.', [0, l, c, 0] )
+    normal! x
+    if c > 1 && getline('.')[c-2] =~ s:any_macro_prefix
+        normal! X
+    endif
+endfunction
+
+
+" =====================================================================
+"  Autocommands
+" =====================================================================
+
+au BufNewFile,BufRead *.lisp call PareditInitBuffer()
+au BufNewFile,BufRead *.clj  call PareditInitBuffer()
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/bundle/slimv/syntax/clojure/slimv-syntax-clojure.vim	Fri Nov 12 18:30:35 2010 -0500
@@ -0,0 +1,34 @@
+" slimv-syntax-clojure.vim:
+"               Clojure syntax plugin for Slimv
+" Version:      0.5.4
+" Last Change:  15 Nov 2009
+" Maintainer:   Tamas Kovacs <kovisoft at gmail dot com>
+" License:      This file is placed in the public domain.
+"               No warranty, express or implied.
+"               *** ***   Use At-Your-Own-Risk!   *** ***
+"
+" =====================================================================
+"
+"  Load Once:
+if exists("b:current_syntax")
+  finish
+endif
+
+runtime syntax/**/lisp.vim
+
+" Add [] to the lisp_rainbow handling
+syn match			 lispSymbol			  contained			   ![^()\[\]'`,"; \t]\+!
+syn match			 lispBarSymbol			  contained			   !|..\{-}|!
+if exists("g:lisp_rainbow") && g:lisp_rainbow != 0
+    syn region lispParen0           matchgroup=hlLevel0 start="`\=\[" end="\]" skip="|.\{-}|" contains=@lispListCluster,lispParen1 
+    syn region lispParen1 contained matchgroup=hlLevel1 start="`\=\[" end="\]" skip="|.\{-}|" contains=@lispListCluster,lispParen2 
+    syn region lispParen2 contained matchgroup=hlLevel2 start="`\=\[" end="\]" skip="|.\{-}|" contains=@lispListCluster,lispParen3 
+    syn region lispParen3 contained matchgroup=hlLevel3 start="`\=\[" end="\]" skip="|.\{-}|" contains=@lispListCluster,lispParen4 
+    syn region lispParen4 contained matchgroup=hlLevel4 start="`\=\[" end="\]" skip="|.\{-}|" contains=@lispListCluster,lispParen5 
+    syn region lispParen5 contained matchgroup=hlLevel5 start="`\=\[" end="\]" skip="|.\{-}|" contains=@lispListCluster,lispParen6 
+    syn region lispParen6 contained matchgroup=hlLevel6 start="`\=\[" end="\]" skip="|.\{-}|" contains=@lispListCluster,lispParen7 
+    syn region lispParen7 contained matchgroup=hlLevel7 start="`\=\[" end="\]" skip="|.\{-}|" contains=@lispListCluster,lispParen8 
+    syn region lispParen8 contained matchgroup=hlLevel8 start="`\=\[" end="\]" skip="|.\{-}|" contains=@lispListCluster,lispParen9 
+    syn region lispParen9 contained matchgroup=hlLevel9 start="`\=\[" end="\]" skip="|.\{-}|" contains=@lispListCluster,lispParen0
+endif
+